## Usage
```javascript
var ns = require( '@stdlib/utils/async' );
```
#### ns
Standard library async utilities.
```javascript
var o = ns;
// returns {...}
```
- [`anyByRightAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/any-by-right]: test whether at least one element in a collection passes a test implemented by a predicate function, iterating from right to left.
- [`anyByAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/any-by]: test whether at least one element in a collection passes a test implemented by a predicate function.
- [`bifurcateByAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/bifurcate-by]: split values into two groups according to a predicate function.
- [`composeAsync( ...fcn )`][@stdlib/utils/async/compose]: function composition.
- [`countByAsync( collection, [options,] indicator, done )`][@stdlib/utils/async/count-by]: group values according to an indicator function and return group counts.
- [`doUntilAsync( fcn, predicate, done[, thisArg ] )`][@stdlib/utils/async/do-until]: invoke a function until a test condition is true.
- [`doWhileAsync( fcn, predicate, done[, thisArg ] )`][@stdlib/utils/async/do-while]: invoke a function while a test condition is true.
- [`everyByRightAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/every-by-right]: test whether all elements in a collection pass a test implemented by a predicate function, iterating from right to left.
- [`everyByAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/every-by]: test whether all elements in a collection pass a test implemented by a predicate function.
- [`forEachRightAsync( collection, [options,] fcn, done )`][@stdlib/utils/async/for-each-right]: invoke a function once for each element in a collection, iterating from right to left.
- [`forEachAsync( collection, [options,] fcn, done )`][@stdlib/utils/async/for-each]: invoke a function once for each element in a collection.
- [`functionSequenceAsync( ...fcn )`][@stdlib/utils/async/function-sequence]: function sequence.
- [`groupByAsync( collection, [options,] indicator, done )`][@stdlib/utils/async/group-by]: group values according to an indicator function.
- [`ifelseAsync( predicate, x, y, done )`][@stdlib/utils/async/if-else]: if a predicate function returns a truthy value, return `x`; otherwise, return `y`.
- [`ifthenAsync( predicate, x, y, done )`][@stdlib/utils/async/if-then]: if a predicate function returns a truthy value, invoke `x`; otherwise, invoke `y`.
- [`inmapRightAsync( collection, [options,] fcn, done )`][@stdlib/utils/async/inmap-right]: invoke a function for each element in a collection and update the collection in-place, iterating from right to left.
- [`inmapAsync( collection, [options,] fcn, done )`][@stdlib/utils/async/inmap]: invoke a function for each element in a collection and update the collection in-place.
- [`mapFunAsync( fcn, n, [options,] done )`][@stdlib/utils/async/map-function]: invoke a function `n` times and return an array of accumulated function return values.
- [`mapKeysAsync( obj, [options,] transform, done )`][@stdlib/utils/async/map-keys]: map keys from one object to a new object having the same values.
- [`mapValuesAsync( obj, [options,] transform, done )`][@stdlib/utils/async/map-values]: map values from one object to a new object having the same keys.
- [`noneByRightAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/none-by-right]: test whether all elements in a collection fail a test implemented by a predicate function, iterating from right to left.
- [`noneByAsync( collection, [options,] predicate, done )`][@stdlib/utils/async/none-by]: test whether all elements in a collection fail a test implemented by a predicate function.
- [`reduceRightAsync( collection, initial, [options,] reducer, done )`][@stdlib/utils/async/reduce-right]: apply a function against an accumulator and each element in a collection and return the accumulated result, iterating from right to left.
- [`reduceAsync( collection, initial, [options,] reducer, done )`][@stdlib/utils/async/reduce]: apply a function against an accumulator and each element in a collection and return the accumulated result.
- [`waterfall( fcns, clbk[, thisArg] )`][@stdlib/utils/async/series-waterfall]: execute functions in series, passing the results of one function as arguments to the next function.
- [`someByRightAsync( collection, n, [options,] predicate, done )`][@stdlib/utils/async/some-by-right]: test whether a collection contains at least `n` elements which pass a test implemented by a predicate function, iterating from right to left.
- [`someByAsync( collection, n, [options,] predicate, done )`][@stdlib/utils/async/some-by]: test whether a collection contains at least `n` elements which pass a test implemented by a predicate function.
- [`tabulateByAsync( collection, [options,] indicator, done )`][@stdlib/utils/async/tabulate-by]: generate a frequency table according to an indicator function.
- [`trycatchAsync( x, y, done )`][@stdlib/utils/async/try-catch]: if a function does not return an error, invoke a callback with the function result; otherwise, invoke a callback with a value `y`.
- [`trythenAsync( x, y, done )`][@stdlib/utils/async/try-then]: if a function does not return an error, invoke a callback with the function result; otherwise, invoke a second function.
- [`untilAsync( predicate, fcn, done[, thisArg ] )`][@stdlib/utils/async/until]: invoke a function until a test condition is true.
- [`whileAsync( predicate, fcn, done[, thisArg ] )`][@stdlib/utils/async/while]: invoke a function while a test condition is true.