stream-equal
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -10,2 +10,2 @@ import { Readable } from 'stream'; | ||
*/ | ||
export default _default; | ||
export = _default; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const stream_1 = require("stream"); | ||
/** | ||
* Tests that two readable streams are equal. | ||
* | ||
* @param {Readable} stream1 | ||
* @param {Readable} stream2 | ||
* @returns {boolean} | ||
*/ | ||
exports.default = (stream1, stream2) => new Promise((resolve, reject) => { | ||
const readStream1 = stream1.pipe(new stream_1.PassThrough({ objectMode: true })); | ||
const readStream2 = stream2.pipe(new stream_1.PassThrough({ objectMode: true })); | ||
const cleanup = (equal) => { | ||
stream1.removeListener('error', reject); | ||
readStream1.removeListener('end', onend1); | ||
readStream1.removeListener('readable', streamState1.read); | ||
stream2.removeListener('error', reject); | ||
readStream2.removeListener('end', onend2); | ||
readStream1.removeListener('readable', streamState2.read); | ||
resolve(equal); | ||
}; | ||
const streamState1 = { | ||
id: 1, | ||
stream: readStream1, | ||
data: null, | ||
pos: 0, | ||
ended: false, | ||
}; | ||
const streamState2 = { | ||
id: 2, | ||
stream: readStream2, | ||
data: null, | ||
pos: 0, | ||
ended: false, | ||
}; | ||
streamState1.read = createReadFn(streamState1, streamState2, cleanup); | ||
streamState2.read = createReadFn(streamState2, streamState1, cleanup); | ||
const onend1 = createOnEndFn(streamState1, streamState2, cleanup); | ||
const onend2 = createOnEndFn(streamState2, streamState1, cleanup); | ||
stream1.on('error', reject); | ||
readStream1.on('end', onend1); | ||
stream2.on('error', reject); | ||
readStream2.on('end', onend2); | ||
// Start by reading from the first stream. | ||
streamState1.stream.once('readable', streamState1.read); | ||
}); | ||
/** | ||
* Returns a function that compares emitted `read()` call with that of the | ||
@@ -124,2 +79,39 @@ * most recent `read` call from another stream. | ||
}; | ||
module.exports = (stream1, stream2) => new Promise((resolve, reject) => { | ||
const readStream1 = stream1.pipe(new stream_1.PassThrough({ objectMode: true })); | ||
const readStream2 = stream2.pipe(new stream_1.PassThrough({ objectMode: true })); | ||
const cleanup = (equal) => { | ||
stream1.removeListener('error', reject); | ||
readStream1.removeListener('end', onend1); | ||
readStream1.removeListener('readable', streamState1.read); | ||
stream2.removeListener('error', reject); | ||
readStream2.removeListener('end', onend2); | ||
readStream1.removeListener('readable', streamState2.read); | ||
resolve(equal); | ||
}; | ||
const streamState1 = { | ||
id: 1, | ||
stream: readStream1, | ||
data: null, | ||
pos: 0, | ||
ended: false, | ||
}; | ||
const streamState2 = { | ||
id: 2, | ||
stream: readStream2, | ||
data: null, | ||
pos: 0, | ||
ended: false, | ||
}; | ||
streamState1.read = createReadFn(streamState1, streamState2, cleanup); | ||
streamState2.read = createReadFn(streamState2, streamState1, cleanup); | ||
const onend1 = createOnEndFn(streamState1, streamState2, cleanup); | ||
const onend2 = createOnEndFn(streamState2, streamState1, cleanup); | ||
stream1.on('error', reject); | ||
readStream1.on('end', onend1); | ||
stream2.on('error', reject); | ||
readStream2.on('end', onend2); | ||
// Start by reading from the first stream. | ||
streamState1.stream.once('readable', streamState1.read); | ||
}); | ||
//# sourceMappingURL=index.js.map |
@@ -12,3 +12,3 @@ { | ||
], | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"repository": { | ||
@@ -24,2 +24,3 @@ "type": "git", | ||
"scripts": { | ||
"prepare": "tsc -p tsconfig.build.json", | ||
"build": "tsc -p tsconfig.build.json", | ||
@@ -26,0 +27,0 @@ "test": "nyc --extension .ts --reporter=lcov --reporter=text-summary npm run test:unit", |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
11244
125