galchemy/orm/codec

Types

pub type Codec(a) {
  Codec(
    encode: fn(a) -> expression.SqlValue,
    decode: fn(expression.SqlValue) -> Result(a, CodecError),
  )
}

Constructors

pub type CodecError {
  UnexpectedType(expected: String, actual: String)
  Custom(message: String)
}

Constructors

  • UnexpectedType(expected: String, actual: String)
  • Custom(message: String)
pub type CustomCodec(a) {
  CustomCodec(sql_type_name: String, codec: Codec(a))
}

Constructors

  • CustomCodec(sql_type_name: String, codec: Codec(a))

Values

pub fn array(inner: Codec(a)) -> Codec(List(a))
pub fn bool() -> Codec(Bool)
pub fn bytea() -> Codec(BitArray)
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 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 float() -> Codec(Float)
pub fn int() -> Codec(Int)
pub fn json() -> Codec(String)
pub fn jsonb() -> Codec(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 numeric() -> Codec(String)
pub fn sql_type_name(next_custom_codec: CustomCodec(a)) -> String
pub fn text() -> Codec(String)
pub fn uuid() -> Codec(String)
pub fn value(
  next_codec: Codec(a),
  inner: a,
) -> expression.Expression
Search Document