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/css/generated/shared.css
CHANGED
|
@@ -218,7 +218,9 @@
|
|
|
218
218
|
@source inline("definitions");
|
|
219
219
|
@source inline("deprecated");
|
|
220
220
|
@source inline("depth");
|
|
221
|
+
@source inline("dereference");
|
|
221
222
|
@source inline("dereferenceDocument");
|
|
223
|
+
@source inline("dereferenceSwallow");
|
|
222
224
|
@source inline("dereferenced");
|
|
223
225
|
@source inline("description");
|
|
224
226
|
@source inline("descriptionNode");
|
|
@@ -263,7 +265,6 @@
|
|
|
263
265
|
@source inline("error");
|
|
264
266
|
@source inline("eslint-disable");
|
|
265
267
|
@source inline("eslint-disable-next-line");
|
|
266
|
-
@source inline("eslint-plugin-react-hooks/rules-of-hooks");
|
|
267
268
|
@source inline("example");
|
|
268
269
|
@source inline("exampleId");
|
|
269
270
|
@source inline("exampleRequests");
|
|
@@ -590,7 +591,6 @@
|
|
|
590
591
|
@source inline("overflow-hidden");
|
|
591
592
|
@source inline("overrides");
|
|
592
593
|
@source inline("overview");
|
|
593
|
-
@source inline("oxlint-disable-next-line");
|
|
594
594
|
@source inline("p-1");
|
|
595
595
|
@source inline("p-1.5");
|
|
596
596
|
@source inline("p-2");
|
package/dist/_openapi/types.d.ts
CHANGED
package/dist/generate-file.d.ts
CHANGED
|
@@ -78,5 +78,4 @@ interface BeforeWriteContext {
|
|
|
78
78
|
declare function generateFiles(options: Config): Promise<void>;
|
|
79
79
|
declare function generateFilesOnly(options: DistributiveOmit<Config, 'output'>): Promise<OutputFile[]>;
|
|
80
80
|
//#endregion
|
|
81
|
-
export { Config, OutputFile, generateFiles, generateFilesOnly };
|
|
82
|
-
//# sourceMappingURL=generate-file.d.ts.map
|
|
81
|
+
export { Config, OutputFile, generateFiles, generateFilesOnly };
|
package/dist/generate-file.js
CHANGED
package/dist/i18n.d.ts
CHANGED
|
@@ -96,5 +96,4 @@ declare const defaultTranslations: {
|
|
|
96
96
|
type Translations = typeof defaultTranslations;
|
|
97
97
|
declare function defineI18nOpenAPI<Languages extends string>(config: I18nUIConfig<Languages>, translations: Partial<Record<NoInfer<Languages>, Partial<Translations>>>): I18nUIConfig<Languages>;
|
|
98
98
|
//#endregion
|
|
99
|
-
export { Translations, defaultTranslations, defineI18nOpenAPI };
|
|
100
|
-
//# sourceMappingURL=i18n.d.ts.map
|
|
99
|
+
export { Translations, defaultTranslations, defineI18nOpenAPI };
|
package/dist/i18n.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BrowserFetcherOptions, FetchResult } from "./fetcher.js";
|
|
2
2
|
import { SchemaScope } from "./schema.js";
|
|
3
|
-
import { ProcessedDocument } from "../utils/document/process.js";
|
|
4
3
|
import { Document, HttpMethods, ParameterObject } from "../types.js";
|
|
5
4
|
import { ParsedSchema, SecurityEntry } from "../utils/schema/index.js";
|
|
6
5
|
import { ComponentProps, FC, ReactNode } from "react";
|
|
@@ -20,12 +19,8 @@ interface PlaygroundClientProps extends ComponentProps<'form'>, SchemaScope {
|
|
|
20
19
|
route: string;
|
|
21
20
|
method: HttpMethods;
|
|
22
21
|
securities: SecurityEntry[][];
|
|
23
|
-
/** the OpenAPI document */
|
|
24
|
-
doc:
|
|
25
|
-
bundled: Document;
|
|
26
|
-
} | {
|
|
27
|
-
processed: ProcessedDocument;
|
|
28
|
-
};
|
|
22
|
+
/** the OpenAPI document (not dereferenced) */
|
|
23
|
+
doc: Document;
|
|
29
24
|
proxyUrl?: string;
|
|
30
25
|
}
|
|
31
26
|
interface ResultDisplayProps extends ComponentProps<'div'> {
|
|
@@ -109,5 +104,4 @@ declare const Custom: {
|
|
|
109
104
|
};
|
|
110
105
|
};
|
|
111
106
|
//#endregion
|
|
112
|
-
export { AuthField, CollapsiblePanelProps, Custom, DefaultCollapsiblePanel, DefaultResultDisplay, FormValues, PlaygroundClientOptions, PlaygroundClientProps, ResultDisplayProps, PlaygroundClient as default };
|
|
113
|
-
//# sourceMappingURL=client.d.ts.map
|
|
107
|
+
export { AuthField, CollapsiblePanelProps, Custom, DefaultCollapsiblePanel, DefaultResultDisplay, FormValues, PlaygroundClientOptions, PlaygroundClientProps, ResultDisplayProps, PlaygroundClient as default };
|
|
@@ -8,6 +8,7 @@ import { cn } from "../utils/cn.js";
|
|
|
8
8
|
import { MethodLabel } from "../ui/components/method-label.js";
|
|
9
9
|
import { useQuery } from "../utils/use-query.js";
|
|
10
10
|
import { encodeRequestData } from "../requests/media/encode.js";
|
|
11
|
+
import { dereferenceSwallow } from "../utils/schema/dereference.js";
|
|
11
12
|
import { SchemaProvider, anyFields, useResolvedSchema } from "./schema.js";
|
|
12
13
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../ui/components/select.js";
|
|
13
14
|
import { labelVariants } from "../ui/components/input.js";
|
|
@@ -17,7 +18,6 @@ import { FieldInput, FieldSet, JsonInput, ObjectInput } from "./components/input
|
|
|
17
18
|
import { ClientCodeBlock } from "../ui/components/codeblock.js";
|
|
18
19
|
import { useOperationContext } from "../ui/operation/client.js";
|
|
19
20
|
import { OauthDialog, OauthDialogTrigger } from "./components/oauth-dialog.js";
|
|
20
|
-
import { dereferenceDocument } from "../utils/document/dereference.js";
|
|
21
21
|
import { Fragment, useEffect, useMemo, useRef, useState } from "react";
|
|
22
22
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
23
23
|
import { ChevronDown, LoaderCircle } from "lucide-react";
|
|
@@ -26,20 +26,29 @@ import { buttonVariants } from "fumadocs-ui/components/ui/button";
|
|
|
26
26
|
import { StfProvider, useDataEngine, useFieldValue, useListener, useStf } from "@fumari/stf";
|
|
27
27
|
import { objectGet, objectSet, stringifyFieldKey } from "@fumari/stf/lib/utils";
|
|
28
28
|
//#region src/playground/client.tsx
|
|
29
|
-
function getBodyInfo(operation) {
|
|
30
|
-
const content = operation.requestBody?.content;
|
|
31
|
-
if (!content) return;
|
|
32
|
-
const mediaType = getPreferredType(content);
|
|
33
|
-
if (mediaType) return {
|
|
34
|
-
mediaType,
|
|
35
|
-
schema: content[mediaType].schema ?? true
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
29
|
function PlaygroundClient({ route, method, securities, doc, proxyUrl, writeOnly, readOnly, ...rest }) {
|
|
39
30
|
const t = useTranslations();
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
const { parameters, body } = useMemo(() => {
|
|
32
|
+
const operation = doc.paths[route][method];
|
|
33
|
+
const parameters = operation.parameters?.map((param) => dereferenceSwallow(param, doc)) ?? [];
|
|
34
|
+
let body;
|
|
35
|
+
if (operation.requestBody) {
|
|
36
|
+
const content = dereferenceSwallow(operation.requestBody, doc).content;
|
|
37
|
+
const mediaType = content ? getPreferredType(content) : void 0;
|
|
38
|
+
if (content && mediaType) body = {
|
|
39
|
+
mediaType,
|
|
40
|
+
schema: dereferenceSwallow(content[mediaType], doc).schema ?? true
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
body,
|
|
45
|
+
parameters
|
|
46
|
+
};
|
|
47
|
+
}, [
|
|
48
|
+
doc,
|
|
49
|
+
route,
|
|
50
|
+
method
|
|
51
|
+
]);
|
|
43
52
|
const { example: exampleId, examples, setExampleData } = useOperationContext();
|
|
44
53
|
const { server } = useServerContext();
|
|
45
54
|
const storageKeys = useStorageKey();
|
|
@@ -69,7 +78,7 @@ function PlaygroundClient({ route, method, securities, doc, proxyUrl, writeOnly,
|
|
|
69
78
|
...mapInputs(input),
|
|
70
79
|
method,
|
|
71
80
|
bodyMediaType: body?.mediaType
|
|
72
|
-
}, mediaAdapters,
|
|
81
|
+
}, mediaAdapters, parameters);
|
|
73
82
|
return fetcher.fetch(joinURL(withBase(server ? resolveServerUrl(server.url, server.variables) : "/", window.location.origin), resolveRequestData(route, encoded)), encoded);
|
|
74
83
|
});
|
|
75
84
|
const timerRef = useRef(null);
|
|
@@ -88,7 +97,7 @@ function PlaygroundClient({ route, method, securities, doc, proxyUrl, writeOnly,
|
|
|
88
97
|
method,
|
|
89
98
|
bodyMediaType: body?.mediaType
|
|
90
99
|
};
|
|
91
|
-
setExampleData(data, encodeRequestData(data, mediaAdapters,
|
|
100
|
+
setExampleData(data, encodeRequestData(data, mediaAdapters, parameters));
|
|
92
101
|
}, timerRef.current ? 400 : 0);
|
|
93
102
|
}
|
|
94
103
|
});
|
|
@@ -102,7 +111,7 @@ function PlaygroundClient({ route, method, securities, doc, proxyUrl, writeOnly,
|
|
|
102
111
|
return /* @__PURE__ */ jsx(StfProvider, {
|
|
103
112
|
value: stf,
|
|
104
113
|
children: /* @__PURE__ */ jsx(SchemaProvider, {
|
|
105
|
-
|
|
114
|
+
doc,
|
|
106
115
|
writeOnly,
|
|
107
116
|
readOnly,
|
|
108
117
|
children: /* @__PURE__ */ jsxs("form", {
|
|
@@ -143,7 +152,7 @@ function PlaygroundClient({ route, method, securities, doc, proxyUrl, writeOnly,
|
|
|
143
152
|
setSecurityId,
|
|
144
153
|
children: inputs.map((input) => /* @__PURE__ */ jsx(Fragment, { children: input.children }, stringifyFieldKey(input.fieldName)))
|
|
145
154
|
}),
|
|
146
|
-
/* @__PURE__ */ jsx(ParametersForm, { parameters
|
|
155
|
+
/* @__PURE__ */ jsx(ParametersForm, { parameters }),
|
|
147
156
|
body && /* @__PURE__ */ jsx(CollapsiblePanel, {
|
|
148
157
|
"data-type": "body",
|
|
149
158
|
title: t.body,
|
|
@@ -220,7 +229,7 @@ function ParameterItem({ type, parameters }) {
|
|
|
220
229
|
}, stringifyFieldKey(fieldName));
|
|
221
230
|
});
|
|
222
231
|
}
|
|
223
|
-
function ParametersForm({ parameters
|
|
232
|
+
function ParametersForm({ parameters }) {
|
|
224
233
|
const { components: { CollapsiblePanel = DefaultCollapsiblePanel } = {} } = useApiContext().client.playground ?? {};
|
|
225
234
|
const t = useTranslations();
|
|
226
235
|
const displayNames = {
|
|
@@ -488,5 +497,3 @@ const Custom = { useController(fieldName, options) {
|
|
|
488
497
|
} };
|
|
489
498
|
//#endregion
|
|
490
499
|
export { Custom, DefaultCollapsiblePanel, DefaultResultDisplay, PlaygroundClient as default };
|
|
491
|
-
|
|
492
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -24,5 +24,4 @@ interface BrowserFetcherOptions {
|
|
|
24
24
|
onRequestInit?: (requestInit: RequestInit) => Awaitable<RequestInit>;
|
|
25
25
|
}
|
|
26
26
|
//#endregion
|
|
27
|
-
export { BrowserFetcherOptions, FetchResult };
|
|
28
|
-
//# sourceMappingURL=fetcher.d.ts.map
|
|
27
|
+
export { BrowserFetcherOptions, FetchResult };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { mergeAllOf } from "../utils/merge
|
|
1
|
+
import { mergeAllOf } from "../utils/schema/merge.js";
|
|
2
2
|
import { schemaToString } from "../utils/schema/to-string.js";
|
|
3
|
+
import { dereferenceSwallow } from "../utils/schema/dereference.js";
|
|
3
4
|
import { createContext, use, useMemo } from "react";
|
|
4
5
|
import { jsx } from "react/jsx-runtime";
|
|
5
6
|
import { Ajv2020 } from "ajv/dist/2020.js";
|
|
@@ -19,7 +20,7 @@ const anyFields = {
|
|
|
19
20
|
items: true,
|
|
20
21
|
additionalProperties: true
|
|
21
22
|
};
|
|
22
|
-
function SchemaProvider({
|
|
23
|
+
function SchemaProvider({ doc, readOnly, writeOnly, children }) {
|
|
23
24
|
const ajv = useMemo(() => new Ajv2020({
|
|
24
25
|
strict: false,
|
|
25
26
|
validateSchema: false,
|
|
@@ -27,12 +28,12 @@ function SchemaProvider({ schema, readOnly, writeOnly, children }) {
|
|
|
27
28
|
}), []);
|
|
28
29
|
return /* @__PURE__ */ jsx(SchemaContext.Provider, {
|
|
29
30
|
value: useMemo(() => ({
|
|
30
|
-
|
|
31
|
+
doc,
|
|
31
32
|
ajv,
|
|
32
33
|
readOnly,
|
|
33
34
|
writeOnly
|
|
34
35
|
}), [
|
|
35
|
-
|
|
36
|
+
doc,
|
|
36
37
|
ajv,
|
|
37
38
|
readOnly,
|
|
38
39
|
writeOnly
|
|
@@ -51,7 +52,7 @@ function useSchemaScope() {
|
|
|
51
52
|
* @param depth - The depth to avoid duplicated field name with same schema (e.g. nested `oneOf`).
|
|
52
53
|
*/
|
|
53
54
|
function useFieldInfo(fieldName, schema, depth = 0) {
|
|
54
|
-
const { ajv } = use(SchemaContext);
|
|
55
|
+
const { ajv, doc } = use(SchemaContext);
|
|
55
56
|
const engine = useDataEngine();
|
|
56
57
|
const { generateDefault } = useSchemaUtils();
|
|
57
58
|
const [info, setInfo] = useFieldValue([], { stf: useNamespace({
|
|
@@ -62,7 +63,10 @@ function useFieldInfo(fieldName, schema, depth = 0) {
|
|
|
62
63
|
const union = getUnion(schema);
|
|
63
64
|
if (union) {
|
|
64
65
|
const [members, field] = union;
|
|
65
|
-
out.oneOf = members.findIndex((item) => ajv.validate(
|
|
66
|
+
out.oneOf = members.findIndex((item) => typeof item === "object" && ajv.validate({
|
|
67
|
+
...doc,
|
|
68
|
+
...item
|
|
69
|
+
}, value));
|
|
66
70
|
if (out.oneOf === -1) out.oneOf = 0;
|
|
67
71
|
out.unionField = field;
|
|
68
72
|
}
|
|
@@ -70,6 +74,7 @@ function useFieldInfo(fieldName, schema, depth = 0) {
|
|
|
70
74
|
const types = schema.type;
|
|
71
75
|
out.selectedType = types.find((type) => {
|
|
72
76
|
return ajv.validate({
|
|
77
|
+
...doc,
|
|
73
78
|
...schema,
|
|
74
79
|
type
|
|
75
80
|
}, value);
|
|
@@ -100,29 +105,35 @@ function useFieldInfo(fieldName, schema, depth = 0) {
|
|
|
100
105
|
};
|
|
101
106
|
}
|
|
102
107
|
function useSchemaUtils() {
|
|
103
|
-
const {
|
|
108
|
+
const { doc, readOnly } = use(SchemaContext);
|
|
104
109
|
return {
|
|
105
110
|
generateDefault(schema) {
|
|
106
111
|
return sample(schema, {
|
|
107
112
|
skipNonRequired: true,
|
|
108
113
|
skipReadOnly: !readOnly,
|
|
109
114
|
quiet: true
|
|
110
|
-
});
|
|
115
|
+
}, doc);
|
|
111
116
|
},
|
|
112
117
|
schemaToString(value, flags) {
|
|
113
|
-
return schemaToString(value,
|
|
118
|
+
return schemaToString(value, (raw) => ({
|
|
119
|
+
raw,
|
|
120
|
+
dereferenced: dereferenceSwallow(raw, doc)
|
|
121
|
+
}), flags);
|
|
114
122
|
}
|
|
115
123
|
};
|
|
116
124
|
}
|
|
117
125
|
/**
|
|
118
|
-
* merge `allOf`.
|
|
126
|
+
* dereference & merge `allOf`.
|
|
119
127
|
*/
|
|
120
128
|
function useResolvedSchema(raw) {
|
|
129
|
+
const { doc } = use(SchemaContext);
|
|
121
130
|
return useMemo(() => {
|
|
122
|
-
let out = raw;
|
|
123
|
-
if (typeof out === "object" && out.allOf) out = mergeAllOf(out)
|
|
131
|
+
let out = dereferenceSwallow(raw, doc);
|
|
132
|
+
if (typeof out === "object" && out.allOf) out = mergeAllOf(out, { dereference(schema) {
|
|
133
|
+
return dereferenceSwallow(schema, doc);
|
|
134
|
+
} });
|
|
124
135
|
return typeof out === "boolean" ? anyFields : out;
|
|
125
|
-
}, [raw]);
|
|
136
|
+
}, [doc, raw]);
|
|
126
137
|
}
|
|
127
138
|
function getUnion(schema) {
|
|
128
139
|
if (schema.anyOf) return [schema.anyOf, "anyOf"];
|
|
@@ -130,5 +141,3 @@ function getUnion(schema) {
|
|
|
130
141
|
}
|
|
131
142
|
//#endregion
|
|
132
143
|
export { SchemaProvider, anyFields, useFieldInfo, useResolvedSchema, useSchemaScope, useSchemaUtils };
|
|
133
|
-
|
|
134
|
-
//# sourceMappingURL=schema.js.map
|
|
@@ -3,5 +3,4 @@ import { CodeUsageGeneratorRegistry } from "./index.js";
|
|
|
3
3
|
//#region src/requests/generators/all.d.ts
|
|
4
4
|
declare function registerDefault(registry: CodeUsageGeneratorRegistry): void;
|
|
5
5
|
//#endregion
|
|
6
|
-
export { registerDefault };
|
|
7
|
-
//# sourceMappingURL=all.d.ts.map
|
|
6
|
+
export { registerDefault };
|
|
@@ -52,5 +52,4 @@ type CodeUsageGeneratorFn<ServerContext = unknown> = (url: string, data: Request
|
|
|
52
52
|
server: ServerContext;
|
|
53
53
|
}) => string;
|
|
54
54
|
//#endregion
|
|
55
|
-
export { CodeUsageGenerator, CodeUsageGeneratorFn, CodeUsageGeneratorRegistry, InlineCodeUsageGenerator, createCodeUsageGeneratorRegistry };
|
|
56
|
-
//# sourceMappingURL=index.d.ts.map
|
|
55
|
+
export { CodeUsageGenerator, CodeUsageGeneratorFn, CodeUsageGeneratorRegistry, InlineCodeUsageGenerator, createCodeUsageGeneratorRegistry };
|
|
@@ -4,5 +4,4 @@ import { CodeUsageGenerator } from "./index.js";
|
|
|
4
4
|
declare const python: CodeUsageGenerator;
|
|
5
5
|
declare function generatePythonObject(v: unknown, imports: Set<string>): string;
|
|
6
6
|
//#endregion
|
|
7
|
-
export { generatePythonObject, python };
|
|
8
|
-
//# sourceMappingURL=python.d.ts.map
|
|
7
|
+
export { generatePythonObject, python };
|
package/dist/requests/types.d.ts
CHANGED
package/dist/scalar/client.js
CHANGED
package/dist/scalar/index.d.ts
CHANGED
package/dist/scalar/index.js
CHANGED
package/dist/server/create.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ProcessedDocument } from "../utils/document/process.js";
|
|
2
1
|
import { InlineCodeUsageGenerator } from "../requests/generators/index.js";
|
|
3
2
|
import { createProxy } from "./proxy.js";
|
|
3
|
+
import { ProcessedDocument } from "../utils/document/process.js";
|
|
4
4
|
import { Document } from "../types.js";
|
|
5
5
|
|
|
6
6
|
//#region src/server/create.d.ts
|
|
@@ -37,5 +37,4 @@ declare function createOpenAPI(options?: OpenAPIOptions): OpenAPIServer;
|
|
|
37
37
|
*/
|
|
38
38
|
declare function createCodeSample<T>(options: InlineCodeUsageGenerator<T>): InlineCodeUsageGenerator<T>;
|
|
39
39
|
//#endregion
|
|
40
|
-
export { OpenAPIOptions, OpenAPIServer, createCodeSample, createOpenAPI };
|
|
41
|
-
//# sourceMappingURL=create.d.ts.map
|
|
40
|
+
export { OpenAPIOptions, OpenAPIServer, createCodeSample, createOpenAPI };
|
package/dist/server/create.js
CHANGED
package/dist/server/proxy.d.ts
CHANGED
package/dist/server/proxy.js
CHANGED
|
@@ -51,5 +51,4 @@ declare function openapiSource(server: OpenAPIServer, options?: SchemaToPagesOpt
|
|
|
51
51
|
*/
|
|
52
52
|
declare function transformerOpenAPI(): PageTreeTransformer;
|
|
53
53
|
//#endregion
|
|
54
|
-
export { InternalOpenAPIMeta, openapiPlugin, openapiSource, transformerOpenAPI };
|
|
55
|
-
//# sourceMappingURL=source-api.d.ts.map
|
|
54
|
+
export { InternalOpenAPIMeta, openapiPlugin, openapiSource, transformerOpenAPI };
|
package/dist/types.d.ts
CHANGED
|
@@ -47,5 +47,4 @@ interface RenderContext extends Pick<OpenAPIOptions, 'proxyUrl'>, Omit<RequireKe
|
|
|
47
47
|
type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
|
|
48
48
|
type Awaitable<T> = T | Promise<T>;
|
|
49
49
|
//#endregion
|
|
50
|
-
export { Awaitable, CallbackObject, DistributiveOmit, Document, ExampleObject, HttpMethods, MediaTypeObject, MethodInformation, OAuth2SecurityScheme, OperationObject, ParameterObject, PathItemObject, ReferenceObject, RenderContext, RequestBodyObject, ResponseObject, SecuritySchemeObject, ServerObject, ServerVariableObject, TagObject };
|
|
51
|
-
//# sourceMappingURL=types.d.ts.map
|
|
50
|
+
export { Awaitable, CallbackObject, DistributiveOmit, Document, ExampleObject, HttpMethods, MediaTypeObject, MethodInformation, OAuth2SecurityScheme, OperationObject, ParameterObject, PathItemObject, ReferenceObject, RenderContext, RequestBodyObject, ResponseObject, SecuritySchemeObject, ServerObject, ServerVariableObject, TagObject };
|
package/dist/ui/api-page.d.ts
CHANGED