Module:Yesno: Difference between revisions
Jump to navigation
Jump to search
ArrowHead294 (talk | contribs) htiw egap detaerC |
ArrowHead294 (talk | contribs) mNo edit summary |
||
| Line 1: | Line 1: | ||
-- Function allowing for consistent treatment of boolean-like wikitext input. | -- Function allowing for consistent treatment of boolean-like wikitext input. | ||
return function (val, default) | return function(val, default) | ||
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you | -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you | ||
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the | -- should replace "val:lower()" with "mw.ustring.lower(val)" in the | ||
-- following line. | -- following line. | ||
val = type(val) == | val = (type(val) == "string" and string.gsub(mw.ustring.lower(val), "%s+", "") or val) | ||
if val == nil then | if val == nil then | ||
return nil | return nil | ||
elseif val == true | elseif val == true | ||
or val == | or val == "yes" | ||
or val == | or val == "y" | ||
or val == | or val == "true" | ||
or val == | or val == "t" | ||
or val == | or val == "on" | ||
or tonumber(val) == 1 | or tonumber(val) == 1 | ||
then | then | ||
return true | return true | ||
elseif val == false | elseif val == false | ||
or val == | or val == "no" | ||
or val == | or val == "n" | ||
or val == | or val == "false" | ||
or val == | or val == "f" | ||
or val == | or val == "off" | ||
or tonumber(val) == 0 | or tonumber(val) == 0 | ||
then | then | ||
Revision as of 19:20, 19 September 2024
- This module implements a function used by Template:Yesno. For the wrapper function, see Module:Utils.
| Introspection summary for Module:Yesno | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||
No function descriptions were provided. The Lua code may have further information.
-- Function allowing for consistent treatment of boolean-like wikitext input.
return function(val, default)
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
-- following line.
val = (type(val) == "string" and string.gsub(mw.ustring.lower(val), "%s+", "") or val)
if val == nil then
return nil
elseif val == true
or val == "yes"
or val == "y"
or val == "true"
or val == "t"
or val == "on"
or tonumber(val) == 1
then
return true
elseif val == false
or val == "no"
or val == "n"
or val == "false"
or val == "f"
or val == "off"
or tonumber(val) == 0
then
return false
else
return default
end
end
