private verifyType()

in DevSkim-VSCode-Plugin/server/src/utility_classes/ruleValidator.ts [1034:1080]


    private verifyType(variable, varType: string, loadedRule, alertLevel: string, warningMessage: string): boolean
    {
        let verifiedType = true;
        switch (varType)
        {
            case "string":
                if (!(typeof variable === 'string' || variable instanceof String))
                {
                    verifiedType = false;
                }
                break;
            case "number":
                if (!(typeof variable === 'number' || Number.isInteger(Number.parseInt(variable.toString(),10))))
                {
                    verifiedType = false;
                }
                break;
            case "boolean":
                if (typeof variable !== 'boolean')
                {
                    verifiedType = false;
                }
                break;
            case "array":
                if (!(Array.isArray(variable) || variable instanceof Array))
                {
                    verifiedType = false;
                }
                break;
        }

        if (!verifiedType && warningMessage.length > 0)
        {
            let outcome: OutputMessages = Object.create(null);
            outcome.alert = alertLevel;
            outcome.message = warningMessage;
            outcome.ruleid = loadedRule.id;
            outcome.file = loadedRule.filepath;

            this.outputMessages.push(outcome);
            if (alertLevel == OutputAlert.Error)
            {
                throw warningMessage;
            }
        }
        return verifiedType;
    }