'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getReadableStream = getReadableStream;
var Readable = require('stream').Readable;
/**
* Returns a readable stream which outputs each one of the Harray elements.
* @see {@link https://nodejs.org/api/stream.html| NodeJS Streams Documentation}
* @name Harray#getReadableStream
* @method
* @param {Number} [startIndex] - The index to start from when outputting content. Defaults to 0.
* @example
* // Prints an odd number to the console every two seconds
* let harr = new Harray(1, 3);
* let positiveOddsStream = harr.getReadableStream();
*
* positiveOddsStream.on('data', function(chunk) {
* positiveOddsStream.pause();
* console.log(chunk.toString());
* setTimeout(function() {
* positiveOddsStream.resume();
* }, 2000);
* });
*/
function getReadableStream(startIndex) {
var _this = this;
var rs = Readable();
var i = typeof startIndex === 'number' ? startIndex : 0;
rs._read = function () {
rs.push(new Buffer('' + _this.get(i++)));
};
return rs;
}