@effect/platform-node 0.21.0 → 0.22.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.
Files changed (65) hide show
  1. package/CommandExecutor/dist/effect-platform-node-CommandExecutor.cjs.dev.js +7 -2
  2. package/CommandExecutor/dist/effect-platform-node-CommandExecutor.cjs.prod.js +7 -2
  3. package/CommandExecutor/dist/effect-platform-node-CommandExecutor.esm.js +7 -2
  4. package/Http/FormData/dist/effect-platform-node-Http-FormData.cjs.dev.js +8 -3
  5. package/Http/FormData/dist/effect-platform-node-Http-FormData.cjs.prod.js +8 -3
  6. package/Http/FormData/dist/effect-platform-node-Http-FormData.esm.js +8 -3
  7. package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.cjs.dev.js +10 -4
  8. package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.cjs.prod.js +10 -4
  9. package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.esm.js +10 -4
  10. package/Http/Server/dist/effect-platform-node-Http-Server.cjs.dev.js +12 -8
  11. package/Http/Server/dist/effect-platform-node-Http-Server.cjs.prod.js +12 -8
  12. package/Http/Server/dist/effect-platform-node-Http-Server.esm.js +12 -8
  13. package/HttpClient/dist/effect-platform-node-HttpClient.cjs.dev.js +10 -4
  14. package/HttpClient/dist/effect-platform-node-HttpClient.cjs.prod.js +10 -4
  15. package/HttpClient/dist/effect-platform-node-HttpClient.esm.js +10 -4
  16. package/HttpServer/dist/effect-platform-node-HttpServer.cjs.dev.js +11 -7
  17. package/HttpServer/dist/effect-platform-node-HttpServer.cjs.prod.js +11 -7
  18. package/HttpServer/dist/effect-platform-node-HttpServer.esm.js +11 -7
  19. package/NodeContext/dist/effect-platform-node-NodeContext.cjs.dev.js +7 -2
  20. package/NodeContext/dist/effect-platform-node-NodeContext.cjs.prod.js +7 -2
  21. package/NodeContext/dist/effect-platform-node-NodeContext.esm.js +7 -2
  22. package/Sink/dist/effect-platform-node-Sink.cjs.dev.js +10 -8
  23. package/Sink/dist/effect-platform-node-Sink.cjs.prod.js +10 -8
  24. package/Sink/dist/effect-platform-node-Sink.esm.js +10 -8
  25. package/Stream/dist/effect-platform-node-Stream.cjs.dev.js +33 -2
  26. package/Stream/dist/effect-platform-node-Stream.cjs.mjs +3 -0
  27. package/Stream/dist/effect-platform-node-Stream.cjs.prod.js +33 -2
  28. package/Stream/dist/effect-platform-node-Stream.esm.js +31 -3
  29. package/dist/{FormData-d91e8016.cjs.prod.js → FormData-33600671.cjs.prod.js} +1 -1
  30. package/dist/{FormData-5ea8a8b6.esm.js → FormData-aba95773.esm.js} +1 -1
  31. package/dist/{FormData-15af6672.cjs.dev.js → FormData-b905ea51.cjs.dev.js} +1 -1
  32. package/dist/{NodeClient-3432a6a8.cjs.prod.js → NodeClient-174ebaf2.cjs.prod.js} +1 -1
  33. package/dist/{NodeClient-ebd71893.cjs.dev.js → NodeClient-86d70074.cjs.dev.js} +1 -1
  34. package/dist/{NodeClient-cd56cae8.esm.js → NodeClient-f1038dc6.esm.js} +1 -1
  35. package/dist/{Server-5dbcee7b.cjs.prod.js → Server-015ebdb2.cjs.prod.js} +2 -2
  36. package/dist/{Server-c08c825c.esm.js → Server-07db176b.esm.js} +2 -2
  37. package/dist/{Server-5f055bfd.cjs.dev.js → Server-d00836e3.cjs.dev.js} +2 -2
  38. package/dist/declarations/src/Sink.d.ts +1 -9
  39. package/dist/declarations/src/Sink.d.ts.map +1 -1
  40. package/dist/declarations/src/Stream.d.ts +34 -2
  41. package/dist/declarations/src/Stream.d.ts.map +1 -1
  42. package/dist/sink-5526bd6c.cjs.prod.js +52 -0
  43. package/dist/sink-a2069d86.cjs.dev.js +52 -0
  44. package/dist/sink-f7795af1.esm.js +28 -0
  45. package/dist/stream-36ca9d0a.esm.js +176 -0
  46. package/dist/stream-c01737c4.cjs.prod.js +210 -0
  47. package/dist/stream-c0c7bc20.cjs.dev.js +210 -0
  48. package/package.json +5 -5
  49. package/src/Sink.ts +1 -9
  50. package/src/Stream.ts +52 -3
  51. package/src/internal/sink.ts +28 -48
  52. package/src/internal/stream.ts +230 -49
  53. package/src/tsconfig.json +48 -0
  54. package/dist/sink-bd7ef408.esm.js +0 -34
  55. package/dist/sink-da49e187.cjs.prod.js +0 -57
  56. package/dist/sink-daf9e0e5.cjs.dev.js +0 -57
  57. package/dist/stream-1456ece0.cjs.dev.js +0 -120
  58. package/dist/stream-860139d3.esm.js +0 -94
  59. package/dist/stream-ef8b6a66.cjs.prod.js +0 -120
  60. /package/dist/{formData-632b1146.cjs.dev.js → formData-00b767b9.cjs.dev.js} +0 -0
  61. /package/dist/{formData-dd75bbe1.esm.js → formData-3a02d09f.esm.js} +0 -0
  62. /package/dist/{formData-ecf6742b.cjs.prod.js → formData-59e5f494.cjs.prod.js} +0 -0
  63. /package/dist/{incomingMessage-86bcf94d.cjs.dev.js → incomingMessage-587c8285.cjs.dev.js} +0 -0
  64. /package/dist/{incomingMessage-11c9bea6.esm.js → incomingMessage-6970f455.esm.js} +0 -0
  65. /package/dist/{incomingMessage-f56be93e.cjs.prod.js → incomingMessage-890fef7a.cjs.prod.js} +0 -0
@@ -17,8 +17,13 @@ require('effect/Stream');
17
17
  require('node:child_process');
18
18
  require('../../dist/error-4f074a3a.cjs.prod.js');
19
19
  require('@effect/platform/Error');
20
- require('../../dist/sink-da49e187.cjs.prod.js');
21
- require('../../dist/stream-ef8b6a66.cjs.prod.js');
20
+ require('../../dist/sink-5526bd6c.cjs.prod.js');
21
+ require('effect/Channel');
22
+ require('../../dist/stream-c01737c4.cjs.prod.js');
23
+ require('effect/Chunk');
24
+ require('effect/Either');
25
+ require('effect/Exit');
26
+ require('effect/Queue');
22
27
  require('@effect/platform/Effectify');
23
28
  require('node:crypto');
24
29
  require('node:fs');
@@ -13,8 +13,13 @@ import 'effect/Stream';
13
13
  import 'node:child_process';
14
14
  import '../../dist/error-4865cb95.esm.js';
15
15
  import '@effect/platform/Error';
16
- import '../../dist/sink-bd7ef408.esm.js';
17
- import '../../dist/stream-860139d3.esm.js';
16
+ import '../../dist/sink-f7795af1.esm.js';
17
+ import 'effect/Channel';
18
+ import '../../dist/stream-36ca9d0a.esm.js';
19
+ import 'effect/Chunk';
20
+ import 'effect/Either';
21
+ import 'effect/Exit';
22
+ import 'effect/Queue';
18
23
  import '@effect/platform/Effectify';
19
24
  import 'node:crypto';
20
25
  import 'node:fs';
@@ -2,20 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var sink = require('../../dist/sink-daf9e0e5.cjs.dev.js');
5
+ var sink = require('../../dist/sink-a2069d86.cjs.dev.js');
6
+ require('effect/Channel');
6
7
  require('effect/Effect');
7
- require('effect/Function');
8
8
  require('effect/Sink');
9
+ require('../../dist/stream-c0c7bc20.cjs.dev.js');
10
+ require('effect/Chunk');
11
+ require('effect/Either');
12
+ require('effect/Exit');
13
+ require('effect/Function');
14
+ require('effect/Queue');
15
+ require('effect/Stream');
16
+ require('@effect/platform/Error');
9
17
 
10
18
  /**
11
19
  * @since 1.0.0
12
20
  */
13
-
14
- /**
15
- * @category model
16
- * @since 1.0.0
17
- */
18
-
19
21
  /**
20
22
  * @category constructor
21
23
  * @since 1.0.0
@@ -2,20 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var sink = require('../../dist/sink-da49e187.cjs.prod.js');
5
+ var sink = require('../../dist/sink-5526bd6c.cjs.prod.js');
6
+ require('effect/Channel');
6
7
  require('effect/Effect');
7
- require('effect/Function');
8
8
  require('effect/Sink');
9
+ require('../../dist/stream-c01737c4.cjs.prod.js');
10
+ require('effect/Chunk');
11
+ require('effect/Either');
12
+ require('effect/Exit');
13
+ require('effect/Function');
14
+ require('effect/Queue');
15
+ require('effect/Stream');
16
+ require('@effect/platform/Error');
9
17
 
10
18
  /**
11
19
  * @since 1.0.0
12
20
  */
13
-
14
- /**
15
- * @category model
16
- * @since 1.0.0
17
- */
18
-
19
21
  /**
20
22
  * @category constructor
21
23
  * @since 1.0.0
@@ -1,17 +1,19 @@
1
- import { f as fromWritable$1 } from '../../dist/sink-bd7ef408.esm.js';
1
+ import { f as fromWritable$1 } from '../../dist/sink-f7795af1.esm.js';
2
+ import 'effect/Channel';
2
3
  import 'effect/Effect';
3
- import 'effect/Function';
4
4
  import 'effect/Sink';
5
+ import '../../dist/stream-36ca9d0a.esm.js';
6
+ import 'effect/Chunk';
7
+ import 'effect/Either';
8
+ import 'effect/Exit';
9
+ import 'effect/Function';
10
+ import 'effect/Queue';
11
+ import 'effect/Stream';
12
+ import '@effect/platform/Error';
5
13
 
6
14
  /**
7
15
  * @since 1.0.0
8
16
  */
9
-
10
- /**
11
- * @category model
12
- * @since 1.0.0
13
- */
14
-
15
17
  /**
16
18
  * @category constructor
17
19
  * @since 1.0.0
@@ -2,11 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var stream = require('../../dist/stream-1456ece0.cjs.dev.js');
5
+ var stream = require('../../dist/stream-c0c7bc20.cjs.dev.js');
6
+ require('effect/Channel');
7
+ require('effect/Chunk');
6
8
  require('effect/Effect');
9
+ require('effect/Either');
10
+ require('effect/Exit');
7
11
  require('effect/Function');
8
- require('effect/Option');
12
+ require('effect/Queue');
9
13
  require('effect/Stream');
14
+ require('@effect/platform/Error');
10
15
 
11
16
  /**
12
17
  * @since 1.0.0
@@ -17,12 +22,35 @@ require('effect/Stream');
17
22
  * @since 1.0.0
18
23
  */
19
24
 
25
+ /**
26
+ * @category model
27
+ * @since 1.0.0
28
+ */
29
+
20
30
  /**
21
31
  * @category constructors
22
32
  * @since 1.0.0
23
33
  */
24
34
  const fromReadable = stream.fromReadable;
25
35
 
36
+ /**
37
+ * @category constructors
38
+ * @since 1.0.0
39
+ */
40
+ const fromDuplex = stream.fromDuplex;
41
+
42
+ /**
43
+ * @category combinators
44
+ * @since 1.0.0
45
+ */
46
+ const pipeThroughDuplex = stream.pipeThroughDuplex;
47
+
48
+ /**
49
+ * @category combinators
50
+ * @since 1.0.0
51
+ */
52
+ const pipeThroughSimple = stream.pipeThroughSimple;
53
+
26
54
  /**
27
55
  * @since 1.0.0
28
56
  * @category conversions
@@ -35,6 +63,9 @@ const toString = stream.toString;
35
63
  */
36
64
  const toUint8Array = stream.toUint8Array;
37
65
 
66
+ exports.fromDuplex = fromDuplex;
38
67
  exports.fromReadable = fromReadable;
68
+ exports.pipeThroughDuplex = pipeThroughDuplex;
69
+ exports.pipeThroughSimple = pipeThroughSimple;
39
70
  exports.toString = toString;
40
71
  exports.toUint8Array = toUint8Array;
@@ -1,5 +1,8 @@
1
1
  export {
2
+ fromDuplex,
2
3
  fromReadable,
4
+ pipeThroughDuplex,
5
+ pipeThroughSimple,
3
6
  toString,
4
7
  toUint8Array
5
8
  } from "./effect-platform-node-Stream.cjs.js";
@@ -2,11 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var stream = require('../../dist/stream-ef8b6a66.cjs.prod.js');
5
+ var stream = require('../../dist/stream-c01737c4.cjs.prod.js');
6
+ require('effect/Channel');
7
+ require('effect/Chunk');
6
8
  require('effect/Effect');
9
+ require('effect/Either');
10
+ require('effect/Exit');
7
11
  require('effect/Function');
8
- require('effect/Option');
12
+ require('effect/Queue');
9
13
  require('effect/Stream');
14
+ require('@effect/platform/Error');
10
15
 
11
16
  /**
12
17
  * @since 1.0.0
@@ -17,12 +22,35 @@ require('effect/Stream');
17
22
  * @since 1.0.0
18
23
  */
19
24
 
25
+ /**
26
+ * @category model
27
+ * @since 1.0.0
28
+ */
29
+
20
30
  /**
21
31
  * @category constructors
22
32
  * @since 1.0.0
23
33
  */
24
34
  const fromReadable = stream.fromReadable;
25
35
 
36
+ /**
37
+ * @category constructors
38
+ * @since 1.0.0
39
+ */
40
+ const fromDuplex = stream.fromDuplex;
41
+
42
+ /**
43
+ * @category combinators
44
+ * @since 1.0.0
45
+ */
46
+ const pipeThroughDuplex = stream.pipeThroughDuplex;
47
+
48
+ /**
49
+ * @category combinators
50
+ * @since 1.0.0
51
+ */
52
+ const pipeThroughSimple = stream.pipeThroughSimple;
53
+
26
54
  /**
27
55
  * @since 1.0.0
28
56
  * @category conversions
@@ -35,6 +63,9 @@ const toString = stream.toString;
35
63
  */
36
64
  const toUint8Array = stream.toUint8Array;
37
65
 
66
+ exports.fromDuplex = fromDuplex;
38
67
  exports.fromReadable = fromReadable;
68
+ exports.pipeThroughDuplex = pipeThroughDuplex;
69
+ exports.pipeThroughSimple = pipeThroughSimple;
39
70
  exports.toString = toString;
40
71
  exports.toUint8Array = toUint8Array;
@@ -1,8 +1,13 @@
1
- import { f as fromReadable$1, t as toString$1, a as toUint8Array$1 } from '../../dist/stream-860139d3.esm.js';
1
+ import { f as fromReadable$1, a as fromDuplex$1, p as pipeThroughDuplex$1, b as pipeThroughSimple$1, t as toString$1, c as toUint8Array$1 } from '../../dist/stream-36ca9d0a.esm.js';
2
+ import 'effect/Channel';
3
+ import 'effect/Chunk';
2
4
  import 'effect/Effect';
5
+ import 'effect/Either';
6
+ import 'effect/Exit';
3
7
  import 'effect/Function';
4
- import 'effect/Option';
8
+ import 'effect/Queue';
5
9
  import 'effect/Stream';
10
+ import '@effect/platform/Error';
6
11
 
7
12
  /**
8
13
  * @since 1.0.0
@@ -13,12 +18,35 @@ import 'effect/Stream';
13
18
  * @since 1.0.0
14
19
  */
15
20
 
21
+ /**
22
+ * @category model
23
+ * @since 1.0.0
24
+ */
25
+
16
26
  /**
17
27
  * @category constructors
18
28
  * @since 1.0.0
19
29
  */
20
30
  const fromReadable = fromReadable$1;
21
31
 
32
+ /**
33
+ * @category constructors
34
+ * @since 1.0.0
35
+ */
36
+ const fromDuplex = fromDuplex$1;
37
+
38
+ /**
39
+ * @category combinators
40
+ * @since 1.0.0
41
+ */
42
+ const pipeThroughDuplex = pipeThroughDuplex$1;
43
+
44
+ /**
45
+ * @category combinators
46
+ * @since 1.0.0
47
+ */
48
+ const pipeThroughSimple = pipeThroughSimple$1;
49
+
22
50
  /**
23
51
  * @since 1.0.0
24
52
  * @category conversions
@@ -31,4 +59,4 @@ const toString = toString$1;
31
59
  */
32
60
  const toUint8Array = toUint8Array$1;
33
61
 
34
- export { fromReadable, toString, toUint8Array };
62
+ export { fromDuplex, fromReadable, pipeThroughDuplex, pipeThroughSimple, toString, toUint8Array };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var formData$1 = require('./formData-ecf6742b.cjs.prod.js');
3
+ var formData$1 = require('./formData-59e5f494.cjs.prod.js');
4
4
  var FormData$1 = require('@effect/platform/Http/FormData');
5
5
 
6
6
  function _interopNamespace(e) {
@@ -1,4 +1,4 @@
1
- import { s as stream$1, f as formData$1 } from './formData-dd75bbe1.esm.js';
1
+ import { s as stream$1, f as formData$1 } from './formData-3a02d09f.esm.js';
2
2
  import * as FormData$1 from '@effect/platform/Http/FormData';
3
3
 
4
4
  function _mergeNamespaces(n, m) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var formData$1 = require('./formData-632b1146.cjs.dev.js');
3
+ var formData$1 = require('./formData-00b767b9.cjs.dev.js');
4
4
  var FormData$1 = require('@effect/platform/Http/FormData');
5
5
 
6
6
  function _interopNamespace(e) {
@@ -14,7 +14,7 @@ var Https = require('node:https');
14
14
  var node_stream = require('node:stream');
15
15
  var NodeStreamP = require('node:stream/promises');
16
16
  var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.prod.js');
17
- var incomingMessage = require('./incomingMessage-f56be93e.cjs.prod.js');
17
+ var incomingMessage = require('./incomingMessage-890fef7a.cjs.prod.js');
18
18
 
19
19
  function _interopNamespace(e) {
20
20
  if (e && e.__esModule) return e;
@@ -14,7 +14,7 @@ var Https = require('node:https');
14
14
  var node_stream = require('node:stream');
15
15
  var NodeStreamP = require('node:stream/promises');
16
16
  var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.dev.js');
17
- var incomingMessage = require('./incomingMessage-86bcf94d.cjs.dev.js');
17
+ var incomingMessage = require('./incomingMessage-587c8285.cjs.dev.js');
18
18
 
19
19
  function _interopNamespace(e) {
20
20
  if (e && e.__esModule) return e;
@@ -12,7 +12,7 @@ import * as Https from 'node:https';
12
12
  import { Readable } from 'node:stream';
13
13
  import { pipeline } from 'node:stream/promises';
14
14
  import { fromWritable } from '../Sink/dist/effect-platform-node-Sink.esm.js';
15
- import { I as IncomingMessageImpl } from './incomingMessage-11c9bea6.esm.js';
15
+ import { I as IncomingMessageImpl } from './incomingMessage-6970f455.esm.js';
16
16
 
17
17
  /** @internal */
18
18
  const HttpAgentTypeId$1 = /*#__PURE__*/Symbol.for("@effect/platform-node/Http/NodeClient/HttpAgent");
@@ -17,8 +17,8 @@ var Stream = require('effect/Stream');
17
17
  var node_stream = require('node:stream');
18
18
  var NodeStreamP = require('node:stream/promises');
19
19
  var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.prod.js');
20
- var formData = require('./formData-ecf6742b.cjs.prod.js');
21
- var incomingMessage = require('./incomingMessage-f56be93e.cjs.prod.js');
20
+ var formData = require('./formData-59e5f494.cjs.prod.js');
21
+ var incomingMessage = require('./incomingMessage-890fef7a.cjs.prod.js');
22
22
  var platform = require('./platform-80b90f07.cjs.prod.js');
23
23
 
24
24
  function _interopNamespace(e) {
@@ -15,8 +15,8 @@ import * as Stream from 'effect/Stream';
15
15
  import { Readable } from 'node:stream';
16
16
  import { pipeline } from 'node:stream/promises';
17
17
  import { fromWritable } from '../Sink/dist/effect-platform-node-Sink.esm.js';
18
- import { f as formData, s as stream } from './formData-dd75bbe1.esm.js';
19
- import { I as IncomingMessageImpl } from './incomingMessage-11c9bea6.esm.js';
18
+ import { f as formData, s as stream } from './formData-3a02d09f.esm.js';
19
+ import { I as IncomingMessageImpl } from './incomingMessage-6970f455.esm.js';
20
20
  import { l as layer$2 } from './platform-2c00c2c5.esm.js';
21
21
 
22
22
  function _mergeNamespaces(n, m) {
@@ -17,8 +17,8 @@ var Stream = require('effect/Stream');
17
17
  var node_stream = require('node:stream');
18
18
  var NodeStreamP = require('node:stream/promises');
19
19
  var Sink_dist_effectPlatformNodeSink = require('../Sink/dist/effect-platform-node-Sink.cjs.dev.js');
20
- var formData = require('./formData-632b1146.cjs.dev.js');
21
- var incomingMessage = require('./incomingMessage-86bcf94d.cjs.dev.js');
20
+ var formData = require('./formData-00b767b9.cjs.dev.js');
21
+ var incomingMessage = require('./incomingMessage-587c8285.cjs.dev.js');
22
22
  var platform = require('./platform-5b27475e.cjs.dev.js');
23
23
 
24
24
  function _interopNamespace(e) {
@@ -2,18 +2,10 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  /// <reference types="node" />
5
- /// <reference types="node" />
6
5
  import type { LazyArg } from "effect/Function";
7
6
  import type { Sink } from "effect/Sink";
8
7
  import type { Writable } from "stream";
9
- /**
10
- * @category model
11
- * @since 1.0.0
12
- */
13
- export interface FromWritableOptions {
14
- readonly endOnClose?: boolean;
15
- readonly encoding?: BufferEncoding;
16
- }
8
+ import type { FromWritableOptions } from "./Stream.js";
17
9
  /**
18
10
  * @category constructor
19
11
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"Sink.d.ts","sourceRoot":"../../../src","sources":["Sink.ts"],"names":[],"mappings":"AAAA;;GAEG;;;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,KAC1B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAyB,CAAA"}
1
+ {"version":3,"file":"Sink.d.ts","sourceRoot":"../../../src","sources":["Sink.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAgB;AAEnD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,KAC1B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAyB,CAAA"}
@@ -4,10 +4,13 @@
4
4
  * @since 1.0.0
5
5
  */
6
6
  import type { SizeInput } from "@effect/platform/FileSystem";
7
+ import type { Channel } from "effect/Channel";
8
+ import type { Chunk } from "effect/Chunk";
7
9
  import type { Effect } from "effect/Effect";
8
10
  import type { LazyArg } from "effect/Function";
9
11
  import type { Stream } from "effect/Stream";
10
- import type { Readable } from "stream";
12
+ import type { Duplex, Readable } from "stream";
13
+ import type { PlatformError } from "./Error.js";
11
14
  /**
12
15
  * @category models
13
16
  * @since 1.0.0
@@ -16,11 +19,40 @@ export interface FromReadableOptions {
16
19
  /** Defaults to undefined, which lets Node.js decide the chunk size */
17
20
  readonly chunkSize?: SizeInput;
18
21
  }
22
+ /**
23
+ * @category model
24
+ * @since 1.0.0
25
+ */
26
+ export interface FromWritableOptions {
27
+ readonly endOnDone?: boolean;
28
+ readonly encoding?: BufferEncoding;
29
+ }
30
+ /**
31
+ * @category constructors
32
+ * @since 1.0.0
33
+ */
34
+ export declare const fromReadable: <E, A = Uint8Array>(evaluate: LazyArg<Readable>, onError: (error: unknown) => E, { chunkSize }?: FromReadableOptions) => Stream<never, E, A>;
19
35
  /**
20
36
  * @category constructors
21
37
  * @since 1.0.0
22
38
  */
23
- export declare const fromReadable: <E, A>(evaluate: LazyArg<Readable>, onError: (error: unknown) => E, options?: FromReadableOptions) => Stream<never, E, A>;
39
+ export declare const fromDuplex: <IE, E, I = Uint8Array, O = Uint8Array>(evaluate: LazyArg<Duplex>, onError: (error: unknown) => E, options?: FromReadableOptions & FromWritableOptions) => Channel<never, IE, Chunk<I>, unknown, IE | E, Chunk<O>, void>;
40
+ /**
41
+ * @category combinators
42
+ * @since 1.0.0
43
+ */
44
+ export declare const pipeThroughDuplex: {
45
+ <E2, B = Uint8Array>(duplex: LazyArg<Duplex>, onError: (error: unknown) => E2, options?: FromReadableOptions & FromWritableOptions): <R, E, A>(self: Stream<R, E, A>) => Stream<R, E2 | E, B>;
46
+ <R, E, A, E2, B = Uint8Array>(self: Stream<R, E, A>, duplex: LazyArg<Duplex>, onError: (error: unknown) => E2, options?: FromReadableOptions & FromWritableOptions): Stream<R, E | E2, B>;
47
+ };
48
+ /**
49
+ * @category combinators
50
+ * @since 1.0.0
51
+ */
52
+ export declare const pipeThroughSimple: {
53
+ (duplex: LazyArg<Duplex>): <R, E>(self: Stream<R, E, string | Uint8Array>) => Stream<R, E | PlatformError, Uint8Array>;
54
+ <R, E>(self: Stream<R, E, string | Uint8Array>, duplex: LazyArg<Duplex>): Stream<R, PlatformError | E, Uint8Array>;
55
+ };
24
56
  /**
25
57
  * @since 1.0.0
26
58
  * @category conversions
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.d.ts","sourceRoot":"../../../src","sources":["Stream.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAC/B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,OAAO,CAAC,EAAE,mBAAmB,KAC1B,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAyB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EACvB,OAAO,EAAE;IACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KACE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAqB,CAAA;AAEjD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAC3B,OAAO,EAAE;IACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,KACE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAyB,CAAA"}
1
+ {"version":3,"file":"Stream.d.ts","sourceRoot":"../../../src","sources":["Stream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var Channel = require('effect/Channel');
4
+ var Effect = require('effect/Effect');
5
+ var Sink = require('effect/Sink');
6
+ var stream = require('./stream-c01737c4.cjs.prod.js');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var Channel__namespace = /*#__PURE__*/_interopNamespace(Channel);
27
+ var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
28
+ var Sink__namespace = /*#__PURE__*/_interopNamespace(Sink);
29
+
30
+ /** @internal */
31
+ const fromWritable = (evaluate, onError, options = {}) => Sink__namespace.suspend(() => Sink__namespace.fromChannel(writeChannel(evaluate(), onError, options)));
32
+ const writeChannel = (writable, onError, {
33
+ encoding,
34
+ endOnDone = true
35
+ } = {}) => {
36
+ const write = stream.writeEffect(writable, onError, encoding);
37
+ const close = endOnDone ? Effect__namespace.async(resume => {
38
+ if (writable.closed) {
39
+ resume(Effect__namespace.unit);
40
+ } else {
41
+ writable.end(() => resume(Effect__namespace.unit));
42
+ }
43
+ }) : Channel__namespace.unit;
44
+ const loop = Channel__namespace.readWithCause({
45
+ onInput: chunk => Channel__namespace.flatMap(Channel__namespace.fromEffect(write(chunk)), () => loop),
46
+ onFailure: cause => Channel__namespace.zipRight(close, Channel__namespace.failCause(cause)),
47
+ onDone: _done => close
48
+ });
49
+ return loop;
50
+ };
51
+
52
+ exports.fromWritable = fromWritable;
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var Channel = require('effect/Channel');
4
+ var Effect = require('effect/Effect');
5
+ var Sink = require('effect/Sink');
6
+ var stream = require('./stream-c0c7bc20.cjs.dev.js');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var Channel__namespace = /*#__PURE__*/_interopNamespace(Channel);
27
+ var Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
28
+ var Sink__namespace = /*#__PURE__*/_interopNamespace(Sink);
29
+
30
+ /** @internal */
31
+ const fromWritable = (evaluate, onError, options = {}) => Sink__namespace.suspend(() => Sink__namespace.fromChannel(writeChannel(evaluate(), onError, options)));
32
+ const writeChannel = (writable, onError, {
33
+ encoding,
34
+ endOnDone = true
35
+ } = {}) => {
36
+ const write = stream.writeEffect(writable, onError, encoding);
37
+ const close = endOnDone ? Effect__namespace.async(resume => {
38
+ if (writable.closed) {
39
+ resume(Effect__namespace.unit);
40
+ } else {
41
+ writable.end(() => resume(Effect__namespace.unit));
42
+ }
43
+ }) : Channel__namespace.unit;
44
+ const loop = Channel__namespace.readWithCause({
45
+ onInput: chunk => Channel__namespace.flatMap(Channel__namespace.fromEffect(write(chunk)), () => loop),
46
+ onFailure: cause => Channel__namespace.zipRight(close, Channel__namespace.failCause(cause)),
47
+ onDone: _done => close
48
+ });
49
+ return loop;
50
+ };
51
+
52
+ exports.fromWritable = fromWritable;
@@ -0,0 +1,28 @@
1
+ import * as Channel from 'effect/Channel';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Sink from 'effect/Sink';
4
+ import { w as writeEffect } from './stream-36ca9d0a.esm.js';
5
+
6
+ /** @internal */
7
+ const fromWritable = (evaluate, onError, options = {}) => Sink.suspend(() => Sink.fromChannel(writeChannel(evaluate(), onError, options)));
8
+ const writeChannel = (writable, onError, {
9
+ encoding,
10
+ endOnDone = true
11
+ } = {}) => {
12
+ const write = writeEffect(writable, onError, encoding);
13
+ const close = endOnDone ? Effect.async(resume => {
14
+ if (writable.closed) {
15
+ resume(Effect.unit);
16
+ } else {
17
+ writable.end(() => resume(Effect.unit));
18
+ }
19
+ }) : Channel.unit;
20
+ const loop = Channel.readWithCause({
21
+ onInput: chunk => Channel.flatMap(Channel.fromEffect(write(chunk)), () => loop),
22
+ onFailure: cause => Channel.zipRight(close, Channel.failCause(cause)),
23
+ onDone: _done => close
24
+ });
25
+ return loop;
26
+ };
27
+
28
+ export { fromWritable as f };