def namespaced

bendvy-ecs-core@0.1.0.4 · ordinary_machine_transition_reader.bend:104

import bendvy-ecs-core@0.1.0.4/ordinary_machine_transition_reader.bend as OrdinaryMachineTransitionReader
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/system_instance.bend as SI
import bendvy-ecs-core@0.1.0.4/system_cleanup.bend as Cleanup
import bendvy-ecs-core@0.1.0.4/machine_stream.bend as St

104def namespaced(~S:Data,~K:Data,~V:Data,~C:Type,~R:Type,~E:Data,~A:Type,~Error:Data,~Out:Type,~take:R -> R & St.Stream<V>,~put:R -> St.Stream<V> -> R,~callback:W.World<S,C,R,E> -> Input<V,A> -> Sys.Outcome<W.World<S,C,R,E>,Error,Out>,reader:instance_type(~S,~K,~V,~C,~R,~E,~A,~Error,~Out,~take,~put,~callback),args:A,result:W.World<S,C,R,E> & U32) -> ReadResult<W.World<S,C,R,E>,instance_type(~S,~K,~V,~C,~R,~E,~A,~Error,~Out,~take,~put,~callback),A,Error,Out,V>:
105  match reader result:
106    case SI.Instance{Cleanup.Instance{Sys.Registry{+namespace,+id,+name,+access,cursor},St.Reader{+owner,+key}}}, (world,actual):checked(~S,~K,~V,~C,~R,~E,~A,~Error,~Out,~take,~put,~callback,Bool.and(U32.is_eq(namespace,actual),Bool.and(U32.is_eq(owner,namespace),U32.is_eq(key,id))),SI.Instance{Cleanup.Instance{Sys.Registry{namespace,id,name,access,cursor},St.Reader{owner,key}}},args,W.registration_matches(~S,~C,~R,~E,world,id,name,access))

Uses (17)

Used by (1)