def removal_prepared

bendvy-ecs-core@0.1.0.4 · ordinary_reader_stream_parameter.bend:389

import bendvy-ecs-core@0.1.0.4/ordinary_reader_stream_parameter.bend as OrdinaryReaderStreamParameter
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/event_family_routing.bend as Route
import bendvy-ecs-core@0.1.0.4/event_notice_runtime.bend as Mixed
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as Notice
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/removals.bend as Rm

389def removal_prepared(~S:Data,~C:Type,~R:Type,~P:Data,~Payload:Type,~F:Type,~H:Type,
390  ~select:Notice.Notice<S,P> -> Maybe<&2,Rm.Record<S,Identity.Declaration<S,Payload>>>,
391  state:Mixed.State<S,P,F,H>,tick:Nat,owner:RemovalOwner<S,Payload,Notice.Notice<S,P>,select>,
392  observed:W.World<S,C,R,Notice.Notice<S,P>> & List<&2,Notice.Notice<S,P>>) -> Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>> & (RemovalOwner<S,Payload,Notice.Notice<S,P>,select> & (RemovalView<S,Payload> & Nat)):
393  match owner:
394    case RemovalOwner{facts,reader}:
395      match reader:
396        case Rm.Reader{namespace,id,name,+cursor}:
397          match observed:
398            case (world,+values):
399              +records=Rm.since(~S,~Notice.Notice<S,P>,~Identity.Declaration<S,Payload>,~select,values,cursor)
400              (Route.Runtime{world,state,tick},
401                (RemovalOwner{facts,Rm.Reader{namespace,id,name,cursor}},
402                 (RemovalView{records},Rm.count(~Notice.Notice<S,P>,values))))

Uses (16)

Used by (1)