def opened

bendvy-ecs-core@0.1.0.4 · ordinary_machine_initialization_marker.bend:55

import bendvy-ecs-core@0.1.0.4/ordinary_machine_initialization_marker.bend as OrdinaryMachineInitializationMarker
import Base
import bendvy-ecs-core@0.1.0.4/ordinary_machine_initialization.bend as Init
import bendvy-ecs-core@0.1.0.4/machine_stream.bend as St
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/event_runtime.bend as Ev

55def opened(~S:Data,~K:Data,~V:Data,~R:Type,~take:R -> R & Init.State<S,K,V>,~put:R -> Init.State<S,K,V> -> R,~C:Type,~E:Data,world:W.World<S,C,R,E>,+tick:Nat,result:St.OpenResult<S,K,V>) -> Opening<S,K,V,C,R,E>:
56  match result:
57    case St.ReaderRefused{reader,stream}:OpenRejected{stream_put(~S,~K,~V,~R,~take,~put,~C,~E,world,stream),reader}
58    case St.Opened{reader,stream,Ev.Reading{values,_}}:opened_finished(~S,~K,~V,~R,~take,~put,~C,~E,world,last(~V,values,None{}),tick,St.finish(~S,~K,~V,reader,stream,tick,True{}))

Uses (13)

Used by (2)