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