public protocol ConstraintsEvaluator
The interface to the constraints evaluator component.
Implementations are responsible for evaluating all the constraints and returning information about those that are satisfied or not.
Called to see if the constraints evaluation result for a given feature should be cached. Some constraints my prevent caching.
trueif the feature’s evaluation can be cached long term.
falseif it needs to be checked every time.
func canCacheResult(for feature: ConditionalFeatureDefinition.Type) -> Bool
Evaluate the constraints for the feature and return the results of this, including information about all the declared constraints and whether or not they are active.