@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.
Files changed (159) hide show
  1. package/README.md +12 -12
  2. package/dist/cjs/Http/App.js +13 -11
  3. package/dist/cjs/Http/App.js.map +1 -1
  4. package/dist/cjs/Http/Client.js +13 -3
  5. package/dist/cjs/Http/Client.js.map +1 -1
  6. package/dist/cjs/Http/ClientResponse.js +9 -9
  7. package/dist/cjs/Http/ClientResponse.js.map +1 -1
  8. package/dist/cjs/Http/Cookies.js +7 -7
  9. package/dist/cjs/Http/Cookies.js.map +1 -1
  10. package/dist/cjs/Http/Headers.js +7 -7
  11. package/dist/cjs/Http/Headers.js.map +1 -1
  12. package/dist/cjs/Http/IncomingMessage.js +7 -7
  13. package/dist/cjs/Http/IncomingMessage.js.map +1 -1
  14. package/dist/cjs/Http/Middleware.js +11 -1
  15. package/dist/cjs/Http/Middleware.js.map +1 -1
  16. package/dist/cjs/Http/Multiplex.js.map +1 -1
  17. package/dist/cjs/Http/Router.js +1 -6
  18. package/dist/cjs/Http/Router.js.map +1 -1
  19. package/dist/cjs/Http/UrlParams.js +13 -13
  20. package/dist/cjs/Http/UrlParams.js.map +1 -1
  21. package/dist/cjs/PlatformConfigProvider.js +2 -2
  22. package/dist/cjs/PlatformConfigProvider.js.map +1 -1
  23. package/dist/cjs/Socket.js +6 -6
  24. package/dist/cjs/Socket.js.map +1 -1
  25. package/dist/cjs/Transferable.js +1 -1
  26. package/dist/cjs/Transferable.js.map +1 -1
  27. package/dist/cjs/WorkerRunner.js.map +1 -1
  28. package/dist/cjs/internal/command.js +1 -1
  29. package/dist/cjs/internal/command.js.map +1 -1
  30. package/dist/cjs/internal/fileSystem.js +2 -2
  31. package/dist/cjs/internal/fileSystem.js.map +1 -1
  32. package/dist/cjs/internal/http/client.js +19 -16
  33. package/dist/cjs/internal/http/client.js.map +1 -1
  34. package/dist/cjs/internal/http/clientResponse.js +5 -5
  35. package/dist/cjs/internal/http/clientResponse.js.map +1 -1
  36. package/dist/cjs/internal/http/middleware.js +8 -3
  37. package/dist/cjs/internal/http/middleware.js.map +1 -1
  38. package/dist/cjs/internal/http/multipart.js +4 -4
  39. package/dist/cjs/internal/http/multipart.js.map +1 -1
  40. package/dist/cjs/internal/http/multiplex.js +2 -2
  41. package/dist/cjs/internal/http/multiplex.js.map +1 -1
  42. package/dist/cjs/internal/http/router.js +11 -11
  43. package/dist/cjs/internal/http/router.js.map +1 -1
  44. package/dist/cjs/internal/worker.js +7 -7
  45. package/dist/cjs/internal/worker.js.map +1 -1
  46. package/dist/cjs/internal/workerRunner.js +14 -13
  47. package/dist/cjs/internal/workerRunner.js.map +1 -1
  48. package/dist/dts/Command.d.ts +3 -3
  49. package/dist/dts/Command.d.ts.map +1 -1
  50. package/dist/dts/Http/App.d.ts +7 -7
  51. package/dist/dts/Http/App.d.ts.map +1 -1
  52. package/dist/dts/Http/Client.d.ts +78 -65
  53. package/dist/dts/Http/Client.d.ts.map +1 -1
  54. package/dist/dts/Http/ClientResponse.d.ts +5 -5
  55. package/dist/dts/Http/Cookies.d.ts +3 -3
  56. package/dist/dts/Http/Cookies.d.ts.map +1 -1
  57. package/dist/dts/Http/Headers.d.ts +4 -4
  58. package/dist/dts/Http/Headers.d.ts.map +1 -1
  59. package/dist/dts/Http/IncomingMessage.d.ts +4 -3
  60. package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
  61. package/dist/dts/Http/Middleware.d.ts +22 -5
  62. package/dist/dts/Http/Middleware.d.ts.map +1 -1
  63. package/dist/dts/Http/Multiplex.d.ts +22 -22
  64. package/dist/dts/Http/Multiplex.d.ts.map +1 -1
  65. package/dist/dts/Http/Router.d.ts +98 -66
  66. package/dist/dts/Http/Router.d.ts.map +1 -1
  67. package/dist/dts/Http/Server.d.ts +11 -11
  68. package/dist/dts/Http/Server.d.ts.map +1 -1
  69. package/dist/dts/Http/ServerRequest.d.ts +1 -1
  70. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  71. package/dist/dts/Http/TraceContext.d.ts.map +1 -1
  72. package/dist/dts/Http/UrlParams.d.ts.map +1 -1
  73. package/dist/dts/PlatformConfigProvider.d.ts.map +1 -1
  74. package/dist/dts/Socket.d.ts +10 -10
  75. package/dist/dts/Socket.d.ts.map +1 -1
  76. package/dist/dts/Transferable.d.ts.map +1 -1
  77. package/dist/dts/Worker.d.ts +6 -6
  78. package/dist/dts/Worker.d.ts.map +1 -1
  79. package/dist/dts/WorkerRunner.d.ts +5 -5
  80. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  81. package/dist/dts/internal/http/router.d.ts +1 -1
  82. package/dist/dts/internal/http/router.d.ts.map +1 -1
  83. package/dist/esm/Http/App.js +13 -11
  84. package/dist/esm/Http/App.js.map +1 -1
  85. package/dist/esm/Http/Client.js +12 -2
  86. package/dist/esm/Http/Client.js.map +1 -1
  87. package/dist/esm/Http/ClientResponse.js +5 -5
  88. package/dist/esm/Http/ClientResponse.js.map +1 -1
  89. package/dist/esm/Http/Cookies.js +7 -7
  90. package/dist/esm/Http/Cookies.js.map +1 -1
  91. package/dist/esm/Http/Headers.js +7 -7
  92. package/dist/esm/Http/Headers.js.map +1 -1
  93. package/dist/esm/Http/IncomingMessage.js +3 -3
  94. package/dist/esm/Http/IncomingMessage.js.map +1 -1
  95. package/dist/esm/Http/Middleware.js +10 -0
  96. package/dist/esm/Http/Middleware.js.map +1 -1
  97. package/dist/esm/Http/Multiplex.js.map +1 -1
  98. package/dist/esm/Http/Router.js +0 -5
  99. package/dist/esm/Http/Router.js.map +1 -1
  100. package/dist/esm/Http/UrlParams.js +13 -13
  101. package/dist/esm/Http/UrlParams.js.map +1 -1
  102. package/dist/esm/PlatformConfigProvider.js +2 -2
  103. package/dist/esm/PlatformConfigProvider.js.map +1 -1
  104. package/dist/esm/Socket.js +6 -6
  105. package/dist/esm/Socket.js.map +1 -1
  106. package/dist/esm/Transferable.js +1 -1
  107. package/dist/esm/Transferable.js.map +1 -1
  108. package/dist/esm/WorkerRunner.js.map +1 -1
  109. package/dist/esm/internal/command.js +1 -1
  110. package/dist/esm/internal/command.js.map +1 -1
  111. package/dist/esm/internal/fileSystem.js +2 -2
  112. package/dist/esm/internal/fileSystem.js.map +1 -1
  113. package/dist/esm/internal/http/client.js +18 -13
  114. package/dist/esm/internal/http/client.js.map +1 -1
  115. package/dist/esm/internal/http/clientResponse.js +2 -2
  116. package/dist/esm/internal/http/clientResponse.js.map +1 -1
  117. package/dist/esm/internal/http/middleware.js +7 -2
  118. package/dist/esm/internal/http/middleware.js.map +1 -1
  119. package/dist/esm/internal/http/multipart.js +4 -4
  120. package/dist/esm/internal/http/multipart.js.map +1 -1
  121. package/dist/esm/internal/http/multiplex.js +2 -2
  122. package/dist/esm/internal/http/multiplex.js.map +1 -1
  123. package/dist/esm/internal/http/router.js +10 -9
  124. package/dist/esm/internal/http/router.js.map +1 -1
  125. package/dist/esm/internal/worker.js +7 -7
  126. package/dist/esm/internal/worker.js.map +1 -1
  127. package/dist/esm/internal/workerRunner.js +14 -13
  128. package/dist/esm/internal/workerRunner.js.map +1 -1
  129. package/package.json +3 -3
  130. package/src/Command.ts +3 -3
  131. package/src/Http/App.ts +44 -41
  132. package/src/Http/Client.ts +105 -90
  133. package/src/Http/ClientResponse.ts +7 -7
  134. package/src/Http/Cookies.ts +9 -9
  135. package/src/Http/Headers.ts +12 -12
  136. package/src/Http/IncomingMessage.ts +16 -6
  137. package/src/Http/Middleware.ts +30 -6
  138. package/src/Http/Multiplex.ts +38 -38
  139. package/src/Http/Router.ts +156 -141
  140. package/src/Http/Server.ts +16 -16
  141. package/src/Http/ServerRequest.ts +1 -1
  142. package/src/Http/UrlParams.ts +15 -15
  143. package/src/PlatformConfigProvider.ts +2 -2
  144. package/src/Socket.ts +6 -6
  145. package/src/Transferable.ts +1 -1
  146. package/src/Worker.ts +9 -9
  147. package/src/WorkerRunner.ts +5 -4
  148. package/src/internal/command.ts +12 -6
  149. package/src/internal/fileSystem.ts +2 -2
  150. package/src/internal/http/client.ts +221 -204
  151. package/src/internal/http/clientResponse.ts +2 -2
  152. package/src/internal/http/middleware.ts +24 -1
  153. package/src/internal/http/multipart.ts +4 -4
  154. package/src/internal/http/multiplex.ts +54 -54
  155. package/src/internal/http/router.ts +146 -116
  156. package/src/internal/http/server.ts +17 -17
  157. package/src/internal/http/serverRequest.ts +1 -1
  158. package/src/internal/worker.ts +14 -14
  159. 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 schemaBodyJsonEffect = <A, I, R>(schema: Schema.Schema<A, I, R>, options?: ParseOptions | undefined) => {
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>(effect: Effect.Effect<IncomingMessage<E>, E2, R2>) => Effect.scoped(Effect.flatMap(effect, decode))
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 schemaBodyUrlParamsEffect = <R, I extends Readonly<Record<string, string>>, A>(
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>(effect: Effect.Effect<IncomingMessage<E>, E2, R2>) => Effect.scoped(Effect.flatMap(effect, decode))
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 schemaHeadersEffect = <R, I extends Readonly<Record<string, string>>, A>(
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>(effect: Effect.Effect<IncomingMessage<E>, E2, R2>) => Effect.scoped(Effect.flatMap(effect, decode))
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
  /**
@@ -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<R, E>): App.Default<any, any>
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<R, E, A extends App.Default<any, any>> {
27
- (self: App.Default<R, E>): A
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<R, E>) => App.Default<R, E> = internal.logger
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.withTracerDisabledWhen
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<R, E>) => App.Default<R, E> = internal.xForwardedHeaders
105
+ export const xForwardedHeaders: <R, E>(httpApp: App.Default<E, R>) => App.Default<E, R> = internal.xForwardedHeaders
@@ -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<R, E> extends App.Default<R, E | Error.RouteNotFound>, Inspectable {
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<R, E>
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, never> = internal.empty
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<R, E>]
49
+ readonly [predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E, R>, app: App.Default<E, R>]
50
50
  >
51
- ) => Multiplex<R, E> = internal.make
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<R3, E3>
61
- ): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R3 | R, E2 | E3 | E>
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<R, E>,
63
+ self: Multiplex<E, R>,
64
64
  predicate: (request: ServerRequest.ServerRequest) => Effect.Effect<boolean, E2, R2>,
65
- app: App.Default<R3, E3>
66
- ): Multiplex<R | R2 | R3, E | E2 | E3>
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<R2, E2>
78
- ): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
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<R, E>,
80
+ self: Multiplex<E, R>,
81
81
  header: string,
82
82
  value: string,
83
- app: App.Default<R2, E2>
84
- ): Multiplex<R | R2, E | E2>
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<R2, E2>
96
- ): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
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<R, E>,
98
+ self: Multiplex<E, R>,
99
99
  header: string,
100
100
  regex: RegExp,
101
- app: App.Default<R2, E2>
102
- ): Multiplex<R | R2, E | E2>
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<R2, E2>
114
- ): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
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<R, E>,
116
+ self: Multiplex<E, R>,
117
117
  header: string,
118
118
  prefix: string,
119
- app: App.Default<R2, E2>
120
- ): Multiplex<R | R2, E | E2>
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<R2, E2>
132
- ): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
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<R, E>,
134
+ self: Multiplex<E, R>,
135
135
  header: string,
136
136
  suffix: string,
137
- app: App.Default<R2, E2>
138
- ): Multiplex<R | R2, E | E2>
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<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
147
- <R, E, R2, E2>(self: Multiplex<R, E>, host: string, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
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<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
156
- <R, E, R2, E2>(self: Multiplex<R, E>, regex: RegExp, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
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<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
165
- <R, E, R2, E2>(self: Multiplex<R, E>, prefix: string, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
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<R2, E2>): <R, E>(self: Multiplex<R, E>) => Multiplex<R2 | R, E2 | E>
174
- <R, E, R2, E2>(self: Multiplex<R, E>, suffix: string, app: App.Default<R2, E2>): Multiplex<R | R2, E | E2>
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