def snapshot
bendvy-ecs-core@0.1.0.4 · ordinary_app_composer.bend:31
import bendvy-ecs-core@0.1.0.4/ordinary_app_composer.bend as OrdinaryAppComposer
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_app_registration_fields.bend as Records
import bendvy-ecs-core@0.1.0.4/ordinary_app_observation_data.bend as DTO
31
32
33
34
35
36def snapshot(~S:Data,~World:Type,~Owners:Type,~Rows:Data,~observe:World -> World & DTO.Observation<Rows>,~fold:Owners -> Owners & List<&2,Records.Fields<S>>,app:Registered<S,World,Owners,Rows,observe,fold>) -> Registered<S,World,Owners,Rows,observe,fold> & Maybe<&2,DTO.Product<List<&2,DTO.Binding<S>>,DTO.Observation<Rows>>>:
37 match app:
38 case Registered{world,owners,recipe,False{}}:(Registered{world,owners,recipe,False{}},None{})
39 case Registered{world,owners,_,True{}}:folded(~S,~World,~Owners,~Rows,~observe,~fold,world,fold(owners))