def component_write
import bendvy-ecs-core@0.1.0.3/execution_access.bend as ExecutionAccessimport Base
import bendvy-ecs-core@0.1.0.3/execution_projection.bend as Projection
import bendvy-ecs-core@0.1.0.3/execution_declaration.bend as D
import bendvy-ecs-core@0.1.0.3/chunk_column.bend as Col
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.3/ordinary_declaration.bend as Identity
74def component_write(~S:Data,~C:Type,~R:Type,~P:Type,~Rest:Type,~V:Data,~lens:Product.Lens<C,Col.Column<S,P>,Rest>,~project:P -> P & V,projection:Projection.Affine<P,V,project>,identity:Identity.Declaration<S,P>) -> D.Declaration<S,C,R,ComponentWrites(~S,~P,~V)>:
75 D.Declaration{ComponentWrite{scope=>handle=>component_get(~S,~C,~R,~P,~Rest,~V,~lens,~project,scope,handle),component_modify_once(~S,~C,~R,~P,~Rest,~V,~lens),scope=>handle=>component_checked_get(~S,~C,~R,~P,~Rest,~V,~lens,~project,scope,handle)},[D.Access{Identity.key(~S,~P,identity),D.ComponentAccess{},D.Exclusive{},D.Writable{}}]}
Uses (17)
Used by (0)
No other definition uses this definition.