@effect/platform-node 0.104.1 → 4.0.0-beta.0

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 (321) hide show
  1. package/dist/Mime.d.ts +15 -0
  2. package/dist/Mime.d.ts.map +1 -0
  3. package/dist/Mime.js +16 -0
  4. package/dist/Mime.js.map +1 -0
  5. package/dist/NodeChildProcessSpawner.d.ts +7 -0
  6. package/dist/NodeChildProcessSpawner.d.ts.map +1 -0
  7. package/dist/NodeChildProcessSpawner.js +7 -0
  8. package/dist/NodeChildProcessSpawner.js.map +1 -0
  9. package/dist/NodeClusterHttp.d.ts +44 -0
  10. package/dist/NodeClusterHttp.d.ts.map +1 -0
  11. package/dist/{esm/NodeClusterHttp.js → NodeClusterHttp.js} +14 -18
  12. package/dist/NodeClusterHttp.js.map +1 -0
  13. package/dist/{dts/NodeClusterSocket.d.ts → NodeClusterSocket.d.ts} +13 -13
  14. package/dist/NodeClusterSocket.d.ts.map +1 -0
  15. package/dist/{esm/NodeClusterSocket.js → NodeClusterSocket.js} +13 -13
  16. package/dist/NodeClusterSocket.js.map +1 -0
  17. package/dist/NodeFileSystem.d.ts +8 -0
  18. package/dist/NodeFileSystem.d.ts.map +1 -0
  19. package/dist/NodeFileSystem.js.map +1 -0
  20. package/dist/NodeHttpClient.d.ts +110 -0
  21. package/dist/NodeHttpClient.d.ts.map +1 -0
  22. package/dist/NodeHttpClient.js +446 -0
  23. package/dist/NodeHttpClient.js.map +1 -0
  24. package/dist/NodeHttpIncomingMessage.d.ts +35 -0
  25. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -0
  26. package/dist/NodeHttpIncomingMessage.js +77 -0
  27. package/dist/NodeHttpIncomingMessage.js.map +1 -0
  28. package/dist/NodeHttpPlatform.d.ts +26 -0
  29. package/dist/NodeHttpPlatform.d.ts.map +1 -0
  30. package/dist/{esm/internal/httpPlatform.js → NodeHttpPlatform.js} +20 -11
  31. package/dist/NodeHttpPlatform.js.map +1 -0
  32. package/dist/NodeHttpServer.d.ts +73 -0
  33. package/dist/NodeHttpServer.d.ts.map +1 -0
  34. package/dist/NodeHttpServer.js +376 -0
  35. package/dist/NodeHttpServer.js.map +1 -0
  36. package/dist/NodeHttpServerRequest.d.ts +16 -0
  37. package/dist/NodeHttpServerRequest.d.ts.map +1 -0
  38. package/dist/NodeHttpServerRequest.js +14 -0
  39. package/dist/NodeHttpServerRequest.js.map +1 -0
  40. package/dist/NodeMultipart.d.ts +26 -0
  41. package/dist/NodeMultipart.d.ts.map +1 -0
  42. package/dist/NodeMultipart.js +131 -0
  43. package/dist/NodeMultipart.js.map +1 -0
  44. package/dist/NodePath.d.ts +18 -0
  45. package/dist/NodePath.d.ts.map +1 -0
  46. package/dist/NodePath.js.map +1 -0
  47. package/dist/NodeRedis.d.ts +31 -0
  48. package/dist/NodeRedis.d.ts.map +1 -0
  49. package/dist/NodeRedis.js +51 -0
  50. package/dist/NodeRedis.js.map +1 -0
  51. package/dist/NodeRuntime.d.ts +94 -0
  52. package/dist/NodeRuntime.d.ts.map +1 -0
  53. package/dist/NodeRuntime.js +33 -0
  54. package/dist/NodeRuntime.js.map +1 -0
  55. package/dist/NodeServices.d.ts +20 -0
  56. package/dist/NodeServices.d.ts.map +1 -0
  57. package/dist/NodeServices.js +12 -0
  58. package/dist/NodeServices.js.map +1 -0
  59. package/dist/NodeSink.d.ts.map +1 -0
  60. package/dist/NodeSink.js.map +1 -0
  61. package/dist/NodeSocket.d.ts +23 -0
  62. package/dist/NodeSocket.d.ts.map +1 -0
  63. package/dist/{esm/NodeSocket.js → NodeSocket.js} +9 -8
  64. package/dist/NodeSocket.js.map +1 -0
  65. package/dist/NodeSocketServer.d.ts.map +1 -0
  66. package/dist/NodeSocketServer.js.map +1 -0
  67. package/dist/NodeStdio.d.ts +8 -0
  68. package/dist/NodeStdio.d.ts.map +1 -0
  69. package/dist/NodeStdio.js +10 -0
  70. package/dist/NodeStdio.js.map +1 -0
  71. package/dist/{dts/NodeStream.d.ts → NodeStream.d.ts} +1 -1
  72. package/dist/NodeStream.d.ts.map +1 -0
  73. package/dist/{esm/NodeStream.js → NodeStream.js} +1 -1
  74. package/dist/NodeStream.js.map +1 -0
  75. package/dist/{dts/NodeTerminal.d.ts → NodeTerminal.d.ts} +2 -2
  76. package/dist/NodeTerminal.d.ts.map +1 -0
  77. package/dist/{esm/NodeTerminal.js → NodeTerminal.js} +1 -1
  78. package/dist/NodeTerminal.js.map +1 -0
  79. package/dist/NodeWorker.d.ts +15 -0
  80. package/dist/NodeWorker.d.ts.map +1 -0
  81. package/dist/NodeWorker.js +81 -0
  82. package/dist/NodeWorker.js.map +1 -0
  83. package/dist/NodeWorkerRunner.d.ts +8 -0
  84. package/dist/NodeWorkerRunner.d.ts.map +1 -0
  85. package/dist/NodeWorkerRunner.js +85 -0
  86. package/dist/NodeWorkerRunner.js.map +1 -0
  87. package/dist/{dts/Undici.d.ts → Undici.d.ts} +3 -3
  88. package/dist/Undici.d.ts.map +1 -0
  89. package/dist/{esm/Undici.js → Undici.js} +3 -3
  90. package/dist/Undici.js.map +1 -0
  91. package/dist/index.d.ts +102 -0
  92. package/dist/index.d.ts.map +1 -0
  93. package/dist/{esm/index.js → index.js} +25 -7
  94. package/dist/index.js.map +1 -0
  95. package/package.json +60 -213
  96. package/src/Mime.ts +18 -0
  97. package/src/NodeChildProcessSpawner.ts +6 -0
  98. package/src/NodeClusterHttp.ts +33 -35
  99. package/src/NodeClusterSocket.ts +23 -24
  100. package/src/NodeFileSystem.ts +3 -3
  101. package/src/NodeHttpClient.ts +506 -70
  102. package/src/NodeHttpIncomingMessage.ts +105 -0
  103. package/src/NodeHttpPlatform.ts +44 -10
  104. package/src/NodeHttpServer.ts +539 -102
  105. package/src/NodeHttpServerRequest.ts +8 -8
  106. package/src/NodeMultipart.ts +156 -1
  107. package/src/NodePath.ts +5 -6
  108. package/src/NodeRedis.ts +74 -0
  109. package/src/NodeRuntime.ts +95 -3
  110. package/src/NodeServices.ts +34 -0
  111. package/src/NodeSocket.ts +24 -16
  112. package/src/NodeStdio.ts +12 -0
  113. package/src/NodeStream.ts +1 -1
  114. package/src/NodeTerminal.ts +2 -2
  115. package/src/NodeWorker.ts +89 -20
  116. package/src/NodeWorkerRunner.ts +89 -12
  117. package/src/Undici.ts +7 -7
  118. package/src/index.ts +44 -21
  119. package/NodeClusterHttp/package.json +0 -6
  120. package/NodeClusterSocket/package.json +0 -6
  121. package/NodeCommandExecutor/package.json +0 -6
  122. package/NodeContext/package.json +0 -6
  123. package/NodeFileSystem/ParcelWatcher/package.json +0 -6
  124. package/NodeFileSystem/package.json +0 -6
  125. package/NodeHttpClient/package.json +0 -6
  126. package/NodeHttpPlatform/package.json +0 -6
  127. package/NodeHttpServer/package.json +0 -6
  128. package/NodeHttpServerRequest/package.json +0 -6
  129. package/NodeKeyValueStore/package.json +0 -6
  130. package/NodeMultipart/package.json +0 -6
  131. package/NodePath/package.json +0 -6
  132. package/NodeRuntime/package.json +0 -6
  133. package/NodeSink/package.json +0 -6
  134. package/NodeSocket/package.json +0 -6
  135. package/NodeSocketServer/package.json +0 -6
  136. package/NodeStream/package.json +0 -6
  137. package/NodeTerminal/package.json +0 -6
  138. package/NodeWorker/package.json +0 -6
  139. package/NodeWorkerRunner/package.json +0 -6
  140. package/Undici/package.json +0 -6
  141. package/dist/cjs/NodeClusterHttp.js +0 -61
  142. package/dist/cjs/NodeClusterHttp.js.map +0 -1
  143. package/dist/cjs/NodeClusterSocket.js +0 -77
  144. package/dist/cjs/NodeClusterSocket.js.map +0 -1
  145. package/dist/cjs/NodeCommandExecutor.js +0 -18
  146. package/dist/cjs/NodeCommandExecutor.js.map +0 -1
  147. package/dist/cjs/NodeContext.js +0 -24
  148. package/dist/cjs/NodeContext.js.map +0 -1
  149. package/dist/cjs/NodeFileSystem/ParcelWatcher.js +0 -18
  150. package/dist/cjs/NodeFileSystem/ParcelWatcher.js.map +0 -1
  151. package/dist/cjs/NodeFileSystem.js +0 -18
  152. package/dist/cjs/NodeFileSystem.js.map +0 -1
  153. package/dist/cjs/NodeHttpClient.js +0 -92
  154. package/dist/cjs/NodeHttpClient.js.map +0 -1
  155. package/dist/cjs/NodeHttpPlatform.js +0 -19
  156. package/dist/cjs/NodeHttpPlatform.js.map +0 -1
  157. package/dist/cjs/NodeHttpServer.js +0 -68
  158. package/dist/cjs/NodeHttpServer.js.map +0 -1
  159. package/dist/cjs/NodeHttpServerRequest.js +0 -19
  160. package/dist/cjs/NodeHttpServerRequest.js.map +0 -1
  161. package/dist/cjs/NodeKeyValueStore.js +0 -18
  162. package/dist/cjs/NodeKeyValueStore.js.map +0 -1
  163. package/dist/cjs/NodeMultipart.js +0 -17
  164. package/dist/cjs/NodeMultipart.js.map +0 -1
  165. package/dist/cjs/NodePath.js +0 -28
  166. package/dist/cjs/NodePath.js.map +0 -1
  167. package/dist/cjs/NodeRuntime.js +0 -18
  168. package/dist/cjs/NodeRuntime.js.map +0 -1
  169. package/dist/cjs/NodeSink.js +0 -17
  170. package/dist/cjs/NodeSink.js.map +0 -1
  171. package/dist/cjs/NodeSocket.js +0 -51
  172. package/dist/cjs/NodeSocket.js.map +0 -1
  173. package/dist/cjs/NodeSocketServer.js +0 -17
  174. package/dist/cjs/NodeSocketServer.js.map +0 -1
  175. package/dist/cjs/NodeStream.js +0 -17
  176. package/dist/cjs/NodeStream.js.map +0 -1
  177. package/dist/cjs/NodeTerminal.js +0 -23
  178. package/dist/cjs/NodeTerminal.js.map +0 -1
  179. package/dist/cjs/NodeWorker.js +0 -29
  180. package/dist/cjs/NodeWorker.js.map +0 -1
  181. package/dist/cjs/NodeWorkerRunner.js +0 -21
  182. package/dist/cjs/NodeWorkerRunner.js.map +0 -1
  183. package/dist/cjs/Undici.js +0 -26
  184. package/dist/cjs/Undici.js.map +0 -1
  185. package/dist/cjs/index.js +0 -50
  186. package/dist/cjs/index.js.map +0 -1
  187. package/dist/cjs/internal/httpClient.js +0 -196
  188. package/dist/cjs/internal/httpClient.js.map +0 -1
  189. package/dist/cjs/internal/httpClientUndici.js +0 -194
  190. package/dist/cjs/internal/httpClientUndici.js.map +0 -1
  191. package/dist/cjs/internal/httpIncomingMessage.js +0 -74
  192. package/dist/cjs/internal/httpIncomingMessage.js.map +0 -1
  193. package/dist/cjs/internal/httpPlatform.js +0 -49
  194. package/dist/cjs/internal/httpPlatform.js.map +0 -1
  195. package/dist/cjs/internal/httpServer.js +0 -352
  196. package/dist/cjs/internal/httpServer.js.map +0 -1
  197. package/dist/cjs/internal/worker.js +0 -82
  198. package/dist/cjs/internal/worker.js.map +0 -1
  199. package/dist/cjs/internal/workerRunner.js +0 -83
  200. package/dist/cjs/internal/workerRunner.js.map +0 -1
  201. package/dist/dts/NodeClusterHttp.d.ts +0 -41
  202. package/dist/dts/NodeClusterHttp.d.ts.map +0 -1
  203. package/dist/dts/NodeClusterSocket.d.ts.map +0 -1
  204. package/dist/dts/NodeCommandExecutor.d.ts +0 -9
  205. package/dist/dts/NodeCommandExecutor.d.ts.map +0 -1
  206. package/dist/dts/NodeContext.d.ts +0 -17
  207. package/dist/dts/NodeContext.d.ts.map +0 -1
  208. package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts +0 -8
  209. package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts.map +0 -1
  210. package/dist/dts/NodeFileSystem.d.ts +0 -8
  211. package/dist/dts/NodeFileSystem.d.ts.map +0 -1
  212. package/dist/dts/NodeHttpClient.d.ts +0 -116
  213. package/dist/dts/NodeHttpClient.d.ts.map +0 -1
  214. package/dist/dts/NodeHttpPlatform.d.ts +0 -19
  215. package/dist/dts/NodeHttpPlatform.d.ts.map +0 -1
  216. package/dist/dts/NodeHttpServer.d.ts +0 -91
  217. package/dist/dts/NodeHttpServer.d.ts.map +0 -1
  218. package/dist/dts/NodeHttpServerRequest.d.ts +0 -16
  219. package/dist/dts/NodeHttpServerRequest.d.ts.map +0 -1
  220. package/dist/dts/NodeKeyValueStore.d.ts +0 -9
  221. package/dist/dts/NodeKeyValueStore.d.ts.map +0 -1
  222. package/dist/dts/NodeMultipart.d.ts +0 -8
  223. package/dist/dts/NodeMultipart.d.ts.map +0 -1
  224. package/dist/dts/NodePath.d.ts +0 -21
  225. package/dist/dts/NodePath.d.ts.map +0 -1
  226. package/dist/dts/NodeRuntime.d.ts +0 -7
  227. package/dist/dts/NodeRuntime.d.ts.map +0 -1
  228. package/dist/dts/NodeSink.d.ts.map +0 -1
  229. package/dist/dts/NodeSocket.d.ts +0 -22
  230. package/dist/dts/NodeSocket.d.ts.map +0 -1
  231. package/dist/dts/NodeSocketServer.d.ts.map +0 -1
  232. package/dist/dts/NodeStream.d.ts.map +0 -1
  233. package/dist/dts/NodeTerminal.d.ts.map +0 -1
  234. package/dist/dts/NodeWorker.d.ts +0 -28
  235. package/dist/dts/NodeWorker.d.ts.map +0 -1
  236. package/dist/dts/NodeWorkerRunner.d.ts +0 -17
  237. package/dist/dts/NodeWorkerRunner.d.ts.map +0 -1
  238. package/dist/dts/Undici.d.ts.map +0 -1
  239. package/dist/dts/index.d.ts +0 -85
  240. package/dist/dts/index.d.ts.map +0 -1
  241. package/dist/dts/internal/httpClient.d.ts +0 -2
  242. package/dist/dts/internal/httpClient.d.ts.map +0 -1
  243. package/dist/dts/internal/httpClientUndici.d.ts +0 -2
  244. package/dist/dts/internal/httpClientUndici.d.ts.map +0 -1
  245. package/dist/dts/internal/httpIncomingMessage.d.ts +0 -2
  246. package/dist/dts/internal/httpIncomingMessage.d.ts.map +0 -1
  247. package/dist/dts/internal/httpPlatform.d.ts +0 -2
  248. package/dist/dts/internal/httpPlatform.d.ts.map +0 -1
  249. package/dist/dts/internal/httpServer.d.ts +0 -2
  250. package/dist/dts/internal/httpServer.d.ts.map +0 -1
  251. package/dist/dts/internal/worker.d.ts +0 -2
  252. package/dist/dts/internal/worker.d.ts.map +0 -1
  253. package/dist/dts/internal/workerRunner.d.ts +0 -2
  254. package/dist/dts/internal/workerRunner.d.ts.map +0 -1
  255. package/dist/esm/NodeClusterHttp.js.map +0 -1
  256. package/dist/esm/NodeClusterSocket.js.map +0 -1
  257. package/dist/esm/NodeCommandExecutor.js +0 -10
  258. package/dist/esm/NodeCommandExecutor.js.map +0 -1
  259. package/dist/esm/NodeContext.js +0 -16
  260. package/dist/esm/NodeContext.js.map +0 -1
  261. package/dist/esm/NodeFileSystem/ParcelWatcher.js +0 -10
  262. package/dist/esm/NodeFileSystem/ParcelWatcher.js.map +0 -1
  263. package/dist/esm/NodeFileSystem.js.map +0 -1
  264. package/dist/esm/NodeHttpClient.js +0 -84
  265. package/dist/esm/NodeHttpClient.js.map +0 -1
  266. package/dist/esm/NodeHttpPlatform.js +0 -12
  267. package/dist/esm/NodeHttpPlatform.js.map +0 -1
  268. package/dist/esm/NodeHttpServer.js +0 -61
  269. package/dist/esm/NodeHttpServer.js.map +0 -1
  270. package/dist/esm/NodeHttpServerRequest.js +0 -12
  271. package/dist/esm/NodeHttpServerRequest.js.map +0 -1
  272. package/dist/esm/NodeKeyValueStore.js +0 -10
  273. package/dist/esm/NodeKeyValueStore.js.map +0 -1
  274. package/dist/esm/NodeMultipart.js +0 -8
  275. package/dist/esm/NodeMultipart.js.map +0 -1
  276. package/dist/esm/NodePath.js.map +0 -1
  277. package/dist/esm/NodeRuntime.js +0 -10
  278. package/dist/esm/NodeRuntime.js.map +0 -1
  279. package/dist/esm/NodeSink.js.map +0 -1
  280. package/dist/esm/NodeSocket.js.map +0 -1
  281. package/dist/esm/NodeSocketServer.js.map +0 -1
  282. package/dist/esm/NodeStream.js.map +0 -1
  283. package/dist/esm/NodeTerminal.js.map +0 -1
  284. package/dist/esm/NodeWorker.js +0 -22
  285. package/dist/esm/NodeWorker.js.map +0 -1
  286. package/dist/esm/NodeWorkerRunner.js +0 -13
  287. package/dist/esm/NodeWorkerRunner.js.map +0 -1
  288. package/dist/esm/Undici.js.map +0 -1
  289. package/dist/esm/index.js.map +0 -1
  290. package/dist/esm/internal/httpClient.js +0 -187
  291. package/dist/esm/internal/httpClient.js.map +0 -1
  292. package/dist/esm/internal/httpClientUndici.js +0 -186
  293. package/dist/esm/internal/httpClientUndici.js.map +0 -1
  294. package/dist/esm/internal/httpIncomingMessage.js +0 -66
  295. package/dist/esm/internal/httpIncomingMessage.js.map +0 -1
  296. package/dist/esm/internal/httpPlatform.js.map +0 -1
  297. package/dist/esm/internal/httpServer.js +0 -337
  298. package/dist/esm/internal/httpServer.js.map +0 -1
  299. package/dist/esm/internal/worker.js +0 -73
  300. package/dist/esm/internal/worker.js.map +0 -1
  301. package/dist/esm/internal/workerRunner.js +0 -76
  302. package/dist/esm/internal/workerRunner.js.map +0 -1
  303. package/dist/esm/package.json +0 -4
  304. package/index/package.json +0 -6
  305. package/src/NodeCommandExecutor.ts +0 -13
  306. package/src/NodeContext.ts +0 -40
  307. package/src/NodeFileSystem/ParcelWatcher.ts +0 -12
  308. package/src/NodeKeyValueStore.ts +0 -15
  309. package/src/internal/httpClient.ts +0 -260
  310. package/src/internal/httpClientUndici.ts +0 -231
  311. package/src/internal/httpIncomingMessage.ts +0 -92
  312. package/src/internal/httpPlatform.ts +0 -46
  313. package/src/internal/httpServer.ts +0 -517
  314. package/src/internal/worker.ts +0 -86
  315. package/src/internal/workerRunner.ts +0 -77
  316. /package/dist/{esm/NodeFileSystem.js → NodeFileSystem.js} +0 -0
  317. /package/dist/{esm/NodePath.js → NodePath.js} +0 -0
  318. /package/dist/{dts/NodeSink.d.ts → NodeSink.d.ts} +0 -0
  319. /package/dist/{esm/NodeSink.js → NodeSink.js} +0 -0
  320. /package/dist/{dts/NodeSocketServer.d.ts → NodeSocketServer.d.ts} +0 -0
  321. /package/dist/{esm/NodeSocketServer.js → NodeSocketServer.js} +0 -0
@@ -1,20 +1,97 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import type * as Runner from "@effect/platform/WorkerRunner"
5
- import type * as Layer from "effect/Layer"
6
- import * as internal from "./internal/workerRunner.js"
7
-
8
- export {
9
- /**
10
- * @since 1.0.0
11
- * @category re-exports
12
- */
13
- launch
14
- } from "@effect/platform/WorkerRunner"
4
+ import * as Cause from "effect/Cause"
5
+ import * as Deferred from "effect/Deferred"
6
+ import * as Effect from "effect/Effect"
7
+ import * as Exit from "effect/Exit"
8
+ import * as Fiber from "effect/Fiber"
9
+ import * as Layer from "effect/Layer"
10
+ import { WorkerError, WorkerReceiveError, WorkerSpawnError } from "effect/unstable/workers/WorkerError"
11
+ import * as WorkerRunner from "effect/unstable/workers/WorkerRunner"
12
+ import * as WorkerThreads from "node:worker_threads"
15
13
 
16
14
  /**
17
15
  * @since 1.0.0
18
16
  * @category layers
19
17
  */
20
- export const layer: Layer.Layer<Runner.PlatformRunner> = internal.layer
18
+ export const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform> = Layer.succeed(WorkerRunner.WorkerRunnerPlatform)({
19
+ start<O = unknown, I = unknown>() {
20
+ return Effect.gen(function*() {
21
+ if (!WorkerThreads.parentPort && !process.send) {
22
+ return yield* new WorkerError({
23
+ reason: new WorkerSpawnError({ message: "not in a worker" })
24
+ })
25
+ }
26
+
27
+ const sendUnsafe = WorkerThreads.parentPort
28
+ ? (_portId: number, message: any, transfers?: any) => WorkerThreads.parentPort!.postMessage(message, transfers)
29
+ : (_portId: number, message: any, _transfers?: any) => process.send!(message)
30
+ const send = (_portId: number, message: O, transfers?: ReadonlyArray<unknown>) =>
31
+ Effect.sync(() => sendUnsafe(_portId, [1, message], transfers as any))
32
+
33
+ const run = <A, E, R>(
34
+ handler: (portId: number, message: I) => Effect.Effect<A, E, R> | void
35
+ ): Effect.Effect<void, WorkerError, R> =>
36
+ Effect.scopedWith(Effect.fnUntraced(function*(scope) {
37
+ const closeLatch = Deferred.makeUnsafe<void, WorkerError>()
38
+ const trackFiber = Fiber.runIn(scope)
39
+ const services = yield* Effect.services<R>()
40
+ const runFork = Effect.runForkWith(services)
41
+ const onExit = (exit: Exit.Exit<any, E>) => {
42
+ if (exit._tag === "Failure" && !Cause.hasInterruptsOnly(exit.cause)) {
43
+ runFork(Effect.logError("unhandled error in worker", exit.cause))
44
+ }
45
+ }
46
+ ;(WorkerThreads.parentPort ?? process).on("message", (message: WorkerRunner.PlatformMessage<I>) => {
47
+ if (message[0] === 0) {
48
+ const result = handler(0, message[1])
49
+ if (Effect.isEffect(result)) {
50
+ const fiber = runFork(result)
51
+ fiber.addObserver(onExit)
52
+ trackFiber(fiber)
53
+ }
54
+ } else {
55
+ if (WorkerThreads.parentPort) {
56
+ WorkerThreads.parentPort.close()
57
+ } else {
58
+ process.channel?.unref()
59
+ }
60
+ Deferred.doneUnsafe(closeLatch, Exit.void)
61
+ }
62
+ })
63
+
64
+ if (WorkerThreads.parentPort) {
65
+ WorkerThreads.parentPort.on("messageerror", (cause) => {
66
+ Deferred.doneUnsafe(
67
+ closeLatch,
68
+ new WorkerError({
69
+ reason: new WorkerReceiveError({
70
+ message: "received messageerror event",
71
+ cause
72
+ })
73
+ }).asEffect()
74
+ )
75
+ })
76
+ WorkerThreads.parentPort.on("error", (cause) => {
77
+ Deferred.doneUnsafe(
78
+ closeLatch,
79
+ new WorkerError({
80
+ reason: new WorkerReceiveError({
81
+ message: "received messageerror event",
82
+ cause
83
+ })
84
+ }).asEffect()
85
+ )
86
+ })
87
+ }
88
+
89
+ sendUnsafe(0, [0])
90
+
91
+ return yield* Deferred.await(closeLatch)
92
+ }))
93
+
94
+ return { run, send, sendUnsafe }
95
+ })
96
+ }
97
+ })
package/src/Undici.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
+ import Undici from "undici"
4
5
 
5
- export {
6
- /**
7
- * @since 1.0.0
8
- * @category undici
9
- */
10
- default
11
- } from "undici"
12
6
  /**
13
7
  * @since 1.0.0
14
8
  * @category undici
15
9
  */
16
10
  export * from "undici"
11
+
12
+ /**
13
+ * @since 1.0.0
14
+ * @category undici
15
+ */
16
+ export default Undici
package/src/index.ts CHANGED
@@ -1,104 +1,127 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * as NodeClusterHttp from "./NodeClusterHttp.js"
4
+
5
+ // @barrel: Auto-generated exports. Do not edit manually.
6
+
7
+ /**
8
+ * @since 1.0.0
9
+ */
10
+ export * as Mime from "./Mime.ts"
11
+
12
+ /**
13
+ * Node.js implementation of `ChildProcessSpawner`.
14
+ *
15
+ * @since 1.0.0
16
+ */
17
+ export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.ts"
18
+
19
+ /**
20
+ * @since 1.0.0
21
+ */
22
+ export * as NodeClusterHttp from "./NodeClusterHttp.ts"
23
+
24
+ /**
25
+ * @since 1.0.0
26
+ */
27
+ export * as NodeClusterSocket from "./NodeClusterSocket.ts"
5
28
 
6
29
  /**
7
30
  * @since 1.0.0
8
31
  */
9
- export * as NodeClusterSocket from "./NodeClusterSocket.js"
32
+ export * as NodeFileSystem from "./NodeFileSystem.ts"
10
33
 
11
34
  /**
12
35
  * @since 1.0.0
13
36
  */
14
- export * as NodeCommandExecutor from "./NodeCommandExecutor.js"
37
+ export * as NodeHttpClient from "./NodeHttpClient.ts"
15
38
 
16
39
  /**
17
40
  * @since 1.0.0
18
41
  */
19
- export * as NodeContext from "./NodeContext.js"
42
+ export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.ts"
20
43
 
21
44
  /**
22
45
  * @since 1.0.0
23
46
  */
24
- export * as NodeFileSystem from "./NodeFileSystem.js"
47
+ export * as NodeHttpPlatform from "./NodeHttpPlatform.ts"
25
48
 
26
49
  /**
27
50
  * @since 1.0.0
28
51
  */
29
- export * as NodeHttpClient from "./NodeHttpClient.js"
52
+ export * as NodeHttpServer from "./NodeHttpServer.ts"
30
53
 
31
54
  /**
32
55
  * @since 1.0.0
33
56
  */
34
- export * as NodeHttpPlatform from "./NodeHttpPlatform.js"
57
+ export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts"
35
58
 
36
59
  /**
37
60
  * @since 1.0.0
38
61
  */
39
- export * as NodeHttpServer from "./NodeHttpServer.js"
62
+ export * as NodeMultipart from "./NodeMultipart.ts"
40
63
 
41
64
  /**
42
65
  * @since 1.0.0
43
66
  */
44
- export * as NodeHttpServerRequest from "./NodeHttpServerRequest.js"
67
+ export * as NodePath from "./NodePath.ts"
45
68
 
46
69
  /**
47
70
  * @since 1.0.0
48
71
  */
49
- export * as NodeKeyValueStore from "./NodeKeyValueStore.js"
72
+ export * as NodeRedis from "./NodeRedis.ts"
50
73
 
51
74
  /**
52
75
  * @since 1.0.0
53
76
  */
54
- export * as NodeMultipart from "./NodeMultipart.js"
77
+ export * as NodeRuntime from "./NodeRuntime.ts"
55
78
 
56
79
  /**
57
80
  * @since 1.0.0
58
81
  */
59
- export * as NodePath from "./NodePath.js"
82
+ export * as NodeServices from "./NodeServices.ts"
60
83
 
61
84
  /**
62
85
  * @since 1.0.0
63
86
  */
64
- export * as NodeRuntime from "./NodeRuntime.js"
87
+ export * as NodeSink from "./NodeSink.ts"
65
88
 
66
89
  /**
67
90
  * @since 1.0.0
68
91
  */
69
- export * as NodeSink from "./NodeSink.js"
92
+ export * as NodeSocket from "./NodeSocket.ts"
70
93
 
71
94
  /**
72
95
  * @since 1.0.0
73
96
  */
74
- export * as NodeSocket from "./NodeSocket.js"
97
+ export * as NodeSocketServer from "./NodeSocketServer.ts"
75
98
 
76
99
  /**
77
100
  * @since 1.0.0
78
101
  */
79
- export * as NodeSocketServer from "./NodeSocketServer.js"
102
+ export * as NodeStdio from "./NodeStdio.ts"
80
103
 
81
104
  /**
82
105
  * @since 1.0.0
83
106
  */
84
- export * as NodeStream from "./NodeStream.js"
107
+ export * as NodeStream from "./NodeStream.ts"
85
108
 
86
109
  /**
87
110
  * @since 1.0.0
88
111
  */
89
- export * as NodeTerminal from "./NodeTerminal.js"
112
+ export * as NodeTerminal from "./NodeTerminal.ts"
90
113
 
91
114
  /**
92
115
  * @since 1.0.0
93
116
  */
94
- export * as NodeWorker from "./NodeWorker.js"
117
+ export * as NodeWorker from "./NodeWorker.ts"
95
118
 
96
119
  /**
97
120
  * @since 1.0.0
98
121
  */
99
- export * as NodeWorkerRunner from "./NodeWorkerRunner.js"
122
+ export * as NodeWorkerRunner from "./NodeWorkerRunner.ts"
100
123
 
101
124
  /**
102
125
  * @since 1.0.0
103
126
  */
104
- export * as Undici from "./Undici.js"
127
+ export * as Undici from "./Undici.ts"
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeClusterHttp.js",
4
- "module": "../dist/esm/NodeClusterHttp.js",
5
- "types": "../dist/dts/NodeClusterHttp.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeClusterSocket.js",
4
- "module": "../dist/esm/NodeClusterSocket.js",
5
- "types": "../dist/dts/NodeClusterSocket.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeCommandExecutor.js",
4
- "module": "../dist/esm/NodeCommandExecutor.js",
5
- "types": "../dist/dts/NodeCommandExecutor.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeContext.js",
4
- "module": "../dist/esm/NodeContext.js",
5
- "types": "../dist/dts/NodeContext.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../../dist/cjs/NodeFileSystem/ParcelWatcher.js",
4
- "module": "../../dist/esm/NodeFileSystem/ParcelWatcher.js",
5
- "types": "../../dist/dts/NodeFileSystem/ParcelWatcher.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeFileSystem.js",
4
- "module": "../dist/esm/NodeFileSystem.js",
5
- "types": "../dist/dts/NodeFileSystem.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeHttpClient.js",
4
- "module": "../dist/esm/NodeHttpClient.js",
5
- "types": "../dist/dts/NodeHttpClient.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeHttpPlatform.js",
4
- "module": "../dist/esm/NodeHttpPlatform.js",
5
- "types": "../dist/dts/NodeHttpPlatform.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeHttpServer.js",
4
- "module": "../dist/esm/NodeHttpServer.js",
5
- "types": "../dist/dts/NodeHttpServer.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeHttpServerRequest.js",
4
- "module": "../dist/esm/NodeHttpServerRequest.js",
5
- "types": "../dist/dts/NodeHttpServerRequest.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeKeyValueStore.js",
4
- "module": "../dist/esm/NodeKeyValueStore.js",
5
- "types": "../dist/dts/NodeKeyValueStore.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeMultipart.js",
4
- "module": "../dist/esm/NodeMultipart.js",
5
- "types": "../dist/dts/NodeMultipart.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodePath.js",
4
- "module": "../dist/esm/NodePath.js",
5
- "types": "../dist/dts/NodePath.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeRuntime.js",
4
- "module": "../dist/esm/NodeRuntime.js",
5
- "types": "../dist/dts/NodeRuntime.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeSink.js",
4
- "module": "../dist/esm/NodeSink.js",
5
- "types": "../dist/dts/NodeSink.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeSocket.js",
4
- "module": "../dist/esm/NodeSocket.js",
5
- "types": "../dist/dts/NodeSocket.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeSocketServer.js",
4
- "module": "../dist/esm/NodeSocketServer.js",
5
- "types": "../dist/dts/NodeSocketServer.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeStream.js",
4
- "module": "../dist/esm/NodeStream.js",
5
- "types": "../dist/dts/NodeStream.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeTerminal.js",
4
- "module": "../dist/esm/NodeTerminal.js",
5
- "types": "../dist/dts/NodeTerminal.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeWorker.js",
4
- "module": "../dist/esm/NodeWorker.js",
5
- "types": "../dist/dts/NodeWorker.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/NodeWorkerRunner.js",
4
- "module": "../dist/esm/NodeWorkerRunner.js",
5
- "types": "../dist/dts/NodeWorkerRunner.d.ts"
6
- }
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": [],
3
- "main": "../dist/cjs/Undici.js",
4
- "module": "../dist/esm/Undici.js",
5
- "types": "../dist/dts/Undici.d.ts"
6
- }
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.layerHttpServer = exports.layer = void 0;
7
- Object.defineProperty(exports, "layerK8sHttpClient", {
8
- enumerable: true,
9
- get: function () {
10
- return _NodeClusterSocket.layerK8sHttpClient;
11
- }
12
- });
13
- var HttpRunner = _interopRequireWildcard(require("@effect/cluster/HttpRunner"));
14
- var MessageStorage = _interopRequireWildcard(require("@effect/cluster/MessageStorage"));
15
- var RunnerHealth = _interopRequireWildcard(require("@effect/cluster/RunnerHealth"));
16
- var Runners = _interopRequireWildcard(require("@effect/cluster/Runners"));
17
- var RunnerStorage = _interopRequireWildcard(require("@effect/cluster/RunnerStorage"));
18
- var ShardingConfig = _interopRequireWildcard(require("@effect/cluster/ShardingConfig"));
19
- var SqlMessageStorage = _interopRequireWildcard(require("@effect/cluster/SqlMessageStorage"));
20
- var SqlRunnerStorage = _interopRequireWildcard(require("@effect/cluster/SqlRunnerStorage"));
21
- var RpcSerialization = _interopRequireWildcard(require("@effect/rpc/RpcSerialization"));
22
- var Effect = _interopRequireWildcard(require("effect/Effect"));
23
- var Layer = _interopRequireWildcard(require("effect/Layer"));
24
- var Option = _interopRequireWildcard(require("effect/Option"));
25
- var _nodeHttp = require("node:http");
26
- var _NodeClusterSocket = require("./NodeClusterSocket.js");
27
- var NodeHttpClient = _interopRequireWildcard(require("./NodeHttpClient.js"));
28
- var NodeHttpServer = _interopRequireWildcard(require("./NodeHttpServer.js"));
29
- var NodeSocket = _interopRequireWildcard(require("./NodeSocket.js"));
30
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
31
- /**
32
- * @since 1.0.0
33
- */
34
-
35
- /**
36
- * @since 1.0.0
37
- * @category Layers
38
- */
39
- const layer = options => {
40
- const layer = options.clientOnly
41
- // client only
42
- ? options.transport === "http" ? Layer.provide(HttpRunner.layerHttpClientOnly, NodeHttpClient.layerUndici) : Layer.provide(HttpRunner.layerWebsocketClientOnly, NodeSocket.layerWebSocketConstructor)
43
- // with server
44
- : options.transport === "http" ? Layer.provide(HttpRunner.layerHttp, [layerHttpServer, NodeHttpClient.layerUndici]) : Layer.provide(HttpRunner.layerWebsocket, [layerHttpServer, NodeSocket.layerWebSocketConstructor]);
45
- const runnerHealth = options?.clientOnly ? Layer.empty : options?.runnerHealth === "k8s" ? RunnerHealth.layerK8s(options.runnerHealthK8s).pipe(Layer.provide(_NodeClusterSocket.layerK8sHttpClient)) : RunnerHealth.layerPing.pipe(Layer.provide(Runners.layerRpc), Layer.provide(options.transport === "http" ? HttpRunner.layerClientProtocolHttpDefault.pipe(Layer.provide(NodeHttpClient.layerUndici)) : HttpRunner.layerClientProtocolWebsocketDefault.pipe(Layer.provide(NodeSocket.layerWebSocketConstructor))));
46
- return layer.pipe(Layer.provide(runnerHealth), Layer.provideMerge(options?.storage === "local" ? MessageStorage.layerNoop : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlMessageStorage.layer)), Layer.provide(options?.storage === "local" ? RunnerStorage.layerMemory : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlRunnerStorage.layer)), Layer.provide(ShardingConfig.layerFromEnv(options?.shardingConfig)), Layer.provide(options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack));
47
- };
48
- /**
49
- * @since 1.0.0
50
- * @category Layers
51
- */
52
- exports.layer = layer;
53
- const layerHttpServer = exports.layerHttpServer = /*#__PURE__*/Effect.gen(function* () {
54
- const config = yield* ShardingConfig.ShardingConfig;
55
- const listenAddress = Option.orElse(config.runnerListenAddress, () => config.runnerAddress);
56
- if (listenAddress._tag === "None") {
57
- return yield* Effect.die("NodeClusterHttp.layerHttpServer: ShardingConfig.runnerAddress is None");
58
- }
59
- return NodeHttpServer.layer(_nodeHttp.createServer, listenAddress.value);
60
- }).pipe(Layer.unwrapEffect);
61
- //# sourceMappingURL=NodeClusterHttp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeClusterHttp.js","names":["HttpRunner","_interopRequireWildcard","require","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SqlMessageStorage","SqlRunnerStorage","RpcSerialization","Effect","Layer","Option","_nodeHttp","_NodeClusterSocket","NodeHttpClient","NodeHttpServer","NodeSocket","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","layer","options","clientOnly","transport","provide","layerHttpClientOnly","layerUndici","layerWebsocketClientOnly","layerWebSocketConstructor","layerHttp","layerHttpServer","layerWebsocket","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerK8sHttpClient","layerPing","layerRpc","layerClientProtocolHttpDefault","layerClientProtocolWebsocketDefault","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","exports","gen","config","listenAddress","orElse","runnerListenAddress","runnerAddress","_tag","die","createServer","value","unwrapEffect"],"sources":["../../src/NodeClusterHttp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.layer = void 0;
7
- Object.defineProperty(exports, "layerClientProtocol", {
8
- enumerable: true,
9
- get: function () {
10
- return _NodeClusterSocket.layerClientProtocol;
11
- }
12
- });
13
- exports.layerK8sHttpClient = exports.layerDispatcherK8s = void 0;
14
- Object.defineProperty(exports, "layerSocketServer", {
15
- enumerable: true,
16
- get: function () {
17
- return _NodeClusterSocket.layerSocketServer;
18
- }
19
- });
20
- var K8sHttpClient = _interopRequireWildcard(require("@effect/cluster/K8sHttpClient"));
21
- var MessageStorage = _interopRequireWildcard(require("@effect/cluster/MessageStorage"));
22
- var RunnerHealth = _interopRequireWildcard(require("@effect/cluster/RunnerHealth"));
23
- var Runners = _interopRequireWildcard(require("@effect/cluster/Runners"));
24
- var RunnerStorage = _interopRequireWildcard(require("@effect/cluster/RunnerStorage"));
25
- var ShardingConfig = _interopRequireWildcard(require("@effect/cluster/ShardingConfig"));
26
- var SocketRunner = _interopRequireWildcard(require("@effect/cluster/SocketRunner"));
27
- var SqlMessageStorage = _interopRequireWildcard(require("@effect/cluster/SqlMessageStorage"));
28
- var SqlRunnerStorage = _interopRequireWildcard(require("@effect/cluster/SqlRunnerStorage"));
29
- var _NodeClusterSocket = require("@effect/platform-node-shared/NodeClusterSocket");
30
- var FileSystem = _interopRequireWildcard(require("@effect/platform/FileSystem"));
31
- var RpcSerialization = _interopRequireWildcard(require("@effect/rpc/RpcSerialization"));
32
- var Effect = _interopRequireWildcard(require("effect/Effect"));
33
- var Layer = _interopRequireWildcard(require("effect/Layer"));
34
- var NodeFileSystem = _interopRequireWildcard(require("./NodeFileSystem.js"));
35
- var NodeHttpClient = _interopRequireWildcard(require("./NodeHttpClient.js"));
36
- var Undici = _interopRequireWildcard(require("./Undici.js"));
37
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
38
- /**
39
- * @since 1.0.0
40
- */
41
-
42
- /**
43
- * @since 1.0.0
44
- * @category Layers
45
- */
46
- const layer = options => {
47
- const layer = options?.clientOnly
48
- // client only
49
- ? Layer.provide(SocketRunner.layerClientOnly, _NodeClusterSocket.layerClientProtocol)
50
- // with server
51
- : Layer.provide(SocketRunner.layer, [_NodeClusterSocket.layerSocketServer, _NodeClusterSocket.layerClientProtocol]);
52
- const runnerHealth = options?.clientOnly ? Layer.empty : options?.runnerHealth === "k8s" ? RunnerHealth.layerK8s(options.runnerHealthK8s).pipe(Layer.provide(layerK8sHttpClient)) : RunnerHealth.layerPing.pipe(Layer.provide(Runners.layerRpc), Layer.provide(_NodeClusterSocket.layerClientProtocol));
53
- return layer.pipe(Layer.provide(runnerHealth), Layer.provideMerge(options?.storage === "local" ? MessageStorage.layerNoop : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlMessageStorage.layer)), Layer.provide(options?.storage === "local" ? RunnerStorage.layerMemory : options?.storage === "byo" ? Layer.empty : Layer.orDie(SqlRunnerStorage.layer)), Layer.provide(ShardingConfig.layerFromEnv(options?.shardingConfig)), Layer.provide(options?.serialization === "ndjson" ? RpcSerialization.layerNdjson : RpcSerialization.layerMsgPack));
54
- };
55
- /**
56
- * @since 1.0.0
57
- * @category Layers
58
- */
59
- exports.layer = layer;
60
- const layerDispatcherK8s = exports.layerDispatcherK8s = /*#__PURE__*/Layer.scoped(NodeHttpClient.Dispatcher)(Effect.gen(function* () {
61
- const fs = yield* FileSystem.FileSystem;
62
- const caCertOption = yield* fs.readFileString("/var/run/secrets/kubernetes.io/serviceaccount/ca.crt").pipe(Effect.option);
63
- if (caCertOption._tag === "Some") {
64
- return yield* Effect.acquireRelease(Effect.sync(() => new Undici.Agent({
65
- connect: {
66
- ca: caCertOption.value
67
- }
68
- })), agent => Effect.promise(() => agent.destroy()));
69
- }
70
- return yield* NodeHttpClient.makeDispatcher;
71
- })).pipe(/*#__PURE__*/Layer.provide(NodeFileSystem.layer));
72
- /**
73
- * @since 1.0.0
74
- * @category Layers
75
- */
76
- const layerK8sHttpClient = exports.layerK8sHttpClient = /*#__PURE__*/K8sHttpClient.layer.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(NodeHttpClient.layerUndiciWithoutDispatcher)), /*#__PURE__*/Layer.provide(layerDispatcherK8s), /*#__PURE__*/Layer.provide(NodeFileSystem.layer));
77
- //# sourceMappingURL=NodeClusterSocket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeClusterSocket.js","names":["K8sHttpClient","_interopRequireWildcard","require","MessageStorage","RunnerHealth","Runners","RunnerStorage","ShardingConfig","SocketRunner","SqlMessageStorage","SqlRunnerStorage","_NodeClusterSocket","FileSystem","RpcSerialization","Effect","Layer","NodeFileSystem","NodeHttpClient","Undici","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","layer","options","clientOnly","provide","layerClientOnly","layerClientProtocol","layerSocketServer","runnerHealth","empty","layerK8s","runnerHealthK8s","pipe","layerK8sHttpClient","layerPing","layerRpc","provideMerge","storage","layerNoop","orDie","layerMemory","layerFromEnv","shardingConfig","serialization","layerNdjson","layerMsgPack","exports","layerDispatcherK8s","scoped","Dispatcher","gen","fs","caCertOption","readFileString","option","_tag","acquireRelease","sync","Agent","connect","ca","value","agent","promise","destroy","makeDispatcher","fresh","layerUndiciWithoutDispatcher"],"sources":["../../src/NodeClusterSocket.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}