Module:Article history/Category

--- -- Category class -- This module makes a Category class for use in Module:Article history. -- 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').checkType local 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 obj end

function Category:__tostring if self.sortKey then return string.format(			'%s',			CATEGORY_NS_TEXT,			self.category,			self.sortKey		) else return string.format(			'%s:%s',			CATEGORY_NS_TEXT,			self.category		) end end

return Category