diff options
author | Kim Alvefur <zash@zash.se> | 2022-10-20 16:50:12 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2022-10-20 16:50:12 +0200 |
commit | e2cff346410c57686478d68fabd96cf4247df927 (patch) | |
tree | fb9c06de4cf1cdf18ba13292df824fd8cd7af5ee /teal-src | |
parent | e64c5e30c2ab1f59c5051f2bd66f053d34a6eb25 (diff) | |
download | prosody-e2cff346410c57686478d68fabd96cf4247df927.tar.gz prosody-e2cff346410c57686478d68fabd96cf4247df927.zip |
util.mathcompat: Module to ease reuse of math.type()
Mostly to ensure it is available during tests, as util.startup is not
invoked there
Diffstat (limited to 'teal-src')
-rw-r--r-- | teal-src/util/datamapper.tl | 2 | ||||
-rw-r--r-- | teal-src/util/jsonschema.tl | 2 | ||||
-rw-r--r-- | teal-src/util/mathcompat.tl | 15 |
3 files changed, 19 insertions, 0 deletions
diff --git a/teal-src/util/datamapper.tl b/teal-src/util/datamapper.tl index 23f5ecaa..4ff3a02c 100644 --- a/teal-src/util/datamapper.tl +++ b/teal-src/util/datamapper.tl @@ -19,6 +19,8 @@ -- TODO s/number/integer/ once we have appropriate math.type() compat -- +if not math.type then require "util.mathcompat" end + local st = require "util.stanza"; local json = require"util.json" local pointer = require"util.jsonpointer"; diff --git a/teal-src/util/jsonschema.tl b/teal-src/util/jsonschema.tl index 160c164c..14b04370 100644 --- a/teal-src/util/jsonschema.tl +++ b/teal-src/util/jsonschema.tl @@ -8,6 +8,8 @@ -- https://json-schema.org/draft/2020-12/json-schema-validation.html -- +if not math.type then require "util.mathcompat" end + local json = require"util.json" local null = json.null; diff --git a/teal-src/util/mathcompat.tl b/teal-src/util/mathcompat.tl new file mode 100644 index 00000000..1e3f9bab --- /dev/null +++ b/teal-src/util/mathcompat.tl @@ -0,0 +1,15 @@ +if not math.type then + local enum number_subtype + "float" "integer" + end + local function math_type(t:any) : number_subtype + if t is number then + if t % 1 == 0 and t ~= t+1 and t ~= t-1 then + return "integer" + else + return "float" + end + end + end + _G.math.type = math_type +end |