JsonEncoder

org.sigilaris.core.codec.json.JsonEncoder
See theJsonEncoder companion trait

Attributes

Companion
trait
Source
JsonEncoder.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

object configured

Configuration-bound encoder bundles.

Configuration-bound encoder bundles.

Attributes

Source
JsonEncoder.scala
Supertypes
class Object
trait Matchable
class Any
Self type
configured.type
object ops

Provides extension methods for encoding values.

Provides extension methods for encoding values.

Attributes

Source
JsonEncoder.scala
Supertypes
class Object
trait Matchable
class Any
Self type
ops.type

Value members

Concrete methods

Summons an encoder instance for type A.

Summons an encoder instance for type A.

val stringEnc = JsonEncoder[String]

Attributes

Source
JsonEncoder.scala
inline def derived[A](using m: Of[A]): JsonEncoder[A]

Derives an encoder for type A using Scala 3 mirrors.

Derives an encoder for type A using Scala 3 mirrors.

Supports both product types (case classes) and sum types (sealed traits). Enabled via derives JsonEncoder clause.

case class Point(x: Int, y: Int) derives JsonEncoder
sealed trait Color derives JsonEncoder
case object Red  extends Color
case object Blue extends Color

Attributes

Source
JsonEncoder.scala

Inherited methods

protected def mk[A](f: (A, JsonConfig) => JsonValue): JsonEncoder[A]

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala

Givens

Inherited givens

given bigDecimalEncoder: JsonEncoder[BigDecimal]

Encodes BigDecimal as JString or JNumber depending on config.

Encodes BigDecimal as JString or JNumber depending on config.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given bigIntEncoder: JsonEncoder[BigInt]

Encodes BigInt as JString or JNumber depending on config.

Encodes BigInt as JString or JNumber depending on config.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given booleanEncoder: JsonEncoder[Boolean]

Encodes Boolean as JBool.

Encodes Boolean as JBool.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
inline given derivedProductEncoder[A](using m: ProductOf[A]): JsonEncoder[A]

Derives an encoder for product types (case classes) by encoding each field into a JObject.

Derives an encoder for product types (case classes) by encoding each field into a JObject.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
inline given derivedSumEncoder[A](using m: SumOf[A]): JsonEncoder[A]

Derives an encoder for sum types (sealed traits/enums) using wrapped-by-type-key discriminator.

Derives an encoder for sum types (sealed traits/enums) using wrapped-by-type-key discriminator.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given doubleEncoder: JsonEncoder[Double]

Encodes Double as JNumber.

Encodes Double as JNumber.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given instantEncoder: JsonEncoder[Instant]

Encodes Instant as ISO-8601 string truncated to milliseconds.

Encodes Instant as ISO-8601 string truncated to milliseconds.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given intEncoder: JsonEncoder[Int]

Encodes Int as JNumber.

Encodes Int as JNumber.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given listEncoder[A : JsonEncoder]: JsonEncoder[List[A]]

Encodes List as JArray.

Encodes List as JArray.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given longEncoder: JsonEncoder[Long]

Encodes Long as JNumber.

Encodes Long as JNumber.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given mapEncoder[K, V](using JsonKeyCodec[K], JsonEncoder[V]): JsonEncoder[Map[K, V]]

Encodes Map as JObject by converting keys with JsonKeyCodec to field names.

Encodes Map as JObject by converting keys with JsonKeyCodec to field names.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given optionEncoder[A : JsonEncoder]: JsonEncoder[Option[A]]

Encodes Option as the encoded inner value or JNull for None.

Encodes Option as the encoded inner value or JNull for None.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given stringEncoder: JsonEncoder[String]

Encodes String as JString.

Encodes String as JString.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala
given vectorEncoder[A : JsonEncoder]: JsonEncoder[Vector[A]]

Encodes Vector as JArray.

Encodes Vector as JArray.

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala