the-moby-effect 1.45.0-alpha.0 → 1.45.0-alpha.1
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/cjs/Demux.js +9 -5
- package/dist/cjs/Demux.js.map +1 -1
- package/dist/dts/Demux.d.ts +6 -6
- package/dist/dts/Demux.d.ts.map +1 -1
- package/dist/esm/Demux.js +9 -5
- package/dist/esm/Demux.js.map +1 -1
- package/package.json +1 -1
- package/src/Demux.ts +56 -49
package/dist/cjs/Demux.js
CHANGED
|
@@ -13,6 +13,7 @@ var Data = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Da
|
|
|
13
13
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
|
14
14
|
var Function = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Function"));
|
|
15
15
|
var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
|
|
16
|
+
var Tuple = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Tuple"));
|
|
16
17
|
function _getRequireWildcardCache(e) {
|
|
17
18
|
if ("function" != typeof WeakMap) return null;
|
|
18
19
|
var r = new WeakMap(),
|
|
@@ -166,11 +167,14 @@ const demuxMultiplexedSocket = exports.demuxMultiplexedSocket = /*#__PURE__*/Fun
|
|
|
166
167
|
type
|
|
167
168
|
}) => type === MultiplexedStreamSocketHeaderType.Stdout || type === MultiplexedStreamSocketHeaderType.Stderr), Stream.partition(({
|
|
168
169
|
type
|
|
169
|
-
}) => type === MultiplexedStreamSocketHeaderType.Stderr), Effect.map(
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
contents
|
|
173
|
-
|
|
170
|
+
}) => type === MultiplexedStreamSocketHeaderType.Stderr), Effect.map(Tuple.mapBoth({
|
|
171
|
+
onFirst: Function.compose(Stream.map(({
|
|
172
|
+
contents
|
|
173
|
+
}) => contents), Stream.run(sink1)),
|
|
174
|
+
onSecond: Function.compose(Stream.map(({
|
|
175
|
+
contents
|
|
176
|
+
}) => contents), Stream.run(sink2))
|
|
177
|
+
})), Effect.map(Effect.all), Effect.flatten, Effect.scoped));
|
|
174
178
|
/**
|
|
175
179
|
* Demux an http socket. The source stream is the stream that you want to
|
|
176
180
|
* forward to the containers stdin. If the socket is a raw stream, then there
|
package/dist/cjs/Demux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Demux.js","names":["NodeSink","_interopRequireWildcard","require","NodeSocket","NodeStream","Socket","Brand","Data","Effect","Function","Stream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StdinError","TaggedError","exports","StdoutError","StderrError","RawStreamSocket","refined","socket","error","isRawStreamSocketResponse","response","headers","MultiplexedStreamSocket","isMultiplexedStreamSocketResponse","responseToStreamingSocketOrFail","gen","source","effectSocket","fromNetSocket","sync","SocketGenericError","reason","MultiplexedStreamSocketHeaderType","demuxRawSocket","dual","sink","pipe","pipeThroughChannel","toChannel","run","demuxMultiplexedSocket","sink1","sink2","mapConcat","data","offset","output","length","header","DataView","buffer","type","getUint8","getUint32","thisMessage","slice","push","contents","filter","Stdout","Stderr","partition","map","
|
|
1
|
+
{"version":3,"file":"Demux.js","names":["NodeSink","_interopRequireWildcard","require","NodeSocket","NodeStream","Socket","Brand","Data","Effect","Function","Stream","Tuple","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StdinError","TaggedError","exports","StdoutError","StderrError","RawStreamSocket","refined","socket","error","isRawStreamSocketResponse","response","headers","MultiplexedStreamSocket","isMultiplexedStreamSocketResponse","responseToStreamingSocketOrFail","gen","source","effectSocket","fromNetSocket","sync","SocketGenericError","reason","MultiplexedStreamSocketHeaderType","demuxRawSocket","dual","sink","pipe","pipeThroughChannel","toChannel","run","demuxMultiplexedSocket","sink1","sink2","mapConcat","data","offset","output","length","header","DataView","buffer","type","getUint8","getUint32","thisMessage","slice","push","contents","filter","Stdout","Stderr","partition","map","mapBoth","onFirst","compose","onSecond","all","flatten","scoped","demuxSocket","arguments_","TypeId","demuxSocketFromStdinToStdoutAndStderr","stdin","fromReadable","process","message","stdout","fromWritable","endOnDone","stderr"],"sources":["../../src/Demux.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Demux.d.ts
CHANGED
|
@@ -106,7 +106,7 @@ export declare const responseToStreamingSocketOrFail: (response: HttpClient.resp
|
|
|
106
106
|
* @category Demux
|
|
107
107
|
* @see https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerAttach
|
|
108
108
|
*/
|
|
109
|
-
export declare const demuxRawSocket: (<E1, E2>(source: Stream.Stream<Uint8Array, E1, never>, sink: Sink.Sink<
|
|
109
|
+
export declare const demuxRawSocket: (<A, E1, E2>(source: Stream.Stream<Uint8Array, E1, never>, sink: Sink.Sink<A, string | Uint8Array, never, E2, never>) => (socket: RawStreamSocket) => Effect.Effect<A, E1 | E2 | Socket.SocketError, never>) & (<A_1, E1_1, E2_1>(socket: RawStreamSocket, source: Stream.Stream<Uint8Array, E1_1, never>, sink: Sink.Sink<A_1, string | Uint8Array, never, E2_1, never>) => Effect.Effect<A_1, Socket.SocketError | E1_1 | E2_1, never>);
|
|
110
110
|
/**
|
|
111
111
|
* Demux a multiplexed socket. When given a multiplexed socket, we must parse
|
|
112
112
|
* the chunks by headers and then forward each chunk based on its datatype to
|
|
@@ -118,7 +118,7 @@ export declare const demuxRawSocket: (<E1, E2>(source: Stream.Stream<Uint8Array,
|
|
|
118
118
|
* @category Demux
|
|
119
119
|
* @see https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerAttach
|
|
120
120
|
*/
|
|
121
|
-
export declare const demuxMultiplexedSocket: (<E1, E2, E3>(source: Stream.Stream<Uint8Array, E1, never>, sink1: Sink.Sink<
|
|
121
|
+
export declare const demuxMultiplexedSocket: (<A1, A2, E1, E2, E3>(source: Stream.Stream<Uint8Array, E1, never>, sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>, sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>) => (socket: MultiplexedStreamSocket) => Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>) & (<A1_1, A2_1, E1_1, E2_1, E3_1>(socket: MultiplexedStreamSocket, source: Stream.Stream<Uint8Array, E1_1, never>, sink1: Sink.Sink<A1_1, string | Uint8Array, never, E2_1, never>, sink2: Sink.Sink<A2_1, string | Uint8Array, never, E3_1, never>) => Effect.Effect<readonly [stdout: A1_1, stderr: A2_1], Socket.SocketError | E1_1 | E2_1 | E3_1, never>);
|
|
122
122
|
/**
|
|
123
123
|
* Demux an http socket. The source stream is the stream that you want to
|
|
124
124
|
* forward to the containers stdin. If the socket is a raw stream, then there
|
|
@@ -130,10 +130,10 @@ export declare const demuxMultiplexedSocket: (<E1, E2, E3>(source: Stream.Stream
|
|
|
130
130
|
* @category Demux
|
|
131
131
|
*/
|
|
132
132
|
export declare const demuxSocket: {
|
|
133
|
-
<E1, E2>(socket: RawStreamSocket, source: Stream.Stream<Uint8Array, E1, never>, sink: Sink.Sink<
|
|
134
|
-
<E1, E2>(source: Stream.Stream<Uint8Array, E1, never>, sink: Sink.Sink<
|
|
135
|
-
<E1, E2, E3>(socket: MultiplexedStreamSocket, source: Stream.Stream<Uint8Array, E1, never>, sink1: Sink.Sink<
|
|
136
|
-
<E1, E2, E3>(source: Stream.Stream<Uint8Array, E1, never>, sink1: Sink.Sink<
|
|
133
|
+
<A1, E1, E2>(socket: RawStreamSocket, source: Stream.Stream<Uint8Array, E1, never>, sink: Sink.Sink<A1, string | Uint8Array, never, E2, never>): Effect.Effect<A1, E1 | E2 | Socket.SocketError, never>;
|
|
134
|
+
<A1, E1, E2>(source: Stream.Stream<Uint8Array, E1, never>, sink: Sink.Sink<A1, string | Uint8Array, never, E2, never>): (socket: RawStreamSocket) => Effect.Effect<A1, E1 | E2 | Socket.SocketError, never>;
|
|
135
|
+
<A1, A2, E1, E2, E3>(socket: MultiplexedStreamSocket, source: Stream.Stream<Uint8Array, E1, never>, sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>, sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>): Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>;
|
|
136
|
+
<A1, A2, E1, E2, E3>(source: Stream.Stream<Uint8Array, E1, never>, sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>, sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>): (socket: MultiplexedStreamSocket) => Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>;
|
|
137
137
|
};
|
|
138
138
|
/**
|
|
139
139
|
* Demux either a raw stream socket or a multiplexed stream socket from stdin to
|
package/dist/dts/Demux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Demux.d.ts","sourceRoot":"","sources":["../../src/Demux.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"Demux.d.ts","sourceRoot":"","sources":["../../src/Demux.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Demux.js
CHANGED
|
@@ -12,6 +12,7 @@ import * as Data from "effect/Data";
|
|
|
12
12
|
import * as Effect from "effect/Effect";
|
|
13
13
|
import * as Function from "effect/Function";
|
|
14
14
|
import * as Stream from "effect/Stream";
|
|
15
|
+
import * as Tuple from "effect/Tuple";
|
|
15
16
|
/**
|
|
16
17
|
* @since 1.0.0
|
|
17
18
|
* @category Errors
|
|
@@ -128,11 +129,14 @@ export const demuxMultiplexedSocket = /*#__PURE__*/Function.dual(4, (socket, sou
|
|
|
128
129
|
type
|
|
129
130
|
}) => type === MultiplexedStreamSocketHeaderType.Stdout || type === MultiplexedStreamSocketHeaderType.Stderr), Stream.partition(({
|
|
130
131
|
type
|
|
131
|
-
}) => type === MultiplexedStreamSocketHeaderType.Stderr), Effect.map(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
contents
|
|
135
|
-
|
|
132
|
+
}) => type === MultiplexedStreamSocketHeaderType.Stderr), Effect.map(Tuple.mapBoth({
|
|
133
|
+
onFirst: Function.compose(Stream.map(({
|
|
134
|
+
contents
|
|
135
|
+
}) => contents), Stream.run(sink1)),
|
|
136
|
+
onSecond: Function.compose(Stream.map(({
|
|
137
|
+
contents
|
|
138
|
+
}) => contents), Stream.run(sink2))
|
|
139
|
+
})), Effect.map(Effect.all), Effect.flatten, Effect.scoped));
|
|
136
140
|
/**
|
|
137
141
|
* Demux an http socket. The source stream is the stream that you want to
|
|
138
142
|
* forward to the containers stdin. If the socket is a raw stream, then there
|
package/dist/esm/Demux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Demux.js","names":["NodeSink","NodeSocket","NodeStream","Socket","Brand","Data","Effect","Function","Stream","StdinError","TaggedError","StdoutError","StderrError","RawStreamSocket","refined","socket","error","isRawStreamSocketResponse","response","headers","MultiplexedStreamSocket","isMultiplexedStreamSocketResponse","responseToStreamingSocketOrFail","gen","source","effectSocket","fromNetSocket","sync","SocketGenericError","reason","MultiplexedStreamSocketHeaderType","demuxRawSocket","dual","sink","pipe","pipeThroughChannel","toChannel","run","demuxMultiplexedSocket","sink1","sink2","mapConcat","data","offset","output","length","header","DataView","buffer","type","getUint8","getUint32","thisMessage","slice","push","contents","filter","Stdout","Stderr","partition","map","
|
|
1
|
+
{"version":3,"file":"Demux.js","names":["NodeSink","NodeSocket","NodeStream","Socket","Brand","Data","Effect","Function","Stream","Tuple","StdinError","TaggedError","StdoutError","StderrError","RawStreamSocket","refined","socket","error","isRawStreamSocketResponse","response","headers","MultiplexedStreamSocket","isMultiplexedStreamSocketResponse","responseToStreamingSocketOrFail","gen","source","effectSocket","fromNetSocket","sync","SocketGenericError","reason","MultiplexedStreamSocketHeaderType","demuxRawSocket","dual","sink","pipe","pipeThroughChannel","toChannel","run","demuxMultiplexedSocket","sink1","sink2","mapConcat","data","offset","output","length","header","DataView","buffer","type","getUint8","getUint32","thisMessage","slice","push","contents","filter","Stdout","Stderr","partition","map","mapBoth","onFirst","compose","onSecond","all","flatten","scoped","demuxSocket","arguments_","TypeId","demuxSocketFromStdinToStdoutAndStderr","stdin","fromReadable","process","message","stdout","fromWritable","endOnDone","stderr"],"sources":["../../src/Demux.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/Demux.ts
CHANGED
|
@@ -15,6 +15,7 @@ import * as Effect from "effect/Effect";
|
|
|
15
15
|
import * as Function from "effect/Function";
|
|
16
16
|
import * as Sink from "effect/Sink";
|
|
17
17
|
import * as Stream from "effect/Stream";
|
|
18
|
+
import * as Tuple from "effect/Tuple";
|
|
18
19
|
|
|
19
20
|
import { IExposeSocketOnEffectClientResponse } from "./Requests.js";
|
|
20
21
|
|
|
@@ -147,22 +148,22 @@ export enum MultiplexedStreamSocketHeaderType {
|
|
|
147
148
|
* @see https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerAttach
|
|
148
149
|
*/
|
|
149
150
|
export const demuxRawSocket = Function.dual<
|
|
150
|
-
<E1, E2>(
|
|
151
|
+
<A, E1, E2>(
|
|
151
152
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
152
|
-
sink: Sink.Sink<
|
|
153
|
-
) => (socket: RawStreamSocket) => Effect.Effect<
|
|
154
|
-
<E1, E2>(
|
|
153
|
+
sink: Sink.Sink<A, string | Uint8Array, never, E2, never>
|
|
154
|
+
) => (socket: RawStreamSocket) => Effect.Effect<A, E1 | E2 | Socket.SocketError, never>,
|
|
155
|
+
<A, E1, E2>(
|
|
155
156
|
socket: RawStreamSocket,
|
|
156
157
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
157
|
-
sink: Sink.Sink<
|
|
158
|
-
) => Effect.Effect<
|
|
158
|
+
sink: Sink.Sink<A, string | Uint8Array, never, E2, never>
|
|
159
|
+
) => Effect.Effect<A, E1 | E2 | Socket.SocketError, never>
|
|
159
160
|
>(
|
|
160
161
|
3,
|
|
161
|
-
<E1, E2>(
|
|
162
|
+
<A, E1, E2>(
|
|
162
163
|
socket: RawStreamSocket,
|
|
163
164
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
164
|
-
sink: Sink.Sink<
|
|
165
|
-
): Effect.Effect<
|
|
165
|
+
sink: Sink.Sink<A, string | Uint8Array, never, E2, never>
|
|
166
|
+
): Effect.Effect<A, E1 | E2 | Socket.SocketError, never> =>
|
|
166
167
|
Function.pipe(source, Stream.pipeThroughChannel(Socket.toChannel(socket)), Stream.run(sink))
|
|
167
168
|
);
|
|
168
169
|
|
|
@@ -178,25 +179,27 @@ export const demuxRawSocket = Function.dual<
|
|
|
178
179
|
* @see https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerAttach
|
|
179
180
|
*/
|
|
180
181
|
export const demuxMultiplexedSocket = Function.dual<
|
|
181
|
-
<E1, E2, E3>(
|
|
182
|
+
<A1, A2, E1, E2, E3>(
|
|
182
183
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
183
|
-
sink1: Sink.Sink<
|
|
184
|
-
sink2: Sink.Sink<
|
|
185
|
-
) => (
|
|
186
|
-
|
|
184
|
+
sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>,
|
|
185
|
+
sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>
|
|
186
|
+
) => (
|
|
187
|
+
socket: MultiplexedStreamSocket
|
|
188
|
+
) => Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>,
|
|
189
|
+
<A1, A2, E1, E2, E3>(
|
|
187
190
|
socket: MultiplexedStreamSocket,
|
|
188
191
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
189
|
-
sink1: Sink.Sink<
|
|
190
|
-
sink2: Sink.Sink<
|
|
191
|
-
) => Effect.Effect<
|
|
192
|
+
sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>,
|
|
193
|
+
sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>
|
|
194
|
+
) => Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>
|
|
192
195
|
>(
|
|
193
196
|
4,
|
|
194
|
-
<E1, E2, E3>(
|
|
197
|
+
<A1, A2, E1, E2, E3>(
|
|
195
198
|
socket: MultiplexedStreamSocket,
|
|
196
199
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
197
|
-
sink1: Sink.Sink<
|
|
198
|
-
sink2: Sink.Sink<
|
|
199
|
-
): Effect.Effect<
|
|
200
|
+
sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>,
|
|
201
|
+
sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>
|
|
202
|
+
): Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never> =>
|
|
200
203
|
Function.pipe(
|
|
201
204
|
source,
|
|
202
205
|
Stream.pipeThroughChannel(Socket.toChannel(socket)),
|
|
@@ -221,16 +224,18 @@ export const demuxMultiplexedSocket = Function.dual<
|
|
|
221
224
|
type === MultiplexedStreamSocketHeaderType.Stderr
|
|
222
225
|
),
|
|
223
226
|
Stream.partition(({ type }) => type === MultiplexedStreamSocketHeaderType.Stderr),
|
|
224
|
-
Effect.map(
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
227
|
+
Effect.map(
|
|
228
|
+
Tuple.mapBoth({
|
|
229
|
+
onFirst: Function.compose(
|
|
230
|
+
Stream.map(({ contents }) => contents),
|
|
231
|
+
Stream.run(sink1)
|
|
232
|
+
),
|
|
233
|
+
onSecond: Function.compose(
|
|
234
|
+
Stream.map(({ contents }) => contents),
|
|
235
|
+
Stream.run(sink2)
|
|
236
|
+
),
|
|
237
|
+
})
|
|
238
|
+
),
|
|
234
239
|
Effect.map(Effect.all),
|
|
235
240
|
Effect.flatten,
|
|
236
241
|
Effect.scoped
|
|
@@ -248,34 +253,36 @@ export const demuxMultiplexedSocket = Function.dual<
|
|
|
248
253
|
* @category Demux
|
|
249
254
|
*/
|
|
250
255
|
export const demuxSocket: {
|
|
251
|
-
<E1, E2>(
|
|
256
|
+
<A1, E1, E2>(
|
|
252
257
|
socket: RawStreamSocket,
|
|
253
258
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
254
|
-
sink: Sink.Sink<
|
|
255
|
-
): Effect.Effect<
|
|
256
|
-
<E1, E2>(
|
|
259
|
+
sink: Sink.Sink<A1, string | Uint8Array, never, E2, never>
|
|
260
|
+
): Effect.Effect<A1, E1 | E2 | Socket.SocketError, never>;
|
|
261
|
+
<A1, E1, E2>(
|
|
257
262
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
258
|
-
sink: Sink.Sink<
|
|
259
|
-
): (socket: RawStreamSocket) => Effect.Effect<
|
|
260
|
-
<E1, E2, E3>(
|
|
263
|
+
sink: Sink.Sink<A1, string | Uint8Array, never, E2, never>
|
|
264
|
+
): (socket: RawStreamSocket) => Effect.Effect<A1, E1 | E2 | Socket.SocketError, never>;
|
|
265
|
+
<A1, A2, E1, E2, E3>(
|
|
261
266
|
socket: MultiplexedStreamSocket,
|
|
262
267
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
263
|
-
sink1: Sink.Sink<
|
|
264
|
-
sink2: Sink.Sink<
|
|
265
|
-
): Effect.Effect<
|
|
266
|
-
<E1, E2, E3>(
|
|
268
|
+
sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>,
|
|
269
|
+
sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>
|
|
270
|
+
): Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>;
|
|
271
|
+
<A1, A2, E1, E2, E3>(
|
|
267
272
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
268
|
-
sink1: Sink.Sink<
|
|
269
|
-
sink2: Sink.Sink<
|
|
270
|
-
): (
|
|
273
|
+
sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>,
|
|
274
|
+
sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>
|
|
275
|
+
): (
|
|
276
|
+
socket: MultiplexedStreamSocket
|
|
277
|
+
) => Effect.Effect<readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never>;
|
|
271
278
|
} = Function.dual(
|
|
272
279
|
(arguments_) => arguments_[0][Socket.TypeId],
|
|
273
|
-
<E1, E2, E3>(
|
|
280
|
+
<A1, A2, E1, E2, E3>(
|
|
274
281
|
socket: RawStreamSocket | MultiplexedStreamSocket,
|
|
275
282
|
source: Stream.Stream<Uint8Array, E1, never>,
|
|
276
|
-
sink1: Sink.Sink<
|
|
277
|
-
sink2: Sink.Sink<
|
|
278
|
-
): Effect.Effect<
|
|
283
|
+
sink1: Sink.Sink<A1, string | Uint8Array, never, E2, never>,
|
|
284
|
+
sink2: Sink.Sink<A2, string | Uint8Array, never, E3, never>
|
|
285
|
+
): Effect.Effect<A1 | readonly [stdout: A1, stderr: A2], E1 | E2 | E3 | Socket.SocketError, never> => {
|
|
279
286
|
switch (socket["content-type"]) {
|
|
280
287
|
case "application/vnd.docker.raw-stream": {
|
|
281
288
|
return demuxRawSocket(socket, source, sink1);
|