peek-readable
Advanced tools
Comparing version 3.1.4 to 4.0.0
@@ -19,20 +19,20 @@ /// <reference types="node" /> | ||
* Read ahead (peek) from stream. Subsequent read or peeks will return the same data | ||
* @param buffer - Buffer to store data read from stream in | ||
* @param offset - Offset buffer | ||
* @param uint8Array - Uint8Array (or Buffer) to store data read from stream in | ||
* @param offset - Offset target | ||
* @param length - Number of bytes to read | ||
* @returns Number of bytes peeked | ||
*/ | ||
peek(buffer: Buffer | Uint8Array, offset: number, length: number): Promise<number>; | ||
peek(uint8Array: Uint8Array, offset: number, length: number): Promise<number>; | ||
/** | ||
* Read chunk from stream | ||
* @param buffer - Target buffer to store data read from stream in | ||
* @param offset - Offset of target buffer | ||
* @param buffer - Target Uint8Array (or Buffer) to store data read from stream in | ||
* @param offset - Offset target | ||
* @param length - Number of bytes to read | ||
* @returns Number of bytes read | ||
*/ | ||
read(buffer: Buffer | Uint8Array, offset: number, length: number): Promise<number>; | ||
read(buffer: Uint8Array, offset: number, length: number): Promise<number>; | ||
/** | ||
* Read chunk from stream | ||
* @param buffer Buffer to store data read from stream in | ||
* @param offset Offset buffer | ||
* @param buffer Target Uint8Array (or Buffer) to store data read from stream in | ||
* @param offset Offset target | ||
* @param length Number of bytes to read | ||
@@ -39,0 +39,0 @@ * @returns Number of bytes read |
@@ -34,10 +34,10 @@ "use strict"; | ||
* Read ahead (peek) from stream. Subsequent read or peeks will return the same data | ||
* @param buffer - Buffer to store data read from stream in | ||
* @param offset - Offset buffer | ||
* @param uint8Array - Uint8Array (or Buffer) to store data read from stream in | ||
* @param offset - Offset target | ||
* @param length - Number of bytes to read | ||
* @returns Number of bytes peeked | ||
*/ | ||
async peek(buffer, offset, length) { | ||
const bytesRead = await this.read(buffer, offset, length); | ||
this.peekQueue.push(buffer.slice(offset, offset + bytesRead)); // Put read data back to peek buffer | ||
async peek(uint8Array, offset, length) { | ||
const bytesRead = await this.read(uint8Array, offset, length); | ||
this.peekQueue.push(uint8Array.subarray(offset, offset + bytesRead)); // Put read data back to peek buffer | ||
return bytesRead; | ||
@@ -47,4 +47,4 @@ } | ||
* Read chunk from stream | ||
* @param buffer - Target buffer to store data read from stream in | ||
* @param offset - Offset of target buffer | ||
* @param buffer - Target Uint8Array (or Buffer) to store data read from stream in | ||
* @param offset - Offset target | ||
* @param length - Number of bytes to read | ||
@@ -66,3 +66,3 @@ * @returns Number of bytes read | ||
const lenCopy = Math.min(peekData.length, remaining); | ||
peekData.copy(buffer, offset + bytesRead, 0, lenCopy); | ||
buffer.set(peekData.subarray(0, lenCopy), offset + bytesRead); | ||
bytesRead += lenCopy; | ||
@@ -72,3 +72,3 @@ remaining -= lenCopy; | ||
// remainder back to queue | ||
this.peekQueue.push(peekData.slice(lenCopy)); | ||
this.peekQueue.push(peekData.subarray(lenCopy)); | ||
} | ||
@@ -89,4 +89,4 @@ } | ||
* Read chunk from stream | ||
* @param buffer Buffer to store data read from stream in | ||
* @param offset Offset buffer | ||
* @param buffer Target Uint8Array (or Buffer) to store data read from stream in | ||
* @param offset Offset target | ||
* @param length Number of bytes to read | ||
@@ -100,3 +100,3 @@ * @returns Number of bytes read | ||
if (readBuffer) { | ||
readBuffer.copy(buffer, offset); | ||
buffer.set(readBuffer, offset); | ||
return readBuffer.length; | ||
@@ -124,3 +124,3 @@ } | ||
if (readBuffer) { | ||
readBuffer.copy(this.request.buffer, this.request.offset); | ||
this.request.buffer.set(readBuffer, this.request.offset); | ||
this.request.deferred.resolve(readBuffer.length); | ||
@@ -127,0 +127,0 @@ this.request = null; |
{ | ||
"name": "peek-readable", | ||
"version": "3.1.4", | ||
"version": "4.0.0", | ||
"description": "Read and peek from a readable stream", | ||
@@ -46,9 +46,9 @@ "author": { | ||
"@types/mocha": "^8.2.3", | ||
"@types/node": "^16.3.1", | ||
"@typescript-eslint/eslint-plugin": "^4.28.2", | ||
"@typescript-eslint/parser": "^4.28.2", | ||
"@types/node": "^16.3.2", | ||
"@typescript-eslint/eslint-plugin": "^4.28.3", | ||
"@typescript-eslint/parser": "^4.28.3", | ||
"add": "^2.0.6", | ||
"chai": "^4.3.4", | ||
"coveralls": "^3.1.1", | ||
"del-cli": "^4.0.0", | ||
"del-cli": "^4.0.1", | ||
"eslint": "^7.30.0", | ||
@@ -55,0 +55,0 @@ "mocha": "^9.0.2", |
@@ -42,8 +42,6 @@ ![Node.js CI](https://github.com/Borewit/peek-readable/workflows/Node.js%20CI/badge.svg) | ||
(async () => { | ||
const fileReadStream = fs.createReadStream('JPEG_example_JPG_RIP_001.jpg'); | ||
const streamReader = new StreamReader(fileReadStream); | ||
const buffer = Buffer.alloc(16); | ||
const bytesRead = await streamReader.read(buffer, 0, 16); | ||
const readable = fs.createReadStream('JPEG_example_JPG_RIP_001.jpg'); | ||
const streamReader = new StreamReader(readable); | ||
const uint8Array = new Uint8Array(16); | ||
const bytesRead = await streamReader.read(uint8Array, 0, 16);; | ||
// buffer contains 16 bytes, if the end-of-stream has not been reached | ||
@@ -59,3 +57,3 @@ })(); | ||
const streamReader = new StreamReader(fileReadStream); | ||
const buffer = Buffer.alloc(16); | ||
const buffer = Buffer.alloc(16); // or use: new Uint8Array(16); | ||
@@ -62,0 +60,0 @@ try { |
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
14481
94