From d9de9b5627a4cce0fcad27ecc39ce62a9176b3b8 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Mon, 9 May 2022 22:36:57 +0200 Subject: util.jsonpointer: Fix Lua <5.3 compat --- util/jsonpointer.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'util') diff --git a/util/jsonpointer.lua b/util/jsonpointer.lua index dd5ac9d6..9b871ae7 100644 --- a/util/jsonpointer.lua +++ b/util/jsonpointer.lua @@ -1,3 +1,7 @@ +local m_type = math.type or function (n) + return n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float"; +end; + local function unescape_token(escaped_token) local unescaped = escaped_token:gsub("~1", "/"):gsub("~0", "~") return unescaped @@ -15,7 +19,7 @@ local function resolve_json_pointer(ref, path) if type(idx) == "string" then new_ref = ref[token] - elseif math.type(idx) == "integer" then + elseif m_type(idx) == "integer" then local i = tonumber(token) if token == "-" then i = #ref + 1 -- cgit v1.2.3 From 6a9efa5a52289b58401faf6e3deb7a2272dd323a Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Mon, 9 May 2022 22:39:05 +0200 Subject: util.jsonschema: Lua <5.3 compat here too --- util/jsonschema.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'util') diff --git a/util/jsonschema.lua b/util/jsonschema.lua index 65974a84..8286fa19 100644 --- a/util/jsonschema.lua +++ b/util/jsonschema.lua @@ -1,3 +1,6 @@ +local m_type = math.type or function (n) + return n % 1 == 0 and n <= 9007199254740992 and n >= -9007199254740992 and "integer" or "float"; +end; local json = require("util.json") local null = json.null; @@ -17,7 +20,7 @@ local function simple_validate(schema, data) elseif schema == "array" and type(data) == "table" then return type(data) == "table" and (next(data) == nil or type((next(data, nil))) == "number") elseif schema == "integer" then - return math.type(data) == schema + return m_type(data) == schema elseif schema == "null" then return data == null else -- cgit v1.2.3