NonProductLike

oxygen.schema.JsonSchema.NonProductLike
sealed trait NonProductLike[A] extends JsonSchema[A]

Attributes

Graph
Supertypes
trait JsonSchema[A]
trait SchemaLike[A]
class Object
trait Matchable
class Any
Known subtypes
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]
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

final override type S[a] = JsonSchema[a]

Value members

Concrete methods

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

Attributes

Definition Classes
final override def transformOrFail[B](ab: A => Either[String, B], ba: B => A)(using newTypeTag: TypeTag[B]): JsonSchema[B]

Attributes

Definition Classes

Inherited methods

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

Attributes

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

Attributes

Definition Classes
Inherited from:
JsonSchema
final def jsonCodec: JsonCodec[A]

Attributes

Inherited from:
JsonSchema
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 fields

val jsonDecoder: JsonDecoder[A]

Attributes

Inherited from:
JsonSchema
val jsonEncoder: JsonEncoder[A]

Attributes

Inherited from:
JsonSchema
val typeTag: TypeTag[A]

Attributes

Inherited from:
SchemaLike