in src/Analyzer.JsonRuleEngine/JsonRuleEngine.cs [128:156]
private static List<RuleDefinition> ParseRuleDefinitions(string rawRuleDefinitions)
{
List<RuleDefinition> rules;
try
{
rules = JsonConvert.DeserializeObject<List<RuleDefinition>>(rawRuleDefinitions);
}
catch (Exception e)
{
throw new JsonRuleEngineException("Failed to parse rule definitions.", e);
}
string currentRule = null;
try
{
foreach (var rule in rules)
{
currentRule = rule.Id;
rule.Expression = rule.ExpressionDefinition.ToExpression();
}
}
catch (Exception e)
{
throw new JsonRuleEngineException($"Failed to initialize rule {currentRule}.", e);
}
return rules;
}