@smthrs/platform-node 1.0.0-rc.4 → 1.0.0-rc.6

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 (278) hide show
  1. package/README.md +2 -2
  2. package/bin/darwin-arm64/smithers-jj-export +0 -0
  3. package/bin/darwin-x64/smithers-jj-export +0 -0
  4. package/bin/linux-arm64/smithers-jj-export +0 -0
  5. package/bin/linux-x64/smithers-jj-export +2 -2
  6. package/bin/win32-x64/smithers-jj-export.exe +0 -0
  7. package/dist/cjs/EgressHttpClient.d.ts +1 -1
  8. package/dist/cjs/EgressHttpClient.d.ts.map +1 -1
  9. package/dist/cjs/EgressHttpClient.js +4 -4
  10. package/dist/cjs/EgressHttpClient.js.map +2 -2
  11. package/dist/cjs/NodeHost.d.ts +2 -2
  12. package/dist/cjs/NodeHost.d.ts.map +1 -1
  13. package/dist/cjs/NodeHost.js.map +2 -2
  14. package/dist/cjs/ProcessConfinement.js +1 -1
  15. package/dist/cjs/ProcessConfinement.js.map +2 -2
  16. package/dist/cjs/ProcessReaper.d.ts +1 -1
  17. package/dist/cjs/ProcessReaper.d.ts.map +1 -1
  18. package/dist/cjs/ProcessReaper.js +1 -1
  19. package/dist/cjs/ProcessReaper.js.map +1 -1
  20. package/dist/cjs/ScopedProcess.d.ts +2 -2
  21. package/dist/cjs/ScopedProcess.d.ts.map +1 -1
  22. package/dist/cjs/ScopedProcess.js +1 -1
  23. package/dist/cjs/ScopedProcess.js.map +2 -2
  24. package/dist/cjs/internal/PipedProcess.d.ts +2 -2
  25. package/dist/cjs/internal/PipedProcess.d.ts.map +1 -1
  26. package/dist/cjs/internal/PipedProcess.js +2 -2
  27. package/dist/cjs/internal/PipedProcess.js.map +2 -2
  28. package/dist/cjs/internal/ProcessCleanup.d.ts +1 -1
  29. package/dist/cjs/internal/ProcessCleanup.d.ts.map +1 -1
  30. package/dist/cjs/internal/ProcessCleanup.js.map +1 -1
  31. package/dist/cjs/internal/ProcessSupervisor.d.ts +2 -2
  32. package/dist/cjs/internal/ProcessSupervisor.d.ts.map +1 -1
  33. package/dist/cjs/internal/ProcessSupervisor.js +2 -2
  34. package/dist/cjs/internal/ProcessSupervisor.js.map +2 -2
  35. package/dist/esm/EgressHttpClient.d.ts +1 -1
  36. package/dist/esm/EgressHttpClient.d.ts.map +1 -1
  37. package/dist/esm/EgressHttpClient.js +4 -4
  38. package/dist/esm/EgressHttpClient.js.map +1 -1
  39. package/dist/esm/NodeHost.d.ts +2 -2
  40. package/dist/esm/NodeHost.d.ts.map +1 -1
  41. package/dist/esm/NodeHost.js.map +1 -1
  42. package/dist/esm/ProcessConfinement.js +1 -1
  43. package/dist/esm/ProcessConfinement.js.map +1 -1
  44. package/dist/esm/ProcessReaper.d.ts +1 -1
  45. package/dist/esm/ProcessReaper.d.ts.map +1 -1
  46. package/dist/esm/ProcessReaper.js +1 -1
  47. package/dist/esm/ProcessReaper.js.map +1 -1
  48. package/dist/esm/ScopedProcess.d.ts +2 -2
  49. package/dist/esm/ScopedProcess.d.ts.map +1 -1
  50. package/dist/esm/ScopedProcess.js +1 -1
  51. package/dist/esm/ScopedProcess.js.map +1 -1
  52. package/dist/esm/internal/PipedProcess.d.ts +2 -2
  53. package/dist/esm/internal/PipedProcess.d.ts.map +1 -1
  54. package/dist/esm/internal/PipedProcess.js +2 -2
  55. package/dist/esm/internal/PipedProcess.js.map +1 -1
  56. package/dist/esm/internal/ProcessCleanup.d.ts +1 -1
  57. package/dist/esm/internal/ProcessCleanup.d.ts.map +1 -1
  58. package/dist/esm/internal/ProcessCleanup.js.map +1 -1
  59. package/dist/esm/internal/ProcessSupervisor.d.ts +2 -2
  60. package/dist/esm/internal/ProcessSupervisor.d.ts.map +1 -1
  61. package/dist/esm/internal/ProcessSupervisor.js +2 -2
  62. package/dist/esm/internal/ProcessSupervisor.js.map +1 -1
  63. package/dist/vendor/adapters.json +622 -382
  64. package/dist/vendor/{chunk-42QKY6T6.js → chunk-2ZAGBWTH.js} +1 -1
  65. package/dist/vendor/{chunk-3GR5VZ2M.js → chunk-3SL3HKQA.js} +3 -3
  66. package/dist/vendor/{chunk-VANKHF46.js → chunk-423HXGL6.js} +55 -23
  67. package/dist/vendor/{chunk-6ME2W7TF.js → chunk-4WIQ2XN7.js} +2 -2
  68. package/dist/vendor/{chunk-Y35ZAO5U.js → chunk-6FSJ2PMW.js} +8 -8
  69. package/dist/vendor/{chunk-5ZMHBXIK.js → chunk-6L2NJEOV.js} +11 -4
  70. package/dist/vendor/{chunk-TFIKFFSC.js → chunk-7NMJM44J.js} +2 -2
  71. package/dist/vendor/{chunk-OXNGN5H7.js → chunk-A7UXCEJA.js} +1 -1
  72. package/dist/vendor/chunk-ADP5LRUF.js +274 -0
  73. package/dist/vendor/{chunk-DS7GF46S.js → chunk-AWNTTSHL.js} +2 -2
  74. package/dist/vendor/{chunk-IIJ52ZU6.js → chunk-BUKVIAEM.js} +2 -2
  75. package/dist/vendor/{chunk-BKTBUBQY.js → chunk-BY3SDXID.js} +71 -7
  76. package/dist/vendor/{chunk-JJ24ARBQ.js → chunk-C3PGUWW5.js} +53 -33
  77. package/dist/vendor/{chunk-J7A4CZDO.js → chunk-D2ZL4PLZ.js} +8 -7
  78. package/dist/vendor/{chunk-XDKNKFBW.js → chunk-D4HEMNGU.js} +2 -2
  79. package/dist/vendor/{chunk-DVOAHXPG.js → chunk-FFD6R5JZ.js} +3 -3
  80. package/dist/vendor/{chunk-UFH5UUZK.js → chunk-HDV6VIRM.js} +1 -1
  81. package/dist/vendor/chunk-IWSDM4CG.js +16 -0
  82. package/dist/vendor/{chunk-KUUXSID7.js → chunk-KABHKTVG.js} +2 -2
  83. package/dist/vendor/{chunk-B3FZ67QU.js → chunk-KFDBU6RR.js} +4 -3
  84. package/dist/vendor/chunk-LNWGIDIG.js +20 -0
  85. package/dist/vendor/{chunk-TXKLEBBL.js → chunk-MUEED3C3.js} +3 -2
  86. package/dist/vendor/{chunk-EZWY45HP.js → chunk-N6TK35N5.js} +2 -2
  87. package/dist/vendor/{chunk-QPLDT6A6.js → chunk-NQO6V4KI.js} +29 -13
  88. package/dist/vendor/{chunk-AMQKOQNT.js → chunk-NTEWGPPG.js} +9 -9
  89. package/dist/vendor/chunk-NUJQMLJP.js +325 -0
  90. package/dist/vendor/{chunk-54RLBMTZ.js → chunk-OF3N2FN4.js} +1 -1
  91. package/dist/vendor/{chunk-RO2R4MJH.js → chunk-PA32ARKD.js} +17 -17
  92. package/dist/vendor/{chunk-JG5TTWPT.js → chunk-PECOFLCU.js} +3 -3
  93. package/dist/vendor/{chunk-VZBDV3TV.js → chunk-PU7QVYND.js} +2 -2
  94. package/dist/vendor/{chunk-2Y7WC4KU.js → chunk-QHR2RC5M.js} +2 -2
  95. package/dist/vendor/{chunk-QYBKAIA6.js → chunk-R327POEZ.js} +2 -2
  96. package/dist/vendor/chunk-RKVXYKHJ.js +29 -0
  97. package/dist/vendor/{chunk-XH4U3JSV.js → chunk-RQH5DSBA.js} +2 -2
  98. package/dist/vendor/{chunk-DWSHTSVX.js → chunk-S6QUQLBV.js} +5 -5
  99. package/dist/vendor/{chunk-KOZMM5PZ.js → chunk-UPIQ52FQ.js} +12 -12
  100. package/dist/vendor/{chunk-EGBNVEEW.js → chunk-UUQXJRMK.js} +1 -1
  101. package/dist/vendor/{chunk-LEUPYT3Q.js → chunk-UUYTTEDH.js} +1 -1
  102. package/dist/vendor/{chunk-NBVRTDTV.js → chunk-V2EB7FHY.js} +2 -2
  103. package/dist/vendor/{chunk-M32LDTW7.js → chunk-VIWU4EBF.js} +2 -2
  104. package/dist/vendor/{chunk-SIR62W3Y.js → chunk-VWSWEUN5.js} +51 -31
  105. package/dist/vendor/{chunk-MBSKBQ5D.js → chunk-WPZDL2D7.js} +1 -1
  106. package/dist/vendor/chunk-YDY5P7GL.js +20 -0
  107. package/dist/vendor/{chunk-FNZOJHSV.js → chunk-YFD4QFIL.js} +17 -17
  108. package/dist/vendor/{chunk-GXCHI7BM.js → chunk-ZVJCBTJG.js} +5 -5
  109. package/dist/vendor/cjs/node/NodeAddressResolver.d.ts +16 -0
  110. package/dist/vendor/cjs/node/NodeAddressResolver.js +1 -0
  111. package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +1 -0
  112. package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +13 -22
  113. package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +14 -8
  114. package/dist/vendor/cjs/node/NodeCrypto.d.ts +1 -0
  115. package/dist/vendor/cjs/node/NodeDatagramSocket.d.ts +10 -0
  116. package/dist/vendor/cjs/node/NodeDatagramSocket.js +1 -0
  117. package/dist/vendor/cjs/node/NodeDns.d.ts +51 -0
  118. package/dist/vendor/cjs/node/NodeDns.js +1 -0
  119. package/dist/vendor/cjs/node/NodeFileSystem.d.ts +1 -0
  120. package/dist/vendor/cjs/node/NodeHttpClient.d.ts +21 -2
  121. package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +5 -3
  122. package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +8 -6
  123. package/dist/vendor/cjs/node/NodeHttpServer.d.ts +21 -10
  124. package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +4 -1
  125. package/dist/vendor/cjs/node/NodeMultipart.d.ts +5 -1
  126. package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +9 -1
  127. package/dist/vendor/cjs/node/NodePath.d.ts +3 -0
  128. package/dist/vendor/cjs/node/NodeRedis.d.ts +5 -1
  129. package/dist/vendor/cjs/node/NodeRuntime.d.ts +3 -0
  130. package/dist/vendor/cjs/node/NodeServices.d.ts +4 -1
  131. package/dist/vendor/cjs/node/NodeSink.d.ts +1 -0
  132. package/dist/vendor/cjs/node/NodeSocket.d.ts +10 -3
  133. package/dist/vendor/cjs/node/NodeSocketServer.d.ts +1 -0
  134. package/dist/vendor/cjs/node/NodeStdio.d.ts +1 -0
  135. package/dist/vendor/cjs/node/NodeStream.d.ts +1 -0
  136. package/dist/vendor/cjs/node/NodeTerminal.d.ts +6 -3
  137. package/dist/vendor/cjs/node/NodeWorker.d.ts +3 -1
  138. package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +2 -1
  139. package/dist/vendor/cjs/node/Undici.d.ts +3 -0
  140. package/dist/vendor/cjs/node/index.d.ts +40 -0
  141. package/dist/vendor/cjs/node-shared/NodeAddressResolver.d.ts +13 -0
  142. package/dist/vendor/cjs/node-shared/NodeAddressResolver.js +1 -0
  143. package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +12 -3
  144. package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +17 -4
  145. package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +3 -0
  146. package/dist/vendor/cjs/node-shared/NodeDatagramSocket.d.ts +246 -0
  147. package/dist/vendor/cjs/node-shared/NodeDatagramSocket.js +1 -0
  148. package/dist/vendor/cjs/node-shared/NodeDns.d.ts +221 -0
  149. package/dist/vendor/cjs/node-shared/NodeDns.js +1 -0
  150. package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +1 -0
  151. package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +5 -1
  152. package/dist/vendor/cjs/node-shared/NodePath.d.ts +3 -0
  153. package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +4 -0
  154. package/dist/vendor/cjs/node-shared/NodeSink.d.ts +4 -0
  155. package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +11 -1
  156. package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +8 -1
  157. package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +1 -0
  158. package/dist/vendor/cjs/node-shared/NodeStream.d.ts +15 -0
  159. package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +6 -4
  160. package/dist/vendor/cjs/node-shared/index.d.ts +29 -0
  161. package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +1 -1
  162. package/dist/vendor/cjs/platform-node-shared.d.ts +29 -0
  163. package/dist/vendor/cjs/platform-node.d.ts +40 -0
  164. package/dist/vendor/node/NodeAddressResolver.d.ts +16 -0
  165. package/dist/vendor/node/NodeAddressResolver.js +8 -0
  166. package/dist/vendor/node/NodeChildProcessSpawner.d.ts +1 -0
  167. package/dist/vendor/node/NodeChildProcessSpawner.js +6 -6
  168. package/dist/vendor/node/NodeClusterHttp.d.ts +13 -22
  169. package/dist/vendor/node/NodeClusterHttp.js +32 -32
  170. package/dist/vendor/node/NodeClusterSocket.d.ts +14 -8
  171. package/dist/vendor/node/NodeClusterSocket.js +15 -15
  172. package/dist/vendor/node/NodeCrypto.d.ts +1 -0
  173. package/dist/vendor/node/NodeCrypto.js +2 -2
  174. package/dist/vendor/node/NodeDatagramSocket.d.ts +10 -0
  175. package/dist/vendor/node/NodeDatagramSocket.js +12 -0
  176. package/dist/vendor/node/NodeDns.d.ts +51 -0
  177. package/dist/vendor/node/NodeDns.js +12 -0
  178. package/dist/vendor/node/NodeFileSystem.d.ts +1 -0
  179. package/dist/vendor/node/NodeFileSystem.js +3 -3
  180. package/dist/vendor/node/NodeHttpClient.d.ts +21 -2
  181. package/dist/vendor/node/NodeHttpClient.js +6 -6
  182. package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +5 -3
  183. package/dist/vendor/node/NodeHttpIncomingMessage.js +4 -4
  184. package/dist/vendor/node/NodeHttpPlatform.d.ts +8 -6
  185. package/dist/vendor/node/NodeHttpPlatform.js +8 -8
  186. package/dist/vendor/node/NodeHttpServer.d.ts +21 -10
  187. package/dist/vendor/node/NodeHttpServer.js +26 -26
  188. package/dist/vendor/node/NodeHttpServerRequest.d.ts +4 -1
  189. package/dist/vendor/node/NodeHttpServerRequest.js +1 -1
  190. package/dist/vendor/node/NodeMultipart.d.ts +5 -1
  191. package/dist/vendor/node/NodeMultipart.js +5 -5
  192. package/dist/vendor/node/NodeMultipartParser.d.ts +9 -1
  193. package/dist/vendor/node/NodeMultipartParser.js +1 -1
  194. package/dist/vendor/node/NodePath.d.ts +3 -0
  195. package/dist/vendor/node/NodePath.js +2 -2
  196. package/dist/vendor/node/NodeRedis.d.ts +5 -1
  197. package/dist/vendor/node/NodeRedis.js +1 -1
  198. package/dist/vendor/node/NodeRuntime.d.ts +3 -0
  199. package/dist/vendor/node/NodeRuntime.js +2 -2
  200. package/dist/vendor/node/NodeServices.d.ts +4 -1
  201. package/dist/vendor/node/NodeServices.js +17 -17
  202. package/dist/vendor/node/NodeSink.d.ts +1 -0
  203. package/dist/vendor/node/NodeSink.js +2 -2
  204. package/dist/vendor/node/NodeSocket.d.ts +10 -3
  205. package/dist/vendor/node/NodeSocket.js +2 -2
  206. package/dist/vendor/node/NodeSocketServer.d.ts +1 -0
  207. package/dist/vendor/node/NodeSocketServer.js +3 -3
  208. package/dist/vendor/node/NodeStdio.d.ts +1 -0
  209. package/dist/vendor/node/NodeStdio.js +4 -4
  210. package/dist/vendor/node/NodeStream.d.ts +1 -0
  211. package/dist/vendor/node/NodeStream.js +3 -3
  212. package/dist/vendor/node/NodeTerminal.d.ts +6 -3
  213. package/dist/vendor/node/NodeTerminal.js +2 -2
  214. package/dist/vendor/node/NodeWorker.d.ts +3 -1
  215. package/dist/vendor/node/NodeWorker.js +1 -1
  216. package/dist/vendor/node/NodeWorkerRunner.d.ts +2 -1
  217. package/dist/vendor/node/NodeWorkerRunner.js +1 -1
  218. package/dist/vendor/node/Undici.d.ts +3 -0
  219. package/dist/vendor/node/Undici.js +1 -1
  220. package/dist/vendor/node/index.d.ts +40 -0
  221. package/dist/vendor/node/index.js +70 -55
  222. package/dist/vendor/node-shared/NodeAddressResolver.d.ts +13 -0
  223. package/dist/vendor/node-shared/NodeAddressResolver.js +7 -0
  224. package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +12 -3
  225. package/dist/vendor/node-shared/NodeChildProcessSpawner.js +5 -5
  226. package/dist/vendor/node-shared/NodeClusterSocket.d.ts +17 -4
  227. package/dist/vendor/node-shared/NodeClusterSocket.js +3 -3
  228. package/dist/vendor/node-shared/NodeCrypto.d.ts +3 -0
  229. package/dist/vendor/node-shared/NodeCrypto.js +1 -1
  230. package/dist/vendor/node-shared/NodeDatagramSocket.d.ts +246 -0
  231. package/dist/vendor/node-shared/NodeDatagramSocket.js +11 -0
  232. package/dist/vendor/node-shared/NodeDns.d.ts +221 -0
  233. package/dist/vendor/node-shared/NodeDns.js +31 -0
  234. package/dist/vendor/node-shared/NodeFileSystem.d.ts +1 -0
  235. package/dist/vendor/node-shared/NodeFileSystem.js +2 -2
  236. package/dist/vendor/node-shared/NodeHttpCompression.d.ts +5 -1
  237. package/dist/vendor/node-shared/NodeHttpCompression.js +1 -1
  238. package/dist/vendor/node-shared/NodePath.d.ts +3 -0
  239. package/dist/vendor/node-shared/NodePath.js +1 -1
  240. package/dist/vendor/node-shared/NodeRuntime.d.ts +4 -0
  241. package/dist/vendor/node-shared/NodeRuntime.js +1 -1
  242. package/dist/vendor/node-shared/NodeSink.d.ts +4 -0
  243. package/dist/vendor/node-shared/NodeSink.js +1 -1
  244. package/dist/vendor/node-shared/NodeSocket.d.ts +11 -1
  245. package/dist/vendor/node-shared/NodeSocket.js +1 -1
  246. package/dist/vendor/node-shared/NodeSocketServer.d.ts +8 -1
  247. package/dist/vendor/node-shared/NodeSocketServer.js +2 -2
  248. package/dist/vendor/node-shared/NodeStdio.d.ts +1 -0
  249. package/dist/vendor/node-shared/NodeStdio.js +3 -3
  250. package/dist/vendor/node-shared/NodeStream.d.ts +15 -0
  251. package/dist/vendor/node-shared/NodeStream.js +2 -2
  252. package/dist/vendor/node-shared/NodeTerminal.d.ts +6 -4
  253. package/dist/vendor/node-shared/NodeTerminal.js +1 -1
  254. package/dist/vendor/node-shared/index.d.ts +29 -0
  255. package/dist/vendor/node-shared/index.js +34 -22
  256. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +1 -1
  257. package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +1 -1
  258. package/dist/vendor/node-shared/internal/utils.js +1 -1
  259. package/dist/vendor/platform-node-shared.d.ts +29 -0
  260. package/dist/vendor/platform-node-shared.js +34 -22
  261. package/dist/vendor/platform-node.d.ts +40 -0
  262. package/dist/vendor/platform-node.js +70 -55
  263. package/docs/README.md +2 -2
  264. package/docs/api.md +2 -2
  265. package/docs/concepts/host-bundle.md +2 -2
  266. package/docs/installation.md +8 -9
  267. package/docs/quickstart.md +2 -2
  268. package/package.json +12 -12
  269. package/src/EgressHttpClient.ts +4 -4
  270. package/src/NodeHost.ts +2 -2
  271. package/src/ProcessConfinement.ts +1 -1
  272. package/src/ProcessReaper.ts +2 -2
  273. package/src/ScopedProcess.ts +2 -2
  274. package/src/internal/PipedProcess.ts +2 -2
  275. package/src/internal/ProcessCleanup.ts +1 -1
  276. package/src/internal/ProcessSupervisor.ts +2 -2
  277. /package/dist/vendor/{chunk-M7CLUILA.js → chunk-3WUGYBFU.js} +0 -0
  278. /package/dist/vendor/{chunk-ZJMRMY57.js → chunk-ASGOJ3XA.js} +0 -0
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Node UDP adapter for `effect/socket/DatagramSocket`, built on `node:dgram`.
3
+ *
4
+ * `make` opens a new `dgram.Socket` for each reader acquisition, `fromSocket`
5
+ * adopts a socket the caller creates, and `layer` provides the
6
+ * `DatagramSocket` service.
7
+ *
8
+ * The reader owns the native socket, so a send-only client must still acquire
9
+ * a reader, or its writes wait forever. Every write waits for Node's send
10
+ * callback, so send errors fail the write that caused them.
11
+ *
12
+ * `writeAll` fails with the first send error. Which of the other datagrams
13
+ * went out is unspecified and nothing is resent; the error carries the failed
14
+ * datagram's `address`.
15
+ *
16
+ * **Example** (Ingest server)
17
+ *
18
+ * ```ts
19
+ * import { NodeDatagramSocket } from "@effect/platform-node-shared"
20
+ * import { Effect } from "effect"
21
+ * import { DatagramSocket } from "effect/socket"
22
+ *
23
+ * const ingest = Effect.gen(function*() {
24
+ * const socket = yield* DatagramSocket.DatagramSocket
25
+ * const reader = yield* socket.reader
26
+ * while (true) {
27
+ * const datagrams = yield* reader.pull
28
+ * yield* Effect.log(`received ${datagrams.length}, dropped ${reader.dropped()}`)
29
+ * }
30
+ * }).pipe(
31
+ * Effect.scoped,
32
+ * Effect.provide(NodeDatagramSocket.layer({
33
+ * bind: { port: 9000 },
34
+ * receiveBuffer: { capacity: 4096, strategy: "sliding" }
35
+ * }))
36
+ * )
37
+ * ```
38
+ *
39
+ * **Example** (Echo server)
40
+ *
41
+ * ```ts
42
+ * import { NodeDatagramSocket } from "@effect/platform-node-shared"
43
+ * import { Effect } from "effect"
44
+ *
45
+ * const echo = Effect.gen(function*() {
46
+ * const socket = yield* NodeDatagramSocket.make({ bind: { port: 9000 } })
47
+ * const reader = yield* socket.reader
48
+ * const writer = yield* socket.writer
49
+ * while (true) {
50
+ * for (const received of yield* reader.pull) {
51
+ * yield* writer.write({ payload: received.payload, address: received })
52
+ * }
53
+ * }
54
+ * }).pipe(Effect.scoped)
55
+ * ```
56
+ *
57
+ * **Example** (Send-only client with a connected socket)
58
+ *
59
+ * ```ts
60
+ * import { NodeDatagramSocket } from "@effect/platform-node-shared"
61
+ * import { Effect } from "effect"
62
+ *
63
+ * const send = (payload: string) =>
64
+ * Effect.gen(function*() {
65
+ * const socket = yield* NodeDatagramSocket.make({
66
+ * connect: { address: "localhost", port: 9000 }
67
+ * })
68
+ * // Required even for send-only clients.
69
+ * yield* socket.reader
70
+ * const writer = yield* socket.writer
71
+ * yield* writer.write({ payload })
72
+ * }).pipe(Effect.scoped)
73
+ * ```
74
+ *
75
+ * **Example** (Multicast receiver and sender)
76
+ *
77
+ * ```ts
78
+ * import { NodeDatagramSocket } from "@effect/platform-node-shared"
79
+ * import { Effect } from "effect"
80
+ * import { NetAddress } from "effect/net"
81
+ *
82
+ * const group = NetAddress.ipFromStringUnsafe("239.255.0.1")
83
+ *
84
+ * const receive = Effect.gen(function*() {
85
+ * if (!NetAddress.isMulticast(group) || !NetAddress.isIpv4Address(group)) return
86
+ * const socket = yield* NodeDatagramSocket.make({
87
+ * bind: { address: "0.0.0.0", port: 5000 },
88
+ * reuseAddress: true
89
+ * })
90
+ * const reader = yield* socket.reader
91
+ * yield* reader.joinMulticast({ group, interface: NetAddress.ipv4Loopback })
92
+ * return yield* reader.pull
93
+ * }).pipe(Effect.scoped)
94
+ *
95
+ * const announce = Effect.gen(function*() {
96
+ * const socket = yield* NodeDatagramSocket.make({
97
+ * peer: { address: group, port: 5000 },
98
+ * // Egress interface, independent of the join's ingress interface.
99
+ * multicast: { interface: NetAddress.ipv4Loopback, ttl: 1, loopback: true }
100
+ * })
101
+ * yield* socket.reader
102
+ * const writer = yield* socket.writer
103
+ * yield* writer.write({ payload: "hello" })
104
+ * }).pipe(Effect.scoped)
105
+ * ```
106
+ *
107
+ * @stability experimental
108
+ * @since 4.0.0
109
+ */
110
+ import * as Effect from "effect/Effect";
111
+ import * as Layer from "effect/Layer";
112
+ import * as NetAddress from "effect/net/NetAddress";
113
+ import type * as Scope from "effect/Scope";
114
+ import * as DatagramSocket from "effect/socket/DatagramSocket";
115
+ import * as Dgram from "node:dgram";
116
+ /**
117
+ * An open-time endpoint. Hostnames resolve once per reader acquisition via
118
+ * `node:dns.lookup`.
119
+ * An `InetAddress` can be passed directly.
120
+ *
121
+ * @stability experimental
122
+ * @category models
123
+ * @since 4.0.0
124
+ */
125
+ export interface Endpoint {
126
+ readonly address: string | NetAddress.IpAddress;
127
+ readonly port: number;
128
+ }
129
+ /**
130
+ * The local address and port to bind. Defaults to `0.0.0.0` (or `::` for
131
+ * `family: "ipv6"`) and an ephemeral port.
132
+ *
133
+ * @stability experimental
134
+ * @category models
135
+ * @since 4.0.0
136
+ */
137
+ export interface BindOptions {
138
+ readonly address?: string | NetAddress.IpAddress | undefined;
139
+ readonly port?: number | undefined;
140
+ }
141
+ /**
142
+ * Options for `make` and `layer`.
143
+ *
144
+ * **Details**
145
+ *
146
+ * `peer` is a default destination and doesn't filter senders. `connect` calls
147
+ * `connect(2)` after binding, so the kernel filters senders and ICMP errors
148
+ * reach `onError`. The two can't be combined.
149
+ *
150
+ * Family selection, in order: explicit `family`, a `bind` IP literal, the
151
+ * `peer` or `connect` address, a `bind` hostname, then `"ipv4"`. Hostname
152
+ * lookups use the family selected so far, or prefer IPv4 if none is set.
153
+ *
154
+ * `reuseAddress` means `SO_REUSEADDR` on Linux and `SO_REUSEPORT` on BSD and
155
+ * macOS. `kernelReceiveBufferSize` and `kernelSendBufferSize` are in bytes;
156
+ * Linux doubles the value and caps it at `rmem_max` / `wmem_max`.
157
+ *
158
+ * `multicast.interface` is the egress interface for datagrams sent to a group,
159
+ * which is a different socket option from the ingress `interface` of
160
+ * `Reader.joinMulticast`.
161
+ *
162
+ * @stability experimental
163
+ * @category models
164
+ * @since 4.0.0
165
+ */
166
+ export type Options = {
167
+ readonly bind?: BindOptions | undefined;
168
+ readonly family?: "ipv4" | "ipv6" | undefined;
169
+ readonly reuseAddress?: boolean | undefined;
170
+ readonly reusePort?: boolean | undefined;
171
+ readonly ipv6Only?: boolean | undefined;
172
+ readonly kernelReceiveBufferSize?: number | undefined;
173
+ readonly kernelSendBufferSize?: number | undefined;
174
+ readonly broadcast?: boolean | undefined;
175
+ readonly ttl?: number | undefined;
176
+ readonly multicast?: {
177
+ readonly interface?: NetAddress.MulticastInterface | undefined;
178
+ readonly loopback?: boolean | undefined;
179
+ readonly ttl?: number | undefined;
180
+ } | undefined;
181
+ readonly receiveBuffer?: DatagramSocket.ReceiveBufferOptions | undefined;
182
+ readonly onError?: ((error: DatagramSocket.DatagramSocketError) => void) | undefined;
183
+ } & ({
184
+ readonly peer?: Endpoint | undefined;
185
+ readonly connect?: undefined;
186
+ } | {
187
+ readonly connect: Endpoint;
188
+ readonly peer?: undefined;
189
+ });
190
+ /**
191
+ * Options for `fromSocket`. The caller configures the adopted socket, so only
192
+ * the options that live in JavaScript apply.
193
+ *
194
+ * @stability experimental
195
+ * @category models
196
+ * @since 4.0.0
197
+ */
198
+ export interface FromSocketOptions {
199
+ readonly peer?: Endpoint | undefined;
200
+ readonly receiveBuffer?: DatagramSocket.ReceiveBufferOptions | undefined;
201
+ readonly onError?: ((error: DatagramSocket.DatagramSocketError) => void) | undefined;
202
+ }
203
+ /**
204
+ * Creates a `DatagramSocket` that opens and binds a new `dgram.Socket` for
205
+ * each reader acquisition.
206
+ *
207
+ * **Details**
208
+ *
209
+ * Creating the socket never fails. Binding, applying options and resolving
210
+ * names happen when a reader is acquired, and fail that acquisition with a
211
+ * `DatagramSocketError`. Hostnames in `bind`, `peer` and `connect` are
212
+ * resolved once per acquisition, so the native socket only sees IP literals
213
+ * and no send waits for DNS.
214
+ *
215
+ * Invalid `receiveBuffer.capacity` values cause a defect; use a positive
216
+ * safe integer.
217
+ *
218
+ * @stability experimental
219
+ * @category constructors
220
+ * @since 4.0.0
221
+ */
222
+ export declare const make: (options?: Options) => Effect.Effect<DatagramSocket.DatagramSocket>;
223
+ /**
224
+ * Adopts a `dgram.Socket`.
225
+ *
226
+ * **Details**
227
+ *
228
+ * `acquire` runs once per reader acquisition, inside the reader's scope, and
229
+ * the adapter closes the socket when that scope ends. The socket must be bound
230
+ * by the time `acquire` completes. Whether it is connected is checked once at
231
+ * open.
232
+ *
233
+ * @stability experimental
234
+ * @category constructors
235
+ * @since 4.0.0
236
+ */
237
+ export declare const fromSocket: <R>(acquire: Effect.Effect<Dgram.Socket, DatagramSocket.DatagramSocketError, R>, options?: FromSocketOptions) => Effect.Effect<DatagramSocket.DatagramSocket, never, Exclude<R, Scope.Scope>>;
238
+ /**
239
+ * Provides a `DatagramSocket` built with `make`.
240
+ *
241
+ * @stability experimental
242
+ * @category layers
243
+ * @since 4.0.0
244
+ */
245
+ export declare const layer: (options?: Options) => Layer.Layer<DatagramSocket.DatagramSocket>;
246
+ //# sourceMappingURL=NodeDatagramSocket.d.ts.map
@@ -0,0 +1,11 @@
1
+ import {
2
+ fromSocket,
3
+ layer,
4
+ make
5
+ } from "../chunk-NUJQMLJP.js";
6
+ import "../chunk-MLKGABMK.js";
7
+ export {
8
+ fromSocket,
9
+ layer,
10
+ make
11
+ };
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Node.js implementation of Effect's `Dns` service.
3
+ *
4
+ * Address lookups use the operating system resolver through `dns.lookup`,
5
+ * including the hosts file. Record queries and reverse lookups share one
6
+ * `dns.Resolver`. Interruption discards a query's result but cannot cancel
7
+ * that query; closing the scope cancels all pending queries.
8
+ *
9
+ * Unrepresentable records, such as invalid `Host.DomainName` values, are
10
+ * skipped. If every record is skipped, the query fails with `InvalidResponse`.
11
+ * `make` decodes Node.js's Latin-1 TXT and CAA strings as UTF-8. TLSA queries
12
+ * need Node.js 22.15 or 23.9 and later, and fail with `Unsupported` on runtimes
13
+ * without `resolveTlsa`. Other runtimes reuse `lookup`, `resolver`, and the
14
+ * conversion helpers to build their services.
15
+ *
16
+ * @stability experimental
17
+ * @since 4.0.0
18
+ */
19
+ import * as Arr from "effect/Array";
20
+ import * as Config from "effect/Config";
21
+ import * as Duration from "effect/Duration";
22
+ import * as Effect from "effect/Effect";
23
+ import * as Layer from "effect/Layer";
24
+ import * as Dns from "effect/net/Dns";
25
+ import * as Host from "effect/net/Host";
26
+ import * as NetAddress from "effect/net/NetAddress";
27
+ import * as Result from "effect/Result";
28
+ /**
29
+ * Options for the Node.js `Dns` service and `resolver`.
30
+ *
31
+ * **Details**
32
+ *
33
+ * `nameServers` replaces the system name servers, which are converted like
34
+ * `Dns.nameServerFromInput`, and an empty list keeps the system name servers.
35
+ * `timeout` is the time allowed for each attempt and `tries` the number of
36
+ * attempts per name server. Address lookups always use the operating system
37
+ * resolver and are not affected.
38
+ *
39
+ * `timeout` is rounded up to whole milliseconds and `tries` down to a whole
40
+ * number, and both are clamped to 1 through 2^31 - 1, so `Duration.infinity`
41
+ * uses the longest timeout the resolver supports.
42
+ *
43
+ * **Gotchas**
44
+ *
45
+ * Invalid name servers fail with a `NetAddress.NetAddressError` when the
46
+ * service is created, and so do IPv6 name servers with a scope ID, such as
47
+ * link-local addresses, because the resolver drops the scope.
48
+ *
49
+ * @stability experimental
50
+ * @category models
51
+ * @since 4.0.0
52
+ */
53
+ export interface Options {
54
+ readonly nameServers?: ReadonlyArray<NetAddress.IpAddressInput | NetAddress.InetAddressInput> | undefined;
55
+ readonly timeout?: Duration.Input | undefined;
56
+ readonly tries?: number | undefined;
57
+ }
58
+ /**
59
+ * Converts a failure of `node:dns` or of Bun's DNS functions to a
60
+ * `Dns.DnsError`, choosing the reason from the error's `code`.
61
+ *
62
+ * **Details**
63
+ *
64
+ * Bun prefixes c-ares codes with `DNS_`, such as `DNS_ENOTFOUND`; the prefix is
65
+ * ignored. Errors without a known code get the reason `Unknown`.
66
+ *
67
+ * @stability experimental
68
+ * @category converting
69
+ * @since 4.0.0
70
+ */
71
+ export declare const dnsErrorFromCause: (cause: unknown, method: Dns.DnsError["method"], hostname: string, recordType?: Dns.RecordType) => Dns.DnsError;
72
+ /**
73
+ * Converts a name returned by a resolver to a fully qualified
74
+ * `Host.DomainName`, throwing when it is not a valid domain name.
75
+ *
76
+ * @stability experimental
77
+ * @category converting
78
+ * @since 4.0.0
79
+ */
80
+ export declare const domainNameFromResolverUnsafe: (name: string) => Host.DomainName;
81
+ /**
82
+ * Converts a name returned by a resolver to fully qualified text, for names
83
+ * that need not be host names, such as PTR targets and SOA mailboxes.
84
+ *
85
+ * **Details**
86
+ *
87
+ * Resolvers write bytes as `\DDD` escapes, c-ares in decimal (`radix` 10) and
88
+ * `Deno.resolveDns` in octal (`radix` 8), and escape special characters with
89
+ * a backslash, such as `\.` for a dot inside a label or `\(` for a
90
+ * parenthesis. Decoding the bytes as UTF-8 and removing the escapes gives the
91
+ * text of the name, keeping only the `\.` and `\\` escapes.
92
+ *
93
+ * @stability experimental
94
+ * @category converting
95
+ * @since 4.0.0
96
+ */
97
+ export declare const nameTextFromResolver: (name: string, radix?: 8 | 10) => string;
98
+ /**
99
+ * Converts a number of seconds that a resolver reports as a signed 32-bit
100
+ * integer, such as the SOA refresh, retry, and expire intervals, to a
101
+ * `Duration`.
102
+ *
103
+ * @stability experimental
104
+ * @category converting
105
+ * @since 4.0.0
106
+ */
107
+ export declare const secondsFromInt32: (value: number) => Duration.Duration;
108
+ /**
109
+ * Decodes a string that holds one byte per character as UTF-8.
110
+ *
111
+ * **Details**
112
+ *
113
+ * Node.js and `Deno.resolveDns` decode each byte of TXT and CAA character
114
+ * strings as one Latin-1 character; decoding the bytes as UTF-8 matches other
115
+ * runtimes. Strings with only ASCII characters are returned unchanged.
116
+ *
117
+ * @stability experimental
118
+ * @category converting
119
+ * @since 4.0.0
120
+ */
121
+ export declare const utf8FromLatin1: (value: string) => string;
122
+ /**
123
+ * Converts the entries of a resolver's answer to a query for `name` to records
124
+ * of a record type, skipping entries whose data cannot be represented, such as
125
+ * names that are not valid `Host.DomainName` values.
126
+ *
127
+ * **Details**
128
+ *
129
+ * When the answer has entries but every one is skipped, the conversion fails
130
+ * with an `InvalidResponse` error whose cause is the first entry's failure,
131
+ * rather than returning no records, which would be reported as `NotFound`.
132
+ *
133
+ * @stability experimental
134
+ * @category converting
135
+ * @since 4.0.0
136
+ */
137
+ export declare const recordsFromResolver: <T extends Dns.RecordType, A>(name: string, type: T, entries: ReadonlyArray<A>, fields: (entry: A) => Dns.RecordFields<T>) => Result.Result<Array<Dns.RecordFor<T>>, Dns.DnsError>;
138
+ /**
139
+ * Converts an IP family to the numeric family used by `dns.lookup`, with `0`
140
+ * for addresses of either family.
141
+ *
142
+ * @stability experimental
143
+ * @category converting
144
+ * @since 4.0.0
145
+ */
146
+ export declare const toFamily: (family: NetAddress.IpFamily | undefined) => 0 | 4 | 6;
147
+ /**
148
+ * Converts the entries returned by an address lookup, such as `dns.lookup`
149
+ * with `all: true`, to IP addresses, keeping their order.
150
+ *
151
+ * **Details**
152
+ *
153
+ * IPv6 zones are dropped, and addresses that cannot be parsed are skipped.
154
+ *
155
+ * @stability experimental
156
+ * @category converting
157
+ * @since 4.0.0
158
+ */
159
+ export declare const addressesFromLookup: (entries: ReadonlyArray<{
160
+ readonly address: string;
161
+ }>) => Array<NetAddress.IpAddress>;
162
+ /**
163
+ * Looks up the addresses of a host name with `dns.lookup`, keeping the order
164
+ * returned by the operating system resolver.
165
+ *
166
+ * @stability experimental
167
+ * @category resolving
168
+ * @since 4.0.0
169
+ */
170
+ export declare const lookup: (host: string, family?: NetAddress.IpFamily | undefined) => Effect.Effect<Array<NetAddress.IpAddress>, Dns.DnsError>;
171
+ /**
172
+ * Creates a function that queries DNS records with the runtime's `node:dns`
173
+ * module.
174
+ *
175
+ * **Details**
176
+ *
177
+ * All queries share one `dns.Resolver`, which is cancelled when the scope
178
+ * closes. Names in records are fully qualified, and TXT and CAA character
179
+ * strings are returned as the runtime decodes them, without the UTF-8
180
+ * correction that `make` applies for Node.js. Records are converted with
181
+ * `recordsFromResolver`.
182
+ *
183
+ * @stability experimental
184
+ * @category constructors
185
+ * @since 4.0.0
186
+ */
187
+ export declare const resolver: (options?: Options | undefined) => Effect.Effect<(name: string, type: Dns.RecordType) => Effect.Effect<Array<Dns.DnsRecord>, Dns.DnsError>, NetAddress.NetAddressError, import("effect/Scope").Scope>;
188
+ /**
189
+ * Creates a Node.js `Dns` service whose resolver lives as long as the scope.
190
+ *
191
+ * @stability experimental
192
+ * @category constructors
193
+ * @since 4.0.0
194
+ */
195
+ export declare const make: (options?: Options | undefined) => Effect.Effect<{
196
+ lookup<F extends NetAddress.IpFamily>(host: Host.DomainNameInput, options: {
197
+ readonly family: F;
198
+ }): Effect.Effect<Arr.NonEmptyReadonlyArray<NetAddress.FamilyAddress<F>>, Dns.DnsError>;
199
+ lookup(host: Host.DomainNameInput, options?: Dns.LookupOptions): Effect.Effect<Arr.NonEmptyReadonlyArray<NetAddress.IpAddress>, Dns.DnsError>;
200
+ resolve<T extends Dns.RecordType>(name: Host.DomainNameInput, type: T): Effect.Effect<Arr.NonEmptyReadonlyArray<Dns.RecordFor<T>>, Dns.DnsError>;
201
+ reverse(address: NetAddress.IpAddressInput): Effect.Effect<Arr.NonEmptyReadonlyArray<Host.DomainName>, Dns.DnsError>;
202
+ }, NetAddress.NetAddressError, import("effect/Scope").Scope>;
203
+ /**
204
+ * Layer that provides the Node.js `Dns` service using the system resolver
205
+ * configuration.
206
+ *
207
+ * @stability experimental
208
+ * @category layers
209
+ * @since 4.0.0
210
+ */
211
+ export declare const layer: Layer.Layer<Dns.Dns>;
212
+ /**
213
+ * Creates a layer that provides the Node.js `Dns` service with options read
214
+ * from configuration.
215
+ *
216
+ * @stability experimental
217
+ * @category layers
218
+ * @since 4.0.0
219
+ */
220
+ export declare const layerConfig: (options: Config.Wrap<Options>) => Layer.Layer<Dns.Dns, Config.ConfigError | NetAddress.NetAddressError>;
221
+ //# sourceMappingURL=NodeDns.d.ts.map
@@ -0,0 +1,31 @@
1
+ import {
2
+ addressesFromLookup,
3
+ dnsErrorFromCause,
4
+ domainNameFromResolverUnsafe,
5
+ layer,
6
+ layerConfig,
7
+ lookup,
8
+ make,
9
+ nameTextFromResolver,
10
+ recordsFromResolver,
11
+ resolver,
12
+ secondsFromInt32,
13
+ toFamily,
14
+ utf8FromLatin1
15
+ } from "../chunk-ADP5LRUF.js";
16
+ import "../chunk-MLKGABMK.js";
17
+ export {
18
+ addressesFromLookup,
19
+ dnsErrorFromCause,
20
+ domainNameFromResolverUnsafe,
21
+ layer,
22
+ layerConfig,
23
+ lookup,
24
+ make,
25
+ nameTextFromResolver,
26
+ recordsFromResolver,
27
+ resolver,
28
+ secondsFromInt32,
29
+ toFamily,
30
+ utf8FromLatin1
31
+ };
@@ -4,6 +4,7 @@ import * as Layer from "effect/Layer";
4
4
  * Provides the `FileSystem` service backed by Node filesystem APIs, including
5
5
  * file operations, directory operations, links, metadata, and file watching.
6
6
  *
7
+ * @stability unstable
7
8
  * @category layers
8
9
  * @since 4.0.0
9
10
  */
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  layer
3
- } from "../chunk-BKTBUBQY.js";
4
- import "../chunk-42QKY6T6.js";
3
+ } from "../chunk-BY3SDXID.js";
4
+ import "../chunk-2ZAGBWTH.js";
5
5
  import "../chunk-MLKGABMK.js";
6
6
  export {
7
7
  layer
@@ -1,9 +1,10 @@
1
- import type * as Platform from "effect/unstable/http/HttpPlatform";
1
+ import type * as Platform from "effect/http/HttpPlatform";
2
2
  import type { Duplex } from "node:stream";
3
3
  /**
4
4
  * The compression algorithms supported by the runtime's `node:zlib`. `zstd`
5
5
  * requires Node.js 22.15 or newer.
6
6
  *
7
+ * @stability unstable
7
8
  * @category constants
8
9
  * @since 4.0.0
9
10
  */
@@ -13,6 +14,7 @@ export declare const algorithms: ReadonlySet<Platform.CompressionAlgorithm>;
13
14
  * the asynchronous `node:zlib` APIs, setting the exact `Content-Length` of the
14
15
  * compressed body. All other bodies are delegated to `fallback`.
15
16
  *
17
+ * @stability unstable
16
18
  * @category constructors
17
19
  * @since 4.0.0
18
20
  */
@@ -21,6 +23,7 @@ export declare const make: (fallback: Platform.Compression) => Platform.Compress
21
23
  * Creates a `node:zlib` compression transform stream that flushes each input
22
24
  * chunk, for streaming response bodies.
23
25
  *
26
+ * @stability unstable
24
27
  * @category constructors
25
28
  * @since 4.0.0
26
29
  */
@@ -29,6 +32,7 @@ export declare const compressTransform: (algorithm: Platform.CompressionAlgorith
29
32
  * A Web `ReadableStream` version of `compressTransform`, for platforms that
30
33
  * stream response bodies as Web streams.
31
34
  *
35
+ * @stability unstable
32
36
  * @category constructors
33
37
  * @since 4.0.0
34
38
  */
@@ -3,7 +3,7 @@ import {
3
3
  compressTransform,
4
4
  compressTransformWeb,
5
5
  make
6
- } from "../chunk-3GR5VZ2M.js";
6
+ } from "../chunk-3SL3HKQA.js";
7
7
  import "../chunk-MLKGABMK.js";
8
8
  export {
9
9
  algorithms,
@@ -4,6 +4,7 @@ import { Path } from "effect/Path";
4
4
  * Provides the `Path` service using Node's POSIX path implementation plus
5
5
  * file URL conversion helpers.
6
6
  *
7
+ * @stability unstable
7
8
  * @category layers
8
9
  * @since 4.0.0
9
10
  */
@@ -12,6 +13,7 @@ export declare const layerPosix: Layer.Layer<Path>;
12
13
  * Provides the `Path` service using Node's Windows path implementation plus
13
14
  * file URL conversion helpers.
14
15
  *
16
+ * @stability unstable
15
17
  * @category layers
16
18
  * @since 4.0.0
17
19
  */
@@ -20,6 +22,7 @@ export declare const layerWin32: Layer.Layer<Path>;
20
22
  * Provides the default `Path` service using the host platform's Node path
21
23
  * implementation plus file URL conversion helpers.
22
24
  *
25
+ * @stability unstable
23
26
  * @category layers
24
27
  * @since 4.0.0
25
28
  */
@@ -2,7 +2,7 @@ import {
2
2
  layer,
3
3
  layerPosix,
4
4
  layerWin32
5
- } from "../chunk-54RLBMTZ.js";
5
+ } from "../chunk-OF3N2FN4.js";
6
6
  import "../chunk-MLKGABMK.js";
7
7
  export {
8
8
  layer,
@@ -6,6 +6,7 @@
6
6
  * fiber, interrupts that fiber on `SIGINT` or `SIGTERM`, and delegates final
7
7
  * exit-code handling to the configured teardown.
8
8
  *
9
+ * @stability unstable
9
10
  * @since 4.0.0
10
11
  */
11
12
  import type { Effect } from "effect/Effect";
@@ -15,6 +16,7 @@ import * as Runtime from "effect/Runtime";
15
16
  * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
16
17
  * process exit code.
17
18
  *
19
+ * @stability unstable
18
20
  * @category running
19
21
  * @since 4.0.0
20
22
  */
@@ -24,6 +26,7 @@ export declare const runMain: {
24
26
  * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
25
27
  * process exit code.
26
28
  *
29
+ * @stability unstable
27
30
  * @category running
28
31
  * @since 4.0.0
29
32
  */
@@ -36,6 +39,7 @@ export declare const runMain: {
36
39
  * `SIGINT` or `SIGTERM` and invoking the configured teardown to determine the
37
40
  * process exit code.
38
41
  *
42
+ * @stability unstable
39
43
  * @category running
40
44
  * @since 4.0.0
41
45
  */
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runMain
3
- } from "../chunk-LEUPYT3Q.js";
3
+ } from "../chunk-UUYTTEDH.js";
4
4
  import "../chunk-MLKGABMK.js";
5
5
  export {
6
6
  runMain
@@ -7,6 +7,7 @@
7
7
  * the supplied `onError` function, and can end the writable when the upstream
8
8
  * data is done.
9
9
  *
10
+ * @stability unstable
10
11
  * @since 4.0.0
11
12
  */
12
13
  import type { NonEmptyReadonlyArray } from "effect/Array";
@@ -20,6 +21,7 @@ import type { Writable } from "node:stream";
20
21
  * backpressure, mapping writable errors with `onError`, and ending the stream
21
22
  * on completion unless `endOnDone` is `false`.
22
23
  *
24
+ * @stability unstable
23
25
  * @category constructors
24
26
  * @since 4.0.0
25
27
  */
@@ -34,6 +36,7 @@ export declare const fromWritable: <E, A = Uint8Array | string>(options: {
34
36
  * Node writable stream, respecting backpressure and optionally ending the
35
37
  * writable when upstream is done.
36
38
  *
39
+ * @stability unstable
37
40
  * @category constructors
38
41
  * @since 4.0.0
39
42
  */
@@ -56,6 +59,7 @@ export declare const fromWritableChannel: <IE, E, A = Uint8Array | string>(optio
56
59
  * The loop waits for `drain` when needed, fails on writable errors, and ends
57
60
  * the writable on upstream completion unless `endOnDone` is `false`.
58
61
  *
62
+ * @stability unstable
59
63
  * @category converting
60
64
  * @since 4.0.0
61
65
  */
@@ -2,7 +2,7 @@ import {
2
2
  fromWritable,
3
3
  fromWritableChannel,
4
4
  pullIntoWritable
5
- } from "../chunk-OXNGN5H7.js";
5
+ } from "../chunk-A7UXCEJA.js";
6
6
  import "../chunk-MLKGABMK.js";
7
7
  export {
8
8
  fromWritable,