## Typifier Typifier The javascript library to get or check the type of given variable. * [Typifier](#Typifier) * [.getVersion()](#Typifier.getVersion) → string * [.isArray(value)](#Typifier.isArray) → boolean * [.isObject(value)](#Typifier.isObject) → boolean * [.isString(value)](#Typifier.isString) → boolean * [.isStringClass(value)](#Typifier.isStringClass) → boolean * [.isNumber(value)](#Typifier.isNumber) → boolean * [.isNumberClass(value)](#Typifier.isNumberClass) → boolean * [.isNumberString(value)](#Typifier.isNumberString) → boolean * [.isDate(value)](#Typifier.isDate) → boolean * [.isRegExp(value)](#Typifier.isRegExp) → boolean * [.isNaN(value)](#Typifier.isNaN) → boolean * [.isInfinity(value)](#Typifier.isInfinity) → boolean * [.isNegativeInfinity(value)](#Typifier.isNegativeInfinity) → boolean * [.isUndefined(value)](#Typifier.isUndefined) → boolean * [.isNull(value)](#Typifier.isNull) → boolean * [.isBoolean(value)](#Typifier.isBoolean) → boolean * [.isBooleanClass(value)](#Typifier.isBooleanClass) → boolean * [.isFunction(value)](#Typifier.isFunction) → boolean * [.isClass(value)](#Typifier.isClass) → boolean * [.is(type, value)](#Typifier.is) → boolean * [.isSet(variable)](#Typifier.isSet) → boolean * [.getType(value)](#Typifier.getType) → string ### Typifier.getVersion() → string Get the version of the used library. **Example** ```js Typifier.getVersion(); // => "0.1.3" ``` ### Typifier.isArray(value) → boolean Check if given variable is of type Array. **Returns**: boolean - true if Array, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isArray([1,2,3]); // => true Typifier.isArray({a:1,b:2}); // => false Typifier.isArray("hello"); // => false ``` ### Typifier.isObject(value) → boolean Check if given variable is of type Object. **Returns**: boolean - true if Object, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isObject({a:1,b:2}); // => true Typifier.isObject([1,2,3]); // => false Typifier.isObject("hello"); // => false ``` ### Typifier.isString(value) → boolean Check if given variable is of type string (primitive). **Returns**: boolean - true if 'string', otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isString("hello"); // => true Typifier.isString(new String("hello")); // => false Typifier.isString(123); // => false ``` ### Typifier.isStringClass(value) → boolean Check if given variable is of type String (class instance). **Returns**: boolean - true if instance of class 'String', otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isStringClass(new String("hello")); // => true Typifier.isStringClass("hello"); // => false Typifier.isStringClass(123); // => false ``` ### Typifier.isNumber(value) → boolean Check if given variable is of type number (primitive). **Returns**: boolean - true if 'number', otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isNumber(123); // => true Typifier.isNumber(new Number(123)); // => false Typifier.isNumber(NaN); // => false Typifier.isNumber(Infinity); // => false ``` ### Typifier.isNumberClass(value) → boolean Check if given variable is of type Number (class instance). **Returns**: boolean - true if instance of class 'Number', otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isNumberClass(new Number(123)); // => true Typifier.isNumberClass(123); // => false Typifier.isNumberClass(NaN); // => false Typifier.isNumberClass(Infinity); // => false ``` ### Typifier.isNumberString(value) → boolean Check if given variable is a valid number inside a string that evaluates to a number in Javascript. **Returns**: boolean - true if valid JavaScript number inside string | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isNumberString("200"); // => true Typifier.isNumberString("25.75"); // => true Typifier.isNumberString("10."); // => true Typifier.isNumberString(".5"); // => true Typifier.isNumberString("500_000"); // => true Typifier.isNumberString("0x12F"); // => true Typifier.isNumberString("hello"); // => false Typifier.isNumberString("123abc"); // => false Typifier.isNumberString("NaN"); // => false Typifier.isNumberString("Infinity"); // => false ``` ### Typifier.isDate(value) → boolean Check if given variable is of type Date. **Returns**: boolean - true if Date, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isDate(new Date()); // => true Typifier.isDate(Date()); // => false Typifier.isDate("2024-01-01"); // => false ``` ### Typifier.isRegExp(value) → boolean Check if given variable is of type RegExp. **Returns**: boolean - true if RegExp, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isRegExp(/abc/); // => true Typifier.isRegExp(new RegExp('abc')); // => true Typifier.isRegExp("abc"); // => false Typifier.isRegExp({pattern: 'abc'}); // => false ``` ### Typifier.isNaN(value) → boolean Check if given variable is of type NaN. **Returns**: boolean - true if NaN, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isNaN(NaN); // => true Typifier.isNaN("NaN"); // => false Typifier.isNaN(123); // => false ``` ### Typifier.isInfinity(value) → boolean Check if given variable is of type Infinity. **Returns**: boolean - true if Infinity, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isInfinity(Infinity); // => true Typifier.isInfinity("Infinity"); // => false Typifier.isInfinity(123); // => false Typifier.isInfinity(-Infinity); // => false ``` ### Typifier.isNegativeInfinity(value) → boolean Check if given variable is of type negative -Infinity. **Returns**: boolean - true if -Infinity, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isNegativeInfinity(-Infinity); // => true Typifier.isNegativeInfinity("Infinity"); // => false Typifier.isNegativeInfinity(123); // => false Typifier.isNegativeInfinity(Infinity); // => false ``` ### Typifier.isUndefined(value) → boolean Check if given variable is of type undefined. **Returns**: boolean - true if undefined, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isUndefined(undefined); // => true Typifier.isUndefined(null); // => false Typifier.isUndefined(123); // => false Typifier.isUndefined(); // => true ``` ### Typifier.isNull(value) → boolean Check if given variable is of type null. **Returns**: boolean - true if null, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isNull(null); // => true Typifier.isNull(undefined); // => false Typifier.isNull(0); // => false Typifier.isNull(); // => false Typifier.isNull({}); // => false Typifier.isNull([]); // => false Typifier.isNull("null"); // => false ``` ### Typifier.isBoolean(value) → boolean Check if given variable is of type boolean (primitive). **Returns**: boolean - true if 'boolean' or instance of class 'Boolean', otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isBoolean(true); // => true Typifier.isBoolean(false); // => true Typifier.isBoolean(new Boolean(true)); // => true Typifier.isBoolean(new Boolean(false)); // => true Typifier.isBoolean(0); // => false Typifier.isBoolean(1); // => false Typifier.isBoolean("true"); // => false Typifier.isBoolean("false"); // => false ``` ### Typifier.isBooleanClass(value) → boolean Check if given variable is of type Boolean (class instance). **Returns**: boolean - true if instance of class 'Boolean', otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isBooleanClass(new Boolean(true)); // => true Typifier.isBooleanClass(new Boolean(false)); // => true Typifier.isBooleanClass(true); // => false Typifier.isBooleanClass(false); // => false Typifier.isBooleanClass(0); // => false Typifier.isBooleanClass(1); // => false Typifier.isBooleanClass("true"); // => false Typifier.isBooleanClass("false"); // => false ``` ### Typifier.isFunction(value) → boolean Check if given variable is of type function. **Returns**: boolean - true if is a function, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isFunction(function() {}); // => true Typifier.isFunction(() => {}); // => true Typifier.isFunction(class A {}); // => false Typifier.isFunction(new Function("a", "b", "return a + b;")); // => true Typifier.isFunction(async function() {}); // => true Typifier.isFunction(123); // => false Typifier.isFunction("function() {}"); // => false Typifier.isFunction({}); // => false Typifier.isFunction(Function); // => false Typifier.isFunction(Math.max); // => true ``` ### Typifier.isClass(value) → boolean Check if given variable is of type class. **Returns**: boolean - true if class, otherwise false | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.isClass(class A {}); // => true Typifier.isClass(function() {}); // => false Typifier.isClass(() => {}); // => false Typifier.isClass(class {}); // => true Typifier.isClass(new Function("a", "b", "return a + b;")); // => false Typifier.isClass(async function() {}); // => false ``` ### Typifier.is(type, value) → boolean Check if the given value is of the given type. **Returns**: boolean - true if the value is of the given type | Param | Type | | --- | --- | | type | string | | value | any | **Example** ```js Typifier.is('Array',[1,2,3]) // => true Typifier.is('Object',{a:1,b:2}) // => true Typifier.is('string',"hello") // => true Typifier.is('String',new String("hello")) // => true Typifier.is('number',123) // => true Typifier.is('Number',new Number(123)) // => true Typifier.is('Date',new Date()) // => true Typifier.is('RegExp',/abc/) // => true Typifier.is('NaN',NaN) // => true Typifier.is('Infinity',Infinity) // => true Typifier.is('-Infinity',-Infinity) // => true Typifier.is('undefined',undefined) // => true Typifier.is('null',null) // => true Typifier.is('boolean',true) // => true Typifier.is('boolean',false) // => true Typifier.is('Boolean',new Boolean(true)) // => true Typifier.is('Boolean',new Boolean(false)) // => true Typifier.is('function',function() {}) // => true Typifier.is('class',class A {}) // => true Typifier.is('Array',{a:1,b:2}) // => false Typifier.is('string',new String("hello")) // => false Typifier.is('String',"hello") // => false Typifier.is('number',new Number(123)) // => false Typifier.is('Number',123) // => false Typifier.is('NaN',"NaN") // => false Typifier.is('Infinity',"Infinity") // => false Typifier.is('undefined',null) // => false ``` ### Typifier.isSet(variable) → boolean Check if the given variable is set (is not 'undefined' or 'null'). Valid values like 'false', a empty string or '0' return true. **Returns**: boolean - true if the value is set | Param | Type | | --- | --- | | variable | any | **Example** ```js let a; let b = 0; Typifier.isSet(a) // => false Typifier.isSet(b) // => true ``` ### Typifier.getType(value) → string Get the type of the given value. Primitive types are lower case. **Returns**: string - type in pascal case format | Param | Type | | --- | --- | | value | any | **Example** ```js Typifier.getType([1,2,3]) // => 'Array' Typifier.getType({a:1,b:2}) // => 'Object' Typifier.getType("hello") // => 'string' Typifier.getType(new String("hello")) // => 'String' Typifier.getType(123) // => 'number' ```