@effect/platform 0.43.10 → 0.44.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/dist/cjs/Error.js +4 -0
- package/dist/cjs/Error.js.map +1 -1
- package/dist/cjs/Http/App.js.map +1 -1
- package/dist/cjs/Http/Body.js.map +1 -1
- package/dist/cjs/Http/Client.js.map +1 -1
- package/dist/cjs/Http/ClientError.js +4 -0
- package/dist/cjs/Http/ClientError.js.map +1 -1
- package/dist/cjs/Http/ClientResponse.js.map +1 -1
- package/dist/cjs/Http/IncomingMessage.js.map +1 -1
- package/dist/cjs/Http/Multipart.js.map +1 -1
- package/dist/cjs/Http/Server.js +26 -1
- package/dist/cjs/Http/Server.js.map +1 -1
- package/dist/cjs/Http/ServerError.js.map +1 -1
- package/dist/cjs/Http/ServerResponse.js.map +1 -1
- package/dist/cjs/HttpServer.js +7 -1
- package/dist/cjs/HttpServer.js.map +1 -1
- package/dist/cjs/KeyValueStore.js.map +1 -1
- package/dist/cjs/Path.js.map +1 -1
- package/dist/cjs/Transferable.js +51 -48
- package/dist/cjs/Transferable.js.map +1 -1
- package/dist/cjs/Worker.js +6 -1
- package/dist/cjs/Worker.js.map +1 -1
- package/dist/cjs/WorkerError.js +4 -0
- package/dist/cjs/WorkerError.js.map +1 -1
- package/dist/cjs/index.js +62 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/commandExecutor.js +1 -1
- package/dist/cjs/internal/commandExecutor.js.map +1 -1
- package/dist/cjs/internal/effectify.js.map +1 -1
- package/dist/cjs/internal/fileSystem.js +1 -1
- package/dist/cjs/internal/fileSystem.js.map +1 -1
- package/dist/cjs/internal/http/body.js.map +1 -1
- package/dist/cjs/internal/http/client.js +2 -2
- package/dist/cjs/internal/http/client.js.map +1 -1
- package/dist/cjs/internal/http/etag.js +1 -1
- package/dist/cjs/internal/http/etag.js.map +1 -1
- package/dist/cjs/internal/http/multipart.js.map +1 -1
- package/dist/cjs/internal/http/platform.js +1 -1
- package/dist/cjs/internal/http/platform.js.map +1 -1
- package/dist/cjs/internal/http/router.js +1 -1
- package/dist/cjs/internal/http/router.js.map +1 -1
- package/dist/cjs/internal/http/server.js +23 -2
- package/dist/cjs/internal/http/server.js.map +1 -1
- package/dist/cjs/internal/http/serverRequest.js +1 -1
- package/dist/cjs/internal/http/serverRequest.js.map +1 -1
- package/dist/cjs/internal/http/serverResponse.js.map +1 -1
- package/dist/cjs/internal/keyValueStore.js +2 -2
- package/dist/cjs/internal/keyValueStore.js.map +1 -1
- package/dist/cjs/internal/path.js +9 -4
- package/dist/cjs/internal/path.js.map +1 -1
- package/dist/cjs/internal/terminal.js +1 -1
- package/dist/cjs/internal/terminal.js.map +1 -1
- package/dist/cjs/internal/worker.js +16 -12
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/cjs/internal/workerError.js.map +1 -1
- package/dist/cjs/internal/workerRunner.js +15 -12
- package/dist/cjs/internal/workerRunner.js.map +1 -1
- package/dist/dts/Command.d.ts +9 -9
- package/dist/dts/Command.d.ts.map +1 -1
- package/dist/dts/CommandExecutor.d.ts +13 -13
- package/dist/dts/CommandExecutor.d.ts.map +1 -1
- package/dist/dts/Effectify.d.ts +55 -55
- package/dist/dts/Effectify.d.ts.map +1 -1
- package/dist/dts/Error.d.ts +2 -6
- package/dist/dts/Error.d.ts.map +1 -1
- package/dist/dts/FileSystem.d.ts +35 -35
- package/dist/dts/FileSystem.d.ts.map +1 -1
- package/dist/dts/Http/App.d.ts +5 -5
- package/dist/dts/Http/App.d.ts.map +1 -1
- package/dist/dts/Http/Body.d.ts +10 -11
- package/dist/dts/Http/Body.d.ts.map +1 -1
- package/dist/dts/Http/Client.d.ts +32 -32
- package/dist/dts/Http/Client.d.ts.map +1 -1
- package/dist/dts/Http/ClientError.d.ts +2 -6
- package/dist/dts/Http/ClientError.d.ts.map +1 -1
- package/dist/dts/Http/ClientRequest.d.ts +16 -16
- package/dist/dts/Http/ClientRequest.d.ts.map +1 -1
- package/dist/dts/Http/ClientResponse.d.ts +3 -3
- package/dist/dts/Http/ClientResponse.d.ts.map +1 -1
- package/dist/dts/Http/Etag.d.ts +2 -2
- package/dist/dts/Http/Etag.d.ts.map +1 -1
- package/dist/dts/Http/IncomingMessage.d.ts +10 -10
- package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
- package/dist/dts/Http/Middleware.d.ts +3 -3
- package/dist/dts/Http/Multipart.d.ts +18 -19
- package/dist/dts/Http/Multipart.d.ts.map +1 -1
- package/dist/dts/Http/Multiplex.d.ts +4 -4
- package/dist/dts/Http/Multiplex.d.ts.map +1 -1
- package/dist/dts/Http/Platform.d.ts +3 -3
- package/dist/dts/Http/Platform.d.ts.map +1 -1
- package/dist/dts/Http/Router.d.ts +10 -10
- package/dist/dts/Http/Router.d.ts.map +1 -1
- package/dist/dts/Http/Server.d.ts +39 -14
- package/dist/dts/Http/Server.d.ts.map +1 -1
- package/dist/dts/Http/ServerError.d.ts +2 -3
- package/dist/dts/Http/ServerError.d.ts.map +1 -1
- package/dist/dts/Http/ServerRequest.d.ts +9 -9
- package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
- package/dist/dts/Http/ServerResponse.d.ts +7 -7
- package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
- package/dist/dts/Http/UrlParams.d.ts +4 -4
- package/dist/dts/HttpServer.d.ts +24 -0
- package/dist/dts/HttpServer.d.ts.map +1 -1
- package/dist/dts/KeyValueStore.d.ts +21 -21
- package/dist/dts/KeyValueStore.d.ts.map +1 -1
- package/dist/dts/Path.d.ts +3 -3
- package/dist/dts/Path.d.ts.map +1 -1
- package/dist/dts/Runtime.d.ts +1 -1
- package/dist/dts/Runtime.d.ts.map +1 -1
- package/dist/dts/Terminal.d.ts +5 -5
- package/dist/dts/Terminal.d.ts.map +1 -1
- package/dist/dts/Transferable.d.ts +35 -13
- package/dist/dts/Transferable.d.ts.map +1 -1
- package/dist/dts/Worker.d.ts +58 -41
- package/dist/dts/Worker.d.ts.map +1 -1
- package/dist/dts/WorkerError.d.ts +3 -7
- package/dist/dts/WorkerError.d.ts.map +1 -1
- package/dist/dts/WorkerRunner.d.ts +13 -13
- package/dist/dts/WorkerRunner.d.ts.map +1 -1
- package/dist/dts/index.d.ts +61 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/esm/Error.js +3 -0
- package/dist/esm/Error.js.map +1 -1
- package/dist/esm/Http/App.js.map +1 -1
- package/dist/esm/Http/Body.js.map +1 -1
- package/dist/esm/Http/Client.js.map +1 -1
- package/dist/esm/Http/ClientError.js +3 -0
- package/dist/esm/Http/ClientError.js.map +1 -1
- package/dist/esm/Http/ClientResponse.js.map +1 -1
- package/dist/esm/Http/IncomingMessage.js.map +1 -1
- package/dist/esm/Http/Multipart.js.map +1 -1
- package/dist/esm/Http/Server.js +25 -0
- package/dist/esm/Http/Server.js.map +1 -1
- package/dist/esm/Http/ServerError.js.map +1 -1
- package/dist/esm/Http/ServerResponse.js.map +1 -1
- package/dist/esm/HttpServer.js +24 -0
- package/dist/esm/HttpServer.js.map +1 -1
- package/dist/esm/KeyValueStore.js.map +1 -1
- package/dist/esm/Path.js.map +1 -1
- package/dist/esm/Transferable.js +48 -45
- package/dist/esm/Transferable.js.map +1 -1
- package/dist/esm/Worker.js +5 -0
- package/dist/esm/Worker.js.map +1 -1
- package/dist/esm/WorkerError.js +3 -0
- package/dist/esm/WorkerError.js.map +1 -1
- package/dist/esm/index.js +61 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/commandExecutor.js +2 -2
- package/dist/esm/internal/commandExecutor.js.map +1 -1
- package/dist/esm/internal/effectify.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/body.js.map +1 -1
- package/dist/esm/internal/http/client.js +2 -2
- package/dist/esm/internal/http/client.js.map +1 -1
- package/dist/esm/internal/http/etag.js +1 -1
- package/dist/esm/internal/http/etag.js.map +1 -1
- package/dist/esm/internal/http/multipart.js.map +1 -1
- package/dist/esm/internal/http/platform.js +1 -1
- package/dist/esm/internal/http/platform.js.map +1 -1
- package/dist/esm/internal/http/router.js +1 -1
- package/dist/esm/internal/http/router.js.map +1 -1
- package/dist/esm/internal/http/server.js +18 -1
- package/dist/esm/internal/http/server.js.map +1 -1
- package/dist/esm/internal/http/serverRequest.js +1 -1
- package/dist/esm/internal/http/serverRequest.js.map +1 -1
- package/dist/esm/internal/http/serverResponse.js.map +1 -1
- package/dist/esm/internal/keyValueStore.js +2 -2
- package/dist/esm/internal/keyValueStore.js.map +1 -1
- package/dist/esm/internal/path.js +3 -3
- package/dist/esm/internal/path.js.map +1 -1
- package/dist/esm/internal/terminal.js +2 -2
- package/dist/esm/internal/terminal.js.map +1 -1
- package/dist/esm/internal/worker.js +14 -11
- package/dist/esm/internal/worker.js.map +1 -1
- package/dist/esm/internal/workerError.js.map +1 -1
- package/dist/esm/internal/workerRunner.js +15 -12
- package/dist/esm/internal/workerRunner.js.map +1 -1
- package/package.json +11 -3
- package/src/Command.ts +9 -9
- package/src/CommandExecutor.ts +13 -13
- package/src/Effectify.ts +55 -55
- package/src/Error.ts +2 -3
- package/src/FileSystem.ts +35 -35
- package/src/Http/App.ts +5 -5
- package/src/Http/Body.ts +12 -13
- package/src/Http/Client.ts +37 -37
- package/src/Http/ClientError.ts +2 -3
- package/src/Http/ClientRequest.ts +17 -17
- package/src/Http/ClientResponse.ts +8 -5
- package/src/Http/Etag.ts +2 -2
- package/src/Http/IncomingMessage.ts +27 -23
- package/src/Http/Middleware.ts +4 -4
- package/src/Http/Multipart.ts +22 -25
- package/src/Http/Multiplex.ts +4 -4
- package/src/Http/Platform.ts +3 -3
- package/src/Http/Router.ts +16 -16
- package/src/Http/Server.ts +53 -18
- package/src/Http/ServerError.ts +2 -3
- package/src/Http/ServerRequest.ts +22 -22
- package/src/Http/ServerResponse.ts +9 -10
- package/src/Http/UrlParams.ts +6 -6
- package/src/HttpServer.ts +24 -0
- package/src/KeyValueStore.ts +23 -23
- package/src/Path.ts +3 -3
- package/src/Runtime.ts +1 -1
- package/src/Terminal.ts +4 -4
- package/src/Transferable.ts +88 -70
- package/src/Worker.ts +73 -57
- package/src/WorkerError.ts +3 -4
- package/src/WorkerRunner.ts +21 -21
- package/src/index.ts +74 -0
- package/src/internal/command.ts +7 -7
- package/src/internal/commandExecutor.ts +3 -3
- package/src/internal/effectify.ts +1 -1
- package/src/internal/fileSystem.ts +3 -3
- package/src/internal/http/body.ts +12 -12
- package/src/internal/http/client.ts +42 -46
- package/src/internal/http/clientRequest.ts +15 -15
- package/src/internal/http/clientResponse.ts +18 -18
- package/src/internal/http/etag.ts +1 -1
- package/src/internal/http/middleware.ts +4 -4
- package/src/internal/http/multipart.ts +32 -39
- package/src/internal/http/multiplex.ts +5 -5
- package/src/internal/http/platform.ts +2 -2
- package/src/internal/http/router.ts +14 -14
- package/src/internal/http/server.ts +60 -23
- package/src/internal/http/serverRequest.ts +24 -24
- package/src/internal/http/serverResponse.ts +11 -11
- package/src/internal/keyValueStore.ts +7 -7
- package/src/internal/path.ts +4 -4
- package/src/internal/terminal.ts +2 -2
- package/src/internal/worker.ts +55 -39
- package/src/internal/workerError.ts +1 -1
- package/src/internal/workerRunner.ts +55 -30
package/src/Http/Client.ts
CHANGED
|
@@ -31,7 +31,7 @@ export type TypeId = typeof TypeId
|
|
|
31
31
|
* @category models
|
|
32
32
|
*/
|
|
33
33
|
export interface Client<R, E, A> extends Pipeable {
|
|
34
|
-
(request: ClientRequest.ClientRequest): Effect.Effect<
|
|
34
|
+
(request: ClientRequest.ClientRequest): Effect.Effect<A, E, R>
|
|
35
35
|
readonly [TypeId]: TypeId
|
|
36
36
|
readonly preprocess: Client.Preprocess<R, E>
|
|
37
37
|
readonly execute: Client.Execute<R, E, A>
|
|
@@ -47,15 +47,15 @@ export declare namespace Client {
|
|
|
47
47
|
*/
|
|
48
48
|
export type Preprocess<R, E> = (
|
|
49
49
|
request: ClientRequest.ClientRequest
|
|
50
|
-
) => Effect.Effect<
|
|
50
|
+
) => Effect.Effect<ClientRequest.ClientRequest, E, R>
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* @since 1.0.0
|
|
54
54
|
* @category models
|
|
55
55
|
*/
|
|
56
56
|
export type Execute<R, E, A> = (
|
|
57
|
-
request: Effect.Effect<
|
|
58
|
-
) => Effect.Effect<
|
|
57
|
+
request: Effect.Effect<ClientRequest.ClientRequest, E, R>
|
|
58
|
+
) => Effect.Effect<A, E, R>
|
|
59
59
|
|
|
60
60
|
/**
|
|
61
61
|
* @since 1.0.0
|
|
@@ -94,7 +94,7 @@ export const Fetch: Context.Tag<Fetch, typeof globalThis.fetch> = internal.Fetch
|
|
|
94
94
|
* @since 1.0.0
|
|
95
95
|
* @category layers
|
|
96
96
|
*/
|
|
97
|
-
export const layer: Layer.Layer<
|
|
97
|
+
export const layer: Layer.Layer<Client.Default> = internal.layer
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
100
|
* @since 1.0.0
|
|
@@ -113,8 +113,8 @@ export const fetchOk: (options?: RequestInit) => Client.Default = internal.fetch
|
|
|
113
113
|
* @category error handling
|
|
114
114
|
*/
|
|
115
115
|
export const catchAll: {
|
|
116
|
-
<E, R2, E2, A2>(f: (e: E) => Effect.Effect<
|
|
117
|
-
<R, E, A, R2, E2, A2>(self: Client<R, E, A>, f: (e: E) => Effect.Effect<
|
|
116
|
+
<E, R2, E2, A2>(f: (e: E) => Effect.Effect<A2, E2, R2>): <R, A>(self: Client<R, E, A>) => Client<R2 | R, E2, A2 | A>
|
|
117
|
+
<R, E, A, R2, E2, A2>(self: Client<R, E, A>, f: (e: E) => Effect.Effect<A2, E2, R2>): Client<R | R2, E2, A | A2>
|
|
118
118
|
} = internal.catchAll
|
|
119
119
|
|
|
120
120
|
/**
|
|
@@ -124,12 +124,12 @@ export const catchAll: {
|
|
|
124
124
|
export const catchTag: {
|
|
125
125
|
<E extends { _tag: string }, K extends E["_tag"] & string, R1, E1, A1>(
|
|
126
126
|
tag: K,
|
|
127
|
-
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<
|
|
127
|
+
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<A1, E1, R1>
|
|
128
128
|
): <R, A>(self: Client<R, E, A>) => Client<R1 | R, E1 | Exclude<E, { _tag: K }>, A1 | A>
|
|
129
129
|
<R, E extends { _tag: string }, A, K extends E["_tag"] & string, E1, R1, A1>(
|
|
130
130
|
self: Client<R, E, A>,
|
|
131
131
|
tag: K,
|
|
132
|
-
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<
|
|
132
|
+
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<A1, E1, R1>
|
|
133
133
|
): Client<R | R1, E1 | Exclude<E, { _tag: K }>, A | A1>
|
|
134
134
|
} = internal.catchTag
|
|
135
135
|
|
|
@@ -148,7 +148,7 @@ export const catchTags: {
|
|
|
148
148
|
) => Client<
|
|
149
149
|
| R
|
|
150
150
|
| {
|
|
151
|
-
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<
|
|
151
|
+
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
|
|
152
152
|
}[keyof Cases],
|
|
153
153
|
| Exclude<E, { _tag: keyof Cases }>
|
|
154
154
|
| {
|
|
@@ -156,7 +156,7 @@ export const catchTags: {
|
|
|
156
156
|
}[keyof Cases],
|
|
157
157
|
| A
|
|
158
158
|
| {
|
|
159
|
-
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<
|
|
159
|
+
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<infer A, any, any> ? A : never
|
|
160
160
|
}[keyof Cases]
|
|
161
161
|
>
|
|
162
162
|
<
|
|
@@ -170,7 +170,7 @@ export const catchTags: {
|
|
|
170
170
|
): Client<
|
|
171
171
|
| R
|
|
172
172
|
| {
|
|
173
|
-
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<
|
|
173
|
+
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
|
|
174
174
|
}[keyof Cases],
|
|
175
175
|
| Exclude<E, { _tag: keyof Cases }>
|
|
176
176
|
| {
|
|
@@ -178,7 +178,7 @@ export const catchTags: {
|
|
|
178
178
|
}[keyof Cases],
|
|
179
179
|
| A
|
|
180
180
|
| {
|
|
181
|
-
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<
|
|
181
|
+
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<infer A, any, any> ? A : never
|
|
182
182
|
}[keyof Cases]
|
|
183
183
|
>
|
|
184
184
|
} = internal.catchTags
|
|
@@ -190,12 +190,12 @@ export const catchTags: {
|
|
|
190
190
|
export const filterOrElse: {
|
|
191
191
|
<A, R2, E2, B>(
|
|
192
192
|
f: Predicate.Predicate<A>,
|
|
193
|
-
orElse: (a: A) => Effect.Effect<
|
|
193
|
+
orElse: (a: A) => Effect.Effect<B, E2, R2>
|
|
194
194
|
): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A | B>
|
|
195
195
|
<R, E, A, R2, E2, B>(
|
|
196
196
|
self: Client<R, E, A>,
|
|
197
197
|
f: Predicate.Predicate<A>,
|
|
198
|
-
orElse: (a: A) => Effect.Effect<
|
|
198
|
+
orElse: (a: A) => Effect.Effect<B, E2, R2>
|
|
199
199
|
): Client<R | R2, E | E2, A | B>
|
|
200
200
|
} = internal.filterOrElse
|
|
201
201
|
|
|
@@ -235,7 +235,7 @@ export const filterStatusOk: <R, E>(
|
|
|
235
235
|
* @category constructors
|
|
236
236
|
*/
|
|
237
237
|
export const make: <R, E, A, R2, E2>(
|
|
238
|
-
execute: (request: Effect.Effect<
|
|
238
|
+
execute: (request: Effect.Effect<ClientRequest.ClientRequest, E2, R2>) => Effect.Effect<A, E, R>,
|
|
239
239
|
preprocess: Client.Preprocess<R2, E2>
|
|
240
240
|
) => Client<R, E, A> = internal.make
|
|
241
241
|
|
|
@@ -246,7 +246,7 @@ export const make: <R, E, A, R2, E2>(
|
|
|
246
246
|
export const makeDefault: (
|
|
247
247
|
f: (
|
|
248
248
|
request: ClientRequest.ClientRequest
|
|
249
|
-
) => Effect.Effect<
|
|
249
|
+
) => Effect.Effect<ClientResponse.ClientResponse, Error.HttpClientError>
|
|
250
250
|
) => Client.Default = internal.makeDefault
|
|
251
251
|
|
|
252
252
|
/**
|
|
@@ -255,11 +255,11 @@ export const makeDefault: (
|
|
|
255
255
|
*/
|
|
256
256
|
export const transform: {
|
|
257
257
|
<R, E, A, R1, E1, A1>(
|
|
258
|
-
f: (effect: Effect.Effect<
|
|
258
|
+
f: (effect: Effect.Effect<A, E, R>, request: ClientRequest.ClientRequest) => Effect.Effect<A1, E1, R1>
|
|
259
259
|
): (self: Client<R, E, A>) => Client<R | R1, E | E1, A1>
|
|
260
260
|
<R, E, A, R1, E1, A1>(
|
|
261
261
|
self: Client<R, E, A>,
|
|
262
|
-
f: (effect: Effect.Effect<
|
|
262
|
+
f: (effect: Effect.Effect<A, E, R>, request: ClientRequest.ClientRequest) => Effect.Effect<A1, E1, R1>
|
|
263
263
|
): Client<R | R1, E | E1, A1>
|
|
264
264
|
} = internal.transform
|
|
265
265
|
|
|
@@ -269,11 +269,11 @@ export const transform: {
|
|
|
269
269
|
*/
|
|
270
270
|
export const transformResponse: {
|
|
271
271
|
<R, E, A, R1, E1, A1>(
|
|
272
|
-
f: (effect: Effect.Effect<
|
|
272
|
+
f: (effect: Effect.Effect<A, E, R>) => Effect.Effect<A1, E1, R1>
|
|
273
273
|
): (self: Client<R, E, A>) => Client<R1, E1, A1>
|
|
274
274
|
<R, E, A, R1, E1, A1>(
|
|
275
275
|
self: Client<R, E, A>,
|
|
276
|
-
f: (effect: Effect.Effect<
|
|
276
|
+
f: (effect: Effect.Effect<A, E, R>) => Effect.Effect<A1, E1, R1>
|
|
277
277
|
): Client<R1, E1, A1>
|
|
278
278
|
} = internal.transformResponse
|
|
279
279
|
|
|
@@ -291,8 +291,8 @@ export const map: {
|
|
|
291
291
|
* @category mapping & sequencing
|
|
292
292
|
*/
|
|
293
293
|
export const mapEffect: {
|
|
294
|
-
<A, R2, E2, B>(f: (a: A) => Effect.Effect<
|
|
295
|
-
<R, E, A, R2, E2, B>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<
|
|
294
|
+
<A, R2, E2, B>(f: (a: A) => Effect.Effect<B, E2, R2>): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, B>
|
|
295
|
+
<R, E, A, R2, E2, B>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<B, E2, R2>): Client<R | R2, E | E2, B>
|
|
296
296
|
} = internal.mapEffect
|
|
297
297
|
|
|
298
298
|
/**
|
|
@@ -312,11 +312,11 @@ export const mapRequest: {
|
|
|
312
312
|
*/
|
|
313
313
|
export const mapRequestEffect: {
|
|
314
314
|
<R2, E2>(
|
|
315
|
-
f: (a: ClientRequest.ClientRequest) => Effect.Effect<
|
|
315
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
|
|
316
316
|
): <R, E, A>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
|
|
317
317
|
<R, E, A, R2, E2>(
|
|
318
318
|
self: Client<R, E, A>,
|
|
319
|
-
f: (a: ClientRequest.ClientRequest) => Effect.Effect<
|
|
319
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
|
|
320
320
|
): Client<R | R2, E | E2, A>
|
|
321
321
|
} = internal.mapRequestEffect
|
|
322
322
|
|
|
@@ -337,11 +337,11 @@ export const mapInputRequest: {
|
|
|
337
337
|
*/
|
|
338
338
|
export const mapInputRequestEffect: {
|
|
339
339
|
<R2, E2>(
|
|
340
|
-
f: (a: ClientRequest.ClientRequest) => Effect.Effect<
|
|
340
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
|
|
341
341
|
): <R, E, A>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
|
|
342
342
|
<R, E, A, R2, E2>(
|
|
343
343
|
self: Client<R, E, A>,
|
|
344
|
-
f: (a: ClientRequest.ClientRequest) => Effect.Effect<
|
|
344
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<ClientRequest.ClientRequest, E2, R2>
|
|
345
345
|
): Client<R | R2, E | E2, A>
|
|
346
346
|
} = internal.mapInputRequestEffect
|
|
347
347
|
|
|
@@ -359,19 +359,19 @@ export const retry: {
|
|
|
359
359
|
* @category schema
|
|
360
360
|
*/
|
|
361
361
|
export const schemaFunction: {
|
|
362
|
-
<
|
|
363
|
-
schema: Schema.Schema<
|
|
362
|
+
<SA, SI, SR>(
|
|
363
|
+
schema: Schema.Schema<SA, SI, SR>
|
|
364
364
|
): <R, E, A>(
|
|
365
365
|
self: Client<R, E, A>
|
|
366
366
|
) => (
|
|
367
367
|
request: ClientRequest.ClientRequest
|
|
368
|
-
) => (a: SA) => Effect.Effect<
|
|
369
|
-
<R, E, A,
|
|
368
|
+
) => (a: SA) => Effect.Effect<A, E | ParseResult.ParseError | Error.RequestError, SR | R>
|
|
369
|
+
<R, E, A, SA, SI, SR>(
|
|
370
370
|
self: Client<R, E, A>,
|
|
371
|
-
schema: Schema.Schema<
|
|
371
|
+
schema: Schema.Schema<SA, SI, SR>
|
|
372
372
|
): (
|
|
373
373
|
request: ClientRequest.ClientRequest
|
|
374
|
-
) => (a: SA) => Effect.Effect<
|
|
374
|
+
) => (a: SA) => Effect.Effect<A, E | ParseResult.ParseError | Error.RequestError, SR | R>
|
|
375
375
|
} = internal.schemaFunction
|
|
376
376
|
|
|
377
377
|
/**
|
|
@@ -379,8 +379,8 @@ export const schemaFunction: {
|
|
|
379
379
|
* @category mapping & sequencing
|
|
380
380
|
*/
|
|
381
381
|
export const tap: {
|
|
382
|
-
<A, R2, E2, _>(f: (a: A) => Effect.Effect<
|
|
383
|
-
<R, E, A, R2, E2, _>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<
|
|
382
|
+
<A, R2, E2, _>(f: (a: A) => Effect.Effect<_, E2, R2>): <R, E>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
|
|
383
|
+
<R, E, A, R2, E2, _>(self: Client<R, E, A>, f: (a: A) => Effect.Effect<_, E2, R2>): Client<R | R2, E | E2, A>
|
|
384
384
|
} = internal.tap
|
|
385
385
|
|
|
386
386
|
/**
|
|
@@ -389,10 +389,10 @@ export const tap: {
|
|
|
389
389
|
*/
|
|
390
390
|
export const tapRequest: {
|
|
391
391
|
<R2, E2, _>(
|
|
392
|
-
f: (a: ClientRequest.ClientRequest) => Effect.Effect<
|
|
392
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<_, E2, R2>
|
|
393
393
|
): <R, E, A>(self: Client<R, E, A>) => Client<R2 | R, E2 | E, A>
|
|
394
394
|
<R, E, A, R2, E2, _>(
|
|
395
395
|
self: Client<R, E, A>,
|
|
396
|
-
f: (a: ClientRequest.ClientRequest) => Effect.Effect<
|
|
396
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<_, E2, R2>
|
|
397
397
|
): Client<R | R2, E | E2, A>
|
|
398
398
|
} = internal.tapRequest
|
package/src/Http/ClientError.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
|
-
import type * as Data from "effect/Data"
|
|
5
4
|
import * as internal from "../internal/http/clientError.js"
|
|
6
5
|
import type * as ClientRequest from "./ClientRequest.js"
|
|
7
6
|
import type * as ClientResponse from "./ClientResponse.js"
|
|
@@ -32,7 +31,7 @@ export declare namespace HttpError {
|
|
|
32
31
|
* @since 1.0.0
|
|
33
32
|
* @category models
|
|
34
33
|
*/
|
|
35
|
-
export interface Proto
|
|
34
|
+
export interface Proto {
|
|
36
35
|
readonly [TypeId]: TypeId
|
|
37
36
|
readonly _tag: string
|
|
38
37
|
}
|
|
@@ -40,7 +39,7 @@ export declare namespace HttpError {
|
|
|
40
39
|
/**
|
|
41
40
|
* @since 1.0.0
|
|
42
41
|
*/
|
|
43
|
-
export type ProvidedFields = TypeId | "_tag"
|
|
42
|
+
export type ProvidedFields = TypeId | "_tag"
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
/**
|
|
@@ -43,13 +43,13 @@ export interface ClientRequest extends Pipeable {
|
|
|
43
43
|
* @category models
|
|
44
44
|
*/
|
|
45
45
|
export interface Options {
|
|
46
|
-
readonly method?: Method
|
|
47
|
-
readonly url?: string
|
|
48
|
-
readonly urlParams?: UrlParams.Input
|
|
49
|
-
readonly headers?: Headers.Input
|
|
50
|
-
readonly body?: Body.Body
|
|
51
|
-
readonly accept?: string
|
|
52
|
-
readonly acceptJson?: boolean
|
|
46
|
+
readonly method?: Method | undefined
|
|
47
|
+
readonly url?: string | undefined
|
|
48
|
+
readonly urlParams?: UrlParams.Input | undefined
|
|
49
|
+
readonly headers?: Headers.Input | undefined
|
|
50
|
+
readonly body?: Body.Body | undefined
|
|
51
|
+
readonly accept?: string | undefined
|
|
52
|
+
readonly acceptJson?: boolean | undefined
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
/**
|
|
@@ -283,8 +283,8 @@ export const textBody: {
|
|
|
283
283
|
* @category combinators
|
|
284
284
|
*/
|
|
285
285
|
export const jsonBody: {
|
|
286
|
-
(body: unknown): (self: ClientRequest) => Effect.Effect<
|
|
287
|
-
(self: ClientRequest, body: unknown): Effect.Effect<
|
|
286
|
+
(body: unknown): (self: ClientRequest) => Effect.Effect<ClientRequest, Body.BodyError>
|
|
287
|
+
(self: ClientRequest, body: unknown): Effect.Effect<ClientRequest, Body.BodyError>
|
|
288
288
|
} = internal.jsonBody
|
|
289
289
|
|
|
290
290
|
/**
|
|
@@ -300,11 +300,11 @@ export const unsafeJsonBody: {
|
|
|
300
300
|
* @since 1.0.0
|
|
301
301
|
* @category combinators
|
|
302
302
|
*/
|
|
303
|
-
export const schemaBody: <
|
|
304
|
-
schema: Schema.Schema<
|
|
303
|
+
export const schemaBody: <A, I, R>(
|
|
304
|
+
schema: Schema.Schema<A, I, R>
|
|
305
305
|
) => {
|
|
306
|
-
(body: A): (self: ClientRequest) => Effect.Effect<
|
|
307
|
-
(self: ClientRequest, body: A): Effect.Effect<
|
|
306
|
+
(body: A): (self: ClientRequest) => Effect.Effect<ClientRequest, Body.BodyError, R>
|
|
307
|
+
(self: ClientRequest, body: A): Effect.Effect<ClientRequest, Body.BodyError, R>
|
|
308
308
|
} = internal.schemaBody
|
|
309
309
|
|
|
310
310
|
/**
|
|
@@ -331,12 +331,12 @@ export const formDataBody: {
|
|
|
331
331
|
*/
|
|
332
332
|
export const streamBody: {
|
|
333
333
|
(
|
|
334
|
-
body: Stream.Stream<
|
|
334
|
+
body: Stream.Stream<Uint8Array, unknown>,
|
|
335
335
|
options?: { readonly contentType?: string | undefined; readonly contentLength?: number | undefined } | undefined
|
|
336
336
|
): (self: ClientRequest) => ClientRequest
|
|
337
337
|
(
|
|
338
338
|
self: ClientRequest,
|
|
339
|
-
body: Stream.Stream<
|
|
339
|
+
body: Stream.Stream<Uint8Array, unknown>,
|
|
340
340
|
options?: { readonly contentType?: string | undefined; readonly contentLength?: number | undefined } | undefined
|
|
341
341
|
): ClientRequest
|
|
342
342
|
} = internal.streamBody
|
|
@@ -349,12 +349,12 @@ export const fileBody: {
|
|
|
349
349
|
(
|
|
350
350
|
path: string,
|
|
351
351
|
options?: FileSystem.StreamOptions & { readonly contentType?: string }
|
|
352
|
-
): (self: ClientRequest) => Effect.Effect<
|
|
352
|
+
): (self: ClientRequest) => Effect.Effect<ClientRequest, PlatformError.PlatformError, FileSystem.FileSystem>
|
|
353
353
|
(
|
|
354
354
|
self: ClientRequest,
|
|
355
355
|
path: string,
|
|
356
356
|
options?: FileSystem.StreamOptions & { readonly contentType?: string }
|
|
357
|
-
): Effect.Effect<
|
|
357
|
+
): Effect.Effect<ClientRequest, PlatformError.PlatformError, FileSystem.FileSystem>
|
|
358
358
|
} = internal.fileBody
|
|
359
359
|
|
|
360
360
|
/**
|
|
@@ -46,7 +46,7 @@ export type TypeId = typeof TypeId
|
|
|
46
46
|
export interface ClientResponse extends IncomingMessage.IncomingMessage<Error.ResponseError> {
|
|
47
47
|
readonly [TypeId]: TypeId
|
|
48
48
|
readonly status: number
|
|
49
|
-
readonly formData: Effect.Effect<
|
|
49
|
+
readonly formData: Effect.Effect<FormData, Error.ResponseError>
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
/**
|
|
@@ -68,8 +68,8 @@ export const schemaJson: <
|
|
|
68
68
|
},
|
|
69
69
|
A
|
|
70
70
|
>(
|
|
71
|
-
schema: Schema.Schema<
|
|
72
|
-
) => (self: ClientResponse) => Effect.Effect<
|
|
71
|
+
schema: Schema.Schema<A, I, R>
|
|
72
|
+
) => (self: ClientResponse) => Effect.Effect<A, Error.ResponseError | ParseResult.ParseError, R> = internal.schemaJson
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* @since 1.0.0
|
|
@@ -77,7 +77,10 @@ export const schemaJson: <
|
|
|
77
77
|
*/
|
|
78
78
|
export const schemaNoBody: <
|
|
79
79
|
R,
|
|
80
|
-
I extends {
|
|
80
|
+
I extends {
|
|
81
|
+
readonly status?: number | undefined
|
|
82
|
+
readonly headers?: Readonly<Record<string, string>> | undefined
|
|
83
|
+
},
|
|
81
84
|
A
|
|
82
|
-
>(schema: Schema.Schema<
|
|
85
|
+
>(schema: Schema.Schema<A, I, R>) => (self: ClientResponse) => Effect.Effect<A, ParseResult.ParseError, R> =
|
|
83
86
|
internal.schemaNoBody
|
package/src/Http/Etag.ts
CHANGED
|
@@ -55,8 +55,8 @@ export type GeneratorTypeId = typeof GeneratorTypeId
|
|
|
55
55
|
*/
|
|
56
56
|
export interface Generator {
|
|
57
57
|
readonly [GeneratorTypeId]: GeneratorTypeId
|
|
58
|
-
readonly fromFileInfo: (info: FileSystem.File.Info) => Effect.Effect<
|
|
59
|
-
readonly fromFileWeb: (file: Body.Body.FileLike) => Effect.Effect<
|
|
58
|
+
readonly fromFileInfo: (info: FileSystem.File.Info) => Effect.Effect<Etag>
|
|
59
|
+
readonly fromFileWeb: (file: Body.Body.FileLike) => Effect.Effect<Etag>
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
/**
|
|
@@ -35,20 +35,20 @@ export interface IncomingMessage<E> {
|
|
|
35
35
|
readonly [TypeId]: TypeId
|
|
36
36
|
readonly headers: Headers.Headers
|
|
37
37
|
readonly remoteAddress: Option.Option<string>
|
|
38
|
-
readonly json: Effect.Effect<
|
|
39
|
-
readonly text: Effect.Effect<
|
|
40
|
-
readonly urlParamsBody: Effect.Effect<
|
|
41
|
-
readonly arrayBuffer: Effect.Effect<
|
|
42
|
-
readonly stream: Stream.Stream<
|
|
38
|
+
readonly json: Effect.Effect<unknown, E>
|
|
39
|
+
readonly text: Effect.Effect<string, E>
|
|
40
|
+
readonly urlParamsBody: Effect.Effect<UrlParams.UrlParams, E>
|
|
41
|
+
readonly arrayBuffer: Effect.Effect<ArrayBuffer, E>
|
|
42
|
+
readonly stream: Stream.Stream<Uint8Array, E>
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* @since 1.0.0
|
|
47
47
|
* @category schema
|
|
48
48
|
*/
|
|
49
|
-
export const schemaBodyJson = <
|
|
49
|
+
export const schemaBodyJson = <A, I, R>(schema: Schema.Schema<A, I, R>) => {
|
|
50
50
|
const parse = Schema.decodeUnknown(schema)
|
|
51
|
-
return <E>(self: IncomingMessage<E>): Effect.Effect<
|
|
51
|
+
return <E>(self: IncomingMessage<E>): Effect.Effect<A, E | ParseResult.ParseError, R> =>
|
|
52
52
|
Effect.flatMap(self.json, parse)
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -57,10 +57,10 @@ export const schemaBodyJson = <R, I, A>(schema: Schema.Schema<R, I, A>) => {
|
|
|
57
57
|
* @category schema
|
|
58
58
|
*/
|
|
59
59
|
export const schemaBodyUrlParams = <R, I extends Readonly<Record<string, string>>, A>(
|
|
60
|
-
schema: Schema.Schema<
|
|
60
|
+
schema: Schema.Schema<A, I, R>
|
|
61
61
|
) => {
|
|
62
62
|
const parse = Schema.decodeUnknown(schema)
|
|
63
|
-
return <E>(self: IncomingMessage<E>): Effect.Effect<
|
|
63
|
+
return <E>(self: IncomingMessage<E>): Effect.Effect<A, E | ParseResult.ParseError, R> =>
|
|
64
64
|
Effect.flatMap(self.urlParamsBody, (_) => parse(Object.fromEntries(_)))
|
|
65
65
|
}
|
|
66
66
|
|
|
@@ -68,9 +68,9 @@ export const schemaBodyUrlParams = <R, I extends Readonly<Record<string, string>
|
|
|
68
68
|
* @since 1.0.0
|
|
69
69
|
* @category schema
|
|
70
70
|
*/
|
|
71
|
-
export const schemaHeaders = <R, I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<
|
|
71
|
+
export const schemaHeaders = <R, I extends Readonly<Record<string, string>>, A>(schema: Schema.Schema<A, I, R>) => {
|
|
72
72
|
const parse = Schema.decodeUnknown(schema)
|
|
73
|
-
return <E>(self: IncomingMessage<E>): Effect.Effect<
|
|
73
|
+
return <E>(self: IncomingMessage<E>): Effect.Effect<A, ParseResult.ParseError, R> => parse(self.headers)
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
const SpanSchema = Schema.struct({
|
|
@@ -84,7 +84,9 @@ const SpanSchema = Schema.struct({
|
|
|
84
84
|
* @since 1.0.0
|
|
85
85
|
* @category schema
|
|
86
86
|
*/
|
|
87
|
-
export const schemaExternalSpan
|
|
87
|
+
export const schemaExternalSpan: <E>(
|
|
88
|
+
self: IncomingMessage<E>
|
|
89
|
+
) => Effect.Effect<Tracer.ExternalSpan, ParseResult.ParseError> = flow(
|
|
88
90
|
schemaHeaders(Schema.union(
|
|
89
91
|
Schema.transformOrFail(
|
|
90
92
|
Schema.struct({
|
|
@@ -94,16 +96,18 @@ export const schemaExternalSpan = flow(
|
|
|
94
96
|
(input, _, ast) => {
|
|
95
97
|
const parts = input.b3.split("-")
|
|
96
98
|
if (parts.length >= 2) {
|
|
97
|
-
return ParseResult.succeed(
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
return ParseResult.succeed(
|
|
100
|
+
{
|
|
101
|
+
traceId: parts[0],
|
|
102
|
+
spanId: parts[1],
|
|
103
|
+
sampled: parts[2] ? parts[2] === "1" : true,
|
|
104
|
+
parentSpanId: parts[3]
|
|
105
|
+
} as const
|
|
106
|
+
)
|
|
103
107
|
}
|
|
104
108
|
return ParseResult.fail(ParseResult.type(ast, input))
|
|
105
109
|
},
|
|
106
|
-
(_) => ParseResult.succeed({ b3: "" })
|
|
110
|
+
(_) => ParseResult.succeed({ b3: "" } as const)
|
|
107
111
|
),
|
|
108
112
|
Schema.transform(
|
|
109
113
|
Schema.struct({
|
|
@@ -118,13 +122,13 @@ export const schemaExternalSpan = flow(
|
|
|
118
122
|
spanId: _["x-b3-spanid"],
|
|
119
123
|
parentSpanId: _["x-b3-parentspanid"],
|
|
120
124
|
sampled: _["x-b3-sampled"] === "1"
|
|
121
|
-
}),
|
|
125
|
+
} as const),
|
|
122
126
|
(_) => ({
|
|
123
127
|
"x-b3-traceid": _.traceId,
|
|
124
128
|
"x-b3-spanid": _.spanId,
|
|
125
129
|
"x-b3-parentspanid": _.parentSpanId,
|
|
126
130
|
"x-b3-sampled": _.sampled ? "1" : "0"
|
|
127
|
-
})
|
|
131
|
+
} as const)
|
|
128
132
|
)
|
|
129
133
|
)),
|
|
130
134
|
Effect.map((_): ExternalSpan =>
|
|
@@ -150,6 +154,6 @@ export const maxBodySize: FiberRef.FiberRef<Option.Option<FileSystem.Size>> = Gl
|
|
|
150
154
|
* @category fiber refs
|
|
151
155
|
*/
|
|
152
156
|
export const withMaxBodySize = dual<
|
|
153
|
-
(size: Option.Option<FileSystem.SizeInput>) => <R, E, A>(effect: Effect.Effect<
|
|
154
|
-
<R, E, A>(effect: Effect.Effect<
|
|
157
|
+
(size: Option.Option<FileSystem.SizeInput>) => <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
|
|
158
|
+
<R, E, A>(effect: Effect.Effect<A, E, R>, size: Option.Option<FileSystem.SizeInput>) => Effect.Effect<A, E, R>
|
|
155
159
|
>(2, (effect, size) => Effect.locally(effect, maxBodySize, Option.map(size, FileSystem.Size)))
|
package/src/Http/Middleware.ts
CHANGED
|
@@ -50,7 +50,7 @@ export const loggerDisabled: FiberRef.FiberRef<boolean> = internal.loggerDisable
|
|
|
50
50
|
* @since 1.0.0
|
|
51
51
|
* @category fiber refs
|
|
52
52
|
*/
|
|
53
|
-
export const withLoggerDisabled: <R, E, A>(self: Effect.Effect<
|
|
53
|
+
export const withLoggerDisabled: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> =
|
|
54
54
|
internal.withLoggerDisabled
|
|
55
55
|
|
|
56
56
|
/**
|
|
@@ -67,11 +67,11 @@ export const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<Se
|
|
|
67
67
|
export const withTracerDisabledWhen: {
|
|
68
68
|
(
|
|
69
69
|
predicate: Predicate.Predicate<ServerRequest.ServerRequest>
|
|
70
|
-
): <R, E, A>(effect: Effect.Effect<
|
|
70
|
+
): <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
71
71
|
<R, E, A>(
|
|
72
|
-
effect: Effect.Effect<
|
|
72
|
+
effect: Effect.Effect<A, E, R>,
|
|
73
73
|
predicate: Predicate.Predicate<ServerRequest.ServerRequest>
|
|
74
|
-
): Effect.Effect<
|
|
74
|
+
): Effect.Effect<A, E, R>
|
|
75
75
|
} = internal.withTracerDisabledWhen
|
|
76
76
|
|
|
77
77
|
/**
|