in plugins/struts2-dojo-plugin/src/main/resources/org/apache/struts2/static/dojo/src/lang/type.js [65:130]
dojo.lang.isOfType = function (value, type, keywordParameters) {
var optional = false;
if (keywordParameters) {
optional = keywordParameters["optional"];
}
if (optional && ((value === null) || dojo.lang.isUndefined(value))) {
return true;
}
if (dojo.lang.isArray(type)) {
var arrayOfTypes = type;
for (var i in arrayOfTypes) {
var aType = arrayOfTypes[i];
if (dojo.lang.isOfType(value, aType)) {
return true;
}
}
return false;
} else {
if (dojo.lang.isString(type)) {
type = type.toLowerCase();
}
switch (type) {
case Array:
case "array":
return dojo.lang.isArray(value);
case Function:
case "function":
return dojo.lang.isFunction(value);
case String:
case "string":
return dojo.lang.isString(value);
case Number:
case "number":
return dojo.lang.isNumber(value);
case "numeric":
return dojo.lang.isNumeric(value);
case Boolean:
case "boolean":
return dojo.lang.isBoolean(value);
case Object:
case "object":
return dojo.lang.isObject(value);
case "pureobject":
return dojo.lang.isPureObject(value);
case "builtin":
return dojo.lang.isBuiltIn(value);
case "alien":
return dojo.lang.isAlien(value);
case "undefined":
return dojo.lang.isUndefined(value);
case null:
case "null":
return (value === null);
case "optional":
dojo.deprecated("dojo.lang.isOfType(value, [type, \"optional\"])", "use dojo.lang.isOfType(value, type, {optional: true} ) instead", "0.5");
return ((value === null) || dojo.lang.isUndefined(value));
default:
if (dojo.lang.isFunction(type)) {
return (value instanceof type);
} else {
dojo.raise("dojo.lang.isOfType() was passed an invalid type");
}
}
}
dojo.raise("If we get here, it means a bug was introduced above.");
};