in src/Analyzer.JsonRuleEngine/JsonRuleEngine.cs [101:121]
public IEnumerable<IEvaluation> AnalyzeTemplate(TemplateContext templateContext)
{
foreach (RuleDefinition rule in RuleDefinitions)
{
logger?.LogDebug("Evaluating rule {ruleID} in the JSON rule engine", rule.Id);
var evaluations = rule.Expression.Evaluate(
new JsonPathResolver(
templateContext.ExpandedTemplate,
templateContext.ExpandedTemplate.Path),
this.BuildLineNumberResolver(templateContext));
foreach (var evaluation in evaluations)
{
evaluation.RuleDefinition = rule;
evaluation.FileIdentifier = templateContext.TemplateIdentifier;
yield return evaluation;
}
}
}