@effect/platform-node-shared 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,5 +56,7 @@ const toUint8Array = exports.toUint8Array = internal.toUint8Array;
56
56
  * @since 1.0.0
57
57
  * @category stdio
58
58
  */
59
- const stdin = exports.stdin = /*#__PURE__*/internal.fromReadable(() => process.stdin, err => err).pipe(Stream.orDie);
59
+ const stdin = exports.stdin = /*#__PURE__*/internal.fromReadable(() => process.stdin, err => err, {
60
+ closeOnDone: false
61
+ }).pipe(Stream.orDie);
60
62
  //# sourceMappingURL=NodeStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStream.js","names":["Stream","_interopRequireWildcard","require","internal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromReadable","exports","fromReadableChannel","fromDuplex","pipeThroughDuplex","pipeThroughSimple","toReadable","toReadableNever","toString","toUint8Array","stdin","process","err","pipe","orDie"],"sources":["../../src/NodeStream.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAoBhD;;;;AAIO,MAAMkB,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAIEpB,QAAQ,CAACoB,YAAY;AAEhD;;;;AAIO,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAI6BtB,QAAQ,CAACsB,mBAAmB;AAEzF;;;;AAIO,MAAMC,UAAU,GAAAF,OAAA,CAAAE,UAAA,GAIuCvB,QAAQ,CAACuB,UAAU;AAEjF;;;;AAIO,MAAMC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAoB1BxB,QAAQ,CAACwB,iBAAiB;AAE9B;;;;AAIO,MAAMC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,GAW1BzB,QAAQ,CAACyB,iBAAiB;AAE9B;;;;AAIO,MAAMC,UAAU,GAAAL,OAAA,CAAAK,UAAA,GACrB1B,QAAQ,CAAC0B,UAAU;AAErB;;;;AAIO,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAC1B3B,QAAQ,CAAC2B,eAAe;AAE1B;;;;AAIO,MAAMC,QAAQ,GAAAP,OAAA,CAAAO,QAAA,GAOI5B,QAAQ,CAAC4B,QAAQ;AAE1C;;;;AAIO,MAAMC,YAAY,GAAAR,OAAA,CAAAQ,YAAA,GAGI7B,QAAQ,CAAC6B,YAAY;AAElD;;;;AAIO,MAAMC,KAAK,GAAAT,OAAA,CAAAS,KAAA,gBAA8B9B,QAAQ,CAACoB,YAAY,CAAC,MAAMW,OAAO,CAACD,KAAK,EAAGE,GAAG,IAAKA,GAAG,CAAC,CAACC,IAAI,CAC3GpC,MAAM,CAACqC,KAAK,CACb","ignoreList":[]}
1
+ {"version":3,"file":"NodeStream.js","names":["Stream","_interopRequireWildcard","require","internal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromReadable","exports","fromReadableChannel","fromDuplex","pipeThroughDuplex","pipeThroughSimple","toReadable","toReadableNever","toString","toUint8Array","stdin","process","err","closeOnDone","pipe","orDie"],"sources":["../../src/NodeStream.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AAAgD,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAsBhD;;;;AAIO,MAAMkB,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAIEpB,QAAQ,CAACoB,YAAY;AAEhD;;;;AAIO,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAIKtB,QAAQ,CAACsB,mBAAmB;AAEjE;;;;AAIO,MAAMC,UAAU,GAAAF,OAAA,CAAAE,UAAA,GAIuCvB,QAAQ,CAACuB,UAAU;AAEjF;;;;AAIO,MAAMC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAoB1BxB,QAAQ,CAACwB,iBAAiB;AAE9B;;;;AAIO,MAAMC,iBAAiB,GAAAJ,OAAA,CAAAI,iBAAA,GAW1BzB,QAAQ,CAACyB,iBAAiB;AAE9B;;;;AAIO,MAAMC,UAAU,GAAAL,OAAA,CAAAK,UAAA,GACrB1B,QAAQ,CAAC0B,UAAU;AAErB;;;;AAIO,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAC1B3B,QAAQ,CAAC2B,eAAe;AAE1B;;;;AAIO,MAAMC,QAAQ,GAAAP,OAAA,CAAAO,QAAA,GAOI5B,QAAQ,CAAC4B,QAAQ;AAE1C;;;;AAIO,MAAMC,YAAY,GAAAR,OAAA,CAAAQ,YAAA,GAGI7B,QAAQ,CAAC6B,YAAY;AAElD;;;;AAIO,MAAMC,KAAK,GAAAT,OAAA,CAAAS,KAAA,gBAA8B9B,QAAQ,CAACoB,YAAY,CAAC,MAAMW,OAAO,CAACD,KAAK,EAAGE,GAAG,IAAKA,GAAG,EAAE;EACvGC,WAAW,EAAE;CACd,CAAC,CAACC,IAAI,CAACrC,MAAM,CAACsC,KAAK,CAAC","ignoreList":[]}
@@ -12,15 +12,13 @@ var Effect = _interopRequireWildcard(require("effect/Effect"));
12
12
  var Exit = _interopRequireWildcard(require("effect/Exit"));
13
13
  var Fiber = _interopRequireWildcard(require("effect/Fiber"));
14
14
  var _Function = require("effect/Function");
15
- var Mailbox = _interopRequireWildcard(require("effect/Mailbox"));
15
+ var MutableRef = _interopRequireWildcard(require("effect/MutableRef"));
16
16
  var Runtime = _interopRequireWildcard(require("effect/Runtime"));
17
17
  var Stream = _interopRequireWildcard(require("effect/Stream"));
18
18
  var _nodeStream = require("node:stream");
19
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
20
  /** @internal */
21
- const fromReadable = (evaluate, onError, {
22
- chunkSize
23
- } = {}) => Stream.fromChannel(fromReadableChannel(evaluate, onError, chunkSize ? Number(chunkSize) : undefined));
21
+ const fromReadable = (evaluate, onError, options) => Stream.fromChannel(fromReadableChannel(evaluate, onError, options));
24
22
  /** @internal */
25
23
  exports.fromReadable = fromReadable;
26
24
  const toString = (readable, options) => {
@@ -79,11 +77,14 @@ const toUint8Array = (readable, options) => {
79
77
  };
80
78
  /** @internal */
81
79
  exports.toUint8Array = toUint8Array;
82
- const fromDuplex = (evaluate, onError, options = {}) => Channel.acquireUseRelease(Effect.tap(Effect.zip(Effect.sync(evaluate), Mailbox.make()), ([duplex, mailbox]) => readableOffer(duplex, mailbox, onError)), ([duplex, mailbox]) => Channel.embedInput(readableTake(duplex, mailbox, options.chunkSize ? Number(options.chunkSize) : undefined), writeInput(duplex, cause => mailbox.failCause(cause), options)), ([duplex, mailbox]) => Effect.zipRight(Effect.sync(() => {
83
- if (!duplex.closed) {
84
- duplex.destroy();
80
+ const fromDuplex = (evaluate, onError, options) => Channel.suspend(() => {
81
+ const duplex = evaluate();
82
+ if (!duplex.readable) {
83
+ return Channel.void;
85
84
  }
86
- }), mailbox.shutdown));
85
+ const exit = MutableRef.make(undefined);
86
+ return Channel.embedInput(unsafeReadableRead(duplex, onError, exit, options), writeInput(duplex, cause => Effect.sync(() => MutableRef.set(exit, Exit.failCause(cause))), options));
87
+ });
87
88
  /** @internal */
88
89
  exports.fromDuplex = fromDuplex;
89
90
  const pipeThroughDuplex = exports.pipeThroughDuplex = /*#__PURE__*/(0, _Function.dual)(args => Stream.StreamTypeId in args[0], (self, duplex, onError, options) => Stream.pipeThroughChannelOrFail(self, fromDuplex(duplex, onError, options)));
@@ -95,11 +96,7 @@ const pipeThroughSimple = exports.pipeThroughSimple = /*#__PURE__*/(0, _Function
95
96
  cause
96
97
  }))));
97
98
  /** @internal */
98
- const fromReadableChannel = (evaluate, onError, chunkSize) => Channel.acquireUseRelease(Effect.tap(Effect.zip(Effect.sync(evaluate), Mailbox.make()), ([readable, mailbox]) => readableOffer(readable, mailbox, onError)), ([readable, mailbox]) => readableTake(readable, mailbox, chunkSize), ([readable, mailbox]) => Effect.zipRight(Effect.sync(() => {
99
- if ("closed" in readable && !readable.closed) {
100
- readable.destroy();
101
- }
102
- }), mailbox.shutdown));
99
+ const fromReadableChannel = (evaluate, onError, options) => Channel.suspend(() => unsafeReadableRead(evaluate(), onError, MutableRef.make(undefined), options));
103
100
  /** @internal */
104
101
  exports.fromReadableChannel = fromReadableChannel;
105
102
  const writeInput = (writable, onFailure, {
@@ -142,37 +139,53 @@ const writeEffect = (writable, encoding) => chunk => chunk.length === 0 ? Effect
142
139
  loop();
143
140
  });
144
141
  exports.writeEffect = writeEffect;
145
- const readableOffer = (readable, mailbox, onError) => Effect.sync(() => {
146
- readable.on("readable", () => {
147
- mailbox.unsafeOffer(void 0);
148
- });
149
- readable.on("error", err => {
150
- mailbox.unsafeDone(Exit.fail(onError(err)));
151
- });
152
- readable.on("end", () => {
153
- mailbox.unsafeDone(Exit.void);
154
- });
155
- if (readable.readable) {
156
- mailbox.unsafeOffer(void 0);
157
- }
158
- });
159
- const readableTake = (readable, mailbox, chunkSize) => {
160
- const read = readChunkChannel(readable, chunkSize);
161
- const loop = Channel.flatMap(mailbox.takeAll, ([, done]) => done ? read : Channel.zipRight(read, loop));
162
- return loop;
163
- };
164
- const readChunkChannel = (readable, chunkSize) => Channel.suspend(() => {
165
- const arr = [];
166
- let chunk = readable.read(chunkSize);
167
- if (chunk === null) {
142
+ const unsafeReadableRead = (readable, onError, exit, options) => {
143
+ if (!readable.readable) {
168
144
  return Channel.void;
169
145
  }
170
- while (chunk !== null) {
171
- arr.push(chunk);
172
- chunk = readable.read(chunkSize);
146
+ const latch = Effect.unsafeMakeLatch(false);
147
+ function onReadable() {
148
+ latch.unsafeOpen();
173
149
  }
174
- return Channel.write(Chunk.unsafeFromArray(arr));
175
- });
150
+ function onErr(err) {
151
+ exit.current = Exit.fail(onError(err));
152
+ latch.unsafeOpen();
153
+ }
154
+ function onEnd() {
155
+ exit.current = Exit.void;
156
+ latch.unsafeOpen();
157
+ }
158
+ readable.on("readable", onReadable);
159
+ readable.on("error", onErr);
160
+ readable.on("end", onEnd);
161
+ const chunkSize = options?.chunkSize ? Number(options.chunkSize) : undefined;
162
+ const read = Channel.suspend(function loop() {
163
+ let item = readable.read(chunkSize);
164
+ if (item === null) {
165
+ if (exit.current) {
166
+ return Channel.fromEffect(exit.current);
167
+ }
168
+ latch.unsafeClose();
169
+ return Channel.flatMap(latch.await, loop);
170
+ }
171
+ const arr = [item];
172
+ while (true) {
173
+ item = readable.read(chunkSize);
174
+ if (item === null) {
175
+ return Channel.flatMap(Channel.write(Chunk.unsafeFromArray(arr)), loop);
176
+ }
177
+ arr.push(item);
178
+ }
179
+ });
180
+ return Channel.ensuring(read, Effect.sync(() => {
181
+ readable.off("readable", onReadable);
182
+ readable.off("error", onErr);
183
+ readable.off("end", onEnd);
184
+ if (options?.closeOnDone !== false && "closed" in readable && !readable.closed) {
185
+ readable.destroy();
186
+ }
187
+ }));
188
+ };
176
189
  class StreamAdapter extends _nodeStream.Readable {
177
190
  readLatch;
178
191
  fiber = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","names":["_Error","require","Cause","_interopRequireWildcard","Channel","Chunk","Effect","Exit","Fiber","_Function","Mailbox","Runtime","Stream","_nodeStream","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromReadable","evaluate","onError","chunkSize","fromChannel","fromReadableChannel","Number","undefined","exports","toString","readable","options","maxBytesNumber","maxBytes","acquireUseRelease","sync","stream","setEncoding","encoding","async","resume","string","bytes","once","err","fail","onFailure","succeed","on","chunk","Buffer","byteLength","Error","closed","destroy","toUint8Array","buffer","alloc","concat","length","fromDuplex","tap","zip","make","duplex","mailbox","readableOffer","embedInput","readableTake","writeInput","cause","failCause","zipRight","shutdown","pipeThroughDuplex","dual","args","StreamTypeId","self","pipeThroughChannelOrFail","pipeThroughSimple","SystemError","module","method","reason","writable","endOnDone","onDone","void","write","writeEffect","close","end","awaitRead","emit","error","done","_","iterator","Symbol","next","loop","item","success","value","unsafeOffer","unsafeDone","read","readChunkChannel","flatMap","takeAll","suspend","arr","push","unsafeFromArray","StreamAdapter","Readable","readLatch","fiber","constructor","runtime","unsafeMakeLatch","runFork","whenOpen","runForEachChunk","unsafeClose","addObserver","exit","isSuccess","squash","_read","_size","unsafeOpen","_destroy","callback","interrupt","_tag","toReadable","map","toReadableNever","defaultRuntime"],"sources":["../../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"stream.js","names":["_Error","require","Cause","_interopRequireWildcard","Channel","Chunk","Effect","Exit","Fiber","_Function","MutableRef","Runtime","Stream","_nodeStream","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromReadable","evaluate","onError","options","fromChannel","fromReadableChannel","exports","toString","readable","maxBytesNumber","maxBytes","Number","undefined","acquireUseRelease","sync","stream","setEncoding","encoding","async","resume","string","bytes","once","err","fail","onFailure","succeed","on","chunk","Buffer","byteLength","Error","closed","destroy","toUint8Array","buffer","alloc","concat","length","fromDuplex","suspend","duplex","void","exit","make","embedInput","unsafeReadableRead","writeInput","cause","failCause","pipeThroughDuplex","dual","args","StreamTypeId","self","pipeThroughChannelOrFail","pipeThroughSimple","SystemError","module","method","reason","writable","endOnDone","onDone","write","writeEffect","close","end","awaitRead","emit","error","zipRight","done","_","iterator","Symbol","next","loop","item","success","value","latch","unsafeMakeLatch","onReadable","unsafeOpen","onErr","current","onEnd","chunkSize","read","fromEffect","unsafeClose","flatMap","await","arr","unsafeFromArray","push","ensuring","off","closeOnDone","StreamAdapter","Readable","readLatch","fiber","constructor","runtime","runFork","whenOpen","runForEachChunk","addObserver","isSuccess","squash","_read","_size","_destroy","callback","interrupt","_tag","toReadable","map","toReadableNever","defaultRuntime"],"sources":["../../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -16,6 +16,8 @@ import type { Duplex, Readable } from "node:stream";
16
16
  export interface FromReadableOptions {
17
17
  /** Defaults to undefined, which lets Node.js decide the chunk size */
18
18
  readonly chunkSize?: SizeInput;
19
+ /** Default to true, which means the stream will be closed when done */
20
+ readonly closeOnDone?: boolean | undefined;
19
21
  }
20
22
  /**
21
23
  * @category model
@@ -29,12 +31,12 @@ export interface FromWritableOptions {
29
31
  * @category constructors
30
32
  * @since 1.0.0
31
33
  */
32
- export declare const fromReadable: <E, A = Uint8Array>(evaluate: LazyArg<Readable | NodeJS.ReadableStream>, onError: (error: unknown) => E, { chunkSize }?: FromReadableOptions) => Stream.Stream<A, E>;
34
+ export declare const fromReadable: <E, A = Uint8Array<ArrayBufferLike>>(evaluate: LazyArg<Readable | NodeJS.ReadableStream>, onError: (error: unknown) => E, options?: FromReadableOptions) => Stream.Stream<A, E>;
33
35
  /**
34
36
  * @category constructors
35
37
  * @since 1.0.0
36
38
  */
37
- export declare const fromReadableChannel: <E, A = Uint8Array>(evaluate: LazyArg<Readable | NodeJS.ReadableStream>, onError: (error: unknown) => E, chunkSize: number | undefined) => Channel<Chunk<A>, unknown, E, unknown, void, unknown>;
39
+ export declare const fromReadableChannel: <E, A = Uint8Array<ArrayBufferLike>>(evaluate: LazyArg<Readable | NodeJS.ReadableStream>, onError: (error: unknown) => E, options?: FromReadableOptions | undefined) => Channel<Chunk<A>, unknown, E>;
38
40
  /**
39
41
  * @category constructors
40
42
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../../src/NodeStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../../src/NodeStream.ts"],"names":[],"mappings":"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"}
@@ -49,5 +49,7 @@ export const toUint8Array = internal.toUint8Array;
49
49
  * @since 1.0.0
50
50
  * @category stdio
51
51
  */
52
- export const stdin = /*#__PURE__*/internal.fromReadable(() => process.stdin, err => err).pipe(Stream.orDie);
52
+ export const stdin = /*#__PURE__*/internal.fromReadable(() => process.stdin, err => err, {
53
+ closeOnDone: false
54
+ }).pipe(Stream.orDie);
53
55
  //# sourceMappingURL=NodeStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStream.js","names":["Stream","internal","fromReadable","fromReadableChannel","fromDuplex","pipeThroughDuplex","pipeThroughSimple","toReadable","toReadableNever","toString","toUint8Array","stdin","process","err","pipe","orDie"],"sources":["../../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAoBhD;;;;AAIA,OAAO,MAAMC,YAAY,GAIED,QAAQ,CAACC,YAAY;AAEhD;;;;AAIA,OAAO,MAAMC,mBAAmB,GAI6BF,QAAQ,CAACE,mBAAmB;AAEzF;;;;AAIA,OAAO,MAAMC,UAAU,GAIuCH,QAAQ,CAACG,UAAU;AAEjF;;;;AAIA,OAAO,MAAMC,iBAAiB,GAoB1BJ,QAAQ,CAACI,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAW1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,UAAU,GACrBN,QAAQ,CAACM,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,eAAe,GAC1BP,QAAQ,CAACO,eAAe;AAE1B;;;;AAIA,OAAO,MAAMC,QAAQ,GAOIR,QAAQ,CAACQ,QAAQ;AAE1C;;;;AAIA,OAAO,MAAMC,YAAY,GAGIT,QAAQ,CAACS,YAAY;AAElD;;;;AAIA,OAAO,MAAMC,KAAK,gBAA8BV,QAAQ,CAACC,YAAY,CAAC,MAAMU,OAAO,CAACD,KAAK,EAAGE,GAAG,IAAKA,GAAG,CAAC,CAACC,IAAI,CAC3Gd,MAAM,CAACe,KAAK,CACb","ignoreList":[]}
1
+ {"version":3,"file":"NodeStream.js","names":["Stream","internal","fromReadable","fromReadableChannel","fromDuplex","pipeThroughDuplex","pipeThroughSimple","toReadable","toReadableNever","toString","toUint8Array","stdin","process","err","closeOnDone","pipe","orDie"],"sources":["../../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAsBhD;;;;AAIA,OAAO,MAAMC,YAAY,GAIED,QAAQ,CAACC,YAAY;AAEhD;;;;AAIA,OAAO,MAAMC,mBAAmB,GAIKF,QAAQ,CAACE,mBAAmB;AAEjE;;;;AAIA,OAAO,MAAMC,UAAU,GAIuCH,QAAQ,CAACG,UAAU;AAEjF;;;;AAIA,OAAO,MAAMC,iBAAiB,GAoB1BJ,QAAQ,CAACI,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAW1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,UAAU,GACrBN,QAAQ,CAACM,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,eAAe,GAC1BP,QAAQ,CAACO,eAAe;AAE1B;;;;AAIA,OAAO,MAAMC,QAAQ,GAOIR,QAAQ,CAACQ,QAAQ;AAE1C;;;;AAIA,OAAO,MAAMC,YAAY,GAGIT,QAAQ,CAACS,YAAY;AAElD;;;;AAIA,OAAO,MAAMC,KAAK,gBAA8BV,QAAQ,CAACC,YAAY,CAAC,MAAMU,OAAO,CAACD,KAAK,EAAGE,GAAG,IAAKA,GAAG,EAAE;EACvGC,WAAW,EAAE;CACd,CAAC,CAACC,IAAI,CAACf,MAAM,CAACgB,KAAK,CAAC","ignoreList":[]}
@@ -6,14 +6,12 @@ import * as Effect from "effect/Effect";
6
6
  import * as Exit from "effect/Exit";
7
7
  import * as Fiber from "effect/Fiber";
8
8
  import { dual } from "effect/Function";
9
- import * as Mailbox from "effect/Mailbox";
9
+ import * as MutableRef from "effect/MutableRef";
10
10
  import * as Runtime from "effect/Runtime";
11
11
  import * as Stream from "effect/Stream";
12
12
  import { Readable } from "node:stream";
13
13
  /** @internal */
14
- export const fromReadable = (evaluate, onError, {
15
- chunkSize
16
- } = {}) => Stream.fromChannel(fromReadableChannel(evaluate, onError, chunkSize ? Number(chunkSize) : undefined));
14
+ export const fromReadable = (evaluate, onError, options) => Stream.fromChannel(fromReadableChannel(evaluate, onError, options));
17
15
  /** @internal */
18
16
  export const toString = (readable, options) => {
19
17
  const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
@@ -69,11 +67,14 @@ export const toUint8Array = (readable, options) => {
69
67
  }));
70
68
  };
71
69
  /** @internal */
72
- export const fromDuplex = (evaluate, onError, options = {}) => Channel.acquireUseRelease(Effect.tap(Effect.zip(Effect.sync(evaluate), Mailbox.make()), ([duplex, mailbox]) => readableOffer(duplex, mailbox, onError)), ([duplex, mailbox]) => Channel.embedInput(readableTake(duplex, mailbox, options.chunkSize ? Number(options.chunkSize) : undefined), writeInput(duplex, cause => mailbox.failCause(cause), options)), ([duplex, mailbox]) => Effect.zipRight(Effect.sync(() => {
73
- if (!duplex.closed) {
74
- duplex.destroy();
70
+ export const fromDuplex = (evaluate, onError, options) => Channel.suspend(() => {
71
+ const duplex = evaluate();
72
+ if (!duplex.readable) {
73
+ return Channel.void;
75
74
  }
76
- }), mailbox.shutdown));
75
+ const exit = MutableRef.make(undefined);
76
+ return Channel.embedInput(unsafeReadableRead(duplex, onError, exit, options), writeInput(duplex, cause => Effect.sync(() => MutableRef.set(exit, Exit.failCause(cause))), options));
77
+ });
77
78
  /** @internal */
78
79
  export const pipeThroughDuplex = /*#__PURE__*/dual(args => Stream.StreamTypeId in args[0], (self, duplex, onError, options) => Stream.pipeThroughChannelOrFail(self, fromDuplex(duplex, onError, options)));
79
80
  /** @internal */
@@ -84,11 +85,7 @@ export const pipeThroughSimple = /*#__PURE__*/dual(2, (self, duplex) => Stream.p
84
85
  cause
85
86
  }))));
86
87
  /** @internal */
87
- export const fromReadableChannel = (evaluate, onError, chunkSize) => Channel.acquireUseRelease(Effect.tap(Effect.zip(Effect.sync(evaluate), Mailbox.make()), ([readable, mailbox]) => readableOffer(readable, mailbox, onError)), ([readable, mailbox]) => readableTake(readable, mailbox, chunkSize), ([readable, mailbox]) => Effect.zipRight(Effect.sync(() => {
88
- if ("closed" in readable && !readable.closed) {
89
- readable.destroy();
90
- }
91
- }), mailbox.shutdown));
88
+ export const fromReadableChannel = (evaluate, onError, options) => Channel.suspend(() => unsafeReadableRead(evaluate(), onError, MutableRef.make(undefined), options));
92
89
  /** @internal */
93
90
  export const writeInput = (writable, onFailure, {
94
91
  encoding,
@@ -128,37 +125,53 @@ export const writeEffect = (writable, encoding) => chunk => chunk.length === 0 ?
128
125
  }
129
126
  loop();
130
127
  });
131
- const readableOffer = (readable, mailbox, onError) => Effect.sync(() => {
132
- readable.on("readable", () => {
133
- mailbox.unsafeOffer(void 0);
134
- });
135
- readable.on("error", err => {
136
- mailbox.unsafeDone(Exit.fail(onError(err)));
137
- });
138
- readable.on("end", () => {
139
- mailbox.unsafeDone(Exit.void);
140
- });
141
- if (readable.readable) {
142
- mailbox.unsafeOffer(void 0);
143
- }
144
- });
145
- const readableTake = (readable, mailbox, chunkSize) => {
146
- const read = readChunkChannel(readable, chunkSize);
147
- const loop = Channel.flatMap(mailbox.takeAll, ([, done]) => done ? read : Channel.zipRight(read, loop));
148
- return loop;
149
- };
150
- const readChunkChannel = (readable, chunkSize) => Channel.suspend(() => {
151
- const arr = [];
152
- let chunk = readable.read(chunkSize);
153
- if (chunk === null) {
128
+ const unsafeReadableRead = (readable, onError, exit, options) => {
129
+ if (!readable.readable) {
154
130
  return Channel.void;
155
131
  }
156
- while (chunk !== null) {
157
- arr.push(chunk);
158
- chunk = readable.read(chunkSize);
132
+ const latch = Effect.unsafeMakeLatch(false);
133
+ function onReadable() {
134
+ latch.unsafeOpen();
159
135
  }
160
- return Channel.write(Chunk.unsafeFromArray(arr));
161
- });
136
+ function onErr(err) {
137
+ exit.current = Exit.fail(onError(err));
138
+ latch.unsafeOpen();
139
+ }
140
+ function onEnd() {
141
+ exit.current = Exit.void;
142
+ latch.unsafeOpen();
143
+ }
144
+ readable.on("readable", onReadable);
145
+ readable.on("error", onErr);
146
+ readable.on("end", onEnd);
147
+ const chunkSize = options?.chunkSize ? Number(options.chunkSize) : undefined;
148
+ const read = Channel.suspend(function loop() {
149
+ let item = readable.read(chunkSize);
150
+ if (item === null) {
151
+ if (exit.current) {
152
+ return Channel.fromEffect(exit.current);
153
+ }
154
+ latch.unsafeClose();
155
+ return Channel.flatMap(latch.await, loop);
156
+ }
157
+ const arr = [item];
158
+ while (true) {
159
+ item = readable.read(chunkSize);
160
+ if (item === null) {
161
+ return Channel.flatMap(Channel.write(Chunk.unsafeFromArray(arr)), loop);
162
+ }
163
+ arr.push(item);
164
+ }
165
+ });
166
+ return Channel.ensuring(read, Effect.sync(() => {
167
+ readable.off("readable", onReadable);
168
+ readable.off("error", onErr);
169
+ readable.off("end", onEnd);
170
+ if (options?.closeOnDone !== false && "closed" in readable && !readable.closed) {
171
+ readable.destroy();
172
+ }
173
+ }));
174
+ };
162
175
  class StreamAdapter extends Readable {
163
176
  readLatch;
164
177
  fiber = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","names":["SystemError","Cause","Channel","Chunk","Effect","Exit","Fiber","dual","Mailbox","Runtime","Stream","Readable","fromReadable","evaluate","onError","chunkSize","fromChannel","fromReadableChannel","Number","undefined","toString","readable","options","maxBytesNumber","maxBytes","acquireUseRelease","sync","stream","setEncoding","encoding","async","resume","string","bytes","once","err","fail","onFailure","succeed","on","chunk","Buffer","byteLength","Error","closed","destroy","toUint8Array","buffer","alloc","concat","length","fromDuplex","tap","zip","make","duplex","mailbox","readableOffer","embedInput","readableTake","writeInput","cause","failCause","zipRight","shutdown","pipeThroughDuplex","args","StreamTypeId","self","pipeThroughChannelOrFail","pipeThroughSimple","module","method","reason","writable","endOnDone","onDone","void","write","writeEffect","close","end","awaitRead","emit","error","done","_","iterator","Symbol","next","loop","item","success","value","unsafeOffer","unsafeDone","read","readChunkChannel","flatMap","takeAll","suspend","arr","push","unsafeFromArray","StreamAdapter","readLatch","fiber","constructor","runtime","unsafeMakeLatch","runFork","whenOpen","runForEachChunk","unsafeClose","addObserver","exit","isSuccess","squash","_read","_size","unsafeOpen","_destroy","callback","interrupt","_tag","toReadable","map","toReadableNever","defaultRuntime"],"sources":["../../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"stream.js","names":["SystemError","Cause","Channel","Chunk","Effect","Exit","Fiber","dual","MutableRef","Runtime","Stream","Readable","fromReadable","evaluate","onError","options","fromChannel","fromReadableChannel","toString","readable","maxBytesNumber","maxBytes","Number","undefined","acquireUseRelease","sync","stream","setEncoding","encoding","async","resume","string","bytes","once","err","fail","onFailure","succeed","on","chunk","Buffer","byteLength","Error","closed","destroy","toUint8Array","buffer","alloc","concat","length","fromDuplex","suspend","duplex","void","exit","make","embedInput","unsafeReadableRead","writeInput","cause","set","failCause","pipeThroughDuplex","args","StreamTypeId","self","pipeThroughChannelOrFail","pipeThroughSimple","module","method","reason","writable","endOnDone","onDone","write","writeEffect","close","end","awaitRead","emit","error","zipRight","done","_","iterator","Symbol","next","loop","item","success","value","latch","unsafeMakeLatch","onReadable","unsafeOpen","onErr","current","onEnd","chunkSize","read","fromEffect","unsafeClose","flatMap","await","arr","unsafeFromArray","push","ensuring","off","closeOnDone","StreamAdapter","readLatch","fiber","constructor","runtime","runFork","whenOpen","runForEachChunk","addObserver","isSuccess","squash","_read","_size","_destroy","callback","interrupt","_tag","toReadable","map","toReadableNever","defaultRuntime"],"sources":["../../../src/internal/stream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node-shared",
3
- "version": "0.44.0",
3
+ "version": "0.45.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -12,15 +12,15 @@
12
12
  "homepage": "https://effect.website",
13
13
  "dependencies": {
14
14
  "@parcel/watcher": "^2.5.1",
15
- "multipasta": "^0.2.5",
15
+ "multipasta": "^0.2.7",
16
16
  "ws": "^8.18.2"
17
17
  },
18
18
  "peerDependencies": {
19
- "@effect/platform": "^0.88.1",
20
- "@effect/cluster": "^0.43.0",
21
- "@effect/rpc": "^0.65.1",
22
- "@effect/sql": "^0.42.0",
23
- "effect": "^3.16.14"
19
+ "@effect/cluster": "^0.44.0",
20
+ "@effect/platform": "^0.89.0",
21
+ "@effect/rpc": "^0.66.0",
22
+ "@effect/sql": "^0.43.0",
23
+ "effect": "^3.17.0"
24
24
  },
25
25
  "publishConfig": {
26
26
  "provenance": true
package/src/NodeStream.ts CHANGED
@@ -18,6 +18,8 @@ import * as internal from "./internal/stream.js"
18
18
  export interface FromReadableOptions {
19
19
  /** Defaults to undefined, which lets Node.js decide the chunk size */
20
20
  readonly chunkSize?: SizeInput
21
+ /** Default to true, which means the stream will be closed when done */
22
+ readonly closeOnDone?: boolean | undefined
21
23
  }
22
24
 
23
25
  /**
@@ -33,21 +35,21 @@ export interface FromWritableOptions {
33
35
  * @category constructors
34
36
  * @since 1.0.0
35
37
  */
36
- export const fromReadable: <E, A = Uint8Array>(
38
+ export const fromReadable: <E, A = Uint8Array<ArrayBufferLike>>(
37
39
  evaluate: LazyArg<Readable | NodeJS.ReadableStream>,
38
40
  onError: (error: unknown) => E,
39
- { chunkSize }?: FromReadableOptions
41
+ options?: FromReadableOptions
40
42
  ) => Stream.Stream<A, E> = internal.fromReadable
41
43
 
42
44
  /**
43
45
  * @category constructors
44
46
  * @since 1.0.0
45
47
  */
46
- export const fromReadableChannel: <E, A = Uint8Array>(
48
+ export const fromReadableChannel: <E, A = Uint8Array<ArrayBufferLike>>(
47
49
  evaluate: LazyArg<Readable | NodeJS.ReadableStream>,
48
50
  onError: (error: unknown) => E,
49
- chunkSize: number | undefined
50
- ) => Channel<Chunk<A>, unknown, E, unknown, void, unknown> = internal.fromReadableChannel
51
+ options?: FromReadableOptions | undefined
52
+ ) => Channel<Chunk<A>, unknown, E> = internal.fromReadableChannel
51
53
 
52
54
  /**
53
55
  * @category constructors
@@ -142,6 +144,6 @@ export const toUint8Array: <E>(
142
144
  * @since 1.0.0
143
145
  * @category stdio
144
146
  */
145
- export const stdin: Stream.Stream<Uint8Array> = internal.fromReadable(() => process.stdin, (err) => err).pipe(
146
- Stream.orDie
147
- )
147
+ export const stdin: Stream.Stream<Uint8Array> = internal.fromReadable(() => process.stdin, (err) => err, {
148
+ closeOnDone: false
149
+ }).pipe(Stream.orDie)
@@ -8,7 +8,7 @@ import * as Exit from "effect/Exit"
8
8
  import * as Fiber from "effect/Fiber"
9
9
  import type { LazyArg } from "effect/Function"
10
10
  import { dual } from "effect/Function"
11
- import * as Mailbox from "effect/Mailbox"
11
+ import * as MutableRef from "effect/MutableRef"
12
12
  import * as Runtime from "effect/Runtime"
13
13
  import type * as AsyncInput from "effect/SingleProducerAsyncInput"
14
14
  import * as Stream from "effect/Stream"
@@ -20,10 +20,10 @@ import type { FromReadableOptions, FromWritableOptions } from "../NodeStream.js"
20
20
  export const fromReadable = <E, A = Uint8Array>(
21
21
  evaluate: LazyArg<Readable | NodeJS.ReadableStream>,
22
22
  onError: (error: unknown) => E,
23
- { chunkSize }: FromReadableOptions = {}
23
+ options?: FromReadableOptions
24
24
  ): Stream.Stream<A, E> =>
25
25
  Stream.fromChannel(
26
- fromReadableChannel<E, A>(evaluate, onError, chunkSize ? Number(chunkSize) : undefined)
26
+ fromReadableChannel<E, A>(evaluate, onError, options)
27
27
  )
28
28
 
29
29
  /** @internal */
@@ -108,38 +108,31 @@ export const toUint8Array = <E>(
108
108
  }
109
109
 
110
110
  /** @internal */
111
- export const fromDuplex = <IE, E, I = Uint8Array | string, O = Uint8Array>(
111
+ export const fromDuplex = <IE, E, I = string | Uint8Array<ArrayBufferLike>, O = Uint8Array<ArrayBufferLike>>(
112
112
  evaluate: LazyArg<Duplex>,
113
113
  onError: (error: unknown) => E,
114
- options: FromReadableOptions & FromWritableOptions = {}
115
- ): Channel.Channel<Chunk.Chunk<O>, Chunk.Chunk<I>, IE | E, IE, void, unknown> =>
116
- Channel.acquireUseRelease(
117
- Effect.tap(
118
- Effect.zip(
119
- Effect.sync(evaluate),
120
- Mailbox.make<void, IE | E>()
121
- ),
122
- ([duplex, mailbox]) => readableOffer(duplex, mailbox, onError)
123
- ),
124
- ([duplex, mailbox]) =>
125
- Channel.embedInput(
126
- readableTake(duplex, mailbox, options.chunkSize ? Number(options.chunkSize) : undefined),
127
- writeInput(
128
- duplex,
129
- (cause) => mailbox.failCause(cause),
130
- options
131
- )
132
- ),
133
- ([duplex, mailbox]) =>
134
- Effect.zipRight(
135
- Effect.sync(() => {
136
- if (!duplex.closed) {
137
- duplex.destroy()
138
- }
139
- }),
140
- mailbox.shutdown
114
+ options?: FromReadableOptions & FromWritableOptions
115
+ ): Channel.Channel<
116
+ Chunk.Chunk<O>,
117
+ Chunk.Chunk<I>,
118
+ IE | E,
119
+ IE
120
+ > =>
121
+ Channel.suspend(() => {
122
+ const duplex = evaluate()
123
+ if (!duplex.readable) {
124
+ return Channel.void
125
+ }
126
+ const exit = MutableRef.make<Exit.Exit<void, IE | E> | undefined>(undefined)
127
+ return Channel.embedInput(
128
+ unsafeReadableRead<O, IE | E>(duplex, onError, exit, options),
129
+ writeInput<IE, I>(
130
+ duplex,
131
+ (cause) => Effect.sync(() => MutableRef.set(exit, Exit.failCause(cause))),
132
+ options
141
133
  )
142
- )
134
+ )
135
+ })
143
136
 
144
137
  /** @internal */
145
138
  export const pipeThroughDuplex = dual<
@@ -191,26 +184,19 @@ export const pipeThroughSimple = dual<
191
184
  export const fromReadableChannel = <E, A = Uint8Array>(
192
185
  evaluate: LazyArg<Readable | NodeJS.ReadableStream>,
193
186
  onError: (error: unknown) => E,
194
- chunkSize: number | undefined
195
- ): Channel.Channel<Chunk.Chunk<A>, unknown, E, unknown, void, unknown> =>
196
- Channel.acquireUseRelease(
197
- Effect.tap(
198
- Effect.zip(
199
- Effect.sync(evaluate),
200
- Mailbox.make<void, E>()
201
- ),
202
- ([readable, mailbox]) => readableOffer(readable, mailbox, onError)
203
- ),
204
- ([readable, mailbox]) => readableTake(readable, mailbox, chunkSize),
205
- ([readable, mailbox]) =>
206
- Effect.zipRight(
207
- Effect.sync(() => {
208
- if ("closed" in readable && !readable.closed) {
209
- readable.destroy()
210
- }
211
- }),
212
- mailbox.shutdown
213
- )
187
+ options?: FromReadableOptions | undefined
188
+ ): Channel.Channel<
189
+ Chunk.Chunk<A>,
190
+ unknown,
191
+ E
192
+ > =>
193
+ Channel.suspend(() =>
194
+ unsafeReadableRead(
195
+ evaluate(),
196
+ onError,
197
+ MutableRef.make(undefined),
198
+ options
199
+ )
214
200
  )
215
201
 
216
202
  /** @internal */
@@ -265,56 +251,65 @@ export const writeEffect = <A>(
265
251
  loop()
266
252
  })
267
253
 
268
- const readableOffer = <E>(
254
+ const unsafeReadableRead = <A, E>(
269
255
  readable: Readable | NodeJS.ReadableStream,
270
- mailbox: Mailbox.Mailbox<void, E>,
271
- onError: (error: unknown) => E
272
- ) =>
273
- Effect.sync(() => {
274
- readable.on("readable", () => {
275
- mailbox.unsafeOffer(void 0)
276
- })
277
- readable.on("error", (err) => {
278
- mailbox.unsafeDone(Exit.fail(onError(err)))
279
- })
280
- readable.on("end", () => {
281
- mailbox.unsafeDone(Exit.void)
282
- })
283
- if (readable.readable) {
284
- mailbox.unsafeOffer(void 0)
285
- }
286
- })
287
-
288
- const readableTake = <E, A>(
289
- readable: Readable | NodeJS.ReadableStream,
290
- mailbox: Mailbox.Mailbox<void, E>,
291
- chunkSize: number | undefined
256
+ onError: (error: unknown) => E,
257
+ exit: MutableRef.MutableRef<Exit.Exit<void, E> | undefined>,
258
+ options: FromReadableOptions | undefined
292
259
  ) => {
293
- const read = readChunkChannel<A>(readable, chunkSize)
294
- const loop: Channel.Channel<Chunk.Chunk<A>, unknown, E> = Channel.flatMap(
295
- mailbox.takeAll,
296
- ([, done]) => done ? read : Channel.zipRight(read, loop)
297
- )
298
- return loop
299
- }
260
+ if (!readable.readable) {
261
+ return Channel.void
262
+ }
300
263
 
301
- const readChunkChannel = <A>(
302
- readable: Readable | NodeJS.ReadableStream,
303
- chunkSize: number | undefined
304
- ) =>
305
- Channel.suspend(() => {
306
- const arr: Array<A> = []
307
- let chunk = readable.read(chunkSize)
308
- if (chunk === null) {
309
- return Channel.void
264
+ const latch = Effect.unsafeMakeLatch(false)
265
+ function onReadable() {
266
+ latch.unsafeOpen()
267
+ }
268
+ function onErr(err: unknown) {
269
+ exit.current = Exit.fail(onError(err))
270
+ latch.unsafeOpen()
271
+ }
272
+ function onEnd() {
273
+ exit.current = Exit.void
274
+ latch.unsafeOpen()
275
+ }
276
+ readable.on("readable", onReadable)
277
+ readable.on("error", onErr)
278
+ readable.on("end", onEnd)
279
+
280
+ const chunkSize = options?.chunkSize ? Number(options.chunkSize) : undefined
281
+ const read = Channel.suspend(function loop(): Channel.Channel<Chunk.Chunk<A>, unknown, E> {
282
+ let item = readable.read(chunkSize) as A | null
283
+ if (item === null) {
284
+ if (exit.current) {
285
+ return Channel.fromEffect(exit.current)
286
+ }
287
+ latch.unsafeClose()
288
+ return Channel.flatMap(latch.await, loop)
310
289
  }
311
- while (chunk !== null) {
312
- arr.push(chunk)
313
- chunk = readable.read(chunkSize)
290
+ const arr = [item as A]
291
+ while (true) {
292
+ item = readable.read(chunkSize)
293
+ if (item === null) {
294
+ return Channel.flatMap(Channel.write(Chunk.unsafeFromArray(arr)), loop)
295
+ }
296
+ arr.push(item as A)
314
297
  }
315
- return Channel.write(Chunk.unsafeFromArray(arr))
316
298
  })
317
299
 
300
+ return Channel.ensuring(
301
+ read,
302
+ Effect.sync(() => {
303
+ readable.off("readable", onReadable)
304
+ readable.off("error", onErr)
305
+ readable.off("end", onEnd)
306
+ if (options?.closeOnDone !== false && "closed" in readable && !readable.closed) {
307
+ readable.destroy()
308
+ }
309
+ })
310
+ )
311
+ }
312
+
318
313
  class StreamAdapter<E, R> extends Readable {
319
314
  readonly readLatch: Effect.Latch
320
315
  fiber: Fiber.RuntimeFiber<void, E> | undefined = undefined