def write
import bendvy-ecs-core@0.1.0.4/recognized_query_declaration.bend as RecognizedQueryDeclarationimport Base
import bendvy-ecs-core@0.1.0.4/compose.bend as Q
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as N
import bendvy-ecs-core@0.1.0.4/internal/compact_operational_frame.bend as F
import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as B
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/capabilities.bend as Cap
49# Declare required read/write access to one schema-bound component family.
50# Only matching rows invoke the body. P may be an affine Type; view threads P
51# back together with a Data observation V. take/put describe the same store
52# path as binding. The returned declaration supplies Cap.Write;
53# access failures still flow through the query's normal error/rollback result.
54def write(~S:Data,~Store:Type,~R:Type,~E:Data,~Rest:Type,~P:Type,~V:Data,~Token:Data,~take:Store -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> Store,~view:P -> P & V,~binding:B.Binding<S,Store,Rest,P,V,Token,take,put,view>) -> Declaration<S,Store,R,E,H => Cap.Write<H,P,V>>:
55 Declaration{_=>N.write(~S,~P,~Store,~R,~E,~Rest,~V,~Token,~B.identity(~S,~Store,~Rest,~P,~V,~Token,~take,~put,~view,binding),~view,~take,~put),_=>write_caps(~S,~Store,~R,~E,~Rest,~P,~V,~Token,~take,~put,~view,~binding),F.family_match(~S,~Store,~R,~E,~Rest,~P,~V,~take,~put,~view,~Q.Required{})}
Uses (10)
Used by (0)
No other definition uses this definition.