JsonSchema

oxygen.schema.JsonSchema
See theJsonSchema companion object
sealed trait JsonSchema[A] extends SchemaLike[A]

Attributes

Companion
object
Graph
Supertypes
trait SchemaLike[A]
class Object
trait Matchable
class Any
Known subtypes
trait NonProductLike[A]
class ASTSchema[A]
class ArraySchema[A]
object BooleanSchema
class IntNumberSchema[A]
class NumberSchema[A]
class OptionalSchema[A]
class StringSchema[A]
class Transform[A, B]
class TransformOrFail[A, B]
trait ProductLike[A]
trait ProductSchema[A]
trait SumSchema[A]
class TransformProduct[A, B]
Show all

Members list

Type members

Inherited classlikes

object unsafe

There are times when you only care about encoding or decoding, and not the other. This makes that possible. If you try to do the thing you explicitly decided not to implement, you will get a runtime exception.

There are times when you only care about encoding or decoding, and not the other. This makes that possible. If you try to do the thing you explicitly decided not to implement, you will get a runtime exception.

Attributes

Inherited from:
SchemaLike
Supertypes
class Object
trait Matchable
class Any

Types

override type S[a] <: JsonSchema[a]

Value members

Concrete methods

final override def decode(string: String): Either[String, A]

Attributes

Definition Classes
final override def encode(value: A): String

Attributes

Definition Classes
final def jsonCodec: JsonCodec[A]

Inherited methods

final def transformAttempt[B](ab: A => B, ba: B => A)(using newTypeTag: TypeTag[B]): S[B]

Attributes

Inherited from:
SchemaLike
final def transformAttemptObscure[B](ab: A => B, ba: B => A)(using newTypeTag: TypeTag[B]): S[B]

Attributes

Inherited from:
SchemaLike
final def transformOption[B](ab: A => Option[B], ba: B => A)(using newTypeTag: TypeTag[B]): S[B]

Attributes

Inherited from:
SchemaLike
final def transformOptionObscure[B](ab: A => Option[B], ba: B => A)(using newTypeTag: TypeTag[B]): S[B]

Attributes

Inherited from:
SchemaLike

Inherited and Abstract methods

def transform[B](ab: A => B, ba: B => A)(using newTypeTag: TypeTag[B]): S[B]

Attributes

Inherited from:
SchemaLike
def transformOrFail[B](ab: A => Either[String, B], ba: B => A)(using newTypeTag: TypeTag[B]): S[B]

Attributes

Inherited from:
SchemaLike

Abstract fields

val jsonDecoder: JsonDecoder[A]
val jsonEncoder: JsonEncoder[A]

Inherited and Abstract fields

val typeTag: TypeTag[A]

Attributes

Inherited from:
SchemaLike