@effect/platform 0.68.5 → 0.69.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 (229) hide show
  1. package/HttpApiMiddleware/package.json +6 -0
  2. package/README.md +306 -233
  3. package/dist/cjs/Headers.js +7 -2
  4. package/dist/cjs/Headers.js.map +1 -1
  5. package/dist/cjs/HttpApi.js +90 -78
  6. package/dist/cjs/HttpApi.js.map +1 -1
  7. package/dist/cjs/HttpApiBuilder.js +243 -255
  8. package/dist/cjs/HttpApiBuilder.js.map +1 -1
  9. package/dist/cjs/HttpApiClient.js +64 -59
  10. package/dist/cjs/HttpApiClient.js.map +1 -1
  11. package/dist/cjs/HttpApiEndpoint.js +74 -109
  12. package/dist/cjs/HttpApiEndpoint.js.map +1 -1
  13. package/dist/cjs/HttpApiError.js +3 -4
  14. package/dist/cjs/HttpApiError.js.map +1 -1
  15. package/dist/cjs/HttpApiGroup.js +103 -100
  16. package/dist/cjs/HttpApiGroup.js.map +1 -1
  17. package/dist/cjs/HttpApiMiddleware.js +67 -0
  18. package/dist/cjs/HttpApiMiddleware.js.map +1 -0
  19. package/dist/cjs/HttpApiSchema.js +33 -7
  20. package/dist/cjs/HttpApiSchema.js.map +1 -1
  21. package/dist/cjs/HttpApiSecurity.js +2 -2
  22. package/dist/cjs/HttpApiSecurity.js.map +1 -1
  23. package/dist/cjs/HttpApiSwagger.js +3 -1
  24. package/dist/cjs/HttpApiSwagger.js.map +1 -1
  25. package/dist/cjs/HttpBody.js.map +1 -1
  26. package/dist/cjs/HttpIncomingMessage.js +5 -1
  27. package/dist/cjs/HttpIncomingMessage.js.map +1 -1
  28. package/dist/cjs/HttpServer.js +12 -1
  29. package/dist/cjs/HttpServer.js.map +1 -1
  30. package/dist/cjs/HttpServerRespondable.js +1 -1
  31. package/dist/cjs/HttpServerRespondable.js.map +1 -1
  32. package/dist/cjs/OpenApi.js +102 -63
  33. package/dist/cjs/OpenApi.js.map +1 -1
  34. package/dist/cjs/OpenApiJsonSchema.js +58 -47
  35. package/dist/cjs/OpenApiJsonSchema.js.map +1 -1
  36. package/dist/cjs/Transferable.js +2 -2
  37. package/dist/cjs/Transferable.js.map +1 -1
  38. package/dist/cjs/UrlParams.js +5 -1
  39. package/dist/cjs/UrlParams.js.map +1 -1
  40. package/dist/cjs/Worker.js.map +1 -1
  41. package/dist/cjs/WorkerError.js +1 -5
  42. package/dist/cjs/WorkerError.js.map +1 -1
  43. package/dist/cjs/WorkerRunner.js.map +1 -1
  44. package/dist/cjs/index.js +3 -1
  45. package/dist/cjs/internal/httpBody.js +1 -1
  46. package/dist/cjs/internal/httpBody.js.map +1 -1
  47. package/dist/cjs/internal/httpClientRequest.js.map +1 -1
  48. package/dist/cjs/internal/httpClientResponse.js +1 -1
  49. package/dist/cjs/internal/httpClientResponse.js.map +1 -1
  50. package/dist/cjs/internal/httpRouter.js +1 -1
  51. package/dist/cjs/internal/httpRouter.js.map +1 -1
  52. package/dist/cjs/internal/httpServer.js +7 -1
  53. package/dist/cjs/internal/httpServer.js.map +1 -1
  54. package/dist/cjs/internal/httpServerRequest.js +1 -1
  55. package/dist/cjs/internal/httpServerRequest.js.map +1 -1
  56. package/dist/cjs/internal/httpServerResponse.js.map +1 -1
  57. package/dist/cjs/internal/keyValueStore.js +1 -1
  58. package/dist/cjs/internal/keyValueStore.js.map +1 -1
  59. package/dist/cjs/internal/multipart.js +1 -1
  60. package/dist/cjs/internal/multipart.js.map +1 -1
  61. package/dist/cjs/internal/worker.js +6 -7
  62. package/dist/cjs/internal/worker.js.map +1 -1
  63. package/dist/cjs/internal/workerRunner.js +3 -4
  64. package/dist/cjs/internal/workerRunner.js.map +1 -1
  65. package/dist/dts/Headers.d.ts +4 -6
  66. package/dist/dts/Headers.d.ts.map +1 -1
  67. package/dist/dts/HttpApi.d.ts +64 -140
  68. package/dist/dts/HttpApi.d.ts.map +1 -1
  69. package/dist/dts/HttpApiBuilder.d.ts +84 -167
  70. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  71. package/dist/dts/HttpApiClient.d.ts +34 -11
  72. package/dist/dts/HttpApiClient.d.ts.map +1 -1
  73. package/dist/dts/HttpApiEndpoint.d.ts +119 -273
  74. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
  75. package/dist/dts/HttpApiError.d.ts +5 -2
  76. package/dist/dts/HttpApiError.d.ts.map +1 -1
  77. package/dist/dts/HttpApiGroup.d.ts +96 -194
  78. package/dist/dts/HttpApiGroup.d.ts.map +1 -1
  79. package/dist/dts/HttpApiMiddleware.d.ts +231 -0
  80. package/dist/dts/HttpApiMiddleware.d.ts.map +1 -0
  81. package/dist/dts/HttpApiSchema.d.ts +6 -2
  82. package/dist/dts/HttpApiSchema.d.ts.map +1 -1
  83. package/dist/dts/HttpApiSecurity.d.ts +1 -1
  84. package/dist/dts/HttpApiSecurity.d.ts.map +1 -1
  85. package/dist/dts/HttpApiSwagger.d.ts +2 -2
  86. package/dist/dts/HttpApiSwagger.d.ts.map +1 -1
  87. package/dist/dts/HttpBody.d.ts +2 -2
  88. package/dist/dts/HttpBody.d.ts.map +1 -1
  89. package/dist/dts/HttpClientRequest.d.ts +2 -2
  90. package/dist/dts/HttpClientRequest.d.ts.map +1 -1
  91. package/dist/dts/HttpClientResponse.d.ts +3 -3
  92. package/dist/dts/HttpClientResponse.d.ts.map +1 -1
  93. package/dist/dts/HttpIncomingMessage.d.ts +3 -3
  94. package/dist/dts/HttpIncomingMessage.d.ts.map +1 -1
  95. package/dist/dts/HttpRouter.d.ts +3 -3
  96. package/dist/dts/HttpRouter.d.ts.map +1 -1
  97. package/dist/dts/HttpServer.d.ts +15 -0
  98. package/dist/dts/HttpServer.d.ts.map +1 -1
  99. package/dist/dts/HttpServerRequest.d.ts +3 -3
  100. package/dist/dts/HttpServerRequest.d.ts.map +1 -1
  101. package/dist/dts/HttpServerRespondable.d.ts.map +1 -1
  102. package/dist/dts/HttpServerResponse.d.ts +2 -2
  103. package/dist/dts/HttpServerResponse.d.ts.map +1 -1
  104. package/dist/dts/KeyValueStore.d.ts +2 -2
  105. package/dist/dts/KeyValueStore.d.ts.map +1 -1
  106. package/dist/dts/Multipart.d.ts +3 -3
  107. package/dist/dts/Multipart.d.ts.map +1 -1
  108. package/dist/dts/OpenApi.d.ts +17 -39
  109. package/dist/dts/OpenApi.d.ts.map +1 -1
  110. package/dist/dts/OpenApiJsonSchema.d.ts +10 -5
  111. package/dist/dts/OpenApiJsonSchema.d.ts.map +1 -1
  112. package/dist/dts/Transferable.d.ts +4 -1
  113. package/dist/dts/Transferable.d.ts.map +1 -1
  114. package/dist/dts/UrlParams.d.ts +3 -6
  115. package/dist/dts/UrlParams.d.ts.map +1 -1
  116. package/dist/dts/Worker.d.ts +7 -8
  117. package/dist/dts/Worker.d.ts.map +1 -1
  118. package/dist/dts/WorkerError.d.ts +1 -1
  119. package/dist/dts/WorkerError.d.ts.map +1 -1
  120. package/dist/dts/WorkerRunner.d.ts +2 -3
  121. package/dist/dts/WorkerRunner.d.ts.map +1 -1
  122. package/dist/dts/index.d.ts +4 -0
  123. package/dist/dts/index.d.ts.map +1 -1
  124. package/dist/dts/internal/httpRouter.d.ts.map +1 -1
  125. package/dist/esm/Headers.js +7 -2
  126. package/dist/esm/Headers.js.map +1 -1
  127. package/dist/esm/HttpApi.js +88 -77
  128. package/dist/esm/HttpApi.js.map +1 -1
  129. package/dist/esm/HttpApiBuilder.js +236 -244
  130. package/dist/esm/HttpApiBuilder.js.map +1 -1
  131. package/dist/esm/HttpApiClient.js +64 -59
  132. package/dist/esm/HttpApiClient.js.map +1 -1
  133. package/dist/esm/HttpApiEndpoint.js +73 -106
  134. package/dist/esm/HttpApiEndpoint.js.map +1 -1
  135. package/dist/esm/HttpApiError.js +3 -4
  136. package/dist/esm/HttpApiError.js.map +1 -1
  137. package/dist/esm/HttpApiGroup.js +102 -99
  138. package/dist/esm/HttpApiGroup.js.map +1 -1
  139. package/dist/esm/HttpApiMiddleware.js +56 -0
  140. package/dist/esm/HttpApiMiddleware.js.map +1 -0
  141. package/dist/esm/HttpApiSchema.js +31 -5
  142. package/dist/esm/HttpApiSchema.js.map +1 -1
  143. package/dist/esm/HttpApiSecurity.js +1 -1
  144. package/dist/esm/HttpApiSecurity.js.map +1 -1
  145. package/dist/esm/HttpApiSwagger.js +4 -2
  146. package/dist/esm/HttpApiSwagger.js.map +1 -1
  147. package/dist/esm/HttpBody.js.map +1 -1
  148. package/dist/esm/HttpIncomingMessage.js +4 -1
  149. package/dist/esm/HttpIncomingMessage.js.map +1 -1
  150. package/dist/esm/HttpServer.js +11 -0
  151. package/dist/esm/HttpServer.js.map +1 -1
  152. package/dist/esm/HttpServerRespondable.js +1 -1
  153. package/dist/esm/HttpServerRespondable.js.map +1 -1
  154. package/dist/esm/OpenApi.js +97 -59
  155. package/dist/esm/OpenApi.js.map +1 -1
  156. package/dist/esm/OpenApiJsonSchema.js +56 -46
  157. package/dist/esm/OpenApiJsonSchema.js.map +1 -1
  158. package/dist/esm/Transferable.js +2 -2
  159. package/dist/esm/Transferable.js.map +1 -1
  160. package/dist/esm/UrlParams.js +4 -1
  161. package/dist/esm/UrlParams.js.map +1 -1
  162. package/dist/esm/Worker.js.map +1 -1
  163. package/dist/esm/WorkerError.js +1 -4
  164. package/dist/esm/WorkerError.js.map +1 -1
  165. package/dist/esm/WorkerRunner.js.map +1 -1
  166. package/dist/esm/index.js +4 -0
  167. package/dist/esm/index.js.map +1 -1
  168. package/dist/esm/internal/httpBody.js +1 -1
  169. package/dist/esm/internal/httpBody.js.map +1 -1
  170. package/dist/esm/internal/httpClientRequest.js.map +1 -1
  171. package/dist/esm/internal/httpClientResponse.js +1 -1
  172. package/dist/esm/internal/httpClientResponse.js.map +1 -1
  173. package/dist/esm/internal/httpRouter.js +1 -1
  174. package/dist/esm/internal/httpRouter.js.map +1 -1
  175. package/dist/esm/internal/httpServer.js +6 -0
  176. package/dist/esm/internal/httpServer.js.map +1 -1
  177. package/dist/esm/internal/httpServerRequest.js +1 -1
  178. package/dist/esm/internal/httpServerRequest.js.map +1 -1
  179. package/dist/esm/internal/httpServerResponse.js.map +1 -1
  180. package/dist/esm/internal/keyValueStore.js +1 -1
  181. package/dist/esm/internal/keyValueStore.js.map +1 -1
  182. package/dist/esm/internal/multipart.js +1 -1
  183. package/dist/esm/internal/multipart.js.map +1 -1
  184. package/dist/esm/internal/worker.js +6 -7
  185. package/dist/esm/internal/worker.js.map +1 -1
  186. package/dist/esm/internal/workerRunner.js +3 -4
  187. package/dist/esm/internal/workerRunner.js.map +1 -1
  188. package/package.json +10 -3
  189. package/src/Headers.ts +12 -4
  190. package/src/HttpApi.ts +183 -258
  191. package/src/HttpApiBuilder.ts +532 -481
  192. package/src/HttpApiClient.ts +163 -112
  193. package/src/HttpApiEndpoint.ts +443 -564
  194. package/src/HttpApiError.ts +4 -6
  195. package/src/HttpApiGroup.ts +277 -325
  196. package/src/HttpApiMiddleware.ts +318 -0
  197. package/src/HttpApiSchema.ts +39 -2
  198. package/src/HttpApiSecurity.ts +1 -1
  199. package/src/HttpApiSwagger.ts +3 -3
  200. package/src/HttpBody.ts +2 -2
  201. package/src/HttpClientRequest.ts +2 -2
  202. package/src/HttpClientResponse.ts +3 -3
  203. package/src/HttpIncomingMessage.ts +3 -3
  204. package/src/HttpRouter.ts +3 -3
  205. package/src/HttpServer.ts +21 -0
  206. package/src/HttpServerRequest.ts +3 -3
  207. package/src/HttpServerRespondable.ts +1 -1
  208. package/src/HttpServerResponse.ts +2 -2
  209. package/src/KeyValueStore.ts +2 -2
  210. package/src/Multipart.ts +3 -3
  211. package/src/OpenApi.ts +113 -104
  212. package/src/OpenApiJsonSchema.ts +67 -53
  213. package/src/Transferable.ts +2 -2
  214. package/src/UrlParams.ts +3 -3
  215. package/src/Worker.ts +7 -8
  216. package/src/WorkerError.ts +1 -1
  217. package/src/WorkerRunner.ts +2 -3
  218. package/src/index.ts +5 -0
  219. package/src/internal/httpBody.ts +2 -2
  220. package/src/internal/httpClientRequest.ts +2 -2
  221. package/src/internal/httpClientResponse.ts +3 -3
  222. package/src/internal/httpRouter.ts +2 -2
  223. package/src/internal/httpServer.ts +13 -0
  224. package/src/internal/httpServerRequest.ts +3 -3
  225. package/src/internal/httpServerResponse.ts +2 -2
  226. package/src/internal/keyValueStore.ts +1 -1
  227. package/src/internal/multipart.ts +3 -3
  228. package/src/internal/worker.ts +6 -7
  229. package/src/internal/workerRunner.ts +3 -4
@@ -1,17 +1,19 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
1
4
  import * as Chunk from "effect/Chunk";
2
5
  import * as Context from "effect/Context";
3
6
  import * as Effect from "effect/Effect";
4
7
  import * as Layer from "effect/Layer";
5
- import type { ManagedRuntime } from "effect/ManagedRuntime";
6
8
  import { type Pipeable } from "effect/Pipeable";
7
9
  import * as Redacted from "effect/Redacted";
8
10
  import type { Scope } from "effect/Scope";
9
11
  import type { Covariant, NoInfer } from "effect/Types";
10
12
  import type { Cookie } from "./Cookies.js";
11
13
  import * as HttpApi from "./HttpApi.js";
12
- import * as HttpApiEndpoint from "./HttpApiEndpoint.js";
13
- import { HttpApiDecodeError } from "./HttpApiError.js";
14
+ import type * as HttpApiEndpoint from "./HttpApiEndpoint.js";
14
15
  import type * as HttpApiGroup from "./HttpApiGroup.js";
16
+ import * as HttpApiMiddleware from "./HttpApiMiddleware.js";
15
17
  import type * as HttpApiSecurity from "./HttpApiSecurity.js";
16
18
  import * as HttpApp from "./HttpApp.js";
17
19
  import * as HttpMiddleware from "./HttpMiddleware.js";
@@ -27,6 +29,13 @@ declare const Router_base: HttpRouter.HttpRouter.TagClass<Router, "@effect/platf
27
29
  */
28
30
  export declare class Router extends Router_base {
29
31
  }
32
+ /**
33
+ * Create a top-level `HttpApi` layer.
34
+ *
35
+ * @since 1.0.0
36
+ * @category constructors
37
+ */
38
+ export declare const api: <Groups extends HttpApiGroup.HttpApiGroup.Any, E, R>(api: HttpApi.HttpApi<Groups, E, R>) => Layer.Layer<HttpApi.Api, never, HttpApiGroup.HttpApiGroup.ToService<Groups> | R | HttpApiGroup.HttpApiGroup.ErrorContext<Groups>>;
30
39
  /**
31
40
  * Build an `HttpApp` from an `HttpApi` instance, and serve it using an
32
41
  * `HttpServer`.
@@ -37,76 +46,41 @@ export declare class Router extends Router_base {
37
46
  * @since 1.0.0
38
47
  * @category constructors
39
48
  */
40
- export declare const serve: {
41
- /**
42
- * Build an `HttpApp` from an `HttpApi` instance, and serve it using an
43
- * `HttpServer`.
44
- *
45
- * Optionally, you can provide a middleware function that will be applied to
46
- * the `HttpApp` before serving.
47
- *
48
- * @since 1.0.0
49
- * @category constructors
50
- */
51
- (): Layer.Layer<never, never, HttpServer.HttpServer | HttpApi.HttpApi.Service | HttpRouter.HttpRouter.DefaultServices>;
52
- /**
53
- * Build an `HttpApp` from an `HttpApi` instance, and serve it using an
54
- * `HttpServer`.
55
- *
56
- * Optionally, you can provide a middleware function that will be applied to
57
- * the `HttpApp` before serving.
58
- *
59
- * @since 1.0.0
60
- * @category constructors
61
- */
62
- <R>(middleware: (httpApp: HttpApp.Default) => HttpApp.Default<never, R>): Layer.Layer<never, never, HttpServer.HttpServer | HttpRouter.HttpRouter.DefaultServices | Exclude<R, Scope | HttpServerRequest.HttpServerRequest> | HttpApi.HttpApi.Service>;
63
- };
49
+ export declare const serve: <R = never>(middleware?: (httpApp: HttpApp.Default) => HttpApp.Default<never, R>) => Layer.Layer<never, never, HttpServer.HttpServer | HttpRouter.HttpRouter.DefaultServices | Exclude<R, Scope | HttpServerRequest.HttpServerRequest> | HttpApi.Api>;
64
50
  /**
65
51
  * Construct an `HttpApp` from an `HttpApi` instance.
66
52
  *
67
53
  * @since 1.0.0
68
54
  * @category constructors
69
55
  */
70
- export declare const httpApp: Effect.Effect<HttpApp.Default<never, HttpRouter.HttpRouter.DefaultServices>, never, Router | HttpApi.HttpApi.Service>;
56
+ export declare const httpApp: Effect.Effect<HttpApp.Default<never, HttpRouter.HttpRouter.DefaultServices>, never, Router | HttpApi.Api>;
71
57
  /**
72
58
  * Construct an http web handler from an `HttpApi` instance.
73
59
  *
74
60
  * @since 1.0.0
75
61
  * @category constructors
76
62
  * @example
77
- * import { HttpApi } from "@effect/platform"
78
- * import { Etag, HttpApiBuilder, HttpMiddleware, HttpPlatform } from "@effect/platform"
79
- * import { NodeContext } from "@effect/platform-node"
80
- * import { Layer, ManagedRuntime } from "effect"
63
+ * import { HttpApi, HttpApiBuilder, HttpServer } from "@effect/platform"
64
+ * import { Layer } from "effect"
65
+ *
66
+ * class MyApi extends HttpApi.empty {}
81
67
  *
82
- * const ApiLive = HttpApiBuilder.api(HttpApi.empty)
68
+ * const MyApiLive = HttpApiBuilder.api(MyApi)
83
69
  *
84
- * const runtime = ManagedRuntime.make(
70
+ * const { dispose, handler } = HttpApiBuilder.toWebHandler(
85
71
  * Layer.mergeAll(
86
- * ApiLive,
87
- * HttpApiBuilder.Router.Live,
88
- * HttpPlatform.layer,
89
- * Etag.layerWeak
90
- * ).pipe(
91
- * Layer.provideMerge(NodeContext.layer)
72
+ * MyApiLive,
73
+ * HttpServer.layerContext
92
74
  * )
93
75
  * )
94
- *
95
- * const handler = HttpApiBuilder.toWebHandler(runtime, HttpMiddleware.logger)
96
76
  */
97
- export declare const toWebHandler: <R, ER>(runtime: ManagedRuntime<R | HttpApi.HttpApi.Service | Router | HttpRouter.HttpRouter.DefaultServices, ER>, middleware?: (httpApp: HttpApp.Default) => HttpApp.Default<never, R | HttpApi.HttpApi.Service | Router | HttpRouter.HttpRouter.DefaultServices>) => (request: Request) => Promise<Response>;
98
- /**
99
- * Build a root level `Layer` from an `HttpApi` instance.
100
- *
101
- * The `Layer` will provide the `HttpApi` service, and will require the
102
- * implementation for all the `HttpApiGroup`'s contained in the `HttpApi`.
103
- *
104
- * The resulting `Layer` can be provided to the `HttpApiBuilder.serve` layer.
105
- *
106
- * @since 1.0.0
107
- * @category constructors
108
- */
109
- export declare const api: <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR>(self: HttpApi.HttpApi<Groups, Error, ErrorR>) => Layer.Layer<HttpApi.HttpApi.Service, never, HttpApiGroup.HttpApiGroup.ToService<Groups> | ErrorR>;
77
+ export declare const toWebHandler: <LA, LE>(layer: Layer.Layer<LA | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices, LE>, options?: {
78
+ readonly middleware?: (httpApp: HttpApp.Default) => HttpApp.Default<never, HttpApi.Api | Router | HttpRouter.HttpRouter.DefaultServices>;
79
+ readonly memoMap?: Layer.MemoMap;
80
+ }) => {
81
+ readonly handler: (request: Request) => Promise<Response>;
82
+ readonly dispose: () => Promise<void>;
83
+ };
110
84
  /**
111
85
  * @since 1.0.0
112
86
  * @category handlers
@@ -118,23 +92,39 @@ export declare const HandlersTypeId: unique symbol;
118
92
  */
119
93
  export type HandlersTypeId = typeof HandlersTypeId;
120
94
  /**
121
- * Represents a handled, or partially handled, `HttpApiGroup`.
95
+ * Represents a handled `HttpApi`.
122
96
  *
123
97
  * @since 1.0.0
124
98
  * @category handlers
125
99
  */
126
- export interface Handlers<E, R, Endpoints extends HttpApiEndpoint.HttpApiEndpoint.All = never> extends Pipeable {
100
+ export interface Handlers<E, Provides, R, Endpoints extends HttpApiEndpoint.HttpApiEndpoint.Any = never> extends Pipeable {
127
101
  readonly [HandlersTypeId]: {
128
102
  _Endpoints: Covariant<Endpoints>;
129
103
  };
130
- readonly group: HttpApiGroup.HttpApiGroup<any, HttpApiEndpoint.HttpApiEndpoint.All, any, R>;
104
+ readonly group: HttpApiGroup.HttpApiGroup.AnyWithProps;
131
105
  readonly handlers: Chunk.Chunk<Handlers.Item<E, R>>;
106
+ /**
107
+ * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
108
+ */
109
+ handle<Name extends HttpApiEndpoint.HttpApiEndpoint.Name<Endpoints>, R1>(name: Name, handler: HttpApiEndpoint.HttpApiEndpoint.HandlerWithName<Endpoints, Name, E, R1>): Handlers<E, Provides, R | Exclude<HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<Endpoints, Name, R1>, Provides>, HttpApiEndpoint.HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
110
+ /**
111
+ * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
112
+ * This version of the api allows you to return the full response object.
113
+ */
114
+ handleRaw<Name extends HttpApiEndpoint.HttpApiEndpoint.Name<Endpoints>, R1>(name: Name, handler: HttpApiEndpoint.HttpApiEndpoint.HandlerResponseWithName<Endpoints, Name, E, R1>): Handlers<E, Provides, R | Exclude<HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<Endpoints, Name, R1>, Provides>, HttpApiEndpoint.HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
132
115
  }
133
116
  /**
134
117
  * @since 1.0.0
135
118
  * @category handlers
136
119
  */
137
120
  export declare namespace Handlers {
121
+ /**
122
+ * @since 1.0.0
123
+ * @category handlers
124
+ */
125
+ interface Any {
126
+ readonly [HandlersTypeId]: any;
127
+ }
138
128
  /**
139
129
  * @since 1.0.0
140
130
  * @category handlers
@@ -145,62 +135,43 @@ export declare namespace Handlers {
145
135
  * @category handlers
146
136
  */
147
137
  type Item<E, R> = {
148
- readonly _tag: "Handler";
149
138
  readonly endpoint: HttpApiEndpoint.HttpApiEndpoint.Any;
150
139
  readonly handler: HttpApiEndpoint.HttpApiEndpoint.Handler<any, E, R>;
151
140
  readonly withFullResponse: boolean;
152
- } | {
153
- readonly _tag: "Middleware";
154
- readonly middleware: Middleware<any, any, E, R>;
155
141
  };
156
- }
157
- /**
158
- * Create a `Layer` that will implement all the endpoints in an `HttpApiGroup`.
159
- *
160
- * An unimplemented `Handlers` instance is passed to the `build` function, which
161
- * you can use to add handlers to the group.
162
- *
163
- * You can implement endpoints using the `HttpApiBuilder.handle` api.
164
- *
165
- * @since 1.0.0
166
- * @category handlers
167
- */
168
- export declare const group: <Groups extends HttpApiGroup.HttpApiGroup.Any, ApiError, ApiErrorR, const Name extends Groups["identifier"], RH, EX = never, RX = never>(api: HttpApi.HttpApi<Groups, ApiError, ApiErrorR>, groupName: Name, build: (handlers: Handlers<never, never, HttpApiGroup.HttpApiGroup.EndpointsWithName<Groups, Name>>) => Handlers<NoInfer<ApiError> | HttpApiGroup.HttpApiGroup.ErrorWithName<Groups, Name>, RH> | Effect.Effect<Handlers<NoInfer<ApiError> | HttpApiGroup.HttpApiGroup.ErrorWithName<Groups, Name>, RH>, EX, RX>) => Layer.Layer<HttpApiGroup.HttpApiGroup.Service<Name>, EX, RX | RH | HttpApiGroup.HttpApiGroup.ContextWithName<Groups, Name> | ApiErrorR>;
169
- /**
170
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
171
- *
172
- * @since 1.0.0
173
- * @category handlers
174
- */
175
- export declare const handle: {
176
142
  /**
177
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
178
- *
179
143
  * @since 1.0.0
180
144
  * @category handlers
181
145
  */
182
- <Endpoints extends HttpApiEndpoint.HttpApiEndpoint.All, const Name extends Endpoints["name"], E, R>(name: Name, handler: HttpApiEndpoint.HttpApiEndpoint.HandlerWithName<Endpoints, Name, E, R>): <EG, RG>(self: Handlers<EG, RG, Endpoints>) => Handlers<EG | Exclude<E, HttpApiEndpoint.HttpApiEndpoint.ErrorWithName<Endpoints, Name>> | HttpApiDecodeError, RG | HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<R>, HttpApiEndpoint.HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
146
+ type FromGroup<ApiError, ApiR, Group extends HttpApiGroup.HttpApiGroup.Any> = Handlers<ApiError | HttpApiGroup.HttpApiGroup.Error<Group>, HttpApiMiddleware.HttpApiMiddleware.ExtractProvides<ApiR> | HttpApiGroup.HttpApiGroup.Provides<Group>, never, HttpApiGroup.HttpApiGroup.Endpoints<Group>>;
183
147
  /**
184
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
185
- *
186
148
  * @since 1.0.0
187
149
  * @category handlers
188
150
  */
189
- <Endpoints extends HttpApiEndpoint.HttpApiEndpoint.All, const Name extends Endpoints["name"], E, R>(name: Name, handler: HttpApiEndpoint.HttpApiEndpoint.HandlerResponseWithName<Endpoints, Name, E, R>, options: {
190
- readonly withFullResponse: true;
191
- }): <EG, RG>(self: Handlers<EG, RG, Endpoints>) => Handlers<EG | Exclude<E, HttpApiEndpoint.HttpApiEndpoint.ErrorWithName<Endpoints, Name>> | HttpApiDecodeError, RG | HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<R>, HttpApiEndpoint.HttpApiEndpoint.ExcludeName<Endpoints, Name>>;
192
- };
151
+ type ValidateReturn<A> = A extends (Handlers<infer _E, infer _Provides, infer _R, infer _Endpoints> | Effect.Effect<Handlers<infer _E, infer _Provides, infer _R, infer _Endpoints>, infer _EX, infer _RX>) ? [_Endpoints] extends [never] ? A : `Endpoint not handled: ${HttpApiEndpoint.HttpApiEndpoint.Name<_Endpoints>}` : `Must return the implemented handlers`;
152
+ /**
153
+ * @since 1.0.0
154
+ * @category handlers
155
+ */
156
+ type Error<A> = A extends Effect.Effect<Handlers<infer _E, infer _Provides, infer _R, infer _Endpoints>, infer _EX, infer _RX> ? _EX : never;
157
+ /**
158
+ * @since 1.0.0
159
+ * @category handlers
160
+ */
161
+ type Context<A> = A extends Handlers<infer _E, infer _Provides, infer _R, infer _Endpoints> ? _R : A extends Effect.Effect<Handlers<infer _E, infer _Provides, infer _R, infer _Endpoints>, infer _EX, infer _RX> ? _R | _RX : never;
162
+ }
193
163
  /**
194
- * Add `HttpMiddleware` to a `Handlers` group.
164
+ * Create a `Layer` that will implement all the endpoints in an `HttpApi`.
165
+ *
166
+ * An unimplemented `Handlers` instance is passed to the `build` function, which
167
+ * you can use to add handlers to the group.
195
168
  *
196
- * Any errors are required to have a corresponding schema in the API.
197
- * You can add middleware errors to an `HttpApiGroup` using the `HttpApiGroup.addError`
198
- * api.
169
+ * You can implement endpoints using the `handlers.handle` api.
199
170
  *
200
171
  * @since 1.0.0
201
- * @category middleware
172
+ * @category handlers
202
173
  */
203
- export declare const middleware: <E, R, E1, R1>(middleware: Handlers.Middleware<E, R, E1, R1>) => <Endpoints extends HttpApiEndpoint.HttpApiEndpoint.All>(self: Handlers<E, R, Endpoints>) => Handlers<E1, HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<R1>, Endpoints>;
174
+ export declare const group: <Groups extends HttpApiGroup.HttpApiGroup.Any, ApiError, ApiR, const Name extends HttpApiGroup.HttpApiGroup.Name<Groups>, Return>(api: HttpApi.HttpApi<Groups, ApiError, ApiR>, groupName: Name, build: (handlers: Handlers.FromGroup<ApiError, ApiR, HttpApiGroup.HttpApiGroup.WithName<Groups, Name>>) => Handlers.ValidateReturn<Return>) => Layer.Layer<HttpApiGroup.Group<Name>, Handlers.Error<Return>, Handlers.Context<Return> | HttpApiGroup.HttpApiGroup.ContextWithName<Groups, Name>>;
204
175
  declare const Middleware_base: Context.TagClass<Middleware, "@effect/platform/HttpApiBuilder/Middleware", HttpMiddleware.HttpMiddleware>;
205
176
  /**
206
177
  * @since 1.0.0
@@ -210,29 +181,23 @@ export declare class Middleware extends Middleware_base {
210
181
  }
211
182
  /**
212
183
  * @since 1.0.0
213
- * @category middleware
184
+ * @category global
214
185
  */
215
- export declare namespace ApiMiddleware {
216
- /**
217
- * @since 1.0.0
218
- * @category middleware
219
- */
220
- type Fn<Error, R = HttpRouter.HttpRouter.Provided> = (httpApp: HttpApp.Default) => HttpApp.Default<Error, R>;
221
- }
186
+ export type MiddlewareFn<Error, R = HttpRouter.HttpRouter.Provided> = (httpApp: HttpApp.Default) => HttpApp.Default<Error, R>;
222
187
  /**
223
188
  * Create an `HttpApi` level middleware `Layer`.
224
189
  *
225
190
  * @since 1.0.0
226
191
  * @category middleware
227
192
  */
228
- export declare const middlewareLayer: {
193
+ export declare const middleware: {
229
194
  /**
230
195
  * Create an `HttpApi` level middleware `Layer`.
231
196
  *
232
197
  * @since 1.0.0
233
198
  * @category middleware
234
199
  */
235
- <EX = never, RX = never>(middleware: ApiMiddleware.Fn<never> | Effect.Effect<ApiMiddleware.Fn<never>, EX, RX>, options?: {
200
+ <EX = never, RX = never>(middleware: MiddlewareFn<never> | Effect.Effect<MiddlewareFn<never>, EX, RX>, options?: {
236
201
  readonly withContext?: false | undefined;
237
202
  }): Layer.Layer<never, EX, RX>;
238
203
  /**
@@ -241,7 +206,7 @@ export declare const middlewareLayer: {
241
206
  * @since 1.0.0
242
207
  * @category middleware
243
208
  */
244
- <R, EX = never, RX = never>(middleware: ApiMiddleware.Fn<never, R> | Effect.Effect<ApiMiddleware.Fn<never, R>, EX, RX>, options: {
209
+ <R, EX = never, RX = never>(middleware: MiddlewareFn<never, R> | Effect.Effect<MiddlewareFn<never, R>, EX, RX>, options: {
245
210
  readonly withContext: true;
246
211
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | RX>;
247
212
  /**
@@ -250,7 +215,7 @@ export declare const middlewareLayer: {
250
215
  * @since 1.0.0
251
216
  * @category middleware
252
217
  */
253
- <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, EX = never, RX = never>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: ApiMiddleware.Fn<NoInfer<Error>> | Effect.Effect<ApiMiddleware.Fn<NoInfer<Error>>, EX, RX>, options?: {
218
+ <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, EX = never, RX = never>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: MiddlewareFn<NoInfer<Error>> | Effect.Effect<MiddlewareFn<NoInfer<Error>>, EX, RX>, options?: {
254
219
  readonly withContext?: false | undefined;
255
220
  }): Layer.Layer<never, EX, RX>;
256
221
  /**
@@ -259,7 +224,7 @@ export declare const middlewareLayer: {
259
224
  * @since 1.0.0
260
225
  * @category middleware
261
226
  */
262
- <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, R, EX = never, RX = never>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: ApiMiddleware.Fn<NoInfer<Error>, R> | Effect.Effect<ApiMiddleware.Fn<NoInfer<Error>, R>, EX, RX>, options: {
227
+ <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, R, EX = never, RX = never>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: MiddlewareFn<NoInfer<Error>, R> | Effect.Effect<MiddlewareFn<NoInfer<Error>, R>, EX, RX>, options: {
263
228
  readonly withContext: true;
264
229
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | RX>;
265
230
  };
@@ -270,7 +235,7 @@ export declare const middlewareLayer: {
270
235
  * @since 1.0.0
271
236
  * @category middleware
272
237
  */
273
- export declare const middlewareLayerScoped: {
238
+ export declare const middlewareScoped: {
274
239
  /**
275
240
  * Create an `HttpApi` level middleware `Layer`, that has a `Scope` provided to
276
241
  * the constructor.
@@ -278,7 +243,7 @@ export declare const middlewareLayerScoped: {
278
243
  * @since 1.0.0
279
244
  * @category middleware
280
245
  */
281
- <EX, RX>(middleware: Effect.Effect<ApiMiddleware.Fn<never>, EX, RX>, options?: {
246
+ <EX, RX>(middleware: Effect.Effect<MiddlewareFn<never>, EX, RX>, options?: {
282
247
  readonly withContext?: false | undefined;
283
248
  }): Layer.Layer<never, EX, Exclude<RX, Scope>>;
284
249
  /**
@@ -288,7 +253,7 @@ export declare const middlewareLayerScoped: {
288
253
  * @since 1.0.0
289
254
  * @category middleware
290
255
  */
291
- <R, EX, RX>(middleware: Effect.Effect<ApiMiddleware.Fn<never, R>, EX, RX>, options: {
256
+ <R, EX, RX>(middleware: Effect.Effect<MiddlewareFn<never, R>, EX, RX>, options: {
292
257
  readonly withContext: true;
293
258
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | Exclude<RX, Scope>>;
294
259
  /**
@@ -298,7 +263,7 @@ export declare const middlewareLayerScoped: {
298
263
  * @since 1.0.0
299
264
  * @category middleware
300
265
  */
301
- <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, EX, RX>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: Effect.Effect<ApiMiddleware.Fn<NoInfer<Error>>, EX, RX>, options?: {
266
+ <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, EX, RX>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: Effect.Effect<MiddlewareFn<NoInfer<Error>>, EX, RX>, options?: {
302
267
  readonly withContext?: false | undefined;
303
268
  }): Layer.Layer<never, EX, Exclude<RX, Scope>>;
304
269
  /**
@@ -308,7 +273,7 @@ export declare const middlewareLayerScoped: {
308
273
  * @since 1.0.0
309
274
  * @category middleware
310
275
  */
311
- <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, R, EX, RX>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: Effect.Effect<ApiMiddleware.Fn<NoInfer<Error>, R>, EX, RX>, options: {
276
+ <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, ErrorR, R, EX, RX>(api: HttpApi.HttpApi<Groups, Error, ErrorR>, middleware: Effect.Effect<MiddlewareFn<NoInfer<Error>, R>, EX, RX>, options: {
312
277
  readonly withContext: true;
313
278
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | Exclude<RX, Scope>>;
314
279
  };
@@ -334,17 +299,10 @@ export declare const middlewareCors: (options?: {
334
299
  */
335
300
  export declare const middlewareOpenApi: (options?: {
336
301
  readonly path?: HttpRouter.PathInput | undefined;
337
- } | undefined) => Layer.Layer<never, never, HttpApi.HttpApi.Service>;
302
+ } | undefined) => Layer.Layer<never, never, HttpApi.Api>;
338
303
  /**
339
304
  * @since 1.0.0
340
- * @category middleware
341
- */
342
- export interface SecurityMiddleware<I, EM = never, RM = never> {
343
- <Endpoints extends HttpApiEndpoint.HttpApiEndpoint.All, E, R>(self: Handlers<E, R, Endpoints>): Handlers<E | EM, Exclude<R, I> | HttpApiEndpoint.HttpApiEndpoint.ExcludeProvided<RM>, Endpoints>;
344
- }
345
- /**
346
- * @since 1.0.0
347
- * @category middleware
305
+ * @category security
348
306
  */
349
307
  export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSecurity>(self: Security) => Effect.Effect<HttpApiSecurity.HttpApiSecurity.Type<Security>, never, HttpServerRequest.HttpServerRequest | HttpServerRequest.ParsedSearchParams>;
350
308
  /**
@@ -353,9 +311,9 @@ export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSe
353
311
  * You can use this api before returning a response from an endpoint handler.
354
312
  *
355
313
  * ```ts
356
- * ApiBuilder.handle(
314
+ * handlers.handle(
357
315
  * "authenticate",
358
- * (_) => ApiBuilder.securitySetCookie(security, "secret123")
316
+ * (_) => HttpApiBuilder.securitySetCookie(security, "secret123")
359
317
  * )
360
318
  * ```
361
319
  *
@@ -363,46 +321,5 @@ export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSe
363
321
  * @category middleware
364
322
  */
365
323
  export declare const securitySetCookie: (self: HttpApiSecurity.ApiKey, value: string | Redacted.Redacted, options?: Cookie["options"]) => Effect.Effect<void>;
366
- /**
367
- * Make a middleware from an `HttpApiSecurity` instance, that can be used when
368
- * constructing a `Handlers` group.
369
- *
370
- * @since 1.0.0
371
- * @category middleware
372
- * @example
373
- * import { HttpApiBuilder, HttpApiSecurity } from "@effect/platform"
374
- * import { Schema } from "@effect/schema"
375
- * import { Context, Effect, Redacted } from "effect"
376
- *
377
- * class User extends Schema.Class<User>("User")({
378
- * id: Schema.Number
379
- * }) {}
380
- *
381
- * class CurrentUser extends Context.Tag("CurrentUser")<CurrentUser, User>() {}
382
- *
383
- * class Accounts extends Context.Tag("Accounts")<Accounts, {
384
- * readonly findUserByAccessToken: (accessToken: string) => Effect.Effect<User>
385
- * }>() {}
386
- *
387
- * const securityMiddleware = Effect.gen(function*() {
388
- * const accounts = yield* Accounts
389
- * return HttpApiBuilder.middlewareSecurity(
390
- * HttpApiSecurity.bearer,
391
- * CurrentUser,
392
- * (token) => accounts.findUserByAccessToken(Redacted.value(token))
393
- * )
394
- * })
395
- */
396
- export declare const middlewareSecurity: <Security extends HttpApiSecurity.HttpApiSecurity, I, S, EM, RM>(self: Security, tag: Context.Tag<I, S>, f: (credentials: HttpApiSecurity.HttpApiSecurity.Type<Security>) => Effect.Effect<S, EM, RM>) => SecurityMiddleware<I, EM, RM>;
397
- /**
398
- * Make a middleware from an `HttpApiSecurity` instance, that can be used when
399
- * constructing a `Handlers` group.
400
- *
401
- * This version does not supply any context to the handlers.
402
- *
403
- * @since 1.0.0
404
- * @category middleware
405
- */
406
- export declare const middlewareSecurityVoid: <Security extends HttpApiSecurity.HttpApiSecurity, X, EM, RM>(self: Security, f: (credentials: HttpApiSecurity.HttpApiSecurity.Type<Security>) => Effect.Effect<X, EM, RM>) => SecurityMiddleware<never, EM, RM>;
407
324
  export {};
408
325
  //# sourceMappingURL=HttpApiBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiBuilder.d.ts","sourceRoot":"","sources":["../../src/HttpApiBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpApiBuilder.d.ts","sourceRoot":"","sources":["../../src/HttpApiBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,54 @@
1
1
  import * as Effect from "effect/Effect";
2
+ import type { Scope } from "effect/Scope";
2
3
  import type { Simplify } from "effect/Types";
3
4
  import * as HttpApi from "./HttpApi.js";
4
5
  import type { HttpApiEndpoint } from "./HttpApiEndpoint.js";
5
6
  import type { HttpApiGroup } from "./HttpApiGroup.js";
6
7
  import * as HttpClient from "./HttpClient.js";
7
8
  import * as HttpClientError from "./HttpClientError.js";
9
+ import type { HttpApiMiddleware } from "./index.js";
8
10
  /**
9
11
  * @since 1.0.0
10
12
  * @category models
11
13
  */
12
- export type Client<A extends HttpApi.HttpApi.Any> = [A] extends [
13
- HttpApi.HttpApi<infer _Groups, infer _ApiError, infer _ApiErrorR>
14
- ] ? {
15
- readonly [GroupName in _Groups["identifier"]]: [HttpApiGroup.WithName<_Groups, GroupName>] extends [
16
- HttpApiGroup<GroupName, infer _Endpoints, infer _GroupError, infer _GroupErrorR>
14
+ export type Client<Groups extends HttpApiGroup.Any, ApiError> = Simplify<{
15
+ readonly [Group in Extract<Groups, {
16
+ readonly topLevel: false;
17
+ }> as HttpApiGroup.Name<Group>]: [Group] extends [
18
+ HttpApiGroup<infer _GroupName, infer _Endpoints, infer _GroupError, infer _GroupErrorR>
17
19
  ] ? {
18
- readonly [Name in _Endpoints["name"]]: [HttpApiEndpoint.WithName<_Endpoints, Name>] extends [
19
- HttpApiEndpoint<Name, infer _Method, infer _Path, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _R>
20
- ] ? (request: Simplify<HttpApiEndpoint.ClientRequest<_Path, _Payload, _Headers>>) => Effect.Effect<_Success, _Error | _GroupError | _ApiError | HttpClientError.HttpClientError> : never;
20
+ readonly [Endpoint in _Endpoints as HttpApiEndpoint.Name<Endpoint>]: Client.Method<Endpoint, ApiError, _GroupError>;
21
21
  } : never;
22
- } : never;
22
+ } & {
23
+ readonly [Method in Client.TopLevelMethods<Groups, ApiError> as Method[0]]: Method[1];
24
+ }>;
25
+ /**
26
+ * @since 1.0.0
27
+ * @category models
28
+ */
29
+ export declare namespace Client {
30
+ /**
31
+ * @since 1.0.0
32
+ * @category models
33
+ */
34
+ type Method<Endpoint, ApiError, GroupError> = [Endpoint] extends [
35
+ HttpApiEndpoint<infer _Name, infer _Method, infer _Path, infer _UrlParams, infer _Payload, infer _Headers, infer _Success, infer _Error, infer _R, infer _RE>
36
+ ] ? (request: Simplify<HttpApiEndpoint.ClientRequest<_Path, _UrlParams, _Payload, _Headers>>) => Effect.Effect<_Success, _Error | GroupError | ApiError | HttpClientError.HttpClientError> : never;
37
+ /**
38
+ * @since 1.0.0
39
+ * @category models
40
+ */
41
+ type TopLevelMethods<Groups extends HttpApiGroup.Any, ApiError> = Extract<Groups, {
42
+ readonly topLevel: true;
43
+ }> extends HttpApiGroup<infer _Id, infer _Endpoints, infer _Error, infer _ErrorR, infer _TopLevel> ? _Endpoints extends infer Endpoint ? [HttpApiEndpoint.Name<Endpoint>, Client.Method<Endpoint, ApiError, _Error>] : never : never;
44
+ }
23
45
  /**
24
46
  * @since 1.0.0
25
47
  * @category constructors
26
48
  */
27
- export declare const make: <A extends HttpApi.HttpApi.Any>(api: A, options?: {
49
+ export declare const make: <Groups extends HttpApiGroup.Any, ApiError, ApiR>(api: HttpApi.HttpApi<Groups, ApiError, ApiR>, options?: {
28
50
  readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined;
51
+ readonly transformResponse?: ((effect: Effect.Effect<unknown, unknown, Scope>) => Effect.Effect<unknown, unknown, Scope>) | undefined;
29
52
  readonly baseUrl?: string | undefined;
30
- }) => Effect.Effect<Simplify<Client<A>>, never, HttpApi.HttpApi.Context<A> | HttpClient.HttpClient>;
53
+ }) => Effect.Effect<Simplify<Client<Groups, ApiError>>, never, HttpApiMiddleware.HttpApiMiddleware.Without<ApiR | HttpApiGroup.ClientContext<Groups>> | HttpClient.HttpClient>;
31
54
  //# sourceMappingURL=HttpApiClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiClient.d.ts","sourceRoot":"","sources":["../../src/HttpApiClient.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAKvD;;;GAGG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SACrD;IAAC,OAAO,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,MAAM,SAAS,EAAE,MAAM,UAAU,CAAC;CAAC,GAAG;IACpE,QAAQ,EAAE,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,SACxF;QAAC,YAAY,CAAC,SAAS,EAAE,MAAM,UAAU,EAAE,MAAM,WAAW,EAAE,MAAM,YAAY,CAAC;KAAC,GAAG;QACnF,QAAQ,EAAE,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,SAAS;YAC1F,eAAe,CACb,IAAI,EACJ,MAAM,OAAO,EACb,MAAM,KAAK,EACX,MAAM,QAAQ,EACd,MAAM,QAAQ,EACd,MAAM,QAAQ,EACd,MAAM,MAAM,EACZ,MAAM,EAAE,CACT;SACF,GAAG,CACA,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,KACxE,MAAM,CAAC,MAAM,CAChB,QAAQ,EACR,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,eAAe,CAAC,eAAe,CACnE,GACD,KAAK;KACR,GACD,KAAK;CACR,GACD,KAAK,CAAA;AAEP;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,OAC3C,CAAC,YACI;IACR,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;IACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC,KACA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CA+I3F,CAAA"}
1
+ {"version":3,"file":"HttpApiClient.d.ts","sourceRoot":"","sources":["../../src/HttpApiClient.ts"],"names":[],"mappings":"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"}