Jump to content
Toggle menu
  • 799 articles
  • 4.8K files
  • 4 users
  • 64.6K edits
2b2t Uncensored
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Yesno: Difference between revisions

From 2b2t Uncensored
2b2twiki>Henry
m 2 revisions imported from templatewiki:Module:Yesno
2b2twiki>Evalprime
rewrite yesno
 
Line 2: Line 2:
-- It works similarly to the template {{yesno}}.
-- It works similarly to the template {{yesno}}.


return function (val, default)
return function( arg, default )
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
    arg = type( arg ) == 'string' and mw.ustring.lower( arg ) or arg
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
 
-- following line.
    if arg == nil then
val = type(val) == 'string' and val:lower() or val
        return nil
if val == nil then
    end
return nil
 
elseif val == true  
    if
or val == 'yes'
        arg == true or
or val == 'y'
        arg == 'yes' or
or val == 'true'
        arg == 'y' or
or val == 't'
        arg == 'true' or
or val == 'on'
        tonumber( arg ) == 1
or tonumber(val) == 1
    then
then
        return true
return true
    end
elseif val == false
 
or val == 'no'
    if
or val == 'n'
        arg == false or
or val == 'false'
        arg == 'no' or
or val == 'f'
        arg == 'n' or
or val == 'off'
        arg == 'false' or
or tonumber(val) == 0
        arg == '' or
then
        tonumber( arg ) == 0
return false
    then
else
        return false
return default
    end
end
 
    return default
end
end

Latest revision as of 17:26, 18 July 2022

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( arg, default )
    arg = type( arg ) == 'string' and mw.ustring.lower( arg ) or arg

    if arg == nil then
        return nil
    end

    if
        arg == true or
        arg == 'yes' or
        arg == 'y' or
        arg == 'true' or
        tonumber( arg ) ==  1
    then
        return true
    end

    if
        arg == false or
        arg == 'no' or
        arg == 'n' or
        arg == 'false' or
        arg == '' or
        tonumber( arg ) == 0
    then
        return false
    end

    return default
end