annotate framework/env/convert/from_human.lua @ 382:810c020b0da4
Reverted changes to mondelefant_result_index and mondelefant_result_newindex C-functions (proxying of JSON document)
| author |
jbe |
| date |
Mon Nov 16 18:31:49 2015 +0100 (2015-11-16) |
| parents |
9fdfb27f8e67 |
| children |
|
| rev |
line source |
|
jbe/bsw@0
|
1 function convert.from_human(str, typ)
|
|
jbe/bsw@0
|
2 if not typ then
|
|
jbe/bsw@0
|
3 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
|
4 end
|
|
jbe/bsw@0
|
5 if not str then return nil end -- TODO: decide, if an error should be raised instead
|
|
jbe/bsw@0
|
6 local type_symbol = convert._type_symbol_mappings[typ]
|
|
jbe/bsw@0
|
7 if not type_symbol then
|
|
jbe/bsw@0
|
8 error("Unrecognized type reference passed to convert.from_human(...).")
|
|
jbe/bsw@0
|
9 end
|
|
jbe/bsw@0
|
10 local converter = convert["_from_human_to_" .. type_symbol]
|
|
jbe/bsw@0
|
11 if not converter then
|
|
jbe/bsw@0
|
12 error("Type reference passed to convert.from_human(...) was recognized, but the converter function is not existent.")
|
|
jbe/bsw@0
|
13 end
|
|
jbe/bsw@0
|
14 return converter(str)
|
|
jbe/bsw@0
|
15 end |