def slot_observed

bendvy-ecs-core@0.1.0.4 · ordinary_service_declaration.bend:43

import bendvy-ecs-core@0.1.0.4/ordinary_service_declaration.bend as OrdinaryServiceDeclaration
import Base

43def slot_observed(~S:Data,~R:Type,~P:Type,~Rest:Type,~take:R -> Rest & Slot<P>,~put:Rest -> Slot<P> -> R,~call:P -> P,declaration:Declaration<S,R,P,Rest,take,put,call>,value:Rest & Slot<P>) -> R & Status<S>:
44  match declaration value:
45    case Declaration{+id,+key}, (rest,Missing{}):(put(rest,Missing{}),Status{id,key,False{}})
46    case Declaration{+id,+key}, (rest,BendvyReady{owner}):(put(rest,BendvyReady{owner}),Status{id,key,True{}})

Uses (6)

Used by (1)