Encoders

org.sigilaris.core.codec.json.JsonEncoder.configured.Encoders
final class Encoders(val config: JsonConfig) extends JsonEncoderInstances

Factory for encoder bundles bound to a specific JsonConfig.

Use this to override default behavior like field naming or null handling.

val cfg = JsonConfig.default.copy(dropNullValues = false)
given JsonEncoder.configured.Encoders = JsonEncoder.configured(cfg)
import JsonEncoder.ops.*

Attributes

Source
JsonEncoder.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Inherited methods

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

Attributes

Inherited from:
JsonEncoderInstances
Source
JsonEncoder.scala

Concrete fields

Attributes

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