--------------------------------------------------------------------------------- Category class-- This module makes a Category class for use in .-- It provides a unified interface for the creation of category links. With-- this class, categories can passed between objects without concerns about-- interoperability and still have their values and sort keys easily-- accessible.-------------------------------------------------------------------------------
local checkType = require('libraryUtil').checkTypelocal CATEGORY_NS_TEXT = mw.site.namespaces[14].name
local Category = Category.__index = Category
function Category.new(category, sortKey) checkType('Category.new', 1, category, 'string') checkType('Category.new', 2, sortKey, 'string', true) local obj = setmetatable(Category) obj.category = category obj.sortKey = sortKey return objend
function Category:__tostring if self.sortKey then return string.format('%s', CATEGORY_NS_TEXT, self.category, self.sortKey ) else return string.format('', CATEGORY_NS_TEXT, self.category ) endend
return Category