Repository URL to install this package:
|
Version:
6.0.4 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function has(obj, key) {
return Object.prototype.hasOwnProperty.bind(Object)(obj, key);
}
exports.has = has;
exports.hasOwnProperty = has;
exports.hasOwnProp = has;
// var eh = {
// isEh: 'true',
// }
// var isEh = eh.hasOwnProperty('isEh')
function hasIn(obj, key) {
return !!(key in obj);
}
exports.hasIn = hasIn;
exports.isIn = function (obj, prop) { return prop in Object(obj); };
function isFunction(x) {
return typeof x === 'function';
}
exports.isFunction = isFunction;
function isNumber(x) {
return typeof x === 'number';
}
exports.isNumber = isNumber;
exports.isNumberPrimitive = isNumber;
function isString(x) {
return typeof x === 'string';
}
exports.isString = isString;
exports.isStringPrimitive = isString;
function isBoolean(x) {
return x === true || x === false;
}
exports.isBoolean = isBoolean;
exports.isBooleanPrimitive = isBoolean;
function isNull(x) {
return x === null;
}
exports.isNull = isNull;
function isUndefined(x) {
return x === undefined;
}
exports.isUndefined = isUndefined;
function isNil(x) {
return isNull(x) || isUndefined(x);
}
exports.isNil = isNil;
exports.isNullOrUndefined = isNil;
function isArray(x) {
return Array.isArray(x);
}
exports.isArray = isArray;
function isArrayLike(x) {
return isArray(x);
}
exports.isArrayLike = isArrayLike;
function isObj(x) {
return isNull(x) === false && (typeof x === 'object' || isArray(x));
}
exports.isObj = isObj;
exports.isObjPure = isObj;
exports.isObjTag = isObj;
exports.IS_WEAKMAP_USABLE = typeof WeakMap !== 'undefined';
function isIndexable(x) {
return isNumber('number') || isString(x);
}
exports.isIndexable = isIndexable;
function isSymbol(x) {
return typeof x === 'symbol';
}
exports.isSymbol = isSymbol;
function isRegExp(x) {
return x instanceof RegExp;
}
exports.isRegExp = isRegExp;
function isDate(x) {
return x instanceof Date;
}
exports.isDate = isDate;
function isTrue(x) {
return x === true;
}
exports.isTrue = isTrue;
function isFalse(x) {
return x === false;
}
exports.isFalse = isFalse;
exports.isObjNotNull = isObj;
function isMap(x) {
return Object.prototype.toString
.call(Object, x)
.toLowerCase()
.includes('map');
}
exports.isMap = isMap;
function isSet(x) {
return Object.prototype.toString
.call(Object, x)
.toLowerCase()
.includes('set');
}
exports.isSet = isSet;
// Object.getOwnPropertyDescriptor(obj, prop).enumerable
function isEnumerable(obj, prop) {
return isObj(obj) && Object.prototype.propertyIsEnumerable.call(obj, prop);
}
exports.isEnumerable = isEnumerable;
function isReal(x) {
return !Number.isNaN(x) && !isNil(x);
}
exports.isReal = isReal;
function isCollection(x) {
return isMap(x) || isSet(x);
}
exports.isCollection = isCollection;
function isEmpty(x) {
// null | undefined => true
// collection => .size === 0
// array || string => .length === 0
// object => Object.keys().length === 0
return isNil(x)
? true
: isCollection(x)
? x.size === 0
: isArray(x) || isString(x)
? x.length === 0
: isObj(x)
? Object.keys(x).length === 0
: false;
}
exports.isEmpty = isEmpty;
function isIterator(x) {
return Object.prototype.toString.call(x).includes('Iterator');
}
exports.isIterator = isIterator;
function isMatcher(x) {
return isString(x) || isFunction(x) || isRegExp(x);
}
exports.isMatcher = isMatcher;
function isPrimitive(x) {
return isString(x) || isBoolean(x) || isNumber(x) || isSymbol(x) || isNil(x);
}
exports.isPrimitive = isPrimitive;
// tslint:disable cyclomatic-complexity
function isNative(x) {
return (x === Function ||
x === Object ||
x === Array ||
x === String ||
x === Number ||
x === Boolean ||
x === RegExp ||
x === Function ||
x === Promise ||
x === Math ||
x === JSON ||
x === WeakMap ||
x === Map ||
x === WeakSet ||
x === Set);
}
exports.isNative = isNative;
function isAsyncish(x) {
var tag = Object.toString.prototype.call(x);
return tag.includes('Promise') || tag.includes('Async');
}
exports.isAsyncish = isAsyncish;
function isIteratable(x) {
// ez ones
if (exports.isObjNotNull(x) || isArray(x))
return true;
var notIteratable = isPrimitive(x) ||
isRegExp(x) ||
isDate(x) ||
isSymbol(x) ||
isAsyncish(x) ||
isNative(x) ||
isError(x);
// not-not is iteratable
return !notIteratable;
}
exports.isIteratable = isIteratable;
function isError(x) {
return Object.prototype.toString.call(x).includes('Error');
}
exports.isError = isError;
//# sourceMappingURL=index.js.map