def opened

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

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

89def opened(~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>,registry:Sys.Registry<S,C,R,E,Input<V,A>,Error,Out,callback>,world:W.World<S,C,R,E>,args:A,tick:Nat,result:St.OpenResult<S,K,V>) -> 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>:
90  match result:
91    case St.ReaderRefused{reader,stream}:ReadRejected{stream_set(~S,~V,~C,~R,~E,~put,world,stream),SI.Instance{Cleanup.Instance{registry,reader}},args}
92    case St.Opened{reader,stream,+reading}:callback_result(~S,~K,~V,~C,~R,~E,~A,~Error,~Out,~take,~put,~callback,reading,tick,SI.run(~S,~C,~R,~E,~Input<V,A>,~Error,~Out,~callback,~St.Reader<S,K>,~validate(~S,~K),~remove(~S,~K,~V,~C,~R,~E,~take,~put),SI.Instance{Cleanup.Instance{registry,reader}},stream_set(~S,~V,~C,~R,~E,~put,world,stream),Input{reading,args}))

Uses (18)

Used by (1)