Add optional JsonSchema support #78
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello @mbrubeck , @reem et al, thanks for this useful library. Here's a feature enhancement that could help out.
Motivating Use Case
I would like to use types from
ordered-floatin one of my JSON APIs. The JSON API has a constraint that all involved types must implementJsonSchemafrom the schemars crate in order to wire up autogeneration of JSON schema for API documentation and discoverability.Implementation Details
schemarsis added as an optional dependency. Implementations ofJsonSchemaforOrderedFloat<f32|f64>andNotNan<f32|f64>are provided behind feature flag gating. Both "std" and "schemars" features are required, as theschemarscrate is firmlystd-only.The provided schema match the pre-existing
serdeimplementations which serialize the underlying float value without any additional structure.Relevant unit tests have been added as well.