galchemy/orm/materializer

Types

pub type MaterializationError {
  RegistryError(mapper_registry.RegistryError)
  EntityError(entity.EntityError)
  IdentityMapError(identity_map.IdentityMapError)
}

Constructors

pub type MaterializationHookError(hook_error) {
  MaterializationError(MaterializationError)
  HookError(hook_error)
}

Constructors

pub type Materializer {
  Materializer(
    registry: mapper_registry.MapperRegistry,
    identities: identity_map.IdentityMap,
  )
}

Constructors

pub type RowData {
  RowData(
    table: relation.TableRef,
    fields: List(unit_of_work.FieldValue),
  )
}

Constructors

Values

pub fn identity_map(
  materializer: Materializer,
) -> identity_map.IdentityMap
pub fn materialize(
  materializer: Materializer,
  row_data: RowData,
) -> Result(#(entity.Entity, Materializer), MaterializationError)
pub fn materialize_many(
  materializer: Materializer,
  rows: List(RowData),
) -> Result(
  #(List(entity.Entity), Materializer),
  MaterializationError,
)
pub fn materialize_many_with_hooks(
  materializer: Materializer,
  rows: List(RowData),
  hooks: hook.EntityHooks(hook_error),
) -> Result(
  #(List(entity.Entity), Materializer),
  MaterializationHookError(hook_error),
)
pub fn materialize_with_hooks(
  materializer: Materializer,
  row_data: RowData,
  hooks: hook.EntityHooks(hook_error),
) -> Result(
  #(entity.Entity, Materializer),
  MaterializationHookError(hook_error),
)
pub fn registry(
  materializer: Materializer,
) -> mapper_registry.MapperRegistry
pub fn row(
  schema_name: String,
  table_name: String,
  fields: List(unit_of_work.FieldValue),
) -> RowData
Search Document