Module:form of/data
Appearance
- පහත දැක්වෙන උපදෙස්, Module:form of/data/documentation හි පිහිටා ඇත. Module:form of/data/documentation]]. [සංස්කරණය]
- ප්රයෝජනවත් සබැඳි: root page • root page’s subpages • සබැඳි • transclusions • testcases • sandbox
This module provides constants and data finalization for Module:form of and its data modules. For the tag data, see Module:form of/data/1 (more common tags) and Module:form of/data/2 (less common tags).
local export = {}
local ipairs = ipairs
local next = next
local type = type
export.TAG_TYPE = 1
export.GLOSSARY = 2
local SHORTCUTS = 3; export.SHORTCUTS = SHORTCUTS
export.WIKIDATA = 4
export.APPENDIX = true
export.WIKT = 0
export.WP = false
local function process_shortcut(tags, shortcuts, name, shortcut)
-- If the shortcut is already in the list, then there is a duplicate.
if shortcuts[shortcut] then
error("The shortcut \"" .. shortcut .. "\" (for the inflection tag \"" .. name .. "\") conflicts with an existing shortcut for the tag \"" .. shortcuts[shortcut] .. "\".")
elseif tags[shortcut] then
error("The shortcut \"" .. shortcut .. "\" (for the inflection tag \"" .. name .. "\") conflicts with an existing tag with that name.")
end
shortcuts[shortcut] = name
end
function export.finalize(tags, shortcuts)
for name, data in next, tags do
local data_shortcuts = data[SHORTCUTS]
if data_shortcuts then
if type(data_shortcuts) == "string" then
process_shortcut(tags, shortcuts, name, data_shortcuts)
else
for _, shortcut in ipairs(data_shortcuts) do
process_shortcut(tags, shortcuts, name, shortcut)
end
end
end
end
end
return export