Module:Term

From Space Station 14 Wiki
Revision as of 03:20, 14 March 2025 by Aliser (talk | contribs) (Created page with "local p = {} local getArgs = require('Module:Arguments').getArgs local terms_json = mw.loadJsonData("Module:Terms/terms.json") local function assert_not_nil(value, error_message) if value == nil then if error_message == nil then error("value is nil") else error(error_message) end end end local function lookup_term(term) return terms_json[string.lower(term)] end function p.main(frame) local args = getArgs(frame...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Module documentation
View or edit this documentation (about module documentation)
Uses JSON data
This module uses JSON data pages:

Implements {{Term}}.

Adding new terms

Go to the JSON file linked at the top of this page.

That file contains definitions for terms.

Term is defined with a lowercase key and an object value.

The object value has following format:

{
	"proper name": "[optional] proper term name, for example: LRP",
    "definition": "[optional] term definition",
    "link": "[optional] a page to link the term to",
}

Note that at least a definition or a link should be provided for a term.


local p = {}
local getArgs = require('Module:Arguments').getArgs

local terms_json = mw.loadJsonData("Module:Terms/terms.json")

local function assert_not_nil(value, error_message)
    if value == nil then
        if error_message == nil then
            error("value is nil")
        else
            error(error_message)
        end
    end
end

local function lookup_term(term)
	return terms_json[string.lower(term)]
end

function p.main(frame)
	local args = getArgs(frame)
	local term = args[1]
	assert_not_nil(term, "failed to lookup term: term not provided")
	
	return lookup_term(term) or error("failed to lookup term: no definition for term '" .. term .. "' exists")
end

return p