@smthrs/platform-bun 0.0.0-stage → 1.0.0-rc.13
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.
- package/CHANGELOG.md +73 -0
- package/LICENSE +21 -0
- package/README.md +110 -2
- package/dist/cjs/BunFileSystem.d.ts +44 -0
- package/dist/cjs/BunFileSystem.d.ts.map +1 -0
- package/dist/cjs/BunFileSystem.js +38 -0
- package/dist/cjs/BunFileSystem.js.map +7 -0
- package/dist/cjs/BunHost.d.ts +205 -0
- package/dist/cjs/BunHost.d.ts.map +1 -0
- package/dist/cjs/BunHost.js +148 -0
- package/dist/cjs/BunHost.js.map +7 -0
- package/dist/cjs/index.d.ts +26 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/BunFileSystem.d.ts +44 -0
- package/dist/esm/BunFileSystem.d.ts.map +1 -0
- package/dist/esm/BunFileSystem.js +35 -0
- package/dist/esm/BunFileSystem.js.map +1 -0
- package/dist/esm/BunHost.d.ts +205 -0
- package/dist/esm/BunHost.d.ts.map +1 -0
- package/dist/esm/BunHost.js +248 -0
- package/dist/esm/BunHost.js.map +1 -0
- package/dist/esm/index.d.ts +26 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +26 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/vendor/adapters.json +3067 -0
- package/dist/vendor/bun/BunAddressResolver.d.ts +15 -0
- package/dist/vendor/bun/BunAddressResolver.js +8 -0
- package/dist/vendor/bun/BunChildProcessSpawner.d.ts +8 -0
- package/dist/vendor/bun/BunChildProcessSpawner.js +14 -0
- package/dist/vendor/bun/BunClusterHttp.d.ts +76 -0
- package/dist/vendor/bun/BunClusterHttp.js +39 -0
- package/dist/vendor/bun/BunClusterSocket.d.ts +70 -0
- package/dist/vendor/bun/BunClusterSocket.js +22 -0
- package/dist/vendor/bun/BunCrypto.d.ts +11 -0
- package/dist/vendor/bun/BunCrypto.js +8 -0
- package/dist/vendor/bun/BunDatagramSocket.d.ts +227 -0
- package/dist/vendor/bun/BunDatagramSocket.js +11 -0
- package/dist/vendor/bun/BunDns.d.ts +72 -0
- package/dist/vendor/bun/BunDns.js +12 -0
- package/dist/vendor/bun/BunFileSystem.d.ts +11 -0
- package/dist/vendor/bun/BunFileSystem.js +9 -0
- package/dist/vendor/bun/BunHttpClient.d.ts +10 -0
- package/dist/vendor/bun/BunHttpClient.js +1 -0
- package/dist/vendor/bun/BunHttpPlatform.d.ts +11 -0
- package/dist/vendor/bun/BunHttpPlatform.js +11 -0
- package/dist/vendor/bun/BunHttpServer.d.ts +151 -0
- package/dist/vendor/bun/BunHttpServer.js +38 -0
- package/dist/vendor/bun/BunHttpServerRequest.d.ts +20 -0
- package/dist/vendor/bun/BunHttpServerRequest.js +7 -0
- package/dist/vendor/bun/BunMultipart.d.ts +34 -0
- package/dist/vendor/bun/BunMultipart.js +12 -0
- package/dist/vendor/bun/BunPath.d.ts +27 -0
- package/dist/vendor/bun/BunPath.js +12 -0
- package/dist/vendor/bun/BunRedis.d.ts +53 -0
- package/dist/vendor/bun/BunRedis.js +11 -0
- package/dist/vendor/bun/BunRuntime.d.ts +88 -0
- package/dist/vendor/bun/BunRuntime.js +8 -0
- package/dist/vendor/bun/BunServices.d.ts +37 -0
- package/dist/vendor/bun/BunServices.js +23 -0
- package/dist/vendor/bun/BunSink.d.ts +9 -0
- package/dist/vendor/bun/BunSink.js +12 -0
- package/dist/vendor/bun/BunSocket.d.ts +45 -0
- package/dist/vendor/bun/BunSocket.js +29 -0
- package/dist/vendor/bun/BunSocketServer.d.ts +9 -0
- package/dist/vendor/bun/BunSocketServer.js +21 -0
- package/dist/vendor/bun/BunStdio.d.ts +12 -0
- package/dist/vendor/bun/BunStdio.js +10 -0
- package/dist/vendor/bun/BunStream.d.ts +20 -0
- package/dist/vendor/bun/BunStream.js +30 -0
- package/dist/vendor/bun/BunTerminal.d.ts +24 -0
- package/dist/vendor/bun/BunTerminal.js +10 -0
- package/dist/vendor/bun/BunWorker.d.ts +22 -0
- package/dist/vendor/bun/BunWorker.js +9 -0
- package/dist/vendor/bun/BunWorkerRunner.d.ts +13 -0
- package/dist/vendor/bun/BunWorkerRunner.js +7 -0
- package/dist/vendor/bun/LICENSE +21 -0
- package/dist/vendor/bun/index.d.ts +130 -0
- package/dist/vendor/bun/index.js +121 -0
- package/dist/vendor/chunk-226TYKP6.js +60 -0
- package/dist/vendor/chunk-2ADOI6ZN.js +18 -0
- package/dist/vendor/chunk-2AP6TO77.js +71 -0
- package/dist/vendor/chunk-2LGUVSNM.js +20 -0
- package/dist/vendor/chunk-3SUO3TTE.js +40 -0
- package/dist/vendor/chunk-4O4Z52A2.js +48 -0
- package/dist/vendor/chunk-4YK2MHSO.js +20 -0
- package/dist/vendor/chunk-6B775XB2.js +85 -0
- package/dist/vendor/chunk-6KYVM2ZC.js +419 -0
- package/dist/vendor/chunk-6QPSLCUZ.js +0 -0
- package/dist/vendor/chunk-6R444NFO.js +104 -0
- package/dist/vendor/chunk-7JOAEKDV.js +503 -0
- package/dist/vendor/chunk-7VJC3PHX.js +63 -0
- package/dist/vendor/chunk-7ZKNPDTP.js +26 -0
- package/dist/vendor/chunk-ABPRHPJP.js +15 -0
- package/dist/vendor/chunk-AMAL6TRE.js +93 -0
- package/dist/vendor/chunk-AW6WQVI7.js +29 -0
- package/dist/vendor/chunk-BHV44Z6K.js +36 -0
- package/dist/vendor/chunk-BIR74JJK.js +93 -0
- package/dist/vendor/chunk-BTXZUHUI.js +7 -0
- package/dist/vendor/chunk-BVV46N3V.js +515 -0
- package/dist/vendor/chunk-C7UMBJO6.js +31 -0
- package/dist/vendor/chunk-CN4K2U6M.js +20 -0
- package/dist/vendor/chunk-D6XNHJPW.js +18 -0
- package/dist/vendor/chunk-DHTPLWAP.js +34 -0
- package/dist/vendor/chunk-DWSNOBD4.js +18 -0
- package/dist/vendor/chunk-DX4VFONH.js +81 -0
- package/dist/vendor/chunk-EIO7BKW3.js +63 -0
- package/dist/vendor/chunk-FIPFWLCV.js +144 -0
- package/dist/vendor/chunk-GITB76ZP.js +22 -0
- package/dist/vendor/chunk-GMORYZG4.js +62 -0
- package/dist/vendor/chunk-HXGVOKHF.js +22 -0
- package/dist/vendor/chunk-HYPKWCVW.js +374 -0
- package/dist/vendor/chunk-IJON5WTO.js +34 -0
- package/dist/vendor/chunk-IXI7RW3A.js +580 -0
- package/dist/vendor/chunk-J43O5GFH.js +28 -0
- package/dist/vendor/chunk-JTST2Z7N.js +58 -0
- package/dist/vendor/chunk-JYD572EF.js +18 -0
- package/dist/vendor/chunk-K6GWBGJM.js +16 -0
- package/dist/vendor/chunk-KANNAI65.js +62 -0
- package/dist/vendor/chunk-KEMBVIRS.js +128 -0
- package/dist/vendor/chunk-LOB26XOO.js +0 -0
- package/dist/vendor/chunk-M2QOSF47.js +53 -0
- package/dist/vendor/chunk-MLKGABMK.js +9 -0
- package/dist/vendor/chunk-NGGMPIWR.js +65 -0
- package/dist/vendor/chunk-NNTJGFLB.js +21 -0
- package/dist/vendor/chunk-NU53DHQR.js +18 -0
- package/dist/vendor/chunk-OAY4MA3I.js +28 -0
- package/dist/vendor/chunk-OV2KKGBA.js +16 -0
- package/dist/vendor/chunk-PBM2HJOX.js +118 -0
- package/dist/vendor/chunk-Q5UCOQNO.js +70 -0
- package/dist/vendor/chunk-Q7YXUH7M.js +414 -0
- package/dist/vendor/chunk-QKYYD3AZ.js +131 -0
- package/dist/vendor/chunk-QLI7T34M.js +18 -0
- package/dist/vendor/chunk-QR2ZOVOL.js +18 -0
- package/dist/vendor/chunk-R2PFJKSP.js +274 -0
- package/dist/vendor/chunk-RX5TKFP7.js +51 -0
- package/dist/vendor/chunk-S3MN5OXB.js +34 -0
- package/dist/vendor/chunk-T5WDTZCE.js +249 -0
- package/dist/vendor/chunk-TBMTA5LD.js +14 -0
- package/dist/vendor/chunk-TCKM3JXD.js +325 -0
- package/dist/vendor/chunk-UXIG7ALP.js +229 -0
- package/dist/vendor/chunk-V577GRCI.js +438 -0
- package/dist/vendor/chunk-VS6VBUH6.js +57 -0
- package/dist/vendor/chunk-WGUQHMX2.js +18 -0
- package/dist/vendor/chunk-WNS3OER2.js +18 -0
- package/dist/vendor/chunk-X6FYP2EH.js +109 -0
- package/dist/vendor/chunk-XAVBQY4D.js +20 -0
- package/dist/vendor/chunk-XAZH2ZEU.js +43 -0
- package/dist/vendor/chunk-XDPP24MG.js +129 -0
- package/dist/vendor/chunk-XF3WZCMZ.js +26 -0
- package/dist/vendor/chunk-XXVMTKX5.js +0 -0
- package/dist/vendor/chunk-YJGNV6EV.js +85 -0
- package/dist/vendor/chunk-ZJEHEPDQ.js +18 -0
- package/dist/vendor/cjs/bun/BunAddressResolver.d.ts +15 -0
- package/dist/vendor/cjs/bun/BunAddressResolver.js +1 -0
- package/dist/vendor/cjs/bun/BunChildProcessSpawner.d.ts +8 -0
- package/dist/vendor/cjs/bun/BunChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/bun/BunClusterHttp.d.ts +76 -0
- package/dist/vendor/cjs/bun/BunClusterHttp.js +1 -0
- package/dist/vendor/cjs/bun/BunClusterSocket.d.ts +70 -0
- package/dist/vendor/cjs/bun/BunClusterSocket.js +1 -0
- package/dist/vendor/cjs/bun/BunCrypto.d.ts +11 -0
- package/dist/vendor/cjs/bun/BunCrypto.js +1 -0
- package/dist/vendor/cjs/bun/BunDatagramSocket.d.ts +227 -0
- package/dist/vendor/cjs/bun/BunDatagramSocket.js +1 -0
- package/dist/vendor/cjs/bun/BunDns.d.ts +72 -0
- package/dist/vendor/cjs/bun/BunDns.js +1 -0
- package/dist/vendor/cjs/bun/BunFileSystem.d.ts +11 -0
- package/dist/vendor/cjs/bun/BunFileSystem.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpClient.d.ts +10 -0
- package/dist/vendor/cjs/bun/BunHttpClient.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpPlatform.d.ts +11 -0
- package/dist/vendor/cjs/bun/BunHttpPlatform.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpServer.d.ts +151 -0
- package/dist/vendor/cjs/bun/BunHttpServer.js +1 -0
- package/dist/vendor/cjs/bun/BunHttpServerRequest.d.ts +20 -0
- package/dist/vendor/cjs/bun/BunHttpServerRequest.js +1 -0
- package/dist/vendor/cjs/bun/BunMultipart.d.ts +34 -0
- package/dist/vendor/cjs/bun/BunMultipart.js +1 -0
- package/dist/vendor/cjs/bun/BunPath.d.ts +27 -0
- package/dist/vendor/cjs/bun/BunPath.js +1 -0
- package/dist/vendor/cjs/bun/BunRedis.d.ts +53 -0
- package/dist/vendor/cjs/bun/BunRedis.js +1 -0
- package/dist/vendor/cjs/bun/BunRuntime.d.ts +88 -0
- package/dist/vendor/cjs/bun/BunRuntime.js +1 -0
- package/dist/vendor/cjs/bun/BunServices.d.ts +37 -0
- package/dist/vendor/cjs/bun/BunServices.js +1 -0
- package/dist/vendor/cjs/bun/BunSink.d.ts +9 -0
- package/dist/vendor/cjs/bun/BunSink.js +1 -0
- package/dist/vendor/cjs/bun/BunSocket.d.ts +45 -0
- package/dist/vendor/cjs/bun/BunSocket.js +1 -0
- package/dist/vendor/cjs/bun/BunSocketServer.d.ts +9 -0
- package/dist/vendor/cjs/bun/BunSocketServer.js +1 -0
- package/dist/vendor/cjs/bun/BunStdio.d.ts +12 -0
- package/dist/vendor/cjs/bun/BunStdio.js +1 -0
- package/dist/vendor/cjs/bun/BunStream.d.ts +20 -0
- package/dist/vendor/cjs/bun/BunStream.js +1 -0
- package/dist/vendor/cjs/bun/BunTerminal.d.ts +24 -0
- package/dist/vendor/cjs/bun/BunTerminal.js +1 -0
- package/dist/vendor/cjs/bun/BunWorker.d.ts +22 -0
- package/dist/vendor/cjs/bun/BunWorker.js +1 -0
- package/dist/vendor/cjs/bun/BunWorkerRunner.d.ts +13 -0
- package/dist/vendor/cjs/bun/BunWorkerRunner.js +1 -0
- package/dist/vendor/cjs/bun/index.d.ts +130 -0
- package/dist/vendor/cjs/bun/index.js +1 -0
- package/dist/vendor/cjs/node/NodeAddressResolver.d.ts +16 -0
- package/dist/vendor/cjs/node/NodeAddressResolver.js +1 -0
- package/dist/vendor/cjs/node/NodeChildProcessSpawner.d.ts +8 -0
- package/dist/vendor/cjs/node/NodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node/NodeClusterHttp.d.ts +54 -0
- package/dist/vendor/cjs/node/NodeClusterHttp.js +1 -0
- package/dist/vendor/cjs/node/NodeClusterSocket.d.ts +85 -0
- package/dist/vendor/cjs/node/NodeClusterSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeCrypto.d.ts +11 -0
- package/dist/vendor/cjs/node/NodeCrypto.js +1 -0
- package/dist/vendor/cjs/node/NodeDatagramSocket.d.ts +10 -0
- package/dist/vendor/cjs/node/NodeDatagramSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeDns.d.ts +51 -0
- package/dist/vendor/cjs/node/NodeDns.js +1 -0
- package/dist/vendor/cjs/node/NodeFileSystem.d.ts +11 -0
- package/dist/vendor/cjs/node/NodeFileSystem.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpClient.d.ts +303 -0
- package/dist/vendor/cjs/node/NodeHttpClient.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpIncomingMessage.d.ts +64 -0
- package/dist/vendor/cjs/node/NodeHttpIncomingMessage.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpPlatform.d.ts +38 -0
- package/dist/vendor/cjs/node/NodeHttpPlatform.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpServer.d.ts +131 -0
- package/dist/vendor/cjs/node/NodeHttpServer.js +1 -0
- package/dist/vendor/cjs/node/NodeHttpServerRequest.d.ts +32 -0
- package/dist/vendor/cjs/node/NodeHttpServerRequest.js +1 -0
- package/dist/vendor/cjs/node/NodeMultipart.d.ts +50 -0
- package/dist/vendor/cjs/node/NodeMultipart.js +1 -0
- package/dist/vendor/cjs/node/NodeMultipartParser.d.ts +105 -0
- package/dist/vendor/cjs/node/NodeMultipartParser.js +1 -0
- package/dist/vendor/cjs/node/NodePath.d.ts +30 -0
- package/dist/vendor/cjs/node/NodePath.js +1 -0
- package/dist/vendor/cjs/node/NodeRedis.d.ts +78 -0
- package/dist/vendor/cjs/node/NodeRedis.js +1 -0
- package/dist/vendor/cjs/node/NodeRuntime.d.ts +88 -0
- package/dist/vendor/cjs/node/NodeRuntime.js +1 -0
- package/dist/vendor/cjs/node/NodeServices.d.ts +37 -0
- package/dist/vendor/cjs/node/NodeServices.js +1 -0
- package/dist/vendor/cjs/node/NodeSink.d.ts +9 -0
- package/dist/vendor/cjs/node/NodeSink.js +1 -0
- package/dist/vendor/cjs/node/NodeSocket.d.ts +45 -0
- package/dist/vendor/cjs/node/NodeSocket.js +1 -0
- package/dist/vendor/cjs/node/NodeSocketServer.d.ts +9 -0
- package/dist/vendor/cjs/node/NodeSocketServer.js +1 -0
- package/dist/vendor/cjs/node/NodeStdio.d.ts +12 -0
- package/dist/vendor/cjs/node/NodeStdio.js +1 -0
- package/dist/vendor/cjs/node/NodeStream.d.ts +9 -0
- package/dist/vendor/cjs/node/NodeStream.js +1 -0
- package/dist/vendor/cjs/node/NodeTerminal.d.ts +24 -0
- package/dist/vendor/cjs/node/NodeTerminal.js +1 -0
- package/dist/vendor/cjs/node/NodeWorker.d.ts +24 -0
- package/dist/vendor/cjs/node/NodeWorker.js +1 -0
- package/dist/vendor/cjs/node/NodeWorkerRunner.d.ts +13 -0
- package/dist/vendor/cjs/node/NodeWorkerRunner.js +1 -0
- package/dist/vendor/cjs/node/Undici.d.ts +31 -0
- package/dist/vendor/cjs/node/Undici.js +1 -0
- package/dist/vendor/cjs/node/index.d.ts +140 -0
- package/dist/vendor/cjs/node/index.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeAddressResolver.d.ts +13 -0
- package/dist/vendor/cjs/node-shared/NodeAddressResolver.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.d.ts +66 -0
- package/dist/vendor/cjs/node-shared/NodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeClusterSocket.d.ts +35 -0
- package/dist/vendor/cjs/node-shared/NodeClusterSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeCrypto.d.ts +30 -0
- package/dist/vendor/cjs/node-shared/NodeCrypto.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeDatagramSocket.d.ts +246 -0
- package/dist/vendor/cjs/node-shared/NodeDatagramSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeDns.d.ts +221 -0
- package/dist/vendor/cjs/node-shared/NodeDns.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeFileSystem.d.ts +12 -0
- package/dist/vendor/cjs/node-shared/NodeFileSystem.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeHttpCompression.d.ts +40 -0
- package/dist/vendor/cjs/node-shared/NodeHttpCompression.js +1 -0
- package/dist/vendor/cjs/node-shared/NodePath.d.ts +30 -0
- package/dist/vendor/cjs/node-shared/NodePath.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeRuntime.d.ts +51 -0
- package/dist/vendor/cjs/node-shared/NodeRuntime.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSink.d.ts +73 -0
- package/dist/vendor/cjs/node-shared/NodeSink.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSocket.d.ts +144 -0
- package/dist/vendor/cjs/node-shared/NodeSocket.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeSocketServer.d.ts +87 -0
- package/dist/vendor/cjs/node-shared/NodeSocketServer.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeStdio.d.ts +13 -0
- package/dist/vendor/cjs/node-shared/NodeStdio.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeStream.d.ts +194 -0
- package/dist/vendor/cjs/node-shared/NodeStream.js +1 -0
- package/dist/vendor/cjs/node-shared/NodeTerminal.d.ts +24 -0
- package/dist/vendor/cjs/node-shared/NodeTerminal.js +1 -0
- package/dist/vendor/cjs/node-shared/index.d.ts +85 -0
- package/dist/vendor/cjs/node-shared/index.js +1 -0
- package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/dist/vendor/cjs/node-shared/internal/nodeChildProcessSpawner.js +1 -0
- package/dist/vendor/cjs/node-shared/internal/utils.d.ts +2 -0
- package/dist/vendor/cjs/node-shared/internal/utils.js +1 -0
- package/dist/vendor/cjs/package.json +1 -0
- package/dist/vendor/cjs/platform-bun.d.ts +130 -0
- package/dist/vendor/cjs/platform-bun.js +1 -0
- package/dist/vendor/cjs/platform-node-shared.d.ts +85 -0
- package/dist/vendor/cjs/platform-node-shared.js +1 -0
- package/dist/vendor/cjs/platform-node.d.ts +140 -0
- package/dist/vendor/cjs/platform-node.js +1 -0
- package/dist/vendor/node/LICENSE +21 -0
- package/dist/vendor/node/NodeAddressResolver.d.ts +16 -0
- package/dist/vendor/node/NodeAddressResolver.js +8 -0
- package/dist/vendor/node/NodeChildProcessSpawner.d.ts +8 -0
- package/dist/vendor/node/NodeChildProcessSpawner.js +14 -0
- package/dist/vendor/node/NodeClusterHttp.d.ts +54 -0
- package/dist/vendor/node/NodeClusterHttp.js +43 -0
- package/dist/vendor/node/NodeClusterSocket.d.ts +85 -0
- package/dist/vendor/node/NodeClusterSocket.js +30 -0
- package/dist/vendor/node/NodeCrypto.d.ts +11 -0
- package/dist/vendor/node/NodeCrypto.js +8 -0
- package/dist/vendor/node/NodeDatagramSocket.d.ts +10 -0
- package/dist/vendor/node/NodeDatagramSocket.js +12 -0
- package/dist/vendor/node/NodeDns.d.ts +51 -0
- package/dist/vendor/node/NodeDns.js +12 -0
- package/dist/vendor/node/NodeFileSystem.d.ts +11 -0
- package/dist/vendor/node/NodeFileSystem.js +9 -0
- package/dist/vendor/node/NodeHttpClient.d.ts +303 -0
- package/dist/vendor/node/NodeHttpClient.js +54 -0
- package/dist/vendor/node/NodeHttpIncomingMessage.d.ts +64 -0
- package/dist/vendor/node/NodeHttpIncomingMessage.js +10 -0
- package/dist/vendor/node/NodeHttpPlatform.d.ts +38 -0
- package/dist/vendor/node/NodeHttpPlatform.js +16 -0
- package/dist/vendor/node/NodeHttpServer.d.ts +131 -0
- package/dist/vendor/node/NodeHttpServer.js +46 -0
- package/dist/vendor/node/NodeHttpServerRequest.d.ts +32 -0
- package/dist/vendor/node/NodeHttpServerRequest.js +9 -0
- package/dist/vendor/node/NodeMultipart.d.ts +50 -0
- package/dist/vendor/node/NodeMultipart.js +15 -0
- package/dist/vendor/node/NodeMultipartParser.d.ts +105 -0
- package/dist/vendor/node/NodeMultipartParser.js +11 -0
- package/dist/vendor/node/NodePath.d.ts +30 -0
- package/dist/vendor/node/NodePath.js +12 -0
- package/dist/vendor/node/NodeRedis.d.ts +78 -0
- package/dist/vendor/node/NodeRedis.js +11 -0
- package/dist/vendor/node/NodeRuntime.d.ts +88 -0
- package/dist/vendor/node/NodeRuntime.js +8 -0
- package/dist/vendor/node/NodeServices.d.ts +37 -0
- package/dist/vendor/node/NodeServices.js +23 -0
- package/dist/vendor/node/NodeSink.d.ts +9 -0
- package/dist/vendor/node/NodeSink.js +12 -0
- package/dist/vendor/node/NodeSocket.d.ts +45 -0
- package/dist/vendor/node/NodeSocket.js +31 -0
- package/dist/vendor/node/NodeSocketServer.d.ts +9 -0
- package/dist/vendor/node/NodeSocketServer.js +21 -0
- package/dist/vendor/node/NodeStdio.d.ts +12 -0
- package/dist/vendor/node/NodeStdio.js +10 -0
- package/dist/vendor/node/NodeStream.d.ts +9 -0
- package/dist/vendor/node/NodeStream.js +27 -0
- package/dist/vendor/node/NodeTerminal.d.ts +24 -0
- package/dist/vendor/node/NodeTerminal.js +10 -0
- package/dist/vendor/node/NodeWorker.d.ts +24 -0
- package/dist/vendor/node/NodeWorker.js +9 -0
- package/dist/vendor/node/NodeWorkerRunner.d.ts +13 -0
- package/dist/vendor/node/NodeWorkerRunner.js +7 -0
- package/dist/vendor/node/Undici.d.ts +31 -0
- package/dist/vendor/node/Undici.js +9 -0
- package/dist/vendor/node/index.d.ts +140 -0
- package/dist/vendor/node/index.js +130 -0
- package/dist/vendor/node-shared/LICENSE +21 -0
- package/dist/vendor/node-shared/NodeAddressResolver.d.ts +13 -0
- package/dist/vendor/node-shared/NodeAddressResolver.js +7 -0
- package/dist/vendor/node-shared/NodeChildProcessSpawner.d.ts +66 -0
- package/dist/vendor/node-shared/NodeChildProcessSpawner.js +13 -0
- package/dist/vendor/node-shared/NodeClusterSocket.d.ts +35 -0
- package/dist/vendor/node-shared/NodeClusterSocket.js +11 -0
- package/dist/vendor/node-shared/NodeCrypto.d.ts +30 -0
- package/dist/vendor/node-shared/NodeCrypto.js +9 -0
- package/dist/vendor/node-shared/NodeDatagramSocket.d.ts +246 -0
- package/dist/vendor/node-shared/NodeDatagramSocket.js +11 -0
- package/dist/vendor/node-shared/NodeDns.d.ts +221 -0
- package/dist/vendor/node-shared/NodeDns.js +31 -0
- package/dist/vendor/node-shared/NodeFileSystem.d.ts +12 -0
- package/dist/vendor/node-shared/NodeFileSystem.js +8 -0
- package/dist/vendor/node-shared/NodeHttpCompression.d.ts +40 -0
- package/dist/vendor/node-shared/NodeHttpCompression.js +13 -0
- package/dist/vendor/node-shared/NodePath.d.ts +30 -0
- package/dist/vendor/node-shared/NodePath.js +11 -0
- package/dist/vendor/node-shared/NodeRuntime.d.ts +51 -0
- package/dist/vendor/node-shared/NodeRuntime.js +7 -0
- package/dist/vendor/node-shared/NodeSink.d.ts +73 -0
- package/dist/vendor/node-shared/NodeSink.js +11 -0
- package/dist/vendor/node-shared/NodeSocket.d.ts +144 -0
- package/dist/vendor/node-shared/NodeSocket.js +23 -0
- package/dist/vendor/node-shared/NodeSocketServer.d.ts +87 -0
- package/dist/vendor/node-shared/NodeSocketServer.js +20 -0
- package/dist/vendor/node-shared/NodeStdio.d.ts +13 -0
- package/dist/vendor/node-shared/NodeStdio.js +9 -0
- package/dist/vendor/node-shared/NodeStream.d.ts +194 -0
- package/dist/vendor/node-shared/NodeStream.js +26 -0
- package/dist/vendor/node-shared/NodeTerminal.d.ts +24 -0
- package/dist/vendor/node-shared/NodeTerminal.js +9 -0
- package/dist/vendor/node-shared/index.d.ts +85 -0
- package/dist/vendor/node-shared/index.js +70 -0
- package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.d.ts +4 -0
- package/dist/vendor/node-shared/internal/nodeChildProcessSpawner.js +7 -0
- package/dist/vendor/node-shared/internal/utils.d.ts +2 -0
- package/dist/vendor/node-shared/internal/utils.js +7 -0
- package/dist/vendor/platform-bun.d.ts +130 -0
- package/dist/vendor/platform-bun.js +121 -0
- package/dist/vendor/platform-node-shared.d.ts +85 -0
- package/dist/vendor/platform-node-shared.js +70 -0
- package/dist/vendor/platform-node.d.ts +140 -0
- package/dist/vendor/platform-node.js +130 -0
- package/docs/README.md +135 -0
- package/docs/api.md +264 -0
- package/docs/concepts/host-surface.md +152 -0
- package/docs/concepts/runtime-parity.md +80 -0
- package/docs/guides/bind-a-repository-root.md +109 -0
- package/docs/guides/configure-the-filesystem-helper.md +113 -0
- package/docs/guides/contain-child-processes.md +178 -0
- package/docs/installation.md +131 -0
- package/docs/quickstart.md +163 -0
- package/docs/troubleshooting.md +163 -0
- package/package.json +146 -3
- package/src/BunFileSystem.ts +47 -0
- package/src/BunHost.ts +345 -0
- package/src/index.ts +27 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @stability unstable
|
|
3
|
+
* @since 4.0.0
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @stability experimental
|
|
7
|
+
* @since 4.0.0
|
|
8
|
+
*/
|
|
9
|
+
export * as NodeAddressResolver from "./NodeAddressResolver.ts";
|
|
10
|
+
/**
|
|
11
|
+
* @stability unstable
|
|
12
|
+
* @since 4.0.0
|
|
13
|
+
*/
|
|
14
|
+
export * as NodeChildProcessSpawner from "./NodeChildProcessSpawner.ts";
|
|
15
|
+
/**
|
|
16
|
+
* @stability unstable
|
|
17
|
+
* @since 4.0.0
|
|
18
|
+
*/
|
|
19
|
+
export * as NodeClusterHttp from "./NodeClusterHttp.ts";
|
|
20
|
+
/**
|
|
21
|
+
* @stability unstable
|
|
22
|
+
* @since 4.0.0
|
|
23
|
+
*/
|
|
24
|
+
export * as NodeClusterSocket from "./NodeClusterSocket.ts";
|
|
25
|
+
/**
|
|
26
|
+
* @stability unstable
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
*/
|
|
29
|
+
export * as NodeCrypto from "./NodeCrypto.ts";
|
|
30
|
+
/**
|
|
31
|
+
* @stability experimental
|
|
32
|
+
* @since 4.0.0
|
|
33
|
+
*/
|
|
34
|
+
export * as NodeDatagramSocket from "./NodeDatagramSocket.ts";
|
|
35
|
+
/**
|
|
36
|
+
* @stability experimental
|
|
37
|
+
* @since 4.0.0
|
|
38
|
+
*/
|
|
39
|
+
export * as NodeDns from "./NodeDns.ts";
|
|
40
|
+
/**
|
|
41
|
+
* @stability unstable
|
|
42
|
+
* @since 4.0.0
|
|
43
|
+
*/
|
|
44
|
+
export * as NodeFileSystem from "./NodeFileSystem.ts";
|
|
45
|
+
/**
|
|
46
|
+
* @stability unstable
|
|
47
|
+
* @since 4.0.0
|
|
48
|
+
*/
|
|
49
|
+
export * as NodeHttpClient from "./NodeHttpClient.ts";
|
|
50
|
+
/**
|
|
51
|
+
* @stability unstable
|
|
52
|
+
* @since 4.0.0
|
|
53
|
+
*/
|
|
54
|
+
export * as NodeHttpIncomingMessage from "./NodeHttpIncomingMessage.ts";
|
|
55
|
+
/**
|
|
56
|
+
* @stability unstable
|
|
57
|
+
* @since 4.0.0
|
|
58
|
+
*/
|
|
59
|
+
export * as NodeHttpPlatform from "./NodeHttpPlatform.ts";
|
|
60
|
+
/**
|
|
61
|
+
* @stability unstable
|
|
62
|
+
* @since 4.0.0
|
|
63
|
+
*/
|
|
64
|
+
export * as NodeHttpServer from "./NodeHttpServer.ts";
|
|
65
|
+
/**
|
|
66
|
+
* @stability unstable
|
|
67
|
+
* @since 4.0.0
|
|
68
|
+
*/
|
|
69
|
+
export * as NodeHttpServerRequest from "./NodeHttpServerRequest.ts";
|
|
70
|
+
/**
|
|
71
|
+
* @stability unstable
|
|
72
|
+
* @since 4.0.0
|
|
73
|
+
*/
|
|
74
|
+
export * as NodeMultipart from "./NodeMultipart.ts";
|
|
75
|
+
/**
|
|
76
|
+
* @stability unstable
|
|
77
|
+
* @since 4.0.0
|
|
78
|
+
*/
|
|
79
|
+
export * as NodeMultipartParser from "./NodeMultipartParser.ts";
|
|
80
|
+
/**
|
|
81
|
+
* @stability unstable
|
|
82
|
+
* @since 4.0.0
|
|
83
|
+
*/
|
|
84
|
+
export * as NodePath from "./NodePath.ts";
|
|
85
|
+
/**
|
|
86
|
+
* @stability unstable
|
|
87
|
+
* @since 4.0.0
|
|
88
|
+
*/
|
|
89
|
+
export * as NodeRedis from "./NodeRedis.ts";
|
|
90
|
+
/**
|
|
91
|
+
* @stability unstable
|
|
92
|
+
* @since 4.0.0
|
|
93
|
+
*/
|
|
94
|
+
export * as NodeRuntime from "./NodeRuntime.ts";
|
|
95
|
+
/**
|
|
96
|
+
* @stability unstable
|
|
97
|
+
* @since 4.0.0
|
|
98
|
+
*/
|
|
99
|
+
export * as NodeServices from "./NodeServices.ts";
|
|
100
|
+
/**
|
|
101
|
+
* @stability unstable
|
|
102
|
+
* @since 4.0.0
|
|
103
|
+
*/
|
|
104
|
+
export * as NodeSink from "./NodeSink.ts";
|
|
105
|
+
/**
|
|
106
|
+
* @stability unstable
|
|
107
|
+
* @since 4.0.0
|
|
108
|
+
*/
|
|
109
|
+
export * as NodeSocket from "./NodeSocket.ts";
|
|
110
|
+
/**
|
|
111
|
+
* @stability unstable
|
|
112
|
+
* @since 4.0.0
|
|
113
|
+
*/
|
|
114
|
+
export * as NodeSocketServer from "./NodeSocketServer.ts";
|
|
115
|
+
/**
|
|
116
|
+
* @stability unstable
|
|
117
|
+
* @since 4.0.0
|
|
118
|
+
*/
|
|
119
|
+
export * as NodeStdio from "./NodeStdio.ts";
|
|
120
|
+
/**
|
|
121
|
+
* @stability unstable
|
|
122
|
+
* @since 4.0.0
|
|
123
|
+
*/
|
|
124
|
+
export * as NodeStream from "./NodeStream.ts";
|
|
125
|
+
/**
|
|
126
|
+
* @stability unstable
|
|
127
|
+
* @since 4.0.0
|
|
128
|
+
*/
|
|
129
|
+
export * as NodeTerminal from "./NodeTerminal.ts";
|
|
130
|
+
/**
|
|
131
|
+
* @stability unstable
|
|
132
|
+
* @since 4.0.0
|
|
133
|
+
*/
|
|
134
|
+
export * as NodeWorker from "./NodeWorker.ts";
|
|
135
|
+
/**
|
|
136
|
+
* @stability unstable
|
|
137
|
+
* @since 4.0.0
|
|
138
|
+
*/
|
|
139
|
+
export * as NodeWorkerRunner from "./NodeWorkerRunner.ts";
|
|
140
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../node/index.js")
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type * as Layer from "effect/Layer";
|
|
2
|
+
import * as AddressResolver from "effect/net/AddressResolver";
|
|
3
|
+
import type * as Dns from "effect/net/Dns";
|
|
4
|
+
/**
|
|
5
|
+
* Layer that provides the Node.js `AddressResolver` service using the `Dns`
|
|
6
|
+
* service.
|
|
7
|
+
*
|
|
8
|
+
* @stability experimental
|
|
9
|
+
* @category layers
|
|
10
|
+
* @since 4.0.0
|
|
11
|
+
*/
|
|
12
|
+
export declare const layer: Layer.Layer<AddressResolver.AddressResolver, never, Dns.Dns>;
|
|
13
|
+
//# sourceMappingURL=NodeAddressResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../node-shared/NodeAddressResolver.js")
|
|
@@ -0,0 +1,66 @@
|
|
|
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 while the leader is running, and
|
|
23
|
+
* cleanup waits only for the leader's exit. Descendants that outlive the
|
|
24
|
+
* leader are left running.
|
|
25
|
+
*
|
|
26
|
+
* POSIX cleanup targets a numeric process-group ID. If the group disappears
|
|
27
|
+
* and its ID is reused before cleanup, an unrelated group may be signalled.
|
|
28
|
+
*
|
|
29
|
+
* @stability unstable
|
|
30
|
+
* @since 4.0.0
|
|
31
|
+
*/
|
|
32
|
+
import type * as Arr from "effect/Array";
|
|
33
|
+
import * as FileSystem from "effect/FileSystem";
|
|
34
|
+
import * as Layer from "effect/Layer";
|
|
35
|
+
import * as Path from "effect/Path";
|
|
36
|
+
import * as ChildProcess from "effect/process/ChildProcess";
|
|
37
|
+
import { ChildProcessSpawner } from "effect/process/ChildProcessSpawner";
|
|
38
|
+
/**
|
|
39
|
+
* Layer that provides the `NodeChildProcessSpawner` implementation.
|
|
40
|
+
*
|
|
41
|
+
* @stability unstable
|
|
42
|
+
* @category layers
|
|
43
|
+
* @since 4.0.0
|
|
44
|
+
*/
|
|
45
|
+
export declare const layer: Layer.Layer<ChildProcessSpawner, never, FileSystem.FileSystem | Path.Path>;
|
|
46
|
+
/**
|
|
47
|
+
* Result of flattening a pipeline of commands.
|
|
48
|
+
*
|
|
49
|
+
* @stability unstable
|
|
50
|
+
* @category models
|
|
51
|
+
* @since 4.0.0
|
|
52
|
+
*/
|
|
53
|
+
export interface FlattenedPipeline {
|
|
54
|
+
readonly commands: Arr.NonEmptyReadonlyArray<ChildProcess.StandardCommand>;
|
|
55
|
+
readonly pipeOptions: ReadonlyArray<ChildProcess.PipeOptions>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Flattens a `Command` into an array of `StandardCommand`s along with pipe
|
|
59
|
+
* options for each connection.
|
|
60
|
+
*
|
|
61
|
+
* @stability unstable
|
|
62
|
+
* @category transforming
|
|
63
|
+
* @since 4.0.0
|
|
64
|
+
*/
|
|
65
|
+
export declare const flattenCommand: (command: ChildProcess.Command) => FlattenedPipeline;
|
|
66
|
+
//# sourceMappingURL=NodeChildProcessSpawner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../node-shared/NodeChildProcessSpawner.js")
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node TCP socket transport for Effect Cluster runner-to-runner RPC.
|
|
3
|
+
*
|
|
4
|
+
* This module provides the shared Node layers used by socket-based cluster
|
|
5
|
+
* transports. `layerClientProtocol` opens TCP sockets to peer runner addresses
|
|
6
|
+
* and wraps them in the current RPC serialization protocol. `layerSocketServer`
|
|
7
|
+
* exposes the socket server that receives incoming runner RPC traffic.
|
|
8
|
+
*
|
|
9
|
+
* @stability unstable
|
|
10
|
+
* @since 4.0.0
|
|
11
|
+
*/
|
|
12
|
+
import * as Runners from "effect/cluster/Runners";
|
|
13
|
+
import * as ShardingConfig from "effect/cluster/ShardingConfig";
|
|
14
|
+
import * as Layer from "effect/Layer";
|
|
15
|
+
import * as RpcSerialization from "effect/rpc/RpcSerialization";
|
|
16
|
+
import type * as SocketServer from "effect/socket/SocketServer";
|
|
17
|
+
/**
|
|
18
|
+
* Provides the cluster `RpcClientProtocol` by opening TCP sockets to runner
|
|
19
|
+
* addresses and using the current RPC serialization service.
|
|
20
|
+
*
|
|
21
|
+
* @stability unstable
|
|
22
|
+
* @category layers
|
|
23
|
+
* @since 4.0.0
|
|
24
|
+
*/
|
|
25
|
+
export declare const layerClientProtocol: Layer.Layer<Runners.RpcClientProtocol, never, RpcSerialization.RpcSerialization>;
|
|
26
|
+
/**
|
|
27
|
+
* Provides the socket server used by cluster runners, listening on
|
|
28
|
+
* `ShardingConfig.runnerListenAddress` or `runnerAddress`.
|
|
29
|
+
*
|
|
30
|
+
* @stability unstable
|
|
31
|
+
* @category layers
|
|
32
|
+
* @since 4.0.0
|
|
33
|
+
*/
|
|
34
|
+
export declare const layerSocketServer: Layer.Layer<SocketServer.SocketServer, SocketServer.SocketServerError, ShardingConfig.ShardingConfig>;
|
|
35
|
+
//# sourceMappingURL=NodeClusterSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../node-shared/NodeClusterSocket.js")
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
* @stability unstable
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
import * as EffectCrypto from "effect/Crypto";
|
|
13
|
+
import * as Layer from "effect/Layer";
|
|
14
|
+
/**
|
|
15
|
+
* The default Node.js Crypto service implementation.
|
|
16
|
+
*
|
|
17
|
+
* @stability unstable
|
|
18
|
+
* @category constructors
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
*/
|
|
21
|
+
export declare const make: EffectCrypto.Crypto;
|
|
22
|
+
/**
|
|
23
|
+
* Layer that provides the Node.js Crypto service implementation.
|
|
24
|
+
*
|
|
25
|
+
* @stability unstable
|
|
26
|
+
* @category layers
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
*/
|
|
29
|
+
export declare const layer: Layer.Layer<EffectCrypto.Crypto>;
|
|
30
|
+
//# sourceMappingURL=NodeCrypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../node-shared/NodeCrypto.js")
|
|
@@ -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 @@
|
|
|
1
|
+
module.exports = require("../../node-shared/NodeDatagramSocket.js")
|