def retained_journal

bendvy-ecs-core@0.1.0.4 · event_family_runtime.bend:41

import bendvy-ecs-core@0.1.0.4/event_family_runtime.bend as EventFamilyRuntime
import Base
import bendvy-ecs-core@0.1.0.4/event_runtime.bend as Ev

41def retained_journal(~P:Data,~F:Type,~retain:F -> Nat -> List<&2,P> -> F & List<&2,P>,journal:List<&2,Ev.Batch<P>>,family:F) -> F & List<&2,Ev.Batch<P>>:
42  match journal:
43    case []:(family,[])
44    case Ev.Batch{+tick,records} <> rest:kept_batch_head(~P,~F,(family => retained_journal(~P,~F,~retain,rest,family)),tick,retain(family,tick,records))

Uses (6)

Used by (1)