Commit graph

42 commits

Author SHA1 Message Date
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
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
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
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
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
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
6cf9343657 Set format property on integers 2019-09-08 14:20:57 +01:00
Graham Esau
a236d7aee0 Implement JsonSchema for chrono types
Requires chrono feature.
2019-09-08 13:29:45 +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
c2e8389e93 Fix Option<T> schema generation sometimes producing a schema that is not referenced 2019-09-03 19:47:39 +01:00
Graham Esau
a3076dde63 Internally tagged enums 2019-08-10 00:41:04 +01:00
Graham Esau
b0ae29094e Add enum tests 2019-08-10 00:09:40 +01:00
Graham Esau
94250fa037 Rename SchemaRef to Ref 2019-08-08 22:00: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
67d44533d6 Reorganise tests 2019-08-07 19:27:32 +01:00