@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
|
@@ -10,6 +10,7 @@ import { dual } from "effect/Function"
|
|
|
10
10
|
import * as Global from "effect/GlobalValue"
|
|
11
11
|
import type { Inspectable } from "effect/Inspectable"
|
|
12
12
|
import * as Option from "effect/Option"
|
|
13
|
+
import type * as Scope from "effect/Scope"
|
|
13
14
|
import type * as Stream from "effect/Stream"
|
|
14
15
|
import * as FileSystem from "../FileSystem.js"
|
|
15
16
|
import type * as Headers from "./Headers.js"
|
|
@@ -56,9 +57,12 @@ export const schemaBodyJson = <A, I, R>(schema: Schema.Schema<A, I, R>, options?
|
|
|
56
57
|
* @since 1.0.0
|
|
57
58
|
* @category schema
|
|
58
59
|
*/
|
|
59
|
-
export const
|
|
60
|
+
export const schemaBodyJsonScoped = <A, I, R>(schema: Schema.Schema<A, I, R>, options?: ParseOptions | undefined) => {
|
|
60
61
|
const decode = schemaBodyJson(schema, options)
|
|
61
|
-
return <E, E2, R2>(
|
|
62
|
+
return <E, E2, R2>(
|
|
63
|
+
effect: Effect.Effect<IncomingMessage<E>, E2, R2>
|
|
64
|
+
): Effect.Effect<A, ParseResult.ParseError | E | E2, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>> =>
|
|
65
|
+
Effect.scoped(Effect.flatMap(effect, decode))
|
|
62
66
|
}
|
|
63
67
|
|
|
64
68
|
/**
|
|
@@ -78,12 +82,15 @@ export const schemaBodyUrlParams = <R, I extends Readonly<Record<string, string>
|
|
|
78
82
|
* @since 1.0.0
|
|
79
83
|
* @category schema
|
|
80
84
|
*/
|
|
81
|
-
export const
|
|
85
|
+
export const schemaBodyUrlParamsScoped = <R, I extends Readonly<Record<string, string>>, A>(
|
|
82
86
|
schema: Schema.Schema<A, I, R>,
|
|
83
87
|
options?: ParseOptions | undefined
|
|
84
88
|
) => {
|
|
85
89
|
const decode = schemaBodyUrlParams(schema, options)
|
|
86
|
-
return <E, E2, R2>(
|
|
90
|
+
return <E, E2, R2>(
|
|
91
|
+
effect: Effect.Effect<IncomingMessage<E>, E2, R2>
|
|
92
|
+
): Effect.Effect<A, ParseResult.ParseError | E | E2, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>> =>
|
|
93
|
+
Effect.scoped(Effect.flatMap(effect, decode))
|
|
87
94
|
}
|
|
88
95
|
|
|
89
96
|
/**
|
|
@@ -102,12 +109,15 @@ export const schemaHeaders = <R, I extends Readonly<Record<string, string | unde
|
|
|
102
109
|
* @since 1.0.0
|
|
103
110
|
* @category schema
|
|
104
111
|
*/
|
|
105
|
-
export const
|
|
112
|
+
export const schemaHeadersScoped = <R, I extends Readonly<Record<string, string>>, A>(
|
|
106
113
|
schema: Schema.Schema<A, I, R>,
|
|
107
114
|
options?: ParseOptions | undefined
|
|
108
115
|
) => {
|
|
109
116
|
const decode = schemaHeaders(schema, options)
|
|
110
|
-
return <E, E2, R2>(
|
|
117
|
+
return <E, E2, R2>(
|
|
118
|
+
effect: Effect.Effect<IncomingMessage<E>, E2, R2>
|
|
119
|
+
): Effect.Effect<A, ParseResult.ParseError | E2, Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>> =>
|
|
120
|
+
Effect.scoped(Effect.flatMap(effect, decode))
|
|
111
121
|
}
|
|
112
122
|
|
|
113
123
|
/**
|
package/src/Http/Middleware.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as Effect from "effect/Effect"
|
|
5
5
|
import type * as FiberRef from "effect/FiberRef"
|
|
6
|
+
import type * as Layer from "effect/Layer"
|
|
6
7
|
import type * as Predicate from "effect/Predicate"
|
|
7
8
|
import * as internal from "../internal/http/middleware.js"
|
|
8
9
|
import type * as App from "./App.js"
|
|
@@ -13,7 +14,7 @@ import type * as ServerRequest from "./ServerRequest.js"
|
|
|
13
14
|
* @category models
|
|
14
15
|
*/
|
|
15
16
|
export interface Middleware {
|
|
16
|
-
<R, E>(self: App.Default<
|
|
17
|
+
<R, E>(self: App.Default<E, R>): App.Default<any, any>
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
/**
|
|
@@ -23,8 +24,8 @@ export declare namespace Middleware {
|
|
|
23
24
|
/**
|
|
24
25
|
* @since 1.0.0
|
|
25
26
|
*/
|
|
26
|
-
export interface Applied<
|
|
27
|
-
(self: App.Default<
|
|
27
|
+
export interface Applied<A extends App.Default<any, any>, E, R> {
|
|
28
|
+
(self: App.Default<E, R>): A
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -38,7 +39,7 @@ export const make: <M extends Middleware>(middleware: M) => M = internal.make
|
|
|
38
39
|
* @since 1.0.0
|
|
39
40
|
* @category constructors
|
|
40
41
|
*/
|
|
41
|
-
export const logger: <R, E>(httpApp: App.Default<
|
|
42
|
+
export const logger: <R, E>(httpApp: App.Default<E, R>) => App.Default<E, R> = internal.logger
|
|
42
43
|
|
|
43
44
|
/**
|
|
44
45
|
* @since 1.0.0
|
|
@@ -65,6 +66,20 @@ export const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<Se
|
|
|
65
66
|
* @category fiber refs
|
|
66
67
|
*/
|
|
67
68
|
export const withTracerDisabledWhen: {
|
|
69
|
+
(
|
|
70
|
+
predicate: Predicate.Predicate<ServerRequest.ServerRequest>
|
|
71
|
+
): <R, E, A>(layer: Layer.Layer<A, E, R>) => Layer.Layer<A, E, R>
|
|
72
|
+
<R, E, A>(
|
|
73
|
+
layer: Layer.Layer<A, E, R>,
|
|
74
|
+
predicate: Predicate.Predicate<ServerRequest.ServerRequest>
|
|
75
|
+
): Layer.Layer<A, E, R>
|
|
76
|
+
} = internal.withTracerDisabledWhen
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* @since 1.0.0
|
|
80
|
+
* @category fiber refs
|
|
81
|
+
*/
|
|
82
|
+
export const withTracerDisabledWhenEffect: {
|
|
68
83
|
(
|
|
69
84
|
predicate: Predicate.Predicate<ServerRequest.ServerRequest>
|
|
70
85
|
): <R, E, A>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
|
|
@@ -72,10 +87,19 @@ export const withTracerDisabledWhen: {
|
|
|
72
87
|
effect: Effect.Effect<A, E, R>,
|
|
73
88
|
predicate: Predicate.Predicate<ServerRequest.ServerRequest>
|
|
74
89
|
): Effect.Effect<A, E, R>
|
|
75
|
-
} = internal.
|
|
90
|
+
} = internal.withTracerDisabledWhenEffect
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* @since 1.0.0
|
|
94
|
+
* @category fiber refs
|
|
95
|
+
*/
|
|
96
|
+
export const withTracerDisabledForUrls: {
|
|
97
|
+
(urls: ReadonlyArray<string>): <R, E, A>(layer: Layer.Layer<A, E, R>) => Layer.Layer<A, E, R>
|
|
98
|
+
<R, E, A>(layer: Layer.Layer<A, E, R>, urls: ReadonlyArray<string>): Layer.Layer<A, E, R>
|
|
99
|
+
} = internal.withTracerDisabledForUrls
|
|
76
100
|
|
|
77
101
|
/**
|
|
78
102
|
* @since 1.0.0
|
|
79
103
|
* @category constructors
|
|
80
104
|
*/
|
|
81
|
-
export const xForwardedHeaders: <R, E>(httpApp: App.Default<
|
|
105
|
+
export const xForwardedHeaders: <R, E>(httpApp: App.Default<E, R>) => App.Default<E, R> = internal.xForwardedHeaders
|
package/src/Http/Multiplex.ts
CHANGED
|
@@ -24,12 +24,12 @@ export type TypeId = typeof TypeId
|
|
|
24
24
|
* @since 1.0.0
|
|
25
25
|
* @category models
|
|
26
26
|
*/
|
|
27
|
-
export interface Multiplex<
|
|
27
|
+
export interface Multiplex<E = never, R = never> extends App.Default<E | Error.RouteNotFound, R>, Inspectable {
|
|
28
28
|
readonly [TypeId]: TypeId
|
|
29
29
|
readonly apps: ReadonlyArray<
|
|
30
30
|
readonly [
|
|
31
31
|
predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E, R>,
|
|
32
|
-
app: App.Default<
|
|
32
|
+
app: App.Default<E, R>
|
|
33
33
|
]
|
|
34
34
|
>
|
|
35
35
|
}
|
|
@@ -38,7 +38,7 @@ export interface Multiplex<R, E> extends App.Default<R, E | Error.RouteNotFound>
|
|
|
38
38
|
* @since 1.0.0
|
|
39
39
|
* @category constructors
|
|
40
40
|
*/
|
|
41
|
-
export const empty: Multiplex<never
|
|
41
|
+
export const empty: Multiplex<never> = internal.empty
|
|
42
42
|
|
|
43
43
|
/**
|
|
44
44
|
* @since 1.0.0
|
|
@@ -46,9 +46,9 @@ export const empty: Multiplex<never, never> = internal.empty
|
|
|
46
46
|
*/
|
|
47
47
|
export const make: <R, E>(
|
|
48
48
|
apps: Iterable<
|
|
49
|
-
readonly [predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E, R>, app: App.Default<
|
|
49
|
+
readonly [predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E, R>, app: App.Default<E, R>]
|
|
50
50
|
>
|
|
51
|
-
) => Multiplex<
|
|
51
|
+
) => Multiplex<E, R> = internal.make
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* @since 1.0.0
|
|
@@ -57,13 +57,13 @@ export const make: <R, E>(
|
|
|
57
57
|
export const add: {
|
|
58
58
|
<R2, E2, R3, E3>(
|
|
59
59
|
predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E2, R2>,
|
|
60
|
-
app: App.Default<
|
|
61
|
-
): <R, E>(self: Multiplex<
|
|
60
|
+
app: App.Default<E3, R3>
|
|
61
|
+
): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E3 | E, R2 | R3 | R>
|
|
62
62
|
<R, E, R2, E2, R3, E3>(
|
|
63
|
-
self: Multiplex<
|
|
63
|
+
self: Multiplex<E, R>,
|
|
64
64
|
predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E2, R2>,
|
|
65
|
-
app: App.Default<
|
|
66
|
-
): Multiplex<
|
|
65
|
+
app: App.Default<E3, R3>
|
|
66
|
+
): Multiplex<E | E2 | E3, R | R2 | R3>
|
|
67
67
|
} = internal.add
|
|
68
68
|
|
|
69
69
|
/**
|
|
@@ -74,14 +74,14 @@ export const headerExact: {
|
|
|
74
74
|
<R2, E2>(
|
|
75
75
|
header: string,
|
|
76
76
|
value: string,
|
|
77
|
-
app: App.Default<
|
|
78
|
-
): <R, E>(self: Multiplex<
|
|
77
|
+
app: App.Default<E2, R2>
|
|
78
|
+
): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
79
79
|
<R, E, R2, E2>(
|
|
80
|
-
self: Multiplex<
|
|
80
|
+
self: Multiplex<E, R>,
|
|
81
81
|
header: string,
|
|
82
82
|
value: string,
|
|
83
|
-
app: App.Default<
|
|
84
|
-
): Multiplex<
|
|
83
|
+
app: App.Default<E2, R2>
|
|
84
|
+
): Multiplex<E | E2, R | R2>
|
|
85
85
|
} = internal.headerExact
|
|
86
86
|
|
|
87
87
|
/**
|
|
@@ -92,14 +92,14 @@ export const headerRegex: {
|
|
|
92
92
|
<R2, E2>(
|
|
93
93
|
header: string,
|
|
94
94
|
regex: RegExp,
|
|
95
|
-
app: App.Default<
|
|
96
|
-
): <R, E>(self: Multiplex<
|
|
95
|
+
app: App.Default<E2, R2>
|
|
96
|
+
): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
97
97
|
<R, E, R2, E2>(
|
|
98
|
-
self: Multiplex<
|
|
98
|
+
self: Multiplex<E, R>,
|
|
99
99
|
header: string,
|
|
100
100
|
regex: RegExp,
|
|
101
|
-
app: App.Default<
|
|
102
|
-
): Multiplex<
|
|
101
|
+
app: App.Default<E2, R2>
|
|
102
|
+
): Multiplex<E | E2, R | R2>
|
|
103
103
|
} = internal.headerRegex
|
|
104
104
|
|
|
105
105
|
/**
|
|
@@ -110,14 +110,14 @@ export const headerStartsWith: {
|
|
|
110
110
|
<R2, E2>(
|
|
111
111
|
header: string,
|
|
112
112
|
prefix: string,
|
|
113
|
-
app: App.Default<
|
|
114
|
-
): <R, E>(self: Multiplex<
|
|
113
|
+
app: App.Default<E2, R2>
|
|
114
|
+
): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
115
115
|
<R, E, R2, E2>(
|
|
116
|
-
self: Multiplex<
|
|
116
|
+
self: Multiplex<E, R>,
|
|
117
117
|
header: string,
|
|
118
118
|
prefix: string,
|
|
119
|
-
app: App.Default<
|
|
120
|
-
): Multiplex<
|
|
119
|
+
app: App.Default<E2, R2>
|
|
120
|
+
): Multiplex<E | E2, R | R2>
|
|
121
121
|
} = internal.headerStartsWith
|
|
122
122
|
|
|
123
123
|
/**
|
|
@@ -128,14 +128,14 @@ export const headerEndsWith: {
|
|
|
128
128
|
<R2, E2>(
|
|
129
129
|
header: string,
|
|
130
130
|
suffix: string,
|
|
131
|
-
app: App.Default<
|
|
132
|
-
): <R, E>(self: Multiplex<
|
|
131
|
+
app: App.Default<E2, R2>
|
|
132
|
+
): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
133
133
|
<R, E, R2, E2>(
|
|
134
|
-
self: Multiplex<
|
|
134
|
+
self: Multiplex<E, R>,
|
|
135
135
|
header: string,
|
|
136
136
|
suffix: string,
|
|
137
|
-
app: App.Default<
|
|
138
|
-
): Multiplex<
|
|
137
|
+
app: App.Default<E2, R2>
|
|
138
|
+
): Multiplex<E | E2, R | R2>
|
|
139
139
|
} = internal.headerEndsWith
|
|
140
140
|
|
|
141
141
|
/**
|
|
@@ -143,8 +143,8 @@ export const headerEndsWith: {
|
|
|
143
143
|
* @category combinators
|
|
144
144
|
*/
|
|
145
145
|
export const hostExact: {
|
|
146
|
-
<R2, E2>(host: string, app: App.Default<
|
|
147
|
-
<R, E, R2, E2>(self: Multiplex<
|
|
146
|
+
<R2, E2>(host: string, app: App.Default<E2, R2>): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
147
|
+
<R, E, R2, E2>(self: Multiplex<E, R>, host: string, app: App.Default<E2, R2>): Multiplex<E | E2, R | R2>
|
|
148
148
|
} = internal.hostExact
|
|
149
149
|
|
|
150
150
|
/**
|
|
@@ -152,8 +152,8 @@ export const hostExact: {
|
|
|
152
152
|
* @category combinators
|
|
153
153
|
*/
|
|
154
154
|
export const hostRegex: {
|
|
155
|
-
<R2, E2>(regex: RegExp, app: App.Default<
|
|
156
|
-
<R, E, R2, E2>(self: Multiplex<
|
|
155
|
+
<R2, E2>(regex: RegExp, app: App.Default<E2, R2>): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
156
|
+
<R, E, R2, E2>(self: Multiplex<E, R>, regex: RegExp, app: App.Default<E2, R2>): Multiplex<E | E2, R | R2>
|
|
157
157
|
} = internal.hostRegex
|
|
158
158
|
|
|
159
159
|
/**
|
|
@@ -161,8 +161,8 @@ export const hostRegex: {
|
|
|
161
161
|
* @category combinators
|
|
162
162
|
*/
|
|
163
163
|
export const hostStartsWith: {
|
|
164
|
-
<R2, E2>(prefix: string, app: App.Default<
|
|
165
|
-
<R, E, R2, E2>(self: Multiplex<
|
|
164
|
+
<R2, E2>(prefix: string, app: App.Default<E2, R2>): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
165
|
+
<R, E, R2, E2>(self: Multiplex<E, R>, prefix: string, app: App.Default<E2, R2>): Multiplex<E | E2, R | R2>
|
|
166
166
|
} = internal.hostStartsWith
|
|
167
167
|
|
|
168
168
|
/**
|
|
@@ -170,6 +170,6 @@ export const hostStartsWith: {
|
|
|
170
170
|
* @category combinators
|
|
171
171
|
*/
|
|
172
172
|
export const hostEndsWith: {
|
|
173
|
-
<R2, E2>(suffix: string, app: App.Default<
|
|
174
|
-
<R, E, R2, E2>(self: Multiplex<
|
|
173
|
+
<R2, E2>(suffix: string, app: App.Default<E2, R2>): <R, E>(self: Multiplex<E, R>) => Multiplex<E2 | E, R2 | R>
|
|
174
|
+
<R, E, R2, E2>(self: Multiplex<E, R>, suffix: string, app: App.Default<E2, R2>): Multiplex<E | E2, R | R2>
|
|
175
175
|
} = internal.hostEndsWith
|