def transient_cleared

bendvy-ecs-core@0.1.0.4 · restore_clear.bend:21

import bendvy-ecs-core@0.1.0.4/restore_clear.bend as RestoreClear
import Base
import bendvy-ecs-core@0.1.0.4/restore_data.bend as R
import bendvy-ecs-core@0.1.0.4/snapshot_leaf.bend as Leaf
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/persistence_declaration.bend as Decl
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/world.bend as W

21def transient_cleared(~S:Data,~P:Type,~identity:Identity.Declaration<S,P>,declaration:Decl.Transient<S,P,identity>,+handle:W.Handle<S>,observed:Col.SwapOutcome<S,P>) -> Leaf.TransientComponent<S,P,identity> & List<&2,R.Change<S>>:
22  match observed:
23    case Col.Accepted{column,Some{owner}}:(Leaf.TransientComponent{column,declaration},[R.Removed{handle,Identity.key(~S,~P,identity)}])
24    case Col.Accepted{column,None{}}:(Leaf.TransientComponent{column,declaration},[])
25    case Col.Rejected{column,_}:(Leaf.TransientComponent{column,declaration},[])

Uses (11)

Used by (1)