'use strict'; import concat from './internal/concat'; import doParallel from './internal/doParallel'; /** * Applies `iteratee` to each item in `coll`, concatenating the results. Returns * the concatenated list. The `iteratee`s are called in parallel, and the * results are concatenated as they return. There is no guarantee that the * results array will be returned in the original order of `coll` passed to the * `iteratee` function. * * @name concat * @static * @memberOf async * @category Collection * @param {Array|Object} coll - A collection to iterate over. * @param {Function} iteratee - A function to apply to each item in `coll`. * The iteratee is passed a `callback(err, results)` which must be called once * it has completed with an error (which can be `null`) and an array of results. * Invoked with (item, callback). * @param {Function} [callback(err)] - A callback which is called after all the * `iteratee` functions have finished, or an error occurs. Results is an array * containing the concatenated results of the `iteratee` function. Invoked with * (err, results). * @example * * async.concat(['dir1','dir2','dir3'], fs.readdir, function(err, files) { * // files is now a list of filenames that exist in the 3 directories * }); */ export default doParallel(concat);