@effect/platform 0.69.24 → 0.69.26

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 (37) hide show
  1. package/dist/cjs/HttpApi.js +4 -0
  2. package/dist/cjs/HttpApi.js.map +1 -1
  3. package/dist/cjs/HttpApiClient.js +83 -20
  4. package/dist/cjs/HttpApiClient.js.map +1 -1
  5. package/dist/cjs/HttpApiEndpoint.js.map +1 -1
  6. package/dist/cjs/HttpApiGroup.js.map +1 -1
  7. package/dist/cjs/OpenApi.js +14 -3
  8. package/dist/cjs/OpenApi.js.map +1 -1
  9. package/dist/dts/Error.d.ts.map +1 -1
  10. package/dist/dts/HttpApi.d.ts +5 -0
  11. package/dist/dts/HttpApi.d.ts.map +1 -1
  12. package/dist/dts/HttpApiBuilder.d.ts +1 -1
  13. package/dist/dts/HttpApiBuilder.d.ts.map +1 -1
  14. package/dist/dts/HttpApiClient.d.ts +31 -6
  15. package/dist/dts/HttpApiClient.d.ts.map +1 -1
  16. package/dist/dts/HttpApiEndpoint.d.ts +5 -0
  17. package/dist/dts/HttpApiEndpoint.d.ts.map +1 -1
  18. package/dist/dts/HttpApiGroup.d.ts +14 -4
  19. package/dist/dts/HttpApiGroup.d.ts.map +1 -1
  20. package/dist/dts/HttpApiMiddleware.d.ts.map +1 -1
  21. package/dist/dts/OpenApi.d.ts +12 -0
  22. package/dist/dts/OpenApi.d.ts.map +1 -1
  23. package/dist/esm/HttpApi.js +4 -0
  24. package/dist/esm/HttpApi.js.map +1 -1
  25. package/dist/esm/HttpApiClient.js +79 -18
  26. package/dist/esm/HttpApiClient.js.map +1 -1
  27. package/dist/esm/HttpApiEndpoint.js.map +1 -1
  28. package/dist/esm/HttpApiGroup.js.map +1 -1
  29. package/dist/esm/OpenApi.js +12 -2
  30. package/dist/esm/OpenApi.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/HttpApi.ts +11 -0
  33. package/src/HttpApiBuilder.ts +1 -1
  34. package/src/HttpApiClient.ts +171 -23
  35. package/src/HttpApiEndpoint.ts +6 -0
  36. package/src/HttpApiGroup.ts +21 -4
  37. package/src/OpenApi.ts +20 -2
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApiGroup.js","names":["Context","pipeArguments","Predicate","Record","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","getStatusError","prefix","map","middleware","failure","Set","middlewareEndpoints","annotateContext","context","merge","annotate","tag","value","annotateEndpointsContext","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","assign","make","empty","Never"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApiGroup.js","names":["Context","pipeArguments","Predicate","Record","Schema","HttpApiSchema","TypeId","Symbol","for","isHttpApiGroup","u","hasProperty","Proto","add","endpoint","makeProto","identifier","topLevel","endpoints","name","errorSchema","annotations","middlewares","addError","schema","UnionUnify","status","getStatusError","prefix","map","middleware","failure","Set","middlewareEndpoints","annotateContext","context","merge","annotate","tag","value","annotateEndpointsContext","annotateEndpoints","pipe","arguments","options","HttpApiGroup","Object","setPrototypeOf","assign","make","empty","Never"],"sources":["../../src/HttpApiGroup.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -66,6 +66,12 @@ export class Deprecated extends /*#__PURE__*/Context.Tag("@effect/platform/OpenA
66
66
  * @category annotations
67
67
  */
68
68
  export class Override extends /*#__PURE__*/Context.Tag("@effect/platform/OpenApi/Override")() {}
69
+ /**
70
+ * Transforms the generated OpenAPI specification
71
+ * @since 1.0.0
72
+ * @category annotations
73
+ */
74
+ export class Transform extends /*#__PURE__*/Context.Tag("@effect/platform/OpenApi/Transform")() {}
69
75
  const contextPartial = tags => {
70
76
  const entries = Object.entries(tags);
71
77
  return options => {
@@ -92,7 +98,8 @@ export const annotations = /*#__PURE__*/contextPartial({
92
98
  externalDocs: ExternalDocs,
93
99
  servers: Servers,
94
100
  format: Format,
95
- override: Override
101
+ override: Override,
102
+ transform: Transform
96
103
  });
97
104
  const apiCache = /*#__PURE__*/globalValue("@effect/platform/OpenApi/apiCache", () => new WeakMap());
98
105
  /**
@@ -105,7 +112,7 @@ export const fromApi = self => {
105
112
  }
106
113
  const api = self;
107
114
  const jsonSchemaDefs = {};
108
- const spec = {
115
+ let spec = {
109
116
  openapi: "3.0.3",
110
117
  info: {
111
118
  title: Context.getOrElse(api.annotations, Title, () => "Api"),
@@ -315,6 +322,9 @@ export const fromApi = self => {
315
322
  spec.paths[path][method] = op;
316
323
  }
317
324
  });
325
+ Option.map(Context.getOption(api.annotations, Transform), transformFn => {
326
+ spec = transformFn(spec);
327
+ });
318
328
  apiCache.set(self, spec);
319
329
  return spec;
320
330
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi.js","names":["Context","globalValue","Option","Schema","AST","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","externalDocs","servers","format","override","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","defsPath","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","AdditionalSchemas","componentSchemas","forEach","componentSchema","assign","middlewares","middleware","isSecurity","push","reflect","onGroup","group","onEndpoint","endpoint","errors","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","deprecated","payloadSchema","pipe","filter","hasBody","requestBody","content","getMultipart","ast","required","status","getDescriptionOrIdentifier","getEmptyDecodeable","make","isSome","pathSchema","value","properties","jsonSchema","in","includes","headersSchema","urlParamsSchema","set","meta","_tag","type","bearerFormat","getOrUndefined","to","flatMapNullable","DescriptionAnnotationId","IdentifierAnnotationId"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi.js","names":["Context","globalValue","Option","Schema","AST","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Transform","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","externalDocs","servers","format","override","transform","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","defsPath","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","AdditionalSchemas","componentSchemas","forEach","componentSchema","assign","middlewares","middleware","isSecurity","push","reflect","onGroup","group","onEndpoint","endpoint","errors","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","deprecated","payloadSchema","pipe","filter","hasBody","requestBody","content","getMultipart","ast","required","status","getDescriptionOrIdentifier","getEmptyDecodeable","make","isSome","pathSchema","value","properties","jsonSchema","in","includes","headersSchema","urlParamsSchema","transformFn","set","meta","_tag","type","bearerFormat","getOrUndefined","to","flatMapNullable","DescriptionAnnotationId","IdentifierAnnotationId"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.69.24",
3
+ "version": "0.69.26",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "multipasta": "^0.2.5"
15
15
  },
16
16
  "peerDependencies": {
17
- "effect": "^3.10.15"
17
+ "effect": "^3.10.17"
18
18
  },
19
19
  "publishConfig": {
20
20
  "provenance": true
package/src/HttpApi.ts CHANGED
@@ -269,6 +269,10 @@ export const empty: HttpApi<never, HttpApiDecodeError> = makeProto({
269
269
  export const reflect = <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, R>(
270
270
  self: HttpApi<Groups, Error, R>,
271
271
  options: {
272
+ readonly predicate?: Predicate.Predicate<{
273
+ readonly endpoint: HttpApiEndpoint.HttpApiEndpoint.AnyWithProps
274
+ readonly group: HttpApiGroup.HttpApiGroup.AnyWithProps
275
+ }>
272
276
  readonly onGroup: (options: {
273
277
  readonly group: HttpApiGroup.HttpApiGroup.AnyWithProps
274
278
  readonly mergedAnnotations: Context.Context<never>
@@ -294,6 +298,13 @@ export const reflect = <Groups extends HttpApiGroup.HttpApiGroup.Any, Error, R>(
294
298
  })
295
299
  const endpoints = Object.values(group.endpoints) as Iterable<HttpApiEndpoint.HttpApiEndpoint<string, HttpMethod>>
296
300
  for (const endpoint of endpoints) {
301
+ if (
302
+ options.predicate && !options.predicate({
303
+ endpoint,
304
+ group
305
+ } as any)
306
+ ) continue
307
+
297
308
  const errors = extractMembers(endpoint.errorSchema.ast, groupErrors, HttpApiSchema.getStatusErrorAST)
298
309
  options.onEndpoint({
299
310
  group,
@@ -439,7 +439,7 @@ export const group = <
439
439
  HttpApiGroup.ApiGroup<Name>,
440
440
  Handlers.Error<Return>,
441
441
  | Handlers.Context<Return>
442
- | HttpApiGroup.HttpApiGroup.ContextWithName<Groups, Name>
442
+ | HttpApiGroup.HttpApiGroup.MiddlewareWithName<Groups, Name>
443
443
  > =>
444
444
  Router.use((router) =>
445
445
  Effect.gen(function*() {
@@ -6,6 +6,7 @@ import * as Effect from "effect/Effect"
6
6
  import { identity } from "effect/Function"
7
7
  import * as Option from "effect/Option"
8
8
  import * as ParseResult from "effect/ParseResult"
9
+ import type * as Predicate from "effect/Predicate"
9
10
  import * as Schema from "effect/Schema"
10
11
  import type * as AST from "effect/SchemaAST"
11
12
  import type { Scope } from "effect/Scope"
@@ -27,15 +28,11 @@ import type { HttpApiMiddleware } from "./index.js"
27
28
  */
28
29
  export type Client<Groups extends HttpApiGroup.Any, ApiError> = Simplify<
29
30
  & {
30
- readonly [Group in Extract<Groups, { readonly topLevel: false }> as HttpApiGroup.Name<Group>]: [Group] extends
31
- [HttpApiGroup<infer _GroupName, infer _Endpoints, infer _GroupError, infer _GroupErrorR>] ? {
32
- readonly [Endpoint in _Endpoints as HttpApiEndpoint.Name<Endpoint>]: Client.Method<
33
- Endpoint,
34
- ApiError,
35
- _GroupError
36
- >
37
- } :
38
- never
31
+ readonly [Group in Extract<Groups, { readonly topLevel: false }> as HttpApiGroup.Name<Group>]: Client.Group<
32
+ Group,
33
+ Group["identifier"],
34
+ ApiError
35
+ >
39
36
  }
40
37
  & {
41
38
  readonly [Method in Client.TopLevelMethods<Groups, ApiError> as Method[0]]: Method[1]
@@ -47,6 +44,21 @@ export type Client<Groups extends HttpApiGroup.Any, ApiError> = Simplify<
47
44
  * @category models
48
45
  */
49
46
  export declare namespace Client {
47
+ /**
48
+ * @since 1.0.0
49
+ * @category models
50
+ */
51
+ export type Group<Groups extends HttpApiGroup.Any, GroupName extends Groups["identifier"], ApiError> =
52
+ [HttpApiGroup.WithName<Groups, GroupName>] extends
53
+ [HttpApiGroup<infer _GroupName, infer _Endpoints, infer _GroupError, infer _GroupErrorR>] ? {
54
+ readonly [Endpoint in _Endpoints as HttpApiEndpoint.Name<Endpoint>]: Method<
55
+ Endpoint,
56
+ ApiError,
57
+ _GroupError
58
+ >
59
+ } :
60
+ never
61
+
50
62
  /**
51
63
  * @since 1.0.0
52
64
  * @category models
@@ -79,18 +91,34 @@ export declare namespace Client {
79
91
  export type TopLevelMethods<Groups extends HttpApiGroup.Any, ApiError> =
80
92
  Extract<Groups, { readonly topLevel: true }> extends
81
93
  HttpApiGroup<infer _Id, infer _Endpoints, infer _Error, infer _ErrorR, infer _TopLevel> ?
82
- _Endpoints extends infer Endpoint ? [HttpApiEndpoint.Name<Endpoint>, Client.Method<Endpoint, ApiError, _Error>]
94
+ _Endpoints extends infer Endpoint ? [HttpApiEndpoint.Name<Endpoint>, Method<Endpoint, ApiError, _Error>]
83
95
  : never :
84
96
  never
85
97
  }
86
98
 
87
99
  /**
88
- * @since 1.0.0
89
- * @category constructors
100
+ * @internal
90
101
  */
91
- export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
102
+ const makeClient = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
92
103
  api: HttpApi.HttpApi<Groups, ApiError, ApiR>,
93
- options?: {
104
+ options: {
105
+ readonly predicate?: Predicate.Predicate<{
106
+ readonly endpoint: HttpApiEndpoint.AnyWithProps
107
+ readonly group: HttpApiGroup.AnyWithProps
108
+ }>
109
+ readonly onGroup?: (options: {
110
+ readonly group: HttpApiGroup.AnyWithProps
111
+ readonly mergedAnnotations: Context.Context<never>
112
+ }) => void
113
+ readonly onEndpoint: (options: {
114
+ readonly group: HttpApiGroup.AnyWithProps
115
+ readonly endpoint: HttpApiEndpoint<string, HttpMethod.HttpMethod>
116
+ readonly mergedAnnotations: Context.Context<never>
117
+ readonly middleware: ReadonlySet<HttpApiMiddleware.TagClassAny>
118
+ readonly successes: ReadonlyMap<number, Option.Option<AST.AST>>
119
+ readonly errors: ReadonlyMap<number, Option.Option<AST.AST>>
120
+ readonly endpointFn: Function
121
+ }) => void
94
122
  readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined
95
123
  readonly transformResponse?:
96
124
  | ((effect: Effect.Effect<unknown, unknown, Scope>) => Effect.Effect<unknown, unknown, Scope>)
@@ -98,7 +126,7 @@ export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
98
126
  readonly baseUrl?: string | undefined
99
127
  }
100
128
  ): Effect.Effect<
101
- Simplify<Client<Groups, ApiError>>,
129
+ void,
102
130
  never,
103
131
  HttpApiMiddleware.HttpApiMiddleware.Without<ApiR | HttpApiGroup.ClientContext<Groups>> | HttpClient.HttpClient
104
132
  > =>
@@ -108,13 +136,13 @@ export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
108
136
  options?.baseUrl === undefined ? identity : HttpClient.mapRequest(HttpClientRequest.prependUrl(options.baseUrl)),
109
137
  options?.transformClient === undefined ? identity : options.transformClient
110
138
  )
111
- const client: Record<string, Record<string, any>> = {}
112
139
  HttpApi.reflect(api as any, {
113
- onGroup({ group }) {
114
- if (group.topLevel) return
115
- client[group.identifier] = {}
140
+ predicate: options?.predicate,
141
+ onGroup(onGroupOptions) {
142
+ options.onGroup?.(onGroupOptions)
116
143
  },
117
- onEndpoint({ endpoint, errors, group, successes }) {
144
+ onEndpoint(onEndpointOptions) {
145
+ const { endpoint, errors, successes } = onEndpointOptions
118
146
  const makeUrl = compilePath(endpoint.path)
119
147
  const decodeMap: Record<
120
148
  number | "orElse",
@@ -146,7 +174,7 @@ export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
146
174
  const encodeUrlParams = endpoint.urlParamsSchema.pipe(
147
175
  Option.map(Schema.encodeUnknown)
148
176
  )
149
- ;(group.topLevel ? client : client[group.identifier])[endpoint.name] = (request: {
177
+ const endpointFn = (request: {
150
178
  readonly path: any
151
179
  readonly urlParams: any
152
180
  readonly payload: any
@@ -178,7 +206,7 @@ export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
178
206
  )
179
207
  }
180
208
  const response = yield* httpClient.execute(httpRequest)
181
- const value = yield* (options?.transformResponse === undefined
209
+ const value = yield* (options.transformResponse === undefined
182
210
  ? decodeResponse(response)
183
211
  : options.transformResponse(decodeResponse(response)))
184
212
  return request?.withResponse === true ? [value, response] : value
@@ -187,11 +215,131 @@ export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
187
215
  Effect.catchIf(ParseResult.isParseError, Effect.die),
188
216
  Effect.mapInputContext((input) => Context.merge(context, input))
189
217
  )
218
+
219
+ options.onEndpoint({
220
+ ...onEndpointOptions,
221
+ endpointFn
222
+ })
190
223
  }
191
224
  })
192
- return client as any
193
225
  })
194
226
 
227
+ /**
228
+ * @since 1.0.0
229
+ * @category constructors
230
+ */
231
+ export const make = <Groups extends HttpApiGroup.Any, ApiError, ApiR>(
232
+ api: HttpApi.HttpApi<Groups, ApiError, ApiR>,
233
+ options?: {
234
+ readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined
235
+ readonly transformResponse?:
236
+ | ((effect: Effect.Effect<unknown, unknown, Scope>) => Effect.Effect<unknown, unknown, Scope>)
237
+ | undefined
238
+ readonly baseUrl?: string | undefined
239
+ }
240
+ ): Effect.Effect<
241
+ Simplify<Client<Groups, ApiError>>,
242
+ never,
243
+ HttpApiMiddleware.HttpApiMiddleware.Without<ApiR | HttpApiGroup.ClientContext<Groups>> | HttpClient.HttpClient
244
+ > => {
245
+ const client: Record<string, Record<string, any>> = {}
246
+ return makeClient(api, {
247
+ ...options,
248
+ onGroup({ group }) {
249
+ if (group.topLevel) return
250
+ client[group.identifier] = {}
251
+ },
252
+ onEndpoint({ endpoint, endpointFn, group }) {
253
+ ;(group.topLevel ? client : client[group.identifier])[endpoint.name] = endpointFn
254
+ }
255
+ }).pipe(Effect.map(() => client)) as any
256
+ }
257
+
258
+ /**
259
+ * @since 1.0.0
260
+ * @category constructors
261
+ */
262
+ export const group = <
263
+ Groups extends HttpApiGroup.Any,
264
+ ApiError,
265
+ ApiR,
266
+ const GroupName extends Groups["identifier"]
267
+ >(
268
+ api: HttpApi.HttpApi<Groups, ApiError, ApiR>,
269
+ groupId: GroupName,
270
+ options?: {
271
+ readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined
272
+ readonly transformResponse?:
273
+ | ((effect: Effect.Effect<unknown, unknown, Scope>) => Effect.Effect<unknown, unknown, Scope>)
274
+ | undefined
275
+ readonly baseUrl?: string | undefined
276
+ }
277
+ ): Effect.Effect<
278
+ Client.Group<Groups, GroupName, ApiError>,
279
+ never,
280
+ HttpApiMiddleware.HttpApiMiddleware.Without<
281
+ | ApiR
282
+ | HttpApiGroup.ClientContext<
283
+ HttpApiGroup.WithName<Groups, GroupName>
284
+ >
285
+ > | HttpClient.HttpClient
286
+ > => {
287
+ const client: Record<string, any> = {}
288
+ return makeClient(api, {
289
+ ...options,
290
+ predicate: ({ group }) => group.identifier === groupId,
291
+ onEndpoint({ endpoint, endpointFn }) {
292
+ client[endpoint.name] = endpointFn
293
+ }
294
+ }).pipe(Effect.map(() => client)) as any
295
+ }
296
+
297
+ /**
298
+ * @since 1.0.0
299
+ * @category constructors
300
+ */
301
+ export const endpoint = <
302
+ Groups extends HttpApiGroup.Any,
303
+ ApiError,
304
+ ApiR,
305
+ const GroupName extends HttpApiGroup.Name<Groups>,
306
+ const EndpointName extends HttpApiEndpoint.Name<HttpApiGroup.EndpointsWithName<Groups, GroupName>>
307
+ >(
308
+ api: HttpApi.HttpApi<Groups, ApiError, ApiR>,
309
+ groupName: GroupName,
310
+ endpointName: EndpointName,
311
+ options?: {
312
+ readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined
313
+ readonly transformResponse?:
314
+ | ((effect: Effect.Effect<unknown, unknown, Scope>) => Effect.Effect<unknown, unknown, Scope>)
315
+ | undefined
316
+ readonly baseUrl?: string | undefined
317
+ }
318
+ ): Effect.Effect<
319
+ Client.Method<
320
+ HttpApiEndpoint.WithName<HttpApiGroup.Endpoints<HttpApiGroup.WithName<Groups, GroupName>>, EndpointName>,
321
+ HttpApiGroup.Error<HttpApiGroup.WithName<Groups, GroupName>>,
322
+ ApiError
323
+ >,
324
+ never,
325
+ | HttpApiMiddleware.HttpApiMiddleware.Without<
326
+ | ApiR
327
+ | HttpApiGroup.Context<HttpApiGroup.WithName<Groups, GroupName>>
328
+ | HttpApiEndpoint.ContextWithName<HttpApiGroup.EndpointsWithName<Groups, GroupName>, EndpointName>
329
+ | HttpApiEndpoint.ErrorContextWithName<HttpApiGroup.EndpointsWithName<Groups, GroupName>, EndpointName>
330
+ >
331
+ | HttpClient.HttpClient
332
+ > => {
333
+ let client: any = undefined
334
+ return makeClient(api, {
335
+ ...options,
336
+ predicate: ({ endpoint, group }) => group.identifier === groupName && endpoint.name === endpointName,
337
+ onEndpoint({ endpointFn }) {
338
+ client = endpointFn
339
+ }
340
+ }).pipe(Effect.map(() => client)) as any
341
+ }
342
+
195
343
  // ----------------------------------------------------------------------------
196
344
 
197
345
  const paramsRegex = /:(\w+)[^/]*/g
@@ -514,6 +514,12 @@ export declare namespace HttpApiEndpoint {
514
514
  */
515
515
  export type ContextWithName<Endpoints extends Any, Name extends string> = Context<WithName<Endpoints, Name>>
516
516
 
517
+ /**
518
+ * @since 1.0.0
519
+ * @category models
520
+ */
521
+ export type ErrorContextWithName<Endpoints extends Any, Name extends string> = ErrorContext<WithName<Endpoints, Name>>
522
+
517
523
  /**
518
524
  * @since 1.0.0
519
525
  * @category models
@@ -66,12 +66,12 @@ export interface HttpApiGroup<
66
66
  * Add an error schema to an `HttpApiGroup`, which is shared by all endpoints in the
67
67
  * group.
68
68
  */
69
- addError<A, I, R>(
70
- schema: Schema.Schema<A, I, R>,
69
+ addError<A, I, RX>(
70
+ schema: Schema.Schema<A, I, RX>,
71
71
  annotations?: {
72
72
  readonly status?: number | undefined
73
73
  }
74
- ): HttpApiGroup<Id, Endpoints, Error | A, R | R, TopLevel>
74
+ ): HttpApiGroup<Id, Endpoints, Error | A, R | RX, TopLevel>
75
75
 
76
76
  /**
77
77
  * Add a path prefix to all endpoints in an `HttpApiGroup`. Note that this will only
@@ -221,7 +221,7 @@ export declare namespace HttpApiGroup {
221
221
  * @since 1.0.0
222
222
  * @category models
223
223
  */
224
- export type Provides<Group extends Any> = HttpApiMiddleware.HttpApiMiddleware.ExtractProvides<Context<Group>>
224
+ export type Provides<Group extends Any> = HttpApiMiddleware.HttpApiMiddleware.ExtractProvides<Middleware<Group>>
225
225
 
226
226
  /**
227
227
  * @since 1.0.0
@@ -234,6 +234,15 @@ export declare namespace HttpApiGroup {
234
234
  * @category models
235
235
  */
236
236
  export type Context<Group> = Group extends
237
+ HttpApiGroup<infer _Name, infer _Endpoints, infer _Error, infer _R, infer _TopLevel> ?
238
+ HttpApiMiddleware.HttpApiMiddleware.Without<_R> :
239
+ never
240
+
241
+ /**
242
+ * @since 1.0.0
243
+ * @category models
244
+ */
245
+ export type Middleware<Group> = Group extends
237
246
  HttpApiGroup<infer _Name, infer _Endpoints, infer _Error, infer _R, infer _TopLevel> ?
238
247
  HttpApiMiddleware.HttpApiMiddleware.Only<_R> :
239
248
  never
@@ -263,6 +272,14 @@ export declare namespace HttpApiGroup {
263
272
  * @category models
264
273
  */
265
274
  export type ContextWithName<Group extends Any, Name extends string> = Context<WithName<Group, Name>>
275
+
276
+ /**
277
+ * @since 1.0.0
278
+ * @category models
279
+ */
280
+ export type MiddlewareWithName<Group extends Any, Name extends string> = Middleware<
281
+ WithName<Group, Name>
282
+ >
266
283
  }
267
284
 
268
285
  const Proto = {
package/src/OpenApi.ts CHANGED
@@ -85,6 +85,15 @@ export class Deprecated extends Context.Tag("@effect/platform/OpenApi/Deprecated
85
85
  */
86
86
  export class Override extends Context.Tag("@effect/platform/OpenApi/Override")<Override, Record<string, unknown>>() {}
87
87
 
88
+ /**
89
+ * Transforms the generated OpenAPI specification
90
+ * @since 1.0.0
91
+ * @category annotations
92
+ */
93
+ export class Transform
94
+ extends Context.Tag("@effect/platform/OpenApi/Transform")<Transform, (openApiSpec: OpenAPISpec) => OpenAPISpec>()
95
+ {}
96
+
88
97
  const contextPartial = <Tags extends Record<string, Context.Tag<any, any>>>(tags: Tags): (
89
98
  options: {
90
99
  readonly [K in keyof Tags]?: Context.Tag.Service<Tags[K]> | undefined
@@ -118,6 +127,10 @@ export const annotations: (
118
127
  readonly servers?: ReadonlyArray<OpenAPISpecServer> | undefined
119
128
  readonly format?: string | undefined
120
129
  readonly override?: Record<string, unknown> | undefined
130
+ /**
131
+ * Transforms the generated OpenAPI specification
132
+ */
133
+ readonly transform?: ((openApiSpec: OpenAPISpec) => OpenAPISpec) | undefined
121
134
  }
122
135
  ) => Context.Context<never> = contextPartial({
123
136
  identifier: Identifier,
@@ -129,7 +142,8 @@ export const annotations: (
129
142
  externalDocs: ExternalDocs,
130
143
  servers: Servers,
131
144
  format: Format,
132
- override: Override
145
+ override: Override,
146
+ transform: Transform
133
147
  })
134
148
 
135
149
  const apiCache = globalValue("@effect/platform/OpenApi/apiCache", () => new WeakMap<HttpApi.HttpApi.Any, OpenAPISpec>())
@@ -144,7 +158,7 @@ export const fromApi = <A extends HttpApi.HttpApi.Any>(self: A): OpenAPISpec =>
144
158
  }
145
159
  const api = self as unknown as HttpApi.HttpApi.AnyWithProps
146
160
  const jsonSchemaDefs: Record<string, JsonSchema.JsonSchema> = {}
147
- const spec: DeepMutable<OpenAPISpec> = {
161
+ let spec: DeepMutable<OpenAPISpec> = {
148
162
  openapi: "3.0.3",
149
163
  info: {
150
164
  title: Context.getOrElse(api.annotations, Title, () => "Api"),
@@ -359,6 +373,10 @@ export const fromApi = <A extends HttpApi.HttpApi.Any>(self: A): OpenAPISpec =>
359
373
  }
360
374
  })
361
375
 
376
+ Option.map(Context.getOption(api.annotations, Transform), (transformFn) => {
377
+ spec = transformFn(spec)
378
+ })
379
+
362
380
  apiCache.set(self, spec)
363
381
 
364
382
  return spec