@effect/platform 0.31.2 → 0.32.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/Http/Client.js +16 -1
- package/dist/cjs/Http/Client.js.map +1 -1
- package/dist/cjs/Http/IncomingMessage.js +3 -3
- package/dist/cjs/Http/IncomingMessage.js.map +1 -1
- package/dist/cjs/internal/http/client.js +10 -3
- package/dist/cjs/internal/http/client.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 +1 -1
- package/dist/cjs/internal/worker.js.map +1 -1
- package/dist/dts/Http/Client.d.ts +28 -0
- package/dist/dts/Http/Client.d.ts.map +1 -1
- package/dist/dts/Terminal.d.ts +1 -1
- package/dist/dts/internal/http/router.d.ts.map +1 -1
- package/dist/esm/Http/Client.js +15 -0
- package/dist/esm/Http/Client.js.map +1 -1
- package/dist/esm/Http/IncomingMessage.js +3 -3
- package/dist/esm/Http/IncomingMessage.js.map +1 -1
- package/dist/esm/internal/http/client.js +9 -2
- package/dist/esm/internal/http/client.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 +1 -1
- package/dist/esm/internal/worker.js.map +1 -1
- package/package.json +3 -3
- package/src/Http/Client.ts +39 -0
- package/src/Http/IncomingMessage.ts +3 -3
- package/src/internal/http/client.ts +194 -85
- package/src/internal/http/router.ts +2 -1
- package/src/internal/worker.ts +1 -8
|
@@ -22,7 +22,9 @@ import * as internalRequest from "./clientRequest.js"
|
|
|
22
22
|
import * as internalResponse from "./clientResponse.js"
|
|
23
23
|
|
|
24
24
|
/** @internal */
|
|
25
|
-
export const TypeId: Client.TypeId = Symbol.for(
|
|
25
|
+
export const TypeId: Client.TypeId = Symbol.for(
|
|
26
|
+
"@effect/platform/Http/Client"
|
|
27
|
+
) as Client.TypeId
|
|
26
28
|
|
|
27
29
|
/** @internal */
|
|
28
30
|
export const tag = Context.Tag<Client.Client.Default>(TypeId)
|
|
@@ -36,7 +38,9 @@ const clientProto = {
|
|
|
36
38
|
|
|
37
39
|
/** @internal */
|
|
38
40
|
export const make = <R, E, A, R2, E2>(
|
|
39
|
-
execute: (
|
|
41
|
+
execute: (
|
|
42
|
+
request: Effect.Effect<R2, E2, ClientRequest.ClientRequest>
|
|
43
|
+
) => Effect.Effect<R, E, A>,
|
|
40
44
|
preprocess: Client.Client.Preprocess<R2, E2>
|
|
41
45
|
): Client.Client<R, E, A> => {
|
|
42
46
|
function client(request: ClientRequest.ClientRequest) {
|
|
@@ -68,13 +72,20 @@ const addB3Headers = (req: ClientRequest.ClientRequest) =>
|
|
|
68
72
|
export const makeDefault = (
|
|
69
73
|
f: (
|
|
70
74
|
request: ClientRequest.ClientRequest
|
|
71
|
-
) => Effect.Effect<
|
|
75
|
+
) => Effect.Effect<
|
|
76
|
+
never,
|
|
77
|
+
Error.HttpClientError,
|
|
78
|
+
ClientResponse.ClientResponse
|
|
79
|
+
>
|
|
72
80
|
): Client.Client.Default => make(Effect.flatMap(f), addB3Headers)
|
|
73
81
|
|
|
74
82
|
/** @internal */
|
|
75
|
-
export const
|
|
76
|
-
|
|
77
|
-
)
|
|
83
|
+
export const Fetch = Context.Tag<Client.Fetch, typeof globalThis.fetch>(
|
|
84
|
+
Symbol.for("@effect/platform/Http/Client/Fetch")
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
/** @internal */
|
|
88
|
+
export const fetch = (options: RequestInit = {}): Client.Client.Default =>
|
|
78
89
|
makeDefault((request) =>
|
|
79
90
|
Effect.flatMap(
|
|
80
91
|
UrlParams.makeUrl(request.url, request.urlParams, (_) =>
|
|
@@ -84,13 +95,14 @@ export const fetch = (
|
|
|
84
95
|
error: _
|
|
85
96
|
})),
|
|
86
97
|
(url) =>
|
|
87
|
-
Effect.
|
|
98
|
+
Effect.flatMap(Effect.serviceOption(Fetch), (fetch_) => {
|
|
99
|
+
const fetch = fetch_._tag === "Some" ? fetch_.value : globalThis.fetch
|
|
88
100
|
const headers = new Headers(request.headers)
|
|
89
101
|
const send = (body: BodyInit | undefined) =>
|
|
90
102
|
Effect.map(
|
|
91
103
|
Effect.tryPromise({
|
|
92
104
|
try: (signal) =>
|
|
93
|
-
|
|
105
|
+
fetch(url, {
|
|
94
106
|
...options,
|
|
95
107
|
method: request.method,
|
|
96
108
|
headers,
|
|
@@ -130,9 +142,7 @@ const convertBody = (body: Body.Body): BodyInit | undefined => {
|
|
|
130
142
|
}
|
|
131
143
|
|
|
132
144
|
/** @internal */
|
|
133
|
-
export const fetchOk = (
|
|
134
|
-
options: RequestInit = {}
|
|
135
|
-
): Client.Client.Default => filterStatusOk(fetch(options))
|
|
145
|
+
export const fetchOk = (options: RequestInit = {}): Client.Client.Default => filterStatusOk(fetch(options))
|
|
136
146
|
|
|
137
147
|
/** @internal */
|
|
138
148
|
export const layer = Layer.succeed(tag, fetch())
|
|
@@ -140,20 +150,23 @@ export const layer = Layer.succeed(tag, fetch())
|
|
|
140
150
|
/** @internal */
|
|
141
151
|
export const transform = dual<
|
|
142
152
|
<R, E, A, R1, E1, A1>(
|
|
143
|
-
f: (
|
|
153
|
+
f: (
|
|
154
|
+
effect: Effect.Effect<R, E, A>,
|
|
155
|
+
request: ClientRequest.ClientRequest
|
|
156
|
+
) => Effect.Effect<R1, E1, A1>
|
|
144
157
|
) => (self: Client.Client<R, E, A>) => Client.Client<R | R1, E | E1, A1>,
|
|
145
158
|
<R, E, A, R1, E1, A1>(
|
|
146
159
|
self: Client.Client<R, E, A>,
|
|
147
|
-
f: (
|
|
160
|
+
f: (
|
|
161
|
+
effect: Effect.Effect<R, E, A>,
|
|
162
|
+
request: ClientRequest.ClientRequest
|
|
163
|
+
) => Effect.Effect<R1, E1, A1>
|
|
148
164
|
) => Client.Client<R | R1, E | E1, A1>
|
|
149
|
-
>(
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
self.preprocess
|
|
155
|
-
)
|
|
156
|
-
)
|
|
165
|
+
>(2, (self, f) =>
|
|
166
|
+
make(
|
|
167
|
+
Effect.flatMap((request) => f(self.execute(Effect.succeed(request)), request)),
|
|
168
|
+
self.preprocess
|
|
169
|
+
))
|
|
157
170
|
|
|
158
171
|
/** @internal */
|
|
159
172
|
export const transformResponse = dual<
|
|
@@ -168,20 +181,36 @@ export const transformResponse = dual<
|
|
|
168
181
|
|
|
169
182
|
/** @internal */
|
|
170
183
|
export const catchTag: {
|
|
171
|
-
<K extends
|
|
184
|
+
<K extends E extends { _tag: string } ? E["_tag"] : never, E, R1, E1, A1>(
|
|
172
185
|
tag: K,
|
|
173
186
|
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<R1, E1, A1>
|
|
174
187
|
): <R, A>(
|
|
175
188
|
self: Client.Client<R, E, A>
|
|
176
189
|
) => Client.Client<R1 | R, E1 | Exclude<E, { _tag: K }>, A1 | A>
|
|
177
|
-
<
|
|
190
|
+
<
|
|
191
|
+
R,
|
|
192
|
+
E,
|
|
193
|
+
A,
|
|
194
|
+
K extends E extends { _tag: string } ? E["_tag"] : never,
|
|
195
|
+
R1,
|
|
196
|
+
E1,
|
|
197
|
+
A1
|
|
198
|
+
>(
|
|
178
199
|
self: Client.Client<R, E, A>,
|
|
179
200
|
tag: K,
|
|
180
201
|
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<R1, E1, A1>
|
|
181
202
|
): Client.Client<R1 | R, E1 | Exclude<E, { _tag: K }>, A1 | A>
|
|
182
203
|
} = dual(
|
|
183
204
|
3,
|
|
184
|
-
<
|
|
205
|
+
<
|
|
206
|
+
R,
|
|
207
|
+
E,
|
|
208
|
+
A,
|
|
209
|
+
K extends E extends { _tag: string } ? E["_tag"] : never,
|
|
210
|
+
R1,
|
|
211
|
+
E1,
|
|
212
|
+
A1
|
|
213
|
+
>(
|
|
185
214
|
self: Client.Client<R, E, A>,
|
|
186
215
|
tag: K,
|
|
187
216
|
f: (e: Extract<E, { _tag: K }>) => Effect.Effect<R1, E1, A1>
|
|
@@ -192,10 +221,21 @@ export const catchTag: {
|
|
|
192
221
|
export const catchTags: {
|
|
193
222
|
<
|
|
194
223
|
E,
|
|
195
|
-
Cases
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
224
|
+
Cases extends
|
|
225
|
+
& {
|
|
226
|
+
[K in Extract<E, { _tag: string }>["_tag"]]+?: (
|
|
227
|
+
error: Extract<E, { _tag: K }>
|
|
228
|
+
) => Effect.Effect<any, any, any>
|
|
229
|
+
}
|
|
230
|
+
& (unknown extends E ? {}
|
|
231
|
+
: {
|
|
232
|
+
[
|
|
233
|
+
K in Exclude<
|
|
234
|
+
keyof Cases,
|
|
235
|
+
Extract<E, { _tag: string }>["_tag"]
|
|
236
|
+
>
|
|
237
|
+
]: never
|
|
238
|
+
})
|
|
199
239
|
>(
|
|
200
240
|
cases: Cases
|
|
201
241
|
): <R, A>(
|
|
@@ -227,10 +267,21 @@ export const catchTags: {
|
|
|
227
267
|
R,
|
|
228
268
|
E extends { _tag: string },
|
|
229
269
|
A,
|
|
230
|
-
Cases
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
270
|
+
Cases extends
|
|
271
|
+
& {
|
|
272
|
+
[K in Extract<E, { _tag: string }>["_tag"]]+?: (
|
|
273
|
+
error: Extract<E, { _tag: K }>
|
|
274
|
+
) => Effect.Effect<any, any, any>
|
|
275
|
+
}
|
|
276
|
+
& (unknown extends E ? {}
|
|
277
|
+
: {
|
|
278
|
+
[
|
|
279
|
+
K in Exclude<
|
|
280
|
+
keyof Cases,
|
|
281
|
+
Extract<E, { _tag: string }>["_tag"]
|
|
282
|
+
>
|
|
283
|
+
]: never
|
|
284
|
+
})
|
|
234
285
|
>(
|
|
235
286
|
self: Client.Client<R, E, A>,
|
|
236
287
|
cases: Cases
|
|
@@ -263,10 +314,21 @@ export const catchTags: {
|
|
|
263
314
|
R,
|
|
264
315
|
E extends { _tag: string },
|
|
265
316
|
A,
|
|
266
|
-
Cases
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
317
|
+
Cases extends
|
|
318
|
+
& {
|
|
319
|
+
[K in Extract<E, { _tag: string }>["_tag"]]+?: (
|
|
320
|
+
error: Extract<E, { _tag: K }>
|
|
321
|
+
) => Effect.Effect<any, any, any>
|
|
322
|
+
}
|
|
323
|
+
& (unknown extends E ? {}
|
|
324
|
+
: {
|
|
325
|
+
[
|
|
326
|
+
K in Exclude<
|
|
327
|
+
keyof Cases,
|
|
328
|
+
Extract<E, { _tag: string }>["_tag"]
|
|
329
|
+
>
|
|
330
|
+
]: never
|
|
331
|
+
})
|
|
270
332
|
>(
|
|
271
333
|
self: Client.Client<R, E, A>,
|
|
272
334
|
cases: Cases
|
|
@@ -297,9 +359,9 @@ export const catchTags: {
|
|
|
297
359
|
|
|
298
360
|
/** @internal */
|
|
299
361
|
export const catchAll: {
|
|
300
|
-
<E, R2, E2, A2>(
|
|
301
|
-
|
|
302
|
-
) => Client.Client<R | R2, E2, A2 | A>
|
|
362
|
+
<E, R2, E2, A2>(
|
|
363
|
+
f: (e: E) => Effect.Effect<R2, E2, A2>
|
|
364
|
+
): <R, A>(self: Client.Client<R, E, A>) => Client.Client<R | R2, E2, A2 | A>
|
|
303
365
|
<R, E, A, R2, E2, A2>(
|
|
304
366
|
self: Client.Client<R, E, A>,
|
|
305
367
|
f: (e: E) => Effect.Effect<R2, E2, A2>
|
|
@@ -314,7 +376,10 @@ export const catchAll: {
|
|
|
314
376
|
|
|
315
377
|
/** @internal */
|
|
316
378
|
export const filterOrElse = dual<
|
|
317
|
-
<A, R2, E2, B>(
|
|
379
|
+
<A, R2, E2, B>(
|
|
380
|
+
f: Predicate.Predicate<A>,
|
|
381
|
+
orElse: (a: A) => Effect.Effect<R2, E2, B>
|
|
382
|
+
) => <R, E>(
|
|
318
383
|
self: Client.Client<R, E, A>
|
|
319
384
|
) => Client.Client<R2 | R, E2 | E, A | B>,
|
|
320
385
|
<R, E, A, R2, E2, B>(
|
|
@@ -326,9 +391,10 @@ export const filterOrElse = dual<
|
|
|
326
391
|
|
|
327
392
|
/** @internal */
|
|
328
393
|
export const filterOrFail = dual<
|
|
329
|
-
<A, E2>(
|
|
330
|
-
|
|
331
|
-
|
|
394
|
+
<A, E2>(
|
|
395
|
+
f: Predicate.Predicate<A>,
|
|
396
|
+
orFailWith: (a: A) => E2
|
|
397
|
+
) => <R, E>(self: Client.Client<R, E, A>) => Client.Client<R, E2 | E, A>,
|
|
332
398
|
<R, E, A, E2>(
|
|
333
399
|
self: Client.Client<R, E, A>,
|
|
334
400
|
f: Predicate.Predicate<A>,
|
|
@@ -338,40 +404,41 @@ export const filterOrFail = dual<
|
|
|
338
404
|
|
|
339
405
|
/** @internal */
|
|
340
406
|
export const filterStatus = dual<
|
|
341
|
-
(
|
|
407
|
+
(
|
|
408
|
+
f: (status: number) => boolean
|
|
409
|
+
) => <R, E>(
|
|
342
410
|
self: Client.Client.WithResponse<R, E>
|
|
343
411
|
) => Client.Client.WithResponse<R, E | Error.ResponseError>,
|
|
344
412
|
<R, E>(
|
|
345
413
|
self: Client.Client.WithResponse<R, E>,
|
|
346
414
|
f: (status: number) => boolean
|
|
347
415
|
) => Client.Client.WithResponse<R, E | Error.ResponseError>
|
|
348
|
-
>(
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
(
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
})
|
|
362
|
-
))
|
|
363
|
-
)
|
|
416
|
+
>(2, (self, f) =>
|
|
417
|
+
transform(self, (effect, request) =>
|
|
418
|
+
Effect.filterOrFail(
|
|
419
|
+
effect,
|
|
420
|
+
(response) => f(response.status),
|
|
421
|
+
(response) =>
|
|
422
|
+
internalError.responseError({
|
|
423
|
+
request,
|
|
424
|
+
response,
|
|
425
|
+
reason: "StatusCode",
|
|
426
|
+
error: "non 2xx status code"
|
|
427
|
+
})
|
|
428
|
+
)))
|
|
364
429
|
|
|
365
430
|
/** @internal */
|
|
366
431
|
export const filterStatusOk: <R, E>(
|
|
367
432
|
self: Client.Client.WithResponse<R, E>
|
|
368
|
-
) => Client.Client.WithResponse<R, E | Error.ResponseError> = filterStatus(
|
|
433
|
+
) => Client.Client.WithResponse<R, E | Error.ResponseError> = filterStatus(
|
|
434
|
+
(status) => status >= 200 && status < 300
|
|
435
|
+
)
|
|
369
436
|
|
|
370
437
|
/** @internal */
|
|
371
438
|
export const map = dual<
|
|
372
|
-
<A, B>(
|
|
373
|
-
|
|
374
|
-
) => Client.Client<R, E, B>,
|
|
439
|
+
<A, B>(
|
|
440
|
+
f: (a: A) => B
|
|
441
|
+
) => <R, E>(self: Client.Client<R, E, A>) => Client.Client<R, E, B>,
|
|
375
442
|
<R, E, A, B>(
|
|
376
443
|
self: Client.Client<R, E, A>,
|
|
377
444
|
f: (a: A) => B
|
|
@@ -380,9 +447,9 @@ export const map = dual<
|
|
|
380
447
|
|
|
381
448
|
/** @internal */
|
|
382
449
|
export const mapEffect = dual<
|
|
383
|
-
<A, R2, E2, B>(
|
|
384
|
-
|
|
385
|
-
) => Client.Client<R | R2, E | E2, B>,
|
|
450
|
+
<A, R2, E2, B>(
|
|
451
|
+
f: (a: A) => Effect.Effect<R2, E2, B>
|
|
452
|
+
) => <R, E>(self: Client.Client<R, E, A>) => Client.Client<R | R2, E | E2, B>,
|
|
386
453
|
<R, E, A, R2, E2, B>(
|
|
387
454
|
self: Client.Client<R, E, A>,
|
|
388
455
|
f: (a: A) => Effect.Effect<R2, E2, B>
|
|
@@ -391,9 +458,9 @@ export const mapEffect = dual<
|
|
|
391
458
|
|
|
392
459
|
/** @internal */
|
|
393
460
|
export const mapRequest = dual<
|
|
394
|
-
(
|
|
395
|
-
|
|
396
|
-
) => Client.Client<R, E, A>,
|
|
461
|
+
(
|
|
462
|
+
f: (a: ClientRequest.ClientRequest) => ClientRequest.ClientRequest
|
|
463
|
+
) => <R, E, A>(self: Client.Client<R, E, A>) => Client.Client<R, E, A>,
|
|
397
464
|
<R, E, A>(
|
|
398
465
|
self: Client.Client<R, E, A>,
|
|
399
466
|
f: (a: ClientRequest.ClientRequest) => ClientRequest.ClientRequest
|
|
@@ -402,20 +469,54 @@ export const mapRequest = dual<
|
|
|
402
469
|
|
|
403
470
|
/** @internal */
|
|
404
471
|
export const mapRequestEffect = dual<
|
|
405
|
-
<R2, E2>(
|
|
472
|
+
<R2, E2>(
|
|
473
|
+
f: (
|
|
474
|
+
a: ClientRequest.ClientRequest
|
|
475
|
+
) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
|
|
476
|
+
) => <R, E, A>(
|
|
406
477
|
self: Client.Client<R, E, A>
|
|
407
478
|
) => Client.Client<R | R2, E | E2, A>,
|
|
408
479
|
<R, E, A, R2, E2>(
|
|
409
480
|
self: Client.Client<R, E, A>,
|
|
410
|
-
f: (
|
|
481
|
+
f: (
|
|
482
|
+
a: ClientRequest.ClientRequest
|
|
483
|
+
) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
|
|
411
484
|
) => Client.Client<R | R2, E | E2, A>
|
|
412
485
|
>(2, (self, f) => make(self.execute as any, (request) => Effect.flatMap(self.preprocess(request), f)))
|
|
413
486
|
|
|
414
487
|
/** @internal */
|
|
415
|
-
export const
|
|
416
|
-
|
|
488
|
+
export const mapInputRequest = dual<
|
|
489
|
+
(
|
|
490
|
+
f: (a: ClientRequest.ClientRequest) => ClientRequest.ClientRequest
|
|
491
|
+
) => <R, E, A>(self: Client.Client<R, E, A>) => Client.Client<R, E, A>,
|
|
492
|
+
<R, E, A>(
|
|
493
|
+
self: Client.Client<R, E, A>,
|
|
494
|
+
f: (a: ClientRequest.ClientRequest) => ClientRequest.ClientRequest
|
|
495
|
+
) => Client.Client<R, E, A>
|
|
496
|
+
>(2, (self, f) => make(self.execute, (request) => self.preprocess(f(request))))
|
|
497
|
+
|
|
498
|
+
/** @internal */
|
|
499
|
+
export const mapInputRequestEffect = dual<
|
|
500
|
+
<R2, E2>(
|
|
501
|
+
f: (
|
|
502
|
+
a: ClientRequest.ClientRequest
|
|
503
|
+
) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
|
|
504
|
+
) => <R, E, A>(
|
|
417
505
|
self: Client.Client<R, E, A>
|
|
418
|
-
) => Client.Client<
|
|
506
|
+
) => Client.Client<R | R2, E | E2, A>,
|
|
507
|
+
<R, E, A, R2, E2>(
|
|
508
|
+
self: Client.Client<R, E, A>,
|
|
509
|
+
f: (
|
|
510
|
+
a: ClientRequest.ClientRequest
|
|
511
|
+
) => Effect.Effect<R2, E2, ClientRequest.ClientRequest>
|
|
512
|
+
) => Client.Client<R | R2, E | E2, A>
|
|
513
|
+
>(2, (self, f) => make(self.execute as any, (request) => Effect.flatMap(f(request), self.preprocess)))
|
|
514
|
+
|
|
515
|
+
/** @internal */
|
|
516
|
+
export const retry: {
|
|
517
|
+
<R1, E extends E0, E0, B>(
|
|
518
|
+
policy: Schedule.Schedule<R1, E0, B>
|
|
519
|
+
): <R, A>(self: Client.Client<R, E, A>) => Client.Client<R1 | R, E, A>
|
|
419
520
|
<R, E extends E0, E0, A, R1, B>(
|
|
420
521
|
self: Client.Client<R, E, A>,
|
|
421
522
|
policy: Schedule.Schedule<R1, E0, B>
|
|
@@ -436,13 +537,17 @@ export const schemaFunction = dual<
|
|
|
436
537
|
self: Client.Client<R, E, A>
|
|
437
538
|
) => (
|
|
438
539
|
request: ClientRequest.ClientRequest
|
|
439
|
-
) => (
|
|
540
|
+
) => (
|
|
541
|
+
a: SA
|
|
542
|
+
) => Effect.Effect<R, E | ParseResult.ParseError | Error.RequestError, A>,
|
|
440
543
|
<R, E, A, SI, SA>(
|
|
441
544
|
self: Client.Client<R, E, A>,
|
|
442
545
|
schema: Schema.Schema<SI, SA>
|
|
443
546
|
) => (
|
|
444
547
|
request: ClientRequest.ClientRequest
|
|
445
|
-
) => (
|
|
548
|
+
) => (
|
|
549
|
+
a: SA
|
|
550
|
+
) => Effect.Effect<R, E | ParseResult.ParseError | Error.RequestError, A>
|
|
446
551
|
>(2, (self, schema) => {
|
|
447
552
|
const encode = Schema.encode(schema)
|
|
448
553
|
return (request) => (a) =>
|
|
@@ -457,18 +562,20 @@ export const schemaFunction = dual<
|
|
|
457
562
|
})
|
|
458
563
|
}),
|
|
459
564
|
(body) =>
|
|
460
|
-
self(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
565
|
+
self(
|
|
566
|
+
internalRequest.setBody(
|
|
567
|
+
request,
|
|
568
|
+
internalBody.uint8Array(body, "application/json")
|
|
569
|
+
)
|
|
570
|
+
)
|
|
464
571
|
)
|
|
465
572
|
})
|
|
466
573
|
|
|
467
574
|
/** @internal */
|
|
468
575
|
export const tap = dual<
|
|
469
|
-
<A, R2, E2, _>(
|
|
470
|
-
|
|
471
|
-
) => Client.Client<R | R2, E | E2, A>,
|
|
576
|
+
<A, R2, E2, _>(
|
|
577
|
+
f: (a: A) => Effect.Effect<R2, E2, _>
|
|
578
|
+
) => <R, E>(self: Client.Client<R, E, A>) => Client.Client<R | R2, E | E2, A>,
|
|
472
579
|
<R, E, A, R2, E2, _>(
|
|
473
580
|
self: Client.Client<R, E, A>,
|
|
474
581
|
f: (a: A) => Effect.Effect<R2, E2, _>
|
|
@@ -477,7 +584,9 @@ export const tap = dual<
|
|
|
477
584
|
|
|
478
585
|
/** @internal */
|
|
479
586
|
export const tapRequest = dual<
|
|
480
|
-
<R2, E2, _>(
|
|
587
|
+
<R2, E2, _>(
|
|
588
|
+
f: (a: ClientRequest.ClientRequest) => Effect.Effect<R2, E2, _>
|
|
589
|
+
) => <R, E, A>(
|
|
481
590
|
self: Client.Client<R, E, A>
|
|
482
591
|
) => Client.Client<R | R2, E | E2, A>,
|
|
483
592
|
<R, E, A, R2, E2, _>(
|
|
@@ -79,7 +79,8 @@ class RouterImpl<R, E> extends Effectable.StructuralClass<
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
toString() {
|
|
82
|
-
|
|
82
|
+
// TODO: remove any when fix lands
|
|
83
|
+
return (Inspectable as any).format(this)
|
|
83
84
|
}
|
|
84
85
|
[Inspectable.NodeInspectSymbol]() {
|
|
85
86
|
return this.toJSON()
|
package/src/internal/worker.ts
CHANGED
|
@@ -283,11 +283,4 @@ export const makePoolLayer = <W>(managerLayer: Layer.Layer<never, never, Worker.
|
|
|
283
283
|
<Tag, I, E, O>(
|
|
284
284
|
tag: Context.Tag<Tag, Worker.WorkerPool<I, E, O>>,
|
|
285
285
|
options: Worker.WorkerPool.Options<I, W>
|
|
286
|
-
) =>
|
|
287
|
-
Layer.provide(
|
|
288
|
-
managerLayer,
|
|
289
|
-
Layer.scoped(
|
|
290
|
-
tag,
|
|
291
|
-
makePool<W>()(options)
|
|
292
|
-
)
|
|
293
|
-
)
|
|
286
|
+
) => Layer.scoped(tag, makePool<W>()(options)).pipe(Layer.provide(managerLayer))
|