@effect/platform-node-shared 0.44.0 → 0.46.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":[]}
@@ -7,92 +7,81 @@ exports.make = exports.layer = void 0;
7
7
  var Error = _interopRequireWildcard(require("@effect/platform/Error"));
8
8
  var Terminal = _interopRequireWildcard(require("@effect/platform/Terminal"));
9
9
  var Effect = _interopRequireWildcard(require("effect/Effect"));
10
+ var Exit = _interopRequireWildcard(require("effect/Exit"));
10
11
  var Layer = _interopRequireWildcard(require("effect/Layer"));
12
+ var Mailbox = _interopRequireWildcard(require("effect/Mailbox"));
11
13
  var Option = _interopRequireWildcard(require("effect/Option"));
14
+ var RcRef = _interopRequireWildcard(require("effect/RcRef"));
12
15
  var readline = _interopRequireWildcard(require("node:readline"));
13
16
  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); }
14
17
  const defaultShouldQuit = input => input.key.ctrl && (input.key.name === "c" || input.key.name === "d");
15
18
  /** @internal */
16
- const make = (shouldQuit = defaultShouldQuit) => Effect.gen(function* () {
17
- const input = yield* Effect.sync(() => globalThis.process.stdin);
18
- const output = yield* Effect.sync(() => globalThis.process.stdout);
19
- // Acquire a readline interface
20
- const acquireReadlineInterface = Effect.sync(() => readline.createInterface({
21
- input,
22
- escapeCodeTimeout: 50
23
- }));
24
- // Uses the readline interface to force `stdin` to emit keypress events
25
- const emitKeypressEvents = rl => {
26
- readline.emitKeypressEvents(input, rl);
27
- if (input.isTTY) {
28
- input.setRawMode(true);
29
- }
30
- return rl;
31
- };
32
- // Close the `readline` interface
33
- const releaseReadlineInterface = rl => Effect.sync(() => {
34
- if (input.isTTY) {
35
- input.setRawMode(false);
36
- }
37
- rl.close();
19
+ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defaultShouldQuit) {
20
+ const stdin = process.stdin;
21
+ const stdout = process.stdout;
22
+ // Acquire readline interface with TTY setup/cleanup inside the scope
23
+ const rlRef = yield* RcRef.make({
24
+ acquire: Effect.acquireRelease(Effect.sync(() => {
25
+ const rl = readline.createInterface({
26
+ input: stdin,
27
+ escapeCodeTimeout: 50
28
+ });
29
+ readline.emitKeypressEvents(stdin, rl);
30
+ if (stdin.isTTY) {
31
+ stdin.setRawMode(true);
32
+ }
33
+ return rl;
34
+ }), rl => Effect.sync(() => {
35
+ if (stdin.isTTY) {
36
+ stdin.setRawMode(false);
37
+ }
38
+ rl.close();
39
+ }))
38
40
  });
39
- // Handle the `"keypress"` event emitted by `stdin` (forced by readline)
40
- const handleKeypressEvent = input => Effect.async(resume => {
41
- const handleKeypress = (input, key) => {
41
+ const columns = Effect.sync(() => stdout.columns ?? 0);
42
+ const readInput = Effect.gen(function* () {
43
+ yield* RcRef.get(rlRef);
44
+ const mailbox = yield* Mailbox.make();
45
+ const handleKeypress = (s, k) => {
42
46
  const userInput = {
43
- input: Option.fromNullable(input),
47
+ input: Option.fromNullable(s),
44
48
  key: {
45
- name: key.name || "",
46
- ctrl: key.ctrl || false,
47
- meta: key.meta || false,
48
- shift: key.shift || false
49
+ name: k.name ?? "",
50
+ ctrl: !!k.ctrl,
51
+ meta: !!k.meta,
52
+ shift: !!k.shift
49
53
  }
50
54
  };
51
55
  if (shouldQuit(userInput)) {
52
- resume(Effect.fail(new Terminal.QuitException()));
56
+ mailbox.unsafeDone(Exit.void);
53
57
  } else {
54
- resume(Effect.succeed(userInput));
58
+ mailbox.unsafeOffer(userInput);
55
59
  }
56
60
  };
57
- input.once("keypress", handleKeypress);
58
- return Effect.sync(() => {
59
- input.removeListener("keypress", handleKeypress);
60
- });
61
+ yield* Effect.addFinalizer(() => Effect.sync(() => stdin.off("keypress", handleKeypress)));
62
+ stdin.on("keypress", handleKeypress);
63
+ return mailbox;
61
64
  });
62
- // Handle the `"line"` event emitted by the readline interface
63
- const handleLineEvent = rl => Effect.async(resume => {
64
- const handleLine = line => {
65
- resume(Effect.succeed(line));
66
- };
67
- rl.on("line", handleLine);
68
- return Effect.sync(() => {
69
- rl.removeListener("line", handleLine);
70
- });
71
- });
72
- const readInput = Effect.acquireUseRelease(acquireReadlineInterface.pipe(Effect.map(emitKeypressEvents)), () => handleKeypressEvent(input), releaseReadlineInterface);
73
- const readLine = Effect.acquireUseRelease(acquireReadlineInterface, rl => handleLineEvent(rl), releaseReadlineInterface);
65
+ const readLine = RcRef.get(rlRef).pipe(Effect.flatMap(readlineInterface => Effect.async(resume => {
66
+ const onLine = line => resume(Effect.succeed(line));
67
+ readlineInterface.once("line", onLine);
68
+ return Effect.sync(() => readlineInterface.off("line", onLine));
69
+ })), Effect.scoped);
74
70
  const display = prompt => Effect.uninterruptible(Effect.async(resume => {
75
- output.write(prompt, err => {
76
- if (err) {
77
- resume(Effect.fail(new Error.BadArgument({
78
- module: "Terminal",
79
- method: "display",
80
- description: "Failed to write prompt to output",
81
- cause: err
82
- })));
83
- }
84
- resume(Effect.void);
85
- });
71
+ stdout.write(prompt, err => err ? resume(Effect.fail(new Error.BadArgument({
72
+ module: "Terminal",
73
+ method: "display",
74
+ description: "Failed to write prompt to stdout",
75
+ cause: err
76
+ }))) : resume(Effect.void));
86
77
  }));
87
78
  return Terminal.Terminal.of({
88
- // The columns property can be undefined if stdout was redirected
89
- columns: Effect.sync(() => output.columns || 0),
79
+ columns,
90
80
  readInput,
91
81
  readLine,
92
82
  display
93
83
  });
94
84
  });
95
85
  /** @internal */
96
- exports.make = make;
97
86
  const layer = exports.layer = /*#__PURE__*/Layer.scoped(Terminal.Terminal, /*#__PURE__*/make(defaultShouldQuit));
98
87
  //# sourceMappingURL=terminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","names":["Error","_interopRequireWildcard","require","Terminal","Effect","Layer","Option","readline","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","defaultShouldQuit","input","key","ctrl","name","make","shouldQuit","gen","sync","globalThis","process","stdin","output","stdout","acquireReadlineInterface","createInterface","escapeCodeTimeout","emitKeypressEvents","rl","isTTY","setRawMode","releaseReadlineInterface","close","handleKeypressEvent","async","resume","handleKeypress","userInput","fromNullable","meta","shift","fail","QuitException","succeed","once","removeListener","handleLineEvent","handleLine","line","on","readInput","acquireUseRelease","pipe","map","readLine","display","prompt","uninterruptible","write","err","BadArgument","module","method","description","cause","void","of","columns","exports","layer","scoped"],"sources":["../../../src/internal/terminal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"terminal.js","names":["Error","_interopRequireWildcard","require","Terminal","Effect","Exit","Layer","Mailbox","Option","RcRef","readline","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","defaultShouldQuit","input","key","ctrl","name","make","exports","fnUntraced","shouldQuit","stdin","process","stdout","rlRef","acquire","acquireRelease","sync","rl","createInterface","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","columns","readInput","gen","mailbox","handleKeypress","s","k","userInput","fromNullable","meta","shift","unsafeDone","void","unsafeOffer","addFinalizer","off","on","readLine","pipe","flatMap","readlineInterface","async","resume","onLine","line","succeed","once","scoped","display","prompt","uninterruptible","write","err","fail","BadArgument","module","method","description","cause","of","layer"],"sources":["../../../src/internal/terminal.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":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGnD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,EAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,EACnD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,EAAE,SAAS,EAAE,CAAC,EAAE,mBAAmB,KAChC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAyB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,EAClD,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,EACnD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,KAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAgC,CAAA;AAEzF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,EAC7D,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,KAChD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAuB,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAC9B;;;OAGG;IACH,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,EACjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,EAAE,EAC/B,OAAO,CAAC,EAAE,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,SAAS,GAChE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACzE;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,EAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,EAAE,EAC/B,OAAO,CAAC,EAAE,CAAC,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,SAAS,GAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;CACF,CAAA;AAE9B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE;IAC9B;;;OAGG;IACH,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,CAAC,CAAA;IACpI;;;OAGG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;CACpG,CAAA;AAE9B;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CACzF,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,QACjE,CAAA;AAE1B;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,EACnD,OAAO,EAAE;IACP,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAC1C,KACE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAqB,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,EACnD,OAAO,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,KAC9F,MAAM,CAAC,UAAU,EAAE,CAAC,CAAyB,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAE3C,CAAA"}
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;