This is one-method library, which main purpose is ability to run provided to this method asynchronous functions in a queue one by one. Please notice, that all provided functions should return a promise and they should be asynchronous. Support for simple functions is not yet implemented, but planned.
Here's just a spec example.
it 'calls callbacks in a queue one by one'asyncFn1 = sinonspy=>dfd = new $DeferredsetTimeout ->dfdresolve700dfdpromiseasyncFn2 = sinonspy=>dfd = new $DeferredsetTimeout ->dfdresolve300dfdpromiseasyncFn3 = sinonspy=>dfd = new $DeferredsetTimeout ->dfdresolve100dfdpromiseAsyncFnaddToCallQueue asyncFn1AsyncFnaddToCallQueue asyncFn2AsyncFnaddToCallQueue asyncFn3expectasyncFn2tobenotcalledexpectasyncFn3tobenotcalledsetTimeout ->expectasyncFn1tobecalledOnceexpectasyncFn2tobecalledOnceexpectasyncFn3tobecalledOnceexpectasyncFn1tobecalledBefore asyncFn2expectasyncFn2tobecalledBefore asyncFn3done1500