@orpc/openapi 2.0.0-beta.30 → 2.0.0-beta.31
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.
- package/dist/adapters/aws-lambda/index.mjs +1 -1
- package/dist/adapters/fastify/index.mjs +1 -1
- package/dist/adapters/fetch/index.mjs +2 -2
- package/dist/adapters/node/index.mjs +1 -1
- package/dist/adapters/standard/index.mjs +2 -2
- package/dist/plugins/index.d.mts +8 -0
- package/dist/plugins/index.d.ts +8 -0
- package/dist/plugins/index.mjs +6 -1
- package/dist/shared/{openapi.BlHXe8vI.mjs → openapi.B6jrmH-p.mjs} +1 -1
- package/dist/shared/{openapi.BaqI61Xi.mjs → openapi.iEFYDEKB.mjs} +2 -2
- package/package.json +6 -6
|
@@ -1,6 +1,6 @@
|
|
|
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.
|
|
3
|
+
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.iEFYDEKB.mjs';
|
|
4
4
|
import '@orpc/client';
|
|
5
5
|
import '@orpc/server';
|
|
6
6
|
import '@orpc/shared';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FastifyHandler } from '@orpc/server/fastify';
|
|
2
2
|
import { StandardHandler } from '@orpc/server/standard';
|
|
3
|
-
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.
|
|
3
|
+
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.iEFYDEKB.mjs';
|
|
4
4
|
import '@orpc/client';
|
|
5
5
|
import '@orpc/server';
|
|
6
6
|
import '@orpc/shared';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FetchHandler } from '@orpc/server/fetch';
|
|
2
2
|
import { StandardHandler } from '@orpc/server/standard';
|
|
3
|
-
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.
|
|
3
|
+
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.iEFYDEKB.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.
|
|
6
|
+
import { O as OpenAPILinkCodec } from '../../shared/openapi.B6jrmH-p.mjs';
|
|
7
7
|
import '@orpc/client';
|
|
8
8
|
import '@orpc/server';
|
|
9
9
|
import '@orpc/shared';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NodeHttpHandler } from '@orpc/server/node';
|
|
2
2
|
import { StandardHandler } from '@orpc/server/standard';
|
|
3
|
-
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.
|
|
3
|
+
import { O as OpenAPIHandlerCodec } from '../../shared/openapi.iEFYDEKB.mjs';
|
|
4
4
|
import '@orpc/client';
|
|
5
5
|
import '@orpc/server';
|
|
6
6
|
import '@orpc/shared';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { O as OpenAPIHandlerCodec, a as OpenAPIHandlerCodecCore, b as OpenAPIMatcher, s as serializeHeaders } from '../../shared/openapi.
|
|
2
|
-
export { O as OpenAPILinkCodec } from '../../shared/openapi.
|
|
1
|
+
export { O as OpenAPIHandlerCodec, a as OpenAPIHandlerCodecCore, b as OpenAPIMatcher, s as serializeHeaders } from '../../shared/openapi.iEFYDEKB.mjs';
|
|
2
|
+
export { O as OpenAPILinkCodec } from '../../shared/openapi.B6jrmH-p.mjs';
|
|
3
3
|
import '@orpc/client';
|
|
4
4
|
import '@orpc/server';
|
|
5
5
|
import '@orpc/shared';
|
package/dist/plugins/index.d.mts
CHANGED
|
@@ -22,6 +22,13 @@ interface OpenAPIReferenceHandlerPluginOptions<T extends Context, TProvider exte
|
|
|
22
22
|
* Receives routing interceptor options when provided as a function.
|
|
23
23
|
*/
|
|
24
24
|
spec: Value<Promisable<OpenAPIDocument>, [StandardHandlerRoutingInterceptorOptions<T>]>;
|
|
25
|
+
/**
|
|
26
|
+
* Determines whether the docs UI and OpenAPI JSON are allowed to be served for a request.
|
|
27
|
+
* When it resolves to `false`, the request falls through as unmatched,
|
|
28
|
+
* as if the plugin were not installed. Useful for restricting access
|
|
29
|
+
* to authenticated users.
|
|
30
|
+
*/
|
|
31
|
+
allow?: Value<Promisable<boolean>, [StandardHandlerRoutingInterceptorOptions<T>]>;
|
|
25
32
|
/**
|
|
26
33
|
* The URL path at which to serve the OpenAPI JSON.
|
|
27
34
|
*
|
|
@@ -83,6 +90,7 @@ interface OpenAPIReferenceHandlerPluginOptions<T extends Context, TProvider exte
|
|
|
83
90
|
declare class OpenAPIReferenceHandlerPlugin<T extends Context, TProvider extends OpenAPIReferenceHandlerPluginProvider> implements StandardHandlerPlugin<T> {
|
|
84
91
|
name: string;
|
|
85
92
|
private readonly spec;
|
|
93
|
+
private readonly allow;
|
|
86
94
|
private readonly specPath;
|
|
87
95
|
private readonly provider;
|
|
88
96
|
private readonly providerConfig;
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ interface OpenAPIReferenceHandlerPluginOptions<T extends Context, TProvider exte
|
|
|
22
22
|
* Receives routing interceptor options when provided as a function.
|
|
23
23
|
*/
|
|
24
24
|
spec: Value<Promisable<OpenAPIDocument>, [StandardHandlerRoutingInterceptorOptions<T>]>;
|
|
25
|
+
/**
|
|
26
|
+
* Determines whether the docs UI and OpenAPI JSON are allowed to be served for a request.
|
|
27
|
+
* When it resolves to `false`, the request falls through as unmatched,
|
|
28
|
+
* as if the plugin were not installed. Useful for restricting access
|
|
29
|
+
* to authenticated users.
|
|
30
|
+
*/
|
|
31
|
+
allow?: Value<Promisable<boolean>, [StandardHandlerRoutingInterceptorOptions<T>]>;
|
|
25
32
|
/**
|
|
26
33
|
* The URL path at which to serve the OpenAPI JSON.
|
|
27
34
|
*
|
|
@@ -83,6 +90,7 @@ interface OpenAPIReferenceHandlerPluginOptions<T extends Context, TProvider exte
|
|
|
83
90
|
declare class OpenAPIReferenceHandlerPlugin<T extends Context, TProvider extends OpenAPIReferenceHandlerPluginProvider> implements StandardHandlerPlugin<T> {
|
|
84
91
|
name: string;
|
|
85
92
|
private readonly spec;
|
|
93
|
+
private readonly allow;
|
|
86
94
|
private readonly specPath;
|
|
87
95
|
private readonly provider;
|
|
88
96
|
private readonly providerConfig;
|
package/dist/plugins/index.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { toArray, matchesHttpPath, mergeHttpPath,
|
|
1
|
+
import { toArray, matchesHttpPath, mergeHttpPath, value, getOpenTelemetryConfig, stringifyJSON } from '@orpc/shared';
|
|
2
2
|
|
|
3
3
|
class OpenAPIReferenceHandlerPlugin {
|
|
4
4
|
name = "~openapi-reference";
|
|
5
5
|
spec;
|
|
6
|
+
allow;
|
|
6
7
|
specPath;
|
|
7
8
|
provider;
|
|
8
9
|
providerConfig;
|
|
@@ -13,6 +14,7 @@ class OpenAPIReferenceHandlerPlugin {
|
|
|
13
14
|
docsHead;
|
|
14
15
|
constructor(options) {
|
|
15
16
|
this.spec = options.spec;
|
|
17
|
+
this.allow = options.allow;
|
|
16
18
|
this.specPath = options.specPath ?? "/spec.json";
|
|
17
19
|
this.provider = options.provider ?? "scalar";
|
|
18
20
|
this.providerConfig = options.providerConfig;
|
|
@@ -44,6 +46,9 @@ class OpenAPIReferenceHandlerPlugin {
|
|
|
44
46
|
if (!isSpecPath && !isDocsPath) {
|
|
45
47
|
return result;
|
|
46
48
|
}
|
|
49
|
+
if (await value(this.allow, routingInterceptorOptions) === false) {
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
47
52
|
const span = getOpenTelemetryConfig()?.trace.getActiveSpan();
|
|
48
53
|
const spec = await value(this.spec, routingInterceptorOptions);
|
|
49
54
|
if (isSpecPath) {
|
|
@@ -6,7 +6,7 @@ import { mergeStandardHeaders, parseStandardUrl } from '@standardserver/core';
|
|
|
6
6
|
import { toStandardHeaders } from '@standardserver/fetch';
|
|
7
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.0yE-t1W-.mjs';
|
|
8
8
|
import { g as getOpenAPIMeta } from './openapi.B9PQzqBn.mjs';
|
|
9
|
-
import { s as serializeHeaders } from './openapi.
|
|
9
|
+
import { s as serializeHeaders } from './openapi.iEFYDEKB.mjs';
|
|
10
10
|
|
|
11
11
|
const END_SLASH_REGEX = /\/$/;
|
|
12
12
|
class OpenAPILinkCodec {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
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
|
-
import { value, pathToHttpPath, mergeHttpPath, normalizeHttpPath, tryDecodeURIComponent, NullProtoObj, isTypescriptObject, isPlainObject, stringifyJSON, parseEmptyableJSON } from '@orpc/shared';
|
|
3
|
+
import { value, pathToHttpPath, mergeHttpPath, normalizeHttpPath, tryDecodeURIComponent, NullProtoObj, isTypescriptObject, isPlainObject, stringifyJSON, getOwn, parseEmptyableJSON } from '@orpc/shared';
|
|
4
4
|
import { parseStandardUrl } from '@standardserver/core';
|
|
5
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.0yE-t1W-.mjs';
|
|
6
6
|
import { g as getOpenAPIMeta } from './openapi.B9PQzqBn.mjs';
|
|
@@ -245,7 +245,7 @@ class OpenAPIHandlerCodecCore {
|
|
|
245
245
|
};
|
|
246
246
|
}
|
|
247
247
|
encodeError(error) {
|
|
248
|
-
const status = this.errorStatusMap
|
|
248
|
+
const status = getOwn(this.errorStatusMap, error.code) ?? DEFAULT_ERROR_STATUS;
|
|
249
249
|
return {
|
|
250
250
|
status,
|
|
251
251
|
headers: {},
|
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.
|
|
4
|
+
"version": "2.0.0-beta.31",
|
|
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": [
|
|
@@ -101,11 +101,11 @@
|
|
|
101
101
|
"@standardserver/core": "^0.8.0",
|
|
102
102
|
"@standardserver/fetch": "^0.8.0",
|
|
103
103
|
"rou3": "^0.9.1",
|
|
104
|
-
"@orpc/client": "2.0.0-beta.
|
|
105
|
-
"@orpc/json-schema": "2.0.0-beta.
|
|
106
|
-
"@orpc/contract": "2.0.0-beta.
|
|
107
|
-
"@orpc/server": "2.0.0-beta.
|
|
108
|
-
"@orpc/shared": "2.0.0-beta.
|
|
104
|
+
"@orpc/client": "2.0.0-beta.31",
|
|
105
|
+
"@orpc/json-schema": "2.0.0-beta.31",
|
|
106
|
+
"@orpc/contract": "2.0.0-beta.31",
|
|
107
|
+
"@orpc/server": "2.0.0-beta.31",
|
|
108
|
+
"@orpc/shared": "2.0.0-beta.31"
|
|
109
109
|
},
|
|
110
110
|
"devDependencies": {
|
|
111
111
|
"@scalar/api-reference": "^1.65.1",
|