Changeset

11479:377a9eaf7bef

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.
author Kim Alvefur <zash@zash.se>
date Tue, 23 Mar 2021 23:55:33 +0100
parents 11478:c0c4431ab27b
children 11480:0aa2971380e9
files teal-src/util/datamapper.tl util/datamapper.lua
diffstat 2 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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