Package-level declarations

Types

Link copied to clipboard
class ArraySchema<T>(val elementSchema: FateSchema<T>) : FateSchema<Array<T>>
Link copied to clipboard
Link copied to clipboard
class CustomStructSchema<T : Any>(val type: String, val componentNames: List<String>, val componentSchemas: List<FateSchema<*>>, val encoder: (T) -> List<Any>) : FateSchema<T>

A flexible schema for custom serialization of objects with user-defined encoding logic.

Link copied to clipboard
Link copied to clipboard
class DynamicEnumSchema(val constantNames: List<String>) : FateSchema<String>

A schema for enums that preserves the constant names for decoding.

Link copied to clipboard
class EnumSchema<T : Enum<T>>(val enumClass: Class<out Enum<T>>) : FateSchema<Enum<T>>
Link copied to clipboard
sealed interface FateSchema<T>

Core interface for defining serialization schemas in the FateWeaver logging system.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open class ReflectedClassSchema<T : Any>(val fields: Map<String, FateSchema<*>>) : FateSchema<T>
Link copied to clipboard
Link copied to clipboard
class TranslatedSchema<T : Any, U : Any>(val baseSchema: FateSchema<U>, val toBase: (T) -> U) : FateSchema<T>

A schema for converting objects of type T to another type U during serialization.

Link copied to clipboard
class TypedClassSchema<T : Any>(val type: String, fields: Map<String, FateSchema<*>>) : ReflectedClassSchema<T>