public static MatchesConditions()

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