hu
Version:
Functional utility helper library
58 lines • 1.65 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.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;