@effect/platform-node
Advanced tools
+25
-25
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -11,93 +11,93 @@ export * as Mime from "./Mime.ts"; | ||
| * | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeClusterHttp from "./NodeClusterHttp.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeClusterSocket from "./NodeClusterSocket.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeFileSystem from "./NodeFileSystem.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpClient from "./NodeHttpClient.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpPlatform from "./NodeHttpPlatform.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpServer from "./NodeHttpServer.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeMultipart from "./NodeMultipart.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodePath from "./NodePath.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeRedis from "./NodeRedis.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeRuntime from "./NodeRuntime.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeServices from "./NodeServices.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeSink from "./NodeSink.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeSocket from "./NodeSocket.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeSocketServer from "./NodeSocketServer.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeStdio from "./NodeStdio.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeStream from "./NodeStream.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeTerminal from "./NodeTerminal.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeWorker from "./NodeWorker.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeWorkerRunner from "./NodeWorkerRunner.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as Undici from "./Undici.ts"; | ||
| //# sourceMappingURL=index.d.ts.map |
+25
-25
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| // @barrel: Auto-generated exports. Do not edit manually. | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -12,93 +12,93 @@ export * as Mime from "./Mime.js"; | ||
| * | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeClusterHttp from "./NodeClusterHttp.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeClusterSocket from "./NodeClusterSocket.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeFileSystem from "./NodeFileSystem.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpClient from "./NodeHttpClient.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpPlatform from "./NodeHttpPlatform.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpServer from "./NodeHttpServer.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeHttpServerRequest from "./NodeHttpServerRequest.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeMultipart from "./NodeMultipart.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodePath from "./NodePath.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeRedis from "./NodeRedis.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeRuntime from "./NodeRuntime.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeServices from "./NodeServices.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeSink from "./NodeSink.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeSocket from "./NodeSocket.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeSocketServer from "./NodeSocketServer.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeStdio from "./NodeStdio.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeStream from "./NodeStream.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeTerminal from "./NodeTerminal.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeWorker from "./NodeWorker.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as NodeWorkerRunner from "./NodeWorkerRunner.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as Undici from "./Undici.js"; | ||
| //# sourceMappingURL=index.js.map |
+3
-3
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| import Mime from "mime"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "mime"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| export default Mime; | ||
| //# sourceMappingURL=Mime.d.ts.map |
+3
-3
| /* oxlint-disable no-named-as-default */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| import Mime from "mime"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "mime"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| export default Mime; | ||
| //# sourceMappingURL=Mime.js.map |
| /** | ||
| * Node.js implementation of `ChildProcessSpawner`. | ||
| * | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeChildProcessSpawner"; | ||
| //# sourceMappingURL=NodeChildProcessSpawner.d.ts.map |
| /** | ||
| * Node.js implementation of `ChildProcessSpawner`. | ||
| * | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeChildProcessSpawner"; | ||
| //# sourceMappingURL=NodeChildProcessSpawner.js.map |
| /** | ||
| * @since 1.0.0 | ||
| * The `NodeClusterHttp` module provides the Node.js HTTP and WebSocket | ||
| * transports for Effect Cluster runners. It wires `HttpRunner` to the Node HTTP | ||
| * server, supplies Undici and WebSocket client protocols, and builds a complete | ||
| * sharding layer with serialization, runner health, runner storage, and message | ||
| * storage. | ||
| * | ||
| * **Common tasks** | ||
| * | ||
| * - Run a Node process as a cluster runner over HTTP or WebSocket with | ||
| * {@link layer} | ||
| * - Connect a client-only process to an existing HTTP cluster without starting | ||
| * a runner server | ||
| * - Use SQL-backed storage for durable multi-process clusters, `local` storage | ||
| * for short-lived development, or `byo` storage when the deployment owns the | ||
| * persistence boundary | ||
| * - Check runner health with protocol pings or Kubernetes pod readiness through | ||
| * {@link layerK8sHttpClient} | ||
| * | ||
| * **Gotchas** | ||
| * | ||
| * - `runnerAddress` is the host and port advertised to other runners; set | ||
| * `runnerListenAddress` when the local bind address differs from the | ||
| * externally reachable address | ||
| * - The HTTP and WebSocket transports serve runner RPCs at the default | ||
| * `HttpRunner` route, so proxies and load balancers must preserve the path | ||
| * and allow WebSocket upgrades when `transport` is `"websocket"` | ||
| * - `clientOnly` does not start an HTTP server or receive shard assignments | ||
| * - SQL storage is the default; `local` storage is in-memory/noop and `byo` | ||
| * requires the surrounding application to provide both runner and message | ||
| * storage services | ||
| * - Ping health checks use the selected transport and serialization, so route, | ||
| * port, proxy, or codec mismatches can make a runner appear unhealthy | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -19,9 +52,13 @@ import type * as Config from "effect/Config"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerK8sHttpClient } from "./NodeClusterSocket.ts"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner | ||
| * transport, RPC serialization, message storage, runner health checks, and | ||
| * optional client-only mode. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -41,6 +78,9 @@ export declare const layer: <const ClientOnly extends boolean = false, const Storage extends "local" | "sql" | "byo" = never>(options: { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the HTTP server and Node HTTP services used by cluster runners, | ||
| * listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerHttpServer: Layer.Layer<HttpPlatform | Etag.Generator | NodeServices | HttpServer, ServeError, ShardingConfig.ShardingConfig>; | ||
| //# sourceMappingURL=NodeClusterHttp.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeClusterHttp.d.ts","sourceRoot":"","sources":["../src/NodeClusterHttp.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAGxE,OAAO,KAAK,KAAK,IAAI,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAK9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO;AACL;;;GAGG;AACH,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAE/B;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,EACxC,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EACrD,SAAS;IACT,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACxF,KAAG,UAAU,SAAS,IAAI,GAAG,KAAK,CAAC,KAAK,CACrC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,MAAM,CAAC,WAAW,EAClB,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CACd,GACD,KAAK,CAAC,KAAK,CACT,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,UAAU,GAAG,MAAM,CAAC,WAAW,EAC/B,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CAiDhB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CACrC,YAAY,GACZ,IAAI,CAAC,SAAS,GACd,YAAY,GACZ,UAAU,EACZ,UAAU,EACV,cAAc,CAAC,cAAc,CAQV,CAAA"} | ||
| {"version":3,"file":"NodeClusterHttp.d.ts","sourceRoot":"","sources":["../src/NodeClusterHttp.ts"],"names":[],"mappings":"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"} |
@@ -20,9 +20,13 @@ import * as Effect from "effect/Effect"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerK8sHttpClient } from "./NodeClusterSocket.js"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner | ||
| * transport, RPC serialization, message storage, runner health checks, and | ||
| * optional client-only mode. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -39,4 +43,7 @@ export const layer = options => { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the HTTP server and Node HTTP services used by cluster runners, | ||
| * listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -43,0 +50,0 @@ export const layerHttpServer = /*#__PURE__*/Effect.gen(function* () { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeClusterHttp.js","names":["Effect","Layer","Option","HttpRunner","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","createServer","layerK8sHttpClient","NodeHttpClient","NodeHttpServer","NodeSocket","layer","options","clientOnly","transport","provide","layerHttpClientOnly","layerUndici","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerHttpServer","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","gen","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","value","unwrap"],"sources":["../src/NodeClusterHttp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"NodeClusterHttp.js","names":["Effect","Layer","Option","HttpRunner","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","createServer","layerK8sHttpClient","NodeHttpClient","NodeHttpServer","NodeSocket","layer","options","clientOnly","transport","provide","layerHttpClientOnly","layerUndici","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerHttpServer","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","gen","config","listenAddress","orElse","runnerListenAddress","runnerAddress","isNone","die","value","unwrap"],"sources":["../src/NodeClusterHttp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * The `NodeClusterSocket` module provides the Node.js socket transport for | ||
| * Effect Cluster runners. It wires `SocketRunner` to Node TCP sockets, supplies | ||
| * RPC client and server protocol layers, and builds a complete sharding layer | ||
| * with serialization, runner health, runner storage, and message storage. | ||
| * | ||
| * **Common tasks** | ||
| * | ||
| * - Run a Node process as a cluster runner over raw TCP sockets with | ||
| * {@link layer} | ||
| * - Connect a client-only process to an existing socket cluster without | ||
| * starting a runner server | ||
| * - Use SQL-backed storage for durable multi-process clusters, `local` storage | ||
| * for short-lived development, or `byo` storage when the deployment owns the | ||
| * persistence boundary | ||
| * - Check runner health with socket pings or Kubernetes pod readiness through | ||
| * {@link layerK8sHttpClient} | ||
| * | ||
| * **Gotchas** | ||
| * | ||
| * - `runnerAddress` is the host and port advertised to other runners; set | ||
| * `runnerListenAddress` when the local bind address differs from the | ||
| * externally reachable address | ||
| * - The socket transport is point-to-point RPC, not cluster gossip: runner | ||
| * membership, shard ownership, and persisted delivery are coordinated through | ||
| * `RunnerStorage`, `MessageStorage`, and `RunnerHealth` | ||
| * - `clientOnly` does not start a socket server or receive shard assignments | ||
| * - Ping health checks use the same socket protocol, so unreachable ports, | ||
| * firewalls, or serialization mismatches can make a runner appear unhealthy | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -18,14 +47,18 @@ import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerClientProtocol, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerSocketServer }; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Builds the Node cluster socket sharding layer, configuring RPC | ||
| * serialization, message storage, runner health checks, and optional | ||
| * client-only mode. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -44,11 +77,18 @@ export declare const layer: <const ClientOnly extends boolean = false, const Storage extends "local" | "sql" | "byo" = never>(options?: { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici dispatcher for Kubernetes API calls, using the service | ||
| * account CA certificate when it is available and falling back to the default | ||
| * dispatcher otherwise. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `K8sHttpClient` backed by the Undici HTTP client and the | ||
| * Kubernetes-aware dispatcher. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient>; | ||
| //# sourceMappingURL=NodeClusterSocket.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAA;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAKxE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAGrD,OAAO;AACL;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,iBAAiB,EAClB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,EACxC,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAErD,UAAU;IACR,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACxF,KACA,UAAU,SAAS,IAAI,GAAG,KAAK,CAAC,KAAK,CACpC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,WAAW,EACX,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CACd,GACD,KAAK,CAAC,KAAK,CACT,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,YAAY,CAAC,iBAAiB,GAAG,WAAW,EAC5C,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CAyChB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAuBrE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAIvE,CAAA"} | ||
| {"version":3,"file":"NodeClusterSocket.d.ts","sourceRoot":"","sources":["../src/NodeClusterSocket.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAA;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAExE,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAA;AAC1D,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAA;AAChE,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AAKxE,OAAO,KAAK,KAAK,YAAY,MAAM,qCAAqC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAGrD,OAAO;AACL;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,iBAAiB,EAClB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,GAChB,KAAK,CAAC,UAAU,SAAS,OAAO,GAAG,KAAK,EACxC,KAAK,CAAC,OAAO,SAAS,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAErD,UAAU;IACR,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CACxF,KACA,UAAU,SAAS,IAAI,GAAG,KAAK,CAAC,KAAK,CACpC,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,WAAW,EACX,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CACd,GACD,KAAK,CAAC,KAAK,CACT,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,SAAS,OAAO,GAAG,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,EAC5F,YAAY,CAAC,iBAAiB,GAAG,WAAW,EAC5C,OAAO,SAAS,OAAO,GAAG,KAAK,GAC3B,KAAK,SAAS,OAAO,GAAG,CAAC,cAAc,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAAC,GACrF,SAAS,CAyChB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAuBrE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,CAIvE,CAAA"} |
| /** | ||
| * @since 1.0.0 | ||
| * The `NodeClusterSocket` module provides the Node.js socket transport for | ||
| * Effect Cluster runners. It wires `SocketRunner` to Node TCP sockets, supplies | ||
| * RPC client and server protocol layers, and builds a complete sharding layer | ||
| * with serialization, runner health, runner storage, and message storage. | ||
| * | ||
| * **Common tasks** | ||
| * | ||
| * - Run a Node process as a cluster runner over raw TCP sockets with | ||
| * {@link layer} | ||
| * - Connect a client-only process to an existing socket cluster without | ||
| * starting a runner server | ||
| * - Use SQL-backed storage for durable multi-process clusters, `local` storage | ||
| * for short-lived development, or `byo` storage when the deployment owns the | ||
| * persistence boundary | ||
| * - Check runner health with socket pings or Kubernetes pod readiness through | ||
| * {@link layerK8sHttpClient} | ||
| * | ||
| * **Gotchas** | ||
| * | ||
| * - `runnerAddress` is the host and port advertised to other runners; set | ||
| * `runnerListenAddress` when the local bind address differs from the | ||
| * externally reachable address | ||
| * - The socket transport is point-to-point RPC, not cluster gossip: runner | ||
| * membership, shard ownership, and persisted delivery are coordinated through | ||
| * `RunnerStorage`, `MessageStorage`, and `RunnerHealth` | ||
| * - `clientOnly` does not start a socket server or receive shard assignments | ||
| * - Ping health checks use the same socket protocol, so unreachable ports, | ||
| * firewalls, or serialization mismatches can make a runner appear unhealthy | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -23,14 +52,18 @@ import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerClientProtocol, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerSocketServer }; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Builds the Node cluster socket sharding layer, configuring RPC | ||
| * serialization, message storage, runner health checks, and optional | ||
| * client-only mode. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -47,4 +80,8 @@ export const layer = options => { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici dispatcher for Kubernetes API calls, using the service | ||
| * account CA certificate when it is available and falling back to the default | ||
| * dispatcher otherwise. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -64,6 +101,9 @@ export const layerDispatcherK8s = /*#__PURE__*/Layer.effect(NodeHttpClient.Dispatcher)(Effect.gen(function* () { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `K8sHttpClient` backed by the Undici HTTP client and the | ||
| * Kubernetes-aware dispatcher. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerK8sHttpClient = /*#__PURE__*/K8sHttpClient.layer.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(NodeHttpClient.layerUndiciNoDispatcher)), /*#__PURE__*/Layer.provide(layerDispatcherK8s), /*#__PURE__*/Layer.provide(NodeFileSystem.layer)); | ||
| //# sourceMappingURL=NodeClusterSocket.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeClusterSocket.js","names":["layerClientProtocol","layerSocketServer","Effect","FileSystem","Layer","K8sHttpClient","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SocketRunner","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","NodeFileSystem","NodeHttpClient","Undici","layer","options","clientOnly","provide","layerClientOnly","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerK8sHttpClient","layerPing","layerRpc","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","layerDispatcherK8s","effect","Dispatcher","gen","fs","caCertOption","readFileString","option","_tag","acquireRelease","sync","Agent","connect","ca","value","agent","promise","destroy","makeDispatcher","fresh","layerUndiciNoDispatcher"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"NodeClusterSocket.js","names":["layerClientProtocol","layerSocketServer","Effect","FileSystem","Layer","K8sHttpClient","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SocketRunner","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","NodeFileSystem","NodeHttpClient","Undici","layer","options","clientOnly","provide","layerClientOnly","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerK8sHttpClient","layerPing","layerRpc","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","layerDispatcherK8s","effect","Dispatcher","gen","fs","caCertOption","readFileString","option","_tag","acquireRelease","sync","Agent","connect","ca","value","agent","promise","destroy","makeDispatcher","fresh","layerUndiciNoDispatcher"],"sources":["../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
| import type { FileSystem } from "effect/FileSystem"; | ||
| import type * as Layer from "effect/Layer"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `FileSystem` service backed by Node filesystem APIs. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer.Layer<FileSystem>; | ||
| //# sourceMappingURL=NodeFileSystem.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAwB,CAAA"} | ||
| {"version":3,"file":"NodeFileSystem.d.ts","sourceRoot":"","sources":["../src/NodeFileSystem.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAwB,CAAA"} |
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node.js `FileSystem` layer for Effect programs. | ||
| * | ||
| * Use this module when a Node application, CLI, script, or test needs to | ||
| * satisfy the `FileSystem` service with real filesystem access for reading and | ||
| * writing files, creating directories and temporary files, inspecting metadata, | ||
| * managing links, or watching paths for changes. | ||
| * | ||
| * This module only exposes the Node-backed layer; filesystem operations are | ||
| * accessed through the `FileSystem` service from `effect/FileSystem`. Provide | ||
| * `NodeFileSystem.layer` at the edge of the program, or use | ||
| * `NodeServices.layer` when you also want the standard Node path, stdio, | ||
| * terminal, and child process services. The implementation is shared with | ||
| * other Node-compatible platform packages, so optional services such as | ||
| * `FileSystem.WatchBackend` are honored when present; otherwise file watching | ||
| * follows Node's `node:fs.watch` behavior. Paths are interpreted by Node, so | ||
| * relative paths use the current working directory and platform path rules. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
| import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `FileSystem` service backed by Node filesystem APIs. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = NodeFileSystem.layer; | ||
| //# sourceMappingURL=NodeFileSystem.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeFileSystem.js","names":["NodeFileSystem","layer"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,cAAc,MAAM,6CAA6C;AAI7E;;;;AAIA,OAAO,MAAMC,KAAK,GAA4BD,cAAc,CAACC,KAAK","ignoreList":[]} | ||
| {"version":3,"file":"NodeFileSystem.js","names":["NodeFileSystem","layer"],"sources":["../src/NodeFileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,KAAKA,cAAc,MAAM,6CAA6C;AAI7E;;;;;;AAMA,OAAO,MAAMC,KAAK,GAA4BD,cAAc,CAACC,KAAK","ignoreList":[]} |
+91
-19
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementations of the Effect `HttpClient`. | ||
| * | ||
| * This module provides the Node-specific layers and constructors for sending | ||
| * Effect HTTP client requests. It re-exports the fetch-based client for | ||
| * programs that want to use `globalThis.fetch`, provides an Undici-backed | ||
| * client for applications that need Undici dispatcher control, and provides a | ||
| * lower-level `node:http` / `node:https` client for integrations that need | ||
| * native Node agent configuration. | ||
| * | ||
| * Use these clients in server-side applications, CLIs, tests, and integrations | ||
| * where requests should participate in Effect resource management, interruption, | ||
| * streaming, and typed transport / decode errors. The Undici path sends each | ||
| * request through the current `Dispatcher`; `layerUndici` owns a scoped | ||
| * `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher | ||
| * without destroying it. The `node:http` path uses separate scoped HTTP and | ||
| * HTTPS agents, making it the right choice when native agent options such as | ||
| * TLS, proxy, keep-alive, or socket behavior need to be configured directly. | ||
| * | ||
| * The backends are not completely interchangeable. Fetch, Undici, and | ||
| * `node:http` expose different agent and dispatcher hooks, body implementations, | ||
| * abort behavior, upgrade support, and response body readers. This module | ||
| * converts Effect request bodies to the selected runtime representation: | ||
| * streams remain streaming, `FormData` may contribute generated content headers, | ||
| * and body read failures are reported as `HttpClientError` decode or transport | ||
| * errors. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -14,14 +40,14 @@ import * as Context from "effect/Context"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
| Fetch, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
| layer as layerFetch, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -31,4 +57,7 @@ RequestInit } from "effect/unstable/http/FetchHttpClient"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP | ||
| * client. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -38,34 +67,55 @@ export declare class Dispatcher extends Dispatcher_base { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing | ||
| * scope is finalized. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Dispatcher` service using a scoped Undici `Agent`. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerDispatcher: Layer.Layer<Dispatcher>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Dispatcher` service from Undici's process-global dispatcher, | ||
| * without creating or owning a new agent. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Fiber reference containing default Undici request options applied to requests | ||
| * sent by `makeUndici`. | ||
| * | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates an `HttpClient` that sends requests through the current Undici | ||
| * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps | ||
| * transport and decode failures to `HttpClientError`. | ||
| * | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici-backed `HttpClient` using the current `Dispatcher` | ||
| * service. | ||
| * | ||
| * @category Undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici-backed `HttpClient` together with a scoped default | ||
| * Undici `Agent` dispatcher. | ||
| * | ||
| * @category Undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -78,4 +128,7 @@ export declare const layerUndici: Layer.Layer<Client.HttpClient>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the paired Node `http` and `https` agents used by the | ||
| * node:http-backed HTTP client. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -85,31 +138,50 @@ export declare class HttpAgent extends HttpAgent_base { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Acquires Node `http` and `https` agents with the supplied options and | ||
| * destroys both agents when the enclosing scope is finalized. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `HttpAgent` service using scoped Node `http` and `https` | ||
| * agents configured with the supplied options. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `HttpAgent` service using default scoped Node `http` and | ||
| * `https` agents. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerAgent: Layer.Layer<HttpAgent>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates an `HttpClient` backed by Node `http` and `https`, using the | ||
| * current `HttpAgent`, streaming request bodies, and wrapping Node responses | ||
| * as `HttpClientResponse` values. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a node:http-backed `HttpClient` using the current `HttpAgent` | ||
| * service. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a node:http-backed `HttpClient` together with default scoped Node | ||
| * `http` and `https` agents. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>; | ||
| //# sourceMappingURL=NodeHttpClient.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAK1C,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAA;AAOzD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAMnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAMrC,OAAO;AACL;;;GAGG;AACH,KAAK;AACL;;;GAGG;AACH,KAAK,IAAI,UAAU;AACnB;;;GAGG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;;AAM7C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAE/B;CAAG;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAG/E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA4C,CAAA;AAEhG;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA8D,CAAA;AAExH;;;GAGG;AACH,eAAO,MAAM,aAAa,oEAGzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDA+BrB,CAAA;AAmLF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAC/C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,UAAU,CAC6B,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAA2D,CAAA;;mBAWjG,IAAI,CAAC,KAAK;oBACT,KAAK,CAAC,KAAK;;AAN7B;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAGuB;CAAG;AAEzD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,KAAK,CAAC,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAW5G,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CACvF,SAAS,CACiC,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAuB,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,YAAY,oDAqBvB,CAAA;AAyLF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAC5C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,SAAS,CACgC,CAAA;AAE3C;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAmD,CAAA"} | ||
| {"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAK1C,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAA;AAOzD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAMnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAMrC,OAAO;AACL;;;GAGG;AACH,KAAK;AACL;;;GAGG;AACH,KAAK,IAAI,UAAU;AACnB;;;GAGG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;;AAM7C;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,eAE/B;CAAG;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAG/E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA4C,CAAA;AAEhG;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA8D,CAAA;AAExH;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,oEAGzB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,qDA+BrB,CAAA;AAmLF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAC/C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,UAAU,CAC6B,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAA2D,CAAA;;mBAcjG,IAAI,CAAC,KAAK;oBACT,KAAK,CAAC,KAAK;;AAT7B;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,cAGuB;CAAG;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,KAAK,CAAC,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAW5G,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CACvF,SAAS,CACiC,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAuB,CAAA;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,oDAqBvB,CAAA;AAyLF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAC5C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,SAAS,CACgC,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAmD,CAAA"} |
+91
-19
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementations of the Effect `HttpClient`. | ||
| * | ||
| * This module provides the Node-specific layers and constructors for sending | ||
| * Effect HTTP client requests. It re-exports the fetch-based client for | ||
| * programs that want to use `globalThis.fetch`, provides an Undici-backed | ||
| * client for applications that need Undici dispatcher control, and provides a | ||
| * lower-level `node:http` / `node:https` client for integrations that need | ||
| * native Node agent configuration. | ||
| * | ||
| * Use these clients in server-side applications, CLIs, tests, and integrations | ||
| * where requests should participate in Effect resource management, interruption, | ||
| * streaming, and typed transport / decode errors. The Undici path sends each | ||
| * request through the current `Dispatcher`; `layerUndici` owns a scoped | ||
| * `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher | ||
| * without destroying it. The `node:http` path uses separate scoped HTTP and | ||
| * HTTPS agents, making it the right choice when native agent options such as | ||
| * TLS, proxy, keep-alive, or socket behavior need to be configured directly. | ||
| * | ||
| * The backends are not completely interchangeable. Fetch, Undici, and | ||
| * `node:http` expose different agent and dispatcher hooks, body implementations, | ||
| * abort behavior, upgrade support, and response body readers. This module | ||
| * converts Effect request bodies to the selected runtime representation: | ||
| * streams remain streaming, `FormData` may contribute generated content headers, | ||
| * and body read failures are reported as `HttpClientError` decode or transport | ||
| * errors. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -32,14 +58,14 @@ import * as Context from "effect/Context"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
| Fetch, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
| layer as layerFetch, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -51,24 +77,38 @@ RequestInit } from "effect/unstable/http/FetchHttpClient"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP | ||
| * client. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {} | ||
| /** | ||
| * @since 1.0.0 | ||
| * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing | ||
| * scope is finalized. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy())); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Dispatcher` service using a scoped Undici `Agent`. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Dispatcher` service from Undici's process-global dispatcher, | ||
| * without creating or owning a new agent. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
| export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher()); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Fiber reference containing default Undici request options applied to requests | ||
| * sent by `makeUndici`. | ||
| * | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -79,4 +119,8 @@ export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates an `HttpClient` that sends requests through the current Undici | ||
| * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps | ||
| * transport and decode failures to `HttpClientError`. | ||
| * | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -258,9 +302,15 @@ export const makeUndici = /*#__PURE__*/Effect.gen(function* () { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici-backed `HttpClient` using the current `Dispatcher` | ||
| * service. | ||
| * | ||
| * @category Undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici-backed `HttpClient` together with a scoped default | ||
| * Undici `Agent` dispatcher. | ||
| * | ||
| * @category Undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -272,9 +322,15 @@ export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the paired Node `http` and `https` agents used by the | ||
| * node:http-backed HTTP client. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
| export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {} | ||
| /** | ||
| * @since 1.0.0 | ||
| * Acquires Node `http` and `https` agents with the supplied options and | ||
| * destroys both agents when the enclosing scope is finalized. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -286,14 +342,24 @@ export const makeAgent = options => Effect.zipWith(Effect.acquireRelease(Effect.sync(() => new Http.Agent(options)), agent => Effect.sync(() => agent.destroy())), Effect.acquireRelease(Effect.sync(() => new Https.Agent(options)), agent => Effect.sync(() => agent.destroy())), (http, https) => ({ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `HttpAgent` service using scoped Node `http` and `https` | ||
| * agents configured with the supplied options. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent)); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `HttpAgent` service using default scoped Node `http` and | ||
| * `https` agents. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerAgent = /*#__PURE__*/layerAgentOptions(); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates an `HttpClient` backed by Node `http` and `https`, using the | ||
| * current `HttpAgent`, streaming request bodies, and wrapping Node responses | ||
| * as `HttpClientResponse` values. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -461,11 +527,17 @@ export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a node:http-backed `HttpClient` using the current `HttpAgent` | ||
| * service. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a node:http-backed `HttpClient` together with default scoped Node | ||
| * `http` and `https` agents. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent); | ||
| //# sourceMappingURL=NodeHttpClient.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpClient.js","names":["Context","Effect","flow","Inspectable","Layer","Option","pipeArguments","Stream","Cookies","Headers","Client","Error","Response","IncomingMessage","UrlParams","Http","Https","Readable","pipeline","NodeHttpIncomingMessage","NodeSink","NodeStream","Undici","Fetch","layer","layerFetch","RequestInit","Dispatcher","Service","makeDispatcher","acquireRelease","sync","Agent","dispatcher","promise","destroy","layerDispatcher","effect","dispatcherLayerGlobal","getGlobalDispatcher","UndiciOptions","Reference","defaultValue","makeUndici","gen","make","request","url","signal","fiber","convertBody","body","pipe","flatMap","tryPromise","try","getRef","method","headers","origin","path","pathname","search","hash","headersTimeout","bodyTimeout","catch","cause","HttpClientError","reason","TransportError","map","response","UndiciResponse","_tag","succeed","formData","toReadable","stream","noopErrorHandler","_","Class","TypeId","source","constructor","on","status","statusCode","statusText","undefined","fromInput","cachedCookies","cookies","header","fromSetCookie","empty","remoteAddress","none","fromReadable","evaluate","onError","DecodeError","json","text","JSON","parse","textBody","cached","runSync","arrayBufferBody","TextEncoder","encode","buffer","urlParamsBody","URLSearchParams","formDataBody","arrayBuffer","TextDecoder","decode","toJSON","inspect","_id","arguments","layerUndiciNoDispatcher","layerMergedContext","layerUndici","provide","HttpAgent","makeAgent","options","zipWith","agent","http","https","layerAgentOptions","layerAgent","makeNodeHttp","nodeRequest","protocol","forkChild","sendBody","waitForResponse","NodeHttpResponse","suspend","end","waitForFinish","globalThis","forEach","value","key","setHeader","fromWeb","run","mapError","EncodeError","fromWritable","callback","resume","fail","onResponse","off","once","onFinish","void","init","statusMessage","toWeb","layerNodeHttpNoAgent","layerNodeHttp"],"sources":["../src/NodeHttpClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AACjD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAAwBC,aAAa,QAAQ,iBAAiB;AAG9D,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AAEvD,OAAO,KAAKC,MAAM,MAAM,iCAAiC;AACzD,OAAO,KAAKC,KAAK,MAAM,sCAAsC;AAE7D,OAAO,KAAKC,QAAQ,MAAM,yCAAyC;AAEnE,OAAO,KAAKC,eAAe,MAAM,0CAA0C;AAC3E,OAAO,KAAKC,SAAS,MAAM,gCAAgC;AAC3D,OAAO,KAAKC,IAAI,MAAM,WAAW;AACjC,OAAO,KAAKC,KAAK,MAAM,YAAY;AACnC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;AACA;AACA;AAEA;AACE;;;;AAIAC,KAAK;AACL;;;;AAIAC,KAAK,IAAIC,UAAU;AACnB;;;;AAIAC,WAAW,QACN,sCAAsC;AAE7C;AACA;AACA;AAEA;;;;AAIA,OAAM,MAAOC,UAAW,sBAAQ3B,OAAO,CAAC4B,OAAO,EAAiC,CAC9E,iDAAiD,CAClD;AAED;;;;AAIA,OAAO,MAAMC,cAAc,gBAAyD5B,MAAM,CAAC6B,cAAc,cACvG7B,MAAM,CAAC8B,IAAI,CAAC,MAAM,IAAIT,MAAM,CAACU,KAAK,EAAE,CAAC,EACpCC,UAAU,IAAKhC,MAAM,CAACiC,OAAO,CAAC,MAAMD,UAAU,CAACE,OAAO,EAAE,CAAC,CAC3D;AAED;;;;AAIA,OAAO,MAAMC,eAAe,gBAA4BhC,KAAK,CAACiC,MAAM,CAACV,UAAU,CAAC,CAACE,cAAc,CAAC;AAEhG;;;;AAIA,OAAO,MAAMS,qBAAqB,gBAA4BlC,KAAK,CAAC2B,IAAI,CAACJ,UAAU,CAAC,CAAC,MAAML,MAAM,CAACiB,mBAAmB,EAAE,CAAC;AAExH;;;;AAIA,OAAO,MAAMC,aAAa,gBAAGxC,OAAO,CAACyC,SAAS,CAC5C,oDAAoD,EACpD;EAAEC,YAAY,EAAEA,CAAA,MAAO,EAAE;AAAC,CAAE,CAC7B;AAED;;;;AAIA,OAAO,MAAMC,UAAU,gBAAG1C,MAAM,CAAC2C,GAAG,CAAC,aAAS;EAC5C,MAAMX,UAAU,GAAG,OAAON,UAAU;EACpC,OAAOjB,MAAM,CAACmC,IAAI,CAAC,CAACC,OAAO,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,KAC7CC,WAAW,CAACJ,OAAO,CAACK,IAAI,CAAC,CAACC,IAAI,CAC5BnD,MAAM,CAACoD,OAAO,CAAEF,IAAI,IAClBlD,MAAM,CAACqD,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KACHtB,UAAU,CAACa,OAAO,CAAC;MACjB,GAAGG,KAAK,CAACO,MAAM,CAAChB,aAAa,CAAC;MAC9BQ,MAAM;MACNS,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBC,OAAO,EAAEZ,OAAO,CAACY,OAAO;MACxBC,MAAM,EAAEZ,GAAG,CAACY,MAAM;MAClBC,IAAI,EAAEb,GAAG,CAACc,QAAQ,GAAGd,GAAG,CAACe,MAAM,GAAGf,GAAG,CAACgB,IAAI;MAC1CZ,IAAI;MACJ;MACAa,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;MAC9BC,WAAW,EAAE;KACd,CAAC;IACJC,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;MACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC2D,cAAc,CAAC;QAC/BxB,OAAO;QACPqB;OACD;KACF;GACJ,CAAC,CACH,EACDlE,MAAM,CAACsE,GAAG,CAAEC,QAAQ,IAAK,IAAIC,cAAc,CAAC3B,OAAO,EAAE0B,QAAQ,CAAC,CAAC,CAChE,CACF;AACH,CAAC,CAAC;AAEF,SAAStB,WAAWA,CAClBC,IAAmB;EAEnB,QAAQA,IAAI,CAACuB,IAAI;IACf,KAAK,OAAO;MAAE;QACZ,OAAOzE,MAAM,CAAC0E,OAAO,CAAC,IAAI,CAAC;MAC7B;IACA,KAAK,YAAY;IACjB,KAAK,KAAK;MAAE;QACV,OAAO1E,MAAM,CAAC0E,OAAO,CAACxB,IAAI,CAACA,IAAkB,CAAC;MAChD;IACA,KAAK,UAAU;MAAE;QACf,OAAOlD,MAAM,CAAC0E,OAAO,CAACxB,IAAI,CAACyB,QAAe,CAAC;MAC7C;IACA,KAAK,QAAQ;MAAE;QACb,OAAOvD,UAAU,CAACwD,UAAU,CAAC1B,IAAI,CAAC2B,MAAM,CAAC;MAC3C;EACF;AACF;AAEA,SAASC,gBAAgBA,CAACC,CAAM,GAAG;AAEnC,MAAMP,cAAe,SAAQtE,WAAW,CAAC8E,KAAK;EACnC,CAACpE,eAAe,CAACqE,MAAM;EACvB,CAACtE,QAAQ,CAACsE,MAAM;EAChBpC,OAAO;EACPqC,MAAM;EAEfC,YACEtC,OAA0B,EAC1BqC,MAAsC;IAEtC,KAAK,EAAE;IACP,IAAI,CAACtE,eAAe,CAACqE,MAAM,CAAC,GAAGrE,eAAe,CAACqE,MAAM;IACrD,IAAI,CAACtE,QAAQ,CAACsE,MAAM,CAAC,GAAGtE,QAAQ,CAACsE,MAAM;IACvC,IAAI,CAACpC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACqC,MAAM,GAAGA,MAAM;IACpBA,MAAM,CAAChC,IAAI,CAACkC,EAAE,CAAC,OAAO,EAAEN,gBAAgB,CAAC;EAC3C;EAEA,IAAIO,MAAMA,CAAA;IACR,OAAO,IAAI,CAACH,MAAM,CAACI,UAAW;EAChC;EAEA,IAAIC,UAAUA,CAAA;IACZ,OAAOC,SAAS;EAClB;EAEA,IAAI/B,OAAOA,CAAA;IACT,OAAOjD,OAAO,CAACiF,SAAS,CAAC,IAAI,CAACP,MAAM,CAACzB,OAAO,CAAC;EAC/C;EAEAiC,aAAa;EACb,IAAIC,OAAOA,CAAA;IACT,IAAI,IAAI,CAACD,aAAa,KAAKF,SAAS,EAAE;MACpC,OAAO,IAAI,CAACE,aAAa;IAC3B;IACA,MAAME,MAAM,GAAG,IAAI,CAACV,MAAM,CAACzB,OAAO,CAAC,YAAY,CAAC;IAChD,OAAO,IAAI,CAACiC,aAAa,GAAGE,MAAM,GAAGrF,OAAO,CAACsF,aAAa,CAACD,MAAM,CAAC,GAAGrF,OAAO,CAACuF,KAAK;EACpF;EAEA,IAAIC,aAAaA,CAAA;IACf,OAAO3F,MAAM,CAAC4F,IAAI,EAAE;EACtB;EAEA,IAAInB,MAAMA,CAAA;IACR,OAAOzD,UAAU,CAAC6E,YAAY,CAAC;MAC7BC,QAAQ,EAAEA,CAAA,KAAM,IAAI,CAAChB,MAAM,CAAChC,IAAI;MAChCiD,OAAO,EAAGjC,KAAK,IACb,IAAIxD,KAAK,CAACyD,eAAe,CAAC;QACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;UAC5BvD,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0B,QAAQ,EAAE,IAAI;UACdL;SACD;OACF;KACJ,CAAC;EACJ;EAEA,IAAImC,IAAIA,CAAA;IACN,OAAOrG,MAAM,CAACoD,OAAO,CAAC,IAAI,CAACkD,IAAI,EAAGA,IAAI,IACpCtG,MAAM,CAACsD,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMgD,IAAI,KAAK,EAAE,GAAG,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACF,IAAI,CAAC;MAChDrC,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;QACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;UAC5BvD,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0B,QAAQ,EAAE,IAAI;UACdL;SACD;OACF;KACJ,CAAC,CAAC;EACP;EAEQuC,QAAQ;EAChB,IAAIH,IAAIA,CAAA;IACN,IAAI,IAAI,CAACG,QAAQ,EAAE;MACjB,OAAO,IAAI,CAACA,QAAQ;IACtB;IACA,IAAI,CAACA,QAAQ,GAAGzG,MAAM,CAACqD,UAAU,CAAC;MAChCC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAAC4B,MAAM,CAAChC,IAAI,CAACoD,IAAI,EAAE;MAClCrC,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;QACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;UAC5BvD,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0B,QAAQ,EAAE,IAAI;UACdL;SACD;OACF;KACJ,CAAC,CAACf,IAAI,CAACnD,MAAM,CAAC0G,MAAM,EAAE1G,MAAM,CAAC2G,OAAO,CAAC;IACtC,IAAI,CAACC,eAAe,GAAG5G,MAAM,CAACsE,GAAG,CAAC,IAAI,CAACmC,QAAQ,EAAG1B,CAAC,IAAK,IAAI8B,WAAW,EAAE,CAACC,MAAM,CAAC/B,CAAC,CAAC,CAACgC,MAAM,CAAC;IAC3F,OAAO,IAAI,CAACN,QAAQ;EACtB;EAEA,IAAIO,aAAaA,CAAA;IACf,OAAOhH,MAAM,CAACoD,OAAO,CAAC,IAAI,CAACkD,IAAI,EAAGvB,CAAC,IACjC/E,MAAM,CAACsD,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMzC,SAAS,CAAC4E,SAAS,CAAC,IAAIwB,eAAe,CAAClC,CAAC,CAAC,CAAC;MACtDd,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;QACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;UAC5BvD,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0B,QAAQ,EAAE,IAAI;UACdL;SACD;OACF;KACJ,CAAC,CAAC;EACP;EAEQgD,YAAY;EACpB,IAAIvC,QAAQA,CAAA;IACV,OAAO,IAAI,CAACuC,YAAY,KAAKlH,MAAM,CAACqD,UAAU,CAAC;MAC7CC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAAC4B,MAAM,CAAChC,IAAI,CAACyB,QAAQ,EAAuB;MAC3DV,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;QACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;UAC5BvD,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0B,QAAQ,EAAE,IAAI;UACdL;SACD;OACF;KACJ,CAAC,CAACf,IAAI,CAACnD,MAAM,CAAC0G,MAAM,EAAE1G,MAAM,CAAC2G,OAAO,CAAC;EACxC;EAEQC,eAAe;EACvB,IAAIO,WAAWA,CAAA;IACb,IAAI,IAAI,CAACP,eAAe,EAAE;MACxB,OAAO,IAAI,CAACA,eAAe;IAC7B;IACA,IAAI,CAACA,eAAe,GAAG5G,MAAM,CAACqD,UAAU,CAAC;MACvCC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAAC4B,MAAM,CAAChC,IAAI,CAACiE,WAAW,EAAE;MACzClD,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;QACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;UAC5BvD,OAAO,EAAE,IAAI,CAACA,OAAO;UACrB0B,QAAQ,EAAE,IAAI;UACdL;SACD;OACF;KACJ,CAAC,CAACf,IAAI,CAACnD,MAAM,CAAC0G,MAAM,EAAE1G,MAAM,CAAC2G,OAAO,CAAC;IACtC,IAAI,CAACF,QAAQ,GAAGzG,MAAM,CAACsE,GAAG,CAAC,IAAI,CAACsC,eAAe,EAAG7B,CAAC,IAAK,IAAIqC,WAAW,EAAE,CAACC,MAAM,CAACtC,CAAC,CAAC,CAAC;IACpF,OAAO,IAAI,CAAC6B,eAAe;EAC7B;EAEAU,MAAMA,CAAA;IACJ,OAAO1G,eAAe,CAAC2G,OAAO,CAAC,IAAI,EAAE;MACnCC,GAAG,EAAE,gCAAgC;MACrC3E,OAAO,EAAE,IAAI,CAACA,OAAO,CAACyE,MAAM,EAAE;MAC9BjC,MAAM,EAAE,IAAI,CAACA;KACd,CAAC;EACJ;EAEAlC,IAAIA,CAAA;IACF,OAAO9C,aAAa,CAAC,IAAI,EAAEoH,SAAS,CAAC;EACvC;;AAGF;;;;AAIA,OAAO,MAAMC,uBAAuB,gBAIhCjH,MAAM,CAACkH,kBAAkB,CAACjF,UAAU,CAAC;AAEzC;;;;AAIA,OAAO,MAAMkF,WAAW,gBAAmCzH,KAAK,CAAC0H,OAAO,CAACH,uBAAuB,EAAEvF,eAAe,CAAC;AAElH;AACA;AACA;AAEA;;;;AAIA,OAAM,MAAO2F,SAAU,sBAAQ/H,OAAO,CAAC4B,OAAO,EAG1C,CAAC,gDAAgD,CAAC;AAEtD;;;;AAIA,OAAO,MAAMoG,SAAS,GAAIC,OAA4B,IACpDhI,MAAM,CAACiI,OAAO,CACZjI,MAAM,CAAC6B,cAAc,CACnB7B,MAAM,CAAC8B,IAAI,CAAC,MAAM,IAAIhB,IAAI,CAACiB,KAAK,CAACiG,OAAO,CAAC,CAAC,EACzCE,KAAK,IAAKlI,MAAM,CAAC8B,IAAI,CAAC,MAAMoG,KAAK,CAAChG,OAAO,EAAE,CAAC,CAC9C,EACDlC,MAAM,CAAC6B,cAAc,CACnB7B,MAAM,CAAC8B,IAAI,CAAC,MAAM,IAAIf,KAAK,CAACgB,KAAK,CAACiG,OAAO,CAAC,CAAC,EAC1CE,KAAK,IAAKlI,MAAM,CAAC8B,IAAI,CAAC,MAAMoG,KAAK,CAAChG,OAAO,EAAE,CAAC,CAC9C,EACD,CAACiG,IAAI,EAAEC,KAAK,MAAM;EAAED,IAAI;EAAEC;AAAK,CAAE,CAAC,CACnC;AAEH;;;;AAIA,OAAO,MAAMC,iBAAiB,gBAE1BpI,IAAI,CAAC8H,SAAS,eAAE5H,KAAK,CAACiC,MAAM,CAAC0F,SAAS,CAAC,CAAC;AAE5C;;;;AAIA,OAAO,MAAMQ,UAAU,gBAA2BD,iBAAiB,EAAE;AAErE;;;;AAIA,OAAO,MAAME,YAAY,gBAAGvI,MAAM,CAAC2C,GAAG,CAAC,aAAS;EAC9C,MAAMuF,KAAK,GAAG,OAAOJ,SAAS;EAC9B,OAAOrH,MAAM,CAACmC,IAAI,CAAC,CAACC,OAAO,EAAEC,GAAG,EAAEC,MAAM,KAAI;IAC1C,MAAMyF,WAAW,GAAG1F,GAAG,CAAC2F,QAAQ,KAAK,QAAQ,GAC3C1H,KAAK,CAAC8B,OAAO,CAACC,GAAG,EAAE;MACjBoF,KAAK,EAAEA,KAAK,CAACE,KAAK;MAClB5E,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBC,OAAO,EAAEZ,OAAO,CAACY,OAAO;MACxBV;KACD,CAAC,GACFjC,IAAI,CAAC+B,OAAO,CAACC,GAAG,EAAE;MAChBoF,KAAK,EAAEA,KAAK,CAACC,IAAI;MACjB3E,MAAM,EAAEX,OAAO,CAACW,MAAM;MACtBC,OAAO,EAAEZ,OAAO,CAACY,OAAO;MACxBV;KACD,CAAC;IACJ,OAAO/C,MAAM,CAAC0I,SAAS,CAACC,QAAQ,CAACH,WAAW,EAAE3F,OAAO,EAAEA,OAAO,CAACK,IAAI,CAAC,CAAC,CAACC,IAAI,CACxEnD,MAAM,CAACoD,OAAO,CAAC,MAAMwF,eAAe,CAACJ,WAAW,EAAE3F,OAAO,CAAC,CAAC,EAC3D7C,MAAM,CAACsE,GAAG,CAAES,CAAC,IAAK,IAAI8D,gBAAgB,CAAChG,OAAO,EAAEkC,CAAC,CAAC,CAAC,CACpD;EACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM4D,QAAQ,GAAGA,CACfH,WAA+B,EAC/B3F,OAA0B,EAC1BK,IAAmB,KAEnBlD,MAAM,CAAC8I,OAAO,CAAC,MAAiD;EAC9D,QAAQ5F,IAAI,CAACuB,IAAI;IACf,KAAK,OAAO;MAAE;QACZ+D,WAAW,CAACO,GAAG,EAAE;QACjB,OAAOC,aAAa,CAACR,WAAW,EAAE3F,OAAO,CAAC;MAC5C;IACA,KAAK,YAAY;IACjB,KAAK,KAAK;MAAE;QACV2F,WAAW,CAACO,GAAG,CAAC7F,IAAI,CAACA,IAAI,CAAC;QAC1B,OAAO8F,aAAa,CAACR,WAAW,EAAE3F,OAAO,CAAC;MAC5C;IACA,KAAK,UAAU;MAAE;QACf,MAAM0B,QAAQ,GAAG,IAAI0E,UAAU,CAACtI,QAAQ,CAACuC,IAAI,CAACyB,QAAQ,CAAC;QAEvDJ,QAAQ,CAACd,OAAO,CAACyF,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;UACtCZ,WAAW,CAACa,SAAS,CAACD,GAAG,EAAED,KAAK,CAAC;QACnC,CAAC,CAAC;QAEF,OAAOnJ,MAAM,CAACqD,UAAU,CAAC;UACvBC,GAAG,EAAEA,CAAA,KAAMrC,QAAQ,CAACD,QAAQ,CAACsI,OAAO,CAAC/E,QAAQ,CAACrB,IAAY,CAAC,EAAEsF,WAAW,CAAC;UACzEvE,KAAK,EAAGC,KAAK,IACX,IAAIxD,KAAK,CAACyD,eAAe,CAAC;YACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC2D,cAAc,CAAC;cAC/BxB,OAAO;cACPqB;aACD;WACF;SACJ,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACb,OAAO5D,MAAM,CAACiJ,GAAG,CACfjJ,MAAM,CAACkJ,QAAQ,CAACtG,IAAI,CAAC2B,MAAM,EAAGX,KAAK,IACjC,IAAIxD,KAAK,CAACyD,eAAe,CAAC;UACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC+I,WAAW,CAAC;YAC5B5G,OAAO;YACPqB;WACD;SACF,CAAC,CAAC,EACL/C,QAAQ,CAACuI,YAAY,CAAC;UACpBxD,QAAQ,EAAEA,CAAA,KAAMsC,WAAW;UAC3BrC,OAAO,EAAGjC,KAAK,IACb,IAAIxD,KAAK,CAACyD,eAAe,CAAC;YACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC2D,cAAc,CAAC;cAC/BxB,OAAO;cACPqB;aACD;WACF;SACJ,CAAC,CACH;MACH;EACF;AACF,CAAC,CAAC;AAEJ,MAAM0E,eAAe,GAAGA,CAACJ,WAA+B,EAAE3F,OAA0B,KAClF7C,MAAM,CAAC2J,QAAQ,CAA+CC,MAAM,IAAI;EACtE,SAASzD,OAAOA,CAACjC,KAAY;IAC3B0F,MAAM,CAAC5J,MAAM,CAAC6J,IAAI,CAChB,IAAInJ,KAAK,CAACyD,eAAe,CAAC;MACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC2D,cAAc,CAAC;QAC/BxB,OAAO;QACPqB;OACD;KACF,CAAC,CACH,CAAC;EACJ;EACAsE,WAAW,CAACpD,EAAE,CAAC,OAAO,EAAEe,OAAO,CAAC;EAEhC,SAAS2D,UAAUA,CAACvF,QAA8B;IAChDiE,WAAW,CAACuB,GAAG,CAAC,OAAO,EAAE5D,OAAO,CAAC;IACjCyD,MAAM,CAAC5J,MAAM,CAAC0E,OAAO,CAACH,QAAQ,CAAC,CAAC;EAClC;EACAiE,WAAW,CAACpD,EAAE,CAAC,SAAS,EAAE0E,UAAU,CAAC;EACrCtB,WAAW,CAACpD,EAAE,CAAC,UAAU,EAAE0E,UAAU,CAAC;EAEtC,OAAO9J,MAAM,CAAC8B,IAAI,CAAC,MAAK;IACtB0G,WAAW,CAACuB,GAAG,CAAC,OAAO,EAAE5D,OAAO,CAAC;IACjCqC,WAAW,CAACuB,GAAG,CAAC,SAAS,EAAED,UAAU,CAAC;IACtCtB,WAAW,CAACuB,GAAG,CAAC,UAAU,EAAED,UAAU,CAAC;EACzC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAMd,aAAa,GAAGA,CAACR,WAA+B,EAAE3F,OAA0B,KAChF7C,MAAM,CAAC2J,QAAQ,CAA+BC,MAAM,IAAI;EACtD,SAASzD,OAAOA,CAACjC,KAAY;IAC3B0F,MAAM,CAAC5J,MAAM,CAAC6J,IAAI,CAChB,IAAInJ,KAAK,CAACyD,eAAe,CAAC;MACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC2D,cAAc,CAAC;QAC/BxB,OAAO;QACPqB;OACD;KACF,CAAC,CACH,CAAC;EACJ;EACAsE,WAAW,CAACwB,IAAI,CAAC,OAAO,EAAE7D,OAAO,CAAC;EAElC,SAAS8D,QAAQA,CAAA;IACfzB,WAAW,CAACuB,GAAG,CAAC,OAAO,EAAE5D,OAAO,CAAC;IACjCyD,MAAM,CAAC5J,MAAM,CAACkK,IAAI,CAAC;EACrB;EACA1B,WAAW,CAACwB,IAAI,CAAC,QAAQ,EAAEC,QAAQ,CAAC;EAEpC,OAAOjK,MAAM,CAAC8B,IAAI,CAAC,MAAK;IACtB0G,WAAW,CAACuB,GAAG,CAAC,OAAO,EAAE5D,OAAO,CAAC;IACjCqC,WAAW,CAACuB,GAAG,CAAC,QAAQ,EAAEE,QAAQ,CAAC;EACrC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEJ,MAAMpB,gBAAiB,SAAQ3H,uBAA8C;EAClE,CAACP,QAAQ,CAACsE,MAAM;EAChBpC,OAAO;EAEhBsC,YACEtC,OAA0B,EAC1BqC,MAA4B;IAE5B,KAAK,CAACA,MAAM,EAAGhB,KAAK,IAClB,IAAIxD,KAAK,CAACyD,eAAe,CAAC;MACxBC,MAAM,EAAE,IAAI1D,KAAK,CAAC0F,WAAW,CAAC;QAC5BvD,OAAO;QACP0B,QAAQ,EAAE,IAAI;QACdL;OACD;KACF,CAAC,CAAC;IACL,IAAI,CAACvD,QAAQ,CAACsE,MAAM,CAAC,GAAGtE,QAAQ,CAACsE,MAAM;IACvC,IAAI,CAACpC,OAAO,GAAGA,OAAO;EACxB;EAEA,IAAIwC,MAAMA,CAAA;IACR,OAAO,IAAI,CAACH,MAAM,CAACI,UAAW;EAChC;EAEAI,aAAa;EACb,IAAIC,OAAOA,CAAA;IACT,IAAI,IAAI,CAACD,aAAa,KAAKF,SAAS,EAAE;MACpC,OAAO,IAAI,CAACE,aAAa;IAC3B;IACA,MAAME,MAAM,GAAG,IAAI,CAACV,MAAM,CAACzB,OAAO,CAAC,YAAY,CAAC;IAChD,OAAO,IAAI,CAACiC,aAAa,GAAGE,MAAM,GAAGrF,OAAO,CAACsF,aAAa,CAACD,MAAM,CAAC,GAAGrF,OAAO,CAACuF,KAAK;EACpF;EAEA,IAAInB,QAAQA,CAAA;IACV,OAAO3E,MAAM,CAACqD,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAK;QACR,MAAM6G,IAAI,GAIN;UACF1G,OAAO,EAAE,IAAIwF,UAAU,CAACzI,OAAO,CAAC,IAAI,CAAC0E,MAAM,CAACzB,OAAc;SAC3D;QAED,IAAI,IAAI,CAACyB,MAAM,CAACI,UAAU,EAAE;UAC1B6E,IAAI,CAAC9E,MAAM,GAAG,IAAI,CAACH,MAAM,CAACI,UAAU;QACtC;QAEA,IAAI,IAAI,CAACJ,MAAM,CAACkF,aAAa,EAAE;UAC7BD,IAAI,CAAC5E,UAAU,GAAG,IAAI,CAACL,MAAM,CAACkF,aAAa;QAC7C;QAEA,OAAO,IAAInB,UAAU,CAACtI,QAAQ,CAACK,QAAQ,CAACqJ,KAAK,CAAC,IAAI,CAACnF,MAAM,CAAQ,EAAEiF,IAAI,CAAC,CAACxF,QAAQ,EAAE;MACrF,CAAC;MACDV,KAAK,EAAE,IAAI,CAACkC;KACb,CAAC;EACJ;EAEAmB,MAAMA,CAAA;IACJ,OAAO1G,eAAe,CAAC2G,OAAO,CAAC,IAAI,EAAE;MACnCC,GAAG,EAAE,gCAAgC;MACrC3E,OAAO,EAAE,IAAI,CAACA,OAAO,CAACyE,MAAM,EAAE;MAC9BjC,MAAM,EAAE,IAAI,CAACA;KACd,CAAC;EACJ;EAEAlC,IAAIA,CAAA;IACF,OAAO9C,aAAa,CAAC,IAAI,EAAEoH,SAAS,CAAC;EACvC;;AAGF;;;;AAIA,OAAO,MAAM6C,oBAAoB,gBAI7B7J,MAAM,CAACkH,kBAAkB,CAACY,YAAY,CAAC;AAE3C;;;;AAIA,OAAO,MAAMgC,aAAa,gBAAmCpK,KAAK,CAAC0H,OAAO,CAACyC,oBAAoB,EAAEhC,UAAU,CAAC","ignoreList":[]} | ||
| {"version":3,"file":"NodeHttpClient.js","names":["Context","Effect","flow","Inspectable","Layer","Option","pipeArguments","Stream","Cookies","Headers","Client","Error","Response","IncomingMessage","UrlParams","Http","Https","Readable","pipeline","NodeHttpIncomingMessage","NodeSink","NodeStream","Undici","Fetch","layer","layerFetch","RequestInit","Dispatcher","Service","makeDispatcher","acquireRelease","sync","Agent","dispatcher","promise","destroy","layerDispatcher","effect","dispatcherLayerGlobal","getGlobalDispatcher","UndiciOptions","Reference","defaultValue","makeUndici","gen","make","request","url","signal","fiber","convertBody","body","pipe","flatMap","tryPromise","try","getRef","method","headers","origin","path","pathname","search","hash","headersTimeout","bodyTimeout","catch","cause","HttpClientError","reason","TransportError","map","response","UndiciResponse","_tag","succeed","formData","toReadable","stream","noopErrorHandler","_","Class","TypeId","source","constructor","on","status","statusCode","statusText","undefined","fromInput","cachedCookies","cookies","header","fromSetCookie","empty","remoteAddress","none","fromReadable","evaluate","onError","DecodeError","json","text","JSON","parse","textBody","cached","runSync","arrayBufferBody","TextEncoder","encode","buffer","urlParamsBody","URLSearchParams","formDataBody","arrayBuffer","TextDecoder","decode","toJSON","inspect","_id","arguments","layerUndiciNoDispatcher","layerMergedContext","layerUndici","provide","HttpAgent","makeAgent","options","zipWith","agent","http","https","layerAgentOptions","layerAgent","makeNodeHttp","nodeRequest","protocol","forkChild","sendBody","waitForResponse","NodeHttpResponse","suspend","end","waitForFinish","globalThis","forEach","value","key","setHeader","fromWeb","run","mapError","EncodeError","fromWritable","callback","resume","fail","onResponse","off","once","onFinish","void","init","statusMessage","toWeb","layerNodeHttpNoAgent","layerNodeHttp"],"sources":["../src/NodeHttpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * Utilities for adapting Node `http.IncomingMessage` values to the Effect HTTP | ||
| * incoming message interface used by the platform Node server and client | ||
| * implementations. | ||
| * | ||
| * This module is useful when code needs to keep access to Node's request or | ||
| * response object while also exposing Effect's typed headers, remote address, | ||
| * body decoders, and stream interface. The body helpers consume Node's readable | ||
| * stream, cache decoded text and array-buffer results, and honor the | ||
| * `HttpIncomingMessage.MaxBodySize` fiber ref. Prefer a single body access | ||
| * strategy per message: raw `stream` access is not cached, and Node request | ||
| * bodies cannot be replayed once the underlying stream has been consumed. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -14,8 +26,14 @@ import * as Effect from "effect/Effect"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Base adapter from Node `IncomingMessage` to Effect HTTP incoming messages, | ||
| * exposing headers, remote address, stream access, and cached text, JSON, URL | ||
| * parameter, and array-buffer body decoders with caller-provided error mapping. | ||
| * | ||
| * @category Constructors | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare abstract class NodeHttpIncomingMessage<E> extends Inspectable.Class implements IncomingMessage.HttpIncomingMessage<E> { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Marks this value as an HTTP incoming message for runtime guards. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -22,0 +40,0 @@ readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpIncomingMessage.d.ts","sourceRoot":"","sources":["../src/NodeHttpIncomingMessage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAC3D,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAGtC;;;GAGG;AACH,8BAAsB,uBAAuB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,KACnE,YAAW,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEjD;;OAEG;IACH,QAAQ,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,CAAC,MAAM,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;gBAGhE,MAAM,EAAE,IAAI,CAAC,eAAe,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAS/C,IAAI,OAAO,oBAEV;IAED,IAAI,aAAa,0BAEhB;IAED,OAAO,CAAC,UAAU,CAAsC;IACxD,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAgBnC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAMxC;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAMzD;IAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAKzC;IAED,OAAO,CAAC,iBAAiB,CAA2C;IACpE,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAe/C;CACF"} | ||
| {"version":3,"file":"NodeHttpIncomingMessage.d.ts","sourceRoot":"","sources":["../src/NodeHttpIncomingMessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAC3D,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAGtC;;;;;;;GAOG;AACH,8BAAsB,uBAAuB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,KACnE,YAAW,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,CAAC,MAAM,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;gBAGhE,MAAM,EAAE,IAAI,CAAC,eAAe,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAS/C,IAAI,OAAO,oBAEV;IAED,IAAI,aAAa,0BAEhB;IAED,OAAO,CAAC,UAAU,CAAsC;IACxD,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAgBnC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAMxC;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAMzD;IAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAKzC;IAED,OAAO,CAAC,iBAAiB,CAA2C;IACpE,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAe/C;CACF"} |
| /** | ||
| * @since 1.0.0 | ||
| * Utilities for adapting Node `http.IncomingMessage` values to the Effect HTTP | ||
| * incoming message interface used by the platform Node server and client | ||
| * implementations. | ||
| * | ||
| * This module is useful when code needs to keep access to Node's request or | ||
| * response object while also exposing Effect's typed headers, remote address, | ||
| * body decoders, and stream interface. The body helpers consume Node's readable | ||
| * stream, cache decoded text and array-buffer results, and honor the | ||
| * `HttpIncomingMessage.MaxBodySize` fiber ref. Prefer a single body access | ||
| * strategy per message: raw `stream` access is not cached, and Node request | ||
| * bodies cannot be replayed once the underlying stream has been consumed. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -12,8 +24,14 @@ import * as Effect from "effect/Effect"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Base adapter from Node `IncomingMessage` to Effect HTTP incoming messages, | ||
| * exposing headers, remote address, stream access, and cached text, JSON, URL | ||
| * parameter, and array-buffer body decoders with caller-provided error mapping. | ||
| * | ||
| * @category Constructors | ||
| * @since 4.0.0 | ||
| */ | ||
| export class NodeHttpIncomingMessage extends Inspectable.Class { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Marks this value as an HTTP incoming message for runtime guards. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -20,0 +38,0 @@ [IncomingMessage.TypeId]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpIncomingMessage.js","names":["Effect","Inspectable","Option","Headers","IncomingMessage","UrlParams","NodeStream","NodeHttpIncomingMessage","Class","TypeId","source","onError","remoteAddressOverride","constructor","headers","fromInput","remoteAddress","fromNullishOr","socket","textEffect","text","runSync","cached","flatMap","MaxBodySize","maxBodySize","toString","maxBytes","arrayBufferEffect","map","_","TextEncoder","encode","buffer","textUnsafe","json","try","JSON","parse","catch","jsonUnsafe","urlParamsBody","URLSearchParams","stream","fromReadable","evaluate","arrayBuffer","withFiber","fiber","toArrayBuffer","getRef","pipe","TextDecoder","decode"],"sources":["../src/NodeHttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"NodeHttpIncomingMessage.js","names":["Effect","Inspectable","Option","Headers","IncomingMessage","UrlParams","NodeStream","NodeHttpIncomingMessage","Class","TypeId","source","onError","remoteAddressOverride","constructor","headers","fromInput","remoteAddress","fromNullishOr","socket","textEffect","text","runSync","cached","flatMap","MaxBodySize","maxBodySize","toString","maxBytes","arrayBufferEffect","map","_","TextEncoder","encode","buffer","textUnsafe","json","try","JSON","parse","catch","jsonUnsafe","urlParamsBody","URLSearchParams","stream","fromReadable","evaluate","arrayBuffer","withFiber","fiber","toArrayBuffer","getRef","pipe","TextDecoder","decode"],"sources":["../src/NodeHttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
@@ -6,4 +6,7 @@ import * as Layer from "effect/Layer"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates the Node `HttpPlatform`, serving file responses from Node readable | ||
| * streams and adding MIME type and content-length headers when needed. | ||
| * | ||
| * @category Constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -23,6 +26,9 @@ export declare const make: import("effect/Effect").Effect<{ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `HttpPlatform` together with the filesystem and ETag | ||
| * services it needs for file responses. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer.Layer<Platform.HttpPlatform>; | ||
| //# sourceMappingURL=NodeHttpPlatform.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpPlatform.d.ts","sourceRoot":"","sources":["../src/NodeHttpPlatform.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAA;AAC7D,OAAO,KAAK,cAAc,MAAM,yCAAyC,CAAA;AAMzE;;;GAGG;AACH,eAAO,MAAM,IAAI;iDACf,CAAF;4BAA+D,CAAC;0BAExD,CAAC;uBACkC,CAAA;;uGAIK,CAAC;4BACtC,CAAC;0BAGN,CAAL;uBAG+B,CAAA;;sEAa9B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAIpD,CAAA"} | ||
| {"version":3,"file":"NodeHttpPlatform.d.ts","sourceRoot":"","sources":["../src/NodeHttpPlatform.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAA;AAC7D,OAAO,KAAK,cAAc,MAAM,yCAAyC,CAAA;AAMzE;;;;;;GAMG;AACH,eAAO,MAAM,IAAI;iDAT+B,CAAC;4BAGI,CAAC;0BAChB,CAAC;uBAEhB,CAAC;;uGAKa,CAAA;4BAED,CAAA;0BAC7B,CAAC;uBAEE,CAAC;;sEAqBT,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAIpD,CAAA"} |
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementation of the Effect HTTP platform service. | ||
| * | ||
| * This module connects the portable `HttpPlatform` file response helpers to | ||
| * Node runtime primitives. It is used by Node HTTP servers and static file | ||
| * handlers when returning local files, public assets, downloads, byte ranges, | ||
| * or Web `File` values as `HttpServerResponse` bodies. | ||
| * | ||
| * Path-based responses are served with `node:fs.createReadStream`; Web `File` | ||
| * responses are bridged with `Readable.fromWeb`. The implementation fills in | ||
| * `content-type` from `Mime`, falls back to `application/octet-stream`, and | ||
| * writes the `content-length` for the selected range or whole file. Node's | ||
| * stream `end` option is inclusive, so the platform converts Effect's half-open | ||
| * range before reading. Empty bodies use an empty readable stream. | ||
| * | ||
| * Provide `layer` at the Node runtime edge when file responses, static serving, | ||
| * or response bodies created from files need real filesystem and ETag support. | ||
| * These responses are raw Node streams, so they are intended for the Node HTTP | ||
| * server adapter; keep files available until the response body has been | ||
| * consumed and prefer the portable `HttpServerResponse` constructors when a | ||
| * response does not depend on Node file or stream behavior. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -15,4 +36,7 @@ import { pipe } from "effect/Function"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates the Node `HttpPlatform`, serving file responses from Node readable | ||
| * streams and adding MIME type and content-length headers when needed. | ||
| * | ||
| * @category Constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -47,6 +71,9 @@ export const make = /*#__PURE__*/Platform.make({ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `HttpPlatform` together with the filesystem and ETag | ||
| * services it needs for file responses. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = /*#__PURE__*/pipe(/*#__PURE__*/Layer.effect(Platform.HttpPlatform)(make), /*#__PURE__*/Layer.provide(NodeFileSystem.layer), /*#__PURE__*/Layer.provide(EtagImpl.layer)); | ||
| //# sourceMappingURL=NodeHttpPlatform.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpPlatform.js","names":["pipe","Layer","EtagImpl","Headers","Platform","ServerResponse","Fs","Readable","Mime","NodeFileSystem","make","fileResponse","path","status","statusText","headers","start","end","contentLength","stream","from","createReadStream","undefined","raw","getType","toString","fileWebResponse","file","_options","fromWeb","merge","fromRecordUnsafe","name","size","layer","effect","HttpPlatform","provide"],"sources":["../src/NodeHttpPlatform.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,2BAA2B;AACrD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,QAAQ,MAAM,mCAAmC;AAC7D,OAAO,KAAKC,cAAc,MAAM,yCAAyC;AACzE,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,SAASC,QAAQ,QAAQ,aAAa;AACtC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;;AAIA,OAAO,MAAMC,IAAI,gBAAGN,QAAQ,CAACM,IAAI,CAAC;EAChCC,YAAYA,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAEC,aAAa;IACvE,MAAMC,MAAM,GAAGD,aAAa,KAAK,CAAC,GAC9BX,QAAQ,CAACa,IAAI,CAAC,EAAE,CAAC,GACjBd,EAAE,CAACe,gBAAgB,CAACT,IAAI,EAAE;MAAEI,KAAK;MAAEC,GAAG,EAAEA,GAAG,KAAKK,SAAS,GAAGA,SAAS,GAAGL,GAAG,GAAG;IAAC,CAAE,CAAC;IACtF,OAAOZ,cAAc,CAACkB,GAAG,CAACJ,MAAM,EAAE;MAChCJ,OAAO,EAAE;QACP,GAAGA,OAAO;QACV,cAAc,EAAEA,OAAO,CAAC,cAAc,CAAC,IAAIP,IAAI,CAACgB,OAAO,CAACZ,IAAI,CAAC,IAAI,0BAA0B;QAC3F,gBAAgB,EAAEM,aAAa,CAACO,QAAQ;OACzC;MACDZ,MAAM;MACNC;KACD,CAAC;EACJ,CAAC;EACDY,eAAeA,CAACC,IAAI,EAAEd,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEa,QAAQ;IACzD,OAAOvB,cAAc,CAACkB,GAAG,CAAChB,QAAQ,CAACsB,OAAO,CAACF,IAAI,CAACR,MAAM,EAAS,CAAC,EAAE;MAChEJ,OAAO,EAAEZ,OAAO,CAAC2B,KAAK,CACpBf,OAAO,EACPZ,OAAO,CAAC4B,gBAAgB,CAAC;QACvB,cAAc,EAAEhB,OAAO,CAAC,cAAc,CAAC,IAAIP,IAAI,CAACgB,OAAO,CAACG,IAAI,CAACK,IAAI,CAAC,IAAI,0BAA0B;QAChG,gBAAgB,EAAEL,IAAI,CAACM,IAAI,CAACR,QAAQ;OACrC,CAAC,CACH;MACDZ,MAAM;MACNC;KACD,CAAC;EACJ;CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAMoB,KAAK,gBAAuClC,IAAI,cAC3DC,KAAK,CAACkC,MAAM,CAAC/B,QAAQ,CAACgC,YAAY,CAAC,CAAC1B,IAAI,CAAC,eACzCT,KAAK,CAACoC,OAAO,CAAC5B,cAAc,CAACyB,KAAK,CAAC,eACnCjC,KAAK,CAACoC,OAAO,CAACnC,QAAQ,CAACgC,KAAK,CAAC,CAC9B","ignoreList":[]} | ||
| {"version":3,"file":"NodeHttpPlatform.js","names":["pipe","Layer","EtagImpl","Headers","Platform","ServerResponse","Fs","Readable","Mime","NodeFileSystem","make","fileResponse","path","status","statusText","headers","start","end","contentLength","stream","from","createReadStream","undefined","raw","getType","toString","fileWebResponse","file","_options","fromWeb","merge","fromRecordUnsafe","name","size","layer","effect","HttpPlatform","provide"],"sources":["../src/NodeHttpPlatform.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,2BAA2B;AACrD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,QAAQ,MAAM,mCAAmC;AAC7D,OAAO,KAAKC,cAAc,MAAM,yCAAyC;AACzE,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,SAASC,QAAQ,QAAQ,aAAa;AACtC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;;;;;AAOA,OAAO,MAAMC,IAAI,gBAAGN,QAAQ,CAACM,IAAI,CAAC;EAChCC,YAAYA,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAEC,aAAa;IACvE,MAAMC,MAAM,GAAGD,aAAa,KAAK,CAAC,GAC9BX,QAAQ,CAACa,IAAI,CAAC,EAAE,CAAC,GACjBd,EAAE,CAACe,gBAAgB,CAACT,IAAI,EAAE;MAAEI,KAAK;MAAEC,GAAG,EAAEA,GAAG,KAAKK,SAAS,GAAGA,SAAS,GAAGL,GAAG,GAAG;IAAC,CAAE,CAAC;IACtF,OAAOZ,cAAc,CAACkB,GAAG,CAACJ,MAAM,EAAE;MAChCJ,OAAO,EAAE;QACP,GAAGA,OAAO;QACV,cAAc,EAAEA,OAAO,CAAC,cAAc,CAAC,IAAIP,IAAI,CAACgB,OAAO,CAACZ,IAAI,CAAC,IAAI,0BAA0B;QAC3F,gBAAgB,EAAEM,aAAa,CAACO,QAAQ;OACzC;MACDZ,MAAM;MACNC;KACD,CAAC;EACJ,CAAC;EACDY,eAAeA,CAACC,IAAI,EAAEd,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEa,QAAQ;IACzD,OAAOvB,cAAc,CAACkB,GAAG,CAAChB,QAAQ,CAACsB,OAAO,CAACF,IAAI,CAACR,MAAM,EAAS,CAAC,EAAE;MAChEJ,OAAO,EAAEZ,OAAO,CAAC2B,KAAK,CACpBf,OAAO,EACPZ,OAAO,CAAC4B,gBAAgB,CAAC;QACvB,cAAc,EAAEhB,OAAO,CAAC,cAAc,CAAC,IAAIP,IAAI,CAACgB,OAAO,CAACG,IAAI,CAACK,IAAI,CAAC,IAAI,0BAA0B;QAChG,gBAAgB,EAAEL,IAAI,CAACM,IAAI,CAACR,QAAQ;OACrC,CAAC,CACH;MACDZ,MAAM;MACNC;KACD,CAAC;EACJ;CACD,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAMoB,KAAK,gBAAuClC,IAAI,cAC3DC,KAAK,CAACkC,MAAM,CAAC/B,QAAQ,CAACgC,YAAY,CAAC,CAAC1B,IAAI,CAAC,eACzCT,KAAK,CAACoC,OAAO,CAAC5B,cAAc,CAACyB,KAAK,CAAC,eACnCjC,KAAK,CAACoC,OAAO,CAACnC,QAAQ,CAACgC,KAAK,CAAC,CAC9B","ignoreList":[]} |
@@ -23,4 +23,8 @@ import * as Config from "effect/Config"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a scoped `HttpServer` from a Node `http.Server`, starts listening | ||
| * with the supplied options, registers request and upgrade handling, and closes | ||
| * the server during scope finalization with optional graceful-shutdown control. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -38,4 +42,8 @@ export declare const make: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Net.ListenOptions & { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a Node `request` event handler for an Effect HTTP application, | ||
| * injecting a `HttpServerRequest` and interrupting the request fiber if the | ||
| * client closes the response before it finishes. | ||
| * | ||
| * @category Handlers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -47,4 +55,8 @@ export declare const makeHandler: <R, E, App extends Effect.Effect<HttpServerResponse, any, any> = Effect.Effect<HttpServerResponse, E, R>>(httpEffect: Effect.Effect<HttpServerResponse, E, R>, options: { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a Node `upgrade` event handler for an Effect HTTP application, | ||
| * exposing the upgraded WebSocket as the request's `upgrade` effect and | ||
| * interrupting the request fiber when the socket closes early. | ||
| * | ||
| * @category Handlers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -56,4 +68,7 @@ export declare const makeUpgradeHandler: <R, E, App extends Effect.Effect<HttpServerResponse, any, any> = Effect.Effect<HttpServerResponse, E, R>>(lazyWss: Effect.Effect<NodeWS.WebSocketServer>, httpEffect: Effect.Effect<HttpServerResponse, E, R>, options: { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an `HttpServer` by creating and managing a scoped Node | ||
| * `http.Server` with the supplied listen and shutdown options. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -65,9 +80,15 @@ export declare const layerServer: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Net.ListenOptions & { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node HTTP support services used by `NodeHttpServer`, including | ||
| * the HTTP platform, ETag generator, and core Node platform services. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerHttpServices: Layer.Layer<NodeServices.NodeServices | HttpPlatform.HttpPlatform | Etag.Generator>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a Node `HttpServer` together with the Node HTTP platform, ETag, and | ||
| * core platform services required to serve requests. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -79,4 +100,7 @@ export declare const layer: (evaluate: LazyArg<Http.Server>, options: Net.ListenOptions & { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a Node `HttpServer` and HTTP support services, reading the listen | ||
| * and shutdown options from a `Config` value. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -88,6 +112,9 @@ export declare const layerConfig: (evaluate: LazyArg<Http.Server>, options: Config.Wrap<Net.ListenOptions & { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a test HTTP server listening on an ephemeral port together with a | ||
| * Fetch-backed `HttpClient` configured for server integration tests. | ||
| * | ||
| * @category Testing | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerTest: Layer.Layer<HttpServer.HttpServer | FileSystem.FileSystem | Path.Path | HttpPlatform.HttpPlatform | Etag.Generator | HttpClient, ServeError, never>; | ||
| //# sourceMappingURL=NodeHttpServer.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpServer.d.ts","sourceRoot":"","sources":["../src/NodeHttpServer.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"NodeHttpServer.d.ts","sourceRoot":"","sources":["../src/NodeHttpServer.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementation of the Effect `HttpServer`. | ||
| * | ||
| * This module adapts a supplied Node `http.Server` into Effect's | ||
| * platform-independent HTTP server service. It starts the server with Node | ||
| * `listen` options, converts `request` events into `HttpServerRequest` values, | ||
| * writes `HttpServerResponse` bodies through Node's `ServerResponse`, and | ||
| * handles `upgrade` events by exposing the upgraded socket through | ||
| * `HttpServerRequest.upgrade`. | ||
| * | ||
| * Common use cases include serving an Effect HTTP application with {@link layer} | ||
| * or {@link layerConfig}, embedding request or upgrade handlers into an | ||
| * existing Node server with {@link makeHandler} and {@link makeUpgradeHandler}, | ||
| * and using {@link layerTest} for integration tests that need an ephemeral | ||
| * listening port and a client pointed at it. | ||
| * | ||
| * Listen options are passed directly to Node, so host, port, backlog, and Unix | ||
| * socket path behavior follow `node:http`. The server begins listening when the | ||
| * `HttpServer` is acquired, and handlers are installed when `serve` is run. | ||
| * Request fibers are interrupted with `ClientAbort` when the client disconnects | ||
| * before a response finishes. WebSocket support only applies to Node `upgrade` | ||
| * requests, and ordinary HTTP requests fail if their application attempts to use | ||
| * `HttpServerRequest.upgrade`. | ||
| * | ||
| * Scope ownership is important: the server is closed when the acquiring scope | ||
| * finalizes, while each `serve` call installs its own request and upgrade | ||
| * listeners and removes them on finalization. Unless preemptive shutdown is | ||
| * disabled, finalizing a serve scope also starts a graceful server close, using | ||
| * the configured timeout or the default timeout. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -34,4 +63,8 @@ import * as Cause from "effect/Cause"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a scoped `HttpServer` from a Node `http.Server`, starts listening | ||
| * with the supplied options, registers request and upgrade handling, and closes | ||
| * the server during scope finalization with optional graceful-shutdown control. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -107,4 +140,8 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (evaluate, options) { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a Node `request` event handler for an Effect HTTP application, | ||
| * injecting a `HttpServerRequest` and interrupting the request fiber if the | ||
| * client closes the response before it finishes. | ||
| * | ||
| * @category Handlers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -128,4 +165,8 @@ export const makeHandler = (httpEffect, options) => { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a Node `upgrade` event handler for an Effect HTTP application, | ||
| * exposing the upgraded WebSocket as the request's `upgrade` effect and | ||
| * interrupting the request fiber when the socket closes early. | ||
| * | ||
| * @category Handlers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -235,24 +276,39 @@ export const makeUpgradeHandler = (lazyWss, httpEffect, options) => { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an `HttpServer` by creating and managing a scoped Node | ||
| * `http.Server` with the supplied listen and shutdown options. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerServer = /*#__PURE__*/flow(make, /*#__PURE__*/Layer.effect(HttpServer.HttpServer)); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node HTTP support services used by `NodeHttpServer`, including | ||
| * the HTTP platform, ETag generator, and core Node platform services. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerHttpServices = /*#__PURE__*/Layer.mergeAll(NodeHttpPlatform.layer, Etag.layerWeak, NodeServices.layer); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a Node `HttpServer` together with the Node HTTP platform, ETag, and | ||
| * core platform services required to serve requests. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = (evaluate, options) => Layer.mergeAll(layerServer(evaluate, options), layerHttpServices); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a Node `HttpServer` and HTTP support services, reading the listen | ||
| * and shutdown options from a `Config` value. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerConfig = (evaluate, options) => Layer.mergeAll(Layer.effect(HttpServer.HttpServer)(Effect.flatMap(Config.unwrap(options), options => make(evaluate, options))), layerHttpServices); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a test HTTP server listening on an ephemeral port together with a | ||
| * Fetch-backed `HttpClient` configured for server integration tests. | ||
| * | ||
| * @category Testing | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -259,0 +315,0 @@ export const layerTest = /*#__PURE__*/HttpServer.layerTestClient.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(FetchHttpClient.layer).pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.succeed(FetchHttpClient.RequestInit)({ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpServer.js","names":["Cause","Config","Context","Duration","Effect","Fiber","flow","Latch","Layer","Scope","Stream","Cookies","Etag","FetchHttpClient","HttpEffect","HttpIncomingMessage","HttpServer","causeResponse","ClientAbort","HttpServerError","RequestParseError","ResponseError","ServeError","Request","HttpServerRequest","Socket","Http","Readable","pipeline","NodeHttpIncomingMessage","NodeHttpPlatform","NodeMultipart","NodeServices","NodeWS","make","fnUntraced","evaluate","options","scope","server","shutdown","callback","resume","listening","void","close","error","die","pipe","cached","preemptiveShutdown","disablePreemptiveShutdown","timeoutOrElse","duration","gracefulShutdownTimeout","seconds","orElse","addFinalizer","onError","cause","fail","on","listen","off","address","wss","acquireRelease","sync","WebSocketServer","noServer","provide","_tag","path","hostname","port","serve","httpApp","middleware","serveScope","forkUnsafe","handler","makeHandler","upgradeHandler","makeUpgradeHandler","addFinalizerExit","httpEffect","handled","toHandled","handleResponse","withFiber","parent","services","context","succeed","nodeRequest","nodeResponse","map","Map","mapUnsafe","set","key","ServerRequestImpl","fiber","runIn","runForkWith","makeUnsafe","writableEnded","interruptUnsafe","id","annotation","lazyWss","handledApp","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","end","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","TypeId","response","url","headersOverride","constructor","source","remoteAddressOverride","reason","request","cachedCookies","cookies","parseHeader","headers","cookie","resolvedResponse","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","description","toString","toJSON","inspect","_id","layerServer","effect","layerHttpServices","mergeAll","layer","layerWeak","layerConfig","unwrap","layerTest","layerTestClient","fresh","RequestInit","keepalive","provideMerge","createServer","isEmpty","toSet","toSetCookieHeaders","push","writeHead","status","body","tryPromise","try","signal","catch","interruptible","tapCause","handleCause","length","suspend","r","globalThis","Response","formData","Object","fromEntries","fromWeb","once","drainLatch","openUnsafe","orDie","runForEachArray","array","needDrain","i","written","write","closeUnsafe","await","matchCauseEffect","onSuccess","onFailure","originalResponse","originalCause","headersSent","failCause","combine"],"sources":["../src/NodeHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"NodeHttpServer.js","names":["Cause","Config","Context","Duration","Effect","Fiber","flow","Latch","Layer","Scope","Stream","Cookies","Etag","FetchHttpClient","HttpEffect","HttpIncomingMessage","HttpServer","causeResponse","ClientAbort","HttpServerError","RequestParseError","ResponseError","ServeError","Request","HttpServerRequest","Socket","Http","Readable","pipeline","NodeHttpIncomingMessage","NodeHttpPlatform","NodeMultipart","NodeServices","NodeWS","make","fnUntraced","evaluate","options","scope","server","shutdown","callback","resume","listening","void","close","error","die","pipe","cached","preemptiveShutdown","disablePreemptiveShutdown","timeoutOrElse","duration","gracefulShutdownTimeout","seconds","orElse","addFinalizer","onError","cause","fail","on","listen","off","address","wss","acquireRelease","sync","WebSocketServer","noServer","provide","_tag","path","hostname","port","serve","httpApp","middleware","serveScope","forkUnsafe","handler","makeHandler","upgradeHandler","makeUpgradeHandler","addFinalizerExit","httpEffect","handled","toHandled","handleResponse","withFiber","parent","services","context","succeed","nodeRequest","nodeResponse","map","Map","mapUnsafe","set","key","ServerRequestImpl","fiber","runIn","runForkWith","makeUnsafe","writableEnded","interruptUnsafe","id","annotation","lazyWss","handledApp","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","end","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","TypeId","response","url","headersOverride","constructor","source","remoteAddressOverride","reason","request","cachedCookies","cookies","parseHeader","headers","cookie","resolvedResponse","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","description","toString","toJSON","inspect","_id","layerServer","effect","layerHttpServices","mergeAll","layer","layerWeak","layerConfig","unwrap","layerTest","layerTestClient","fresh","RequestInit","keepalive","provideMerge","createServer","isEmpty","toSet","toSetCookieHeaders","push","writeHead","status","body","tryPromise","try","signal","catch","interruptible","tapCause","handleCause","length","suspend","r","globalThis","Response","formData","Object","fromEntries","fromWeb","once","drainLatch","openUnsafe","orDie","runForEachArray","array","needDrain","i","written","write","closeUnsafe","await","matchCauseEffect","onSuccess","onFailure","originalResponse","originalCause","headersSent","failCause","combine"],"sources":["../src/NodeHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * Accessors for the Node.js objects backing a platform Node | ||
| * `HttpServerRequest`. | ||
| * | ||
| * Use this module at interop boundaries when an Effect HTTP handler needs the | ||
| * original `http.IncomingMessage` or `http.ServerResponse` for APIs that are | ||
| * specific to Node, such as existing middleware, socket inspection, raw stream | ||
| * piping, or response customization that cannot be expressed with the portable | ||
| * `HttpServerRequest` and `HttpServerResponse` interfaces. | ||
| * | ||
| * The returned request is the original Node request supplied to the server. It | ||
| * does not reflect Effect request overrides made by middleware, such as a | ||
| * rewritten URL, adjusted headers, or a substituted remote address. Its body is | ||
| * also Node's one-shot readable stream, so avoid mixing raw stream consumption | ||
| * with Effect body, multipart, or stream helpers unless ownership of the body | ||
| * is clear. The returned response is the Node response owned by the platform | ||
| * server; writing to it directly bypasses the usual Effect response writer and | ||
| * must be coordinated carefully to avoid duplicate writes. Upgrade requests may | ||
| * create that response lazily when it is first requested. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -7,11 +26,18 @@ import type { HttpServerRequest } from "effect/unstable/http/HttpServerRequest"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node `IncomingMessage` for a platform Node | ||
| * `HttpServerRequest`. | ||
| * | ||
| * @category Accessors | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const toIncomingMessage: (self: HttpServerRequest) => Http.IncomingMessage; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node `ServerResponse` for a platform Node | ||
| * `HttpServerRequest`, evaluating the stored response thunk when the response | ||
| * was created lazily. | ||
| * | ||
| * @category Accessors | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const toServerResponse: (self: HttpServerRequest) => Http.ServerResponse; | ||
| //# sourceMappingURL=NodeHttpServerRequest.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpServerRequest.d.ts","sourceRoot":"","sources":["../src/NodeHttpServerRequest.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,KAAG,IAAI,CAAC,eAAqC,CAAA;AAEtG;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,iBAAiB,KAAG,IAAI,CAAC,cAG/D,CAAA"} | ||
| {"version":3,"file":"NodeHttpServerRequest.d.ts","sourceRoot":"","sources":["../src/NodeHttpServerRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,KAAG,IAAI,CAAC,eAAqC,CAAA;AAEtG;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,iBAAiB,KAAG,IAAI,CAAC,cAG/D,CAAA"} |
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node `IncomingMessage` for a platform Node | ||
| * `HttpServerRequest`. | ||
| * | ||
| * @category Accessors | ||
| * @since 4.0.0 | ||
| */ | ||
| export const toIncomingMessage = self => self.source; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node `ServerResponse` for a platform Node | ||
| * `HttpServerRequest`, evaluating the stored response thunk when the response | ||
| * was created lazily. | ||
| * | ||
| * @category Accessors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -10,0 +17,0 @@ export const toServerResponse = self => { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeHttpServerRequest.js","names":["toIncomingMessage","self","source","toServerResponse","res","response"],"sources":["../src/NodeHttpServerRequest.ts"],"sourcesContent":[null],"mappings":"AAMA;;;;AAIA,OAAO,MAAMA,iBAAiB,GAAIC,IAAuB,IAA2BA,IAAI,CAACC,MAAa;AAEtG;;;;AAIA,OAAO,MAAMC,gBAAgB,GAAIF,IAAuB,IAAyB;EAC/E,MAAMG,GAAG,GAAIH,IAAY,CAACI,QAAQ;EAClC,OAAO,OAAOD,GAAG,KAAK,UAAU,GAAGA,GAAG,EAAE,GAAGA,GAAG;AAChD,CAAC","ignoreList":[]} | ||
| {"version":3,"file":"NodeHttpServerRequest.js","names":["toIncomingMessage","self","source","toServerResponse","res","response"],"sources":["../src/NodeHttpServerRequest.ts"],"sourcesContent":[null],"mappings":"AAyBA;;;;;;;AAOA,OAAO,MAAMA,iBAAiB,GAAIC,IAAuB,IAA2BA,IAAI,CAACC,MAAa;AAEtG;;;;;;;;AAQA,OAAO,MAAMC,gBAAgB,GAAIF,IAAuB,IAAyB;EAC/E,MAAMG,GAAG,GAAIH,IAAY,CAACI,QAAQ;EAClC,OAAO,OAAOD,GAAG,KAAK,UAAU,GAAGA,GAAG,EAAE,GAAGA,GAAG;AAChD,CAAC","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * Node-specific helpers for parsing HTTP `multipart/form-data` request bodies. | ||
| * | ||
| * This module adapts a Node `Readable` request body plus its incoming headers | ||
| * into the shared `Multipart` model. Use `stream` when an HTTP server route | ||
| * wants to handle form fields and uploaded files incrementally, for example API | ||
| * endpoints that validate text fields while piping file parts to storage. Use | ||
| * `persisted` when the whole form should be collected into a record and uploaded | ||
| * files should be written into scoped temporary files through the current | ||
| * `FileSystem` and `Path` services. | ||
| * | ||
| * Node request bodies are one-shot streams, so consume either `stream` or | ||
| * `persisted`, and make sure file parts are drained, piped, or otherwise | ||
| * deliberately handled. `contentEffect` loads a file into memory and should be | ||
| * reserved for small uploads. Persisted paths live only for the surrounding | ||
| * `Scope`, and filenames supplied by clients should be treated as metadata, not | ||
| * trusted filesystem paths. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -13,15 +30,25 @@ import * as Effect from "effect/Effect"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Parses multipart data from a Node readable request body and headers into a | ||
| * stream of `Multipart.Part` values, converting parser failures to | ||
| * `MultipartError`. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const stream: (source: Readable, headers: IncomingHttpHeaders) => Stream.Stream<Multipart.Part, Multipart.MultipartError>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Parses multipart data from a Node readable request body and persists file | ||
| * parts using the current `FileSystem`, `Path`, and `Scope` services. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const persisted: (source: Readable, headers: IncomingHttpHeaders) => Effect.Effect<Multipart.Persisted, Multipart.MultipartError, Scope.Scope | FileSystem.FileSystem | Path.Path>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node readable stream for a multipart file produced by | ||
| * the Node multipart parser. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const fileToReadable: (file: Multipart.File) => Readable; | ||
| //# sourceMappingURL=NodeMultipart.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeMultipart.d.ts","sourceRoot":"","sources":["../src/NodeMultipart.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C;;;GAGG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,QAAQ,EAChB,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CActD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,QAAQ,EAChB,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CACd,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,cAAc,EACxB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAM1C,CAAA;AAEP;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,CAAC,IAAI,KAAG,QAAmC,CAAA"} | ||
| {"version":3,"file":"NodeMultipart.d.ts","sourceRoot":"","sources":["../src/NodeMultipart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,QAAQ,EAChB,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CActD,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,QAAQ,EAChB,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CACd,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,cAAc,EACxB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAM1C,CAAA;AAEP;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,CAAC,IAAI,KAAG,QAAmC,CAAA"} |
| /** | ||
| * @since 1.0.0 | ||
| * Node-specific helpers for parsing HTTP `multipart/form-data` request bodies. | ||
| * | ||
| * This module adapts a Node `Readable` request body plus its incoming headers | ||
| * into the shared `Multipart` model. Use `stream` when an HTTP server route | ||
| * wants to handle form fields and uploaded files incrementally, for example API | ||
| * endpoints that validate text fields while piping file parts to storage. Use | ||
| * `persisted` when the whole form should be collected into a record and uploaded | ||
| * files should be written into scoped temporary files through the current | ||
| * `FileSystem` and `Path` services. | ||
| * | ||
| * Node request bodies are one-shot streams, so consume either `stream` or | ||
| * `persisted`, and make sure file parts are drained, piped, or otherwise | ||
| * deliberately handled. `contentEffect` loads a file into memory and should be | ||
| * reserved for small uploads. Persisted paths live only for the surrounding | ||
| * `Scope`, and filenames supplied by clients should be treated as metadata, not | ||
| * trusted filesystem paths. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -13,4 +30,8 @@ import * as Effect from "effect/Effect"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Parses multipart data from a Node readable request body and headers into a | ||
| * stream of `Multipart.Part` values, converting parser failures to | ||
| * `MultipartError`. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -26,4 +47,7 @@ export const stream = (source, headers) => Multipart.makeConfig(headers).pipe(Effect.map(config => NodeStream.fromReadable({ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Parses multipart data from a Node readable request body and persists file | ||
| * parts using the current `FileSystem`, `Path`, and `Scope` services. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -37,3 +61,6 @@ export const persisted = (source, headers) => Multipart.toPersisted(stream(source, headers), (path, file) => Effect.tryPromise({ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node readable stream for a multipart file produced by | ||
| * the Node multipart parser. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -40,0 +67,0 @@ export const fileToReadable = file => file.file; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeMultipart.js","names":["Effect","Inspectable","Stream","Multipart","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","pipe","map","config","fromReadable","evaluate","parser","make","onError","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","cause","MultipartError","fromReason","fileToReadable","part","_tag","FieldImpl","info","value","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","decodeField","toJSON","_id","content","contentEffect","filename","toUint8Array","limit"],"sources":["../src/NodeMultipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"NodeMultipart.js","names":["Effect","Inspectable","Stream","Multipart","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","pipe","map","config","fromReadable","evaluate","parser","make","onError","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","cause","MultipartError","fromReason","fileToReadable","part","_tag","FieldImpl","info","value","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","decodeField","toJSON","_id","content","contentEffect","filename","toUint8Array","limit"],"sources":["../src/NodeMultipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
+12
-3
| import type * as Layer from "effect/Layer"; | ||
| import type { Path } from "effect/Path"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default Node `Path` service using the platform's `node:path` | ||
| * implementation. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer.Layer<Path>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Path` service using Node's POSIX path implementation, | ||
| * regardless of the host platform. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerPosix: Layer.Layer<Path>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Path` service using Node's Windows path implementation, | ||
| * regardless of the host platform. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerWin32: Layer.Layer<Path>; | ||
| //# sourceMappingURL=NodePath.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodePath.d.ts","sourceRoot":"","sources":["../src/NodePath.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA;AAEtD;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA"} | ||
| {"version":3,"file":"NodePath.d.ts","sourceRoot":"","sources":["../src/NodePath.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAA;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA"} |
+27
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node.js layers for Effect's `Path` service. | ||
| * | ||
| * Use this module when an Effect program running on Node needs path operations | ||
| * from the `Path` service, such as joining and normalizing filesystem | ||
| * locations, resolving configuration or static asset paths, working with CLI | ||
| * path arguments, or converting between file paths and `file:` URLs. | ||
| * | ||
| * `layer` follows the host platform's `node:path` semantics. Use `layerPosix` | ||
| * or `layerWin32` when code needs stable POSIX or Windows behavior regardless | ||
| * of the operating system. These layers provide only path manipulation; they do | ||
| * not read the filesystem or validate that paths exist. `NodeServices.layer` | ||
| * already includes the default Node path layer, so provide this module directly | ||
| * when you want the narrower service or one of the platform-specific variants. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
| import * as NodePath from "@effect/platform-node-shared/NodePath"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default Node `Path` service using the platform's `node:path` | ||
| * implementation. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = NodePath.layer; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Path` service using Node's POSIX path implementation, | ||
| * regardless of the host platform. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerPosix = NodePath.layerPosix; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Path` service using Node's Windows path implementation, | ||
| * regardless of the host platform. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerWin32 = NodePath.layerWin32; | ||
| //# sourceMappingURL=NodePath.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodePath.js","names":["NodePath","layer","layerPosix","layerWin32"],"sources":["../src/NodePath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;AAIA,OAAO,MAAMC,KAAK,GAAsBD,QAAQ,CAACC,KAAK;AAEtD;;;;AAIA,OAAO,MAAMC,UAAU,GAAsBF,QAAQ,CAACE,UAAU;AAEhE;;;;AAIA,OAAO,MAAMC,UAAU,GAAsBH,QAAQ,CAACG,UAAU","ignoreList":[]} | ||
| {"version":3,"file":"NodePath.js","names":["NodePath","layer","layerPosix","layerWin32"],"sources":["../src/NodePath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;AAiBA,OAAO,KAAKA,QAAQ,MAAM,uCAAuC;AAIjE;;;;;;;AAOA,OAAO,MAAMC,KAAK,GAAsBD,QAAQ,CAACC,KAAK;AAEtD;;;;;;;AAOA,OAAO,MAAMC,UAAU,GAAsBF,QAAQ,CAACE,UAAU;AAEhE;;;;;;;AAOA,OAAO,MAAMC,UAAU,GAAsBH,QAAQ,CAACG,UAAU","ignoreList":[]} |
+33
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node.js Redis integration backed by `ioredis`. | ||
| * | ||
| * This module provides scoped layers that create an `ioredis` client and expose | ||
| * both the low-level `Redis` service used by Effect persistence modules and the | ||
| * `NodeRedis` service for direct access to the underlying client. It is useful | ||
| * for Node applications that want Redis-backed persistence, persisted queues, | ||
| * distributed rate limiting, or custom Redis commands alongside the Effect | ||
| * services that build on Redis. | ||
| * | ||
| * The client is acquired when the layer is built and closed with `quit` when | ||
| * the layer scope ends, so install the layer at the lifetime you want for the | ||
| * connection and pass `ioredis` options, or `layerConfig`, for connection, | ||
| * TLS, database, retry, and reconnect settings. Persistence and rate limiter | ||
| * stores build their own keys and Lua scripts on top of this service; choose | ||
| * stable prefixes and store ids to avoid collisions, account for persisted | ||
| * values that may fail to decode after schema changes, and avoid unbounded | ||
| * high-cardinality rate-limit keys unless you have a cleanup or bounding | ||
| * strategy. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -15,4 +34,8 @@ import * as Config from "effect/Config"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the Node Redis integration, exposing the underlying | ||
| * `ioredis` client and a `use` helper that maps client failures to | ||
| * `RedisError`. | ||
| * | ||
| * @category Service | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -22,9 +45,15 @@ export declare class NodeRedis extends NodeRedis_base { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides `Redis` and `NodeRedis` services backed by an `ioredis` client | ||
| * created with the supplied options and closed when the layer scope ends. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: (options?: IoRedis.RedisOptions | undefined) => Layer.Layer<Redis.Redis | NodeRedis>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides `Redis` and `NodeRedis` services from `Config`-backed ioredis | ||
| * options, closing the client when the layer scope ends. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -31,0 +60,0 @@ export declare const layerConfig: (options: Config.Wrap<IoRedis.RedisOptions>) => Layer.Layer<Redis.Redis | NodeRedis, Config.ConfigError>; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeRedis.d.ts","sourceRoot":"","sources":["../src/NodeRedis.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;;qBAOf,OAAO,CAAC,KAAK;kBAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;;AANnG;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAGQ;CAAG;AAiC1C;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,OAAO,CAAC,YAAY,GAAG,SAAS,KACzC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAuC,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KACvC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,MAAM,CAAC,WAAW,CAOzD,CAAA"} | ||
| {"version":3,"file":"NodeRedis.d.ts","sourceRoot":"","sources":["../src/NodeRedis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;;qBAWf,OAAO,CAAC,KAAK;kBAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;;AAVnG;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,cAGQ;CAAG;AAiC1C;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAChB,UAAU,OAAO,CAAC,YAAY,GAAG,SAAS,KACzC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAuC,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KACvC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,MAAM,CAAC,WAAW,CAOzD,CAAA"} |
+33
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node.js Redis integration backed by `ioredis`. | ||
| * | ||
| * This module provides scoped layers that create an `ioredis` client and expose | ||
| * both the low-level `Redis` service used by Effect persistence modules and the | ||
| * `NodeRedis` service for direct access to the underlying client. It is useful | ||
| * for Node applications that want Redis-backed persistence, persisted queues, | ||
| * distributed rate limiting, or custom Redis commands alongside the Effect | ||
| * services that build on Redis. | ||
| * | ||
| * The client is acquired when the layer is built and closed with `quit` when | ||
| * the layer scope ends, so install the layer at the lifetime you want for the | ||
| * connection and pass `ioredis` options, or `layerConfig`, for connection, | ||
| * TLS, database, retry, and reconnect settings. Persistence and rate limiter | ||
| * stores build their own keys and Lua scripts on top of this service; choose | ||
| * stable prefixes and store ids to avoid collisions, account for persisted | ||
| * values that may fail to decode after schema changes, and avoid unbounded | ||
| * high-cardinality rate-limit keys unless you have a cleanup or bounding | ||
| * strategy. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -13,4 +32,8 @@ import * as Config from "effect/Config"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the Node Redis integration, exposing the underlying | ||
| * `ioredis` client and a `use` helper that maps client failures to | ||
| * `RedisError`. | ||
| * | ||
| * @category Service | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -43,11 +66,17 @@ export class NodeRedis extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeRedis") {} | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides `Redis` and `NodeRedis` services backed by an `ioredis` client | ||
| * created with the supplied options and closed when the layer scope ends. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = options => Layer.effectContext(make(options)); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides `Redis` and `NodeRedis` services from `Config`-backed ioredis | ||
| * options, closing the client when the layer scope ends. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerConfig = options => Layer.effectContext(Config.unwrap(options).pipe(Effect.flatMap(make))); | ||
| //# sourceMappingURL=NodeRedis.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeRedis.js","names":["Config","Context","Effect","Fn","Layer","Scope","Redis","IoRedis","NodeRedis","Service","make","fnUntraced","options","scope","addFinalizer","promise","client","quit","use","f","tryPromise","try","catch","cause","RedisError","redis","send","command","args","call","nodeRedis","identity","pipe","add","layer","effectContext","layerConfig","unwrap","flatMap"],"sources":["../src/NodeRedis.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,OAAO,MAAM,SAAS;AAElC;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQP,OAAO,CAACQ,OAAO,EAG1C,CAAC,iCAAiC,CAAC;AAEvC,MAAMC,IAAI,gBAAGR,MAAM,CAACS,UAAU,CAAC,WAC7BC,OAA8B;EAE9B,MAAMC,KAAK,GAAG,OAAOX,MAAM,CAACW,KAAK;EACjC,OAAOR,KAAK,CAACS,YAAY,CAACD,KAAK,EAAEX,MAAM,CAACa,OAAO,CAAC,MAAMC,MAAM,CAACC,IAAI,EAAE,CAAC,CAAC;EACrE,MAAMD,MAAM,GAAG,IAAIT,OAAO,CAACD,KAAK,CAACM,OAAO,IAAI,EAAE,CAAC;EAE/C,MAAMM,GAAG,GAAOC,CAAwC,IACtDjB,MAAM,CAACkB,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMF,CAAC,CAACH,MAAM,CAAC;IACpBM,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;MAAED;IAAK,CAAE;GACjD,CAAC;EAEJ,MAAME,KAAK,GAAG,OAAOnB,KAAK,CAACI,IAAI,CAAC;IAC9BgB,IAAI,EAAEA,CAAcC,OAAe,EAAE,GAAGC,IAA2B,KACjE1B,MAAM,CAACkB,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAML,MAAM,CAACa,IAAI,CAACF,OAAO,EAAE,GAAGC,IAAI,CAAe;MACtDN,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;QAAED;MAAK,CAAE;KACjD;GACJ,CAAC;EAEF,MAAMO,SAAS,GAAG3B,EAAE,CAAC4B,QAAQ,CAAuB;IAClDf,MAAM;IACNE;GACD,CAAC;EAEF,OAAOjB,OAAO,CAACS,IAAI,CAACF,SAAS,EAAEsB,SAAS,CAAC,CAACE,IAAI,CAC5C/B,OAAO,CAACgC,GAAG,CAAC3B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CAChC;AACH,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMS,KAAK,GAChBtB,OAA0C,IACDR,KAAK,CAAC+B,aAAa,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE7E;;;;AAIA,OAAO,MAAMwB,WAAW,GAGtBxB,OAA0C,IAE1CR,KAAK,CAAC+B,aAAa,CACjBnC,MAAM,CAACqC,MAAM,CAACzB,OAAO,CAAC,CAACoB,IAAI,CACzB9B,MAAM,CAACoC,OAAO,CAAC5B,IAAI,CAAC,CACrB,CACF","ignoreList":[]} | ||
| {"version":3,"file":"NodeRedis.js","names":["Config","Context","Effect","Fn","Layer","Scope","Redis","IoRedis","NodeRedis","Service","make","fnUntraced","options","scope","addFinalizer","promise","client","quit","use","f","tryPromise","try","catch","cause","RedisError","redis","send","command","args","call","nodeRedis","identity","pipe","add","layer","effectContext","layerConfig","unwrap","flatMap"],"sources":["../src/NodeRedis.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,OAAO,MAAM,SAAS;AAElC;;;;;;;;AAQA,OAAM,MAAOC,SAAU,sBAAQP,OAAO,CAACQ,OAAO,EAG1C,CAAC,iCAAiC,CAAC;AAEvC,MAAMC,IAAI,gBAAGR,MAAM,CAACS,UAAU,CAAC,WAC7BC,OAA8B;EAE9B,MAAMC,KAAK,GAAG,OAAOX,MAAM,CAACW,KAAK;EACjC,OAAOR,KAAK,CAACS,YAAY,CAACD,KAAK,EAAEX,MAAM,CAACa,OAAO,CAAC,MAAMC,MAAM,CAACC,IAAI,EAAE,CAAC,CAAC;EACrE,MAAMD,MAAM,GAAG,IAAIT,OAAO,CAACD,KAAK,CAACM,OAAO,IAAI,EAAE,CAAC;EAE/C,MAAMM,GAAG,GAAOC,CAAwC,IACtDjB,MAAM,CAACkB,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMF,CAAC,CAACH,MAAM,CAAC;IACpBM,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;MAAED;IAAK,CAAE;GACjD,CAAC;EAEJ,MAAME,KAAK,GAAG,OAAOnB,KAAK,CAACI,IAAI,CAAC;IAC9BgB,IAAI,EAAEA,CAAcC,OAAe,EAAE,GAAGC,IAA2B,KACjE1B,MAAM,CAACkB,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAML,MAAM,CAACa,IAAI,CAACF,OAAO,EAAE,GAAGC,IAAI,CAAe;MACtDN,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;QAAED;MAAK,CAAE;KACjD;GACJ,CAAC;EAEF,MAAMO,SAAS,GAAG3B,EAAE,CAAC4B,QAAQ,CAAuB;IAClDf,MAAM;IACNE;GACD,CAAC;EAEF,OAAOjB,OAAO,CAACS,IAAI,CAACF,SAAS,EAAEsB,SAAS,CAAC,CAACE,IAAI,CAC5C/B,OAAO,CAACgC,GAAG,CAAC3B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CAChC;AACH,CAAC,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAMS,KAAK,GAChBtB,OAA0C,IACDR,KAAK,CAAC+B,aAAa,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE7E;;;;;;;AAOA,OAAO,MAAMwB,WAAW,GAGtBxB,OAA0C,IAE1CR,KAAK,CAAC+B,aAAa,CACjBnC,MAAM,CAACqC,MAAM,CAACzB,OAAO,CAAC,CAACoB,IAAI,CACzB9B,MAAM,CAACoC,OAAO,CAAC5B,IAAI,CAAC,CACrB,CACF","ignoreList":[]} |
@@ -26,4 +26,4 @@ import type { Effect } from "effect/Effect"; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -54,4 +54,4 @@ export declare const runMain: { | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -85,4 +85,4 @@ (options?: { | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -89,0 +89,0 @@ <E, A>(effect: Effect<A, E>, options?: { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeRuntime.d.ts","sourceRoot":"","sources":["../src/NodeRuntime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,IAAI,CAAA;CACc,CAAA"} | ||
| {"version":3,"file":"NodeRuntime.d.ts","sourceRoot":"","sources":["../src/NodeRuntime.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAA;KACjD,GACA,IAAI,CAAA;CACc,CAAA"} |
+16
-2
| /** | ||
| * @since 1.0.0 | ||
| * Node.js entry-point helpers for running Effect programs. | ||
| * | ||
| * This module exposes `runMain`, the Node runtime launcher used at the edge of | ||
| * CLI tools, scripts, servers, and worker processes. It runs an already | ||
| * self-contained Effect as the process main program, with built-in error | ||
| * reporting and Node signal handling. | ||
| * | ||
| * `NodeRuntime` does not provide application services by itself. Provide any | ||
| * required layers, such as `NodeServices.layer` or narrower service-specific | ||
| * layers, before passing the effect to `runMain`. On `SIGINT` or `SIGTERM`, | ||
| * the main fiber is interrupted so scoped resources and finalizers can shut | ||
| * down; keep long-running work attached to that scope and avoid finalizers that | ||
| * never complete, otherwise process shutdown can be delayed. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -28,6 +42,6 @@ import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime"; | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
| export const runMain = NodeRuntime.runMain; | ||
| //# sourceMappingURL=NodeRuntime.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeRuntime.js","names":["NodeRuntime","runMain"],"sources":["../src/NodeRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,0CAA0C;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,MAAMC,OAAO,GAkEhBD,WAAW,CAACC,OAAO","ignoreList":[]} | ||
| {"version":3,"file":"NodeRuntime.js","names":["NodeRuntime","runMain"],"sources":["../src/NodeRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;AAiBA,OAAO,KAAKA,WAAW,MAAM,0CAA0C;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,MAAMC,OAAO,GAkEhBD,WAAW,CAACC,OAAO","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * Provides the aggregate Node platform services layer for applications that run | ||
| * on the Node.js runtime. | ||
| * | ||
| * This module is useful when an application needs the standard Node-backed | ||
| * implementations of filesystem access, path operations, stdio, terminal | ||
| * interaction, and child process spawning from a single layer. Provide | ||
| * `NodeServices.layer` near the edge of a program to satisfy effects that read | ||
| * or write files, resolve paths, interact with stdin/stdout/stderr or a | ||
| * terminal, or launch subprocesses. | ||
| * | ||
| * The layer only supplies the runtime services listed by `NodeServices`; it does | ||
| * not provide unrelated platform services such as HTTP clients or servers. | ||
| * Libraries should continue to depend on the individual service tags they use, | ||
| * while applications, CLIs, and tests can choose this layer or narrower | ||
| * service-specific layers depending on how much of the Node runtime they want to | ||
| * expose. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -11,11 +28,17 @@ import type { FileSystem } from "effect/FileSystem"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * The union of core services provided by the Node platform layer, including | ||
| * child process spawning, filesystem, path, stdio, and terminal services. | ||
| * | ||
| * @category models | ||
| * @since 4.0.0 | ||
| */ | ||
| export type NodeServices = ChildProcessSpawner | FileSystem | Path | Stdio | Terminal; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default Node implementations for child process spawning, | ||
| * filesystem, path, stdio, and terminal services. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer.Layer<NodeServices>; | ||
| //# sourceMappingURL=NodeServices.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeServices.d.ts","sourceRoot":"","sources":["../src/NodeServices.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAOtF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAA;AAErF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAQ3C,CAAA"} | ||
| {"version":3,"file":"NodeServices.d.ts","sourceRoot":"","sources":["../src/NodeServices.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAOtF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAQ3C,CAAA"} |
@@ -8,6 +8,9 @@ import * as Layer from "effect/Layer"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default Node implementations for child process spawning, | ||
| * filesystem, path, stdio, and terminal services. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = /*#__PURE__*/Layer.provideMerge(NodeChildProcessSpawner.layer, /*#__PURE__*/Layer.mergeAll(NodeFileSystem.layer, NodePath.layer, NodeStdio.layer, NodeTerminal.layer)); | ||
| //# sourceMappingURL=NodeServices.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeServices.js","names":["Layer","NodeChildProcessSpawner","NodeFileSystem","NodePath","NodeStdio","NodeTerminal","layer","provideMerge","mergeAll"],"sources":["../src/NodeServices.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAKrC,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AACvE,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAC3C,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAQjD;;;;AAIA,OAAO,MAAMC,KAAK,gBAA8BN,KAAK,CAACO,YAAY,CAChEN,uBAAuB,CAACK,KAAK,eAC7BN,KAAK,CAACQ,QAAQ,CACZN,cAAc,CAACI,KAAK,EACpBH,QAAQ,CAACG,KAAK,EACdF,SAAS,CAACE,KAAK,EACfD,YAAY,CAACC,KAAK,CACnB,CACF","ignoreList":[]} | ||
| {"version":3,"file":"NodeServices.js","names":["Layer","NodeChildProcessSpawner","NodeFileSystem","NodePath","NodeStdio","NodeTerminal","layer","provideMerge","mergeAll"],"sources":["../src/NodeServices.ts"],"sourcesContent":[null],"mappings":"AAqBA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAKrC,OAAO,KAAKC,uBAAuB,MAAM,8BAA8B;AACvE,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAC3C,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAWjD;;;;;;;AAOA,OAAO,MAAMC,KAAK,gBAA8BN,KAAK,CAACO,YAAY,CAChEN,uBAAuB,CAACK,KAAK,eAC7BN,KAAK,CAACQ,QAAQ,CACZN,cAAc,CAACI,KAAK,EACpBH,QAAQ,CAACG,KAAK,EACdF,SAAS,CAACE,KAAK,EACfD,YAAY,CAACC,KAAK,CACnB,CACF","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSink"; | ||
| //# sourceMappingURL=NodeSink.d.ts.map |
+2
-2
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSink"; | ||
| //# sourceMappingURL=NodeSink.js.map |
+14
-4
@@ -6,18 +6,28 @@ import type * as Duration from "effect/Duration"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSocket"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `Socket.WebSocketConstructor`, using `globalThis.WebSocket` when | ||
| * available and falling back to the `ws` package otherwise. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `Socket.WebSocketConstructor` backed explicitly by the `ws` | ||
| * package. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerWebSocketConstructorWS: Layer.Layer<Socket.WebSocketConstructor>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a `Socket.Socket` layer for a WebSocket URL using the Node WebSocket | ||
| * constructor layer, honoring protocol, open-timeout, and close-code error | ||
| * options. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -24,0 +34,0 @@ export declare const layerWebSocket: (url: string | Effect.Effect<string>, options?: { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeSocket.d.ts","sourceRoot":"","sources":["../src/NodeSocket.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAM3B,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,KAAK,CACnD,MAAM,CAAC,oBAAoB,CAG5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACxD,GAAG,SAAS,KACV,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAI3C,CAAA"} | ||
| {"version":3,"file":"NodeSocket.d.ts","sourceRoot":"","sources":["../src/NodeSocket.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAM3B,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,KAAK,CACnD,MAAM,CAAC,oBAAoB,CAG5B,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EACnC,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACxD,GAAG,SAAS,KACV,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAI3C,CAAA"} |
+32
-5
| /** | ||
| * @since 1.0.0 | ||
| * Node platform socket entry point for Effect sockets backed by Node streams | ||
| * and WebSocket implementations. | ||
| * | ||
| * This module re-exports the shared Node socket constructors for TCP clients, | ||
| * Unix domain socket clients, and adapters from existing Node `Duplex` streams, | ||
| * then adds Node-specific WebSocket constructor layers. Use it when connecting | ||
| * to raw socket protocols, wiring RPC transports over TCP or Unix sockets, or | ||
| * opening WebSocket clients in Node. | ||
| * | ||
| * TCP and Unix socket behavior comes from the shared Node layer: Unix sockets | ||
| * are selected with `NetConnectOpts.path`, scoped sockets close or destroy the | ||
| * underlying stream on finalization, and Node open, read, write, and close | ||
| * events are translated into `SocketError` values. For WebSockets, | ||
| * `layerWebSocketConstructor` prefers `globalThis.WebSocket` when available | ||
| * and falls back to `ws`; use `layerWebSocketConstructorWS` when you need the | ||
| * `ws` implementation consistently across Node versions. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -9,8 +26,11 @@ import { NodeWS as WS } from "@effect/platform-node-shared/NodeSocket"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSocket"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `Socket.WebSocketConstructor`, using `globalThis.WebSocket` when | ||
| * available and falling back to the `ws` package otherwise. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -24,11 +44,18 @@ export const layerWebSocketConstructor = /*#__PURE__*/Layer.sync(Socket.WebSocketConstructor)(() => { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `Socket.WebSocketConstructor` backed explicitly by the `ws` | ||
| * package. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerWebSocketConstructorWS = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, protocols) => new WS.WebSocket(url, protocols)); | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a `Socket.Socket` layer for a WebSocket URL using the Node WebSocket | ||
| * constructor layer, honoring protocol, open-timeout, and close-code error | ||
| * options. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerWebSocket = /*#__PURE__*/flow(Socket.makeWebSocket, /*#__PURE__*/Layer.effect(Socket.Socket), /*#__PURE__*/Layer.provide(layerWebSocketConstructor)); | ||
| //# sourceMappingURL=NodeSocket.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeSocket.js","names":["NodeWS","WS","flow","Layer","Socket","layerWebSocketConstructor","sync","WebSocketConstructor","globalThis","url","protocols","WebSocket","layerWebSocketConstructorWS","succeed","layerWebSocket","makeWebSocket","effect","provide"],"sources":["../src/NodeSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,MAAM,IAAIC,EAAE,QAAQ,yCAAyC;AAGtE,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;AAIA,OAAO,MAAMC,yBAAyB,gBAElCF,KAAK,CAACG,IAAI,CAACF,MAAM,CAACG,oBAAoB,CAAC,CAAC,MAAK;EAC/C,IAAI,WAAW,IAAIC,UAAU,EAAE;IAC7B,OAAO,CAACC,GAAG,EAAEC,SAAS,KAAK,IAAIF,UAAU,CAACG,SAAS,CAACF,GAAG,EAAEC,SAAS,CAAC;EACrE;EACA,OAAO,CAACD,GAAG,EAAEC,SAAS,KAAK,IAAIT,EAAE,CAACU,SAAS,CAACF,GAAG,EAAEC,SAAS,CAAoC;AAChG,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAME,2BAA2B,gBAEpCT,KAAK,CAACU,OAAO,CAACT,MAAM,CAACG,oBAAoB,CAAC,CAC5C,CAACE,GAAG,EAAEC,SAAS,KAAK,IAAIT,EAAE,CAACU,SAAS,CAACF,GAAG,EAAEC,SAAS,CAAoC,CACxF;AAED;;;;AAIA,OAAO,MAAMI,cAAc,gBAOqBZ,IAAI,CAClDE,MAAM,CAACW,aAAa,eACpBZ,KAAK,CAACa,MAAM,CAACZ,MAAM,CAACA,MAAM,CAAC,eAC3BD,KAAK,CAACc,OAAO,CAACZ,yBAAyB,CAAC,CACzC","ignoreList":[]} | ||
| {"version":3,"file":"NodeSocket.js","names":["NodeWS","WS","flow","Layer","Socket","layerWebSocketConstructor","sync","WebSocketConstructor","globalThis","url","protocols","WebSocket","layerWebSocketConstructorWS","succeed","layerWebSocket","makeWebSocket","effect","provide"],"sources":["../src/NodeSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;AAoBA,SAASA,MAAM,IAAIC,EAAE,QAAQ,yCAAyC;AAGtE,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;AAOA,OAAO,MAAMC,yBAAyB,gBAElCF,KAAK,CAACG,IAAI,CAACF,MAAM,CAACG,oBAAoB,CAAC,CAAC,MAAK;EAC/C,IAAI,WAAW,IAAIC,UAAU,EAAE;IAC7B,OAAO,CAACC,GAAG,EAAEC,SAAS,KAAK,IAAIF,UAAU,CAACG,SAAS,CAACF,GAAG,EAAEC,SAAS,CAAC;EACrE;EACA,OAAO,CAACD,GAAG,EAAEC,SAAS,KAAK,IAAIT,EAAE,CAACU,SAAS,CAACF,GAAG,EAAEC,SAAS,CAAoC;AAChG,CAAC,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAME,2BAA2B,gBAEpCT,KAAK,CAACU,OAAO,CAACT,MAAM,CAACG,oBAAoB,CAAC,CAC5C,CAACE,GAAG,EAAEC,SAAS,KAAK,IAAIT,EAAE,CAACU,SAAS,CAACF,GAAG,EAAEC,SAAS,CAAoC,CACxF;AAED;;;;;;;;AAQA,OAAO,MAAMI,cAAc,gBAOqBZ,IAAI,CAClDE,MAAM,CAACW,aAAa,eACpBZ,KAAK,CAACa,MAAM,CAACZ,MAAM,CAACA,MAAM,CAAC,eAC3BD,KAAK,CAACc,OAAO,CAACZ,yBAAyB,CAAC,CACzC","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSocketServer"; | ||
| //# sourceMappingURL=NodeSocketServer.d.ts.map |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSocketServer"; | ||
| //# sourceMappingURL=NodeSocketServer.js.map |
| import type * as Layer from "effect/Layer"; | ||
| import type { Stdio } from "effect/Stdio"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Stdio` service backed by the current process arguments, | ||
| * stdin, stdout, and stderr streams. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer.Layer<Stdio>; | ||
| //# sourceMappingURL=NodeStdio.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeStdio.d.ts","sourceRoot":"","sources":["../src/NodeStdio.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAmB,CAAA"} | ||
| {"version":3,"file":"NodeStdio.d.ts","sourceRoot":"","sources":["../src/NodeStdio.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAmB,CAAA"} |
+21
-2
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementation of the Effect `Stdio` service. | ||
| * | ||
| * This module exposes a layer that connects `Stdio` to the current process: | ||
| * command-line arguments come from `process.argv`, input is read from | ||
| * `process.stdin`, and output and error output write to `process.stdout` and | ||
| * `process.stderr`. It is intended for CLIs, scripts, command runners, and | ||
| * other process-oriented programs that need standard input and output through | ||
| * Effect services. | ||
| * | ||
| * The underlying streams are owned by the Node process. The layer keeps stdin | ||
| * open and does not end stdout or stderr when a stream finishes, which avoids | ||
| * closing global process handles that other code may still use. Be mindful that | ||
| * stdio may be a pipe, file, or TTY, so terminal-specific behavior such as raw | ||
| * mode, echo, colors, and cursor control should be handled with the terminal | ||
| * APIs instead of assuming an interactive console. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
| import * as NodeStdio from "@effect/platform-node-shared/NodeStdio"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Stdio` service backed by the current process arguments, | ||
| * stdin, stdout, and stderr streams. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = NodeStdio.layer; | ||
| //# sourceMappingURL=NodeStdio.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeStdio.js","names":["NodeStdio","layer"],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,wCAAwC;AAInE;;;;AAIA,OAAO,MAAMC,KAAK,GAAuBD,SAAS,CAACC,KAAK","ignoreList":[]} | ||
| {"version":3,"file":"NodeStdio.js","names":["NodeStdio","layer"],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,KAAKA,SAAS,MAAM,wCAAwC;AAInE;;;;;;;AAOA,OAAO,MAAMC,KAAK,GAAuBD,SAAS,CAACC,KAAK","ignoreList":[]} |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeStream"; | ||
| //# sourceMappingURL=NodeStream.d.ts.map |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeStream"; | ||
| //# sourceMappingURL=NodeStream.js.map |
@@ -6,11 +6,17 @@ import type { Effect } from "effect/Effect"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a scoped `Terminal` service backed by process stdin/stdout, using the | ||
| * optional predicate to decide when key input should end the input stream. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const make: (shouldQuit?: (input: UserInput) => boolean) => Effect<Terminal, never, Scope>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default process-backed `Terminal` service, ending key input on | ||
| * the default quit keys. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer<Terminal>; | ||
| //# sourceMappingURL=NodeTerminal.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeTerminal.d.ts","sourceRoot":"","sources":["../src/NodeTerminal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAA;AAErH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAsB,CAAA"} | ||
| {"version":3,"file":"NodeTerminal.d.ts","sourceRoot":"","sources":["../src/NodeTerminal.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAA;AAErH;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAsB,CAAA"} |
+19
-3
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node.js `Terminal` service for interactive command-line | ||
| * programs, prompts, and tools that need to read lines, react to key presses, | ||
| * write to stdout, or inspect terminal dimensions. | ||
| * | ||
| * The implementation is backed by the current process' stdin and stdout. When | ||
| * stdin is a TTY, key input temporarily enables raw mode for the scope of the | ||
| * service, so callers should acquire it with a scope or use the provided layer | ||
| * to ensure terminal state is restored. In non-TTY environments, terminal | ||
| * dimensions may be reported as zero and raw-mode key handling is unavailable. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
| import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a scoped `Terminal` service backed by process stdin/stdout, using the | ||
| * optional predicate to decide when key input should end the input stream. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
| export const make = NodeTerminal.make; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default process-backed `Terminal` service, ending key input on | ||
| * the default quit keys. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = NodeTerminal.layer; | ||
| //# sourceMappingURL=NodeTerminal.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeTerminal.js","names":["NodeTerminal","make","layer"],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,YAAY,MAAM,2CAA2C;AAMzE;;;;AAIA,OAAO,MAAMC,IAAI,GAAmFD,YAAY,CAACC,IAAI;AAErH;;;;AAIA,OAAO,MAAMC,KAAK,GAAoBF,YAAY,CAACE,KAAK","ignoreList":[]} | ||
| {"version":3,"file":"NodeTerminal.js","names":["NodeTerminal","make","layer"],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;AAaA,OAAO,KAAKA,YAAY,MAAM,2CAA2C;AAMzE;;;;;;;AAOA,OAAO,MAAMC,IAAI,GAAmFD,YAAY,CAACC,IAAI;AAErH;;;;;;;AAOA,OAAO,MAAMC,KAAK,GAAoBF,YAAY,CAACE,KAAK","ignoreList":[]} |
@@ -6,11 +6,18 @@ import * as Layer from "effect/Layer"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `WorkerPlatform` for `worker_threads` workers and child | ||
| * process workers, wiring messages, errors, and exits into Effect workers and | ||
| * terminating the worker if graceful shutdown times out. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layerPlatform: Layer.Layer<Worker.WorkerPlatform>; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `WorkerPlatform` together with a `Worker.Spawner` created | ||
| * from the supplied worker or child-process spawning function. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: (spawn: (id: number) => WorkerThreads.Worker | ChildProcess.ChildProcess) => Layer.Layer<Worker.WorkerPlatform | Worker.Spawner>; | ||
| //# sourceMappingURL=NodeWorker.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeWorker.d.ts","sourceRoot":"","sources":["../src/NodeWorker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AAExD,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,KAAK,aAAa,MAAM,qBAAqB,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CA2E5D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,EAAE,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,KACtE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAIlD,CAAA"} | ||
| {"version":3,"file":"NodeWorker.d.ts","sourceRoot":"","sources":["../src/NodeWorker.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AAExD,OAAO,KAAK,KAAK,YAAY,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,KAAK,aAAa,MAAM,qBAAqB,CAAA;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CA2E5D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,EAAE,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,KACtE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAIlD,CAAA"} |
+28
-3
| /** | ||
| * @since 1.0.0 | ||
| * Parent-side Node.js support for Effect workers. | ||
| * | ||
| * This module provides the `WorkerPlatform` used by Node programs that spawn | ||
| * and communicate with `node:worker_threads` workers or IPC-enabled child | ||
| * processes through Effect's worker protocol. Pair it with `NodeWorkerRunner` | ||
| * in the worker entrypoint when building worker-backed RPC clients, offloading | ||
| * CPU-bound work, isolating Node resources, or hosting services that should | ||
| * exchange typed messages with the parent process. | ||
| * | ||
| * Worker-thread spawners can use `postMessage` transfer lists for values such | ||
| * as `ArrayBuffer` and `MessagePort`, but transferring moves ownership and | ||
| * invalid transfer lists surface as worker send or receive failures. | ||
| * Child-process spawners must provide an IPC channel, for example via | ||
| * `child_process.fork` or `stdio: "ipc"`; their messages use Node IPC | ||
| * serialization and this module does not forward transfer lists to | ||
| * `ChildProcess.send`. Scope finalization sends the worker close signal and | ||
| * waits for exit before falling back to `terminate()` or `SIGKILL`. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -12,4 +30,8 @@ import * as Deferred from "effect/Deferred"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `WorkerPlatform` for `worker_threads` workers and child | ||
| * process workers, wiring messages, errors, and exits into Effect workers and | ||
| * terminating the worker if graceful shutdown times out. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -78,6 +100,9 @@ export const layerPlatform = /*#__PURE__*/Layer.succeed(Worker.WorkerPlatform)(/*#__PURE__*/Worker.makePlatform()({ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `WorkerPlatform` together with a `Worker.Spawner` created | ||
| * from the supplied worker or child-process spawning function. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer = spawn => Layer.merge(Worker.layerSpawner(spawn), layerPlatform); | ||
| //# sourceMappingURL=NodeWorker.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeWorker.js","names":["Deferred","Effect","Exit","Layer","Scope","Worker","WorkerError","WorkerReceiveError","layerPlatform","succeed","WorkerPlatform","makePlatform","setup","scope","worker","exitDeferred","makeUnsafe","thing","postMessage","msg","t","kill","terminate","_","send","on","doneUnsafe","void","as","addFinalizer","suspend","await","pipe","timeout","catchCause","sync","listen","deferred","emit","port","message","cause","reason","code","layer","spawn","merge","layerSpawner"],"sources":["../src/NodeWorker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} | ||
| {"version":3,"file":"NodeWorker.js","names":["Deferred","Effect","Exit","Layer","Scope","Worker","WorkerError","WorkerReceiveError","layerPlatform","succeed","WorkerPlatform","makePlatform","setup","scope","worker","exitDeferred","makeUnsafe","thing","postMessage","msg","t","kill","terminate","_","send","on","doneUnsafe","void","as","addFinalizer","suspend","await","pipe","timeout","catchCause","sync","listen","deferred","emit","port","message","cause","reason","code","layer","spawn","merge","layerSpawner"],"sources":["../src/NodeWorker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
| import * as Layer from "effect/Layer"; | ||
| import * as WorkerRunner from "effect/unstable/workers/WorkerRunner"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `WorkerRunnerPlatform` for code running inside a Node worker | ||
| * thread or child process, routing parent messages to the registered handler | ||
| * and sending responses back through the parent channel. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export declare const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform>; | ||
| //# sourceMappingURL=NodeWorkerRunner.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeWorkerRunner.d.ts","sourceRoot":"","sources":["../src/NodeWorkerRunner.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAGpE;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CA+E/D,CAAA"} | ||
| {"version":3,"file":"NodeWorkerRunner.d.ts","sourceRoot":"","sources":["../src/NodeWorkerRunner.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAGpE;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CA+E/D,CAAA"} |
| /** | ||
| * @since 1.0.0 | ||
| * Runtime support for Effect workers that are executed by Node.js. | ||
| * | ||
| * This module is intended to be installed in the program running inside a | ||
| * `node:worker_threads` worker or an IPC-enabled child process. It provides the | ||
| * `WorkerRunnerPlatform` used by `WorkerRunner` to receive request messages | ||
| * from the parent, run the registered Effect handler, and send responses back | ||
| * over the parent channel. | ||
| * | ||
| * Use it when the parent side is created with `NodeWorker` and the worker code | ||
| * needs to perform CPU-bound work, isolate Node resources, or host services that | ||
| * should communicate through the Effect worker protocol. The runner must be | ||
| * started from an actual worker context: `parentPort` is required for worker | ||
| * threads, while child processes must be spawned with an IPC channel so | ||
| * `process.send` is available. Transfer lists only apply to worker-thread | ||
| * `postMessage`; child-process messages go through Node IPC serialization. | ||
| * Shutdown is coordinated by the parent message protocol, so long-running | ||
| * handlers should remain interruptible and keep resource cleanup in scopes. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -14,4 +32,8 @@ import * as Cause from "effect/Cause"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `WorkerRunnerPlatform` for code running inside a Node worker | ||
| * thread or child process, routing parent messages to the registered handler | ||
| * and sending responses back through the parent channel. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -18,0 +40,0 @@ export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatform)({ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"NodeWorkerRunner.js","names":["Cause","Deferred","Effect","Exit","Fiber","Layer","WorkerError","WorkerReceiveError","WorkerSpawnError","WorkerRunner","WorkerThreads","layer","succeed","WorkerRunnerPlatform","start","gen","parentPort","process","send","reason","message","sendUnsafe","_portId","transfers","postMessage","_transfers","sync","run","handler","scopedWith","fnUntraced","scope","closeLatch","makeUnsafe","trackFiber","runIn","services","context","runFork","runForkWith","onExit","exit","_tag","hasInterruptsOnly","cause","logError","on","result","isEffect","fiber","addObserver","close","channel","unref","doneUnsafe","void","await"],"sources":["../src/NodeWorkerRunner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,WAAW,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,qCAAqC;AACvG,OAAO,KAAKC,YAAY,MAAM,sCAAsC;AACpE,OAAO,KAAKC,aAAa,MAAM,qBAAqB;AAEpD;;;;AAIA,OAAO,MAAMC,KAAK,gBAAmDN,KAAK,CAACO,OAAO,CAACH,YAAY,CAACI,oBAAoB,CAAC,CAAC;EACpHC,KAAKA,CAAA;IACH,OAAOZ,MAAM,CAACa,GAAG,CAAC,aAAS;MACzB,IAAI,CAACL,aAAa,CAACM,UAAU,IAAI,CAACC,OAAO,CAACC,IAAI,EAAE;QAC9C,OAAO,OAAO,IAAIZ,WAAW,CAAC;UAC5Ba,MAAM,EAAE,IAAIX,gBAAgB,CAAC;YAAEY,OAAO,EAAE;UAAiB,CAAE;SAC5D,CAAC;MACJ;MAEA,MAAMC,UAAU,GAAGX,aAAa,CAACM,UAAU,GACvC,CAACM,OAAe,EAAEF,OAAY,EAAEG,SAAe,KAAKb,aAAa,CAACM,UAAW,CAACQ,WAAW,CAACJ,OAAO,EAAEG,SAAS,CAAC,GAC7G,CAACD,OAAe,EAAEF,OAAY,EAAEK,UAAgB,KAAKR,OAAO,CAACC,IAAK,CAACE,OAAO,CAAC;MAC/E,MAAMF,IAAI,GAAGA,CAACI,OAAe,EAAEF,OAAU,EAAEG,SAAkC,KAC3ErB,MAAM,CAACwB,IAAI,CAAC,MAAML,UAAU,CAACC,OAAO,EAAE,CAAC,CAAC,EAAEF,OAAO,CAAC,EAAEG,SAAgB,CAAC,CAAC;MAExE,MAAMI,GAAG,GACPC,OAAsE,IAEtE1B,MAAM,CAAC2B,UAAU,CAAC3B,MAAM,CAAC4B,UAAU,CAAC,WAAUC,KAAK;QACjD,MAAMC,UAAU,GAAG/B,QAAQ,CAACgC,UAAU,EAAqB;QAC3D,MAAMC,UAAU,GAAG9B,KAAK,CAAC+B,KAAK,CAACJ,KAAK,CAAC;QACrC,MAAMK,QAAQ,GAAG,OAAOlC,MAAM,CAACmC,OAAO,EAAK;QAC3C,MAAMC,OAAO,GAAGpC,MAAM,CAACqC,WAAW,CAACH,QAAQ,CAAC;QAC5C,MAAMI,MAAM,GAAIC,IAAuB,IAAI;UACzC,IAAIA,IAAI,CAACC,IAAI,KAAK,SAAS,IAAI,CAAC1C,KAAK,CAAC2C,iBAAiB,CAACF,IAAI,CAACG,KAAK,CAAC,EAAE;YACnEN,OAAO,CAACpC,MAAM,CAAC2C,QAAQ,CAAC,2BAA2B,EAAEJ,IAAI,CAACG,KAAK,CAAC,CAAC;UACnE;QACF,CAAC;QACA,CAAClC,aAAa,CAACM,UAAU,IAAIC,OAAO,EAAE6B,EAAE,CAAC,SAAS,EAAG1B,OAAwC,IAAI;UAChG,IAAIA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpB,MAAM2B,MAAM,GAAGnB,OAAO,CAAC,CAAC,EAAER,OAAO,CAAC,CAAC,CAAC,CAAC;YACrC,IAAIlB,MAAM,CAAC8C,QAAQ,CAACD,MAAM,CAAC,EAAE;cAC3B,MAAME,KAAK,GAAGX,OAAO,CAACS,MAAM,CAAC;cAC7BE,KAAK,CAACC,WAAW,CAACV,MAAM,CAAC;cACzBN,UAAU,CAACe,KAAK,CAAC;YACnB;UACF,CAAC,MAAM;YACL,IAAIvC,aAAa,CAACM,UAAU,EAAE;cAC5BN,aAAa,CAACM,UAAU,CAACmC,KAAK,EAAE;YAClC,CAAC,MAAM;cACLlC,OAAO,CAACmC,OAAO,EAAEC,KAAK,EAAE;YAC1B;YACApD,QAAQ,CAACqD,UAAU,CAACtB,UAAU,EAAE7B,IAAI,CAACoD,IAAI,CAAC;UAC5C;QACF,CAAC,CAAC;QAEF,IAAI7C,aAAa,CAACM,UAAU,EAAE;UAC5BN,aAAa,CAACM,UAAU,CAAC8B,EAAE,CAAC,cAAc,EAAGF,KAAK,IAAI;YACpD3C,QAAQ,CAACqD,UAAU,CACjBtB,UAAU,EACV,IAAI1B,WAAW,CAAC;cACda,MAAM,EAAE,IAAIZ,kBAAkB,CAAC;gBAC7Ba,OAAO,EAAE,6BAA6B;gBACtCwB;eACD;aACF,CAAC,CACH;UACH,CAAC,CAAC;UACFlC,aAAa,CAACM,UAAU,CAAC8B,EAAE,CAAC,OAAO,EAAGF,KAAK,IAAI;YAC7C3C,QAAQ,CAACqD,UAAU,CACjBtB,UAAU,EACV,IAAI1B,WAAW,CAAC;cACda,MAAM,EAAE,IAAIZ,kBAAkB,CAAC;gBAC7Ba,OAAO,EAAE,6BAA6B;gBACtCwB;eACD;aACF,CAAC,CACH;UACH,CAAC,CAAC;QACJ;QAEAvB,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAElB,OAAO,OAAOpB,QAAQ,CAACuD,KAAK,CAACxB,UAAU,CAAC;MAC1C,CAAC,CAAC,CAAC;MAEL,OAAO;QAAEL,GAAG;QAAET,IAAI;QAAEG;MAAU,CAAE;IAClC,CAAC,CAAC;EACJ;CACD,CAAC","ignoreList":[]} | ||
| {"version":3,"file":"NodeWorkerRunner.js","names":["Cause","Deferred","Effect","Exit","Fiber","Layer","WorkerError","WorkerReceiveError","WorkerSpawnError","WorkerRunner","WorkerThreads","layer","succeed","WorkerRunnerPlatform","start","gen","parentPort","process","send","reason","message","sendUnsafe","_portId","transfers","postMessage","_transfers","sync","run","handler","scopedWith","fnUntraced","scope","closeLatch","makeUnsafe","trackFiber","runIn","services","context","runFork","runForkWith","onExit","exit","_tag","hasInterruptsOnly","cause","logError","on","result","isEffect","fiber","addObserver","close","channel","unref","doneUnsafe","void","await"],"sources":["../src/NodeWorkerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]} |
+3
-3
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| import Undici from "undici"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "undici"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export default Undici; | ||
| //# sourceMappingURL=Undici.d.ts.map |
+3
-3
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| import Undici from "undici"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "undici"; | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export default Undici; | ||
| //# sourceMappingURL=Undici.js.map |
+6
-6
| { | ||
| "name": "@effect/platform-node", | ||
| "type": "module", | ||
| "version": "4.0.0-beta.66", | ||
| "version": "4.0.0-beta.67", | ||
| "license": "MIT", | ||
@@ -52,8 +52,8 @@ "description": "Platform specific implementations for the Node.js runtime", | ||
| "mime": "^4.1.0", | ||
| "undici": "^8.0.2", | ||
| "@effect/platform-node-shared": "^4.0.0-beta.66" | ||
| "undici": "^8.2.0", | ||
| "@effect/platform-node-shared": "^4.0.0-beta.67" | ||
| }, | ||
| "peerDependencies": { | ||
| "ioredis": "^5.7.0", | ||
| "effect": "^4.0.0-beta.66" | ||
| "effect": "^4.0.0-beta.67" | ||
| }, | ||
@@ -64,4 +64,4 @@ "devDependencies": { | ||
| "@testcontainers/redis": "^11.14.0", | ||
| "@types/node": "^25.6.0", | ||
| "effect": "^4.0.0-beta.66" | ||
| "@types/node": "^25.7.0", | ||
| "effect": "^4.0.0-beta.67" | ||
| }, | ||
@@ -68,0 +68,0 @@ "scripts": { |
+25
-25
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -8,3 +8,3 @@ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -16,3 +16,3 @@ export * as Mime from "./Mime.ts" | ||
| * | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -22,3 +22,3 @@ export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -28,3 +28,3 @@ export * as NodeClusterHttp from "./NodeClusterHttp.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -34,3 +34,3 @@ export * as NodeClusterSocket from "./NodeClusterSocket.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -40,3 +40,3 @@ export * as NodeFileSystem from "./NodeFileSystem.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -46,3 +46,3 @@ export * as NodeHttpClient from "./NodeHttpClient.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -52,3 +52,3 @@ export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -58,3 +58,3 @@ export * as NodeHttpPlatform from "./NodeHttpPlatform.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -64,3 +64,3 @@ export * as NodeHttpServer from "./NodeHttpServer.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -70,3 +70,3 @@ export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -76,3 +76,3 @@ export * as NodeMultipart from "./NodeMultipart.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -82,3 +82,3 @@ export * as NodePath from "./NodePath.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -88,3 +88,3 @@ export * as NodeRedis from "./NodeRedis.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -94,3 +94,3 @@ export * as NodeRuntime from "./NodeRuntime.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -100,3 +100,3 @@ export * as NodeServices from "./NodeServices.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -106,3 +106,3 @@ export * as NodeSink from "./NodeSink.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -112,3 +112,3 @@ export * as NodeSocket from "./NodeSocket.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -118,3 +118,3 @@ export * as NodeSocketServer from "./NodeSocketServer.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -124,3 +124,3 @@ export * as NodeStdio from "./NodeStdio.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -130,3 +130,3 @@ export * as NodeStream from "./NodeStream.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -136,3 +136,3 @@ export * as NodeTerminal from "./NodeTerminal.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -142,3 +142,3 @@ export * as NodeWorker from "./NodeWorker.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -148,4 +148,4 @@ export * as NodeWorkerRunner from "./NodeWorkerRunner.ts" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * as Undici from "./Undici.ts" |
+3
-3
| /* oxlint-disable no-named-as-default */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -9,4 +9,4 @@ import Mime from "mime" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -16,5 +16,5 @@ export * from "mime" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| export default Mime |
| /** | ||
| * Node.js implementation of `ChildProcessSpawner`. | ||
| * | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeChildProcessSpawner" |
| /** | ||
| * @since 1.0.0 | ||
| * The `NodeClusterHttp` module provides the Node.js HTTP and WebSocket | ||
| * transports for Effect Cluster runners. It wires `HttpRunner` to the Node HTTP | ||
| * server, supplies Undici and WebSocket client protocols, and builds a complete | ||
| * sharding layer with serialization, runner health, runner storage, and message | ||
| * storage. | ||
| * | ||
| * **Common tasks** | ||
| * | ||
| * - Run a Node process as a cluster runner over HTTP or WebSocket with | ||
| * {@link layer} | ||
| * - Connect a client-only process to an existing HTTP cluster without starting | ||
| * a runner server | ||
| * - Use SQL-backed storage for durable multi-process clusters, `local` storage | ||
| * for short-lived development, or `byo` storage when the deployment owns the | ||
| * persistence boundary | ||
| * - Check runner health with protocol pings or Kubernetes pod readiness through | ||
| * {@link layerK8sHttpClient} | ||
| * | ||
| * **Gotchas** | ||
| * | ||
| * - `runnerAddress` is the host and port advertised to other runners; set | ||
| * `runnerListenAddress` when the local bind address differs from the | ||
| * externally reachable address | ||
| * - The HTTP and WebSocket transports serve runner RPCs at the default | ||
| * `HttpRunner` route, so proxies and load balancers must preserve the path | ||
| * and allow WebSocket upgrades when `transport` is `"websocket"` | ||
| * - `clientOnly` does not start an HTTP server or receive shard assignments | ||
| * - SQL storage is the default; `local` storage is in-memory/noop and `byo` | ||
| * requires the surrounding application to provide both runner and message | ||
| * storage services | ||
| * - Ping health checks use the selected transport and serialization, so route, | ||
| * port, proxy, or codec mismatches can make a runner appear unhealthy | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -32,4 +65,4 @@ import type * as Config from "effect/Config" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -40,4 +73,8 @@ layerK8sHttpClient | ||
| /** | ||
| * @since 1.0.0 | ||
| * Builds the Node cluster HTTP/WebSocket sharding layer, configuring runner | ||
| * transport, RPC serialization, message storage, runner health checks, and | ||
| * optional client-only mode. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -122,4 +159,7 @@ export const layer = < | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the HTTP server and Node HTTP services used by cluster runners, | ||
| * listening on `ShardingConfig.runnerListenAddress` or `runnerAddress`. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -126,0 +166,0 @@ export const layerHttpServer: Layer.Layer< |
| /** | ||
| * @since 1.0.0 | ||
| * The `NodeClusterSocket` module provides the Node.js socket transport for | ||
| * Effect Cluster runners. It wires `SocketRunner` to Node TCP sockets, supplies | ||
| * RPC client and server protocol layers, and builds a complete sharding layer | ||
| * with serialization, runner health, runner storage, and message storage. | ||
| * | ||
| * **Common tasks** | ||
| * | ||
| * - Run a Node process as a cluster runner over raw TCP sockets with | ||
| * {@link layer} | ||
| * - Connect a client-only process to an existing socket cluster without | ||
| * starting a runner server | ||
| * - Use SQL-backed storage for durable multi-process clusters, `local` storage | ||
| * for short-lived development, or `byo` storage when the deployment owns the | ||
| * persistence boundary | ||
| * - Check runner health with socket pings or Kubernetes pod readiness through | ||
| * {@link layerK8sHttpClient} | ||
| * | ||
| * **Gotchas** | ||
| * | ||
| * - `runnerAddress` is the host and port advertised to other runners; set | ||
| * `runnerListenAddress` when the local bind address differs from the | ||
| * externally reachable address | ||
| * - The socket transport is point-to-point RPC, not cluster gossip: runner | ||
| * membership, shard ownership, and persisted delivery are coordinated through | ||
| * `RunnerStorage`, `MessageStorage`, and `RunnerHealth` | ||
| * - `clientOnly` does not start a socket server or receive shard assignments | ||
| * - Ping health checks use the same socket protocol, so unreachable ports, | ||
| * firewalls, or serialization mismatches can make a runner appear unhealthy | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -28,9 +57,9 @@ import { layerClientProtocol, layerSocketServer } from "@effect/platform-node-shared/NodeClusterSocket" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
| layerClientProtocol, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Re-exports | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -41,4 +70,8 @@ layerSocketServer | ||
| /** | ||
| * @since 1.0.0 | ||
| * Builds the Node cluster socket sharding layer, configuring RPC | ||
| * serialization, message storage, runner health checks, and optional | ||
| * client-only mode. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -116,4 +149,8 @@ export const layer = < | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici dispatcher for Kubernetes API calls, using the service | ||
| * account CA certificate when it is available and falling back to the default | ||
| * dispatcher otherwise. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -146,4 +183,7 @@ export const layerDispatcherK8s: Layer.Layer<NodeHttpClient.Dispatcher> = Layer.effect(NodeHttpClient.Dispatcher)( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `K8sHttpClient` backed by the Undici HTTP client and the | ||
| * Kubernetes-aware dispatcher. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -150,0 +190,0 @@ export const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient> = K8sHttpClient.layer.pipe( |
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node.js `FileSystem` layer for Effect programs. | ||
| * | ||
| * Use this module when a Node application, CLI, script, or test needs to | ||
| * satisfy the `FileSystem` service with real filesystem access for reading and | ||
| * writing files, creating directories and temporary files, inspecting metadata, | ||
| * managing links, or watching paths for changes. | ||
| * | ||
| * This module only exposes the Node-backed layer; filesystem operations are | ||
| * accessed through the `FileSystem` service from `effect/FileSystem`. Provide | ||
| * `NodeFileSystem.layer` at the edge of the program, or use | ||
| * `NodeServices.layer` when you also want the standard Node path, stdio, | ||
| * terminal, and child process services. The implementation is shared with | ||
| * other Node-compatible platform packages, so optional services such as | ||
| * `FileSystem.WatchBackend` are honored when present; otherwise file watching | ||
| * follows Node's `node:fs.watch` behavior. Paths are interpreted by Node, so | ||
| * relative paths use the current working directory and platform path rules. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -9,5 +26,7 @@ import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `FileSystem` service backed by Node filesystem APIs. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer: Layer.Layer<FileSystem> = NodeFileSystem.layer |
+91
-19
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementations of the Effect `HttpClient`. | ||
| * | ||
| * This module provides the Node-specific layers and constructors for sending | ||
| * Effect HTTP client requests. It re-exports the fetch-based client for | ||
| * programs that want to use `globalThis.fetch`, provides an Undici-backed | ||
| * client for applications that need Undici dispatcher control, and provides a | ||
| * lower-level `node:http` / `node:https` client for integrations that need | ||
| * native Node agent configuration. | ||
| * | ||
| * Use these clients in server-side applications, CLIs, tests, and integrations | ||
| * where requests should participate in Effect resource management, interruption, | ||
| * streaming, and typed transport / decode errors. The Undici path sends each | ||
| * request through the current `Dispatcher`; `layerUndici` owns a scoped | ||
| * `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher | ||
| * without destroying it. The `node:http` path uses separate scoped HTTP and | ||
| * HTTPS agents, making it the right choice when native agent options such as | ||
| * TLS, proxy, keep-alive, or socket behavior need to be configured directly. | ||
| * | ||
| * The backends are not completely interchangeable. Fetch, Undici, and | ||
| * `node:http` expose different agent and dispatcher hooks, body implementations, | ||
| * abort behavior, upgrade support, and response body readers. This module | ||
| * converts Effect request bodies to the selected runtime representation: | ||
| * streams remain streaming, `FormData` may contribute generated content headers, | ||
| * and body read failures are reported as `HttpClientError` decode or transport | ||
| * errors. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -39,14 +65,14 @@ import * as Context from "effect/Context" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
| Fetch, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
| layer as layerFetch, | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category Fetch | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -61,4 +87,7 @@ RequestInit | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP | ||
| * client. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -70,4 +99,7 @@ export class Dispatcher extends Context.Service<Dispatcher, Undici.Dispatcher>()( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing | ||
| * scope is finalized. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -80,4 +112,6 @@ export const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope> = Effect.acquireRelease( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Dispatcher` service using a scoped Undici `Agent`. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -87,4 +121,7 @@ export const layerDispatcher: Layer.Layer<Dispatcher> = Layer.effect(Dispatcher)(makeDispatcher) | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Dispatcher` service from Undici's process-global dispatcher, | ||
| * without creating or owning a new agent. | ||
| * | ||
| * @category Dispatcher | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -94,4 +131,7 @@ export const dispatcherLayerGlobal: Layer.Layer<Dispatcher> = Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher()) | ||
| /** | ||
| * @since 1.0.0 | ||
| * Fiber reference containing default Undici request options applied to requests | ||
| * sent by `makeUndici`. | ||
| * | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -104,4 +144,8 @@ export const UndiciOptions = Context.Reference<Partial<Undici.Dispatcher.RequestOptions>>( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates an `HttpClient` that sends requests through the current Undici | ||
| * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps | ||
| * transport and decode failures to `HttpClientError`. | ||
| * | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -319,4 +363,7 @@ export const makeUndici = Effect.gen(function*() { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici-backed `HttpClient` using the current `Dispatcher` | ||
| * service. | ||
| * | ||
| * @category Undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -330,4 +377,7 @@ export const layerUndiciNoDispatcher: Layer.Layer< | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an Undici-backed `HttpClient` together with a scoped default | ||
| * Undici `Agent` dispatcher. | ||
| * | ||
| * @category Undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -341,4 +391,7 @@ export const layerUndici: Layer.Layer<Client.HttpClient> = Layer.provide(layerUndiciNoDispatcher, layerDispatcher) | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the paired Node `http` and `https` agents used by the | ||
| * node:http-backed HTTP client. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -351,4 +404,7 @@ export class HttpAgent extends Context.Service<HttpAgent, { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Acquires Node `http` and `https` agents with the supplied options and | ||
| * destroys both agents when the enclosing scope is finalized. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -369,4 +425,7 @@ export const makeAgent = (options?: Https.AgentOptions): Effect.Effect<HttpAgent["Service"], never, Scope.Scope> => | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `HttpAgent` service using scoped Node `http` and `https` | ||
| * agents configured with the supplied options. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -378,4 +437,7 @@ export const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer< | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `HttpAgent` service using default scoped Node `http` and | ||
| * `https` agents. | ||
| * | ||
| * @category HttpAgent | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -385,4 +447,8 @@ export const layerAgent: Layer.Layer<HttpAgent> = layerAgentOptions() | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates an `HttpClient` backed by Node `http` and `https`, using the | ||
| * current `HttpAgent`, streaming request bodies, and wrapping Node responses | ||
| * as `HttpClientResponse` values. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -596,4 +662,7 @@ export const makeNodeHttp = Effect.gen(function*() { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a node:http-backed `HttpClient` using the current `HttpAgent` | ||
| * service. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -607,5 +676,8 @@ export const layerNodeHttpNoAgent: Layer.Layer< | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a node:http-backed `HttpClient` together with default scoped Node | ||
| * `http` and `https` agents. | ||
| * | ||
| * @category node:http | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerNodeHttp: Layer.Layer<Client.HttpClient> = Layer.provide(layerNodeHttpNoAgent, layerAgent) |
| /** | ||
| * @since 1.0.0 | ||
| * Utilities for adapting Node `http.IncomingMessage` values to the Effect HTTP | ||
| * incoming message interface used by the platform Node server and client | ||
| * implementations. | ||
| * | ||
| * This module is useful when code needs to keep access to Node's request or | ||
| * response object while also exposing Effect's typed headers, remote address, | ||
| * body decoders, and stream interface. The body helpers consume Node's readable | ||
| * stream, cache decoded text and array-buffer results, and honor the | ||
| * `HttpIncomingMessage.MaxBodySize` fiber ref. Prefer a single body access | ||
| * strategy per message: raw `stream` access is not cached, and Node request | ||
| * bodies cannot be replayed once the underlying stream has been consumed. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -16,4 +28,8 @@ import * as Effect from "effect/Effect" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Base adapter from Node `IncomingMessage` to Effect HTTP incoming messages, | ||
| * exposing headers, remote address, stream access, and cached text, JSON, URL | ||
| * parameter, and array-buffer body decoders with caller-provided error mapping. | ||
| * | ||
| * @category Constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -24,3 +40,5 @@ export abstract class NodeHttpIncomingMessage<E> extends Inspectable.Class | ||
| /** | ||
| * @since 1.0.0 | ||
| * Marks this value as an HTTP incoming message for runtime guards. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -27,0 +45,0 @@ readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId |
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementation of the Effect HTTP platform service. | ||
| * | ||
| * This module connects the portable `HttpPlatform` file response helpers to | ||
| * Node runtime primitives. It is used by Node HTTP servers and static file | ||
| * handlers when returning local files, public assets, downloads, byte ranges, | ||
| * or Web `File` values as `HttpServerResponse` bodies. | ||
| * | ||
| * Path-based responses are served with `node:fs.createReadStream`; Web `File` | ||
| * responses are bridged with `Readable.fromWeb`. The implementation fills in | ||
| * `content-type` from `Mime`, falls back to `application/octet-stream`, and | ||
| * writes the `content-length` for the selected range or whole file. Node's | ||
| * stream `end` option is inclusive, so the platform converts Effect's half-open | ||
| * range before reading. Empty bodies use an empty readable stream. | ||
| * | ||
| * Provide `layer` at the Node runtime edge when file responses, static serving, | ||
| * or response bodies created from files need real filesystem and ETag support. | ||
| * These responses are raw Node streams, so they are intended for the Node HTTP | ||
| * server adapter; keep files available until the response body has been | ||
| * consumed and prefer the portable `HttpServerResponse` constructors when a | ||
| * response does not depend on Node file or stream behavior. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -16,4 +37,7 @@ import { pipe } from "effect/Function" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates the Node `HttpPlatform`, serving file responses from Node readable | ||
| * streams and adding MIME type and content-length headers when needed. | ||
| * | ||
| * @category Constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -51,4 +75,7 @@ export const make = Platform.make({ | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `HttpPlatform` together with the filesystem and ETag | ||
| * services it needs for file responses. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -55,0 +82,0 @@ export const layer: Layer.Layer<Platform.HttpPlatform> = pipe( |
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementation of the Effect `HttpServer`. | ||
| * | ||
| * This module adapts a supplied Node `http.Server` into Effect's | ||
| * platform-independent HTTP server service. It starts the server with Node | ||
| * `listen` options, converts `request` events into `HttpServerRequest` values, | ||
| * writes `HttpServerResponse` bodies through Node's `ServerResponse`, and | ||
| * handles `upgrade` events by exposing the upgraded socket through | ||
| * `HttpServerRequest.upgrade`. | ||
| * | ||
| * Common use cases include serving an Effect HTTP application with {@link layer} | ||
| * or {@link layerConfig}, embedding request or upgrade handlers into an | ||
| * existing Node server with {@link makeHandler} and {@link makeUpgradeHandler}, | ||
| * and using {@link layerTest} for integration tests that need an ephemeral | ||
| * listening port and a client pointed at it. | ||
| * | ||
| * Listen options are passed directly to Node, so host, port, backlog, and Unix | ||
| * socket path behavior follow `node:http`. The server begins listening when the | ||
| * `HttpServer` is acquired, and handlers are installed when `serve` is run. | ||
| * Request fibers are interrupted with `ClientAbort` when the client disconnects | ||
| * before a response finishes. WebSocket support only applies to Node `upgrade` | ||
| * requests, and ordinary HTTP requests fail if their application attempts to use | ||
| * `HttpServerRequest.upgrade`. | ||
| * | ||
| * Scope ownership is important: the server is closed when the acquiring scope | ||
| * finalizes, while each `serve` call installs its own request and upgrade | ||
| * listeners and removes them on finalization. Unless preemptive shutdown is | ||
| * disabled, finalizing a serve scope also starts a graceful server close, using | ||
| * the configured timeout or the default timeout. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -55,4 +84,8 @@ import * as Cause from "effect/Cause" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a scoped `HttpServer` from a Node `http.Server`, starts listening | ||
| * with the supplied options, registers request and upgrade handling, and closes | ||
| * the server during scope finalization with optional graceful-shutdown control. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -149,4 +182,8 @@ export const make = Effect.fnUntraced(function*( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a Node `request` event handler for an Effect HTTP application, | ||
| * injecting a `HttpServerRequest` and interrupting the request fiber if the | ||
| * client closes the response before it finishes. | ||
| * | ||
| * @category Handlers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -188,4 +225,8 @@ export const makeHandler = < | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a Node `upgrade` event handler for an Effect HTTP application, | ||
| * exposing the upgraded WebSocket as the request's `upgrade` effect and | ||
| * interrupting the request fiber when the socket closes early. | ||
| * | ||
| * @category Handlers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -372,4 +413,7 @@ export const makeUpgradeHandler = < | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides an `HttpServer` by creating and managing a scoped Node | ||
| * `http.Server` with the supplied listen and shutdown options. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -385,4 +429,7 @@ export const layerServer: ( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node HTTP support services used by `NodeHttpServer`, including | ||
| * the HTTP platform, ETag generator, and core Node platform services. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -398,4 +445,7 @@ export const layerHttpServices: Layer.Layer< | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a Node `HttpServer` together with the Node HTTP platform, ETag, and | ||
| * core platform services required to serve requests. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -418,4 +468,7 @@ export const layer = ( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a Node `HttpServer` and HTTP support services, reading the listen | ||
| * and shutdown options from a `Config` value. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -442,4 +495,7 @@ export const layerConfig = ( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a test HTTP server listening on an ephemeral port together with a | ||
| * Fetch-backed `HttpClient` configured for server integration tests. | ||
| * | ||
| * @category Testing | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -446,0 +502,0 @@ export const layerTest: Layer.Layer< |
| /** | ||
| * @since 1.0.0 | ||
| * Accessors for the Node.js objects backing a platform Node | ||
| * `HttpServerRequest`. | ||
| * | ||
| * Use this module at interop boundaries when an Effect HTTP handler needs the | ||
| * original `http.IncomingMessage` or `http.ServerResponse` for APIs that are | ||
| * specific to Node, such as existing middleware, socket inspection, raw stream | ||
| * piping, or response customization that cannot be expressed with the portable | ||
| * `HttpServerRequest` and `HttpServerResponse` interfaces. | ||
| * | ||
| * The returned request is the original Node request supplied to the server. It | ||
| * does not reflect Effect request overrides made by middleware, such as a | ||
| * rewritten URL, adjusted headers, or a substituted remote address. Its body is | ||
| * also Node's one-shot readable stream, so avoid mixing raw stream consumption | ||
| * with Effect body, multipart, or stream helpers unless ownership of the body | ||
| * is clear. The returned response is the Node response owned by the platform | ||
| * server; writing to it directly bypasses the usual Effect response writer and | ||
| * must be coordinated carefully to avoid duplicate writes. Upgrade requests may | ||
| * create that response lazily when it is first requested. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -8,4 +27,7 @@ import type { HttpServerRequest } from "effect/unstable/http/HttpServerRequest" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node `IncomingMessage` for a platform Node | ||
| * `HttpServerRequest`. | ||
| * | ||
| * @category Accessors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -15,4 +37,8 @@ export const toIncomingMessage = (self: HttpServerRequest): Http.IncomingMessage => self.source as any | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node `ServerResponse` for a platform Node | ||
| * `HttpServerRequest`, evaluating the stored response thunk when the response | ||
| * was created lazily. | ||
| * | ||
| * @category Accessors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -19,0 +45,0 @@ export const toServerResponse = (self: HttpServerRequest): Http.ServerResponse => { |
+31
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node-specific helpers for parsing HTTP `multipart/form-data` request bodies. | ||
| * | ||
| * This module adapts a Node `Readable` request body plus its incoming headers | ||
| * into the shared `Multipart` model. Use `stream` when an HTTP server route | ||
| * wants to handle form fields and uploaded files incrementally, for example API | ||
| * endpoints that validate text fields while piping file parts to storage. Use | ||
| * `persisted` when the whole form should be collected into a record and uploaded | ||
| * files should be written into scoped temporary files through the current | ||
| * `FileSystem` and `Path` services. | ||
| * | ||
| * Node request bodies are one-shot streams, so consume either `stream` or | ||
| * `persisted`, and make sure file parts are drained, piped, or otherwise | ||
| * deliberately handled. `contentEffect` loads a file into memory and should be | ||
| * reserved for small uploads. Persisted paths live only for the surrounding | ||
| * `Scope`, and filenames supplied by clients should be treated as metadata, not | ||
| * trusted filesystem paths. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -19,4 +36,8 @@ import * as Effect from "effect/Effect" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Parses multipart data from a Node readable request body and headers into a | ||
| * stream of `Multipart.Part` values, converting parser failures to | ||
| * `MultipartError`. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -43,4 +64,7 @@ export const stream = ( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Parses multipart data from a Node readable request body and persists file | ||
| * parts using the current `FileSystem`, `Path`, and `Scope` services. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -62,3 +86,6 @@ export const persisted = ( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Returns the underlying Node readable stream for a multipart file produced by | ||
| * the Node multipart parser. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -65,0 +92,0 @@ export const fileToReadable = (file: Multipart.File): Readable => (file as FileImpl).file |
+27
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node.js layers for Effect's `Path` service. | ||
| * | ||
| * Use this module when an Effect program running on Node needs path operations | ||
| * from the `Path` service, such as joining and normalizing filesystem | ||
| * locations, resolving configuration or static asset paths, working with CLI | ||
| * path arguments, or converting between file paths and `file:` URLs. | ||
| * | ||
| * `layer` follows the host platform's `node:path` semantics. Use `layerPosix` | ||
| * or `layerWin32` when code needs stable POSIX or Windows behavior regardless | ||
| * of the operating system. These layers provide only path manipulation; they do | ||
| * not read the filesystem or validate that paths exist. `NodeServices.layer` | ||
| * already includes the default Node path layer, so provide this module directly | ||
| * when you want the narrower service or one of the platform-specific variants. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -9,4 +23,7 @@ import * as NodePath from "@effect/platform-node-shared/NodePath" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default Node `Path` service using the platform's `node:path` | ||
| * implementation. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -16,4 +33,7 @@ export const layer: Layer.Layer<Path> = NodePath.layer | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Path` service using Node's POSIX path implementation, | ||
| * regardless of the host platform. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -23,5 +43,8 @@ export const layerPosix: Layer.Layer<Path> = NodePath.layerPosix | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Path` service using Node's Windows path implementation, | ||
| * regardless of the host platform. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layerWin32: Layer.Layer<Path> = NodePath.layerWin32 |
+33
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node.js Redis integration backed by `ioredis`. | ||
| * | ||
| * This module provides scoped layers that create an `ioredis` client and expose | ||
| * both the low-level `Redis` service used by Effect persistence modules and the | ||
| * `NodeRedis` service for direct access to the underlying client. It is useful | ||
| * for Node applications that want Redis-backed persistence, persisted queues, | ||
| * distributed rate limiting, or custom Redis commands alongside the Effect | ||
| * services that build on Redis. | ||
| * | ||
| * The client is acquired when the layer is built and closed with `quit` when | ||
| * the layer scope ends, so install the layer at the lifetime you want for the | ||
| * connection and pass `ioredis` options, or `layerConfig`, for connection, | ||
| * TLS, database, retry, and reconnect settings. Persistence and rate limiter | ||
| * stores build their own keys and Lua scripts on top of this service; choose | ||
| * stable prefixes and store ids to avoid collisions, account for persisted | ||
| * values that may fail to decode after schema changes, and avoid unbounded | ||
| * high-cardinality rate-limit keys unless you have a cleanup or bounding | ||
| * strategy. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -14,4 +33,8 @@ import * as Config from "effect/Config" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Service tag for the Node Redis integration, exposing the underlying | ||
| * `ioredis` client and a `use` helper that maps client failures to | ||
| * `RedisError`. | ||
| * | ||
| * @category Service | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -55,4 +78,7 @@ export class NodeRedis extends Context.Service<NodeRedis, { | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides `Redis` and `NodeRedis` services backed by an `ioredis` client | ||
| * created with the supplied options and closed when the layer scope ends. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -64,4 +90,7 @@ export const layer = ( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides `Redis` and `NodeRedis` services from `Config`-backed ioredis | ||
| * options, closing the client when the layer scope ends. | ||
| * | ||
| * @category Layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -68,0 +97,0 @@ export const layerConfig: ( |
+18
-4
| /** | ||
| * @since 1.0.0 | ||
| * Node.js entry-point helpers for running Effect programs. | ||
| * | ||
| * This module exposes `runMain`, the Node runtime launcher used at the edge of | ||
| * CLI tools, scripts, servers, and worker processes. It runs an already | ||
| * self-contained Effect as the process main program, with built-in error | ||
| * reporting and Node signal handling. | ||
| * | ||
| * `NodeRuntime` does not provide application services by itself. Provide any | ||
| * required layers, such as `NodeServices.layer` or narrower service-specific | ||
| * layers, before passing the effect to `runMain`. On `SIGINT` or `SIGTERM`, | ||
| * the main fiber is interrupted so scoped resources and finalizers can shut | ||
| * down; keep long-running work attached to that scope and avoid finalizers that | ||
| * never complete, otherwise process shutdown can be delayed. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -31,4 +45,4 @@ import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime" | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -59,4 +73,4 @@ export const runMain: { | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -92,4 +106,4 @@ ( | ||
| * | ||
| * @since 1.0.0 | ||
| * @category Run main | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -96,0 +110,0 @@ <E, A>( |
+26
-3
| /** | ||
| * @since 1.0.0 | ||
| * Provides the aggregate Node platform services layer for applications that run | ||
| * on the Node.js runtime. | ||
| * | ||
| * This module is useful when an application needs the standard Node-backed | ||
| * implementations of filesystem access, path operations, stdio, terminal | ||
| * interaction, and child process spawning from a single layer. Provide | ||
| * `NodeServices.layer` near the edge of a program to satisfy effects that read | ||
| * or write files, resolve paths, interact with stdin/stdout/stderr or a | ||
| * terminal, or launch subprocesses. | ||
| * | ||
| * The layer only supplies the runtime services listed by `NodeServices`; it does | ||
| * not provide unrelated platform services such as HTTP clients or servers. | ||
| * Libraries should continue to depend on the individual service tags they use, | ||
| * while applications, CLIs, and tests can choose this layer or narrower | ||
| * service-specific layers depending on how much of the Node runtime they want to | ||
| * expose. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -17,4 +34,7 @@ import type { FileSystem } from "effect/FileSystem" | ||
| /** | ||
| * @since 1.0.0 | ||
| * The union of core services provided by the Node platform layer, including | ||
| * child process spawning, filesystem, path, stdio, and terminal services. | ||
| * | ||
| * @category models | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -24,4 +44,7 @@ export type NodeServices = ChildProcessSpawner | FileSystem | Path | Stdio | Terminal | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default Node implementations for child process spawning, | ||
| * filesystem, path, stdio, and terminal services. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -28,0 +51,0 @@ export const layer: Layer.Layer<NodeServices> = Layer.provideMerge( |
+2
-2
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSink" |
+32
-5
| /** | ||
| * @since 1.0.0 | ||
| * Node platform socket entry point for Effect sockets backed by Node streams | ||
| * and WebSocket implementations. | ||
| * | ||
| * This module re-exports the shared Node socket constructors for TCP clients, | ||
| * Unix domain socket clients, and adapters from existing Node `Duplex` streams, | ||
| * then adds Node-specific WebSocket constructor layers. Use it when connecting | ||
| * to raw socket protocols, wiring RPC transports over TCP or Unix sockets, or | ||
| * opening WebSocket clients in Node. | ||
| * | ||
| * TCP and Unix socket behavior comes from the shared Node layer: Unix sockets | ||
| * are selected with `NetConnectOpts.path`, scoped sockets close or destroy the | ||
| * underlying stream on finalization, and Node open, read, write, and close | ||
| * events are translated into `SocketError` values. For WebSockets, | ||
| * `layerWebSocketConstructor` prefers `globalThis.WebSocket` when available | ||
| * and falls back to `ws`; use `layerWebSocketConstructorWS` when you need the | ||
| * `ws` implementation consistently across Node versions. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -12,3 +29,3 @@ import { NodeWS as WS } from "@effect/platform-node-shared/NodeSocket" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -18,4 +35,7 @@ export * from "@effect/platform-node-shared/NodeSocket" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `Socket.WebSocketConstructor`, using `globalThis.WebSocket` when | ||
| * available and falling back to the `ws` package otherwise. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -32,4 +52,7 @@ export const layerWebSocketConstructor: Layer.Layer< | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides a `Socket.WebSocketConstructor` backed explicitly by the `ws` | ||
| * package. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -43,4 +66,8 @@ export const layerWebSocketConstructorWS: Layer.Layer< | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a `Socket.Socket` layer for a WebSocket URL using the Node WebSocket | ||
| * constructor layer, honoring protocol, open-timeout, and close-code error | ||
| * options. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -47,0 +74,0 @@ export const layerWebSocket: ( |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeSocketServer" |
+21
-2
| /** | ||
| * @since 1.0.0 | ||
| * Node.js implementation of the Effect `Stdio` service. | ||
| * | ||
| * This module exposes a layer that connects `Stdio` to the current process: | ||
| * command-line arguments come from `process.argv`, input is read from | ||
| * `process.stdin`, and output and error output write to `process.stdout` and | ||
| * `process.stderr`. It is intended for CLIs, scripts, command runners, and | ||
| * other process-oriented programs that need standard input and output through | ||
| * Effect services. | ||
| * | ||
| * The underlying streams are owned by the Node process. The layer keeps stdin | ||
| * open and does not end stdout or stderr when a stream finishes, which avoids | ||
| * closing global process handles that other code may still use. Be mindful that | ||
| * stdio may be a pipe, file, or TTY, so terminal-specific behavior such as raw | ||
| * mode, echo, colors, and cursor control should be handled with the terminal | ||
| * APIs instead of assuming an interactive console. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -9,5 +25,8 @@ import * as NodeStdio from "@effect/platform-node-shared/NodeStdio" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `Stdio` service backed by the current process arguments, | ||
| * stdin, stdout, and stderr streams. | ||
| * | ||
| * @category layer | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer: Layer.Layer<Stdio> = NodeStdio.layer |
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
| export * from "@effect/platform-node-shared/NodeStream" |
+19
-3
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node.js `Terminal` service for interactive command-line | ||
| * programs, prompts, and tools that need to read lines, react to key presses, | ||
| * write to stdout, or inspect terminal dimensions. | ||
| * | ||
| * The implementation is backed by the current process' stdin and stdout. When | ||
| * stdin is a TTY, key input temporarily enables raw mode for the scope of the | ||
| * service, so callers should acquire it with a scope or use the provided layer | ||
| * to ensure terminal state is restored. In non-TTY environments, terminal | ||
| * dimensions may be reported as zero and raw-mode key handling is unavailable. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -11,4 +21,7 @@ import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Creates a scoped `Terminal` service backed by process stdin/stdout, using the | ||
| * optional predicate to decide when key input should end the input stream. | ||
| * | ||
| * @category constructors | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -18,5 +31,8 @@ export const make: (shouldQuit?: (input: UserInput) => boolean) => Effect<Terminal, never, Scope> = NodeTerminal.make | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the default process-backed `Terminal` service, ending key input on | ||
| * the default quit keys. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
| export const layer: Layer<Terminal> = NodeTerminal.layer |
+28
-3
| /** | ||
| * @since 1.0.0 | ||
| * Parent-side Node.js support for Effect workers. | ||
| * | ||
| * This module provides the `WorkerPlatform` used by Node programs that spawn | ||
| * and communicate with `node:worker_threads` workers or IPC-enabled child | ||
| * processes through Effect's worker protocol. Pair it with `NodeWorkerRunner` | ||
| * in the worker entrypoint when building worker-backed RPC clients, offloading | ||
| * CPU-bound work, isolating Node resources, or hosting services that should | ||
| * exchange typed messages with the parent process. | ||
| * | ||
| * Worker-thread spawners can use `postMessage` transfer lists for values such | ||
| * as `ArrayBuffer` and `MessagePort`, but transferring moves ownership and | ||
| * invalid transfer lists surface as worker send or receive failures. | ||
| * Child-process spawners must provide an IPC channel, for example via | ||
| * `child_process.fork` or `stdio: "ipc"`; their messages use Node IPC | ||
| * serialization and this module does not forward transfer lists to | ||
| * `ChildProcess.send`. Scope finalization sends the worker close signal and | ||
| * waits for exit before falling back to `terminate()` or `SIGKILL`. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -15,4 +33,8 @@ import * as Deferred from "effect/Deferred" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `WorkerPlatform` for `worker_threads` workers and child | ||
| * process workers, wiring messages, errors, and exits into Effect workers and | ||
| * terminating the worker if graceful shutdown times out. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -97,4 +119,7 @@ export const layerPlatform: Layer.Layer<Worker.WorkerPlatform> = Layer.succeed(Worker.WorkerPlatform)( | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the Node `WorkerPlatform` together with a `Worker.Spawner` created | ||
| * from the supplied worker or child-process spawning function. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -101,0 +126,0 @@ export const layer = ( |
| /** | ||
| * @since 1.0.0 | ||
| * Runtime support for Effect workers that are executed by Node.js. | ||
| * | ||
| * This module is intended to be installed in the program running inside a | ||
| * `node:worker_threads` worker or an IPC-enabled child process. It provides the | ||
| * `WorkerRunnerPlatform` used by `WorkerRunner` to receive request messages | ||
| * from the parent, run the registered Effect handler, and send responses back | ||
| * over the parent channel. | ||
| * | ||
| * Use it when the parent side is created with `NodeWorker` and the worker code | ||
| * needs to perform CPU-bound work, isolate Node resources, or host services that | ||
| * should communicate through the Effect worker protocol. The runner must be | ||
| * started from an actual worker context: `parentPort` is required for worker | ||
| * threads, while child processes must be spawned with an IPC channel so | ||
| * `process.send` is available. Transfer lists only apply to worker-thread | ||
| * `postMessage`; child-process messages go through Node IPC serialization. | ||
| * Shutdown is coordinated by the parent message protocol, so long-running | ||
| * handlers should remain interruptible and keep resource cleanup in scopes. | ||
| * | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -15,4 +33,8 @@ import * as Cause from "effect/Cause" | ||
| /** | ||
| * @since 1.0.0 | ||
| * Provides the `WorkerRunnerPlatform` for code running inside a Node worker | ||
| * thread or child process, routing parent messages to the registered handler | ||
| * and sending responses back through the parent channel. | ||
| * | ||
| * @category layers | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -19,0 +41,0 @@ export const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform> = Layer.succeed(WorkerRunner.WorkerRunnerPlatform)({ |
+3
-3
| /** | ||
| * @since 1.0.0 | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -7,4 +7,4 @@ import Undici from "undici" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
@@ -14,5 +14,5 @@ export * from "undici" | ||
| /** | ||
| * @since 1.0.0 | ||
| * @category undici | ||
| * @since 4.0.0 | ||
| */ | ||
| export default Undici |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
319779
27.85%6223
27%4
300%6
Infinity%+ Added
+ Added
- Removed
- Removed
Updated