glob-fs
Version:
file globbing for node.js. speedy and powerful alternative to node-glob.
49 lines (40 loc) • 908 B
JavaScript
/**
* Utils
*/
var utils = module.exports;
/**
* Cast `val` to an array.
*
* @param {String|Array} `val`
* @return {Array}
*/
utils.arrayify = function arrayify(val) {
return val ? (Array.isArray(val) ? val : [val]) : [];
};
/**
* Concatenate and flatten multiple arrays, filtering
* falsey values from the result set.
*
* @param {Array} `arrays` One or more arrays
* @return {Array}
*/
utils.union = function union() {
var arr = [].concat.apply([], [].slice.call(arguments));
return utils.flatten(arr).filter(Boolean);
};
/**
* Add a non-enumerable property to `receiver`
*
* @param {Object} `obj`
* @param {String} `name`
* @param {Function} `val`
*/
utils.defineProp = function defineProp(receiver, key, value) {
return Object.defineProperty(receiver, key, {
configurable: true,
enumerable: false,
writable: true,
value: value
});
};
;