JsonEncoderInstances

org.sigilaris.core.codec.json.JsonEncoderInstances

Shared provider of JSON encoder instances parameterized by JsonConfig.

Subclassed by JsonEncoder (default config) and JsonEncoder.configured.Encoders (custom config).

Attributes

Source
JsonEncoder.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Encoders
object JsonEncoder

Members list

Value members

Abstract methods

protected def config: JsonConfig

Attributes

Source
JsonEncoder.scala

Concrete methods

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

Attributes

Source
JsonEncoder.scala

Givens

Givens

given bigDecimalEncoder: JsonEncoder[BigDecimal]

Encodes BigDecimal as JString or JNumber depending on config.

Encodes BigDecimal as JString or JNumber depending on config.

Attributes

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

Source
JsonEncoder.scala
given booleanEncoder: JsonEncoder[Boolean]

Encodes Boolean as JBool.

Encodes Boolean as JBool.

Attributes

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

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

Source
JsonEncoder.scala
given doubleEncoder: JsonEncoder[Double]

Encodes Double as JNumber.

Encodes Double as JNumber.

Attributes

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

Source
JsonEncoder.scala
given intEncoder: JsonEncoder[Int]

Encodes Int as JNumber.

Encodes Int as JNumber.

Attributes

Source
JsonEncoder.scala
given listEncoder[A : JsonEncoder]: JsonEncoder[List[A]]

Encodes List as JArray.

Encodes List as JArray.

Attributes

Source
JsonEncoder.scala
given longEncoder: JsonEncoder[Long]

Encodes Long as JNumber.

Encodes Long as JNumber.

Attributes

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

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

Source
JsonEncoder.scala
given stringEncoder: JsonEncoder[String]

Encodes String as JString.

Encodes String as JString.

Attributes

Source
JsonEncoder.scala
given vectorEncoder[A : JsonEncoder]: JsonEncoder[Vector[A]]

Encodes Vector as JArray.

Encodes Vector as JArray.

Attributes

Source
JsonEncoder.scala