Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support JSON Schema draft 2019-09 #5

Closed
3 tasks done
GREsau opened this issue Oct 23, 2019 · 1 comment
Closed
3 tasks done

Support JSON Schema draft 2019-09 #5

GREsau opened this issue Oct 23, 2019 · 1 comment

Comments

@GREsau
Copy link
Owner

GREsau commented Oct 23, 2019

  • serialize definitions as $defs (I'm not really sure how to do this easily...) I won't do this, as it would make serialization while preserving backward-compatibility too complicated. Any generated schema using "definitions" would still be valid according to draft 2019-09, "$defs" is practically just a recommendation.
  • set $schema to https://json-schema.org/draft/2019-09/schema
  • allow other attributes alongside $ref (make SchemaGenerator::make_extensible() a no-op)
@GREsau GREsau closed this as completed Dec 29, 2019
@GREsau
Copy link
Owner Author

GREsau commented Dec 29, 2019

Done in 0.7.0-alpha-1

sanlee42 referenced this issue in sanlee42/schemars Jan 2, 2023
* Read #[validate(...)] attributes

* Handle required flattened Option fields

* Refactor out `add_schema_as_property`

* Process validation attributes in newtype structs

* Process validation attributes in tuple structs

* Refactor out "local_id" for type definitions

* Refactoring

* Support inline regex

* Allow setting validation attributes via #[schemars(...)]

* Add some doc comments

* Fix doc test

* Emit compilation errors for duplicate validation attributes

* Fix indexmap tests for rust 1.37

* upgrade diem dep (#1)

* Update changelog and docs

* Add newline to attributes docs

* v0.8.4

* Allow empty #[validate] attributes.

Fixes GREsau#109

* v0.8.5

* Use oneOf for enums when possible (GREsau#108)

* v0.8.6

* Correct latest changelog entry

* update diem dep

* Implement JsonSchema on EnumSet type

* update diem dep

* Upgrade move deps (#3)

* [deps] Upgrade move types dep.

* Update examples after 0a1200b

* Allow non-Serialize default values.

Default values that don't implement Serialize are now ignored, rather than causing a compile error.
This is done by simulating specialization using a technique copied from Rocket:
https://github.com/SergioBenitez/Rocket/blob/5ebefa97c992c37bdc476299304a339d429a43fc/core/lib/src/sentinel.rs#L391-L445

Fixes GREsau#115

* v0.8.7

* update diem deps

* Add example for optional dependency in readme

Based on https://github.com/GREsau/schemars/pull/118/files

* Add support for rust_decimal and bigdecimal (GREsau#101)

* Document new optional dependencies

* Internally tagged enums don't honor deny_unknown_fields as precisely as
they might.

flatten doesn't act quite as intended with regard to
additional_properties

* v0.8.8

* update diem deps to latest

* update diem deps

* Update dep

* update diem deps

* Update rust toolchain and dep

* update diem dep

* Update diem dep

* [crypto] Update dependency crypto to use starcoinorg/starcoin-crypto repo (#5)

* [crypto] Update dependency crypto to use starcoinorg/starcoin-crypto repo.

* [deps] Update move-core-types to starcoinorg/move

* Remove diem types

Co-authored-by: Graham Esau <gesau@hotmail.co.uk>
Co-authored-by: lerencao <funfriendcjf@gmail.com>
Co-authored-by: Graham Esau <graham.esau@vonage.com>
Co-authored-by: Adam Leventhal <adam.leventhal@gmail.com>
Co-authored-by: Matt Campbell <mattcampbell@pobox.com>
Co-authored-by: jolestar <jolestar@gmail.com>
Co-authored-by: timando <github@timando.net>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant