def provider_disposal_result

bendvy-ecs-core@0.1.0.4 · ordinary_reader_system.bend:147

import bendvy-ecs-core@0.1.0.4/ordinary_reader_system.bend as OrdinaryReaderSystem
import Base
import bendvy-ecs-core@0.1.0.4/change_tick.bend as Tick
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/reader_parameter.bend as RP

147def provider_disposal_result(~S:Data,~C:Type,~R:Type,~E:Data,~Context:Type,~Meta:Type,~Reader:Type,~View:Data,~Delta:Type,~Args:Type,~Declaration:Type,~Failure:Data,~Output:Type,
148  ~validateFn:Context -> Reader -> Context & (Reader & Bool),
149  ~prepareFn:Context -> @+cursor:Maybe<&2,Tick.Tick> -> Reader -> Context & (Reader & (View & Delta)),
150  ~commitFn:Context -> Reader -> Delta -> @+cursor:Tick.Tick -> Context & Reader,
151  ~releaseFn:Context -> Reader -> Context,
152  ~join:W.World<S,C,R,E> -> Meta -> Context,
153  ~runFn:W.World<S,C,R,E> -> Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args> -> Sys.Outcome<W.World<S,C,R,E>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>>,
154  reader:Reader,+parameter:RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,declaration:Declaration,meta:Meta,
155  disposed:Sys.Disposal<S,C,R,E,Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>,runFn>) -> ProviderDisposal<Context,Provider<Sys.Registry<S,C,R,E,Invocation<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Args>,Empty,Envelope<Meta,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration,Failure,Output>,runFn>,Reader,RP.Param<Context,Reader,View,Delta,validateFn,prepareFn,commitFn,releaseFn>,Declaration>,Declaration>:
156  match disposed:
157    case Sys.Disposed{world}:ProviderDisposed{RP.release(~Context,~Reader,~View,~Delta,~validateFn,~prepareFn,~commitFn,~releaseFn,parameter,join(world,meta),reader),declaration}
158    case Sys.DisposalRejected{world,registry}:ProviderDisposalRejected{join(world,meta),Provider{registry,reader,parameter,declaration}}

Uses (15)

Used by (1)