@effect/platform-bun 0.30.11 → 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.
- package/BunCommandExecutor/package.json +6 -0
- package/BunFileSystem/package.json +6 -0
- package/BunHttpServer/package.json +6 -0
- package/BunKeyValueStore/package.json +6 -0
- package/BunPath/package.json +6 -0
- package/BunRuntime/package.json +6 -0
- package/BunSink/package.json +6 -0
- package/BunStream/package.json +6 -0
- package/BunTerminal/package.json +6 -0
- package/BunWorker/package.json +6 -0
- package/BunWorkerRunner/package.json +6 -0
- package/dist/cjs/BunCommandExecutor.js +42 -0
- package/dist/cjs/BunCommandExecutor.js.map +1 -0
- package/dist/cjs/BunContext.js +6 -10
- package/dist/cjs/BunContext.js.map +1 -1
- package/dist/cjs/BunFileSystem.js +42 -0
- package/dist/cjs/BunFileSystem.js.map +1 -0
- package/dist/cjs/{HttpClient.js → BunHttpServer.js} +9 -15
- package/dist/cjs/BunHttpServer.js.map +1 -0
- package/dist/cjs/BunKeyValueStore.js +42 -0
- package/dist/cjs/BunKeyValueStore.js.map +1 -0
- package/dist/cjs/BunPath.js +52 -0
- package/dist/cjs/BunPath.js.map +1 -0
- package/dist/cjs/BunRuntime.js +42 -0
- package/dist/cjs/BunRuntime.js.map +1 -0
- package/dist/cjs/BunSink.js +17 -0
- package/dist/cjs/BunSink.js.map +1 -0
- package/dist/cjs/BunStream.js +17 -0
- package/dist/cjs/BunStream.js.map +1 -0
- package/dist/cjs/BunTerminal.js +47 -0
- package/dist/cjs/BunTerminal.js.map +1 -0
- package/dist/cjs/{WorkerRunner.js → BunWorker.js} +6 -27
- package/dist/cjs/BunWorker.js.map +1 -0
- package/dist/cjs/BunWorkerRunner.js +38 -0
- package/dist/cjs/BunWorkerRunner.js.map +1 -0
- package/dist/cjs/Http/Platform.js +0 -20
- package/dist/cjs/Http/Platform.js.map +1 -1
- package/dist/cjs/Http/Server.js +5 -21
- package/dist/cjs/Http/Server.js.map +1 -1
- package/dist/cjs/Http/ServerRequest.js +0 -19
- package/dist/cjs/Http/ServerRequest.js.map +1 -1
- package/dist/cjs/index.js +23 -33
- package/dist/cjs/internal/http/platform.js +2 -2
- package/dist/cjs/internal/http/platform.js.map +1 -1
- package/dist/cjs/internal/http/server.js +11 -6
- package/dist/cjs/internal/http/server.js.map +1 -1
- package/dist/cjs/internal/worker.js +3 -8
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +2 -8
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/BunCommandExecutor.d.ts +9 -0
- package/dist/dts/BunCommandExecutor.d.ts.map +1 -0
- package/dist/dts/BunContext.d.ts +9 -6
- package/dist/dts/BunContext.d.ts.map +1 -1
- package/dist/dts/BunFileSystem.d.ts +8 -0
- package/dist/dts/BunFileSystem.d.ts.map +1 -0
- package/dist/dts/BunHttpServer.d.ts +37 -0
- package/dist/dts/BunHttpServer.d.ts.map +1 -0
- package/dist/dts/BunKeyValueStore.d.ts +9 -0
- package/dist/dts/BunKeyValueStore.d.ts.map +1 -0
- package/dist/dts/BunPath.d.ts +21 -0
- package/dist/dts/BunPath.d.ts.map +1 -0
- package/dist/dts/BunRuntime.d.ts +7 -0
- package/dist/dts/BunRuntime.d.ts.map +1 -0
- package/dist/dts/BunSink.d.ts +8 -0
- package/dist/dts/BunSink.d.ts.map +1 -0
- package/dist/dts/BunStream.d.ts +8 -0
- package/dist/dts/BunStream.d.ts.map +1 -0
- package/dist/dts/BunTerminal.d.ts +15 -0
- package/dist/dts/BunTerminal.d.ts.map +1 -0
- package/dist/dts/BunWorker.d.ts +21 -0
- package/dist/dts/BunWorker.d.ts.map +1 -0
- package/dist/dts/BunWorkerRunner.d.ts +11 -0
- package/dist/dts/BunWorkerRunner.d.ts.map +1 -0
- package/dist/dts/Http/Platform.d.ts +3 -9
- package/dist/dts/Http/Platform.d.ts.map +1 -1
- package/dist/dts/Http/Server.d.ts +9 -8
- package/dist/dts/Http/Server.d.ts.map +1 -1
- package/dist/dts/Http/ServerRequest.d.ts +0 -6
- package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
- package/dist/dts/index.d.ts +12 -40
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/BunCommandExecutor.js +10 -0
- package/dist/esm/BunCommandExecutor.js.map +1 -0
- package/dist/esm/BunContext.js +6 -9
- package/dist/esm/BunContext.js.map +1 -1
- package/dist/esm/BunFileSystem.js +10 -0
- package/dist/esm/BunFileSystem.js.map +1 -0
- package/dist/esm/BunHttpServer.js +37 -0
- package/dist/esm/BunHttpServer.js.map +1 -0
- package/dist/esm/BunKeyValueStore.js +10 -0
- package/dist/esm/BunKeyValueStore.js.map +1 -0
- package/dist/esm/BunPath.js +20 -0
- package/dist/esm/BunPath.js.map +1 -0
- package/dist/esm/BunRuntime.js +10 -0
- package/dist/esm/BunRuntime.js.map +1 -0
- package/dist/esm/BunSink.js +8 -0
- package/dist/esm/BunSink.js.map +1 -0
- package/dist/esm/BunStream.js +8 -0
- package/dist/esm/BunStream.js.map +1 -0
- package/dist/esm/BunTerminal.js +15 -0
- package/dist/esm/BunTerminal.js.map +1 -0
- package/dist/esm/BunWorker.js +17 -0
- package/dist/esm/BunWorker.js.map +1 -0
- package/dist/esm/BunWorkerRunner.js +7 -0
- package/dist/esm/BunWorkerRunner.js.map +1 -0
- package/dist/esm/Http/Platform.js +0 -4
- package/dist/esm/Http/Platform.js.map +1 -1
- package/dist/esm/Http/Server.js +4 -3
- package/dist/esm/Http/Server.js.map +1 -1
- package/dist/esm/Http/ServerRequest.js +0 -4
- package/dist/esm/Http/ServerRequest.js.map +1 -1
- package/dist/esm/index.js +12 -40
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/http/platform.js +2 -2
- package/dist/esm/internal/http/platform.js.map +1 -1
- package/dist/esm/internal/http/server.js +9 -5
- package/dist/esm/internal/http/server.js.map +1 -1
- package/dist/esm/internal/worker.js +1 -7
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +1 -5
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +88 -126
- package/src/BunCommandExecutor.ts +13 -0
- package/src/BunContext.ts +16 -11
- package/src/BunFileSystem.ts +12 -0
- package/src/BunHttpServer.ts +38 -0
- package/src/BunKeyValueStore.ts +15 -0
- package/src/BunPath.ts +25 -0
- package/src/BunRuntime.ts +11 -0
- package/src/BunSink.ts +8 -0
- package/src/BunStream.ts +8 -0
- package/src/BunTerminal.ts +20 -0
- package/src/BunWorker.ts +26 -0
- package/src/BunWorkerRunner.ts +12 -0
- package/src/Http/Platform.ts +3 -10
- package/src/Http/Server.ts +13 -10
- package/src/Http/ServerRequest.ts +0 -7
- package/src/index.ts +12 -45
- package/src/internal/http/platform.ts +2 -2
- package/src/internal/http/server.ts +33 -21
- package/src/internal/worker.ts +7 -14
- package/src/internal/workerRunner.ts +3 -26
- package/Command/package.json +0 -6
- package/CommandExecutor/package.json +0 -6
- package/Effectify/package.json +0 -6
- package/Error/package.json +0 -6
- package/FileSystem/package.json +0 -6
- package/HttpClient/package.json +0 -6
- package/HttpServer/package.json +0 -6
- package/KeyValueStore/package.json +0 -6
- package/Path/package.json +0 -6
- package/Runtime/package.json +0 -6
- package/Sink/package.json +0 -6
- package/Stream/package.json +0 -6
- package/Terminal/package.json +0 -6
- package/Transferable/package.json +0 -6
- package/Worker/package.json +0 -6
- package/WorkerRunner/package.json +0 -6
- package/dist/cjs/Command.js +0 -103
- package/dist/cjs/Command.js.map +0 -1
- package/dist/cjs/CommandExecutor.js +0 -19
- package/dist/cjs/CommandExecutor.js.map +0 -1
- package/dist/cjs/Effectify.js +0 -13
- package/dist/cjs/Effectify.js.map +0 -1
- package/dist/cjs/Error.js +0 -25
- package/dist/cjs/Error.js.map +0 -1
- package/dist/cjs/FileSystem.js +0 -25
- package/dist/cjs/FileSystem.js.map +0 -1
- package/dist/cjs/HttpClient.js.map +0 -1
- package/dist/cjs/HttpServer.js +0 -58
- package/dist/cjs/HttpServer.js.map +0 -1
- package/dist/cjs/KeyValueStore.js +0 -28
- package/dist/cjs/KeyValueStore.js.map +0 -1
- package/dist/cjs/Path.js +0 -31
- package/dist/cjs/Path.js.map +0 -1
- package/dist/cjs/Runtime.js +0 -19
- package/dist/cjs/Runtime.js.map +0 -1
- package/dist/cjs/Sink.js +0 -13
- package/dist/cjs/Sink.js.map +0 -1
- package/dist/cjs/Stream.js +0 -43
- package/dist/cjs/Stream.js.map +0 -1
- package/dist/cjs/Terminal.js +0 -25
- package/dist/cjs/Terminal.js.map +0 -1
- package/dist/cjs/Transferable.js +0 -17
- package/dist/cjs/Transferable.js.map +0 -1
- package/dist/cjs/Worker.js +0 -87
- package/dist/cjs/Worker.js.map +0 -1
- package/dist/cjs/WorkerRunner.js.map +0 -1
- package/dist/dts/Command.d.ts +0 -111
- package/dist/dts/Command.d.ts.map +0 -1
- package/dist/dts/CommandExecutor.d.ts +0 -41
- package/dist/dts/CommandExecutor.d.ts.map +0 -1
- package/dist/dts/Effectify.d.ts +0 -19
- package/dist/dts/Effectify.d.ts.map +0 -1
- package/dist/dts/Error.d.ts +0 -31
- package/dist/dts/Error.d.ts.map +0 -1
- package/dist/dts/FileSystem.d.ts +0 -76
- package/dist/dts/FileSystem.d.ts.map +0 -1
- package/dist/dts/HttpClient.d.ts +0 -61
- package/dist/dts/HttpClient.d.ts.map +0 -1
- package/dist/dts/HttpServer.d.ts +0 -109
- package/dist/dts/HttpServer.d.ts.map +0 -1
- package/dist/dts/KeyValueStore.d.ts +0 -13
- package/dist/dts/KeyValueStore.d.ts.map +0 -1
- package/dist/dts/Path.d.ts +0 -25
- package/dist/dts/Path.d.ts.map +0 -1
- package/dist/dts/Runtime.d.ts +0 -26
- package/dist/dts/Runtime.d.ts.map +0 -1
- package/dist/dts/Sink.d.ts +0 -10
- package/dist/dts/Sink.d.ts.map +0 -1
- package/dist/dts/Stream.d.ts +0 -46
- package/dist/dts/Stream.d.ts.map +0 -1
- package/dist/dts/Terminal.d.ts +0 -34
- package/dist/dts/Terminal.d.ts.map +0 -1
- package/dist/dts/Transferable.d.ts +0 -7
- package/dist/dts/Transferable.d.ts.map +0 -1
- package/dist/dts/Worker.d.ts +0 -46
- package/dist/dts/Worker.d.ts.map +0 -1
- package/dist/dts/WorkerRunner.d.ts +0 -30
- package/dist/dts/WorkerRunner.d.ts.map +0 -1
- package/dist/esm/Command.js +0 -85
- package/dist/esm/Command.js.map +0 -1
- package/dist/esm/CommandExecutor.js +0 -15
- package/dist/esm/CommandExecutor.js.map +0 -1
- package/dist/esm/Effectify.js +0 -10
- package/dist/esm/Effectify.js.map +0 -1
- package/dist/esm/Error.js +0 -20
- package/dist/esm/Error.js.map +0 -1
- package/dist/esm/FileSystem.js +0 -20
- package/dist/esm/FileSystem.js.map +0 -1
- package/dist/esm/HttpClient.js +0 -61
- package/dist/esm/HttpClient.js.map +0 -1
- package/dist/esm/HttpServer.js +0 -109
- package/dist/esm/HttpServer.js.map +0 -1
- package/dist/esm/KeyValueStore.js +0 -13
- package/dist/esm/KeyValueStore.js.map +0 -1
- package/dist/esm/Path.js +0 -25
- package/dist/esm/Path.js.map +0 -1
- package/dist/esm/Runtime.js +0 -15
- package/dist/esm/Runtime.js.map +0 -1
- package/dist/esm/Sink.js +0 -10
- package/dist/esm/Sink.js.map +0 -1
- package/dist/esm/Stream.js +0 -35
- package/dist/esm/Stream.js.map +0 -1
- package/dist/esm/Terminal.js +0 -17
- package/dist/esm/Terminal.js.map +0 -1
- package/dist/esm/Transferable.js +0 -7
- package/dist/esm/Transferable.js.map +0 -1
- package/dist/esm/Worker.js +0 -36
- package/dist/esm/Worker.js.map +0 -1
- package/dist/esm/WorkerRunner.js +0 -21
- package/dist/esm/WorkerRunner.js.map +0 -1
- package/src/Command.ts +0 -114
- package/src/CommandExecutor.ts +0 -44
- package/src/Effectify.ts +0 -22
- package/src/Error.ts +0 -34
- package/src/FileSystem.ts +0 -79
- package/src/HttpClient.ts +0 -62
- package/src/HttpServer.ts +0 -110
- package/src/KeyValueStore.ts +0 -15
- package/src/Path.ts +0 -26
- package/src/Runtime.ts +0 -29
- package/src/Sink.ts +0 -11
- package/src/Stream.ts +0 -49
- package/src/Terminal.ts +0 -36
- package/src/Transferable.ts +0 -7
- package/src/Worker.ts +0 -64
- 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
package/src/BunStream.ts
ADDED
|
@@ -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
|
package/src/BunWorker.ts
ADDED
|
@@ -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
|
package/src/Http/Platform.ts
CHANGED
|
@@ -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
|
|
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<
|
|
21
|
+
export const layer: Layer.Layer<Platform.Platform> = internal.layer
|
package/src/Http/Server.ts
CHANGED
|
@@ -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
|
|
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
|
|
26
|
+
* @category layers
|
|
24
27
|
*/
|
|
25
|
-
export const
|
|
26
|
-
|
|
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<
|
|
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<
|
|
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
|
|
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
|
|
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
|
|
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
|
|
19
|
+
export * as BunHttpServer from "./BunHttpServer.js"
|
|
47
20
|
|
|
48
21
|
/**
|
|
49
22
|
* @since 1.0.0
|
|
50
23
|
*/
|
|
51
|
-
export * as
|
|
24
|
+
export * as BunKeyValueStore from "./BunKeyValueStore.js"
|
|
52
25
|
|
|
53
26
|
/**
|
|
54
27
|
* @since 1.0.0
|
|
55
28
|
*/
|
|
56
|
-
export * as
|
|
29
|
+
export * as BunPath from "./BunPath.js"
|
|
57
30
|
|
|
58
31
|
/**
|
|
59
32
|
* @since 1.0.0
|
|
60
33
|
*/
|
|
61
|
-
export * as
|
|
34
|
+
export * as BunRuntime from "./BunRuntime.js"
|
|
62
35
|
|
|
63
36
|
/**
|
|
64
37
|
* @since 1.0.0
|
|
65
38
|
*/
|
|
66
|
-
export * as
|
|
39
|
+
export * as BunSink from "./BunSink.js"
|
|
67
40
|
|
|
68
41
|
/**
|
|
69
42
|
* @since 1.0.0
|
|
70
43
|
*/
|
|
71
|
-
export * as
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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<
|
|
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
|
|
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.
|
|
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.
|
|
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<
|
|
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<
|
|
235
|
-
get text(): Effect.Effect<
|
|
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<
|
|
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<
|
|
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
|
-
|
|
292
|
+
Multipart.Persisted,
|
|
281
293
|
Multipart.MultipartError,
|
|
282
|
-
|
|
294
|
+
Scope.Scope | FileSystem.FileSystem | Path.Path
|
|
283
295
|
>
|
|
284
296
|
| undefined
|
|
285
297
|
get multipart(): Effect.Effect<
|
|
286
|
-
|
|
298
|
+
Multipart.Persisted,
|
|
287
299
|
Multipart.MultipartError,
|
|
288
|
-
|
|
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
|
-
|
|
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<
|
|
300
|
-
return
|
|
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<
|
|
304
|
-
get arrayBuffer(): Effect.Effect<
|
|
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
|
}
|
package/src/internal/worker.ts
CHANGED
|
@@ -13,7 +13,7 @@ const platformWorkerImpl = Worker.PlatformWorker.of({
|
|
|
13
13
|
|
|
14
14
|
yield* _(Effect.addFinalizer(() =>
|
|
15
15
|
pipe(
|
|
16
|
-
Effect.async<
|
|
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
|
|
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
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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<
|
|
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
|
|
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
|
|
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)
|