fumadocs-openapi 10.2.2 → 10.2.3
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/generate-file.d.ts +53 -49
- package/dist/generate-file.d.ts.map +1 -1
- package/dist/generate-file.js +88 -102
- package/dist/generate-file.js.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.js +3 -1
- package/dist/playground/client.d.ts +88 -72
- package/dist/playground/client.d.ts.map +1 -1
- package/dist/playground/client.js +446 -296
- package/dist/playground/client.js.map +1 -0
- package/dist/playground/components/inputs.js +395 -172
- package/dist/playground/components/inputs.js.map +1 -0
- package/dist/playground/components/oauth-dialog.js +270 -174
- package/dist/playground/components/oauth-dialog.js.map +1 -0
- package/dist/playground/components/server-select.js +115 -55
- package/dist/playground/components/server-select.js.map +1 -0
- package/dist/playground/fetcher.d.ts +10 -18
- package/dist/playground/fetcher.d.ts.map +1 -1
- package/dist/playground/fetcher.js +67 -75
- package/dist/playground/fetcher.js.map +1 -0
- package/dist/playground/get-default-values.js +23 -26
- package/dist/playground/get-default-values.js.map +1 -0
- package/dist/playground/index.d.ts +23 -13
- package/dist/playground/index.d.ts.map +1 -1
- package/dist/playground/index.js +87 -91
- package/dist/playground/index.js.map +1 -0
- package/dist/playground/lazy.js +9 -2
- package/dist/playground/lazy.js.map +1 -0
- package/dist/playground/schema.d.ts +18 -55
- package/dist/playground/schema.d.ts.map +1 -1
- package/dist/playground/schema.js +117 -106
- package/dist/playground/schema.js.map +1 -0
- package/dist/playground/status-info.js +49 -37
- package/dist/playground/status-info.js.map +1 -0
- package/dist/requests/generators/csharp.js +40 -50
- package/dist/requests/generators/csharp.js.map +1 -0
- package/dist/requests/generators/curl.js +28 -27
- package/dist/requests/generators/curl.js.map +1 -0
- package/dist/requests/generators/go.js +39 -35
- package/dist/requests/generators/go.js.map +1 -0
- package/dist/requests/generators/index.js +49 -43
- package/dist/requests/generators/index.js.map +1 -0
- package/dist/requests/generators/java.js +56 -67
- package/dist/requests/generators/java.js.map +1 -0
- package/dist/requests/generators/javascript.js +38 -45
- package/dist/requests/generators/javascript.js.map +1 -0
- package/dist/requests/generators/python.js +33 -37
- package/dist/requests/generators/python.js.map +1 -0
- package/dist/requests/media/adapter.d.ts +38 -84
- package/dist/requests/media/adapter.d.ts.map +1 -1
- package/dist/requests/media/adapter.js +122 -169
- package/dist/requests/media/adapter.js.map +1 -0
- package/dist/requests/media/encode.d.ts +12 -7
- package/dist/requests/media/encode.d.ts.map +1 -1
- package/dist/requests/media/encode.js +129 -109
- package/dist/requests/media/encode.js.map +1 -0
- package/dist/requests/media/resolve-adapter.js +28 -28
- package/dist/requests/media/resolve-adapter.js.map +1 -0
- package/dist/requests/string-utils.js +28 -35
- package/dist/requests/string-utils.js.map +1 -0
- package/dist/requests/to-python-object.js +16 -28
- package/dist/requests/to-python-object.js.map +1 -0
- package/dist/requests/types.d.ts +25 -21
- package/dist/requests/types.d.ts.map +1 -1
- package/dist/scalar/client.js +57 -20
- package/dist/scalar/client.js.map +1 -0
- package/dist/scalar/index.d.ts +8 -2
- package/dist/scalar/index.d.ts.map +1 -1
- package/dist/scalar/index.js +29 -19
- package/dist/scalar/index.js.map +1 -0
- package/dist/server/create.d.ts +29 -25
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/create.js +42 -39
- package/dist/server/create.js.map +1 -0
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +4 -2
- package/dist/server/proxy.d.ts +28 -28
- package/dist/server/proxy.d.ts.map +1 -1
- package/dist/server/proxy.js +58 -75
- package/dist/server/proxy.js.map +1 -0
- package/dist/server/source-api.d.ts +32 -29
- package/dist/server/source-api.d.ts.map +1 -1
- package/dist/server/source-api.js +82 -75
- package/dist/server/source-api.js.map +1 -0
- package/dist/types.d.ts +41 -36
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/api-page.d.ts +140 -136
- package/dist/ui/api-page.d.ts.map +1 -1
- package/dist/ui/api-page.js +134 -118
- package/dist/ui/api-page.js.map +1 -0
- package/dist/ui/client/index.d.ts +30 -26
- package/dist/ui/client/index.d.ts.map +1 -1
- package/dist/ui/client/index.js +8 -2
- package/dist/ui/client/index.js.map +1 -0
- package/dist/ui/client/storage-key.js +16 -10
- package/dist/ui/client/storage-key.js.map +1 -0
- package/dist/ui/components/accordion.js +40 -14
- package/dist/ui/components/accordion.js.map +1 -0
- package/dist/ui/components/dialog.js +51 -15
- package/dist/ui/components/dialog.js.map +1 -0
- package/dist/ui/components/input.js +18 -8
- package/dist/ui/components/input.js.map +1 -0
- package/dist/ui/components/method-label.js +38 -33
- package/dist/ui/components/method-label.js.map +1 -0
- package/dist/ui/components/select.js +66 -15
- package/dist/ui/components/select.js.map +1 -0
- package/dist/ui/contexts/api.js +96 -85
- package/dist/ui/contexts/api.js.map +1 -0
- package/dist/ui/contexts/api.lazy.js +9 -2
- package/dist/ui/contexts/api.lazy.js.map +1 -0
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.js +3 -1
- package/dist/ui/operation/client.js +65 -27
- package/dist/ui/operation/client.js.map +1 -0
- package/dist/ui/operation/index.js +403 -186
- package/dist/ui/operation/index.js.map +1 -0
- package/dist/ui/operation/request-tabs.d.ts +15 -16
- package/dist/ui/operation/request-tabs.d.ts.map +1 -1
- package/dist/ui/operation/request-tabs.js +151 -131
- package/dist/ui/operation/request-tabs.js.map +1 -0
- package/dist/ui/operation/response-tabs.d.ts +27 -28
- package/dist/ui/operation/response-tabs.d.ts.map +1 -1
- package/dist/ui/operation/response-tabs.js +73 -56
- package/dist/ui/operation/response-tabs.js.map +1 -0
- package/dist/ui/operation/usage-tabs/client.js +117 -88
- package/dist/ui/operation/usage-tabs/client.js.map +1 -0
- package/dist/ui/operation/usage-tabs/index.d.ts +22 -21
- package/dist/ui/operation/usage-tabs/index.d.ts.map +1 -1
- package/dist/ui/operation/usage-tabs/index.js +63 -48
- package/dist/ui/operation/usage-tabs/index.js.map +1 -0
- package/dist/ui/operation/usage-tabs/lazy.js +11 -4
- package/dist/ui/operation/usage-tabs/lazy.js.map +1 -0
- package/dist/ui/schema/client.d.ts +11 -7
- package/dist/ui/schema/client.d.ts.map +1 -1
- package/dist/ui/schema/client.js +213 -127
- package/dist/ui/schema/client.js.map +1 -0
- package/dist/ui/schema/index.d.ts +51 -50
- package/dist/ui/schema/index.d.ts.map +1 -1
- package/dist/ui/schema/index.js +225 -248
- package/dist/ui/schema/index.js.map +1 -0
- package/dist/ui/schema/lazy.js +9 -2
- package/dist/ui/schema/lazy.js.map +1 -0
- package/dist/utils/cn.js +3 -1
- package/dist/utils/deep-equal.js +18 -26
- package/dist/utils/deep-equal.js.map +1 -0
- package/dist/utils/get-typescript-schema.js +21 -19
- package/dist/utils/get-typescript-schema.js.map +1 -0
- package/dist/utils/id-to-title.js +13 -16
- package/dist/utils/id-to-title.js.map +1 -0
- package/dist/utils/lazy.js +13 -11
- package/dist/utils/lazy.js.map +1 -0
- package/dist/utils/merge-schema.js +130 -174
- package/dist/utils/merge-schema.js.map +1 -0
- package/dist/utils/pages/builder.d.ts +80 -76
- package/dist/utils/pages/builder.d.ts.map +1 -1
- package/dist/utils/pages/builder.js +101 -118
- package/dist/utils/pages/builder.js.map +1 -0
- package/dist/utils/pages/preset-auto.d.ts +58 -55
- package/dist/utils/pages/preset-auto.d.ts.map +1 -1
- package/dist/utils/pages/preset-auto.js +124 -137
- package/dist/utils/pages/preset-auto.js.map +1 -0
- package/dist/utils/pages/to-body.js +21 -18
- package/dist/utils/pages/to-body.js.map +1 -0
- package/dist/utils/pages/to-static-data.js +48 -40
- package/dist/utils/pages/to-static-data.js.map +1 -0
- package/dist/utils/pages/to-text.d.ts +43 -41
- package/dist/utils/pages/to-text.d.ts.map +1 -1
- package/dist/utils/pages/to-text.js +93 -126
- package/dist/utils/pages/to-text.js.map +1 -0
- package/dist/utils/process-document.d.ts +18 -19
- package/dist/utils/process-document.d.ts.map +1 -1
- package/dist/utils/process-document.js +43 -54
- package/dist/utils/process-document.js.map +1 -0
- package/dist/utils/remove-undefined.js +18 -18
- package/dist/utils/remove-undefined.js.map +1 -0
- package/dist/utils/schema-to-string.js +46 -64
- package/dist/utils/schema-to-string.js.map +1 -0
- package/dist/utils/schema.d.ts +11 -27
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +43 -44
- package/dist/utils/schema.js.map +1 -0
- package/dist/utils/url.js +35 -56
- package/dist/utils/url.js.map +1 -0
- package/dist/utils/use-query.js +39 -33
- package/dist/utils/use-query.js.map +1 -0
- package/package.json +33 -32
- package/dist/index.d.ts.map +0 -1
- package/dist/playground/components/inputs.d.ts +0 -25
- package/dist/playground/components/inputs.d.ts.map +0 -1
- package/dist/playground/components/oauth-dialog.d.ts +0 -13
- package/dist/playground/components/oauth-dialog.d.ts.map +0 -1
- package/dist/playground/components/server-select.d.ts +0 -3
- package/dist/playground/components/server-select.d.ts.map +0 -1
- package/dist/playground/get-default-values.d.ts +0 -3
- package/dist/playground/get-default-values.d.ts.map +0 -1
- package/dist/playground/lazy.d.ts +0 -2
- package/dist/playground/lazy.d.ts.map +0 -1
- package/dist/playground/status-info.d.ts +0 -8
- package/dist/playground/status-info.d.ts.map +0 -1
- package/dist/requests/generators/csharp.d.ts +0 -3
- package/dist/requests/generators/csharp.d.ts.map +0 -1
- package/dist/requests/generators/curl.d.ts +0 -3
- package/dist/requests/generators/curl.d.ts.map +0 -1
- package/dist/requests/generators/go.d.ts +0 -3
- package/dist/requests/generators/go.d.ts.map +0 -1
- package/dist/requests/generators/index.d.ts +0 -3
- package/dist/requests/generators/index.d.ts.map +0 -1
- package/dist/requests/generators/java.d.ts +0 -3
- package/dist/requests/generators/java.d.ts.map +0 -1
- package/dist/requests/generators/javascript.d.ts +0 -3
- package/dist/requests/generators/javascript.d.ts.map +0 -1
- package/dist/requests/generators/python.d.ts +0 -3
- package/dist/requests/generators/python.d.ts.map +0 -1
- package/dist/requests/media/resolve-adapter.d.ts +0 -19
- package/dist/requests/media/resolve-adapter.d.ts.map +0 -1
- package/dist/requests/string-utils.d.ts +0 -7
- package/dist/requests/string-utils.d.ts.map +0 -1
- package/dist/requests/to-python-object.d.ts +0 -2
- package/dist/requests/to-python-object.d.ts.map +0 -1
- package/dist/requests/types.js +0 -1
- package/dist/scalar/client.d.ts +0 -7
- package/dist/scalar/client.d.ts.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/types.js +0 -1
- package/dist/ui/client/storage-key.d.ts +0 -9
- package/dist/ui/client/storage-key.d.ts.map +0 -1
- package/dist/ui/components/accordion.d.ts +0 -8
- package/dist/ui/components/accordion.d.ts.map +0 -1
- package/dist/ui/components/dialog.d.ts +0 -20
- package/dist/ui/components/dialog.d.ts.map +0 -1
- package/dist/ui/components/input.d.ts +0 -6
- package/dist/ui/components/input.d.ts.map +0 -1
- package/dist/ui/components/method-label.d.ts +0 -10
- package/dist/ui/components/method-label.d.ts.map +0 -1
- package/dist/ui/components/select.d.ts +0 -14
- package/dist/ui/components/select.d.ts.map +0 -1
- package/dist/ui/contexts/api.d.ts +0 -33
- package/dist/ui/contexts/api.d.ts.map +0 -1
- package/dist/ui/contexts/api.lazy.d.ts +0 -2
- package/dist/ui/contexts/api.lazy.d.ts.map +0 -1
- package/dist/ui/icons.d.ts +0 -49
- package/dist/ui/icons.d.ts.map +0 -1
- package/dist/ui/icons.js +0 -281
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/operation/client.d.ts +0 -19
- package/dist/ui/operation/client.d.ts.map +0 -1
- package/dist/ui/operation/index.d.ts +0 -12
- package/dist/ui/operation/index.d.ts.map +0 -1
- package/dist/ui/operation/usage-tabs/client.d.ts +0 -23
- package/dist/ui/operation/usage-tabs/client.d.ts.map +0 -1
- package/dist/ui/operation/usage-tabs/lazy.d.ts +0 -4
- package/dist/ui/operation/usage-tabs/lazy.d.ts.map +0 -1
- package/dist/ui/schema/lazy.d.ts +0 -2
- package/dist/ui/schema/lazy.d.ts.map +0 -1
- package/dist/utils/cn.d.ts +0 -2
- package/dist/utils/cn.d.ts.map +0 -1
- package/dist/utils/deep-equal.d.ts +0 -2
- package/dist/utils/deep-equal.d.ts.map +0 -1
- package/dist/utils/get-typescript-schema.d.ts +0 -4
- package/dist/utils/get-typescript-schema.d.ts.map +0 -1
- package/dist/utils/id-to-title.d.ts +0 -2
- package/dist/utils/id-to-title.d.ts.map +0 -1
- package/dist/utils/lazy.d.ts +0 -5
- package/dist/utils/lazy.d.ts.map +0 -1
- package/dist/utils/merge-schema.d.ts +0 -7
- package/dist/utils/merge-schema.d.ts.map +0 -1
- package/dist/utils/pages/to-body.d.ts +0 -4
- package/dist/utils/pages/to-body.d.ts.map +0 -1
- package/dist/utils/pages/to-static-data.d.ts +0 -10
- package/dist/utils/pages/to-static-data.d.ts.map +0 -1
- package/dist/utils/remove-undefined.d.ts +0 -2
- package/dist/utils/remove-undefined.d.ts.map +0 -1
- package/dist/utils/schema-to-string.d.ts +0 -8
- package/dist/utils/schema-to-string.d.ts.map +0 -1
- package/dist/utils/url.d.ts +0 -11
- package/dist/utils/url.d.ts.map +0 -1
- package/dist/utils/use-query.d.ts +0 -8
- package/dist/utils/use-query.d.ts.map +0 -1
|
@@ -1,81 +1,88 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { MethodLabel } from "../ui/components/method-label.js";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/server/source-api.tsx
|
|
3
5
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
6
|
+
* Fumadocs Source API integration, pass this to `plugins` array in `loader()`.
|
|
7
|
+
*/
|
|
8
|
+
function openapiPlugin() {
|
|
9
|
+
return {
|
|
10
|
+
name: "fumadocs:openapi",
|
|
11
|
+
enforce: "pre",
|
|
12
|
+
transformPageTree: { file(node, filePath) {
|
|
13
|
+
if (!filePath) return node;
|
|
14
|
+
const file = this.storage.read(filePath);
|
|
15
|
+
if (!file || file.format !== "page") return node;
|
|
16
|
+
const openApiData = file.data._openapi;
|
|
17
|
+
if (!openApiData || typeof openApiData !== "object") return node;
|
|
18
|
+
if (openApiData.webhook) node.name = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
19
|
+
node.name,
|
|
20
|
+
" ",
|
|
21
|
+
/* @__PURE__ */ jsx("span", {
|
|
22
|
+
className: "ms-auto border border-current px-1 rounded-lg text-xs text-nowrap font-mono",
|
|
23
|
+
children: "Webhook"
|
|
24
|
+
})
|
|
25
|
+
] });
|
|
26
|
+
else if (openApiData.method) node.name = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
27
|
+
node.name,
|
|
28
|
+
" ",
|
|
29
|
+
/* @__PURE__ */ jsx(MethodLabel, {
|
|
30
|
+
className: "ms-auto text-xs text-nowrap",
|
|
31
|
+
children: openApiData.method
|
|
32
|
+
})
|
|
33
|
+
] });
|
|
34
|
+
return node;
|
|
35
|
+
} }
|
|
36
|
+
};
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
files,
|
|
74
|
-
};
|
|
39
|
+
* Generate virtual pages for Fumadocs Source API
|
|
40
|
+
*/
|
|
41
|
+
async function openapiSource(server, options = {}) {
|
|
42
|
+
const { baseDir = "" } = options;
|
|
43
|
+
const { createAutoPreset } = await import("../utils/pages/preset-auto.js");
|
|
44
|
+
const { fromServer } = await import("../utils/pages/builder.js");
|
|
45
|
+
const { toBody } = await import("../utils/pages/to-body.js");
|
|
46
|
+
const { toStaticData } = await import("../utils/pages/to-static-data.js");
|
|
47
|
+
const files = [];
|
|
48
|
+
const entries = await fromServer(server, createAutoPreset(options));
|
|
49
|
+
for (const [schemaId, list] of Object.entries(entries)) {
|
|
50
|
+
const processed = await server.getSchema(schemaId);
|
|
51
|
+
for (const entry of list) {
|
|
52
|
+
const props = toBody(entry);
|
|
53
|
+
props.showDescription ??= true;
|
|
54
|
+
files.push({
|
|
55
|
+
type: "page",
|
|
56
|
+
path: `${baseDir}/${entry.path}`,
|
|
57
|
+
data: {
|
|
58
|
+
...entry.info,
|
|
59
|
+
getAPIPageProps() {
|
|
60
|
+
return props;
|
|
61
|
+
},
|
|
62
|
+
getSchema() {
|
|
63
|
+
return {
|
|
64
|
+
id: schemaId,
|
|
65
|
+
...processed
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
...toStaticData(props, processed.dereferenced),
|
|
69
|
+
_openapi: {
|
|
70
|
+
method: entry.type === "operation" || entry.type === "webhook" ? entry.item.method : void 0,
|
|
71
|
+
webhook: entry.type === "webhook"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return { files };
|
|
75
78
|
}
|
|
76
79
|
/**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
* @deprecated use `openapiPlugin()`
|
|
81
|
+
*/
|
|
82
|
+
function transformerOpenAPI() {
|
|
83
|
+
return openapiPlugin().transformPageTree;
|
|
81
84
|
}
|
|
85
|
+
|
|
86
|
+
//#endregion
|
|
87
|
+
export { openapiPlugin, openapiSource, transformerOpenAPI };
|
|
88
|
+
//# sourceMappingURL=source-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-api.js","names":["files: VirtualFile<{\n pageData: OpenAPIPageData;\n metaData: never;\n }>[]"],"sources":["../../src/server/source-api.tsx"],"sourcesContent":["import { MethodLabel } from '@/ui/components/method-label';\nimport type {\n LoaderPlugin,\n PageData,\n PageTreeTransformer,\n Source,\n VirtualFile,\n} from 'fumadocs-core/source';\nimport type { OpenAPIServer } from '@/server/create';\nimport type { SchemaToPagesOptions } from '@/utils/pages/preset-auto';\nimport type { ApiPageProps } from '@/ui/api-page';\nimport type { StructuredData } from 'fumadocs-core/mdx-plugins';\nimport type { TOCItemType } from 'fumadocs-core/toc';\nimport type { ProcessedDocument } from '@/utils/process-document';\n\ndeclare module 'fumadocs-core/source' {\n export interface PageData {\n /**\n * Added by Fumadocs OpenAPI\n */\n _openapi?: InternalOpenAPIMeta;\n }\n}\n\nexport interface InternalOpenAPIMeta {\n method?: string;\n webhook?: boolean;\n}\n\n/**\n * Fumadocs Source API integration, pass this to `plugins` array in `loader()`.\n */\nexport function openapiPlugin(): LoaderPlugin {\n return {\n name: 'fumadocs:openapi',\n enforce: 'pre',\n transformPageTree: {\n file(node, filePath) {\n if (!filePath) return node;\n const file = this.storage.read(filePath);\n if (!file || file.format !== 'page') return node;\n\n const openApiData = file.data._openapi;\n if (!openApiData || typeof openApiData !== 'object') return node;\n\n if (openApiData.webhook) {\n node.name = (\n <>\n {node.name}{' '}\n <span className=\"ms-auto border border-current px-1 rounded-lg text-xs text-nowrap font-mono\">\n Webhook\n </span>\n </>\n );\n } else if (openApiData.method) {\n node.name = (\n <>\n {node.name}{' '}\n <MethodLabel className=\"ms-auto text-xs text-nowrap\">\n {openApiData.method}\n </MethodLabel>\n </>\n );\n }\n\n return node;\n },\n },\n };\n}\n\ninterface OpenAPIPageData extends PageData {\n getAPIPageProps: () => ApiPageProps;\n getSchema: () => { id: string } & ProcessedDocument;\n structuredData: StructuredData;\n toc: TOCItemType[];\n}\n\n/**\n * Generate virtual pages for Fumadocs Source API\n */\nexport async function openapiSource(\n server: OpenAPIServer,\n options: SchemaToPagesOptions & {\n baseDir?: string;\n } = {},\n): Promise<\n Source<{\n metaData: never;\n pageData: OpenAPIPageData;\n }>\n> {\n const { baseDir = '' } = options;\n const { createAutoPreset } = await import('@/utils/pages/preset-auto');\n const { fromServer } = await import('@/utils/pages/builder');\n const { toBody } = await import('@/utils/pages/to-body');\n const { toStaticData } = await import('@/utils/pages/to-static-data');\n const files: VirtualFile<{\n pageData: OpenAPIPageData;\n metaData: never;\n }>[] = [];\n\n const entries = await fromServer(server, createAutoPreset(options));\n for (const [schemaId, list] of Object.entries(entries)) {\n const processed = await server.getSchema(schemaId);\n for (const entry of list) {\n const props = toBody(entry);\n props.showDescription ??= true;\n\n files.push({\n type: 'page',\n path: `${baseDir}/${entry.path}`,\n data: {\n ...entry.info,\n getAPIPageProps() {\n return props;\n },\n getSchema() {\n return {\n id: schemaId,\n ...processed,\n };\n },\n ...toStaticData(props, processed.dereferenced),\n _openapi: {\n method:\n entry.type === 'operation' || entry.type === 'webhook'\n ? entry.item.method\n : undefined,\n webhook: entry.type === 'webhook',\n },\n },\n });\n }\n }\n\n return {\n files,\n };\n}\n\n/**\n * @deprecated use `openapiPlugin()`\n */\nexport function transformerOpenAPI(): PageTreeTransformer {\n return openapiPlugin().transformPageTree!;\n}\n"],"mappings":";;;;;;;AAgCA,SAAgB,gBAA8B;AAC5C,QAAO;EACL,MAAM;EACN,SAAS;EACT,mBAAmB,EACjB,KAAK,MAAM,UAAU;AACnB,OAAI,CAAC,SAAU,QAAO;GACtB,MAAM,OAAO,KAAK,QAAQ,KAAK,SAAS;AACxC,OAAI,CAAC,QAAQ,KAAK,WAAW,OAAQ,QAAO;GAE5C,MAAM,cAAc,KAAK,KAAK;AAC9B,OAAI,CAAC,eAAe,OAAO,gBAAgB,SAAU,QAAO;AAE5D,OAAI,YAAY,QACd,MAAK,OACH;IACG,KAAK;IAAM;IACZ,oBAAC;KAAK,WAAU;eAA8E;MAEvF;OACN;YAEI,YAAY,OACrB,MAAK,OACH;IACG,KAAK;IAAM;IACZ,oBAAC;KAAY,WAAU;eACpB,YAAY;MACD;OACb;AAIP,UAAO;KAEV;EACF;;;;;AAaH,eAAsB,cACpB,QACA,UAEI,EAAE,EAMN;CACA,MAAM,EAAE,UAAU,OAAO;CACzB,MAAM,EAAE,qBAAqB,MAAM,OAAO;CAC1C,MAAM,EAAE,eAAe,MAAM,OAAO;CACpC,MAAM,EAAE,WAAW,MAAM,OAAO;CAChC,MAAM,EAAE,iBAAiB,MAAM,OAAO;CACtC,MAAMA,QAGC,EAAE;CAET,MAAM,UAAU,MAAM,WAAW,QAAQ,iBAAiB,QAAQ,CAAC;AACnE,MAAK,MAAM,CAAC,UAAU,SAAS,OAAO,QAAQ,QAAQ,EAAE;EACtD,MAAM,YAAY,MAAM,OAAO,UAAU,SAAS;AAClD,OAAK,MAAM,SAAS,MAAM;GACxB,MAAM,QAAQ,OAAO,MAAM;AAC3B,SAAM,oBAAoB;AAE1B,SAAM,KAAK;IACT,MAAM;IACN,MAAM,GAAG,QAAQ,GAAG,MAAM;IAC1B,MAAM;KACJ,GAAG,MAAM;KACT,kBAAkB;AAChB,aAAO;;KAET,YAAY;AACV,aAAO;OACL,IAAI;OACJ,GAAG;OACJ;;KAEH,GAAG,aAAa,OAAO,UAAU,aAAa;KAC9C,UAAU;MACR,QACE,MAAM,SAAS,eAAe,MAAM,SAAS,YACzC,MAAM,KAAK,SACX;MACN,SAAS,MAAM,SAAS;MACzB;KACF;IACF,CAAC;;;AAIN,QAAO,EACL,OACD;;;;;AAMH,SAAgB,qBAA0C;AACxD,QAAO,eAAe,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,39 +1,44 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
1
|
+
import { NoReference } from "./utils/schema.js";
|
|
2
|
+
import { MediaAdapter } from "./requests/media/adapter.js";
|
|
3
|
+
import { CodeUsageGenerator } from "./ui/operation/usage-tabs/index.js";
|
|
4
|
+
import { OpenAPIOptions } from "./server/create.js";
|
|
5
|
+
import { CreateAPIPageOptions } from "./ui/api-page.js";
|
|
6
|
+
import "./server/index.js";
|
|
7
|
+
import { ProcessedDocument } from "./utils/process-document.js";
|
|
8
|
+
import Slugger from "github-slugger";
|
|
9
|
+
import { HTMLAttributes, ReactNode } from "react";
|
|
10
|
+
import { OpenAPIV3_1 } from "openapi-types";
|
|
11
|
+
|
|
12
|
+
//#region src/types.d.ts
|
|
13
|
+
type Document = OpenAPIV3_1.Document;
|
|
14
|
+
type OperationObject = OpenAPIV3_1.OperationObject;
|
|
15
|
+
type ParameterObject = OpenAPIV3_1.ParameterObject;
|
|
16
|
+
type SecuritySchemeObject = OpenAPIV3_1.SecuritySchemeObject;
|
|
17
|
+
type ReferenceObject = OpenAPIV3_1.ReferenceObject;
|
|
18
|
+
type PathItemObject = OpenAPIV3_1.PathItemObject;
|
|
19
|
+
type TagObject = OpenAPIV3_1.TagObject;
|
|
20
|
+
type ServerObject = OpenAPIV3_1.ServerObject;
|
|
21
|
+
type CallbackObject = OpenAPIV3_1.CallbackObject;
|
|
22
|
+
type ServerVariableObject = OpenAPIV3_1.ServerVariableObject;
|
|
23
|
+
type ResponseObject = OpenAPIV3_1.ResponseObject;
|
|
24
|
+
type MethodInformation = NoReference<OperationObject> & {
|
|
25
|
+
method: string;
|
|
26
|
+
'x-codeSamples'?: Omit<CodeUsageGenerator, 'id'>[];
|
|
27
|
+
'x-selectedCodeSample'?: string;
|
|
28
|
+
'x-exclusiveCodeSample'?: string;
|
|
26
29
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
interface RenderContext extends Pick<OpenAPIOptions, 'proxyUrl'>, CreateAPIPageOptions {
|
|
31
|
+
servers: NoReference<ServerObject>[];
|
|
32
|
+
slugger: Slugger;
|
|
33
|
+
/**
|
|
34
|
+
* dereferenced schema
|
|
35
|
+
*/
|
|
36
|
+
schema: ProcessedDocument;
|
|
37
|
+
mediaAdapters: Record<string, MediaAdapter>;
|
|
38
|
+
renderHeading: (depth: number, text: string, props?: HTMLAttributes<HTMLHeadingElement>) => ReactNode;
|
|
39
|
+
renderMarkdown: (text: string) => ReactNode;
|
|
40
|
+
renderCodeBlock: (lang: string, code: string) => ReactNode;
|
|
38
41
|
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { CallbackObject, Document, MethodInformation, OperationObject, ParameterObject, PathItemObject, ReferenceObject, RenderContext, ResponseObject, SecuritySchemeObject, ServerObject, ServerVariableObject, TagObject };
|
|
39
44
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;KAUY,QAAA,GAAW,WAAA,CAAK;KAChB,eAAA,GAAkB,WAAA,CAAK;KACvB,eAAA,GAAkB,WAAA,CAAK;AAFvB,KAGA,oBAAA,GAAuB,WAAA,CAAK,oBAHJ;AACxB,KAGA,eAAA,GAAkB,WAAA,CAAK,eAHA;AACvB,KAGA,cAAA,GAAiB,WAAA,CAAK,cAHC;AACvB,KAGA,SAAA,GAAY,WAAA,CAAK,SAHG;AACpB,KAGA,YAAA,GAAe,WAAA,CAAK,YAHF;AAClB,KAGA,cAAA,GAAiB,WAAA,CAAK,cAHA;AACtB,KAGA,oBAAA,GAAuB,WAAA,CAAK,oBAHF;AAC1B,KAGA,cAAA,GAAiB,WAAA,CAAK,cAHF;AACpB,KAIA,iBAAA,GAAoB,WAJH,CAIe,eAJV,CAAc,GAAA;EACpC,MAAA,EAAA,MAAA;EACA,eAAA,CAAA,EAIQ,IAJM,CAID,kBAJS,EAAA,IAAA,CAAA,EAAA;EAEtB,sBAAiB,CAAA,EAAA,MAAA;EAAe,uBAAA,CAAA,EAAA,MAAA;CAAZ;AAEP,UAKR,aAAA,SAAsB,IALd,CAKmB,cALnB,EAAA,UAAA,CAAA,EAKgD,oBALhD,CAAA;EAAL,OAAA,EAMT,WANS,CAMG,YANH,CAAA,EAAA;EAAI,OAAA,EAOb,OAPa;EAKP;;;EACN,MAAA,EAMD,iBANC;EACA,aAAA,EAOM,MAPN,CAAA,MAAA,EAOqB,YAPrB,CAAA;EAKD,aAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAOE,cAPF,CAOiB,kBAPjB,CAAA,EAAA,GAQH,SARG;EAEsB,cAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,GAOI,SAPJ;EAAf,eAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAQkC,SARlC"}
|
package/dist/ui/api-page.d.ts
CHANGED
|
@@ -1,153 +1,157 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
1
|
+
import { NoReference } from "../utils/schema.js";
|
|
2
|
+
import { MediaAdapter } from "../requests/media/adapter.js";
|
|
3
|
+
import { CodeUsageGenerator } from "./operation/usage-tabs/index.js";
|
|
4
|
+
import { OpenAPIServer } from "../server/create.js";
|
|
5
|
+
import { ExampleRequestItem } from "./operation/request-tabs.js";
|
|
6
|
+
import { APIPageClientOptions } from "./client/index.js";
|
|
7
|
+
import { SchemaUIOptions } from "./schema/index.js";
|
|
8
|
+
import { ResponseTab } from "./operation/response-tabs.js";
|
|
9
|
+
import "../server/index.js";
|
|
10
|
+
import { MethodInformation, RenderContext } from "../types.js";
|
|
11
|
+
import { ProcessedDocument } from "../utils/process-document.js";
|
|
12
|
+
import { FC, ReactNode } from "react";
|
|
13
|
+
import { HighlightOptionsCommon, HighlightOptionsThemes } from "fumadocs-core/highlight";
|
|
14
|
+
import { OpenAPIV3_1 } from "openapi-types";
|
|
15
|
+
|
|
16
|
+
//#region src/ui/api-page.d.ts
|
|
14
17
|
type Awaitable<T> = T | Promise<T>;
|
|
15
|
-
|
|
18
|
+
interface CreateAPIPageOptions {
|
|
19
|
+
/**
|
|
20
|
+
* Generate TypeScript definitions from response schema.
|
|
21
|
+
*
|
|
22
|
+
* Pass `false` to disable it.
|
|
23
|
+
*
|
|
24
|
+
* @param method - the operation object
|
|
25
|
+
* @param statusCode - status code
|
|
26
|
+
*/
|
|
27
|
+
generateTypeScriptSchema?: ((method: NoReference<MethodInformation>, statusCode: string) => Awaitable<string>) | false;
|
|
28
|
+
/**
|
|
29
|
+
* Generate example code usage for endpoints.
|
|
30
|
+
*/
|
|
31
|
+
generateCodeSamples?: (method: MethodInformation) => Awaitable<CodeUsageGenerator[]>;
|
|
32
|
+
shikiOptions?: Omit<HighlightOptionsCommon, 'lang' | 'components'> & HighlightOptionsThemes;
|
|
33
|
+
/**
|
|
34
|
+
* Show full response schema instead of only example response & Typescript definitions.
|
|
35
|
+
*
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
showResponseSchema?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Support other media types (for server-side generation).
|
|
41
|
+
*/
|
|
42
|
+
mediaAdapters?: Record<string, MediaAdapter>;
|
|
43
|
+
/**
|
|
44
|
+
* Customise page content
|
|
45
|
+
*/
|
|
46
|
+
content?: {
|
|
47
|
+
renderResponseTabs?: (tabs: ResponseTab[], ctx: RenderContext) => Awaitable<ReactNode>;
|
|
48
|
+
renderRequestTabs?: (items: ExampleRequestItem[], ctx: RenderContext & {
|
|
49
|
+
route: string;
|
|
50
|
+
operation: NoReference<MethodInformation>;
|
|
51
|
+
}) => Awaitable<ReactNode>;
|
|
52
|
+
renderAPIExampleLayout?: (slots: {
|
|
53
|
+
selector: ReactNode;
|
|
54
|
+
usageTabs: ReactNode;
|
|
55
|
+
responseTabs: ReactNode;
|
|
56
|
+
}, ctx: RenderContext) => Awaitable<ReactNode>;
|
|
16
57
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* Pass `false` to disable it.
|
|
20
|
-
*
|
|
21
|
-
* @param method - the operation object
|
|
22
|
-
* @param statusCode - status code
|
|
58
|
+
* @param generators - codegens for API example usages
|
|
23
59
|
*/
|
|
24
|
-
|
|
60
|
+
renderAPIExampleUsageTabs?: (generators: CodeUsageGenerator[], ctx: RenderContext) => Awaitable<ReactNode>;
|
|
25
61
|
/**
|
|
26
|
-
*
|
|
62
|
+
* renderer of the entire page's layout (containing all operations & webhooks UI)
|
|
27
63
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
64
|
+
renderPageLayout?: (slots: {
|
|
65
|
+
operations?: {
|
|
66
|
+
item: OperationItem;
|
|
67
|
+
children: ReactNode;
|
|
68
|
+
}[];
|
|
69
|
+
webhooks?: {
|
|
70
|
+
item: WebhookItem;
|
|
71
|
+
children: ReactNode;
|
|
72
|
+
}[];
|
|
73
|
+
}, ctx: RenderContext) => Awaitable<ReactNode>;
|
|
74
|
+
renderOperationLayout?: (slots: {
|
|
75
|
+
header: ReactNode;
|
|
76
|
+
description: ReactNode;
|
|
77
|
+
apiExample: ReactNode;
|
|
78
|
+
apiPlayground: ReactNode;
|
|
79
|
+
authSchemes: ReactNode;
|
|
80
|
+
paremeters: ReactNode;
|
|
81
|
+
body: ReactNode;
|
|
82
|
+
responses: ReactNode;
|
|
83
|
+
callbacks: ReactNode;
|
|
84
|
+
}, ctx: RenderContext, method: NoReference<MethodInformation>) => Awaitable<ReactNode>;
|
|
85
|
+
renderWebhookLayout?: (slots: {
|
|
86
|
+
header: ReactNode;
|
|
87
|
+
description: ReactNode;
|
|
88
|
+
authSchemes: ReactNode;
|
|
89
|
+
paremeters: ReactNode;
|
|
90
|
+
body: ReactNode;
|
|
91
|
+
requests: ReactNode;
|
|
92
|
+
responses: ReactNode;
|
|
93
|
+
callbacks: ReactNode;
|
|
94
|
+
}) => Awaitable<ReactNode>;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Info UI for JSON schemas
|
|
98
|
+
*/
|
|
99
|
+
schemaUI?: {
|
|
100
|
+
render?: (options: SchemaUIOptions, ctx: RenderContext) => Awaitable<ReactNode>;
|
|
30
101
|
/**
|
|
31
|
-
* Show
|
|
102
|
+
* Show examples under the generated content of JSON schemas.
|
|
32
103
|
*
|
|
33
|
-
* @
|
|
34
|
-
*/
|
|
35
|
-
showResponseSchema?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Support other media types (for server-side generation).
|
|
104
|
+
* @defaultValue false
|
|
38
105
|
*/
|
|
39
|
-
|
|
106
|
+
showExample?: boolean;
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Customise API playground
|
|
110
|
+
*/
|
|
111
|
+
playground?: {
|
|
40
112
|
/**
|
|
41
|
-
*
|
|
113
|
+
* @defaultValue true
|
|
42
114
|
*/
|
|
43
|
-
|
|
44
|
-
renderResponseTabs?: (tabs: ResponseTab[], ctx: RenderContext) => Awaitable<ReactNode>;
|
|
45
|
-
renderRequestTabs?: (items: ExampleRequestItem[], ctx: RenderContext & {
|
|
46
|
-
route: string;
|
|
47
|
-
operation: NoReference<MethodInformation>;
|
|
48
|
-
}) => Awaitable<ReactNode>;
|
|
49
|
-
renderAPIExampleLayout?: (slots: {
|
|
50
|
-
selector: ReactNode;
|
|
51
|
-
usageTabs: ReactNode;
|
|
52
|
-
responseTabs: ReactNode;
|
|
53
|
-
}, ctx: RenderContext) => Awaitable<ReactNode>;
|
|
54
|
-
/**
|
|
55
|
-
* @param generators - codegens for API example usages
|
|
56
|
-
*/
|
|
57
|
-
renderAPIExampleUsageTabs?: (generators: CodeUsageGenerator[], ctx: RenderContext) => Awaitable<ReactNode>;
|
|
58
|
-
/**
|
|
59
|
-
* renderer of the entire page's layout (containing all operations & webhooks UI)
|
|
60
|
-
*/
|
|
61
|
-
renderPageLayout?: (slots: {
|
|
62
|
-
operations?: {
|
|
63
|
-
item: OperationItem;
|
|
64
|
-
children: ReactNode;
|
|
65
|
-
}[];
|
|
66
|
-
webhooks?: {
|
|
67
|
-
item: WebhookItem;
|
|
68
|
-
children: ReactNode;
|
|
69
|
-
}[];
|
|
70
|
-
}, ctx: RenderContext) => Awaitable<ReactNode>;
|
|
71
|
-
renderOperationLayout?: (slots: {
|
|
72
|
-
header: ReactNode;
|
|
73
|
-
description: ReactNode;
|
|
74
|
-
apiExample: ReactNode;
|
|
75
|
-
apiPlayground: ReactNode;
|
|
76
|
-
authSchemes: ReactNode;
|
|
77
|
-
paremeters: ReactNode;
|
|
78
|
-
body: ReactNode;
|
|
79
|
-
responses: ReactNode;
|
|
80
|
-
callbacks: ReactNode;
|
|
81
|
-
}, ctx: RenderContext, method: NoReference<MethodInformation>) => Awaitable<ReactNode>;
|
|
82
|
-
renderWebhookLayout?: (slots: {
|
|
83
|
-
header: ReactNode;
|
|
84
|
-
description: ReactNode;
|
|
85
|
-
authSchemes: ReactNode;
|
|
86
|
-
paremeters: ReactNode;
|
|
87
|
-
body: ReactNode;
|
|
88
|
-
requests: ReactNode;
|
|
89
|
-
responses: ReactNode;
|
|
90
|
-
callbacks: ReactNode;
|
|
91
|
-
}) => Awaitable<ReactNode>;
|
|
92
|
-
};
|
|
115
|
+
enabled?: boolean;
|
|
93
116
|
/**
|
|
94
|
-
*
|
|
117
|
+
* replace the server-side renderer
|
|
95
118
|
*/
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
showExample?: boolean;
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Customise API playground
|
|
107
|
-
*/
|
|
108
|
-
playground?: {
|
|
109
|
-
/**
|
|
110
|
-
* @defaultValue true
|
|
111
|
-
*/
|
|
112
|
-
enabled?: boolean;
|
|
113
|
-
/**
|
|
114
|
-
* replace the server-side renderer
|
|
115
|
-
*/
|
|
116
|
-
render?: (props: {
|
|
117
|
-
path: string;
|
|
118
|
-
method: MethodInformation;
|
|
119
|
-
ctx: RenderContext;
|
|
120
|
-
}) => Awaitable<ReactNode>;
|
|
121
|
-
};
|
|
122
|
-
client?: APIPageClientOptions;
|
|
119
|
+
render?: (props: {
|
|
120
|
+
path: string;
|
|
121
|
+
method: MethodInformation;
|
|
122
|
+
ctx: RenderContext;
|
|
123
|
+
}) => Awaitable<ReactNode>;
|
|
124
|
+
};
|
|
125
|
+
client?: APIPageClientOptions;
|
|
123
126
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
127
|
+
interface ApiPageProps {
|
|
128
|
+
document: Promise<ProcessedDocument> | string | ProcessedDocument;
|
|
129
|
+
showTitle?: boolean;
|
|
130
|
+
showDescription?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* An array of operations
|
|
133
|
+
*/
|
|
134
|
+
operations?: OperationItem[];
|
|
135
|
+
webhooks?: WebhookItem[];
|
|
133
136
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
interface WebhookItem {
|
|
138
|
+
/**
|
|
139
|
+
* webhook name in `webhooks`
|
|
140
|
+
*/
|
|
141
|
+
name: string;
|
|
142
|
+
method: OpenAPIV3_1.HttpMethods;
|
|
140
143
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
144
|
+
interface OperationItem {
|
|
145
|
+
/**
|
|
146
|
+
* the path of operation in `paths`
|
|
147
|
+
*/
|
|
148
|
+
path: string;
|
|
149
|
+
/**
|
|
150
|
+
* the HTTP method of operation
|
|
151
|
+
*/
|
|
152
|
+
method: OpenAPIV3_1.HttpMethods;
|
|
150
153
|
}
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
declare function createAPIPage(server: OpenAPIServer, options?: CreateAPIPageOptions): FC<ApiPageProps>;
|
|
155
|
+
//#endregion
|
|
156
|
+
export { ApiPageProps, CreateAPIPageOptions, OperationItem, WebhookItem, createAPIPage };
|
|
153
157
|
//# sourceMappingURL=api-page.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-page.d.ts","
|
|
1
|
+
{"version":3,"file":"api-page.d.ts","names":[],"sources":["../../src/ui/api-page.tsx"],"sourcesContent":[],"mappings":"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"}
|