def set

bendvy-ecs-core@0.1.0.4 · ordinary_owned_event_family_resource.bend:23

import bendvy-ecs-core@0.1.0.4/ordinary_owned_event_family_resource.bend as OrdinaryOwnedEventFamilyResource
import Base
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/resource_field.bend as Field

23# Advanced transactional replacement of only user resource R, retaining
24# affine Logs as siblings. Consumes replacement and returns the row owner;
25# journal rollback restores the displaced resource, without exposing log writes.
26def set(~S:Data,~C:Type,~R:Type,~Logs:Type,~E:Data,owner:Q.Frame<S,C,Product.Owner<R,Logs>,E>,replacement:R) -> Q.Frame<S,C,Product.Owner<R,Logs>,E>:
27  match owner:
28    case Q.Frame{tx,handle,error,cursor}:Q.Frame{Field.tx_set(~S,~C,~Product.Owner<R,Logs>,~E,~R,~Logs,~lens(~R,~Logs),tx,replacement),handle,error,cursor}

Uses (4)

Used by (2)