play-dl-fix/docs/modules/_internal_.internal.html
2021-11-17 12:40:22 +05:30

90 lines
129 KiB
HTML

<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>internal | play-dl</title><meta name="description" content="Documentation for play-dl"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">play-dl</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">play-dl</a></li><li><a href="_internal_.html">&lt;internal&gt;</a></li><li><a href="_internal_.internal.html">internal</a></li></ul><h1>Namespace internal</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section tsd-is-external"><h3>Namespaces</h3><ul class="tsd-index-list"><li class="tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.finished.html" class="tsd-kind-icon">finished</a></li><li class="tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.pipeline.html" class="tsd-kind-icon">pipeline</a></li></ul></section><section class="tsd-index-section tsd-is-external"><h3>Classes</h3><ul class="tsd-index-list"><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Duplex.html" class="tsd-kind-icon">Duplex</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.PassThrough.html" class="tsd-kind-icon">Pass<wbr/>Through</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Readable.html" class="tsd-kind-icon">Readable</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Stream.html" class="tsd-kind-icon">Stream</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Transform.html" class="tsd-kind-icon">Transform</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Writable.html" class="tsd-kind-icon">Writable</a></li></ul></section><section class="tsd-index-section tsd-is-external"><h3>Interfaces</h3><ul class="tsd-index-list"><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.DuplexOptions.html" class="tsd-kind-icon">Duplex<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.FinishedOptions.html" class="tsd-kind-icon">Finished<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.Pipe.html" class="tsd-kind-icon">Pipe</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.PipelineOptions.html" class="tsd-kind-icon">Pipeline<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.ReadableOptions.html" class="tsd-kind-icon">Readable<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="../interfaces/_internal_.internal.StreamOptions.html" class="tsd-kind-icon">Stream<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.TransformOptions.html" class="tsd-kind-icon">Transform<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.WritableOptions.html" class="tsd-kind-icon">Writable<wbr/>Options</a></li></ul></section><section class="tsd-index-section tsd-is-external"><h3>Type aliases</h3><ul class="tsd-index-list"><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineCallback" class="tsd-kind-icon">Pipeline<wbr/>Callback</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineDestination" class="tsd-kind-icon">Pipeline<wbr/>Destination</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-kind-icon">Pipeline<wbr/>Destination<wbr/>Iterable<wbr/>Function</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-kind-icon">Pipeline<wbr/>Destination<wbr/>Promise<wbr/>Function</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelinePromise" class="tsd-kind-icon">Pipeline<wbr/>Promise</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineSource" class="tsd-kind-icon">Pipeline<wbr/>Source</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineSourceFunction" class="tsd-kind-icon">Pipeline<wbr/>Source<wbr/>Function</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineTransform" class="tsd-kind-icon">Pipeline<wbr/>Transform</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineTransformSource" class="tsd-kind-icon">Pipeline<wbr/>Transform<wbr/>Source</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#TransformCallback" class="tsd-kind-icon">Transform<wbr/>Callback</a></li></ul></section><section class="tsd-index-section tsd-is-external"><h3>Variables</h3><ul class="tsd-index-list"><li class="tsd-kind-variable tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#consumers" class="tsd-kind-icon">consumers</a></li><li class="tsd-kind-variable tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#promises" class="tsd-kind-icon">promises</a></li></ul></section><section class="tsd-index-section tsd-is-external"><h3>Functions</h3><ul class="tsd-index-list"><li class="tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#addAbortSignal" class="tsd-kind-icon">add<wbr/>Abort<wbr/>Signal</a></li><li class="tsd-kind-function tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#finished-1" class="tsd-kind-icon">finished</a></li><li class="tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#pipeline-1" class="tsd-kind-icon">pipeline</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group tsd-is-external"><h2>Type aliases</h2><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineCallback" class="tsd-anchor"></a><h3>Pipeline<wbr/>Callback</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Callback<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol"> extends </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">infer </span> P<span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol"> : </span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1024</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>S<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineDestination" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestination</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineDestination" class="tsd-anchor"></a><h3>Pipeline<wbr/>Destination</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Destination<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">P</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol"> extends </span><a href="_internal_.internal.html#PipelineTransformSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransformSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">infer </span> ST<span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> ? </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ST</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ST</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">P</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> : </span><span class="tsd-signature-type">never</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1021</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>S<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransformSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransformSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>P</h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineDestinationIterableFunction" class="tsd-anchor"></a><h3>Pipeline<wbr/>Destination<wbr/>Iterable<wbr/>Function</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Destination<wbr/>Iterable<wbr/>Function<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1019</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T</h4></li></ul><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineDestinationPromiseFunction" class="tsd-anchor"></a><h3>Pipeline<wbr/>Destination<wbr/>Promise<wbr/>Function</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Destination<wbr/>Promise<wbr/>Function<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">P</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Promise-1" class="tsd-signature-type" data-tsd-kind="Variable">Promise</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">P</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1020</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T</h4></li><li><h4>P</h4></li></ul><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Promise-1" class="tsd-signature-type" data-tsd-kind="Variable">Promise</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">P</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Promise-1" class="tsd-signature-type" data-tsd-kind="Variable">Promise</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">P</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelinePromise" class="tsd-anchor"></a><h3>Pipeline<wbr/>Promise</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Promise<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol"> extends </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-symbol">infer </span> P<span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> ? </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Promise-1" class="tsd-signature-type" data-tsd-kind="Variable">Promise</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> : </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Promise-1" class="tsd-signature-type" data-tsd-kind="Variable">Promise</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1027</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>S<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineDestination" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestination</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineSource" class="tsd-anchor"></a><h3>Pipeline<wbr/>Source</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Source<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_internal_.Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineSourceFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSourceFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1014</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T</h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineSourceFunction" class="tsd-anchor"></a><h3>Pipeline<wbr/>Source<wbr/>Function</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Source<wbr/>Function<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="../interfaces/_internal_.Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1013</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T</h4></li></ul><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="../interfaces/_internal_.Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul></li></ul></div></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineTransform" class="tsd-anchor"></a><h3>Pipeline<wbr/>Transform</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Transform<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">U</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>args<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="../interfaces/_internal_.Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">infer </span> ST<span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">infer </span> ST<span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> ? </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ST</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> : </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">S</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><a href="../interfaces/_internal_.AsyncIterable.html" class="tsd-signature-type" data-tsd-kind="Interface">AsyncIterable</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">U</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1015</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>S<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransformSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransformSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>U</h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="PipelineTransformSource" class="tsd-anchor"></a><h3>Pipeline<wbr/>Transform<wbr/>Source</h3><div class="tsd-signature tsd-kind-icon">Pipeline<wbr/>Transform<wbr/>Source<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">:</span> <a href="_internal_.internal.html#PipelineSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1018</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T</h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-namespace tsd-is-external"><a id="TransformCallback" class="tsd-anchor"></a><h3>Transform<wbr/>Callback</h3><div class="tsd-signature tsd-kind-icon">Transform<wbr/>Callback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>error<span class="tsd-signature-symbol">?: </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Error-1" class="tsd-signature-type" data-tsd-kind="Variable">Error</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, data<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:862</li></ul></aside><div class="tsd-type-declaration"><h4>Type declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>error<span class="tsd-signature-symbol">?: </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Error-1" class="tsd-signature-type" data-tsd-kind="Variable">Error</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, data<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> error: <a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Error-1" class="tsd-signature-type" data-tsd-kind="Variable">Error</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> data: <span class="tsd-signature-type">any</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div></section></section><section class="tsd-panel-group tsd-member-group tsd-is-external"><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace tsd-is-external"><a id="consumers" class="tsd-anchor"></a><h3>consumers</h3><div class="tsd-signature tsd-kind-icon">consumers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">typeof </span><a href="_internal_._node_stream_consumers_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&quot;node:stream/consumers&quot;</a></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1242</li></ul></aside></section><section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace tsd-is-external"><a id="promises" class="tsd-anchor"></a><h3>promises</h3><div class="tsd-signature tsd-kind-icon">promises<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">typeof </span><a href="_internal_._node_stream_promises_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&quot;node:stream/promises&quot;</a></div><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1241</li></ul></aside></section></section><section class="tsd-panel-group tsd-member-group tsd-is-external"><h2>Functions</h2><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="addAbortSignal" class="tsd-anchor"></a><h3>add<wbr/>Abort<wbr/>Signal</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><li class="tsd-signature tsd-kind-icon">add<wbr/>Abort<wbr/>Signal<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>signal<span class="tsd-signature-symbol">: </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#AbortSignal-1" class="tsd-signature-type" data-tsd-kind="Variable">AbortSignal</a>, stream<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:946</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>Attaches an AbortSignal to a readable or writeable stream. This lets code
control stream destruction using an <code>AbortController</code>.</p>
</div><div><p>Calling <code>abort</code> on the <code>AbortController</code> corresponding to the passed<code>AbortSignal</code> will behave the same way as calling <code>.destroy(new AbortError())</code>on the stream.</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">fs</span><span class="hl-0"> = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;fs&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">controller</span><span class="hl-0"> = </span><span class="hl-2">new</span><span class="hl-0"> </span><span class="hl-7">AbortController</span><span class="hl-0">();</span><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">read</span><span class="hl-0"> = </span><span class="hl-7">addAbortSignal</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-3">controller</span><span class="hl-0">.</span><span class="hl-3">signal</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">((</span><span class="hl-4">&#39;object.json&#39;</span><span class="hl-0">))</span><br/><span class="hl-0">);</span><br/><span class="hl-5">// Later, abort the operation closing the stream</span><br/><span class="hl-3">controller</span><span class="hl-0">.</span><span class="hl-7">abort</span><span class="hl-0">();</span>
</code></pre>
<p>Or using an <code>AbortSignal</code> with a readable stream as an async iterable:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">controller</span><span class="hl-0"> = </span><span class="hl-2">new</span><span class="hl-0"> </span><span class="hl-7">AbortController</span><span class="hl-0">();</span><br/><span class="hl-7">setTimeout</span><span class="hl-0">(() </span><span class="hl-2">=&gt;</span><span class="hl-0"> </span><span class="hl-3">controller</span><span class="hl-0">.</span><span class="hl-7">abort</span><span class="hl-0">(), </span><span class="hl-8">10_000</span><span class="hl-0">); </span><span class="hl-5">// set a timeout</span><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">stream</span><span class="hl-0"> = </span><span class="hl-7">addAbortSignal</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-3">controller</span><span class="hl-0">.</span><span class="hl-3">signal</span><span class="hl-0">,</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">((</span><span class="hl-4">&#39;object.json&#39;</span><span class="hl-0">))</span><br/><span class="hl-0">);</span><br/><span class="hl-0">(</span><span class="hl-2">async</span><span class="hl-0"> () </span><span class="hl-2">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">try</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">for</span><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> (</span><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">chunk</span><span class="hl-0"> </span><span class="hl-2">of</span><span class="hl-0"> </span><span class="hl-3">stream</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">process</span><span class="hl-0">(</span><span class="hl-3">chunk</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> } </span><span class="hl-1">catch</span><span class="hl-0"> (</span><span class="hl-3">e</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0"> (</span><span class="hl-3">e</span><span class="hl-0">.</span><span class="hl-3">name</span><span class="hl-0"> === </span><span class="hl-4">&#39;AbortError&#39;</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-5">// The operation was cancelled</span><br/><span class="hl-0"> } </span><span class="hl-1">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">throw</span><span class="hl-0"> </span><span class="hl-3">e</span><span class="hl-0">;</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">})();</span>
</code></pre>
</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v15.4.0</p>
</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>T<span class="tsd-signature-symbol">: </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="../classes/_internal_.Stream-2.html" class="tsd-signature-type" data-tsd-kind="Class">Stream</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>signal: <a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#AbortSignal-1" class="tsd-signature-type" data-tsd-kind="Variable">AbortSignal</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>A signal representing possible cancellation</p>
</div></div></li><li><h5>stream: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>a stream to attach a signal to</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span></h4></li></ul></section><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace tsd-is-external"><a id="finished-1" class="tsd-anchor"></a><h3>finished</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace tsd-is-external"><li class="tsd-signature tsd-kind-icon">finished<span class="tsd-signature-symbol">(</span>stream<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a>, options<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.internal.FinishedOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">FinishedOptions</a>, callback<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></li><li class="tsd-signature tsd-kind-icon">finished<span class="tsd-signature-symbol">(</span>stream<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a>, callback<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1008</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>A function to get notified when a stream is no longer readable, writable
or has experienced an error or a premature close event.</p>
</div><div><pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">finished</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">rs</span><span class="hl-0"> = </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-7">finished</span><span class="hl-0">(</span><span class="hl-3">rs</span><span class="hl-0">, (</span><span class="hl-3">err</span><span class="hl-0">) </span><span class="hl-2">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0"> (</span><span class="hl-3">err</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">error</span><span class="hl-0">(</span><span class="hl-4">&#39;Stream failed.&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-1">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Stream is done reading.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-3">rs</span><span class="hl-0">.</span><span class="hl-7">resume</span><span class="hl-0">(); </span><span class="hl-5">// Drain the stream.</span>
</code></pre>
<p>Especially useful in error handling scenarios where a stream is destroyed
prematurely (like an aborted HTTP request), and will not emit <code>&#39;end&#39;</code>or <code>&#39;finish&#39;</code>.</p>
<p>The <code>finished</code> API provides promise version:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">finished</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream/promises&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">rs</span><span class="hl-0"> = </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0">() {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">finished</span><span class="hl-0">(</span><span class="hl-3">rs</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Stream is done reading.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-7">run</span><span class="hl-0">().</span><span class="hl-7">catch</span><span class="hl-0">(</span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">);</span><br/><span class="hl-3">rs</span><span class="hl-0">.</span><span class="hl-7">resume</span><span class="hl-0">(); </span><span class="hl-5">// Drain the stream.</span>
</code></pre>
<p><code>stream.finished()</code> leaves dangling event listeners (in particular<code>&#39;error&#39;</code>, <code>&#39;end&#39;</code>, <code>&#39;finish&#39;</code> and <code>&#39;close&#39;</code>) after <code>callback</code> has been
invoked. The reason for this is so that unexpected <code>&#39;error&#39;</code> events (due to
incorrect stream implementations) do not cause unexpected crashes.
If this is unwanted behavior then the returned cleanup function needs to be
invoked in the callback:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">cleanup</span><span class="hl-0"> = </span><span class="hl-7">finished</span><span class="hl-0">(</span><span class="hl-3">rs</span><span class="hl-0">, (</span><span class="hl-3">err</span><span class="hl-0">) </span><span class="hl-2">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">cleanup</span><span class="hl-0">();</span><br/><span class="hl-0"> </span><span class="hl-5">// ...</span><br/><span class="hl-0">});</span>
</code></pre>
</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v10.0.0</p>
</dd></dl></div><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>stream: <a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>A readable and/or writable stream.</p>
</div></div></li><li><h5>options: <a href="../interfaces/_internal_.internal.FinishedOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">FinishedOptions</a></h5></li><li><h5>callback: <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>A callback function that takes an optional error argument.</p>
</div></div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> err: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h4><div><p>A cleanup function which removes all registered listeners.</p>
</div><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><div class="tsd-comment tsd-typography"><div class="lead">
<p>A function to get notified when a stream is no longer readable, writable
or has experienced an error or a premature close event.</p>
</div><div><pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">finished</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">rs</span><span class="hl-0"> = </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-7">finished</span><span class="hl-0">(</span><span class="hl-3">rs</span><span class="hl-0">, (</span><span class="hl-3">err</span><span class="hl-0">) </span><span class="hl-2">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0"> (</span><span class="hl-3">err</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">error</span><span class="hl-0">(</span><span class="hl-4">&#39;Stream failed.&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-1">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Stream is done reading.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">});</span><br/><br/><span class="hl-3">rs</span><span class="hl-0">.</span><span class="hl-7">resume</span><span class="hl-0">(); </span><span class="hl-5">// Drain the stream.</span>
</code></pre>
<p>Especially useful in error handling scenarios where a stream is destroyed
prematurely (like an aborted HTTP request), and will not emit <code>&#39;end&#39;</code>or <code>&#39;finish&#39;</code>.</p>
<p>The <code>finished</code> API provides promise version:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">finished</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream/promises&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">rs</span><span class="hl-0"> = </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0">() {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">finished</span><span class="hl-0">(</span><span class="hl-3">rs</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Stream is done reading.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-7">run</span><span class="hl-0">().</span><span class="hl-7">catch</span><span class="hl-0">(</span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">);</span><br/><span class="hl-3">rs</span><span class="hl-0">.</span><span class="hl-7">resume</span><span class="hl-0">(); </span><span class="hl-5">// Drain the stream.</span>
</code></pre>
<p><code>stream.finished()</code> leaves dangling event listeners (in particular<code>&#39;error&#39;</code>, <code>&#39;end&#39;</code>, <code>&#39;finish&#39;</code> and <code>&#39;close&#39;</code>) after <code>callback</code> has been
invoked. The reason for this is so that unexpected <code>&#39;error&#39;</code> events (due to
incorrect stream implementations) do not cause unexpected crashes.
If this is unwanted behavior then the returned cleanup function needs to be
invoked in the callback:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">cleanup</span><span class="hl-0"> = </span><span class="hl-7">finished</span><span class="hl-0">(</span><span class="hl-3">rs</span><span class="hl-0">, (</span><span class="hl-3">err</span><span class="hl-0">) </span><span class="hl-2">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-7">cleanup</span><span class="hl-0">();</span><br/><span class="hl-0"> </span><span class="hl-5">// ...</span><br/><span class="hl-0">});</span>
</code></pre>
</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v10.0.0</p>
</dd></dl></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div><p>A cleanup function which removes all registered listeners.</p>
</div></li></ul></li></ul></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1009</li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>stream: <a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a></h5></li><li><h5>callback: <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> err: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></section><section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a id="pipeline-1" class="tsd-anchor"></a><h3>pipeline</h3><ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span>, destination<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span>, callback<span class="tsd-signature-symbol">?: </span><a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span>, transform1<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span>, destination<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span>, callback<span class="tsd-signature-symbol">?: </span><a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span>, transform1<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span>, transform2<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span>, destination<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span>, callback<span class="tsd-signature-symbol">?: </span><a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span>, transform1<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span>, transform2<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span>, transform3<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span>, destination<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span>, callback<span class="tsd-signature-symbol">?: </span><a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T4</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>source<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span>, transform1<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span>, transform2<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span>, transform3<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span>, transform4<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T4</span>, destination<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span>, callback<span class="tsd-signature-symbol">?: </span><a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">(</span>streams<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">readonly </span><span class="tsd-signature-symbol">(</span><a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span>, callback<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li><li class="tsd-signature tsd-kind-icon">pipeline<span class="tsd-signature-symbol">(</span>stream1<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a>, stream2<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a>, <span class="tsd-signature-symbol">...</span>streams<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1156</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
<p>A module method to pipe between streams and generators forwarding errors and
properly cleaning up and provide a callback when the pipeline is complete.</p>
</div><div><pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">pipeline</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream&#39;</span><span class="hl-0">);</span><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">fs</span><span class="hl-0"> = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;fs&#39;</span><span class="hl-0">);</span><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">zlib</span><span class="hl-0"> = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;zlib&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-5">// Use the pipeline API to easily pipe a series of streams</span><br/><span class="hl-5">// together and get notified when the pipeline is fully done.</span><br/><br/><span class="hl-5">// A pipeline to gzip a potentially huge tar file efficiently:</span><br/><br/><span class="hl-7">pipeline</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">),</span><br/><span class="hl-0"> </span><span class="hl-3">zlib</span><span class="hl-0">.</span><span class="hl-7">createGzip</span><span class="hl-0">(),</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createWriteStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar.gz&#39;</span><span class="hl-0">),</span><br/><span class="hl-0"> (</span><span class="hl-3">err</span><span class="hl-0">) </span><span class="hl-2">=&gt;</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-1">if</span><span class="hl-0"> (</span><span class="hl-3">err</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">error</span><span class="hl-0">(</span><span class="hl-4">&#39;Pipeline failed.&#39;</span><span class="hl-0">, </span><span class="hl-3">err</span><span class="hl-0">);</span><br/><span class="hl-0"> } </span><span class="hl-1">else</span><span class="hl-0"> {</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Pipeline succeeded.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> }</span><br/><span class="hl-0">);</span>
</code></pre>
<p>The <code>pipeline</code> API provides a promise version, which can also
receive an options argument as the last parameter with a<code>signal</code> <code>AbortSignal</code> property. When the signal is aborted,<code>destroy</code> will be called on the underlying pipeline, with
an<code>AbortError</code>.</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">pipeline</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream/promises&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0">() {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">pipeline</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">),</span><br/><span class="hl-0"> </span><span class="hl-3">zlib</span><span class="hl-0">.</span><span class="hl-7">createGzip</span><span class="hl-0">(),</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createWriteStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar.gz&#39;</span><span class="hl-0">)</span><br/><span class="hl-0"> );</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Pipeline succeeded.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-7">run</span><span class="hl-0">().</span><span class="hl-7">catch</span><span class="hl-0">(</span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">);</span>
</code></pre>
<p>To use an <code>AbortSignal</code>, pass it inside an options object,
as the last argument:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">pipeline</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream/promises&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0">() {</span><br/><span class="hl-0"> </span><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">ac</span><span class="hl-0"> = </span><span class="hl-2">new</span><span class="hl-0"> </span><span class="hl-7">AbortController</span><span class="hl-0">();</span><br/><span class="hl-0"> </span><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">signal</span><span class="hl-0"> = </span><span class="hl-3">ac</span><span class="hl-0">.</span><span class="hl-3">signal</span><span class="hl-0">;</span><br/><br/><span class="hl-0"> </span><span class="hl-7">setTimeout</span><span class="hl-0">(() </span><span class="hl-2">=&gt;</span><span class="hl-0"> </span><span class="hl-3">ac</span><span class="hl-0">.</span><span class="hl-7">abort</span><span class="hl-0">(), </span><span class="hl-8">1</span><span class="hl-0">);</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">pipeline</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar&#39;</span><span class="hl-0">),</span><br/><span class="hl-0"> </span><span class="hl-3">zlib</span><span class="hl-0">.</span><span class="hl-7">createGzip</span><span class="hl-0">(),</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createWriteStream</span><span class="hl-0">(</span><span class="hl-4">&#39;archive.tar.gz&#39;</span><span class="hl-0">),</span><br/><span class="hl-0"> { </span><span class="hl-3">signal</span><span class="hl-0"> },</span><br/><span class="hl-0"> );</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-7">run</span><span class="hl-0">().</span><span class="hl-7">catch</span><span class="hl-0">(</span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">); </span><span class="hl-5">// AbortError</span>
</code></pre>
<p>The <code>pipeline</code> API also supports async generators:</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">pipeline</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream/promises&#39;</span><span class="hl-0">);</span><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">fs</span><span class="hl-0"> = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;fs&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0">() {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">pipeline</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createReadStream</span><span class="hl-0">(</span><span class="hl-4">&#39;lowercase.txt&#39;</span><span class="hl-0">),</span><br/><span class="hl-0"> </span><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function*</span><span class="hl-0"> (</span><span class="hl-3">source</span><span class="hl-0">, </span><span class="hl-3">signal</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-3">source</span><span class="hl-0">.</span><span class="hl-7">setEncoding</span><span class="hl-0">(</span><span class="hl-4">&#39;utf8&#39;</span><span class="hl-0">); </span><span class="hl-5">// Work with strings rather than `Buffer`s.</span><br/><span class="hl-0"> </span><span class="hl-1">for</span><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> (</span><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">chunk</span><span class="hl-0"> </span><span class="hl-2">of</span><span class="hl-0"> </span><span class="hl-3">source</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">yield</span><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">processChunk</span><span class="hl-0">(</span><span class="hl-3">chunk</span><span class="hl-0">, { </span><span class="hl-3">signal</span><span class="hl-0"> });</span><br/><span class="hl-0"> }</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createWriteStream</span><span class="hl-0">(</span><span class="hl-4">&#39;uppercase.txt&#39;</span><span class="hl-0">)</span><br/><span class="hl-0"> );</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Pipeline succeeded.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-7">run</span><span class="hl-0">().</span><span class="hl-7">catch</span><span class="hl-0">(</span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">);</span>
</code></pre>
<p>Remember to handle the <code>signal</code> argument passed into the async generator.
Especially in the case where the async generator is the source for the
pipeline (i.e. first argument) or the pipeline will never complete.</p>
<pre><code class="language-js"><span class="hl-2">const</span><span class="hl-0"> { </span><span class="hl-6">pipeline</span><span class="hl-0"> } = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;stream/promises&#39;</span><span class="hl-0">);</span><br/><span class="hl-2">const</span><span class="hl-0"> </span><span class="hl-6">fs</span><span class="hl-0"> = </span><span class="hl-7">require</span><span class="hl-0">(</span><span class="hl-4">&#39;fs&#39;</span><span class="hl-0">);</span><br/><br/><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-7">run</span><span class="hl-0">() {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">pipeline</span><span class="hl-0">(</span><br/><span class="hl-0"> </span><span class="hl-2">async</span><span class="hl-0"> </span><span class="hl-2">function</span><span class="hl-0"> </span><span class="hl-2">*</span><span class="hl-0"> (</span><span class="hl-3">signal</span><span class="hl-0">) {</span><br/><span class="hl-0"> </span><span class="hl-1">await</span><span class="hl-0"> </span><span class="hl-7">someLongRunningfn</span><span class="hl-0">({ </span><span class="hl-3">signal</span><span class="hl-0"> });</span><br/><span class="hl-0"> </span><span class="hl-1">yield</span><span class="hl-0"> </span><span class="hl-4">&#39;asd&#39;</span><span class="hl-0">;</span><br/><span class="hl-0"> },</span><br/><span class="hl-0"> </span><span class="hl-3">fs</span><span class="hl-0">.</span><span class="hl-7">createWriteStream</span><span class="hl-0">(</span><span class="hl-4">&#39;uppercase.txt&#39;</span><span class="hl-0">)</span><br/><span class="hl-0"> );</span><br/><span class="hl-0"> </span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-7">log</span><span class="hl-0">(</span><span class="hl-4">&#39;Pipeline succeeded.&#39;</span><span class="hl-0">);</span><br/><span class="hl-0">}</span><br/><br/><span class="hl-7">run</span><span class="hl-0">().</span><span class="hl-7">catch</span><span class="hl-0">(</span><span class="hl-3">console</span><span class="hl-0">.</span><span class="hl-3">error</span><span class="hl-0">);</span>
</code></pre>
<p><code>stream.pipeline()</code> will call <code>stream.destroy(err)</code> on all streams except:</p>
<ul>
<li><code>Readable</code> streams which have emitted <code>&#39;end&#39;</code> or <code>&#39;close&#39;</code>.</li>
<li><code>Writable</code> streams which have emitted <code>&#39;finish&#39;</code> or <code>&#39;close&#39;</code>.</li>
</ul>
<p><code>stream.pipeline()</code> leaves dangling event listeners on the streams
after the <code>callback</code> has been invoked. In the case of reuse of streams after
failure, this can cause event listener leaks and swallowed errors.</p>
</div><dl class="tsd-comment-tags"><dt>since</dt><dd><p>v10.0.0</p>
</dd></dl></div><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>A<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>B<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span></h5></li><li><h5>destination: <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> callback: <a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span></h5><div class="tsd-comment tsd-typography"><div class="lead">
<p>Called when the pipeline is fully done.</p>
</div></div></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1161</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>A<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T1<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>B<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span></h5></li><li><h5>transform1: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span></h5></li><li><h5>destination: <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> callback: <a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1167</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>A<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T1<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T2<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>B<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span></h5></li><li><h5>transform1: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span></h5></li><li><h5>transform2: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span></h5></li><li><h5>destination: <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> callback: <a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1174</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>A<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T1<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T2<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T3<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>B<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span></h5></li><li><h5>transform1: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span></h5></li><li><h5>transform2: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span></h5></li><li><h5>transform3: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span></h5></li><li><h5>destination: <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> callback: <a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1181</li></ul></aside><h4 class="tsd-type-parameters-title">Type parameters</h4><ul class="tsd-type-parameters"><li><h4>A<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineSource" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineSource</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T1<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T2<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T3<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>T4<span class="tsd-signature-symbol">: </span><a href="_internal_.internal.html#PipelineTransform" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineTransform</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li><li><h4>B<span class="tsd-signature-symbol">: </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationIterableFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineDestinationPromiseFunction</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><a href="_internal_.html" class="tsd-signature-type" data-tsd-kind="Namespace">&lt;internal&gt;</a><span class="tsd-signature-symbol">.</span><a href="_internal_.html#Buffer-1" class="tsd-signature-type" data-tsd-kind="Variable">Buffer</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4></li></ul><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>source: <span class="tsd-signature-type" data-tsd-kind="Type parameter">A</span></h5></li><li><h5>transform1: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T1</span></h5></li><li><h5>transform2: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T2</span></h5></li><li><h5>transform3: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T3</span></h5></li><li><h5>transform4: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T4</span></h5></li><li><h5>destination: <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> callback: <a href="_internal_.internal.html#PipelineCallback" class="tsd-signature-type" data-tsd-kind="Type alias">PipelineCallback</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> extends </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">B</span><span class="tsd-signature-symbol"> : </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1189</li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>streams: <span class="tsd-signature-symbol">readonly </span><span class="tsd-signature-symbol">(</span><a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5></li><li><h5><span class="tsd-flag ts-flagOptional">Optional</span> callback: <span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span></h5><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures tsd-kind-type-literal tsd-is-external"><li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li></ul><ul class="tsd-descriptions"><li class="tsd-description"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>err: <span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a></h5></li></ul><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li><li class="tsd-description"><aside class="tsd-sources"><ul><li>Defined in node_modules/@types/node/stream.d.ts:1193</li></ul></aside><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameters"><li><h5>stream1: <a href="../interfaces/_internal_.ReadableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadableStream</a></h5></li><li><h5>stream2: <a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a></h5></li><li><h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>streams: <span class="tsd-signature-symbol">(</span><a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ReadWriteStream.html" class="tsd-signature-type" data-tsd-kind="Interface">ReadWriteStream</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span>err<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/_internal_.ErrnoException.html" class="tsd-signature-type" data-tsd-kind="Interface">ErrnoException</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span></h5></li></ul><h4 class="tsd-returns-title">Returns <a href="../interfaces/_internal_.WritableStream.html" class="tsd-signature-type" data-tsd-kind="Interface">WritableStream</a></h4></li></ul></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Exports</a></li><li class="current tsd-kind-namespace"><a href="_internal_.html">&lt;internal&gt;</a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_._node_stream_consumers_.html">&quot;node:stream/consumers&quot;</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_._node_stream_promises_.html">&quot;node:stream/promises&quot;</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.EventEmitter.html">Event<wbr/>Emitter</a></li><li class="current tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html">internal</a><ul><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.finished.html">finished</a></li><li class=" tsd-kind-namespace tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.pipeline.html">pipeline</a></li></ul></li></ul></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Duplex.html" class="tsd-kind-icon">Duplex</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.PassThrough.html" class="tsd-kind-icon">Pass<wbr/>Through</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Readable.html" class="tsd-kind-icon">Readable</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Stream.html" class="tsd-kind-icon">Stream</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Transform.html" class="tsd-kind-icon">Transform</a></li><li class="tsd-kind-class tsd-parent-kind-namespace tsd-is-external"><a href="../classes/_internal_.internal.Writable.html" class="tsd-kind-icon">Writable</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.DuplexOptions.html" class="tsd-kind-icon">Duplex<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.FinishedOptions.html" class="tsd-kind-icon">Finished<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.Pipe.html" class="tsd-kind-icon">Pipe</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.PipelineOptions.html" class="tsd-kind-icon">Pipeline<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.ReadableOptions.html" class="tsd-kind-icon">Readable<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="../interfaces/_internal_.internal.StreamOptions.html" class="tsd-kind-icon">Stream<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.TransformOptions.html" class="tsd-kind-icon">Transform<wbr/>Options</a></li><li class="tsd-kind-interface tsd-parent-kind-namespace tsd-is-external"><a href="../interfaces/_internal_.internal.WritableOptions.html" class="tsd-kind-icon">Writable<wbr/>Options</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineCallback" class="tsd-kind-icon">Pipeline<wbr/>Callback</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineDestination" class="tsd-kind-icon">Pipeline<wbr/>Destination</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineDestinationIterableFunction" class="tsd-kind-icon">Pipeline<wbr/>Destination<wbr/>Iterable<wbr/>Function</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineDestinationPromiseFunction" class="tsd-kind-icon">Pipeline<wbr/>Destination<wbr/>Promise<wbr/>Function</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelinePromise" class="tsd-kind-icon">Pipeline<wbr/>Promise</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineSource" class="tsd-kind-icon">Pipeline<wbr/>Source</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineSourceFunction" class="tsd-kind-icon">Pipeline<wbr/>Source<wbr/>Function</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineTransform" class="tsd-kind-icon">Pipeline<wbr/>Transform</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#PipelineTransformSource" class="tsd-kind-icon">Pipeline<wbr/>Transform<wbr/>Source</a></li><li class="tsd-kind-type-alias tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#TransformCallback" class="tsd-kind-icon">Transform<wbr/>Callback</a></li><li class="tsd-kind-variable tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#consumers" class="tsd-kind-icon">consumers</a></li><li class="tsd-kind-variable tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#promises" class="tsd-kind-icon">promises</a></li><li class="tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#addAbortSignal" class="tsd-kind-icon">add<wbr/>Abort<wbr/>Signal</a></li><li class="tsd-kind-function tsd-parent-kind-namespace tsd-is-external"><a href="_internal_.internal.html#finished-1" class="tsd-kind-icon">finished</a></li><li class="tsd-kind-function tsd-parent-kind-namespace tsd-has-type-parameter tsd-is-external"><a href="_internal_.internal.html#pipeline-1" class="tsd-kind-icon">pipeline</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="../assets/main.js"></script></body></html>