Skip to content

Commit

Permalink
save
Browse files Browse the repository at this point in the history
  • Loading branch information
Leo Conforti committed Oct 14, 2024
1 parent dc5786c commit 114f879
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 338 deletions.
311 changes: 6 additions & 305 deletions docs/modules/Demux.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,320 +14,21 @@ Added in v1.0.0

<h2 class="text-delta">Table of contents</h2>

- [Demux](#demux)
- [demuxToSeparateSinks](#demuxtoseparatesinks)
- [demuxToSingleSink](#demuxtosinglesink)
- [demuxUnknownToSeparateSinks](#demuxunknowntoseparatesinks)
- [exports](#exports)
- [From "./demux/Demux.js"](#from-demuxdemuxjs)

---

# Demux
# exports

## demuxToSeparateSinks
## From "./demux/Demux.js"

**Signature**

```ts
export declare const demuxToSeparateSinks: {
<A1, A2, E1, E2, E3, R1, R2, R3>(
socket: MultiplexedStreamSocket,
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { bufferSize?: number | undefined; encoding?: string | undefined } | undefined
): Effect<
CompressedDemuxOutput<A1, A2>,
E1 | E2 | E3 | SocketError | ParseError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
<A1, A2, E1, E2, E3, R1, R2, R3>(
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { bufferSize?: number | undefined; encoding?: string | undefined } | undefined
): (
socket: MultiplexedStreamSocket
) => Effect<
CompressedDemuxOutput<A1, A2>,
E1 | E2 | E3 | SocketError | ParseError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
<
A1,
A2,
E1,
E2,
E3,
R1,
R2,
R3,
SocketOptions extends
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr?: never }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin?: never; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin: UnidirectionalRawStreamSocket; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr: UnidirectionalRawStreamSocket }
| {
stdin: UnidirectionalRawStreamSocket
stdout: UnidirectionalRawStreamSocket
stderr: UnidirectionalRawStreamSocket
}
>(
sockets: SocketOptions,
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { encoding?: string | undefined } | undefined
): Effect<
SocketOptions["stdout"] extends UnidirectionalRawStreamSocket
? SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<A1, A2>
: CompressedDemuxOutput<A1, void>
: SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<void, A2>
: CompressedDemuxOutput<void, void>,
E1 | E2 | E3 | SocketError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
<
A1,
A2,
E1,
E2,
E3,
R1,
R2,
R3,
SocketOptions extends
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr?: never }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin?: never; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin: UnidirectionalRawStreamSocket; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr: UnidirectionalRawStreamSocket }
| {
stdin: UnidirectionalRawStreamSocket
stdout: UnidirectionalRawStreamSocket
stderr: UnidirectionalRawStreamSocket
}
>(
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { encoding?: string | undefined } | undefined
): (
sockets: SocketOptions
) => Effect<
SocketOptions["stdout"] extends UnidirectionalRawStreamSocket
? SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<A1, A2>
: CompressedDemuxOutput<A1, void>
: SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<void, A2>
: CompressedDemuxOutput<void, void>,
E1 | E2 | E3 | SocketError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
}
```
Added in v1.0.0
## demuxToSingleSink
**Signature**
```ts
export declare const demuxToSingleSink: {
<A1, E1, E2, R1, R2>(
socket: BidirectionalRawStreamSocket,
source: Stream<string | Uint8Array, E1, R1>,
sink: Sink<A1, string, string, E2, R2>,
options?: { encoding?: string | undefined } | undefined
): Effect<A1, E1 | E2 | SocketError | ParseError, Exclude<R1, Scope> | Exclude<R2, Scope>>
<A1, E1, E2, R1, R2>(
source: Stream<string | Uint8Array, E1, R1>,
sink: Sink<A1, string, string, E2, R2>,
options?: { encoding?: string | undefined } | undefined
): (
socket: BidirectionalRawStreamSocket
) => Effect<A1, E1 | E2 | SocketError | ParseError, Exclude<R1, Scope> | Exclude<R2, Scope>>
<A1, E1, E2, R1, R2>(
socket: MultiplexedStreamSocket,
source: Stream<string | Uint8Array, E1, R1>,
sink: Sink<A1, string, string, E2, R2>,
options?: { bufferSize?: number | undefined; encoding?: string | undefined } | undefined
): Effect<A1, E1 | E2 | SocketError | ParseError, Exclude<R1, Scope> | Exclude<R2, Scope>>
<A1, E1, E2, R1, R2>(
source: Stream<string | Uint8Array, E1, R1>,
sink: Sink<A1, string, string, E2, R2>,
options?: { bufferSize?: number | undefined; encoding?: string | undefined } | undefined
): (
socket: MultiplexedStreamSocket
) => Effect<A1, E1 | E2 | SocketError | ParseError, Exclude<R1, Scope> | Exclude<R2, Scope>>
<A1, E1, E2, R1, R2>(
sockets:
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr?: never }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin?: never; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin: UnidirectionalRawStreamSocket; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr: UnidirectionalRawStreamSocket }
| {
stdin: UnidirectionalRawStreamSocket
stdout: UnidirectionalRawStreamSocket
stderr: UnidirectionalRawStreamSocket
},
source: Stream<string | Uint8Array, E1, R1>,
sink: Sink<A1, string, string, E2, R2>,
options?: { encoding?: string | undefined } | undefined
): Effect<A1, E1 | E2 | SocketError | ParseError, Exclude<R1, Scope> | Exclude<R2, Scope>>
<A1, E1, E2, R1, R2>(
source: Stream<string | Uint8Array, E1, R1>,
sink: Sink<A1, string, string, E2, R2>,
options?: { encoding?: string | undefined } | undefined
): (
sockets:
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr?: never }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin?: never; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin: UnidirectionalRawStreamSocket; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr: UnidirectionalRawStreamSocket }
| {
stdin: UnidirectionalRawStreamSocket
stdout: UnidirectionalRawStreamSocket
stderr: UnidirectionalRawStreamSocket
}
) => Effect<A1, E1 | E2 | SocketError | ParseError, Exclude<R1, Scope> | Exclude<R2, Scope>>
}
```
Added in v1.0.0
## demuxUnknownToSeparateSinks
Demux utilities for different types of docker streams.

**Signature**

```ts
export declare const demuxUnknownToSeparateSinks: {
<A1, A2, E1, E2, E3, R1, R2, R3>(
socket: BidirectionalRawStreamSocket,
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { encoding?: string | undefined } | undefined
): Effect<A1, E1 | E2 | E3 | SocketError, Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>>
<A1, A2, E1, E2, E3, R1, R2, R3>(
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { encoding?: string | undefined } | undefined
): (
socket: BidirectionalRawStreamSocket
) => Effect<A1, E1 | E2 | E3 | SocketError, Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>>
<A1, A2, E1, E2, E3, R1, R2, R3>(
socket: MultiplexedStreamSocket,
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { bufferSize?: number | undefined; encoding?: string | undefined } | undefined
): Effect<
CompressedDemuxOutput<A1, A2>,
E1 | E2 | E3 | SocketError | ParseError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
<A1, A2, E1, E2, E3, R1, R2, R3>(
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { bufferSize?: number | undefined; encoding?: string | undefined } | undefined
): (
socket: MultiplexedStreamSocket
) => Effect<
CompressedDemuxOutput<A1, A2>,
E1 | E2 | E3 | SocketError | ParseError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
<
A1,
A2,
E1,
E2,
E3,
R1,
R2,
R3,
SocketOptions extends
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr?: never }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin?: never; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin: UnidirectionalRawStreamSocket; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr: UnidirectionalRawStreamSocket }
| {
stdin: UnidirectionalRawStreamSocket
stdout: UnidirectionalRawStreamSocket
stderr: UnidirectionalRawStreamSocket
}
>(
sockets: SocketOptions,
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { encoding?: string | undefined } | undefined
): Effect<
SocketOptions["stdout"] extends UnidirectionalRawStreamSocket
? SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<A1, A2>
: CompressedDemuxOutput<A1, void>
: SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<void, A2>
: CompressedDemuxOutput<void, void>,
E1 | E2 | E3 | SocketError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
<
A1,
A2,
E1,
E2,
E3,
R1,
R2,
R3,
SocketOptions extends
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr?: never }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin?: never; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin: UnidirectionalRawStreamSocket; stdout: UnidirectionalRawStreamSocket; stderr?: never }
| { stdin: UnidirectionalRawStreamSocket; stdout?: never; stderr: UnidirectionalRawStreamSocket }
| { stdin?: never; stdout: UnidirectionalRawStreamSocket; stderr: UnidirectionalRawStreamSocket }
| {
stdin: UnidirectionalRawStreamSocket
stdout: UnidirectionalRawStreamSocket
stderr: UnidirectionalRawStreamSocket
}
>(
source: Stream<string | Uint8Array, E1, R1>,
sink1: Sink<A1, string, string, E2, R2>,
sink2: Sink<A2, string, string, E3, R3>,
options?: { encoding?: string | undefined } | undefined
): (
sockets: SocketOptions
) => Effect<
SocketOptions["stdout"] extends UnidirectionalRawStreamSocket
? SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<A1, A2>
: CompressedDemuxOutput<A1, void>
: SocketOptions["stderr"] extends UnidirectionalRawStreamSocket
? CompressedDemuxOutput<void, A2>
: CompressedDemuxOutput<void, void>,
E1 | E2 | E3 | SocketError,
Exclude<R1, Scope> | Exclude<R2, Scope> | Exclude<R3, Scope>
>
}
export * from "./demux/Demux.js"
```

Added in v1.0.0
14 changes: 9 additions & 5 deletions docs/modules/demux/Stdio.ts.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,15 @@ imports the `@effect/platform-node` package.

```ts
export declare const demuxSocketFromStdinToStdoutAndStderr: (
socketOptions:
sockets:
| BidirectionalRawStreamSocket
| MultiplexedStreamSocket
| {
stdout: UnidirectionalRawStreamSocket
stdin?: UnidirectionalRawStreamSocket | undefined
stderr?: UnidirectionalRawStreamSocket | undefined
}
},
options?: { encoding: string | undefined } | undefined
) => Effect.Effect<void, StdinError | StdoutError | StderrError | Socket.SocketError | ParseResult.ParseError, never>
```
Expand All @@ -74,17 +75,20 @@ the console then see {@link demuxSocketFromStdinToStdoutAndStderr}.
```ts
export declare const demuxSocketWithInputToConsole: {
<E1, R1>(
input: Stream.Stream<string | Uint8Array, E1, R1>
input: Stream.Stream<string | Uint8Array, E1, R1>,
options?: { encoding: string | undefined } | undefined
): (
socket: BidirectionalRawStreamSocket
) => Effect.Effect<void, E1 | Socket.SocketError | ParseResult.ParseError, Exclude<R1, Scope.Scope>>
<E1, R1>(
input: Stream.Stream<string | Uint8Array, E1, R1>
input: Stream.Stream<string | Uint8Array, E1, R1>,
options?: { encoding: string | undefined } | undefined
): (
socket: MultiplexedStreamSocket
) => Effect.Effect<void, E1 | Socket.SocketError | ParseResult.ParseError, Exclude<R1, Scope.Scope>>
<E1, R1>(
input: Stream.Stream<string | Uint8Array, E1, R1>
input: Stream.Stream<string | Uint8Array, E1, R1>,
options?: { encoding: string | undefined } | undefined
): (sockets: {
stdout: UnidirectionalRawStreamSocket
stdin?: UnidirectionalRawStreamSocket | undefined
Expand Down
20 changes: 1 addition & 19 deletions src/Demux.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,4 @@
* @since 1.0.0
*/

import * as demuxInternal from "./demux/Demux.js";

/**
* @since 1.0.0
* @category Demux
*/
export const demuxToSingleSink = demuxInternal.demuxToSingleSink;

/**
* @since 1.0.0
* @category Demux
*/
export const demuxToSeparateSinks = demuxInternal.demuxToSeparateSinks;

/**
* @since 1.0.0
* @category Demux
*/
export const demuxUnknownToSeparateSinks = demuxInternal.demuxUnknownToSeparateSinks;
export * from "./demux/Demux.js";
Loading

0 comments on commit 114f879

Please sign in to comment.