@darwish/utils-core
Version:
51 lines (50 loc) • 1.63 kB
JavaScript
var objProtoCallType = function (value, type) {
return Object.prototype.toString.call(value).slice(8, -1).toLowerCase() === type;
};
export var isDate = function (value) {
return objProtoCallType(value, 'date');
};
/**
* Check if the value is an object, excluding proxies
* if excludeProxy is true, it will return false if the value is a proxy
* @param value the value to check
* @param excludeProxy whether to exclude proxies or not, defaults to `true`
* @returns true if the value is an object, false otherwise
*/
export var isObject = function (value) {
return objProtoCallType(value, 'object');
};
export var isSet = function (value) {
return objProtoCallType(value, 'set');
};
export var isMap = function (value) {
return objProtoCallType(value, 'map');
};
export var isNull = function (value) {
return objProtoCallType(value, 'null');
};
export var isBigint = function (value) {
return typeof value === 'bigint';
};
export var isArray = function (value) { return Array.isArray(value); };
export var isSymbol = function (value) {
return typeof value === 'symbol';
};
export var isFunction = function (value) {
return typeof value === 'function';
};
export var isString = function (value) {
return typeof value === 'string';
};
export var isBoolean = function (value) {
return typeof value === 'boolean';
};
export var isNumber = function (value) {
return typeof value === 'number';
};
export var isInfinity = function (value) {
return value === Infinity || value === -Infinity;
};
export var isUndef = function (value) {
return typeof value === 'undefined';
};