Module:Yesno: Difference between revisions
m 1 revision imported |
No edit summary |
||
| Line 1: | Line 1: | ||
local p = {} | |||
-- Core yes/no logic | |||
local function _yesno(val, default) | |||
val = type(val) == 'string' and val:lower() or val | val = type(val) == 'string' and val:lower() or val | ||
if val == nil then | if val == nil then | ||
| Line 31: | Line 28: | ||
end | end | ||
end | end | ||
-- Wikipedia-style API | |||
function p.yesno(val, default) | |||
return _yesno(val, default) | |||
end | |||
-- Allow direct calls: require(...)(val) | |||
setmetatable(p, { | |||
__call = function(_, val, default) | |||
return _yesno(val, default) | |||
end | |||
}) | |||
return p | |||