UNPKG

hu

Version:

Functional utility helper library

58 lines 1.65 kB
{ 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.collection', doc: void 0 }; var hu_lib_type = require('./type'); var isObject = hu_lib_type.isObject; var isArray = hu_lib_type.isArray; var isEmpty = hu_lib_type.isEmpty; var isIterable = hu_lib_type.isIterable; var isNotEmpty = hu_lib_type.isNotEmpty; var hu_lib_object = require('./object'); var keys = hu_lib_object.keys; var filter = hu_lib_object.filter; } var each = exports.each = function each() { var args = Array.prototype.slice.call(arguments, 0); return curry(function (clt, cb) { isIterable(clt) ? keys(clt).forEach(function (index) { return cb(clt[index], index, clt); }) : void 0; return clt; }).apply(void 0, args); }; var forEach = exports.forEach = each; var size = exports.size = function size(clt) { return isIterable(clt) ? isObject(clt) ? keys(clt).length : clt.length : 0; }; var compact = exports.compact = function compact(clt) { return isArray(clt) ? clt.filter(isNotEmpty) : filter(clt, isNotEmpty); }; var clean = exports.clean = compact;