def components

bendvy-ecs-core@0.1.0.4 · restore_storage.bend:37

import bendvy-ecs-core@0.1.0.4/restore_storage.bend as RestoreStorage
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
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
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/decode_data.bend as D

37def components(~S:Data,~Context:Type,~I:Type,~P:Type,~identity:Identity.Declaration<S,P>,~project:P -> P & D.Raw,owner:Leaf.Component<S,P,identity,project>,state:Stage.State<Context,I,P>,bindings:List<&2,R.Binding<S>>,tick:Tick.Tick) -> Leaf.Component<S,P,identity,project> & Stage.State<Context,I,P>:
38  match owner state:
39    case Leaf.Component{column,declaration} Stage.State{context,records,returned,removed,applied}:component_join(~S,~Context,~I,~P,~identity,~project,declaration,component_records(~S,~Context,~I,~P,List.reverse(&1,Stage.Record<I,P>,records),Stage.State{context,[],returned,removed,applied},column,bindings,tick))

Uses (12)

Used by (1)