util.datamapper: Fix error on attempt to coerce nil to something
authorKim Alvefur <zash@zash.se>
Tue, 23 Mar 2021 23:55:33 +0100
changeset 11483 377a9eaf7bef
parent 11482 c0c4431ab27b
child 11484 0aa2971380e9
util.datamapper: Fix error on attempt to coerce nil to something Turns falsy values into nil instead of nothing, which ensures this function always has 1 return value, or table.insert({}) complains. Would still happen on some unexpected input, but that's actually a good thing.
teal-src/util/datamapper.tl
util/datamapper.lua
--- a/teal-src/util/datamapper.tl	Tue Mar 23 21:52:07 2021 +0100
+++ b/teal-src/util/datamapper.tl	Tue Mar 23 23:55:33 2021 +0100
@@ -37,6 +37,7 @@
 end
 
 local function totype(t : json_type_name, s : string) : any
+	if not s then return nil end
 	if t == "string" then
 		return s;
 	elseif t == "boolean" then
--- a/util/datamapper.lua	Tue Mar 23 21:52:07 2021 +0100
+++ b/util/datamapper.lua	Tue Mar 23 23:55:33 2021 +0100
@@ -13,6 +13,9 @@
 end
 
 local function totype(t, s)
+	if not s then
+		return nil
+	end
 	if t == "string" then
 		return s
 	elseif t == "boolean" then