Commit Graph

454 Commits

Author SHA1 Message Date
Dmitry Dygalo 9d391bff7c
test: Add a test case for #343 2022-02-25 15:03:03 +01:00
Dmitry Dygalo 778b424b3d
chore(python): Release 0.14.0 2022-01-31 11:58:01 +01:00
Dmitry Dygalo 5f52908009
chore(rust): Release 0.15.0 2022-01-31 11:51:20 +01:00
Dmitry Dygalo 06148bcb3b
docs: Adjust changelogs 2022-01-31 11:38:36 +01:00
Ferenc Tamás b43b0e9eb1
feat: Custom Resolvers for external references (#246)
* feat: resolver

* chore: rustfmt

* chore: even more rustfmt

* chore: relax anyhow version requirement

* chore: restore url dependency requirement

* fix(resolver): jsonschema/src/resolver.rs typo

Co-authored-by: Dmitry Dygalo <Stranger6667@users.noreply.github.com>

* fix(resolver): python binding

* feat(resolver): include original ref string, docs

* feat(resolver): reqwest feature compile error

* chore(resolver): changelog

* fix(*): clippy

* fix(resolver): doctest example

* feat(resolver): reqwest feature compile error

* chore(resolver): changelog

* fix(*): clippy

* fix(resolver): doctest example
2022-01-31 11:33:17 +01:00
Dmitry Dygalo edbccd6f30 chore: Run `cargo fmt` 2022-01-28 12:54:16 +01:00
Dmitry Dygalo 7b9e5a9b40 chore(cli): Use `to_string_lossy()` instead of `to_str().unwrap()` 2022-01-28 12:54:16 +01:00
Dmitry Dygalo 3c17261145 chore(cli): Use `serde::from_reader` instead of `serde::from_str` 2022-01-28 12:54:16 +01:00
Dmitry Dygalo a0feae6632 docs: Fix changelog structure 2022-01-28 12:54:16 +01:00
Dmitry Dygalo e95fbe7bbc chore(benchmark): Use `serde::from_reader` instead of `serde::from_str` 2022-01-28 12:54:16 +01:00
Dmitry Dygalo 872bd7617e
chore(python): Fix clippy warnings 2022-01-28 12:23:10 +01:00
Dmitry Dygalo 06d4e4a251
chore(python): Update `pyo3` to `0.15` 2022-01-28 12:16:52 +01:00
Dmitry Dygalo 99fdd4a812
chore(rust): Release 0.14.0 2022-01-23 17:28:36 +01:00
Dmitry Dygalo 1584d65365 chore: Bump `itoa` to `1.0`
Ref: #337
2022-01-23 17:24:22 +01:00
Joel Natividad ad4eeb9da5
fix: Set default-features=false for reqwest
fixes #335 .

Otherwise, reqwest will always use default-tls which is the native-tls even if jsonschema `reqwest-rustls-tls` feature is specified.
2022-01-23 13:24:30 +01:00
Dmitry Dygalo c37d22fadc
docs: Update LICENSE years 2021-12-25 00:17:27 +01:00
Dmitry Dygalo 9982772a95
docs: Update README
Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
2021-12-18 00:50:29 +01:00
Dmitry Dygalo 98b3ccb986 perf: Optimize searching by pointer in JSON documents 2021-12-17 11:01:04 +01:00
Dmitry Dygalo 4e44e54f2d perf: Avoid cloning the value when resolving empty fragments 2021-12-17 09:29:14 +01:00
Dmitry Dygalo f84bc5704b perf: Do less work when resolving fragments 2021-12-17 09:09:03 +01:00
Dmitry Dygalo aa04159dee perf: Reduce the number of generated LLVM lines 2021-12-17 08:52:02 +01:00
Dmitry Dygalo 347e01541b perf(python): Do not box iterator inside `ValidationErrorIter` 2021-12-12 21:40:02 +01:00
Dmitry Dygalo 1f2cda4271 perf: Shortcut for `false` schemas 2021-12-10 13:12:10 +01:00
Dmitry Dygalo b3da882fe5 docs: Remove unused imports in code examples 2021-12-10 11:27:26 +01:00
Dmitry Dygalo 9ca1bc0e4a perf: Simplify `equal_arrays` helper 2021-12-10 11:27:26 +01:00
Dmitry Dygalo 90b0cb089b chore(rust): Release 0.13.3 2021-12-10 11:27:26 +01:00
Dmitry Dygalo 2d061579c8
chore(rust): Release 0.13.3 2021-12-08 12:33:31 +01:00
Dmitry Dygalo 3784ede2a1 test: Use `JSONSchema.apply` in all input validation tests 2021-12-08 12:11:16 +01:00
Dmitry Dygalo bd76d74212 fix: Panic in `JSONSchema.apply` on some schemas with `prefixItems` and `items` 2021-12-08 12:11:16 +01:00
Dmitry Dygalo 295246619a fix: False negatives in some cases when calling `JSONSchema.apply` on schemas with `if` and `then` (without `else`) keywords
Ref: #318
2021-12-08 12:11:16 +01:00
Dmitry Dygalo eb3c601025 fix: False positives in some cases when calling `JSONSchema.apply` on a schema with `additionalProperties`, `patternProperties`, and `properties` combined. 2021-12-08 12:11:16 +01:00
Dmitry Dygalo 6444e7c724 chore: Make `BasicOutput.is_valid` public 2021-12-08 12:11:16 +01:00
Dmitry Dygalo abeae1eb25 refactor: Clarify lifetime naming in `Validate::validate` 2021-12-07 12:28:47 +01:00
Dmitry Dygalo 64792f39c4 perf: Remove the `schema` argument from all methods of the `Validate` trait 2021-12-07 11:43:48 +01:00
Dmitry Dygalo e2b77fc705 perf: Add special cases for arrays with 2 and 3 items in the `uniqueItems` keyword implementation 2021-12-06 21:50:22 +01:00
Dmitry Dygalo 87bce86efe perf: Optimize the `multipleOf` implementation 2021-12-06 18:25:23 +01:00
Dmitry Dygalo 691ec3e2ac perf: Remove unused private field in `JSONSchema` 2021-12-06 18:07:18 +01:00
Dmitry Dygalo 0aaff827b5
chore(python): Release 0.13.1
Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
2021-11-10 16:01:18 +01:00
Blayne Chard 0515c955a4
feat: convert python enum into raw values before validating (#317)
* feat: convert python enum into raw values before validating

* refactor: apply pull request comments
2021-11-09 20:49:04 +01:00
Dmitry Dygalo 527cf797cf
docs(python): Update benchmarks 2021-11-04 13:11:17 +01:00
Dmitry Dygalo 88156ada20
chore(python): Release 0.13.0
Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
2021-11-04 12:35:37 +01:00
Dmitry Dygalo 2ea835a442
chore(rust): Release 0.13.2
Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
2021-11-04 12:32:57 +01:00
Dmitry Dygalo aa7b277933
docs: Add missing changelog entry
Signed-off-by: Dmitry Dygalo <dmitry@dygalo.dev>
2021-11-04 12:29:55 +01:00
Blayne Chard 9867b383a6 refactor: split list and tuple serialization 2021-11-04 12:29:45 +01:00
Blayne Chard b88262bb14 test: validate that named tuples error 2021-11-04 12:29:45 +01:00
Blayne Chard a4dc339635 refactor: expand tests around arrays and tuples 2021-11-04 12:29:45 +01:00
Blayne Chard 3ae1db54de refactor: convert tuple size to 0 2021-11-04 12:29:45 +01:00
Blayne Chard 045d4aaab5 refactor: avoid serialization logic duplication 2021-11-04 12:29:45 +01:00
Blayne Chard 734445856b fix: convert tuples into lists 2021-11-04 12:29:45 +01:00
Alex Good 0f050b860e feat: expose methods to examine OutputUnits
The `Output::basic` method returns a BasicOutput. Prior to this patch the
only way to examine the contents of this data structure was to serialize
it to JSON. This patch adds methods to examine the outputs from Rust, as
well as documentation on how to do so.

Signed-off-by: Alex Good <alex@memoryandthought.me>
2021-11-03 18:50:50 +01:00