def read

bendvy-ecs-core@0.1.0.4 · ordinary_resource_field_system.bend:48

import bendvy-ecs-core@0.1.0.4/ordinary_resource_field_system.bend as OrdinaryResourceFieldSystem
import Base
import bendvy-ecs-core@0.1.0.4/resource_field_binding.bend as B
import bendvy-ecs-core@0.1.0.4/resource_field.bend as Field
import bendvy-ecs-core@0.1.0.4/ordinary_schema.bend as Schema
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Q
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/transaction.bend as T

48# Build a selected-field read declaration from its canonical binding and view.
49# view must return actual P with detached V; canonical lenses preserve siblings.
50def read(~S:Data,~C:Type,~R:Type,~E:Data,~P:Type,~Rest:Type,~V:Data,~lens:Product.Lens<R,P,Rest>,~identity:Schema.Resource<S,P>,~binding:B.Binding<S,R,P,Rest,lens,identity>,~view:P -> P & V) -> Declaration<S,T.Tx<W.World<S,C,R,E>,E>,Read<S,P,identity,T.Tx<W.World<S,C,R,E>,E>,V>>:
51  Declaration{Read{Field.read(~S,~C,~R,~E,~P,~Rest,~V,~lens,~view)},[Q.Clause{Schema.resource_key(~S,~P,identity),Q.Read{}}]}

Uses (13)

Used by (1)