JsonSchemaOps
Implicit methods for values of type JsonSchema
Type members
Types
Value members
Concrete methods
A schema that can be either schemaA
or schemaB
.
A schema that can be either schemaA
or schemaB
.
- Encoder interpreters forward to
schemaA
to encode aLeft
value orschemaB
to encode aRight
value, - Decoder interpreters first try to decode with
schemaA
, and fallback toschemaB
in case of failure, - Documentation interpreter produce a
oneOf
JSON schema.
The difference between this operation and the operation orElse
on “tagged” schemas
is that this operation does not rely on a discriminator field between the alternative
schemas. As a consequence, decoding is slower than with “tagged” schemas and provides
less precise error messages.
- Value parameters:
- schemaB
fallback schema
- Note:
Be careful to use ''disjoint'' schemas for
A
andB
(none must be a subtype of the other), otherwise, a value of typeB
might also be successfully decoded as a value of typeA
, and this could have surprising consequences.