def validate_removal

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

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_removal_provision.bend as Provision
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

378def validate_removal(~S:Data,~C:Type,~R:Type,~P:Data,~Payload:Type,~F:Type,~H:Type,
379  ~inject:Identity.Declaration<S,Payload> -> W.Handle<S> -> Notice.Notice<S,P>,
380  ~select:Notice.Notice<S,P> -> Maybe<&2,Rm.Record<S,Identity.Declaration<S,Payload>>>,
381  ~selection:Provision.Selection<S,Payload,Notice.Notice<S,P>,inject,select>,
382  context:Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>>,
383  owner:RemovalOwner<S,Payload,Notice.Notice<S,P>,select>) -> Route.Runtime<S,C,R,Notice.Notice<S,P>,Mixed.State<S,P,F,H>> & (RemovalOwner<S,Payload,Notice.Notice<S,P>,select> & Bool):
384  match context owner:
385    case Route.Runtime{world,state,tick} RemovalOwner{+facts,reader}:
386      removal_validate_checked(~S,~C,~R,~P,~Payload,~F,~H,~inject,~select,~selection,
387        state,tick,facts,reader,registered_context(~S,~C,~R,~Notice.Notice<S,P>,world,facts))

Uses (13)

Used by (3)