fumadocs-openapi 10.6.4 → 10.6.5
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/css/generated/shared.css +2 -2
- package/dist/_openapi/types.d.ts +1 -2
- package/dist/generate-file.d.ts +1 -2
- package/dist/generate-file.js +0 -2
- package/dist/i18n.d.ts +1 -2
- package/dist/i18n.js +0 -2
- package/dist/playground/client.d.ts +3 -9
- package/dist/playground/client.js +27 -20
- package/dist/playground/components/inputs.js +0 -2
- package/dist/playground/components/oauth-dialog.js +0 -2
- package/dist/playground/components/server-select.js +0 -2
- package/dist/playground/fetcher.d.ts +1 -2
- package/dist/playground/fetcher.js +0 -2
- package/dist/playground/schema.d.ts +1 -2
- package/dist/playground/schema.js +24 -15
- package/dist/playground/status-info.js +0 -2
- package/dist/requests/generators/all.d.ts +1 -2
- package/dist/requests/generators/all.js +0 -2
- package/dist/requests/generators/csharp.d.ts +1 -2
- package/dist/requests/generators/csharp.js +0 -2
- package/dist/requests/generators/curl.d.ts +1 -2
- package/dist/requests/generators/curl.js +0 -2
- package/dist/requests/generators/go.d.ts +1 -2
- package/dist/requests/generators/go.js +0 -2
- package/dist/requests/generators/index.d.ts +1 -2
- package/dist/requests/generators/index.js +0 -2
- package/dist/requests/generators/java.d.ts +1 -2
- package/dist/requests/generators/java.js +0 -2
- package/dist/requests/generators/javascript.d.ts +1 -2
- package/dist/requests/generators/javascript.js +0 -2
- package/dist/requests/generators/python.d.ts +1 -2
- package/dist/requests/generators/python.js +0 -2
- package/dist/requests/media/adapter.d.ts +1 -2
- package/dist/requests/media/adapter.js +0 -2
- package/dist/requests/media/encode.d.ts +1 -2
- package/dist/requests/media/encode.js +0 -2
- package/dist/requests/media/resolve-adapter.js +0 -2
- package/dist/requests/string-utils.js +0 -2
- package/dist/requests/types.d.ts +1 -2
- package/dist/scalar/client.js +0 -2
- package/dist/scalar/index.d.ts +1 -2
- package/dist/scalar/index.js +0 -2
- package/dist/server/create.d.ts +2 -3
- package/dist/server/create.js +0 -2
- package/dist/server/proxy.d.ts +1 -2
- package/dist/server/proxy.js +0 -2
- package/dist/server/source-api.d.ts +1 -2
- package/dist/server/source-api.js +0 -2
- package/dist/types.d.ts +1 -2
- package/dist/ui/api-page.d.ts +1 -2
- package/dist/ui/api-page.js +0 -2
- package/dist/ui/base.d.ts +1 -2
- package/dist/ui/base.js +3 -5
- package/dist/ui/client/boundary.d.ts +1 -2
- package/dist/ui/client/boundary.js +0 -2
- package/dist/ui/client/boundary.lazy.js +0 -2
- package/dist/ui/client/full.js +0 -2
- package/dist/ui/client/i18n.js +0 -2
- package/dist/ui/client/index.d.ts +1 -2
- package/dist/ui/client/index.js +0 -2
- package/dist/ui/client/storage-key.js +0 -2
- package/dist/ui/components/accordion.js +0 -2
- package/dist/ui/components/codeblock.d.ts +1 -2
- package/dist/ui/components/codeblock.js +0 -2
- package/dist/ui/components/dialog.js +0 -2
- package/dist/ui/components/input.js +0 -2
- package/dist/ui/components/method-label.js +0 -2
- package/dist/ui/components/select-tab.js +0 -2
- package/dist/ui/components/select.js +0 -2
- package/dist/ui/contexts/api.d.ts +1 -2
- package/dist/ui/contexts/api.js +0 -2
- package/dist/ui/create-client.d.ts +1 -2
- package/dist/ui/create-client.js +1 -3
- package/dist/ui/index.d.ts +1 -2
- package/dist/ui/index.js +0 -2
- package/dist/ui/operation/client.js +0 -2
- package/dist/ui/operation/get-example-requests.d.ts +1 -2
- package/dist/ui/operation/get-example-requests.js +0 -2
- package/dist/ui/operation/index.js +0 -2
- package/dist/ui/operation/request-tabs.js +0 -2
- package/dist/ui/operation/response-tabs.d.ts +1 -2
- package/dist/ui/operation/response-tabs.js +0 -2
- package/dist/ui/operation/usage-tabs/client.d.ts +1 -2
- package/dist/ui/operation/usage-tabs/client.js +0 -2
- package/dist/ui/operation/usage-tabs/index.js +0 -2
- package/dist/ui/schema/client.d.ts +1 -2
- package/dist/ui/schema/client.js +0 -2
- package/dist/ui/schema/index.d.ts +3 -4
- package/dist/ui/schema/index.js +1 -3
- package/dist/utils/deep-equal.js +0 -2
- package/dist/utils/document/dereference.d.ts +1 -2
- package/dist/utils/document/dereference.js +0 -2
- package/dist/utils/document/process.d.ts +1 -2
- package/dist/utils/document/process.js +0 -2
- package/dist/utils/id-to-title.js +0 -2
- package/dist/utils/is-plain-object.js +0 -2
- package/dist/utils/pages/builder.d.ts +1 -2
- package/dist/utils/pages/builder.js +0 -2
- package/dist/utils/pages/preset-auto.d.ts +1 -2
- package/dist/utils/pages/preset-auto.js +0 -2
- package/dist/utils/pages/to-static-data.js +0 -2
- package/dist/utils/pages/to-text.d.ts +1 -2
- package/dist/utils/pages/to-text.js +0 -2
- package/dist/utils/remove-undefined.js +0 -2
- package/dist/utils/schema/dereference.js +22 -14
- package/dist/utils/schema/index.d.ts +1 -6
- package/dist/utils/schema/index.js +0 -2
- package/dist/utils/{merge-schema.js → schema/merge.js} +2 -4
- package/dist/utils/schema/pick.js +0 -2
- package/dist/utils/schema/ref.js +0 -2
- package/dist/utils/schema/resolve-ref.js +0 -2
- package/dist/utils/schema/to-string.js +4 -7
- package/dist/utils/url.js +0 -2
- package/dist/utils/use-query.js +0 -2
- package/package.json +1 -1
- package/dist/_openapi/types.d.ts.map +0 -1
- package/dist/generate-file.d.ts.map +0 -1
- package/dist/generate-file.js.map +0 -1
- package/dist/i18n.d.ts.map +0 -1
- package/dist/i18n.js.map +0 -1
- package/dist/playground/client.d.ts.map +0 -1
- package/dist/playground/client.js.map +0 -1
- package/dist/playground/components/inputs.js.map +0 -1
- package/dist/playground/components/oauth-dialog.js.map +0 -1
- package/dist/playground/components/server-select.js.map +0 -1
- package/dist/playground/fetcher.d.ts.map +0 -1
- package/dist/playground/fetcher.js.map +0 -1
- package/dist/playground/schema.d.ts.map +0 -1
- package/dist/playground/schema.js.map +0 -1
- package/dist/playground/status-info.js.map +0 -1
- package/dist/requests/generators/all.d.ts.map +0 -1
- package/dist/requests/generators/all.js.map +0 -1
- package/dist/requests/generators/csharp.d.ts.map +0 -1
- package/dist/requests/generators/csharp.js.map +0 -1
- package/dist/requests/generators/curl.d.ts.map +0 -1
- package/dist/requests/generators/curl.js.map +0 -1
- package/dist/requests/generators/go.d.ts.map +0 -1
- package/dist/requests/generators/go.js.map +0 -1
- package/dist/requests/generators/index.d.ts.map +0 -1
- package/dist/requests/generators/index.js.map +0 -1
- package/dist/requests/generators/java.d.ts.map +0 -1
- package/dist/requests/generators/java.js.map +0 -1
- package/dist/requests/generators/javascript.d.ts.map +0 -1
- package/dist/requests/generators/javascript.js.map +0 -1
- package/dist/requests/generators/python.d.ts.map +0 -1
- package/dist/requests/generators/python.js.map +0 -1
- package/dist/requests/media/adapter.d.ts.map +0 -1
- package/dist/requests/media/adapter.js.map +0 -1
- package/dist/requests/media/encode.d.ts.map +0 -1
- package/dist/requests/media/encode.js.map +0 -1
- package/dist/requests/media/resolve-adapter.js.map +0 -1
- package/dist/requests/string-utils.js.map +0 -1
- package/dist/requests/types.d.ts.map +0 -1
- package/dist/scalar/client.js.map +0 -1
- package/dist/scalar/index.d.ts.map +0 -1
- package/dist/scalar/index.js.map +0 -1
- package/dist/server/create.d.ts.map +0 -1
- package/dist/server/create.js.map +0 -1
- package/dist/server/proxy.d.ts.map +0 -1
- package/dist/server/proxy.js.map +0 -1
- package/dist/server/source-api.d.ts.map +0 -1
- package/dist/server/source-api.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/ui/api-page.d.ts.map +0 -1
- package/dist/ui/api-page.js.map +0 -1
- package/dist/ui/base.d.ts.map +0 -1
- package/dist/ui/base.js.map +0 -1
- package/dist/ui/client/boundary.d.ts.map +0 -1
- package/dist/ui/client/boundary.js.map +0 -1
- package/dist/ui/client/boundary.lazy.js.map +0 -1
- package/dist/ui/client/full.js.map +0 -1
- package/dist/ui/client/i18n.js.map +0 -1
- package/dist/ui/client/index.d.ts.map +0 -1
- package/dist/ui/client/index.js.map +0 -1
- package/dist/ui/client/storage-key.js.map +0 -1
- package/dist/ui/components/accordion.js.map +0 -1
- package/dist/ui/components/codeblock.d.ts.map +0 -1
- package/dist/ui/components/codeblock.js.map +0 -1
- package/dist/ui/components/dialog.js.map +0 -1
- package/dist/ui/components/input.js.map +0 -1
- package/dist/ui/components/method-label.js.map +0 -1
- package/dist/ui/components/select-tab.js.map +0 -1
- package/dist/ui/components/select.js.map +0 -1
- package/dist/ui/contexts/api.d.ts.map +0 -1
- package/dist/ui/contexts/api.js.map +0 -1
- package/dist/ui/create-client.d.ts.map +0 -1
- package/dist/ui/create-client.js.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/operation/client.js.map +0 -1
- package/dist/ui/operation/get-example-requests.d.ts.map +0 -1
- package/dist/ui/operation/get-example-requests.js.map +0 -1
- package/dist/ui/operation/index.js.map +0 -1
- package/dist/ui/operation/request-tabs.js.map +0 -1
- package/dist/ui/operation/response-tabs.d.ts.map +0 -1
- package/dist/ui/operation/response-tabs.js.map +0 -1
- package/dist/ui/operation/usage-tabs/client.d.ts.map +0 -1
- package/dist/ui/operation/usage-tabs/client.js.map +0 -1
- package/dist/ui/operation/usage-tabs/index.js.map +0 -1
- package/dist/ui/schema/client.d.ts.map +0 -1
- package/dist/ui/schema/client.js.map +0 -1
- package/dist/ui/schema/index.d.ts.map +0 -1
- package/dist/ui/schema/index.js.map +0 -1
- package/dist/utils/deep-equal.js.map +0 -1
- package/dist/utils/document/dereference.d.ts.map +0 -1
- package/dist/utils/document/dereference.js.map +0 -1
- package/dist/utils/document/process.d.ts.map +0 -1
- package/dist/utils/document/process.js.map +0 -1
- package/dist/utils/id-to-title.js.map +0 -1
- package/dist/utils/is-plain-object.js.map +0 -1
- package/dist/utils/merge-schema.js.map +0 -1
- package/dist/utils/pages/builder.d.ts.map +0 -1
- package/dist/utils/pages/builder.js.map +0 -1
- package/dist/utils/pages/preset-auto.d.ts.map +0 -1
- package/dist/utils/pages/preset-auto.js.map +0 -1
- package/dist/utils/pages/to-static-data.js.map +0 -1
- package/dist/utils/pages/to-text.d.ts.map +0 -1
- package/dist/utils/pages/to-text.js.map +0 -1
- package/dist/utils/remove-undefined.js.map +0 -1
- package/dist/utils/schema/dereference.js.map +0 -1
- package/dist/utils/schema/index.d.ts.map +0 -1
- package/dist/utils/schema/index.js.map +0 -1
- package/dist/utils/schema/pick.js.map +0 -1
- package/dist/utils/schema/ref.js.map +0 -1
- package/dist/utils/schema/resolve-ref.js.map +0 -1
- package/dist/utils/schema/to-string.js.map +0 -1
- package/dist/utils/url.js.map +0 -1
- package/dist/utils/use-query.js.map +0 -1
package/dist/ui/base.d.ts
CHANGED
|
@@ -159,5 +159,4 @@ interface ServerApiPageProps extends Omit<ApiPageProps, 'document'> {
|
|
|
159
159
|
}
|
|
160
160
|
declare function createAPIPage(server: OpenAPIServer, options: CreateAPIPageOptions): FC<ServerApiPageProps>;
|
|
161
161
|
//#endregion
|
|
162
|
-
export { APIPlaygroundProps, ClientCodeBlockProvider, CreateAPIPageOptions, GenerateTypeScriptDefinitionsContext, ServerApiPageProps, createAPIPage };
|
|
163
|
-
//# sourceMappingURL=base.d.ts.map
|
|
162
|
+
export { APIPlaygroundProps, ClientCodeBlockProvider, CreateAPIPageOptions, GenerateTypeScriptDefinitionsContext, ServerApiPageProps, createAPIPage };
|
package/dist/ui/base.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { parseSecurities } from "../utils/schema/index.js";
|
|
2
2
|
import { defaultAdapters } from "../requests/media/adapter.js";
|
|
3
|
-
import { ClientCodeBlockProvider } from "./components/codeblock.js";
|
|
4
3
|
import { encodeInternalRef } from "../utils/schema/ref.js";
|
|
4
|
+
import { ClientCodeBlockProvider } from "./components/codeblock.js";
|
|
5
5
|
import { APIPage } from "./api-page.js";
|
|
6
6
|
import { pickSchema } from "../utils/schema/pick.js";
|
|
7
7
|
import Slugger from "github-slugger";
|
|
@@ -43,11 +43,11 @@ function createAPIPage(server, options) {
|
|
|
43
43
|
route: path,
|
|
44
44
|
securities: parseSecurities(method, ctx.schema.dereferenced),
|
|
45
45
|
method: method.method,
|
|
46
|
-
doc:
|
|
46
|
+
doc: pickSchema(ctx.schema.bundled, encodeInternalRef([
|
|
47
47
|
"paths",
|
|
48
48
|
path,
|
|
49
49
|
method.method
|
|
50
|
-
]))
|
|
50
|
+
])),
|
|
51
51
|
proxyUrl: ctx.proxyUrl,
|
|
52
52
|
writeOnly: true,
|
|
53
53
|
readOnly: false
|
|
@@ -142,5 +142,3 @@ function createAPIPage(server, options) {
|
|
|
142
142
|
}
|
|
143
143
|
//#endregion
|
|
144
144
|
export { ClientCodeBlockProvider, createAPIPage };
|
|
145
|
-
|
|
146
|
-
//# sourceMappingURL=base.js.map
|
package/dist/ui/client/full.js
CHANGED
package/dist/ui/client/i18n.js
CHANGED
|
@@ -34,5 +34,4 @@ interface OperationClientOptions {
|
|
|
34
34
|
}
|
|
35
35
|
declare function defineClientConfig(options?: APIPageClientOptions): APIPageClientOptions;
|
|
36
36
|
//#endregion
|
|
37
|
-
export { APIPageClientOptions, OperationClientOptions, defineClientConfig };
|
|
38
|
-
//# sourceMappingURL=index.d.ts.map
|
|
37
|
+
export { APIPageClientOptions, OperationClientOptions, defineClientConfig };
|
package/dist/ui/client/index.js
CHANGED
|
@@ -58,5 +58,3 @@ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => /*
|
|
|
58
58
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
59
59
|
//#endregion
|
|
60
60
|
export { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger };
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=dialog.js.map
|
|
@@ -70,5 +70,3 @@ const SelectSeparator = forwardRef(({ className, ...props }, ref) => /* @__PURE_
|
|
|
70
70
|
SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
|
|
71
71
|
//#endregion
|
|
72
72
|
export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue };
|
|
73
|
-
|
|
74
|
-
//# sourceMappingURL=select.js.map
|
package/dist/ui/contexts/api.js
CHANGED
|
@@ -22,5 +22,4 @@ declare function createClientAPIPage({
|
|
|
22
22
|
...options
|
|
23
23
|
}?: CreateClientAPIPageOptions): FC<ClientApiPageProps>;
|
|
24
24
|
//#endregion
|
|
25
|
-
export { ClientApiPagePayload, ClientApiPageProps, CreateClientAPIPageOptions, createClientAPIPage };
|
|
26
|
-
//# sourceMappingURL=create-client.d.ts.map
|
|
25
|
+
export { ClientApiPagePayload, ClientApiPageProps, CreateClientAPIPageOptions, createClientAPIPage };
|
package/dist/ui/create-client.js
CHANGED
|
@@ -60,7 +60,7 @@ function createClientAPIPage({ shiki = defaultShikiFactory, shikiOptions = { the
|
|
|
60
60
|
route: path,
|
|
61
61
|
securities: parseSecurities(method, ctx.schema.dereferenced),
|
|
62
62
|
method: method.method,
|
|
63
|
-
doc:
|
|
63
|
+
doc: ctx.schema.bundled,
|
|
64
64
|
proxyUrl: ctx.proxyUrl,
|
|
65
65
|
writeOnly: true,
|
|
66
66
|
readOnly: false
|
|
@@ -135,5 +135,3 @@ function MarkdownPre(props) {
|
|
|
135
135
|
}
|
|
136
136
|
//#endregion
|
|
137
137
|
export { createClientAPIPage };
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=create-client.js.map
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -7,5 +7,4 @@ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
7
7
|
type CreateAPIPageOptions = Partial<CreateAPIPageOptions$1>;
|
|
8
8
|
declare function createAPIPage(server: OpenAPIServer, options?: CreateAPIPageOptions): (props: ServerApiPageProps) => _$react_jsx_runtime0.JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
|
-
export { type ApiPageProps, CreateAPIPageOptions, type OperationItem, type WebhookItem, createAPIPage };
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
10
|
+
export { type ApiPageProps, CreateAPIPageOptions, type OperationItem, type WebhookItem, createAPIPage };
|
package/dist/ui/index.js
CHANGED
package/dist/ui/schema/client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SchemaUIProps } from "./client.js";
|
|
2
|
-
import {
|
|
2
|
+
import { ParsedSchema } from "../../utils/schema/index.js";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
//#region src/ui/schema/index.d.ts
|
|
5
5
|
interface FieldBase {
|
|
@@ -42,7 +42,7 @@ type SchemaData = FieldBase & ({
|
|
|
42
42
|
}[];
|
|
43
43
|
});
|
|
44
44
|
interface SchemaUIOptions {
|
|
45
|
-
root:
|
|
45
|
+
root: ParsedSchema;
|
|
46
46
|
client: Omit<SchemaUIProps, 'generated'>;
|
|
47
47
|
/**
|
|
48
48
|
* include read only props
|
|
@@ -58,5 +58,4 @@ interface SchemaUIGeneratedData {
|
|
|
58
58
|
refs: Record<string, SchemaData>;
|
|
59
59
|
}
|
|
60
60
|
//#endregion
|
|
61
|
-
export { SchemaUIGeneratedData, SchemaUIOptions };
|
|
62
|
-
//# sourceMappingURL=index.d.ts.map
|
|
61
|
+
export { SchemaUIGeneratedData, SchemaUIOptions };
|
package/dist/ui/schema/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { mergeAllOf } from "../../utils/merge
|
|
1
|
+
import { mergeAllOf } from "../../utils/schema/merge.js";
|
|
2
2
|
import { FormatFlags, schemaToString } from "../../utils/schema/to-string.js";
|
|
3
3
|
import { I18nLabel } from "../client/i18n.js";
|
|
4
4
|
import { useMemo } from "react";
|
|
@@ -254,5 +254,3 @@ function formatRange(value, min, exclusiveMin, max, exclusiveMax) {
|
|
|
254
254
|
}
|
|
255
255
|
//#endregion
|
|
256
256
|
export { Schema };
|
|
257
|
-
|
|
258
|
-
//# sourceMappingURL=index.js.map
|
package/dist/utils/deep-equal.js
CHANGED
|
@@ -85,5 +85,4 @@ interface ExtractedInfo {
|
|
|
85
85
|
declare function fromServer(server: OpenAPIServer, config: PagesBuilderConfig): Promise<Record<string, OutputEntry[]>>;
|
|
86
86
|
declare function fromSchema(schemaId: string, processed: DereferencedDocument, config: PagesBuilderConfig): OutputEntry[];
|
|
87
87
|
//#endregion
|
|
88
|
-
export { OperationOutput, OutputEntry, OutputGroup, PageOutput, PagesBuilder, PagesBuilderConfig, WebhookOutput, fromSchema, fromServer };
|
|
89
|
-
//# sourceMappingURL=builder.d.ts.map
|
|
88
|
+
export { OperationOutput, OutputEntry, OutputGroup, PageOutput, PagesBuilder, PagesBuilderConfig, WebhookOutput, fromSchema, fromServer };
|
|
@@ -68,5 +68,4 @@ interface BaseConfig {
|
|
|
68
68
|
}
|
|
69
69
|
declare function createAutoPreset(options: SchemaToPagesOptions): PagesBuilderConfig;
|
|
70
70
|
//#endregion
|
|
71
|
-
export { SchemaToPagesOptions, createAutoPreset };
|
|
72
|
-
//# sourceMappingURL=preset-auto.d.ts.map
|
|
71
|
+
export { SchemaToPagesOptions, createAutoPreset };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isPlainObject } from "../is-plain-object.js";
|
|
1
2
|
import { resolveRefSync } from "./resolve-ref.js";
|
|
2
3
|
//#region src/utils/schema/dereference.ts
|
|
3
4
|
/**
|
|
@@ -8,30 +9,37 @@ function dereferenceSync(schema, setOriginalRef) {
|
|
|
8
9
|
const visitedNodes = /* @__PURE__ */ new Set();
|
|
9
10
|
const cloned = structuredClone(schema);
|
|
10
11
|
function resolve(current) {
|
|
11
|
-
if (
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return current;
|
|
17
|
-
}
|
|
18
|
-
const obj = current;
|
|
19
|
-
if ("$ref" in current && typeof current["$ref"] === "string") {
|
|
12
|
+
if (visitedNodes.has(current)) return current;
|
|
13
|
+
visitedNodes.add(current);
|
|
14
|
+
if (Array.isArray(current)) for (let index = 0; index < current.length; index++) current[index] = resolve(current[index]);
|
|
15
|
+
else if (isPlainObject(current)) {
|
|
16
|
+
if (typeof current.$ref === "string") {
|
|
20
17
|
const ref = current["$ref"];
|
|
21
18
|
delete current["$ref"];
|
|
22
19
|
const resolved = resolve(resolveRefSync(ref, cloned));
|
|
23
20
|
setOriginalRef(resolved, ref);
|
|
24
21
|
setOriginalRef(current, ref);
|
|
25
22
|
if (typeof resolved === "boolean") throw new Error("invalid schema");
|
|
26
|
-
for (const k in resolved) if (!(k in current))
|
|
23
|
+
for (const k in resolved) if (!(k in current)) current[k] = resolved[k];
|
|
27
24
|
}
|
|
28
|
-
for (const key in current)
|
|
25
|
+
for (const key in current) current[key] = resolve(current[key]);
|
|
29
26
|
}
|
|
30
27
|
return current;
|
|
31
28
|
}
|
|
32
29
|
return resolve(cloned);
|
|
33
30
|
}
|
|
31
|
+
function dereferenceSwallow(schema, full) {
|
|
32
|
+
if (isPlainObject(schema)) {
|
|
33
|
+
if (typeof schema.$ref !== "string") return schema;
|
|
34
|
+
const { $ref, ...rest } = schema;
|
|
35
|
+
const resolved = dereferenceSwallow(resolveRefSync($ref, full), full);
|
|
36
|
+
if (typeof resolved !== "object") throw new Error(`invalid schema referenced via "${$ref}"`);
|
|
37
|
+
return {
|
|
38
|
+
...resolved,
|
|
39
|
+
...rest
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return schema;
|
|
43
|
+
}
|
|
34
44
|
//#endregion
|
|
35
|
-
export { dereferenceSync };
|
|
36
|
-
|
|
37
|
-
//# sourceMappingURL=dereference.js.map
|
|
45
|
+
export { dereferenceSwallow, dereferenceSync };
|
|
@@ -3,18 +3,13 @@ import { JSONSchema } from "json-schema-typed/draft-2020-12";
|
|
|
3
3
|
|
|
4
4
|
//#region src/utils/schema/index.d.ts
|
|
5
5
|
type NoReference<T> = T extends (infer I)[] ? NoReference<I>[] : T extends ReferenceObject ? Exclude<T, ReferenceObject> : T extends object ? { [K in keyof T]: NoReference<T[K]> } : T;
|
|
6
|
-
type NoReferenceJSONSchema<T> = T extends (infer I)[] ? NoReference<I>[] : T extends {
|
|
7
|
-
$ref?: string;
|
|
8
|
-
} ? Omit<T, '$ref'> : T;
|
|
9
6
|
type ParsedSchema = (JSONSchema & {
|
|
10
7
|
'x-playground-lazy'?: boolean;
|
|
11
8
|
}) | boolean;
|
|
12
|
-
type ResolvedSchema = NoReferenceJSONSchema<ParsedSchema>;
|
|
13
9
|
/** parsed security scheme objects */
|
|
14
10
|
type SecurityEntry = SecuritySchemeObject & {
|
|
15
11
|
scopes: string[];
|
|
16
12
|
id: string;
|
|
17
13
|
};
|
|
18
14
|
//#endregion
|
|
19
|
-
export { NoReference, ParsedSchema,
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
|
15
|
+
export { NoReference, ParsedSchema, SecurityEntry };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { deepEqual } from "
|
|
2
|
-
//#region src/utils/merge
|
|
1
|
+
import { deepEqual } from "../deep-equal.js";
|
|
2
|
+
//#region src/utils/schema/merge.ts
|
|
3
3
|
/**
|
|
4
4
|
* Merge `allOf` object schema
|
|
5
5
|
*/
|
|
@@ -154,5 +154,3 @@ function intersectArray(a, b) {
|
|
|
154
154
|
}
|
|
155
155
|
//#endregion
|
|
156
156
|
export { mergeAllOf };
|
|
157
|
-
|
|
158
|
-
//# sourceMappingURL=merge-schema.js.map
|
package/dist/utils/schema/ref.js
CHANGED
|
@@ -23,15 +23,14 @@ function schemaToString(value, _resolver, flags = FormatFlags.None) {
|
|
|
23
23
|
const result = Array.from(members).join(sep);
|
|
24
24
|
return nullable ? `${result} | null` : result;
|
|
25
25
|
}
|
|
26
|
-
function run(
|
|
27
|
-
const
|
|
28
|
-
schema = resolved.dereferenced;
|
|
26
|
+
function run(input, flags) {
|
|
27
|
+
const { dereferenced: schema, raw } = resolver(input);
|
|
29
28
|
if (schema === true) return "any";
|
|
30
29
|
else if (schema === false) return "never";
|
|
31
30
|
if ((flags & FormatFlags.UseAlias) === FormatFlags.UseAlias) {
|
|
32
31
|
if (schema.title) return schema.title;
|
|
33
|
-
if (typeof
|
|
34
|
-
const ref =
|
|
32
|
+
if (typeof raw === "object" && raw.$ref) {
|
|
33
|
+
const ref = raw.$ref.split("/");
|
|
35
34
|
if (ref.length > 0) return ref[ref.length - 1];
|
|
36
35
|
}
|
|
37
36
|
}
|
|
@@ -54,5 +53,3 @@ function schemaToString(value, _resolver, flags = FormatFlags.None) {
|
|
|
54
53
|
}
|
|
55
54
|
//#endregion
|
|
56
55
|
export { FormatFlags, schemaToString };
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=to-string.js.map
|
package/dist/utils/url.js
CHANGED
package/dist/utils/use-query.js
CHANGED