def layout_entries
bendvy-ecs-core@0.1.0.3 · execution_composer_schema.bend:24
import bendvy-ecs-core@0.1.0.3/execution_composer_schema.bend as ExecutionComposerSchema
import Base
import bendvy-ecs-core@0.1.0.3/schema_fragments.bend as Fragment
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
24def layout_entries(~S:Data,+kind:Fragment.RegistryKind,layout:Layout.Layout) -> List<&2,Fragment.Entry<S>>:
25 match layout:
26 case Layout.EmptyLayout{}:[]
27 case Layout.LayoutLeaf{_,_,_,+key,_}:[Fragment.Entry{kind,key,key}]
28 case Layout.ClassifiedLayoutLeaf{_,_,_,+key,persistence,_}:[Fragment.Classified{kind,key,key,persistence}]
29 case Layout.LayoutPair{left,right}:List.append(&2,Fragment.Entry<S>,layout_entries(~S,kind,left),layout_entries(~S,kind,right))