Allows libraries to handle various caller provided asynchronous functions uniformly. Maps promises, observables, child processes and streams, and callbacks to callback style.
Compose your async functions with elegance.
- function composition
- error handling
Is function really asynchronous function? Trying to guess that based on check if [common-callback-names] exists as function arguments names or you can pass your custom.
Handle completion and errors with elegance! Support for streams, callbacks, promises, child processes, async/await and sync functions. A drop-in replacement for [async-done] - pass 100% of its tests plus more
Returns true if function is a callback. Checks its name is one of [common-callback-names] - callback, cb, cb_, callback_, next, done, they can be customized, these are default.
Low-level package to handle completion and errors of sync or asynchronous functions, using [once] and [dezalgo] libs. Useful for and used in higher-level libs such as [always-done] to handle completion of anything.