Graham Esau
d93bdc43e3
Revert "Support generic default values"
...
This feature inadvertently introduced a breaking change (#144 )
This reverts commits: feb6c4b2fe
b38a55331b
.
2022-05-17 18:17:17 +01:00
Andy Weiss
115a9eebf2
Add license notice to regex_syntax.rs
...
The comment in the code says this code was copied from another source
with an appropriate link. However just local to this file it is not
clear what the license terms of that code are. I added the license
notice to this file that governs the particular code that was copied
over.
I would like to use this crate in an environment where we want to be
clear about licensing. Hopefully this is an okay change otherwise I
would be more than happy to do this a different way as long as the
license provenance is clear.
2022-05-15 22:33:24 +01:00
Graham Esau
feb6c4b2fe
Use as
instead of immediately-invoked typed function
2022-05-15 22:30:38 +01:00
Graeme Coupar
b38a55331b
Support generic default values
...
I'm trying to `derive(JsonSchema)` on a field with a default that relies
on type inference to determine it's return type. This causes compile
errors because schemars calls the default function without providing
any types for inference to use.
This changes that - wraps the `default` in a closure with a defined
return value that it immediately calls. Feels a bit hacky, but I
couldn't think of a better way to fix this.
2022-05-15 22:30:38 +01:00
Adam H. Leventhal
98ad16288b
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
2021-11-25 21:55:48 +00:00
Graham Esau
690fe44343
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:
5ebefa97c9/core/lib/src/sentinel.rs (L391-L445)
Fixes #115
2021-11-14 19:16:46 +00:00
Adam Leventhal
0a1200baac
Use oneOf for enums when possible ( #108 )
2021-09-26 18:02:44 +01:00
Graham Esau
de7314f305
Allow empty #[validate] attributes.
...
Fixes #109
2021-09-20 16:48:16 +01:00
Graham Esau
605db3bba8
Emit compilation errors for duplicate validation attributes
2021-09-17 23:04:37 +01:00
Graham Esau
d99a96fc8a
Add some doc comments
2021-04-24 11:46:07 +01:00
Graham Esau
7914593d89
Allow setting validation attributes via #[schemars(...)]
2021-04-18 22:17:53 +01:00
Graham Esau
c013052f59
Support inline regex
2021-04-16 22:31:03 +01:00
Graham Esau
5f841f2e5c
Refactoring
2021-04-16 17:02:57 +01:00
Graham Esau
4be21bd811
Refactor out "local_id" for type definitions
2021-04-16 14:23:10 +01:00
Graham Esau
9e507272da
Process validation attributes in tuple structs
2021-04-16 13:56:26 +01:00
Graham Esau
31a5893d10
Process validation attributes in newtype structs
2021-04-16 12:30:52 +01:00
Graham Esau
60a9869448
Refactor out add_schema_as_property
2021-04-16 10:42:03 +01:00
Graham Esau
1a2dafc1a5
Handle required flattened Option fields
2021-04-15 18:11:28 +01:00
Graham Esau
b68132f17d
Merge branch 'master' into validate
2021-04-15 16:08:10 +01:00
Graham Esau
55b860428e
Refactory of private functions
2021-04-15 13:34:04 +01:00
Graham Esau
5dc644000c
Allow schema_with attr on enum variants
2021-04-10 15:16:16 +01:00
Graham Esau
2d38db903a
Only process "crate" from schemars attr, not serde attr
2021-04-10 14:48:39 +01:00
Graham Esau
b2b733ba5c
Support for #[schemars(crate = "...")] ( #80 )
2021-04-05 19:34:28 +01:00
Graham Esau
ebd7ff32ce
More fixes for deriving JsonSchema inside macro
2021-04-05 16:40:20 +01:00
Graham Esau
4d3400152e
Fix deriving JsonSchema inside macro ( #79 )
2021-04-05 16:15:34 +01:00
Graham Esau
6ab567f3a5
Read #[validate(...)] attributes
2021-03-29 16:38:55 +01:00
Graham Esau
dada8582ee
Fix rustc 1.37 build
2021-03-27 10:34:39 +00:00
Graham Esau
29dc025629
Clippy fixes
2021-03-27 00:45:06 +00:00
Graham Esau
11d95b79e5
Derive JsonSchema_repr ( #76 )
2021-03-25 22:36:28 +00:00
Jan Michael Auer
d85eec3b7a
Fix clippy field_reassign_with_default in generated code ( #65 )
2021-03-21 18:31:58 +00:00
David Hotham
c4ef7bad22
Fix #[schemars(with = ...)] alongside #[serde(transparent)] ( #67 )
...
Co-authored-by: Graham Esau <gesau@hotmail.co.uk>
2021-03-21 13:56:24 +00:00
Graham Esau
6a3bba1e86
Set additionalProperties to false on enums where appropriate
2021-03-20 18:45:29 +00:00
Graham Esau
3a7d7ad905
Apply some clippy suggestions
2021-03-19 23:20:16 +00:00
Graham Esau
40d9bfd517
Forbid unsafe code
2020-09-25 18:34:57 +01:00
Graham Esau
0c02525fb9
Trim leading asterisks from doc block comments
...
This is to handle a change in behaviour in current beta rustc
2020-09-21 09:55:31 +01:00
Graham Esau
b0a2f9994b
Error on unknown schemars attr items
2020-06-04 19:39:57 +01:00
Graham Esau
be6cd1080d
Allow unused braces in macro output.
...
Fixes warnings in beta/nightly rustc
2020-05-17 17:22:42 +01:00
Graham Esau
e259955809
Attribute for defining examples ( #23 )
2020-05-17 16:41:19 +01:00
Graham Esau
75419fa3d5
Fix rustc 1.32 build
2020-05-17 11:27:11 +01:00
Graham Esau
1b42dc7e3e
Allow overriding title/desc from doc comments ( #13 )
2020-05-17 11:19:48 +01:00
Graham Esau
5a28cef598
Respect #[serde(transparent)] attribute ( #17 )
2020-05-16 21:16:59 +01:00
Graham Esau
509a1c3b7b
Check for #[deprecated] attributes
2020-05-16 16:44:44 +01:00
Graham Esau
bfb3f06253
Avoid setting ObjectValidation unnecessarily
2020-05-16 12:10:54 +01:00
Denis Kurilov
1190b1fad9
additionalProperties: false
for struct annotated with serde deny_unknown_fields
(#30 )
...
Co-authored-by: Denis Kurilov <denis@routinghub.com>
2020-05-16 12:02:47 +01:00
Graham Esau
ea351f3b42
Set type on enum schemas ( #28 )
2020-05-16 10:41:30 +01:00
Graham Esau
3fd316063a
schema_with
attribute
2020-05-15 17:11:28 +01:00
Graham Esau
9d951b34ce
Fix rustc 1.32 build
2020-05-12 21:19:43 +01:00
Graham Esau
780c7286a6
Refactor attribute parsing to make it more extensible
2020-05-12 21:17:34 +01:00
Graham Esau
b1ded882b7
More refactoring of proc macro...
2020-05-11 21:53:36 +01:00
Graham Esau
631120ead8
Fix rustc 1.32 build
2020-05-10 22:16:17 +01:00