def swapped

bendvy-ecs-core@0.1.0.3 · execution_recoverable_component.bend:28

import bendvy-ecs-core@0.1.0.3/execution_recoverable_component.bend as ExecutionRecoverableComponent
import Base
import bendvy-ecs-core@0.1.0.3/chunk_column.bend as Column
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
import bendvy-ecs-core@0.1.0.3/lifecycle.bend as Life

28def swapped(~S:Data,~layout:Layout.Layout,~route:Layout.Route,index:U32,prior:Life.Stamp,saved:Maybe<&2,Life.Stamp>,result:Column.SwapOutcome<S,Layout.stored(layout,route)>) -> Column.Column<S,Layout.stored(layout,route)> & Exchange<Layout.payload(layout,route)>:
29  match result:
30    case Column.Accepted{column,previous}:(restore_optional(~S,~Layout.stored(layout,route),column,index,saved),Exchanged{prior,unpacked(~Layout.payload(layout,route),~Layout.view(layout,route),previous)})
31    case Column.Rejected{column,incoming}:(column,ExchangeRefused{unpacked(~Layout.payload(layout,route),~Layout.view(layout,route),incoming)})

Uses (15)

Used by (1)