@effect/platform-node 0.42.10 → 0.43.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 (376) hide show
  1. package/NodeCommandExecutor/package.json +6 -0
  2. package/NodeFileSystem/package.json +6 -0
  3. package/NodeHttpClient/package.json +6 -0
  4. package/NodeHttpServer/package.json +6 -0
  5. package/NodeKeyValueStore/package.json +6 -0
  6. package/NodePath/package.json +6 -0
  7. package/NodeRuntime/package.json +6 -0
  8. package/NodeSink/package.json +6 -0
  9. package/NodeStream/package.json +6 -0
  10. package/NodeTerminal/package.json +6 -0
  11. package/NodeWorker/package.json +6 -0
  12. package/NodeWorkerRunner/package.json +6 -0
  13. package/dist/cjs/Http/Platform.js +0 -20
  14. package/dist/cjs/Http/Platform.js.map +1 -1
  15. package/dist/cjs/Http/Server.js +6 -23
  16. package/dist/cjs/Http/Server.js.map +1 -1
  17. package/dist/cjs/Http/ServerRequest.js +0 -19
  18. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  19. package/dist/cjs/{FileSystem.js → NodeCommandExecutor.js} +3 -16
  20. package/dist/cjs/NodeCommandExecutor.js.map +1 -0
  21. package/dist/cjs/NodeContext.js +6 -6
  22. package/dist/cjs/NodeContext.js.map +1 -1
  23. package/dist/cjs/NodeFileSystem.js +42 -0
  24. package/dist/cjs/NodeFileSystem.js.map +1 -0
  25. package/dist/cjs/{Http/NodeClient.js → NodeHttpClient.js} +2 -2
  26. package/dist/cjs/{Http/NodeClient.js.map → NodeHttpClient.js.map} +1 -1
  27. package/dist/cjs/NodeHttpServer.js +40 -0
  28. package/dist/cjs/NodeHttpServer.js.map +1 -0
  29. package/dist/cjs/NodeKeyValueStore.js +42 -0
  30. package/dist/cjs/NodeKeyValueStore.js.map +1 -0
  31. package/dist/cjs/{Path.js → NodePath.js} +5 -12
  32. package/dist/cjs/NodePath.js.map +1 -0
  33. package/dist/cjs/{Runtime.js → NodeRuntime.js} +7 -10
  34. package/dist/cjs/NodeRuntime.js.map +1 -0
  35. package/dist/cjs/NodeSink.js +17 -0
  36. package/dist/cjs/NodeSink.js.map +1 -0
  37. package/dist/cjs/NodeStream.js +17 -0
  38. package/dist/cjs/NodeStream.js.map +1 -0
  39. package/dist/cjs/{Terminal.js → NodeTerminal.js} +8 -11
  40. package/dist/cjs/NodeTerminal.js.map +1 -0
  41. package/dist/cjs/{Sink.js → NodeWorker.js} +9 -8
  42. package/dist/cjs/NodeWorker.js.map +1 -0
  43. package/dist/cjs/{CommandExecutor.js → NodeWorkerRunner.js} +3 -10
  44. package/dist/cjs/NodeWorkerRunner.js.map +1 -0
  45. package/dist/cjs/index.js +25 -33
  46. package/dist/cjs/internal/http/{nodeClient.js → client.js} +3 -3
  47. package/dist/cjs/internal/http/{nodeClient.js.map → client.js.map} +1 -1
  48. package/dist/cjs/internal/http/incomingMessage.js +1 -1
  49. package/dist/cjs/internal/http/incomingMessage.js.map +1 -1
  50. package/dist/cjs/internal/http/platform.js +3 -3
  51. package/dist/cjs/internal/http/platform.js.map +1 -1
  52. package/dist/cjs/internal/http/server.js +13 -8
  53. package/dist/cjs/internal/http/server.js.map +1 -1
  54. package/dist/cjs/internal/worker.js +3 -8
  55. package/dist/cjs/internal/worker.js.map +1 -1
  56. package/dist/cjs/internal/workerRunner.js +2 -8
  57. package/dist/cjs/internal/workerRunner.js.map +1 -1
  58. package/dist/dts/Http/Platform.d.ts +2 -8
  59. package/dist/dts/Http/Platform.d.ts.map +1 -1
  60. package/dist/dts/Http/Server.d.ts +10 -9
  61. package/dist/dts/Http/Server.d.ts.map +1 -1
  62. package/dist/dts/Http/ServerRequest.d.ts +0 -6
  63. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  64. package/dist/dts/NodeCommandExecutor.d.ts +9 -0
  65. package/dist/dts/NodeCommandExecutor.d.ts.map +1 -0
  66. package/dist/dts/NodeContext.d.ts +6 -6
  67. package/dist/dts/NodeContext.d.ts.map +1 -1
  68. package/dist/dts/NodeFileSystem.d.ts +8 -0
  69. package/dist/dts/NodeFileSystem.d.ts.map +1 -0
  70. package/dist/dts/{Http/NodeClient.d.ts → NodeHttpClient.d.ts} +7 -7
  71. package/dist/dts/{Http/NodeClient.d.ts.map → NodeHttpClient.d.ts.map} +1 -1
  72. package/dist/dts/NodeHttpServer.d.ts +37 -0
  73. package/dist/dts/NodeHttpServer.d.ts.map +1 -0
  74. package/dist/dts/NodeKeyValueStore.d.ts +9 -0
  75. package/dist/dts/NodeKeyValueStore.d.ts.map +1 -0
  76. package/dist/dts/NodePath.d.ts +21 -0
  77. package/dist/dts/NodePath.d.ts.map +1 -0
  78. package/dist/dts/NodeRuntime.d.ts +7 -0
  79. package/dist/dts/NodeRuntime.d.ts.map +1 -0
  80. package/dist/dts/NodeSink.d.ts +8 -0
  81. package/dist/dts/NodeSink.d.ts.map +1 -0
  82. package/dist/dts/NodeStream.d.ts +8 -0
  83. package/dist/dts/NodeStream.d.ts.map +1 -0
  84. package/dist/dts/NodeTerminal.d.ts +15 -0
  85. package/dist/dts/NodeTerminal.d.ts.map +1 -0
  86. package/dist/dts/NodeWorker.d.ts +23 -0
  87. package/dist/dts/NodeWorker.d.ts.map +1 -0
  88. package/dist/dts/NodeWorkerRunner.d.ts +11 -0
  89. package/dist/dts/NodeWorkerRunner.d.ts.map +1 -0
  90. package/dist/dts/index.d.ts +13 -37
  91. package/dist/dts/index.d.ts.map +1 -1
  92. package/dist/dts/internal/http/client.d.ts +2 -0
  93. package/dist/dts/internal/http/client.d.ts.map +1 -0
  94. package/dist/esm/Http/Platform.js +0 -4
  95. package/dist/esm/Http/Platform.js.map +1 -1
  96. package/dist/esm/Http/Server.js +5 -4
  97. package/dist/esm/Http/Server.js.map +1 -1
  98. package/dist/esm/Http/ServerRequest.js +0 -4
  99. package/dist/esm/Http/ServerRequest.js.map +1 -1
  100. package/dist/esm/NodeCommandExecutor.js +10 -0
  101. package/dist/esm/NodeCommandExecutor.js.map +1 -0
  102. package/dist/esm/NodeContext.js +6 -6
  103. package/dist/esm/NodeContext.js.map +1 -1
  104. package/dist/esm/NodeFileSystem.js +10 -0
  105. package/dist/esm/NodeFileSystem.js.map +1 -0
  106. package/dist/esm/{Http/NodeClient.js → NodeHttpClient.js} +2 -2
  107. package/dist/esm/NodeHttpClient.js.map +1 -0
  108. package/dist/esm/NodeHttpServer.js +37 -0
  109. package/dist/esm/NodeHttpServer.js.map +1 -0
  110. package/dist/esm/NodeKeyValueStore.js +10 -0
  111. package/dist/esm/NodeKeyValueStore.js.map +1 -0
  112. package/dist/esm/NodePath.js +20 -0
  113. package/dist/esm/NodePath.js.map +1 -0
  114. package/dist/esm/NodeRuntime.js +10 -0
  115. package/dist/esm/NodeRuntime.js.map +1 -0
  116. package/dist/esm/NodeSink.js +8 -0
  117. package/dist/esm/NodeSink.js.map +1 -0
  118. package/dist/esm/NodeStream.js +8 -0
  119. package/dist/esm/NodeStream.js.map +1 -0
  120. package/dist/esm/NodeTerminal.js +15 -0
  121. package/dist/esm/NodeTerminal.js.map +1 -0
  122. package/dist/esm/NodeWorker.js +17 -0
  123. package/dist/esm/NodeWorker.js.map +1 -0
  124. package/dist/esm/NodeWorkerRunner.js +7 -0
  125. package/dist/esm/NodeWorkerRunner.js.map +1 -0
  126. package/dist/esm/index.js +13 -37
  127. package/dist/esm/index.js.map +1 -1
  128. package/dist/esm/internal/http/{nodeClient.js → client.js} +3 -3
  129. package/dist/esm/internal/http/client.js.map +1 -0
  130. package/dist/esm/internal/http/incomingMessage.js +1 -1
  131. package/dist/esm/internal/http/incomingMessage.js.map +1 -1
  132. package/dist/esm/internal/http/platform.js +3 -3
  133. package/dist/esm/internal/http/platform.js.map +1 -1
  134. package/dist/esm/internal/http/server.js +11 -7
  135. package/dist/esm/internal/http/server.js.map +1 -1
  136. package/dist/esm/internal/worker.js +1 -7
  137. package/dist/esm/internal/worker.js.map +1 -1
  138. package/dist/esm/internal/workerRunner.js +1 -5
  139. package/dist/esm/internal/workerRunner.js.map +1 -1
  140. package/package.json +89 -145
  141. package/src/Http/Platform.ts +2 -9
  142. package/src/Http/Server.ts +19 -11
  143. package/src/Http/ServerRequest.ts +0 -7
  144. package/src/NodeCommandExecutor.ts +13 -0
  145. package/src/NodeContext.ts +16 -11
  146. package/src/NodeFileSystem.ts +12 -0
  147. package/src/{Http/NodeClient.ts → NodeHttpClient.ts} +7 -8
  148. package/src/NodeHttpServer.ts +38 -0
  149. package/src/NodeKeyValueStore.ts +15 -0
  150. package/src/NodePath.ts +25 -0
  151. package/src/NodeRuntime.ts +11 -0
  152. package/src/NodeSink.ts +8 -0
  153. package/src/NodeStream.ts +8 -0
  154. package/src/NodeTerminal.ts +20 -0
  155. package/src/NodeWorker.ts +27 -0
  156. package/src/NodeWorkerRunner.ts +12 -0
  157. package/src/index.ts +13 -41
  158. package/src/internal/http/{nodeClient.ts → client.ts} +10 -10
  159. package/src/internal/http/incomingMessage.ts +7 -7
  160. package/src/internal/http/platform.ts +3 -3
  161. package/src/internal/http/server.ts +35 -23
  162. package/src/internal/worker.ts +7 -14
  163. package/src/internal/workerRunner.ts +3 -26
  164. package/Command/package.json +0 -6
  165. package/CommandExecutor/package.json +0 -6
  166. package/Effectify/package.json +0 -6
  167. package/Error/package.json +0 -6
  168. package/FileSystem/package.json +0 -6
  169. package/Http/Etag/package.json +0 -6
  170. package/Http/Multipart/package.json +0 -6
  171. package/Http/NodeClient/package.json +0 -6
  172. package/HttpClient/package.json +0 -6
  173. package/HttpServer/package.json +0 -6
  174. package/KeyValueStore/package.json +0 -6
  175. package/Path/package.json +0 -6
  176. package/Runtime/package.json +0 -6
  177. package/Sink/package.json +0 -6
  178. package/Stream/package.json +0 -6
  179. package/Terminal/package.json +0 -6
  180. package/Transferable/package.json +0 -6
  181. package/Worker/package.json +0 -6
  182. package/WorkerRunner/package.json +0 -6
  183. package/dist/cjs/Command.js +0 -109
  184. package/dist/cjs/Command.js.map +0 -1
  185. package/dist/cjs/CommandExecutor.js.map +0 -1
  186. package/dist/cjs/Effectify.js +0 -13
  187. package/dist/cjs/Effectify.js.map +0 -1
  188. package/dist/cjs/Error.js +0 -25
  189. package/dist/cjs/Error.js.map +0 -1
  190. package/dist/cjs/FileSystem.js.map +0 -1
  191. package/dist/cjs/Http/Etag.js +0 -63
  192. package/dist/cjs/Http/Etag.js.map +0 -1
  193. package/dist/cjs/Http/Multipart.js +0 -69
  194. package/dist/cjs/Http/Multipart.js.map +0 -1
  195. package/dist/cjs/HttpClient.js +0 -48
  196. package/dist/cjs/HttpClient.js.map +0 -1
  197. package/dist/cjs/HttpServer.js +0 -58
  198. package/dist/cjs/HttpServer.js.map +0 -1
  199. package/dist/cjs/KeyValueStore.js +0 -60
  200. package/dist/cjs/KeyValueStore.js.map +0 -1
  201. package/dist/cjs/Path.js.map +0 -1
  202. package/dist/cjs/Runtime.js.map +0 -1
  203. package/dist/cjs/Sink.js.map +0 -1
  204. package/dist/cjs/Stream.js +0 -68
  205. package/dist/cjs/Stream.js.map +0 -1
  206. package/dist/cjs/Terminal.js.map +0 -1
  207. package/dist/cjs/Transferable.js +0 -17
  208. package/dist/cjs/Transferable.js.map +0 -1
  209. package/dist/cjs/Worker.js +0 -87
  210. package/dist/cjs/Worker.js.map +0 -1
  211. package/dist/cjs/WorkerRunner.js +0 -69
  212. package/dist/cjs/WorkerRunner.js.map +0 -1
  213. package/dist/cjs/internal/commandExecutor.js +0 -151
  214. package/dist/cjs/internal/commandExecutor.js.map +0 -1
  215. package/dist/cjs/internal/error.js +0 -44
  216. package/dist/cjs/internal/error.js.map +0 -1
  217. package/dist/cjs/internal/fileSystem.js +0 -370
  218. package/dist/cjs/internal/fileSystem.js.map +0 -1
  219. package/dist/cjs/internal/http/etag.js +0 -74
  220. package/dist/cjs/internal/http/etag.js.map +0 -1
  221. package/dist/cjs/internal/http/multipart.js +0 -119
  222. package/dist/cjs/internal/http/multipart.js.map +0 -1
  223. package/dist/cjs/internal/path.js +0 -72
  224. package/dist/cjs/internal/path.js.map +0 -1
  225. package/dist/cjs/internal/runtime.js +0 -59
  226. package/dist/cjs/internal/runtime.js.map +0 -1
  227. package/dist/cjs/internal/sink.js +0 -52
  228. package/dist/cjs/internal/sink.js.map +0 -1
  229. package/dist/cjs/internal/stream.js +0 -208
  230. package/dist/cjs/internal/stream.js.map +0 -1
  231. package/dist/cjs/internal/terminal.js +0 -121
  232. package/dist/cjs/internal/terminal.js.map +0 -1
  233. package/dist/dts/Command.d.ts +0 -116
  234. package/dist/dts/Command.d.ts.map +0 -1
  235. package/dist/dts/CommandExecutor.d.ts +0 -44
  236. package/dist/dts/CommandExecutor.d.ts.map +0 -1
  237. package/dist/dts/Effectify.d.ts +0 -19
  238. package/dist/dts/Effectify.d.ts.map +0 -1
  239. package/dist/dts/Error.d.ts +0 -31
  240. package/dist/dts/Error.d.ts.map +0 -1
  241. package/dist/dts/FileSystem.d.ts +0 -78
  242. package/dist/dts/FileSystem.d.ts.map +0 -1
  243. package/dist/dts/Http/Etag.d.ts +0 -22
  244. package/dist/dts/Http/Etag.d.ts.map +0 -1
  245. package/dist/dts/Http/Multipart.d.ts +0 -35
  246. package/dist/dts/Http/Multipart.d.ts.map +0 -1
  247. package/dist/dts/HttpClient.d.ts +0 -69
  248. package/dist/dts/HttpClient.d.ts.map +0 -1
  249. package/dist/dts/HttpServer.d.ts +0 -109
  250. package/dist/dts/HttpServer.d.ts.map +0 -1
  251. package/dist/dts/KeyValueStore.d.ts +0 -18
  252. package/dist/dts/KeyValueStore.d.ts.map +0 -1
  253. package/dist/dts/Path.d.ts +0 -27
  254. package/dist/dts/Path.d.ts.map +0 -1
  255. package/dist/dts/Runtime.d.ts +0 -27
  256. package/dist/dts/Runtime.d.ts.map +0 -1
  257. package/dist/dts/Sink.d.ts +0 -22
  258. package/dist/dts/Sink.d.ts.map +0 -1
  259. package/dist/dts/Stream.d.ts +0 -79
  260. package/dist/dts/Stream.d.ts.map +0 -1
  261. package/dist/dts/Terminal.d.ts +0 -35
  262. package/dist/dts/Terminal.d.ts.map +0 -1
  263. package/dist/dts/Transferable.d.ts +0 -7
  264. package/dist/dts/Transferable.d.ts.map +0 -1
  265. package/dist/dts/Worker.d.ts +0 -48
  266. package/dist/dts/Worker.d.ts.map +0 -1
  267. package/dist/dts/WorkerRunner.d.ts +0 -30
  268. package/dist/dts/WorkerRunner.d.ts.map +0 -1
  269. package/dist/dts/internal/commandExecutor.d.ts +0 -2
  270. package/dist/dts/internal/commandExecutor.d.ts.map +0 -1
  271. package/dist/dts/internal/error.d.ts +0 -2
  272. package/dist/dts/internal/error.d.ts.map +0 -1
  273. package/dist/dts/internal/fileSystem.d.ts +0 -2
  274. package/dist/dts/internal/fileSystem.d.ts.map +0 -1
  275. package/dist/dts/internal/http/etag.d.ts +0 -2
  276. package/dist/dts/internal/http/etag.d.ts.map +0 -1
  277. package/dist/dts/internal/http/multipart.d.ts +0 -2
  278. package/dist/dts/internal/http/multipart.d.ts.map +0 -1
  279. package/dist/dts/internal/http/nodeClient.d.ts +0 -2
  280. package/dist/dts/internal/http/nodeClient.d.ts.map +0 -1
  281. package/dist/dts/internal/path.d.ts +0 -2
  282. package/dist/dts/internal/path.d.ts.map +0 -1
  283. package/dist/dts/internal/runtime.d.ts +0 -2
  284. package/dist/dts/internal/runtime.d.ts.map +0 -1
  285. package/dist/dts/internal/sink.d.ts +0 -2
  286. package/dist/dts/internal/sink.d.ts.map +0 -1
  287. package/dist/dts/internal/stream.d.ts +0 -2
  288. package/dist/dts/internal/stream.d.ts.map +0 -1
  289. package/dist/dts/internal/terminal.d.ts +0 -2
  290. package/dist/dts/internal/terminal.d.ts.map +0 -1
  291. package/dist/esm/Command.js +0 -90
  292. package/dist/esm/Command.js.map +0 -1
  293. package/dist/esm/CommandExecutor.js +0 -13
  294. package/dist/esm/CommandExecutor.js.map +0 -1
  295. package/dist/esm/Effectify.js +0 -10
  296. package/dist/esm/Effectify.js.map +0 -1
  297. package/dist/esm/Error.js +0 -20
  298. package/dist/esm/Error.js.map +0 -1
  299. package/dist/esm/FileSystem.js +0 -21
  300. package/dist/esm/FileSystem.js.map +0 -1
  301. package/dist/esm/Http/Etag.js +0 -16
  302. package/dist/esm/Http/Etag.js.map +0 -1
  303. package/dist/esm/Http/Multipart.js +0 -21
  304. package/dist/esm/Http/Multipart.js.map +0 -1
  305. package/dist/esm/Http/NodeClient.js.map +0 -1
  306. package/dist/esm/HttpClient.js +0 -69
  307. package/dist/esm/HttpClient.js.map +0 -1
  308. package/dist/esm/HttpServer.js +0 -109
  309. package/dist/esm/HttpServer.js.map +0 -1
  310. package/dist/esm/KeyValueStore.js +0 -14
  311. package/dist/esm/KeyValueStore.js.map +0 -1
  312. package/dist/esm/Path.js +0 -26
  313. package/dist/esm/Path.js.map +0 -1
  314. package/dist/esm/Runtime.js +0 -13
  315. package/dist/esm/Runtime.js.map +0 -1
  316. package/dist/esm/Sink.js +0 -15
  317. package/dist/esm/Sink.js.map +0 -1
  318. package/dist/esm/Stream.js +0 -37
  319. package/dist/esm/Stream.js.map +0 -1
  320. package/dist/esm/Terminal.js +0 -18
  321. package/dist/esm/Terminal.js.map +0 -1
  322. package/dist/esm/Transferable.js +0 -7
  323. package/dist/esm/Transferable.js.map +0 -1
  324. package/dist/esm/Worker.js +0 -36
  325. package/dist/esm/Worker.js.map +0 -1
  326. package/dist/esm/WorkerRunner.js +0 -21
  327. package/dist/esm/WorkerRunner.js.map +0 -1
  328. package/dist/esm/internal/commandExecutor.js +0 -120
  329. package/dist/esm/internal/commandExecutor.js.map +0 -1
  330. package/dist/esm/internal/error.js +0 -37
  331. package/dist/esm/internal/error.js.map +0 -1
  332. package/dist/esm/internal/fileSystem.js +0 -339
  333. package/dist/esm/internal/fileSystem.js.map +0 -1
  334. package/dist/esm/internal/http/etag.js +0 -43
  335. package/dist/esm/internal/http/etag.js.map +0 -1
  336. package/dist/esm/internal/http/multipart.js +0 -85
  337. package/dist/esm/internal/http/multipart.js.map +0 -1
  338. package/dist/esm/internal/http/nodeClient.js.map +0 -1
  339. package/dist/esm/internal/path.js +0 -41
  340. package/dist/esm/internal/path.js.map +0 -1
  341. package/dist/esm/internal/runtime.js +0 -27
  342. package/dist/esm/internal/runtime.js.map +0 -1
  343. package/dist/esm/internal/sink.js +0 -19
  344. package/dist/esm/internal/sink.js.map +0 -1
  345. package/dist/esm/internal/stream.js +0 -170
  346. package/dist/esm/internal/stream.js.map +0 -1
  347. package/dist/esm/internal/terminal.js +0 -89
  348. package/dist/esm/internal/terminal.js.map +0 -1
  349. package/src/Command.ts +0 -119
  350. package/src/CommandExecutor.ts +0 -49
  351. package/src/Effectify.ts +0 -22
  352. package/src/Error.ts +0 -34
  353. package/src/FileSystem.ts +0 -84
  354. package/src/Http/Etag.ts +0 -25
  355. package/src/Http/Multipart.ts +0 -47
  356. package/src/HttpClient.ts +0 -70
  357. package/src/HttpServer.ts +0 -110
  358. package/src/KeyValueStore.ts +0 -27
  359. package/src/Path.ts +0 -33
  360. package/src/Runtime.ts +0 -32
  361. package/src/Sink.ts +0 -31
  362. package/src/Stream.ts +0 -109
  363. package/src/Terminal.ts +0 -42
  364. package/src/Transferable.ts +0 -7
  365. package/src/Worker.ts +0 -65
  366. package/src/WorkerRunner.ts +0 -45
  367. package/src/internal/commandExecutor.ts +0 -203
  368. package/src/internal/error.ts +0 -51
  369. package/src/internal/fileSystem.ts +0 -575
  370. package/src/internal/http/etag.ts +0 -44
  371. package/src/internal/http/multipart.ts +0 -107
  372. package/src/internal/path.ts +0 -58
  373. package/src/internal/runtime.ts +0 -36
  374. package/src/internal/sink.ts +0 -57
  375. package/src/internal/stream.ts +0 -325
  376. package/src/internal/terminal.ts +0 -123
@@ -1,339 +0,0 @@
1
- import { effectify } from "@effect/platform/Effectify";
2
- import * as Error from "@effect/platform/Error";
3
- import * as FileSystem from "@effect/platform/FileSystem";
4
- import * as Effect from "effect/Effect";
5
- import { pipe } from "effect/Function";
6
- import * as Layer from "effect/Layer";
7
- import * as Option from "effect/Option";
8
- import * as Crypto from "node:crypto";
9
- import * as NFS from "node:fs";
10
- import * as OS from "node:os";
11
- import * as Path from "node:path";
12
- import { handleErrnoException } from "./error.js";
13
- const handleBadArgument = method => err => Error.BadArgument({
14
- module: "FileSystem",
15
- method,
16
- message: err.message ?? String(err)
17
- });
18
- // == access
19
- const access = /*#__PURE__*/(() => {
20
- const nodeAccess = /*#__PURE__*/effectify(NFS.access, /*#__PURE__*/handleErrnoException("FileSystem", "access"), /*#__PURE__*/handleBadArgument("access"));
21
- return (path, options) => {
22
- let mode = NFS.constants.F_OK;
23
- if (options?.readable) {
24
- mode |= NFS.constants.R_OK;
25
- }
26
- if (options?.writable) {
27
- mode |= NFS.constants.W_OK;
28
- }
29
- return nodeAccess(path, mode);
30
- };
31
- })();
32
- // == copy
33
- const copy = /*#__PURE__*/(() => {
34
- const nodeCp = /*#__PURE__*/effectify(NFS.cp, /*#__PURE__*/handleErrnoException("FileSystem", "copy"), /*#__PURE__*/handleBadArgument("copy"));
35
- return (fromPath, toPath, options) => nodeCp(fromPath, toPath, {
36
- force: options?.overwrite ?? false,
37
- preserveTimestamps: options?.preserveTimestamps ?? false,
38
- recursive: true
39
- });
40
- })();
41
- // == copyFile
42
- const copyFile = /*#__PURE__*/(() => {
43
- const nodeCopyFile = /*#__PURE__*/effectify(NFS.copyFile, /*#__PURE__*/handleErrnoException("FileSystem", "copyFile"), /*#__PURE__*/handleBadArgument("copyFile"));
44
- return (fromPath, toPath) => nodeCopyFile(fromPath, toPath);
45
- })();
46
- // == chmod
47
- const chmod = /*#__PURE__*/(() => {
48
- const nodeChmod = /*#__PURE__*/effectify(NFS.chmod, /*#__PURE__*/handleErrnoException("FileSystem", "chmod"), /*#__PURE__*/handleBadArgument("chmod"));
49
- return (path, mode) => nodeChmod(path, mode);
50
- })();
51
- // == chown
52
- const chown = /*#__PURE__*/(() => {
53
- const nodeChown = /*#__PURE__*/effectify(NFS.chown, /*#__PURE__*/handleErrnoException("FileSystem", "chown"), /*#__PURE__*/handleBadArgument("chown"));
54
- return (path, uid, gid) => nodeChown(path, uid, gid);
55
- })();
56
- // == link
57
- const link = /*#__PURE__*/(() => {
58
- const nodeLink = /*#__PURE__*/effectify(NFS.link, /*#__PURE__*/handleErrnoException("FileSystem", "link"), /*#__PURE__*/handleBadArgument("link"));
59
- return (existingPath, newPath) => nodeLink(existingPath, newPath);
60
- })();
61
- // == makeDirectory
62
- const makeDirectory = /*#__PURE__*/(() => {
63
- const nodeMkdir = /*#__PURE__*/effectify(NFS.mkdir, /*#__PURE__*/handleErrnoException("FileSystem", "makeDirectory"), /*#__PURE__*/handleBadArgument("makeDirectory"));
64
- return (path, options) => nodeMkdir(path, {
65
- recursive: options?.recursive ?? false,
66
- mode: options?.mode
67
- });
68
- })();
69
- // == makeTempDirectory
70
- const makeTempDirectoryFactory = method => {
71
- const nodeMkdtemp = effectify(NFS.mkdtemp, handleErrnoException("FileSystem", method), handleBadArgument(method));
72
- return options => Effect.suspend(() => {
73
- const prefix = options?.prefix ?? "";
74
- const directory = typeof options?.directory === "string" ? Path.join(options.directory, ".") : OS.tmpdir();
75
- return nodeMkdtemp(prefix ? Path.join(directory, prefix) : directory + "/");
76
- });
77
- };
78
- const makeTempDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempDirectory");
79
- // == remove
80
- const removeFactory = method => {
81
- const nodeRm = effectify(NFS.rm, handleErrnoException("FileSystem", method), handleBadArgument(method));
82
- return (path, options) => nodeRm(path, {
83
- recursive: options?.recursive ?? false
84
- });
85
- };
86
- const remove = /*#__PURE__*/removeFactory("remove");
87
- // == makeTempDirectoryScoped
88
- const makeTempDirectoryScoped = /*#__PURE__*/(() => {
89
- const makeDirectory = /*#__PURE__*/makeTempDirectoryFactory("makeTempDirectoryScoped");
90
- const removeDirectory = /*#__PURE__*/removeFactory("makeTempDirectoryScoped");
91
- return options => Effect.acquireRelease(makeDirectory(options), directory => Effect.orDie(removeDirectory(directory, {
92
- recursive: true
93
- })));
94
- })();
95
- // == open
96
- const openFactory = method => {
97
- const nodeOpen = effectify(NFS.open, handleErrnoException("FileSystem", method), handleBadArgument(method));
98
- const nodeClose = effectify(NFS.close, handleErrnoException("FileSystem", method), handleBadArgument(method));
99
- return (path, options) => pipe(Effect.acquireRelease(nodeOpen(path, options?.flag ?? "r", options?.mode), fd => Effect.orDie(nodeClose(fd))), Effect.map(fd => makeFile(FileSystem.FileDescriptor(fd), options?.flag?.startsWith("a") ?? false)));
100
- };
101
- const open = /*#__PURE__*/openFactory("open");
102
- const makeFile = /*#__PURE__*/(() => {
103
- const nodeReadFactory = method => effectify(NFS.read, handleErrnoException("FileSystem", method), handleBadArgument(method));
104
- const nodeRead = /*#__PURE__*/nodeReadFactory("read");
105
- const nodeReadAlloc = /*#__PURE__*/nodeReadFactory("readAlloc");
106
- const nodeStat = /*#__PURE__*/effectify(NFS.fstat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
107
- const nodeTruncate = /*#__PURE__*/effectify(NFS.ftruncate, /*#__PURE__*/handleErrnoException("FileSystem", "truncate"), /*#__PURE__*/handleBadArgument("truncate"));
108
- const nodeWriteFactory = method => effectify(NFS.write, handleErrnoException("FileSystem", method), handleBadArgument(method));
109
- const nodeWrite = /*#__PURE__*/nodeWriteFactory("write");
110
- const nodeWriteAll = /*#__PURE__*/nodeWriteFactory("writeAll");
111
- class FileImpl {
112
- fd;
113
- append;
114
- [FileSystem.FileTypeId];
115
- semaphore = Effect.unsafeMakeSemaphore(1);
116
- position = 0n;
117
- constructor(fd, append) {
118
- this.fd = fd;
119
- this.append = append;
120
- this[FileSystem.FileTypeId] = FileSystem.FileTypeId;
121
- }
122
- get stat() {
123
- return Effect.map(nodeStat(this.fd), makeFileInfo);
124
- }
125
- seek(offset, from) {
126
- const offsetSize = FileSystem.Size(offset);
127
- return this.semaphore.withPermits(1)(Effect.sync(() => {
128
- if (from === "start") {
129
- this.position = offsetSize;
130
- } else if (from === "current") {
131
- this.position = this.position + offsetSize;
132
- }
133
- return this.position;
134
- }));
135
- }
136
- read(buffer) {
137
- return this.semaphore.withPermits(1)(Effect.map(Effect.suspend(() => nodeRead(this.fd, {
138
- buffer,
139
- position: this.position
140
- })), bytesRead => {
141
- const sizeRead = FileSystem.Size(bytesRead);
142
- this.position = this.position + sizeRead;
143
- return sizeRead;
144
- }));
145
- }
146
- readAlloc(size) {
147
- const sizeNumber = Number(size);
148
- return this.semaphore.withPermits(1)(Effect.flatMap(Effect.sync(() => Buffer.allocUnsafeSlow(sizeNumber)), buffer => Effect.map(nodeReadAlloc(this.fd, {
149
- buffer,
150
- position: this.position
151
- }), bytesRead => {
152
- if (bytesRead === 0) {
153
- return Option.none();
154
- }
155
- this.position = this.position + BigInt(bytesRead);
156
- if (bytesRead === sizeNumber) {
157
- return Option.some(buffer);
158
- }
159
- const dst = Buffer.allocUnsafeSlow(bytesRead);
160
- buffer.copy(dst, 0, 0, bytesRead);
161
- return Option.some(dst);
162
- })));
163
- }
164
- truncate(length) {
165
- return this.semaphore.withPermits(1)(Effect.map(nodeTruncate(this.fd, length ? Number(length) : undefined), () => {
166
- if (!this.append) {
167
- const len = BigInt(length ?? 0);
168
- if (this.position > len) {
169
- this.position = len;
170
- }
171
- }
172
- }));
173
- }
174
- write(buffer) {
175
- return this.semaphore.withPermits(1)(Effect.map(Effect.suspend(() => nodeWrite(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))), bytesWritten => {
176
- const sizeWritten = FileSystem.Size(bytesWritten);
177
- if (!this.append) {
178
- this.position = this.position + sizeWritten;
179
- }
180
- return sizeWritten;
181
- }));
182
- }
183
- writeAllChunk(buffer) {
184
- return Effect.flatMap(Effect.suspend(() => nodeWriteAll(this.fd, buffer, undefined, undefined, this.append ? undefined : Number(this.position))), bytesWritten => {
185
- if (bytesWritten === 0) {
186
- return Effect.fail(Error.SystemError({
187
- module: "FileSystem",
188
- method: "writeAll",
189
- reason: "WriteZero",
190
- pathOrDescriptor: this.fd,
191
- message: "write returned 0 bytes written"
192
- }));
193
- }
194
- if (!this.append) {
195
- this.position = this.position + BigInt(bytesWritten);
196
- }
197
- return bytesWritten < buffer.length ? this.writeAllChunk(buffer.subarray(bytesWritten)) : Effect.unit;
198
- });
199
- }
200
- writeAll(buffer) {
201
- return this.semaphore.withPermits(1)(this.writeAllChunk(buffer));
202
- }
203
- }
204
- return (fd, append) => new FileImpl(fd, append);
205
- })();
206
- // == makeTempFile
207
- const makeTempFileFactory = method => {
208
- const makeDirectory = makeTempDirectoryFactory(method);
209
- const open = openFactory(method);
210
- const randomHexString = bytes => Effect.sync(() => Crypto.randomBytes(bytes).toString("hex"));
211
- return options => pipe(Effect.zip(makeDirectory(options), randomHexString(6)), Effect.map(([directory, random]) => Path.join(directory, random)), Effect.tap(path => Effect.scoped(open(path, {
212
- flag: "w+"
213
- }))));
214
- };
215
- const makeTempFile = /*#__PURE__*/makeTempFileFactory("makeTempFile");
216
- // == makeTempFileScoped
217
- const makeTempFileScoped = /*#__PURE__*/(() => {
218
- const makeFile = /*#__PURE__*/makeTempFileFactory("makeTempFileScoped");
219
- const removeFile = /*#__PURE__*/removeFactory("makeTempFileScoped");
220
- return options => Effect.acquireRelease(makeFile(options), file => Effect.orDie(removeFile(file)));
221
- })();
222
- // == readDirectory
223
- const readDirectory = /*#__PURE__*/(() => {
224
- const nodeReadDirectory = /*#__PURE__*/effectify(NFS.readdir, /*#__PURE__*/handleErrnoException("FileSystem", "readDirectory"), /*#__PURE__*/handleBadArgument("readDirectory"));
225
- return (path, options) => nodeReadDirectory(path, options);
226
- })();
227
- // == readFile
228
- const readFile = path => Effect.async((resume, signal) => {
229
- try {
230
- NFS.readFile(path, {
231
- signal
232
- }, (err, data) => {
233
- if (err) {
234
- resume(Effect.fail(handleErrnoException("FileSystem", "readFile")(err, [path])));
235
- } else {
236
- resume(Effect.succeed(data));
237
- }
238
- });
239
- } catch (err) {
240
- resume(Effect.fail(handleBadArgument("readFile")(err)));
241
- }
242
- });
243
- // == readLink
244
- const readLink = /*#__PURE__*/(() => {
245
- const nodeReadLink = /*#__PURE__*/effectify(NFS.readlink, /*#__PURE__*/handleErrnoException("FileSystem", "readLink"), /*#__PURE__*/handleBadArgument("readLink"));
246
- return path => nodeReadLink(path);
247
- })();
248
- // == realPath
249
- const realPath = /*#__PURE__*/(() => {
250
- const nodeRealPath = /*#__PURE__*/effectify(NFS.realpath, /*#__PURE__*/handleErrnoException("FileSystem", "realPath"), /*#__PURE__*/handleBadArgument("realPath"));
251
- return path => nodeRealPath(path);
252
- })();
253
- // == rename
254
- const rename = /*#__PURE__*/(() => {
255
- const nodeRename = /*#__PURE__*/effectify(NFS.rename, /*#__PURE__*/handleErrnoException("FileSystem", "rename"), /*#__PURE__*/handleBadArgument("rename"));
256
- return (oldPath, newPath) => nodeRename(oldPath, newPath);
257
- })();
258
- // == stat
259
- const makeFileInfo = stat => ({
260
- type: stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : stat.isBlockDevice() ? "BlockDevice" : stat.isCharacterDevice() ? "CharacterDevice" : stat.isFIFO() ? "FIFO" : stat.isSocket() ? "Socket" : "Unknown",
261
- mtime: Option.fromNullable(stat.mtime),
262
- atime: Option.fromNullable(stat.atime),
263
- birthtime: Option.fromNullable(stat.birthtime),
264
- dev: stat.dev,
265
- rdev: Option.fromNullable(stat.rdev),
266
- ino: Option.fromNullable(stat.ino),
267
- mode: stat.mode,
268
- nlink: Option.fromNullable(stat.nlink),
269
- uid: Option.fromNullable(stat.uid),
270
- gid: Option.fromNullable(stat.gid),
271
- size: FileSystem.Size(stat.size),
272
- blksize: Option.fromNullable(FileSystem.Size(stat.blksize)),
273
- blocks: Option.fromNullable(stat.blocks)
274
- });
275
- const stat = /*#__PURE__*/(() => {
276
- const nodeStat = /*#__PURE__*/effectify(NFS.stat, /*#__PURE__*/handleErrnoException("FileSystem", "stat"), /*#__PURE__*/handleBadArgument("stat"));
277
- return path => Effect.map(nodeStat(path), makeFileInfo);
278
- })();
279
- // == symlink
280
- const symlink = /*#__PURE__*/(() => {
281
- const nodeSymlink = /*#__PURE__*/effectify(NFS.symlink, /*#__PURE__*/handleErrnoException("FileSystem", "symlink"), /*#__PURE__*/handleBadArgument("symlink"));
282
- return (target, path) => nodeSymlink(target, path);
283
- })();
284
- // == truncate
285
- const truncate = /*#__PURE__*/(() => {
286
- const nodeTruncate = /*#__PURE__*/effectify(NFS.truncate, /*#__PURE__*/handleErrnoException("FileSystem", "truncate"), /*#__PURE__*/handleBadArgument("truncate"));
287
- return (path, length) => nodeTruncate(path, length !== undefined ? Number(length) : undefined);
288
- })();
289
- // == utimes
290
- const utimes = /*#__PURE__*/(() => {
291
- const nodeUtimes = /*#__PURE__*/effectify(NFS.utimes, /*#__PURE__*/handleErrnoException("FileSystem", "utime"), /*#__PURE__*/handleBadArgument("utime"));
292
- return (path, atime, mtime) => nodeUtimes(path, atime, mtime);
293
- })();
294
- // == writeFile
295
- const writeFile = (path, data, options) => Effect.async((resume, signal) => {
296
- try {
297
- NFS.writeFile(path, data, {
298
- signal,
299
- flag: options?.flag,
300
- mode: options?.mode
301
- }, err => {
302
- if (err) {
303
- resume(Effect.fail(handleErrnoException("FileSystem", "writeFile")(err, [path])));
304
- } else {
305
- resume(Effect.unit);
306
- }
307
- });
308
- } catch (err) {
309
- resume(Effect.fail(handleBadArgument("writeFile")(err)));
310
- }
311
- });
312
- const fileSystemImpl = /*#__PURE__*/FileSystem.make({
313
- access,
314
- chmod,
315
- chown,
316
- copy,
317
- copyFile,
318
- link,
319
- makeDirectory,
320
- makeTempDirectory,
321
- makeTempDirectoryScoped,
322
- makeTempFile,
323
- makeTempFileScoped,
324
- open,
325
- readDirectory,
326
- readFile,
327
- readLink,
328
- realPath,
329
- remove,
330
- rename,
331
- stat,
332
- symlink,
333
- truncate,
334
- utimes,
335
- writeFile
336
- });
337
- /** @internal */
338
- export const layer = /*#__PURE__*/Layer.succeed(FileSystem.FileSystem, fileSystemImpl);
339
- //# sourceMappingURL=fileSystem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileSystem.js","names":["effectify","Error","FileSystem","Effect","pipe","Layer","Option","Crypto","NFS","OS","Path","handleErrnoException","handleBadArgument","method","err","BadArgument","module","message","String","access","nodeAccess","path","options","mode","constants","F_OK","readable","R_OK","writable","W_OK","copy","nodeCp","cp","fromPath","toPath","force","overwrite","preserveTimestamps","recursive","copyFile","nodeCopyFile","chmod","nodeChmod","chown","nodeChown","uid","gid","link","nodeLink","existingPath","newPath","makeDirectory","nodeMkdir","mkdir","makeTempDirectoryFactory","nodeMkdtemp","mkdtemp","suspend","prefix","directory","join","tmpdir","makeTempDirectory","removeFactory","nodeRm","rm","remove","makeTempDirectoryScoped","removeDirectory","acquireRelease","orDie","openFactory","nodeOpen","open","nodeClose","close","flag","fd","map","makeFile","FileDescriptor","startsWith","nodeReadFactory","read","nodeRead","nodeReadAlloc","nodeStat","fstat","nodeTruncate","ftruncate","nodeWriteFactory","write","nodeWrite","nodeWriteAll","FileImpl","append","FileTypeId","semaphore","unsafeMakeSemaphore","position","constructor","stat","makeFileInfo","seek","offset","from","offsetSize","Size","withPermits","sync","buffer","bytesRead","sizeRead","readAlloc","size","sizeNumber","Number","flatMap","Buffer","allocUnsafeSlow","none","BigInt","some","dst","truncate","length","undefined","len","bytesWritten","sizeWritten","writeAllChunk","fail","SystemError","reason","pathOrDescriptor","subarray","unit","writeAll","makeTempFileFactory","randomHexString","bytes","randomBytes","toString","zip","random","tap","scoped","makeTempFile","makeTempFileScoped","removeFile","file","readDirectory","nodeReadDirectory","readdir","readFile","async","resume","signal","data","succeed","readLink","nodeReadLink","readlink","realPath","nodeRealPath","realpath","rename","nodeRename","oldPath","type","isFile","isDirectory","isSymbolicLink","isBlockDevice","isCharacterDevice","isFIFO","isSocket","mtime","fromNullable","atime","birthtime","dev","rdev","ino","nlink","blksize","blocks","symlink","nodeSymlink","target","utimes","nodeUtimes","writeFile","fileSystemImpl","make","layer"],"sources":["../../../src/internal/fileSystem.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import * as Etag from "@effect/platform/Http/Etag";
2
- import * as Effect from "effect/Effect";
3
- import * as Layer from "effect/Layer";
4
- const fromFileInfo = info => {
5
- const mtime = info.mtime._tag === "Some" ? info.mtime.value.getTime().toString(16) : "0";
6
- return `${info.size.toString(16)}-${mtime}`;
7
- };
8
- const fromFileWeb = file => {
9
- return `${file.size.toString(16)}-${file.lastModified.toString(16)}`;
10
- };
11
- /** @internal */
12
- export const layer = /*#__PURE__*/Layer.succeed(Etag.Generator, /*#__PURE__*/Etag.Generator.of({
13
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
14
- fromFileInfo(info) {
15
- return Effect.sync(() => ({
16
- _tag: "Strong",
17
- value: fromFileInfo(info)
18
- }));
19
- },
20
- fromFileWeb(file) {
21
- return Effect.sync(() => ({
22
- _tag: "Strong",
23
- value: fromFileWeb(file)
24
- }));
25
- }
26
- }));
27
- /** @internal */
28
- export const layerWeak = /*#__PURE__*/Layer.succeed(Etag.Generator, /*#__PURE__*/Etag.Generator.of({
29
- [Etag.GeneratorTypeId]: Etag.GeneratorTypeId,
30
- fromFileInfo(info) {
31
- return Effect.sync(() => ({
32
- _tag: "Weak",
33
- value: fromFileInfo(info)
34
- }));
35
- },
36
- fromFileWeb(file) {
37
- return Effect.sync(() => ({
38
- _tag: "Weak",
39
- value: fromFileWeb(file)
40
- }));
41
- }
42
- }));
43
- //# sourceMappingURL=etag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"etag.js","names":["Etag","Effect","Layer","fromFileInfo","info","mtime","_tag","value","getTime","toString","size","fromFileWeb","file","lastModified","layer","succeed","Generator","of","GeneratorTypeId","sync","layerWeak"],"sources":["../../../../src/internal/http/etag.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,KAAKA,IAAI,MAAM,4BAA4B;AAClD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,MAAMC,YAAY,GAAIC,IAA0B,IAAI;EAClD,MAAMC,KAAK,GAAGD,IAAI,CAACC,KAAK,CAACC,IAAI,KAAK,MAAM,GACpCF,IAAI,CAACC,KAAK,CAACE,KAAK,CAACC,OAAO,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,GACvC,GAAG;EACP,OAAO,GAAGL,IAAI,CAACM,IAAI,CAACD,QAAQ,CAAC,EAAE,CAAC,IAAIJ,KAAK,EAAE;AAC7C,CAAC;AAED,MAAMM,WAAW,GAAIC,IAAwB,IAAI;EAC/C,OAAO,GAAGA,IAAI,CAACF,IAAI,CAACD,QAAQ,CAAC,EAAE,CAAC,IAAIG,IAAI,CAACC,YAAY,CAACJ,QAAQ,CAAC,EAAE,CAAC,EAAE;AACtE,CAAC;AAED;AACA,OAAO,MAAMK,KAAK,gBAAGZ,KAAK,CAACa,OAAO,CAChCf,IAAI,CAACgB,SAAS,eACdhB,IAAI,CAACgB,SAAS,CAACC,EAAE,CAAC;EAChB,CAACjB,IAAI,CAACkB,eAAe,GAAGlB,IAAI,CAACkB,eAAe;EAC5Cf,YAAYA,CAACC,IAAI;IACf,OAAOH,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,QAAQ;MAAEC,KAAK,EAAEJ,YAAY,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EAC3E,CAAC;EACDO,WAAWA,CAACC,IAAI;IACd,OAAOX,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,QAAQ;MAAEC,KAAK,EAAEI,WAAW,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EAC1E;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMQ,SAAS,gBAAGlB,KAAK,CAACa,OAAO,CACpCf,IAAI,CAACgB,SAAS,eACdhB,IAAI,CAACgB,SAAS,CAACC,EAAE,CAAC;EAChB,CAACjB,IAAI,CAACkB,eAAe,GAAGlB,IAAI,CAACkB,eAAe;EAC5Cf,YAAYA,CAACC,IAAI;IACf,OAAOH,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,MAAM;MAAEC,KAAK,EAAEJ,YAAY,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EACzE,CAAC;EACDO,WAAWA,CAACC,IAAI;IACd,OAAOX,MAAM,CAACkB,IAAI,CAAC,OAAO;MAAEb,IAAI,EAAE,MAAM;MAAEC,KAAK,EAAEI,WAAW,CAACC,IAAI;IAAC,CAAE,CAAC,CAAC;EACxE;CACD,CAAC,CACH"}
@@ -1,85 +0,0 @@
1
- import * as Multipart from "@effect/platform/Http/Multipart";
2
- import * as Effect from "effect/Effect";
3
- import { pipe } from "effect/Function";
4
- import * as Stream from "effect/Stream";
5
- import { decodeField } from "multipasta";
6
- import * as MP from "multipasta/node";
7
- import * as NFS from "node:fs";
8
- import * as NodeStreamP from "node:stream/promises";
9
- import * as NodeStream from "../stream.js";
10
- /** @internal */
11
- export const stream = (source, headers) => pipe(Multipart.makeConfig(headers), Effect.map(config => NodeStream.fromReadable(() => {
12
- const parser = MP.make(config);
13
- source.pipe(parser);
14
- return parser;
15
- }, error => convertError(error))), Stream.unwrap, Stream.map(convertPart));
16
- /** @internal */
17
- export const persisted = (source, headers) => Multipart.toPersisted(stream(source, headers), (path, file) => Effect.tryPromise({
18
- try: signal => NodeStreamP.pipeline(file.file, NFS.createWriteStream(path), {
19
- signal
20
- }),
21
- catch: error => Multipart.MultipartError("InternalError", error)
22
- }));
23
- const convertPart = part => part._tag === "Field" ? new FieldImpl(part.info, part.value) : new FileImpl(part);
24
- class FieldImpl {
25
- [Multipart.TypeId];
26
- _tag = "Field";
27
- key;
28
- contentType;
29
- value;
30
- constructor(info, value) {
31
- this[Multipart.TypeId] = Multipart.TypeId;
32
- this.key = info.name;
33
- this.contentType = info.contentType;
34
- this.value = decodeField(info, value);
35
- }
36
- }
37
- class FileImpl {
38
- file;
39
- _tag = "File";
40
- [Multipart.TypeId];
41
- key;
42
- name;
43
- contentType;
44
- content;
45
- constructor(file) {
46
- this.file = file;
47
- this[Multipart.TypeId] = Multipart.TypeId;
48
- this.key = file.info.name;
49
- this.name = file.filename ?? file.info.name;
50
- this.contentType = file.info.contentType;
51
- this.content = NodeStream.fromReadable(() => file, error => Multipart.MultipartError("InternalError", error));
52
- }
53
- }
54
- /** @internal */
55
- export const fileToReadable = file => file.file;
56
- function convertError(error) {
57
- switch (error._tag) {
58
- case "ReachedLimit":
59
- {
60
- switch (error.limit) {
61
- case "MaxParts":
62
- {
63
- return Multipart.MultipartError("TooManyParts", error);
64
- }
65
- case "MaxFieldSize":
66
- {
67
- return Multipart.MultipartError("FieldTooLarge", error);
68
- }
69
- case "MaxPartSize":
70
- {
71
- return Multipart.MultipartError("FileTooLarge", error);
72
- }
73
- case "MaxTotalSize":
74
- {
75
- return Multipart.MultipartError("BodyTooLarge", error);
76
- }
77
- }
78
- }
79
- default:
80
- {
81
- return Multipart.MultipartError("Parse", error);
82
- }
83
- }
84
- }
85
- //# sourceMappingURL=multipart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multipart.js","names":["Multipart","Effect","pipe","Stream","decodeField","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","map","config","fromReadable","parser","make","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","MultipartError","part","_tag","FieldImpl","info","value","FileImpl","TypeId","key","contentType","constructor","name","content","filename","fileToReadable","limit"],"sources":["../../../../src/internal/http/multipart.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodeClient.js","names":["Client","Error","ClientResponse","UrlParams","Context","Effect","pipe","Layer","Stream","Http","Https","Readable","pipeline","NodeSink","IncomingMessageImpl","HttpAgentTypeId","Symbol","for","HttpAgent","Tag","makeAgent","options","map","all","acquireRelease","sync","Agent","agent","destroy","http","https","makeAgentLayer","scoped","agentLayer","fromAgent","makeDefault","request","flatMap","makeUrl","url","urlParams","_","RequestError","reason","error","suspend","controller","AbortController","nodeRequest","protocol","method","headers","signal","zipRight","sendBody","body","waitForResponse","concurrent","onInterrupt","abort","ClientResponseImpl","_tag","end","waitForFinish","response","Response","formData","forEach","value","key","setHeader","tryPromise","try","fromWeb","catch","run","mapError","stream","fromWritable","async","resume","onError","fail","on","onResponse","off","succeed","once","onFinish","unit","TypeId","constructor","source","ResponseError","status","statusCode","init","globalThis","Headers","statusMessage","statusText","toWeb","toString","toJSON","make","layerWithoutAgent","effect","layer","provide"],"sources":["../../../../src/internal/http/nodeClient.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { BadArgument } from "@effect/platform/Error";
2
- import { Path } from "@effect/platform/Path";
3
- import * as Effect from "effect/Effect";
4
- import * as Layer from "effect/Layer";
5
- import * as NodePath from "node:path";
6
- import * as NodeUrl from "node:url";
7
- const fromFileUrl = url => Effect.try({
8
- try: () => NodeUrl.fileURLToPath(url),
9
- catch: error => BadArgument({
10
- module: "Path",
11
- method: "fromFileUrl",
12
- message: `${error}`
13
- })
14
- });
15
- const toFileUrl = path => Effect.try({
16
- try: () => NodeUrl.pathToFileURL(path),
17
- catch: error => BadArgument({
18
- module: "Path",
19
- method: "toFileUrl",
20
- message: `${error}`
21
- })
22
- });
23
- /** @internal */
24
- export const layerPosix = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
25
- ...NodePath.posix,
26
- fromFileUrl,
27
- toFileUrl
28
- }));
29
- /** @internal */
30
- export const layerWin32 = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
31
- ...NodePath.win32,
32
- fromFileUrl,
33
- toFileUrl
34
- }));
35
- /** @internal */
36
- export const layer = /*#__PURE__*/Layer.succeed(Path, /*#__PURE__*/Path.of({
37
- ...NodePath,
38
- fromFileUrl,
39
- toFileUrl
40
- }));
41
- //# sourceMappingURL=path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path.js","names":["BadArgument","Path","Effect","Layer","NodePath","NodeUrl","fromFileUrl","url","try","fileURLToPath","catch","error","module","method","message","toFileUrl","path","pathToFileURL","layerPosix","succeed","of","posix","layerWin32","win32","layer"],"sources":["../../../src/internal/path.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,wBAAwB;AACpD,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,WAAW;AACrC,OAAO,KAAKC,OAAO,MAAM,UAAU;AAEnC,MAAMC,WAAW,GAAIC,GAAQ,IAC3BL,MAAM,CAACM,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACI,aAAa,CAACF,GAAG,CAAC;EACrCG,KAAK,EAAGC,KAAK,IACXX,WAAW,CAAC;IACVY,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,aAAa;IACrBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ,MAAMI,SAAS,GAAIC,IAAY,IAC7Bd,MAAM,CAACM,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMH,OAAO,CAACY,aAAa,CAACD,IAAI,CAAC;EACtCN,KAAK,EAAGC,KAAK,IACXX,WAAW,CAAC;IACVY,MAAM,EAAE,MAAM;IACdC,MAAM,EAAE,WAAW;IACnBC,OAAO,EAAE,GAAGH,KAAK;GAClB;CACJ,CAAC;AAEJ;AACA,OAAO,MAAMO,UAAU,gBAAGf,KAAK,CAACgB,OAAO,CACrClB,IAAI,eACJA,IAAI,CAACmB,EAAE,CAAC;EACN,GAAGhB,QAAQ,CAACiB,KAAK;EACjBf,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMO,UAAU,gBAAGnB,KAAK,CAACgB,OAAO,CACrClB,IAAI,eACJA,IAAI,CAACmB,EAAE,CAAC;EACN,GAAGhB,QAAQ,CAACmB,KAAK;EACjBjB,WAAW;EACXS;CACD,CAAC,CACH;AAED;AACA,OAAO,MAAMS,KAAK,gBAAGrB,KAAK,CAACgB,OAAO,CAChClB,IAAI,eACJA,IAAI,CAACmB,EAAE,CAAC;EACN,GAAGhB,QAAQ;EACXE,WAAW;EACXS;CACD,CAAC,CACH"}
@@ -1,27 +0,0 @@
1
- import { defaultTeardown } from "@effect/platform/Runtime";
2
- import * as Cause from "effect/Cause";
3
- import * as Effect from "effect/Effect";
4
- /** @internal */
5
- export const runMain = (effect, teardown = defaultTeardown) => {
6
- const keepAlive = setInterval(() => {}, 2 ** 31 - 1);
7
- const fiber = Effect.runFork(Effect.tapErrorCause(effect, cause => {
8
- if (Cause.isInterruptedOnly(cause)) {
9
- return Effect.unit;
10
- }
11
- return Effect.logError(cause);
12
- }));
13
- fiber.addObserver(exit => {
14
- clearInterval(keepAlive);
15
- teardown(exit, code => {
16
- process.exit(code);
17
- });
18
- });
19
- function onSigint() {
20
- process.removeListener("SIGINT", onSigint);
21
- process.removeListener("SIGTERM", onSigint);
22
- fiber.unsafeInterruptAsFork(fiber.id());
23
- }
24
- process.once("SIGINT", onSigint);
25
- process.once("SIGTERM", onSigint);
26
- };
27
- //# sourceMappingURL=runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","names":["defaultTeardown","Cause","Effect","runMain","effect","teardown","keepAlive","setInterval","fiber","runFork","tapErrorCause","cause","isInterruptedOnly","unit","logError","addObserver","exit","clearInterval","code","process","onSigint","removeListener","unsafeInterruptAsFork","id","once"],"sources":["../../../src/internal/runtime.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAe,QAAsB,0BAA0B;AACxE,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC;AACA,OAAO,MAAMC,OAAO,GAAYA,CAC9BC,MAAkC,EAClCC,QAAQ,GAAGL,eAAe,KACxB;EACF,MAAMM,SAAS,GAAGC,WAAW,CAAC,MAAK,CAAE,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;EAEpD,MAAMC,KAAK,GAAGN,MAAM,CAACO,OAAO,CAC1BP,MAAM,CAACQ,aAAa,CAACN,MAAM,EAAGO,KAAK,IAAI;IACrC,IAAIV,KAAK,CAACW,iBAAiB,CAACD,KAAK,CAAC,EAAE;MAClC,OAAOT,MAAM,CAACW,IAAI;IACpB;IACA,OAAOX,MAAM,CAACY,QAAQ,CAACH,KAAK,CAAC;EAC/B,CAAC,CAAC,CACH;EAEDH,KAAK,CAACO,WAAW,CAAEC,IAAI,IAAI;IACzBC,aAAa,CAACX,SAAS,CAAC;IACxBD,QAAQ,CAACW,IAAI,EAAGE,IAAI,IAAI;MACtBC,OAAO,CAACH,IAAI,CAACE,IAAI,CAAC;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASE,QAAQA,CAAA;IACfD,OAAO,CAACE,cAAc,CAAC,QAAQ,EAAED,QAAQ,CAAC;IAC1CD,OAAO,CAACE,cAAc,CAAC,SAAS,EAAED,QAAQ,CAAC;IAC3CZ,KAAK,CAACc,qBAAqB,CAACd,KAAK,CAACe,EAAE,EAAE,CAAC;EACzC;EAEAJ,OAAO,CAACK,IAAI,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;EAChCD,OAAO,CAACK,IAAI,CAAC,SAAS,EAAEJ,QAAQ,CAAC;AACnC,CAAC"}
@@ -1,19 +0,0 @@
1
- import * as Channel from "effect/Channel";
2
- import * as Deferred from "effect/Deferred";
3
- import * as Effect from "effect/Effect";
4
- import * as Sink from "effect/Sink";
5
- import { writeInput } from "./stream.js";
6
- /** @internal */
7
- export const fromWritable = (evaluate, onError, options) => Sink.fromChannel(fromWritableChannel(evaluate, onError, options));
8
- /** @internal */
9
- export const fromWritableChannel = (writable, onError, options) => Channel.flatMap(Effect.zip(Effect.sync(() => writable()), Deferred.make()), ([writable, deferred]) => Channel.embedInput(writableOutput(writable, deferred, onError), writeInput(writable, cause => Deferred.failCause(deferred, cause), options, Deferred.complete(deferred, Effect.unit))));
10
- const writableOutput = (writable, deferred, onError) => Effect.suspend(() => {
11
- function handleError(err) {
12
- Deferred.unsafeDone(deferred, Effect.fail(onError(err)));
13
- }
14
- writable.on("error", handleError);
15
- return Effect.ensuring(Deferred.await(deferred), Effect.sync(() => {
16
- writable.removeListener("error", handleError);
17
- }));
18
- });
19
- //# sourceMappingURL=sink.js.map