@effect/platform-bun 0.30.10 → 0.31.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 (269) hide show
  1. package/BunCommandExecutor/package.json +6 -0
  2. package/BunFileSystem/package.json +6 -0
  3. package/BunHttpServer/package.json +6 -0
  4. package/BunKeyValueStore/package.json +6 -0
  5. package/BunPath/package.json +6 -0
  6. package/BunRuntime/package.json +6 -0
  7. package/BunSink/package.json +6 -0
  8. package/BunStream/package.json +6 -0
  9. package/BunTerminal/package.json +6 -0
  10. package/BunWorker/package.json +6 -0
  11. package/BunWorkerRunner/package.json +6 -0
  12. package/dist/cjs/BunCommandExecutor.js +42 -0
  13. package/dist/cjs/BunCommandExecutor.js.map +1 -0
  14. package/dist/cjs/BunContext.js +6 -10
  15. package/dist/cjs/BunContext.js.map +1 -1
  16. package/dist/cjs/BunFileSystem.js +42 -0
  17. package/dist/cjs/BunFileSystem.js.map +1 -0
  18. package/dist/cjs/{HttpClient.js → BunHttpServer.js} +9 -15
  19. package/dist/cjs/BunHttpServer.js.map +1 -0
  20. package/dist/cjs/BunKeyValueStore.js +42 -0
  21. package/dist/cjs/BunKeyValueStore.js.map +1 -0
  22. package/dist/cjs/BunPath.js +52 -0
  23. package/dist/cjs/BunPath.js.map +1 -0
  24. package/dist/cjs/BunRuntime.js +42 -0
  25. package/dist/cjs/BunRuntime.js.map +1 -0
  26. package/dist/cjs/BunSink.js +17 -0
  27. package/dist/cjs/BunSink.js.map +1 -0
  28. package/dist/cjs/BunStream.js +17 -0
  29. package/dist/cjs/BunStream.js.map +1 -0
  30. package/dist/cjs/BunTerminal.js +47 -0
  31. package/dist/cjs/BunTerminal.js.map +1 -0
  32. package/dist/cjs/{WorkerRunner.js → BunWorker.js} +6 -27
  33. package/dist/cjs/BunWorker.js.map +1 -0
  34. package/dist/cjs/BunWorkerRunner.js +38 -0
  35. package/dist/cjs/BunWorkerRunner.js.map +1 -0
  36. package/dist/cjs/Http/Platform.js +0 -20
  37. package/dist/cjs/Http/Platform.js.map +1 -1
  38. package/dist/cjs/Http/Server.js +5 -21
  39. package/dist/cjs/Http/Server.js.map +1 -1
  40. package/dist/cjs/Http/ServerRequest.js +0 -19
  41. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  42. package/dist/cjs/index.js +23 -33
  43. package/dist/cjs/internal/http/platform.js +2 -2
  44. package/dist/cjs/internal/http/platform.js.map +1 -1
  45. package/dist/cjs/internal/http/server.js +11 -6
  46. package/dist/cjs/internal/http/server.js.map +1 -1
  47. package/dist/cjs/internal/worker.js +3 -8
  48. package/dist/cjs/internal/worker.js.map +1 -1
  49. package/dist/cjs/internal/workerRunner.js +2 -8
  50. package/dist/cjs/internal/workerRunner.js.map +1 -1
  51. package/dist/dts/BunCommandExecutor.d.ts +9 -0
  52. package/dist/dts/BunCommandExecutor.d.ts.map +1 -0
  53. package/dist/dts/BunContext.d.ts +9 -6
  54. package/dist/dts/BunContext.d.ts.map +1 -1
  55. package/dist/dts/BunFileSystem.d.ts +8 -0
  56. package/dist/dts/BunFileSystem.d.ts.map +1 -0
  57. package/dist/dts/BunHttpServer.d.ts +37 -0
  58. package/dist/dts/BunHttpServer.d.ts.map +1 -0
  59. package/dist/dts/BunKeyValueStore.d.ts +9 -0
  60. package/dist/dts/BunKeyValueStore.d.ts.map +1 -0
  61. package/dist/dts/BunPath.d.ts +21 -0
  62. package/dist/dts/BunPath.d.ts.map +1 -0
  63. package/dist/dts/BunRuntime.d.ts +7 -0
  64. package/dist/dts/BunRuntime.d.ts.map +1 -0
  65. package/dist/dts/BunSink.d.ts +8 -0
  66. package/dist/dts/BunSink.d.ts.map +1 -0
  67. package/dist/dts/BunStream.d.ts +8 -0
  68. package/dist/dts/BunStream.d.ts.map +1 -0
  69. package/dist/dts/BunTerminal.d.ts +15 -0
  70. package/dist/dts/BunTerminal.d.ts.map +1 -0
  71. package/dist/dts/BunWorker.d.ts +21 -0
  72. package/dist/dts/BunWorker.d.ts.map +1 -0
  73. package/dist/dts/BunWorkerRunner.d.ts +11 -0
  74. package/dist/dts/BunWorkerRunner.d.ts.map +1 -0
  75. package/dist/dts/Http/Platform.d.ts +3 -9
  76. package/dist/dts/Http/Platform.d.ts.map +1 -1
  77. package/dist/dts/Http/Server.d.ts +9 -8
  78. package/dist/dts/Http/Server.d.ts.map +1 -1
  79. package/dist/dts/Http/ServerRequest.d.ts +0 -6
  80. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  81. package/dist/dts/index.d.ts +12 -40
  82. package/dist/dts/index.d.ts.map +1 -1
  83. package/dist/esm/BunCommandExecutor.js +10 -0
  84. package/dist/esm/BunCommandExecutor.js.map +1 -0
  85. package/dist/esm/BunContext.js +6 -9
  86. package/dist/esm/BunContext.js.map +1 -1
  87. package/dist/esm/BunFileSystem.js +10 -0
  88. package/dist/esm/BunFileSystem.js.map +1 -0
  89. package/dist/esm/BunHttpServer.js +37 -0
  90. package/dist/esm/BunHttpServer.js.map +1 -0
  91. package/dist/esm/BunKeyValueStore.js +10 -0
  92. package/dist/esm/BunKeyValueStore.js.map +1 -0
  93. package/dist/esm/BunPath.js +20 -0
  94. package/dist/esm/BunPath.js.map +1 -0
  95. package/dist/esm/BunRuntime.js +10 -0
  96. package/dist/esm/BunRuntime.js.map +1 -0
  97. package/dist/esm/BunSink.js +8 -0
  98. package/dist/esm/BunSink.js.map +1 -0
  99. package/dist/esm/BunStream.js +8 -0
  100. package/dist/esm/BunStream.js.map +1 -0
  101. package/dist/esm/BunTerminal.js +15 -0
  102. package/dist/esm/BunTerminal.js.map +1 -0
  103. package/dist/esm/BunWorker.js +17 -0
  104. package/dist/esm/BunWorker.js.map +1 -0
  105. package/dist/esm/BunWorkerRunner.js +7 -0
  106. package/dist/esm/BunWorkerRunner.js.map +1 -0
  107. package/dist/esm/Http/Platform.js +0 -4
  108. package/dist/esm/Http/Platform.js.map +1 -1
  109. package/dist/esm/Http/Server.js +4 -3
  110. package/dist/esm/Http/Server.js.map +1 -1
  111. package/dist/esm/Http/ServerRequest.js +0 -4
  112. package/dist/esm/Http/ServerRequest.js.map +1 -1
  113. package/dist/esm/index.js +12 -40
  114. package/dist/esm/index.js.map +1 -1
  115. package/dist/esm/internal/http/platform.js +2 -2
  116. package/dist/esm/internal/http/platform.js.map +1 -1
  117. package/dist/esm/internal/http/server.js +9 -5
  118. package/dist/esm/internal/http/server.js.map +1 -1
  119. package/dist/esm/internal/worker.js +1 -7
  120. package/dist/esm/internal/worker.js.map +1 -1
  121. package/dist/esm/internal/workerRunner.js +1 -5
  122. package/dist/esm/internal/workerRunner.js.map +1 -1
  123. package/package.json +88 -126
  124. package/src/BunCommandExecutor.ts +13 -0
  125. package/src/BunContext.ts +16 -11
  126. package/src/BunFileSystem.ts +12 -0
  127. package/src/BunHttpServer.ts +38 -0
  128. package/src/BunKeyValueStore.ts +15 -0
  129. package/src/BunPath.ts +25 -0
  130. package/src/BunRuntime.ts +11 -0
  131. package/src/BunSink.ts +8 -0
  132. package/src/BunStream.ts +8 -0
  133. package/src/BunTerminal.ts +20 -0
  134. package/src/BunWorker.ts +26 -0
  135. package/src/BunWorkerRunner.ts +12 -0
  136. package/src/Http/Platform.ts +3 -10
  137. package/src/Http/Server.ts +13 -10
  138. package/src/Http/ServerRequest.ts +0 -7
  139. package/src/index.ts +12 -45
  140. package/src/internal/http/platform.ts +2 -2
  141. package/src/internal/http/server.ts +33 -21
  142. package/src/internal/worker.ts +7 -14
  143. package/src/internal/workerRunner.ts +3 -26
  144. package/Command/package.json +0 -6
  145. package/CommandExecutor/package.json +0 -6
  146. package/Effectify/package.json +0 -6
  147. package/Error/package.json +0 -6
  148. package/FileSystem/package.json +0 -6
  149. package/HttpClient/package.json +0 -6
  150. package/HttpServer/package.json +0 -6
  151. package/KeyValueStore/package.json +0 -6
  152. package/Path/package.json +0 -6
  153. package/Runtime/package.json +0 -6
  154. package/Sink/package.json +0 -6
  155. package/Stream/package.json +0 -6
  156. package/Terminal/package.json +0 -6
  157. package/Transferable/package.json +0 -6
  158. package/Worker/package.json +0 -6
  159. package/WorkerRunner/package.json +0 -6
  160. package/dist/cjs/Command.js +0 -103
  161. package/dist/cjs/Command.js.map +0 -1
  162. package/dist/cjs/CommandExecutor.js +0 -19
  163. package/dist/cjs/CommandExecutor.js.map +0 -1
  164. package/dist/cjs/Effectify.js +0 -13
  165. package/dist/cjs/Effectify.js.map +0 -1
  166. package/dist/cjs/Error.js +0 -25
  167. package/dist/cjs/Error.js.map +0 -1
  168. package/dist/cjs/FileSystem.js +0 -25
  169. package/dist/cjs/FileSystem.js.map +0 -1
  170. package/dist/cjs/HttpClient.js.map +0 -1
  171. package/dist/cjs/HttpServer.js +0 -58
  172. package/dist/cjs/HttpServer.js.map +0 -1
  173. package/dist/cjs/KeyValueStore.js +0 -28
  174. package/dist/cjs/KeyValueStore.js.map +0 -1
  175. package/dist/cjs/Path.js +0 -31
  176. package/dist/cjs/Path.js.map +0 -1
  177. package/dist/cjs/Runtime.js +0 -19
  178. package/dist/cjs/Runtime.js.map +0 -1
  179. package/dist/cjs/Sink.js +0 -13
  180. package/dist/cjs/Sink.js.map +0 -1
  181. package/dist/cjs/Stream.js +0 -43
  182. package/dist/cjs/Stream.js.map +0 -1
  183. package/dist/cjs/Terminal.js +0 -25
  184. package/dist/cjs/Terminal.js.map +0 -1
  185. package/dist/cjs/Transferable.js +0 -17
  186. package/dist/cjs/Transferable.js.map +0 -1
  187. package/dist/cjs/Worker.js +0 -87
  188. package/dist/cjs/Worker.js.map +0 -1
  189. package/dist/cjs/WorkerRunner.js.map +0 -1
  190. package/dist/dts/Command.d.ts +0 -111
  191. package/dist/dts/Command.d.ts.map +0 -1
  192. package/dist/dts/CommandExecutor.d.ts +0 -41
  193. package/dist/dts/CommandExecutor.d.ts.map +0 -1
  194. package/dist/dts/Effectify.d.ts +0 -19
  195. package/dist/dts/Effectify.d.ts.map +0 -1
  196. package/dist/dts/Error.d.ts +0 -31
  197. package/dist/dts/Error.d.ts.map +0 -1
  198. package/dist/dts/FileSystem.d.ts +0 -76
  199. package/dist/dts/FileSystem.d.ts.map +0 -1
  200. package/dist/dts/HttpClient.d.ts +0 -61
  201. package/dist/dts/HttpClient.d.ts.map +0 -1
  202. package/dist/dts/HttpServer.d.ts +0 -109
  203. package/dist/dts/HttpServer.d.ts.map +0 -1
  204. package/dist/dts/KeyValueStore.d.ts +0 -13
  205. package/dist/dts/KeyValueStore.d.ts.map +0 -1
  206. package/dist/dts/Path.d.ts +0 -25
  207. package/dist/dts/Path.d.ts.map +0 -1
  208. package/dist/dts/Runtime.d.ts +0 -26
  209. package/dist/dts/Runtime.d.ts.map +0 -1
  210. package/dist/dts/Sink.d.ts +0 -10
  211. package/dist/dts/Sink.d.ts.map +0 -1
  212. package/dist/dts/Stream.d.ts +0 -46
  213. package/dist/dts/Stream.d.ts.map +0 -1
  214. package/dist/dts/Terminal.d.ts +0 -34
  215. package/dist/dts/Terminal.d.ts.map +0 -1
  216. package/dist/dts/Transferable.d.ts +0 -7
  217. package/dist/dts/Transferable.d.ts.map +0 -1
  218. package/dist/dts/Worker.d.ts +0 -46
  219. package/dist/dts/Worker.d.ts.map +0 -1
  220. package/dist/dts/WorkerRunner.d.ts +0 -30
  221. package/dist/dts/WorkerRunner.d.ts.map +0 -1
  222. package/dist/esm/Command.js +0 -85
  223. package/dist/esm/Command.js.map +0 -1
  224. package/dist/esm/CommandExecutor.js +0 -15
  225. package/dist/esm/CommandExecutor.js.map +0 -1
  226. package/dist/esm/Effectify.js +0 -10
  227. package/dist/esm/Effectify.js.map +0 -1
  228. package/dist/esm/Error.js +0 -20
  229. package/dist/esm/Error.js.map +0 -1
  230. package/dist/esm/FileSystem.js +0 -20
  231. package/dist/esm/FileSystem.js.map +0 -1
  232. package/dist/esm/HttpClient.js +0 -61
  233. package/dist/esm/HttpClient.js.map +0 -1
  234. package/dist/esm/HttpServer.js +0 -109
  235. package/dist/esm/HttpServer.js.map +0 -1
  236. package/dist/esm/KeyValueStore.js +0 -13
  237. package/dist/esm/KeyValueStore.js.map +0 -1
  238. package/dist/esm/Path.js +0 -25
  239. package/dist/esm/Path.js.map +0 -1
  240. package/dist/esm/Runtime.js +0 -15
  241. package/dist/esm/Runtime.js.map +0 -1
  242. package/dist/esm/Sink.js +0 -10
  243. package/dist/esm/Sink.js.map +0 -1
  244. package/dist/esm/Stream.js +0 -35
  245. package/dist/esm/Stream.js.map +0 -1
  246. package/dist/esm/Terminal.js +0 -17
  247. package/dist/esm/Terminal.js.map +0 -1
  248. package/dist/esm/Transferable.js +0 -7
  249. package/dist/esm/Transferable.js.map +0 -1
  250. package/dist/esm/Worker.js +0 -36
  251. package/dist/esm/Worker.js.map +0 -1
  252. package/dist/esm/WorkerRunner.js +0 -21
  253. package/dist/esm/WorkerRunner.js.map +0 -1
  254. package/src/Command.ts +0 -114
  255. package/src/CommandExecutor.ts +0 -44
  256. package/src/Effectify.ts +0 -22
  257. package/src/Error.ts +0 -34
  258. package/src/FileSystem.ts +0 -79
  259. package/src/HttpClient.ts +0 -62
  260. package/src/HttpServer.ts +0 -110
  261. package/src/KeyValueStore.ts +0 -15
  262. package/src/Path.ts +0 -26
  263. package/src/Runtime.ts +0 -29
  264. package/src/Sink.ts +0 -11
  265. package/src/Stream.ts +0 -49
  266. package/src/Terminal.ts +0 -36
  267. package/src/Transferable.ts +0 -7
  268. package/src/Worker.ts +0 -64
  269. package/src/WorkerRunner.ts +0 -45
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as NodeFileSystem from "@effect/platform-node-shared/NodeFileSystem"
5
+ import type { FileSystem } from "@effect/platform/FileSystem"
6
+ import type { Layer } from "effect/Layer"
7
+
8
+ /**
9
+ * @since 1.0.0
10
+ * @category layer
11
+ */
12
+ export const layer: Layer<FileSystem> = NodeFileSystem.layer
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as etag from "@effect/platform-node-shared/Http/Etag"
5
+ import * as multipart from "@effect/platform-node-shared/Http/Multipart"
6
+ import * as server from "./Http/Server.js"
7
+ import * as request from "./Http/ServerRequest.js"
8
+
9
+ export {
10
+ /**
11
+ * @since 1.0.0
12
+ *
13
+ * - Docs: [Http/Etag](https://effect-ts.github.io/platform/platform-node-shared/Http/Etag.ts.html)
14
+ * - Module: `@effect/platform-node-shared/Http/Etag`
15
+ */
16
+ etag,
17
+ /**
18
+ * @since 1.0.0
19
+ *
20
+ * - Docs: [Http/Multipart](https://effect-ts.github.io/platform/platform-node-shared/Http/Multipart.ts.html)
21
+ * - Module: `@effect/platform-node-shared/Http/Multipart`
22
+ */
23
+ multipart,
24
+ /**
25
+ * @since 1.0.0
26
+ *
27
+ * - Docs: [Http/ServerRequest](https://effect-ts.github.io/platform/platform-bun/Http/ServerRequest.ts.html)
28
+ * - Module: `@effect/platform-bun/Http/ServerRequest`
29
+ */
30
+ request,
31
+ /**
32
+ * @since 1.0.0
33
+ *
34
+ * - Docs: [Http/Server](https://effect-ts.github.io/platform/platform-bun/Http/Server.ts.html)
35
+ * - Module: `@effect/platform-bun/Http/Server`
36
+ */
37
+ server
38
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as KVSN from "@effect/platform-node-shared/NodeKeyValueStore"
5
+ import type * as PlatformError from "@effect/platform/Error"
6
+ import type * as KeyValueStore from "@effect/platform/KeyValueStore"
7
+ import type * as Layer from "effect/Layer"
8
+
9
+ /**
10
+ * @since 1.0.0
11
+ * @category layers
12
+ */
13
+ export const layerFileSystem: (
14
+ directory: string
15
+ ) => Layer.Layer<KeyValueStore.KeyValueStore, PlatformError.PlatformError> = KVSN.layerFileSystem
package/src/BunPath.ts ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+
5
+ import * as NodePath from "@effect/platform-node-shared/NodePath"
6
+ import type { Path } from "@effect/platform/Path"
7
+ import type { Layer } from "effect/Layer"
8
+
9
+ /**
10
+ * @since 1.0.0
11
+ * @category layer
12
+ */
13
+ export const layer: Layer<Path> = NodePath.layer
14
+
15
+ /**
16
+ * @since 1.0.0
17
+ * @category layer
18
+ */
19
+ export const layerPosix: Layer<Path> = NodePath.layerPosix
20
+
21
+ /**
22
+ * @since 1.0.0
23
+ * @category layer
24
+ */
25
+ export const layerWin32: Layer<Path> = NodePath.layerWin32
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as NodeRuntime from "@effect/platform-node-shared/NodeRuntime"
5
+ import type { RunMain } from "@effect/platform/Runtime"
6
+
7
+ /**
8
+ * @since 1.0.0
9
+ * @category runtime
10
+ */
11
+ export const runMain: RunMain = NodeRuntime.runMain
package/src/BunSink.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export * from "@effect/platform-node-shared/NodeSink"
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export * from "@effect/platform-node-shared/NodeStream"
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as NodeTerminal from "@effect/platform-node-shared/NodeTerminal"
5
+ import type { Terminal, UserInput } from "@effect/platform/Terminal"
6
+ import type { Effect } from "effect/Effect"
7
+ import type { Layer } from "effect/Layer"
8
+ import type { Scope } from "effect/Scope"
9
+
10
+ /**
11
+ * @since 1.0.0
12
+ * @category constructors
13
+ */
14
+ export const make: (shouldQuit?: (input: UserInput) => boolean) => Effect<Terminal, never, Scope> = NodeTerminal.make
15
+
16
+ /**
17
+ * @since 1.0.0
18
+ * @category layer
19
+ */
20
+ export const layer: Layer<Terminal> = NodeTerminal.layer
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Worker from "@effect/platform/Worker"
5
+ import type * as Layer from "effect/Layer"
6
+ import * as internal from "./internal/worker.js"
7
+
8
+ /**
9
+ * @since 1.0.0
10
+ * @category layers
11
+ */
12
+ export const layerManager: Layer.Layer<Worker.WorkerManager> = internal.layerManager
13
+
14
+ /**
15
+ * @since 1.0.0
16
+ * @category layers
17
+ */
18
+ export const layerWorker: Layer.Layer<Worker.PlatformWorker> = internal.layerWorker
19
+
20
+ /**
21
+ * @since 1.0.0
22
+ * @category layers
23
+ */
24
+ export const layer: (
25
+ spawn: (id: number) => Worker
26
+ ) => Layer.Layer<Worker.WorkerManager | Worker.Spawner, never, never> = internal.layer
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Runner from "@effect/platform/WorkerRunner"
5
+ import type * as Layer from "effect/Layer"
6
+ import * as internal from "./internal/workerRunner.js"
7
+
8
+ /**
9
+ * @since 1.0.0
10
+ * @category layers
11
+ */
12
+ export const layer: Layer.Layer<Runner.PlatformRunner> = internal.layer
@@ -1,28 +1,21 @@
1
1
  /**
2
2
  * @since 1.0.0
3
- *
4
- * Also includes exports from [`@effect/platform/Http/Platform`](https://effect-ts.github.io/effect/platform/Http/Platform.ts.html).
5
3
  */
4
+ import type * as FileSystem from "@effect/platform/FileSystem"
6
5
  import type * as Etag from "@effect/platform/Http/Etag"
7
6
  import type * as Platform from "@effect/platform/Http/Platform"
8
7
  import type * as Effect from "effect/Effect"
9
8
  import type * as Layer from "effect/Layer"
10
- import type * as FileSystem from "../FileSystem.js"
11
9
  import * as internal from "../internal/http/platform.js"
12
10
 
13
- /**
14
- * @since 1.0.0
15
- */
16
- export * from "@effect/platform/Http/Platform"
17
-
18
11
  /**
19
12
  * @since 1.0.0
20
13
  * @category constructors
21
14
  */
22
- export const make: Effect.Effect<FileSystem.FileSystem | Etag.Generator, never, Platform.Platform> = internal.make
15
+ export const make: Effect.Effect<Platform.Platform, never, FileSystem.FileSystem | Etag.Generator> = internal.make
23
16
 
24
17
  /**
25
18
  * @since 1.0.0
26
19
  * @category layers
27
20
  */
28
- export const layer: Layer.Layer<never, never, Platform.Platform> = internal.layer
21
+ export const layer: Layer.Layer<Platform.Platform> = internal.layer
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @since 1.0.0
3
- *
4
- * Also includes exports from [`@effect/platform/Http/Server`](https://effect-ts.github.io/effect/platform/Http/Server.ts.html).
5
3
  */
4
+ import type * as Etag from "@effect/platform/Http/Etag"
5
+ import type * as Platform from "@effect/platform/Http/Platform"
6
6
  import type * as Server from "@effect/platform/Http/Server"
7
7
  import type { ServeOptions } from "bun"
8
8
  import type * as Config from "effect/Config"
@@ -10,21 +10,23 @@ import type * as ConfigError from "effect/ConfigError"
10
10
  import type * as Effect from "effect/Effect"
11
11
  import type * as Layer from "effect/Layer"
12
12
  import type * as Scope from "effect/Scope"
13
+ import type * as BunContext from "../BunContext.js"
13
14
  import * as internal from "../internal/http/server.js"
14
- import type * as Platform from "./Platform.js"
15
15
 
16
16
  /**
17
17
  * @since 1.0.0
18
+ * @category constructors
18
19
  */
19
- export * from "@effect/platform/Http/Server"
20
+ export const make: (
21
+ options: Omit<ServeOptions, "fetch" | "error">
22
+ ) => Effect.Effect<Server.Server, never, Scope.Scope> = internal.make
20
23
 
21
24
  /**
22
25
  * @since 1.0.0
23
- * @category constructors
26
+ * @category layers
24
27
  */
25
- export const make: (
26
- options: Omit<ServeOptions, "fetch" | "error">
27
- ) => Effect.Effect<Scope.Scope, never, Server.Server> = internal.make
28
+ export const layerServer: (options: Omit<ServeOptions, "fetch" | "error">) => Layer.Layer<Server.Server> =
29
+ internal.layerServer
28
30
 
29
31
  /**
30
32
  * @since 1.0.0
@@ -32,7 +34,7 @@ export const make: (
32
34
  */
33
35
  export const layer: (
34
36
  options: Omit<ServeOptions, "fetch" | "error">
35
- ) => Layer.Layer<never, never, Server.Server | Platform.Platform> = internal.layer
37
+ ) => Layer.Layer<Server.Server | Platform.Platform | Etag.Generator | BunContext.BunContext> = internal.layer
36
38
 
37
39
  /**
38
40
  * @since 1.0.0
@@ -40,4 +42,5 @@ export const layer: (
40
42
  */
41
43
  export const layerConfig: (
42
44
  options: Config.Config.Wrap<Omit<ServeOptions, "fetch" | "error">>
43
- ) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Platform.Platform> = internal.layerConfig
45
+ ) => Layer.Layer<Server.Server | Platform.Platform | Etag.Generator | BunContext.BunContext, ConfigError.ConfigError> =
46
+ internal.layerConfig
@@ -1,16 +1,9 @@
1
1
  /**
2
2
  * @since 1.0.0
3
- *
4
- * Also includes exports from [`@effect/platform/Http/ServerRequest`](https://effect-ts.github.io/effect/platform/Http/ServerRequest.ts.html).
5
3
  */
6
4
  import type * as ServerRequest from "@effect/platform/Http/ServerRequest"
7
5
  import * as internal from "../internal/http/server.js"
8
6
 
9
- /**
10
- * @since 1.0.0
11
- */
12
- export * from "@effect/platform/Http/ServerRequest"
13
-
14
7
  /**
15
8
  * @category conversions
16
9
  * @since 1.0.0
package/src/index.ts CHANGED
@@ -1,92 +1,59 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- export * as BunContext from "./BunContext.js"
5
-
6
- /**
7
- * @since 1.0.0
8
- */
9
- export * as Command from "./Command.js"
10
-
11
- /**
12
- * @since 1.0.0
13
- */
14
- export * as CommandExecutor from "./CommandExecutor.js"
15
-
16
- /**
17
- * @since 1.0.0
18
- */
19
- export * as Effectify from "./Effectify.js"
20
-
21
- /**
22
- * @since 1.0.0
23
- */
24
- export * as Error from "./Error.js"
4
+ export * as BunCommandExecutor from "./BunCommandExecutor.js"
25
5
 
26
6
  /**
27
7
  * @since 1.0.0
28
8
  */
29
- export * as FileSystem from "./FileSystem.js"
30
-
31
- /**
32
- * @since 1.0.0
33
- */
34
- export * as HttpClient from "./HttpClient.js"
9
+ export * as BunContext from "./BunContext.js"
35
10
 
36
11
  /**
37
12
  * @since 1.0.0
38
13
  */
39
- export * as HttpServer from "./HttpServer.js"
14
+ export * as BunFileSystem from "./BunFileSystem.js"
40
15
 
41
16
  /**
42
17
  * @since 1.0.0
43
- *
44
- * Also includes exports from [`@effect/platform/KeyValueStore`](https://effect-ts.github.io/effect/platform/KeyValueStore.ts.html).
45
18
  */
46
- export * as KeyValueStore from "./KeyValueStore.js"
19
+ export * as BunHttpServer from "./BunHttpServer.js"
47
20
 
48
21
  /**
49
22
  * @since 1.0.0
50
23
  */
51
- export * as Path from "./Path.js"
24
+ export * as BunKeyValueStore from "./BunKeyValueStore.js"
52
25
 
53
26
  /**
54
27
  * @since 1.0.0
55
28
  */
56
- export * as Runtime from "./Runtime.js"
29
+ export * as BunPath from "./BunPath.js"
57
30
 
58
31
  /**
59
32
  * @since 1.0.0
60
33
  */
61
- export * as Sink from "./Sink.js"
34
+ export * as BunRuntime from "./BunRuntime.js"
62
35
 
63
36
  /**
64
37
  * @since 1.0.0
65
38
  */
66
- export * as Stream from "./Stream.js"
39
+ export * as BunSink from "./BunSink.js"
67
40
 
68
41
  /**
69
42
  * @since 1.0.0
70
43
  */
71
- export * as Terminal from "./Terminal.js"
44
+ export * as BunStream from "./BunStream.js"
72
45
 
73
46
  /**
74
47
  * @since 1.0.0
75
- *
76
- * Also includes exports from [`@effect/platform/Transferable`](https://effect-ts.github.io/effect/platform/Transferable.ts.html).
77
48
  */
78
- export * as Transferable from "./Transferable.js"
49
+ export * as BunTerminal from "./BunTerminal.js"
79
50
 
80
51
  /**
81
52
  * @since 1.0.0
82
- *
83
- * Also includes exports from [`@effect/platform/Worker`](https://effect-ts.github.io/effect/platform/Worker.ts.html).
84
53
  */
85
- export * as Worker from "./Worker.js"
54
+ export * as BunWorker from "./BunWorker.js"
86
55
 
87
56
  /**
88
57
  * @since 1.0.0
89
- *
90
- * Also includes exports from [`@effect/platform/WorkerRunner`](https://effect-ts.github.io/effect/platform/WorkerRunner.ts.html).
91
58
  */
92
- export * as WorkerRunner from "./WorkerRunner.js"
59
+ export * as BunWorkerRunner from "./BunWorkerRunner.js"
@@ -1,9 +1,9 @@
1
- import * as Etag from "@effect/platform-node/Http/Etag"
1
+ import * as Etag from "@effect/platform-node-shared/Http/Etag"
2
+ import * as FileSystem from "@effect/platform-node-shared/NodeFileSystem"
2
3
  import * as Platform from "@effect/platform/Http/Platform"
3
4
  import * as ServerResponse from "@effect/platform/Http/ServerResponse"
4
5
  import { pipe } from "effect/Function"
5
6
  import * as Layer from "effect/Layer"
6
- import * as FileSystem from "../../FileSystem.js"
7
7
 
8
8
  /** @internal */
9
9
  export const make = Platform.make({
@@ -1,11 +1,13 @@
1
1
  /// <reference types="bun-types" />
2
- import * as Multipart from "@effect/platform-node/Http/Multipart"
2
+ import * as Etag from "@effect/platform-node-shared/Http/Etag"
3
+ import * as MultipartNode from "@effect/platform-node-shared/Http/Multipart"
3
4
  import type * as FileSystem from "@effect/platform/FileSystem"
4
5
  import * as App from "@effect/platform/Http/App"
5
6
  import * as Headers from "@effect/platform/Http/Headers"
6
7
  import * as IncomingMessage from "@effect/platform/Http/IncomingMessage"
7
8
  import type { Method } from "@effect/platform/Http/Method"
8
9
  import * as Middleware from "@effect/platform/Http/Middleware"
10
+ import type * as Multipart from "@effect/platform/Http/Multipart"
9
11
  import * as Server from "@effect/platform/Http/Server"
10
12
  import * as Error from "@effect/platform/Http/ServerError"
11
13
  import * as ServerRequest from "@effect/platform/Http/ServerRequest"
@@ -23,12 +25,13 @@ import * as Runtime from "effect/Runtime"
23
25
  import type * as Scope from "effect/Scope"
24
26
  import * as Stream from "effect/Stream"
25
27
  import { Readable } from "node:stream"
28
+ import * as BunContext from "../../BunContext.js"
26
29
  import * as Platform from "../../Http/Platform.js"
27
30
 
28
31
  /** @internal */
29
32
  export const make = (
30
33
  options: Omit<ServeOptions, "fetch" | "error">
31
- ): Effect.Effect<Scope.Scope, never, Server.Server> =>
34
+ ): Effect.Effect<Server.Server, never, Scope.Scope> =>
32
35
  Effect.gen(function*(_) {
33
36
  const handlerStack: Array<(request: Request, server: BunServer) => Response | Promise<Response>> = [
34
37
  function(_request, _server) {
@@ -58,7 +61,7 @@ export const make = (
58
61
  return pipe(
59
62
  Effect.runtime<never>(),
60
63
  Effect.flatMap((runtime) =>
61
- Effect.async<never, never, never>((_) => {
64
+ Effect.async<never>((_) => {
62
65
  const runFork = Runtime.runFork(runtime)
63
66
  function handler(request: Request, _server: BunServer) {
64
67
  return new Promise<Response>((resolve, reject) => {
@@ -154,22 +157,31 @@ const respond = Middleware.make((httpApp) =>
154
157
  )
155
158
  )
156
159
 
160
+ /** @internal */
161
+ export const layerServer = (
162
+ options: Omit<ServeOptions, "fetch" | "error">
163
+ ) => Layer.scoped(Server.Server, make(options))
164
+
157
165
  /** @internal */
158
166
  export const layer = (
159
167
  options: Omit<ServeOptions, "fetch" | "error">
160
168
  ) =>
161
- Layer.merge(
169
+ Layer.mergeAll(
162
170
  Layer.scoped(Server.Server, make(options)),
163
- Platform.layer
171
+ Platform.layer,
172
+ Etag.layerWeak,
173
+ BunContext.layer
164
174
  )
165
175
 
166
176
  /** @internal */
167
177
  export const layerConfig = (
168
178
  options: Config.Config.Wrap<Omit<ServeOptions, "fetch" | "error">>
169
179
  ) =>
170
- Layer.merge(
180
+ Layer.mergeAll(
171
181
  Layer.scoped(Server.Server, Effect.flatMap(Config.unwrap(options), make)),
172
- Platform.layer
182
+ Platform.layer,
183
+ Etag.layerWeak,
184
+ BunContext.layer
173
185
  )
174
186
 
175
187
  class ServerRequestImpl implements ServerRequest.ServerRequest {
@@ -216,7 +228,7 @@ class ServerRequestImpl implements ServerRequest.ServerRequest {
216
228
  return this.headersOverride
217
229
  }
218
230
 
219
- get stream(): Stream.Stream<never, Error.RequestError, Uint8Array> {
231
+ get stream(): Stream.Stream<Uint8Array, Error.RequestError> {
220
232
  return this.source.body
221
233
  ? Stream.fromReadableStream(() => this.source.body as any, (_) =>
222
234
  Error.RequestError({
@@ -231,8 +243,8 @@ class ServerRequestImpl implements ServerRequest.ServerRequest {
231
243
  }))
232
244
  }
233
245
 
234
- private textEffect: Effect.Effect<never, Error.RequestError, string> | undefined
235
- get text(): Effect.Effect<never, Error.RequestError, string> {
246
+ private textEffect: Effect.Effect<string, Error.RequestError> | undefined
247
+ get text(): Effect.Effect<string, Error.RequestError> {
236
248
  if (this.textEffect) {
237
249
  return this.textEffect
238
250
  }
@@ -250,7 +262,7 @@ class ServerRequestImpl implements ServerRequest.ServerRequest {
250
262
  return this.textEffect
251
263
  }
252
264
 
253
- get json(): Effect.Effect<never, Error.RequestError, unknown> {
265
+ get json(): Effect.Effect<unknown, Error.RequestError> {
254
266
  return Effect.tryMap(this.text, {
255
267
  try: (_) => JSON.parse(_) as unknown,
256
268
  catch: (error) =>
@@ -262,7 +274,7 @@ class ServerRequestImpl implements ServerRequest.ServerRequest {
262
274
  })
263
275
  }
264
276
 
265
- get urlParamsBody(): Effect.Effect<never, Error.RequestError, UrlParams.UrlParams> {
277
+ get urlParamsBody(): Effect.Effect<UrlParams.UrlParams, Error.RequestError> {
266
278
  return Effect.flatMap(this.text, (_) =>
267
279
  Effect.try({
268
280
  try: () => UrlParams.fromInput(new URLSearchParams(_)),
@@ -277,31 +289,31 @@ class ServerRequestImpl implements ServerRequest.ServerRequest {
277
289
 
278
290
  private multipartEffect:
279
291
  | Effect.Effect<
280
- Scope.Scope | FileSystem.FileSystem | Path.Path,
292
+ Multipart.Persisted,
281
293
  Multipart.MultipartError,
282
- Multipart.Persisted
294
+ Scope.Scope | FileSystem.FileSystem | Path.Path
283
295
  >
284
296
  | undefined
285
297
  get multipart(): Effect.Effect<
286
- Scope.Scope | FileSystem.FileSystem | Path.Path,
298
+ Multipart.Persisted,
287
299
  Multipart.MultipartError,
288
- Multipart.Persisted
300
+ Scope.Scope | FileSystem.FileSystem | Path.Path
289
301
  > {
290
302
  if (this.multipartEffect) {
291
303
  return this.multipartEffect
292
304
  }
293
305
  this.multipartEffect = Effect.runSync(Effect.cached(
294
- Multipart.persisted(Readable.fromWeb(this.source.body! as any), this.headers)
306
+ MultipartNode.persisted(Readable.fromWeb(this.source.body! as any), this.headers)
295
307
  ))
296
308
  return this.multipartEffect
297
309
  }
298
310
 
299
- get multipartStream(): Stream.Stream<never, Multipart.MultipartError, Multipart.Part> {
300
- return Multipart.stream(Readable.fromWeb(this.source.body! as any), this.headers)
311
+ get multipartStream(): Stream.Stream<Multipart.Part, Multipart.MultipartError> {
312
+ return MultipartNode.stream(Readable.fromWeb(this.source.body! as any), this.headers)
301
313
  }
302
314
 
303
- private arrayBufferEffect: Effect.Effect<never, Error.RequestError, ArrayBuffer> | undefined
304
- get arrayBuffer(): Effect.Effect<never, Error.RequestError, ArrayBuffer> {
315
+ private arrayBufferEffect: Effect.Effect<ArrayBuffer, Error.RequestError> | undefined
316
+ get arrayBuffer(): Effect.Effect<ArrayBuffer, Error.RequestError> {
305
317
  if (this.arrayBuffer) {
306
318
  return this.arrayBuffer
307
319
  }
@@ -13,7 +13,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({
13
13
 
14
14
  yield* _(Effect.addFinalizer(() =>
15
15
  pipe(
16
- Effect.async<never, never, void>((resume, signal) => {
16
+ Effect.async<void>((resume, signal) => {
17
17
  port.addEventListener("close", () => resume(Effect.unit), { once: true, signal })
18
18
  port.postMessage([1])
19
19
  }),
@@ -27,7 +27,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({
27
27
  const queue = yield* _(Queue.unbounded<Worker.BackingWorker.Message<O>>())
28
28
 
29
29
  const fiber = yield* _(
30
- Effect.async<never, WorkerError, never>((resume) => {
30
+ Effect.async<never, WorkerError>((resume) => {
31
31
  function onMessage(event: MessageEvent) {
32
32
  queue.unsafeOffer((event as MessageEvent).data)
33
33
  }
@@ -63,15 +63,8 @@ export const layerWorker = Layer.succeed(Worker.PlatformWorker, platformWorkerIm
63
63
  export const layerManager = Layer.provide(Worker.layerManager, layerWorker)
64
64
 
65
65
  /** @internal */
66
- export const makePool = Worker.makePool<globalThis.Worker>()
67
-
68
- /** @internal */
69
- export const makePoolLayer = Worker.makePoolLayer<globalThis.Worker>(layerManager)
70
-
71
- /** @internal */
72
- export const makePoolSerialized = Worker.makePoolSerialized<globalThis.Worker>()
73
-
74
- /** @internal */
75
- export const makePoolSerializedLayer = Worker.makePoolSerializedLayer<globalThis.Worker>(
76
- layerManager
77
- )
66
+ export const layer = (spawn: (id: number) => globalThis.Worker) =>
67
+ Layer.merge(
68
+ layerManager,
69
+ Worker.layerSpawner(spawn)
70
+ )
@@ -1,18 +1,16 @@
1
1
  import { WorkerError } from "@effect/platform/WorkerError"
2
2
  import * as Runner from "@effect/platform/WorkerRunner"
3
- import type * as Schema from "@effect/schema/Schema"
4
3
  import * as Cause from "effect/Cause"
5
4
  import * as Effect from "effect/Effect"
6
5
  import * as Layer from "effect/Layer"
7
6
  import * as Queue from "effect/Queue"
8
7
  import * as Schedule from "effect/Schedule"
9
- import type * as Stream from "effect/Stream"
10
8
 
11
9
  declare const self: Worker
12
10
 
13
11
  const platformRunnerImpl = Runner.PlatformRunner.of({
14
12
  [Runner.PlatformRunnerTypeId]: Runner.PlatformRunnerTypeId,
15
- start<I, O>(shutdown: Effect.Effect<never, never, void>) {
13
+ start<I, O>(shutdown: Effect.Effect<void>) {
16
14
  return Effect.gen(function*(_) {
17
15
  if (!("postMessage" in self)) {
18
16
  return yield* _(Effect.die("not in a worker"))
@@ -20,7 +18,7 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
20
18
  const port = self
21
19
  const queue = yield* _(Queue.unbounded<I>())
22
20
  yield* _(
23
- Effect.async<never, WorkerError, never>((resume) => {
21
+ Effect.async<never, WorkerError>((resume) => {
24
22
  function onMessage(event: MessageEvent) {
25
23
  const message = (event as MessageEvent).data as Runner.BackingRunner.Message<I>
26
24
  if (message[0] === 0) {
@@ -62,25 +60,4 @@ const platformRunnerImpl = Runner.PlatformRunner.of({
62
60
  })
63
61
 
64
62
  /** @internal */
65
- export const layerPlatform = Layer.succeed(Runner.PlatformRunner, platformRunnerImpl)
66
-
67
- /** @internal */
68
- export const layer = <I, R, E, O>(
69
- process: (request: I) => Stream.Stream<R, E, O>,
70
- options?: Runner.Runner.Options<I, E, O>
71
- ): Layer.Layer<R, WorkerError, never> => Layer.provide(Runner.layer(process, options), layerPlatform)
72
-
73
- /** @internal */
74
- export const layerSerialized = <
75
- R,
76
- I,
77
- A extends Schema.TaggedRequest.Any,
78
- Handlers extends Runner.SerializedRunner.Handlers<A>
79
- >(
80
- schema: Schema.Schema<R, I, A>,
81
- handlers: Handlers
82
- ): Layer.Layer<
83
- R | Runner.SerializedRunner.HandlersContext<Handlers>,
84
- WorkerError,
85
- never
86
- > => Layer.provide(Runner.layerSerialized(schema, handlers), layerPlatform)
63
+ export const layer = Layer.succeed(Runner.PlatformRunner, platformRunnerImpl)
@@ -1,6 +0,0 @@
1
- {
2
- "main": "../dist/cjs/Command.js",
3
- "module": "../dist/esm/Command.js",
4
- "types": "../dist/dts/Command.d.ts",
5
- "sideEffects": []
6
- }