@effect/platform-node-shared 4.0.0-beta.7 → 4.0.0-beta.71
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.
- package/dist/NodeChildProcessSpawner.d.ts +18 -4
- package/dist/NodeChildProcessSpawner.d.ts.map +1 -1
- package/dist/NodeChildProcessSpawner.js +76 -17
- package/dist/NodeChildProcessSpawner.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +10 -4
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +46 -8
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +42 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +70 -0
- package/dist/NodeCrypto.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +5 -2
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +56 -26
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodePath.d.ts +15 -6
- package/dist/NodePath.d.ts.map +1 -1
- package/dist/NodePath.js +39 -7
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRuntime.d.ts +48 -7
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +8 -8
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeSink.d.ts +49 -4
- package/dist/NodeSink.d.ts.map +1 -1
- package/dist/NodeSink.js +23 -4
- package/dist/NodeSink.js.map +1 -1
- package/dist/NodeSocket.d.ts +50 -9
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +31 -15
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +24 -7
- package/dist/NodeSocketServer.d.ts.map +1 -1
- package/dist/NodeSocketServer.js +28 -11
- package/dist/NodeSocketServer.js.map +1 -1
- package/dist/NodeStdio.d.ts +6 -5
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +46 -7
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +93 -20
- package/dist/NodeStream.d.ts.map +1 -1
- package/dist/NodeStream.js +85 -23
- package/dist/NodeStream.js.map +1 -1
- package/dist/NodeTerminal.d.ts +9 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +13 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/package.json +7 -6
- package/src/NodeChildProcessSpawner.ts +116 -28
- package/src/NodeClusterSocket.ts +46 -8
- package/src/NodeCrypto.ts +75 -0
- package/src/NodeFileSystem.ts +63 -28
- package/src/NodePath.ts +39 -7
- package/src/NodeRuntime.ts +50 -13
- package/src/NodeSink.ts +56 -4
- package/src/NodeSocket.ts +56 -16
- package/src/NodeSocketServer.ts +64 -12
- package/src/NodeStdio.ts +64 -23
- package/src/NodeStream.ts +106 -30
- package/src/NodeTerminal.ts +44 -4
- package/src/index.ts +65 -0
package/dist/NodeStdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeStdio.js","names":["Layer","systemError","Stdio","fromWritable","fromReadable","layer","succeed","make","
|
|
1
|
+
{"version":3,"file":"NodeStdio.js","names":["Effect","Layer","systemError","Stdio","fromWritable","fromReadable","layer","succeed","make","args","sync","process","argv","slice","stdout","options","evaluate","onError","cause","module","method","_tag","endOnDone","stderr","stdin","closeOnDone"],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAE9C;;;;;;;;AAQA,OAAO,MAAMC,KAAK,gBAA6BL,KAAK,CAACM,OAAO,CAC1DJ,KAAK,CAACA,KAAK,eACXA,KAAK,CAACK,IAAI,CAAC;EACTC,IAAI,eAAET,MAAM,CAACU,IAAI,CAAC,MAAMC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9CC,MAAM,EAAGC,OAAO,IACdX,YAAY,CAAC;IACXY,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACG,MAAM;IAC9BG,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJI,SAAS,EAAEP,OAAO,EAAEO,SAAS,IAAI;GAClC,CAAC;EACJC,MAAM,EAAGR,OAAO,IACdX,YAAY,CAAC;IACXY,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACY,MAAM;IAC9BN,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJI,SAAS,EAAEP,OAAO,EAAEO,SAAS,IAAI;GAClC,CAAC;EACJE,KAAK,eAAEnB,YAAY,CAAC;IAClBW,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACa,KAAK;IAC7BP,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJO,WAAW,EAAE;GACd;CACF,CAAC,CACH","ignoreList":[]}
|
package/dist/NodeStream.d.ts
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Adapters between Node streams and Effect streams, channels, and readables.
|
|
3
|
+
*
|
|
4
|
+
* This module is the stream boundary for Node APIs: wrap `Readable` or
|
|
5
|
+
* `Duplex` values as Effect `Stream`s and `Channel`s, pipe an Effect stream
|
|
6
|
+
* through a Node duplex transform, expose an Effect `Stream` back to Node as a
|
|
7
|
+
* `Readable`, or collect bounded readable payloads into strings, array
|
|
8
|
+
* buffers, and `Uint8Array`s. Common sources include files, HTTP bodies, child
|
|
9
|
+
* process stdio, sockets, and compression or crypto transforms.
|
|
10
|
+
*
|
|
11
|
+
* **Mental model**
|
|
12
|
+
*
|
|
13
|
+
* Read adapters pull from Node's readable side into Effect. Duplex adapters
|
|
14
|
+
* write upstream Effect chunks to Node while reading transformed chunks back.
|
|
15
|
+
* `toReadable` runs an Effect stream from the caller's context, while
|
|
16
|
+
* `toReadableNever` is for streams that need no services.
|
|
17
|
+
*
|
|
18
|
+
* **Gotchas**
|
|
19
|
+
*
|
|
20
|
+
* Node backpressure is preserved: writes pause until `drain` before more input
|
|
21
|
+
* is pulled. Readables are destroyed on scope finalization by default, and
|
|
22
|
+
* duplex writable sides are ended when upstream completes unless configured
|
|
23
|
+
* otherwise. For externally owned or long-lived streams, choose `closeOnDone`
|
|
24
|
+
* and `endOnDone` deliberately; for collection helpers, set `maxBytes` when
|
|
25
|
+
* input size is not already bounded.
|
|
26
|
+
*
|
|
27
|
+
* @since 4.0.0
|
|
3
28
|
*/
|
|
4
29
|
import * as Arr from "effect/Array";
|
|
5
30
|
import * as Cause from "effect/Cause";
|
|
@@ -11,8 +36,12 @@ import * as Stream from "effect/Stream";
|
|
|
11
36
|
import type { Duplex } from "node:stream";
|
|
12
37
|
import { Readable } from "node:stream";
|
|
13
38
|
/**
|
|
39
|
+
* Converts a Node readable stream into an Effect `Stream`, reading chunks with
|
|
40
|
+
* an optional chunk size, mapping stream errors with `onError`, and destroying
|
|
41
|
+
* the readable on completion unless `closeOnDone` is `false`.
|
|
42
|
+
*
|
|
14
43
|
* @category constructors
|
|
15
|
-
* @since
|
|
44
|
+
* @since 4.0.0
|
|
16
45
|
*/
|
|
17
46
|
export declare const fromReadable: <A = Uint8Array, E = Cause.UnknownError>(options: {
|
|
18
47
|
readonly evaluate: LazyArg<Readable | NodeJS.ReadableStream>;
|
|
@@ -22,8 +51,12 @@ export declare const fromReadable: <A = Uint8Array, E = Cause.UnknownError>(opti
|
|
|
22
51
|
readonly closeOnDone?: boolean | undefined;
|
|
23
52
|
}) => Stream.Stream<A, E>;
|
|
24
53
|
/**
|
|
54
|
+
* Creates a `Channel` that pulls chunks from a Node readable stream, mapping
|
|
55
|
+
* errors with `onError` and destroying the readable on completion unless
|
|
56
|
+
* `closeOnDone` is `false`.
|
|
57
|
+
*
|
|
25
58
|
* @category constructors
|
|
26
|
-
* @since
|
|
59
|
+
* @since 4.0.0
|
|
27
60
|
*/
|
|
28
61
|
export declare const fromReadableChannel: <A = Uint8Array, E = Cause.UnknownError>(options: {
|
|
29
62
|
readonly evaluate: LazyArg<Readable | NodeJS.ReadableStream>;
|
|
@@ -32,8 +65,12 @@ export declare const fromReadableChannel: <A = Uint8Array, E = Cause.UnknownErro
|
|
|
32
65
|
readonly closeOnDone?: boolean | undefined;
|
|
33
66
|
}) => Channel.Channel<Arr.NonEmptyReadonlyArray<A>, E>;
|
|
34
67
|
/**
|
|
68
|
+
* Creates a `Channel` over a Node `Duplex`, writing upstream chunks with
|
|
69
|
+
* backpressure while emitting chunks read from the duplex and optionally ending
|
|
70
|
+
* the writable side when upstream completes.
|
|
71
|
+
*
|
|
35
72
|
* @category constructors
|
|
36
|
-
* @since
|
|
73
|
+
* @since 4.0.0
|
|
37
74
|
*/
|
|
38
75
|
export declare const fromDuplex: <IE, I = Uint8Array, O = Uint8Array, E = Cause.UnknownError>(options: {
|
|
39
76
|
readonly evaluate: LazyArg<Duplex>;
|
|
@@ -44,13 +81,19 @@ export declare const fromDuplex: <IE, I = Uint8Array, O = Uint8Array, E = Cause.
|
|
|
44
81
|
readonly encoding?: BufferEncoding | undefined;
|
|
45
82
|
}) => Channel.Channel<Arr.NonEmptyReadonlyArray<O>, IE | E, void, Arr.NonEmptyReadonlyArray<I>, IE>;
|
|
46
83
|
/**
|
|
84
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
85
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
86
|
+
*
|
|
47
87
|
* @category combinators
|
|
48
|
-
* @since
|
|
88
|
+
* @since 4.0.0
|
|
49
89
|
*/
|
|
50
90
|
export declare const pipeThroughDuplex: {
|
|
51
91
|
/**
|
|
92
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
93
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
94
|
+
*
|
|
52
95
|
* @category combinators
|
|
53
|
-
* @since
|
|
96
|
+
* @since 4.0.0
|
|
54
97
|
*/
|
|
55
98
|
<B = Uint8Array, E2 = Cause.UnknownError>(options: {
|
|
56
99
|
readonly evaluate: LazyArg<Duplex>;
|
|
@@ -61,8 +104,11 @@ export declare const pipeThroughDuplex: {
|
|
|
61
104
|
readonly encoding?: BufferEncoding | undefined;
|
|
62
105
|
}): <R, E, A>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E2 | E, R>;
|
|
63
106
|
/**
|
|
107
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
108
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
109
|
+
*
|
|
64
110
|
* @category combinators
|
|
65
|
-
* @since
|
|
111
|
+
* @since 4.0.0
|
|
66
112
|
*/
|
|
67
113
|
<R, E, A, B = Uint8Array, E2 = Cause.UnknownError>(self: Stream.Stream<A, E, R>, options: {
|
|
68
114
|
readonly evaluate: LazyArg<Duplex>;
|
|
@@ -74,34 +120,54 @@ export declare const pipeThroughDuplex: {
|
|
|
74
120
|
}): Stream.Stream<B, E | E2, R>;
|
|
75
121
|
};
|
|
76
122
|
/**
|
|
123
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
124
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
125
|
+
*
|
|
77
126
|
* @category combinators
|
|
78
|
-
* @since
|
|
127
|
+
* @since 4.0.0
|
|
79
128
|
*/
|
|
80
129
|
export declare const pipeThroughSimple: {
|
|
81
130
|
/**
|
|
131
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
132
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
133
|
+
*
|
|
82
134
|
* @category combinators
|
|
83
|
-
* @since
|
|
135
|
+
* @since 4.0.0
|
|
84
136
|
*/
|
|
85
137
|
(duplex: LazyArg<Duplex>): <R, E>(self: Stream.Stream<string | Uint8Array, E, R>) => Stream.Stream<Uint8Array, E | Cause.UnknownError, R>;
|
|
86
138
|
/**
|
|
139
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
140
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
141
|
+
*
|
|
87
142
|
* @category combinators
|
|
88
|
-
* @since
|
|
143
|
+
* @since 4.0.0
|
|
89
144
|
*/
|
|
90
145
|
<R, E>(self: Stream.Stream<string | Uint8Array, E, R>, duplex: LazyArg<Duplex>): Stream.Stream<Uint8Array, Cause.UnknownError | E, R>;
|
|
91
146
|
};
|
|
92
147
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
148
|
+
* Converts an Effect `Stream` into a Node `Readable`, using the caller's
|
|
149
|
+
* Effect context to run the stream and destroying the readable if the stream
|
|
150
|
+
* fails.
|
|
151
|
+
*
|
|
152
|
+
* @category converting
|
|
153
|
+
* @since 4.0.0
|
|
95
154
|
*/
|
|
96
155
|
export declare const toReadable: <E, R>(stream: Stream.Stream<string | Uint8Array, E, R>) => Effect.Effect<Readable, never, R>;
|
|
97
156
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
157
|
+
* Converts a service-free Effect `Stream` into a Node `Readable` using an
|
|
158
|
+
* empty Effect context.
|
|
159
|
+
*
|
|
160
|
+
* @category converting
|
|
161
|
+
* @since 4.0.0
|
|
100
162
|
*/
|
|
101
163
|
export declare const toReadableNever: <E>(stream: Stream.Stream<string | Uint8Array, E, never>) => Readable;
|
|
102
164
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
165
|
+
* Consumes a Node readable stream into a string using the selected encoding,
|
|
166
|
+
* failing through `onError` on stream errors or when `maxBytes` is exceeded
|
|
167
|
+
* and destroying the stream on interruption or failure.
|
|
168
|
+
*
|
|
169
|
+
* @category converting
|
|
170
|
+
* @since 4.0.0
|
|
105
171
|
*/
|
|
106
172
|
export declare const toString: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
|
|
107
173
|
readonly onError?: (error: unknown) => E;
|
|
@@ -109,16 +175,23 @@ export declare const toString: <E = Cause.UnknownError>(readable: LazyArg<Readab
|
|
|
109
175
|
readonly maxBytes?: SizeInput | undefined;
|
|
110
176
|
}) => Effect.Effect<string, E>;
|
|
111
177
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
178
|
+
* Consumes a Node readable stream into an `ArrayBuffer`, failing through
|
|
179
|
+
* `onError` on stream errors or when `maxBytes` is exceeded and destroying the
|
|
180
|
+
* stream on interruption or failure.
|
|
181
|
+
*
|
|
182
|
+
* @category converting
|
|
183
|
+
* @since 4.0.0
|
|
114
184
|
*/
|
|
115
185
|
export declare const toArrayBuffer: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
|
|
116
186
|
readonly onError?: (error: unknown) => E;
|
|
117
187
|
readonly maxBytes?: SizeInput | undefined;
|
|
118
188
|
}) => Effect.Effect<ArrayBuffer, E>;
|
|
119
189
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
190
|
+
* Consumes a Node readable stream into a `Uint8Array`, using the same error
|
|
191
|
+
* mapping and `maxBytes` handling as `toArrayBuffer`.
|
|
192
|
+
*
|
|
193
|
+
* @category converting
|
|
194
|
+
* @since 4.0.0
|
|
122
195
|
*/
|
|
123
196
|
export declare const toUint8Array: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
|
|
124
197
|
readonly onError?: (error: unknown) => E;
|
package/dist/NodeStream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../src/NodeStream.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeStream.d.ts","sourceRoot":"","sources":["../src/NodeStream.ts"],"names":[],"mappings":"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"}
|
package/dist/NodeStream.js
CHANGED
|
@@ -1,9 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Adapters between Node streams and Effect streams, channels, and readables.
|
|
3
|
+
*
|
|
4
|
+
* This module is the stream boundary for Node APIs: wrap `Readable` or
|
|
5
|
+
* `Duplex` values as Effect `Stream`s and `Channel`s, pipe an Effect stream
|
|
6
|
+
* through a Node duplex transform, expose an Effect `Stream` back to Node as a
|
|
7
|
+
* `Readable`, or collect bounded readable payloads into strings, array
|
|
8
|
+
* buffers, and `Uint8Array`s. Common sources include files, HTTP bodies, child
|
|
9
|
+
* process stdio, sockets, and compression or crypto transforms.
|
|
10
|
+
*
|
|
11
|
+
* **Mental model**
|
|
12
|
+
*
|
|
13
|
+
* Read adapters pull from Node's readable side into Effect. Duplex adapters
|
|
14
|
+
* write upstream Effect chunks to Node while reading transformed chunks back.
|
|
15
|
+
* `toReadable` runs an Effect stream from the caller's context, while
|
|
16
|
+
* `toReadableNever` is for streams that need no services.
|
|
17
|
+
*
|
|
18
|
+
* **Gotchas**
|
|
19
|
+
*
|
|
20
|
+
* Node backpressure is preserved: writes pause until `drain` before more input
|
|
21
|
+
* is pulled. Readables are destroyed on scope finalization by default, and
|
|
22
|
+
* duplex writable sides are ended when upstream completes unless configured
|
|
23
|
+
* otherwise. For externally owned or long-lived streams, choose `closeOnDone`
|
|
24
|
+
* and `endOnDone` deliberately; for collection helpers, set `maxBytes` when
|
|
25
|
+
* input size is not already bounded.
|
|
26
|
+
*
|
|
27
|
+
* @since 4.0.0
|
|
3
28
|
*/
|
|
4
29
|
import * as Arr from "effect/Array";
|
|
5
30
|
import * as Cause from "effect/Cause";
|
|
6
31
|
import * as Channel from "effect/Channel";
|
|
32
|
+
import * as Context from "effect/Context";
|
|
7
33
|
import * as Effect from "effect/Effect";
|
|
8
34
|
import * as Exit from "effect/Exit";
|
|
9
35
|
import * as Fiber from "effect/Fiber";
|
|
@@ -12,18 +38,25 @@ import * as Latch from "effect/Latch";
|
|
|
12
38
|
import * as MutableRef from "effect/MutableRef";
|
|
13
39
|
import * as Pull from "effect/Pull";
|
|
14
40
|
import * as Scope from "effect/Scope";
|
|
15
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
16
41
|
import * as Stream from "effect/Stream";
|
|
17
42
|
import { Readable } from "node:stream";
|
|
18
43
|
import { pullIntoWritable } from "./NodeSink.js";
|
|
19
44
|
/**
|
|
45
|
+
* Converts a Node readable stream into an Effect `Stream`, reading chunks with
|
|
46
|
+
* an optional chunk size, mapping stream errors with `onError`, and destroying
|
|
47
|
+
* the readable on completion unless `closeOnDone` is `false`.
|
|
48
|
+
*
|
|
20
49
|
* @category constructors
|
|
21
|
-
* @since
|
|
50
|
+
* @since 4.0.0
|
|
22
51
|
*/
|
|
23
52
|
export const fromReadable = options => Stream.fromChannel(fromReadableChannel(options));
|
|
24
53
|
/**
|
|
54
|
+
* Creates a `Channel` that pulls chunks from a Node readable stream, mapping
|
|
55
|
+
* errors with `onError` and destroying the readable on completion unless
|
|
56
|
+
* `closeOnDone` is `false`.
|
|
57
|
+
*
|
|
25
58
|
* @category constructors
|
|
26
|
-
* @since
|
|
59
|
+
* @since 4.0.0
|
|
27
60
|
*/
|
|
28
61
|
export const fromReadableChannel = options => Channel.fromTransform((_, scope) => readableToPullUnsafe({
|
|
29
62
|
scope,
|
|
@@ -33,8 +66,12 @@ export const fromReadableChannel = options => Channel.fromTransform((_, scope) =
|
|
|
33
66
|
closeOnDone: options.closeOnDone
|
|
34
67
|
}));
|
|
35
68
|
/**
|
|
69
|
+
* Creates a `Channel` over a Node `Duplex`, writing upstream chunks with
|
|
70
|
+
* backpressure while emitting chunks read from the duplex and optionally ending
|
|
71
|
+
* the writable side when upstream completes.
|
|
72
|
+
*
|
|
36
73
|
* @category constructors
|
|
37
|
-
* @since
|
|
74
|
+
* @since 4.0.0
|
|
38
75
|
*/
|
|
39
76
|
export const fromDuplex = options => Channel.fromTransform((upstream, scope) => {
|
|
40
77
|
const duplex = options.evaluate();
|
|
@@ -58,30 +95,47 @@ export const fromDuplex = options => Channel.fromTransform((upstream, scope) =>
|
|
|
58
95
|
})));
|
|
59
96
|
});
|
|
60
97
|
/**
|
|
98
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
99
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
100
|
+
*
|
|
61
101
|
* @category combinators
|
|
62
|
-
* @since
|
|
102
|
+
* @since 4.0.0
|
|
63
103
|
*/
|
|
64
104
|
export const pipeThroughDuplex = /*#__PURE__*/dual(2, (self, options) => Stream.pipeThroughChannelOrFail(self, fromDuplex(options)));
|
|
65
105
|
/**
|
|
106
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
107
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
108
|
+
*
|
|
66
109
|
* @category combinators
|
|
67
|
-
* @since
|
|
110
|
+
* @since 4.0.0
|
|
68
111
|
*/
|
|
69
112
|
export const pipeThroughSimple = /*#__PURE__*/dual(2, (self, duplex) => pipeThroughDuplex(self, {
|
|
70
113
|
evaluate: duplex
|
|
71
114
|
}));
|
|
72
115
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
116
|
+
* Converts an Effect `Stream` into a Node `Readable`, using the caller's
|
|
117
|
+
* Effect context to run the stream and destroying the readable if the stream
|
|
118
|
+
* fails.
|
|
119
|
+
*
|
|
120
|
+
* @category converting
|
|
121
|
+
* @since 4.0.0
|
|
75
122
|
*/
|
|
76
|
-
export const toReadable = stream => Effect.map(Effect.
|
|
123
|
+
export const toReadable = stream => Effect.map(Effect.context(), context => new StreamAdapter(context, stream));
|
|
77
124
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
125
|
+
* Converts a service-free Effect `Stream` into a Node `Readable` using an
|
|
126
|
+
* empty Effect context.
|
|
127
|
+
*
|
|
128
|
+
* @category converting
|
|
129
|
+
* @since 4.0.0
|
|
80
130
|
*/
|
|
81
|
-
export const toReadableNever = stream => new StreamAdapter(
|
|
131
|
+
export const toReadableNever = stream => new StreamAdapter(Context.empty(), stream);
|
|
82
132
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
133
|
+
* Consumes a Node readable stream into a string using the selected encoding,
|
|
134
|
+
* failing through `onError` on stream errors or when `maxBytes` is exceeded
|
|
135
|
+
* and destroying the stream on interruption or failure.
|
|
136
|
+
*
|
|
137
|
+
* @category converting
|
|
138
|
+
* @since 4.0.0
|
|
85
139
|
*/
|
|
86
140
|
export const toString = (readable, options) => {
|
|
87
141
|
const maxBytesNumber = options?.maxBytes ? Number(options.maxBytes) : undefined;
|
|
@@ -119,15 +173,19 @@ export const toString = (readable, options) => {
|
|
|
119
173
|
});
|
|
120
174
|
};
|
|
121
175
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
176
|
+
* Consumes a Node readable stream into an `ArrayBuffer`, failing through
|
|
177
|
+
* `onError` on stream errors or when `maxBytes` is exceeded and destroying the
|
|
178
|
+
* stream on interruption or failure.
|
|
179
|
+
*
|
|
180
|
+
* @category converting
|
|
181
|
+
* @since 4.0.0
|
|
124
182
|
*/
|
|
125
183
|
export const toArrayBuffer = (readable, options) => {
|
|
126
184
|
const maxBytesNumber = options?.maxBytes ? Number(options.maxBytes) : undefined;
|
|
127
185
|
const onError = options?.onError ?? defaultOnError;
|
|
128
186
|
return Effect.callback(resume => {
|
|
129
187
|
const stream = readable();
|
|
130
|
-
|
|
188
|
+
const buffers = [];
|
|
131
189
|
let bytes = 0;
|
|
132
190
|
stream.once("error", err => {
|
|
133
191
|
if ("closed" in stream && !stream.closed) {
|
|
@@ -136,13 +194,14 @@ export const toArrayBuffer = (readable, options) => {
|
|
|
136
194
|
resume(Effect.fail(onError(err)));
|
|
137
195
|
});
|
|
138
196
|
stream.once("end", () => {
|
|
139
|
-
|
|
197
|
+
const buffer = buffers.length === 1 ? buffers[0] : Buffer.concat(buffers);
|
|
198
|
+
if (buffer.byteOffset === 0 && buffer.buffer.byteLength === buffer.byteLength) {
|
|
140
199
|
return resume(Effect.succeed(buffer.buffer));
|
|
141
200
|
}
|
|
142
201
|
resume(Effect.succeed(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)));
|
|
143
202
|
});
|
|
144
203
|
stream.on("data", chunk => {
|
|
145
|
-
|
|
204
|
+
buffers.push(chunk);
|
|
146
205
|
bytes += chunk.length;
|
|
147
206
|
if (maxBytesNumber && bytes > maxBytesNumber) {
|
|
148
207
|
resume(Effect.fail(onError(new Error("maxBytes exceeded"))));
|
|
@@ -156,8 +215,11 @@ export const toArrayBuffer = (readable, options) => {
|
|
|
156
215
|
});
|
|
157
216
|
};
|
|
158
217
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
218
|
+
* Consumes a Node readable stream into a `Uint8Array`, using the same error
|
|
219
|
+
* mapping and `maxBytes` handling as `toArrayBuffer`.
|
|
220
|
+
*
|
|
221
|
+
* @category converting
|
|
222
|
+
* @since 4.0.0
|
|
161
223
|
*/
|
|
162
224
|
export const toUint8Array = (readable, options) => Effect.map(toArrayBuffer(readable, options), buffer => new Uint8Array(buffer));
|
|
163
225
|
// ----------------------------------------------------------------------------
|
|
@@ -225,7 +287,7 @@ class StreamAdapter extends Readable {
|
|
|
225
287
|
this.push(item);
|
|
226
288
|
}
|
|
227
289
|
}
|
|
228
|
-
}))).pipe(this.readLatch.whenOpen, Effect.
|
|
290
|
+
}))).pipe(this.readLatch.whenOpen, Effect.provideContext(context), Effect.runFork);
|
|
229
291
|
this.fiber.addObserver(exit => {
|
|
230
292
|
this.fiber = undefined;
|
|
231
293
|
if (Exit.isSuccess(exit)) {
|
package/dist/NodeStream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeStream.js","names":["Arr","Cause","Channel","Effect","Exit","Fiber","dual","Latch","MutableRef","Pull","Scope","ServiceMap","Stream","Readable","pullIntoWritable","fromReadable","options","fromChannel","fromReadableChannel","fromTransform","_","scope","readableToPullUnsafe","readable","evaluate","onError","defaultOnError","chunkSize","closeOnDone","fromDuplex","upstream","duplex","exit","make","undefined","pull","writable","endOnDone","encoding","pipe","catchCause","cause","isDoneCause","void","current","failCause","forkIn","flatMap","pipeThroughDuplex","self","pipeThroughChannelOrFail","pipeThroughSimple","toReadable","stream","map","services","context","StreamAdapter","toReadableNever","empty","toString","maxBytesNumber","maxBytes","Number","callback","resume","setEncoding","once","err","closed","destroy","fail","string","bytes","succeed","on","chunk","Buffer","byteLength","Error","sync","toArrayBuffer","buffer","alloc","slice","byteOffset","concat","length","toUint8Array","Uint8Array","readableEnded","done","latch","makeUnsafe","onReadable","openUnsafe","error","onEnd","Done","suspend","loop","item","read","closeUnsafe","await","of","push","as","addFinalizer","off","readLatch","fiber","constructor","runForEachArray","whenOpen","i","provideServices","runFork","addObserver","isSuccess","squash","_read","_size","_destroy","interrupt","_tag","UnknownError"],"sources":["../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NodeStream.js","names":["Arr","Cause","Channel","Context","Effect","Exit","Fiber","dual","Latch","MutableRef","Pull","Scope","Stream","Readable","pullIntoWritable","fromReadable","options","fromChannel","fromReadableChannel","fromTransform","_","scope","readableToPullUnsafe","readable","evaluate","onError","defaultOnError","chunkSize","closeOnDone","fromDuplex","upstream","duplex","exit","make","undefined","pull","writable","endOnDone","encoding","pipe","catchCause","cause","isDoneCause","void","current","failCause","forkIn","flatMap","pipeThroughDuplex","self","pipeThroughChannelOrFail","pipeThroughSimple","toReadable","stream","map","context","StreamAdapter","toReadableNever","empty","toString","maxBytesNumber","maxBytes","Number","callback","resume","setEncoding","once","err","closed","destroy","fail","string","bytes","succeed","on","chunk","Buffer","byteLength","Error","sync","toArrayBuffer","buffers","buffer","length","concat","byteOffset","slice","push","toUint8Array","Uint8Array","readableEnded","done","latch","makeUnsafe","onReadable","openUnsafe","error","onEnd","Done","suspend","loop","item","read","closeUnsafe","await","of","as","addFinalizer","off","readLatch","fiber","constructor","runForEachArray","whenOpen","i","provideContext","runFork","addObserver","isSuccess","squash","_read","_size","_destroy","interrupt","_tag","UnknownError"],"sources":["../src/NodeStream.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/NodeTerminal.d.ts
CHANGED
|
@@ -3,13 +3,20 @@ import * as Layer from "effect/Layer";
|
|
|
3
3
|
import type * as Scope from "effect/Scope";
|
|
4
4
|
import * as Terminal from "effect/Terminal";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Creates a scoped process-backed `Terminal` using Node `readline`, enabling
|
|
7
|
+
* TTY raw mode while in scope and using the supplied predicate to decide when
|
|
8
|
+
* key input should end.
|
|
9
|
+
*
|
|
7
10
|
* @category constructors
|
|
11
|
+
* @since 4.0.0
|
|
8
12
|
*/
|
|
9
13
|
export declare const make: (shouldQuit?: (input: Terminal.UserInput) => boolean) => Effect.Effect<Terminal.Terminal, never, Scope.Scope>;
|
|
10
14
|
/**
|
|
11
|
-
*
|
|
15
|
+
* Provides the default process-backed `Terminal` service, ending key input on
|
|
16
|
+
* Ctrl+C or Ctrl+D.
|
|
17
|
+
*
|
|
12
18
|
* @category layers
|
|
19
|
+
* @since 4.0.0
|
|
13
20
|
*/
|
|
14
21
|
export declare const layer: Layer.Layer<Terminal.Terminal>;
|
|
15
22
|
//# sourceMappingURL=NodeTerminal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTerminal.d.ts","sourceRoot":"","sources":["../src/NodeTerminal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeTerminal.d.ts","sourceRoot":"","sources":["../src/NodeTerminal.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAMrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,KAAK,OAAO,KAChD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAkFvD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAA4D,CAAA"}
|
package/dist/NodeTerminal.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as Option from "effect/Option";
|
|
3
4
|
import { badArgument } from "effect/PlatformError";
|
|
4
5
|
import * as Predicate from "effect/Predicate";
|
|
5
6
|
import * as Queue from "effect/Queue";
|
|
@@ -7,8 +8,12 @@ import * as RcRef from "effect/RcRef";
|
|
|
7
8
|
import * as Terminal from "effect/Terminal";
|
|
8
9
|
import * as readline from "node:readline";
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* Creates a scoped process-backed `Terminal` using Node `readline`, enabling
|
|
12
|
+
* TTY raw mode while in scope and using the supplied predicate to decide when
|
|
13
|
+
* key input should end.
|
|
14
|
+
*
|
|
11
15
|
* @category constructors
|
|
16
|
+
* @since 4.0.0
|
|
12
17
|
*/
|
|
13
18
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defaultShouldQuit) {
|
|
14
19
|
const stdin = process.stdin;
|
|
@@ -33,12 +38,13 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defau
|
|
|
33
38
|
}))
|
|
34
39
|
});
|
|
35
40
|
const columns = Effect.sync(() => stdout.columns ?? 0);
|
|
41
|
+
const rows = Effect.sync(() => stdout.rows ?? 0);
|
|
36
42
|
const readInput = Effect.gen(function* () {
|
|
37
43
|
yield* RcRef.get(rlRef);
|
|
38
44
|
const queue = yield* Queue.make();
|
|
39
45
|
const handleKeypress = (s, k) => {
|
|
40
46
|
const userInput = {
|
|
41
|
-
input: s,
|
|
47
|
+
input: Option.fromUndefinedOr(s),
|
|
42
48
|
key: {
|
|
43
49
|
name: k.name ?? "",
|
|
44
50
|
ctrl: !!k.ctrl,
|
|
@@ -70,14 +76,18 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defau
|
|
|
70
76
|
}));
|
|
71
77
|
return Terminal.make({
|
|
72
78
|
columns,
|
|
79
|
+
rows,
|
|
73
80
|
readInput,
|
|
74
81
|
readLine,
|
|
75
82
|
display
|
|
76
83
|
});
|
|
77
84
|
});
|
|
78
85
|
/**
|
|
79
|
-
*
|
|
86
|
+
* Provides the default process-backed `Terminal` service, ending key input on
|
|
87
|
+
* Ctrl+C or Ctrl+D.
|
|
88
|
+
*
|
|
80
89
|
* @category layers
|
|
90
|
+
* @since 4.0.0
|
|
81
91
|
*/
|
|
82
92
|
export const layer = /*#__PURE__*/Layer.effect(Terminal.Terminal, /*#__PURE__*/make(defaultShouldQuit));
|
|
83
93
|
function defaultShouldQuit(input) {
|
package/dist/NodeTerminal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTerminal.js","names":["Effect","Layer","badArgument","Predicate","Queue","RcRef","Terminal","readline","make","fnUntraced","shouldQuit","defaultShouldQuit","stdin","process","stdout","rlRef","acquire","acquireRelease","sync","rl","createInterface","input","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","columns","readInput","gen","get","queue","handleKeypress","s","k","userInput","key","name","ctrl","meta","shift","offerUnsafe","endUnsafe","addFinalizer","off","on","readLine","scoped","flatMap","readlineInterface","callback","resume","onLine","line","succeed","once","display","prompt","uninterruptible","write","err","isNullish","void","fail","module","method","description","cause","layer","effect"],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeTerminal.js","names":["Effect","Layer","Option","badArgument","Predicate","Queue","RcRef","Terminal","readline","make","fnUntraced","shouldQuit","defaultShouldQuit","stdin","process","stdout","rlRef","acquire","acquireRelease","sync","rl","createInterface","input","escapeCodeTimeout","emitKeypressEvents","isTTY","setRawMode","close","columns","rows","readInput","gen","get","queue","handleKeypress","s","k","userInput","fromUndefinedOr","key","name","ctrl","meta","shift","offerUnsafe","endUnsafe","addFinalizer","off","on","readLine","scoped","flatMap","readlineInterface","callback","resume","onLine","line","succeed","once","display","prompt","uninterruptible","write","err","isNullish","void","fail","module","method","description","cause","layer","effect"],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|