Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x 1x 1x 1x 11x 10x 9x 9x 1x | const { asyncMap } = require('./async-map'), { asyncSort } = require('./async-sort'), { compareByUnicode } = require('./helpers'), { validateIsIterable, validateIsFunction } = require('./validation'); /** * Async Map Sort * * Map asynchronously, then sort asynchronously * (although you should use a synchronous function here if possible) * then resolve * alternatively reject at the first error * @async * @param {any[]} iterable * @param {Function} mappingFunction - mappingFunction(currentValue, index, array) * @param {Function} [comparisonFunction=compareByUnicode] * @return {Promise<any[]>} * @throws {TypeError} */ async function asyncMapSort( iterable, mappingFunction, comparisonFunction = compareByUnicode ) { validateIsIterable(iterable); validateIsFunction(mappingFunction); validateIsFunction(comparisonFunction); return asyncSort( await asyncMap(iterable, mappingFunction), comparisonFunction ); } module.exports = { asyncMapSort }; |