• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..20-Sep-2020-

lib/internal/streams/H03-May-2022-

GOVERNANCE.mdH A D26-Oct-19855.4 KiB137104

LICENSEH A D26-Oct-19852.3 KiB4839

README.mdH A D26-Oct-19854.6 KiB10780

package.jsonH A D20-Sep-20202.8 KiB9796

README.md

1# readable-stream
2
3***Node.js core streams for userland*** [![Build Status](https://travis-ci.com/nodejs/readable-stream.svg?branch=master)](https://travis-ci.com/nodejs/readable-stream)
4
5
6[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)
7[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)
8
9
10[![Sauce Test Status](https://saucelabs.com/browser-matrix/readabe-stream.svg)](https://saucelabs.com/u/readabe-stream)
11
12```bash
13npm install --save readable-stream
14```
15
16This package is a mirror of the streams implementations in Node.js.
17
18Full documentation may be found on the [Node.js website](https://nodejs.org/dist/v10.19.0/docs/api/stream.html).
19
20If you want to guarantee a stable streams base, regardless of what version of
21Node you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *"stream"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).
22
23As of version 2.0.0 **readable-stream** uses semantic versioning.
24
25## Version 3.x.x
26
27v3.x.x of `readable-stream` is a cut from Node 10. This version supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in [Node v9](https://nodejs.org/en/blog/release/v9.0.0/) and [Node v10](https://nodejs.org/en/blog/release/v10.0.0/), as follows:
28
291. Error codes: https://github.com/nodejs/node/pull/13310,
30   https://github.com/nodejs/node/pull/13291,
31   https://github.com/nodejs/node/pull/16589,
32   https://github.com/nodejs/node/pull/15042,
33   https://github.com/nodejs/node/pull/15665,
34   https://github.com/nodejs/readable-stream/pull/344
352. 'readable' have precedence over flowing
36   https://github.com/nodejs/node/pull/18994
373. make virtual methods errors consistent
38   https://github.com/nodejs/node/pull/18813
394. updated streams error handling
40   https://github.com/nodejs/node/pull/18438
415. writable.end should return this.
42   https://github.com/nodejs/node/pull/18780
436. readable continues to read when push('')
44   https://github.com/nodejs/node/pull/18211
457. add custom inspect to BufferList
46   https://github.com/nodejs/node/pull/17907
478. always defer 'readable' with nextTick
48   https://github.com/nodejs/node/pull/17979
49
50## Version 2.x.x
51v2.x.x of `readable-stream` is a cut of the stream module from Node 8 (there have been no semver-major changes from Node 4 to 8). This version supports all Node.js versions from 0.8, as well as evergreen browsers and IE 10 & 11.
52
53### Big Thanks
54
55Cross-browser Testing Platform and Open Source <3 Provided by [Sauce Labs][sauce]
56
57# Usage
58
59You can swap your `require('stream')` with `require('readable-stream')`
60without any changes, if you are just using one of the main classes and
61functions.
62
63```js
64const {
65  Readable,
66  Writable,
67  Transform,
68  Duplex,
69  pipeline,
70  finished
71} = require('readable-stream')
72````
73
74Note that `require('stream')` will return `Stream`, while
75`require('readable-stream')` will return `Readable`. We discourage using
76whatever is exported directly, but rather use one of the properties as
77shown in the example above.
78
79# Streams Working Group
80
81`readable-stream` is maintained by the Streams Working Group, which
82oversees the development and maintenance of the Streams API within
83Node.js. The responsibilities of the Streams Working Group include:
84
85* Addressing stream issues on the Node.js issue tracker.
86* Authoring and editing stream documentation within the Node.js project.
87* Reviewing changes to stream subclasses within the Node.js project.
88* Redirecting changes to streams from the Node.js project to this
89  project.
90* Assisting in the implementation of stream providers within Node.js.
91* Recommending versions of `readable-stream` to be included in Node.js.
92* Messaging about the future of streams to give the community advance
93  notice of changes.
94
95<a name="members"></a>
96## Team Members
97
98* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;
99  - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242
100* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;
101* **Matteo Collina** ([@mcollina](https://github.com/mcollina)) &lt;matteo.collina@gmail.com&gt;
102  - Release GPG key: 3ABC01543F22DD2239285CDD818674489FBC127E
103* **Irina Shestak** ([@lrlna](https://github.com/lrlna)) &lt;shestak.irina@gmail.com&gt;
104* **Yoshua Wyuts** ([@yoshuawuyts](https://github.com/yoshuawuyts)) &lt;yoshuawuyts@gmail.com&gt;
105
106[sauce]: https://saucelabs.com
107