Commit graph

57 commits

Author SHA1 Message Date
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
Graham Esau
d30238c981 Do not pass container attributes through enums/variants
When deriving JsonSchema over a struct-style enum variant, do not apply the enum's container attributes to the variant. This couldn't cause any problems in practice because the only container attribute we explicitly set is "default", which cannot be set on an enum.
2019-12-23 20:50:26 +00:00
Graham Esau
b5e1821f3a Don't include "doc" in list of helper attributes 2019-12-09 21:56:19 +00:00
Graham Esau
e151d21d6d v0.6.1
Fix a compile error that can occur when deriving `JsonSchema` from a project that doesn't reference serde_json
2019-12-09 21:25:37 +00:00
Graham Esau
351ff1572a v0.6.0 2019-12-09 21:06:44 +00:00
Graham Esau
3fb625e08c Refactoring of schemars_derive 2019-12-09 20:57:38 +00:00
Graham Esau
dca9e2d920 Pass fewer attributes to serde_derive_internals 2019-12-09 18:43:43 +00:00
Graham Esau
26c4099bbe Do not serialize schema default if it would be skipped by skip_serializing_if attribute 2019-12-09 12:34:28 +00:00
Graham Esau
9579d6a94c Fix rustc 1.32.0 build 2019-12-08 22:34:48 +00:00
Graham Esau
4c4fb1cf36 Rewrite attribute parsing logic 2019-12-08 22:28:49 +00:00
Graham Esau
b748a90c3f Respect serialize_with attr when serializing default 2019-12-08 20:04:54 +00:00
Graham Esau
7e23e2ad7a Set "default" on generated schemas (#6) 2019-12-08 15:17:08 +00:00
Graham Esau
1e9f36122d Minor refactoring/cleanup 2019-12-08 12:03:46 +00:00
Graham Esau
ba79de696a Document SchemaGenerator.make_extensible() 2019-12-08 12:03:46 +00:00
Graham Esau
d92b741b9b Get title/description from #[doc] on enum variants 2019-12-08 12:03:46 +00:00
Graham Esau
a1c3daaed8 Join adjacent lines in descriptions from #[doc]s 2019-12-08 12:03:46 +00:00
Graham Esau
feefd418d4 Set schema title and description from #[doc]s
Work in progress
2019-12-08 12:03:46 +00:00
Graham Esau
60bfc6ee49 Make prepositions/conjunctions in generated schema names lowercase 2019-10-27 22:48:35 +00:00
Graham Esau
fba1753bba Undo last change affecting internal tagged enums.
It broke things!
2019-10-22 22:58:24 +01:00
Graham Esau
792fbbb86e Add more info to README 2019-10-22 22:49:24 +01:00
Graham Esau
18c2d417e3 Fix schema generation for flatten Options 2019-10-19 21:03:34 +01:00
Graham Esau
5bf8b30753 Schema generation now never returns an error 2019-10-19 20:33:26 +01:00
Graham Esau
2bc3957cb8 Set readOnly/writeOnly on properties 2019-10-14 20:00:57 +01:00
Graham Esau
c78d721fc5 Further reduce memory footprint of SchemaObject.
More fields are now wrapped in Option<Box<_>>, reducing size of JsonSchema (depending on system) from 424 to 240 bytes.
2019-10-13 22:38:20 +01:00
Graham Esau
72629a3c37 Reduce memory footprint of SchemaObject.
Nested validation structs are now wrapped in Option<Box<_>>, reducing size of JsonSchema (depending on system) from 688 to 424 bytes.
2019-10-13 20:42:29 +01:00
Graham Esau
7d162a8fb5 Update syn/quote/proc-macro2 to 1.0 2019-10-12 12:56:51 +01:00
Graham Esau
a555d7739a Fix schemas for internally tagged newtype variants
Fixes #2
2019-10-06 20:22:27 +01:00
Graham Esau
88a8e0a706 Add strongly-typed validation fields 2019-09-12 22:49:38 +01:00
Graham Esau
5de6bcfdef Exclude skipped fields/variants from json schema 2019-09-12 19:07:25 +01:00
Graham Esau
709ba7b62e Enable eriving JsonSchema when fields are in remote crates 2019-09-12 18:02:37 +01:00
Graham Esau
8d68e36f7c Add unit test for serde attribute processing 2019-09-08 23:13:26 +01:00
Graham Esau
af1fa5fe9e Do not ignore all serde attributes if there are also schemars attributes 2019-09-08 22:46:18 +01:00
Graham Esau
3f5f7cf0a3 Enable deriving JsonSchema for unit/newtype/tuple structs 2019-09-07 16:36:12 +01:00
Graham Esau
07f4f68a02 Add tests for tuple enum variants 2019-09-07 15:25:06 +01:00
Graham Esau
717e3baed9 Clippy fixes 2019-09-03 19:28:17 +01:00
Graham Esau
870dc3a2de Rename MakeSchema to JsonSchema 2019-08-11 14:35:26 +01:00
Graham Esau
a3076dde63 Internally tagged enums 2019-08-10 00:41:04 +01:00
Graham Esau
936fb8c96e Fix schema generation for complex enum variants 2019-08-08 22:45:21 +01:00
Graham Esau
8afce08c54 Slightly abstract away map/set types 2019-08-08 18:43:15 +01:00
Graham Esau
998e6c9f0f Set "required" schema attribute 2019-08-08 18:34:47 +01:00
Graham Esau
6b64cedb91 Process #[schemars] attributes 2019-08-08 08:24:30 +01:00
Graham Esau
1d0fd18c9e Enable renaming schemas using attribute on struct 2019-08-07 23:03:54 +01:00
Graham Esau
d14db450cf Test for default name of struct with type params 2019-08-07 13:32:44 +01:00
Graham Esau
54cfd2ba0e Support #[serde(flatten)]ed structs 2019-08-07 08:19:43 +01:00
Graham Esau
bd750714a0 Fix up schema naming - nightly no longer required! 2019-08-06 23:06:22 +01:00
Graham Esau
51ed13218c Allow making a schema to fail by returning an Err 2019-08-06 20:56:04 +01:00
Graham Esau
4a9fdd3334 Support untagged enums 2019-08-05 20:40:06 +01:00
Graham Esau
fc346da692 Add test for schema generation.This test will frequently fail as new features/fixes are implemented - but at least it gives an easy way of visualising changes! 2019-08-05 18:58:28 +01:00
Graham Esau
d79f0f56b0 Schema now implements MakeSchema 2019-08-05 13:16:06 +01:00