foop
Version:
interfaces that describe their intentions.
55 lines (52 loc) • 3.28 kB
JavaScript
var toarr = require('../to-arr')
/**
* @desc concat two values, coerce to arrays
* @since 4.0.0
* @memberOf array
*
* @param {Array | *} one toArr1
* @param {Array | *} two toArr2
* @return {Array} [one, two]
*
* @name concatArray
* @alias concatArray
*
* @func
* @see deps/to-arr
*
* @example
*
* concat([1], [2]) //=> [1, 2]
* concat([1], 2) //=> [1, 2]
* concat(1, 2) //=> [1, 2]
* concat(new Set([1]), 2) //=> [1, 2]
*
* // kind of weird...
* concat(null, 2) //=> [2]
* concat(undefined, 2) //=> [2]
* concat(1, null) //=> [1, null]
*
*/
module.exports = function (one, two) { return toarr(one || []).concat(toarr(two)); }
// merge 1-2 arrays
// function concat(set1, set2) {
// set1 = set1 || []
// set2 = set2 || []
// var idx
// var len1 = set1.length
// var len2 = set2.length
// var result = []
//
// idx = 0
// while (idx < len1) {
// result[result.length] = set1[idx]
// idx += 1
// }
// idx = 0
// while (idx < len2) {
// result[result.length] = set2[idx]
// idx += 1
// }
// return result
// }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2F0LmpzIiwic291cmNlcyI6WyJjb25jYXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgdG9hcnIgPSByZXF1aXJlKCcuLi90by1hcnInKVxuXG4vKipcbiAqIEBkZXNjIGNvbmNhdCB0d28gdmFsdWVzLCBjb2VyY2UgdG8gYXJyYXlzXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBtZW1iZXJPZiBhcnJheVxuICpcbiAqIEBwYXJhbSAge0FycmF5IHwgKn0gb25lIHRvQXJyMVxuICogQHBhcmFtICB7QXJyYXkgfCAqfSB0d28gdG9BcnIyXG4gKiBAcmV0dXJuIHtBcnJheX0gW29uZSwgdHdvXVxuICpcbiAqIEBuYW1lIGNvbmNhdEFycmF5XG4gKiBAYWxpYXMgY29uY2F0QXJyYXlcbiAqXG4gKiBAZnVuY1xuICogQHNlZSBkZXBzL3RvLWFyclxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICBjb25jYXQoWzFdLCBbMl0pICAgICAgICAgIC8vPT4gWzEsIDJdXG4gKiAgIGNvbmNhdChbMV0sIDIpICAgICAgICAgICAgLy89PiBbMSwgMl1cbiAqICAgY29uY2F0KDEsIDIpICAgICAgICAgICAgICAvLz0+IFsxLCAyXVxuICogICBjb25jYXQobmV3IFNldChbMV0pLCAyKSAgIC8vPT4gWzEsIDJdXG4gKlxuICogICAvLyBraW5kIG9mIHdlaXJkLi4uXG4gKiAgIGNvbmNhdChudWxsLCAyKSAgICAgICAgICAgLy89PiBbMl1cbiAqICAgY29uY2F0KHVuZGVmaW5lZCwgMikgICAgICAvLz0+IFsyXVxuICogICBjb25jYXQoMSwgbnVsbCkgICAgICAgICAgIC8vPT4gWzEsIG51bGxdXG4gKlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IChvbmUsIHR3bykgPT4gdG9hcnIob25lIHx8IFtdKS5jb25jYXQodG9hcnIodHdvKSlcblxuLy8gbWVyZ2UgMS0yIGFycmF5c1xuLy8gZnVuY3Rpb24gY29uY2F0KHNldDEsIHNldDIpIHtcbi8vICAgc2V0MSA9IHNldDEgfHwgW11cbi8vICAgc2V0MiA9IHNldDIgfHwgW11cbi8vICAgdmFyIGlkeFxuLy8gICB2YXIgbGVuMSA9IHNldDEubGVuZ3RoXG4vLyAgIHZhciBsZW4yID0gc2V0Mi5sZW5ndGhcbi8vICAgdmFyIHJlc3VsdCA9IFtdXG4vL1xuLy8gICBpZHggPSAwXG4vLyAgIHdoaWxlIChpZHggPCBsZW4xKSB7XG4vLyAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGhdID0gc2V0MVtpZHhdXG4vLyAgICAgaWR4ICs9IDFcbi8vICAgfVxuLy8gICBpZHggPSAwXG4vLyAgIHdoaWxlIChpZHggPCBsZW4yKSB7XG4vLyAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGhdID0gc2V0MltpZHhdXG4vLyAgICAgaWR4ICs9IDFcbi8vICAgfVxuLy8gICByZXR1cm4gcmVzdWx0XG4vLyB9XG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCbEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxTQUFBLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxBQUFHLFNBQUEsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9