@effect/platform-bun 0.87.0 → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/BunChildProcessSpawner.d.ts +7 -0
  2. package/dist/BunChildProcessSpawner.d.ts.map +1 -0
  3. package/dist/BunChildProcessSpawner.js +7 -0
  4. package/dist/BunChildProcessSpawner.js.map +1 -0
  5. package/dist/BunClusterHttp.d.ts +45 -0
  6. package/dist/BunClusterHttp.d.ts.map +1 -0
  7. package/dist/BunClusterHttp.js +48 -0
  8. package/dist/BunClusterHttp.js.map +1 -0
  9. package/dist/BunClusterSocket.d.ts +46 -0
  10. package/dist/BunClusterSocket.d.ts.map +1 -0
  11. package/dist/BunClusterSocket.js +60 -0
  12. package/dist/BunClusterSocket.js.map +1 -0
  13. package/dist/BunFileSystem.d.ts +8 -0
  14. package/dist/BunFileSystem.d.ts.map +1 -0
  15. package/dist/BunFileSystem.js.map +1 -0
  16. package/dist/BunHttpClient.d.ts +9 -0
  17. package/dist/BunHttpClient.d.ts.map +1 -0
  18. package/dist/BunHttpClient.js +9 -0
  19. package/dist/BunHttpClient.js.map +1 -0
  20. package/dist/BunHttpPlatform.d.ts +8 -0
  21. package/dist/BunHttpPlatform.d.ts.map +1 -0
  22. package/dist/BunHttpPlatform.js +35 -0
  23. package/dist/BunHttpPlatform.js.map +1 -0
  24. package/dist/BunHttpServer.d.ts +71 -0
  25. package/dist/BunHttpServer.d.ts.map +1 -0
  26. package/dist/{esm/internal/httpServer.js → BunHttpServer.js} +149 -118
  27. package/dist/BunHttpServer.js.map +1 -0
  28. package/dist/BunHttpServerRequest.d.ts +10 -0
  29. package/dist/BunHttpServerRequest.d.ts.map +1 -0
  30. package/dist/BunHttpServerRequest.js +6 -0
  31. package/dist/BunHttpServerRequest.js.map +1 -0
  32. package/dist/BunMultipart.d.ts +20 -0
  33. package/dist/BunMultipart.d.ts.map +1 -0
  34. package/dist/BunMultipart.js +17 -0
  35. package/dist/BunMultipart.js.map +1 -0
  36. package/dist/BunPath.d.ts +18 -0
  37. package/dist/BunPath.d.ts.map +1 -0
  38. package/dist/BunPath.js.map +1 -0
  39. package/dist/BunRedis.d.ts +35 -0
  40. package/dist/BunRedis.d.ts.map +1 -0
  41. package/dist/BunRedis.js +51 -0
  42. package/dist/BunRedis.js.map +1 -0
  43. package/dist/BunRuntime.d.ts +94 -0
  44. package/dist/BunRuntime.d.ts.map +1 -0
  45. package/dist/BunRuntime.js +33 -0
  46. package/dist/BunRuntime.js.map +1 -0
  47. package/dist/BunServices.d.ts +20 -0
  48. package/dist/BunServices.d.ts.map +1 -0
  49. package/dist/BunServices.js +12 -0
  50. package/dist/BunServices.js.map +1 -0
  51. package/dist/BunSink.d.ts.map +1 -0
  52. package/dist/BunSink.js.map +1 -0
  53. package/dist/BunSocket.d.ts +26 -0
  54. package/dist/BunSocket.d.ts.map +1 -0
  55. package/dist/BunSocket.js +18 -0
  56. package/dist/BunSocket.js.map +1 -0
  57. package/dist/BunSocketServer.d.ts.map +1 -0
  58. package/dist/BunSocketServer.js.map +1 -0
  59. package/dist/BunStdio.d.ts +8 -0
  60. package/dist/BunStdio.d.ts.map +1 -0
  61. package/dist/BunStdio.js +10 -0
  62. package/dist/BunStdio.js.map +1 -0
  63. package/dist/BunStream.d.ts +18 -0
  64. package/dist/BunStream.d.ts.map +1 -0
  65. package/dist/BunStream.js +44 -0
  66. package/dist/BunStream.js.map +1 -0
  67. package/dist/{dts/BunTerminal.d.ts → BunTerminal.d.ts} +2 -2
  68. package/dist/BunTerminal.d.ts.map +1 -0
  69. package/dist/{esm/BunTerminal.js → BunTerminal.js} +1 -1
  70. package/dist/BunTerminal.js.map +1 -0
  71. package/dist/BunWorker.d.ts +13 -0
  72. package/dist/BunWorker.d.ts.map +1 -0
  73. package/dist/BunWorker.js +59 -0
  74. package/dist/BunWorker.js.map +1 -0
  75. package/dist/BunWorkerRunner.d.ts +8 -0
  76. package/dist/BunWorkerRunner.d.ts.map +1 -0
  77. package/dist/BunWorkerRunner.js +88 -0
  78. package/dist/BunWorkerRunner.js.map +1 -0
  79. package/dist/index.d.ts +90 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/{esm/index.js → index.js} +21 -7
  82. package/dist/index.js.map +1 -0
  83. package/package.json +51 -195
  84. package/src/BunChildProcessSpawner.ts +6 -0
  85. package/src/BunClusterHttp.ts +48 -35
  86. package/src/BunClusterSocket.ts +55 -21
  87. package/src/BunFileSystem.ts +3 -3
  88. package/src/BunHttpClient.ts +9 -0
  89. package/src/BunHttpPlatform.ts +28 -9
  90. package/src/BunHttpServer.ts +510 -58
  91. package/src/BunHttpServerRequest.ts +4 -4
  92. package/src/BunMultipart.ts +22 -11
  93. package/src/BunPath.ts +5 -6
  94. package/src/BunRedis.ts +74 -0
  95. package/src/BunRuntime.ts +95 -3
  96. package/src/BunServices.ts +33 -0
  97. package/src/BunSocket.ts +20 -10
  98. package/src/BunStdio.ts +12 -0
  99. package/src/BunStream.ts +51 -0
  100. package/src/BunTerminal.ts +2 -2
  101. package/src/BunWorker.ts +63 -21
  102. package/src/BunWorkerRunner.ts +92 -11
  103. package/src/index.ts +37 -19
  104. package/BunClusterHttp/package.json +0 -6
  105. package/BunClusterSocket/package.json +0 -6
  106. package/BunCommandExecutor/package.json +0 -6
  107. package/BunContext/package.json +0 -6
  108. package/BunFileSystem/ParcelWatcher/package.json +0 -6
  109. package/BunFileSystem/package.json +0 -6
  110. package/BunHttpPlatform/package.json +0 -6
  111. package/BunHttpServer/package.json +0 -6
  112. package/BunHttpServerRequest/package.json +0 -6
  113. package/BunKeyValueStore/package.json +0 -6
  114. package/BunMultipart/package.json +0 -6
  115. package/BunPath/package.json +0 -6
  116. package/BunRuntime/package.json +0 -6
  117. package/BunSink/package.json +0 -6
  118. package/BunSocket/package.json +0 -6
  119. package/BunSocketServer/package.json +0 -6
  120. package/BunStream/package.json +0 -6
  121. package/BunTerminal/package.json +0 -6
  122. package/BunWorker/package.json +0 -6
  123. package/BunWorkerRunner/package.json +0 -6
  124. package/dist/cjs/BunClusterHttp.js +0 -59
  125. package/dist/cjs/BunClusterHttp.js.map +0 -1
  126. package/dist/cjs/BunClusterSocket.js +0 -55
  127. package/dist/cjs/BunClusterSocket.js.map +0 -1
  128. package/dist/cjs/BunCommandExecutor.js +0 -18
  129. package/dist/cjs/BunCommandExecutor.js.map +0 -1
  130. package/dist/cjs/BunContext.js +0 -20
  131. package/dist/cjs/BunContext.js.map +0 -1
  132. package/dist/cjs/BunFileSystem/ParcelWatcher.js +0 -18
  133. package/dist/cjs/BunFileSystem/ParcelWatcher.js.map +0 -1
  134. package/dist/cjs/BunFileSystem.js +0 -18
  135. package/dist/cjs/BunFileSystem.js.map +0 -1
  136. package/dist/cjs/BunHttpPlatform.js +0 -19
  137. package/dist/cjs/BunHttpPlatform.js.map +0 -1
  138. package/dist/cjs/BunHttpServer.js +0 -48
  139. package/dist/cjs/BunHttpServer.js.map +0 -1
  140. package/dist/cjs/BunHttpServerRequest.js +0 -14
  141. package/dist/cjs/BunHttpServerRequest.js.map +0 -1
  142. package/dist/cjs/BunKeyValueStore.js +0 -18
  143. package/dist/cjs/BunKeyValueStore.js.map +0 -1
  144. package/dist/cjs/BunMultipart.js +0 -19
  145. package/dist/cjs/BunMultipart.js.map +0 -1
  146. package/dist/cjs/BunPath.js +0 -28
  147. package/dist/cjs/BunPath.js.map +0 -1
  148. package/dist/cjs/BunRuntime.js +0 -18
  149. package/dist/cjs/BunRuntime.js.map +0 -1
  150. package/dist/cjs/BunSink.js +0 -17
  151. package/dist/cjs/BunSink.js.map +0 -1
  152. package/dist/cjs/BunSocket.js +0 -45
  153. package/dist/cjs/BunSocket.js.map +0 -1
  154. package/dist/cjs/BunSocketServer.js +0 -17
  155. package/dist/cjs/BunSocketServer.js.map +0 -1
  156. package/dist/cjs/BunStream.js +0 -17
  157. package/dist/cjs/BunStream.js.map +0 -1
  158. package/dist/cjs/BunTerminal.js +0 -23
  159. package/dist/cjs/BunTerminal.js.map +0 -1
  160. package/dist/cjs/BunWorker.js +0 -29
  161. package/dist/cjs/BunWorker.js.map +0 -1
  162. package/dist/cjs/BunWorkerRunner.js +0 -21
  163. package/dist/cjs/BunWorkerRunner.js.map +0 -1
  164. package/dist/cjs/index.js +0 -46
  165. package/dist/cjs/index.js.map +0 -1
  166. package/dist/cjs/internal/httpPlatform.js +0 -36
  167. package/dist/cjs/internal/httpPlatform.js.map +0 -1
  168. package/dist/cjs/internal/httpServer.js +0 -356
  169. package/dist/cjs/internal/httpServer.js.map +0 -1
  170. package/dist/cjs/internal/multipart.js +0 -160
  171. package/dist/cjs/internal/multipart.js.map +0 -1
  172. package/dist/cjs/internal/worker.js +0 -63
  173. package/dist/cjs/internal/worker.js.map +0 -1
  174. package/dist/cjs/internal/workerRunner.js +0 -84
  175. package/dist/cjs/internal/workerRunner.js.map +0 -1
  176. package/dist/dts/BunClusterHttp.d.ts +0 -30
  177. package/dist/dts/BunClusterHttp.d.ts.map +0 -1
  178. package/dist/dts/BunClusterSocket.d.ts +0 -35
  179. package/dist/dts/BunClusterSocket.d.ts.map +0 -1
  180. package/dist/dts/BunCommandExecutor.d.ts +0 -9
  181. package/dist/dts/BunCommandExecutor.d.ts.map +0 -1
  182. package/dist/dts/BunContext.d.ts +0 -20
  183. package/dist/dts/BunContext.d.ts.map +0 -1
  184. package/dist/dts/BunFileSystem/ParcelWatcher.d.ts +0 -8
  185. package/dist/dts/BunFileSystem/ParcelWatcher.d.ts.map +0 -1
  186. package/dist/dts/BunFileSystem.d.ts +0 -8
  187. package/dist/dts/BunFileSystem.d.ts.map +0 -1
  188. package/dist/dts/BunHttpPlatform.d.ts +0 -19
  189. package/dist/dts/BunHttpPlatform.d.ts.map +0 -1
  190. package/dist/dts/BunHttpServer.d.ts +0 -72
  191. package/dist/dts/BunHttpServer.d.ts.map +0 -1
  192. package/dist/dts/BunHttpServerRequest.d.ts +0 -10
  193. package/dist/dts/BunHttpServerRequest.d.ts.map +0 -1
  194. package/dist/dts/BunKeyValueStore.d.ts +0 -9
  195. package/dist/dts/BunKeyValueStore.d.ts.map +0 -1
  196. package/dist/dts/BunMultipart.d.ts +0 -20
  197. package/dist/dts/BunMultipart.d.ts.map +0 -1
  198. package/dist/dts/BunPath.d.ts +0 -21
  199. package/dist/dts/BunPath.d.ts.map +0 -1
  200. package/dist/dts/BunRuntime.d.ts +0 -7
  201. package/dist/dts/BunRuntime.d.ts.map +0 -1
  202. package/dist/dts/BunSink.d.ts.map +0 -1
  203. package/dist/dts/BunSocket.d.ts +0 -22
  204. package/dist/dts/BunSocket.d.ts.map +0 -1
  205. package/dist/dts/BunSocketServer.d.ts.map +0 -1
  206. package/dist/dts/BunStream.d.ts +0 -8
  207. package/dist/dts/BunStream.d.ts.map +0 -1
  208. package/dist/dts/BunTerminal.d.ts.map +0 -1
  209. package/dist/dts/BunWorker.d.ts +0 -26
  210. package/dist/dts/BunWorker.d.ts.map +0 -1
  211. package/dist/dts/BunWorkerRunner.d.ts +0 -17
  212. package/dist/dts/BunWorkerRunner.d.ts.map +0 -1
  213. package/dist/dts/index.d.ts +0 -77
  214. package/dist/dts/index.d.ts.map +0 -1
  215. package/dist/dts/internal/httpPlatform.d.ts +0 -2
  216. package/dist/dts/internal/httpPlatform.d.ts.map +0 -1
  217. package/dist/dts/internal/httpServer.d.ts +0 -2
  218. package/dist/dts/internal/httpServer.d.ts.map +0 -1
  219. package/dist/dts/internal/multipart.d.ts +0 -2
  220. package/dist/dts/internal/multipart.d.ts.map +0 -1
  221. package/dist/dts/internal/worker.d.ts +0 -2
  222. package/dist/dts/internal/worker.d.ts.map +0 -1
  223. package/dist/dts/internal/workerRunner.d.ts +0 -2
  224. package/dist/dts/internal/workerRunner.d.ts.map +0 -1
  225. package/dist/esm/BunClusterHttp.js +0 -50
  226. package/dist/esm/BunClusterHttp.js.map +0 -1
  227. package/dist/esm/BunClusterSocket.js +0 -45
  228. package/dist/esm/BunClusterSocket.js.map +0 -1
  229. package/dist/esm/BunCommandExecutor.js +0 -10
  230. package/dist/esm/BunCommandExecutor.js.map +0 -1
  231. package/dist/esm/BunContext.js +0 -13
  232. package/dist/esm/BunContext.js.map +0 -1
  233. package/dist/esm/BunFileSystem/ParcelWatcher.js +0 -10
  234. package/dist/esm/BunFileSystem/ParcelWatcher.js.map +0 -1
  235. package/dist/esm/BunFileSystem.js.map +0 -1
  236. package/dist/esm/BunHttpPlatform.js +0 -12
  237. package/dist/esm/BunHttpPlatform.js.map +0 -1
  238. package/dist/esm/BunHttpServer.js +0 -41
  239. package/dist/esm/BunHttpServer.js.map +0 -1
  240. package/dist/esm/BunHttpServerRequest.js +0 -7
  241. package/dist/esm/BunHttpServerRequest.js.map +0 -1
  242. package/dist/esm/BunKeyValueStore.js +0 -10
  243. package/dist/esm/BunKeyValueStore.js.map +0 -1
  244. package/dist/esm/BunMultipart.js +0 -12
  245. package/dist/esm/BunMultipart.js.map +0 -1
  246. package/dist/esm/BunPath.js.map +0 -1
  247. package/dist/esm/BunRuntime.js +0 -10
  248. package/dist/esm/BunRuntime.js.map +0 -1
  249. package/dist/esm/BunSink.js.map +0 -1
  250. package/dist/esm/BunSocket.js +0 -20
  251. package/dist/esm/BunSocket.js.map +0 -1
  252. package/dist/esm/BunSocketServer.js.map +0 -1
  253. package/dist/esm/BunStream.js +0 -8
  254. package/dist/esm/BunStream.js.map +0 -1
  255. package/dist/esm/BunTerminal.js.map +0 -1
  256. package/dist/esm/BunWorker.js +0 -22
  257. package/dist/esm/BunWorker.js.map +0 -1
  258. package/dist/esm/BunWorkerRunner.js +0 -13
  259. package/dist/esm/BunWorkerRunner.js.map +0 -1
  260. package/dist/esm/index.js.map +0 -1
  261. package/dist/esm/internal/httpPlatform.js +0 -29
  262. package/dist/esm/internal/httpPlatform.js.map +0 -1
  263. package/dist/esm/internal/httpServer.js.map +0 -1
  264. package/dist/esm/internal/multipart.js +0 -151
  265. package/dist/esm/internal/multipart.js.map +0 -1
  266. package/dist/esm/internal/worker.js +0 -54
  267. package/dist/esm/internal/worker.js.map +0 -1
  268. package/dist/esm/internal/workerRunner.js +0 -77
  269. package/dist/esm/internal/workerRunner.js.map +0 -1
  270. package/dist/esm/package.json +0 -4
  271. package/index/package.json +0 -6
  272. package/src/BunCommandExecutor.ts +0 -13
  273. package/src/BunContext.ts +0 -40
  274. package/src/BunFileSystem/ParcelWatcher.ts +0 -12
  275. package/src/BunKeyValueStore.ts +0 -15
  276. package/src/internal/httpPlatform.ts +0 -25
  277. package/src/internal/httpServer.ts +0 -478
  278. package/src/internal/multipart.ts +0 -149
  279. package/src/internal/worker.ts +0 -68
  280. package/src/internal/workerRunner.ts +0 -87
  281. /package/dist/{esm/BunFileSystem.js → BunFileSystem.js} +0 -0
  282. /package/dist/{esm/BunPath.js → BunPath.js} +0 -0
  283. /package/dist/{dts/BunSink.d.ts → BunSink.d.ts} +0 -0
  284. /package/dist/{esm/BunSink.js → BunSink.js} +0 -0
  285. /package/dist/{dts/BunSocketServer.d.ts → BunSocketServer.d.ts} +0 -0
  286. /package/dist/{esm/BunSocketServer.js → BunSocketServer.js} +0 -0
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { RedisClient } from "bun";
5
+ import * as Config from "effect/Config";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Fn from "effect/Function";
8
+ import * as Layer from "effect/Layer";
9
+ import * as Scope from "effect/Scope";
10
+ import * as ServiceMap from "effect/ServiceMap";
11
+ import * as Redis from "effect/unstable/persistence/Redis";
12
+ /**
13
+ * @since 1.0.0
14
+ * @category Service
15
+ */
16
+ export class BunRedis extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-bun/BunRedis") {}
17
+ const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
18
+ const scope = yield* Effect.scope;
19
+ yield* Scope.addFinalizer(scope, Effect.sync(() => client.close()));
20
+ const client = new RedisClient(options?.url, options);
21
+ const use = f => Effect.tryPromise({
22
+ try: () => f(client),
23
+ catch: cause => new Redis.RedisError({
24
+ cause
25
+ })
26
+ });
27
+ const redis = yield* Redis.make({
28
+ send: (command, ...args) => Effect.tryPromise({
29
+ try: () => client.send(command, args),
30
+ catch: cause => new Redis.RedisError({
31
+ cause
32
+ })
33
+ })
34
+ });
35
+ const bunRedis = Fn.identity({
36
+ client,
37
+ use
38
+ });
39
+ return ServiceMap.make(BunRedis, bunRedis).pipe(ServiceMap.add(Redis.Redis, redis));
40
+ });
41
+ /**
42
+ * @since 1.0.0
43
+ * @category Layers
44
+ */
45
+ export const layer = options => Layer.effectServices(make(options));
46
+ /**
47
+ * @since 1.0.0
48
+ * @category Layers
49
+ */
50
+ export const layerConfig = options => Layer.effectServices(Config.unwrap(options).asEffect().pipe(Effect.flatMap(make)));
51
+ //# sourceMappingURL=BunRedis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunRedis.js","names":["RedisClient","Config","Effect","Fn","Layer","Scope","ServiceMap","Redis","BunRedis","Service","make","fnUntraced","options","scope","addFinalizer","sync","client","close","url","use","f","tryPromise","try","catch","cause","RedisError","redis","send","command","args","bunRedis","identity","pipe","add","layer","effectServices","layerConfig","unwrap","asEffect","flatMap"],"sources":["../src/BunRedis.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,WAAW,QAA2B,KAAK;AACpD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,EAAE,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAE1D;;;;AAIA,OAAM,MAAOC,QAAS,sBAAQF,UAAU,CAACG,OAAO,EAG5C,CAAC,+BAA+B,CAAC;AAErC,MAAMC,IAAI,gBAAGR,MAAM,CAACS,UAAU,CAAC,WAC7BC,OAEgB;EAEhB,MAAMC,KAAK,GAAG,OAAOX,MAAM,CAACW,KAAK;EACjC,OAAOR,KAAK,CAACS,YAAY,CAACD,KAAK,EAAEX,MAAM,CAACa,IAAI,CAAC,MAAMC,MAAM,CAACC,KAAK,EAAE,CAAC,CAAC;EACnE,MAAMD,MAAM,GAAG,IAAIhB,WAAW,CAACY,OAAO,EAAEM,GAAG,EAAEN,OAAO,CAAC;EAErD,MAAMO,GAAG,GAAOC,CAAsC,IACpDlB,MAAM,CAACmB,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMF,CAAC,CAACJ,MAAM,CAAC;IACpBO,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;MAAED;IAAK,CAAE;GACjD,CAAC;EAEJ,MAAME,KAAK,GAAG,OAAOnB,KAAK,CAACG,IAAI,CAAC;IAC9BiB,IAAI,EAAEA,CAAcC,OAAe,EAAE,GAAGC,IAA2B,KACjE3B,MAAM,CAACmB,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAMN,MAAM,CAACW,IAAI,CAACC,OAAO,EAAEC,IAAqB,CAAe;MACpEN,KAAK,EAAGC,KAAK,IAAK,IAAIjB,KAAK,CAACkB,UAAU,CAAC;QAAED;MAAK,CAAE;KACjD;GACJ,CAAC;EAEF,MAAMM,QAAQ,GAAG3B,EAAE,CAAC4B,QAAQ,CAAsB;IAChDf,MAAM;IACNG;GACD,CAAC;EAEF,OAAOb,UAAU,CAACI,IAAI,CAACF,QAAQ,EAAEsB,QAAQ,CAAC,CAACE,IAAI,CAC7C1B,UAAU,CAAC2B,GAAG,CAAC1B,KAAK,CAACA,KAAK,EAAEmB,KAAK,CAAC,CACnC;AACH,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMQ,KAAK,GAChBtB,OAAgE,IACxBR,KAAK,CAAC+B,cAAc,CAACzB,IAAI,CAACE,OAAO,CAAC,CAAC;AAE7E;;;;AAIA,OAAO,MAAMwB,WAAW,GACtBxB,OAA8D,IAE9DR,KAAK,CAAC+B,cAAc,CAClBlC,MAAM,CAACoC,MAAM,CAACzB,OAAO,CAAC,CAAC0B,QAAQ,EAAE,CAACN,IAAI,CACpC9B,MAAM,CAACqC,OAAO,CAAC7B,IAAI,CAAC,CACrB,CACF","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ import type { Effect } from "effect/Effect";
2
+ import type { Teardown } from "effect/Runtime";
3
+ /**
4
+ * Helps you run a main effect with built-in error handling, logging, and signal management.
5
+ *
6
+ * **Details**
7
+ *
8
+ * This function launches an Effect as the main entry point, setting exit codes
9
+ * based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
10
+ * logging errors. By default, it logs errors and uses a "pretty" format, but both
11
+ * behaviors can be turned off. You can also provide custom teardown logic to
12
+ * finalize resources or produce different exit codes.
13
+ *
14
+ * **Options**
15
+ *
16
+ * An optional object that can include:
17
+ * - `disableErrorReporting`: Turn off automatic error logging.
18
+ * - `disablePrettyLogger`: Avoid adding the pretty logger.
19
+ * - `teardown`: Provide custom finalization logic.
20
+ *
21
+ * **When to Use**
22
+ *
23
+ * Use this function to run an Effect as your application’s main program, especially
24
+ * when you need structured error handling, log management, interrupt support,
25
+ * or advanced teardown capabilities.
26
+ *
27
+ * @since 1.0.0
28
+ * @category Run main
29
+ */
30
+ export declare const runMain: {
31
+ /**
32
+ * Helps you run a main effect with built-in error handling, logging, and signal management.
33
+ *
34
+ * **Details**
35
+ *
36
+ * This function launches an Effect as the main entry point, setting exit codes
37
+ * based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
38
+ * logging errors. By default, it logs errors and uses a "pretty" format, but both
39
+ * behaviors can be turned off. You can also provide custom teardown logic to
40
+ * finalize resources or produce different exit codes.
41
+ *
42
+ * **Options**
43
+ *
44
+ * An optional object that can include:
45
+ * - `disableErrorReporting`: Turn off automatic error logging.
46
+ * - `disablePrettyLogger`: Avoid adding the pretty logger.
47
+ * - `teardown`: Provide custom finalization logic.
48
+ *
49
+ * **When to Use**
50
+ *
51
+ * Use this function to run an Effect as your application’s main program, especially
52
+ * when you need structured error handling, log management, interrupt support,
53
+ * or advanced teardown capabilities.
54
+ *
55
+ * @since 1.0.0
56
+ * @category Run main
57
+ */
58
+ (options?: {
59
+ readonly disableErrorReporting?: boolean | undefined;
60
+ readonly teardown?: Teardown | undefined;
61
+ }): <E, A>(effect: Effect<A, E>) => void;
62
+ /**
63
+ * Helps you run a main effect with built-in error handling, logging, and signal management.
64
+ *
65
+ * **Details**
66
+ *
67
+ * This function launches an Effect as the main entry point, setting exit codes
68
+ * based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
69
+ * logging errors. By default, it logs errors and uses a "pretty" format, but both
70
+ * behaviors can be turned off. You can also provide custom teardown logic to
71
+ * finalize resources or produce different exit codes.
72
+ *
73
+ * **Options**
74
+ *
75
+ * An optional object that can include:
76
+ * - `disableErrorReporting`: Turn off automatic error logging.
77
+ * - `disablePrettyLogger`: Avoid adding the pretty logger.
78
+ * - `teardown`: Provide custom finalization logic.
79
+ *
80
+ * **When to Use**
81
+ *
82
+ * Use this function to run an Effect as your application’s main program, especially
83
+ * when you need structured error handling, log management, interrupt support,
84
+ * or advanced teardown capabilities.
85
+ *
86
+ * @since 1.0.0
87
+ * @category Run main
88
+ */
89
+ <E, A>(effect: Effect<A, E>, options?: {
90
+ readonly disableErrorReporting?: boolean | undefined;
91
+ readonly teardown?: Teardown | undefined;
92
+ }): void;
93
+ };
94
+ //# sourceMappingURL=BunRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunRuntime.d.ts","sourceRoot":"","sources":["../src/BunRuntime.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,CACE,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAA;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,CAAC,CAAC,EAAE,CAAC,EACH,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpD,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KACzC,GACA,IAAI,CAAA;CACc,CAAA"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime";
5
+ /**
6
+ * Helps you run a main effect with built-in error handling, logging, and signal management.
7
+ *
8
+ * **Details**
9
+ *
10
+ * This function launches an Effect as the main entry point, setting exit codes
11
+ * based on success or failure, handling interrupts (e.g., Ctrl+C), and optionally
12
+ * logging errors. By default, it logs errors and uses a "pretty" format, but both
13
+ * behaviors can be turned off. You can also provide custom teardown logic to
14
+ * finalize resources or produce different exit codes.
15
+ *
16
+ * **Options**
17
+ *
18
+ * An optional object that can include:
19
+ * - `disableErrorReporting`: Turn off automatic error logging.
20
+ * - `disablePrettyLogger`: Avoid adding the pretty logger.
21
+ * - `teardown`: Provide custom finalization logic.
22
+ *
23
+ * **When to Use**
24
+ *
25
+ * Use this function to run an Effect as your application’s main program, especially
26
+ * when you need structured error handling, log management, interrupt support,
27
+ * or advanced teardown capabilities.
28
+ *
29
+ * @since 1.0.0
30
+ * @category Run main
31
+ */
32
+ export const runMain = NodeRuntime.runMain;
33
+ //# sourceMappingURL=BunRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunRuntime.js","names":["NodeRuntime","runMain"],"sources":["../src/BunRuntime.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,0CAA0C;AAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAMC,OAAO,GAoEhBD,WAAW,CAACC,OAAO","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type { FileSystem } from "effect/FileSystem";
5
+ import * as Layer from "effect/Layer";
6
+ import type { Path } from "effect/Path";
7
+ import type { Stdio } from "effect/Stdio";
8
+ import type { Terminal } from "effect/Terminal";
9
+ import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
10
+ /**
11
+ * @since 1.0.0
12
+ * @category models
13
+ */
14
+ export type BunServices = ChildProcessSpawner | FileSystem | Path | Terminal | Stdio;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category layer
18
+ */
19
+ export declare const layer: Layer.Layer<BunServices>;
20
+ //# sourceMappingURL=BunServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunServices.d.ts","sourceRoot":"","sources":["../src/BunServices.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AAOtF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAA;AAEpF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAO1C,CAAA"}
@@ -0,0 +1,12 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as BunChildProcessSpawner from "./BunChildProcessSpawner.js";
3
+ import * as BunFileSystem from "./BunFileSystem.js";
4
+ import * as BunPath from "./BunPath.js";
5
+ import * as BunStdio from "./BunStdio.js";
6
+ import * as BunTerminal from "./BunTerminal.js";
7
+ /**
8
+ * @since 1.0.0
9
+ * @category layer
10
+ */
11
+ export const layer = /*#__PURE__*/BunChildProcessSpawner.layer.pipe(/*#__PURE__*/Layer.provideMerge(/*#__PURE__*/Layer.mergeAll(BunFileSystem.layer, BunPath.layer, BunStdio.layer, BunTerminal.layer)));
12
+ //# sourceMappingURL=BunServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunServices.js","names":["Layer","BunChildProcessSpawner","BunFileSystem","BunPath","BunStdio","BunTerminal","layer","pipe","provideMerge","mergeAll"],"sources":["../src/BunServices.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AAKrC,OAAO,KAAKC,sBAAsB,MAAM,6BAA6B;AACrE,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AACnD,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAQ/C;;;;AAIA,OAAO,MAAMC,KAAK,gBAA6BL,sBAAsB,CAACK,KAAK,CAACC,IAAI,cAC9EP,KAAK,CAACQ,YAAY,cAACR,KAAK,CAACS,QAAQ,CAC/BP,aAAa,CAACI,KAAK,EACnBH,OAAO,CAACG,KAAK,EACbF,QAAQ,CAACE,KAAK,EACdD,WAAW,CAACC,KAAK,CAClB,CAAC,CACH","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunSink.d.ts","sourceRoot":"","sources":["../src/BunSink.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,cAAc,uCAAuC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunSink.js","names":[],"sources":["../src/BunSink.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;AAGA,cAAc,uCAAuC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Duration from "effect/Duration";
5
+ import type { Effect } from "effect/Effect";
6
+ import * as Layer from "effect/Layer";
7
+ import * as Socket from "effect/unstable/socket/Socket";
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+ export * from "@effect/platform-node-shared/NodeSocket";
12
+ /**
13
+ * @since 1.0.0
14
+ * @category layers
15
+ */
16
+ export declare const layerWebSocketConstructor: Layer.Layer<Socket.WebSocketConstructor>;
17
+ /**
18
+ * @since 1.0.0
19
+ * @category layers
20
+ */
21
+ export declare const layerWebSocket: (url: string | Effect<string>, options?: {
22
+ readonly closeCodeIsError?: ((code: number) => boolean) | undefined;
23
+ readonly openTimeout?: Duration.DurationInput | undefined;
24
+ readonly protocols?: string | Array<string> | undefined;
25
+ } | undefined) => Layer.Layer<Socket.Socket, never, never>;
26
+ //# sourceMappingURL=BunSocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunSocket.d.ts","sourceRoot":"","sources":["../src/BunSocket.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,KAAK,CACjD,MAAM,CAAC,oBAAoB,CAG5B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAC3B,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;IACnE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACxD,GAAG,SAAS,KACV,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAI3C,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { flow } from "effect/Function";
2
+ import * as Layer from "effect/Layer";
3
+ import * as Socket from "effect/unstable/socket/Socket";
4
+ /**
5
+ * @since 1.0.0
6
+ */
7
+ export * from "@effect/platform-node-shared/NodeSocket";
8
+ /**
9
+ * @since 1.0.0
10
+ * @category layers
11
+ */
12
+ export const layerWebSocketConstructor = /*#__PURE__*/Layer.succeed(Socket.WebSocketConstructor)((url, protocols) => new globalThis.WebSocket(url, protocols));
13
+ /**
14
+ * @since 1.0.0
15
+ * @category layers
16
+ */
17
+ export const layerWebSocket = /*#__PURE__*/flow(Socket.makeWebSocket, /*#__PURE__*/Layer.effect(Socket.Socket), /*#__PURE__*/Layer.provide(layerWebSocketConstructor));
18
+ //# sourceMappingURL=BunSocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunSocket.js","names":["flow","Layer","Socket","layerWebSocketConstructor","succeed","WebSocketConstructor","url","protocols","globalThis","WebSocket","layerWebSocket","makeWebSocket","effect","provide"],"sources":["../src/BunSocket.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD;;;AAGA,cAAc,yCAAyC;AAEvD;;;;AAIA,OAAO,MAAMC,yBAAyB,gBAElCF,KAAK,CAACG,OAAO,CAACF,MAAM,CAACG,oBAAoB,CAAC,CAC5C,CAACC,GAAG,EAAEC,SAAS,KAAK,IAAIC,UAAU,CAACC,SAAS,CAACH,GAAG,EAAEC,SAAS,CAAC,CAC7D;AAED;;;;AAIA,OAAO,MAAMG,cAAc,gBAOqBV,IAAI,CAClDE,MAAM,CAACS,aAAa,eACpBV,KAAK,CAACW,MAAM,CAACV,MAAM,CAACA,MAAM,CAAC,eAC3BD,KAAK,CAACY,OAAO,CAACV,yBAAyB,CAAC,CACzC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunSocketServer.d.ts","sourceRoot":"","sources":["../src/BunSocketServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,cAAc,+CAA+C,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunSocketServer.js","names":[],"sources":["../src/BunSocketServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;;;AAGA,cAAc,+CAA+C","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type * as Layer from "effect/Layer";
2
+ import type { Stdio } from "effect/Stdio";
3
+ /**
4
+ * @since 1.0.0
5
+ * @category layer
6
+ */
7
+ export declare const layer: Layer.Layer<Stdio>;
8
+ //# sourceMappingURL=BunStdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunStdio.d.ts","sourceRoot":"","sources":["../src/BunStdio.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAmB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as NodeStdio from "@effect/platform-node-shared/NodeStdio";
5
+ /**
6
+ * @since 1.0.0
7
+ * @category layer
8
+ */
9
+ export const layer = NodeStdio.layer;
10
+ //# sourceMappingURL=BunStdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunStdio.js","names":["NodeStdio","layer"],"sources":["../src/BunStdio.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,wCAAwC;AAInE;;;;AAIA,OAAO,MAAMC,KAAK,GAAuBD,SAAS,CAACC,KAAK","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import type { LazyArg } from "effect/Function";
2
+ import * as Stream from "effect/Stream";
3
+ /**
4
+ * @since 1.0.0
5
+ */
6
+ export * from "@effect/platform-node-shared/NodeStream";
7
+ /**
8
+ * An optimized version of `Stream.fromReadableStream` that uses the Bun
9
+ * .readMany API to read multiple values at once from a `ReadableStream`.
10
+ *
11
+ * @since 1.0.0
12
+ */
13
+ export declare const fromReadableStream: <A, E>(options: {
14
+ readonly evaluate: LazyArg<ReadableStream<A>>;
15
+ readonly onError: (error: unknown) => E;
16
+ readonly releaseLockOnEnd?: boolean | undefined;
17
+ }) => Stream.Stream<A, E>;
18
+ //# sourceMappingURL=BunStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunStream.d.ts","sourceRoot":"","sources":["../src/BunStream.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,cAAc,yCAAyC,CAAA;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EACrC,SAAS;IACP,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAChD,KACA,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CA6Bf,CAAA"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Arr from "effect/Array";
5
+ import * as Cause from "effect/Cause";
6
+ import * as Channel from "effect/Channel";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Scope from "effect/Scope";
9
+ import * as Stream from "effect/Stream";
10
+ /**
11
+ * @since 1.0.0
12
+ */
13
+ export * from "@effect/platform-node-shared/NodeStream";
14
+ /**
15
+ * An optimized version of `Stream.fromReadableStream` that uses the Bun
16
+ * .readMany API to read multiple values at once from a `ReadableStream`.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+ export const fromReadableStream = options => Stream.fromChannel(Channel.fromTransform(Effect.fnUntraced(function* (_, scope) {
21
+ const reader = options.evaluate().getReader();
22
+ yield* Scope.addFinalizer(scope, options.releaseLockOnEnd ? Effect.sync(() => reader.releaseLock()) : Effect.promise(() => reader.cancel()));
23
+ const readMany = Effect.callback(resume => {
24
+ const result = reader.readMany();
25
+ if ("then" in result) {
26
+ result.then(_ => resume(Effect.succeed(_)), e => resume(Effect.fail(options.onError(e))));
27
+ } else {
28
+ resume(Effect.succeed(result));
29
+ }
30
+ });
31
+ // @effect-diagnostics-next-line returnEffectInGen:off
32
+ return Effect.flatMap(readMany, function loop({
33
+ done,
34
+ value
35
+ }) {
36
+ if (done) {
37
+ return Cause.done();
38
+ } else if (!Arr.isReadonlyArrayNonEmpty(value)) {
39
+ return Effect.flatMap(readMany, loop);
40
+ }
41
+ return Effect.succeed(value);
42
+ });
43
+ })));
44
+ //# sourceMappingURL=BunStream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunStream.js","names":["Arr","Cause","Channel","Effect","Scope","Stream","fromReadableStream","options","fromChannel","fromTransform","fnUntraced","_","scope","reader","evaluate","getReader","addFinalizer","releaseLockOnEnd","sync","releaseLock","promise","cancel","readMany","callback","resume","result","then","succeed","e","fail","onError","flatMap","loop","done","value","isReadonlyArrayNonEmpty"],"sources":["../src/BunStream.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC;;;AAGA,cAAc,yCAAyC;AAEvD;;;;;;AAMA,OAAO,MAAMC,kBAAkB,GAC7BC,OAIC,IAEDF,MAAM,CAACG,WAAW,CAACN,OAAO,CAACO,aAAa,CAACN,MAAM,CAACO,UAAU,CAAC,WAAUC,CAAC,EAAEC,KAAK;EAC3E,MAAMC,MAAM,GAAGN,OAAO,CAACO,QAAQ,EAAE,CAACC,SAAS,EAAE;EAC7C,OAAOX,KAAK,CAACY,YAAY,CACvBJ,KAAK,EACLL,OAAO,CAACU,gBAAgB,GAAGd,MAAM,CAACe,IAAI,CAAC,MAAML,MAAM,CAACM,WAAW,EAAE,CAAC,GAAGhB,MAAM,CAACiB,OAAO,CAAC,MAAMP,MAAM,CAACQ,MAAM,EAAE,CAAC,CAC3G;EACD,MAAMC,QAAQ,GAAGnB,MAAM,CAACoB,QAAQ,CAAiDC,MAAM,IAAI;IACzF,MAAMC,MAAM,GAAGZ,MAAM,CAACS,QAAQ,EAAE;IAChC,IAAI,MAAM,IAAIG,MAAM,EAAE;MACpBA,MAAM,CAACC,IAAI,CAAEf,CAAC,IAAKa,MAAM,CAACrB,MAAM,CAACwB,OAAO,CAAChB,CAAC,CAAC,CAAC,EAAGiB,CAAC,IAAKJ,MAAM,CAACrB,MAAM,CAAC0B,IAAI,CAACtB,OAAO,CAACuB,OAAO,CAACF,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC,MAAM;MACLJ,MAAM,CAACrB,MAAM,CAACwB,OAAO,CAACF,MAAM,CAAC,CAAC;IAChC;EACF,CAAC,CAAC;EACF;EACA,OAAOtB,MAAM,CAAC4B,OAAO,CACnBT,QAAQ,EACR,SAASU,IAAIA,CACX;IAAEC,IAAI;IAAEC;EAAK,CAAE;IAEf,IAAID,IAAI,EAAE;MACR,OAAOhC,KAAK,CAACgC,IAAI,EAAE;IACrB,CAAC,MAAM,IAAI,CAACjC,GAAG,CAACmC,uBAAuB,CAACD,KAAK,CAAC,EAAE;MAC9C,OAAO/B,MAAM,CAAC4B,OAAO,CAACT,QAAQ,EAAEU,IAAI,CAAC;IACvC;IACA,OAAO7B,MAAM,CAACwB,OAAO,CAACO,KAAK,CAAC;EAC9B,CAAC,CACF;AACH,CAAC,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import type { Terminal, UserInput } from "@effect/platform/Terminal";
2
1
  import type { Effect } from "effect/Effect";
3
2
  import type { Layer } from "effect/Layer";
4
3
  import type { Scope } from "effect/Scope";
4
+ import type { Terminal, UserInput } from "effect/Terminal";
5
5
  /**
6
6
  * @since 1.0.0
7
7
  * @category constructors
@@ -9,7 +9,7 @@ import type { Scope } from "effect/Scope";
9
9
  export declare const make: (shouldQuit?: (input: UserInput) => boolean) => Effect<Terminal, never, Scope>;
10
10
  /**
11
11
  * @since 1.0.0
12
- * @category layer
12
+ * @category layers
13
13
  */
14
14
  export declare const layer: Layer<Terminal>;
15
15
  //# sourceMappingURL=BunTerminal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunTerminal.d.ts","sourceRoot":"","sources":["../src/BunTerminal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAA;AAErH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAsB,CAAA"}
@@ -9,7 +9,7 @@ import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal";
9
9
  export const make = NodeTerminal.make;
10
10
  /**
11
11
  * @since 1.0.0
12
- * @category layer
12
+ * @category layers
13
13
  */
14
14
  export const layer = NodeTerminal.layer;
15
15
  //# sourceMappingURL=BunTerminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunTerminal.js","names":["NodeTerminal","make","layer"],"sources":["../src/BunTerminal.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,YAAY,MAAM,2CAA2C;AAMzE;;;;AAIA,OAAO,MAAMC,IAAI,GAAmFD,YAAY,CAACC,IAAI;AAErH;;;;AAIA,OAAO,MAAMC,KAAK,GAAoBF,YAAY,CAACE,KAAK","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as Worker from "effect/unstable/workers/Worker";
3
+ /**
4
+ * @since 1.0.0
5
+ * @category layers
6
+ */
7
+ export declare const layer: (spawn: (id: number) => globalThis.Worker) => Layer.Layer<Worker.WorkerPlatform | Worker.Spawner>;
8
+ /**
9
+ * @since 1.0.0
10
+ * @category layers
11
+ */
12
+ export declare const layerPlatform: Layer.Layer<Worker.WorkerPlatform, never, never>;
13
+ //# sourceMappingURL=BunWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunWorker.d.ts","sourceRoot":"","sources":["../src/BunWorker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AAGxD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,EAAE,EAAE,MAAM,KAAK,UAAU,CAAC,MAAM,KACvC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAIlD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,aAAa,kDAgDzB,CAAA"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Deferred from "effect/Deferred";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Exit from "effect/Exit";
7
+ import * as Layer from "effect/Layer";
8
+ import * as Scope from "effect/Scope";
9
+ import * as Worker from "effect/unstable/workers/Worker";
10
+ import { WorkerError, WorkerUnknownError } from "effect/unstable/workers/WorkerError";
11
+ /**
12
+ * @since 1.0.0
13
+ * @category layers
14
+ */
15
+ export const layer = spawn => Layer.merge(layerPlatform, Layer.succeed(Worker.Spawner)(spawn));
16
+ /**
17
+ * @since 1.0.0
18
+ * @category layers
19
+ */
20
+ export const layerPlatform = /*#__PURE__*/Layer.succeed(Worker.WorkerPlatform)(/*#__PURE__*/Worker.makePlatform()({
21
+ setup({
22
+ scope,
23
+ worker
24
+ }) {
25
+ const closeDeferred = Deferred.makeUnsafe();
26
+ worker.addEventListener("close", () => {
27
+ Deferred.doneUnsafe(closeDeferred, Exit.void);
28
+ });
29
+ return Effect.as(Scope.addFinalizer(scope, Effect.suspend(() => {
30
+ worker.postMessage([1]);
31
+ return Deferred.await(closeDeferred);
32
+ }).pipe(Effect.interruptible, Effect.timeout(5000), Effect.catchCause(() => Effect.sync(() => worker.terminate())))), worker);
33
+ },
34
+ listen({
35
+ deferred,
36
+ emit,
37
+ port,
38
+ scope
39
+ }) {
40
+ function onMessage(event) {
41
+ emit(event.data);
42
+ }
43
+ function onError(event) {
44
+ Deferred.doneUnsafe(deferred, new WorkerError({
45
+ reason: new WorkerUnknownError({
46
+ message: "An error event was emitted",
47
+ cause: event.error ?? event.message
48
+ })
49
+ }).asEffect());
50
+ }
51
+ port.addEventListener("message", onMessage);
52
+ port.addEventListener("error", onError);
53
+ return Scope.addFinalizer(scope, Effect.sync(() => {
54
+ port.removeEventListener("message", onMessage);
55
+ port.removeEventListener("error", onError);
56
+ }));
57
+ }
58
+ }));
59
+ //# sourceMappingURL=BunWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunWorker.js","names":["Deferred","Effect","Exit","Layer","Scope","Worker","WorkerError","WorkerUnknownError","layer","spawn","merge","layerPlatform","succeed","Spawner","WorkerPlatform","makePlatform","setup","scope","worker","closeDeferred","makeUnsafe","addEventListener","doneUnsafe","void","as","addFinalizer","suspend","postMessage","await","pipe","interruptible","timeout","catchCause","sync","terminate","listen","deferred","emit","port","onMessage","event","data","onError","reason","message","cause","error","asEffect","removeEventListener"],"sources":["../src/BunWorker.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,gCAAgC;AACxD,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,qCAAqC;AAErF;;;;AAIA,OAAO,MAAMC,KAAK,GAChBC,KAAwC,IAExCN,KAAK,CAACO,KAAK,CACTC,aAAa,EACbR,KAAK,CAACS,OAAO,CAACP,MAAM,CAACQ,OAAO,CAAC,CAACJ,KAAK,CAAC,CACrC;AAEH;;;;AAIA,OAAO,MAAME,aAAa,gBAAGR,KAAK,CAACS,OAAO,CAACP,MAAM,CAACS,cAAc,CAAC,cAC/DT,MAAM,CAACU,YAAY,EAAqB,CAAC;EACvCC,KAAKA,CAAC;IAAEC,KAAK;IAAEC;EAAM,CAAE;IACrB,MAAMC,aAAa,GAAGnB,QAAQ,CAACoB,UAAU,EAAQ;IACjDF,MAAM,CAACG,gBAAgB,CAAC,OAAO,EAAE,MAAK;MACpCrB,QAAQ,CAACsB,UAAU,CAACH,aAAa,EAAEjB,IAAI,CAACqB,IAAI,CAAC;IAC/C,CAAC,CAAC;IACF,OAAOtB,MAAM,CAACuB,EAAE,CACdpB,KAAK,CAACqB,YAAY,CAChBR,KAAK,EACLhB,MAAM,CAACyB,OAAO,CAAC,MAAK;MAClBR,MAAM,CAACS,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;MACvB,OAAO3B,QAAQ,CAAC4B,KAAK,CAACT,aAAa,CAAC;IACtC,CAAC,CAAC,CAACU,IAAI,CACL5B,MAAM,CAAC6B,aAAa,EACpB7B,MAAM,CAAC8B,OAAO,CAAC,IAAI,CAAC,EACpB9B,MAAM,CAAC+B,UAAU,CAAC,MAAM/B,MAAM,CAACgC,IAAI,CAAC,MAAMf,MAAM,CAACgB,SAAS,EAAE,CAAC,CAAC,CAC/D,CACF,EACDhB,MAAM,CACP;EACH,CAAC;EACDiB,MAAMA,CAAC;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,IAAI;IAAErB;EAAK,CAAE;IACpC,SAASsB,SAASA,CAACC,KAAmB;MACpCH,IAAI,CAACG,KAAK,CAACC,IAAI,CAAC;IAClB;IACA,SAASC,OAAOA,CAACF,KAAiB;MAChCxC,QAAQ,CAACsB,UAAU,CACjBc,QAAQ,EACR,IAAI9B,WAAW,CAAC;QACdqC,MAAM,EAAE,IAAIpC,kBAAkB,CAAC;UAC7BqC,OAAO,EAAE,4BAA4B;UACrCC,KAAK,EAAEL,KAAK,CAACM,KAAK,IAAIN,KAAK,CAACI;SAC7B;OACF,CAAC,CAACG,QAAQ,EAAE,CACd;IACH;IACAT,IAAI,CAACjB,gBAAgB,CAAC,SAAS,EAAEkB,SAAS,CAAC;IAC3CD,IAAI,CAACjB,gBAAgB,CAAC,OAAO,EAAEqB,OAAO,CAAC;IACvC,OAAOtC,KAAK,CAACqB,YAAY,CACvBR,KAAK,EACLhB,MAAM,CAACgC,IAAI,CAAC,MAAK;MACfK,IAAI,CAACU,mBAAmB,CAAC,SAAS,EAAET,SAAS,CAAC;MAC9CD,IAAI,CAACU,mBAAmB,CAAC,OAAO,EAAEN,OAAO,CAAC;IAC5C,CAAC,CAAC,CACH;EACH;CACD,CAAC,CACH","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
3
+ /**
4
+ * @since 1.0.0
5
+ * @category layers
6
+ */
7
+ export declare const layer: Layer.Layer<WorkerRunner.WorkerRunnerPlatform>;
8
+ //# sourceMappingURL=BunWorkerRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BunWorkerRunner.d.ts","sourceRoot":"","sources":["../src/BunWorkerRunner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAA;AAIpE;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAgF/D,CAAA"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Cause from "effect/Cause";
5
+ import * as Deferred from "effect/Deferred";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Exit from "effect/Exit";
8
+ import * as Fiber from "effect/Fiber";
9
+ import { identity } from "effect/Function";
10
+ import * as Layer from "effect/Layer";
11
+ import * as Scope from "effect/Scope";
12
+ import { WorkerError, WorkerReceiveError, WorkerSpawnError } from "effect/unstable/workers/WorkerError";
13
+ import * as WorkerRunner from "effect/unstable/workers/WorkerRunner";
14
+ /**
15
+ * @since 1.0.0
16
+ * @category layers
17
+ */
18
+ export const layer = /*#__PURE__*/Layer.succeed(WorkerRunner.WorkerRunnerPlatform)({
19
+ start: /*#__PURE__*/Effect.fnUntraced(function* () {
20
+ if (!("postMessage" in self)) {
21
+ return yield* new WorkerError({
22
+ reason: new WorkerSpawnError({
23
+ message: "not in a Worker context"
24
+ })
25
+ });
26
+ }
27
+ const port = self;
28
+ const run = handler => Effect.scopedWith(Effect.fnUntraced(function* (scope) {
29
+ const closeLatch = Deferred.makeUnsafe();
30
+ const trackFiber = Fiber.runIn(scope);
31
+ const services = yield* Effect.services();
32
+ const runFork = Effect.runForkWith(services);
33
+ const onExit = exit => {
34
+ if (exit._tag === "Failure" && !Cause.hasInterruptsOnly(exit.cause)) {
35
+ runFork(Effect.logError("unhandled error in worker", exit.cause));
36
+ }
37
+ };
38
+ function onMessage(event) {
39
+ const message = event.data;
40
+ if (message[0] === 0) {
41
+ const result = handler(0, message[1]);
42
+ if (Effect.isEffect(result)) {
43
+ const fiber = runFork(result);
44
+ fiber.addObserver(onExit);
45
+ trackFiber(fiber);
46
+ }
47
+ } else {
48
+ port.close();
49
+ Deferred.doneUnsafe(closeLatch, Exit.void);
50
+ }
51
+ }
52
+ function onMessageError(error) {
53
+ Deferred.doneUnsafe(closeLatch, new WorkerError({
54
+ reason: new WorkerReceiveError({
55
+ message: "received messageerror event",
56
+ cause: error.data
57
+ })
58
+ }).asEffect());
59
+ }
60
+ function onError(error) {
61
+ Deferred.doneUnsafe(closeLatch, new WorkerError({
62
+ reason: new WorkerReceiveError({
63
+ message: "received error event",
64
+ cause: error.data
65
+ })
66
+ }).asEffect());
67
+ }
68
+ yield* Scope.addFinalizer(scope, Effect.sync(() => {
69
+ port.removeEventListener("message", onMessage);
70
+ port.removeEventListener("messageerror", onError);
71
+ }));
72
+ port.addEventListener("message", onMessage);
73
+ port.addEventListener("messageerror", onMessageError);
74
+ port.postMessage([0]);
75
+ return yield* Deferred.await(closeLatch);
76
+ }));
77
+ const sendUnsafe = (_portId, message, transfer) => port.postMessage([1, message], {
78
+ transfer: transfer
79
+ });
80
+ const send = (_portId, message, transfer) => Effect.sync(() => sendUnsafe(0, message, transfer));
81
+ return identity({
82
+ run,
83
+ send,
84
+ sendUnsafe
85
+ });
86
+ })
87
+ });
88
+ //# sourceMappingURL=BunWorkerRunner.js.map