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
Graham Esau
70b5a1a2e6
Refactor of AST parsing
2020-05-10 22:09:15 +01:00
Graham Esau
08886799bb
Respect with
attributes on enum variants
2020-05-10 17:17:04 +01:00
Graham Esau
11b7a09c93
Enable deriving JsonSchema on adjacent tagged enums
...
Issue #4
2020-04-30 14:21:04 +01:00
Graham Esau
63af0ceb73
Fix skip_serializing_if/serialize_with handling
...
Previously whenever a field with a default value has both `skip_serializing_if` and `with`/`serialize_with` attributes, the value would be converted to a type that performs the custom serialization before checking if it should be serialized. This would cause the wrong type to be given to the skip_serializing_if function, causing a compile error.
Issue #26
2020-04-11 22:06:48 +01:00
Atsuki Takahashi
873ab3ae02
Specify full path for String ( #19 )
2020-03-24 18:05:37 +00:00