def retention

bendvy-ecs-core@0.1.0.4 · event_notice_runtime.bend:74

import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as EventNoticeRuntime
import Base
import bendvy-ecs-core@0.1.0.4/event_runtime.bend as Ev

74def retention(~P:Data,~F:Type,~retain:F -> Nat -> List<&2,P> -> F & List<&2,P>,journal:List<&2,Ev.Batch<P>>,family:F) -> Retention<P,F>:
75  match journal:
76    case []:Retention{family,[],[]}
77    case Ev.Batch{+tick,records} <> rest:retained_batch_head(~P,~F,(family => retention(~P,~F,~retain,rest,family)),tick,retained_records(~P,~F,~retain,records,family,tick))

Uses (7)

Used by (1)