DeclaredFamily.split: def of bendvy-ecs-core@0.1.0.4 Import: import bendvy-ecs-core@0.1.0.4/declared_family.bend as DeclaredFamily Lines 10-14 of bendvy-ecs-core@0.1.0.4/declared_family.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.4/declared_family.bend&start_line=10&end_line=14 import Base 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/snapshot_leaf.bend as Leaf 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 # Closed trusted schema lenses, as in existing component.Family. The retained # recipe becomes part of Family's Rest and survives ordinary column operations. def split(~S:Data,~P:Type,~Rest:Type,~identity:Identity.Declaration,~save:P -> P & D.Raw,observed:Rest & Leaf.Component) -> (Rest & Decl.Constructed) & Col.Column: match observed: case (rest,Leaf.Component{column,declaration}):((rest,declaration),column) Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/column.bend&name=Column https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/decode_data.bend&name=Raw https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend&name=Declaration https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/persistence_declaration.bend&name=Constructed https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/snapshot_leaf.bend&name=Component