'use strict';12Object.defineProperty(exports, "__esModule", {3value: true4});56var _concatLimit = require('./concatLimit.js');78var _concatLimit2 = _interopRequireDefault(_concatLimit);910var _awaitify = require('./internal/awaitify.js');1112var _awaitify2 = _interopRequireDefault(_awaitify);1314function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }1516/**17* Applies `iteratee` to each item in `coll`, concatenating the results. Returns18* the concatenated list. The `iteratee`s are called in parallel, and the19* results are concatenated as they return. The results array will be returned in20* the original order of `coll` passed to the `iteratee` function.21*22* @name concat23* @static24* @memberOf module:Collections25* @method26* @category Collection27* @alias flatMap28* @param {Array|Iterable|AsyncIterable|Object} coll - A collection to iterate over.29* @param {AsyncFunction} iteratee - A function to apply to each item in `coll`,30* which should use an array as its result. Invoked with (item, callback).31* @param {Function} [callback] - A callback which is called after all the32* `iteratee` functions have finished, or an error occurs. Results is an array33* containing the concatenated results of the `iteratee` function. Invoked with34* (err, results).35* @returns A Promise, if no callback is passed36* @example37*38* // dir1 is a directory that contains file1.txt, file2.txt39* // dir2 is a directory that contains file3.txt, file4.txt40* // dir3 is a directory that contains file5.txt41* // dir4 does not exist42*43* let directoryList = ['dir1','dir2','dir3'];44* let withMissingDirectoryList = ['dir1','dir2','dir3', 'dir4'];45*46* // Using callbacks47* async.concat(directoryList, fs.readdir, function(err, results) {48* if (err) {49* console.log(err);50* } else {51* console.log(results);52* // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]53* }54* });55*56* // Error Handling57* async.concat(withMissingDirectoryList, fs.readdir, function(err, results) {58* if (err) {59* console.log(err);60* // [ Error: ENOENT: no such file or directory ]61* // since dir4 does not exist62* } else {63* console.log(results);64* }65* });66*67* // Using Promises68* async.concat(directoryList, fs.readdir)69* .then(results => {70* console.log(results);71* // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]72* }).catch(err => {73* console.log(err);74* });75*76* // Error Handling77* async.concat(withMissingDirectoryList, fs.readdir)78* .then(results => {79* console.log(results);80* }).catch(err => {81* console.log(err);82* // [ Error: ENOENT: no such file or directory ]83* // since dir4 does not exist84* });85*86* // Using async/await87* async () => {88* try {89* let results = await async.concat(directoryList, fs.readdir);90* console.log(results);91* // [ 'file1.txt', 'file2.txt', 'file3.txt', 'file4.txt', file5.txt ]92* } catch (err) {93* console.log(err);94* }95* }96*97* // Error Handling98* async () => {99* try {100* let results = await async.concat(withMissingDirectoryList, fs.readdir);101* console.log(results);102* } catch (err) {103* console.log(err);104* // [ Error: ENOENT: no such file or directory ]105* // since dir4 does not exist106* }107* }108*109*/110function concat(coll, iteratee, callback) {111return (0, _concatLimit2.default)(coll, Infinity, iteratee, callback);112}113exports.default = (0, _awaitify2.default)(concat, 3);114module.exports = exports['default'];115116