def undo

bendvy-ecs-core@0.1.0.4 · recoverable_component_family.bend:39

import bendvy-ecs-core@0.1.0.4/recoverable_component_family.bend as RecoverableComponentFamily
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/component.bend as C
import bendvy-ecs-core@0.1.0.4/recoverable_component.bend as RC

39def undo(~S:Data,~Store:Type,~R:Type,~E:Data,~Rest:Type,~P:Type,~V:Data,~Token:Data,~take:Store -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> Store,~view:P -> P & V,~family:C.Family<S,Store,Rest,P,V,Token,take,put,view>,record:RC.Record<S,P>,world:W.World<S,Store,R,E>) -> W.World<S,Store,R,E> & RC.Record<S,P>:
40  match record:
41    case RC.Record{+handle,stamp,payload}:undo_checked(~S,~Store,~R,~E,~Rest,~P,~V,~Token,~take,~put,~view,RC.Record{handle,stamp,payload},W.valid(~S,~Store,~R,~E,world,handle))

Uses (7)

Used by (1)