@effect/platform-node 0.53.19 → 0.53.21

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 (57) hide show
  1. package/dist/cjs/NodeCommandExecutor.js +3 -26
  2. package/dist/cjs/NodeCommandExecutor.js.map +1 -1
  3. package/dist/cjs/NodeContext.js +9 -32
  4. package/dist/cjs/NodeContext.js.map +1 -1
  5. package/dist/cjs/NodeEtag.js +1 -1
  6. package/dist/cjs/NodeEtag.js.map +1 -1
  7. package/dist/cjs/NodeFileSystem/ParcelWatcher.js +3 -26
  8. package/dist/cjs/NodeFileSystem/ParcelWatcher.js.map +1 -1
  9. package/dist/cjs/NodeFileSystem.js +3 -26
  10. package/dist/cjs/NodeFileSystem.js.map +1 -1
  11. package/dist/cjs/NodeHttpClient.js +4 -27
  12. package/dist/cjs/NodeHttpClient.js.map +1 -1
  13. package/dist/cjs/NodeHttpPlatform.js +3 -26
  14. package/dist/cjs/NodeHttpPlatform.js.map +1 -1
  15. package/dist/cjs/NodeHttpServer.js +3 -26
  16. package/dist/cjs/NodeHttpServer.js.map +1 -1
  17. package/dist/cjs/NodeHttpServerRequest.js +3 -26
  18. package/dist/cjs/NodeHttpServerRequest.js.map +1 -1
  19. package/dist/cjs/NodeKeyValueStore.js +3 -26
  20. package/dist/cjs/NodeKeyValueStore.js.map +1 -1
  21. package/dist/cjs/NodeMultipart.js +1 -1
  22. package/dist/cjs/NodeMultipart.js.map +1 -1
  23. package/dist/cjs/NodePath.js +3 -26
  24. package/dist/cjs/NodePath.js.map +1 -1
  25. package/dist/cjs/NodeRuntime.js +3 -26
  26. package/dist/cjs/NodeRuntime.js.map +1 -1
  27. package/dist/cjs/NodeSink.js +1 -1
  28. package/dist/cjs/NodeSink.js.map +1 -1
  29. package/dist/cjs/NodeSocket.js +6 -29
  30. package/dist/cjs/NodeSocket.js.map +1 -1
  31. package/dist/cjs/NodeStream.js +1 -1
  32. package/dist/cjs/NodeStream.js.map +1 -1
  33. package/dist/cjs/NodeTerminal.js +3 -26
  34. package/dist/cjs/NodeTerminal.js.map +1 -1
  35. package/dist/cjs/NodeWorker.js +3 -26
  36. package/dist/cjs/NodeWorker.js.map +1 -1
  37. package/dist/cjs/NodeWorkerRunner.js +3 -26
  38. package/dist/cjs/NodeWorkerRunner.js.map +1 -1
  39. package/dist/cjs/index.js +20 -43
  40. package/dist/cjs/internal/httpClient.js +18 -41
  41. package/dist/cjs/internal/httpClient.js.map +1 -1
  42. package/dist/cjs/internal/httpClientUndici.js +19 -42
  43. package/dist/cjs/internal/httpClientUndici.js.map +1 -1
  44. package/dist/cjs/internal/httpIncomingMessage.js +10 -33
  45. package/dist/cjs/internal/httpIncomingMessage.js.map +1 -1
  46. package/dist/cjs/internal/httpPlatform.js +13 -40
  47. package/dist/cjs/internal/httpPlatform.js.map +1 -1
  48. package/dist/cjs/internal/httpServer.js +43 -87
  49. package/dist/cjs/internal/httpServer.js.map +1 -1
  50. package/dist/cjs/internal/worker.js +8 -31
  51. package/dist/cjs/internal/worker.js.map +1 -1
  52. package/dist/cjs/internal/workerRunner.js +10 -33
  53. package/dist/cjs/internal/workerRunner.js.map +1 -1
  54. package/dist/esm/internal/httpServer.js +16 -37
  55. package/dist/esm/internal/httpServer.js.map +1 -1
  56. package/package.json +4 -4
  57. package/src/internal/httpServer.ts +30 -45
@@ -4,39 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.layer = void 0;
7
- var _WorkerError = /*#__PURE__*/require("@effect/platform/WorkerError");
8
- var Runner = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/WorkerRunner"));
9
- var Cause = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Cause"));
10
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
11
- var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
12
- var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Queue"));
13
- var Schedule = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Schedule"));
14
- var WorkerThreads = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("node:worker_threads"));
15
- function _getRequireWildcardCache(e) {
16
- if ("function" != typeof WeakMap) return null;
17
- var r = new WeakMap(),
18
- t = new WeakMap();
19
- return (_getRequireWildcardCache = function (e) {
20
- return e ? t : r;
21
- })(e);
22
- }
23
- function _interopRequireWildcard(e, r) {
24
- if (!r && e && e.__esModule) return e;
25
- if (null === e || "object" != typeof e && "function" != typeof e) return {
26
- default: e
27
- };
28
- var t = _getRequireWildcardCache(r);
29
- if (t && t.has(e)) return t.get(e);
30
- var n = {
31
- __proto__: null
32
- },
33
- a = Object.defineProperty && Object.getOwnPropertyDescriptor;
34
- for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
35
- var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
36
- i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
37
- }
38
- return n.default = e, t && t.set(e, n), n;
39
- }
7
+ var _WorkerError = require("@effect/platform/WorkerError");
8
+ var Runner = _interopRequireWildcard(require("@effect/platform/WorkerRunner"));
9
+ var Cause = _interopRequireWildcard(require("effect/Cause"));
10
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
11
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
12
+ var Queue = _interopRequireWildcard(require("effect/Queue"));
13
+ var Schedule = _interopRequireWildcard(require("effect/Schedule"));
14
+ var WorkerThreads = _interopRequireWildcard(require("node:worker_threads"));
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
40
17
  const platformRunnerImpl = /*#__PURE__*/Runner.PlatformRunner.of({
41
18
  [Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
42
19
  start(shutdown) {
@@ -1 +1 @@
1
- {"version":3,"file":"workerRunner.js","names":["_WorkerError","require","Runner","_interopRequireWildcard","Cause","Effect","Layer","Queue","Schedule","WorkerThreads","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","platformRunnerImpl","PlatformRunner","of","PlatformRunnerTypeId","start","shutdown","gen","_","parentPort","WorkerError","reason","error","Error","port","queue","unbounded","async","resume","on","message","unsafeOffer","runFork","tapErrorCause","cause","isInterruptedOnly","void","logDebug","retry","forever","annotateLogs","package","module","interruptible","forkScoped","send","_portId","transfers","sync","postMessage","layer","exports","succeed"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"workerRunner.js","names":["_WorkerError","require","Runner","_interopRequireWildcard","Cause","Effect","Layer","Queue","Schedule","WorkerThreads","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","platformRunnerImpl","PlatformRunner","of","PlatformRunnerTypeId","start","shutdown","gen","_","parentPort","WorkerError","reason","error","Error","port","queue","unbounded","async","resume","on","message","unsafeOffer","runFork","tapErrorCause","cause","isInterruptedOnly","void","logDebug","retry","forever","annotateLogs","package","module","interruptible","forkScoped","send","_portId","transfers","sync","postMessage","layer","exports","succeed"],"sources":["../../../src/internal/workerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,6 @@ import * as Server from "@effect/platform/HttpServer";
8
8
  import * as Error from "@effect/platform/HttpServerError";
9
9
  import * as ServerRequest from "@effect/platform/HttpServerRequest";
10
10
  import * as Socket from "@effect/platform/Socket";
11
- import * as Cause from "effect/Cause";
12
11
  import * as Config from "effect/Config";
13
12
  import * as Effect from "effect/Effect";
14
13
  import * as FiberSet from "effect/FiberSet";
@@ -80,20 +79,11 @@ export const make = (evaluate, options) => Effect.gen(function* (_) {
80
79
  }).pipe(Effect.locally(IncomingMessage.maxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
81
80
  /** @internal */
82
81
  export const makeHandler = (httpApp, middleware) => {
83
- const handledApp = App.toHandled(httpApp, (request, exit) => {
84
- if (exit._tag === "Success") {
85
- return Effect.catchAllCause(handleResponse(request, exit.value), cause => handleCause(request, cause));
86
- }
87
- return handleCause(request, exit.cause);
88
- }, middleware);
82
+ const handledApp = App.toHandled(httpApp, handleResponse, middleware);
89
83
  return Effect.map(FiberSet.makeRuntime(), runFork => function handler(nodeRequest, nodeResponse) {
90
84
  const fiber = runFork(Effect.provideService(handledApp, ServerRequest.HttpServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
91
85
  nodeResponse.on("close", () => {
92
86
  if (!nodeResponse.writableEnded) {
93
- if (!nodeResponse.headersSent) {
94
- nodeResponse.writeHead(499);
95
- }
96
- nodeResponse.end();
97
87
  fiber.unsafeInterruptAsFork(Error.clientAbortFiberId);
98
88
  }
99
89
  });
@@ -101,12 +91,7 @@ export const makeHandler = (httpApp, middleware) => {
101
91
  };
102
92
  /** @internal */
103
93
  export const makeUpgradeHandler = (lazyWss, httpApp, middleware) => {
104
- const handledApp = App.toHandled(httpApp, (request, exit) => {
105
- if (exit._tag === "Success") {
106
- return Effect.catchAllCause(handleResponse(request, exit.value), cause => handleCause(request, cause));
107
- }
108
- return handleCause(request, exit.cause);
109
- }, middleware);
94
+ const handledApp = App.toHandled(httpApp, handleResponse, middleware);
110
95
  return Effect.map(FiberSet.makeRuntime(), runFork => function handler(nodeRequest, socket, head) {
111
96
  let nodeResponse_ = undefined;
112
97
  const nodeResponse = () => {
@@ -121,26 +106,12 @@ export const makeUpgradeHandler = (lazyWss, httpApp, middleware) => {
121
106
  })), ws => Effect.sync(() => ws.close()))));
122
107
  const fiber = runFork(Effect.provideService(handledApp, ServerRequest.HttpServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect)));
123
108
  socket.on("close", () => {
124
- const res = nodeResponse();
125
109
  if (!socket.writableEnded) {
126
- if (!res.headersSent) {
127
- res.writeHead(499);
128
- }
129
- res.end();
130
110
  fiber.unsafeInterruptAsFork(Error.clientAbortFiberId);
131
111
  }
132
112
  });
133
113
  });
134
114
  };
135
- const handleCause = (request, cause) => Effect.sync(() => {
136
- const nodeResponse = request.resolvedResponse;
137
- if (!nodeResponse.headersSent) {
138
- nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 503 : 500);
139
- }
140
- if (!nodeResponse.writableEnded) {
141
- nodeResponse.end();
142
- }
143
- });
144
115
  class ServerRequestImpl extends HttpIncomingMessageImpl {
145
116
  source;
146
117
  response;
@@ -246,9 +217,8 @@ const handleResponse = (request, response) => Effect.suspend(() => {
246
217
  case "Empty":
247
218
  {
248
219
  nodeResponse.writeHead(response.status, headers);
249
- return Effect.async(resume => {
250
- nodeResponse.end(() => resume(Effect.void));
251
- });
220
+ nodeResponse.end();
221
+ return Effect.void;
252
222
  }
253
223
  case "Raw":
254
224
  {
@@ -265,7 +235,7 @@ const handleResponse = (request, response) => Effect.suspend(() => {
265
235
  reason: "Decode",
266
236
  error
267
237
  })
268
- });
238
+ }).pipe(Effect.interruptible, Effect.tapErrorCause(handleCause(nodeResponse)));
269
239
  }
270
240
  return Effect.async(resume => {
271
241
  nodeResponse.end(body.body, () => resume(Effect.void));
@@ -299,7 +269,7 @@ const handleResponse = (request, response) => Effect.suspend(() => {
299
269
  }).once("finish", () => {
300
270
  resume(Effect.void);
301
271
  });
302
- }).pipe(Effect.interruptible);
272
+ }).pipe(Effect.interruptible, Effect.tapErrorCause(handleCause(nodeResponse)));
303
273
  });
304
274
  }
305
275
  case "Stream":
@@ -315,10 +285,19 @@ const handleResponse = (request, response) => Effect.suspend(() => {
315
285
  response,
316
286
  reason: "Decode",
317
287
  error
318
- }))).pipe(Effect.interruptible);
288
+ }))).pipe(Effect.interruptible, Effect.tapErrorCause(handleCause(nodeResponse)));
319
289
  }
320
290
  }
321
291
  });
292
+ const handleCause = nodeResponse => cause => Error.causeResponse(cause).pipe(Effect.flatMap(([response, cause]) => {
293
+ if (!nodeResponse.headersSent) {
294
+ nodeResponse.writeHead(response.status);
295
+ }
296
+ if (!nodeResponse.writableEnded) {
297
+ nodeResponse.end();
298
+ }
299
+ return Effect.failCause(cause);
300
+ }));
322
301
  /** @internal */
323
302
  export const requestSource = self => self.source;
324
303
  //# sourceMappingURL=httpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpServer.js","names":["Etag","MultipartNode","Cookies","FileSystem","App","IncomingMessage","Server","Error","ServerRequest","Socket","Cause","Config","Effect","FiberSet","Layer","Option","Scope","Stream","Http","Readable","pipeline","WS","NodeContext","NodeSink","HttpIncomingMessageImpl","internalPlatform","make","evaluate","options","gen","_","scope","server","acquireRelease","sync","async","resume","listening","void","close","error","die","onError","fail","ServeError","on","listen","off","address","wss","WebSocketServer","noServer","extend","cached","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","upgradeHandler","makeUpgradeHandler","addFinalizer","pipe","locally","maxBodySize","some","Size","handledApp","toHandled","request","exit","catchAllCause","handleResponse","value","cause","handleCause","map","makeRuntime","runFork","nodeRequest","nodeResponse","fiber","provideService","HttpServerRequest","ServerRequestImpl","writableEnded","headersSent","writeHead","end","unsafeInterruptAsFork","clientAbortFiberId","lazyWss","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","succeed","res","resolvedResponse","isInterruptedOnly","source","response","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","cachedCookies","cookies","parseHeader","headers","cookie","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","toString","toJSON","inspect","_id","layerServer","scoped","HttpServer","layer","mergeAll","layerWeak","layerConfig","unwrap","suspend","isEmpty","toSet","toSetCookieHeaders","push","status","body","tryPromise","try","signal","catch","ResponseError","r","Response","formData","Object","fromEntries","fromWeb","once","interruptible","run","mapError","fromWritable","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"httpServer.js","names":["Etag","MultipartNode","Cookies","FileSystem","App","IncomingMessage","Server","Error","ServerRequest","Socket","Config","Effect","FiberSet","Layer","Option","Scope","Stream","Http","Readable","pipeline","WS","NodeContext","NodeSink","HttpIncomingMessageImpl","internalPlatform","make","evaluate","options","gen","_","scope","server","acquireRelease","sync","async","resume","listening","void","close","error","die","onError","fail","ServeError","on","listen","off","address","wss","WebSocketServer","noServer","extend","cached","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","upgradeHandler","makeUpgradeHandler","addFinalizer","pipe","locally","maxBodySize","some","Size","handledApp","toHandled","handleResponse","map","makeRuntime","runFork","nodeRequest","nodeResponse","fiber","provideService","HttpServerRequest","ServerRequestImpl","writableEnded","unsafeInterruptAsFork","clientAbortFiberId","lazyWss","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","succeed","source","response","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","request","reason","cachedCookies","cookies","parseHeader","headers","cookie","resolvedResponse","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","toString","toJSON","inspect","_id","layerServer","scoped","HttpServer","layer","mergeAll","layerWeak","layerConfig","unwrap","suspend","isEmpty","toSet","toSetCookieHeaders","push","writeHead","status","end","body","tryPromise","try","signal","catch","ResponseError","interruptible","tapErrorCause","handleCause","r","Response","formData","Object","fromEntries","fromWeb","once","run","mapError","fromWritable","cause","causeResponse","headersSent","failCause","requestSource","self"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,uCAAuC;AAC7D,OAAO,KAAKC,aAAa,MAAM,4CAA4C;AAC3E,OAAO,KAAKC,OAAO,MAAM,0BAA0B;AACnD,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AAEzD,OAAO,KAAKC,GAAG,MAAM,0BAA0B;AAC/C,OAAO,KAAKC,eAAe,MAAM,sCAAsC;AAGvE,OAAO,KAAKC,MAAM,MAAM,6BAA6B;AACrD,OAAO,KAAKC,KAAK,MAAM,kCAAkC;AACzD,OAAO,KAAKC,aAAa,MAAM,oCAAoC;AAInE,OAAO,KAAKC,MAAM,MAAM,yBAAyB;AAEjD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAE3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,WAAW;AAGjC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,OAAO,KAAKC,EAAE,MAAM,IAAI;AACxB,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAChD,OAAO,KAAKC,QAAQ,MAAM,gBAAgB;AAC1C,SAASC,uBAAuB,QAAQ,0BAA0B;AAClE,OAAO,KAAKC,gBAAgB,MAAM,mBAAmB;AAErD;AACA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,QAA8B,EAC9BC,OAA0B,KAE1BhB,MAAM,CAACiB,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,KAAK,GAAG,OAAOnB,MAAM,CAACmB,KAAK;EACjC,MAAMC,MAAM,GAAG,OAAOpB,MAAM,CAACqB,cAAc,CACzCrB,MAAM,CAACsB,IAAI,CAACP,QAAQ,CAAC,EACpBK,MAAM,IACLpB,MAAM,CAACuB,KAAK,CAAQC,MAAM,IAAI;IAC5B,IAAI,CAACJ,MAAM,CAACK,SAAS,EAAE;MACrB,OAAOD,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC;IAC5B;IACAN,MAAM,CAACO,KAAK,CAAEC,KAAK,IAAI;MACrB,IAAIA,KAAK,EAAE;QACTJ,MAAM,CAACxB,MAAM,CAAC6B,GAAG,CAACD,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACLJ,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,CACL;EAED,OAAO1B,MAAM,CAACuB,KAAK,CAA0BC,MAAM,IAAI;IACrD,SAASM,OAAOA,CAACF,KAAY;MAC3BJ,MAAM,CAACxB,MAAM,CAAC+B,IAAI,CAAC,IAAInC,KAAK,CAACoC,UAAU,CAAC;QAAEJ;MAAK,CAAE,CAAC,CAAC,CAAC;IACtD;IACAR,MAAM,CAACa,EAAE,CAAC,OAAO,EAAEH,OAAO,CAAC;IAC3BV,MAAM,CAACc,MAAM,CAAClB,OAAO,EAAE,MAAK;MAC1BI,MAAM,CAACe,GAAG,CAAC,OAAO,EAAEL,OAAO,CAAC;MAC5BN,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMU,OAAO,GAAGhB,MAAM,CAACgB,OAAO,EAAG;EAEjC,MAAMC,GAAG,GAAG,OAAOnB,CAAC,CAClBlB,MAAM,CAACqB,cAAc,CACnBrB,MAAM,CAACsB,IAAI,CAAC,MAAM,IAAIb,EAAE,CAAC6B,eAAe,CAAC;IAAEC,QAAQ,EAAE;EAAI,CAAE,CAAC,CAAC,EAC5DF,GAAG,IACFrC,MAAM,CAACuB,KAAK,CAAQC,MAAM,IAAI;IAC5Ba,GAAG,CAACV,KAAK,CAAC,MAAMH,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC,CAAC;EACtC,CAAC,CAAC,CACL,EACDtB,KAAK,CAACoC,MAAM,CAACrB,KAAK,CAAC,EACnBnB,MAAM,CAACyC,MAAM,CACd;EAED,OAAO9C,MAAM,CAACmB,IAAI,CAAC;IACjBsB,OAAO,EAAE,OAAOA,OAAO,KAAK,QAAQ,GAClC;MACEM,IAAI,EAAE,aAAa;MACnBC,IAAI,EAAEP;KACP,GACD;MACEM,IAAI,EAAE,YAAY;MAClBE,QAAQ,EAAER,OAAO,CAACA,OAAO,KAAK,IAAI,GAAG,SAAS,GAAGA,OAAO,CAACA,OAAO;MAChES,IAAI,EAAET,OAAO,CAACS;KACf;IACHC,KAAK,EAAEA,CAACC,OAAO,EAAEC,UAAU,KACzBhD,MAAM,CAACiB,GAAG,CAAC,WAAUC,CAAC;MACpB,MAAM+B,OAAO,GAAG,OAAO/B,CAAC,CAACgC,WAAW,CAACH,OAAO,EAAEC,UAAW,CAAC,CAAC;MAC3D,MAAMG,cAAc,GAAG,OAAOjC,CAAC,CAACkC,kBAAkB,CAACf,GAAG,EAAEU,OAAO,EAAEC,UAAW,CAAC,CAAC;MAC9E,OAAO9B,CAAC,CAAClB,MAAM,CAACqD,YAAY,CAAC,MAC3BrD,MAAM,CAACsB,IAAI,CAAC,MAAK;QACfF,MAAM,CAACe,GAAG,CAAC,SAAS,EAAEc,OAAO,CAAC;QAC9B7B,MAAM,CAACe,GAAG,CAAC,SAAS,EAAEgB,cAAc,CAAC;MACvC,CAAC,CAAC,CACH,CAAC;MACF/B,MAAM,CAACa,EAAE,CAAC,SAAS,EAAEgB,OAAO,CAAC;MAC7B7B,MAAM,CAACa,EAAE,CAAC,SAAS,EAAEkB,cAAc,CAAC;IACtC,CAAC;GACJ,CAAC;AACJ,CAAC,CAAC,CAACG,IAAI,CACLtD,MAAM,CAACuD,OAAO,CACZ7D,eAAe,CAAC8D,WAAW,EAC3BrD,MAAM,CAACsD,IAAI,CAACjE,UAAU,CAACkE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAC/C,CACF;AAEH;AACA,OAAO,MAAMR,WAAW,GAcpBA,CAAOH,OAA0B,EAAEC,UAAsC,KAAI;EAC/E,MAAMW,UAAU,GAAGlE,GAAG,CAACmE,SAAS,CAACb,OAAO,EAAEc,cAAc,EAAEb,UAAU,CAAC;EACrE,OAAOhD,MAAM,CAAC8D,GAAG,CAAC7D,QAAQ,CAAC8D,WAAW,EAAK,EAAGC,OAAO,IACnD,SAASf,OAAOA,CACdgB,WAAiC,EACjCC,YAAiC;IAEjC,MAAMC,KAAK,GAAGH,OAAO,CACnBhE,MAAM,CAACoE,cAAc,CACnBT,UAAU,EACV9D,aAAa,CAACwE,iBAAiB,EAC/B,IAAIC,iBAAiB,CAACL,WAAW,EAAEC,YAAY,CAAC,CACjD,CACF;IACDA,YAAY,CAACjC,EAAE,CAAC,OAAO,EAAE,MAAK;MAC5B,IAAI,CAACiC,YAAY,CAACK,aAAa,EAAE;QAC/BJ,KAAK,CAACK,qBAAqB,CAAC5E,KAAK,CAAC6E,kBAAkB,CAAC;MACvD;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACN,CAAC;AAED;AACA,OAAO,MAAMrB,kBAAkB,GAAGA,CAChCsB,OAA0C,EAC1C3B,OAA0B,EAC1BC,UAAsC,KACpC;EACF,MAAMW,UAAU,GAAGlE,GAAG,CAACmE,SAAS,CAACb,OAAO,EAAEc,cAAc,EAAEb,UAAU,CAAC;EACrE,OAAOhD,MAAM,CAAC8D,GAAG,CAAC7D,QAAQ,CAAC8D,WAAW,EAAK,EAAGC,OAAO,IACnD,SAASf,OAAOA,CACdgB,WAAiC,EACjCU,MAAc,EACdC,IAAY;IAEZ,IAAIC,aAAa,GAAoCC,SAAS;IAC9D,MAAMZ,YAAY,GAAGA,CAAA,KAAK;MACxB,IAAIW,aAAa,KAAKC,SAAS,EAAE;QAC/BD,aAAa,GAAG,IAAIvE,IAAI,CAACyE,cAAc,CAACd,WAAW,CAAC;QACpDY,aAAa,CAACG,YAAY,CAACL,MAAa,CAAC;MAC3C;MACA,OAAOE,aAAa;IACtB,CAAC;IACD,MAAMI,aAAa,GAAGnF,MAAM,CAACoF,aAAa,CAAClF,MAAM,CAACmF,OAAO,CACvDT,OAAO,EACNrC,GAAG,IACFrC,MAAM,CAACqB,cAAc,CACnBrB,MAAM,CAACuB,KAAK,CAAwBC,MAAM,IACxCa,GAAG,CAAC+C,aAAa,CAACnB,WAAW,EAAEU,MAAM,EAAEC,IAAI,EAAGS,EAAE,IAAI;MAClD7D,MAAM,CAACxB,MAAM,CAACsF,OAAO,CAACD,EAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CACH,EACAA,EAAE,IAAKrF,MAAM,CAACsB,IAAI,CAAC,MAAM+D,EAAE,CAAC1D,KAAK,EAAE,CAAC,CACtC,CACJ,CAAC;IACF,MAAMwC,KAAK,GAAGH,OAAO,CACnBhE,MAAM,CAACoE,cAAc,CACnBT,UAAU,EACV9D,aAAa,CAACwE,iBAAiB,EAC/B,IAAIC,iBAAiB,CAACL,WAAW,EAAEC,YAAY,EAAEe,aAAa,CAAC,CAChE,CACF;IACDN,MAAM,CAAC1C,EAAE,CAAC,OAAO,EAAE,MAAK;MACtB,IAAI,CAAC0C,MAAM,CAACJ,aAAa,EAAE;QACzBJ,KAAK,CAACK,qBAAqB,CAAC5E,KAAK,CAAC6E,kBAAkB,CAAC;MACvD;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACN,CAAC;AAED,MAAMH,iBAAkB,SAAQ1D,uBAA2C;EAI9D2E,MAAA;EACAC,QAAA;EACDP,aAAA;EACCQ,GAAA;EACDC,eAAA;EAPD,CAAC7F,aAAa,CAAC8F,MAAM;EAE9BC,YACWL,MAA4B,EAC5BC,QAA4D,EAC7DP,aAAgE,EAC/DQ,GAAA,GAAMF,MAAM,CAACE,GAAI,EAClBC,eAAiC,EACzCG,qBAA8B;IAE9B,KAAK,CAACN,MAAM,EAAGrE,CAAC,IACd,IAAItB,KAAK,CAACkG,YAAY,CAAC;MACrBC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,QAAQ;MAChBpE,KAAK,EAAEV;KACR,CAAC,EAAE2E,qBAAqB,CAAC;IAZnB,KAAAN,MAAM,GAANA,MAAM;IACN,KAAAC,QAAQ,GAARA,QAAQ;IACT,KAAAP,aAAa,GAAbA,aAAa;IACZ,KAAAQ,GAAG,GAAHA,GAAG;IACJ,KAAAC,eAAe,GAAfA,eAAe;IASvB,IAAI,CAAC7F,aAAa,CAAC8F,MAAM,CAAC,GAAG9F,aAAa,CAAC8F,MAAM;EACnD;EAEQM,aAAa;EACrB,IAAIC,OAAOA,CAAA;IACT,IAAI,IAAI,CAACD,aAAa,EAAE;MACtB,OAAO,IAAI,CAACA,aAAa;IAC3B;IACA,OAAO,IAAI,CAACA,aAAa,GAAG1G,OAAO,CAAC4G,WAAW,CAAC,IAAI,CAACC,OAAO,CAACC,MAAM,IAAI,EAAE,CAAC;EAC5E;EAEA,IAAIC,gBAAgBA,CAAA;IAClB,OAAO,OAAO,IAAI,CAACd,QAAQ,KAAK,UAAU,GAAG,IAAI,CAACA,QAAQ,EAAE,GAAG,IAAI,CAACA,QAAQ;EAC9E;EAEAe,MAAMA,CACJvF,OAIC;IAED,OAAO,IAAIsD,iBAAiB,CAC1B,IAAI,CAACiB,MAAM,EACX,IAAI,CAACC,QAAQ,EACb,IAAI,CAACP,aAAa,EAClBjE,OAAO,CAACyE,GAAG,IAAI,IAAI,CAACA,GAAG,EACvBzE,OAAO,CAACoF,OAAO,IAAI,IAAI,CAACV,eAAe,EACvC1E,OAAO,CAACwF,aAAa,IAAI,IAAI,CAACX,qBAAqB,CACpD;EACH;EAEA,IAAIY,WAAWA,CAAA;IACb,OAAO,IAAI,CAAClB,MAAM,CAACE,GAAI;EACzB;EAEA,IAAIiB,MAAMA,CAAA;IACR,OAAO,IAAI,CAACnB,MAAM,CAACmB,MAAO,CAACC,WAAW,EAAgB;EACxD;EAEA,IAAIP,OAAOA,CAAA;IACT,IAAI,CAACV,eAAe,KAAK,IAAI,CAACH,MAAM,CAACa,OAA0B;IAC/D,OAAO,IAAI,CAACV,eAAe;EAC7B;EAEQkB,eAAe;EAOvB,IAAIC,SAASA,CAAA;IAKX,IAAI,IAAI,CAACD,eAAe,EAAE;MACxB,OAAO,IAAI,CAACA,eAAe;IAC7B;IACA,IAAI,CAACA,eAAe,GAAG5G,MAAM,CAAC8G,OAAO,CAAC9G,MAAM,CAACyC,MAAM,CACjDnD,aAAa,CAACyH,SAAS,CAAC,IAAI,CAACxB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACa,OAAO,CAAC,CAC1D,CAAC;IACF,OAAO,IAAI,CAACQ,eAAe;EAC7B;EAEA,IAAII,eAAeA,CAAA;IACjB,OAAO1H,aAAa,CAAC2H,MAAM,CAAC,IAAI,CAAC1B,MAAM,EAAE,IAAI,CAACA,MAAM,CAACa,OAAO,CAAC;EAC/D;EAEA,IAAIc,OAAOA,CAAA;IACT,OAAO,IAAI,CAACjC,aAAa,IAAIjF,MAAM,CAAC+B,IAAI,CACtC,IAAInC,KAAK,CAACkG,YAAY,CAAC;MACrBC,OAAO,EAAE,IAAI;MACbC,MAAM,EAAE,QAAQ;MAChBpE,KAAK,EAAE;KACR,CAAC,CACH;EACH;EAEAuF,QAAQA,CAAA;IACN,OAAO,iBAAiB,IAAI,CAACT,MAAM,IAAI,IAAI,CAACjB,GAAG,GAAG;EACpD;EAEA2B,MAAMA,CAAA;IACJ,OAAO1H,eAAe,CAAC2H,OAAO,CAAC,IAAI,EAAE;MACnCC,GAAG,EAAE,oCAAoC;MACzCZ,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBjB,GAAG,EAAE,IAAI,CAACgB;KACX,CAAC;EACJ;;AAGF;AACA,OAAO,MAAMc,WAAW,GAAGA,CACzBxG,QAA8B,EAC9BC,OAA0B,KACvBd,KAAK,CAACsH,MAAM,CAAC7H,MAAM,CAAC8H,UAAU,EAAE3G,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC;AAE7D;AACA,OAAO,MAAM0G,KAAK,GAAGA,CACnB3G,QAA8B,EAC9BC,OAA0B,KAE1Bd,KAAK,CAACyH,QAAQ,CACZzH,KAAK,CAACsH,MAAM,CAAC7H,MAAM,CAAC8H,UAAU,EAAE3G,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC,EACxDH,gBAAgB,CAAC6G,KAAK,EACtBrI,IAAI,CAACuI,SAAS,EACdlH,WAAW,CAACgH,KAAK,CAClB;AAEH;AACA,OAAO,MAAMG,WAAW,GAAGA,CACzB9G,QAA8B,EAC9BC,OAA8C,KAE9Cd,KAAK,CAACyH,QAAQ,CACZzH,KAAK,CAACsH,MAAM,CACV7H,MAAM,CAAC8H,UAAU,EACjBzH,MAAM,CAACmF,OAAO,CAACpF,MAAM,CAAC+H,MAAM,CAAC9G,OAAO,CAAC,EAAGA,OAAO,IAAKF,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC,CAC7E,EACDH,gBAAgB,CAAC6G,KAAK,EACtBrI,IAAI,CAACuI,SAAS,EACdlH,WAAW,CAACgH,KAAK,CAClB;AAEH,MAAM7D,cAAc,GAAGA,CAACkC,OAAwC,EAAEP,QAA2C,KAC3GxF,MAAM,CAAC+H,OAAO,CAAC,MAA+C;EAC5D,MAAM7D,YAAY,GAAI6B,OAA6B,CAACO,gBAAgB;EACpE,IAAIpC,YAAY,CAACK,aAAa,EAAE;IAC9B,OAAOvE,MAAM,CAAC0B,IAAI;EACpB;EAEA,IAAI0E,OAAO,GAA2CZ,QAAQ,CAACY,OAAO;EACtE,IAAI,CAAC7G,OAAO,CAACyI,OAAO,CAACxC,QAAQ,CAACU,OAAO,CAAC,EAAE;IACtCE,OAAO,GAAG;MAAE,GAAGA;IAAO,CAAE;IACxB,MAAM6B,KAAK,GAAG1I,OAAO,CAAC2I,kBAAkB,CAAC1C,QAAQ,CAACU,OAAO,CAAC;IAC1D,IAAIE,OAAO,CAAC,YAAY,CAAC,KAAKtB,SAAS,EAAE;MACvCmD,KAAK,CAACE,IAAI,CAAC/B,OAAO,CAAC,YAAY,CAAW,CAAC;IAC7C;IACAA,OAAO,CAAC,YAAY,CAAC,GAAG6B,KAAK;EAC/B;EAEA,IAAIlC,OAAO,CAACW,MAAM,KAAK,MAAM,EAAE;IAC7BxC,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,EAAEjC,OAAO,CAAC;IAChD,OAAOpG,MAAM,CAACuB,KAAK,CAAQC,MAAM,IAAI;MACnC0C,YAAY,CAACoE,GAAG,CAAC,MAAM9G,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ;EACA,MAAM6G,IAAI,GAAG/C,QAAQ,CAAC+C,IAAI;EAC1B,QAAQA,IAAI,CAAC7F,IAAI;IACf,KAAK,OAAO;MAAE;QACZwB,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,EAAEjC,OAAO,CAAC;QAChDlC,YAAY,CAACoE,GAAG,EAAE;QAClB,OAAOtI,MAAM,CAAC0B,IAAI;MACpB;IACA,KAAK,KAAK;MAAE;QACVwC,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,EAAEjC,OAAO,CAAC;QAChD,IACE,OAAOmC,IAAI,CAACA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACA,IAAI,KAAK,IAAI,IAAI,MAAM,IAAIA,IAAI,CAACA,IAAI,IAC1E,OAAOA,IAAI,CAACA,IAAI,CAACjF,IAAI,KAAK,UAAU,EACpC;UACA,OAAOtD,MAAM,CAACwI,UAAU,CAAC;YACvBC,GAAG,EAAGC,MAAM,IAAKlI,QAAQ,CAAC+H,IAAI,CAACA,IAAW,EAAErE,YAAY,EAAE;cAAEwE,MAAM;cAAEJ,GAAG,EAAE;YAAI,CAAE,CAAC;YAChFK,KAAK,EAAG/G,KAAK,IACX,IAAIhC,KAAK,CAACgJ,aAAa,CAAC;cACtB7C,OAAO;cACPP,QAAQ;cACRQ,MAAM,EAAE,QAAQ;cAChBpE;aACD;WACJ,CAAC,CAAC0B,IAAI,CACLtD,MAAM,CAAC6I,aAAa,EACpB7I,MAAM,CAAC8I,aAAa,CAACC,WAAW,CAAC7E,YAAY,CAAC,CAAC,CAChD;QACH;QACA,OAAOlE,MAAM,CAACuB,KAAK,CAAQC,MAAM,IAAI;UACnC0C,YAAY,CAACoE,GAAG,CAACC,IAAI,CAACA,IAAI,EAAE,MAAM/G,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC;MACJ;IACA,KAAK,YAAY;MAAE;QACjBwC,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,EAAEjC,OAAO,CAAC;QAChD,OAAOpG,MAAM,CAACuB,KAAK,CAAQC,MAAM,IAAI;UACnC0C,YAAY,CAACoE,GAAG,CAACC,IAAI,CAACA,IAAI,EAAE,MAAM/G,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC;MACJ;IACA,KAAK,UAAU;MAAE;QACf,OAAO1B,MAAM,CAAC+H,OAAO,CAAC,MAAK;UACzB,MAAMiB,CAAC,GAAG,IAAIC,QAAQ,CAACV,IAAI,CAACW,QAAQ,CAAC;UACrChF,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,EAAE;YACtC,GAAGjC,OAAO;YACV,GAAG+C,MAAM,CAACC,WAAW,CAACJ,CAAC,CAAC5C,OAAO;WAChC,CAAC;UACF,OAAOpG,MAAM,CAACuB,KAAK,CAA4B,CAACC,MAAM,EAAEkH,MAAM,KAAI;YAChEnI,QAAQ,CAAC8I,OAAO,CAACL,CAAC,CAACT,IAAW,EAAE;cAAEG;YAAM,CAAE,CAAC,CACxCpF,IAAI,CAACY,YAAY,CAAC,CAClBjC,EAAE,CAAC,OAAO,EAAGL,KAAK,IAAI;cACrBJ,MAAM,CAACxB,MAAM,CAAC+B,IAAI,CAChB,IAAInC,KAAK,CAACgJ,aAAa,CAAC;gBACtB7C,OAAO;gBACPP,QAAQ;gBACRQ,MAAM,EAAE,QAAQ;gBAChBpE;eACD,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CACD0H,IAAI,CAAC,QAAQ,EAAE,MAAK;cACnB9H,MAAM,CAACxB,MAAM,CAAC0B,IAAI,CAAC;YACrB,CAAC,CAAC;UACN,CAAC,CAAC,CAAC4B,IAAI,CACLtD,MAAM,CAAC6I,aAAa,EACpB7I,MAAM,CAAC8I,aAAa,CAACC,WAAW,CAAC7E,YAAY,CAAC,CAAC,CAChD;QACH,CAAC,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACbA,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,EAAEjC,OAAO,CAAC;QAChD,OAAO/F,MAAM,CAACkJ,GAAG,CACflJ,MAAM,CAACmJ,QAAQ,CACbjB,IAAI,CAACtB,MAAM,EACVrF,KAAK,IACJ,IAAIhC,KAAK,CAACgJ,aAAa,CAAC;UACtB7C,OAAO;UACPP,QAAQ;UACRQ,MAAM,EAAE,QAAQ;UAChBpE;SACD,CAAC,CACL,EACDjB,QAAQ,CAAC8I,YAAY,CAAC,MAAMvF,YAAY,EAAGtC,KAAK,IAC9C,IAAIhC,KAAK,CAACgJ,aAAa,CAAC;UACtB7C,OAAO;UACPP,QAAQ;UACRQ,MAAM,EAAE,QAAQ;UAChBpE;SACD,CAAC,CAAC,CACN,CAAC0B,IAAI,CACJtD,MAAM,CAAC6I,aAAa,EACpB7I,MAAM,CAAC8I,aAAa,CAACC,WAAW,CAAC7E,YAAY,CAAC,CAAC,CAChD;MACH;EACF;AACF,CAAC,CAAC;AAEJ,MAAM6E,WAAW,GAAI7E,YAAiC,IAASwF,KAAqB,IAClF9J,KAAK,CAAC+J,aAAa,CAACD,KAAK,CAAC,CAACpG,IAAI,CAC7BtD,MAAM,CAACmF,OAAO,CAAC,CAAC,CAACK,QAAQ,EAAEkE,KAAK,CAAC,KAAI;EACnC,IAAI,CAACxF,YAAY,CAAC0F,WAAW,EAAE;IAC7B1F,YAAY,CAACkE,SAAS,CAAC5C,QAAQ,CAAC6C,MAAM,CAAC;EACzC;EACA,IAAI,CAACnE,YAAY,CAACK,aAAa,EAAE;IAC/BL,YAAY,CAACoE,GAAG,EAAE;EACpB;EACA,OAAOtI,MAAM,CAAC6J,SAAS,CAACH,KAAK,CAAC;AAChC,CAAC,CAAC,CACH;AAEH;AACA,OAAO,MAAMI,aAAa,GAAIC,IAAqC,IAChEA,IAA0B,CAACxE,MAAM","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
- "version": "0.53.19",
3
+ "version": "0.53.21",
4
4
  "description": "Platform specific implementations for the Node.js runtime",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -13,11 +13,11 @@
13
13
  "mime": "^3.0.0",
14
14
  "undici": "^6.19.2",
15
15
  "ws": "^8.17.1",
16
- "@effect/platform-node-shared": "^0.8.19"
16
+ "@effect/platform-node-shared": "^0.8.21"
17
17
  },
18
18
  "peerDependencies": {
19
- "@effect/platform": "^0.58.20",
20
- "effect": "^3.4.7"
19
+ "@effect/platform": "^0.58.22",
20
+ "effect": "^3.4.9"
21
21
  },
22
22
  "publishConfig": {
23
23
  "provenance": true
@@ -14,7 +14,7 @@ import type * as ServerResponse from "@effect/platform/HttpServerResponse"
14
14
  import type * as Multipart from "@effect/platform/Multipart"
15
15
  import type * as Path from "@effect/platform/Path"
16
16
  import * as Socket from "@effect/platform/Socket"
17
- import * as Cause from "effect/Cause"
17
+ import type * as Cause from "effect/Cause"
18
18
  import * as Config from "effect/Config"
19
19
  import * as Effect from "effect/Effect"
20
20
  import * as FiberSet from "effect/FiberSet"
@@ -132,15 +132,7 @@ export const makeHandler: {
132
132
  Exclude<Effect.Effect.Context<App>, ServerRequest.HttpServerRequest | Scope.Scope>
133
133
  >
134
134
  } = <E, R>(httpApp: App.Default<E, R>, middleware?: Middleware.HttpMiddleware) => {
135
- const handledApp = App.toHandled(httpApp, (request, exit) => {
136
- if (exit._tag === "Success") {
137
- return Effect.catchAllCause(
138
- handleResponse(request, exit.value),
139
- (cause) => handleCause(request, cause)
140
- )
141
- }
142
- return handleCause(request, exit.cause)
143
- }, middleware)
135
+ const handledApp = App.toHandled(httpApp, handleResponse, middleware)
144
136
  return Effect.map(FiberSet.makeRuntime<R>(), (runFork) =>
145
137
  function handler(
146
138
  nodeRequest: Http.IncomingMessage,
@@ -155,10 +147,6 @@ export const makeHandler: {
155
147
  )
156
148
  nodeResponse.on("close", () => {
157
149
  if (!nodeResponse.writableEnded) {
158
- if (!nodeResponse.headersSent) {
159
- nodeResponse.writeHead(499)
160
- }
161
- nodeResponse.end()
162
150
  fiber.unsafeInterruptAsFork(Error.clientAbortFiberId)
163
151
  }
164
152
  })
@@ -171,15 +159,7 @@ export const makeUpgradeHandler = <R, E>(
171
159
  httpApp: App.Default<E, R>,
172
160
  middleware?: Middleware.HttpMiddleware
173
161
  ) => {
174
- const handledApp = App.toHandled(httpApp, (request, exit) => {
175
- if (exit._tag === "Success") {
176
- return Effect.catchAllCause(
177
- handleResponse(request, exit.value),
178
- (cause) => handleCause(request, cause)
179
- )
180
- }
181
- return handleCause(request, exit.cause)
182
- }, middleware)
162
+ const handledApp = App.toHandled(httpApp, handleResponse, middleware)
183
163
  return Effect.map(FiberSet.makeRuntime<R>(), (runFork) =>
184
164
  function handler(
185
165
  nodeRequest: Http.IncomingMessage,
@@ -214,29 +194,13 @@ export const makeUpgradeHandler = <R, E>(
214
194
  )
215
195
  )
216
196
  socket.on("close", () => {
217
- const res = nodeResponse()
218
197
  if (!socket.writableEnded) {
219
- if (!res.headersSent) {
220
- res.writeHead(499)
221
- }
222
- res.end()
223
198
  fiber.unsafeInterruptAsFork(Error.clientAbortFiberId)
224
199
  }
225
200
  })
226
201
  })
227
202
  }
228
203
 
229
- const handleCause = <E>(request: ServerRequest.HttpServerRequest, cause: Cause.Cause<E>) =>
230
- Effect.sync(() => {
231
- const nodeResponse = (request as ServerRequestImpl).resolvedResponse
232
- if (!nodeResponse.headersSent) {
233
- nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 503 : 500)
234
- }
235
- if (!nodeResponse.writableEnded) {
236
- nodeResponse.end()
237
- }
238
- })
239
-
240
204
  class ServerRequestImpl extends HttpIncomingMessageImpl<Error.RequestError> implements ServerRequest.HttpServerRequest {
241
205
  readonly [ServerRequest.TypeId]: ServerRequest.TypeId
242
206
 
@@ -407,9 +371,8 @@ const handleResponse = (request: ServerRequest.HttpServerRequest, response: Serv
407
371
  switch (body._tag) {
408
372
  case "Empty": {
409
373
  nodeResponse.writeHead(response.status, headers)
410
- return Effect.async<void>((resume) => {
411
- nodeResponse.end(() => resume(Effect.void))
412
- })
374
+ nodeResponse.end()
375
+ return Effect.void
413
376
  }
414
377
  case "Raw": {
415
378
  nodeResponse.writeHead(response.status, headers)
@@ -426,7 +389,10 @@ const handleResponse = (request: ServerRequest.HttpServerRequest, response: Serv
426
389
  reason: "Decode",
427
390
  error
428
391
  })
429
- })
392
+ }).pipe(
393
+ Effect.interruptible,
394
+ Effect.tapErrorCause(handleCause(nodeResponse))
395
+ )
430
396
  }
431
397
  return Effect.async<void>((resume) => {
432
398
  nodeResponse.end(body.body, () => resume(Effect.void))
@@ -461,7 +427,10 @@ const handleResponse = (request: ServerRequest.HttpServerRequest, response: Serv
461
427
  .once("finish", () => {
462
428
  resume(Effect.void)
463
429
  })
464
- }).pipe(Effect.interruptible)
430
+ }).pipe(
431
+ Effect.interruptible,
432
+ Effect.tapErrorCause(handleCause(nodeResponse))
433
+ )
465
434
  })
466
435
  }
467
436
  case "Stream": {
@@ -484,11 +453,27 @@ const handleResponse = (request: ServerRequest.HttpServerRequest, response: Serv
484
453
  reason: "Decode",
485
454
  error
486
455
  }))
487
- ).pipe(Effect.interruptible)
456
+ ).pipe(
457
+ Effect.interruptible,
458
+ Effect.tapErrorCause(handleCause(nodeResponse))
459
+ )
488
460
  }
489
461
  }
490
462
  })
491
463
 
464
+ const handleCause = (nodeResponse: Http.ServerResponse) => <E>(cause: Cause.Cause<E>) =>
465
+ Error.causeResponse(cause).pipe(
466
+ Effect.flatMap(([response, cause]) => {
467
+ if (!nodeResponse.headersSent) {
468
+ nodeResponse.writeHead(response.status)
469
+ }
470
+ if (!nodeResponse.writableEnded) {
471
+ nodeResponse.end()
472
+ }
473
+ return Effect.failCause(cause)
474
+ })
475
+ )
476
+
492
477
  /** @internal */
493
478
  export const requestSource = (self: ServerRequest.HttpServerRequest): Http.IncomingMessage =>
494
479
  (self as ServerRequestImpl).source