Mercurial > prosody-hg
diff util/jsonschema.lua @ 14172:94172bbf9074 13.0
util.jsonschema: Always accept 0 for multipleOf properties
Per the JSON schema test suite, 0 is considered "a multiple of anything" and
should never be rejected by the multipleOf test. The previous behaviour was to
always reject 0.
0 is *not* a valid value for multipleOf itself (which must be >0), but
util.jsonschema does not seem to do much/any validation of the provided schema
so I haven't added a check for that. I assume there are JSON schema schemas?
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 25 May 2026 11:32:33 +0100 |
| parents | eabd38507c1d |
| children | d975d280baec |
line wrap: on
line diff
--- a/util/jsonschema.lua Mon May 25 13:07:32 2026 +0100 +++ b/util/jsonschema.lua Mon May 25 11:32:33 2026 +0100 @@ -126,7 +126,7 @@ end if type(data) == "number" then - if schema.multipleOf and (data == 0 or data % schema.multipleOf ~= 0) then + if schema.multipleOf and data ~= 0 and data % schema.multipleOf ~= 0 then table.insert(errs, mkerr(sloc .. "/luaPattern", iloc, "not a multiple")) return false, errs end
