trait Encoder[-A] extends AnyRef
Supports encoding a value of type A
to a BitVector
.
- Self Type
- Encoder[A]
- Source
- Encoder.scala
- Grouped
- Alphabetic
- By Inheritance
- Encoder
- AnyRef
- Any
- by EnrichedCoproductEncoder
- by TransformSyntax
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
encode(value: A): Attempt[BitVector]
Attempts to encode the specified value in to a bit vector.
Attempts to encode the specified value in to a bit vector.
- value
value to encode
- returns
error or binary encoding of the value
-
abstract
def
sizeBound: SizeBound
Provides a bound on the size of successfully encoded values.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Encoder[A], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
as[B](implicit as: Transformer[A, B]): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
- an
-
def
asEncoder: Encoder[A]
Gets this as an
Encoder
. -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
compact: Encoder[A]
Converts this encoder to a new encoder that compacts the generated bit vector before returning it
-
def
contramap[B](f: (B) ⇒ A): Encoder[B]
Converts this encoder to an
Encoder[B]
using the suppliedB => A
. -
def
econtramap[B](f: (B) ⇒ Attempt[A]): Encoder[B]
Converts this encoder to an
Encoder[B]
using the suppliedB => Attempt[A]
. -
def
encodeOnly: Codec[A]
Converts this to a codec that fails decoding with an error.
- def ensuring(cond: (Encoder[A]) ⇒ Boolean, msg: ⇒ Any): Encoder[A]
- def ensuring(cond: (Encoder[A]) ⇒ Boolean): Encoder[A]
- def ensuring(cond: Boolean, msg: ⇒ Any): Encoder[A]
- def ensuring(cond: Boolean): Encoder[A]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
exmap[B](f: (A) ⇒ Attempt[B], g: (B) ⇒ Attempt[A]): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
exmapc[B](f: (A) ⇒ Attempt[B])(g: (B) ⇒ Attempt[A]): Encoder[B]
Curried version of
exmap
.Curried version of
exmap
.- Implicit
- This member is added by an implicit conversion from Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- 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): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
narrowc[B](f: (A) ⇒ Attempt[B])(g: (B) ⇒ A): Encoder[B]
Curried version of
narrow
.Curried version of
narrow
.- Implicit
- This member is added by an implicit conversion from Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- 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()
-
def
pcontramap[B](f: (B) ⇒ Option[A]): Encoder[B]
Converts this encoder to an
Encoder[B]
using the supplied partial function fromB
toA
.Converts this encoder to an
Encoder[B]
using the supplied partial function fromB
toA
. The encoding will fail for anyB
thatf
maps toNone
. -
def
selectEncoder[A](implicit inj: Inject[Coproduct, A]): Encoder[A]
When called on a
Encoder[C]
whereC
is a coproduct containing typeA
, converts to anEncoder[A]
.When called on a
Encoder[C]
whereC
is a coproduct containing typeA
, converts to anEncoder[A]
.- Implicit
- This member is added by an implicit conversion from Encoder[A] to EnrichedCoproductEncoder[Coproduct] performed by method EnrichedCoproductEncoder in scodec. This conversion will take place only if A is a superclass of Coproduct (A >: Coproduct).
- Definition Classes
- EnrichedCoproductEncoder
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
widen[B](f: (A) ⇒ B, g: (B) ⇒ Attempt[A]): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
widenOpt[B](f: (A) ⇒ B, g: (B) ⇒ Option[A]): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
widenOptc[B](f: (A) ⇒ B)(g: (B) ⇒ Option[A]): Encoder[B]
Curried version of
widenOpt
.Curried version of
widenOpt
.- Implicit
- This member is added by an implicit conversion from Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
widenc[B](f: (A) ⇒ B)(g: (B) ⇒ Attempt[A]): Encoder[B]
Curried version of
widen
.Curried version of
widen
.- Implicit
- This member is added by an implicit conversion from Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
xmap[B](f: (A) ⇒ B, g: (B) ⇒ A): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
-
def
xmapc[B](f: (A) ⇒ B)(g: (B) ⇒ A): Encoder[B]
Curried version of
xmap
.Curried version of
xmap
.- Implicit
- This member is added by an implicit conversion from Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
- def →[B](y: B): (Encoder[A], B)
Shadowed Implicit Value Members
-
val
self: Encoder[Coproduct]
- Implicit
- This member is added by an implicit conversion from Encoder[A] to EnrichedCoproductEncoder[Coproduct] performed by method EnrichedCoproductEncoder in scodec. This conversion will take place only if A is a superclass of Coproduct (A >: Coproduct).
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(encoder: EnrichedCoproductEncoder[Coproduct]).self
- Definition Classes
- EnrichedCoproductEncoder
-
val
self: Encoder[A]
- Implicit
- This member is added by an implicit conversion from Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(encoder: TransformSyntax[Encoder, A]).self
- Definition Classes
- TransformSyntax
Deprecated Value Members
-
def
pxmap[B](f: (A) ⇒ B, g: (B) ⇒ Option[A]): Encoder[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 Encoder[A] to TransformSyntax[Encoder, A] performed by method TransformSyntax in scodec.
- Definition Classes
- TransformSyntax
- Annotations
- @deprecated
- Deprecated
(Since version 1.7.0) Use widenOpt instead