@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.
Files changed (119) hide show
  1. package/dist/Mime.d.ts +3 -3
  2. package/dist/Mime.js +3 -3
  3. package/dist/NodeChildProcessSpawner.d.ts +1 -1
  4. package/dist/NodeChildProcessSpawner.js +1 -1
  5. package/dist/NodeClusterHttp.d.ts +49 -7
  6. package/dist/NodeClusterHttp.d.ts.map +1 -1
  7. package/dist/NodeClusterHttp.js +20 -10
  8. package/dist/NodeClusterHttp.js.map +1 -1
  9. package/dist/NodeClusterSocket.d.ts +57 -11
  10. package/dist/NodeClusterSocket.d.ts.map +1 -1
  11. package/dist/NodeClusterSocket.js +57 -11
  12. package/dist/NodeClusterSocket.js.map +1 -1
  13. package/dist/NodeCrypto.d.ts +10 -0
  14. package/dist/NodeCrypto.d.ts.map +1 -0
  15. package/dist/NodeCrypto.js +14 -0
  16. package/dist/NodeCrypto.js.map +1 -0
  17. package/dist/NodeFileSystem.d.ts +4 -2
  18. package/dist/NodeFileSystem.d.ts.map +1 -1
  19. package/dist/NodeFileSystem.js +22 -3
  20. package/dist/NodeFileSystem.js.map +1 -1
  21. package/dist/NodeHttpClient.d.ts +102 -24
  22. package/dist/NodeHttpClient.d.ts.map +1 -1
  23. package/dist/NodeHttpClient.js +124 -28
  24. package/dist/NodeHttpClient.js.map +1 -1
  25. package/dist/NodeHttpIncomingMessage.d.ts +30 -9
  26. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
  27. package/dist/NodeHttpIncomingMessage.js +34 -8
  28. package/dist/NodeHttpIncomingMessage.js.map +1 -1
  29. package/dist/NodeHttpPlatform.d.ts +10 -4
  30. package/dist/NodeHttpPlatform.d.ts.map +1 -1
  31. package/dist/NodeHttpPlatform.js +34 -7
  32. package/dist/NodeHttpPlatform.js.map +1 -1
  33. package/dist/NodeHttpServer.d.ts +56 -16
  34. package/dist/NodeHttpServer.d.ts.map +1 -1
  35. package/dist/NodeHttpServer.js +117 -49
  36. package/dist/NodeHttpServer.js.map +1 -1
  37. package/dist/NodeHttpServerRequest.d.ts +29 -3
  38. package/dist/NodeHttpServerRequest.d.ts.map +1 -1
  39. package/dist/NodeHttpServerRequest.js +9 -2
  40. package/dist/NodeHttpServerRequest.js.map +1 -1
  41. package/dist/NodeMultipart.d.ts +32 -4
  42. package/dist/NodeMultipart.d.ts.map +1 -1
  43. package/dist/NodeMultipart.js +32 -4
  44. package/dist/NodeMultipart.js.map +1 -1
  45. package/dist/NodePath.d.ts +15 -6
  46. package/dist/NodePath.d.ts.map +1 -1
  47. package/dist/NodePath.js +30 -7
  48. package/dist/NodePath.js.map +1 -1
  49. package/dist/NodeRedis.d.ts +38 -9
  50. package/dist/NodeRedis.d.ts.map +1 -1
  51. package/dist/NodeRedis.js +41 -12
  52. package/dist/NodeRedis.js.map +1 -1
  53. package/dist/NodeRuntime.d.ts +27 -36
  54. package/dist/NodeRuntime.d.ts.map +1 -1
  55. package/dist/NodeRuntime.js +24 -13
  56. package/dist/NodeRuntime.js.map +1 -1
  57. package/dist/NodeServices.d.ts +29 -5
  58. package/dist/NodeServices.d.ts.map +1 -1
  59. package/dist/NodeServices.js +7 -3
  60. package/dist/NodeServices.js.map +1 -1
  61. package/dist/NodeSink.d.ts +2 -2
  62. package/dist/NodeSink.js +2 -2
  63. package/dist/NodeSocket.d.ts +18 -3
  64. package/dist/NodeSocket.d.ts.map +1 -1
  65. package/dist/NodeSocket.js +36 -4
  66. package/dist/NodeSocket.js.map +1 -1
  67. package/dist/NodeSocketServer.d.ts +2 -2
  68. package/dist/NodeSocketServer.js +2 -2
  69. package/dist/NodeStdio.d.ts +5 -2
  70. package/dist/NodeStdio.d.ts.map +1 -1
  71. package/dist/NodeStdio.js +22 -3
  72. package/dist/NodeStdio.js.map +1 -1
  73. package/dist/NodeStream.d.ts +2 -2
  74. package/dist/NodeStream.js +2 -2
  75. package/dist/NodeTerminal.d.ts +8 -2
  76. package/dist/NodeTerminal.d.ts.map +1 -1
  77. package/dist/NodeTerminal.js +19 -3
  78. package/dist/NodeTerminal.js.map +1 -1
  79. package/dist/NodeWorker.d.ts +9 -2
  80. package/dist/NodeWorker.d.ts.map +1 -1
  81. package/dist/NodeWorker.js +31 -6
  82. package/dist/NodeWorker.js.map +1 -1
  83. package/dist/NodeWorkerRunner.d.ts +5 -1
  84. package/dist/NodeWorkerRunner.d.ts.map +1 -1
  85. package/dist/NodeWorkerRunner.js +27 -5
  86. package/dist/NodeWorkerRunner.js.map +1 -1
  87. package/dist/Undici.d.ts +3 -3
  88. package/dist/Undici.js +3 -3
  89. package/dist/index.d.ts +376 -24
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +376 -24
  92. package/dist/index.js.map +1 -1
  93. package/package.json +9 -9
  94. package/src/Mime.ts +3 -3
  95. package/src/NodeChildProcessSpawner.ts +1 -1
  96. package/src/NodeClusterHttp.ts +54 -11
  97. package/src/NodeClusterSocket.ts +57 -11
  98. package/src/NodeCrypto.ts +16 -0
  99. package/src/NodeFileSystem.ts +22 -3
  100. package/src/NodeHttpClient.ts +132 -33
  101. package/src/NodeHttpIncomingMessage.ts +42 -12
  102. package/src/NodeHttpPlatform.ts +35 -6
  103. package/src/NodeHttpServer.ts +139 -53
  104. package/src/NodeHttpServerRequest.ts +29 -3
  105. package/src/NodeMultipart.ts +32 -4
  106. package/src/NodePath.ts +30 -7
  107. package/src/NodeRedis.ts +43 -14
  108. package/src/NodeRuntime.ts +42 -37
  109. package/src/NodeServices.ts +31 -5
  110. package/src/NodeSink.ts +2 -2
  111. package/src/NodeSocket.ts +41 -4
  112. package/src/NodeSocketServer.ts +2 -2
  113. package/src/NodeStdio.ts +22 -3
  114. package/src/NodeStream.ts +2 -2
  115. package/src/NodeTerminal.ts +19 -3
  116. package/src/NodeWorker.ts +31 -6
  117. package/src/NodeWorkerRunner.ts +27 -5
  118. package/src/Undici.ts +3 -3
  119. package/src/index.ts +377 -24
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpServer.js","names":["Cause","Config","Effect","Fiber","flow","Latch","Layer","Scope","ServiceMap","Stream","Cookies","Etag","FetchHttpClient","HttpEffect","HttpIncomingMessage","HttpServer","causeResponse","clientAbortFiberId","HttpServerError","RequestParseError","ResponseError","ServeError","Request","HttpServerRequest","Socket","Http","Readable","pipeline","NodeHttpIncomingMessage","NodeHttpPlatform","NodeMultipart","NodeServices","NodeWS","make","fnUntraced","evaluate","options","scope","server","addFinalizer","callback","resume","listening","void","close","error","die","onError","cause","fail","on","listen","off","address","wss","acquireRelease","sync","WebSocketServer","noServer","pipe","provide","cached","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","upgradeHandler","makeUpgradeHandler","httpEffect","handled","toHandled","handleResponse","map","services","nodeRequest","nodeResponse","Map","mapUnsafe","set","key","ServerRequestImpl","fiber","runIn","runForkWith","makeUnsafe","writableEnded","interruptUnsafe","lazyWss","handledApp","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","end","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","succeed","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","asEffect","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":[]}
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":[]}
@@ -1,16 +1,42 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Accessors for the Node.js objects backing a platform Node
3
+ * `HttpServerRequest`.
4
+ *
5
+ * Use this module at interop boundaries when an Effect HTTP handler needs the
6
+ * original `http.IncomingMessage` or `http.ServerResponse` for APIs that are
7
+ * specific to Node, such as existing middleware, socket inspection, raw stream
8
+ * piping, or response customization that cannot be expressed with the portable
9
+ * `HttpServerRequest` and `HttpServerResponse` interfaces.
10
+ *
11
+ * The returned request is the original Node request supplied to the server. It
12
+ * does not reflect Effect request overrides made by middleware, such as a
13
+ * rewritten URL, adjusted headers, or a substituted remote address. Its body is
14
+ * also Node's one-shot readable stream, so avoid mixing raw stream consumption
15
+ * with Effect body, multipart, or stream helpers unless ownership of the body
16
+ * is clear. The returned response is the Node response owned by the platform
17
+ * server; writing to it directly bypasses the usual Effect response writer and
18
+ * must be coordinated carefully to avoid duplicate writes. Upgrade requests may
19
+ * create that response lazily when it is first requested.
20
+ *
21
+ * @since 4.0.0
3
22
  */
4
23
  import type { HttpServerRequest } from "effect/unstable/http/HttpServerRequest";
5
24
  import type * as Http from "node:http";
6
25
  /**
7
- * @since 1.0.0
26
+ * Returns the underlying Node `IncomingMessage` for a platform Node
27
+ * `HttpServerRequest`.
28
+ *
8
29
  * @category Accessors
30
+ * @since 4.0.0
9
31
  */
10
32
  export declare const toIncomingMessage: (self: HttpServerRequest) => Http.IncomingMessage;
11
33
  /**
12
- * @since 1.0.0
34
+ * Returns the underlying Node `ServerResponse` for a platform Node
35
+ * `HttpServerRequest`, evaluating the stored response thunk when the response
36
+ * was created lazily.
37
+ *
13
38
  * @category Accessors
39
+ * @since 4.0.0
14
40
  */
15
41
  export declare const toServerResponse: (self: HttpServerRequest) => Http.ServerResponse;
16
42
  //# sourceMappingURL=NodeHttpServerRequest.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"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"}
@@ -1,11 +1,18 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Returns the underlying Node `IncomingMessage` for a platform Node
3
+ * `HttpServerRequest`.
4
+ *
3
5
  * @category Accessors
6
+ * @since 4.0.0
4
7
  */
5
8
  export const toIncomingMessage = self => self.source;
6
9
  /**
7
- * @since 1.0.0
10
+ * Returns the underlying Node `ServerResponse` for a platform Node
11
+ * `HttpServerRequest`, evaluating the stored response thunk when the response
12
+ * was created lazily.
13
+ *
8
14
  * @category Accessors
15
+ * @since 4.0.0
9
16
  */
10
17
  export const toServerResponse = self => {
11
18
  const res = self.response;
@@ -1 +1 @@
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":[]}
1
+ {"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":[]}
@@ -1,5 +1,22 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node-specific helpers for parsing HTTP `multipart/form-data` request bodies.
3
+ *
4
+ * This module adapts a Node `Readable` request body plus its incoming headers
5
+ * into the shared `Multipart` model. Use `stream` when an HTTP server route
6
+ * wants to handle form fields and uploaded files incrementally, for example API
7
+ * endpoints that validate text fields while piping file parts to storage. Use
8
+ * `persisted` when the whole form should be collected into a record and uploaded
9
+ * files should be written into scoped temporary files through the current
10
+ * `FileSystem` and `Path` services.
11
+ *
12
+ * Node request bodies are one-shot streams, so consume either `stream` or
13
+ * `persisted`, and make sure file parts are drained, piped, or otherwise
14
+ * deliberately handled. `contentEffect` loads a file into memory and should be
15
+ * reserved for small uploads. Persisted paths live only for the surrounding
16
+ * `Scope`, and filenames supplied by clients should be treated as metadata, not
17
+ * trusted filesystem paths.
18
+ *
19
+ * @since 4.0.0
3
20
  */
4
21
  import * as Effect from "effect/Effect";
5
22
  import type * as FileSystem from "effect/FileSystem";
@@ -10,17 +27,28 @@ import * as Multipart from "effect/unstable/http/Multipart";
10
27
  import type { IncomingHttpHeaders } from "node:http";
11
28
  import type { Readable } from "node:stream";
12
29
  /**
13
- * @since 1.0.0
30
+ * Parses multipart data from a Node readable request body and headers into a
31
+ * stream of `Multipart.Part` values, converting parser failures to
32
+ * `MultipartError`.
33
+ *
14
34
  * @category constructors
35
+ * @since 4.0.0
15
36
  */
16
37
  export declare const stream: (source: Readable, headers: IncomingHttpHeaders) => Stream.Stream<Multipart.Part, Multipart.MultipartError>;
17
38
  /**
18
- * @since 1.0.0
39
+ * Parses multipart data from a Node readable request body and persists file
40
+ * parts using the current `FileSystem`, `Path`, and `Scope` services.
41
+ *
19
42
  * @category constructors
43
+ * @since 4.0.0
20
44
  */
21
45
  export declare const persisted: (source: Readable, headers: IncomingHttpHeaders) => Effect.Effect<Multipart.Persisted, Multipart.MultipartError, Scope.Scope | FileSystem.FileSystem | Path.Path>;
22
46
  /**
23
- * @since 1.0.0
47
+ * Returns the underlying Node readable stream for a multipart file produced by
48
+ * the Node multipart parser.
49
+ *
50
+ * @category converting
51
+ * @since 4.0.0
24
52
  */
25
53
  export declare const fileToReadable: (file: Multipart.File) => Readable;
26
54
  //# sourceMappingURL=NodeMultipart.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"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;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,CAAC,IAAI,KAAG,QAAmC,CAAA"}
@@ -1,5 +1,22 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node-specific helpers for parsing HTTP `multipart/form-data` request bodies.
3
+ *
4
+ * This module adapts a Node `Readable` request body plus its incoming headers
5
+ * into the shared `Multipart` model. Use `stream` when an HTTP server route
6
+ * wants to handle form fields and uploaded files incrementally, for example API
7
+ * endpoints that validate text fields while piping file parts to storage. Use
8
+ * `persisted` when the whole form should be collected into a record and uploaded
9
+ * files should be written into scoped temporary files through the current
10
+ * `FileSystem` and `Path` services.
11
+ *
12
+ * Node request bodies are one-shot streams, so consume either `stream` or
13
+ * `persisted`, and make sure file parts are drained, piped, or otherwise
14
+ * deliberately handled. `contentEffect` loads a file into memory and should be
15
+ * reserved for small uploads. Persisted paths live only for the surrounding
16
+ * `Scope`, and filenames supplied by clients should be treated as metadata, not
17
+ * trusted filesystem paths.
18
+ *
19
+ * @since 4.0.0
3
20
  */
4
21
  import * as Effect from "effect/Effect";
5
22
  import * as Inspectable from "effect/Inspectable";
@@ -10,8 +27,12 @@ import * as NFS from "node:fs";
10
27
  import * as NodeStreamP from "node:stream/promises";
11
28
  import * as NodeStream from "./NodeStream.js";
12
29
  /**
13
- * @since 1.0.0
30
+ * Parses multipart data from a Node readable request body and headers into a
31
+ * stream of `Multipart.Part` values, converting parser failures to
32
+ * `MultipartError`.
33
+ *
14
34
  * @category constructors
35
+ * @since 4.0.0
15
36
  */
16
37
  export const stream = (source, headers) => Multipart.makeConfig(headers).pipe(Effect.map(config => NodeStream.fromReadable({
17
38
  evaluate() {
@@ -22,8 +43,11 @@ export const stream = (source, headers) => Multipart.makeConfig(headers).pipe(Ef
22
43
  onError: error => convertError(error)
23
44
  })), Stream.unwrap, Stream.map(convertPart));
24
45
  /**
25
- * @since 1.0.0
46
+ * Parses multipart data from a Node readable request body and persists file
47
+ * parts using the current `FileSystem`, `Path`, and `Scope` services.
48
+ *
26
49
  * @category constructors
50
+ * @since 4.0.0
27
51
  */
28
52
  export const persisted = (source, headers) => Multipart.toPersisted(stream(source, headers), (path, file) => Effect.tryPromise({
29
53
  try: signal => NodeStreamP.pipeline(file.file, NFS.createWriteStream(path), {
@@ -32,7 +56,11 @@ export const persisted = (source, headers) => Multipart.toPersisted(stream(sourc
32
56
  catch: cause => Multipart.MultipartError.fromReason("InternalError", cause)
33
57
  }));
34
58
  /**
35
- * @since 1.0.0
59
+ * Returns the underlying Node readable stream for a multipart file produced by
60
+ * the Node multipart parser.
61
+ *
62
+ * @category converting
63
+ * @since 4.0.0
36
64
  */
37
65
  export const fileToReadable = file => file.file;
38
66
  // -----------------------------------------------------------------------------
@@ -1 +1 @@
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":[]}
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":[]}
@@ -1,18 +1,27 @@
1
1
  import type * as Layer from "effect/Layer";
2
2
  import type { Path } from "effect/Path";
3
3
  /**
4
- * @since 1.0.0
5
- * @category layer
4
+ * Provides the default Node `Path` service using the platform's `node:path`
5
+ * implementation.
6
+ *
7
+ * @category layers
8
+ * @since 4.0.0
6
9
  */
7
10
  export declare const layer: Layer.Layer<Path>;
8
11
  /**
9
- * @since 1.0.0
10
- * @category layer
12
+ * Provides the `Path` service using Node's POSIX path implementation,
13
+ * regardless of the host platform.
14
+ *
15
+ * @category layers
16
+ * @since 4.0.0
11
17
  */
12
18
  export declare const layerPosix: Layer.Layer<Path>;
13
19
  /**
14
- * @since 1.0.0
15
- * @category layer
20
+ * Provides the `Path` service using Node's Windows path implementation,
21
+ * regardless of the host platform.
22
+ *
23
+ * @category layers
24
+ * @since 4.0.0
16
25
  */
17
26
  export declare const layerWin32: Layer.Layer<Path>;
18
27
  //# sourceMappingURL=NodePath.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"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"}
package/dist/NodePath.js CHANGED
@@ -1,20 +1,43 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js layers for Effect's `Path` service.
3
+ *
4
+ * Use this module when an Effect program running on Node needs path operations
5
+ * from the `Path` service, such as joining and normalizing filesystem
6
+ * locations, resolving configuration or static asset paths, working with CLI
7
+ * path arguments, or converting between file paths and `file:` URLs.
8
+ *
9
+ * `layer` follows the host platform's `node:path` semantics. Use `layerPosix`
10
+ * or `layerWin32` when code needs stable POSIX or Windows behavior regardless
11
+ * of the operating system. These layers provide only path manipulation; they do
12
+ * not read the filesystem or validate that paths exist. `NodeServices.layer`
13
+ * already includes the default Node path layer, so provide this module directly
14
+ * when you want the narrower service or one of the platform-specific variants.
15
+ *
16
+ * @since 4.0.0
3
17
  */
4
18
  import * as NodePath from "@effect/platform-node-shared/NodePath";
5
19
  /**
6
- * @since 1.0.0
7
- * @category layer
20
+ * Provides the default Node `Path` service using the platform's `node:path`
21
+ * implementation.
22
+ *
23
+ * @category layers
24
+ * @since 4.0.0
8
25
  */
9
26
  export const layer = NodePath.layer;
10
27
  /**
11
- * @since 1.0.0
12
- * @category layer
28
+ * Provides the `Path` service using Node's POSIX path implementation,
29
+ * regardless of the host platform.
30
+ *
31
+ * @category layers
32
+ * @since 4.0.0
13
33
  */
14
34
  export const layerPosix = NodePath.layerPosix;
15
35
  /**
16
- * @since 1.0.0
17
- * @category layer
36
+ * Provides the `Path` service using Node's Windows path implementation,
37
+ * regardless of the host platform.
38
+ *
39
+ * @category layers
40
+ * @since 4.0.0
18
41
  */
19
42
  export const layerWin32 = NodePath.layerWin32;
20
43
  //# sourceMappingURL=NodePath.js.map
@@ -1 +1 @@
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":[]}
1
+ {"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":[]}
@@ -1,30 +1,59 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js Redis integration backed by `ioredis`.
3
+ *
4
+ * This module provides scoped layers that create an `ioredis` client and expose
5
+ * both the low-level `Redis` service used by Effect persistence modules and the
6
+ * `NodeRedis` service for direct access to the underlying client. It is useful
7
+ * for Node applications that want Redis-backed persistence, persisted queues,
8
+ * distributed rate limiting, or custom Redis commands alongside the Effect
9
+ * services that build on Redis.
10
+ *
11
+ * The client is acquired when the layer is built and closed with `quit` when
12
+ * the layer scope ends, so install the layer at the lifetime you want for the
13
+ * connection and pass `ioredis` options, or `layerConfig`, for connection,
14
+ * TLS, database, retry, and reconnect settings. Persistence and rate limiter
15
+ * stores build their own keys and Lua scripts on top of this service; choose
16
+ * stable prefixes and store ids to avoid collisions, account for persisted
17
+ * values that may fail to decode after schema changes, and avoid unbounded
18
+ * high-cardinality rate-limit keys unless you have a cleanup or bounding
19
+ * strategy.
20
+ *
21
+ * @since 4.0.0
3
22
  */
4
23
  import * as Config from "effect/Config";
24
+ import * as Context from "effect/Context";
5
25
  import * as Effect from "effect/Effect";
6
26
  import * as Layer from "effect/Layer";
7
- import * as ServiceMap from "effect/ServiceMap";
8
27
  import * as Redis from "effect/unstable/persistence/Redis";
9
28
  import * as IoRedis from "ioredis";
10
- declare const NodeRedis_base: ServiceMap.ServiceClass<NodeRedis, "@effect/platform-node/NodeRedis", {
29
+ declare const NodeRedis_base: Context.ServiceClass<NodeRedis, "@effect/platform-node/NodeRedis", {
11
30
  readonly client: IoRedis.Redis;
12
31
  readonly use: <A>(f: (client: IoRedis.Redis) => Promise<A>) => Effect.Effect<A, Redis.RedisError>;
13
32
  }>;
14
33
  /**
15
- * @since 1.0.0
16
- * @category Service
34
+ * Service tag for the Node Redis integration, exposing the underlying
35
+ * `ioredis` client and a `use` helper that maps client failures to
36
+ * `RedisError`.
37
+ *
38
+ * @category services
39
+ * @since 4.0.0
17
40
  */
18
41
  export declare class NodeRedis extends NodeRedis_base {
19
42
  }
20
43
  /**
21
- * @since 1.0.0
22
- * @category Layers
44
+ * Provides `Redis` and `NodeRedis` services backed by an `ioredis` client
45
+ * created with the supplied options and closed when the layer scope ends.
46
+ *
47
+ * @category layers
48
+ * @since 4.0.0
23
49
  */
24
50
  export declare const layer: (options?: IoRedis.RedisOptions | undefined) => Layer.Layer<Redis.Redis | NodeRedis>;
25
51
  /**
26
- * @since 1.0.0
27
- * @category Layers
52
+ * Provides `Redis` and `NodeRedis` services from `Config`-backed ioredis
53
+ * options, closing the client when the layer scope ends.
54
+ *
55
+ * @category layers
56
+ * @since 4.0.0
28
57
  */
29
58
  export declare const layerConfig: (options: Config.Wrap<IoRedis.RedisOptions>) => Layer.Layer<Redis.Redis | NodeRedis, Config.ConfigError>;
30
59
  export {};
@@ -1 +1 @@
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,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,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,CAAwC,CAAA;AAE9E;;;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"}
1
+ {"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"}
package/dist/NodeRedis.js CHANGED
@@ -1,19 +1,42 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js Redis integration backed by `ioredis`.
3
+ *
4
+ * This module provides scoped layers that create an `ioredis` client and expose
5
+ * both the low-level `Redis` service used by Effect persistence modules and the
6
+ * `NodeRedis` service for direct access to the underlying client. It is useful
7
+ * for Node applications that want Redis-backed persistence, persisted queues,
8
+ * distributed rate limiting, or custom Redis commands alongside the Effect
9
+ * services that build on Redis.
10
+ *
11
+ * The client is acquired when the layer is built and closed with `quit` when
12
+ * the layer scope ends, so install the layer at the lifetime you want for the
13
+ * connection and pass `ioredis` options, or `layerConfig`, for connection,
14
+ * TLS, database, retry, and reconnect settings. Persistence and rate limiter
15
+ * stores build their own keys and Lua scripts on top of this service; choose
16
+ * stable prefixes and store ids to avoid collisions, account for persisted
17
+ * values that may fail to decode after schema changes, and avoid unbounded
18
+ * high-cardinality rate-limit keys unless you have a cleanup or bounding
19
+ * strategy.
20
+ *
21
+ * @since 4.0.0
3
22
  */
4
23
  import * as Config from "effect/Config";
24
+ import * as Context from "effect/Context";
5
25
  import * as Effect from "effect/Effect";
6
26
  import * as Fn from "effect/Function";
7
27
  import * as Layer from "effect/Layer";
8
28
  import * as Scope from "effect/Scope";
9
- import * as ServiceMap from "effect/ServiceMap";
10
29
  import * as Redis from "effect/unstable/persistence/Redis";
11
30
  import * as IoRedis from "ioredis";
12
31
  /**
13
- * @since 1.0.0
14
- * @category Service
32
+ * Service tag for the Node Redis integration, exposing the underlying
33
+ * `ioredis` client and a `use` helper that maps client failures to
34
+ * `RedisError`.
35
+ *
36
+ * @category services
37
+ * @since 4.0.0
15
38
  */
16
- export class NodeRedis extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeRedis") {}
39
+ export class NodeRedis extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeRedis") {}
17
40
  const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
18
41
  const scope = yield* Effect.scope;
19
42
  yield* Scope.addFinalizer(scope, Effect.promise(() => client.quit()));
@@ -36,16 +59,22 @@ const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
36
59
  client,
37
60
  use
38
61
  });
39
- return ServiceMap.make(NodeRedis, nodeRedis).pipe(ServiceMap.add(Redis.Redis, redis));
62
+ return Context.make(NodeRedis, nodeRedis).pipe(Context.add(Redis.Redis, redis));
40
63
  });
41
64
  /**
42
- * @since 1.0.0
43
- * @category Layers
65
+ * Provides `Redis` and `NodeRedis` services backed by an `ioredis` client
66
+ * created with the supplied options and closed when the layer scope ends.
67
+ *
68
+ * @category layers
69
+ * @since 4.0.0
44
70
  */
45
- export const layer = options => Layer.effectServices(make(options));
71
+ export const layer = options => Layer.effectContext(make(options));
46
72
  /**
47
- * @since 1.0.0
48
- * @category Layers
73
+ * Provides `Redis` and `NodeRedis` services from `Config`-backed ioredis
74
+ * options, closing the client when the layer scope ends.
75
+ *
76
+ * @category layers
77
+ * @since 4.0.0
49
78
  */
50
- export const layerConfig = options => Layer.effectServices(Config.unwrap(options).asEffect().pipe(Effect.flatMap(make)));
79
+ export const layerConfig = options => Layer.effectContext(Config.unwrap(options).pipe(Effect.flatMap(make)));
51
80
  //# sourceMappingURL=NodeRedis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeRedis.js","names":["Config","Effect","Fn","Layer","Scope","ServiceMap","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","effectServices","layerConfig","unwrap","asEffect","flatMap"],"sources":["../src/NodeRedis.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,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,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,OAAO,MAAM,SAAS;AAElC;;;;AAIA,OAAM,MAAOC,SAAU,sBAAQH,UAAU,CAACI,OAAO,EAG7C,CAAC,iCAAiC,CAAC;AAEvC,MAAMC,IAAI,gBAAGT,MAAM,CAACU,UAAU,CAAC,WAC7BC,OAA8B;EAE9B,MAAMC,KAAK,GAAG,OAAOZ,MAAM,CAACY,KAAK;EACjC,OAAOT,KAAK,CAACU,YAAY,CAACD,KAAK,EAAEZ,MAAM,CAACc,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,IACtDlB,MAAM,CAACmB,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,KACjE3B,MAAM,CAACmB,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,GAAG5B,EAAE,CAAC6B,QAAQ,CAAuB;IAClDf,MAAM;IACNE;GACD,CAAC;EAEF,OAAOb,UAAU,CAACK,IAAI,CAACF,SAAS,EAAEsB,SAAS,CAAC,CAACE,IAAI,CAC/C3B,UAAU,CAAC4B,GAAG,CAAC3B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CACnC;AACH,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMS,KAAK,GAChBtB,OAA0C,IACDT,KAAK,CAACgC,cAAc,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE9E;;;;AAIA,OAAO,MAAMwB,WAAW,GAGtBxB,OAA0C,IAE1CT,KAAK,CAACgC,cAAc,CAClBnC,MAAM,CAACqC,MAAM,CAACzB,OAAO,CAAC,CAAC0B,QAAQ,EAAE,CAACN,IAAI,CACpC/B,MAAM,CAACsC,OAAO,CAAC7B,IAAI,CAAC,CACrB,CACF","ignoreList":[]}
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;;;;;;;;;;;;;;;;;;;;;;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":[]}