then-read-stream
Advanced tools
Comparing version 0.9.6 to 1.0.0
/// <reference types="node" /> | ||
import * as stream from "stream"; | ||
/** | ||
* Used to reject read if end-of-stream has been reached | ||
* @type {Error} | ||
*/ | ||
export declare const EndOfStream: Error; | ||
export declare class StreamReader { | ||
private s; | ||
/** | ||
* Used to reject read if end-of-stream has been reached | ||
* @type {Error} | ||
*/ | ||
static EndOfStream: Error; | ||
/** | ||
* Deferred read request | ||
@@ -12,0 +12,0 @@ */ |
@@ -13,2 +13,7 @@ "use strict"; | ||
}()); | ||
/** | ||
* Used to reject read if end-of-stream has been reached | ||
* @type {Error} | ||
*/ | ||
exports.EndOfStream = new Error("End-Of-Stream"); | ||
var StreamReader = /** @class */ (function () { | ||
@@ -27,3 +32,3 @@ function StreamReader(s) { | ||
if (_this.request) { | ||
_this.request.deferred.reject(StreamReader.EndOfStream); | ||
_this.request.deferred.reject(exports.EndOfStream); | ||
_this.request = null; | ||
@@ -43,3 +48,3 @@ } | ||
var _this = this; | ||
return this._read(buffer, offset, length).then(function (bytesRead) { | ||
return this.read(buffer, offset, length).then(function (bytesRead) { | ||
_this.peekQueue.push(buffer.slice(offset, length)); | ||
@@ -70,2 +75,8 @@ return bytesRead; | ||
return peekData_1.length + bytesRead; | ||
}).catch(function (err) { | ||
if (err === exports.EndOfStream) { | ||
return peekData_1.length; // Return partial read | ||
} | ||
else | ||
throw err; | ||
}); | ||
@@ -90,3 +101,3 @@ } | ||
if (this.endOfStream) { | ||
return Promise.reject(StreamReader.EndOfStream); | ||
return Promise.reject(exports.EndOfStream); | ||
} | ||
@@ -130,9 +141,4 @@ var readBuffer = this.s.read(length); | ||
}; | ||
/** | ||
* Used to reject read if end-of-stream has been reached | ||
* @type {Error} | ||
*/ | ||
StreamReader.EndOfStream = new Error("End-Of-Stream"); | ||
return StreamReader; | ||
}()); | ||
exports.StreamReader = StreamReader; |
{ | ||
"name": "then-read-stream", | ||
"version": "0.9.6", | ||
"version": "1.0.0", | ||
"description": "Read from a readable stream just like a file", | ||
@@ -36,3 +36,3 @@ "author": { | ||
"@types/mocha": "^2.2.42", | ||
"@types/node": "^8.0.24", | ||
"@types/node": "^8.0.26", | ||
"chai": "^4.1.1", | ||
@@ -43,3 +43,3 @@ "coveralls": "^2.13.1", | ||
"ts-node": "^3.3.0", | ||
"tslint": "^5.6.0", | ||
"tslint": "^5.7.0", | ||
"typescript": "^2.5.1" | ||
@@ -46,0 +46,0 @@ }, |
@@ -8,3 +8,3 @@ [![Build Status](https://travis-ci.org/Borewit/then-read-stream.svg?branch=master)](https://travis-ci.org/Borewit/then-read-stream) | ||
A promise based asynchronous stream reader. | ||
A promise based asynchronous stream reader, which makes reading from a stream easy. | ||
@@ -11,0 +11,0 @@ Allows to read from a [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams) |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
99748
2996
1