Dmitry Dygalo

Results 206 issues of 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...

Priority: Medium
Type: Feature
Difficulty: Medium

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`...

help wanted
Priority: High
Type: Enhancement
Topic: Performance
Difficulty: Medium

It is missing at the moment but definitely would help new contributors. - Mention git submodule needed for testing

Priority: High
Type: Documentation

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...

Priority: Low
Topic: Performance
Hacktoberfest
Difficulty: Medium

[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)

Priority: High
Difficulty: Medium

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`...

Priority: High
Type: Feature
Difficulty: Medium

[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

Priority: High
Hacktoberfest
Difficulty: Medium

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...

Priority: High
Type: Enhancement
Difficulty: Hard

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...

Priority: Low
Topic: Performance

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...

Priority: Low
Topic: Performance
Hacktoberfest
Difficulty: Medium