Comparison

util/jsonschema.lua @ 11443:a526abef61e6

util.jsonschema: Implement the "prefixItems" keyword This may have been what got me confused about "items" being an array.
author Kim Alvefur <zash@zash.se>
date Tue, 09 Mar 2021 02:36:08 +0100
parent 11442:95f0d77175ca
child 11444:b3a903032611
comparison
equal deleted inserted replaced
11442:95f0d77175ca 11443:a526abef61e6
195 values[v] = true 195 values[v] = true
196 end 196 end
197 return true 197 return true
198 end 198 end
199 199
200 local p = 0
201 if schema.prefixItems then
202 for i, s in ipairs(schema.prefixItems) do
203 if validate(s, data[i]) then
204 p = i
205 else
206 return false
207 end
208 end
209 end
210
200 if schema.items then 211 if schema.items then
201 for i = 1, #data do 212 for i = p + 1, #data do
202 if not validate(schema.items, data[i]) then 213 if not validate(schema.items, data[i]) then
203 return false 214 return false
204 end 215 end
205 end 216 end
206 end 217 end