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))))