def valid_bindings

bendvy-ecs-core@0.1.0.3 · dependency_application.bend:29

import bendvy-ecs-core@0.1.0.3/dependency_application.bend as DependencyApplication
import Base
import bendvy-ecs-core@0.1.0.3/dependency_plan.bend as Plan

29def valid_bindings(bindings:List<&2,Binding>,+systems:List<&2,Plan.Node<String>>,+guards:List<&2,Plan.Node<String>>) -> Maybe<&2,Plan.Invalid<String>>:
30  match bindings:
31    case []:None{}
32    case Binding{+system,+condition} <> +rest:Plan.endpoint(~String,Plan.has(~String,systems,system),system,Plan.endpoint(~String,Plan.has(~String,guards,condition),condition,binding_duplicate(lookup(rest,system),system,valid_bindings(rest,systems,guards))))

Uses (10)

Used by (2)