in DevSkim-VSCode-Plugin/server/src/devskimWorker.ts [452:479]
public static MatchesConditions(conditions: Condition[], documentContents: string, findingRange: Range, langID: string): boolean
{
if (conditions != undefined && conditions && conditions.length != 0)
{
for (let condition of conditions)
{
//i know this looks weird - there is an object called pattern, nested inside another object called
//pattern. Sorry, that was poor naming convention
if(condition.pattern != undefined && condition.pattern && condition.pattern.pattern != undefined &&
condition.pattern.pattern && condition.pattern.pattern.length > 0)
{
if(!DevSkimWorker.MatchesConditionPattern(condition, documentContents, findingRange, langID))
{
return false;
}
}
else if(condition.lambda != undefined && condition.lambda && condition.lambda.lambda_code != undefined &&
condition.lambda.lambda_code && condition.lambda.lambda_code.length > 0)
{
let lambdaWorker : DevskimLambdaEngine = new DevskimLambdaEngine(condition, documentContents, findingRange, langID);
return lambdaWorker.ExecuteLambda();
}
}
}
return true;
}