@effect/platform-node 4.0.0-beta.99 → 4.0.0-rc.109
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/AGENTS.md +395 -0
- package/CLAUDE.md +395 -0
- package/README.md +10 -3
- package/ai-docs/README.md +44 -0
- package/ai-docs/package.json +36 -0
- package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
- package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
- package/ai-docs/src/01_effect/01_basics/index.md +5 -0
- package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
- package/ai-docs/src/01_effect/02_schema/index.md +7 -0
- package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
- package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
- package/ai-docs/src/01_effect/03_services/index.md +5 -0
- package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
- package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
- package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
- package/ai-docs/src/01_effect/04_errors/index.md +1 -0
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
- package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
- package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
- package/ai-docs/src/01_effect/05_resources/index.md +3 -0
- package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
- package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
- package/ai-docs/src/01_effect/06_running/index.md +1 -0
- package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
- package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
- package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
- package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
- package/ai-docs/src/03_stream/30_encoding.ts +165 -0
- package/ai-docs/src/03_stream/index.md +4 -0
- package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
- package/ai-docs/src/04_integration/index.md +5 -0
- package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
- package/ai-docs/src/05_batching/index.md +3 -0
- package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
- package/ai-docs/src/06_schedule/index.md +3 -0
- package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
- package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
- package/ai-docs/src/07_datetime/index.md +5 -0
- package/ai-docs/src/08_observability/10_logging.ts +66 -0
- package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
- package/ai-docs/src/08_observability/index.md +7 -0
- package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
- package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
- package/ai-docs/src/09_testing/index.md +1 -0
- package/ai-docs/src/10_predicate/01_basics.ts +14 -0
- package/ai-docs/src/10_predicate/index.md +9 -0
- package/ai-docs/src/40_sql/10_basics.ts +175 -0
- package/ai-docs/src/40_sql/index.md +6 -0
- package/ai-docs/src/50_http-client/10_basics.ts +102 -0
- package/ai-docs/src/50_http-client/index.md +3 -0
- package/ai-docs/src/51_http-server/10_basics.ts +118 -0
- package/ai-docs/src/51_http-server/20_testing.ts +100 -0
- package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
- package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
- package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
- package/ai-docs/src/51_http-server/fixtures/api/Users.ts +107 -0
- package/ai-docs/src/51_http-server/fixtures/domain/User.ts +21 -0
- package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
- package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +37 -0
- package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +80 -0
- package/ai-docs/src/51_http-server/fixtures/server/Users.ts +183 -0
- package/ai-docs/src/51_http-server/index.md +3 -0
- package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
- package/ai-docs/src/60_child-process/index.md +3 -0
- package/ai-docs/src/70_cli/10_basics.ts +160 -0
- package/ai-docs/src/70_cli/index.md +5 -0
- package/ai-docs/src/71_ai/10_language-model.ts +156 -0
- package/ai-docs/src/71_ai/20_tools.ts +226 -0
- package/ai-docs/src/71_ai/30_chat.ts +158 -0
- package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
- package/ai-docs/src/71_ai/index.md +5 -0
- package/ai-docs/src/80_cluster/10_entities.ts +97 -0
- package/ai-docs/src/80_cluster/index.md +4 -0
- package/ai-docs/src/index.md +10 -0
- package/ai-docs/tsconfig.json +24 -0
- package/dist/Mime.js.map +1 -1
- package/dist/NodeClusterHttp.d.ts +1 -0
- package/dist/NodeClusterHttp.d.ts.map +1 -1
- package/dist/NodeClusterHttp.js +6 -1
- package/dist/NodeClusterHttp.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +1 -0
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +10 -2
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.js.map +1 -1
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeHttpClient.d.ts +18 -18
- package/dist/NodeHttpClient.d.ts.map +1 -1
- package/dist/NodeHttpClient.js +26 -20
- package/dist/NodeHttpClient.js.map +1 -1
- package/dist/NodeHttpIncomingMessage.js.map +1 -1
- package/dist/NodeHttpPlatform.d.ts +8 -4
- package/dist/NodeHttpPlatform.d.ts.map +1 -1
- package/dist/NodeHttpPlatform.js +38 -0
- package/dist/NodeHttpPlatform.js.map +1 -1
- package/dist/NodeHttpServer.d.ts +21 -16
- package/dist/NodeHttpServer.d.ts.map +1 -1
- package/dist/NodeHttpServer.js +29 -21
- package/dist/NodeHttpServer.js.map +1 -1
- package/dist/NodeHttpServerRequest.js.map +1 -1
- package/dist/NodeMultipart.d.ts.map +1 -1
- package/dist/NodeMultipart.js +3 -2
- package/dist/NodeMultipart.js.map +1 -1
- package/dist/NodeMultipartParser.d.ts +97 -0
- package/dist/NodeMultipartParser.d.ts.map +1 -0
- package/dist/NodeMultipartParser.js +108 -0
- package/dist/NodeMultipartParser.js.map +1 -0
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRedis.d.ts +40 -15
- package/dist/NodeRedis.d.ts.map +1 -1
- package/dist/NodeRedis.js +66 -16
- package/dist/NodeRedis.js.map +1 -1
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeServices.js.map +1 -1
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/NodeWorker.js.map +1 -1
- package/dist/NodeWorkerRunner.d.ts.map +1 -1
- package/dist/NodeWorkerRunner.js +30 -18
- package/dist/NodeWorkerRunner.js.map +1 -1
- package/dist/Undici.d.ts +2 -2
- package/dist/Undici.js +2 -2
- package/dist/Undici.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +17 -14
- package/src/NodeClusterHttp.ts +6 -2
- package/src/NodeClusterSocket.ts +8 -2
- package/src/NodeHttpClient.ts +27 -20
- package/src/NodeHttpPlatform.ts +49 -0
- package/src/NodeHttpServer.ts +61 -40
- package/src/NodeMultipart.ts +5 -4
- package/src/NodeMultipartParser.ts +184 -0
- package/src/NodeRedis.ts +86 -26
- package/src/NodeWorkerRunner.ts +39 -23
- package/src/Undici.ts +2 -2
- package/src/index.ts +5 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { make as makeParser } from "effect/unstable/http/MultipartParser";
|
|
2
|
+
import { Duplex, Readable } from "node:stream";
|
|
3
|
+
/**
|
|
4
|
+
* A Node.js duplex stream that parses multipart input.
|
|
5
|
+
*
|
|
6
|
+
* @category models
|
|
7
|
+
* @since 4.0.0
|
|
8
|
+
*/
|
|
9
|
+
export class MultipartStream extends Duplex {
|
|
10
|
+
_parser;
|
|
11
|
+
_canWrite = true;
|
|
12
|
+
_writeCallback;
|
|
13
|
+
constructor(config) {
|
|
14
|
+
super({
|
|
15
|
+
readableObjectMode: true
|
|
16
|
+
});
|
|
17
|
+
let currentError;
|
|
18
|
+
let currentFile;
|
|
19
|
+
this._parser = makeParser({
|
|
20
|
+
...config,
|
|
21
|
+
onField: (info, value) => {
|
|
22
|
+
if (currentError !== undefined) return;
|
|
23
|
+
const field = {
|
|
24
|
+
_tag: "Field",
|
|
25
|
+
info,
|
|
26
|
+
value
|
|
27
|
+
};
|
|
28
|
+
this.push(field);
|
|
29
|
+
this.emit("field", field);
|
|
30
|
+
},
|
|
31
|
+
onFile: info => {
|
|
32
|
+
if (currentError !== undefined) return _ => {};
|
|
33
|
+
const file = new FileStream(info, this);
|
|
34
|
+
currentFile = file;
|
|
35
|
+
this.push(file);
|
|
36
|
+
this.emit("file", file);
|
|
37
|
+
return chunk => {
|
|
38
|
+
if (currentError !== undefined) return;
|
|
39
|
+
this._canWrite = file.push(chunk);
|
|
40
|
+
if (chunk === null && !this._canWrite) {
|
|
41
|
+
currentFile = undefined;
|
|
42
|
+
this._resume();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
onError: error => {
|
|
47
|
+
this.emit("error", error);
|
|
48
|
+
currentFile?.emit("error", error);
|
|
49
|
+
currentError = error;
|
|
50
|
+
},
|
|
51
|
+
onDone: () => {
|
|
52
|
+
this.push(null);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
_resume() {
|
|
57
|
+
this._canWrite = true;
|
|
58
|
+
if (this._writeCallback !== undefined) {
|
|
59
|
+
const callback = this._writeCallback;
|
|
60
|
+
this._writeCallback = undefined;
|
|
61
|
+
callback();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
_read(_size) {}
|
|
65
|
+
_write(chunk, encoding, callback) {
|
|
66
|
+
this._parser.write(chunk instanceof Uint8Array ? chunk : Buffer.from(chunk, encoding));
|
|
67
|
+
if (this._canWrite) {
|
|
68
|
+
callback();
|
|
69
|
+
} else {
|
|
70
|
+
this._writeCallback = callback;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
_final(callback) {
|
|
74
|
+
this._parser.end();
|
|
75
|
+
callback();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Creates a Node.js multipart parser stream.
|
|
80
|
+
*
|
|
81
|
+
* @category constructors
|
|
82
|
+
* @since 4.0.0
|
|
83
|
+
*/
|
|
84
|
+
export const make = config => new MultipartStream(config);
|
|
85
|
+
/**
|
|
86
|
+
* A readable stream containing a parsed multipart file.
|
|
87
|
+
*
|
|
88
|
+
* @category models
|
|
89
|
+
* @since 4.0.0
|
|
90
|
+
*/
|
|
91
|
+
export class FileStream extends Readable {
|
|
92
|
+
_tag = "File";
|
|
93
|
+
filename;
|
|
94
|
+
info;
|
|
95
|
+
_parent;
|
|
96
|
+
constructor(info, parent) {
|
|
97
|
+
super();
|
|
98
|
+
this.info = info;
|
|
99
|
+
this._parent = parent;
|
|
100
|
+
this.filename = info.filename;
|
|
101
|
+
}
|
|
102
|
+
_read(_size) {
|
|
103
|
+
if (this._parent._canWrite === false) {
|
|
104
|
+
this._parent._resume();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=NodeMultipartParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeMultipartParser.js","names":[],"sources":["../src/NodeMultipartParser.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/NodePath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodePath.js","names":[
|
|
1
|
+
{"version":3,"file":"NodePath.js","names":[],"sources":["../src/NodePath.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,QAAQ,MAAM,uCAAuC;AAIjE;;;;;;;AAOA,OAAO,MAAM,KAAK,GAAsB,QAAQ,CAAC,KAAK;AAEtD;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAsB,QAAQ,CAAC,UAAU;AAEhE;;;;;;;AAOA,OAAO,MAAM,UAAU,GAAsB,QAAQ,CAAC,UAAU","ignoreList":[]}
|
package/dist/NodeRedis.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Node.js Redis integration backed by `
|
|
2
|
+
* Node.js Redis integration backed by `redis` (node-redis).
|
|
3
3
|
*
|
|
4
|
-
* This module creates a scoped `
|
|
4
|
+
* This module creates a scoped `node-redis` client and exposes it in two forms:
|
|
5
5
|
* the generic `Redis` service and the {@link NodeRedis} service for direct
|
|
6
|
-
* access to the underlying client. `layer` accepts
|
|
7
|
-
* while `layerConfig` reads them from Effect config.
|
|
8
|
-
*
|
|
6
|
+
* access to the underlying client. `layer` accepts node-redis client options
|
|
7
|
+
* directly, while `layerConfig` reads them from Effect config. `node-redis`
|
|
8
|
+
* connects explicitly, so layer construction can fail with a `RedisError`.
|
|
9
|
+
* Both layers close the client when the layer scope ends.
|
|
9
10
|
*
|
|
10
11
|
* @since 4.0.0
|
|
11
12
|
*/
|
|
@@ -14,14 +15,16 @@ import * as Context from "effect/Context";
|
|
|
14
15
|
import * as Effect from "effect/Effect";
|
|
15
16
|
import * as Layer from "effect/Layer";
|
|
16
17
|
import * as Redis from "effect/unstable/persistence/Redis";
|
|
17
|
-
import
|
|
18
|
+
import { createClient } from "redis";
|
|
19
|
+
type NodeRedisClient = ReturnType<typeof createClient>;
|
|
20
|
+
type NodeRedisClientOptions = NonNullable<Parameters<typeof createClient>[0]>;
|
|
18
21
|
declare const NodeRedis_base: Context.ServiceClass<NodeRedis, "@effect/platform-node/NodeRedis", {
|
|
19
|
-
readonly client:
|
|
20
|
-
readonly use: <A>(f: (client:
|
|
22
|
+
readonly client: NodeRedisClient;
|
|
23
|
+
readonly use: <A>(f: (client: NodeRedisClient) => Promise<A>) => Effect.Effect<A, Redis.RedisError>;
|
|
21
24
|
}>;
|
|
22
25
|
/**
|
|
23
26
|
* Service tag for the Node Redis integration, exposing the underlying
|
|
24
|
-
* `
|
|
27
|
+
* `node-redis` client and a `use` helper that maps client failures to
|
|
25
28
|
* `RedisError`.
|
|
26
29
|
*
|
|
27
30
|
* @category services
|
|
@@ -30,20 +33,42 @@ declare const NodeRedis_base: Context.ServiceClass<NodeRedis, "@effect/platform-
|
|
|
30
33
|
export declare class NodeRedis extends NodeRedis_base {
|
|
31
34
|
}
|
|
32
35
|
/**
|
|
33
|
-
* Provides `Redis` and `NodeRedis` services backed by
|
|
34
|
-
* created with the supplied options
|
|
36
|
+
* Provides `Redis` and `NodeRedis` services backed by a `node-redis` client
|
|
37
|
+
* created with the supplied options, connected when the layer is built and
|
|
38
|
+
* closed when the layer scope ends.
|
|
39
|
+
*
|
|
40
|
+
* **Details**
|
|
41
|
+
*
|
|
42
|
+
* By default, the initial connection fails on its first connection error. A
|
|
43
|
+
* caller-supplied `socket.reconnectStrategy` is used instead when present. Once
|
|
44
|
+
* the client has emitted `ready`, the default reconnect strategy uses
|
|
45
|
+
* node-redis' exponential backoff and stops on socket timeouts.
|
|
46
|
+
*
|
|
47
|
+
* Scope finalization calls `close()`, which waits for in-flight commands,
|
|
48
|
+
* including blocking commands, and can therefore delay scope closure.
|
|
35
49
|
*
|
|
36
50
|
* @category layers
|
|
37
51
|
* @since 4.0.0
|
|
38
52
|
*/
|
|
39
|
-
export declare const layer: (options?:
|
|
53
|
+
export declare const layer: (options?: NodeRedisClientOptions | undefined) => Layer.Layer<Redis.Redis | NodeRedis, Redis.RedisError>;
|
|
40
54
|
/**
|
|
41
|
-
* Provides `Redis` and `NodeRedis` services from `Config`-backed
|
|
42
|
-
* options,
|
|
55
|
+
* Provides `Redis` and `NodeRedis` services from `Config`-backed node-redis
|
|
56
|
+
* client options, connecting the client when the layer is built and closing it
|
|
57
|
+
* when the layer scope ends.
|
|
58
|
+
*
|
|
59
|
+
* **Details**
|
|
60
|
+
*
|
|
61
|
+
* By default, the initial connection fails on its first connection error. A
|
|
62
|
+
* caller-supplied `socket.reconnectStrategy` is used instead when present. Once
|
|
63
|
+
* the client has emitted `ready`, the default reconnect strategy uses
|
|
64
|
+
* node-redis' exponential backoff and stops on socket timeouts.
|
|
65
|
+
*
|
|
66
|
+
* Scope finalization calls `close()`, which waits for in-flight commands,
|
|
67
|
+
* including blocking commands, and can therefore delay scope closure.
|
|
43
68
|
*
|
|
44
69
|
* @category layers
|
|
45
70
|
* @since 4.0.0
|
|
46
71
|
*/
|
|
47
|
-
export declare const layerConfig: (options: Config.Wrap<
|
|
72
|
+
export declare const layerConfig: (options: Config.Wrap<NodeRedisClientOptions>) => Layer.Layer<Redis.Redis | NodeRedis, Redis.RedisError | Config.ConfigError>;
|
|
48
73
|
export {};
|
|
49
74
|
//# sourceMappingURL=NodeRedis.d.ts.map
|
package/dist/NodeRedis.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeRedis.d.ts","sourceRoot":"","sources":["../src/NodeRedis.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeRedis.d.ts","sourceRoot":"","sources":["../src/NodeRedis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;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;AACrC,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAsB,MAAM,OAAO,CAAA;AAExD,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAA;AACtD,KAAK,sBAAsB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;;qBAW1D,eAAe;kBAClB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;;AAVrG;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,cAGQ;CAAG;AAoE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK,aACN,sBAAsB,GAAG,SAAS,KAC3C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,KAAK,CAAC,UAAU,CAAuC,CAAA;AAE/F;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KACzC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,EAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAO5E,CAAA"}
|
package/dist/NodeRedis.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Node.js Redis integration backed by `
|
|
2
|
+
* Node.js Redis integration backed by `redis` (node-redis).
|
|
3
3
|
*
|
|
4
|
-
* This module creates a scoped `
|
|
4
|
+
* This module creates a scoped `node-redis` client and exposes it in two forms:
|
|
5
5
|
* the generic `Redis` service and the {@link NodeRedis} service for direct
|
|
6
|
-
* access to the underlying client. `layer` accepts
|
|
7
|
-
* while `layerConfig` reads them from Effect config.
|
|
8
|
-
*
|
|
6
|
+
* access to the underlying client. `layer` accepts node-redis client options
|
|
7
|
+
* directly, while `layerConfig` reads them from Effect config. `node-redis`
|
|
8
|
+
* connects explicitly, so layer construction can fail with a `RedisError`.
|
|
9
|
+
* Both layers close the client when the layer scope ends.
|
|
9
10
|
*
|
|
10
11
|
* @since 4.0.0
|
|
11
12
|
*/
|
|
@@ -14,12 +15,11 @@ import * as Context from "effect/Context";
|
|
|
14
15
|
import * as Effect from "effect/Effect";
|
|
15
16
|
import * as Fn from "effect/Function";
|
|
16
17
|
import * as Layer from "effect/Layer";
|
|
17
|
-
import * as Scope from "effect/Scope";
|
|
18
18
|
import * as Redis from "effect/unstable/persistence/Redis";
|
|
19
|
-
import
|
|
19
|
+
import { createClient, SocketTimeoutError } from "redis";
|
|
20
20
|
/**
|
|
21
21
|
* Service tag for the Node Redis integration, exposing the underlying
|
|
22
|
-
* `
|
|
22
|
+
* `node-redis` client and a `use` helper that maps client failures to
|
|
23
23
|
* `RedisError`.
|
|
24
24
|
*
|
|
25
25
|
* @category services
|
|
@@ -27,9 +27,37 @@ import * as IoRedis from "ioredis";
|
|
|
27
27
|
*/
|
|
28
28
|
export class NodeRedis extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeRedis") {}
|
|
29
29
|
const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
const client =
|
|
30
|
+
let ready = false;
|
|
31
|
+
const socket = options?.socket;
|
|
32
|
+
const client = yield* Effect.acquireRelease(Effect.sync(() => createClient({
|
|
33
|
+
...options,
|
|
34
|
+
socket: socket?.reconnectStrategy === undefined ? {
|
|
35
|
+
...socket,
|
|
36
|
+
reconnectStrategy: (retries, cause) => {
|
|
37
|
+
if (!ready) return cause;
|
|
38
|
+
if (cause instanceof SocketTimeoutError) return false;
|
|
39
|
+
const jitter = Math.floor(Math.random() * 200);
|
|
40
|
+
const delay = Math.min(2 ** retries * 50, 2000);
|
|
41
|
+
return delay + jitter;
|
|
42
|
+
}
|
|
43
|
+
} : socket
|
|
44
|
+
})), client => Effect.ignoreCause(Effect.promise(() => client.close())));
|
|
45
|
+
client.once("ready", () => {
|
|
46
|
+
ready = true;
|
|
47
|
+
});
|
|
48
|
+
// node-redis rethrows `error` events that have no listener, which would crash
|
|
49
|
+
// the process on a transient socket failure. Command failures are still
|
|
50
|
+
// reported as `RedisError`.
|
|
51
|
+
const runSync = Effect.runSyncWith(yield* Effect.context());
|
|
52
|
+
client.on("error", cause => {
|
|
53
|
+
runSync(Effect.logWarning("NodeRedis client error", cause));
|
|
54
|
+
});
|
|
55
|
+
yield* Effect.tryPromise({
|
|
56
|
+
try: () => client.connect(),
|
|
57
|
+
catch: cause => new Redis.RedisError({
|
|
58
|
+
cause
|
|
59
|
+
})
|
|
60
|
+
});
|
|
33
61
|
const use = f => Effect.tryPromise({
|
|
34
62
|
try: () => f(client),
|
|
35
63
|
catch: cause => new Redis.RedisError({
|
|
@@ -38,7 +66,7 @@ const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
38
66
|
});
|
|
39
67
|
const redis = yield* Redis.make({
|
|
40
68
|
send: (command, ...args) => Effect.tryPromise({
|
|
41
|
-
try: () => client.
|
|
69
|
+
try: () => client.sendCommand([command, ...args]),
|
|
42
70
|
catch: cause => new Redis.RedisError({
|
|
43
71
|
cause
|
|
44
72
|
})
|
|
@@ -51,16 +79,38 @@ const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
51
79
|
return Context.make(NodeRedis, nodeRedis).pipe(Context.add(Redis.Redis, redis));
|
|
52
80
|
});
|
|
53
81
|
/**
|
|
54
|
-
* Provides `Redis` and `NodeRedis` services backed by
|
|
55
|
-
* created with the supplied options
|
|
82
|
+
* Provides `Redis` and `NodeRedis` services backed by a `node-redis` client
|
|
83
|
+
* created with the supplied options, connected when the layer is built and
|
|
84
|
+
* closed when the layer scope ends.
|
|
85
|
+
*
|
|
86
|
+
* **Details**
|
|
87
|
+
*
|
|
88
|
+
* By default, the initial connection fails on its first connection error. A
|
|
89
|
+
* caller-supplied `socket.reconnectStrategy` is used instead when present. Once
|
|
90
|
+
* the client has emitted `ready`, the default reconnect strategy uses
|
|
91
|
+
* node-redis' exponential backoff and stops on socket timeouts.
|
|
92
|
+
*
|
|
93
|
+
* Scope finalization calls `close()`, which waits for in-flight commands,
|
|
94
|
+
* including blocking commands, and can therefore delay scope closure.
|
|
56
95
|
*
|
|
57
96
|
* @category layers
|
|
58
97
|
* @since 4.0.0
|
|
59
98
|
*/
|
|
60
99
|
export const layer = options => Layer.effectContext(make(options));
|
|
61
100
|
/**
|
|
62
|
-
* Provides `Redis` and `NodeRedis` services from `Config`-backed
|
|
63
|
-
* options,
|
|
101
|
+
* Provides `Redis` and `NodeRedis` services from `Config`-backed node-redis
|
|
102
|
+
* client options, connecting the client when the layer is built and closing it
|
|
103
|
+
* when the layer scope ends.
|
|
104
|
+
*
|
|
105
|
+
* **Details**
|
|
106
|
+
*
|
|
107
|
+
* By default, the initial connection fails on its first connection error. A
|
|
108
|
+
* caller-supplied `socket.reconnectStrategy` is used instead when present. Once
|
|
109
|
+
* the client has emitted `ready`, the default reconnect strategy uses
|
|
110
|
+
* node-redis' exponential backoff and stops on socket timeouts.
|
|
111
|
+
*
|
|
112
|
+
* Scope finalization calls `close()`, which waits for in-flight commands,
|
|
113
|
+
* including blocking commands, and can therefore delay scope closure.
|
|
64
114
|
*
|
|
65
115
|
* @category layers
|
|
66
116
|
* @since 4.0.0
|
package/dist/NodeRedis.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeRedis.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeRedis.js","names":[],"sources":["../src/NodeRedis.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/NodeRuntime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeRuntime.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeRuntime.js","names":[],"sources":["../src/NodeRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,WAAW,MAAM,0CAA0C;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,OAAO,MAAM,OAAO,GA8DhB,WAAW,CAAC,OAAO","ignoreList":[]}
|
package/dist/NodeServices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeServices.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeServices.js","names":[],"sources":["../src/NodeServices.ts"],"sourcesContent":[null],"mappings":"AAYA,OAAO,KAAK,KAAK,MAAM,cAAc;AAKrC,OAAO,KAAK,uBAAuB,MAAM,8BAA8B;AACvE,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAC7C,OAAO,KAAK,cAAc,MAAM,qBAAqB;AACrD,OAAO,KAAK,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAC3C,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAWjD;;;;;;;AAOA,OAAO,MAAM,KAAK,gBAA8B,KAAK,CAAC,YAAY,CAChE,uBAAuB,CAAC,KAAK,eAC7B,KAAK,CAAC,QAAQ,CACZ,cAAc,CAAC,KAAK,EACpB,UAAU,CAAC,KAAK,EAChB,QAAQ,CAAC,KAAK,EACd,SAAS,CAAC,KAAK,EACf,YAAY,CAAC,KAAK,CACnB,CACF","ignoreList":[]}
|
package/dist/NodeSocket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeSocket.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeSocket.js","names":[],"sources":["../src/NodeSocket.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;AAWA,SAAS,MAAM,IAAI,EAAE,QAAQ,yCAAyC;AAGtE,SAAS,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAK,KAAK,MAAM,cAAc;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;;AAOA,OAAO,MAAM,yBAAyB,gBAElC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,MAAK;EAC/C,IAAI,WAAW,IAAI,UAAU,EAAE;IAC7B,OAAO,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;EACrE;EACA,OAAO,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAoC;AAChG,CAAC,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAM,2BAA2B,gBAEpC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAC5C,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAoC,CACxF;AAED;;;;;;;;AAQA,OAAO,MAAM,cAAc,gBAOqB,IAAI,CAClD,MAAM,CAAC,aAAa,eACpB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAC3B,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,CACzC","ignoreList":[]}
|
package/dist/NodeStdio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeStdio.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeStdio.js","names":[],"sources":["../src/NodeStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,OAAO,KAAK,SAAS,MAAM,wCAAwC;AAInE;;;;;;;AAOA,OAAO,MAAM,KAAK,GAAuB,SAAS,CAAC,KAAK","ignoreList":[]}
|
package/dist/NodeTerminal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeTerminal.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeTerminal.js","names":[],"sources":["../src/NodeTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;AASA,OAAO,KAAK,YAAY,MAAM,2CAA2C;AAMzE;;;;;;;AAOA,OAAO,MAAM,IAAI,GAAmF,YAAY,CAAC,IAAI;AAErH;;;;;;;AAOA,OAAO,MAAM,KAAK,GAAoB,YAAY,CAAC,KAAK","ignoreList":[]}
|
package/dist/NodeWorker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWorker.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeWorker.js","names":[],"sources":["../src/NodeWorker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWorkerRunner.d.ts","sourceRoot":"","sources":["../src/NodeWorkerRunner.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"NodeWorkerRunner.d.ts","sourceRoot":"","sources":["../src/NodeWorkerRunner.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAGpE;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CA8F/D,CAAA"}
|
package/dist/NodeWorkerRunner.js
CHANGED
|
@@ -16,6 +16,7 @@ import * as Effect from "effect/Effect";
|
|
|
16
16
|
import * as Exit from "effect/Exit";
|
|
17
17
|
import * as Fiber from "effect/Fiber";
|
|
18
18
|
import * as Layer from "effect/Layer";
|
|
19
|
+
import * as Scope from "effect/Scope";
|
|
19
20
|
import { WorkerError, WorkerReceiveError, WorkerSpawnError } from "effect/unstable/workers/WorkerError";
|
|
20
21
|
import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
|
|
21
22
|
import * as WorkerThreads from "node:worker_threads";
|
|
@@ -49,7 +50,8 @@ export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatfor
|
|
|
49
50
|
runFork(Effect.logError("unhandled error in worker", exit.cause));
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
|
-
|
|
53
|
+
const port = WorkerThreads.parentPort ?? process;
|
|
54
|
+
function onMessage(message) {
|
|
53
55
|
if (message[0] === 0) {
|
|
54
56
|
const result = handler(0, message[1]);
|
|
55
57
|
if (Effect.isEffect(result)) {
|
|
@@ -65,25 +67,35 @@ export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatfor
|
|
|
65
67
|
}
|
|
66
68
|
Deferred.doneUnsafe(closeLatch, Exit.void);
|
|
67
69
|
}
|
|
68
|
-
}
|
|
70
|
+
}
|
|
71
|
+
port.on("message", onMessage);
|
|
72
|
+
function onMessageError(cause) {
|
|
73
|
+
Deferred.doneUnsafe(closeLatch, new WorkerError({
|
|
74
|
+
reason: new WorkerReceiveError({
|
|
75
|
+
message: "received messageerror event",
|
|
76
|
+
cause
|
|
77
|
+
})
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
function onError(cause) {
|
|
81
|
+
Deferred.doneUnsafe(closeLatch, new WorkerError({
|
|
82
|
+
reason: new WorkerReceiveError({
|
|
83
|
+
message: "received error event",
|
|
84
|
+
cause
|
|
85
|
+
})
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
69
88
|
if (WorkerThreads.parentPort) {
|
|
70
|
-
WorkerThreads.parentPort.on("messageerror",
|
|
71
|
-
|
|
72
|
-
reason: new WorkerReceiveError({
|
|
73
|
-
message: "received messageerror event",
|
|
74
|
-
cause
|
|
75
|
-
})
|
|
76
|
-
}));
|
|
77
|
-
});
|
|
78
|
-
WorkerThreads.parentPort.on("error", cause => {
|
|
79
|
-
Deferred.doneUnsafe(closeLatch, new WorkerError({
|
|
80
|
-
reason: new WorkerReceiveError({
|
|
81
|
-
message: "received messageerror event",
|
|
82
|
-
cause
|
|
83
|
-
})
|
|
84
|
-
}));
|
|
85
|
-
});
|
|
89
|
+
WorkerThreads.parentPort.on("messageerror", onMessageError);
|
|
90
|
+
WorkerThreads.parentPort.on("error", onError);
|
|
86
91
|
}
|
|
92
|
+
yield* Scope.addFinalizer(scope, Effect.sync(() => {
|
|
93
|
+
port.off("message", onMessage);
|
|
94
|
+
if (WorkerThreads.parentPort) {
|
|
95
|
+
WorkerThreads.parentPort.off("messageerror", onMessageError);
|
|
96
|
+
WorkerThreads.parentPort.off("error", onError);
|
|
97
|
+
}
|
|
98
|
+
}));
|
|
87
99
|
sendUnsafe(0, [0]);
|
|
88
100
|
return yield* Deferred.await(closeLatch);
|
|
89
101
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWorkerRunner.js","names":[
|
|
1
|
+
{"version":3,"file":"NodeWorkerRunner.js","names":[],"sources":["../src/NodeWorkerRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/Undici.d.ts
CHANGED
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import Undici from "undici";
|
|
18
18
|
/**
|
|
19
|
-
* @category
|
|
19
|
+
* @category re-exports
|
|
20
20
|
* @since 4.0.0
|
|
21
21
|
*/
|
|
22
22
|
export * from "undici";
|
|
23
23
|
/**
|
|
24
|
-
* @category
|
|
24
|
+
* @category re-exports
|
|
25
25
|
* @since 4.0.0
|
|
26
26
|
*/
|
|
27
27
|
export default Undici;
|
package/dist/Undici.js
CHANGED
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import Undici from "undici";
|
|
18
18
|
/**
|
|
19
|
-
* @category
|
|
19
|
+
* @category re-exports
|
|
20
20
|
* @since 4.0.0
|
|
21
21
|
*/
|
|
22
22
|
export * from "undici";
|
|
23
23
|
/**
|
|
24
|
-
* @category
|
|
24
|
+
* @category re-exports
|
|
25
25
|
* @since 4.0.0
|
|
26
26
|
*/
|
|
27
27
|
export default Undici;
|
package/dist/Undici.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Undici.js","names":[
|
|
1
|
+
{"version":3,"file":"Undici.js","names":[],"sources":["../src/Undici.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;AAgBA,OAAO,MAAM,MAAM,QAAQ;AAE3B;;;;AAIA,cAAc,QAAQ;AAEtB;;;;AAIA,eAAe,MAAM","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -49,6 +49,10 @@ export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts";
|
|
|
49
49
|
* @since 4.0.0
|
|
50
50
|
*/
|
|
51
51
|
export * as NodeMultipart from "./NodeMultipart.ts";
|
|
52
|
+
/**
|
|
53
|
+
* @since 4.0.0
|
|
54
|
+
*/
|
|
55
|
+
export * as NodeMultipartParser from "./NodeMultipartParser.ts";
|
|
52
56
|
/**
|
|
53
57
|
* @since 4.0.0
|
|
54
58
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAA;AAEvE;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AAEnE;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD;;GAEG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -50,6 +50,10 @@ export * as NodeHttpServerRequest from "./NodeHttpServerRequest.js";
|
|
|
50
50
|
* @since 4.0.0
|
|
51
51
|
*/
|
|
52
52
|
export * as NodeMultipart from "./NodeMultipart.js";
|
|
53
|
+
/**
|
|
54
|
+
* @since 4.0.0
|
|
55
|
+
*/
|
|
56
|
+
export * as NodeMultipartParser from "./NodeMultipartParser.js";
|
|
53
57
|
/**
|
|
54
58
|
* @since 4.0.0
|
|
55
59
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAK,IAAI,MAAM,WAAW;AAEjC;;;AAGA,OAAO,KAAK,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAK,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAK,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAK,uBAAuB,MAAM,8BAA8B;AAEvE;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAK,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAK,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAK,mBAAmB,MAAM,0BAA0B;AAE/D;;;AAGA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAK,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAK,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAK,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAK,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAK,MAAM,MAAM,aAAa","ignoreList":[]}
|