Commit graph

179 commits

Author SHA1 Message Date
Graham Esau
5021204dfb Add examples schema keyword 2020-04-09 17:03:27 +01:00
Graham Esau
4ad5000232
Make Option<T> fields optional in generated schemas (#16) 2020-02-29 19:37:20 +00:00
Graham Esau
6bebd73701 Add test for allow_ref_siblings behaviour 2019-12-29 22:30:17 +00:00
Graham Esau
58cc7fac25 Run cargo fmt 2019-12-29 22:09:54 +00:00
Graham Esau
0198ede4b6 Add JSON Schema 2019-09 settings 2019-12-29 18:05:10 +00:00
Graham Esau
a97d54bcad Implement JsonSchema on smallvec + arrayvec types
Documentation still needs updating.
2019-12-28 20:11:38 +00:00
Graham Esau
008d70e52a Implement JsonSchema on Uuid 2019-12-27 22:41:28 +00:00
Graham Esau
fbd019baae Implement JsonSchema on Either 2019-12-27 22:16:01 +00:00
Graham Esau
fd42debc4d Implement JsonSchema on indexmap types 2019-12-27 21:44:50 +00:00
Graham Esau
781f40b061 Improve schema naming for deriving on remote types 2019-12-27 15:37:59 +00:00
Graham Esau
ea28450c30 Add test for remote deriving with generic types 2019-12-27 14:38:58 +00:00
Graham Esau
b5e1821f3a Don't include "doc" in list of helper attributes 2019-12-09 21:56:19 +00:00
Graham Esau
1f021fa5ae Format project with rustfmt 2019-12-09 17:37:49 +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
ae397b228d Do not use explicit #[doc] comments in test
This breaks the build on nightly
2019-12-08 22:47:33 +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
81eb53b590 Add test for defaults in derived schemas
Currently ignored as defaults are not yet implemented.
2019-12-08 13:12:09 +00:00
Graham Esau
89d3024beb Do not inline referenceable schemas to set nullable 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
5503f0697f Implement JsonSchema for Bound 2019-10-30 19:39:44 +00:00
Graham Esau
3f56d6b282 Give unsigned int schemas explicit minimum value
Update tests
2019-10-30 19:34:05 +00:00
Graham Esau
ae716de64a Give unsigned int schemas explicit minimum value 2019-10-30 19:28:11 +00:00
Graham Esau
50f00be97b Implement JsonSchema for nonzero signed ints 2019-10-29 21:40:50 +00:00
Graham Esau
60bfc6ee49 Make prepositions/conjunctions in generated schema names lowercase 2019-10-27 22:48:35 +00:00
Graham Esau
09d76c93e4 Schemas with different "format"s should have different names 2019-10-27 22:42:14 +00:00
Graham Esau
fe861ac3a1 Implement JsonSchema for Range/RangeInclusive 2019-10-27 22:30:01 +00:00
Graham Esau
be59422c13 Implement JsonSchema for CStr/CString 2019-10-27 19:41:25 +00:00
Graham Esau
c6a20764fe Implement JsonSchema for OsStr/OsString 2019-10-27 19:26:17 +00:00
Graham Esau
e11d5e5a98 Implement JsonSchema for std::time types 2019-10-27 18:57:36 +00:00
Graham Esau
155190c9ab Implement JsonSchema for Result<T,E> 2019-10-27 18:40:57 +00:00
Graham Esau
79e395d101 Set openapi3 meta-schema 2019-10-27 11:35:07 +00:00
Graham Esau
ec42b51bf5 Regenerate test expected outputs 2019-10-23 18:26:06 +01:00
Graham Esau
ef7ec38696 Introduce separate RootSchema type 2019-10-23 18:23:12 +01:00
Graham Esau
9a85e0b2a1 Start adding doc comments 2019-10-20 15:46:09 +01:00
Graham Esau
fb6bb85cb7 Remove JsonSchemaError/Result 2019-10-20 14:33:54 +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
68ddfa310f Add default, deprecated, readOnly, writeOnly properties 2019-10-13 23:01:48 +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
5a82498e28 Change $ref to be part of a SchemaObject.
This allows other keyworlds to be used alongside $ref, as allowed in Json Schema 2019-09
2019-10-13 18:30:05 +01:00
Graham Esau
505c369f27 Regenerate integration test expected json 2019-10-07 20:35:40 +01:00
Graham Esau
a555d7739a Fix schemas for internally tagged newtype variants
Fixes #2
2019-10-06 20:22:27 +01:00
Graham Esau
13267d37d7 Simplify schema for Options 2019-09-14 22:44:05 +01:00
Graham Esau
49b2d1f89d Add const 2019-09-14 18:54:07 +01:00