@effect/platform 0.48.29 → 0.49.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/README.md +12 -12
- package/dist/cjs/Http/App.js +9 -7
- package/dist/cjs/Http/App.js.map +1 -1
- package/dist/cjs/Http/Client.js +13 -3
- package/dist/cjs/Http/Client.js.map +1 -1
- package/dist/cjs/Http/ClientResponse.js +9 -9
- package/dist/cjs/Http/ClientResponse.js.map +1 -1
- package/dist/cjs/Http/Cookies.js +7 -7
- package/dist/cjs/Http/Cookies.js.map +1 -1
- package/dist/cjs/Http/Headers.js +7 -7
- package/dist/cjs/Http/Headers.js.map +1 -1
- package/dist/cjs/Http/IncomingMessage.js +7 -7
- package/dist/cjs/Http/IncomingMessage.js.map +1 -1
- package/dist/cjs/Http/Middleware.js +11 -1
- package/dist/cjs/Http/Middleware.js.map +1 -1
- package/dist/cjs/Http/Multiplex.js.map +1 -1
- package/dist/cjs/Http/Router.js.map +1 -1
- package/dist/cjs/Http/UrlParams.js +13 -13
- package/dist/cjs/Http/UrlParams.js.map +1 -1
- package/dist/cjs/PlatformConfigProvider.js +2 -2
- package/dist/cjs/PlatformConfigProvider.js.map +1 -1
- package/dist/cjs/Socket.js +6 -6
- package/dist/cjs/Socket.js.map +1 -1
- package/dist/cjs/Transferable.js +1 -1
- package/dist/cjs/Transferable.js.map +1 -1
- package/dist/cjs/WorkerRunner.js.map +1 -1
- package/dist/cjs/internal/command.js +1 -1
- package/dist/cjs/internal/command.js.map +1 -1
- package/dist/cjs/internal/fileSystem.js +2 -2
- package/dist/cjs/internal/fileSystem.js.map +1 -1
- package/dist/cjs/internal/http/client.js +19 -16
- package/dist/cjs/internal/http/client.js.map +1 -1
- package/dist/cjs/internal/http/clientResponse.js +5 -5
- package/dist/cjs/internal/http/clientResponse.js.map +1 -1
- package/dist/cjs/internal/http/middleware.js +8 -3
- package/dist/cjs/internal/http/middleware.js.map +1 -1
- package/dist/cjs/internal/http/multipart.js +4 -4
- package/dist/cjs/internal/http/multipart.js.map +1 -1
- package/dist/cjs/internal/http/multiplex.js +2 -2
- package/dist/cjs/internal/http/multiplex.js.map +1 -1
- package/dist/cjs/internal/http/router.js +2 -1
- package/dist/cjs/internal/http/router.js.map +1 -1
- package/dist/cjs/internal/worker.js +7 -7
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +14 -13
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/Command.d.ts +3 -3
- package/dist/dts/Command.d.ts.map +1 -1
- package/dist/dts/Http/App.d.ts +7 -7
- package/dist/dts/Http/App.d.ts.map +1 -1
- package/dist/dts/Http/Client.d.ts +78 -65
- package/dist/dts/Http/Client.d.ts.map +1 -1
- package/dist/dts/Http/ClientResponse.d.ts +5 -5
- package/dist/dts/Http/Cookies.d.ts +3 -3
- package/dist/dts/Http/Cookies.d.ts.map +1 -1
- package/dist/dts/Http/Headers.d.ts +4 -4
- package/dist/dts/Http/Headers.d.ts.map +1 -1
- package/dist/dts/Http/IncomingMessage.d.ts +4 -3
- package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
- package/dist/dts/Http/Middleware.d.ts +22 -5
- package/dist/dts/Http/Middleware.d.ts.map +1 -1
- package/dist/dts/Http/Multiplex.d.ts +22 -22
- package/dist/dts/Http/Multiplex.d.ts.map +1 -1
- package/dist/dts/Http/Router.d.ts +80 -80
- package/dist/dts/Http/Router.d.ts.map +1 -1
- package/dist/dts/Http/Server.d.ts +11 -11
- package/dist/dts/Http/Server.d.ts.map +1 -1
- package/dist/dts/Http/ServerRequest.d.ts +1 -1
- package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
- package/dist/dts/Http/TraceContext.d.ts.map +1 -1
- package/dist/dts/Http/UrlParams.d.ts.map +1 -1
- package/dist/dts/PlatformConfigProvider.d.ts.map +1 -1
- package/dist/dts/Socket.d.ts +10 -10
- package/dist/dts/Socket.d.ts.map +1 -1
- package/dist/dts/Transferable.d.ts.map +1 -1
- package/dist/dts/Worker.d.ts +6 -6
- package/dist/dts/Worker.d.ts.map +1 -1
- package/dist/dts/WorkerRunner.d.ts +5 -5
- package/dist/dts/WorkerRunner.d.ts.map +1 -1
- package/dist/dts/internal/http/router.d.ts +1 -1
- package/dist/dts/internal/http/router.d.ts.map +1 -1
- package/dist/esm/Http/App.js +9 -7
- package/dist/esm/Http/App.js.map +1 -1
- package/dist/esm/Http/Client.js +12 -2
- package/dist/esm/Http/Client.js.map +1 -1
- package/dist/esm/Http/ClientResponse.js +5 -5
- package/dist/esm/Http/ClientResponse.js.map +1 -1
- package/dist/esm/Http/Cookies.js +7 -7
- package/dist/esm/Http/Cookies.js.map +1 -1
- package/dist/esm/Http/Headers.js +7 -7
- package/dist/esm/Http/Headers.js.map +1 -1
- package/dist/esm/Http/IncomingMessage.js +3 -3
- package/dist/esm/Http/IncomingMessage.js.map +1 -1
- package/dist/esm/Http/Middleware.js +10 -0
- package/dist/esm/Http/Middleware.js.map +1 -1
- package/dist/esm/Http/Multiplex.js.map +1 -1
- package/dist/esm/Http/Router.js.map +1 -1
- package/dist/esm/Http/UrlParams.js +13 -13
- package/dist/esm/Http/UrlParams.js.map +1 -1
- package/dist/esm/PlatformConfigProvider.js +2 -2
- package/dist/esm/PlatformConfigProvider.js.map +1 -1
- package/dist/esm/Socket.js +6 -6
- package/dist/esm/Socket.js.map +1 -1
- package/dist/esm/Transferable.js +1 -1
- package/dist/esm/Transferable.js.map +1 -1
- package/dist/esm/WorkerRunner.js.map +1 -1
- package/dist/esm/internal/command.js +1 -1
- package/dist/esm/internal/command.js.map +1 -1
- package/dist/esm/internal/fileSystem.js +2 -2
- package/dist/esm/internal/fileSystem.js.map +1 -1
- package/dist/esm/internal/http/client.js +18 -13
- package/dist/esm/internal/http/client.js.map +1 -1
- package/dist/esm/internal/http/clientResponse.js +2 -2
- package/dist/esm/internal/http/clientResponse.js.map +1 -1
- package/dist/esm/internal/http/middleware.js +7 -2
- package/dist/esm/internal/http/middleware.js.map +1 -1
- package/dist/esm/internal/http/multipart.js +4 -4
- package/dist/esm/internal/http/multipart.js.map +1 -1
- package/dist/esm/internal/http/multiplex.js +2 -2
- package/dist/esm/internal/http/multiplex.js.map +1 -1
- package/dist/esm/internal/http/router.js +2 -1
- package/dist/esm/internal/http/router.js.map +1 -1
- package/dist/esm/internal/worker.js +7 -7
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +14 -13
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +3 -3
- package/src/Command.ts +3 -3
- package/src/Http/App.ts +21 -17
- package/src/Http/Client.ts +105 -90
- package/src/Http/ClientResponse.ts +7 -7
- package/src/Http/Cookies.ts +9 -9
- package/src/Http/Headers.ts +12 -12
- package/src/Http/IncomingMessage.ts +16 -6
- package/src/Http/Middleware.ts +30 -6
- package/src/Http/Multiplex.ts +38 -38
- package/src/Http/Router.ts +136 -134
- package/src/Http/Server.ts +16 -16
- package/src/Http/ServerRequest.ts +1 -1
- package/src/Http/UrlParams.ts +15 -15
- package/src/PlatformConfigProvider.ts +2 -2
- package/src/Socket.ts +6 -6
- package/src/Transferable.ts +1 -1
- package/src/Worker.ts +9 -9
- package/src/WorkerRunner.ts +5 -4
- package/src/internal/command.ts +12 -6
- package/src/internal/fileSystem.ts +2 -2
- package/src/internal/http/client.ts +221 -204
- package/src/internal/http/clientResponse.ts +2 -2
- package/src/internal/http/middleware.ts +24 -1
- package/src/internal/http/multipart.ts +4 -4
- package/src/internal/http/multiplex.ts +54 -54
- package/src/internal/http/router.ts +121 -104
- package/src/internal/http/server.ts +17 -17
- package/src/internal/http/serverRequest.ts +1 -1
- package/src/internal/worker.ts +14 -14
- package/src/internal/workerRunner.ts +20 -16
|
@@ -32,13 +32,13 @@ export const PlatformRunner = Context.GenericTag<WorkerRunner.PlatformRunner>(
|
|
|
32
32
|
/** @internal */
|
|
33
33
|
export const make = <I, R, E, O>(
|
|
34
34
|
process: (request: I) => Stream.Stream<O, E, R> | Effect.Effect<O, E, R>,
|
|
35
|
-
options?: WorkerRunner.Runner.Options<I,
|
|
35
|
+
options?: WorkerRunner.Runner.Options<I, O, E>
|
|
36
36
|
) =>
|
|
37
37
|
Effect.gen(function*(_) {
|
|
38
38
|
const scope = yield* _(Scope.fork(yield* _(Effect.scope), ExecutionStrategy.parallel))
|
|
39
39
|
const fiber = Option.getOrThrow(Fiber.getCurrentFiber())
|
|
40
40
|
const shutdown = Effect.zipRight(
|
|
41
|
-
Scope.close(scope, Exit.
|
|
41
|
+
Scope.close(scope, Exit.void),
|
|
42
42
|
Fiber.interruptFork(fiber)
|
|
43
43
|
)
|
|
44
44
|
const platform = yield* _(PlatformRunner)
|
|
@@ -51,19 +51,20 @@ export const make = <I, R, E, O>(
|
|
|
51
51
|
yield* _(
|
|
52
52
|
Queue.take(backing.queue),
|
|
53
53
|
options?.decode ?
|
|
54
|
-
Effect.flatMap((
|
|
54
|
+
Effect.flatMap((msg): Effect.Effect<readonly [portId: number, Worker.Worker.Request<I>], WorkerError> => {
|
|
55
|
+
const req = msg[1]
|
|
55
56
|
if (req[1] === 1) {
|
|
56
|
-
return Effect.succeed(
|
|
57
|
+
return Effect.succeed(msg)
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
return Effect.map(options.decode!(req[2]), (data) => [req[0], req[1], data, req[3]])
|
|
60
|
+
return Effect.map(options.decode!(req[2]), (data) => [msg[0], [req[0], req[1], data, req[3]]])
|
|
60
61
|
}) :
|
|
61
62
|
identity,
|
|
62
|
-
Effect.tap((req) => {
|
|
63
|
+
Effect.tap(([portId, req]) => {
|
|
63
64
|
const id = req[0]
|
|
64
65
|
if (req[1] === 1) {
|
|
65
66
|
const fiber = fiberMap.get(id)
|
|
66
|
-
if (!fiber) return Effect.
|
|
67
|
+
if (!fiber) return Effect.void
|
|
67
68
|
return Fiber.interrupt(fiber)
|
|
68
69
|
}
|
|
69
70
|
|
|
@@ -79,7 +80,7 @@ export const make = <I, R, E, O>(
|
|
|
79
80
|
? Effect.provideService(options.encodeOutput(req[2], data), Transferable.Collector, collector)
|
|
80
81
|
: Effect.succeed(data),
|
|
81
82
|
Effect.flatMap((payload) =>
|
|
82
|
-
backing.send([id, 0, [payload]], [
|
|
83
|
+
backing.send(portId, [id, 0, [payload]], [
|
|
83
84
|
...transfers,
|
|
84
85
|
...collector.unsafeRead()
|
|
85
86
|
])
|
|
@@ -93,7 +94,7 @@ export const make = <I, R, E, O>(
|
|
|
93
94
|
if (options?.encodeOutput === undefined) {
|
|
94
95
|
const payload = Chunk.toReadonlyArray(data)
|
|
95
96
|
const transfers = options?.transfers ? payload.flatMap(options.transfers) : undefined
|
|
96
|
-
return backing.send([id, 0, payload], transfers)
|
|
97
|
+
return backing.send(portId, [id, 0, payload], transfers)
|
|
97
98
|
}
|
|
98
99
|
|
|
99
100
|
const transfers: Array<unknown> = []
|
|
@@ -110,12 +111,12 @@ export const make = <I, R, E, O>(
|
|
|
110
111
|
Effect.provideService(Transferable.Collector, collector),
|
|
111
112
|
Effect.flatMap((payload) => {
|
|
112
113
|
collector.unsafeRead().forEach((transfer) => transfers.push(transfer))
|
|
113
|
-
return backing.send([id, 0, payload], transfers)
|
|
114
|
+
return backing.send(portId, [id, 0, payload], transfers)
|
|
114
115
|
})
|
|
115
116
|
)
|
|
116
117
|
}),
|
|
117
118
|
Stream.runDrain,
|
|
118
|
-
Effect.andThen(backing.send([id, 1]))
|
|
119
|
+
Effect.andThen(backing.send(portId, [id, 1]))
|
|
119
120
|
)
|
|
120
121
|
|
|
121
122
|
if (req[3]) {
|
|
@@ -131,7 +132,8 @@ export const make = <I, R, E, O>(
|
|
|
131
132
|
|
|
132
133
|
return effect
|
|
133
134
|
}),
|
|
134
|
-
Effect.catchIf(isWorkerError, (error) =>
|
|
135
|
+
Effect.catchIf(isWorkerError, (error) =>
|
|
136
|
+
backing.send(portId, [id, 3, WorkerError.encodeCause(Cause.fail(error))])),
|
|
135
137
|
Effect.catchAllCause((cause) =>
|
|
136
138
|
Either.match(Cause.failureOrCause(cause), {
|
|
137
139
|
onLeft: (error) => {
|
|
@@ -146,15 +148,17 @@ export const make = <I, R, E, O>(
|
|
|
146
148
|
)
|
|
147
149
|
: Effect.succeed(error),
|
|
148
150
|
Effect.flatMap((payload) =>
|
|
149
|
-
backing.send([id, 2, payload as any], [
|
|
151
|
+
backing.send(portId, [id, 2, payload as any], [
|
|
150
152
|
...transfers,
|
|
151
153
|
...collector.unsafeRead()
|
|
152
154
|
])
|
|
153
155
|
),
|
|
154
|
-
Effect.catchAllCause((cause) =>
|
|
156
|
+
Effect.catchAllCause((cause) =>
|
|
157
|
+
backing.send(portId, [id, 3, WorkerError.encodeCause(cause)])
|
|
158
|
+
)
|
|
155
159
|
)
|
|
156
160
|
},
|
|
157
|
-
onRight: (cause) => backing.send([id, 3, WorkerError.encodeCause(cause)])
|
|
161
|
+
onRight: (cause) => backing.send(portId, [id, 3, WorkerError.encodeCause(cause)])
|
|
158
162
|
})
|
|
159
163
|
),
|
|
160
164
|
Effect.ensuring(Effect.sync(() => fiberMap.delete(id))),
|
|
@@ -170,7 +174,7 @@ export const make = <I, R, E, O>(
|
|
|
170
174
|
/** @internal */
|
|
171
175
|
export const layer = <I, R, E, O>(
|
|
172
176
|
process: (request: I) => Stream.Stream<O, E, R> | Effect.Effect<O, E, R>,
|
|
173
|
-
options?: WorkerRunner.Runner.Options<I,
|
|
177
|
+
options?: WorkerRunner.Runner.Options<I, O, E>
|
|
174
178
|
): Layer.Layer<never, WorkerError, WorkerRunner.PlatformRunner | R> => Layer.scopedDiscard(make(process, options))
|
|
175
179
|
|
|
176
180
|
/** @internal */
|