trait JsoniterCodecCompiler extends CachedSchemaCompiler[JsonCodec]
A codec compiler that produces jsoniter's JsonCodec
- Alphabetic
- By Inheritance
- JsoniterCodecCompiler
- CachedSchemaCompiler
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type Cache
- Definition Classes
- CachedSchemaCompiler
Abstract Value Members
- abstract def createCache(): Cache
- Definition Classes
- CachedSchemaCompiler
- abstract def fromSchema[A](schema: schema.Schema[A], cache: Cache): JsonCodec[A]
- Definition Classes
- CachedSchemaCompiler
- abstract def fromSchema[A](schema: schema.Schema[A]): JsonCodec[A]
- Definition Classes
- CachedSchemaCompiler
- abstract def withFieldFilter(fieldFilter: FieldFilter): JsoniterCodecCompiler
Configures the JSON encoder to use a custom smithy4s.schema.FieldFilter, allowing fine-grained control over which fields should be skipped during encoding.
Configures the JSON encoder to use a custom smithy4s.schema.FieldFilter, allowing fine-grained control over which fields should be skipped during encoding.
- fieldFilter
an instance of smithy4s.schema.FieldFilter responsible for determining whether a given field should be rendered.
- returns
a new instance of JsoniterCodecCompiler with the specified field skipping behavior.
- abstract def withFlexibleCollectionsSupport(flexibleCollectionsSupport: Boolean): JsoniterCodecCompiler
Changes the behaviour of Json decoders so that they overlook null values in collections and maps.
Changes the behaviour of Json decoders so that they overlook null values in collections and maps. This behaviour has a performance overhead.
Defaults to false
- abstract def withHintMask(hintMask: HintMask): JsoniterCodecCompiler
Changes the hint mask with which the decoder works.
Changes the hint mask with which the decoder works. Depending on the hint mask, some smithy traits may be overlooked during encoding/decoding. For instance,
@jsonName. - abstract def withInfinitySupport(infinitySupport: Boolean): JsoniterCodecCompiler
Changes the behaviour of Json decoders so that they can parse Infinity/NaN values.
Changes the behaviour of Json decoders so that they can parse Infinity/NaN values. This behaviour has a performance overhead.
- abstract def withLenientNumericDecoding: JsoniterCodecCompiler
Enables lenient decoding of numeric values, where numbers may be carried by JSON strings as well as JSON numbers.
- abstract def withLenientTaggedUnionDecoding: JsoniterCodecCompiler
Enables lenient decoding of tagged unions, where unset alternatives are encoded as null values in the json payload.
Enables lenient decoding of tagged unions, where unset alternatives are encoded as null values in the json payload. Also ignores unrecognised union keys.
- abstract def withMaxArity(max: Int): JsoniterCodecCompiler
Changes the behaviour of the decoders so that they fail after a certain number of elements when decoding arrays and maps.
Changes the behaviour of the decoders so that they fail after a certain number of elements when decoding arrays and maps. This allows to protect against some DDOS attacks.
Defaults to 1024.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def contramapSchema(fk: PolyFunction[schema.Schema, schema.Schema]): CachedSchemaCompiler[JsonCodec]
- Definition Classes
- CachedSchemaCompiler
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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
- final def mapK[F0[x] >: JsonCodec[x], G[_]](fk: PolyFunction[F0, G]): CachedSchemaCompiler[G]
- Definition Classes
- CachedSchemaCompiler
- 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()
- 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(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()