jbe/bsw@0: function convert.from_human(str, typ) jbe/bsw@0: if not typ then jbe/bsw@0: error("Using convert.from_human(...) to convert a human readable string to an internal data type needs a type to be specified as second parameter.") jbe/bsw@0: end jbe/bsw@0: if not str then return nil end -- TODO: decide, if an error should be raised instead jbe/bsw@0: local type_symbol = convert._type_symbol_mappings[typ] jbe/bsw@0: if not type_symbol then jbe/bsw@0: error("Unrecognized type reference passed to convert.from_human(...).") jbe/bsw@0: end jbe/bsw@0: local converter = convert["_from_human_to_" .. type_symbol] jbe/bsw@0: if not converter then jbe/bsw@0: error("Type reference passed to convert.from_human(...) was recognized, but the converter function is not existent.") jbe/bsw@0: end jbe/bsw@0: return converter(str) jbe/bsw@0: end