diff options
author | Kim Alvefur <zash@zash.se> | 2021-03-09 02:35:00 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2021-03-09 02:35:00 +0100 |
commit | ce4040e1091705d94bb46c59dcd0cc16edde702e (patch) | |
tree | ae9d2c4737407a200f19ca3ee8e2148d3148b8e8 /util | |
parent | 5a44c4a32b928ac44e5e6f6b028310b9c78faf87 (diff) | |
download | prosody-ce4040e1091705d94bb46c59dcd0cc16edde702e.tar.gz prosody-ce4040e1091705d94bb46c59dcd0cc16edde702e.zip |
util.jsonschema: Implement the "contains" keyword
And apparently I had mistaken this for an array
Diffstat (limited to 'util')
-rw-r--r-- | util/jsonschema.lua | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/util/jsonschema.lua b/util/jsonschema.lua index b285feb4..4ace2d2d 100644 --- a/util/jsonschema.lua +++ b/util/jsonschema.lua @@ -205,6 +205,19 @@ type_validators.table = function(schema, data) end end + if schema.contains then + local found = false + for i = 1, #data do + if validate(schema.contains, data[i]) then + found = true + break + end + end + if not found then + return false + end + end + return true end return false |