def settle_facts

bendvy-ecs-core@0.1.0.3 · trace_facts.bend:86

import bendvy-ecs-core@0.1.0.3/trace_facts.bend as TraceFacts
import Base

86def settle_facts(facts:List<&2,Fact>,+committed:Bool) -> List<&2,Fact>:
87  match facts:
88    case []:[]
89    case ReaderFact{namespace,id,name,readerId,domain,lagged} <> rest:ReaderFact{namespace,id,name,readerId,domain,lagged} <> settle_facts(rest,committed)
90    case BoundaryFact{boundary} <> rest:BoundaryFact{boundary} <> settle_facts(rest,committed)
91    case Fact{category,key,operation,subject,before,after,result} <> rest:Fact{category,key,operation,subject,before,after,settled_result(result,committed)} <> settle_facts(rest,committed)
92    case RelationFact{identity,operation,source,action,result} <> rest:RelationFact{identity,operation,source,action,settled_result(result,committed)} <> settle_facts(rest,committed)
93    case HandlerFact{namespace,id,name,ordinal,phase,from,to,result} <> rest:HandlerFact{namespace,id,name,ordinal,phase,from,to,settled_result(result,committed)} <> settle_facts(rest,committed)
94    case TransitionFact{key,from,to,result} <> rest:TransitionFact{key,from,to,settled_result(result,committed)} <> settle_facts(rest,committed)

Uses (4)

Used by (1)