def snapshot

bendvy-ecs-core@0.1.0.4 · ordinary_app_stream.bend:63

import bendvy-ecs-core@0.1.0.4/ordinary_app_stream.bend as OrdinaryAppStream
import Base
import bendvy-ecs-core@0.1.0.4/inspector_transition_projection.bend as T
import bendvy-ecs-core@0.1.0.4/inspector_failure_projection.bend as Fail
import bendvy-ecs-core@0.1.0.4/machine_stream.bend as St

63# Return App and optional stream Description. Disabled returns None before either
64# projection. Enabled uses read_app without advancing cursor, running gameplay or
65# flushing commands. Failure view filters its declaration relation, not all shared
66# Notice payloads. See inspector-transition/failure-projection.bend.
67def snapshot(~S:Data,~K:Data,~V:Data,~C:Type,~R:Type,~E:Data,~H:Type,~take:R -> R & St.Stream<V>,~transition:T.Declaration<S,K,V,R,take>,~failure:Fail.Declaration<S>,app:Application<S,K,V,C,R,E,H,take,transition,failure>) -> Application<S,K,V,C,R,E,H,take,transition,failure> & Maybe<&2,Description<S,K,V,E>>:
68  match app:
69    case Application{runtime,owners,cursor,False{}}:(Application{runtime,owners,cursor,False{}},None{})
70    case Application{runtime,owners,cursor,True{}}:snapshot_read(~S,~K,~V,~C,~R,~E,~H,~take,~transition,~failure,read_app(~S,~K,~V,~C,~R,~E,~H,~take,~transition,~failure,Application{runtime,owners,cursor,True{}}))

Uses (11)

Used by (0)

No other definition uses this definition.