annotate framework/env/convert/from_human.lua @ 462:b9bae84cc7a9
Bugfix in try_destroy function regarding primary keys in JSON documents
 | author | 
 bsw | 
 | date | 
 Sat Sep 10 21:24:30 2016 +0200 (2016-09-10) | 
 | 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 |