asyncdi
checks whether a function is meant to be called asynchronously by
detecting the name of its last argument.
It then provides a consistent calling interface as well as introspection info about the expected arguments.
npm install asyncdi
See the tests for example usage.