def spawn_projected

bendvy-ecs-core@0.1.0.4 · decode_frame.bend:75

import bendvy-ecs-core@0.1.0.4/decode_frame.bend as DecodeFrame
import Base
import bendvy-ecs-core@0.1.0.4/decode_requests.bend as Request
import bendvy-ecs-core@0.1.0.4/decode_immediate.bend as Immediate
import bendvy-ecs-core@0.1.0.4/bundle_install.bend as Install
import bendvy-ecs-core@0.1.0.4/decode_data.bend as D
import bendvy-ecs-core@0.1.0.4/bundle_batch.bend as Batch
import bendvy-ecs-core@0.1.0.4/world.bend as World
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity

75def spawn_projected(~S:Data,~C:Type,~R:Type,~E:Data,~P:Type,~Q:Type,~identity:Identity.Declaration<S,P>,~project:P -> P & D.Raw,~install:World.World<S,C,R,E> -> World.Handle<S> -> Request.Packet<P> -> Install.Attempt<World.World<S,C,R,E>,Request.Packet<P>,Q>,frame:Frame<S,C,R,E,P,Q,identity,project>,+canonical:D.Raw,result:P & D.Raw) -> Frame<S,C,R,E,P,Q,identity,project> & Request.Output<S,P>:
76  match frame result:
77    case Frame{Request.Owner{Batch.Batch{tx,prepared},declaration},handle,error,cursor,receipts,pending}, (owner,original):spawned(~S,~C,~R,~E,~P,~Q,~identity,~project,declaration,prepared,handle,error,cursor,receipts,pending,canonical,Immediate.spawn(~S,~C,~R,~E,~P,~Q,~install,tx,Request.Packet{Some{owner},original,canonical}))

Uses (15)

Used by (1)