@orpc/openapi 2.0.0-beta.36 → 2.0.0-beta.38

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 (33) hide show
  1. package/README.md +5 -5
  2. package/dist/adapters/aws-lambda/index.d.mts +2 -2
  3. package/dist/adapters/aws-lambda/index.d.ts +2 -2
  4. package/dist/adapters/aws-lambda/index.mjs +3 -3
  5. package/dist/adapters/fastify/index.d.mts +2 -2
  6. package/dist/adapters/fastify/index.d.ts +2 -2
  7. package/dist/adapters/fastify/index.mjs +3 -3
  8. package/dist/adapters/fetch/index.d.mts +3 -3
  9. package/dist/adapters/fetch/index.d.ts +3 -3
  10. package/dist/adapters/fetch/index.mjs +4 -4
  11. package/dist/adapters/node/index.d.mts +2 -2
  12. package/dist/adapters/node/index.d.ts +2 -2
  13. package/dist/adapters/node/index.mjs +3 -3
  14. package/dist/adapters/standard/index.d.mts +2 -2
  15. package/dist/adapters/standard/index.d.ts +2 -2
  16. package/dist/adapters/standard/index.mjs +4 -4
  17. package/dist/helpers/index.mjs +1 -1
  18. package/dist/index.d.mts +4 -4
  19. package/dist/index.d.ts +4 -4
  20. package/dist/index.mjs +5 -4
  21. package/dist/shared/{openapi.D0kVKdNv.mjs → openapi.B2G-HeFn.mjs} +2 -2
  22. package/dist/shared/{openapi.D3CTgGrh.mjs → openapi.BBMnAJGy.mjs} +2 -2
  23. package/dist/shared/{openapi.DOy27J9v.d.ts → openapi.BwNINoeN.d.ts} +1 -1
  24. package/dist/shared/{openapi.C64UQjVf.mjs → openapi.D0jfrG14.mjs} +1 -1
  25. package/dist/shared/{openapi.D3yXvICd.d.mts → openapi.DE5kXinS.d.mts} +1 -1
  26. package/dist/shared/{openapi.CXSHZ431.d.mts → openapi.DI21x5Yo.d.mts} +1 -1
  27. package/dist/shared/{openapi.CXSHZ431.d.ts → openapi.DI21x5Yo.d.ts} +1 -1
  28. package/dist/shared/{openapi.DXWj9fY8.d.mts → openapi.Dl3gew1x.d.mts} +2 -2
  29. package/dist/shared/{openapi.DXWj9fY8.d.ts → openapi.Dl3gew1x.d.ts} +2 -2
  30. package/dist/shared/{openapi.MZg83xkY.d.ts → openapi.EM8eC1Xn.d.ts} +1 -1
  31. package/dist/shared/{openapi.Lnem4498.d.mts → openapi.fnBK1ELE.d.mts} +1 -1
  32. package/dist/shared/{openapi.DzAO6T0h.mjs → openapi.zZxYUkc8.mjs} +13 -21
  33. package/package.json +9 -9
package/README.md CHANGED
@@ -38,11 +38,11 @@ You can read the documentation [here](https://orpc.dev).
38
38
 
39
39
  **Schema validation**
40
40
 
41
- | Package | Purpose | Docs |
42
- | ------------------------------------------------------------ | ----------------------------------------------- | ----------------------------------------------------- |
43
- | [@orpc/zod](https://www.npmjs.com/package/@orpc/zod) | Integrate with [Zod](https://zod.dev/). | [Zod](https://orpc.dev/docs/integrations/zod) |
44
- | [@orpc/valibot](https://www.npmjs.com/package/@orpc/valibot) | Integrate with [Valibot](https://valibot.dev/). | [Valibot](https://orpc.dev/docs/integrations/valibot) |
45
- | [@orpc/arktype](https://www.npmjs.com/package/@orpc/arktype) | Integrate with [ArkType](https://arktype.io/). | [ArkType](https://orpc.dev/docs/integrations/arktype) |
41
+ | Package | Purpose | Docs |
42
+ | ------------------------------------------------------------ | ---------------------------------------------------------- | ----------------------------------------------------- |
43
+ | [@orpc/zod](https://www.npmjs.com/package/@orpc/zod) | JSON Schema converter for [Zod](https://zod.dev/). | [Zod](https://orpc.dev/docs/integrations/zod) |
44
+ | [@orpc/valibot](https://www.npmjs.com/package/@orpc/valibot) | JSON Schema converter for [Valibot](https://valibot.dev/). | [Valibot](https://orpc.dev/docs/integrations/valibot) |
45
+ | [@orpc/arktype](https://www.npmjs.com/package/@orpc/arktype) | JSON Schema converter for [ArkType](https://arktype.io/). | [ArkType](https://orpc.dev/docs/integrations/arktype) |
46
46
 
47
47
  **Built-in features**
48
48
 
@@ -6,9 +6,9 @@ import '@orpc/client';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
8
  import '@orpc/contract';
9
- import '../../shared/openapi.DXWj9fY8.mjs';
9
+ import '../../shared/openapi.Dl3gew1x.mjs';
10
10
 
11
- interface OpenAPIHandlerOptions<T extends Context> extends AwsLambdaHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
11
+ interface OpenAPIHandlerOptions<T extends Context> extends AwsLambdaHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
12
12
  }
13
13
  /**
14
14
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol on AWS Lambda.
@@ -6,9 +6,9 @@ import '@orpc/client';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
8
  import '@orpc/contract';
9
- import '../../shared/openapi.DXWj9fY8.js';
9
+ import '../../shared/openapi.Dl3gew1x.js';
10
10
 
11
- interface OpenAPIHandlerOptions<T extends Context> extends AwsLambdaHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
11
+ interface OpenAPIHandlerOptions<T extends Context> extends AwsLambdaHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
12
12
  }
13
13
  /**
14
14
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol on AWS Lambda.
@@ -1,12 +1,12 @@
1
1
  import { AwsLambdaHandler } from '@orpc/server/aws-lambda';
2
2
  import { StandardHandler } from '@orpc/server/standard';
3
- import { O as OpenAPIHandlerCodec } from '../../shared/openapi.C64UQjVf.mjs';
3
+ import { O as OpenAPIHandlerCodec } from '../../shared/openapi.D0jfrG14.mjs';
4
4
  import '@orpc/client';
5
5
  import '@orpc/server';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
- import '../../shared/openapi.DzAO6T0h.mjs';
9
- import '../../shared/openapi.D0kVKdNv.mjs';
8
+ import '../../shared/openapi.zZxYUkc8.mjs';
9
+ import '../../shared/openapi.B2G-HeFn.mjs';
10
10
  import '../../shared/openapi.B9PQzqBn.mjs';
11
11
  import 'rou3';
12
12
 
@@ -6,9 +6,9 @@ import '@orpc/client';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
8
  import '@orpc/contract';
9
- import '../../shared/openapi.DXWj9fY8.mjs';
9
+ import '../../shared/openapi.Dl3gew1x.mjs';
10
10
 
11
- interface OpenAPIHandlerOptions<T extends Context> extends FastifyHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
11
+ interface OpenAPIHandlerOptions<T extends Context> extends FastifyHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
12
12
  }
13
13
  /**
14
14
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol as part of a Fastify server.
@@ -6,9 +6,9 @@ import '@orpc/client';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
8
  import '@orpc/contract';
9
- import '../../shared/openapi.DXWj9fY8.js';
9
+ import '../../shared/openapi.Dl3gew1x.js';
10
10
 
11
- interface OpenAPIHandlerOptions<T extends Context> extends FastifyHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
11
+ interface OpenAPIHandlerOptions<T extends Context> extends FastifyHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
12
12
  }
13
13
  /**
14
14
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol as part of a Fastify server.
@@ -1,12 +1,12 @@
1
1
  import { FastifyHandler } from '@orpc/server/fastify';
2
2
  import { StandardHandler } from '@orpc/server/standard';
3
- import { O as OpenAPIHandlerCodec } from '../../shared/openapi.C64UQjVf.mjs';
3
+ import { O as OpenAPIHandlerCodec } from '../../shared/openapi.D0jfrG14.mjs';
4
4
  import '@orpc/client';
5
5
  import '@orpc/server';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
- import '../../shared/openapi.DzAO6T0h.mjs';
9
- import '../../shared/openapi.D0kVKdNv.mjs';
8
+ import '../../shared/openapi.zZxYUkc8.mjs';
9
+ import '../../shared/openapi.B2G-HeFn.mjs';
10
10
  import '../../shared/openapi.B9PQzqBn.mjs';
11
11
  import 'rou3';
12
12
 
@@ -9,9 +9,9 @@ import { RouterContract } from '@orpc/contract';
9
9
  import { OpenAPILinkCodecOptions } from '../standard/index.mjs';
10
10
  import '@orpc/shared';
11
11
  import '@standard-server/core';
12
- import '../../shared/openapi.DXWj9fY8.mjs';
12
+ import '../../shared/openapi.Dl3gew1x.mjs';
13
13
 
14
- interface OpenAPIHandlerOptions<T extends Context> extends FetchHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
14
+ interface OpenAPIHandlerOptions<T extends Context> extends FetchHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
15
15
  }
16
16
  /**
17
17
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol using the Fetch API `Request`/`Response`.
@@ -22,7 +22,7 @@ declare class OpenAPIHandler<T extends Context> extends FetchHandler<T> {
22
22
  constructor(router: Router<T>, options?: NoInfer<OpenAPIHandlerOptions<T>>);
23
23
  }
24
24
 
25
- interface OpenAPILinkOptions<T extends ClientContext> extends Omit<StandardLinkOptions<T>, 'plugins'>, FetchLinkTransportOptions<T>, OpenAPILinkCodecOptions<T> {
25
+ interface OpenAPILinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, FetchLinkTransportOptions<T>, OpenAPILinkCodecOptions<T> {
26
26
  }
27
27
  /**
28
28
  * Client link that calls an OpenAPI (RESTful) oRPC server over HTTP using the Fetch API.
@@ -9,9 +9,9 @@ import { RouterContract } from '@orpc/contract';
9
9
  import { OpenAPILinkCodecOptions } from '../standard/index.js';
10
10
  import '@orpc/shared';
11
11
  import '@standard-server/core';
12
- import '../../shared/openapi.DXWj9fY8.js';
12
+ import '../../shared/openapi.Dl3gew1x.js';
13
13
 
14
- interface OpenAPIHandlerOptions<T extends Context> extends FetchHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
14
+ interface OpenAPIHandlerOptions<T extends Context> extends FetchHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
15
15
  }
16
16
  /**
17
17
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol using the Fetch API `Request`/`Response`.
@@ -22,7 +22,7 @@ declare class OpenAPIHandler<T extends Context> extends FetchHandler<T> {
22
22
  constructor(router: Router<T>, options?: NoInfer<OpenAPIHandlerOptions<T>>);
23
23
  }
24
24
 
25
- interface OpenAPILinkOptions<T extends ClientContext> extends Omit<StandardLinkOptions<T>, 'plugins'>, FetchLinkTransportOptions<T>, OpenAPILinkCodecOptions<T> {
25
+ interface OpenAPILinkOptions<T extends ClientContext> extends StandardLinkOptions<T>, FetchLinkTransportOptions<T>, OpenAPILinkCodecOptions<T> {
26
26
  }
27
27
  /**
28
28
  * Client link that calls an OpenAPI (RESTful) oRPC server over HTTP using the Fetch API.
@@ -1,15 +1,15 @@
1
1
  import { FetchHandler } from '@orpc/server/fetch';
2
2
  import { StandardHandler } from '@orpc/server/standard';
3
- import { O as OpenAPIHandlerCodec } from '../../shared/openapi.C64UQjVf.mjs';
3
+ import { O as OpenAPIHandlerCodec } from '../../shared/openapi.D0jfrG14.mjs';
4
4
  import { FetchLinkTransport } from '@orpc/client/fetch';
5
5
  import { StandardLink } from '@orpc/client/standard';
6
- import { O as OpenAPILinkCodec } from '../../shared/openapi.D3CTgGrh.mjs';
6
+ import { O as OpenAPILinkCodec } from '../../shared/openapi.BBMnAJGy.mjs';
7
7
  import '@orpc/client';
8
8
  import '@orpc/server';
9
9
  import '@orpc/shared';
10
10
  import '@standard-server/core';
11
- import '../../shared/openapi.DzAO6T0h.mjs';
12
- import '../../shared/openapi.D0kVKdNv.mjs';
11
+ import '../../shared/openapi.zZxYUkc8.mjs';
12
+ import '../../shared/openapi.B2G-HeFn.mjs';
13
13
  import '../../shared/openapi.B9PQzqBn.mjs';
14
14
  import 'rou3';
15
15
  import '@orpc/contract';
@@ -6,9 +6,9 @@ import '@orpc/client';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
8
  import '@orpc/contract';
9
- import '../../shared/openapi.DXWj9fY8.mjs';
9
+ import '../../shared/openapi.Dl3gew1x.mjs';
10
10
 
11
- interface OpenAPIHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
11
+ interface OpenAPIHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
12
12
  }
13
13
  /**
14
14
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol using Node.js built-in HTTP request/response.
@@ -6,9 +6,9 @@ import '@orpc/client';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
8
  import '@orpc/contract';
9
- import '../../shared/openapi.DXWj9fY8.js';
9
+ import '../../shared/openapi.Dl3gew1x.js';
10
10
 
11
- interface OpenAPIHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardHandlerOptions<T>, 'plugins'>, OpenAPIHandlerCodecOptions<T> {
11
+ interface OpenAPIHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, StandardHandlerOptions<T>, OpenAPIHandlerCodecOptions<T> {
12
12
  }
13
13
  /**
14
14
  * Serves oRPC procedures over the OpenAPI (RESTful) protocol using Node.js built-in HTTP request/response.
@@ -1,12 +1,12 @@
1
1
  import { NodeHttpHandler } from '@orpc/server/node';
2
2
  import { StandardHandler } from '@orpc/server/standard';
3
- import { O as OpenAPIHandlerCodec } from '../../shared/openapi.C64UQjVf.mjs';
3
+ import { O as OpenAPIHandlerCodec } from '../../shared/openapi.D0jfrG14.mjs';
4
4
  import '@orpc/client';
5
5
  import '@orpc/server';
6
6
  import '@orpc/shared';
7
7
  import '@standard-server/core';
8
- import '../../shared/openapi.DzAO6T0h.mjs';
9
- import '../../shared/openapi.D0kVKdNv.mjs';
8
+ import '../../shared/openapi.zZxYUkc8.mjs';
9
+ import '../../shared/openapi.B2G-HeFn.mjs';
10
10
  import '../../shared/openapi.B9PQzqBn.mjs';
11
11
  import 'rou3';
12
12
 
@@ -1,5 +1,5 @@
1
- export { a as OpenAPIHandlerCodec, b as OpenAPIHandlerCodecCore, c as OpenAPIHandlerCodecCoreOptions, O as OpenAPIHandlerCodecOptions, d as OpenAPIMatcher, e as OpenAPIMatcherOptions } from '../../shared/openapi.Lnem4498.mjs';
2
- export { a as OpenAPILinkCodec, O as OpenAPILinkCodecOptions } from '../../shared/openapi.D3yXvICd.mjs';
1
+ export { a as OpenAPIHandlerCodec, b as OpenAPIHandlerCodecCore, c as OpenAPIHandlerCodecCoreOptions, O as OpenAPIHandlerCodecOptions, d as OpenAPIMatcher, e as OpenAPIMatcherOptions } from '../../shared/openapi.fnBK1ELE.mjs';
2
+ export { a as OpenAPILinkCodec, O as OpenAPILinkCodecOptions } from '../../shared/openapi.DE5kXinS.mjs';
3
3
  import { StandardHeaders } from '@standard-server/core';
4
4
  import { OpenAPISerializer } from '../../index.mjs';
5
5
  import '@orpc/client';
@@ -1,5 +1,5 @@
1
- export { a as OpenAPIHandlerCodec, b as OpenAPIHandlerCodecCore, c as OpenAPIHandlerCodecCoreOptions, O as OpenAPIHandlerCodecOptions, d as OpenAPIMatcher, e as OpenAPIMatcherOptions } from '../../shared/openapi.MZg83xkY.js';
2
- export { a as OpenAPILinkCodec, O as OpenAPILinkCodecOptions } from '../../shared/openapi.DOy27J9v.js';
1
+ export { a as OpenAPIHandlerCodec, b as OpenAPIHandlerCodecCore, c as OpenAPIHandlerCodecCoreOptions, O as OpenAPIHandlerCodecOptions, d as OpenAPIMatcher, e as OpenAPIMatcherOptions } from '../../shared/openapi.EM8eC1Xn.js';
2
+ export { a as OpenAPILinkCodec, O as OpenAPILinkCodecOptions } from '../../shared/openapi.BwNINoeN.js';
3
3
  import { StandardHeaders } from '@standard-server/core';
4
4
  import { OpenAPISerializer } from '../../index.js';
5
5
  import '@orpc/client';
@@ -1,11 +1,11 @@
1
- export { O as OpenAPIHandlerCodec, a as OpenAPIHandlerCodecCore, b as OpenAPIMatcher, s as serializeHeaders } from '../../shared/openapi.C64UQjVf.mjs';
2
- export { O as OpenAPILinkCodec } from '../../shared/openapi.D3CTgGrh.mjs';
1
+ export { O as OpenAPIHandlerCodec, a as OpenAPIHandlerCodecCore, b as OpenAPIMatcher, s as serializeHeaders } from '../../shared/openapi.D0jfrG14.mjs';
2
+ export { O as OpenAPILinkCodec } from '../../shared/openapi.BBMnAJGy.mjs';
3
3
  import '@orpc/client';
4
4
  import '@orpc/server';
5
5
  import '@orpc/shared';
6
6
  import '@standard-server/core';
7
- import '../../shared/openapi.DzAO6T0h.mjs';
8
- import '../../shared/openapi.D0kVKdNv.mjs';
7
+ import '../../shared/openapi.zZxYUkc8.mjs';
8
+ import '../../shared/openapi.B2G-HeFn.mjs';
9
9
  import '../../shared/openapi.B9PQzqBn.mjs';
10
10
  import 'rou3';
11
11
  import '@orpc/contract';
@@ -1,6 +1,6 @@
1
1
  import { isSchemaIssue } from '@orpc/contract';
2
2
  import { isTypescriptObject } from '@orpc/shared';
3
- import { B as BracketNotationSerializer } from '../shared/openapi.D0kVKdNv.mjs';
3
+ import { B as BracketNotationSerializer } from '../shared/openapi.B2G-HeFn.mjs';
4
4
 
5
5
  function parseFormData(form) {
6
6
  const serializer = new BracketNotationSerializer();
package/dist/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
- import { O as OpenAPISerializer } from './shared/openapi.DXWj9fY8.mjs';
2
- export { B as BracketNotationSerializeResult, a as BracketNotationSerializer, b as BracketNotationSerializerOptions, c as OpenAPIJsonSerialization, d as OpenAPIJsonSerializer, e as OpenAPIJsonSerializerHandler, f as OpenAPIJsonSerializerOptions, g as OpenAPISerializerOptions, h as OpenAPISerializerSerializeOptions } from './shared/openapi.DXWj9fY8.mjs';
1
+ import { O as OpenAPISerializer } from './shared/openapi.Dl3gew1x.mjs';
2
+ export { B as BracketNotationSerializeResult, a as BracketNotationSerializer, b as BracketNotationSerializerOptions, c as OpenAPIJsonSerialization, d as OpenAPIJsonSerializer, e as OpenAPIJsonSerializerHandler, f as OpenAPIJsonSerializerOptions, g as OpenAPISerializerOptions, h as OpenAPISerializerSerializeOptions } from './shared/openapi.Dl3gew1x.mjs';
3
3
  import { ClientContext, ORPCClientOptions, ClientLink } from '@orpc/client';
4
4
  export { COMMON_ERROR_STATUS_MAP } from '@orpc/client';
5
5
  import { RouterContract, RouterContractClient, AnyProcedureContract, ProcedureContract } from '@orpc/contract';
6
- import { J as JsonifiedClient, O as OpenAPIVersion, a as OpenAPIDocument } from './shared/openapi.CXSHZ431.mjs';
7
- export { b as JsonifiedArray, c as JsonifiedClientError, d as JsonifiedValue } from './shared/openapi.CXSHZ431.mjs';
6
+ import { J as JsonifiedClient, O as OpenAPIVersion, a as OpenAPIDocument } from './shared/openapi.DI21x5Yo.mjs';
7
+ export { b as JsonifiedArray, c as JsonifiedClientError, d as JsonifiedValue } from './shared/openapi.DI21x5Yo.mjs';
8
8
  export { a as OpenAPIFunction, O as OpenAPIMeta, b as OpenAPIMetaPlugin, c as OpenAPIMethodMetaPlugin, d as OpenAPIPathMetaPlugin, e as OpenAPIPrefixMetaPlugin, f as OpenAPISpecMetaPlugin, g as getOpenAPIMeta, o as openapi } from './shared/openapi.Cem81Zhm.mjs';
9
9
  import { JsonSchema, JsonSchemaConverter } from '@orpc/json-schema';
10
10
  import { AnyRouter, AnyProcedure } from '@orpc/server';
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { O as OpenAPISerializer } from './shared/openapi.DXWj9fY8.js';
2
- export { B as BracketNotationSerializeResult, a as BracketNotationSerializer, b as BracketNotationSerializerOptions, c as OpenAPIJsonSerialization, d as OpenAPIJsonSerializer, e as OpenAPIJsonSerializerHandler, f as OpenAPIJsonSerializerOptions, g as OpenAPISerializerOptions, h as OpenAPISerializerSerializeOptions } from './shared/openapi.DXWj9fY8.js';
1
+ import { O as OpenAPISerializer } from './shared/openapi.Dl3gew1x.js';
2
+ export { B as BracketNotationSerializeResult, a as BracketNotationSerializer, b as BracketNotationSerializerOptions, c as OpenAPIJsonSerialization, d as OpenAPIJsonSerializer, e as OpenAPIJsonSerializerHandler, f as OpenAPIJsonSerializerOptions, g as OpenAPISerializerOptions, h as OpenAPISerializerSerializeOptions } from './shared/openapi.Dl3gew1x.js';
3
3
  import { ClientContext, ORPCClientOptions, ClientLink } from '@orpc/client';
4
4
  export { COMMON_ERROR_STATUS_MAP } from '@orpc/client';
5
5
  import { RouterContract, RouterContractClient, AnyProcedureContract, ProcedureContract } from '@orpc/contract';
6
- import { J as JsonifiedClient, O as OpenAPIVersion, a as OpenAPIDocument } from './shared/openapi.CXSHZ431.js';
7
- export { b as JsonifiedArray, c as JsonifiedClientError, d as JsonifiedValue } from './shared/openapi.CXSHZ431.js';
6
+ import { J as JsonifiedClient, O as OpenAPIVersion, a as OpenAPIDocument } from './shared/openapi.DI21x5Yo.js';
7
+ export { b as JsonifiedArray, c as JsonifiedClientError, d as JsonifiedValue } from './shared/openapi.DI21x5Yo.js';
8
8
  export { a as OpenAPIFunction, O as OpenAPIMeta, b as OpenAPIMetaPlugin, c as OpenAPIMethodMetaPlugin, d as OpenAPIPathMetaPlugin, e as OpenAPIPrefixMetaPlugin, f as OpenAPISpecMetaPlugin, g as getOpenAPIMeta, o as openapi } from './shared/openapi.Cem81Zhm.js';
9
9
  import { JsonSchema, JsonSchemaConverter } from '@orpc/json-schema';
10
10
  import { AnyRouter, AnyProcedure } from '@orpc/server';
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- export { B as BracketNotationSerializer } from './shared/openapi.D0kVKdNv.mjs';
1
+ export { B as BracketNotationSerializer } from './shared/openapi.B2G-HeFn.mjs';
2
2
  import { createContractClientFactory, getAsyncIteratorObjectSchemaDetails, ProcedureContract, resolveMetaPlugins } from '@orpc/contract';
3
- import { D as DEFAULT_OPENAPI_METHOD, a as DEFAULT_OPENAPI_INPUT_STRUCTURE, c as DEFAULT_OPENAPI_SUCCESS_DESCRIPTION, b as DEFAULT_OPENAPI_OUTPUT_STRUCTURE, i as isBodylessMethod, O as OpenAPISerializer, g as getDynamicPathParams } from './shared/openapi.DzAO6T0h.mjs';
4
- export { d as OpenAPIJsonSerializer } from './shared/openapi.DzAO6T0h.mjs';
3
+ import { D as DEFAULT_OPENAPI_METHOD, a as DEFAULT_OPENAPI_INPUT_STRUCTURE, c as DEFAULT_OPENAPI_SUCCESS_DESCRIPTION, b as DEFAULT_OPENAPI_OUTPUT_STRUCTURE, i as isBodylessMethod, O as OpenAPISerializer, g as getDynamicPathParams } from './shared/openapi.zZxYUkc8.mjs';
4
+ export { d as OpenAPIJsonSerializer } from './shared/openapi.zZxYUkc8.mjs';
5
5
  import { g as getOpenAPIMeta, o as openapi } from './shared/openapi.B9PQzqBn.mjs';
6
6
  import { downgradeSpecV32ToV31, downgradeSpecV31ToV30 } from '@openapi-spec/downgrader';
7
7
  import { COMMON_ERROR_STATUS_MAP } from '@orpc/client';
@@ -581,7 +581,8 @@ function extractDetailedResponseParts(schema, defaultStatus) {
581
581
  }
582
582
  function buildErrorResponse(ctx, operation, def) {
583
583
  const definitionsByStatus = /* @__PURE__ */ new Map();
584
- for (const [code, config] of Object.entries(def.errorMap)) {
584
+ for (const code of Object.keys(def.errorMap)) {
585
+ const config = def.errorMap[code];
585
586
  if (!config) {
586
587
  continue;
587
588
  }
@@ -16,8 +16,8 @@ class BracketNotationSerializer {
16
16
  this.internalSerialize(item, isRoot ? i.toString() : `${path}[${i}]`, false, result);
17
17
  });
18
18
  } else if (isPlainObject(data)) {
19
- for (const [key, value] of Object.entries(data)) {
20
- this.internalSerialize(value, isRoot ? key : `${path}[${key}]`, false, result);
19
+ for (const key of Object.keys(data)) {
20
+ this.internalSerialize(data[key], isRoot ? key : `${path}[${key}]`, false, result);
21
21
  }
22
22
  } else {
23
23
  result.push([path, data]);
@@ -4,9 +4,9 @@ import { unlazy } from '@orpc/server';
4
4
  import { value, pathToHttpPath, mergeHttpPath, isTypescriptObject, stringifyJSON, safeEncodeURIComponent } from '@orpc/shared';
5
5
  import { mergeStandardHeaders, parseStandardUrl } from '@standard-server/core';
6
6
  import { toStandardHeaders } from '@standard-server/fetch';
7
- import { O as OpenAPISerializer, D as DEFAULT_OPENAPI_METHOD, a as DEFAULT_OPENAPI_INPUT_STRUCTURE, g as getDynamicPathParams, i as isBodylessMethod, b as DEFAULT_OPENAPI_OUTPUT_STRUCTURE } from './openapi.DzAO6T0h.mjs';
7
+ import { O as OpenAPISerializer, D as DEFAULT_OPENAPI_METHOD, a as DEFAULT_OPENAPI_INPUT_STRUCTURE, g as getDynamicPathParams, i as isBodylessMethod, b as DEFAULT_OPENAPI_OUTPUT_STRUCTURE } from './openapi.zZxYUkc8.mjs';
8
8
  import { g as getOpenAPIMeta } from './openapi.B9PQzqBn.mjs';
9
- import { s as serializeHeaders } from './openapi.C64UQjVf.mjs';
9
+ import { s as serializeHeaders } from './openapi.D0jfrG14.mjs';
10
10
 
11
11
  const END_SLASH_REGEX = /\/$/;
12
12
  class OpenAPILinkCodec {
@@ -3,7 +3,7 @@ import { StandardLinkCodec, StandardLinkCodecDecodedResponse } from '@orpc/clien
3
3
  import { RouterContract } from '@orpc/contract';
4
4
  import { Value, Promisable, Public } from '@orpc/shared';
5
5
  import { StandardUrl, StandardHeaders, StandardLazyResponse, StandardRequest } from '@standard-server/core';
6
- import { O as OpenAPISerializer } from './openapi.DXWj9fY8.js';
6
+ import { O as OpenAPISerializer } from './openapi.Dl3gew1x.js';
7
7
 
8
8
  interface OpenAPILinkCodecOptions<T extends ClientContext> {
9
9
  /**
@@ -2,7 +2,7 @@ import { COMMON_ERROR_STATUS_MAP } from '@orpc/client';
2
2
  import { walkProcedureContractsSync, Procedure, unlazy, getRouter, createContractProcedure, DEFAULT_SUCCESS_STATUS, DEFAULT_ERROR_STATUS } from '@orpc/server';
3
3
  import { value, pathToHttpPath, mergeHttpPath, normalizeHttpPath, safeDecodeURIComponent, NullProtoObj, isTypescriptObject, isPlainObject, stringifyJSON, getOwn, parseEmptyableJSON } from '@orpc/shared';
4
4
  import { parseStandardUrl } from '@standard-server/core';
5
- import { D as DEFAULT_OPENAPI_METHOD, g as getDynamicPathParams, O as OpenAPISerializer, a as DEFAULT_OPENAPI_INPUT_STRUCTURE, i as isBodylessMethod, b as DEFAULT_OPENAPI_OUTPUT_STRUCTURE } from './openapi.DzAO6T0h.mjs';
5
+ import { D as DEFAULT_OPENAPI_METHOD, g as getDynamicPathParams, O as OpenAPISerializer, a as DEFAULT_OPENAPI_INPUT_STRUCTURE, i as isBodylessMethod, b as DEFAULT_OPENAPI_OUTPUT_STRUCTURE } from './openapi.zZxYUkc8.mjs';
6
6
  import { g as getOpenAPIMeta } from './openapi.B9PQzqBn.mjs';
7
7
  import { createRouter, addRoute, findRoute, routeToRegExp } from 'rou3';
8
8
 
@@ -3,7 +3,7 @@ import { StandardLinkCodec, StandardLinkCodecDecodedResponse } from '@orpc/clien
3
3
  import { RouterContract } from '@orpc/contract';
4
4
  import { Value, Promisable, Public } from '@orpc/shared';
5
5
  import { StandardUrl, StandardHeaders, StandardLazyResponse, StandardRequest } from '@standard-server/core';
6
- import { O as OpenAPISerializer } from './openapi.DXWj9fY8.mjs';
6
+ import { O as OpenAPISerializer } from './openapi.Dl3gew1x.mjs';
7
7
 
8
8
  interface OpenAPILinkCodecOptions<T extends ClientContext> {
9
9
  /**
@@ -16,7 +16,7 @@ type OpenAPIVersion = `3.0.${number}` | `3.1.${number}` | `3.2.${number}`;
16
16
  type OpenAPIDocument<TVersion extends OpenAPIVersion> = TVersion extends `3.0.${string}` ? OpenAPIV3_0.OpenAPIObject : TVersion extends `3.1.${string}` ? OpenAPIV3_1.OpenAPIObject : OpenAPIV3_2.OpenAPIObject;
17
17
  type JsonifiedValue<T> = T extends string ? T : T extends number ? T : T extends boolean ? T : T extends null ? T : T extends undefined ? T : T extends Array<unknown> ? JsonifiedArray<T> : T extends Record<string, unknown> ? {
18
18
  [K in keyof T]: JsonifiedValue<T[K]>;
19
- } : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends RegExp ? string : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorClass<infer U, infer V> ? AsyncIteratorClass<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncGenerator<infer U, infer V> ? AsyncGenerator<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
19
+ } : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorClass<infer U, infer V> ? AsyncIteratorClass<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncGenerator<infer U, infer V> ? AsyncGenerator<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
20
20
  type JsonifiedArray<T extends Array<unknown>> = T extends readonly [] ? [] : T extends readonly [infer U, ...infer V] ? [U extends undefined ? null : JsonifiedValue<U>, ...JsonifiedArray<V>] : T extends Array<infer U> ? Array<JsonifiedValue<U>> : unknown;
21
21
  type JsonifiedClientError<T> = T extends ORPCError<infer UCode, infer UData> ? ORPCError<UCode, JsonifiedValue<UData>> : T;
22
22
  /**
@@ -16,7 +16,7 @@ type OpenAPIVersion = `3.0.${number}` | `3.1.${number}` | `3.2.${number}`;
16
16
  type OpenAPIDocument<TVersion extends OpenAPIVersion> = TVersion extends `3.0.${string}` ? OpenAPIV3_0.OpenAPIObject : TVersion extends `3.1.${string}` ? OpenAPIV3_1.OpenAPIObject : OpenAPIV3_2.OpenAPIObject;
17
17
  type JsonifiedValue<T> = T extends string ? T : T extends number ? T : T extends boolean ? T : T extends null ? T : T extends undefined ? T : T extends Array<unknown> ? JsonifiedArray<T> : T extends Record<string, unknown> ? {
18
18
  [K in keyof T]: JsonifiedValue<T[K]>;
19
- } : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends RegExp ? string : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorClass<infer U, infer V> ? AsyncIteratorClass<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncGenerator<infer U, infer V> ? AsyncGenerator<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
19
+ } : T extends Date ? string : T extends bigint ? string : T extends File ? File : T extends Blob ? Blob : T extends URL ? string : T extends Map<infer K, infer V> ? JsonifiedArray<[K, V][]> : T extends Set<infer U> ? JsonifiedArray<U[]> : T extends AsyncIteratorClass<infer U, infer V> ? AsyncIteratorClass<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncGenerator<infer U, infer V> ? AsyncGenerator<JsonifiedValue<U>, JsonifiedValue<V>> : T extends AsyncIteratorObject<infer U, infer V> ? AsyncIteratorObject<JsonifiedValue<U>, JsonifiedValue<V>> : unknown;
20
20
  type JsonifiedArray<T extends Array<unknown>> = T extends readonly [] ? [] : T extends readonly [infer U, ...infer V] ? [U extends undefined ? null : JsonifiedValue<U>, ...JsonifiedArray<V>] : T extends Array<infer U> ? Array<JsonifiedValue<U>> : unknown;
21
21
  type JsonifiedClientError<T> = T extends ORPCError<infer UCode, infer UData> ? ORPCError<UCode, JsonifiedValue<UData>> : T;
22
22
  /**
@@ -81,10 +81,10 @@ interface OpenAPIJsonSerializerOptions {
81
81
  *
82
82
  * **Disabling:** Set a key to `undefined` to remove a built-in handler:
83
83
  * ```ts
84
- * handlers: { regexp: undefined }
84
+ * handlers: { url: undefined }
85
85
  * ```
86
86
  *
87
- * Built-in type keys: `undefined`, `bigint`, `date`, `nan`, `url`, `regexp`, `set`, `map`.
87
+ * Built-in type keys: `undefined`, `bigint`, `date`, `nan`, `url`, `set`, `map`.
88
88
  */
89
89
  handlers?: Record<string, undefined | OpenAPIJsonSerializerHandler> | undefined;
90
90
  /**
@@ -81,10 +81,10 @@ interface OpenAPIJsonSerializerOptions {
81
81
  *
82
82
  * **Disabling:** Set a key to `undefined` to remove a built-in handler:
83
83
  * ```ts
84
- * handlers: { regexp: undefined }
84
+ * handlers: { url: undefined }
85
85
  * ```
86
86
  *
87
- * Built-in type keys: `undefined`, `bigint`, `date`, `nan`, `url`, `regexp`, `set`, `map`.
87
+ * Built-in type keys: `undefined`, `bigint`, `date`, `nan`, `url`, `set`, `map`.
88
88
  */
89
89
  handlers?: Record<string, undefined | OpenAPIJsonSerializerHandler> | undefined;
90
90
  /**
@@ -4,7 +4,7 @@ import { StandardHandlerCodec, ResolvedStandardHandlerHandleOptions, StandardHan
4
4
  import { Value, Public, Promisable } from '@orpc/shared';
5
5
  import { StandardLazyRequest, StandardResponse } from '@standard-server/core';
6
6
  import { AnyProcedureContract } from '@orpc/contract';
7
- import { O as OpenAPISerializer } from './openapi.DXWj9fY8.js';
7
+ import { O as OpenAPISerializer } from './openapi.Dl3gew1x.js';
8
8
 
9
9
  interface OpenAPIMatcherOptions {
10
10
  /**
@@ -4,7 +4,7 @@ import { StandardHandlerCodec, ResolvedStandardHandlerHandleOptions, StandardHan
4
4
  import { Value, Public, Promisable } from '@orpc/shared';
5
5
  import { StandardLazyRequest, StandardResponse } from '@standard-server/core';
6
6
  import { AnyProcedureContract } from '@orpc/contract';
7
- import { O as OpenAPISerializer } from './openapi.DXWj9fY8.mjs';
7
+ import { O as OpenAPISerializer } from './openapi.Dl3gew1x.mjs';
8
8
 
9
9
  interface OpenAPIMatcherOptions {
10
10
  /**
@@ -1,7 +1,7 @@
1
1
  import { wrapAsyncIteratorPreservingEventMeta, toORPCError, isORPCErrorJson, createORPCErrorFromJson } from '@orpc/client';
2
- import { isPlainObject, NullProtoObj, isAsyncIteratorObject } from '@orpc/shared';
2
+ import { isPlainObject, NullProtoObj, copyOnWrite, isAsyncIteratorObject } from '@orpc/shared';
3
3
  import { ErrorEvent } from '@standard-server/core';
4
- import { B as BracketNotationSerializer } from './openapi.D0kVKdNv.mjs';
4
+ import { B as BracketNotationSerializer } from './openapi.B2G-HeFn.mjs';
5
5
 
6
6
  const DEFAULT_OPENAPI_METHOD = "POST";
7
7
  const DEFAULT_OPENAPI_SUCCESS_DESCRIPTION = "OK";
@@ -57,15 +57,6 @@ const DEFAULT_OPEN_API_JSON_SERIALIZER_HANDLERS = {
57
57
  },
58
58
  isTerminal: true
59
59
  },
60
- regexp: {
61
- condition(data) {
62
- return data instanceof RegExp;
63
- },
64
- serialize(data) {
65
- return data.toString();
66
- },
67
- isTerminal: true
68
- },
69
60
  set: {
70
61
  condition(data) {
71
62
  return data instanceof Set;
@@ -96,7 +87,8 @@ class OpenAPIJsonSerializer {
96
87
  }
97
88
  let inlineBuiltInHandlers = true;
98
89
  let handlerEntries = [];
99
- for (const [key, handler] of Object.entries(customHandlers)) {
90
+ for (const key of Object.keys(customHandlers)) {
91
+ const handler = customHandlers[key];
100
92
  if (inlineBuiltInHandlers && key in DEFAULT_OPEN_API_JSON_SERIALIZER_HANDLERS) {
101
93
  inlineBuiltInHandlers = false;
102
94
  break;
@@ -148,9 +140,6 @@ class OpenAPIJsonSerializer {
148
140
  if (data instanceof URL) {
149
141
  return data.toString();
150
142
  }
151
- if (data instanceof RegExp) {
152
- return data.toString();
153
- }
154
143
  if (data instanceof Set) {
155
144
  return this.serializeValue(Array.from(data), segments, maps, blobs);
156
145
  }
@@ -193,7 +182,8 @@ class OpenAPIJsonSerializer {
193
182
  }
194
183
  if (isPlainObject(data)) {
195
184
  const json = new NullProtoObj();
196
- for (const [k, v] of Object.entries(data)) {
185
+ for (const k of Object.keys(data)) {
186
+ const v = data[k];
197
187
  if (k === "toJSON" && typeof v === "function") {
198
188
  continue;
199
189
  }
@@ -209,23 +199,25 @@ class OpenAPIJsonSerializer {
209
199
  return data;
210
200
  }
211
201
  deserialize(serialized) {
212
- const ref = { data: serialized.json };
202
+ const ref = { json: serialized.json };
213
203
  if (serialized.blobs?.length) {
214
204
  for (let i = 0; i < serialized.maps.length; i++) {
215
205
  const segments = serialized.maps[i];
206
+ let original = serialized;
216
207
  let currentRef = ref;
217
- let preSegment = "data";
208
+ let preSegment = "json";
218
209
  for (let j = 0; j < segments.length; j++) {
219
- currentRef = currentRef[preSegment];
210
+ original = original[preSegment];
211
+ currentRef = copyOnWrite(currentRef, preSegment, original);
220
212
  preSegment = segments[j];
221
213
  if (!Object.hasOwn(currentRef, preSegment)) {
222
- throw new Error(`Security error: Invalid serialized data. Segment "${preSegment}" does not exist.`);
214
+ throw new TypeError(`Invalid OpenAPI serialized data: segment "${preSegment}" does not exist.`);
223
215
  }
224
216
  }
225
217
  currentRef[preSegment] = serialized.blobs[i];
226
218
  }
227
219
  }
228
- return ref.data;
220
+ return ref.json;
229
221
  }
230
222
  }
231
223
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@orpc/openapi",
3
3
  "type": "module",
4
- "version": "2.0.0-beta.36",
4
+ "version": "2.0.0-beta.38",
5
5
  "description": "Generate OpenAPI specs from oRPC routers and serve OpenAPI-compliant APIs with end-to-end type safety",
6
6
  "license": "MIT",
7
7
  "funding": [
@@ -99,18 +99,18 @@
99
99
  "dependencies": {
100
100
  "@openapi-spec/downgrader": "~0.1.0",
101
101
  "@openapi-spec/types": "~0.1.0",
102
- "@orpc/client": "2.0.0-beta.36",
103
- "@orpc/contract": "2.0.0-beta.36",
104
- "@orpc/json-schema": "2.0.0-beta.36",
105
- "@orpc/server": "2.0.0-beta.36",
106
- "@orpc/shared": "2.0.0-beta.36",
107
- "@standard-server/core": "~0.9.0",
108
- "@standard-server/fetch": "~0.9.0",
102
+ "@orpc/client": "2.0.0-beta.38",
103
+ "@orpc/contract": "2.0.0-beta.38",
104
+ "@orpc/json-schema": "2.0.0-beta.38",
105
+ "@orpc/server": "2.0.0-beta.38",
106
+ "@orpc/shared": "2.0.0-beta.38",
107
+ "@standard-server/core": "~0.9.2",
108
+ "@standard-server/fetch": "~0.9.2",
109
109
  "rou3": "^0.9.1"
110
110
  },
111
111
  "devDependencies": {
112
112
  "@scalar/api-reference": "^1.65.1",
113
- "@standard-server/aws-lambda": "~0.9.0",
113
+ "@standard-server/aws-lambda": "~0.9.2",
114
114
  "@types/swagger-ui": "^5.32.0",
115
115
  "fastify": "^5.12.1",
116
116
  "swagger-ui": "^5.32.14",