gensync

Allows users to use generators in order to write common functions that can be both sync or async.

async-done

Allows libraries to handle various caller provided asynchronous functions uniformly. Maps promises, observables, child processes and streams, and callbacks to callback style.

promiseback

Accept an optional node-style callback, and also return a spec-compliant Promise!