| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- var streamify = require('./streamify.js')
 
-   , defer     = require('./defer.js')
 
-   ;
 
- // API
 
- module.exports = ReadableAsyncKit;
 
- /**
 
-  * Base constructor for all streams
 
-  * used to hold properties/methods
 
-  */
 
- function ReadableAsyncKit()
 
- {
 
-   ReadableAsyncKit.super_.apply(this, arguments);
 
-   // list of active jobs
 
-   this.jobs = {};
 
-   // add stream methods
 
-   this.destroy = destroy;
 
-   this._start  = _start;
 
-   this._read   = _read;
 
- }
 
- /**
 
-  * Destroys readable stream,
 
-  * by aborting outstanding jobs
 
-  *
 
-  * @returns {void}
 
-  */
 
- function destroy()
 
- {
 
-   if (this.destroyed)
 
-   {
 
-     return;
 
-   }
 
-   this.destroyed = true;
 
-   if (typeof this.terminator == 'function')
 
-   {
 
-     this.terminator();
 
-   }
 
- }
 
- /**
 
-  * Starts provided jobs in async manner
 
-  *
 
-  * @private
 
-  */
 
- function _start()
 
- {
 
-   // first argument – runner function
 
-   var runner = arguments[0]
 
-     // take away first argument
 
-     , args   = Array.prototype.slice.call(arguments, 1)
 
-       // second argument - input data
 
-     , input  = args[0]
 
-       // last argument - result callback
 
-     , endCb  = streamify.callback.call(this, args[args.length - 1])
 
-     ;
 
-   args[args.length - 1] = endCb;
 
-   // third argument - iterator
 
-   args[1] = streamify.iterator.call(this, args[1]);
 
-   // allow time for proper setup
 
-   defer(function()
 
-   {
 
-     if (!this.destroyed)
 
-     {
 
-       this.terminator = runner.apply(null, args);
 
-     }
 
-     else
 
-     {
 
-       endCb(null, Array.isArray(input) ? [] : {});
 
-     }
 
-   }.bind(this));
 
- }
 
- /**
 
-  * Implement _read to comply with Readable streams
 
-  * Doesn't really make sense for flowing object mode
 
-  *
 
-  * @private
 
-  */
 
- function _read()
 
- {
 
- }
 
 
  |