def readonly_grant
bendvy-ecs-core@0.1.0.4 · decode_declaration.bend:42
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_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
42def readonly_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<F.Frame<S,Store,R,E,P,Q,identity,project>,V>:
43 F.read_grant(~S,~Store,~R,~E,~P,~Q,~V,~identity,~project,~Clause.grant(~S,~Query.Frame<S,Store,R,E>,~Cap.Read<Query.Frame<S,Store,R,E>,V>,readonly_query(~S,~Store,~R,~E,~P,~Q,~V,~Rest,~Token,~identity,~project,~view,~take,~put,~install)))