%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const stream = require('stream'); function test(throwCodeInbetween) { // Check that a pipe does not stall if .read() is called unexpectedly // (i.e. the stream is not resumed by the pipe). const n = 1000; let counter = n; const rs = stream.Readable({ objectMode: true, read: common.mustCallAtLeast(() => { if (--counter >= 0) rs.push({ counter }); else rs.push(null); }, n) }); const ws = stream.Writable({ objectMode: true, write: common.mustCall((data, enc, cb) => { setImmediate(cb); }, n) }); setImmediate(() => throwCodeInbetween(rs, ws)); rs.pipe(ws); } test((rs) => rs.read()); test((rs) => rs.resume()); test(() => 0);