Commit graph

105 commits

Author SHA1 Message Date
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
Graham Esau
3e1ab76c21 Parse types as syn::Type, not syn::ExprPath.
#[schemars(with= "()")] should now work!
2020-02-29 23:36:39 +00:00
Graham Esau
4ad5000232
Make Option<T> fields optional in generated schemas (#16) 2020-02-29 19:37:20 +00:00
Graham Esau
58cc7fac25 Run cargo fmt 2019-12-29 22:09:54 +00:00
Graham Esau
781f40b061 Improve schema naming for deriving on remote types 2019-12-27 15:37:59 +00:00