@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.
Files changed (59) hide show
  1. package/dist/NodeChildProcessSpawner.d.ts +3 -3
  2. package/dist/NodeChildProcessSpawner.js +2 -2
  3. package/dist/NodeClusterSocket.d.ts +10 -4
  4. package/dist/NodeClusterSocket.d.ts.map +1 -1
  5. package/dist/NodeClusterSocket.js +29 -5
  6. package/dist/NodeClusterSocket.js.map +1 -1
  7. package/dist/NodeCrypto.d.ts +22 -0
  8. package/dist/NodeCrypto.d.ts.map +1 -0
  9. package/dist/NodeCrypto.js +50 -0
  10. package/dist/NodeCrypto.js.map +1 -0
  11. package/dist/NodeFileSystem.d.ts +5 -2
  12. package/dist/NodeFileSystem.d.ts.map +1 -1
  13. package/dist/NodeFileSystem.js +24 -3
  14. package/dist/NodeFileSystem.js.map +1 -1
  15. package/dist/NodePath.d.ts +15 -6
  16. package/dist/NodePath.d.ts.map +1 -1
  17. package/dist/NodePath.js +30 -7
  18. package/dist/NodePath.js.map +1 -1
  19. package/dist/NodeRuntime.d.ts +36 -7
  20. package/dist/NodeRuntime.d.ts.map +1 -1
  21. package/dist/NodeRuntime.js +6 -2
  22. package/dist/NodeRuntime.js.map +1 -1
  23. package/dist/NodeSink.d.ts +34 -4
  24. package/dist/NodeSink.d.ts.map +1 -1
  25. package/dist/NodeSink.js +16 -3
  26. package/dist/NodeSink.js.map +1 -1
  27. package/dist/NodeSocket.d.ts +38 -7
  28. package/dist/NodeSocket.d.ts.map +1 -1
  29. package/dist/NodeSocket.js +23 -6
  30. package/dist/NodeSocket.js.map +1 -1
  31. package/dist/NodeSocketServer.d.ts +22 -5
  32. package/dist/NodeSocketServer.d.ts.map +1 -1
  33. package/dist/NodeSocketServer.js +22 -5
  34. package/dist/NodeSocketServer.js.map +1 -1
  35. package/dist/NodeStdio.d.ts +6 -2
  36. package/dist/NodeStdio.d.ts.map +1 -1
  37. package/dist/NodeStdio.js +23 -3
  38. package/dist/NodeStdio.js.map +1 -1
  39. package/dist/NodeStream.d.ts +84 -20
  40. package/dist/NodeStream.d.ts.map +1 -1
  41. package/dist/NodeStream.js +68 -16
  42. package/dist/NodeStream.js.map +1 -1
  43. package/dist/NodeTerminal.d.ts +9 -2
  44. package/dist/NodeTerminal.d.ts.map +1 -1
  45. package/dist/NodeTerminal.js +11 -2
  46. package/dist/NodeTerminal.js.map +1 -1
  47. package/package.json +5 -5
  48. package/src/NodeChildProcessSpawner.ts +3 -3
  49. package/src/NodeClusterSocket.ts +29 -5
  50. package/src/NodeCrypto.ts +55 -0
  51. package/src/NodeFileSystem.ts +24 -3
  52. package/src/NodePath.ts +30 -7
  53. package/src/NodeRuntime.ts +36 -7
  54. package/src/NodeSink.ts +34 -4
  55. package/src/NodeSocket.ts +38 -7
  56. package/src/NodeSocketServer.ts +40 -6
  57. package/src/NodeStdio.ts +23 -3
  58. package/src/NodeStream.ts +84 -20
  59. package/src/NodeTerminal.ts +29 -3
@@ -1,5 +1,22 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Sink adapters for writing Effect stream chunks into Node writable streams.
3
+ *
4
+ * This module is used at the boundary where Effect `Stream`s or `Channel`s need
5
+ * to push data into Node's writable side: file streams, HTTP request or
6
+ * response bodies, process stdio, sockets, and transform inputs such as
7
+ * compression or encryption streams. It exposes both a `Sink` constructor for
8
+ * ordinary stream pipelines and lower-level `Channel` and pull helpers used by
9
+ * other Node stream adapters.
10
+ *
11
+ * The implementation follows Node writable semantics. Chunks are written in
12
+ * order; when `write` returns `false`, pulling pauses until `drain` so upstream
13
+ * producers do not overrun the writable buffer. Writable `error` events are
14
+ * mapped through `onError`, and the writable is ended and awaited via `finish`
15
+ * when upstream completes unless `endOnDone` is `false`. Use `endOnDone: false`
16
+ * for externally owned or long-lived writables, and make sure `onError` keeps
17
+ * Node's untyped errors meaningful for the calling Effect workflow.
18
+ *
19
+ * @since 4.0.0
3
20
  */
4
21
  import type { NonEmptyReadonlyArray } from "effect/Array";
5
22
  import * as Channel from "effect/Channel";
@@ -8,8 +25,12 @@ import * as Pull from "effect/Pull";
8
25
  import * as Sink from "effect/Sink";
9
26
  import type { Writable } from "node:stream";
10
27
  /**
28
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
29
+ * backpressure, mapping writable errors with `onError`, and ending the stream
30
+ * on completion unless `endOnDone` is `false`.
31
+ *
11
32
  * @category constructors
12
- * @since 1.0.0
33
+ * @since 4.0.0
13
34
  */
14
35
  export declare const fromWritable: <E, A = Uint8Array | string>(options: {
15
36
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -18,8 +39,12 @@ export declare const fromWritable: <E, A = Uint8Array | string>(options: {
18
39
  readonly encoding?: BufferEncoding | undefined;
19
40
  }) => Sink.Sink<void, A, never, E>;
20
41
  /**
42
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
43
+ * Node writable stream, respecting backpressure and optionally ending the
44
+ * writable when upstream is done.
45
+ *
21
46
  * @category constructors
22
- * @since 1.0.0
47
+ * @since 4.0.0
23
48
  */
24
49
  export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(options: {
25
50
  readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
@@ -28,7 +53,12 @@ export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(optio
28
53
  readonly encoding?: BufferEncoding | undefined;
29
54
  }) => Channel.Channel<never, IE | E, void, NonEmptyReadonlyArray<A>, IE>;
30
55
  /**
31
- * @since 1.0.0
56
+ * Repeatedly pulls non-empty chunks and writes them to a Node writable stream,
57
+ * waiting for `drain` when needed, failing on writable errors, and ending the
58
+ * writable on upstream completion unless disabled.
59
+ *
60
+ * @category converting
61
+ * @since 4.0.0
32
62
  */
33
63
  export declare const pullIntoWritable: <A, IE, E>(options: {
34
64
  readonly pull: Pull.Pull<NonEmptyReadonlyArray<A>, IE, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSink.d.ts","sourceRoot":"","sources":["../src/NodeSink.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EACrD,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAC4D,CAAA;AAE1F;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EAChE,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAIhE,CAAA;AAEJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,CAkCjC,CAAA"}
1
+ {"version":3,"file":"NodeSink.d.ts","sourceRoot":"","sources":["../src/NodeSink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EACrD,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAC4D,CAAA;AAE1F;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAAI,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,EAChE,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KACA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAIhE,CAAA;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CAC/C,KAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,CAkCjC,CAAA"}
package/dist/NodeSink.js CHANGED
@@ -5,13 +5,21 @@ import { identity } from "effect/Function";
5
5
  import * as Pull from "effect/Pull";
6
6
  import * as Sink from "effect/Sink";
7
7
  /**
8
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
9
+ * backpressure, mapping writable errors with `onError`, and ending the stream
10
+ * on completion unless `endOnDone` is `false`.
11
+ *
8
12
  * @category constructors
9
- * @since 1.0.0
13
+ * @since 4.0.0
10
14
  */
11
15
  export const fromWritable = options => Sink.fromChannel(Channel.mapDone(fromWritableChannel(options), _ => [_]));
12
16
  /**
17
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
18
+ * Node writable stream, respecting backpressure and optionally ending the
19
+ * writable when upstream is done.
20
+ *
13
21
  * @category constructors
14
- * @since 1.0.0
22
+ * @since 4.0.0
15
23
  */
16
24
  export const fromWritableChannel = options => Channel.fromTransform(pull => {
17
25
  const writable = options.evaluate();
@@ -22,7 +30,12 @@ export const fromWritableChannel = options => Channel.fromTransform(pull => {
22
30
  }));
23
31
  });
24
32
  /**
25
- * @since 1.0.0
33
+ * Repeatedly pulls non-empty chunks and writes them to a Node writable stream,
34
+ * waiting for `drain` when needed, failing on writable errors, and ending the
35
+ * writable on upstream completion unless disabled.
36
+ *
37
+ * @category converting
38
+ * @since 4.0.0
26
39
  */
27
40
  export const pullIntoWritable = options => options.pull.pipe(Effect.flatMap(chunk => {
28
41
  let i = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSink.js","names":["Cause","Channel","Effect","identity","Pull","Sink","fromWritable","options","fromChannel","mapDone","fromWritableChannel","_","fromTransform","pull","writable","evaluate","succeed","pullIntoWritable","pipe","flatMap","chunk","i","callback","loop","resume","length","success","write","encoding","once","void","forever","disableYield","raceFirst","onError","error","fail","sync","off","endOnDone","catchDone","closed","done","end"],"sources":["../src/NodeSink.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeSink.js","names":["Cause","Channel","Effect","identity","Pull","Sink","fromWritable","options","fromChannel","mapDone","fromWritableChannel","_","fromTransform","pull","writable","evaluate","succeed","pullIntoWritable","pipe","flatMap","chunk","i","callback","loop","resume","length","success","write","encoding","once","void","forever","disableYield","raceFirst","onError","error","fail","sync","off","endOnDone","catchDone","closed","done","end"],"sources":["../src/NodeSink.ts"],"sourcesContent":[null],"mappings":"AAqBA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAsB,iBAAiB;AACxD,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,IAAI,MAAM,aAAa;AAGnC;;;;;;;;AAQA,OAAO,MAAMC,YAAY,GACvBC,OAKC,IAEDF,IAAI,CAACG,WAAW,CAACP,OAAO,CAACQ,OAAO,CAACC,mBAAmB,CAAcH,OAAO,CAAC,EAAGI,CAAC,IAAK,CAACA,CAAC,CAAC,CAAC,CAAC;AAE1F;;;;;;;;AAQA,OAAO,MAAMD,mBAAmB,GAC9BH,OAKC,IAEDN,OAAO,CAACW,aAAa,CAAEC,IAAsD,IAAI;EAC/E,MAAMC,QAAQ,GAAGP,OAAO,CAACQ,QAAQ,EAAc;EAC/C,OAAOb,MAAM,CAACc,OAAO,CAACC,gBAAgB,CAAC;IAAE,GAAGV,OAAO;IAAEO,QAAQ;IAAED;EAAI,CAAE,CAAC,CAAC;AACzE,CAAC,CAAC;AAEJ;;;;;;;;AAQA,OAAO,MAAMI,gBAAgB,GAAcV,OAM1C,IACCA,OAAO,CAACM,IAAI,CAACK,IAAI,CACfhB,MAAM,CAACiB,OAAO,CAAEC,KAAK,IAAI;EACvB,IAAIC,CAAC,GAAG,CAAC;EACT,OAAOnB,MAAM,CAACoB,QAAQ,CAAU,SAASC,IAAIA,CAACC,MAAM;IAClD,OAAOH,CAAC,GAAGD,KAAK,CAACK,MAAM,GAAG;MACxB,MAAMC,OAAO,GAAGnB,OAAO,CAACO,QAAQ,CAACa,KAAK,CAACP,KAAK,CAACC,CAAC,EAAE,CAAC,EAAEd,OAAO,CAACqB,QAAe,CAAC;MAC3E,IAAI,CAACF,OAAO,EAAE;QACZnB,OAAO,CAACO,QAAQ,CAACe,IAAI,CAAC,OAAO,EAAE,MAAON,IAAY,CAACC,MAAM,CAAC,CAAC;QAC3D;MACF;IACF;IACAA,MAAM,CAACtB,MAAM,CAAC4B,IAAI,CAAC;EACrB,CAAC,CAAC;AACJ,CAAC,CAAC,EACF5B,MAAM,CAAC6B,OAAO,CAAC;EAAEC,YAAY,EAAE;AAAI,CAAE,CAAC,EACtC9B,MAAM,CAAC+B,SAAS,CAAC/B,MAAM,CAACoB,QAAQ,CAAYE,MAAM,IAAI;EACpD,MAAMU,OAAO,GAAIC,KAAc,IAAKX,MAAM,CAACtB,MAAM,CAACkC,IAAI,CAAC7B,OAAO,CAAC2B,OAAO,CAACC,KAAK,CAAC,CAAC,CAAC;EAC/E5B,OAAO,CAACO,QAAQ,CAACe,IAAI,CAAC,OAAO,EAAEK,OAAO,CAAC;EACvC,OAAOhC,MAAM,CAACmC,IAAI,CAAC,MAAK;IACtB9B,OAAO,CAACO,QAAQ,CAACwB,GAAG,CAAC,OAAO,EAAEJ,OAAO,CAAC;EACxC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC,EACH3B,OAAO,CAACgC,SAAS,KAAK,KAAK,GACzBnC,IAAI,CAACoC,SAAS,CAAE7B,CAAC,IAAI;EACnB,IAAI,QAAQ,IAAIJ,OAAO,CAACO,QAAQ,IAAIP,OAAO,CAACO,QAAQ,CAAC2B,MAAM,EAAE;IAC3D,OAAOzC,KAAK,CAAC0C,IAAI,CAAC/B,CAAC,CAAC;EACtB;EACA,OAAOT,MAAM,CAACoB,QAAQ,CAAkCE,MAAM,IAAI;IAChEjB,OAAO,CAACO,QAAQ,CAACe,IAAI,CAAC,QAAQ,EAAE,MAAML,MAAM,CAACxB,KAAK,CAAC0C,IAAI,CAAC/B,CAAC,CAAC,CAAC,CAAC;IAC5DJ,OAAO,CAACO,QAAQ,CAAC6B,GAAG,EAAE;EACxB,CAAC,CAAC;AACJ,CAAC,CAAC,GACFxC,QAAQ,CACX","ignoreList":[]}
@@ -1,5 +1,19 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Shared Node socket constructors for adapting `node:net` connections and
3
+ * other Node `Duplex` streams to Effect's `Socket.Socket` interface.
4
+ *
5
+ * Use this module when building TCP clients, Unix domain socket clients, or
6
+ * higher-level protocols that already expose a Node `Duplex`. Connections are
7
+ * scoped, so finalizers close or destroy the underlying stream, open timeouts
8
+ * are reported as socket open errors, and Node read, write, and close events
9
+ * are translated into `SocketError` values.
10
+ *
11
+ * Node sockets have a few operational details worth keeping in mind: Unix
12
+ * socket paths are supplied through `NetConnectOpts.path`, writes complete only
13
+ * after Node accepts or flushes the chunk, and abnormal close events are
14
+ * surfaced as close errors while normal remote ends complete the socket run.
15
+ *
16
+ * @since 4.0.0
3
17
  */
4
18
  import type { Array } from "effect";
5
19
  import * as Channel from "effect/Channel";
@@ -12,39 +26,56 @@ import * as Socket from "effect/unstable/socket/Socket";
12
26
  import * as Net from "node:net";
13
27
  import type { Duplex } from "node:stream";
14
28
  /**
15
- * @since 1.0.0
16
29
  * @category re-exports
30
+ * @since 4.0.0
17
31
  */
18
32
  export * as NodeWS from "ws";
19
33
  declare const NetSocket_base: Context.ServiceClass<NetSocket, "@effect/platform-node/NodeSocket/NetSocket", Net.Socket>;
20
34
  /**
21
- * @since 1.0.0
35
+ * Service tag for the underlying Node `net.Socket` associated with the current
36
+ * socket connection.
37
+ *
22
38
  * @category tags
39
+ * @since 4.0.0
23
40
  */
24
41
  export declare class NetSocket extends NetSocket_base {
25
42
  }
26
43
  /**
27
- * @since 1.0.0
44
+ * Opens a TCP connection with Node `net.createConnection` and exposes it as a
45
+ * `Socket.Socket`, supporting `openTimeout` and closing or destroying the
46
+ * socket when the enclosing scope is finalized.
47
+ *
28
48
  * @category constructors
49
+ * @since 4.0.0
29
50
  */
30
51
  export declare const makeNet: (options: Net.NetConnectOpts & {
31
52
  readonly openTimeout?: Duration.Input | undefined;
32
53
  }) => Effect.Effect<Socket.Socket>;
33
54
  /**
34
- * @since 1.0.0
55
+ * Adapts a Node `Duplex` into a `Socket.Socket`, wiring data events to socket
56
+ * handlers, providing a scoped writer, and mapping open, read, write, and close
57
+ * failures to `SocketError`.
58
+ *
35
59
  * @category constructors
60
+ * @since 4.0.0
36
61
  */
37
62
  export declare const fromDuplex: <RO>(open: Effect.Effect<Duplex, Socket.SocketError, RO>, options?: {
38
63
  readonly openTimeout?: Duration.Input | undefined;
39
64
  }) => Effect.Effect<Socket.Socket, never, Exclude<RO, Scope.Scope>>;
40
65
  /**
41
- * @since 1.0.0
66
+ * Creates a `Channel` over a TCP socket, reading arrays of `Uint8Array`
67
+ * chunks and writing arrays of bytes, strings, or socket close events.
68
+ *
42
69
  * @category constructors
70
+ * @since 4.0.0
43
71
  */
44
72
  export declare const makeNetChannel: <IE = never>(options: Net.NetConnectOpts) => Channel.Channel<Array.NonEmptyReadonlyArray<Uint8Array>, Socket.SocketError | IE, void, Array.NonEmptyReadonlyArray<Uint8Array | string | Socket.CloseEvent>, IE>;
45
73
  /**
46
- * @since 1.0.0
74
+ * Provides a `Socket.Socket` by opening a TCP connection with the supplied
75
+ * Node `net` connection options.
76
+ *
47
77
  * @category layers
78
+ * @since 4.0.0
48
79
  */
49
80
  export declare const layerNet: (options: Net.NetConnectOpts) => Layer.Layer<Socket.Socket, Socket.SocketError>;
50
81
  //# sourceMappingURL=NodeSocket.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSocket.d.ts","sourceRoot":"","sources":["../src/NodeSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,IAAI,CAAA;;AAE5B;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAE9B;CAAG;AAEJ;;;GAGG;AACH,eAAO,MAAM,OAAO,GAClB,SAAS,GAAG,CAAC,cAAc,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAClD,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAmC3B,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,EAAE,EAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,EACnD,UAAU;IACR,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAClD,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CA4H3D,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,GAAG,KAAK,EACvC,SAAS,GAAG,CAAC,cAAc,KAC1B,OAAO,CAAC,OAAO,CAChB,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,EACvC,MAAM,CAAC,WAAW,GAAG,EAAE,EACvB,IAAI,EACJ,KAAK,CAAC,qBAAqB,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,EACpE,EAAE,CAID,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,CACjE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,CACmC,CAAA"}
1
+ {"version":3,"file":"NodeSocket.d.ts","sourceRoot":"","sources":["../src/NodeSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;GAGG;AACH,OAAO,KAAK,MAAM,MAAM,IAAI,CAAA;;AAE5B;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,cAE9B;CAAG;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,GAClB,SAAS,GAAG,CAAC,cAAc,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAClD,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAmC3B,CAAA;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,EAAE,EAC3B,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,EACnD,UAAU;IACR,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CAClD,KACA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CA4H3D,CAAA;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,GAAG,KAAK,EACvC,SAAS,GAAG,CAAC,cAAc,KAC1B,OAAO,CAAC,OAAO,CAChB,KAAK,CAAC,qBAAqB,CAAC,UAAU,CAAC,EACvC,MAAM,CAAC,WAAW,GAAG,EAAE,EACvB,IAAI,EACJ,KAAK,CAAC,qBAAqB,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,EACpE,EAAE,CAID,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,CACjE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,CACmC,CAAA"}
@@ -11,18 +11,25 @@ import * as Scope from "effect/Scope";
11
11
  import * as Socket from "effect/unstable/socket/Socket";
12
12
  import * as Net from "node:net";
13
13
  /**
14
- * @since 1.0.0
15
14
  * @category re-exports
15
+ * @since 4.0.0
16
16
  */
17
17
  export * as NodeWS from "ws";
18
18
  /**
19
- * @since 1.0.0
19
+ * Service tag for the underlying Node `net.Socket` associated with the current
20
+ * socket connection.
21
+ *
20
22
  * @category tags
23
+ * @since 4.0.0
21
24
  */
22
25
  export class NetSocket extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeSocket/NetSocket") {}
23
26
  /**
24
- * @since 1.0.0
27
+ * Opens a TCP connection with Node `net.createConnection` and exposes it as a
28
+ * `Socket.Socket`, supporting `openTimeout` and closing or destroying the
29
+ * socket when the enclosing scope is finalized.
30
+ *
25
31
  * @category constructors
32
+ * @since 4.0.0
26
33
  */
27
34
  export const makeNet = options => fromDuplex(Effect.contextWith(context => {
28
35
  let conn;
@@ -52,8 +59,12 @@ export const makeNet = options => fromDuplex(Effect.contextWith(context => {
52
59
  }));
53
60
  }), options);
54
61
  /**
55
- * @since 1.0.0
62
+ * Adapts a Node `Duplex` into a `Socket.Socket`, wiring data events to socket
63
+ * handlers, providing a scoped writer, and mapping open, read, write, and close
64
+ * failures to `SocketError`.
65
+ *
56
66
  * @category constructors
67
+ * @since 4.0.0
57
68
  */
58
69
  export const fromDuplex = (open, options) => Effect.withFiber(fiber => {
59
70
  let currentSocket;
@@ -141,13 +152,19 @@ export const fromDuplex = (open, options) => Effect.withFiber(fiber => {
141
152
  }));
142
153
  });
143
154
  /**
144
- * @since 1.0.0
155
+ * Creates a `Channel` over a TCP socket, reading arrays of `Uint8Array`
156
+ * chunks and writing arrays of bytes, strings, or socket close events.
157
+ *
145
158
  * @category constructors
159
+ * @since 4.0.0
146
160
  */
147
161
  export const makeNetChannel = options => Channel.unwrap(Effect.map(makeNet(options), Socket.toChannelWith()));
148
162
  /**
149
- * @since 1.0.0
163
+ * Provides a `Socket.Socket` by opening a TCP connection with the supplied
164
+ * Node `net` connection options.
165
+ *
150
166
  * @category layers
167
+ * @since 4.0.0
151
168
  */
152
169
  export const layerNet = /*#__PURE__*/Function.flow(makeNet, /*#__PURE__*/Layer.effect(Socket.Socket));
153
170
  //# sourceMappingURL=NodeSocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSocket.js","names":["Channel","Context","Deferred","Effect","FiberSet","Function","identity","Latch","Layer","Scope","Socket","Net","NodeWS","NetSocket","Service","makeNet","options","fromDuplex","contextWith","context","conn","flatMap","addFinalizer","get","sync","closed","destroySoon","destroy","callback","resume","createConnection","once","succeed","on","cause","fail","SocketError","reason","SocketOpenError","kind","open","withFiber","fiber","currentSocket","latch","makeUnsafe","openServices","run","handler","opts","scopedWith","fnUntraced","scope","fiberSet","make","pipe","provide","undefined","off","onData","onEnd","onError","onClose","openTimeout","timeoutOrElse","duration","orElse","Error","provideService","runtime","openUnsafe","onOpen","join","chunk","result","isEffect","doneUnsafe","deferred","void","SocketReadError","hadError","SocketCloseError","code","updateContext","input","merge","onExit","closeUnsafe","write","whenOpen","isCloseEvent","SocketWriteError","writer","acquireRelease","writableEnded","end","runRaw","makeNetChannel","unwrap","map","toChannelWith","layerNet","flow","effect"],"sources":["../src/NodeSocket.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AACvD,OAAO,KAAKC,GAAG,MAAM,UAAU;AAG/B;;;;AAIA,OAAO,KAAKC,MAAM,MAAM,IAAI;AAE5B;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQZ,OAAO,CAACa,OAAO,EAAyB,CACrE,4CAA4C,CAC7C;AAED;;;;AAIA,OAAO,MAAMC,OAAO,GAClBC,OAEC,IAEDC,UAAU,CACRd,MAAM,CAACe,WAAW,CAAEC,OAAqC,IAAI;EAC3D,IAAIC,IAA4B;EAChC,OAAOjB,MAAM,CAACkB,OAAO,CACnBZ,KAAK,CAACa,YAAY,CAChBrB,OAAO,CAACsB,GAAG,CAACJ,OAAO,EAAEV,KAAK,CAACA,KAAK,CAAC,EACjCN,MAAM,CAACqB,IAAI,CAAC,MAAK;IACf,IAAI,CAACJ,IAAI,EAAE;IACX,IAAIA,IAAI,CAACK,MAAM,KAAK,KAAK,EAAE;MACzB,IAAI,aAAa,IAAIL,IAAI,EAAE;QACzBA,IAAI,CAACM,WAAW,EAAE;MACpB,CAAC,MAAM;QACL;QAAEN,IAAmB,CAACO,OAAO,EAAE;MACjC;IACF;EACF,CAAC,CAAC,CACH,EACD,MACExB,MAAM,CAACyB,QAAQ,CAAyCC,MAAM,IAAI;IAChET,IAAI,GAAGT,GAAG,CAACmB,gBAAgB,CAACd,OAAO,CAAC;IACpCI,IAAI,CAACW,IAAI,CAAC,SAAS,EAAE,MAAK;MACxBF,MAAM,CAAC1B,MAAM,CAAC6B,OAAO,CAACZ,IAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IACFA,IAAI,CAACa,EAAE,CAAC,OAAO,EAAGC,KAAY,IAAI;MAChCL,MAAM,CAAC1B,MAAM,CAACgC,IAAI,CAChB,IAAIzB,MAAM,CAAC0B,WAAW,CAAC;QACrBC,MAAM,EAAE,IAAI3B,MAAM,CAAC4B,eAAe,CAAC;UAAEC,IAAI,EAAE,SAAS;UAAEL;QAAK,CAAE;OAC9D,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC,CACL;AACH,CAAC,CAAC,EACFlB,OAAO,CACR;AAEH;;;;AAIA,OAAO,MAAMC,UAAU,GAAGA,CACxBuB,IAAmD,EACnDxB,OAEC,KAEDb,MAAM,CAACsC,SAAS,CAAkDC,KAAK,IAAI;EACzE,IAAIC,aAAiC;EACrC,MAAMC,KAAK,GAAGrC,KAAK,CAACsC,UAAU,CAAC,KAAK,CAAC;EACrC,MAAMC,YAAY,GAAGJ,KAAK,CAACvB,OAA8B;EAEzD,MAAM4B,GAAG,GAAGA,CAAUC,OAAyD,EAAEC,IAEhF,KACC9C,MAAM,CAAC+C,UAAU,CAAC/C,MAAM,CAACgD,UAAU,CAAC,WAAUC,KAAK;IACjD,MAAMC,QAAQ,GAAG,OAAOjD,QAAQ,CAACkD,IAAI,EAA+B,CAACC,IAAI,CACvE9C,KAAK,CAAC+C,OAAO,CAACJ,KAAK,CAAC,CACrB;IACD,IAAIhC,IAAI,GAAuBqC,SAAS;IACxC,OAAOhD,KAAK,CAACa,YAAY,CACvB8B,KAAK,EACLjD,MAAM,CAACqB,IAAI,CAAC,MAAK;MACf,IAAI,CAACJ,IAAI,EAAE;MACXA,IAAI,CAACsC,GAAG,CAAC,MAAM,EAAEC,MAAM,CAAC;MACxBvC,IAAI,CAACsC,GAAG,CAAC,KAAK,EAAEE,KAAK,CAAC;MACtBxC,IAAI,CAACsC,GAAG,CAAC,OAAO,EAAEG,OAAO,CAAC;MAC1BzC,IAAI,CAACsC,GAAG,CAAC,OAAO,EAAEI,OAAO,CAAC;IAC5B,CAAC,CAAC,CACH;IACD1C,IAAI,GAAG,OAAOX,KAAK,CAAC+C,OAAO,CAAChB,IAAI,EAAEY,KAAK,CAAC,CAACG,IAAI,CAC3CvC,OAAO,EAAE+C,WAAW,GAClB5D,MAAM,CAAC6D,aAAa,CAAC;MACnBC,QAAQ,EAAEjD,OAAO,CAAC+C,WAAW;MAC7BG,MAAM,EAAEA,CAAA,KACN/D,MAAM,CAACgC,IAAI,CACT,IAAIzB,MAAM,CAAC0B,WAAW,CAAC;QACrBC,MAAM,EAAE,IAAI3B,MAAM,CAAC4B,eAAe,CAAC;UAAEC,IAAI,EAAE,SAAS;UAAEL,KAAK,EAAE,IAAIiC,KAAK,CAAC,sBAAsB;QAAC,CAAE;OACjG,CAAC;KAEP,CAAC,GACF7D,QAAQ,CACX;IACDc,IAAI,CAACa,EAAE,CAAC,KAAK,EAAE2B,KAAK,CAAC;IACrBxC,IAAI,CAACa,EAAE,CAAC,OAAO,EAAE4B,OAAO,CAAC;IACzBzC,IAAI,CAACa,EAAE,CAAC,OAAO,EAAE6B,OAAO,CAAC;IACzB,MAAMf,GAAG,GAAG,OAAO5C,MAAM,CAACiE,cAAc,CAAChE,QAAQ,CAACiE,OAAO,CAAChB,QAAQ,CAAC,EAAK,EAAExC,SAAS,EAAEO,IAAkB,CAAC;IACxGA,IAAI,CAACa,EAAE,CAAC,MAAM,EAAE0B,MAAM,CAAC;IAEvBhB,aAAa,GAAGvB,IAAI;IACpBwB,KAAK,CAAC0B,UAAU,EAAE;IAClB,IAAIrB,IAAI,EAAEsB,MAAM,EAAE;MAChB,OAAOtB,IAAI,CAACsB,MAAM;IACpB;IAEA,OAAO,OAAOnE,QAAQ,CAACoE,IAAI,CAACnB,QAAQ,CAAC;IAErC,SAASM,MAAMA,CAACc,KAAiB;MAC/B,MAAMC,MAAM,GAAG1B,OAAO,CAACyB,KAAK,CAAC;MAC7B,IAAItE,MAAM,CAACwE,QAAQ,CAACD,MAAM,CAAC,EAAE;QAC3B3B,GAAG,CAAC2B,MAAM,CAAC;MACb;IACF;IACA,SAASd,KAAKA,CAAA;MACZ1D,QAAQ,CAAC0E,UAAU,CAACvB,QAAQ,CAACwB,QAAQ,EAAE1E,MAAM,CAAC2E,IAAI,CAAC;IACrD;IACA,SAASjB,OAAOA,CAAC3B,KAAY;MAC3BhC,QAAQ,CAAC0E,UAAU,CACjBvB,QAAQ,CAACwB,QAAQ,EACjB1E,MAAM,CAACgC,IAAI,CACT,IAAIzB,MAAM,CAAC0B,WAAW,CAAC;QACrBC,MAAM,EAAE,IAAI3B,MAAM,CAACqE,eAAe,CAAC;UAAE7C;QAAK,CAAE;OAC7C,CAAC,CACH,CACF;IACH;IACA,SAAS4B,OAAOA,CAACkB,QAAiB;MAChC9E,QAAQ,CAAC0E,UAAU,CACjBvB,QAAQ,CAACwB,QAAQ,EACjB1E,MAAM,CAACgC,IAAI,CACT,IAAIzB,MAAM,CAAC0B,WAAW,CAAC;QACrBC,MAAM,EAAE,IAAI3B,MAAM,CAACuE,gBAAgB,CAAC;UAAEC,IAAI,EAAEF,QAAQ,GAAG,IAAI,GAAG;QAAI,CAAE;OACrE,CAAC,CACH,CACF;IACH;EACF,CAAC,CAAC,CAAC,CAACzB,IAAI,CACNpD,MAAM,CAACgF,aAAa,CAAEC,KAAyB,IAAKnF,OAAO,CAACoF,KAAK,CAACvC,YAAY,EAAEsC,KAAK,CAAC,CAAC,EACvFjF,MAAM,CAACmF,MAAM,CAAC,MACZnF,MAAM,CAACqB,IAAI,CAAC,MAAK;IACfoB,KAAK,CAAC2C,WAAW,EAAE;IACnB5C,aAAa,GAAGc,SAAS;EAC3B,CAAC,CAAC,CACH,CACF;EAEH,MAAM+B,KAAK,GAAIf,KAA8C,IAC3D7B,KAAK,CAAC6C,QAAQ,CAACtF,MAAM,CAACyB,QAAQ,CAA4BC,MAAM,IAAI;IAClE,MAAMT,IAAI,GAAGuB,aAAc;IAC3B,IAAIjC,MAAM,CAACgF,YAAY,CAACjB,KAAK,CAAC,EAAE;MAC9BrD,IAAI,CAACO,OAAO,CAAC8C,KAAK,CAACS,IAAI,GAAG,IAAI,GAAG,IAAIf,KAAK,CAAC,oBAAoBM,KAAK,CAACS,IAAI,EAAE,CAAC,GAAGzB,SAAS,CAAC;MACzF,OAAO5B,MAAM,CAAC1B,MAAM,CAAC2E,IAAI,CAAC;IAC5B;IACAnC,aAAc,CAAC6C,KAAK,CAACf,KAAK,EAAGvC,KAAK,IAAI;MACpCL,MAAM,CACJK,KAAK,GACD/B,MAAM,CAACgC,IAAI,CACX,IAAIzB,MAAM,CAAC0B,WAAW,CAAC;QACrBC,MAAM,EAAE,IAAI3B,MAAM,CAACiF,gBAAgB,CAAC;UAAEzD,KAAK,EAAEA;QAAM,CAAE;OACtD,CAAC,CACH,GACC/B,MAAM,CAAC2E,IAAI,CAChB;IACH,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC;EAEL,MAAMc,MAAM,GAAGzF,MAAM,CAAC0F,cAAc,CAClC1F,MAAM,CAAC6B,OAAO,CAACwD,KAAK,CAAC,EACrB,MACErF,MAAM,CAACqB,IAAI,CAAC,MAAK;IACf,IAAI,CAACmB,aAAa,IAAIA,aAAa,CAACmD,aAAa,EAAE;IACnDnD,aAAa,CAACoD,GAAG,EAAE;EACrB,CAAC,CAAC,CACL;EAED,OAAO5F,MAAM,CAAC6B,OAAO,CAACtB,MAAM,CAAC4C,IAAI,CAAC;IAChCP,GAAG;IACHiD,MAAM,EAAEjD,GAAG;IACX6C;GACD,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAMK,cAAc,GACzBjF,OAA2B,IAQ3BhB,OAAO,CAACkG,MAAM,CACZ/F,MAAM,CAACgG,GAAG,CAACpF,OAAO,CAACC,OAAO,CAAC,EAAEN,MAAM,CAAC0F,aAAa,EAAM,CAAC,CACzD;AAEH;;;;AAIA,OAAO,MAAMC,QAAQ,gBAGjBhG,QAAQ,CAACiG,IAAI,CAACvF,OAAO,eAAEP,KAAK,CAAC+F,MAAM,CAAC7F,MAAM,CAACA,MAAM,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"NodeSocket.js","names":["Channel","Context","Deferred","Effect","FiberSet","Function","identity","Latch","Layer","Scope","Socket","Net","NodeWS","NetSocket","Service","makeNet","options","fromDuplex","contextWith","context","conn","flatMap","addFinalizer","get","sync","closed","destroySoon","destroy","callback","resume","createConnection","once","succeed","on","cause","fail","SocketError","reason","SocketOpenError","kind","open","withFiber","fiber","currentSocket","latch","makeUnsafe","openServices","run","handler","opts","scopedWith","fnUntraced","scope","fiberSet","make","pipe","provide","undefined","off","onData","onEnd","onError","onClose","openTimeout","timeoutOrElse","duration","orElse","Error","provideService","runtime","openUnsafe","onOpen","join","chunk","result","isEffect","doneUnsafe","deferred","void","SocketReadError","hadError","SocketCloseError","code","updateContext","input","merge","onExit","closeUnsafe","write","whenOpen","isCloseEvent","SocketWriteError","writer","acquireRelease","writableEnded","end","runRaw","makeNetChannel","unwrap","map","toChannelWith","layerNet","flow","effect"],"sources":["../src/NodeSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,32 +10,49 @@ import * as NodeSocket from "./NodeSocket.ts";
10
10
  import { NodeWS } from "./NodeSocket.ts";
11
11
  declare const IncomingMessage_base: Context.ServiceClass<IncomingMessage, "@effect/platform-node-shared/NodeSocketServer/IncomingMessage", Http.IncomingMessage>;
12
12
  /**
13
- * @since 1.0.0
13
+ * Service tag for the Node `IncomingMessage` associated with the current
14
+ * WebSocket server connection.
15
+ *
14
16
  * @category tags
17
+ * @since 4.0.0
15
18
  */
16
19
  export declare class IncomingMessage extends IncomingMessage_base {
17
20
  }
18
21
  /**
19
- * @since 1.0.0
22
+ * Creates a scoped TCP `SocketServer` from a Node `net.Server`, starts
23
+ * listening with the supplied options, queues pending connections until `run`
24
+ * is called, and closes the server when the scope ends.
25
+ *
20
26
  * @category constructors
27
+ * @since 4.0.0
21
28
  */
22
29
  export declare const make: (options: Net.ServerOpts & Net.ListenOptions) => Effect.Effect<{
23
30
  readonly address: SocketServer.Address;
24
31
  readonly run: <R, E, _>(handler: (socket: Socket.Socket) => Effect.Effect<_, E, R>) => Effect.Effect<never, SocketServer.SocketServerError, R>;
25
32
  }, SocketServer.SocketServerError, Scope.Scope>;
26
33
  /**
27
- * @since 1.0.0
34
+ * Provides a TCP `SocketServer` by creating and managing a scoped Node
35
+ * `net.Server` with the supplied server and listen options.
36
+ *
28
37
  * @category layers
38
+ * @since 4.0.0
29
39
  */
30
40
  export declare const layer: (options: Net.ServerOpts & Net.ListenOptions) => Layer.Layer<SocketServer.SocketServer, SocketServer.SocketServerError>;
31
41
  /**
32
- * @since 1.0.0
42
+ * Creates a scoped WebSocket `SocketServer` backed by the `ws` package,
43
+ * providing the WebSocket and its Node `IncomingMessage` to connection
44
+ * handlers and closing the server when the scope ends.
45
+ *
33
46
  * @category constructors
47
+ * @since 4.0.0
34
48
  */
35
49
  export declare const makeWebSocket: (options: NodeWS.ServerOptions<typeof NodeWS.WebSocket, typeof Http.IncomingMessage>) => Effect.Effect<SocketServer.SocketServer["Service"], SocketServer.SocketServerError, Scope.Scope>;
36
50
  /**
37
- * @since 1.0.0
51
+ * Provides a WebSocket `SocketServer` backed by the `ws` package and managed
52
+ * with the supplied server options.
53
+ *
38
54
  * @category layers
55
+ * @since 4.0.0
39
56
  */
40
57
  export declare const layerWebSocket: (options: NodeSocket.NodeWS.ServerOptions<typeof NodeSocket.NodeWS.WebSocket, typeof Http.IncomingMessage>) => Layer.Layer<SocketServer.SocketServer, SocketServer.SocketServerError>;
41
58
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSocketServer.d.ts","sourceRoot":"","sources":["../src/NodeSocketServer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAA;AACnE,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;;AAExC;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAG+B;CAAG;AAEvE;;;GAGG;AACH,eAAO,MAAM,IAAI;;;+CA6Gf,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,KACxC,KAAK,CAAC,KAAK,CACd,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CACgC,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,CAC1B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KAChF,MAAM,CAAC,MAAM,CAChB,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EACpC,YAAY,CAAC,iBAAiB,EAC9B,KAAK,CAAC,KAAK,CAyFX,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KACtG,KAAK,CAAC,KAAK,CACd,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CACyC,CAAA"}
1
+ {"version":3,"file":"NodeSocketServer.d.ts","sourceRoot":"","sources":["../src/NodeSocketServer.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AACvD,OAAO,KAAK,YAAY,MAAM,qCAAqC,CAAA;AACnE,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;;AAExC;;;;;;GAMG;AACH,qBAAa,eAAgB,SAAQ,oBAG+B;CAAG;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,IAAI;;;+CA6Gf,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,OAAO,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,aAAa,KACxC,KAAK,CAAC,KAAK,CACd,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CACgC,CAAA;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,CAC1B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KAChF,MAAM,CAAC,MAAM,CAChB,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EACpC,YAAY,CAAC,iBAAiB,EAC9B,KAAK,CAAC,KAAK,CAyFX,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,KACtG,KAAK,CAAC,KAAK,CACd,YAAY,CAAC,YAAY,EACzB,YAAY,CAAC,iBAAiB,CACyC,CAAA"}
@@ -14,13 +14,20 @@ import * as Net from "node:net";
14
14
  import * as NodeSocket from "./NodeSocket.js";
15
15
  import { NodeWS } from "./NodeSocket.js";
16
16
  /**
17
- * @since 1.0.0
17
+ * Service tag for the Node `IncomingMessage` associated with the current
18
+ * WebSocket server connection.
19
+ *
18
20
  * @category tags
21
+ * @since 4.0.0
19
22
  */
20
23
  export class IncomingMessage extends /*#__PURE__*/Context.Service()("@effect/platform-node-shared/NodeSocketServer/IncomingMessage") {}
21
24
  /**
22
- * @since 1.0.0
25
+ * Creates a scoped TCP `SocketServer` from a Node `net.Server`, starts
26
+ * listening with the supplied options, queues pending connections until `run`
27
+ * is called, and closes the server when the scope ends.
28
+ *
23
29
  * @category constructors
30
+ * @since 4.0.0
24
31
  */
25
32
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
26
33
  const errorDeferred = Deferred.makeUnsafe();
@@ -107,13 +114,20 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
107
114
  });
108
115
  });
109
116
  /**
110
- * @since 1.0.0
117
+ * Provides a TCP `SocketServer` by creating and managing a scoped Node
118
+ * `net.Server` with the supplied server and listen options.
119
+ *
111
120
  * @category layers
121
+ * @since 4.0.0
112
122
  */
113
123
  export const layer = /*#__PURE__*/Function.flow(make, /*#__PURE__*/Layer.effect(SocketServer.SocketServer));
114
124
  /**
115
- * @since 1.0.0
125
+ * Creates a scoped WebSocket `SocketServer` backed by the `ws` package,
126
+ * providing the WebSocket and its Node `IncomingMessage` to connection
127
+ * handlers and closing the server when the scope ends.
128
+ *
116
129
  * @category constructors
130
+ * @since 4.0.0
117
131
  */
118
132
  export const makeWebSocket = /*#__PURE__*/Effect.fnUntraced(function* (options) {
119
133
  const server = yield* Effect.acquireRelease(Effect.sync(() => new NodeWS.WebSocketServer(options)), server => Effect.callback(resume => {
@@ -178,8 +192,11 @@ export const makeWebSocket = /*#__PURE__*/Effect.fnUntraced(function* (options)
178
192
  });
179
193
  });
180
194
  /**
181
- * @since 1.0.0
195
+ * Provides a WebSocket `SocketServer` backed by the `ws` package and managed
196
+ * with the supplied server options.
197
+ *
182
198
  * @category layers
199
+ * @since 4.0.0
183
200
  */
184
201
  export const layerWebSocket = /*#__PURE__*/Function.flow(makeWebSocket, /*#__PURE__*/Layer.effect(SocketServer.SocketServer));
185
202
  const reportUnhandledError = cause => Effect.withFiber(fiber => {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSocketServer.js","names":["Context","Deferred","Effect","Exit","Fiber","pipe","Function","Layer","References","Scope","Socket","SocketServer","Net","NodeSocket","NodeWS","IncomingMessage","Service","make","fnUntraced","options","errorDeferred","makeUnsafe","pending","Set","defaultOnConnection","conn","add","remove","delete","on","onConnection","server","addFinalizer","callback","resume","close","void","createServer","err","doneUnsafe","fail","listen","raceFirst","mapError","await","SocketServerError","reason","SocketServerOpenError","cause","run","handler","scope","services","omit","context","trackFiber","runIn","prevOnConnection","error","fromDuplex","acquireRelease","suspend","SocketError","SocketOpenError","kind","closed","SocketCloseError","code","succeed","sync","destroySoon","flatMap","catchCause","reportUnhandledError","runForkWith","NetSocket","forEach","removeAllListeners","clear","_resume","address","of","_tag","path","hostname","port","layer","flow","effect","makeWebSocket","WebSocketServer","pendingConnections","defaultHandler","req","entry","addEventListener","once","map","Map","mapUnsafe","set","key","WebSocket","fromWebSocket","ensuring","layerWebSocket","withFiber","fiber","unhandledLogLevel","getRef","UnhandledLogLevel","logWithLevel"],"sources":["../src/NodeSocketServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeSocketServer.js","names":["Context","Deferred","Effect","Exit","Fiber","pipe","Function","Layer","References","Scope","Socket","SocketServer","Net","NodeSocket","NodeWS","IncomingMessage","Service","make","fnUntraced","options","errorDeferred","makeUnsafe","pending","Set","defaultOnConnection","conn","add","remove","delete","on","onConnection","server","addFinalizer","callback","resume","close","void","createServer","err","doneUnsafe","fail","listen","raceFirst","mapError","await","SocketServerError","reason","SocketServerOpenError","cause","run","handler","scope","services","omit","context","trackFiber","runIn","prevOnConnection","error","fromDuplex","acquireRelease","suspend","SocketError","SocketOpenError","kind","closed","SocketCloseError","code","succeed","sync","destroySoon","flatMap","catchCause","reportUnhandledError","runForkWith","NetSocket","forEach","removeAllListeners","clear","_resume","address","of","_tag","path","hostname","port","layer","flow","effect","makeWebSocket","WebSocketServer","pendingConnections","defaultHandler","req","entry","addEventListener","once","map","Map","mapUnsafe","set","key","WebSocket","fromWebSocket","ensuring","layerWebSocket","withFiber","fiber","unhandledLogLevel","getRef","UnhandledLogLevel","logWithLevel"],"sources":["../src/NodeSocketServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,12 @@
1
1
  import * as Layer from "effect/Layer";
2
2
  import * as Stdio from "effect/Stdio";
3
3
  /**
4
- * @category Layers
5
- * @since 1.0.0
4
+ * Provides `Stdio` from `process.argv`, `process.stdin`, `process.stdout`,
5
+ * and `process.stderr`; stdin remains open and stdout/stderr are not ended by
6
+ * default.
7
+ *
8
+ * @category layers
9
+ * @since 4.0.0
6
10
  */
7
11
  export declare const layer: Layer.Layer<Stdio.Stdio>;
8
12
  //# sourceMappingURL=NodeStdio.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStdio.d.ts","sourceRoot":"","sources":["../src/NodeStdio.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAwC1C,CAAA"}
1
+ {"version":3,"file":"NodeStdio.d.ts","sourceRoot":"","sources":["../src/NodeStdio.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAwC1C,CAAA"}
package/dist/NodeStdio.js CHANGED
@@ -1,5 +1,21 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Shared Node.js implementation of the Effect `Stdio` service.
3
+ *
4
+ * This module builds the `Stdio` layer used by Node platform packages by
5
+ * wiring the service to the current process: command-line arguments come from
6
+ * `process.argv`, input is read from `process.stdin`, and output and error
7
+ * output are written to `process.stdout` and `process.stderr`. It is intended
8
+ * for CLIs, scripts, command runners, test harnesses, and other
9
+ * process-oriented programs that need standard I/O through Effect services.
10
+ *
11
+ * The process stdio streams are global resources owned by Node. This layer
12
+ * leaves stdin open and does not end stdout or stderr by default, avoiding
13
+ * accidental closure of handles other code in the process may still use. Those
14
+ * streams may be pipes, files, or TTYs; interactive terminal behavior such as
15
+ * raw mode, echo, colors, and cursor movement should be coordinated with the
16
+ * terminal APIs instead of assuming this layer has exclusive control.
17
+ *
18
+ * @since 4.0.0
3
19
  */
4
20
  import * as Effect from "effect/Effect";
5
21
  import * as Layer from "effect/Layer";
@@ -8,8 +24,12 @@ import * as Stdio from "effect/Stdio";
8
24
  import { fromWritable } from "./NodeSink.js";
9
25
  import { fromReadable } from "./NodeStream.js";
10
26
  /**
11
- * @category Layers
12
- * @since 1.0.0
27
+ * Provides `Stdio` from `process.argv`, `process.stdin`, `process.stdout`,
28
+ * and `process.stderr`; stdin remains open and stdout/stderr are not ended by
29
+ * default.
30
+ *
31
+ * @category layers
32
+ * @since 4.0.0
13
33
  */
14
34
  export const layer = /*#__PURE__*/Layer.succeed(Stdio.Stdio, /*#__PURE__*/Stdio.make({
15
35
  args: /*#__PURE__*/Effect.sync(() => process.argv.slice(2)),
@@ -1 +1 @@
1
- {"version":3,"file":"NodeStdio.js","names":["Effect","Layer","systemError","Stdio","fromWritable","fromReadable","layer","succeed","make","args","sync","process","argv","slice","stdout","options","evaluate","onError","cause","module","method","_tag","endOnDone","stderr","stdin","closeOnDone"],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAE9C;;;;AAIA,OAAO,MAAMC,KAAK,gBAA6BL,KAAK,CAACM,OAAO,CAC1DJ,KAAK,CAACA,KAAK,eACXA,KAAK,CAACK,IAAI,CAAC;EACTC,IAAI,eAAET,MAAM,CAACU,IAAI,CAAC,MAAMC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9CC,MAAM,EAAGC,OAAO,IACdX,YAAY,CAAC;IACXY,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACG,MAAM;IAC9BG,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJI,SAAS,EAAEP,OAAO,EAAEO,SAAS,IAAI;GAClC,CAAC;EACJC,MAAM,EAAGR,OAAO,IACdX,YAAY,CAAC;IACXY,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACY,MAAM;IAC9BN,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJI,SAAS,EAAEP,OAAO,EAAEO,SAAS,IAAI;GAClC,CAAC;EACJE,KAAK,eAAEnB,YAAY,CAAC;IAClBW,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACa,KAAK;IAC7BP,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJO,WAAW,EAAE;GACd;CACF,CAAC,CACH","ignoreList":[]}
1
+ {"version":3,"file":"NodeStdio.js","names":["Effect","Layer","systemError","Stdio","fromWritable","fromReadable","layer","succeed","make","args","sync","process","argv","slice","stdout","options","evaluate","onError","cause","module","method","_tag","endOnDone","stderr","stdin","closeOnDone"],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,YAAY,QAAQ,iBAAiB;AAE9C;;;;;;;;AAQA,OAAO,MAAMC,KAAK,gBAA6BL,KAAK,CAACM,OAAO,CAC1DJ,KAAK,CAACA,KAAK,eACXA,KAAK,CAACK,IAAI,CAAC;EACTC,IAAI,eAAET,MAAM,CAACU,IAAI,CAAC,MAAMC,OAAO,CAACC,IAAI,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC9CC,MAAM,EAAGC,OAAO,IACdX,YAAY,CAAC;IACXY,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACG,MAAM;IAC9BG,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJI,SAAS,EAAEP,OAAO,EAAEO,SAAS,IAAI;GAClC,CAAC;EACJC,MAAM,EAAGR,OAAO,IACdX,YAAY,CAAC;IACXY,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACY,MAAM;IAC9BN,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,QAAQ;MAChBC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJI,SAAS,EAAEP,OAAO,EAAEO,SAAS,IAAI;GAClC,CAAC;EACJE,KAAK,eAAEnB,YAAY,CAAC;IAClBW,QAAQ,EAAEA,CAAA,KAAML,OAAO,CAACa,KAAK;IAC7BP,OAAO,EAAGC,KAAK,IACbhB,WAAW,CAAC;MACViB,MAAM,EAAE,OAAO;MACfC,MAAM,EAAE,OAAO;MACfC,IAAI,EAAE,SAAS;MACfH;KACD,CAAC;IACJO,WAAW,EAAE;GACd;CACF,CAAC,CACH","ignoreList":[]}