galchemy/orm/codec
Types
pub type Codec(a) {
Codec(
encode: fn(a) -> expression.SqlValue,
decode: fn(expression.SqlValue) -> Result(a, CodecError),
)
}
Constructors
-
Codec( encode: fn(a) -> expression.SqlValue, decode: fn(expression.SqlValue) -> Result(a, CodecError), )
pub type CodecError {
UnexpectedType(expected: String, actual: String)
Custom(message: String)
}
Constructors
-
UnexpectedType(expected: String, actual: String) -
Custom(message: String)
Values
pub fn codec(next_custom_codec: CustomCodec(a)) -> Codec(a)
pub fn custom(
encoder: fn(a) -> expression.SqlValue,
decoder: fn(expression.SqlValue) -> Result(a, CodecError),
) -> Codec(a)
pub fn date() -> Codec(calendar.Date)
pub fn decode(
next_codec: Codec(a),
value: expression.SqlValue,
) -> Result(a, CodecError)
pub fn define(
sql_type_name: String,
next_codec: Codec(a),
) -> CustomCodec(a)
pub fn encode(
next_codec: Codec(a),
value: a,
) -> expression.SqlValue
pub fn enum_(enum_type_name: String) -> CustomCodec(String)
pub fn map(
base: Codec(a),
decoder_map: fn(a) -> Result(b, CodecError),
encoder_map: fn(b) -> a,
) -> Codec(b)
pub fn nullable(inner: Codec(a)) -> Codec(option.Option(a))
pub fn sql_type_name(next_custom_codec: CustomCodec(a)) -> String
pub fn time_of_day() -> Codec(calendar.TimeOfDay)
pub fn timestamp() -> Codec(timestamp.Timestamp)
pub fn value(
next_codec: Codec(a),
inner: a,
) -> expression.Expression