def grants

bendvy-ecs-core@0.1.0.4 · decode_declaration.bend:25

import bendvy-ecs-core@0.1.0.4/decode_declaration.bend as DecodeDeclaration
import Base
import bendvy-ecs-core@0.1.0.4/decode_frame.bend as F
import bendvy-ecs-core@0.1.0.4/decode_owned_component.bend as OwnedWrite
import bendvy-ecs-core@0.1.0.4/decode_requests.bend as Request
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/component.bend as Cmp
import bendvy-ecs-core@0.1.0.4/bundle_install.bend as Install
import bendvy-ecs-core@0.1.0.4/ordinary_declaration.bend as Identity
import bendvy-ecs-core@0.1.0.4/decode_data.bend as D

25def grants(~S:Data,~Store:Type,~R:Type,~E:Data,~P:Type,~Q:Type,~V:Data,~Rest:Type,~Token:Data,~identity:Identity.Declaration<S,P>,~project:P -> P & D.Raw,~view:P -> P & V,~take:Store -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> Store,~install:W.World<S,Store,R,E> -> W.Handle<S> -> Request.Packet<P> -> Install.Attempt<W.World<S,Store,R,E>,Request.Packet<P>,Q>) -> Ops<S,P,R,V,F.Frame<S,Store,R,E,P,Q,identity,project>>:
26  Ops{F.read_grant(~S,~Store,~R,~E,~P,~Q,~V,~identity,~project,~read_grant(~S,~Store,~R,~E,~P,~Q,~V,~Rest,~Token,~identity,~project,~view,~take,~put,~install)),OwnedWrite.grant(~S,~Store,~R,~E,~P,~Q,~identity,~project,~Rest,~V,~Token,~take,~put,~view,~Cmp.Family{Identity.key(~S,~P,identity)}),F.spawn_grant(~S,~Store,~R,~E,~P,~Q,~identity,~project,~install),F.request_grant(~S,~Store,~R,~E,~P,~Q,~identity,~project),F.resource_grant(~S,~Store,~R,~E,~P,~Q,~identity,~project)}

Uses (18)

Used by (1)