final class NeedDiscriminators[A] extends AnyRef
Assists in creating a coproduct codec, after the coproduct type and discriminator type have been fixed.
- Source
- CoproductCodec.scala
- Grouped
- Alphabetic
- By Inheritance
- NeedDiscriminators
- AnyRef
- Any
- by ValueEnrichedWithTuplingSupport
- by TransformSyntax
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toany2stringadd[NeedDiscriminators[A]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (NeedDiscriminators[A], B)
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toArrowAssoc[NeedDiscriminators[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val a: NeedDiscriminators[A]
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toValueEnrichedWithTuplingSupport[NeedDiscriminators[A]] performed by method ValueEnrichedWithTuplingSupport in scodec.codecs.
- Definition Classes
- ValueEnrichedWithTuplingSupport
- def as[B](implicit as: Transformer[A, B]): NeedDiscriminators[B]
Transforms using implicitly available evidence that such a transformation is possible.
Transforms using implicitly available evidence that such a transformation is possible.
Typical transformations include converting:
- an
F[L]
for someL <: HList
to/from anF[CC]
for some case classCC
, where the types in the case class are aligned with the types inL
- an
F[C]
for someC <: Coproduct
to/from anF[SC]
for some sealed classSC
, where the component types in the coproduct are the leaf subtypes of the sealed class.
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- an
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def auto(implicit auto: CoproductBuilderAutoDiscriminators[R, C, A]): Codec[R] with KnownDiscriminatorType[A]
Determines discriminators values automatically by looking for a
Discriminator[R, X, A]
for each component typeX
in the coproductC
. - def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (NeedDiscriminators[A]) => Boolean, msg: => Any): NeedDiscriminators[A]
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toEnsuring[NeedDiscriminators[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (NeedDiscriminators[A]) => Boolean): NeedDiscriminators[A]
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toEnsuring[NeedDiscriminators[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): NeedDiscriminators[A]
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toEnsuring[NeedDiscriminators[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): NeedDiscriminators[A]
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toEnsuring[NeedDiscriminators[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def exmap[B](f: (A) => Attempt[B], g: (B) => Attempt[A]): NeedDiscriminators[B]
Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.Transforms using two functions,
A => Attempt[B]
andB => Attempt[A]
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def exmapc[B](f: (A) => Attempt[B])(g: (B) => Attempt[A]): NeedDiscriminators[B]
Curried version of
exmap
.Curried version of
exmap
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toStringFormat[NeedDiscriminators[A]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def narrow[B](f: (A) => Attempt[B], g: (B) => A): NeedDiscriminators[B]
Transforms using two functions,
A => Attempt[B]
andB => A
.Transforms using two functions,
A => Attempt[B]
andB => A
.The supplied functions form an injection from
B
toA
. Hence, this method converts from a larger to a smaller type. Hence, the namenarrow
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def narrowc[B](f: (A) => Attempt[B])(g: (B) => A): NeedDiscriminators[B]
Curried version of
narrow
.Curried version of
narrow
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val self: NeedDiscriminators[A]
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def using[Rec <: HList](bindings: Rec)(implicit keyDiscriminators: CoproductBuilderKeyDiscriminators[C, Rec, A]): Codec[R] with KnownDiscriminatorType[A]
Specifies the discriminator values for each of the union type members by providing the discriminators as a record with the same keys as the union.
- def using[N <: Nat](discriminators: Sized[Seq[A], N])(implicit ev: Aux[C, N]): Codec[R] with KnownDiscriminatorType[A]
Specifies the discriminator values for each of the coproduct type members.
Specifies the discriminator values for each of the coproduct type members.
The collection must list the discriminators in the order that the corresponding types appear in the coproduct.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def widen[B](f: (A) => B, g: (B) => Attempt[A]): NeedDiscriminators[B]
Transforms using two functions,
A => B
andB => Attempt[A]
.Transforms using two functions,
A => B
andB => Attempt[A]
.The supplied functions form an injection from
A
toB
. Hence, this method converts from a smaller to a larger type. Hence, the namewiden
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def widenOpt[B](f: (A) => B, g: (B) => Option[A]): NeedDiscriminators[B]
Transforms using two functions,
A => B
andB => Option[A]
.Transforms using two functions,
A => B
andB => Option[A]
.Particularly useful when combined with case class apply/unapply. E.g.,
widenOpt(fa, Foo.apply, Foo.unapply)
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def widenOptc[B](f: (A) => B)(g: (B) => Option[A]): NeedDiscriminators[B]
Curried version of
widenOpt
.Curried version of
widenOpt
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def widenc[B](f: (A) => B)(g: (B) => Attempt[A]): NeedDiscriminators[B]
Curried version of
widen
.Curried version of
widen
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def xmap[B](f: (A) => B, g: (B) => A): NeedDiscriminators[B]
Transforms using the isomorphism described by two functions,
A => B
andB => A
.Transforms using the isomorphism described by two functions,
A => B
andB => A
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def xmapc[B](f: (A) => B)(g: (B) => A): NeedDiscriminators[B]
Curried version of
xmap
.Curried version of
xmap
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- def ~[B](b: B): (NeedDiscriminators[A], B)
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toValueEnrichedWithTuplingSupport[NeedDiscriminators[A]] performed by method ValueEnrichedWithTuplingSupport in scodec.codecs.
- Definition Classes
- ValueEnrichedWithTuplingSupport
Deprecated Value Members
- def pxmap[B](f: (A) => B, g: (B) => Option[A]): NeedDiscriminators[B]
Transforms using two functions,
A => B
andB => Option[A]
.Transforms using two functions,
A => B
andB => Option[A]
.Particularly useful when combined with case class apply/unapply. E.g.,
pxmap(fa, Foo.apply, Foo.unapply)
.- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toTransformSyntax[NeedDiscriminators, A] performed by method TransformSyntax in scodec.This conversion will take place only if an implicit value of type Transform[NeedDiscriminators] is in scope.
- Definition Classes
- TransformSyntax
- Annotations
- @deprecated
- Deprecated
(Since version 1.7.0) Use widenOpt instead
- def →[B](y: B): (NeedDiscriminators[A], B)
- Implicit
- This member is added by an implicit conversion from NeedDiscriminators[A] toArrowAssoc[NeedDiscriminators[A]] 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.