Module:Utils: Difference between revisions

From Nguhcraft Wiki
Jump to navigation Jump to search
Created page with "local _m = {} --- Return a if not `nil` or the empty string, or b otherwise _m._def = function(a, b) return (a ~= nil and a ~= "") and a or b end --- Extracts the argument from all the reasonable ways an argument may have been passed _m._a = function (x) if type(x) ~= "table" then return x end -- Did we get a frame if type(x.args) == "table" then return x.args[1] end -- Also support passing the argument in a table return x[1] end return _m"
 
No edit summary
Line 2: Line 2:


--- Return a if not `nil` or the empty string, or b otherwise
--- Return a if not `nil` or the empty string, or b otherwise
_m._def = function(a, b)
_m.def = function(a, b)
return (a ~= nil and a ~= "") and a or b
return (a ~= nil and a ~= "") and a or b
end
end

Revision as of 14:25, 5 September 2025

Utility functions to help creating modules

def(value, default)

Returns value if it is not nil or "", and defaultotherwise

_a(arg)

Extracts the argument from the common ways mediawiki passes arguments to modules:
  • if arg is not a table, it is returned as is (Called from Lua like a function)
  • if arg is a table and that table has a args field, arg.args[1] is returned (Called from MediaWiki’s {{#invoke:}} parser function)
  • if arg is a table but doesn’t contain an args field, args[1] is returned (Called with a table as an argument list[1])

date(y, m, d, short = false)

Formats a date.
If short is set to true, uses shortened months name instead of full length month names.

  1. Some mediawiki functions do that, idk why — Annwan
local _m = {}

--- Return a if not `nil` or the empty string, or b otherwise
_m.def = function(a, b)
	return (a ~= nil and a ~= "") and a or b
end
--- Extracts the argument from all the reasonable ways an argument may have been passed
_m._a = function (x)
	if type(x) ~= "table" then
		return x
	end
	-- Did we get a frame
	if type(x.args) == "table" then return x.args[1] end
	-- Also support passing the argument in a table
	return x[1]
end
return _m