def component_restored

bendvy-ecs-core@0.1.0.4 · snapshot_leaf.bend:23

import bendvy-ecs-core@0.1.0.4/snapshot_leaf.bend as SnapshotLeaf
import Base
import bendvy-ecs-core@0.1.0.4/persistence_declaration.bend as Decl
import bendvy-ecs-core@0.1.0.4/snapshot_gate.bend as Gate
import bendvy-ecs-core@0.1.0.4/decode_data.bend as D
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Canonical

23def component_restored(~S:Data,~P:Type,~identity:Canonical.Declaration<S,P>,~project:P -> P & D.Raw,declaration:Decl.Constructed<S,P,identity,project>,observed:Col.Column<S,P> & Maybe<&2,Gate.Field>) -> Component<S,P,identity,project> & List<&2,D.Field>:
24  match observed:
25    case (column,None{}):(Component{column,declaration},[])
26    case (column,Some{field}):(Component{column,declaration},fields(field))

Uses (12)

Used by (1)