hu
Version:
Functional utility helper library
112 lines • 3.74 kB
JavaScript
{
var _ns_ = {
id: 'hu.lib.macros',
doc: void 0
};
var hu_lib_function = require('./function');
var curry = hu_lib_function.curry;
var compose = hu_lib_function.compose;
var hu_lib_type = require('./type');
var isString = hu_lib_type.isString;
var isArray = hu_lib_type.isArray;
var isNumber = hu_lib_type.isNumber;
var isUndef = hu_lib_type.isUndef;
var isObject = hu_lib_type.isObject;
}
void 0;
void 0;
void 0;
void 0;
void 0;
void 0;
void 0;
void 0;
void 0;
void 0;
void 0;
{
var _ns_ = {
id: 'hu.lib.type',
doc: void 0
};
var hu_lib_misc = require('./misc');
var isBrowser = hu_lib_misc.isBrowser;
var _global = hu_lib_misc._global;
}
var objToStr = Object.prototype.toString;
var toStr = function toStr(x) {
return objToStr.call(x);
};
var isNull = exports.isNull = function isNull(x) {
return x === null;
};
var isUndef = exports.isUndef = function isUndef(x) {
return typeof(x) === 'undefined' || isNull(x);
};
var isUndefined = exports.isUndefined = isUndef;
var isBool = exports.isBool = function isBool(x) {
return x === true || x === false || toString.call(x) === '[object Boolean]';
};
var isBoolean = exports.isBoolean = isBool;
var isNumber = exports.isNumber = function isNumber(x) {
return toStr(x) === '[object Number]';
};
var isFinite = exports.isFinite = function isFinite(x) {
return _global.isFinite(x) && !isNaN(parseFloat, x);
};
var isNaN = exports.isNaN = function isNaN(x) {
return x === x ? false : true;
};
var isSymbol = exports.isSymbol = function isSymbol(x) {
return toStr(x) === '[object Symbol]';
};
var isString = exports.isString = function isString(x) {
return toStr(x) === '[object String]';
};
var isDate = exports.isDate = function isDate(x) {
return toStr(x) === '[object Date]';
};
var isRegExp = exports.isRegExp = function isRegExp(x) {
return toStr(x) === '[object RegExp]';
};
var isPattern = exports.isPattern = isRegExp;
var isArgs = exports.isArgs = function isArgs(x) {
return toStr(x) === '[object Arguments]';
};
var isArguments = exports.isArguments = isArgs;
var isFunction = exports.isFunction = function isFunction(x) {
return typeof(x) === 'function';
};
var isFn = exports.isFn = isFunction;
var isObject = exports.isObject = function isObject(x) {
return toStr(x) === '[object Object]';
};
var isArray = exports.isArray = isFn(Array.isArray) ? Array.isArray : function (x) {
return toStr(x) === '[object Array]';
};
var isError = exports.isError = function isError(x) {
return toStr(x) === '[object Error]';
};
var isPlainObject = exports.isPlainObject = function isPlainObject(x) {
return isObject(x) && isObject(Object.getPrototypeOf(x)) && isNull(Object.getPrototypeOf(Object.getPrototypeOf(x)));
};
var isElement = exports.isElement = function isElement(x) {
return isBrowser ? toStr(x).indexOf('Element') >= 0 : false;
};
var isMutable = exports.isMutable = function isMutable(x) {
return isObject(x) || isArray(x) || isError(x) || isArgs(x) || isDate(x) || isFunction(x);
};
var isEmpty = exports.isEmpty = function isEmpty(x) {
return isUndef(x) || (isObject(x) ? Object.keys(x).length === 0 ? true : false : false) || x.length === 0;
};
var notEmpty = exports.notEmpty = function notEmpty(x) {
return !isEmpty(x);
};
var isNotEmpty = exports.isNotEmpty = notEmpty;
var isPrimitive = exports.isPrimitive = function isPrimitive(x) {
return isNull(x) || isBool(x) || isRegExp(x) || isString(x) || isNumber(x) || isSymbol(x);
};
var isIterable = exports.isIterable = function isIterable(x) {
return isObject(x) || isArray(x) || isArgs(x);
};
var canIterate = exports.canIterate = isIterable;