def constructed

bendvy-ecs-core@0.1.0.4 · restore_leaf.bend:21

import bendvy-ecs-core@0.1.0.4/restore_leaf.bend as RestoreLeaf
import Base
import bendvy-ecs-core@0.1.0.4/restore_data.bend as R
import bendvy-ecs-core@0.1.0.4/decode_construction.bend as Constructor
import bendvy-ecs-core@0.1.0.4/bundle_construction.bend as Build

21def constructed(~Context:Type,~I:Type,~P:Type,~Custom:Data,position:R.Position,records:List<Record<I,P>>,returned:List<I>,removed:List<P>,applied:List<Applied<I,P>>,context:Context,result:Build.Construction<I,P,Constructor.Error<Custom>>) -> State<Context,I,P> & R.Dispatch<Custom>:
22  match result:
23    case Build.Invalid{owner,error}:(State{context,records,List.append(&1,I,returned,[owner]),removed,applied},R.Rejected{error})
24    case Build.Constructed{owner,undo}:(State{context,Record{position,owner,undo} <> records,returned,removed,applied},R.Staged{})

Uses (11)

Used by (1)