@smthrs/platform-bun 0.0.0-stage → 1.0.0-rc.3

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 (384) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/LICENSE +21 -0
  3. package/README.md +113 -2
  4. package/dist/cjs/BunFileSystem.d.ts +44 -0
  5. package/dist/cjs/BunFileSystem.d.ts.map +1 -0
  6. package/dist/cjs/BunFileSystem.js +38 -0
  7. package/dist/cjs/BunFileSystem.js.map +7 -0
  8. package/dist/cjs/BunHost.d.ts +205 -0
  9. package/dist/cjs/BunHost.d.ts.map +1 -0
  10. package/dist/cjs/BunHost.js +147 -0
  11. package/dist/cjs/BunHost.js.map +7 -0
  12. package/dist/cjs/index.d.ts +26 -0
  13. package/dist/cjs/index.d.ts.map +1 -0
  14. package/dist/cjs/index.js +37 -0
  15. package/dist/cjs/index.js.map +7 -0
  16. package/dist/cjs/package.json +1 -0
  17. package/dist/esm/BunFileSystem.d.ts +44 -0
  18. package/dist/esm/BunFileSystem.d.ts.map +1 -0
  19. package/dist/esm/BunFileSystem.js +35 -0
  20. package/dist/esm/BunFileSystem.js.map +1 -0
  21. package/dist/esm/BunHost.d.ts +205 -0
  22. package/dist/esm/BunHost.d.ts.map +1 -0
  23. package/dist/esm/BunHost.js +242 -0
  24. package/dist/esm/BunHost.js.map +1 -0
  25. package/dist/esm/index.d.ts +26 -0
  26. package/dist/esm/index.d.ts.map +1 -0
  27. package/dist/esm/index.js +26 -0
  28. package/dist/esm/index.js.map +1 -0
  29. package/dist/vendor/adapters.json +2707 -0
  30. package/dist/vendor/bun/BunChildProcessSpawner.d.ts +7 -0
  31. package/dist/vendor/bun/BunChildProcessSpawner.js +14 -0
  32. package/dist/vendor/bun/BunClusterHttp.d.ts +83 -0
  33. package/dist/vendor/bun/BunClusterHttp.js +39 -0
  34. package/dist/vendor/bun/BunClusterSocket.d.ts +65 -0
  35. package/dist/vendor/bun/BunClusterSocket.js +22 -0
  36. package/dist/vendor/bun/BunCrypto.d.ts +10 -0
  37. package/dist/vendor/bun/BunCrypto.js +8 -0
  38. package/dist/vendor/bun/BunFileSystem.d.ts +10 -0
  39. package/dist/vendor/bun/BunFileSystem.js +9 -0
  40. package/dist/vendor/bun/BunHttpClient.d.ts +9 -0
  41. package/dist/vendor/bun/BunHttpClient.js +1 -0
  42. package/dist/vendor/bun/BunHttpPlatform.d.ts +10 -0
  43. package/dist/vendor/bun/BunHttpPlatform.js +11 -0
  44. package/dist/vendor/bun/BunHttpServer.d.ts +142 -0
  45. package/dist/vendor/bun/BunHttpServer.js +38 -0
  46. package/dist/vendor/bun/BunHttpServerRequest.d.ts +18 -0
  47. package/dist/vendor/bun/BunHttpServerRequest.js +7 -0
  48. package/dist/vendor/bun/BunMultipart.d.ts +31 -0
  49. package/dist/vendor/bun/BunMultipart.js +12 -0
  50. package/dist/vendor/bun/BunPath.d.ts +24 -0
  51. package/dist/vendor/bun/BunPath.js +12 -0
  52. package/dist/vendor/bun/BunRedis.d.ts +49 -0
  53. package/dist/vendor/bun/BunRedis.js +11 -0
  54. package/dist/vendor/bun/BunRuntime.d.ts +85 -0
  55. package/dist/vendor/bun/BunRuntime.js +8 -0
  56. package/dist/vendor/bun/BunServices.d.ts +34 -0
  57. package/dist/vendor/bun/BunServices.js +23 -0
  58. package/dist/vendor/bun/BunSink.d.ts +8 -0
  59. package/dist/vendor/bun/BunSink.js +12 -0
  60. package/dist/vendor/bun/BunSocket.d.ts +40 -0
  61. package/dist/vendor/bun/BunSocket.js +29 -0
  62. package/dist/vendor/bun/BunSocketServer.d.ts +8 -0
  63. package/dist/vendor/bun/BunSocketServer.js +21 -0
  64. package/dist/vendor/bun/BunStdio.d.ts +11 -0
  65. package/dist/vendor/bun/BunStdio.js +10 -0
  66. package/dist/vendor/bun/BunStream.d.ts +19 -0
  67. package/dist/vendor/bun/BunStream.js +30 -0
  68. package/dist/vendor/bun/BunTerminal.d.ts +21 -0
  69. package/dist/vendor/bun/BunTerminal.js +10 -0
  70. package/dist/vendor/bun/BunWorker.d.ts +20 -0
  71. package/dist/vendor/bun/BunWorker.js +9 -0
  72. package/dist/vendor/bun/BunWorkerRunner.d.ts +12 -0
  73. package/dist/vendor/bun/BunWorkerRunner.js +7 -0
  74. package/dist/vendor/bun/LICENSE +21 -0
  75. package/dist/vendor/bun/index.d.ts +92 -0
  76. package/dist/vendor/bun/index.js +107 -0
  77. package/dist/vendor/chunk-2KZ2IFIZ.js +71 -0
  78. package/dist/vendor/chunk-2Y7WC4KU.js +109 -0
  79. package/dist/vendor/chunk-3GR5VZ2M.js +118 -0
  80. package/dist/vendor/chunk-3QW2PNUY.js +7 -0
  81. package/dist/vendor/chunk-42QKY6T6.js +40 -0
  82. package/dist/vendor/chunk-54RLBMTZ.js +61 -0
  83. package/dist/vendor/chunk-5U3MC37H.js +63 -0
  84. package/dist/vendor/chunk-5ZMHBXIK.js +55 -0
  85. package/dist/vendor/chunk-64Q2B7BA.js +34 -0
  86. package/dist/vendor/chunk-6CRG556Y.js +15 -0
  87. package/dist/vendor/chunk-6HWHSZL3.js +34 -0
  88. package/dist/vendor/chunk-6J25AYCI.js +93 -0
  89. package/dist/vendor/chunk-6ME2W7TF.js +28 -0
  90. package/dist/vendor/chunk-6TZ7LQAC.js +18 -0
  91. package/dist/vendor/chunk-B3FZ67QU.js +59 -0
  92. package/dist/vendor/chunk-BBLQEPNJ.js +22 -0
  93. package/dist/vendor/chunk-BKTBUBQY.js +437 -0
  94. package/dist/vendor/chunk-CIB6JB2Y.js +63 -0
  95. package/dist/vendor/chunk-DS7GF46S.js +34 -0
  96. package/dist/vendor/chunk-DVOAHXPG.js +104 -0
  97. package/dist/vendor/chunk-DWSHTSVX.js +229 -0
  98. package/dist/vendor/chunk-EGBNVEEW.js +14 -0
  99. package/dist/vendor/chunk-EHDTBBPL.js +45 -0
  100. package/dist/vendor/chunk-EZWY45HP.js +18 -0
  101. package/dist/vendor/chunk-F7VENFF4.js +507 -0
  102. package/dist/vendor/chunk-GXCHI7BM.js +131 -0
  103. package/dist/vendor/chunk-HX4AXITW.js +65 -0
  104. package/dist/vendor/chunk-IIJ52ZU6.js +20 -0
  105. package/dist/vendor/chunk-IR7WG7SA.js +564 -0
  106. package/dist/vendor/chunk-J7A4CZDO.js +92 -0
  107. package/dist/vendor/chunk-JG5TTWPT.js +85 -0
  108. package/dist/vendor/chunk-JJ24ARBQ.js +394 -0
  109. package/dist/vendor/chunk-JUVIPOOR.js +18 -0
  110. package/dist/vendor/chunk-KCLEGTEN.js +86 -0
  111. package/dist/vendor/chunk-KOZMM5PZ.js +426 -0
  112. package/dist/vendor/chunk-KUUXSID7.js +18 -0
  113. package/dist/vendor/chunk-KWOY4JDR.js +398 -0
  114. package/dist/vendor/chunk-LEUPYT3Q.js +36 -0
  115. package/dist/vendor/chunk-LJVI2DIF.js +57 -0
  116. package/dist/vendor/chunk-M32LDTW7.js +18 -0
  117. package/dist/vendor/chunk-M7CLUILA.js +0 -0
  118. package/dist/vendor/chunk-MBSKBQ5D.js +21 -0
  119. package/dist/vendor/chunk-MLKGABMK.js +9 -0
  120. package/dist/vendor/chunk-MMEGG3WE.js +96 -0
  121. package/dist/vendor/chunk-MSWDMTAF.js +18 -0
  122. package/dist/vendor/chunk-NBVRTDTV.js +129 -0
  123. package/dist/vendor/chunk-NBYGGMAE.js +70 -0
  124. package/dist/vendor/chunk-NLMT7VBU.js +18 -0
  125. package/dist/vendor/chunk-OXNGN5H7.js +81 -0
  126. package/dist/vendor/chunk-RBKBXDZW.js +18 -0
  127. package/dist/vendor/chunk-RNBBYWS2.js +26 -0
  128. package/dist/vendor/chunk-SFHVFMSR.js +18 -0
  129. package/dist/vendor/chunk-TFIKFFSC.js +26 -0
  130. package/dist/vendor/chunk-TXKLEBBL.js +143 -0
  131. package/dist/vendor/chunk-U6OWSZD2.js +62 -0
  132. package/dist/vendor/chunk-UFH5UUZK.js +48 -0
  133. package/dist/vendor/chunk-UJAEC4DS.js +20 -0
  134. package/dist/vendor/chunk-VZBDV3TV.js +18 -0
  135. package/dist/vendor/chunk-WGN4AMSX.js +0 -0
  136. package/dist/vendor/chunk-WIYD3THC.js +31 -0
  137. package/dist/vendor/chunk-XDKNKFBW.js +22 -0
  138. package/dist/vendor/chunk-XH4U3JSV.js +249 -0
  139. package/dist/vendor/chunk-XWPHMSXO.js +28 -0
  140. package/dist/vendor/chunk-Y35ZAO5U.js +53 -0
  141. package/dist/vendor/chunk-ZJMRMY57.js +0 -0
  142. package/dist/vendor/cjs/bun/BunChildProcessSpawner.d.ts +7 -0
  143. package/dist/vendor/cjs/bun/BunChildProcessSpawner.js +1 -0
  144. package/dist/vendor/cjs/bun/BunClusterHttp.d.ts +83 -0
  145. package/dist/vendor/cjs/bun/BunClusterHttp.js +1 -0
  146. package/dist/vendor/cjs/bun/BunClusterSocket.d.ts +65 -0
  147. package/dist/vendor/cjs/bun/BunClusterSocket.js +1 -0
  148. package/dist/vendor/cjs/bun/BunCrypto.d.ts +10 -0
  149. package/dist/vendor/cjs/bun/BunCrypto.js +1 -0
  150. package/dist/vendor/cjs/bun/BunFileSystem.d.ts +10 -0
  151. package/dist/vendor/cjs/bun/BunFileSystem.js +1 -0
  152. package/dist/vendor/cjs/bun/BunHttpClient.d.ts +9 -0
  153. package/dist/vendor/cjs/bun/BunHttpClient.js +1 -0
  154. package/dist/vendor/cjs/bun/BunHttpPlatform.d.ts +10 -0
  155. package/dist/vendor/cjs/bun/BunHttpPlatform.js +1 -0
  156. package/dist/vendor/cjs/bun/BunHttpServer.d.ts +142 -0
  157. package/dist/vendor/cjs/bun/BunHttpServer.js +1 -0
  158. package/dist/vendor/cjs/bun/BunHttpServerRequest.d.ts +18 -0
  159. package/dist/vendor/cjs/bun/BunHttpServerRequest.js +1 -0
  160. package/dist/vendor/cjs/bun/BunMultipart.d.ts +31 -0
  161. package/dist/vendor/cjs/bun/BunMultipart.js +1 -0
  162. package/dist/vendor/cjs/bun/BunPath.d.ts +24 -0
  163. package/dist/vendor/cjs/bun/BunPath.js +1 -0
  164. package/dist/vendor/cjs/bun/BunRedis.d.ts +49 -0
  165. package/dist/vendor/cjs/bun/BunRedis.js +1 -0
  166. package/dist/vendor/cjs/bun/BunRuntime.d.ts +85 -0
  167. package/dist/vendor/cjs/bun/BunRuntime.js +1 -0
  168. package/dist/vendor/cjs/bun/BunServices.d.ts +34 -0
  169. package/dist/vendor/cjs/bun/BunServices.js +1 -0
  170. package/dist/vendor/cjs/bun/BunSink.d.ts +8 -0
  171. package/dist/vendor/cjs/bun/BunSink.js +1 -0
  172. package/dist/vendor/cjs/bun/BunSocket.d.ts +40 -0
  173. package/dist/vendor/cjs/bun/BunSocket.js +1 -0
  174. package/dist/vendor/cjs/bun/BunSocketServer.d.ts +8 -0
  175. package/dist/vendor/cjs/bun/BunSocketServer.js +1 -0
  176. package/dist/vendor/cjs/bun/BunStdio.d.ts +11 -0
  177. package/dist/vendor/cjs/bun/BunStdio.js +1 -0
  178. package/dist/vendor/cjs/bun/BunStream.d.ts +19 -0
  179. package/dist/vendor/cjs/bun/BunStream.js +1 -0
  180. package/dist/vendor/cjs/bun/BunTerminal.d.ts +21 -0
  181. package/dist/vendor/cjs/bun/BunTerminal.js +1 -0
  182. package/dist/vendor/cjs/bun/BunWorker.d.ts +20 -0
  183. package/dist/vendor/cjs/bun/BunWorker.js +1 -0
  184. package/dist/vendor/cjs/bun/BunWorkerRunner.d.ts +12 -0
  185. package/dist/vendor/cjs/bun/BunWorkerRunner.js +1 -0
  186. package/dist/vendor/cjs/bun/index.d.ts +92 -0
  187. package/dist/vendor/cjs/bun/index.js +1 -0
  188. package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +7 -0
  189. package/dist/vendor/cjs/node/NodeChildProcessSpawner.js +1 -0
  190. package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +63 -0
  191. package/dist/vendor/cjs/node/NodeClusterHttp.js +1 -0
  192. package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +79 -0
  193. package/dist/vendor/cjs/node/NodeClusterSocket.js +1 -0
  194. package/dist/vendor/cjs/node/NodeCrypto.d.ts +10 -0
  195. package/dist/vendor/cjs/node/NodeCrypto.js +1 -0
  196. package/dist/vendor/cjs/node/NodeFileSystem.d.ts +10 -0
  197. package/dist/vendor/cjs/node/NodeFileSystem.js +1 -0
  198. package/dist/vendor/cjs/node/NodeHttpClient.d.ts +179 -0
  199. package/dist/vendor/cjs/node/NodeHttpClient.js +1 -0
  200. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +62 -0
  201. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.js +1 -0
  202. package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +36 -0
  203. package/dist/vendor/cjs/node/NodeHttpPlatform.js +1 -0
  204. package/dist/vendor/cjs/node/NodeHttpServer.d.ts +120 -0
  205. package/dist/vendor/cjs/node/NodeHttpServer.js +1 -0
  206. package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +29 -0
  207. package/dist/vendor/cjs/node/NodeHttpServerRequest.js +1 -0
  208. package/dist/vendor/cjs/node/NodeMultipart.d.ts +46 -0
  209. package/dist/vendor/cjs/node/NodeMultipart.js +1 -0
  210. package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +97 -0
  211. package/dist/vendor/cjs/node/NodeMultipartParser.js +1 -0
  212. package/dist/vendor/cjs/node/NodePath.d.ts +27 -0
  213. package/dist/vendor/cjs/node/NodePath.js +1 -0
  214. package/dist/vendor/cjs/node/NodeRedis.d.ts +74 -0
  215. package/dist/vendor/cjs/node/NodeRedis.js +1 -0
  216. package/dist/vendor/cjs/node/NodeRuntime.d.ts +85 -0
  217. package/dist/vendor/cjs/node/NodeRuntime.js +1 -0
  218. package/dist/vendor/cjs/node/NodeServices.d.ts +34 -0
  219. package/dist/vendor/cjs/node/NodeServices.js +1 -0
  220. package/dist/vendor/cjs/node/NodeSink.d.ts +8 -0
  221. package/dist/vendor/cjs/node/NodeSink.js +1 -0
  222. package/dist/vendor/cjs/node/NodeSocket.d.ts +38 -0
  223. package/dist/vendor/cjs/node/NodeSocket.js +1 -0
  224. package/dist/vendor/cjs/node/NodeSocketServer.d.ts +8 -0
  225. package/dist/vendor/cjs/node/NodeSocketServer.js +1 -0
  226. package/dist/vendor/cjs/node/NodeStdio.d.ts +11 -0
  227. package/dist/vendor/cjs/node/NodeStdio.js +1 -0
  228. package/dist/vendor/cjs/node/NodeStream.d.ts +8 -0
  229. package/dist/vendor/cjs/node/NodeStream.js +1 -0
  230. package/dist/vendor/cjs/node/NodeTerminal.d.ts +21 -0
  231. package/dist/vendor/cjs/node/NodeTerminal.js +1 -0
  232. package/dist/vendor/cjs/node/NodeWorker.d.ts +22 -0
  233. package/dist/vendor/cjs/node/NodeWorker.js +1 -0
  234. package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +12 -0
  235. package/dist/vendor/cjs/node/NodeWorkerRunner.js +1 -0
  236. package/dist/vendor/cjs/node/Undici.d.ts +28 -0
  237. package/dist/vendor/cjs/node/Undici.js +1 -0
  238. package/dist/vendor/cjs/node/index.d.ts +100 -0
  239. package/dist/vendor/cjs/node/index.js +1 -0
  240. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +57 -0
  241. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.js +1 -0
  242. package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +22 -0
  243. package/dist/vendor/cjs/node-shared/NodeClusterSocket.js +1 -0
  244. package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +27 -0
  245. package/dist/vendor/cjs/node-shared/NodeCrypto.js +1 -0
  246. package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +11 -0
  247. package/dist/vendor/cjs/node-shared/NodeFileSystem.js +1 -0
  248. package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +36 -0
  249. package/dist/vendor/cjs/node-shared/NodeHttpCompression.js +1 -0
  250. package/dist/vendor/cjs/node-shared/NodePath.d.ts +27 -0
  251. package/dist/vendor/cjs/node-shared/NodePath.js +1 -0
  252. package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +47 -0
  253. package/dist/vendor/cjs/node-shared/NodeRuntime.js +1 -0
  254. package/dist/vendor/cjs/node-shared/NodeSink.d.ts +69 -0
  255. package/dist/vendor/cjs/node-shared/NodeSink.js +1 -0
  256. package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +134 -0
  257. package/dist/vendor/cjs/node-shared/NodeSocket.js +1 -0
  258. package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +80 -0
  259. package/dist/vendor/cjs/node-shared/NodeSocketServer.js +1 -0
  260. package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +12 -0
  261. package/dist/vendor/cjs/node-shared/NodeStdio.js +1 -0
  262. package/dist/vendor/cjs/node-shared/NodeStream.d.ts +179 -0
  263. package/dist/vendor/cjs/node-shared/NodeStream.js +1 -0
  264. package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +22 -0
  265. package/dist/vendor/cjs/node-shared/NodeTerminal.js +1 -0
  266. package/dist/vendor/cjs/node-shared/index.d.ts +56 -0
  267. package/dist/vendor/cjs/node-shared/index.js +1 -0
  268. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
  269. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.js +1 -0
  270. package/dist/vendor/cjs/node-shared/internal/utils.d.ts +2 -0
  271. package/dist/vendor/cjs/node-shared/internal/utils.js +1 -0
  272. package/dist/vendor/cjs/package.json +1 -0
  273. package/dist/vendor/cjs/platform-bun.d.ts +92 -0
  274. package/dist/vendor/cjs/platform-bun.js +1 -0
  275. package/dist/vendor/cjs/platform-node-shared.d.ts +56 -0
  276. package/dist/vendor/cjs/platform-node-shared.js +1 -0
  277. package/dist/vendor/cjs/platform-node.d.ts +100 -0
  278. package/dist/vendor/cjs/platform-node.js +1 -0
  279. package/dist/vendor/node/LICENSE +21 -0
  280. package/dist/vendor/node/NodeChildProcessSpawner.d.ts +7 -0
  281. package/dist/vendor/node/NodeChildProcessSpawner.js +14 -0
  282. package/dist/vendor/node/NodeClusterHttp.d.ts +63 -0
  283. package/dist/vendor/node/NodeClusterHttp.js +43 -0
  284. package/dist/vendor/node/NodeClusterSocket.d.ts +79 -0
  285. package/dist/vendor/node/NodeClusterSocket.js +30 -0
  286. package/dist/vendor/node/NodeCrypto.d.ts +10 -0
  287. package/dist/vendor/node/NodeCrypto.js +8 -0
  288. package/dist/vendor/node/NodeFileSystem.d.ts +10 -0
  289. package/dist/vendor/node/NodeFileSystem.js +9 -0
  290. package/dist/vendor/node/NodeHttpClient.d.ts +179 -0
  291. package/dist/vendor/node/NodeHttpClient.js +46 -0
  292. package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +62 -0
  293. package/dist/vendor/node/NodeHttpIncomingMessage.js +10 -0
  294. package/dist/vendor/node/NodeHttpPlatform.d.ts +36 -0
  295. package/dist/vendor/node/NodeHttpPlatform.js +16 -0
  296. package/dist/vendor/node/NodeHttpServer.d.ts +120 -0
  297. package/dist/vendor/node/NodeHttpServer.js +46 -0
  298. package/dist/vendor/node/NodeHttpServerRequest.d.ts +29 -0
  299. package/dist/vendor/node/NodeHttpServerRequest.js +9 -0
  300. package/dist/vendor/node/NodeMultipart.d.ts +46 -0
  301. package/dist/vendor/node/NodeMultipart.js +15 -0
  302. package/dist/vendor/node/NodeMultipartParser.d.ts +97 -0
  303. package/dist/vendor/node/NodeMultipartParser.js +11 -0
  304. package/dist/vendor/node/NodePath.d.ts +27 -0
  305. package/dist/vendor/node/NodePath.js +12 -0
  306. package/dist/vendor/node/NodeRedis.d.ts +74 -0
  307. package/dist/vendor/node/NodeRedis.js +11 -0
  308. package/dist/vendor/node/NodeRuntime.d.ts +85 -0
  309. package/dist/vendor/node/NodeRuntime.js +8 -0
  310. package/dist/vendor/node/NodeServices.d.ts +34 -0
  311. package/dist/vendor/node/NodeServices.js +23 -0
  312. package/dist/vendor/node/NodeSink.d.ts +8 -0
  313. package/dist/vendor/node/NodeSink.js +12 -0
  314. package/dist/vendor/node/NodeSocket.d.ts +38 -0
  315. package/dist/vendor/node/NodeSocket.js +31 -0
  316. package/dist/vendor/node/NodeSocketServer.d.ts +8 -0
  317. package/dist/vendor/node/NodeSocketServer.js +21 -0
  318. package/dist/vendor/node/NodeStdio.d.ts +11 -0
  319. package/dist/vendor/node/NodeStdio.js +10 -0
  320. package/dist/vendor/node/NodeStream.d.ts +8 -0
  321. package/dist/vendor/node/NodeStream.js +27 -0
  322. package/dist/vendor/node/NodeTerminal.d.ts +21 -0
  323. package/dist/vendor/node/NodeTerminal.js +10 -0
  324. package/dist/vendor/node/NodeWorker.d.ts +22 -0
  325. package/dist/vendor/node/NodeWorker.js +9 -0
  326. package/dist/vendor/node/NodeWorkerRunner.d.ts +12 -0
  327. package/dist/vendor/node/NodeWorkerRunner.js +7 -0
  328. package/dist/vendor/node/Undici.d.ts +28 -0
  329. package/dist/vendor/node/Undici.js +9 -0
  330. package/dist/vendor/node/index.d.ts +100 -0
  331. package/dist/vendor/node/index.js +115 -0
  332. package/dist/vendor/node-shared/LICENSE +21 -0
  333. package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +57 -0
  334. package/dist/vendor/node-shared/NodeChildProcessSpawner.js +13 -0
  335. package/dist/vendor/node-shared/NodeClusterSocket.d.ts +22 -0
  336. package/dist/vendor/node-shared/NodeClusterSocket.js +11 -0
  337. package/dist/vendor/node-shared/NodeCrypto.d.ts +27 -0
  338. package/dist/vendor/node-shared/NodeCrypto.js +9 -0
  339. package/dist/vendor/node-shared/NodeFileSystem.d.ts +11 -0
  340. package/dist/vendor/node-shared/NodeFileSystem.js +8 -0
  341. package/dist/vendor/node-shared/NodeHttpCompression.d.ts +36 -0
  342. package/dist/vendor/node-shared/NodeHttpCompression.js +13 -0
  343. package/dist/vendor/node-shared/NodePath.d.ts +27 -0
  344. package/dist/vendor/node-shared/NodePath.js +11 -0
  345. package/dist/vendor/node-shared/NodeRuntime.d.ts +47 -0
  346. package/dist/vendor/node-shared/NodeRuntime.js +7 -0
  347. package/dist/vendor/node-shared/NodeSink.d.ts +69 -0
  348. package/dist/vendor/node-shared/NodeSink.js +11 -0
  349. package/dist/vendor/node-shared/NodeSocket.d.ts +134 -0
  350. package/dist/vendor/node-shared/NodeSocket.js +23 -0
  351. package/dist/vendor/node-shared/NodeSocketServer.d.ts +80 -0
  352. package/dist/vendor/node-shared/NodeSocketServer.js +20 -0
  353. package/dist/vendor/node-shared/NodeStdio.d.ts +12 -0
  354. package/dist/vendor/node-shared/NodeStdio.js +9 -0
  355. package/dist/vendor/node-shared/NodeStream.d.ts +179 -0
  356. package/dist/vendor/node-shared/NodeStream.js +26 -0
  357. package/dist/vendor/node-shared/NodeTerminal.d.ts +22 -0
  358. package/dist/vendor/node-shared/NodeTerminal.js +9 -0
  359. package/dist/vendor/node-shared/index.d.ts +56 -0
  360. package/dist/vendor/node-shared/index.js +58 -0
  361. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
  362. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +7 -0
  363. package/dist/vendor/node-shared/internal/utils.d.ts +2 -0
  364. package/dist/vendor/node-shared/internal/utils.js +7 -0
  365. package/dist/vendor/platform-bun.d.ts +92 -0
  366. package/dist/vendor/platform-bun.js +107 -0
  367. package/dist/vendor/platform-node-shared.d.ts +56 -0
  368. package/dist/vendor/platform-node-shared.js +58 -0
  369. package/dist/vendor/platform-node.d.ts +100 -0
  370. package/dist/vendor/platform-node.js +115 -0
  371. package/docs/README.md +132 -0
  372. package/docs/api.md +265 -0
  373. package/docs/concepts/host-surface.md +152 -0
  374. package/docs/concepts/runtime-parity.md +80 -0
  375. package/docs/guides/bind-a-repository-root.md +109 -0
  376. package/docs/guides/configure-the-filesystem-helper.md +109 -0
  377. package/docs/guides/contain-child-processes.md +176 -0
  378. package/docs/installation.md +128 -0
  379. package/docs/quickstart.md +159 -0
  380. package/docs/troubleshooting.md +178 -0
  381. package/package.json +146 -3
  382. package/src/BunFileSystem.ts +47 -0
  383. package/src/BunHost.ts +338 -0
  384. package/src/index.ts +27 -0
@@ -0,0 +1,22 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as Worker from "effect/unstable/workers/Worker";
3
+ import type * as ChildProcess from "node:child_process";
4
+ import type * as WorkerThreads from "node:worker_threads";
5
+ /**
6
+ * Provides the Node `WorkerPlatform` for `worker_threads` workers and child
7
+ * process workers, wiring messages, errors, and exits into Effect workers and
8
+ * terminating the worker if graceful shutdown times out.
9
+ *
10
+ * @category layers
11
+ * @since 4.0.0
12
+ */
13
+ export declare const layerPlatform: Layer.Layer<Worker.WorkerPlatform>;
14
+ /**
15
+ * Provides the Node `WorkerPlatform` together with a `Worker.Spawner` created
16
+ * from the supplied worker or child-process spawning function.
17
+ *
18
+ * @category layers
19
+ * @since 4.0.0
20
+ */
21
+ export declare const layer: (spawn: (id: number) => WorkerThreads.Worker | ChildProcess.ChildProcess) => Layer.Layer<Worker.WorkerPlatform | Worker.Spawner>;
22
+ //# sourceMappingURL=NodeWorker.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node/NodeWorker.js")
@@ -0,0 +1,12 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
3
+ /**
4
+ * Provides the `WorkerRunnerPlatform` for code running inside a Node worker
5
+ * thread or child process, routing parent messages to the registered handler
6
+ * and sending responses back through the parent channel.
7
+ *
8
+ * @category layers
9
+ * @since 4.0.0
10
+ */
11
+ export declare const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform>;
12
+ //# sourceMappingURL=NodeWorkerRunner.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node/NodeWorkerRunner.js")
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Re-export of the Undici HTTP client package used by the Node platform.
3
+ *
4
+ * This module gives Effect applications a package-local import for Undici
5
+ * primitives while working with `@effect/platform-node`. Import named Undici
6
+ * APIs from here when configuring Node HTTP client dispatchers, creating agents
7
+ * or mock agents, setting the process-global dispatcher, or sharing the same
8
+ * Undici types with integrations that use the platform HTTP client.
9
+ *
10
+ * The module does not wrap or reinterpret Undici behavior. It forwards the
11
+ * installed `undici` named exports and default export, so connection pooling,
12
+ * dispatcher lifetimes, mocking, aborts, and request options follow Undici's
13
+ * own semantics.
14
+ *
15
+ * @since 4.0.0
16
+ */
17
+ import Undici from "undici";
18
+ /**
19
+ * @category re-exports
20
+ * @since 4.0.0
21
+ */
22
+ export * from "undici";
23
+ /**
24
+ * @category re-exports
25
+ * @since 4.0.0
26
+ */
27
+ export default Undici;
28
+ //# sourceMappingURL=Undici.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node/Undici.js")
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ /**
5
+ * @since 4.0.0
6
+ */
7
+ export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.ts";
8
+ /**
9
+ * @since 4.0.0
10
+ */
11
+ export * as NodeClusterHttp from "./NodeClusterHttp.ts";
12
+ /**
13
+ * @since 4.0.0
14
+ */
15
+ export * as NodeClusterSocket from "./NodeClusterSocket.ts";
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ export * as NodeCrypto from "./NodeCrypto.ts";
20
+ /**
21
+ * @since 4.0.0
22
+ */
23
+ export * as NodeFileSystem from "./NodeFileSystem.ts";
24
+ /**
25
+ * @since 4.0.0
26
+ */
27
+ export * as NodeHttpClient from "./NodeHttpClient.ts";
28
+ /**
29
+ * @since 4.0.0
30
+ */
31
+ export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.ts";
32
+ /**
33
+ * @since 4.0.0
34
+ */
35
+ export * as NodeHttpPlatform from "./NodeHttpPlatform.ts";
36
+ /**
37
+ * @since 4.0.0
38
+ */
39
+ export * as NodeHttpServer from "./NodeHttpServer.ts";
40
+ /**
41
+ * @since 4.0.0
42
+ */
43
+ export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts";
44
+ /**
45
+ * @since 4.0.0
46
+ */
47
+ export * as NodeMultipart from "./NodeMultipart.ts";
48
+ /**
49
+ * @since 4.0.0
50
+ */
51
+ export * as NodeMultipartParser from "./NodeMultipartParser.ts";
52
+ /**
53
+ * @since 4.0.0
54
+ */
55
+ export * as NodePath from "./NodePath.ts";
56
+ /**
57
+ * @since 4.0.0
58
+ */
59
+ export * as NodeRedis from "./NodeRedis.ts";
60
+ /**
61
+ * @since 4.0.0
62
+ */
63
+ export * as NodeRuntime from "./NodeRuntime.ts";
64
+ /**
65
+ * @since 4.0.0
66
+ */
67
+ export * as NodeServices from "./NodeServices.ts";
68
+ /**
69
+ * @since 4.0.0
70
+ */
71
+ export * as NodeSink from "./NodeSink.ts";
72
+ /**
73
+ * @since 4.0.0
74
+ */
75
+ export * as NodeSocket from "./NodeSocket.ts";
76
+ /**
77
+ * @since 4.0.0
78
+ */
79
+ export * as NodeSocketServer from "./NodeSocketServer.ts";
80
+ /**
81
+ * @since 4.0.0
82
+ */
83
+ export * as NodeStdio from "./NodeStdio.ts";
84
+ /**
85
+ * @since 4.0.0
86
+ */
87
+ export * as NodeStream from "./NodeStream.ts";
88
+ /**
89
+ * @since 4.0.0
90
+ */
91
+ export * as NodeTerminal from "./NodeTerminal.ts";
92
+ /**
93
+ * @since 4.0.0
94
+ */
95
+ export * as NodeWorker from "./NodeWorker.ts";
96
+ /**
97
+ * @since 4.0.0
98
+ */
99
+ export * as NodeWorkerRunner from "./NodeWorkerRunner.ts";
100
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node/index.js")
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Shared Node.js implementation of the child process spawner service.
3
+ *
4
+ * This module adapts `node:child_process.spawn` to the Effect
5
+ * `ChildProcessSpawner` service. Provide {@link layer} to run `ChildProcess`
6
+ * commands in Node-compatible runtimes: commands get scoped process handles
7
+ * with stdin sinks, stdout and stderr streams, exit-code waiting,
8
+ * interruption-time cleanup, process killing, and custom file-descriptor pipes.
9
+ *
10
+ * The implementation sits below the command-building API. It validates and
11
+ * resolves `cwd` through the Effect `FileSystem` and `Path` services,
12
+ * translates Node errno failures to `PlatformError`, and uses scopes to
13
+ * terminate referenced children when the owning effect is interrupted or
14
+ * finalized. Pipelines are flattened by {@link flattenCommand} and spawned one
15
+ * process at a time, wiring the selected source stream (`stdout`, `stderr`,
16
+ * `all`, or `fdN`) to the destination `stdin` or `fdN`.
17
+ *
18
+ * Scoped release and `kill` wait for the signalled process group. Without
19
+ * `forceKillAfter`, the wait is limited to one second and never escalates.
20
+ * With it, cleanup may take the configured duration plus a final one-second
21
+ * wait after `SIGKILL`. Zombie descendants can consume either full bound. On
22
+ * Windows, `taskkill` terminates the tree and only the leader's exit is awaited.
23
+ *
24
+ * @since 4.0.0
25
+ */
26
+ import type * as Arr from "effect/Array";
27
+ import * as FileSystem from "effect/FileSystem";
28
+ import * as Layer from "effect/Layer";
29
+ import * as Path from "effect/Path";
30
+ import * as ChildProcess from "effect/unstable/process/ChildProcess";
31
+ import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
32
+ /**
33
+ * Layer that provides the `NodeChildProcessSpawner` implementation.
34
+ *
35
+ * @category layers
36
+ * @since 4.0.0
37
+ */
38
+ export declare const layer: Layer.Layer<ChildProcessSpawner, never, FileSystem.FileSystem | Path.Path>;
39
+ /**
40
+ * Result of flattening a pipeline of commands.
41
+ *
42
+ * @category models
43
+ * @since 4.0.0
44
+ */
45
+ export interface FlattenedPipeline {
46
+ readonly commands: Arr.NonEmptyReadonlyArray<ChildProcess.StandardCommand>;
47
+ readonly pipeOptions: ReadonlyArray<ChildProcess.PipeOptions>;
48
+ }
49
+ /**
50
+ * Flattens a `Command` into an array of `StandardCommand`s along with pipe
51
+ * options for each connection.
52
+ *
53
+ * @category transforming
54
+ * @since 4.0.0
55
+ */
56
+ export declare const flattenCommand: (command: ChildProcess.Command) => FlattenedPipeline;
57
+ //# sourceMappingURL=NodeChildProcessSpawner.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeChildProcessSpawner.js")
@@ -0,0 +1,22 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as Runners from "effect/unstable/cluster/Runners";
3
+ import * as ShardingConfig from "effect/unstable/cluster/ShardingConfig";
4
+ import * as RpcSerialization from "effect/unstable/rpc/RpcSerialization";
5
+ import type * as SocketServer from "effect/unstable/socket/SocketServer";
6
+ /**
7
+ * Provides the cluster `RpcClientProtocol` by opening TCP sockets to runner
8
+ * addresses and using the current RPC serialization service.
9
+ *
10
+ * @category layers
11
+ * @since 4.0.0
12
+ */
13
+ export declare const layerClientProtocol: Layer.Layer<Runners.RpcClientProtocol, never, RpcSerialization.RpcSerialization>;
14
+ /**
15
+ * Provides the socket server used by cluster runners, listening on
16
+ * `ShardingConfig.runnerListenAddress` or `runnerAddress`.
17
+ *
18
+ * @category layers
19
+ * @since 4.0.0
20
+ */
21
+ export declare const layerSocketServer: Layer.Layer<SocketServer.SocketServer, SocketServer.SocketServerError, ShardingConfig.ShardingConfig>;
22
+ //# sourceMappingURL=NodeClusterSocket.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeClusterSocket.js")
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Node-compatible implementation of Effect's `Crypto` service.
3
+ *
4
+ * This module builds the service from `node:crypto`, using `randomBytes` for
5
+ * random data and `createHash` for supported digest algorithms. It exports
6
+ * `make` as the concrete service value and `layer` for providing it through
7
+ * Effect context.
8
+ *
9
+ * @since 1.0.0
10
+ */
11
+ import * as EffectCrypto from "effect/Crypto";
12
+ import * as Layer from "effect/Layer";
13
+ /**
14
+ * The default Node.js Crypto service implementation.
15
+ *
16
+ * @category constructors
17
+ * @since 1.0.0
18
+ */
19
+ export declare const make: EffectCrypto.Crypto;
20
+ /**
21
+ * Layer that provides the Node.js Crypto service implementation.
22
+ *
23
+ * @category layers
24
+ * @since 1.0.0
25
+ */
26
+ export declare const layer: Layer.Layer<EffectCrypto.Crypto>;
27
+ //# sourceMappingURL=NodeCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeCrypto.js")
@@ -0,0 +1,11 @@
1
+ import * as FileSystem from "effect/FileSystem";
2
+ import * as Layer from "effect/Layer";
3
+ /**
4
+ * Provides the `FileSystem` service backed by Node filesystem APIs, including
5
+ * file operations, directory operations, links, metadata, and file watching.
6
+ *
7
+ * @category layers
8
+ * @since 4.0.0
9
+ */
10
+ export declare const layer: Layer.Layer<FileSystem.FileSystem>;
11
+ //# sourceMappingURL=NodeFileSystem.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeFileSystem.js")
@@ -0,0 +1,36 @@
1
+ import type * as Platform from "effect/unstable/http/HttpPlatform";
2
+ import type { Duplex } from "node:stream";
3
+ /**
4
+ * The compression algorithms supported by the runtime's `node:zlib`. `zstd`
5
+ * requires Node.js 22.15 or newer.
6
+ *
7
+ * @category constants
8
+ * @since 4.0.0
9
+ */
10
+ export declare const algorithms: ReadonlySet<Platform.CompressionAlgorithm>;
11
+ /**
12
+ * Creates a `Compression` that compresses byte-array bodies in one shot with
13
+ * the asynchronous `node:zlib` APIs, setting the exact `Content-Length` of the
14
+ * compressed body. All other bodies are delegated to `fallback`.
15
+ *
16
+ * @category constructors
17
+ * @since 4.0.0
18
+ */
19
+ export declare const make: (fallback: Platform.Compression) => Platform.Compression;
20
+ /**
21
+ * Creates a `node:zlib` compression transform stream that flushes each input
22
+ * chunk, for streaming response bodies.
23
+ *
24
+ * @category constructors
25
+ * @since 4.0.0
26
+ */
27
+ export declare const compressTransform: (algorithm: Platform.CompressionAlgorithm, options?: Platform.CompressionOptions | undefined) => Duplex;
28
+ /**
29
+ * A Web `ReadableStream` version of `compressTransform`, for platforms that
30
+ * stream response bodies as Web streams.
31
+ *
32
+ * @category constructors
33
+ * @since 4.0.0
34
+ */
35
+ export declare const compressTransformWeb: (algorithm: Platform.CompressionAlgorithm, options?: Platform.CompressionOptions | undefined) => (stream: ReadableStream<Uint8Array>) => ReadableStream<Uint8Array>;
36
+ //# sourceMappingURL=NodeHttpCompression.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeHttpCompression.js")
@@ -0,0 +1,27 @@
1
+ import * as Layer from "effect/Layer";
2
+ import { Path } from "effect/Path";
3
+ /**
4
+ * Provides the `Path` service using Node's POSIX path implementation plus
5
+ * file URL conversion helpers.
6
+ *
7
+ * @category layers
8
+ * @since 4.0.0
9
+ */
10
+ export declare const layerPosix: Layer.Layer<Path>;
11
+ /**
12
+ * Provides the `Path` service using Node's Windows path implementation plus
13
+ * file URL conversion helpers.
14
+ *
15
+ * @category layers
16
+ * @since 4.0.0
17
+ */
18
+ export declare const layerWin32: Layer.Layer<Path>;
19
+ /**
20
+ * Provides the default `Path` service using the host platform's Node path
21
+ * implementation plus file URL conversion helpers.
22
+ *
23
+ * @category layers
24
+ * @since 4.0.0
25
+ */
26
+ export declare const layer: Layer.Layer<Path>;
27
+ //# sourceMappingURL=NodePath.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodePath.js")
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Node-compatible process runner for Effect programs.
3
+ *
4
+ * This module provides the shared `runMain` implementation used by
5
+ * Node-compatible platform packages. It runs one Effect as the main process
6
+ * fiber, interrupts that fiber on `SIGINT` or `SIGTERM`, and delegates final
7
+ * exit-code handling to the configured teardown.
8
+ *
9
+ * @since 4.0.0
10
+ */
11
+ import type { Effect } from "effect/Effect";
12
+ import * as Runtime from "effect/Runtime";
13
+ /**
14
+ * Runs an Effect as the Node process main program, interrupting the fiber on
15
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
16
+ * process exit code.
17
+ *
18
+ * @category running
19
+ * @since 4.0.0
20
+ */
21
+ export declare const runMain: {
22
+ /**
23
+ * Runs an Effect as the Node process main program, interrupting the fiber on
24
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
25
+ * process exit code.
26
+ *
27
+ * @category running
28
+ * @since 4.0.0
29
+ */
30
+ (options?: {
31
+ readonly disableErrorReporting?: boolean | undefined;
32
+ readonly teardown?: Runtime.Teardown | undefined;
33
+ }): <E, A>(effect: Effect<A, E>) => void;
34
+ /**
35
+ * Runs an Effect as the Node process main program, interrupting the fiber on
36
+ * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
37
+ * process exit code.
38
+ *
39
+ * @category running
40
+ * @since 4.0.0
41
+ */
42
+ <E, A>(effect: Effect<A, E>, options?: {
43
+ readonly disableErrorReporting?: boolean | undefined;
44
+ readonly teardown?: Runtime.Teardown | undefined;
45
+ }): void;
46
+ };
47
+ //# sourceMappingURL=NodeRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeRuntime.js")
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Sink adapters for writing Effect chunks into Node writable streams.
3
+ *
4
+ * `fromWritable` creates a `Sink`, `fromWritableChannel` creates a lower-level
5
+ * `Channel`, and `pullIntoWritable` writes from an existing pull loop. All
6
+ * three adapters respect writable-stream backpressure, map writable errors with
7
+ * the supplied `onError` function, and can end the writable when the upstream
8
+ * data is done.
9
+ *
10
+ * @since 4.0.0
11
+ */
12
+ import type { NonEmptyReadonlyArray } from "effect/Array";
13
+ import * as Channel from "effect/Channel";
14
+ import { type LazyArg } from "effect/Function";
15
+ import * as Pull from "effect/Pull";
16
+ import * as Sink from "effect/Sink";
17
+ import type { Writable } from "node:stream";
18
+ /**
19
+ * Creates a `Sink` that writes chunks to a Node writable stream, respecting
20
+ * backpressure, mapping writable errors with `onError`, and ending the stream
21
+ * on completion unless `endOnDone` is `false`.
22
+ *
23
+ * @category constructors
24
+ * @since 4.0.0
25
+ */
26
+ export declare const fromWritable: <E, A = Uint8Array | string>(options: {
27
+ readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
28
+ readonly onError: (error: unknown) => E;
29
+ readonly endOnDone?: boolean | undefined;
30
+ readonly encoding?: BufferEncoding | undefined;
31
+ }) => Sink.Sink<void, A, never, E>;
32
+ /**
33
+ * Creates a `Channel` that pulls chunks from upstream and writes them to a
34
+ * Node writable stream, respecting backpressure and optionally ending the
35
+ * writable when upstream is done.
36
+ *
37
+ * @category constructors
38
+ * @since 4.0.0
39
+ */
40
+ export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(options: {
41
+ readonly evaluate: LazyArg<Writable | NodeJS.WritableStream>;
42
+ readonly onError: (error: unknown) => E;
43
+ readonly endOnDone?: boolean | undefined;
44
+ readonly encoding?: BufferEncoding | undefined;
45
+ }) => Channel.Channel<never, IE | E, void, NonEmptyReadonlyArray<A>, IE>;
46
+ /**
47
+ * Writes Effect chunks into a Node writable stream.
48
+ *
49
+ * **When to use**
50
+ *
51
+ * Use to implement custom Node stream adapters that already have an upstream
52
+ * pull and need direct control over a writable stream.
53
+ *
54
+ * **Details**
55
+ *
56
+ * The loop waits for `drain` when needed, fails on writable errors, and ends
57
+ * the writable on upstream completion unless `endOnDone` is `false`.
58
+ *
59
+ * @category converting
60
+ * @since 4.0.0
61
+ */
62
+ export declare const pullIntoWritable: <A, IE, E>(options: {
63
+ readonly pull: Pull.Pull<NonEmptyReadonlyArray<A>, IE, unknown>;
64
+ readonly writable: Writable;
65
+ readonly onError: (error: unknown) => E;
66
+ readonly endOnDone?: boolean | undefined;
67
+ readonly encoding?: BufferEncoding | undefined;
68
+ }) => Pull.Pull<never, IE | E, unknown>;
69
+ //# sourceMappingURL=NodeSink.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeSink.js")
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Node socket adapters for Effect sockets.
3
+ *
4
+ * This module opens `node:net` or `node:tls` connections, or wraps existing
5
+ * Node `Duplex` streams, and presents them as `Socket.Socket` values, socket
6
+ * channels, or layers. It also exposes the `NetSocket` service tag for the
7
+ * underlying Node socket and re-exports the `ws` package namespace.
8
+ *
9
+ * @since 4.0.0
10
+ */
11
+ import * as Arr from "effect/Array";
12
+ import * as Channel from "effect/Channel";
13
+ import * as Context from "effect/Context";
14
+ import type * as Duration from "effect/Duration";
15
+ import * as Effect from "effect/Effect";
16
+ import * as Layer from "effect/Layer";
17
+ import * as Scope from "effect/Scope";
18
+ import * as Socket from "effect/unstable/socket/Socket";
19
+ import * as Net from "node:net";
20
+ import type { Duplex } from "node:stream";
21
+ import * as Tls from "node:tls";
22
+ /**
23
+ * @category re-exports
24
+ * @since 4.0.0
25
+ */
26
+ import * as NodeWS from "ws"; export { NodeWS };
27
+ declare const NetSocket_base: Context.ServiceClass<NetSocket, "@effect/platform-node/NodeSocket/NetSocket", Net.Socket>;
28
+ /**
29
+ * Service tag for the underlying Node `net.Socket` associated with the current
30
+ * socket connection.
31
+ *
32
+ * @category services
33
+ * @since 4.0.0
34
+ */
35
+ export declare class NetSocket extends NetSocket_base {
36
+ }
37
+ /**
38
+ * Opens a Node TCP connection as an Effect socket.
39
+ *
40
+ * **When to use**
41
+ *
42
+ * Use to create a `Socket.Socket` whose reader acquisition dials
43
+ * `net.createConnection`.
44
+ *
45
+ * **Details**
46
+ *
47
+ * Supports `openTimeout` and closes or destroys the underlying socket when the
48
+ * reader scope is finalized.
49
+ *
50
+ * @category constructors
51
+ * @since 4.0.0
52
+ */
53
+ export declare const makeNet: (options: Net.NetConnectOpts & {
54
+ readonly openTimeout?: Duration.Input | undefined;
55
+ }) => Effect.Effect<Socket.Socket>;
56
+ /**
57
+ * Adapts a Node `Duplex` into a `Socket.Socket`.
58
+ *
59
+ * **Details**
60
+ *
61
+ * Reader acquisition opens the duplex and keeps it paused: each pull drains
62
+ * Node's internal buffer with `stream.read()`. On Node 26+ that yields each
63
+ * buffered chunk as a separate batch element with no copy. Earlier Node
64
+ * concatenates the buffer into one chunk. The stream is never resumed, so once
65
+ * Node's buffer reaches its `highWaterMark` the kernel receive window closes
66
+ * and the peer blocks: backpressure is end-to-end with no buffering above
67
+ * Node's own.
68
+ *
69
+ * Writes use `write()` return-value backpressure, awaiting one `drain` when
70
+ * the internal buffer is full. `writeAll` corks the stream around the batch.
71
+ * Releasing the writer scope half-closes the stream (`end()`).
72
+ *
73
+ * @category constructors
74
+ * @since 4.0.0
75
+ */
76
+ export declare const fromDuplex: <RO>(open: Effect.Effect<Duplex, Socket.SocketError, RO>, options?: {
77
+ readonly openTimeout?: Duration.Input | undefined;
78
+ readonly tlsServer?: boolean | undefined;
79
+ }) => Effect.Effect<Socket.Socket, never, Exclude<RO, Scope.Scope>>;
80
+ /**
81
+ * Creates a `Channel` over a TCP socket, reading arrays of `Uint8Array`
82
+ * chunks and writing arrays of bytes, strings, or socket close events.
83
+ *
84
+ * @category constructors
85
+ * @since 4.0.0
86
+ */
87
+ export declare const makeNetChannel: <IE = never>(options: Net.NetConnectOpts) => Channel.Channel<Arr.NonEmptyReadonlyArray<Uint8Array>, Socket.SocketError | IE, void, Arr.NonEmptyReadonlyArray<Uint8Array | string | Socket.CloseEvent>, IE>;
88
+ /**
89
+ * Provides a `Socket.Socket` by opening a TCP connection with the supplied
90
+ * Node `net` connection options.
91
+ *
92
+ * @category layers
93
+ * @since 4.0.0
94
+ */
95
+ export declare const layerNet: (options: Net.NetConnectOpts) => Layer.Layer<Socket.Socket, Socket.SocketError>;
96
+ /**
97
+ * Opens a Node TLS connection as an Effect socket.
98
+ *
99
+ * **When to use**
100
+ *
101
+ * Use to create a `Socket.Socket` whose reader acquisition dials
102
+ * `tls.connect` and completes once the TLS handshake has finished.
103
+ *
104
+ * **Details**
105
+ *
106
+ * Accepts the same options as `tls.connect`, so trust anchors (`ca`), client
107
+ * certificates (`cert` / `key`), ALPN protocols, and `servername` are set
108
+ * there. A failed handshake, including an untrusted or expired peer
109
+ * certificate, fails with a `SocketOpenError`. Supports `openTimeout` and
110
+ * destroys the underlying socket when the reader scope is finalized.
111
+ *
112
+ * @category constructors
113
+ * @since 4.0.0
114
+ */
115
+ export declare const makeTls: (options: Tls.ConnectionOptions & {
116
+ readonly openTimeout?: Duration.Input | undefined;
117
+ }) => Effect.Effect<Socket.Socket>;
118
+ /**
119
+ * Creates a `Channel` over a TLS socket, reading arrays of `Uint8Array`
120
+ * chunks and writing arrays of bytes, strings, or socket close events.
121
+ *
122
+ * @category constructors
123
+ * @since 4.0.0
124
+ */
125
+ export declare const makeTlsChannel: <IE = never>(options: Tls.ConnectionOptions) => Channel.Channel<Arr.NonEmptyReadonlyArray<Uint8Array>, Socket.SocketError | IE, void, Arr.NonEmptyReadonlyArray<Uint8Array | string | Socket.CloseEvent>, IE>;
126
+ /**
127
+ * Provides a `Socket.Socket` by opening a TLS connection with the supplied
128
+ * Node `tls` connection options.
129
+ *
130
+ * @category layers
131
+ * @since 4.0.0
132
+ */
133
+ export declare const layerTls: (options: Tls.ConnectionOptions) => Layer.Layer<Socket.Socket, Socket.SocketError>;
134
+ //# sourceMappingURL=NodeSocket.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../node-shared/NodeSocket.js")