jbe/bsw@0: --[[-- jbe/bsw@0: text = -- human text representation of the boolean jbe/bsw@0: format.boolean( jbe/bsw@0: value, -- true, false or nil jbe/bsw@0: { jbe/bsw@0: true_as = true_text, -- text representing true jbe/bsw@0: false_as = false_text, -- text representing false jbe/bsw@0: nil_as = nil_text -- text representing nil jbe/bsw@0: } jbe/bsw@0: ) jbe/bsw@0: jbe/bsw@0: Returns a human readable text representation of a boolean value. Additional parameters should be given, unless you like the defaults for false and true, which are "0" and "1". jbe/bsw@0: jbe/bsw@0: --]]-- jbe/bsw@0: jbe/bsw@0: function format.boolean(value, options) jbe/bsw@0: local options = options or {} jbe/bsw@0: local true_text = options.true_as or "Yes" -- TODO: localization? jbe/bsw@0: local false_text = options.false_as or "No" -- TODO: localization? jbe/bsw@0: local nil_text = options.nil_as or "" jbe/bsw@0: if value == nil then jbe/bsw@0: return nil_text jbe/bsw@0: elseif value == false then jbe/bsw@0: return false_text jbe/bsw@0: elseif value == true then jbe/bsw@0: return true_text jbe/bsw@0: else jbe/bsw@0: error("Value passed to format.boolean(...) is neither a boolean nor nil.") jbe/bsw@0: end jbe/bsw@0: end