Compose.lifecycle_match: def of bendvy-ecs-core@0.1.0.4 Import: import bendvy-ecs-core@0.1.0.4/compose.bend as Compose Lines 315-320 of bendvy-ecs-core@0.1.0.4/compose.bend: https://jend.leeeet.dev/read.txt?path=bendvy-ecs-core@0.1.0.4/compose.bend&start_line=315&end_line=320 import Base import column.bend as Col import component.bend as Cmp import transaction.bend as T # Compare this family slot stamp against the supplied invocation cursor and # return Frame with Bool. Does not project the payload or create a gameplay grant; # combine with membership predicates when actual presence is required. def lifecycle_match(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column,~put: Rest -> Col.Column -> Store,~project: C -> C & V,~family: Cmp.Family,~mode: LifecycleSelection,frame: Frame) -> Frame & Bool: match frame: case Frame{T.Tx{world,undo,commands,events,trace},+handle,error,cursor}: lifecycle_join(~S,~Store,~R,~E,~mode,handle,error,cursor,undo,commands,events,trace,Cmp.lifecycle(~S,~Store,~R,~E,~Rest,~C,~V,~Token,~take,~put,~project,family,world,handle)) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair 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/component.bend&name=Family https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/component.bend&name=lifecycle https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/compose.bend&name=Frame https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/compose.bend&name=LifecycleSelection https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/compose.bend&name=lifecycle_join https://jend.leeeet.dev/definition.txt?path=bendvy-ecs-core@0.1.0.4/transaction.bend&name=Tx