From 3621b8ce9168d833303bc8090302a77dcd76e1fd Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 23 Apr 2023 10:26:43 +0200 Subject: util.jsonschema: Implement 'minContains' and 'maxContains' --- util/jsonschema.lua | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'util/jsonschema.lua') diff --git a/util/jsonschema.lua b/util/jsonschema.lua index 2a6d6bbf..51ad506f 100644 --- a/util/jsonschema.lua +++ b/util/jsonschema.lua @@ -305,14 +305,13 @@ function complex_validate(schema, data, root) end if schema.contains ~= nil then - local found = false + local found = 0 for i = 1, #data do if validate(schema.contains, data[i], root) then - found = true - break + found = found + 1 end end - if not found then + if found < (schema.minContains or 1) or found > (schema.maxContains or math.huge) then return false end end -- cgit v1.2.3