JsonCodec

Companion:
class
trait Product
trait Mirror
class Object
trait Matchable
class Any

Type members

Classlikes

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

@inline
def apply[A](implicit j: JsonCodec[A]): JsonCodec[A]
def const[A](a: A): JsonCodec[A]
def enumAdt[A, B : UnivEq](f: (A, B))(implicit evidence$2: UnivEq[B], encoder: Encoder[B], decoder: Decoder[B]): JsonCodec[A]
def fix[F[_] : Traverse](enc: F => Json, dec: (Result, F) => ACursor): JsonCodec[Fix[F]]
def lazily[A](j: => JsonCodec[A]): JsonCodec[A]
def map[K, V](implicit encoderK: KeyEncoder[K], encoderV: Encoder[V], decoderK: KeyDecoder[K], decoderV: Decoder[V]): JsonCodec[Map[K, V]]
def summon[A](implicit encoder: Encoder[A], decoder: Decoder[A]): JsonCodec[A]

Deprecated methods

@deprecated("Use JsonCodec.summon[A].flatXmap", "2.0.0-RC3")
def xemap[A, B](w: B => A)(r: A => Result[B])(implicit encoder: Encoder[A], decoder: Decoder[A]): JsonCodec[B]
Deprecated
@deprecated("Use JsonCodec.summon[A].xmap", "2.0.0-RC3")
def xmap[A, B](r: A => B)(w: B => A)(implicit encoder: Encoder[A], decoder: Decoder[A]): JsonCodec[B]
Deprecated

Inherited methods

def merge10[A, B, C, D, E, F, G, H, I, J](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J]): JsonCodec[(A, B, C, D, E, F, G, H, I, J)]
def merge11[A, B, C, D, E, F, G, H, I, J, K](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K)]
def merge12[A, B, C, D, E, F, G, H, I, J, K, L](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L)]
def merge13[A, B, C, D, E, F, G, H, I, J, K, L, M](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M)]
def merge14[A, B, C, D, E, F, G, H, I, J, K, L, M, N](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N)]
def merge15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)]
def merge16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)]
def merge17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P], jq: JsonCodec[Q]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)]
def merge18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P], jq: JsonCodec[Q], jr: JsonCodec[R]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)]
def merge19[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P], jq: JsonCodec[Q], jr: JsonCodec[R], js: JsonCodec[S]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)]
def merge2[A, B](implicit ja: JsonCodec[A], jb: JsonCodec[B]): JsonCodec[(A, B)]
def merge20[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P], jq: JsonCodec[Q], jr: JsonCodec[R], js: JsonCodec[S], jt: JsonCodec[T]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)]
def merge21[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P], jq: JsonCodec[Q], jr: JsonCodec[R], js: JsonCodec[S], jt: JsonCodec[T], ju: JsonCodec[U]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)]
def merge22[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I], jj: JsonCodec[J], jk: JsonCodec[K], jl: JsonCodec[L], jm: JsonCodec[M], jn: JsonCodec[N], jo: JsonCodec[O], jp: JsonCodec[P], jq: JsonCodec[Q], jr: JsonCodec[R], js: JsonCodec[S], jt: JsonCodec[T], ju: JsonCodec[U], jv: JsonCodec[V]): JsonCodec[(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)]
def merge3[A, B, C](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C]): JsonCodec[(A, B, C)]
def merge4[A, B, C, D](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D]): JsonCodec[(A, B, C, D)]
def merge5[A, B, C, D, E](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E]): JsonCodec[(A, B, C, D, E)]
def merge6[A, B, C, D, E, F](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F]): JsonCodec[(A, B, C, D, E, F)]
def merge7[A, B, C, D, E, F, G](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G]): JsonCodec[(A, B, C, D, E, F, G)]
def merge8[A, B, C, D, E, F, G, H](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H]): JsonCodec[(A, B, C, D, E, F, G, H)]
def merge9[A, B, C, D, E, F, G, H, I](implicit ja: JsonCodec[A], jb: JsonCodec[B], jc: JsonCodec[C], jd: JsonCodec[D], je: JsonCodec[E], jf: JsonCodec[F], jg: JsonCodec[G], jh: JsonCodec[H], ji: JsonCodec[I]): JsonCodec[(A, B, C, D, E, F, G, H, I)]

Concrete fields

lazy val str: JsonCodec[String]