public IEnumerable AnalyzeTemplate()

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;
                }
            }
        }