def swapped

bendvy-ecs-core@0.1.0.4 · recoverable_array_owner.bend:27

import bendvy-ecs-core@0.1.0.4/recoverable_array_owner.bend as RecoverableArrayOwner
import Base
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/recoverable_array.bend as A
import bendvy-ecs-core@0.1.0.4/recovery_journal.bend as Journal

27def swapped(~State:Type,~P:Type,~Rest:Type,~lens:Product.Lens<State,Array<P>,Rest>,~Recovery:Type,~ReleasedRest:Type,~release:Product.Lens<Recovery,List<A.Record<P>>,ReleasedRest>,rest:Rest,+index:U32,journal:List<Journal.Action(~State,~Recovery)>,result:Array<P> & P) -> State & List<Journal.Action(~State,~Recovery)>:
28  match result:
29    case (array,old):record(~State,~P,~Rest,~lens,~Recovery,~ReleasedRest,~release,Product.put_field(~State,~Array<P>,~Rest,lens)(rest,array),journal,A.Swapped{index,old})

Uses (10)

Used by (1)