Dmitry Dygalo
Dmitry Dygalo
Validation: http://json-schema.org/draft/2020-12/json-schema-validation.html Release notes: https://json-schema.org/draft/2020-12/release-notes.html New keywords: - [x] #289 - [x] [$dynamicRef](https://json-schema.org/draft/2020-12/json-schema-core.html#rfc.section.8.2.3.2) - [x] [$dynamicAnchor](https://json-schema.org/draft/2020-12/json-schema-core.html#rfc.section.8.2.2) Vocabulary changes: - [ ] The `unevaluatedProperties` and `unevaluatedItems` keywords have been moved from...
At the moment, `jsonschema` supports only `serde_json`, which is convenient, but implies significant overhead in some cases. For example, in Python bindings, I got to convert Python structures to `serde_json::Value`...
It is missing at the moment but definitely would help new contributors. - Mention git submodule needed for testing
Similar to #284, the underlying `Vec` could be replaced with `Box` - it will require some changes in the way the pointer is extended during the compilation phase. However, the...
[Example implementation](https://github.com/python-jsonschema/jsonschema/blob/main/jsonschema/_keywords.py#L392) in Python. [Docs](https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-00#section-11.2)
Validation docs: https://tools.ietf.org/html/draft-handrews-json-schema-validation-02 New keywords: - [x] `$anchor` - [x] `$definitions` - [x] `$recursiveRef` - [x] `$recursiveAnchor` - [ ] #287 - [x] #288 - [x] `contentSchema` - [x] `maxContains`...
[Docs](https://datatracker.ietf.org/doc/html/draft-bhutton-json-schema-00#section-11.3) & [example implementation](https://github.com/Julian/jsonschema/blob/main/jsonschema/_validators.py#L430) in Python
Split the various keywords into different vocabularies and implement processing of the `$vocabulary` keyword to determine which keywords are available to a schema. [Ajv](https://github.com/ajv-validator/ajv/tree/master/lib/vocabularies) could be a source of inspiration...
The current implementation is not really lazy on nesting levels deeper than the root one - the errors are collected into vectors and then returned as iterators. It might be...
It could be done using `Box` instead of `String` in its `Property` variant. It reduces its size from 32 bytes to 24. It might slightly improve some aspects of the...