def split
bendvy-ecs-core@0.1.0.4 · declared_family.bend:10
import bendvy-ecs-core@0.1.0.4/declared_family.bend as DeclaredFamily
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
10
11
12def split(~S:Data,~P:Type,~Rest:Type,~identity:Identity.Declaration<S,P>,~save:P -> P & D.Raw,observed:Rest & Leaf.Component<S,P,identity,save>) -> (Rest & Decl.Constructed<S,P,identity,save>) & Col.Column<S,P>:
13 match observed:
14 case (rest,Leaf.Component{column,declaration}):((rest,declaration),column)