def attach_namespace_checked

bendvy-ecs-core@0.1.0.4 · ordinary_app_relation_schedule.bend:65

import bendvy-ecs-core@0.1.0.4/ordinary_app_relation_schedule.bend as OrdinaryAppRelationSchedule
import Base
import bendvy-ecs-core@0.1.0.4/system.bend as Sys
import bendvy-ecs-core@0.1.0.4/schedule_provision.bend as SP
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/relation_commands.bend as A
import bendvy-ecs-core@0.1.0.4/ordinary_schema.bend as Schema
import bendvy-ecs-core@0.1.0.4/ordinary_app_relation.bend as Relation
import bendvy-ecs-core@0.1.0.4/ordinary_app_recipe.bend as Tree
import bendvy-ecs-core@0.1.0.4/ordinary_app_composer.bend as Build
import bendvy-ecs-core@0.1.0.4/ordinary_app_schema.bend as App
import bendvy-ecs-core@0.1.0.4/ordinary_app_schedule.bend as Scheduled
import bendvy-ecs-core@0.1.0.4/relation_failure_reader.bend as Ord
import bendvy-ecs-core@0.1.0.4/ordinary_app_relation_system.bend as Registered

65def attach_namespace_checked(~S:Data,~C:Type,~R:Type,~E:Data,~declaration:Ord.Declaration<S>,~target:W.Handle<S>,schema:Schema.Schema<S,C,R>,name:String,plan:SP.Plan<S>,allowed:Bool,owner:Registered.Owner(~S,~C,~R,~E,~declaration,~target),world:Relation.World(~S,~C,~R,~E)) -> Scheduled.Attachment<App.Application<S,A.Store<S,C>,R,A.Notice<S,E>,Registered.Owner(~S,~C,~R,~E,~declaration,~target),Relation.View<S>,Relation.observe(~S,~C,~R,~E,~declaration,~Relation.builtin_row(~S)),Registered.empty_fold(~S,~C,~R,~E,~declaration,~target)>,Application(~S,~C,~R,~E,~declaration,~target)>:
66  match allowed owner:
67    case False{} owner:Scheduled.Invalid{App.Application{graph_schema(~S,~C,~R,schema),Build.Registered{world,owner,Tree.Recipe{},False{}}}}
68    case True{} Sys.Registry{+namespace,+id,+label,+access,+cursor}:attach_allowed(~S,~C,~R,~E,~declaration,~target,schema,Sys.Registry{namespace,id,label,access,cursor},name,plan,W.registration_matches(~S,~A.Store<S,C>,~R,~A.Notice<S,E>,world,id,label,access))

Uses (23)

Used by (1)