def lifecycle_match

bendvy-ecs-core@0.1.0.4 · compose.bend:315

import bendvy-ecs-core@0.1.0.4/compose.bend as Compose
import Base
import column.bend as Col
import component.bend as Cmp
import transaction.bend as T

315# Compare this family slot stamp against the supplied invocation cursor and
316# return Frame with Bool. Does not project the payload or create a gameplay grant;
317# combine with membership predicates when actual presence is required.
318def lifecycle_match(~S: Data,~Store: Type,~R: Type,~E: Data,~Rest: Type,~C: Type,~V: Data,~Token: Data,~take: Store -> Rest & Col.Column<S,C>,~put: Rest -> Col.Column<S,C> -> Store,~project: C -> C & V,~family: Cmp.Family<S,Store,Rest,C,V,Token,take,put,project>,~mode: LifecycleSelection,frame: Frame<S,Store,R,E>) -> Frame<S,Store,R,E> & Bool:
319  match frame:
320    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)

Used by (4)