@effect/platform-node 0.22.0 → 0.23.0

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 (68) hide show
  1. package/CommandExecutor/dist/effect-platform-node-CommandExecutor.cjs.dev.js +8 -2
  2. package/CommandExecutor/dist/effect-platform-node-CommandExecutor.cjs.prod.js +8 -2
  3. package/CommandExecutor/dist/effect-platform-node-CommandExecutor.esm.js +8 -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 +11 -4
  8. package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.cjs.prod.js +11 -4
  9. package/Http/NodeClient/dist/effect-platform-node-Http-NodeClient.esm.js +11 -4
  10. package/Http/Server/dist/effect-platform-node-Http-Server.cjs.dev.js +13 -8
  11. package/Http/Server/dist/effect-platform-node-Http-Server.cjs.prod.js +13 -8
  12. package/Http/Server/dist/effect-platform-node-Http-Server.esm.js +13 -8
  13. package/HttpClient/dist/effect-platform-node-HttpClient.cjs.dev.js +11 -4
  14. package/HttpClient/dist/effect-platform-node-HttpClient.cjs.prod.js +11 -4
  15. package/HttpClient/dist/effect-platform-node-HttpClient.esm.js +11 -4
  16. package/HttpServer/dist/effect-platform-node-HttpServer.cjs.dev.js +12 -7
  17. package/HttpServer/dist/effect-platform-node-HttpServer.cjs.prod.js +12 -7
  18. package/HttpServer/dist/effect-platform-node-HttpServer.esm.js +12 -7
  19. package/NodeContext/dist/effect-platform-node-NodeContext.cjs.dev.js +8 -2
  20. package/NodeContext/dist/effect-platform-node-NodeContext.cjs.prod.js +8 -2
  21. package/NodeContext/dist/effect-platform-node-NodeContext.esm.js +8 -2
  22. package/Sink/dist/effect-platform-node-Sink.cjs.dev.js +11 -8
  23. package/Sink/dist/effect-platform-node-Sink.cjs.prod.js +11 -8
  24. package/Sink/dist/effect-platform-node-Sink.esm.js +11 -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-15af6672.cjs.dev.js → FormData-1b197f9f.cjs.dev.js} +1 -1
  30. package/dist/{FormData-5ea8a8b6.esm.js → FormData-9c8077af.esm.js} +1 -1
  31. package/dist/{FormData-d91e8016.cjs.prod.js → FormData-b4b59ecb.cjs.prod.js} +1 -1
  32. package/dist/{NodeClient-cd56cae8.esm.js → NodeClient-1b5f7152.esm.js} +2 -2
  33. package/dist/{NodeClient-ebd71893.cjs.dev.js → NodeClient-433f41ed.cjs.dev.js} +2 -2
  34. package/dist/{NodeClient-3432a6a8.cjs.prod.js → NodeClient-8d8ff956.cjs.prod.js} +2 -2
  35. package/dist/{Server-5dbcee7b.cjs.prod.js → Server-2dd836bc.cjs.prod.js} +3 -3
  36. package/dist/{Server-5f055bfd.cjs.dev.js → Server-66eb964d.cjs.dev.js} +3 -3
  37. package/dist/{Server-c08c825c.esm.js → Server-913d7080.esm.js} +3 -3
  38. package/dist/declarations/src/Sink.d.ts +2 -9
  39. package/dist/declarations/src/Sink.d.ts.map +1 -1
  40. package/dist/declarations/src/Stream.d.ts +42 -11
  41. package/dist/declarations/src/Stream.d.ts.map +1 -1
  42. package/dist/{formData-ecf6742b.cjs.prod.js → formData-2d4168a3.cjs.prod.js} +1 -2
  43. package/dist/{formData-632b1146.cjs.dev.js → formData-5d873a90.cjs.dev.js} +1 -2
  44. package/dist/{formData-dd75bbe1.esm.js → formData-b50a3c9f.esm.js} +1 -2
  45. package/dist/{incomingMessage-f56be93e.cjs.prod.js → incomingMessage-4526b216.cjs.prod.js} +2 -4
  46. package/dist/{incomingMessage-11c9bea6.esm.js → incomingMessage-a56317f6.esm.js} +2 -4
  47. package/dist/{incomingMessage-86bcf94d.cjs.dev.js → incomingMessage-ac1817d4.cjs.dev.js} +2 -4
  48. package/dist/sink-3a150604.cjs.dev.js +48 -0
  49. package/dist/sink-570c8582.cjs.prod.js +48 -0
  50. package/dist/sink-5dfcc09e.esm.js +23 -0
  51. package/dist/stream-1667e8bf.cjs.prod.js +209 -0
  52. package/dist/stream-8bbecb96.cjs.dev.js +209 -0
  53. package/dist/stream-faaffb40.esm.js +175 -0
  54. package/package.json +5 -3
  55. package/src/Sink.ts +3 -11
  56. package/src/Stream.ts +59 -13
  57. package/src/internal/http/formData.ts +1 -2
  58. package/src/internal/http/incomingMessage.ts +2 -4
  59. package/src/internal/http/nodeClient.ts +1 -1
  60. package/src/internal/http/server.ts +3 -1
  61. package/src/internal/sink.ts +42 -47
  62. package/src/internal/stream.ts +242 -61
  63. package/dist/sink-bd7ef408.esm.js +0 -34
  64. package/dist/sink-da49e187.cjs.prod.js +0 -57
  65. package/dist/sink-daf9e0e5.cjs.dev.js +0 -57
  66. package/dist/stream-1456ece0.cjs.dev.js +0 -120
  67. package/dist/stream-860139d3.esm.js +0 -94
  68. package/dist/stream-ef8b6a66.cjs.prod.js +0 -120
@@ -1,94 +0,0 @@
1
- import * as Effect from 'effect/Effect';
2
- import { pipe } from 'effect/Function';
3
- import * as Option from 'effect/Option';
4
- import * as Stream from 'effect/Stream';
5
-
6
- /** @internal */
7
- const fromReadable = (evaluate, onError, {
8
- chunkSize
9
- } = {}) => pipe(Effect.acquireRelease(Effect.sync(evaluate), stream => Effect.sync(() => {
10
- stream.removeAllListeners();
11
- if (!stream.closed) {
12
- stream.destroy();
13
- }
14
- })), Effect.map(stream => Stream.async(emit => {
15
- stream.once("error", err => {
16
- emit.fail(onError(err));
17
- });
18
-
19
- // The 'close' event is emitted after a process has ended and the stdio
20
- // streams of a child process have been closed. This is distinct from
21
- // the 'exit' event, since multiple processes might share the same
22
- // stdio streams. The 'close' event will always emit after 'exit' was
23
- // already emitted, or 'error' if the child failed to spawn.
24
- stream.once("close", () => {
25
- emit.end();
26
- });
27
- stream.on("readable", () => {
28
- emit.single(stream);
29
- });
30
- if (stream.readable) {
31
- emit.single(stream);
32
- }
33
- }, 1)), Stream.unwrapScoped, Stream.flatMap(_ => Stream.repeatEffectOption(readChunk(_, chunkSize))));
34
- const readChunk = (stream, size) => pipe(Effect.sync(() => size ? stream.read(Number(size)) : stream.read()), Effect.flatMap(_ => _ ? Effect.succeed(_) : Effect.fail(Option.none())));
35
-
36
- /** @internal */
37
- const toString = options => {
38
- const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
39
- return Effect.acquireUseRelease(Effect.sync(() => {
40
- const stream = options.readable();
41
- stream.setEncoding(options.encoding ?? "utf8");
42
- return stream;
43
- }), stream => Effect.async(resume => {
44
- let string = "";
45
- let bytes = 0;
46
- stream.once("error", err => {
47
- resume(Effect.fail(options.onFailure(err)));
48
- });
49
- stream.once("end", () => {
50
- resume(Effect.succeed(string));
51
- });
52
- stream.on("data", chunk => {
53
- string += chunk;
54
- bytes += Buffer.byteLength(chunk);
55
- if (maxBytesNumber && bytes > maxBytesNumber) {
56
- resume(Effect.fail(options.onFailure(new Error("maxBytes exceeded"))));
57
- }
58
- });
59
- }), stream => Effect.sync(() => {
60
- stream.removeAllListeners();
61
- if (!stream.closed) {
62
- stream.destroy();
63
- }
64
- }));
65
- };
66
-
67
- /** @internal */
68
- const toUint8Array = options => {
69
- const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
70
- return Effect.acquireUseRelease(Effect.sync(options.readable), stream => Effect.async(resume => {
71
- let buffer = Buffer.alloc(0);
72
- let bytes = 0;
73
- stream.once("error", err => {
74
- resume(Effect.fail(options.onFailure(err)));
75
- });
76
- stream.once("end", () => {
77
- resume(Effect.succeed(buffer));
78
- });
79
- stream.on("data", chunk => {
80
- buffer = Buffer.concat([buffer, chunk]);
81
- bytes += chunk.length;
82
- if (maxBytesNumber && bytes > maxBytesNumber) {
83
- resume(Effect.fail(options.onFailure(new Error("maxBytes exceeded"))));
84
- }
85
- });
86
- }), stream => Effect.sync(() => {
87
- stream.removeAllListeners();
88
- if (!stream.closed) {
89
- stream.destroy();
90
- }
91
- }));
92
- };
93
-
94
- export { toUint8Array as a, fromReadable as f, toString as t };
@@ -1,120 +0,0 @@
1
- 'use strict';
2
-
3
- var Effect = require('effect/Effect');
4
- var Function = require('effect/Function');
5
- var Option = require('effect/Option');
6
- var Stream = require('effect/Stream');
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 Effect__namespace = /*#__PURE__*/_interopNamespace(Effect);
27
- var Option__namespace = /*#__PURE__*/_interopNamespace(Option);
28
- var Stream__namespace = /*#__PURE__*/_interopNamespace(Stream);
29
-
30
- /** @internal */
31
- const fromReadable = (evaluate, onError, {
32
- chunkSize
33
- } = {}) => Function.pipe(Effect__namespace.acquireRelease(Effect__namespace.sync(evaluate), stream => Effect__namespace.sync(() => {
34
- stream.removeAllListeners();
35
- if (!stream.closed) {
36
- stream.destroy();
37
- }
38
- })), Effect__namespace.map(stream => Stream__namespace.async(emit => {
39
- stream.once("error", err => {
40
- emit.fail(onError(err));
41
- });
42
-
43
- // The 'close' event is emitted after a process has ended and the stdio
44
- // streams of a child process have been closed. This is distinct from
45
- // the 'exit' event, since multiple processes might share the same
46
- // stdio streams. The 'close' event will always emit after 'exit' was
47
- // already emitted, or 'error' if the child failed to spawn.
48
- stream.once("close", () => {
49
- emit.end();
50
- });
51
- stream.on("readable", () => {
52
- emit.single(stream);
53
- });
54
- if (stream.readable) {
55
- emit.single(stream);
56
- }
57
- }, 1)), Stream__namespace.unwrapScoped, Stream__namespace.flatMap(_ => Stream__namespace.repeatEffectOption(readChunk(_, chunkSize))));
58
- const readChunk = (stream, size) => Function.pipe(Effect__namespace.sync(() => size ? stream.read(Number(size)) : stream.read()), Effect__namespace.flatMap(_ => _ ? Effect__namespace.succeed(_) : Effect__namespace.fail(Option__namespace.none())));
59
-
60
- /** @internal */
61
- const toString = options => {
62
- const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
63
- return Effect__namespace.acquireUseRelease(Effect__namespace.sync(() => {
64
- const stream = options.readable();
65
- stream.setEncoding(options.encoding ?? "utf8");
66
- return stream;
67
- }), stream => Effect__namespace.async(resume => {
68
- let string = "";
69
- let bytes = 0;
70
- stream.once("error", err => {
71
- resume(Effect__namespace.fail(options.onFailure(err)));
72
- });
73
- stream.once("end", () => {
74
- resume(Effect__namespace.succeed(string));
75
- });
76
- stream.on("data", chunk => {
77
- string += chunk;
78
- bytes += Buffer.byteLength(chunk);
79
- if (maxBytesNumber && bytes > maxBytesNumber) {
80
- resume(Effect__namespace.fail(options.onFailure(new Error("maxBytes exceeded"))));
81
- }
82
- });
83
- }), stream => Effect__namespace.sync(() => {
84
- stream.removeAllListeners();
85
- if (!stream.closed) {
86
- stream.destroy();
87
- }
88
- }));
89
- };
90
-
91
- /** @internal */
92
- const toUint8Array = options => {
93
- const maxBytesNumber = options.maxBytes ? Number(options.maxBytes) : undefined;
94
- return Effect__namespace.acquireUseRelease(Effect__namespace.sync(options.readable), stream => Effect__namespace.async(resume => {
95
- let buffer = Buffer.alloc(0);
96
- let bytes = 0;
97
- stream.once("error", err => {
98
- resume(Effect__namespace.fail(options.onFailure(err)));
99
- });
100
- stream.once("end", () => {
101
- resume(Effect__namespace.succeed(buffer));
102
- });
103
- stream.on("data", chunk => {
104
- buffer = Buffer.concat([buffer, chunk]);
105
- bytes += chunk.length;
106
- if (maxBytesNumber && bytes > maxBytesNumber) {
107
- resume(Effect__namespace.fail(options.onFailure(new Error("maxBytes exceeded"))));
108
- }
109
- });
110
- }), stream => Effect__namespace.sync(() => {
111
- stream.removeAllListeners();
112
- if (!stream.closed) {
113
- stream.destroy();
114
- }
115
- }));
116
- };
117
-
118
- exports.fromReadable = fromReadable;
119
- exports.toString = toString;
120
- exports.toUint8Array = toUint8Array;