def observed
bendvy-ecs-core@0.1.0.3 · state.bend:23
import bendvy-ecs-core@0.1.0.3/state.bend as State
import Base
import capabilities.bend as Cap
import component.bend as C
23def observed(~H: Type,~Value: Data,~WriteError: Data,~equal: Value -> Value -> Bool,~write: Cap.Request<H,Value,WriteStatus<WriteError>>,+expected: Value,+target: Value,pair: H & C.Access<Value>) -> H & Outcome<Value,WriteError>:
24 match pair:
25 case (owner,C.Found{+actual}): apply(~H,~Value,~WriteError,~write,expected,target,actual,owner,equal(actual,expected))
26 case (owner,C.ComponentAbsent{}): (owner,StateAccessRejected{C.ComponentAbsent{}})
27 case (owner,C.MissingEntity{}): (owner,StateAccessRejected{C.MissingEntity{}})