diff options
Diffstat (limited to 'docs/src/callback.js')
| -rw-r--r-- | docs/src/callback.js | 69 | 
1 files changed, 0 insertions, 69 deletions
| diff --git a/docs/src/callback.js b/docs/src/callback.js deleted file mode 100644 index aaf69cde..00000000 --- a/docs/src/callback.js +++ /dev/null @@ -1,69 +0,0 @@ -function noop(){} - -function chain(delegateFn, explicitDone){ -  var onDoneFn = noop; -  var onErrorFn = function(e){ -    console.error(e.stack || e); -    process.exit(-1); -  }; -  var waitForCount = 1; -  delegateFn = delegateFn || noop; -  var stackError = new Error('capture stack'); - -  function decrementWaitFor() { -    waitForCount--; -    if (waitForCount == 0) -      onDoneFn(); -  } - -  function self(){ -    try { -      return delegateFn.apply(self, arguments); -    } catch (error) { -      self.error(error); -    } finally { -      if (!explicitDone) -        decrementWaitFor(); -    } -  }; -  self.onDone = function(callback){ -    onDoneFn = callback; -    return self; -  }; -  self.onError = function(callback){ -    onErrorFn = callback; -    return self; -  }; -  self.waitFor = function(callback){ -    if (waitForCount == 0) -      throw new Error("Can not wait on already called callback."); -    waitForCount++; -    return chain(callback).onDone(decrementWaitFor).onError(self.error); -  }; - -  self.waitMany = function(callback){ -    if (waitForCount == 0) -      throw new Error("Can not wait on already called callback."); -    waitForCount++; -    return chain(callback, true).onDone(decrementWaitFor).onError(self.error); -  }; - -  self.done = function(callback){ -    decrementWaitFor(); -  }; - -  self.error = function(error) { -    var stack = stackError.stack.split(/\n\r?/).splice(2); -    var nakedStack = []; -    stack.forEach(function(frame){ -      if (!frame.match(/callback\.js:\d+:\d+\)$/)) -        nakedStack.push(frame); -    }); -    error.stack = error.stack + '\nCalled from:\n' + nakedStack.join('\n'); -    onErrorFn(error); -  }; - -  return self; -} - -exports.chain = chain; | 
