@effect/platform-node-shared 4.0.0-beta.7 → 4.0.0-beta.70
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 +3 -3
- 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 +33 -8
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +22 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +50 -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 +43 -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 +30 -7
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRuntime.d.ts +36 -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 +34 -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 +40 -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 +31 -7
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +84 -20
- package/dist/NodeStream.d.ts.map +1 -1
- package/dist/NodeStream.js +76 -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 +220 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +221 -0
- package/dist/index.js.map +1 -0
- package/package.json +7 -6
- package/src/NodeChildProcessSpawner.ts +101 -27
- package/src/NodeClusterSocket.ts +33 -8
- package/src/NodeCrypto.ts +55 -0
- package/src/NodeFileSystem.ts +50 -28
- package/src/NodePath.ts +30 -7
- package/src/NodeRuntime.ts +38 -13
- package/src/NodeSink.ts +41 -4
- package/src/NodeSocket.ts +46 -16
- package/src/NodeSocketServer.ts +46 -12
- package/src/NodeStdio.ts +49 -23
- package/src/NodeStream.ts +97 -30
- package/src/NodeTerminal.ts +31 -4
- package/src/index.ts +233 -0
package/dist/NodeStream.d.ts
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Interoperability between Node streams and Effect streams and channels.
|
|
3
|
+
*
|
|
4
|
+
* This module adapts `Readable` and `Duplex` instances at the boundary with
|
|
5
|
+
* Node APIs: wrapping sources such as files, HTTP responses, child process
|
|
6
|
+
* output, and compression transforms as Effect `Stream`s or `Channel`s, piping
|
|
7
|
+
* Effect streams through Node duplex transforms, exposing an Effect `Stream`
|
|
8
|
+
* back to Node as a `Readable`, and collecting small readable payloads into
|
|
9
|
+
* strings or binary buffers.
|
|
10
|
+
*
|
|
11
|
+
* The adapters preserve the Node stream semantics that matter for production
|
|
12
|
+
* code. Writes wait for `drain` when a writable side applies backpressure,
|
|
13
|
+
* readable streams are destroyed on scope finalization by default, and stream
|
|
14
|
+
* failures are routed through `onError` or `Cause.UnknownError`. For long-lived
|
|
15
|
+
* or externally owned streams, pass `closeOnDone` or `endOnDone` carefully, and
|
|
16
|
+
* use `maxBytes` on collection helpers to avoid buffering unbounded input.
|
|
17
|
+
*
|
|
18
|
+
* @since 4.0.0
|
|
3
19
|
*/
|
|
4
20
|
import * as Arr from "effect/Array";
|
|
5
21
|
import * as Cause from "effect/Cause";
|
|
@@ -11,8 +27,12 @@ import * as Stream from "effect/Stream";
|
|
|
11
27
|
import type { Duplex } from "node:stream";
|
|
12
28
|
import { Readable } from "node:stream";
|
|
13
29
|
/**
|
|
30
|
+
* Converts a Node readable stream into an Effect `Stream`, reading chunks with
|
|
31
|
+
* an optional chunk size, mapping stream errors with `onError`, and destroying
|
|
32
|
+
* the readable on completion unless `closeOnDone` is `false`.
|
|
33
|
+
*
|
|
14
34
|
* @category constructors
|
|
15
|
-
* @since
|
|
35
|
+
* @since 4.0.0
|
|
16
36
|
*/
|
|
17
37
|
export declare const fromReadable: <A = Uint8Array, E = Cause.UnknownError>(options: {
|
|
18
38
|
readonly evaluate: LazyArg<Readable | NodeJS.ReadableStream>;
|
|
@@ -22,8 +42,12 @@ export declare const fromReadable: <A = Uint8Array, E = Cause.UnknownError>(opti
|
|
|
22
42
|
readonly closeOnDone?: boolean | undefined;
|
|
23
43
|
}) => Stream.Stream<A, E>;
|
|
24
44
|
/**
|
|
45
|
+
* Creates a `Channel` that pulls chunks from a Node readable stream, mapping
|
|
46
|
+
* errors with `onError` and destroying the readable on completion unless
|
|
47
|
+
* `closeOnDone` is `false`.
|
|
48
|
+
*
|
|
25
49
|
* @category constructors
|
|
26
|
-
* @since
|
|
50
|
+
* @since 4.0.0
|
|
27
51
|
*/
|
|
28
52
|
export declare const fromReadableChannel: <A = Uint8Array, E = Cause.UnknownError>(options: {
|
|
29
53
|
readonly evaluate: LazyArg<Readable | NodeJS.ReadableStream>;
|
|
@@ -32,8 +56,12 @@ export declare const fromReadableChannel: <A = Uint8Array, E = Cause.UnknownErro
|
|
|
32
56
|
readonly closeOnDone?: boolean | undefined;
|
|
33
57
|
}) => Channel.Channel<Arr.NonEmptyReadonlyArray<A>, E>;
|
|
34
58
|
/**
|
|
59
|
+
* Creates a `Channel` over a Node `Duplex`, writing upstream chunks with
|
|
60
|
+
* backpressure while emitting chunks read from the duplex and optionally ending
|
|
61
|
+
* the writable side when upstream completes.
|
|
62
|
+
*
|
|
35
63
|
* @category constructors
|
|
36
|
-
* @since
|
|
64
|
+
* @since 4.0.0
|
|
37
65
|
*/
|
|
38
66
|
export declare const fromDuplex: <IE, I = Uint8Array, O = Uint8Array, E = Cause.UnknownError>(options: {
|
|
39
67
|
readonly evaluate: LazyArg<Duplex>;
|
|
@@ -44,13 +72,19 @@ export declare const fromDuplex: <IE, I = Uint8Array, O = Uint8Array, E = Cause.
|
|
|
44
72
|
readonly encoding?: BufferEncoding | undefined;
|
|
45
73
|
}) => Channel.Channel<Arr.NonEmptyReadonlyArray<O>, IE | E, void, Arr.NonEmptyReadonlyArray<I>, IE>;
|
|
46
74
|
/**
|
|
75
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
76
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
77
|
+
*
|
|
47
78
|
* @category combinators
|
|
48
|
-
* @since
|
|
79
|
+
* @since 4.0.0
|
|
49
80
|
*/
|
|
50
81
|
export declare const pipeThroughDuplex: {
|
|
51
82
|
/**
|
|
83
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
84
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
85
|
+
*
|
|
52
86
|
* @category combinators
|
|
53
|
-
* @since
|
|
87
|
+
* @since 4.0.0
|
|
54
88
|
*/
|
|
55
89
|
<B = Uint8Array, E2 = Cause.UnknownError>(options: {
|
|
56
90
|
readonly evaluate: LazyArg<Duplex>;
|
|
@@ -61,8 +95,11 @@ export declare const pipeThroughDuplex: {
|
|
|
61
95
|
readonly encoding?: BufferEncoding | undefined;
|
|
62
96
|
}): <R, E, A>(self: Stream.Stream<A, E, R>) => Stream.Stream<B, E2 | E, R>;
|
|
63
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
|
+
*
|
|
64
101
|
* @category combinators
|
|
65
|
-
* @since
|
|
102
|
+
* @since 4.0.0
|
|
66
103
|
*/
|
|
67
104
|
<R, E, A, B = Uint8Array, E2 = Cause.UnknownError>(self: Stream.Stream<A, E, R>, options: {
|
|
68
105
|
readonly evaluate: LazyArg<Duplex>;
|
|
@@ -74,34 +111,54 @@ export declare const pipeThroughDuplex: {
|
|
|
74
111
|
}): Stream.Stream<B, E | E2, R>;
|
|
75
112
|
};
|
|
76
113
|
/**
|
|
114
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
115
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
116
|
+
*
|
|
77
117
|
* @category combinators
|
|
78
|
-
* @since
|
|
118
|
+
* @since 4.0.0
|
|
79
119
|
*/
|
|
80
120
|
export declare const pipeThroughSimple: {
|
|
81
121
|
/**
|
|
122
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
123
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
124
|
+
*
|
|
82
125
|
* @category combinators
|
|
83
|
-
* @since
|
|
126
|
+
* @since 4.0.0
|
|
84
127
|
*/
|
|
85
128
|
(duplex: LazyArg<Duplex>): <R, E>(self: Stream.Stream<string | Uint8Array, E, R>) => Stream.Stream<Uint8Array, E | Cause.UnknownError, R>;
|
|
86
129
|
/**
|
|
130
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
131
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
132
|
+
*
|
|
87
133
|
* @category combinators
|
|
88
|
-
* @since
|
|
134
|
+
* @since 4.0.0
|
|
89
135
|
*/
|
|
90
136
|
<R, E>(self: Stream.Stream<string | Uint8Array, E, R>, duplex: LazyArg<Duplex>): Stream.Stream<Uint8Array, Cause.UnknownError | E, R>;
|
|
91
137
|
};
|
|
92
138
|
/**
|
|
93
|
-
*
|
|
94
|
-
*
|
|
139
|
+
* Converts an Effect `Stream` into a Node `Readable`, using the caller's
|
|
140
|
+
* Effect context to run the stream and destroying the readable if the stream
|
|
141
|
+
* fails.
|
|
142
|
+
*
|
|
143
|
+
* @category converting
|
|
144
|
+
* @since 4.0.0
|
|
95
145
|
*/
|
|
96
146
|
export declare const toReadable: <E, R>(stream: Stream.Stream<string | Uint8Array, E, R>) => Effect.Effect<Readable, never, R>;
|
|
97
147
|
/**
|
|
98
|
-
*
|
|
99
|
-
*
|
|
148
|
+
* Converts a service-free Effect `Stream` into a Node `Readable` using an
|
|
149
|
+
* empty Effect context.
|
|
150
|
+
*
|
|
151
|
+
* @category converting
|
|
152
|
+
* @since 4.0.0
|
|
100
153
|
*/
|
|
101
154
|
export declare const toReadableNever: <E>(stream: Stream.Stream<string | Uint8Array, E, never>) => Readable;
|
|
102
155
|
/**
|
|
103
|
-
*
|
|
104
|
-
*
|
|
156
|
+
* Consumes a Node readable stream into a string using the selected encoding,
|
|
157
|
+
* failing through `onError` on stream errors or when `maxBytes` is exceeded
|
|
158
|
+
* and destroying the stream on interruption or failure.
|
|
159
|
+
*
|
|
160
|
+
* @category converting
|
|
161
|
+
* @since 4.0.0
|
|
105
162
|
*/
|
|
106
163
|
export declare const toString: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
|
|
107
164
|
readonly onError?: (error: unknown) => E;
|
|
@@ -109,16 +166,23 @@ export declare const toString: <E = Cause.UnknownError>(readable: LazyArg<Readab
|
|
|
109
166
|
readonly maxBytes?: SizeInput | undefined;
|
|
110
167
|
}) => Effect.Effect<string, E>;
|
|
111
168
|
/**
|
|
112
|
-
*
|
|
113
|
-
*
|
|
169
|
+
* Consumes a Node readable stream into an `ArrayBuffer`, failing through
|
|
170
|
+
* `onError` on stream errors or when `maxBytes` is exceeded and destroying the
|
|
171
|
+
* stream on interruption or failure.
|
|
172
|
+
*
|
|
173
|
+
* @category converting
|
|
174
|
+
* @since 4.0.0
|
|
114
175
|
*/
|
|
115
176
|
export declare const toArrayBuffer: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
|
|
116
177
|
readonly onError?: (error: unknown) => E;
|
|
117
178
|
readonly maxBytes?: SizeInput | undefined;
|
|
118
179
|
}) => Effect.Effect<ArrayBuffer, E>;
|
|
119
180
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
181
|
+
* Consumes a Node readable stream into a `Uint8Array`, using the same error
|
|
182
|
+
* mapping and `maxBytes` handling as `toArrayBuffer`.
|
|
183
|
+
*
|
|
184
|
+
* @category converting
|
|
185
|
+
* @since 4.0.0
|
|
122
186
|
*/
|
|
123
187
|
export declare const toUint8Array: <E = Cause.UnknownError>(readable: LazyArg<Readable | NodeJS.ReadableStream>, options?: {
|
|
124
188
|
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,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Interoperability between Node streams and Effect streams and channels.
|
|
3
|
+
*
|
|
4
|
+
* This module adapts `Readable` and `Duplex` instances at the boundary with
|
|
5
|
+
* Node APIs: wrapping sources such as files, HTTP responses, child process
|
|
6
|
+
* output, and compression transforms as Effect `Stream`s or `Channel`s, piping
|
|
7
|
+
* Effect streams through Node duplex transforms, exposing an Effect `Stream`
|
|
8
|
+
* back to Node as a `Readable`, and collecting small readable payloads into
|
|
9
|
+
* strings or binary buffers.
|
|
10
|
+
*
|
|
11
|
+
* The adapters preserve the Node stream semantics that matter for production
|
|
12
|
+
* code. Writes wait for `drain` when a writable side applies backpressure,
|
|
13
|
+
* readable streams are destroyed on scope finalization by default, and stream
|
|
14
|
+
* failures are routed through `onError` or `Cause.UnknownError`. For long-lived
|
|
15
|
+
* or externally owned streams, pass `closeOnDone` or `endOnDone` carefully, and
|
|
16
|
+
* use `maxBytes` on collection helpers to avoid buffering unbounded input.
|
|
17
|
+
*
|
|
18
|
+
* @since 4.0.0
|
|
3
19
|
*/
|
|
4
20
|
import * as Arr from "effect/Array";
|
|
5
21
|
import * as Cause from "effect/Cause";
|
|
6
22
|
import * as Channel from "effect/Channel";
|
|
23
|
+
import * as Context from "effect/Context";
|
|
7
24
|
import * as Effect from "effect/Effect";
|
|
8
25
|
import * as Exit from "effect/Exit";
|
|
9
26
|
import * as Fiber from "effect/Fiber";
|
|
@@ -12,18 +29,25 @@ import * as Latch from "effect/Latch";
|
|
|
12
29
|
import * as MutableRef from "effect/MutableRef";
|
|
13
30
|
import * as Pull from "effect/Pull";
|
|
14
31
|
import * as Scope from "effect/Scope";
|
|
15
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
16
32
|
import * as Stream from "effect/Stream";
|
|
17
33
|
import { Readable } from "node:stream";
|
|
18
34
|
import { pullIntoWritable } from "./NodeSink.js";
|
|
19
35
|
/**
|
|
36
|
+
* Converts a Node readable stream into an Effect `Stream`, reading chunks with
|
|
37
|
+
* an optional chunk size, mapping stream errors with `onError`, and destroying
|
|
38
|
+
* the readable on completion unless `closeOnDone` is `false`.
|
|
39
|
+
*
|
|
20
40
|
* @category constructors
|
|
21
|
-
* @since
|
|
41
|
+
* @since 4.0.0
|
|
22
42
|
*/
|
|
23
43
|
export const fromReadable = options => Stream.fromChannel(fromReadableChannel(options));
|
|
24
44
|
/**
|
|
45
|
+
* Creates a `Channel` that pulls chunks from a Node readable stream, mapping
|
|
46
|
+
* errors with `onError` and destroying the readable on completion unless
|
|
47
|
+
* `closeOnDone` is `false`.
|
|
48
|
+
*
|
|
25
49
|
* @category constructors
|
|
26
|
-
* @since
|
|
50
|
+
* @since 4.0.0
|
|
27
51
|
*/
|
|
28
52
|
export const fromReadableChannel = options => Channel.fromTransform((_, scope) => readableToPullUnsafe({
|
|
29
53
|
scope,
|
|
@@ -33,8 +57,12 @@ export const fromReadableChannel = options => Channel.fromTransform((_, scope) =
|
|
|
33
57
|
closeOnDone: options.closeOnDone
|
|
34
58
|
}));
|
|
35
59
|
/**
|
|
60
|
+
* Creates a `Channel` over a Node `Duplex`, writing upstream chunks with
|
|
61
|
+
* backpressure while emitting chunks read from the duplex and optionally ending
|
|
62
|
+
* the writable side when upstream completes.
|
|
63
|
+
*
|
|
36
64
|
* @category constructors
|
|
37
|
-
* @since
|
|
65
|
+
* @since 4.0.0
|
|
38
66
|
*/
|
|
39
67
|
export const fromDuplex = options => Channel.fromTransform((upstream, scope) => {
|
|
40
68
|
const duplex = options.evaluate();
|
|
@@ -58,30 +86,47 @@ export const fromDuplex = options => Channel.fromTransform((upstream, scope) =>
|
|
|
58
86
|
})));
|
|
59
87
|
});
|
|
60
88
|
/**
|
|
89
|
+
* Pipes an Effect `Stream` through a Node `Duplex`, writing the stream's
|
|
90
|
+
* chunks to the duplex and emitting chunks read back from it.
|
|
91
|
+
*
|
|
61
92
|
* @category combinators
|
|
62
|
-
* @since
|
|
93
|
+
* @since 4.0.0
|
|
63
94
|
*/
|
|
64
95
|
export const pipeThroughDuplex = /*#__PURE__*/dual(2, (self, options) => Stream.pipeThroughChannelOrFail(self, fromDuplex(options)));
|
|
65
96
|
/**
|
|
97
|
+
* Pipes a stream of strings or bytes through a Node `Duplex` using default
|
|
98
|
+
* options and `Cause.UnknownError` for stream failures.
|
|
99
|
+
*
|
|
66
100
|
* @category combinators
|
|
67
|
-
* @since
|
|
101
|
+
* @since 4.0.0
|
|
68
102
|
*/
|
|
69
103
|
export const pipeThroughSimple = /*#__PURE__*/dual(2, (self, duplex) => pipeThroughDuplex(self, {
|
|
70
104
|
evaluate: duplex
|
|
71
105
|
}));
|
|
72
106
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
107
|
+
* Converts an Effect `Stream` into a Node `Readable`, using the caller's
|
|
108
|
+
* Effect context to run the stream and destroying the readable if the stream
|
|
109
|
+
* fails.
|
|
110
|
+
*
|
|
111
|
+
* @category converting
|
|
112
|
+
* @since 4.0.0
|
|
75
113
|
*/
|
|
76
|
-
export const toReadable = stream => Effect.map(Effect.
|
|
114
|
+
export const toReadable = stream => Effect.map(Effect.context(), context => new StreamAdapter(context, stream));
|
|
77
115
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
116
|
+
* Converts a service-free Effect `Stream` into a Node `Readable` using an
|
|
117
|
+
* empty Effect context.
|
|
118
|
+
*
|
|
119
|
+
* @category converting
|
|
120
|
+
* @since 4.0.0
|
|
80
121
|
*/
|
|
81
|
-
export const toReadableNever = stream => new StreamAdapter(
|
|
122
|
+
export const toReadableNever = stream => new StreamAdapter(Context.empty(), stream);
|
|
82
123
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
124
|
+
* Consumes a Node readable stream into a string using the selected encoding,
|
|
125
|
+
* failing through `onError` on stream errors or when `maxBytes` is exceeded
|
|
126
|
+
* and destroying the stream on interruption or failure.
|
|
127
|
+
*
|
|
128
|
+
* @category converting
|
|
129
|
+
* @since 4.0.0
|
|
85
130
|
*/
|
|
86
131
|
export const toString = (readable, options) => {
|
|
87
132
|
const maxBytesNumber = options?.maxBytes ? Number(options.maxBytes) : undefined;
|
|
@@ -119,15 +164,19 @@ export const toString = (readable, options) => {
|
|
|
119
164
|
});
|
|
120
165
|
};
|
|
121
166
|
/**
|
|
122
|
-
*
|
|
123
|
-
*
|
|
167
|
+
* Consumes a Node readable stream into an `ArrayBuffer`, failing through
|
|
168
|
+
* `onError` on stream errors or when `maxBytes` is exceeded and destroying the
|
|
169
|
+
* stream on interruption or failure.
|
|
170
|
+
*
|
|
171
|
+
* @category converting
|
|
172
|
+
* @since 4.0.0
|
|
124
173
|
*/
|
|
125
174
|
export const toArrayBuffer = (readable, options) => {
|
|
126
175
|
const maxBytesNumber = options?.maxBytes ? Number(options.maxBytes) : undefined;
|
|
127
176
|
const onError = options?.onError ?? defaultOnError;
|
|
128
177
|
return Effect.callback(resume => {
|
|
129
178
|
const stream = readable();
|
|
130
|
-
|
|
179
|
+
const buffers = [];
|
|
131
180
|
let bytes = 0;
|
|
132
181
|
stream.once("error", err => {
|
|
133
182
|
if ("closed" in stream && !stream.closed) {
|
|
@@ -136,13 +185,14 @@ export const toArrayBuffer = (readable, options) => {
|
|
|
136
185
|
resume(Effect.fail(onError(err)));
|
|
137
186
|
});
|
|
138
187
|
stream.once("end", () => {
|
|
139
|
-
|
|
188
|
+
const buffer = buffers.length === 1 ? buffers[0] : Buffer.concat(buffers);
|
|
189
|
+
if (buffer.byteOffset === 0 && buffer.buffer.byteLength === buffer.byteLength) {
|
|
140
190
|
return resume(Effect.succeed(buffer.buffer));
|
|
141
191
|
}
|
|
142
192
|
resume(Effect.succeed(buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength)));
|
|
143
193
|
});
|
|
144
194
|
stream.on("data", chunk => {
|
|
145
|
-
|
|
195
|
+
buffers.push(chunk);
|
|
146
196
|
bytes += chunk.length;
|
|
147
197
|
if (maxBytesNumber && bytes > maxBytesNumber) {
|
|
148
198
|
resume(Effect.fail(onError(new Error("maxBytes exceeded"))));
|
|
@@ -156,8 +206,11 @@ export const toArrayBuffer = (readable, options) => {
|
|
|
156
206
|
});
|
|
157
207
|
};
|
|
158
208
|
/**
|
|
159
|
-
*
|
|
160
|
-
*
|
|
209
|
+
* Consumes a Node readable stream into a `Uint8Array`, using the same error
|
|
210
|
+
* mapping and `maxBytes` handling as `toArrayBuffer`.
|
|
211
|
+
*
|
|
212
|
+
* @category converting
|
|
213
|
+
* @since 4.0.0
|
|
161
214
|
*/
|
|
162
215
|
export const toUint8Array = (readable, options) => Effect.map(toArrayBuffer(readable, options), buffer => new Uint8Array(buffer));
|
|
163
216
|
// ----------------------------------------------------------------------------
|
|
@@ -225,7 +278,7 @@ class StreamAdapter extends Readable {
|
|
|
225
278
|
this.push(item);
|
|
226
279
|
}
|
|
227
280
|
}
|
|
228
|
-
}))).pipe(this.readLatch.whenOpen, Effect.
|
|
281
|
+
}))).pipe(this.readLatch.whenOpen, Effect.provideContext(context), Effect.runFork);
|
|
229
282
|
this.fiber.addObserver(exit => {
|
|
230
283
|
this.fiber = undefined;
|
|
231
284
|
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":"AAqBA,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":"AAqBA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,WAAW,QAA4B,sBAAsB;AACtE,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;;;;;;AAQA,OAAO,MAAMC,IAAI,gBAE2CT,MAAM,CAACU,UAAU,CAC3E,WAAUC,UAAA,GAAqDC,iBAAiB;EAC9E,MAAMC,KAAK,GAAGC,OAAO,CAACD,KAAK;EAC3B,MAAME,MAAM,GAAGD,OAAO,CAACC,MAAM;EAE7B;EACA,MAAMC,KAAK,GAAG,OAAOV,KAAK,CAACG,IAAI,CAAC;IAC9BQ,OAAO,EAAEjB,MAAM,CAACkB,cAAc,CAC5BlB,MAAM,CAACmB,IAAI,CAAC,MAAK;MACf,MAAMC,EAAE,GAAGZ,QAAQ,CAACa,eAAe,CAAC;QAAEC,KAAK,EAAET,KAAK;QAAEU,iBAAiB,EAAE;MAAE,CAAE,CAAC;MAC5Ef,QAAQ,CAACgB,kBAAkB,CAACX,KAAK,EAAEO,EAAE,CAAC;MAEtC,IAAIP,KAAK,CAACY,KAAK,EAAE;QACfZ,KAAK,CAACa,UAAU,CAAC,IAAI,CAAC;MACxB;MACA,OAAON,EAAE;IACX,CAAC,CAAC,EACDA,EAAE,IACDpB,MAAM,CAACmB,IAAI,CAAC,MAAK;MACf,IAAIN,KAAK,CAACY,KAAK,EAAE;QACfZ,KAAK,CAACa,UAAU,CAAC,KAAK,CAAC;MACzB;MACAN,EAAE,CAACO,KAAK,EAAE;IACZ,CAAC,CAAC;GAEP,CAAC;EAEF,MAAMC,OAAO,GAAG5B,MAAM,CAACmB,IAAI,CAAC,MAAMJ,MAAM,CAACa,OAAO,IAAI,CAAC,CAAC;EACtD,MAAMC,IAAI,GAAG7B,MAAM,CAACmB,IAAI,CAAC,MAAMJ,MAAM,CAACc,IAAI,IAAI,CAAC,CAAC;EAEhD,MAAMC,SAAS,GAAG9B,MAAM,CAAC+B,GAAG,CAAC,aAAS;IACpC,OAAOzB,KAAK,CAAC0B,GAAG,CAAChB,KAAK,CAAC;IACvB,MAAMiB,KAAK,GAAG,OAAO5B,KAAK,CAACI,IAAI,EAAkC;IACjE,MAAMyB,cAAc,GAAGA,CAACC,CAAqB,EAAEC,CAAe,KAAI;MAChE,MAAMC,SAAS,GAAG;QAChBf,KAAK,EAAEpB,MAAM,CAACoC,eAAe,CAACH,CAAC,CAAC;QAChCI,GAAG,EAAE;UAAEC,IAAI,EAAEJ,CAAC,CAACI,IAAI,IAAI,EAAE;UAAEC,IAAI,EAAE,CAAC,CAACL,CAAC,CAACK,IAAI;UAAEC,IAAI,EAAE,CAAC,CAACN,CAAC,CAACM,IAAI;UAAEC,KAAK,EAAE,CAAC,CAACP,CAAC,CAACO;QAAK;OAC5E;MACDtC,KAAK,CAACuC,WAAW,CAACX,KAAK,EAAEI,SAAS,CAAC;MACnC,IAAI1B,UAAU,CAAC0B,SAAS,CAAC,EAAE;QACzBhC,KAAK,CAACwC,SAAS,CAACZ,KAAK,CAAC;MACxB;IACF,CAAC;IACD,OAAOjC,MAAM,CAAC8C,YAAY,CAAC,MAAM9C,MAAM,CAACmB,IAAI,CAAC,MAAMN,KAAK,CAACkC,GAAG,CAAC,UAAU,EAAEb,cAAc,CAAC,CAAC,CAAC;IAC1FrB,KAAK,CAACmC,EAAE,CAAC,UAAU,EAAEd,cAAc,CAAC;IACpC,OAAOD,KAAsD;EAC/D,CAAC,CAAC;EAEF,MAAMgB,QAAQ,GAAGjD,MAAM,CAACkD,MAAM,CAC5BlD,MAAM,CAACmD,OAAO,CAAC7C,KAAK,CAAC0B,GAAG,CAAChB,KAAK,CAAC,EAAGoC,iBAAiB,IACjDpD,MAAM,CAACqD,QAAQ,CAA8BC,MAAM,IAAI;IACrD,MAAMC,MAAM,GAAIC,IAAY,IAAKF,MAAM,CAACtD,MAAM,CAACyD,OAAO,CAACD,IAAI,CAAC,CAAC;IAC7DJ,iBAAiB,CAACM,IAAI,CAAC,MAAM,EAAEH,MAAM,CAAC;IACtC,OAAOvD,MAAM,CAACmB,IAAI,CAAC,MAAMiC,iBAAiB,CAACL,GAAG,CAAC,MAAM,EAAEQ,MAAM,CAAC,CAAC;EACjE,CAAC,CAAC,CAAC,CACN;EAED,MAAMI,OAAO,GAAIC,MAAc,IAC7B5D,MAAM,CAAC6D,eAAe,CACpB7D,MAAM,CAACqD,QAAQ,CAAuBC,MAAM,IAAI;IAC9CvC,MAAM,CAAC+C,KAAK,CAACF,MAAM,EAAGG,GAAG,IACvB3D,SAAS,CAAC4D,SAAS,CAACD,GAAG,CAAC,GACpBT,MAAM,CAACtD,MAAM,CAACiE,IAAI,CAAC,GACnBX,MAAM,CAACtD,MAAM,CAACkE,IAAI,CAClB/D,WAAW,CAAC;MACVgE,MAAM,EAAE,UAAU;MAClBC,MAAM,EAAE,SAAS;MACjBC,WAAW,EAAE,kCAAkC;MAC/CC,KAAK,EAAEP;KACR,CAAC,CACH,CAAC,CAAC;EACT,CAAC,CAAC,CACH;EAEH,OAAOxD,QAAQ,CAACE,IAAI,CAAC;IACnBmB,OAAO;IACPC,IAAI;IACJC,SAAS;IACTmB,QAAQ;IACRU;GACD,CAAC;AACJ,CAAC,CACF;AAED;;;;;;;AAOA,OAAO,MAAMY,KAAK,gBAAmCtE,KAAK,CAACuE,MAAM,CAACjE,QAAQ,CAACA,QAAQ,eAAEE,IAAI,CAACG,iBAAiB,CAAC,CAAC;AAE7G,SAASA,iBAAiBA,CAACU,KAAyB;EAClD,OAAOA,KAAK,CAACiB,GAAG,CAACE,IAAI,KAAKnB,KAAK,CAACiB,GAAG,CAACC,IAAI,KAAK,GAAG,IAAIlB,KAAK,CAACiB,GAAG,CAACC,IAAI,KAAK,GAAG,CAAC;AAC7E","ignoreList":[]}
|