def swap_store
bendvy-ecs-core@0.1.0.3 · component.bend:129
import bendvy-ecs-core@0.1.0.3/component.bend as Component
import Base
import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick
import column.bend as Col
129def swap_store(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column<S,C>,~put: Rest -> Col.Column<S,C> -> Store,~project: C -> C & V,+id: U32,incoming: Maybe<&1,C>,incomingPresent: Bool,tick: Tick.Tick,split: Rest & Col.Column<S,C>) -> Store & Swap<C>:
130 (rest,column) = split
131 swap_join(~S,~Store,~R,~E,~Rest,~C,~V,~Token,~take,~put,~project,rest,id,incomingPresent,tick,Col.swap(~S,~C,Col.ensure(~S,~C,column,id),id,incoming))