## 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'
```