Diff

util/jsonschema.lua @ 11440:d5288c99bb5a

util.jsonschema: Correct "items" keyword Upon re-reading the JSON Schema spec, I found that 'items' wasn't a union of an array of schemas or a single schema, not sure where I got that from.
author Kim Alvefur <zash@zash.se>
date Tue, 09 Mar 2021 02:26:05 +0100
parent 11434:66d4067bdfb2
child 11441:75a280e6e046
line wrap: on
line diff
--- a/util/jsonschema.lua	Sun Mar 07 12:48:49 2021 +0100
+++ b/util/jsonschema.lua	Tue Mar 09 02:26:05 2021 +0100
@@ -194,20 +194,12 @@
 			return true
 		end
 
-		local item_schemas = schema.items
-		if item_schemas and item_schemas[1] == nil then
-			local item_schema = item_schemas
-			for i, v in pairs(data) do
-				if type(i) == "number" then
-					if not validate(item_schema, v) then
-						return false
-					end
+		if schema.items then
+			for i = 1, #data do
+				if not validate(schema.items, data[i]) then
+					return false
 				end
 			end
-		elseif item_schemas and item_schemas[1] ~= nil then
-			for i, s in ipairs(item_schemas) do
-				validate(s, data[i])
-			end
 		end
 
 		return true