def resource_record
bendvy-ecs-core@0.1.0.4 · restore_storage.bend:40
import bendvy-ecs-core@0.1.0.4/restore_storage.bend as RestoreStorage
import Base
import bendvy-ecs-core@0.1.0.4/restore_data.bend as R
import bendvy-ecs-core@0.1.0.4/restore_leaf.bend as Stage
40def resource_record(~Context:Type,~I:Type,~P:Type,record:Stage.Record<I,P>,state:Stage.State<Context,I,P>,previous:P) -> P & Stage.State<Context,I,P>:
41 match record state:
42 case Stage.Record{R.Resource{},owner,undo} Stage.State{context,records,returned,removed,applied}:(owner,Stage.State{context,records,returned,previous <> removed,Stage.Applied{R.Resource{},undo} <> applied})
43 case record Stage.State{context,records,returned,removed,applied}:(previous,Stage.State{context,record <> records,returned,removed,applied})