12 releases
0.6.0 | May 30, 2024 |
---|---|
0.5.3 | Jan 27, 2024 |
0.5.1 | Jul 13, 2023 |
0.5.0 | Mar 28, 2023 |
0.1.1 | Feb 17, 2023 |
#214 in Web programming
6,032 downloads per month
Used in 11 crates
(5 directly)
200KB
5K
SLoC
Library Features
- pass JSON-Schema-Test-Suite excluding optional(compare with other impls at bowtie)
- detect infinite loop traps
-
$schema
cycle - validation cycle
-
- custom
$schema
url - vocabulary based validation
- ECMA-262 regex compatibility (pass tests from
optional/ecmascript-regex.json
) - format assertions
- flag to enable in draft >= 2019-09
- custom format registration
- built-in formats
- regex, uuid
- ipv4, ipv6
- hostname, email
- idn-hostname, idn-email
- date, time, date-time, duration
- json-pointer, relative-json-pointer
- uri, uri-reference, uri-template
- iri, iri-reference
- period
- content assertions
- flag to enable in draft >= 7
- contentEncoding
- base64
- custom
- contentMediaType
- application/json
- custom
- contentSchema
- errors
- introspectable
- hierarchy
- alternative display with
#
- alternative display with
- output
- flag
- basic
- detailed
- custom vocabulary
CLI
to install: cargo install boon-cli
or download it from 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
Dependencies
~6.5–9.5MB
~180K SLoC