def inserted

bendvy-ecs-core@0.1.0.4 · restore_storage.bend:13

import bendvy-ecs-core@0.1.0.4/restore_storage.bend as RestoreStorage
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/restore_data.bend as R
import bendvy-ecs-core@0.1.0.4/restore_leaf.bend as Stage
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/world.bend as W

13def inserted(~S:Data,~Context:Type,~I:Type,~P:Type,+position:R.Position,undo:P -> I,context:Context,records:List<Stage.Record<I,P>>,returned:List<I>,removed:List<P>,applied:List<Stage.Applied<I,P>>,+target:W.Handle<S>,tick:Tick.Tick,result:Col.SwapOutcome<S,P>) -> Col.Column<S,P> & Stage.State<Context,I,P>:
14  match result:
15    case Col.Accepted{column,None{}}:(Col.mark(~S,~P,column,W.handle_index(~S,target),True{},False{},tick),Stage.State{context,records,returned,removed,Stage.Applied{position,undo} <> applied})
16    case Col.Accepted{column,Some{old}}:(Col.mark(~S,~P,column,W.handle_index(~S,target),True{},True{},tick),Stage.State{context,records,returned,old <> removed,Stage.Applied{position,undo} <> applied})
17    case Col.Rejected{column,Some{owner}}:(column,Stage.State{context,Stage.Record{position,owner,undo} <> records,returned,removed,applied})
18    case Col.Rejected{column,None{}}:(column,Stage.State{context,records,returned,removed,Stage.Applied{position,undo} <> applied})

Uses (15)

Used by (1)