Component.swap_join: def of bendvy-ecs-core@0.1.0.3 Import: import bendvy-ecs-core@0.1.0.3/component.bend as Component Lines 124-127 of bendvy-ecs-core@0.1.0.3/component.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.3/component.bend&start_line=124&end_line=127 import Base import bendvy-ecs-core@0.1.0.3/change_tick.bend as Tick import column.bend as Col def swap_join(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column,~put: Rest -> Col.Column -> Store,~project: C -> C & V,rest: Rest,+id: U32,incoming: Bool,tick: Tick.Tick,result: Col.SwapOutcome) -> Store & Swap: match result: case Col.Accepted{column,previous}: mark_swapped(~S,~Store,~R,~E,~Rest,~C,~V,~Token,~take,~put,~project,rest,column,id,incoming,tick,owner_present(~C,previous)) case Col.Rejected{column,incoming}: (put(rest,column),SwapRejected{incoming}) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/change_tick.bend&name=Tick https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/column.bend&name=Column https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/column.bend&name=SwapOutcome https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/component.bend&name=Swap https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/component.bend&name=mark_swapped https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.3/component.bend&name=owner_present