Matteo Collina
f8b9831338
stream: do not use _stream_* anymore
...
Remove all leftover usage of _stream_* and keep all of them as legacy.
We do not deprecate the old modules to avoid disrupition and ease
maintainance.
PR-URL: https://github.com/nodejs/node/pull/36684
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2021-01-05 19:02:04 +01:00
Matteo Collina
9c62e0e384
stream: move to internal/streams
...
Move all the streams constructors to internal/streams
and avoid a circular dependencies between the modules.
See: https://github.com/nodejs/readable-stream/issues/348
PR-URL: https://github.com/nodejs/node/pull/35239
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2020-09-21 08:23:06 +00:00
Robert Nagy
e0d3b758a0
stream: improve Writable.destroy performance
...
Avoid nextTick if there are no pending callbacks.
PR-URL: https://github.com/nodejs/node/pull/35067
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ricky Zhou <0x19951125@gmail.com >
2020-09-07 09:54:33 -07:00
James M Snell
744a284ccc
stream: support async for stream impl functions
...
PR-URL: https://github.com/nodejs/node/pull/34416
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
2020-08-03 17:54:08 -07:00
Robert Nagy
6213fcee9b
stream: save error in state
...
Useful for future PR's to resolve situations where e.g. finished()
is invoked on an already errored streams.
PR-URL: https://github.com/nodejs/node/pull/34103
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-07-01 18:22:56 +02:00
Robert Nagy
c7e55c6b72
stream: fix writable.end callback behavior
...
Changes so that the end() callback behaves the same way in relation
to _final as write() does to _write/_writev.
PR-URL: https://github.com/nodejs/node/pull/34101
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-01 18:18:04 +02:00
Robert Nagy
fb8cc72e73
stream: construct
...
Provide a standardized way of asynchronously creating and
initializing resources before performing any work.
Refs: https://github.com/nodejs/node/issues/29314
PR-URL: https://github.com/nodejs/node/pull/29656
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
2020-05-27 10:24:05 +02:00
Luigi Pinca
b533fb3508
tools: enable no-else-return lint rule
...
Refs: https://github.com/nodejs/node/pull/32644
Refs: https://github.com/nodejs/node/pull/32662
PR-URL: https://github.com/nodejs/node/pull/32667
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-05-16 06:42:16 +02:00
Robert Nagy
4bc7025309
stream: write should throw on unknown encoding
...
Validate encoding passed to write(chunk, encoding, cb) and
throw if it is invalid.
PR-URL: https://github.com/nodejs/node/pull/33075
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-04-28 15:59:46 +02:00
Robert Nagy
f5c11a1a0a
stream: don't emit finish after close
...
Writable stream could emit 'finish' after 'close'.
PR-URL: https://github.com/nodejs/node/pull/32933
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-04-27 16:43:58 +02:00
Robert Nagy
ab7d9db36c
stream: fix sync write perf regression
...
While https://github.com/nodejs/node/pull/31046 did make async
writes faster it at the same time made sync writes slower.
This PR corrects this while maintaining performance improvements.
PR-URL: https://github.com/nodejs/node/pull/33032
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Brian White <mscdex@mscdex.net >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
2020-04-25 23:12:37 +02:00
Robert Nagy
003fb53c9a
stream: avoid drain for sync streams
...
Previously a sync writable receiving chunks
larger than highwatermark would unecessarily
ping pong needDrain.
PR-URL: https://github.com/nodejs/node/pull/32887
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-04-25 18:45:50 +02:00
Jesus Hernandez
24a4e6153d
stream: removes unnecessary params
...
Removes the state param in the onFinished function
since it's never used within it.
PR-URL: https://github.com/nodejs/node/pull/32936
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-04-25 02:37:26 +02:00
Robert Nagy
802edb1d6a
stream: consistent punctuation
...
Cleanup comments to use consistent punctuation.
PR-URL: https://github.com/nodejs/node/pull/32934
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-04-24 19:29:38 +02:00
Robert Nagy
d8c57cb3c0
stream: refactor Writable buffering
...
Refactors buffering in Writable to use an array
instead of a linked list.
PR-URL: https://github.com/nodejs/node/pull/31046
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-04-23 19:52:13 +02:00
Robert Nagy
ea87809bb6
stream: fix _final and 'prefinish' timing
...
This PR fixes a few different things:
The timing of 'prefinish' depends on whether or not
_final is defined. In on case the event is emitted
synchronously with end() and otherwise asynchronously.
_final is currently unecessarily called asynchronously
which forces implementors to use 'prefinish' as a hack
to emulate synchronous behaviour. Furthermore, this hack
is subtly broken due to the above issue.
Refs: https://github.com/nodejs/node/issues/31401
Refs: https://github.com/nodejs/node/pull/32763#discussion_r407041983
PR-URL: https://github.com/nodejs/node/pull/32780
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-04-22 09:40:03 +02:00
Robert Nagy
fd10be4b54
stream: inline unbuffered _write
...
PR-URL: https://github.com/nodejs/node/pull/32886
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-04-18 21:10:40 +02:00
Robert Nagy
73f3072ffb
stream: simplify Writable.end()
...
Simplifies Writable.end() by inlining and
de-duplicating code.
PR-URL: https://github.com/nodejs/node/pull/32882
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-04-18 21:07:26 +02:00
Robert Nagy
4a6a5c3453
stream: improve comments regarding end() errors
...
Cleans up comments and TODOs and tries to provide a
more detail description in regards to error behavior
of end().
PR-URL: https://github.com/nodejs/node/pull/32839
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-04-16 09:29:42 +02:00
Robert Nagy
8f86986985
stream: use callback to properly propagate error
...
The stream will be destroyed upstream through the proper error
flow.
PR-URL: https://github.com/nodejs/node/pull/29179
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-04-03 19:00:28 +02:00
Robert Nagy
388cef61e8
stream: align stream.Duplex with net.Socket
...
stream.Duplex and net.Socket slightly differs in behavior.
Especially when it comes to the case where one side never
becomes readable or writable. This aligns Duplex with the
behavior of Socket.
PR-URL: https://github.com/nodejs/node/pull/32139
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-25 15:20:22 +01:00
Robert Nagy
eeccd52b4e
net: make readable/writable start as true
...
`net.Socket` is slightly breaking stream invariants by
having readable/writable going from `false` to `true`.
Streams assume that readable/writable starts out `true`
and then goes to `false` through `push(null)`/`end()`
after which it never goes back to `true`, e.g. once a
stream is `writable == false` it is assumed it will
never become `true`.
This PR changes 2 things:
Unless explicitly set to `false` through options:
- starts as `readable`/`writable` `true` by default.
- uses `push(null)`/`end()` to set `readable`/`writable`
to `false`. Note that this would cause the socket to
emit the `'end'`/`'finish'` events, which it did not
do previously.
In the case it is explicitly set to `false` through
options` it is assumed to never become `true`.
PR-URL: https://github.com/nodejs/node/pull/32272
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-24 09:45:25 +01:00
Robert Nagy
9b20b5db7b
stream: don't emit 'finish' after 'error'
...
PR-URL: https://github.com/nodejs/node/pull/32275
Refs: https://github.com/nodejs/node/issues/28710
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-17 14:49:49 +01:00
himself65
b1a13b12f2
lib: change var to let/const
...
PR-URL: https://github.com/nodejs/node/pull/32037
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-12 16:52:16 +01:00
Luigi Pinca
6f0ec79e42
http,stream: make virtual methods throw an error
...
Make virtual methods throw an ERR_METHOD_NOT_IMPLEMENTED error instead
of emitting it.
The error is not recoverable and the only way to handle it is to
override the method.
PR-URL: https://github.com/nodejs/node/pull/31912
Refs: https://github.com/nodejs/node/pull/31818#pullrequestreview-359403469
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-07 07:27:02 +01:00
Robert Nagy
1f209129c7
stream: throw invalid argument errors
...
Logic errors that do not depend on stream
state should throw instead of invoke callback
and emit error.
PR-URL: https://github.com/nodejs/node/pull/31831
Refs: https://github.com/nodejs/node/pull/31818
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-25 12:07:30 +01:00
Robert Nagy
85c6fcd1cd
stream: avoid writing to writable
...
A remainder from a previous refactoring.
Refs: https://github.com/nodejs/node/pull/31197
PR-URL: https://github.com/nodejs/node/pull/31805
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-02-17 23:31:08 +01:00
Robert Nagy
0c7ff7fcfb
stream: simplify Writable.write
...
Slightly refactors Writable.write for minor perf
and readability improvements.
PR-URL: https://github.com/nodejs/node/pull/31146
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
2020-02-14 14:29:46 +01:00
antsmartian
0ac04ecee2
stream: combine properties using defineProperties
...
PR-URL: https://github.com/nodejs/node/pull/31187
Refs: https://github.com/nodejs/node/pull/31144
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-02-10 16:58:05 +01:00
Brian White
43783b5b3f
stream: improve writable.write() performance
...
PR-URL: https://github.com/nodejs/node/pull/31624
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-02-08 21:36:31 -05:00
Robert Nagy
d016b9d708
stream: finished callback for closed streams
...
Previously finished(stream, cb) would not invoke the callback
for streams that have already finished, ended or errored
before being passed to finished(stream, cb).
PR-URL: https://github.com/nodejs/node/pull/31509
Refs: https://github.com/nodejs/node/pull/31508
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-08 23:34:40 +01:00
Robert Nagy
e559842188
stream: make readable & writable computed
...
This makes readable and writable automatically computed based
on the stream state.
Effectivly deprecating/discouraging manual management of this.
Makes the properties more consistent and easier to reason about.
Fixes: https://github.com/nodejs/node/issues/29377
PR-URL: https://github.com/nodejs/node/pull/31197
Refs: https://github.com/nodejs/node/issues/29377
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-08 23:23:12 +01:00
James M Snell
907c07fa85
stream: move _writableState.buffer to EOL
...
API was deprecated back in the 0.11 days.
PR-URL: https://github.com/nodejs/node/pull/31165
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2020-02-05 17:35:56 -08:00
Sebastien Ahkrin
607be0c78a
stream: replace Function.prototype with primordial
...
PR-URL: https://github.com/nodejs/node/pull/31204
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-01-08 06:10:11 -08:00
Robert Nagy
75b30c606c
stream: emit 'error' asynchronously
...
errorOrDestroy emits 'error' synchronously due to
compat reasons. However, it should be possible to
use correct async behaviour for new code.
PR-URL: https://github.com/nodejs/node/pull/29744
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-01-04 16:20:45 -08:00
Robert Nagy
4bec6d13f9
stream: enable autoDestroy by default
...
PR-URL: https://github.com/nodejs/node/pull/30623
Refs: https://github.com/nodejs/node/issues/30621
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-01-03 01:49:10 +01:00
Robert Nagy
e66c4deda8
stream: invoke buffered write callbacks on error
...
Buffered write callbacks were only invoked upon
error if `autoDestroy` was invoked.
PR-URL: https://github.com/nodejs/node/pull/30596
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-30 21:33:49 -08:00
Robert Nagy
cd6b00df33
stream: simplify isBuf
...
PR-URL: https://github.com/nodejs/node/pull/31067
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
2019-12-25 12:05:33 +01:00
Sebastien Ahkrin
48d986c40f
lib: replace Symbol.hasInstance by SymbolHasInstance
...
PR-URL: https://github.com/nodejs/node/pull/30948
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-12-16 09:47:30 +01:00
Robert Nagy
e902fadc5e
stream: do not throw multiple callback errors in writable
...
Align ERR_MULTIPLE_CALLBACK in Writable with the rest
of error handling as well as how the error is implemented
in Transform.
PR-URL: https://github.com/nodejs/node/pull/30614
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-14 15:46:24 -08:00
Robert Nagy
e13a37e49d
stream: ensure finish is emitted in next tick
...
When using end() it was possible for 'finish' to
be emitted synchronously.
PR-URL: https://github.com/nodejs/node/pull/30733
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-14 16:14:41 -05:00
Sebastien Ahkrin
eac3f0adc4
lib: replace Symbol global by the primordials Symbol
...
PR-URL: https://github.com/nodejs/node/pull/30737
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2019-12-08 13:38:58 +01:00
Matteo Collina
e490d9b153
stream: add support for captureRejection option
...
PR-URL: https://github.com/nodejs/node/pull/27867
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2019-12-03 12:14:48 +01:00
Anna Henningsen
2205f85b2c
stream: improve performance for sync write finishes
...
Improve performance and reduce memory usage when a writable stream
is written to with the same callback (which is the most common case)
and when the write operation finishes synchronously (which is also
often the case).
confidence improvement accuracy (*) (**) (***)
streams/writable-manywrites.js sync='no' n=2000000 0.99 % ±3.20% ±4.28% ±5.61%
streams/writable-manywrites.js sync='yes' n=2000000 *** 710.69 % ±19.65% ±26.47% ±35.09%
Refs: https://github.com/nodejs/node/issues/18013
Refs: https://github.com/nodejs/node/issues/18367
PR-URL: https://github.com/nodejs/node/pull/30710
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-12-01 02:14:00 +01:00
Rich Trott
359766b2c3
benchmark,doc,lib,test: prepare for padding lint rule
...
Upcoming lint rule will require a blank line between consecutive
functions. Add it in the places where we don't have it already.
PR-URL: https://github.com/nodejs/node/pull/30696
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2019-11-30 06:28:29 -08:00
Michaël Zasso
141a6e34ee
lib: enforce use of Array from primordials
...
PR-URL: https://github.com/nodejs/node/pull/30635
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2019-11-27 19:29:01 +01:00
Michaël Zasso
0646eda4fc
lib: flatten access to primordials
...
Store all primordials as properties of the primordials object.
Static functions are prefixed by the constructor's name and prototype
methods are prefixed by the constructor's name followed by "Prototype".
For example: primordials.Object.keys becomes primordials.ObjectKeys.
PR-URL: https://github.com/nodejs/node/pull/30610
Refs: https://github.com/nodejs/node/issues/29766
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2019-11-25 10:28:15 +01:00
Robert Nagy
9d09969f4c
stream: always invoke end callback
...
Ensure that the callback passed into end() is always invoke in
order to avoid bug such as deadlock the user.
PR-URL: https://github.com/nodejs/node/pull/29747
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2019-11-19 16:06:35 +01:00
Robert Nagy
de119131bc
stream: add writableCorked property
...
PR-URL: https://github.com/nodejs/node/pull/29012
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2019-11-05 23:26:26 +01:00
Robert Nagy
f663b31cc2
stream: always invoke callback before emitting error
...
Ensure the callback is always invoked before emitting
the error in both sync and async case.
PR-URL: https://github.com/nodejs/node/pull/29293
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-09-30 10:56:29 -07:00