@effect/platform 0.48.28 → 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 +13 -11
- 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 +1 -6
- 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 +11 -11
- 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 +98 -66
- 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 +13 -11
- 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 +0 -5
- 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 +10 -9
- 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 +44 -41
- 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 +156 -141
- 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 +146 -116
- 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
package/src/Http/Router.ts
CHANGED
|
@@ -34,13 +34,15 @@ export type TypeId = typeof TypeId
|
|
|
34
34
|
* @since 1.0.0
|
|
35
35
|
* @category models
|
|
36
36
|
*/
|
|
37
|
-
export interface Router<
|
|
37
|
+
export interface Router<E = never, R = never>
|
|
38
|
+
extends App.Default<E | Error.RouteNotFound, Exclude<R, RouteContext>>, Inspectable
|
|
39
|
+
{
|
|
38
40
|
readonly [TypeId]: TypeId
|
|
39
|
-
readonly routes: Chunk.Chunk<Route<
|
|
41
|
+
readonly routes: Chunk.Chunk<Route<E, R>>
|
|
40
42
|
readonly mounts: Chunk.Chunk<
|
|
41
43
|
readonly [
|
|
42
44
|
prefix: string,
|
|
43
|
-
httpApp: App.Default<
|
|
45
|
+
httpApp: App.Default<E, R>,
|
|
44
46
|
options?: { readonly includePrefix?: boolean | undefined } | undefined
|
|
45
47
|
]
|
|
46
48
|
>
|
|
@@ -78,12 +80,13 @@ export type PathInput = `/${string}` | "*"
|
|
|
78
80
|
* @since 1.0.0
|
|
79
81
|
* @category models
|
|
80
82
|
*/
|
|
81
|
-
export interface Route<
|
|
83
|
+
export interface Route<E = never, R = never> extends Inspectable {
|
|
82
84
|
readonly [RouteTypeId]: RouteTypeId
|
|
83
85
|
readonly method: Method.Method | "*"
|
|
84
86
|
readonly path: PathInput
|
|
85
|
-
readonly handler: Route.Handler<
|
|
87
|
+
readonly handler: Route.Handler<E, R>
|
|
86
88
|
readonly prefix: Option.Option<string>
|
|
89
|
+
readonly uninterruptible: boolean
|
|
87
90
|
}
|
|
88
91
|
|
|
89
92
|
/**
|
|
@@ -93,7 +96,7 @@ export declare namespace Route {
|
|
|
93
96
|
/**
|
|
94
97
|
* @since 1.0.0
|
|
95
98
|
*/
|
|
96
|
-
export type Handler<
|
|
99
|
+
export type Handler<E, R> = Effect.Effect<
|
|
97
100
|
ServerResponse.ServerResponse,
|
|
98
101
|
E,
|
|
99
102
|
R | RouteContext | ServerRequest.ServerRequest
|
|
@@ -224,7 +227,7 @@ export const schemaSearchParams: <R, I extends Readonly<Record<string, string>>,
|
|
|
224
227
|
* @since 1.0.0
|
|
225
228
|
* @category constructors
|
|
226
229
|
*/
|
|
227
|
-
export const empty: Router
|
|
230
|
+
export const empty: Router = internal.empty
|
|
228
231
|
|
|
229
232
|
/**
|
|
230
233
|
* @since 1.0.0
|
|
@@ -232,27 +235,28 @@ export const empty: Router<never, never> = internal.empty
|
|
|
232
235
|
*/
|
|
233
236
|
export const fromIterable: <R extends Route<any, any>>(
|
|
234
237
|
routes: Iterable<R>
|
|
235
|
-
) => Router<R extends Route<infer
|
|
238
|
+
) => Router<R extends Route<infer E, infer _> ? E : never, R extends Route<infer _, infer Env> ? Env : never> =
|
|
236
239
|
internal.fromIterable
|
|
237
240
|
|
|
238
241
|
/**
|
|
239
242
|
* @since 1.0.0
|
|
240
243
|
* @category constructors
|
|
241
244
|
*/
|
|
242
|
-
export const makeRoute: <
|
|
245
|
+
export const makeRoute: <E, R>(
|
|
243
246
|
method: Method.Method,
|
|
244
247
|
path: PathInput,
|
|
245
|
-
handler: Route.Handler<
|
|
246
|
-
prefix?: Option.Option<string
|
|
247
|
-
|
|
248
|
+
handler: Route.Handler<E, R>,
|
|
249
|
+
prefix?: Option.Option<string>,
|
|
250
|
+
uninterruptible?: boolean
|
|
251
|
+
) => Route<E, Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>> = internal.makeRoute
|
|
248
252
|
|
|
249
253
|
/**
|
|
250
254
|
* @since 1.0.0
|
|
251
255
|
* @category combinators
|
|
252
256
|
*/
|
|
253
257
|
export const prefixAll: {
|
|
254
|
-
(prefix: PathInput): <R, E>(self: Router<
|
|
255
|
-
<R, E>(self: Router<
|
|
258
|
+
(prefix: PathInput): <R, E>(self: Router<E, R>) => Router<E, R>
|
|
259
|
+
<R, E>(self: Router<E, R>, prefix: PathInput): Router<E, R>
|
|
256
260
|
} = internal.prefixAll
|
|
257
261
|
|
|
258
262
|
/**
|
|
@@ -260,12 +264,12 @@ export const prefixAll: {
|
|
|
260
264
|
* @category combinators
|
|
261
265
|
*/
|
|
262
266
|
export const concat: {
|
|
263
|
-
<R1, E1>(that: Router<
|
|
264
|
-
self: Router<
|
|
265
|
-
) => Router<
|
|
266
|
-
<R, E, R1, E1>(self: Router<
|
|
267
|
-
|
|
268
|
-
|
|
267
|
+
<R1, E1>(that: Router<E1, R1>): <R, E>(
|
|
268
|
+
self: Router<E, R>
|
|
269
|
+
) => Router<E1 | E, R1 | R>
|
|
270
|
+
<R, E, R1, E1>(self: Router<E, R>, that: Router<E1, R1>): Router<
|
|
271
|
+
E | E1,
|
|
272
|
+
R | R1
|
|
269
273
|
>
|
|
270
274
|
} = internal.concat
|
|
271
275
|
|
|
@@ -274,8 +278,8 @@ export const concat: {
|
|
|
274
278
|
* @category routing
|
|
275
279
|
*/
|
|
276
280
|
export const mount: {
|
|
277
|
-
<R1, E1>(path: `/${string}`, that: Router<
|
|
278
|
-
<R, E, R1, E1>(self: Router<
|
|
281
|
+
<R1, E1>(path: `/${string}`, that: Router<E1, R1>): <R, E>(self: Router<E, R>) => Router<E1 | E, R1 | R>
|
|
282
|
+
<R, E, R1, E1>(self: Router<E, R>, path: `/${string}`, that: Router<E1, R1>): Router<E | E1, R | R1>
|
|
279
283
|
} = internal.mount
|
|
280
284
|
|
|
281
285
|
/**
|
|
@@ -285,24 +289,24 @@ export const mount: {
|
|
|
285
289
|
export const mountApp: {
|
|
286
290
|
<R1, E1>(
|
|
287
291
|
path: `/${string}`,
|
|
288
|
-
that: App.Default<
|
|
292
|
+
that: App.Default<E1, R1>,
|
|
289
293
|
options?: { readonly includePrefix?: boolean | undefined } | undefined
|
|
290
294
|
): <R, E>(
|
|
291
|
-
self: Router<
|
|
295
|
+
self: Router<E, R>
|
|
292
296
|
) => Router<
|
|
297
|
+
E1 | E,
|
|
293
298
|
| Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
|
|
294
|
-
| Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
295
|
-
E1 | E
|
|
299
|
+
| Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
|
|
296
300
|
>
|
|
297
301
|
<R, E, R1, E1>(
|
|
298
|
-
self: Router<
|
|
302
|
+
self: Router<E, R>,
|
|
299
303
|
path: `/${string}`,
|
|
300
|
-
that: App.Default<
|
|
304
|
+
that: App.Default<E1, R1>,
|
|
301
305
|
options?: { readonly includePrefix?: boolean | undefined } | undefined
|
|
302
306
|
): Router<
|
|
307
|
+
E | E1,
|
|
303
308
|
| Exclude<R, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
|
|
304
|
-
| Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
305
|
-
E | E1
|
|
309
|
+
| Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>
|
|
306
310
|
>
|
|
307
311
|
} = internal.mountApp
|
|
308
312
|
|
|
@@ -315,15 +319,17 @@ export const route: (
|
|
|
315
319
|
) => {
|
|
316
320
|
<R1, E1>(
|
|
317
321
|
path: PathInput,
|
|
318
|
-
handler: Route.Handler<
|
|
322
|
+
handler: Route.Handler<E1, R1>,
|
|
323
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
319
324
|
): <R, E>(
|
|
320
|
-
self: Router<
|
|
321
|
-
) => Router<R | Exclude<R1, ServerRequest.ServerRequest | RouteContext | Scope.Scope
|
|
325
|
+
self: Router<E, R>
|
|
326
|
+
) => Router<E1 | E, R | Exclude<R1, ServerRequest.ServerRequest | RouteContext | Scope.Scope>>
|
|
322
327
|
<R, E, R1, E1>(
|
|
323
|
-
self: Router<
|
|
328
|
+
self: Router<E, R>,
|
|
324
329
|
path: PathInput,
|
|
325
|
-
handler: Route.Handler<
|
|
326
|
-
|
|
330
|
+
handler: Route.Handler<E1, R1>,
|
|
331
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
332
|
+
): Router<E | E1, R | Exclude<R1, ServerRequest.ServerRequest | RouteContext | Scope.Scope>>
|
|
327
333
|
} = internal.route
|
|
328
334
|
|
|
329
335
|
/**
|
|
@@ -333,15 +339,17 @@ export const route: (
|
|
|
333
339
|
export const all: {
|
|
334
340
|
<R1, E1>(
|
|
335
341
|
path: PathInput,
|
|
336
|
-
handler: Route.Handler<
|
|
342
|
+
handler: Route.Handler<E1, R1>,
|
|
343
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
337
344
|
): <R, E>(
|
|
338
|
-
self: Router<
|
|
339
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
345
|
+
self: Router<E, R>
|
|
346
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
340
347
|
<R, E, R1, E1>(
|
|
341
|
-
self: Router<
|
|
348
|
+
self: Router<E, R>,
|
|
342
349
|
path: PathInput,
|
|
343
|
-
handler: Route.Handler<
|
|
344
|
-
|
|
350
|
+
handler: Route.Handler<E1, R1>,
|
|
351
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
352
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
345
353
|
} = internal.all
|
|
346
354
|
|
|
347
355
|
/**
|
|
@@ -351,15 +359,17 @@ export const all: {
|
|
|
351
359
|
export const get: {
|
|
352
360
|
<R1, E1>(
|
|
353
361
|
path: PathInput,
|
|
354
|
-
handler: Route.Handler<
|
|
362
|
+
handler: Route.Handler<E1, R1>,
|
|
363
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
355
364
|
): <R, E>(
|
|
356
|
-
self: Router<
|
|
357
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
365
|
+
self: Router<E, R>
|
|
366
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
358
367
|
<R, E, R1, E1>(
|
|
359
|
-
self: Router<
|
|
368
|
+
self: Router<E, R>,
|
|
360
369
|
path: PathInput,
|
|
361
|
-
handler: Route.Handler<
|
|
362
|
-
|
|
370
|
+
handler: Route.Handler<E1, R1>,
|
|
371
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
372
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
363
373
|
} = internal.get
|
|
364
374
|
|
|
365
375
|
/**
|
|
@@ -369,15 +379,17 @@ export const get: {
|
|
|
369
379
|
export const post: {
|
|
370
380
|
<R1, E1>(
|
|
371
381
|
path: PathInput,
|
|
372
|
-
handler: Route.Handler<
|
|
382
|
+
handler: Route.Handler<E1, R1>,
|
|
383
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
373
384
|
): <R, E>(
|
|
374
|
-
self: Router<
|
|
375
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
385
|
+
self: Router<E, R>
|
|
386
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
376
387
|
<R, E, R1, E1>(
|
|
377
|
-
self: Router<
|
|
388
|
+
self: Router<E, R>,
|
|
378
389
|
path: PathInput,
|
|
379
|
-
handler: Route.Handler<
|
|
380
|
-
|
|
390
|
+
handler: Route.Handler<E1, R1>,
|
|
391
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
392
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
381
393
|
} = internal.post
|
|
382
394
|
|
|
383
395
|
/**
|
|
@@ -387,15 +399,17 @@ export const post: {
|
|
|
387
399
|
export const patch: {
|
|
388
400
|
<R1, E1>(
|
|
389
401
|
path: PathInput,
|
|
390
|
-
handler: Route.Handler<
|
|
402
|
+
handler: Route.Handler<E1, R1>,
|
|
403
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
391
404
|
): <R, E>(
|
|
392
|
-
self: Router<
|
|
393
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
405
|
+
self: Router<E, R>
|
|
406
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
394
407
|
<R, E, R1, E1>(
|
|
395
|
-
self: Router<
|
|
408
|
+
self: Router<E, R>,
|
|
396
409
|
path: PathInput,
|
|
397
|
-
handler: Route.Handler<
|
|
398
|
-
|
|
410
|
+
handler: Route.Handler<E1, R1>,
|
|
411
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
412
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
399
413
|
} = internal.patch
|
|
400
414
|
|
|
401
415
|
/**
|
|
@@ -405,15 +419,17 @@ export const patch: {
|
|
|
405
419
|
export const put: {
|
|
406
420
|
<R1, E1>(
|
|
407
421
|
path: PathInput,
|
|
408
|
-
handler: Route.Handler<
|
|
422
|
+
handler: Route.Handler<E1, R1>,
|
|
423
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
409
424
|
): <R, E>(
|
|
410
|
-
self: Router<
|
|
411
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
425
|
+
self: Router<E, R>
|
|
426
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
412
427
|
<R, E, R1, E1>(
|
|
413
|
-
self: Router<
|
|
428
|
+
self: Router<E, R>,
|
|
414
429
|
path: PathInput,
|
|
415
|
-
handler: Route.Handler<
|
|
416
|
-
|
|
430
|
+
handler: Route.Handler<E1, R1>,
|
|
431
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
432
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
417
433
|
} = internal.put
|
|
418
434
|
|
|
419
435
|
/**
|
|
@@ -423,15 +439,17 @@ export const put: {
|
|
|
423
439
|
export const del: {
|
|
424
440
|
<R1, E1>(
|
|
425
441
|
path: PathInput,
|
|
426
|
-
handler: Route.Handler<
|
|
442
|
+
handler: Route.Handler<E1, R1>,
|
|
443
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
427
444
|
): <R, E>(
|
|
428
|
-
self: Router<
|
|
429
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
445
|
+
self: Router<E, R>
|
|
446
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
430
447
|
<R, E, R1, E1>(
|
|
431
|
-
self: Router<
|
|
448
|
+
self: Router<E, R>,
|
|
432
449
|
path: PathInput,
|
|
433
|
-
handler: Route.Handler<
|
|
434
|
-
|
|
450
|
+
handler: Route.Handler<E1, R1>,
|
|
451
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
452
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
435
453
|
} = internal.del
|
|
436
454
|
|
|
437
455
|
/**
|
|
@@ -441,15 +459,17 @@ export const del: {
|
|
|
441
459
|
export const head: {
|
|
442
460
|
<R1, E1>(
|
|
443
461
|
path: PathInput,
|
|
444
|
-
handler: Route.Handler<
|
|
462
|
+
handler: Route.Handler<E1, R1>,
|
|
463
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
445
464
|
): <R, E>(
|
|
446
|
-
self: Router<
|
|
447
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
465
|
+
self: Router<E, R>
|
|
466
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
448
467
|
<R, E, R1, E1>(
|
|
449
|
-
self: Router<
|
|
468
|
+
self: Router<E, R>,
|
|
450
469
|
path: PathInput,
|
|
451
|
-
handler: Route.Handler<
|
|
452
|
-
|
|
470
|
+
handler: Route.Handler<E1, R1>,
|
|
471
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
472
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
453
473
|
} = internal.head
|
|
454
474
|
|
|
455
475
|
/**
|
|
@@ -459,15 +479,17 @@ export const head: {
|
|
|
459
479
|
export const options: {
|
|
460
480
|
<R1, E1>(
|
|
461
481
|
path: PathInput,
|
|
462
|
-
handler: Route.Handler<
|
|
482
|
+
handler: Route.Handler<E1, R1>,
|
|
483
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
463
484
|
): <R, E>(
|
|
464
|
-
self: Router<
|
|
465
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
485
|
+
self: Router<E, R>
|
|
486
|
+
) => Router<E1 | E, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
466
487
|
<R, E, R1, E1>(
|
|
467
|
-
self: Router<
|
|
488
|
+
self: Router<E, R>,
|
|
468
489
|
path: PathInput,
|
|
469
|
-
handler: Route.Handler<
|
|
470
|
-
|
|
490
|
+
handler: Route.Handler<E1, R1>,
|
|
491
|
+
options?: { readonly uninterruptible?: boolean | undefined } | undefined
|
|
492
|
+
): Router<E | E1, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
471
493
|
} = internal.options
|
|
472
494
|
|
|
473
495
|
/**
|
|
@@ -475,13 +497,13 @@ export const options: {
|
|
|
475
497
|
* @category combinators
|
|
476
498
|
*/
|
|
477
499
|
export const use: {
|
|
478
|
-
<
|
|
479
|
-
f: (self: Route.Handler<
|
|
480
|
-
): (self: Router<
|
|
481
|
-
<
|
|
482
|
-
self: Router<
|
|
483
|
-
f: (self: Route.Handler<
|
|
484
|
-
): Router<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
500
|
+
<E, R, R1, E1>(
|
|
501
|
+
f: (self: Route.Handler<E, R>) => App.Default<E1, R1>
|
|
502
|
+
): (self: Router<E, R>) => Router<E1, Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
503
|
+
<E, R, R1, E1>(
|
|
504
|
+
self: Router<E, R>,
|
|
505
|
+
f: (self: Route.Handler<E, R>) => App.Default<E1, R1>
|
|
506
|
+
): Router<E1, Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
485
507
|
} = internal.use
|
|
486
508
|
|
|
487
509
|
/**
|
|
@@ -489,13 +511,13 @@ export const use: {
|
|
|
489
511
|
* @category combinators
|
|
490
512
|
*/
|
|
491
513
|
export const catchAll: {
|
|
492
|
-
<E,
|
|
493
|
-
f: (e: E) => Route.Handler<
|
|
494
|
-
): <R>(self: Router<
|
|
495
|
-
<R, E,
|
|
496
|
-
self: Router<
|
|
497
|
-
f: (e: E) => Route.Handler<
|
|
498
|
-
): Router<R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
514
|
+
<E, E2, R2>(
|
|
515
|
+
f: (e: E) => Route.Handler<E2, R2>
|
|
516
|
+
): <R>(self: Router<E, R>) => Router<E2, R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
517
|
+
<R, E, E2, R2>(
|
|
518
|
+
self: Router<E, R>,
|
|
519
|
+
f: (e: E) => Route.Handler<E2, R2>
|
|
520
|
+
): Router<E2, R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
499
521
|
} = internal.catchAll
|
|
500
522
|
|
|
501
523
|
/**
|
|
@@ -503,13 +525,13 @@ export const catchAll: {
|
|
|
503
525
|
* @category combinators
|
|
504
526
|
*/
|
|
505
527
|
export const catchAllCause: {
|
|
506
|
-
<E,
|
|
507
|
-
f: (e: Cause.Cause<E>) => Route.Handler<
|
|
508
|
-
): <R>(self: Router<
|
|
509
|
-
<R, E,
|
|
510
|
-
self: Router<
|
|
511
|
-
f: (e: Cause.Cause<E>) => Route.Handler<
|
|
512
|
-
): Router<R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
528
|
+
<E, E2, R2>(
|
|
529
|
+
f: (e: Cause.Cause<E>) => Route.Handler<E2, R2>
|
|
530
|
+
): <R>(self: Router<E, R>) => Router<E2, R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
531
|
+
<R, E, E2, R2>(
|
|
532
|
+
self: Router<E, R>,
|
|
533
|
+
f: (e: Cause.Cause<E>) => Route.Handler<E2, R2>
|
|
534
|
+
): Router<E2, R | Exclude<R2, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
513
535
|
} = internal.catchAllCause
|
|
514
536
|
|
|
515
537
|
/**
|
|
@@ -517,17 +539,17 @@ export const catchAllCause: {
|
|
|
517
539
|
* @category combinators
|
|
518
540
|
*/
|
|
519
541
|
export const catchTag: {
|
|
520
|
-
<K extends E extends { _tag: string } ? E["_tag"] : never, E,
|
|
542
|
+
<K extends E extends { _tag: string } ? E["_tag"] : never, E, E1, R1>(
|
|
521
543
|
k: K,
|
|
522
|
-
f: (e: Extract<E, { _tag: K }>) => Route.Handler<
|
|
544
|
+
f: (e: Extract<E, { _tag: K }>) => Route.Handler<E1, R1>
|
|
523
545
|
): <R>(
|
|
524
|
-
self: Router<
|
|
525
|
-
) => Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
526
|
-
<R, E, K extends E extends { _tag: string } ? E["_tag"] : never,
|
|
527
|
-
self: Router<
|
|
546
|
+
self: Router<E, R>
|
|
547
|
+
) => Router<E1 | Exclude<E, { _tag: K }>, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
548
|
+
<R, E, K extends E extends { _tag: string } ? E["_tag"] : never, E1, R1>(
|
|
549
|
+
self: Router<E, R>,
|
|
528
550
|
k: K,
|
|
529
|
-
f: (e: Extract<E, { _tag: K }>) => Route.Handler<
|
|
530
|
-
): Router<R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
551
|
+
f: (e: Extract<E, { _tag: K }>) => Route.Handler<E1, R1>
|
|
552
|
+
): Router<E1 | Exclude<E, { _tag: K }>, R | Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>>
|
|
531
553
|
} = internal.catchTag
|
|
532
554
|
|
|
533
555
|
/**
|
|
@@ -543,19 +565,19 @@ export const catchTags: {
|
|
|
543
565
|
>(
|
|
544
566
|
cases: Cases
|
|
545
567
|
): <R>(
|
|
546
|
-
self: Router<
|
|
568
|
+
self: Router<E, R>
|
|
547
569
|
) => Router<
|
|
570
|
+
| Exclude<E, { _tag: keyof Cases }>
|
|
571
|
+
| {
|
|
572
|
+
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, infer E, any> ? E : never
|
|
573
|
+
}[keyof Cases],
|
|
548
574
|
| R
|
|
549
575
|
| Exclude<
|
|
550
576
|
{
|
|
551
577
|
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
|
|
552
578
|
}[keyof Cases],
|
|
553
579
|
RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
554
|
-
|
|
555
|
-
| Exclude<E, { _tag: keyof Cases }>
|
|
556
|
-
| {
|
|
557
|
-
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, infer E, any> ? E : never
|
|
558
|
-
}[keyof Cases]
|
|
580
|
+
>
|
|
559
581
|
>
|
|
560
582
|
<
|
|
561
583
|
R,
|
|
@@ -564,20 +586,20 @@ export const catchTags: {
|
|
|
564
586
|
? { [K in E["_tag"]]+?: ((error: Extract<E, { _tag: K }>) => Route.Handler<any, any>) | undefined } :
|
|
565
587
|
{}
|
|
566
588
|
>(
|
|
567
|
-
self: Router<
|
|
589
|
+
self: Router<E, R>,
|
|
568
590
|
cases: Cases
|
|
569
591
|
): Router<
|
|
592
|
+
| Exclude<E, { _tag: keyof Cases }>
|
|
593
|
+
| {
|
|
594
|
+
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, infer E, any> ? E : never
|
|
595
|
+
}[keyof Cases],
|
|
570
596
|
| R
|
|
571
597
|
| Exclude<
|
|
572
598
|
{
|
|
573
599
|
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, any, infer R> ? R : never
|
|
574
600
|
}[keyof Cases],
|
|
575
601
|
RouteContext | ServerRequest.ServerRequest | Scope.Scope
|
|
576
|
-
|
|
577
|
-
| Exclude<E, { _tag: keyof Cases }>
|
|
578
|
-
| {
|
|
579
|
-
[K in keyof Cases]: Cases[K] extends (...args: Array<any>) => Effect.Effect<any, infer E, any> ? E : never
|
|
580
|
-
}[keyof Cases]
|
|
602
|
+
>
|
|
581
603
|
>
|
|
582
604
|
} = internal.catchTags
|
|
583
605
|
|
|
@@ -589,12 +611,12 @@ export const provideService: {
|
|
|
589
611
|
<T extends Context.Tag<any, any>>(
|
|
590
612
|
tag: T,
|
|
591
613
|
service: Context.Tag.Service<T>
|
|
592
|
-
): <R, E>(self: Router<
|
|
614
|
+
): <R, E>(self: Router<E, R>) => Router<E, Exclude<R, Context.Tag.Identifier<T>>>
|
|
593
615
|
<R, E, T extends Context.Tag<any, any>>(
|
|
594
|
-
self: Router<
|
|
616
|
+
self: Router<E, R>,
|
|
595
617
|
tag: T,
|
|
596
618
|
service: Context.Tag.Service<T>
|
|
597
|
-
): Router<Exclude<R, Context.Tag.Identifier<T
|
|
619
|
+
): Router<E, Exclude<R, Context.Tag.Identifier<T>>>
|
|
598
620
|
} = internal.provideService
|
|
599
621
|
|
|
600
622
|
/**
|
|
@@ -606,26 +628,19 @@ export const provideServiceEffect: {
|
|
|
606
628
|
tag: T,
|
|
607
629
|
effect: Effect.Effect<Context.Tag.Service<T>, E1, R1>
|
|
608
630
|
): <R, E>(
|
|
609
|
-
self: Router<
|
|
631
|
+
self: Router<E, R>
|
|
610
632
|
) => Router<
|
|
633
|
+
E1 | E,
|
|
611
634
|
| Exclude<R, Context.Tag.Identifier<T>>
|
|
612
|
-
| Exclude<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, Context.Tag.Identifier<T
|
|
613
|
-
E1 | E
|
|
635
|
+
| Exclude<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, Context.Tag.Identifier<T>>
|
|
614
636
|
>
|
|
615
637
|
<R, E, T extends Context.Tag<any, any>, R1, E1>(
|
|
616
|
-
self: Router<
|
|
638
|
+
self: Router<E, R>,
|
|
617
639
|
tag: T,
|
|
618
640
|
effect: Effect.Effect<Context.Tag.Service<T>, E1, R1>
|
|
619
641
|
): Router<
|
|
642
|
+
E | E1,
|
|
620
643
|
| Exclude<R, Context.Tag.Identifier<T>>
|
|
621
|
-
| Exclude<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, Context.Tag.Identifier<T
|
|
622
|
-
E | E1
|
|
644
|
+
| Exclude<Exclude<R1, RouteContext | ServerRequest.ServerRequest | Scope.Scope>, Context.Tag.Identifier<T>>
|
|
623
645
|
>
|
|
624
646
|
} = internal.provideServiceEffect
|
|
625
|
-
|
|
626
|
-
/**
|
|
627
|
-
* @since 1.0.0
|
|
628
|
-
* @category combinators
|
|
629
|
-
*/
|
|
630
|
-
export const uninterruptible: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R> =
|
|
631
|
-
internal.uninterruptible
|
package/src/Http/Server.ts
CHANGED
|
@@ -29,14 +29,14 @@ export type TypeId = typeof TypeId
|
|
|
29
29
|
export interface Server {
|
|
30
30
|
readonly [TypeId]: TypeId
|
|
31
31
|
readonly serve: {
|
|
32
|
-
<R, E>(httpApp: App.Default<
|
|
32
|
+
<R, E>(httpApp: App.Default<E, R>): Effect.Effect<
|
|
33
33
|
void,
|
|
34
34
|
never,
|
|
35
35
|
Exclude<R, ServerRequest.ServerRequest> | Scope.Scope
|
|
36
36
|
>
|
|
37
37
|
<R, E, App extends App.Default<any, any>>(
|
|
38
|
-
httpApp: App.Default<
|
|
39
|
-
middleware: Middleware.Middleware.Applied<
|
|
38
|
+
httpApp: App.Default<E, R>,
|
|
39
|
+
middleware: Middleware.Middleware.Applied<App, E, R>
|
|
40
40
|
): Effect.Effect<
|
|
41
41
|
void,
|
|
42
42
|
never,
|
|
@@ -92,7 +92,7 @@ export const Server: Context.Tag<Server, Server> = internal.serverTag
|
|
|
92
92
|
export const make: (
|
|
93
93
|
options: {
|
|
94
94
|
readonly serve: (
|
|
95
|
-
httpApp: App.Default<
|
|
95
|
+
httpApp: App.Default<unknown>,
|
|
96
96
|
middleware?: Middleware.Middleware
|
|
97
97
|
) => Effect.Effect<void, never, Scope.Scope>
|
|
98
98
|
readonly address: Address
|
|
@@ -105,23 +105,23 @@ export const make: (
|
|
|
105
105
|
*/
|
|
106
106
|
export const serve: {
|
|
107
107
|
(): <R, E>(
|
|
108
|
-
httpApp: App.Default<
|
|
108
|
+
httpApp: App.Default<E, R>
|
|
109
109
|
) => Layer.Layer<never, never, Server | Exclude<R, ServerRequest.ServerRequest | Scope.Scope>>
|
|
110
110
|
<R, E, App extends App.Default<any, any>>(
|
|
111
|
-
middleware: Middleware.Middleware.Applied<
|
|
111
|
+
middleware: Middleware.Middleware.Applied<App, E, R>
|
|
112
112
|
): (
|
|
113
|
-
httpApp: App.Default<
|
|
113
|
+
httpApp: App.Default<E, R>
|
|
114
114
|
) => Layer.Layer<
|
|
115
115
|
never,
|
|
116
116
|
never,
|
|
117
117
|
Server | Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest | Scope.Scope>
|
|
118
118
|
>
|
|
119
119
|
<R, E>(
|
|
120
|
-
httpApp: App.Default<
|
|
120
|
+
httpApp: App.Default<E, R>
|
|
121
121
|
): Layer.Layer<never, never, Server | Exclude<R, ServerRequest.ServerRequest | Scope.Scope>>
|
|
122
122
|
<R, E, App extends App.Default<any, any>>(
|
|
123
|
-
httpApp: App.Default<
|
|
124
|
-
middleware: Middleware.Middleware.Applied<
|
|
123
|
+
httpApp: App.Default<E, R>,
|
|
124
|
+
middleware: Middleware.Middleware.Applied<App, E, R>
|
|
125
125
|
): Layer.Layer<never, never, Server | Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest | Scope.Scope>>
|
|
126
126
|
} = internal.serve
|
|
127
127
|
|
|
@@ -131,23 +131,23 @@ export const serve: {
|
|
|
131
131
|
*/
|
|
132
132
|
export const serveEffect: {
|
|
133
133
|
(): <R, E>(
|
|
134
|
-
httpApp: App.Default<
|
|
134
|
+
httpApp: App.Default<E, R>
|
|
135
135
|
) => Effect.Effect<void, never, Scope.Scope | Server | Exclude<R, ServerRequest.ServerRequest>>
|
|
136
136
|
<R, E, App extends App.Default<any, any>>(
|
|
137
|
-
middleware: Middleware.Middleware.Applied<
|
|
137
|
+
middleware: Middleware.Middleware.Applied<App, E, R>
|
|
138
138
|
): (
|
|
139
|
-
httpApp: App.Default<
|
|
139
|
+
httpApp: App.Default<E, R>
|
|
140
140
|
) => Effect.Effect<
|
|
141
141
|
void,
|
|
142
142
|
never,
|
|
143
143
|
Scope.Scope | Server | Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest>
|
|
144
144
|
>
|
|
145
145
|
<R, E>(
|
|
146
|
-
httpApp: App.Default<
|
|
146
|
+
httpApp: App.Default<E, R>
|
|
147
147
|
): Effect.Effect<void, never, Scope.Scope | Server | Exclude<R, ServerRequest.ServerRequest>>
|
|
148
148
|
<R, E, App extends App.Default<any, any>>(
|
|
149
|
-
httpApp: App.Default<
|
|
150
|
-
middleware: Middleware.Middleware.Applied<
|
|
149
|
+
httpApp: App.Default<E, R>,
|
|
150
|
+
middleware: Middleware.Middleware.Applied<App, E, R>
|
|
151
151
|
): Effect.Effect<void, never, Scope.Scope | Server | Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest>>
|
|
152
152
|
} = internal.serveEffect
|
|
153
153
|
|
|
@@ -8,7 +8,7 @@ import type { Channel } from "effect/Channel"
|
|
|
8
8
|
import type { Chunk } from "effect/Chunk"
|
|
9
9
|
import type * as Context from "effect/Context"
|
|
10
10
|
import type * as Effect from "effect/Effect"
|
|
11
|
-
import type { ReadonlyRecord } from "effect/
|
|
11
|
+
import type { ReadonlyRecord } from "effect/Record"
|
|
12
12
|
import type * as Scope from "effect/Scope"
|
|
13
13
|
import type * as Stream from "effect/Stream"
|
|
14
14
|
import type * as FileSystem from "../FileSystem.js"
|