boon now included
This commit is contained in:
88
validator/README.md
Normal file
88
validator/README.md
Normal file
@ -0,0 +1,88 @@
|
||||
[](https://opensource.org/licenses/Apache-2.0)
|
||||
[](https://crates.io/crates/boon)
|
||||
[](https://docs.rs/boon/)
|
||||
[](https://github.com/santhosh-tekuri/boon/actions/workflows/rust.yml)
|
||||
[](https://codecov.io/gh/santhosh-tekuri/boon)
|
||||
[](https://deps.rs/repo/github/Santhosh-tekuri/boon)
|
||||
|
||||
[Examples](https://github.com/santhosh-tekuri/boon/blob/main/tests/examples.rs)
|
||||
[Changelog](https://github.com/santhosh-tekuri/boon/blob/main/CHANGELOG.md)
|
||||
|
||||
## Library Features
|
||||
|
||||
- [x] pass [JSON-Schema-Test-Suite](https://github.com/json-schema-org/JSON-Schema-Test-Suite) excluding optional(compare with other impls at [bowtie](https://bowtie-json-schema.github.io/bowtie/#))
|
||||
- [x] [](https://bowtie.report/#/dialects/draft4)
|
||||
- [x] [](https://bowtie.report/#/dialects/draft6)
|
||||
- [x] [](https://bowtie.report/#/dialects/draft7)
|
||||
- [x] [](https://bowtie.report/#/dialects/draft2019-09)
|
||||
- [x] [](https://bowtie.report/#/dialects/draft2020-12)
|
||||
- [x] detect infinite loop traps
|
||||
- [x] `$schema` cycle
|
||||
- [x] validation cycle
|
||||
- [x] custom `$schema` url
|
||||
- [x] vocabulary based validation
|
||||
- [x] ECMA-262 regex compatibility (pass tests from `optional/ecmascript-regex.json`)
|
||||
- [x] format assertions
|
||||
- [x] flag to enable in draft >= 2019-09
|
||||
- [x] custom format registration
|
||||
- [x] built-in formats
|
||||
- [x] regex, uuid
|
||||
- [x] ipv4, ipv6
|
||||
- [x] hostname, email
|
||||
- [x] idn-hostname, idn-email
|
||||
- [x] date, time, date-time, duration
|
||||
- [x] json-pointer, relative-json-pointer
|
||||
- [x] uri, uri-reference, uri-template
|
||||
- [x] iri, iri-reference
|
||||
- [x] period
|
||||
- [x] content assertions
|
||||
- [x] flag to enable in draft >= 7
|
||||
- [x] contentEncoding
|
||||
- [x] base64
|
||||
- [x] custom
|
||||
- [x] contentMediaType
|
||||
- [x] application/json
|
||||
- [x] custom
|
||||
- [x] contentSchema
|
||||
- [x] errors
|
||||
- [x] introspectable
|
||||
- [x] hierarchy
|
||||
- [x] alternative display with `#`
|
||||
- [x] output
|
||||
- [x] flag
|
||||
- [x] basic
|
||||
- [x] detailed
|
||||
- [ ] custom vocabulary
|
||||
|
||||
## CLI
|
||||
|
||||
to install: `cargo install boon-cli --locked`
|
||||
|
||||
or download it from [releases](https://github.com/santhosh-tekuri/boon/releases)
|
||||
|
||||
```
|
||||
Usage: boon [OPTIONS] SCHEMA [INSTANCE...]
|
||||
|
||||
Options:
|
||||
-h, --help Print help information
|
||||
-q, --quiet Do not print errors
|
||||
-d, --draft <VER> Draft used when '$schema' is missing. Valid values 4,
|
||||
6, 7, 2019, 2020 (default 2020)
|
||||
-o, --output <FMT> Output format. Valid values simple, alt, flag, basic,
|
||||
detailed (default simple)
|
||||
-f, --assert-format
|
||||
Enable format assertions with draft >= 2019
|
||||
-c, --assert-content
|
||||
Enable content assertions with draft >= 7
|
||||
--cacert <FILE> Use the specified PEM certificate file to verify the
|
||||
peer. The file may contain multiple CA certificates
|
||||
-k, --insecure Use insecure TLS connection
|
||||
```
|
||||
|
||||
This cli can validate both schema and multiple instances.
|
||||
|
||||
It support both json and yaml files
|
||||
|
||||
exit code is:
|
||||
- `1` if command line arguments are invalid.
|
||||
- `2` if there are errors
|
||||
Reference in New Issue
Block a user