Actions

Module

Difference between revisions of "Yesno"

From Unofficial Stationeers Wiki

(stop making the default "default" value true, as we run into problems if you need to distinguish between false and nil)
m (Protected Module:Yesno: High-risk Lua module: 3000 transclusions ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
(No difference)

Revision as of 04:37, 3 October 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
    else
        return default
    end
end