JsonSchema

zio.blocks.schema.json.JsonSchema
See theJsonSchema companion object
sealed trait JsonSchema extends Product, Serializable

A JSON Schema 2020-12 representation.

This sealed trait provides a complete model of JSON Schema with:

  • Boolean schemas (True accepts all, False rejects all)
  • Full schema objects with all standard vocabularies
  • Round-trip JSON serialization via toJson / fromJson
  • Validation via check method returning accumulated errors
  • Combinators (&& for allOf, || for anyOf, ! for not)

Attributes

Companion
object
Source
JsonSchema.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
object False
class Object
object True

Members list

Value members

Abstract methods

def check(json: Json): Option[SchemaError]

Validate a JSON value against this schema.

Validate a JSON value against this schema.

Attributes

Returns

None if valid, Some(error) with accumulated failures if invalid.

Source
JsonSchema.scala
def toJson: Json

Serialize this schema to its canonical JSON representation.

Serialize this schema to its canonical JSON representation.

Attributes

Source
JsonSchema.scala

Concrete methods

def &&(that: JsonSchema): JsonSchema

Combine with another schema using allOf.

Combine with another schema using allOf.

Attributes

Source
JsonSchema.scala
def check(json: Json, options: ValidationOptions): Option[SchemaError]

Validate a JSON value against this schema with custom options.

Validate a JSON value against this schema with custom options.

Value parameters

json

The JSON value to validate

options

Validation options controlling behavior like format validation

Attributes

Returns

None if valid, Some(error) with accumulated failures if invalid.

Source
JsonSchema.scala
def conforms(json: Json): Boolean

Returns true if the JSON value conforms to this schema.

Returns true if the JSON value conforms to this schema.

Attributes

Source
JsonSchema.scala
def conforms(json: Json, options: ValidationOptions): Boolean

Returns true if the JSON value conforms to this schema with custom options.

Returns true if the JSON value conforms to this schema with custom options.

Attributes

Source
JsonSchema.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
Source
JsonSchema.scala

Negate this schema.

Negate this schema.

Attributes

Source
JsonSchema.scala
def withDiscriminatorField(name: String, value: String): JsonSchema

Add a required property for the provided discriminator field.

Add a required property for the provided discriminator field.

Attributes

Source
JsonSchema.scala

Make this schema nullable (accepts null in addition to current types).

Make this schema nullable (accepts null in addition to current types).

Attributes

Source
JsonSchema.scala
def ||(that: JsonSchema): JsonSchema

Combine with another schema using anyOf.

Combine with another schema using anyOf.

Attributes

Source
JsonSchema.scala

Inherited methods

def productElementName(n: Int): String

The name of the n^th^ element of this product, 0-based. In the default implementation, an empty string.

The name of the n^th^ element of this product, 0-based. In the default implementation, an empty string.

Value parameters

n

the index of the element name to return

Attributes

Returns

the name of the specified element

Throws
IndexOutOfBoundsException

if the n is out of range(n < 0 || n >= productArity).

Inherited from:
Product
Source
Product.scala
def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
Source
Product.scala
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
Source
Product.scala
def productPrefix: String

A string used in the toString methods of derived classes. Implementations may override this method to prepend a string prefix to the result of toString methods.

A string used in the toString methods of derived classes. Implementations may override this method to prepend a string prefix to the result of toString methods.

Attributes

Returns

in the default implementation, the empty string

Inherited from:
Product
Source
Product.scala

Inherited and Abstract methods

def canEqual(that: Any): Boolean

Checks whether this instance can possibly equal that.

Checks whether this instance can possibly equal that.

A method that should be called from every well-designed equals method that is open to be overridden in a subclass. See Programming in Scala, Chapter 28 for discussion and design.

Value parameters

that

the value being probed for possible equality

Attributes

Returns

true if this instance can possibly equal that, otherwise false

Inherited from:
Equals
Source
Equals.scala
def productArity: Int

The size of this product.

The size of this product.

Attributes

Returns

for a product A(x,,1,,, ..., x,,k,,), returns k

Inherited from:
Product
Source
Product.scala
def productElement(n: Int): Any

The n^th^ element of this product, 0-based. In other words, for a product A(x,,1,,, ..., x,,k,,), returns x,,(n+1),, where `0 = productArity).

The n^th^ element of this product, 0-based. In other words, for a product A(x,,1,,, ..., x,,k,,), returns x,,(n+1),, where `0 = productArity).

Attributes

Returns

the element n elements after the first element

Inherited from:
Product
Source
Product.scala