def insertion_stream

bendvy-ecs-core@0.1.0.4 · ordinary_machine_initialization.bend:42

import bendvy-ecs-core@0.1.0.4/ordinary_machine_initialization.bend as OrdinaryMachineInitialization
import Base
import bendvy-ecs-core@0.1.0.4/machine.bend as M
import bendvy-ecs-core@0.1.0.4/machine_stream.bend as St

42# Recreating an absent State appends; only occupied insert_state clears messages.
43def insertion_stream(~S:Data,~K:Data,~V:Data,old:M.Slot<S,K,V>,stream:St.Stream<V>,tick:Nat,value:V) -> St.Stream<V>:
44  match old:
45    case M.Missing{}:St.publish(~V,stream,tick,M.Initial{value})
46    case _:St.initial(~V,stream,tick,value)

Uses (6)

Used by (1)