def entries

bendvy-ecs-core@0.1.0.4 · ordinary_app_machine_handler.bend:27

import bendvy-ecs-core@0.1.0.4/ordinary_app_machine_handler.bend as OrdinaryAppMachineHandler
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/machine_handlers.bend as H
import bendvy-ecs-core@0.1.0.4/machine_handler_bundle.bend as B

27# Describe scheduled handlers in list order while returning all actual owners.
28# Detached selector/requirements/registry fields do not execute handlers or prove
29# that requirements are satisfied. This advanced helper has no debug bypass.
30def entries(~S:Data,~K:Data,~V:Data,~Q:Data,~C:Type,~R:Type,~E:Data,~runner:W.World<S,C,R,E> -> H.Invocation<V> -> Sys.Outcome<W.World<S,C,R,E>,String,Unit>,items:List<&1,B.Scheduled<S,K,V,Q,C,R,E,runner>>) -> List<&1,B.Scheduled<S,K,V,Q,C,R,E,runner>> & List<&2,EntryView<S,K,V,Q>>:
31  match items:
32    case []:([],[])
33    case B.Scheduled{selector,requirements,H.Entry{entryId,Sys.Registry{namespace,id,name,access,cursor}}} <> rest:entries_returned(~S,~K,~V,~Q,~C,~R,~E,~runner,selector,requirements,namespace,entryId,id,name,access,cursor,entries(~S,~K,~V,~Q,~C,~R,~E,~runner,rest))

Uses (13)

Used by (1)