Module:Article history/Category
MyWikiBiz, Author Your Legacy — Monday October 07, 2024
Jump to navigationJump to searchTemplate:Module rating This module defines a Category class for use in Module:Article history and Module:Article history/config. Please see Module:Article history#Category for documentation.
------------------------------------------------------------------------------- -- 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:%s|%s]]', CATEGORY_NS_TEXT, self.category, self.sortKey ) else return string.format( '[[%s:%s]]', CATEGORY_NS_TEXT, self.category ) end end return Category