annotate framework/env/convert/from_human.lua @ 495:7eec5b604b00
Provide custom implementation of table.insert for Lua 5.2
author |
jbe |
date |
Fri Jun 30 17:01:04 2017 +0200 (2017-06-30) |
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 |