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 | 1x 1x 1x 16x 15x 15x 14x 1x | const { validateIsFunction, validateIsIterable } = require('./validation'), { asyncQuickSort } = require('./async-quick-sort'), { compareByUnicode } = require('./helpers'); /** * Async Sort * * Asynchronously sorts and resolves when fully sorted * note that the object is sorted in place and no copy is made * @async * @param {any[]} iterable * @param {Function} [compare=compareByUnicode] - default is sort by item's unicode value * @return {Promise<iterable>} returns original iterable * @throws {TypeError} */ async function asyncSort(iterable, compare = compareByUnicode) { validateIsIterable(iterable); validateIsFunction(compare); await asyncQuickSort(iterable, 0, iterable.length - 1, compare); return iterable; } module.exports = { asyncSort }; |