Packages

trait JsonSchemas extends algebra.JsonSchemas

Enriches JsonSchemas with two kinds of operations:

  • genericJsonSchema[A] derives the JsonSchema of an algebraic data type A;
  • (field1 :×: field2 :×: …).as[A] builds a tuple of Records and maps it to a case class A

For instance, consider the following program that derives the JSON schema of a case class:

case class User(name: String, age: Int)
object User {
  implicit val schema: JsonSchema[User] = genericJsonSchema[User]
}

It is equivalent to the following:

case class User(name: String, age: Int)
object User {
  implicit val schema: JsonSchema[User] = (
    field[String]("name") zip
    field[Int]("age")
  ).xmap((User.apply _).tupled)(Function.unlift(User.unapply))
}
Source
JsonSchemas.scala
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. JsonSchemas
  2. JsonSchemas
  3. PartialInvariantFunctorSyntax
  4. InvariantFunctorSyntax
  5. TuplesSchemas
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. implicit class InvariantFunctorSyntax[A, F[_]] extends AnyRef

    Extension methods for values of type F[A] for which there is an implicit InvariantFunctor[F] instance.

    Extension methods for values of type F[A] for which there is an implicit InvariantFunctor[F] instance.

    Definition Classes
    InvariantFunctorSyntax
  2. implicit class PartialInvariantFunctorSyntax[A, F[_]] extends AnyRef
  3. implicit final class EnumOps[A] extends JsonSchemaDocumentationOps[A]

    Definition Classes
    JsonSchemas
  4. sealed trait JsonSchemaDocumentationOps[A] extends AnyRef

    Documentation related methods for annotating schemas.

    Documentation related methods for annotating schemas. Encoder and decoder interpreters ignore this information.

    Definition Classes
    JsonSchemas
  5. implicit final class JsonSchemaOps[A] extends JsonSchemaDocumentationOps[A]

    Implicit methods for values of type JsonSchema

    Implicit methods for values of type JsonSchema

    Definition Classes
    JsonSchemas
  6. implicit final class RecordOps[A] extends JsonSchemaDocumentationOps[A]

    Implicit methods for values of type Record

    Implicit methods for values of type Record

    Definition Classes
    JsonSchemas
  7. implicit final class TaggedOps[A] extends JsonSchemaDocumentationOps[A]

    Definition Classes
    JsonSchemas
  8. abstract type Enum[A] <: JsonSchema[A]

    A more specific type of JSON schema for enumerations, i.e.

    A more specific type of JSON schema for enumerations, i.e. types that have a specific set of valid values

    Values of type Enum[A] can be constructed by the operations:

    Definition Classes
    JsonSchemas
    Note

    This type has implicit methods provided by the EnumOps class.

  9. trait GenericDescriptions extends AnyRef

    Internal machinery for extracting a description of a type

  10. trait GenericDiscriminatorNames extends AnyRef

    Internal machinery for deriving the discriminator name of a type

  11. trait GenericJsonSchema[A] extends AnyRef
    Annotations
    @implicitNotFound()
  12. trait GenericJsonSchemaLowLowPriority extends AnyRef
  13. trait GenericJsonSchemaLowPriority extends GenericJsonSchemaLowLowPriority
  14. trait GenericSchemaNames extends AnyRef

    Internal machinery for deriving the schema name of a type

  15. trait GenericTitles extends AnyRef

    Internal machinery for extracting a title of a type

  16. abstract type JsonSchema[A]

    The JSON schema of a type A

    The JSON schema of a type A

    JSON schemas can be interpreted as encoders serializing values of type A into JSON, decoders de-serializing JSON documents into values of type A, or documentation rendering the underlying JSON schema.

    The JsonSchemas trait provides implicit definitions of JsonSchema[A] for basic types (Int, Double, String, etc.), and operations such as field, optField, or enumeration, which construct more complex JSON schemas.

    Definition Classes
    JsonSchemas
    Note

    This type has implicit methods provided by the PartialInvariantFunctorSyntax, InvariantFunctorSyntax, and JsonSchemaOps classes.

  17. implicit final class JsonSchemaGenericOps[A] extends AnyRef
  18. abstract type Record[A] <: JsonSchema[A]

    A more specific type of JSON schema for record types (case classes)

    A more specific type of JSON schema for record types (case classes)

    Values of type Record[A] can be constructed with the operations field and optField.

    Definition Classes
    JsonSchemas
    Note

    This type has implicit methods provided by the PartialInvariantFunctorSyntax, InvariantFunctorSyntax, and RecordOps classes.

  19. implicit final class RecordGenericOps[A] extends AnyRef
  20. abstract type Tagged[A] <: JsonSchema[A]

    A more specific type of JSON schema for sum types (sealed traits)

    A more specific type of JSON schema for sum types (sealed traits)

    “Tagged” schemas include the name of the type A as an additional discriminator field. By default, the name of the discriminator field is defined by the operation defaultDiscriminatorName but it can be customized by calling the operation withDiscriminator.

    Values of type Tagged[A] can be constructed by calling the operation tagged on a Record[A].

    Definition Classes
    JsonSchemas
    Note

    This type has implicit methods provided by the PartialInvariantFunctorSyntax, InvariantFunctorSyntax, and TaggedOps classes.

Abstract Value Members

  1. implicit abstract def arrayJsonSchema[C[X] <: Iterable[X], A](implicit jsonSchema: JsonSchema[A], factory: Factory[A, C[A]]): JsonSchema[C[A]]

    A JSON schema for sequences

    A JSON schema for sequences

    Definition Classes
    JsonSchemas
  2. implicit abstract def bigdecimalJsonSchema: JsonSchema[BigDecimal]

    A JSON schema for type BigDecimal

    A JSON schema for type BigDecimal

    Definition Classes
    JsonSchemas
  3. implicit abstract def booleanJsonSchema: JsonSchema[Boolean]

    A JSON schema for type Boolean

    A JSON schema for type Boolean

    Definition Classes
    JsonSchemas
  4. implicit abstract def byteJsonSchema: JsonSchema[Byte]

    A JSON schema for type Byte

    A JSON schema for type Byte

    Definition Classes
    JsonSchemas
  5. abstract def choiceTagged[A, B](taggedA: Tagged[A], taggedB: Tagged[B]): Tagged[Either[A, B]]

    The JSON schema of a coproduct made of the given alternative tagged records

    The JSON schema of a coproduct made of the given alternative tagged records

    Definition Classes
    JsonSchemas
  6. implicit abstract def doubleJsonSchema: JsonSchema[Double]

    A JSON schema for type Double

    A JSON schema for type Double

    Definition Classes
    JsonSchemas
  7. implicit abstract def emptyRecord: Record[Unit]

    The JSON schema of a record with no fields

    The JSON schema of a record with no fields

    • Encoder interpreters produce an empty JSON object,
    • Decoder interpreters fail if the JSON value is not a JSON object,
    • Documentation interpreters produce the JSON schema of a JSON object schema with no properties.
    Definition Classes
    JsonSchemas
  8. abstract def enumeration[A](values: Seq[A])(tpe: JsonSchema[A]): Enum[A]

    Promotes a schema to an enumeration.

    Promotes a schema to an enumeration.

    • Decoder interpreters fail if the input value does not match the encoded values of any of the possible values,
    • Encoder interpreters never fail, even if the value is not contained in the set of possible values,
    • Documentation interpreters enrich the JSON schema with an enum property listing the possible values.
    Definition Classes
    JsonSchemas
  9. abstract def field[A](name: String, documentation: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[A]

    The JSON schema of a record with a single field name of type A

    The JSON schema of a record with a single field name of type A

    • Encoder interpreters produce a JSON object with one property of the given name,
    • Decoder interpreters fail if the JSON value is not a JSON object, or if it doesn’t contain the name property, or if the property has an invalid value (according to its tpe),
    • Documentation interpreters produce the JSON schema of a JSON object schema with one required property of the given name.
    Definition Classes
    JsonSchemas
  10. implicit abstract def floatJsonSchema: JsonSchema[Float]

    A JSON schema for type Float

    A JSON schema for type Float

    Definition Classes
    JsonSchemas
  11. implicit abstract def intJsonSchema: JsonSchema[Int]

    A JSON schema for type Int

    A JSON schema for type Int

    Definition Classes
    JsonSchemas
  12. implicit abstract def jsonSchemaPartialInvFunctor: PartialInvariantFunctor[JsonSchema]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    JsonSchemas
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  13. implicit abstract def longJsonSchema: JsonSchema[Long]

    A JSON schema for type Long

    A JSON schema for type Long

    Definition Classes
    JsonSchemas
  14. implicit abstract def mapJsonSchema[A](implicit jsonSchema: JsonSchema[A]): JsonSchema[Map[String, A]]

    A JSON schema for maps with string keys

    A JSON schema for maps with string keys

    Definition Classes
    JsonSchemas
  15. abstract def namedEnum[A](schema: Enum[A], name: String): Enum[A]

    Annotates the enumeration JSON schema with a name

    Annotates the enumeration JSON schema with a name

    Definition Classes
    JsonSchemas
  16. abstract def namedRecord[A](schema: Record[A], name: String): Record[A]

    Annotates the record JSON schema with a name

    Annotates the record JSON schema with a name

    Definition Classes
    JsonSchemas
  17. abstract def namedTagged[A](schema: Tagged[A], name: String): Tagged[A]

    Annotates the tagged JSON schema with a name

    Annotates the tagged JSON schema with a name

    Definition Classes
    JsonSchemas
  18. abstract def optField[A](name: String, documentation: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[Option[A]]

    The JSON schema of a record with a single optional field name of type A

    The JSON schema of a record with a single optional field name of type A

    • Encoder interpreters can omit the field or emit a field with a null value,
    • Decoder interpreters successfully decode None if the field is absent or if it is present but has the value null. They fail if the field is present but contains an invalid value,
    • Documentation interpreters produce the JSON schema of a JSON object with an optional property of the given name.
    Definition Classes
    JsonSchemas
  19. abstract def orFallbackToJsonSchema[A, B](schemaA: JsonSchema[A], schemaB: JsonSchema[B]): JsonSchema[Either[A, B]]

    A schema that can be either schemaA or schemaB.

    A schema that can be either schemaA or schemaB.

    Documentation interpreter produce a oneOf JSON schema. Encoder interpreters forward to either schemaA or schemaB. Decoder interpreters first try to decode with schemaA, and fallback to schemaB in case of failure.

    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.

    Definition Classes
    JsonSchemas
    Note

    Be careful to use disjoint schemas for A and B (none must be a subtype of the other), otherwise, a value of type B might also be successfully decoded as a value of type A, and this could have surprising consequences.

  20. implicit abstract def recordPartialInvFunctor: PartialInvariantFunctor[Record]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    JsonSchemas
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  21. abstract def stringJsonSchema(format: Option[String]): JsonSchema[String]

    A JSON schema for type String.

    A JSON schema for type String.

    format

    An additional semantic information about the underlying format of the string

    Definition Classes
    JsonSchemas
    See also

    https://json-schema.org/understanding-json-schema/reference/string.html#format

  22. implicit abstract def taggedPartialInvFunctor: PartialInvariantFunctor[Tagged]

    Provides xmap and xmapPartial operations.

    Provides xmap and xmapPartial operations.

    Definition Classes
    JsonSchemas
    See also

    PartialInvariantFunctorSyntax and InvariantFunctorSyntax

  23. abstract def taggedRecord[A](recordA: Record[A], tag: String): Tagged[A]

    Tags a schema for type A with the given tag name

    Tags a schema for type A with the given tag name

    Definition Classes
    JsonSchemas
  24. implicit abstract def tuple10JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)]

    A JSON schema for a tuple of 10 elements.

    A JSON schema for a tuple of 10 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  25. implicit abstract def tuple11JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)]

    A JSON schema for a tuple of 11 elements.

    A JSON schema for a tuple of 11 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  26. implicit abstract def tuple12JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)]

    A JSON schema for a tuple of 12 elements.

    A JSON schema for a tuple of 12 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  27. implicit abstract def tuple13JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)]

    A JSON schema for a tuple of 13 elements.

    A JSON schema for a tuple of 13 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  28. implicit abstract def tuple14JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)]

    A JSON schema for a tuple of 14 elements.

    A JSON schema for a tuple of 14 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  29. implicit abstract def tuple15JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)]

    A JSON schema for a tuple of 15 elements.

    A JSON schema for a tuple of 15 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  30. implicit abstract def tuple16JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)]

    A JSON schema for a tuple of 16 elements.

    A JSON schema for a tuple of 16 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  31. implicit abstract def tuple17JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17)]

    A JSON schema for a tuple of 17 elements.

    A JSON schema for a tuple of 17 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  32. implicit abstract def tuple18JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18)]

    A JSON schema for a tuple of 18 elements.

    A JSON schema for a tuple of 18 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  33. implicit abstract def tuple19JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19)]

    A JSON schema for a tuple of 19 elements.

    A JSON schema for a tuple of 19 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  34. implicit abstract def tuple20JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19], schema20: JsonSchema[T20]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20)]

    A JSON schema for a tuple of 20 elements.

    A JSON schema for a tuple of 20 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  35. implicit abstract def tuple21JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19], schema20: JsonSchema[T20], schema21: JsonSchema[T21]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21)]

    A JSON schema for a tuple of 21 elements.

    A JSON schema for a tuple of 21 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  36. implicit abstract def tuple22JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9], schema10: JsonSchema[T10], schema11: JsonSchema[T11], schema12: JsonSchema[T12], schema13: JsonSchema[T13], schema14: JsonSchema[T14], schema15: JsonSchema[T15], schema16: JsonSchema[T16], schema17: JsonSchema[T17], schema18: JsonSchema[T18], schema19: JsonSchema[T19], schema20: JsonSchema[T20], schema21: JsonSchema[T21], schema22: JsonSchema[T22]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22)]

    A JSON schema for a tuple of 22 elements.

    A JSON schema for a tuple of 22 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  37. implicit abstract def tuple2JsonSchema[T1, T2](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2]): JsonSchema[(T1, T2)]

    A JSON schema for a tuple of 2 elements.

    A JSON schema for a tuple of 2 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  38. implicit abstract def tuple3JsonSchema[T1, T2, T3](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3]): JsonSchema[(T1, T2, T3)]

    A JSON schema for a tuple of 3 elements.

    A JSON schema for a tuple of 3 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  39. implicit abstract def tuple4JsonSchema[T1, T2, T3, T4](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4]): JsonSchema[(T1, T2, T3, T4)]

    A JSON schema for a tuple of 4 elements.

    A JSON schema for a tuple of 4 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  40. implicit abstract def tuple5JsonSchema[T1, T2, T3, T4, T5](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5]): JsonSchema[(T1, T2, T3, T4, T5)]

    A JSON schema for a tuple of 5 elements.

    A JSON schema for a tuple of 5 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  41. implicit abstract def tuple6JsonSchema[T1, T2, T3, T4, T5, T6](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6]): JsonSchema[(T1, T2, T3, T4, T5, T6)]

    A JSON schema for a tuple of 6 elements.

    A JSON schema for a tuple of 6 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  42. implicit abstract def tuple7JsonSchema[T1, T2, T3, T4, T5, T6, T7](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7)]

    A JSON schema for a tuple of 7 elements.

    A JSON schema for a tuple of 7 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  43. implicit abstract def tuple8JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8)]

    A JSON schema for a tuple of 8 elements.

    A JSON schema for a tuple of 8 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  44. implicit abstract def tuple9JsonSchema[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit schema1: JsonSchema[T1], schema2: JsonSchema[T2], schema3: JsonSchema[T3], schema4: JsonSchema[T4], schema5: JsonSchema[T5], schema6: JsonSchema[T6], schema7: JsonSchema[T7], schema8: JsonSchema[T8], schema9: JsonSchema[T9]): JsonSchema[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]

    A JSON schema for a tuple of 9 elements.

    A JSON schema for a tuple of 9 elements.

    Tuples are represented with JSON arrays, as documented in https://json-schema.org/understanding-json-schema/reference/array.html#tuple-validation.

    Definition Classes
    TuplesSchemas
  45. abstract def withDescriptionEnum[A](enumeration: Enum[A], description: String): Enum[A]

    Add a description to the given enumeration JSON schema

    Add a description to the given enumeration JSON schema

    Definition Classes
    JsonSchemas
  46. abstract def withDescriptionJsonSchema[A](schema: JsonSchema[A], description: String): JsonSchema[A]

    Add a description to the given JSON schema

    Add a description to the given JSON schema

    Definition Classes
    JsonSchemas
  47. abstract def withDescriptionRecord[A](record: Record[A], description: String): Record[A]

    Add a description to the given record JSON schema

    Add a description to the given record JSON schema

    Definition Classes
    JsonSchemas
  48. abstract def withDescriptionTagged[A](tagged: Tagged[A], description: String): Tagged[A]

    Add a description to the given tagged JSON schema

    Add a description to the given tagged JSON schema

    Definition Classes
    JsonSchemas
  49. abstract def withDiscriminatorTagged[A](tagged: Tagged[A], discriminatorName: String): Tagged[A]

    Allows to specify name of discriminator field for sum type

    Allows to specify name of discriminator field for sum type

    Definition Classes
    JsonSchemas
  50. abstract def withExampleEnum[A](enumeration: Enum[A], example: A): Enum[A]

    Include an example value within the given enumeration JSON schema

    Include an example value within the given enumeration JSON schema

    Definition Classes
    JsonSchemas
  51. abstract def withExampleJsonSchema[A](schema: JsonSchema[A], example: A): JsonSchema[A]

    Include an example value within the given JSON schema

    Include an example value within the given JSON schema

    Definition Classes
    JsonSchemas
  52. abstract def withExampleRecord[A](record: Record[A], example: A): Record[A]

    Include an example value within the given record JSON schema

    Include an example value within the given record JSON schema

    Definition Classes
    JsonSchemas
  53. abstract def withExampleTagged[A](tagged: Tagged[A], example: A): Tagged[A]

    Include an example value within the given tagged JSON schema

    Include an example value within the given tagged JSON schema

    Definition Classes
    JsonSchemas
  54. abstract def withTitleEnum[A](enumeration: Enum[A], title: String): Enum[A]

    Add a title to the given enumeration JSON schema

    Add a title to the given enumeration JSON schema

    Definition Classes
    JsonSchemas
  55. abstract def withTitleJsonSchema[A](schema: JsonSchema[A], title: String): JsonSchema[A]

    Add a title to the given schema

    Add a title to the given schema

    Definition Classes
    JsonSchemas
  56. abstract def withTitleRecord[A](record: Record[A], title: String): Record[A]

    Add a title to the given record JSON schema

    Add a title to the given record JSON schema

    Definition Classes
    JsonSchemas
  57. abstract def withTitleTagged[A](tagged: Tagged[A], title: String): Tagged[A]

    Add a title to the given tagged JSON schema

    Add a title to the given tagged JSON schema

    Definition Classes
    JsonSchemas
  58. abstract def zipRecords[A, B](recordA: Record[A], recordB: Record[B])(implicit t: Tupler[A, B]): Record[Out]

    The JSON schema of a record merging the fields of the two given records

    The JSON schema of a record merging the fields of the two given records

    Definition Classes
    JsonSchemas
  59. abstract def lazyRecord[A](schema: => Record[A], name: String): JsonSchema[A]

    Captures a lazy reference to a JSON schema currently being defined:

    Captures a lazy reference to a JSON schema currently being defined:

    case class Recursive(next: Option[Recursive])
    val recursiveSchema: Record[Recursive] = (
      optField("next")(lazyRecord(recursiveSchema, "Rec"))
    ).xmap(Recursive)(_.next)

    Interpreters should return a JsonSchema value that does not evaluate the given schema unless it is effectively used.

    schema

    The record JSON schema whose evaluation should be delayed

    name

    A unique name identifying the schema

    Definition Classes
    JsonSchemas
    Annotations
    @deprecated
    Deprecated

    (Since version 1.4.0) Use lazyRecord(name)(...) instead

  60. abstract def lazyTagged[A](schema: => Tagged[A], name: String): JsonSchema[A]

    Captures a lazy reference to a JSON schema currently being defined.

    Captures a lazy reference to a JSON schema currently being defined.

    Interpreters should return a JsonSchema value that does not evaluate the given schema unless it is effectively used.

    schema

    The tagged JSON schema whose evaluation should be delayed

    name

    A unique name identifying the schema

    Definition Classes
    JsonSchemas
    Annotations
    @deprecated
    Deprecated

    (Since version 1.4.0) Use lazyTagged(name)(...) instead

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from JsonSchemas toany2stringadd[JsonSchemas] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (JsonSchemas, B)
    Implicit
    This member is added by an implicit conversion from JsonSchemas toArrowAssoc[JsonSchemas] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def bigdecimalWithConstraintsJsonSchema(props: NumericConstraints[BigDecimal]): JsonSchema[BigDecimal]

    A JSON schema for type BigDecimal where certain properties, such as minimum, maximum, etc.

    A JSON schema for type BigDecimal where certain properties, such as minimum, maximum, etc. are set.

    Definition Classes
    JsonSchemas
  8. def classTagToSchemaName(ct: ClassTag[_]): String

    Compute a schema name (used for documentation) based on a ClassTag.

    Compute a schema name (used for documentation) based on a ClassTag. The provided implementation uses the fully qualified name of the class. This could result in non unique values and mess with documentation.

    You can override this method to use a custom logic.

  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  10. def defaultDiscriminatorName: String

    Default discriminator field name for sum types.

    Default discriminator field name for sum types.

    It defaults to "type", but you can override it twofold: - by overriding this field you can change default discriminator name algebra-wide - by using withDiscriminator you can specify discriminator field name for specific sum type

    Definition Classes
    JsonSchemas
  11. implicit final def defaultStringJsonSchema: JsonSchema[String]

    A JSON schema for type String

    A JSON schema for type String

    Definition Classes
    JsonSchemas
  12. def doubleWithConstraintsJsonSchema(props: NumericConstraints[Double]): JsonSchema[Double]

    A JSON schema for type Double where certain properties, such as minimum, maximum, etc.

    A JSON schema for type Double where certain properties, such as minimum, maximum, etc. are set.

    Definition Classes
    JsonSchemas
  13. implicit lazy val durationSchema: JsonSchema[Duration]

    An ISO 8601 duration

    An ISO 8601 duration

    Definition Classes
    JsonSchemas
    See also

    http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1

  14. def ensuring(cond: (JsonSchemas) => Boolean, msg: => Any): JsonSchemas
    Implicit
    This member is added by an implicit conversion from JsonSchemas toEnsuring[JsonSchemas] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: (JsonSchemas) => Boolean): JsonSchemas
    Implicit
    This member is added by an implicit conversion from JsonSchemas toEnsuring[JsonSchemas] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean, msg: => Any): JsonSchemas
    Implicit
    This member is added by an implicit conversion from JsonSchemas toEnsuring[JsonSchemas] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean): JsonSchemas
    Implicit
    This member is added by an implicit conversion from JsonSchemas toEnsuring[JsonSchemas] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  20. def floatWithConstraintsJsonSchema(props: NumericConstraints[Float]): JsonSchema[Float]

    A JSON schema for type BigDecimal where certain properties, such as minimum, maximum, etc.

    A JSON schema for type BigDecimal where certain properties, such as minimum, maximum, etc. are set.

    Definition Classes
    JsonSchemas
  21. def genericJsonSchema[A](implicit genJsonSchema: GenericJsonSchema[A]): JsonSchema[A]

    Derives a JsonSchema[A] for a type A.

    Derives a JsonSchema[A] for a type A.

    In a sense, this operation asks shapeless to compute a type level description of a data type (based on HLists and Coproducts) and turns it into a term level description of the data type (based on the JsonSchemas algebra interface)

    See also

    genericRecord for details on how schemas are derived for case classes

    genericTagged for details on how schemas are derived for sealed traits

  22. def genericRecord[A](implicit genRecord: GenericJsonSchema.GenericRecord[A]): Record[A]

    Derives a Record[A] schema for a case class A.

    Derives a Record[A] schema for a case class A.

    The resulting schema:

    • describes a JSON object,
    • has required properties of the same name and type as each case class field,
    • has optional properties of the same name and type as each case class field of type Option[X] for some type X,
    • includes the description possibly attached to each case class field via the @docs annotation,
    • has a name, computed from a ClassTag[A] by the classTagToSchemaName operation.
  23. def genericTagged[A](implicit genTagged: GenericJsonSchema.GenericTagged[A]): Tagged[A]

    Derives a Tagged[A] schema for a sealed trait A.

    Derives a Tagged[A] schema for a sealed trait A.

    The resulting schema:

    • is the alternative of the leaf case classes schemas,
    • the field used for discriminating the alternatives is defined by the @discriminator annotation, if present on the sealed trait definition, or by the defaultDiscriminatorName method otherwise,
    • each alternative is discriminated by the name (not qualified) of the case class.
  24. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  25. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  26. implicit lazy val instantJsonSchema: JsonSchema[Instant]

    An ISO 8601 date-time in UTC

    An ISO 8601 date-time in UTC

    Definition Classes
    JsonSchemas
    See also

    http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1

  27. final def intEnumeration[A](values: Seq[A])(encode: (A) => Int)(implicit tpe: JsonSchema[Int]): Enum[A]

    Convenient constructor for enumerations represented by int values.

    Convenient constructor for enumerations represented by int values.

    Definition Classes
    JsonSchemas
  28. def intWithConstraintsJsonSchema(props: NumericConstraints[Int]): JsonSchema[Int]

    A JSON schema for type Int where certain properties, such as minimum, maximum, etc.

    A JSON schema for type Int where certain properties, such as minimum, maximum, etc. are set.

    Definition Classes
    JsonSchemas
  29. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  30. def lazyRecord[A](name: String)(schema: => Record[A]): Record[A]

    Captures a lazy reference to a JSON schema currently being defined:

    Captures a lazy reference to a JSON schema currently being defined:

    case class Recursive(next: Option[Recursive])
    val recursiveSchema: Record[Recursive] =
      lazyRecord("Rec") {
        optField("next")(recursiveSchema)
      }.xmap(Recursive(_))(_.next)

    Interpreters should return a JsonSchema value that does not evaluate the given schema unless it is effectively used.

    name

    A unique name identifying the schema

    schema

    The record JSON schema whose evaluation should be delayed

    Definition Classes
    JsonSchemas
  31. def lazySchema[A](name: String)(schema: => JsonSchema[A]): JsonSchema[A]

    A lazy JSON schema that can references schemas currently being defined:

    A lazy JSON schema that can references schemas currently being defined:

    case class Recursive(next: Option[Recursive])
    val recursiveSchema: JsonSchema[Recursive] = lazySchema("Rec")(
      optField("next")(recursiveSchema)
    ).xmap(Recursive)(_.next)

    Interpreters should return a JsonSchema value that does not evaluate the given schema unless it is effectively used.

    name

    A unique name identifying the schema

    schema

    The record JSON schema whose evaluation should be delayed

    Definition Classes
    JsonSchemas
  32. def lazyTagged[A](name: String)(schema: => Tagged[A]): Tagged[A]

    Captures a lazy reference to a JSON schema currently being defined.

    Captures a lazy reference to a JSON schema currently being defined.

    Interpreters should return a JsonSchema value that does not evaluate the given schema unless it is effectively used.

    name

    A unique name identifying the schema

    schema

    The tagged JSON schema whose evaluation should be delayed

    Definition Classes
    JsonSchemas
  33. final def literal[A](value: A)(implicit tpe: JsonSchema[A]): JsonSchema[Unit]

    A schema for a statically known value.

    A schema for a statically known value.

    • Decoder interpreters first try to decode incoming values with the given tpe schema, and then check that it is equal to the given value,
    • Encoder interpreters always produce the given value, encoded according to tpe,
    • Documentation interpreters enrich the JSON schema with a const property documenting its only possible value (or an enum property with a single item).

    This is useful to model schemas of objects containing extra fields that are absent from their Scala representation. For example, here is a schema for a GeoJSON point:

    case class Point(lon: Double, lat: Double)
    val pointSchema = (
      field("type")(literal("Point")) zip
      field[(Double, Double)]("coordinates")
    ).xmap(Point.tupled)(p => (p.lon, p.lat))
    Definition Classes
    JsonSchemas
  34. def longWithConstraintsJsonSchema(props: NumericConstraints[Long]): JsonSchema[Long]

    A JSON schema for type Long where certain properties, such as minimum, maximum, etc.

    A JSON schema for type Long where certain properties, such as minimum, maximum, etc. are set.

    Definition Classes
    JsonSchemas
  35. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  37. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  38. implicit lazy val offsetDateTimeSchema: JsonSchema[OffsetDateTime]

    An ISO8601 date-time

    An ISO8601 date-time

    Definition Classes
    JsonSchemas
    See also

    http://json-schema.org/draft/2019-09/json-schema-validation.html#rfc.section.7.3.1

  39. def optFieldWithDefault[A](name: String, defaultValue: A, docs: Option[String] = None)(implicit arg0: JsonSchema[A]): Record[A]

    The JSON schema of a record with a single optional field with the given name

    The JSON schema of a record with a single optional field with the given name

    • Decoders fallback to the defaultValue if the field is absent from the decoded JSON object. They fail if the field is present but has an invalid value,
    • Encoders must emit the field if it is not defaultValue, but can choose to omit it when it has the defaultValue
    • Documentation interpreters produce the JSON schema of a JSON object with an optional property of the given name.
    Definition Classes
    JsonSchemas
  40. def orElseMergeTagged[A, C >: A, B <: C](taggedA: Tagged[A], taggedB: Tagged[B])(implicit arg0: ClassTag[A], arg1: ClassTag[B]): Tagged[C]

    The JSON schema of a coproduct that share the same parent type and thus can be widened to that parent type

    The JSON schema of a coproduct that share the same parent type and thus can be widened to that parent type

    Definition Classes
    JsonSchemas
  41. def preciseField[A](name: String, documentation: Option[String] = None)(implicit tpe: JsonSchema[A]): Record[PreciseField[A]]

    The JSON schema of a record with a single field name of type A with fine control over presence and null

    The JSON schema of a record with a single field name of type A with fine control over presence and null

    • Encoder interpreters may produce a JSON object with one property of the given name, which can be set to the null value,
    • Decoder interpreters successfully decode Absent if the field is absent, Null if it is present but has the value null. They fail if the field is present but contains an invalid value,
    • Documentation interpreters produce the JSON schema of a JSON object with an optional property of the given name.
    Definition Classes
    JsonSchemas
  42. implicit def shapelessGenericFromTuple[A, T, L <: HList](implicit tup: shapeless.ops.hlist.Tupler.Aux[L, T], genT: Aux[T, L], genA: Aux[A, L]): Aux[T, A]
    Annotations
    @nowarn()
  43. final def stringEnumeration[A](values: Seq[A])(encode: (A) => String)(implicit tpe: JsonSchema[String]): Enum[A]

    Convenient constructor for enumerations represented by string values.

    Convenient constructor for enumerations represented by string values.

    Definition Classes
    JsonSchemas
  44. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  45. def toString(): String
    Definition Classes
    AnyRef → Any
  46. implicit final lazy val uuidJsonSchema: JsonSchema[UUID]

    A JSON schema for type UUID

    A JSON schema for type UUID

    Definition Classes
    JsonSchemas
  47. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  48. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  49. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  50. object GenericJsonSchema extends GenericJsonSchemaLowPriority with GenericDiscriminatorNames with GenericSchemaNames with GenericDescriptions with GenericTitles

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from JsonSchemas toStringFormat[JsonSchemas] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (JsonSchemas, B)
    Implicit
    This member is added by an implicit conversion from JsonSchemas toArrowAssoc[JsonSchemas] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from algebra.JsonSchemas

Inherited from TuplesSchemas

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromJsonSchemas to any2stringadd[JsonSchemas]

Inherited by implicit conversion StringFormat fromJsonSchemas to StringFormat[JsonSchemas]

Inherited by implicit conversion Ensuring fromJsonSchemas to Ensuring[JsonSchemas]

Inherited by implicit conversion ArrowAssoc fromJsonSchemas to ArrowAssoc[JsonSchemas]

Types

Types introduced by the algebra

Operations

Operations creating and transforming values

Ungrouped