"मोड्युल:Article history/Category" का संशोधनहरू बिचको अन्तर
सा Mr. Stradivarius moved page Module:Article history/Category to Module:Article history/shared without leaving a redirect: make this a general module for shared functions/classes |
सा Mr. Stradivarius moved page Module:Article history/shared to Module:Article history/Category without leaving a redirect: changed my mind - the other functions are best done as mixins |
(कुनै भिन्नता छैन)
|
१०:५५, २३ अक्टोबर २०१४ जस्तै गरी पुनरावलोकन
मोड्युल कागजात[सिर्जना गर्नुहोस्] [ताजा गर्नुहोस्]
-------------------------------------------------------------------------------
-- 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