UNPKG

argument-validator

Version:
1 lines 2.61 kB
(function(){var a={};"undefined"!=typeof module&&module.exports?module.exports=a:this.ArgumentValidator=a;var b=function(b,c){return function(d){if(c.apply(a,arguments))return!0;var e=null;if(arguments.length>1)var e=Array.prototype.slice.call(arguments,-1)[0];a.isJson(d)&&(d=JSON.stringify(d));var f="Invalid "+b+" value: "+d;throw a.isString(e)&&(f+="\nArgument Name: "+e),a.isArray(arguments[1])&&(f+="\nKeys: "+arguments[1].join(", ")),new Error(f)}},c=function(a){for(var b=["is","has"],c=null,d=0;d<b.length&&(c=b[d].length,a.slice(0,c)!==b[d]);d++);var e=a.slice(c+1),f=a.slice(c,c+1).toLowerCase(),g=f+e;return g},d=function(b,c,d){if(!a.isObjectOrEmpty(c)||!a.isArrayOrEmpty(d))return!1;for(var e=d.length,f=0;e>f;f++){if(!Object.prototype.hasOwnProperty.call(c,d[f]))return!1;if(!b(c[d[f]]))return!1}return!0},e=function(b,c){if(!a.isArray(c))return!1;for(var d=c.length,e=0;d>e;e++)if(!b(c[e]))return!1;return!0};a.isNotNull=function(a){return null!==a&&void 0!==a},a.isInstanceOf=function(a,b){return b instanceof a},a.isType=function(a,b){return Object.prototype.toString.call(b)==="[object "+a+"]"},a.isBoolean=function(a){return[1,0,!0,!1].indexOf(a)>-1},a.isStringOrEmpty=function(b){return a.isType("String",b)},a.isString=function(b){return a.isStringOrEmpty(b)?/\S/.test(b):!1},a.isNumber=function(b){return a.isType("Number",b)?isFinite(b)&&!isNaN(parseFloat(b)):!1},a.isArrayOrEmpty=function(b){return a.isType("Array",b)},a.isArray=function(b){return a.isArrayOrEmpty(b)?b.length>0:!1},a.isArrayOfNumbers=function(b){return e(a.isNumber,b)},a.isArrayOfObjects=function(b){return e(a.isObject,b)},a.isObjectOrEmpty=function(b){return a.isType("Object",b)},a.isObject=function(b){if(!a.isObjectOrEmpty(b))return!1;for(var c in b)if(Object.prototype.hasOwnProperty.call(b,c))return!0;return!1},a.isJson=function(b){if(!a.isObjectOrEmpty(b))return!1;try{JSON.stringify(b)}catch(c){return!1}return!0},a.isJsonString=function(b){if(!a.isString(b))return!1;try{JSON.parse(b)}catch(c){return!1}return!0},a.hasKeys=function(b,c){return d(a.isNotNull,b,c)},a.hasKeysWithNumber=a.hasNumberKeys=function(b,c){return d(a.isNumber,b,c)},a.hasKeysWithString=a.hasStringKeys=function(b,c){return d(a.isString,b,c)},a.hasKeysWithObject=a.hasObjectKeys=function(b,c){return d(a.isObject,b,c)},a.hasKeysWithStringOrEmpty=a.hasStringOrEmptyKeys=function(b,c){return d(a.isStringOrEmpty,b,c)},a.hasKeysWithObjectOrEmpty=a.hasObjectOrEmptyKeys=function(b,c){return d(a.isObjectOrEmpty,b,c)},a.isFunction=function(b){return a.isInstanceOf(Function,b)};for(var f in a){var g=c(f);a[g]=b(g,a[f])}}).call(this);