Commit graph

490 commits

Author SHA1 Message Date
Graham Esau
ba92234b3e Update changelog, update MSRV to 1.45 2022-08-12 15:49:59 +01:00
Adam Leventhal
76427ef384
Fix handling of attributes applied to unit variant types (#152) 2022-08-12 15:37:34 +01:00
Graham Esau
9464118c3a v0.8.10 2022-05-17 18:33:47 +01:00
Graham Esau
d93bdc43e3 Revert "Support generic default values"
This feature inadvertently introduced a breaking change (#144)

This reverts commits: feb6c4b2fe
b38a55331b.
2022-05-17 18:17:17 +01:00
Graham Esau
1610294af4 v0.8.9 2022-05-16 22:41:14 +01:00
Graham Esau
74974d3e95
Support uuid v1 and arrayvec 0.7 (#142) 2022-05-16 22:39:48 +01:00
Graham Esau
043d794e39 Fix build warnings from tests
Deriving `Debug` is no longer enough to suppress warnings about unused fields
2022-05-15 22:55:10 +01:00
Graham Esau
29d2455bb3 Update changelog 2022-05-15 22:35:06 +01:00
Andy Weiss
115a9eebf2 Add license notice to regex_syntax.rs
The comment in the code says this code was copied from another source
with an appropriate link. However just local to this file it is not
clear what the license terms of that code are. I added the license
notice to this file that governs the particular code that was copied
over.

I would like to use this crate in an environment where we want to be
clear about licensing. Hopefully this is an okay change otherwise I
would be more than happy to do this a different way as long as the
license provenance is clear.
2022-05-15 22:33:24 +01:00
Graham Esau
70f4fb051a Update changelog 2022-05-15 22:30:38 +01:00
Graham Esau
85ed613e4a Remove unnecessary derives on test struct 2022-05-15 22:30:38 +01:00
Graham Esau
feb6c4b2fe Use as instead of immediately-invoked typed function 2022-05-15 22:30:38 +01:00
Graeme Coupar
b38a55331b Support generic default values
I'm trying to `derive(JsonSchema)` on a field with a default that relies
on type inference to determine it's return type.  This causes compile
errors because schemars calls the default function without providing
any types for inference to use.

This changes that - wraps the `default` in a closure with a defined
return value that it immediately calls.  Feels a bit hacky, but I
couldn't think of a better way to fix this.
2022-05-15 22:30:38 +01:00
Graham Esau
e9d5f4057e v0.8.8 2021-11-25 22:28:38 +00:00
Adam H. Leventhal
98ad16288b Internally tagged enums don't honor deny_unknown_fields as precisely as
they might.

flatten doesn't act quite as intended with regard to
additional_properties
2021-11-25 21:55:48 +00:00
Graham Esau
d549957183 Document new optional dependencies 2021-11-25 21:42:54 +00:00
timando
f0d2b1c50c
Add support for rust_decimal and bigdecimal (#101) 2021-11-25 21:42:25 +00:00
Graham Esau
3cac0e5048 Add example for optional dependency in readme
Based on https://github.com/GREsau/schemars/pull/118/files
2021-11-25 21:12:30 +00:00
Graham Esau
1a13ba9f9b v0.8.7 2021-11-14 19:23:15 +00:00
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
Graham Esau
6f39a13724 Update examples after 0a1200b 2021-11-14 19:05:09 +00:00
Matt Campbell
d059686da8 Implement JsonSchema on EnumSet type 2021-10-10 18:49:34 +01:00
Graham Esau
515a87a564 Correct latest changelog entry 2021-09-26 18:43:53 +01:00
Graham Esau
33e54d3c42 v0.8.6 2021-09-26 18:39:11 +01:00
Adam Leventhal
0a1200baac
Use oneOf for enums when possible (#108) 2021-09-26 18:02:44 +01:00
Graham Esau
dec8bcc3b7 v0.8.5 2021-09-20 16:49:50 +01:00
Graham Esau
de7314f305 Allow empty #[validate] attributes.
Fixes #109
2021-09-20 16:48:16 +01:00
Graham Esau
00e482c3a1 v0.8.4 2021-09-19 10:43:29 +01:00
Graham Esau
7a8eeafde2 Add newline to attributes docs 2021-09-18 23:03:28 +01:00
Graham Esau
1d3541b4b1 Update changelog and docs 2021-09-18 23:00:14 +01:00
Graham Esau
cec8751c82
Merge pull request #78 from GREsau/validate
Read #[validate(...)] attributes
2021-09-18 21:25:15 +01:00
Graham Esau
63b3055e7b Fix indexmap tests for rust 1.37 2021-09-17 23:53:46 +01:00
Graham Esau
605db3bba8 Emit compilation errors for duplicate validation attributes 2021-09-17 23:04:37 +01:00
Graham Esau
af69a8ea11 Fix doc test 2021-04-24 13:43:45 +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
6d174a2efb Add "crate" to attribute docs ToC 2021-04-05 21:21:26 +01:00
Graham Esau
86e2844c93 v0.8.3 2021-04-05 21:12:23 +01:00
Graham Esau
b4a6aeb51b Update changelog 2021-04-05 21:08:26 +01:00