The wiki has moved!

Visit the new wiki at stationeers-wiki.com The old wiki here at legacy.stationeers-wiki.com will sunset eventually.

Edits made after the 7th of March 6PM EST were NOT carried over to the new server as previously announced right here in this box.

 Actions

Module

Difference between revisions of "Yesno"

From Unofficial Stationeers Wiki

(change to a simpler Lua-only version)
(return nil values as nil)
Line 1: Line 1:
-- This is a simplified, Lua-only replacement for the template {{yesno}}. It provides a consistent
+
-- Function allowing for consistent treatment of boolean-like wikitext input.
-- interface for users entering boolean or boolean-style input.
+
-- It works similarly to the template {{yesno}}.
 
return function (val, default)
 
return function (val, default)
 
     val = type(val) == 'string' and mw.ustring.lower(val) or val -- put in lower case
 
     val = type(val) == 'string' and mw.ustring.lower(val) or val -- put in lower case
     if not val or val == 'no' or val == 'n' or val == 'false' or tonumber(val) == 0 then
+
     if val == nil then
 +
        return nil
 +
    elseif val == false or val == 'no' or val == 'n' or val == 'false' or tonumber(val) == 0 then
 
         return false
 
         return false
 
     elseif val == true or val == 'yes' or val == 'y' or val == 'true' or tonumber(val) == 1 then
 
     elseif val == true or val == 'yes' or val == 'y' or val == 'true' or tonumber(val) == 1 then

Revision as of 07:01, 26 September 2013

Documentation for this module may be created at Module:Yesno/doc

-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.
return function (val, default)
    val = type(val) == 'string' and mw.ustring.lower(val) or val -- put in lower case
    if val == nil then
        return nil
    elseif val == false or val == 'no' or val == 'n' or val == 'false' or tonumber(val) == 0 then
        return false
    elseif val == true or val == 'yes' or val == 'y' or val == 'true' or tonumber(val) == 1 then
        return true
    elseif default ~= nil then
        return default
    else
        return true
    end
end