@effect/platform-node 4.0.0-beta.7 → 4.0.0-beta.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Mime.d.ts +3 -3
- package/dist/Mime.js +3 -3
- package/dist/NodeChildProcessSpawner.d.ts +1 -1
- package/dist/NodeChildProcessSpawner.js +1 -1
- package/dist/NodeClusterHttp.d.ts +49 -7
- package/dist/NodeClusterHttp.d.ts.map +1 -1
- package/dist/NodeClusterHttp.js +20 -10
- package/dist/NodeClusterHttp.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +57 -11
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +57 -11
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +10 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +14 -0
- package/dist/NodeCrypto.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +4 -2
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +22 -3
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeHttpClient.d.ts +102 -24
- package/dist/NodeHttpClient.d.ts.map +1 -1
- package/dist/NodeHttpClient.js +124 -28
- package/dist/NodeHttpClient.js.map +1 -1
- package/dist/NodeHttpIncomingMessage.d.ts +30 -9
- package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
- package/dist/NodeHttpIncomingMessage.js +34 -8
- package/dist/NodeHttpIncomingMessage.js.map +1 -1
- package/dist/NodeHttpPlatform.d.ts +10 -4
- package/dist/NodeHttpPlatform.d.ts.map +1 -1
- package/dist/NodeHttpPlatform.js +34 -7
- package/dist/NodeHttpPlatform.js.map +1 -1
- package/dist/NodeHttpServer.d.ts +56 -16
- package/dist/NodeHttpServer.d.ts.map +1 -1
- package/dist/NodeHttpServer.js +117 -49
- package/dist/NodeHttpServer.js.map +1 -1
- package/dist/NodeHttpServerRequest.d.ts +29 -3
- package/dist/NodeHttpServerRequest.d.ts.map +1 -1
- package/dist/NodeHttpServerRequest.js +9 -2
- package/dist/NodeHttpServerRequest.js.map +1 -1
- package/dist/NodeMultipart.d.ts +32 -4
- package/dist/NodeMultipart.d.ts.map +1 -1
- package/dist/NodeMultipart.js +32 -4
- package/dist/NodeMultipart.js.map +1 -1
- package/dist/NodePath.d.ts +15 -6
- package/dist/NodePath.d.ts.map +1 -1
- package/dist/NodePath.js +30 -7
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRedis.d.ts +38 -9
- package/dist/NodeRedis.d.ts.map +1 -1
- package/dist/NodeRedis.js +41 -12
- package/dist/NodeRedis.js.map +1 -1
- package/dist/NodeRuntime.d.ts +27 -36
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +24 -13
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeServices.d.ts +29 -5
- package/dist/NodeServices.d.ts.map +1 -1
- package/dist/NodeServices.js +7 -3
- package/dist/NodeServices.js.map +1 -1
- package/dist/NodeSink.d.ts +2 -2
- package/dist/NodeSink.js +2 -2
- package/dist/NodeSocket.d.ts +18 -3
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +36 -4
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.js +2 -2
- package/dist/NodeStdio.d.ts +5 -2
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +22 -3
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +2 -2
- package/dist/NodeStream.js +2 -2
- package/dist/NodeTerminal.d.ts +8 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +19 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/NodeWorker.d.ts +9 -2
- package/dist/NodeWorker.d.ts.map +1 -1
- package/dist/NodeWorker.js +31 -6
- package/dist/NodeWorker.js.map +1 -1
- package/dist/NodeWorkerRunner.d.ts +5 -1
- package/dist/NodeWorkerRunner.d.ts.map +1 -1
- package/dist/NodeWorkerRunner.js +27 -5
- package/dist/NodeWorkerRunner.js.map +1 -1
- package/dist/Undici.d.ts +3 -3
- package/dist/Undici.js +3 -3
- package/dist/index.d.ts +376 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +376 -24
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/Mime.ts +3 -3
- package/src/NodeChildProcessSpawner.ts +1 -1
- package/src/NodeClusterHttp.ts +54 -11
- package/src/NodeClusterSocket.ts +57 -11
- package/src/NodeCrypto.ts +16 -0
- package/src/NodeFileSystem.ts +22 -3
- package/src/NodeHttpClient.ts +132 -33
- package/src/NodeHttpIncomingMessage.ts +42 -12
- package/src/NodeHttpPlatform.ts +35 -6
- package/src/NodeHttpServer.ts +139 -53
- package/src/NodeHttpServerRequest.ts +29 -3
- package/src/NodeMultipart.ts +32 -4
- package/src/NodePath.ts +30 -7
- package/src/NodeRedis.ts +43 -14
- package/src/NodeRuntime.ts +42 -37
- package/src/NodeServices.ts +31 -5
- package/src/NodeSink.ts +2 -2
- package/src/NodeSocket.ts +41 -4
- package/src/NodeSocketServer.ts +2 -2
- package/src/NodeStdio.ts +22 -3
- package/src/NodeStream.ts +2 -2
- package/src/NodeTerminal.ts +19 -3
- package/src/NodeWorker.ts +31 -6
- package/src/NodeWorkerRunner.ts +27 -5
- package/src/Undici.ts +3 -3
- package/src/index.ts +377 -24
package/dist/NodeHttpClient.d.ts
CHANGED
|
@@ -1,110 +1,188 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
2
|
+
* Node.js implementations of the Effect `HttpClient`.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the Node-specific layers and constructors for sending
|
|
5
|
+
* Effect HTTP client requests. It re-exports the fetch-based client for
|
|
6
|
+
* programs that want to use `globalThis.fetch`, provides an Undici-backed
|
|
7
|
+
* client for applications that need Undici dispatcher control, and provides a
|
|
8
|
+
* lower-level `node:http` / `node:https` client for integrations that need
|
|
9
|
+
* native Node agent configuration.
|
|
10
|
+
*
|
|
11
|
+
* Use these clients in server-side applications, CLIs, tests, and integrations
|
|
12
|
+
* where requests should participate in Effect resource management, interruption,
|
|
13
|
+
* streaming, and typed transport / decode errors. The Undici path sends each
|
|
14
|
+
* request through the current `Dispatcher`; `layerUndici` owns a scoped
|
|
15
|
+
* `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher
|
|
16
|
+
* without destroying it. The `node:http` path uses separate scoped HTTP and
|
|
17
|
+
* HTTPS agents, making it the right choice when native agent options such as
|
|
18
|
+
* TLS, proxy, keep-alive, or socket behavior need to be configured directly.
|
|
19
|
+
*
|
|
20
|
+
* The backends are not completely interchangeable. Fetch, Undici, and
|
|
21
|
+
* `node:http` expose different agent and dispatcher hooks, body implementations,
|
|
22
|
+
* abort behavior, upgrade support, and response body readers. This module
|
|
23
|
+
* converts Effect request bodies to the selected runtime representation:
|
|
24
|
+
* streams remain streaming, `FormData` may contribute generated content headers,
|
|
25
|
+
* and body read failures are reported as `HttpClientError` decode or transport
|
|
26
|
+
* errors.
|
|
27
|
+
*
|
|
28
|
+
* @since 4.0.0
|
|
29
|
+
*/
|
|
30
|
+
import * as Context from "effect/Context";
|
|
4
31
|
import * as Effect from "effect/Effect";
|
|
5
32
|
import * as Layer from "effect/Layer";
|
|
6
33
|
import type * as Scope from "effect/Scope";
|
|
7
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
8
34
|
import * as Client from "effect/unstable/http/HttpClient";
|
|
9
35
|
import * as Http from "node:http";
|
|
10
36
|
import * as Https from "node:https";
|
|
11
37
|
import * as Undici from "./Undici.ts";
|
|
12
38
|
export {
|
|
13
39
|
/**
|
|
14
|
-
*
|
|
40
|
+
* Fetch-based HTTP client implementation for Node.js.
|
|
41
|
+
*
|
|
15
42
|
* @category Fetch
|
|
43
|
+
* @since 4.0.0
|
|
16
44
|
*/
|
|
17
45
|
Fetch,
|
|
18
46
|
/**
|
|
19
|
-
*
|
|
47
|
+
* Layer that provides the fetch-based HTTP client implementation.
|
|
48
|
+
*
|
|
20
49
|
* @category Fetch
|
|
50
|
+
* @since 4.0.0
|
|
21
51
|
*/
|
|
22
52
|
layer as layerFetch,
|
|
23
53
|
/**
|
|
24
|
-
*
|
|
54
|
+
* Request initialization options accepted by the fetch-based HTTP client.
|
|
55
|
+
*
|
|
25
56
|
* @category Fetch
|
|
57
|
+
* @since 4.0.0
|
|
26
58
|
*/
|
|
27
59
|
RequestInit } from "effect/unstable/http/FetchHttpClient";
|
|
28
|
-
declare const Dispatcher_base:
|
|
60
|
+
declare const Dispatcher_base: Context.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
|
|
29
61
|
/**
|
|
30
|
-
*
|
|
62
|
+
* Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
|
|
63
|
+
* client.
|
|
64
|
+
*
|
|
31
65
|
* @category Dispatcher
|
|
66
|
+
* @since 4.0.0
|
|
32
67
|
*/
|
|
33
68
|
export declare class Dispatcher extends Dispatcher_base {
|
|
34
69
|
}
|
|
35
70
|
/**
|
|
36
|
-
*
|
|
71
|
+
* Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
|
|
72
|
+
* scope is finalized.
|
|
73
|
+
*
|
|
37
74
|
* @category Dispatcher
|
|
75
|
+
* @since 4.0.0
|
|
38
76
|
*/
|
|
39
77
|
export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>;
|
|
40
78
|
/**
|
|
41
|
-
*
|
|
79
|
+
* Provides the `Dispatcher` service using a scoped Undici `Agent`.
|
|
80
|
+
*
|
|
42
81
|
* @category Dispatcher
|
|
82
|
+
* @since 4.0.0
|
|
43
83
|
*/
|
|
44
84
|
export declare const layerDispatcher: Layer.Layer<Dispatcher>;
|
|
45
85
|
/**
|
|
46
|
-
*
|
|
86
|
+
* Provides the `Dispatcher` service from Undici's process-global dispatcher,
|
|
87
|
+
* without creating or owning a new agent.
|
|
88
|
+
*
|
|
47
89
|
* @category Dispatcher
|
|
90
|
+
* @since 4.0.0
|
|
48
91
|
*/
|
|
49
92
|
export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>;
|
|
50
93
|
/**
|
|
51
|
-
*
|
|
94
|
+
* Fiber reference containing default Undici request options applied to requests
|
|
95
|
+
* sent by `makeUndici`.
|
|
96
|
+
*
|
|
52
97
|
* @category undici
|
|
98
|
+
* @since 4.0.0
|
|
53
99
|
*/
|
|
54
|
-
export declare const UndiciOptions:
|
|
100
|
+
export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
|
|
55
101
|
/**
|
|
56
|
-
*
|
|
102
|
+
* Creates an `HttpClient` that sends requests through the current Undici
|
|
103
|
+
* `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
|
|
104
|
+
* transport and decode failures to `HttpClientError`.
|
|
105
|
+
*
|
|
57
106
|
* @category undici
|
|
107
|
+
* @since 4.0.0
|
|
58
108
|
*/
|
|
59
109
|
export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>;
|
|
60
110
|
/**
|
|
61
|
-
*
|
|
111
|
+
* Provides an Undici-backed `HttpClient` using the current `Dispatcher`
|
|
112
|
+
* service.
|
|
113
|
+
*
|
|
62
114
|
* @category Undici
|
|
115
|
+
* @since 4.0.0
|
|
63
116
|
*/
|
|
64
117
|
export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>;
|
|
65
118
|
/**
|
|
66
|
-
*
|
|
119
|
+
* Provides an Undici-backed `HttpClient` together with a scoped default
|
|
120
|
+
* Undici `Agent` dispatcher.
|
|
121
|
+
*
|
|
67
122
|
* @category Undici
|
|
123
|
+
* @since 4.0.0
|
|
68
124
|
*/
|
|
69
125
|
export declare const layerUndici: Layer.Layer<Client.HttpClient>;
|
|
70
|
-
declare const HttpAgent_base:
|
|
126
|
+
declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
|
|
71
127
|
readonly http: Http.Agent;
|
|
72
128
|
readonly https: Https.Agent;
|
|
73
129
|
}>;
|
|
74
130
|
/**
|
|
75
|
-
*
|
|
131
|
+
* Service tag for the paired Node `http` and `https` agents used by the
|
|
132
|
+
* node:http-backed HTTP client.
|
|
133
|
+
*
|
|
76
134
|
* @category HttpAgent
|
|
135
|
+
* @since 4.0.0
|
|
77
136
|
*/
|
|
78
137
|
export declare class HttpAgent extends HttpAgent_base {
|
|
79
138
|
}
|
|
80
139
|
/**
|
|
81
|
-
*
|
|
140
|
+
* Acquires Node `http` and `https` agents with the supplied options and
|
|
141
|
+
* destroys both agents when the enclosing scope is finalized.
|
|
142
|
+
*
|
|
82
143
|
* @category HttpAgent
|
|
144
|
+
* @since 4.0.0
|
|
83
145
|
*/
|
|
84
146
|
export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>;
|
|
85
147
|
/**
|
|
86
|
-
*
|
|
148
|
+
* Provides the `HttpAgent` service using scoped Node `http` and `https`
|
|
149
|
+
* agents configured with the supplied options.
|
|
150
|
+
*
|
|
87
151
|
* @category HttpAgent
|
|
152
|
+
* @since 4.0.0
|
|
88
153
|
*/
|
|
89
154
|
export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>;
|
|
90
155
|
/**
|
|
91
|
-
*
|
|
156
|
+
* Provides the `HttpAgent` service using default scoped Node `http` and
|
|
157
|
+
* `https` agents.
|
|
158
|
+
*
|
|
92
159
|
* @category HttpAgent
|
|
160
|
+
* @since 4.0.0
|
|
93
161
|
*/
|
|
94
162
|
export declare const layerAgent: Layer.Layer<HttpAgent>;
|
|
95
163
|
/**
|
|
96
|
-
*
|
|
164
|
+
* Creates an `HttpClient` backed by Node `http` and `https`, using the
|
|
165
|
+
* current `HttpAgent`, streaming request bodies, and wrapping Node responses
|
|
166
|
+
* as `HttpClientResponse` values.
|
|
167
|
+
*
|
|
97
168
|
* @category node:http
|
|
169
|
+
* @since 4.0.0
|
|
98
170
|
*/
|
|
99
171
|
export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>;
|
|
100
172
|
/**
|
|
101
|
-
*
|
|
173
|
+
* Provides a node:http-backed `HttpClient` using the current `HttpAgent`
|
|
174
|
+
* service.
|
|
175
|
+
*
|
|
102
176
|
* @category node:http
|
|
177
|
+
* @since 4.0.0
|
|
103
178
|
*/
|
|
104
179
|
export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>;
|
|
105
180
|
/**
|
|
106
|
-
*
|
|
181
|
+
* Provides a node:http-backed `HttpClient` together with default scoped Node
|
|
182
|
+
* `http` and `https` agents.
|
|
183
|
+
*
|
|
107
184
|
* @category node:http
|
|
185
|
+
* @since 4.0.0
|
|
108
186
|
*/
|
|
109
187
|
export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>;
|
|
110
188
|
//# sourceMappingURL=NodeHttpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"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;;;;;GAKG;AACH,KAAK;AACL;;;;;GAKG;AACH,KAAK,IAAI,UAAU;AACnB;;;;;GAKG;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"}
|
package/dist/NodeHttpClient.js
CHANGED
|
@@ -1,11 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js implementations of the Effect `HttpClient`.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the Node-specific layers and constructors for sending
|
|
5
|
+
* Effect HTTP client requests. It re-exports the fetch-based client for
|
|
6
|
+
* programs that want to use `globalThis.fetch`, provides an Undici-backed
|
|
7
|
+
* client for applications that need Undici dispatcher control, and provides a
|
|
8
|
+
* lower-level `node:http` / `node:https` client for integrations that need
|
|
9
|
+
* native Node agent configuration.
|
|
10
|
+
*
|
|
11
|
+
* Use these clients in server-side applications, CLIs, tests, and integrations
|
|
12
|
+
* where requests should participate in Effect resource management, interruption,
|
|
13
|
+
* streaming, and typed transport / decode errors. The Undici path sends each
|
|
14
|
+
* request through the current `Dispatcher`; `layerUndici` owns a scoped
|
|
15
|
+
* `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher
|
|
16
|
+
* without destroying it. The `node:http` path uses separate scoped HTTP and
|
|
17
|
+
* HTTPS agents, making it the right choice when native agent options such as
|
|
18
|
+
* TLS, proxy, keep-alive, or socket behavior need to be configured directly.
|
|
19
|
+
*
|
|
20
|
+
* The backends are not completely interchangeable. Fetch, Undici, and
|
|
21
|
+
* `node:http` expose different agent and dispatcher hooks, body implementations,
|
|
22
|
+
* abort behavior, upgrade support, and response body readers. This module
|
|
23
|
+
* converts Effect request bodies to the selected runtime representation:
|
|
24
|
+
* streams remain streaming, `FormData` may contribute generated content headers,
|
|
25
|
+
* and body read failures are reported as `HttpClientError` decode or transport
|
|
26
|
+
* errors.
|
|
27
|
+
*
|
|
28
|
+
* @since 4.0.0
|
|
3
29
|
*/
|
|
30
|
+
import * as Context from "effect/Context";
|
|
4
31
|
import * as Effect from "effect/Effect";
|
|
5
32
|
import { flow } from "effect/Function";
|
|
6
33
|
import * as Inspectable from "effect/Inspectable";
|
|
7
34
|
import * as Layer from "effect/Layer";
|
|
8
|
-
import * as
|
|
35
|
+
import * as Option from "effect/Option";
|
|
36
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
9
37
|
import * as Stream from "effect/Stream";
|
|
10
38
|
import * as Cookies from "effect/unstable/http/Cookies";
|
|
11
39
|
import * as Headers from "effect/unstable/http/Headers";
|
|
@@ -27,53 +55,77 @@ import * as Undici from "./Undici.js";
|
|
|
27
55
|
// -----------------------------------------------------------------------------
|
|
28
56
|
export {
|
|
29
57
|
/**
|
|
30
|
-
*
|
|
58
|
+
* Fetch-based HTTP client implementation for Node.js.
|
|
59
|
+
*
|
|
31
60
|
* @category Fetch
|
|
61
|
+
* @since 4.0.0
|
|
32
62
|
*/
|
|
33
63
|
Fetch,
|
|
34
64
|
/**
|
|
35
|
-
*
|
|
65
|
+
* Layer that provides the fetch-based HTTP client implementation.
|
|
66
|
+
*
|
|
36
67
|
* @category Fetch
|
|
68
|
+
* @since 4.0.0
|
|
37
69
|
*/
|
|
38
70
|
layer as layerFetch,
|
|
39
71
|
/**
|
|
40
|
-
*
|
|
72
|
+
* Request initialization options accepted by the fetch-based HTTP client.
|
|
73
|
+
*
|
|
41
74
|
* @category Fetch
|
|
75
|
+
* @since 4.0.0
|
|
42
76
|
*/
|
|
43
77
|
RequestInit } from "effect/unstable/http/FetchHttpClient";
|
|
44
78
|
// -----------------------------------------------------------------------------
|
|
45
79
|
// Undici
|
|
46
80
|
// -----------------------------------------------------------------------------
|
|
47
81
|
/**
|
|
48
|
-
*
|
|
82
|
+
* Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
|
|
83
|
+
* client.
|
|
84
|
+
*
|
|
49
85
|
* @category Dispatcher
|
|
86
|
+
* @since 4.0.0
|
|
50
87
|
*/
|
|
51
|
-
export class Dispatcher extends /*#__PURE__*/
|
|
88
|
+
export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
|
|
52
89
|
/**
|
|
53
|
-
*
|
|
90
|
+
* Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
|
|
91
|
+
* scope is finalized.
|
|
92
|
+
*
|
|
54
93
|
* @category Dispatcher
|
|
94
|
+
* @since 4.0.0
|
|
55
95
|
*/
|
|
56
96
|
export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
|
|
57
97
|
/**
|
|
58
|
-
*
|
|
98
|
+
* Provides the `Dispatcher` service using a scoped Undici `Agent`.
|
|
99
|
+
*
|
|
59
100
|
* @category Dispatcher
|
|
101
|
+
* @since 4.0.0
|
|
60
102
|
*/
|
|
61
103
|
export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher);
|
|
62
104
|
/**
|
|
63
|
-
*
|
|
105
|
+
* Provides the `Dispatcher` service from Undici's process-global dispatcher,
|
|
106
|
+
* without creating or owning a new agent.
|
|
107
|
+
*
|
|
64
108
|
* @category Dispatcher
|
|
109
|
+
* @since 4.0.0
|
|
65
110
|
*/
|
|
66
111
|
export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher());
|
|
67
112
|
/**
|
|
68
|
-
*
|
|
113
|
+
* Fiber reference containing default Undici request options applied to requests
|
|
114
|
+
* sent by `makeUndici`.
|
|
115
|
+
*
|
|
69
116
|
* @category undici
|
|
117
|
+
* @since 4.0.0
|
|
70
118
|
*/
|
|
71
|
-
export const UndiciOptions = /*#__PURE__*/
|
|
119
|
+
export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
|
|
72
120
|
defaultValue: () => ({})
|
|
73
121
|
});
|
|
74
122
|
/**
|
|
75
|
-
*
|
|
123
|
+
* Creates an `HttpClient` that sends requests through the current Undici
|
|
124
|
+
* `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
|
|
125
|
+
* transport and decode failures to `HttpClientError`.
|
|
126
|
+
*
|
|
76
127
|
* @category undici
|
|
128
|
+
* @since 4.0.0
|
|
77
129
|
*/
|
|
78
130
|
export const makeUndici = /*#__PURE__*/Effect.gen(function* () {
|
|
79
131
|
const dispatcher = yield* Dispatcher;
|
|
@@ -151,7 +203,7 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
151
203
|
return this.cachedCookies = header ? Cookies.fromSetCookie(header) : Cookies.empty;
|
|
152
204
|
}
|
|
153
205
|
get remoteAddress() {
|
|
154
|
-
return
|
|
206
|
+
return Option.none();
|
|
155
207
|
}
|
|
156
208
|
get stream() {
|
|
157
209
|
return NodeStream.fromReadable({
|
|
@@ -179,7 +231,10 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
179
231
|
}
|
|
180
232
|
textBody;
|
|
181
233
|
get text() {
|
|
182
|
-
|
|
234
|
+
if (this.textBody) {
|
|
235
|
+
return this.textBody;
|
|
236
|
+
}
|
|
237
|
+
this.textBody = Effect.tryPromise({
|
|
183
238
|
try: () => this.source.body.text(),
|
|
184
239
|
catch: cause => new Error.HttpClientError({
|
|
185
240
|
reason: new Error.DecodeError({
|
|
@@ -189,6 +244,8 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
189
244
|
})
|
|
190
245
|
})
|
|
191
246
|
}).pipe(Effect.cached, Effect.runSync);
|
|
247
|
+
this.arrayBufferBody = Effect.map(this.textBody, _ => new TextEncoder().encode(_).buffer);
|
|
248
|
+
return this.textBody;
|
|
192
249
|
}
|
|
193
250
|
get urlParamsBody() {
|
|
194
251
|
return Effect.flatMap(this.text, _ => Effect.try({
|
|
@@ -217,7 +274,10 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
217
274
|
}
|
|
218
275
|
arrayBufferBody;
|
|
219
276
|
get arrayBuffer() {
|
|
220
|
-
|
|
277
|
+
if (this.arrayBufferBody) {
|
|
278
|
+
return this.arrayBufferBody;
|
|
279
|
+
}
|
|
280
|
+
this.arrayBufferBody = Effect.tryPromise({
|
|
221
281
|
try: () => this.source.body.arrayBuffer(),
|
|
222
282
|
catch: cause => new Error.HttpClientError({
|
|
223
283
|
reason: new Error.DecodeError({
|
|
@@ -227,6 +287,8 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
227
287
|
})
|
|
228
288
|
})
|
|
229
289
|
}).pipe(Effect.cached, Effect.runSync);
|
|
290
|
+
this.textBody = Effect.map(this.arrayBufferBody, _ => new TextDecoder().decode(_));
|
|
291
|
+
return this.arrayBufferBody;
|
|
230
292
|
}
|
|
231
293
|
toJSON() {
|
|
232
294
|
return IncomingMessage.inspect(this, {
|
|
@@ -235,46 +297,71 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
235
297
|
status: this.status
|
|
236
298
|
});
|
|
237
299
|
}
|
|
300
|
+
pipe() {
|
|
301
|
+
return pipeArguments(this, arguments);
|
|
302
|
+
}
|
|
238
303
|
}
|
|
239
304
|
/**
|
|
240
|
-
*
|
|
305
|
+
* Provides an Undici-backed `HttpClient` using the current `Dispatcher`
|
|
306
|
+
* service.
|
|
307
|
+
*
|
|
241
308
|
* @category Undici
|
|
309
|
+
* @since 4.0.0
|
|
242
310
|
*/
|
|
243
|
-
export const layerUndiciNoDispatcher = /*#__PURE__*/Client.
|
|
311
|
+
export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici);
|
|
244
312
|
/**
|
|
245
|
-
*
|
|
313
|
+
* Provides an Undici-backed `HttpClient` together with a scoped default
|
|
314
|
+
* Undici `Agent` dispatcher.
|
|
315
|
+
*
|
|
246
316
|
* @category Undici
|
|
317
|
+
* @since 4.0.0
|
|
247
318
|
*/
|
|
248
319
|
export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher);
|
|
249
320
|
// -----------------------------------------------------------------------------
|
|
250
321
|
// node:http
|
|
251
322
|
// -----------------------------------------------------------------------------
|
|
252
323
|
/**
|
|
253
|
-
*
|
|
324
|
+
* Service tag for the paired Node `http` and `https` agents used by the
|
|
325
|
+
* node:http-backed HTTP client.
|
|
326
|
+
*
|
|
254
327
|
* @category HttpAgent
|
|
328
|
+
* @since 4.0.0
|
|
255
329
|
*/
|
|
256
|
-
export class HttpAgent extends /*#__PURE__*/
|
|
330
|
+
export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
|
|
257
331
|
/**
|
|
258
|
-
*
|
|
332
|
+
* Acquires Node `http` and `https` agents with the supplied options and
|
|
333
|
+
* destroys both agents when the enclosing scope is finalized.
|
|
334
|
+
*
|
|
259
335
|
* @category HttpAgent
|
|
336
|
+
* @since 4.0.0
|
|
260
337
|
*/
|
|
261
338
|
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) => ({
|
|
262
339
|
http,
|
|
263
340
|
https
|
|
264
341
|
}));
|
|
265
342
|
/**
|
|
266
|
-
*
|
|
343
|
+
* Provides the `HttpAgent` service using scoped Node `http` and `https`
|
|
344
|
+
* agents configured with the supplied options.
|
|
345
|
+
*
|
|
267
346
|
* @category HttpAgent
|
|
347
|
+
* @since 4.0.0
|
|
268
348
|
*/
|
|
269
349
|
export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent));
|
|
270
350
|
/**
|
|
271
|
-
*
|
|
351
|
+
* Provides the `HttpAgent` service using default scoped Node `http` and
|
|
352
|
+
* `https` agents.
|
|
353
|
+
*
|
|
272
354
|
* @category HttpAgent
|
|
355
|
+
* @since 4.0.0
|
|
273
356
|
*/
|
|
274
357
|
export const layerAgent = /*#__PURE__*/layerAgentOptions();
|
|
275
358
|
/**
|
|
276
|
-
*
|
|
359
|
+
* Creates an `HttpClient` backed by Node `http` and `https`, using the
|
|
360
|
+
* current `HttpAgent`, streaming request bodies, and wrapping Node responses
|
|
361
|
+
* as `HttpClientResponse` values.
|
|
362
|
+
*
|
|
277
363
|
* @category node:http
|
|
364
|
+
* @since 4.0.0
|
|
278
365
|
*/
|
|
279
366
|
export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
|
|
280
367
|
const agent = yield* HttpAgent;
|
|
@@ -432,15 +519,24 @@ class NodeHttpResponse extends NodeHttpIncomingMessage {
|
|
|
432
519
|
status: this.status
|
|
433
520
|
});
|
|
434
521
|
}
|
|
522
|
+
pipe() {
|
|
523
|
+
return pipeArguments(this, arguments);
|
|
524
|
+
}
|
|
435
525
|
}
|
|
436
526
|
/**
|
|
437
|
-
*
|
|
527
|
+
* Provides a node:http-backed `HttpClient` using the current `HttpAgent`
|
|
528
|
+
* service.
|
|
529
|
+
*
|
|
438
530
|
* @category node:http
|
|
531
|
+
* @since 4.0.0
|
|
439
532
|
*/
|
|
440
|
-
export const layerNodeHttpNoAgent = /*#__PURE__*/Client.
|
|
533
|
+
export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp);
|
|
441
534
|
/**
|
|
442
|
-
*
|
|
535
|
+
* Provides a node:http-backed `HttpClient` together with default scoped Node
|
|
536
|
+
* `http` and `https` agents.
|
|
537
|
+
*
|
|
443
538
|
* @category node:http
|
|
539
|
+
* @since 4.0.0
|
|
444
540
|
*/
|
|
445
541
|
export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent);
|
|
446
542
|
//# sourceMappingURL=NodeHttpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpClient.js","names":["Effect","flow","Inspectable","Layer","ServiceMap","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","fromReadable","evaluate","onError","DecodeError","json","text","JSON","parse","textBody","cached","runSync","urlParamsBody","URLSearchParams","formDataBody","arrayBufferBody","arrayBuffer","toJSON","inspect","_id","layerUndiciNoDispatcher","layerMergedServices","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":[]}
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,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;;;;;;AAMAC,KAAK;AACL;;;;;;AAMAC,KAAK,IAAIC,UAAU;AACnB;;;;;;AAMAC,WAAW,QACN,sCAAsC;AAE7C;AACA;AACA;AAEA;;;;;;;AAOA,OAAM,MAAOC,UAAW,sBAAQ3B,OAAO,CAAC4B,OAAO,EAAiC,CAC9E,iDAAiD,CAClD;AAED;;;;;;;AAOA,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;;;;;;AAMA,OAAO,MAAMC,eAAe,gBAA4BhC,KAAK,CAACiC,MAAM,CAACV,UAAU,CAAC,CAACE,cAAc,CAAC;AAEhG;;;;;;;AAOA,OAAO,MAAMS,qBAAqB,gBAA4BlC,KAAK,CAAC2B,IAAI,CAACJ,UAAU,CAAC,CAAC,MAAML,MAAM,CAACiB,mBAAmB,EAAE,CAAC;AAExH;;;;;;;AAOA,OAAO,MAAMC,aAAa,gBAAGxC,OAAO,CAACyC,SAAS,CAC5C,oDAAoD,EACpD;EAAEC,YAAY,EAAEA,CAAA,MAAO,EAAE;AAAC,CAAE,CAC7B;AAED;;;;;;;;AAQA,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;;;;;;;AAOA,OAAO,MAAMC,uBAAuB,gBAIhCjH,MAAM,CAACkH,kBAAkB,CAACjF,UAAU,CAAC;AAEzC;;;;;;;AAOA,OAAO,MAAMkF,WAAW,gBAAmCzH,KAAK,CAAC0H,OAAO,CAACH,uBAAuB,EAAEvF,eAAe,CAAC;AAElH;AACA;AACA;AAEA;;;;;;;AAOA,OAAM,MAAO2F,SAAU,sBAAQ/H,OAAO,CAAC4B,OAAO,EAG1C,CAAC,gDAAgD,CAAC;AAEtD;;;;;;;AAOA,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;;;;;;;AAOA,OAAO,MAAMC,iBAAiB,gBAE1BpI,IAAI,CAAC8H,SAAS,eAAE5H,KAAK,CAACiC,MAAM,CAAC0F,SAAS,CAAC,CAAC;AAE5C;;;;;;;AAOA,OAAO,MAAMQ,UAAU,gBAA2BD,iBAAiB,EAAE;AAErE;;;;;;;;AAQA,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;;;;;;;AAOA,OAAO,MAAM6C,oBAAoB,gBAI7B7J,MAAM,CAACkH,kBAAkB,CAACY,YAAY,CAAC;AAE3C;;;;;;;AAOA,OAAO,MAAMgC,aAAa,gBAAmCpK,KAAK,CAAC0H,OAAO,CAACyC,oBAAoB,EAAEhC,UAAU,CAAC","ignoreList":[]}
|
|
@@ -1,35 +1,56 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Utilities for adapting Node `http.IncomingMessage` values to the Effect HTTP
|
|
3
|
+
* incoming message interface used by the platform Node server and client
|
|
4
|
+
* implementations.
|
|
5
|
+
*
|
|
6
|
+
* This module is useful when code needs to keep access to Node's request or
|
|
7
|
+
* response object while also exposing Effect's typed headers, remote address,
|
|
8
|
+
* body decoders, and stream interface. The body helpers consume Node's readable
|
|
9
|
+
* stream, cache decoded text and array-buffer results, and honor the
|
|
10
|
+
* `HttpIncomingMessage.MaxBodySize` fiber ref. Prefer a single body access
|
|
11
|
+
* strategy per message: raw `stream` access is not cached, and Node request
|
|
12
|
+
* bodies cannot be replayed once the underlying stream has been consumed.
|
|
13
|
+
*
|
|
14
|
+
* @since 4.0.0
|
|
3
15
|
*/
|
|
4
16
|
import * as Effect from "effect/Effect";
|
|
5
17
|
import * as Inspectable from "effect/Inspectable";
|
|
18
|
+
import * as Option from "effect/Option";
|
|
19
|
+
import type * as Schema from "effect/Schema";
|
|
6
20
|
import type * as Stream from "effect/Stream";
|
|
7
21
|
import * as Headers from "effect/unstable/http/Headers";
|
|
8
22
|
import * as IncomingMessage from "effect/unstable/http/HttpIncomingMessage";
|
|
9
23
|
import * as UrlParams from "effect/unstable/http/UrlParams";
|
|
10
24
|
import type * as Http from "node:http";
|
|
11
25
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
26
|
+
* Base adapter from Node `IncomingMessage` to Effect HTTP incoming messages,
|
|
27
|
+
* exposing headers, remote address, stream access, and cached text, JSON, URL
|
|
28
|
+
* parameter, and array-buffer body decoders with caller-provided error mapping.
|
|
29
|
+
*
|
|
30
|
+
* @category constructors
|
|
31
|
+
* @since 4.0.0
|
|
14
32
|
*/
|
|
15
33
|
export declare abstract class NodeHttpIncomingMessage<E> extends Inspectable.Class implements IncomingMessage.HttpIncomingMessage<E> {
|
|
16
34
|
/**
|
|
17
|
-
*
|
|
35
|
+
* Marks this value as an HTTP incoming message for runtime guards.
|
|
36
|
+
*
|
|
37
|
+
* @since 4.0.0
|
|
18
38
|
*/
|
|
19
39
|
readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId;
|
|
20
40
|
readonly source: Http.IncomingMessage;
|
|
21
41
|
readonly onError: (error: unknown) => E;
|
|
22
|
-
readonly remoteAddressOverride?: string | undefined;
|
|
23
|
-
constructor(source: Http.IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: string);
|
|
42
|
+
readonly remoteAddressOverride?: Option.Option<string> | undefined;
|
|
43
|
+
constructor(source: Http.IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: Option.Option<string>);
|
|
24
44
|
get headers(): Headers.Headers;
|
|
25
|
-
get remoteAddress(): string
|
|
45
|
+
get remoteAddress(): Option.Option<string>;
|
|
26
46
|
private textEffect;
|
|
27
47
|
get text(): Effect.Effect<string, E>;
|
|
28
48
|
get textUnsafe(): string;
|
|
29
|
-
get json(): Effect.Effect<
|
|
30
|
-
get jsonUnsafe():
|
|
49
|
+
get json(): Effect.Effect<Schema.Json, E>;
|
|
50
|
+
get jsonUnsafe(): Schema.Json;
|
|
31
51
|
get urlParamsBody(): Effect.Effect<UrlParams.UrlParams, E>;
|
|
32
52
|
get stream(): Stream.Stream<Uint8Array, E>;
|
|
53
|
+
private arrayBufferEffect;
|
|
33
54
|
get arrayBuffer(): Effect.Effect<ArrayBuffer, E>;
|
|
34
55
|
}
|
|
35
56
|
//# sourceMappingURL=NodeHttpIncomingMessage.d.ts.map
|