def relation_write
import bendvy-ecs-core@0.1.0.4/ordinary_app_resource_field_declaration.bend as OrdinaryAppResourceFieldDeclarationimport Base
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as RelationWorld
import bendvy-ecs-core@0.1.0.4/relation_providers.bend as RelationOps
import bendvy-ecs-core@0.1.0.4/ordinary_app_relation.bend as Relation
import bendvy-ecs-core@0.1.0.4/relation_failure_reader.bend as RelationDecl
import bendvy-ecs-core@0.1.0.4/ordinary_query_declaration.bend as Query
import bendvy-ecs-core@0.1.0.4/ordinary_resource_field_system.bend as Field
132# Build an App resource-style declaration for a canonical relation descriptor.
133# The World uses the relation Store wrapper and relation Notice event wrapper;
134# its write grant, access clause and observer come from that same descriptor.
135# This constructor does not execute relation commands or apply a barrier.
136# See ordinary-app-relation and relation-providers for execution and observation.
137def relation_write(~S:Data,~C:Type,~R:Type,~E:Data,~relation:RelationDecl.Declaration<S>) -> Declaration<S,RelationWorld.Store<S,C>,R,RelationWorld.Notice<S,E>,relation_ops(~S),Relation.View<S>>:
138 Declaration{Field.Declaration{RelationOps.provide_write(~S,~C,~R,~E,~Relation.descriptor(~S,relation)),[Query.Clause{relation_name(~S,relation),Query.Write{}}]},relation_observe(~S,~C,~R,~E,~relation),relation_render(~S)}
Uses (15)
Used by (0)
No other definition uses this definition.