galchemy/orm/result
Types
pub type Mapper(a) {
Mapper(
run: fn(Row, materializer.Materializer) -> Result(
#(a, materializer.Materializer),
MappingError,
),
)
}
Constructors
-
Mapper( run: fn(Row, materializer.Materializer) -> Result( #(a, materializer.Materializer), MappingError, ), )
pub type MappingError {
MissingScalar(name: String)
MissingEntity(table: metadata.ModelMetadata)
CodecError(codec.CodecError)
MaterializationError(materializer.MaterializationError)
}
Constructors
-
MissingScalar(name: String) -
MissingEntity(table: metadata.ModelMetadata) -
CodecError(codec.CodecError) -
MaterializationError(materializer.MaterializationError)
pub type Row {
Row(
scalars: List(ScalarField),
entities: List(materializer.RowData),
)
}
Constructors
-
Row( scalars: List(ScalarField), entities: List(materializer.RowData), )
pub type ScalarField {
ScalarField(name: String, value: expression.SqlValue)
}
Constructors
-
ScalarField(name: String, value: expression.SqlValue)
Values
pub fn entity_value(
next_metadata: metadata.ModelMetadata,
) -> Mapper(entity.Entity)
pub fn many(
mapper: Mapper(a),
rows: List(Row),
next_materializer: materializer.Materializer,
) -> Result(#(List(a), materializer.Materializer), MappingError)
pub fn one(
mapper: Mapper(a),
next_row: Row,
next_materializer: materializer.Materializer,
) -> Result(#(a, materializer.Materializer), MappingError)
pub fn row(
scalars: List(ScalarField),
entities: List(materializer.RowData),
) -> Row
pub fn scalar(
name: String,
value: expression.SqlValue,
) -> ScalarField
pub fn scalar_as(
name: String,
next_codec: codec.Codec(a),
) -> Mapper(a)
pub fn scalar_value(name: String) -> Mapper(expression.SqlValue)