@effect/platform-node-shared 4.0.0-beta.66 → 4.0.0-beta.68
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.js +2 -2
- package/dist/NodeClusterSocket.d.ts +10 -4
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +29 -5
- 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 +24 -3
- 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 +6 -2
- 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 +16 -3
- package/dist/NodeSink.js.map +1 -1
- package/dist/NodeSocket.d.ts +38 -7
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +23 -6
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +22 -5
- package/dist/NodeSocketServer.d.ts.map +1 -1
- package/dist/NodeSocketServer.js +22 -5
- package/dist/NodeSocketServer.js.map +1 -1
- package/dist/NodeStdio.d.ts +6 -2
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +23 -3
- 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 +68 -16
- 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 +11 -2
- package/dist/NodeTerminal.js.map +1 -1
- package/package.json +5 -5
- package/src/NodeChildProcessSpawner.ts +3 -3
- package/src/NodeClusterSocket.ts +29 -5
- package/src/NodeCrypto.ts +55 -0
- package/src/NodeFileSystem.ts +24 -3
- package/src/NodePath.ts +30 -7
- package/src/NodeRuntime.ts +36 -7
- package/src/NodeSink.ts +34 -4
- package/src/NodeSocket.ts +38 -7
- package/src/NodeSocketServer.ts +40 -6
- package/src/NodeStdio.ts +23 -3
- package/src/NodeStream.ts +84 -20
- package/src/NodeTerminal.ts +29 -3
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,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";
|
|
@@ -17,13 +33,21 @@ 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
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
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,8 +164,12 @@ 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;
|
|
@@ -157,8 +206,11 @@ export const toArrayBuffer = (readable, options) => {
|
|
|
157
206
|
});
|
|
158
207
|
};
|
|
159
208
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
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
|
|
162
214
|
*/
|
|
163
215
|
export const toUint8Array = (readable, options) => Effect.map(toArrayBuffer(readable, options), buffer => new Uint8Array(buffer));
|
|
164
216
|
// ----------------------------------------------------------------------------
|
package/dist/NodeStream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
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
|
@@ -8,8 +8,12 @@ import * as RcRef from "effect/RcRef";
|
|
|
8
8
|
import * as Terminal from "effect/Terminal";
|
|
9
9
|
import * as readline from "node:readline";
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
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
|
+
*
|
|
12
15
|
* @category constructors
|
|
16
|
+
* @since 4.0.0
|
|
13
17
|
*/
|
|
14
18
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defaultShouldQuit) {
|
|
15
19
|
const stdin = process.stdin;
|
|
@@ -34,6 +38,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defau
|
|
|
34
38
|
}))
|
|
35
39
|
});
|
|
36
40
|
const columns = Effect.sync(() => stdout.columns ?? 0);
|
|
41
|
+
const rows = Effect.sync(() => stdout.rows ?? 0);
|
|
37
42
|
const readInput = Effect.gen(function* () {
|
|
38
43
|
yield* RcRef.get(rlRef);
|
|
39
44
|
const queue = yield* Queue.make();
|
|
@@ -71,14 +76,18 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (shouldQuit = defau
|
|
|
71
76
|
}));
|
|
72
77
|
return Terminal.make({
|
|
73
78
|
columns,
|
|
79
|
+
rows,
|
|
74
80
|
readInput,
|
|
75
81
|
readLine,
|
|
76
82
|
display
|
|
77
83
|
});
|
|
78
84
|
});
|
|
79
85
|
/**
|
|
80
|
-
*
|
|
86
|
+
* Provides the default process-backed `Terminal` service, ending key input on
|
|
87
|
+
* Ctrl+C or Ctrl+D.
|
|
88
|
+
*
|
|
81
89
|
* @category layers
|
|
90
|
+
* @since 4.0.0
|
|
82
91
|
*/
|
|
83
92
|
export const layer = /*#__PURE__*/Layer.effect(Terminal.Terminal, /*#__PURE__*/make(defaultShouldQuit));
|
|
84
93
|
function defaultShouldQuit(input) {
|
package/dist/NodeTerminal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","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":"
|
|
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":[]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-node-shared",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.0-beta.
|
|
4
|
+
"version": "4.0.0-beta.68",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Unified interfaces for common platform-specific services",
|
|
7
7
|
"homepage": "https://effect.website",
|
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"provenance": true
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"effect": "^4.0.0-beta.
|
|
49
|
+
"effect": "^4.0.0-beta.68"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@types/node": "^25.
|
|
53
|
-
"tar": "^7.5.
|
|
54
|
-
"effect": "^4.0.0-beta.
|
|
52
|
+
"@types/node": "^25.7.0",
|
|
53
|
+
"tar": "^7.5.15",
|
|
54
|
+
"effect": "^4.0.0-beta.68"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"@types/ws": "^8.18.1",
|
|
@@ -627,8 +627,8 @@ const make = Effect.gen(function*() {
|
|
|
627
627
|
/**
|
|
628
628
|
* Layer providing the `NodeChildProcessSpawner` implementation.
|
|
629
629
|
*
|
|
630
|
+
* @category layers
|
|
630
631
|
* @since 4.0.0
|
|
631
|
-
* @category Layers
|
|
632
632
|
*/
|
|
633
633
|
export const layer: Layer.Layer<
|
|
634
634
|
ChildProcessSpawner,
|
|
@@ -643,8 +643,8 @@ export const layer: Layer.Layer<
|
|
|
643
643
|
/**
|
|
644
644
|
* Result of flattening a pipeline of commands.
|
|
645
645
|
*
|
|
646
|
+
* @category models
|
|
646
647
|
* @since 4.0.0
|
|
647
|
-
* @category Models
|
|
648
648
|
*/
|
|
649
649
|
export interface FlattenedPipeline {
|
|
650
650
|
readonly commands: Arr.NonEmptyReadonlyArray<ChildProcess.StandardCommand>
|
|
@@ -655,8 +655,8 @@ export interface FlattenedPipeline {
|
|
|
655
655
|
* Flattens a `Command` into an array of `StandardCommand`s along with pipe
|
|
656
656
|
* options for each connection.
|
|
657
657
|
*
|
|
658
|
+
* @category utils
|
|
658
659
|
* @since 4.0.0
|
|
659
|
-
* @category Utilities
|
|
660
660
|
*/
|
|
661
661
|
export const flattenCommand = (
|
|
662
662
|
command: ChildProcess.Command
|
package/src/NodeClusterSocket.ts
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node TCP socket integration for Effect Cluster runner communication.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the shared Node layers used by socket-based cluster
|
|
5
|
+
* transports: a client protocol that opens TCP sockets to runner addresses and
|
|
6
|
+
* a socket server that listens for incoming runner RPC traffic. It is useful
|
|
7
|
+
* when wiring Node or Node-compatible cluster runners, sharing the same socket
|
|
8
|
+
* implementation across platform packages, or building tests and deployments
|
|
9
|
+
* that need direct runner-to-runner RPC over TCP rather than HTTP.
|
|
10
|
+
*
|
|
11
|
+
* Cluster runners must advertise an address that peers can reach while the
|
|
12
|
+
* server may listen on a different address via `runnerListenAddress`, which is
|
|
13
|
+
* common behind containers, port mappings, or Kubernetes services. Serialization
|
|
14
|
+
* is supplied by the surrounding layer, and gossip, shard discovery, health
|
|
15
|
+
* checks, and storage-backed delivery are coordinated by the cluster services
|
|
16
|
+
* that use this transport. Keep those responsibilities separate when debugging:
|
|
17
|
+
* a reachable socket does not by itself guarantee that runner membership,
|
|
18
|
+
* shard ownership, or persisted message notification is current.
|
|
19
|
+
*
|
|
20
|
+
* @since 4.0.0
|
|
3
21
|
*/
|
|
4
22
|
import * as Effect from "effect/Effect"
|
|
5
23
|
import * as Layer from "effect/Layer"
|
|
@@ -14,8 +32,11 @@ import * as NodeSocket from "./NodeSocket.ts"
|
|
|
14
32
|
import * as NodeSocketServer from "./NodeSocketServer.ts"
|
|
15
33
|
|
|
16
34
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
35
|
+
* Provides the cluster `RpcClientProtocol` by opening TCP sockets to runner
|
|
36
|
+
* addresses and using the current RPC serialization service.
|
|
37
|
+
*
|
|
38
|
+
* @category layers
|
|
39
|
+
* @since 4.0.0
|
|
19
40
|
*/
|
|
20
41
|
export const layerClientProtocol: Layer.Layer<
|
|
21
42
|
Runners.RpcClientProtocol,
|
|
@@ -40,8 +61,11 @@ export const layerClientProtocol: Layer.Layer<
|
|
|
40
61
|
)
|
|
41
62
|
|
|
42
63
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
64
|
+
* Provides the socket server used by cluster runners, listening on
|
|
65
|
+
* `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
66
|
+
*
|
|
67
|
+
* @category layers
|
|
68
|
+
* @since 4.0.0
|
|
45
69
|
*/
|
|
46
70
|
export const layerSocketServer: Layer.Layer<
|
|
47
71
|
SocketServer.SocketServer,
|