core-fed-util
Version:
This is A collection of commonly used frontend utility functions
170 lines (169 loc) • 4.04 kB
JavaScript
/**
* @dedscription This module provides utility functions to check the type of a value.
* @param value
* @param type
* @returns {boolean}
*/
export function isType(value, type) {
return Object.prototype.toString.call(value) === `[object ${type}]`;
}
/**
* @description This function checks if the value is a Number.
* @param value
* @returns {boolean}
*/
export function isNumber(value) {
return isType(value, 'Number');
}
/**
* @description This function checks if the value is a String.
* @param value
* @returns {boolean}
*/
export function isString(value) {
return isType(value, 'String');
}
/**
* @description This function checks if the value is an array.
* @param value
* @returns {boolean}
*/
export function isArray(value) {
return isType(value, 'Array');
}
/**
* @description This function checks if the value is an object (not an array).
* @param value
* @returns {boolean}
*/
export function isObject(value) {
return isType(value, 'Object') && Array.isArray(value) === false;
}
/**
* @description This function checks if the value is a function.
* @param value
* @returns {boolean}
*/
export function isFunction(value) {
return isType(value, 'Function');
}
/**
* @description This function checks if the value is a boolean.
* @param value
* @returns {boolean}
*/
export function isBoolean(value) {
return isType(value, 'Boolean');
}
/**
* @description This function checks if the value is null.
* @param value
* @returns {boolean}
*/
export function isNull(value) {
return value === null;
}
/**
* @description This function checks if the value is undefined.
* @param value
* @returns {boolean}
*/
export function isUndefined(value) {
return value === undefined;
}
/**
* @description This function checks if the value is a Date object.
* @param value
* @returns {boolean}
*/
export function isDate(value) {
return isType(value, 'Date');
}
/**
* @description This function checks if the value is a RegExp.
* @param value
* @returns {boolean}
*/
export function isRegExp(value) {
return isType(value, 'RegExp');
}
/**
* @description This function checks if the value is a Symbol.
* @param value
* @returns {boolean}
*/
export function isSymbol(value) {
return isType(value, 'Symbol');
}
/**
* @description This function checks if the value is a BigInt.
* @param value
* @returns {boolean}
*/
export function isBigInt(value) {
return isType(value, 'BigInt');
}
/**
* @description This function checks if the value is an Error object.
* @param value
* @returns {boolean}
*/
export function isError(value) {
return isType(value, 'Error');
}
/**
* @description This function checks if the value is a DateTime object.
* @param value
* @returns {boolean}
*/
export function isDateTime(value) {
return isType(value, 'Date') || isType(value, 'DateTime');
}
/**
* @description This function checks if the value is a Map.
* @param value
* @returns {boolean}
*/
export function isMap(value) {
return isType(value, 'Map');
}
/**
* @description This function checks if the value is a Set.
* @param value
* @returns {boolean}
*/
export function isSet(value) {
return isType(value, 'Set');
}
/**
* @description This function checks if the value is a WeakMap.
* @param value
* @returns {boolean}
*/
export function isWeakMap(value) {
return isType(value, 'WeakMap');
}
/**
* @description This function checks if the value is a WeakSet.
* @param value
* @returns {boolean}
*/
export function isWeakSet(value) {
return isType(value, 'WeakSet');
}
/**
* @description This function checks if the value is a Promise.
* @param value
* @returns {boolean}
*/
export function isPromise(value) {
return isType(value, 'Promise') && isFunction(value.then);
}
/**
* @description This function checks if the value is a DOM Element.
* @param value {unknown}
* @returns
*/
export function isElement(value) {
return value instanceof Element || (isObject(value) && isFunction(value.nodeType));
}