def read_grant

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

import bendvy-ecs-core@0.1.0.4/decode_declaration.bend as DecodeDeclaration
import Base
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/compose.bend as Query
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap
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
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Clause

22def read_grant(~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>) -> Cap.Read<Query.Frame<S,Store,R,E>,V>:
23  Cap.Read{Cap.write_read_field(~Query.Frame<S,Store,R,E>,~P,~V,Clause.grant(~S,~Query.Frame<S,Store,R,E>,~Cap.Write<Query.Frame<S,Store,R,E>,P,V>,query(~S,~Store,~R,~E,~P,~Q,~V,~Rest,~Token,~identity,~project,~view,~take,~put,~install)))}

Uses (14)

Used by (1)