@effect/platform 0.68.6 → 0.69.1

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 +245 -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 +86 -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 +228 -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 +238 -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 +534 -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 +317 -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,43 @@ 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
+ * // you could also use NodeHttpServer.layerContext, depending on your
74
+ * // server's platform
75
+ * HttpServer.layerContext
92
76
  * )
93
77
  * )
94
- *
95
- * const handler = HttpApiBuilder.toWebHandler(runtime, HttpMiddleware.logger)
96
78
  */
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>;
79
+ export declare const toWebHandler: <LA, LE>(layer: Layer.Layer<LA | HttpApi.Api | HttpRouter.HttpRouter.DefaultServices, LE>, options?: {
80
+ readonly middleware?: (httpApp: HttpApp.Default) => HttpApp.Default<never, HttpApi.Api | Router | HttpRouter.HttpRouter.DefaultServices>;
81
+ readonly memoMap?: Layer.MemoMap;
82
+ }) => {
83
+ readonly handler: (request: Request) => Promise<Response>;
84
+ readonly dispose: () => Promise<void>;
85
+ };
110
86
  /**
111
87
  * @since 1.0.0
112
88
  * @category handlers
@@ -118,23 +94,39 @@ export declare const HandlersTypeId: unique symbol;
118
94
  */
119
95
  export type HandlersTypeId = typeof HandlersTypeId;
120
96
  /**
121
- * Represents a handled, or partially handled, `HttpApiGroup`.
97
+ * Represents a handled `HttpApi`.
122
98
  *
123
99
  * @since 1.0.0
124
100
  * @category handlers
125
101
  */
126
- export interface Handlers<E, R, Endpoints extends HttpApiEndpoint.HttpApiEndpoint.All = never> extends Pipeable {
102
+ export interface Handlers<E, Provides, R, Endpoints extends HttpApiEndpoint.HttpApiEndpoint.Any = never> extends Pipeable {
127
103
  readonly [HandlersTypeId]: {
128
104
  _Endpoints: Covariant<Endpoints>;
129
105
  };
130
- readonly group: HttpApiGroup.HttpApiGroup<any, HttpApiEndpoint.HttpApiEndpoint.All, any, R>;
106
+ readonly group: HttpApiGroup.HttpApiGroup.AnyWithProps;
131
107
  readonly handlers: Chunk.Chunk<Handlers.Item<E, R>>;
108
+ /**
109
+ * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
110
+ */
111
+ 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>>;
112
+ /**
113
+ * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
114
+ * This version of the api allows you to return the full response object.
115
+ */
116
+ 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
117
  }
133
118
  /**
134
119
  * @since 1.0.0
135
120
  * @category handlers
136
121
  */
137
122
  export declare namespace Handlers {
123
+ /**
124
+ * @since 1.0.0
125
+ * @category handlers
126
+ */
127
+ interface Any {
128
+ readonly [HandlersTypeId]: any;
129
+ }
138
130
  /**
139
131
  * @since 1.0.0
140
132
  * @category handlers
@@ -145,62 +137,43 @@ export declare namespace Handlers {
145
137
  * @category handlers
146
138
  */
147
139
  type Item<E, R> = {
148
- readonly _tag: "Handler";
149
140
  readonly endpoint: HttpApiEndpoint.HttpApiEndpoint.Any;
150
141
  readonly handler: HttpApiEndpoint.HttpApiEndpoint.Handler<any, E, R>;
151
142
  readonly withFullResponse: boolean;
152
- } | {
153
- readonly _tag: "Middleware";
154
- readonly middleware: Middleware<any, any, E, R>;
155
143
  };
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
144
  /**
177
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
178
- *
179
145
  * @since 1.0.0
180
146
  * @category handlers
181
147
  */
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>>;
148
+ 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
149
  /**
184
- * Add the implementation for an `HttpApiEndpoint` to a `Handlers` group.
185
- *
186
150
  * @since 1.0.0
187
151
  * @category handlers
188
152
  */
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
- };
153
+ 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`;
154
+ /**
155
+ * @since 1.0.0
156
+ * @category handlers
157
+ */
158
+ type Error<A> = A extends Effect.Effect<Handlers<infer _E, infer _Provides, infer _R, infer _Endpoints>, infer _EX, infer _RX> ? _EX : never;
159
+ /**
160
+ * @since 1.0.0
161
+ * @category handlers
162
+ */
163
+ 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;
164
+ }
193
165
  /**
194
- * Add `HttpMiddleware` to a `Handlers` group.
166
+ * Create a `Layer` that will implement all the endpoints in an `HttpApi`.
167
+ *
168
+ * An unimplemented `Handlers` instance is passed to the `build` function, which
169
+ * you can use to add handlers to the group.
195
170
  *
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.
171
+ * You can implement endpoints using the `handlers.handle` api.
199
172
  *
200
173
  * @since 1.0.0
201
- * @category middleware
174
+ * @category handlers
202
175
  */
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>;
176
+ 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
177
  declare const Middleware_base: Context.TagClass<Middleware, "@effect/platform/HttpApiBuilder/Middleware", HttpMiddleware.HttpMiddleware>;
205
178
  /**
206
179
  * @since 1.0.0
@@ -210,29 +183,23 @@ export declare class Middleware extends Middleware_base {
210
183
  }
211
184
  /**
212
185
  * @since 1.0.0
213
- * @category middleware
186
+ * @category global
214
187
  */
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
- }
188
+ export type MiddlewareFn<Error, R = HttpRouter.HttpRouter.Provided> = (httpApp: HttpApp.Default) => HttpApp.Default<Error, R>;
222
189
  /**
223
190
  * Create an `HttpApi` level middleware `Layer`.
224
191
  *
225
192
  * @since 1.0.0
226
193
  * @category middleware
227
194
  */
228
- export declare const middlewareLayer: {
195
+ export declare const middleware: {
229
196
  /**
230
197
  * Create an `HttpApi` level middleware `Layer`.
231
198
  *
232
199
  * @since 1.0.0
233
200
  * @category middleware
234
201
  */
235
- <EX = never, RX = never>(middleware: ApiMiddleware.Fn<never> | Effect.Effect<ApiMiddleware.Fn<never>, EX, RX>, options?: {
202
+ <EX = never, RX = never>(middleware: MiddlewareFn<never> | Effect.Effect<MiddlewareFn<never>, EX, RX>, options?: {
236
203
  readonly withContext?: false | undefined;
237
204
  }): Layer.Layer<never, EX, RX>;
238
205
  /**
@@ -241,7 +208,7 @@ export declare const middlewareLayer: {
241
208
  * @since 1.0.0
242
209
  * @category middleware
243
210
  */
244
- <R, EX = never, RX = never>(middleware: ApiMiddleware.Fn<never, R> | Effect.Effect<ApiMiddleware.Fn<never, R>, EX, RX>, options: {
211
+ <R, EX = never, RX = never>(middleware: MiddlewareFn<never, R> | Effect.Effect<MiddlewareFn<never, R>, EX, RX>, options: {
245
212
  readonly withContext: true;
246
213
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | RX>;
247
214
  /**
@@ -250,7 +217,7 @@ export declare const middlewareLayer: {
250
217
  * @since 1.0.0
251
218
  * @category middleware
252
219
  */
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?: {
220
+ <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
221
  readonly withContext?: false | undefined;
255
222
  }): Layer.Layer<never, EX, RX>;
256
223
  /**
@@ -259,7 +226,7 @@ export declare const middlewareLayer: {
259
226
  * @since 1.0.0
260
227
  * @category middleware
261
228
  */
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: {
229
+ <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
230
  readonly withContext: true;
264
231
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | RX>;
265
232
  };
@@ -270,7 +237,7 @@ export declare const middlewareLayer: {
270
237
  * @since 1.0.0
271
238
  * @category middleware
272
239
  */
273
- export declare const middlewareLayerScoped: {
240
+ export declare const middlewareScoped: {
274
241
  /**
275
242
  * Create an `HttpApi` level middleware `Layer`, that has a `Scope` provided to
276
243
  * the constructor.
@@ -278,7 +245,7 @@ export declare const middlewareLayerScoped: {
278
245
  * @since 1.0.0
279
246
  * @category middleware
280
247
  */
281
- <EX, RX>(middleware: Effect.Effect<ApiMiddleware.Fn<never>, EX, RX>, options?: {
248
+ <EX, RX>(middleware: Effect.Effect<MiddlewareFn<never>, EX, RX>, options?: {
282
249
  readonly withContext?: false | undefined;
283
250
  }): Layer.Layer<never, EX, Exclude<RX, Scope>>;
284
251
  /**
@@ -288,7 +255,7 @@ export declare const middlewareLayerScoped: {
288
255
  * @since 1.0.0
289
256
  * @category middleware
290
257
  */
291
- <R, EX, RX>(middleware: Effect.Effect<ApiMiddleware.Fn<never, R>, EX, RX>, options: {
258
+ <R, EX, RX>(middleware: Effect.Effect<MiddlewareFn<never, R>, EX, RX>, options: {
292
259
  readonly withContext: true;
293
260
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | Exclude<RX, Scope>>;
294
261
  /**
@@ -298,7 +265,7 @@ export declare const middlewareLayerScoped: {
298
265
  * @since 1.0.0
299
266
  * @category middleware
300
267
  */
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?: {
268
+ <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
269
  readonly withContext?: false | undefined;
303
270
  }): Layer.Layer<never, EX, Exclude<RX, Scope>>;
304
271
  /**
@@ -308,7 +275,7 @@ export declare const middlewareLayerScoped: {
308
275
  * @since 1.0.0
309
276
  * @category middleware
310
277
  */
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: {
278
+ <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
279
  readonly withContext: true;
313
280
  }): Layer.Layer<never, EX, HttpRouter.HttpRouter.ExcludeProvided<R> | Exclude<RX, Scope>>;
314
281
  };
@@ -334,17 +301,10 @@ export declare const middlewareCors: (options?: {
334
301
  */
335
302
  export declare const middlewareOpenApi: (options?: {
336
303
  readonly path?: HttpRouter.PathInput | undefined;
337
- } | undefined) => Layer.Layer<never, never, HttpApi.HttpApi.Service>;
304
+ } | undefined) => Layer.Layer<never, never, HttpApi.Api>;
338
305
  /**
339
306
  * @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
307
+ * @category security
348
308
  */
349
309
  export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSecurity>(self: Security) => Effect.Effect<HttpApiSecurity.HttpApiSecurity.Type<Security>, never, HttpServerRequest.HttpServerRequest | HttpServerRequest.ParsedSearchParams>;
350
310
  /**
@@ -353,9 +313,9 @@ export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSe
353
313
  * You can use this api before returning a response from an endpoint handler.
354
314
  *
355
315
  * ```ts
356
- * ApiBuilder.handle(
316
+ * handlers.handle(
357
317
  * "authenticate",
358
- * (_) => ApiBuilder.securitySetCookie(security, "secret123")
318
+ * (_) => HttpApiBuilder.securitySetCookie(security, "secret123")
359
319
  * )
360
320
  * ```
361
321
  *
@@ -363,46 +323,5 @@ export declare const securityDecode: <Security extends HttpApiSecurity.HttpApiSe
363
323
  * @category middleware
364
324
  */
365
325
  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
326
  export {};
408
327
  //# 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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"}