Module:Yesno

From KitwarePublic
Jump to navigationJump to search

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

 1 -- Function allowing for consistent treatment of boolean-like wikitext input.
 2 -- It works similarly to the template {{yesno}}.
 3 
 4 return function (val, default)
 5 	-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
 6 	-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
 7 	-- following line.
 8 	val = type(val) == 'string' and val:lower() or val
 9 	if val == nil then
10 		return nil
11 	elseif val == true 
12 		or val == 'yes'
13 		or val == 'y'
14 		or val == 'true'
15 		or val == 't'
16 		or tonumber(val) == 1
17 	then
18 		return true
19 	elseif val == false
20 		or val == 'no'
21 		or val == 'n'
22 		or val == 'false'
23 		or val == 'f'
24 		or tonumber(val) == 0
25 	then
26 		return false
27 	else
28 		return default
29 	end
30 end