zudoku 0.0.0-fb7d300 → 0.0.0-fc5c03b
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/client.d.ts +7 -0
- package/dist/app/entry.client.d.ts +1 -0
- package/dist/app/entry.client.js +13 -0
- package/dist/app/entry.client.js.map +1 -1
- package/dist/app/entry.server.d.ts +1 -0
- package/dist/app/entry.server.js +1 -0
- package/dist/app/entry.server.js.map +1 -1
- package/dist/app/main.js +2 -1
- package/dist/app/main.js.map +1 -1
- package/dist/app/sentry.d.ts +3 -0
- package/dist/app/sentry.js +19 -0
- package/dist/app/sentry.js.map +1 -0
- package/dist/app/tailwind.d.ts +2 -1
- package/dist/app/tailwind.js +64 -52
- package/dist/app/tailwind.js.map +1 -1
- package/dist/cli/cli.js +0 -2
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/common/logger.js +9 -0
- package/dist/cli/common/logger.js.map +1 -1
- package/dist/cli/common/outdated.js +2 -1
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/config/common.d.ts +8 -0
- package/dist/config/common.js +2 -0
- package/dist/config/common.js.map +1 -0
- package/dist/config/config.d.ts +3 -2
- package/dist/config/loader.d.ts +20 -0
- package/dist/config/loader.js +154 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/validators/InputSidebarSchema.d.ts +14 -13
- package/dist/config/validators/InputSidebarSchema.js.map +1 -1
- package/dist/config/validators/common.d.ts +4911 -0
- package/dist/config/validators/common.js +276 -0
- package/dist/config/validators/common.js.map +1 -0
- package/dist/config/validators/icon-types.d.ts +1 -0
- package/dist/config/validators/icon-types.js +2 -0
- package/dist/config/validators/icon-types.js.map +1 -0
- package/dist/config/validators/validate.d.ts +777 -521
- package/dist/config/validators/validate.js +9 -228
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/lib/authentication/providers/openid.js +7 -2
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +4 -4
- package/dist/lib/components/Heading.js +1 -1
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/Layout.js +3 -2
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/Markdown.js +1 -1
- package/dist/lib/components/Markdown.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +1 -1
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/ReactMarkdown.d.ts +29 -0
- package/dist/lib/components/ReactMarkdown.js +182 -0
- package/dist/lib/components/ReactMarkdown.js.map +1 -0
- package/dist/lib/components/Search.d.ts +3 -1
- package/dist/lib/components/Search.js +3 -3
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/SyntaxHighlight.js +0 -4
- package/dist/lib/components/SyntaxHighlight.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +1 -1
- package/dist/lib/components/navigation/Sidebar.d.ts +3 -1
- package/dist/lib/components/navigation/Sidebar.js +2 -2
- package/dist/lib/components/navigation/Sidebar.js.map +1 -1
- package/dist/lib/components/navigation/SidebarCategory.d.ts +2 -2
- package/dist/lib/components/navigation/SidebarCategory.js +3 -4
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/components/navigation/SidebarItem.d.ts +2 -4
- package/dist/lib/components/navigation/SidebarItem.js +5 -10
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -1
- package/dist/lib/components/navigation/SidebarWrapper.js +1 -1
- package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -1
- package/dist/lib/core/ZudokuContext.d.ts +1 -1
- package/dist/lib/oas/graphql/index.js +4 -1
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/oas/parser/upgrade/index.d.ts +2 -2
- package/dist/lib/oas/parser/upgrade/index.js +3 -20
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/api-catalog/Catalog.d.ts +6 -0
- package/dist/lib/plugins/api-catalog/Catalog.js +29 -0
- package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -0
- package/dist/lib/plugins/api-catalog/index.d.ts +23 -0
- package/dist/lib/plugins/api-catalog/index.js +15 -0
- package/dist/lib/plugins/api-catalog/index.js.map +1 -0
- package/dist/lib/plugins/markdown/MdxPage.d.ts +9 -1
- package/dist/lib/plugins/markdown/MdxPage.js +15 -2
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/markdown/index.d.ts +2 -1
- package/dist/lib/plugins/markdown/index.js +1 -1
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/markdown/resolver.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +47 -2
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLClient.js +12 -0
- package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.js +4 -2
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js +1 -1
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -1
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +2 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js +1 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +6 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +14 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +125 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.d.ts +11 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.js +33 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +104 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/traverse.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/traverse.js +2 -0
- package/dist/lib/plugins/openapi/post-processors/traverse.js.map +1 -0
- package/dist/lib/plugins/redirect/index.d.ts +1 -1
- package/dist/lib/ui/Button.d.ts +1 -1
- package/dist/lib/ui/Command.d.ts +1 -1
- package/dist/lib/util/MdxComponents.d.ts +2 -3
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/traverse.d.ts +2 -0
- package/dist/lib/util/traverse.js +18 -0
- package/dist/lib/util/traverse.js.map +1 -0
- package/dist/vite/build.js +15 -3
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +6 -4
- package/dist/vite/config.js +54 -15
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +7 -5
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/dev-server.js +12 -3
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/output.d.ts +1 -1
- package/dist/vite/output.js +39 -10
- package/dist/vite/output.js.map +1 -1
- package/dist/vite/plugin-api.js +67 -20
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-component.js +15 -19
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-config-reload.d.ts +1 -2
- package/dist/vite/plugin-config-reload.js.map +1 -1
- package/dist/vite/plugin-config.js +20 -0
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-docs.test.js +15 -23
- package/dist/vite/plugin-docs.test.js.map +1 -1
- package/dist/vite/plugin-mdx.js +58 -4
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/{plugin-custom-css.d.ts → plugin-theme-css.d.ts} +2 -2
- package/dist/vite/{plugin-custom-css.js → plugin-theme-css.js} +10 -3
- package/dist/vite/plugin-theme-css.js.map +1 -0
- package/dist/vite/plugin.d.ts +1 -2
- package/dist/vite/plugin.js +2 -2
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.d.ts +2 -1
- package/dist/vite/prerender.js +2 -2
- package/dist/vite/prerender.js.map +1 -1
- package/dist/vite/sitemap.d.ts +1 -1
- package/dist/zuplo/env.d.ts +6 -0
- package/dist/zuplo/env.js +9 -0
- package/dist/zuplo/env.js.map +1 -0
- package/dist/zuplo/with-zuplo.d.ts +3 -0
- package/dist/zuplo/with-zuplo.js +28 -0
- package/dist/zuplo/with-zuplo.js.map +1 -0
- package/lib/AnchorLink-BR0MvI7n.js +35 -0
- package/lib/AnchorLink-BR0MvI7n.js.map +1 -0
- package/lib/{Markdown-ievDDhFT.js → Markdown-CRsmPPfY.js} +13084 -13096
- package/lib/Markdown-CRsmPPfY.js.map +1 -0
- package/lib/MdxPage-Wp8QU0-q.js +188 -0
- package/lib/MdxPage-Wp8QU0-q.js.map +1 -0
- package/lib/{OperationList-BwBl1xrD.js → OperationList-u8xHU9-b.js} +1031 -1016
- package/lib/OperationList-u8xHU9-b.js.map +1 -0
- package/lib/{SlotletProvider-DyomlzGx.js → SlotletProvider-BgvYIPQe.js} +2 -2
- package/lib/{SlotletProvider-DyomlzGx.js.map → SlotletProvider-BgvYIPQe.js.map} +1 -1
- package/lib/{SyntaxHighlight-DkLOsjHS.js → SyntaxHighlight-C31iouiO.js} +1 -3
- package/lib/{SyntaxHighlight-DkLOsjHS.js.map → SyntaxHighlight-C31iouiO.js.map} +1 -1
- package/lib/assets/{worker-CPsGZsve.js → worker-C_2va8B8.js} +8 -9
- package/lib/assets/worker-C_2va8B8.js.map +1 -0
- package/lib/{createServer-DK-g7kbB.js → createServer-BCAHdrpE.js} +4461 -5248
- package/lib/createServer-BCAHdrpE.js.map +1 -0
- package/lib/{index-DNxQ_rCt.js → index-CmdLGbbk.js} +53 -47
- package/lib/index-CmdLGbbk.js.map +1 -0
- package/lib/{AnchorLink-CDlhr8gL.js → index.esm-Bm8pj-bc.js} +223 -254
- package/lib/index.esm-Bm8pj-bc.js.map +1 -0
- package/lib/object_hash-CvlLgU-M.js +785 -0
- package/lib/object_hash-CvlLgU-M.js.map +1 -0
- package/lib/post-processors/removeExtensions.js +11 -0
- package/lib/post-processors/removeExtensions.js.map +1 -0
- package/lib/post-processors/removePaths.js +28 -0
- package/lib/post-processors/removePaths.js.map +1 -0
- package/lib/post-processors/traverse.js +12 -0
- package/lib/post-processors/traverse.js.map +1 -0
- package/lib/ui/Drawer.js +79 -79
- package/lib/ui/Drawer.js.map +1 -1
- package/lib/zudoku.auth-openid.js +42 -37
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +386 -367
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +1 -1
- package/lib/zudoku.plugin-api-catalog.js +121 -0
- package/lib/zudoku.plugin-api-catalog.js.map +1 -0
- package/lib/zudoku.plugin-api-keys.js +1 -1
- package/lib/zudoku.plugin-custom-pages.js +1 -1
- package/lib/zudoku.plugin-markdown.js +15 -14
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +1 -1
- package/lib/zudoku.plugin-redirect.js.map +1 -1
- package/package.json +32 -9
- package/src/app/entry.client.tsx +15 -0
- package/src/app/entry.server.tsx +1 -0
- package/src/app/main.tsx +5 -1
- package/src/app/sentry.ts +24 -0
- package/src/app/tailwind.ts +67 -52
- package/src/lib/authentication/providers/openid.tsx +7 -2
- package/src/lib/components/Heading.tsx +13 -13
- package/src/lib/components/Layout.tsx +8 -3
- package/src/lib/components/Markdown.tsx +1 -1
- package/src/lib/components/MobileTopNavigation.tsx +18 -18
- package/src/lib/components/ReactMarkdown.license.txt +21 -0
- package/src/lib/components/ReactMarkdown.tsx +264 -0
- package/src/lib/components/Search.tsx +3 -3
- package/src/lib/components/SyntaxHighlight.tsx +0 -4
- package/src/lib/components/TopNavigation.tsx +1 -1
- package/src/lib/components/navigation/Sidebar.tsx +18 -8
- package/src/lib/components/navigation/SidebarCategory.tsx +10 -9
- package/src/lib/components/navigation/SidebarItem.tsx +10 -13
- package/src/lib/components/navigation/SidebarWrapper.tsx +1 -1
- package/src/lib/core/ZudokuContext.ts +1 -1
- package/src/lib/oas/graphql/index.ts +4 -1
- package/src/lib/oas/parser/upgrade/index.ts +4 -27
- package/src/lib/plugins/api-catalog/Catalog.tsx +124 -0
- package/src/lib/plugins/api-catalog/index.tsx +50 -0
- package/src/lib/plugins/markdown/MdxPage.tsx +27 -1
- package/src/lib/plugins/markdown/index.tsx +3 -1
- package/src/lib/plugins/markdown/resolver.ts +2 -4
- package/src/lib/plugins/openapi/OperationList.tsx +64 -3
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +17 -0
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +5 -2
- package/src/lib/plugins/openapi/graphql/gql.ts +2 -2
- package/src/lib/plugins/openapi/graphql/graphql.ts +3 -0
- package/src/lib/plugins/openapi/interfaces.ts +1 -1
- package/src/lib/plugins/openapi/playground/PathParams.tsx +1 -0
- package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +144 -0
- package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +24 -0
- package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +126 -0
- package/src/lib/plugins/openapi/post-processors/removePaths.ts +55 -0
- package/src/lib/plugins/openapi/post-processors/traverse.ts +1 -0
- package/src/lib/plugins/redirect/index.tsx +1 -1
- package/src/lib/util/MdxComponents.tsx +2 -5
- package/src/lib/util/traverse.ts +25 -0
- package/dist/vite/plugin-custom-css.js.map +0 -1
- package/lib/AnchorLink-CDlhr8gL.js.map +0 -1
- package/lib/Markdown-ievDDhFT.js.map +0 -1
- package/lib/MdxPage-Bwn-VSsH.js +0 -174
- package/lib/MdxPage-Bwn-VSsH.js.map +0 -1
- package/lib/OperationList-BwBl1xrD.js.map +0 -1
- package/lib/assets/worker-CPsGZsve.js.map +0 -1
- package/lib/createServer-DK-g7kbB.js.map +0 -1
- package/lib/index-DNxQ_rCt.js.map +0 -1
- package/lib/prism-markup-templating-DZrrEs0A.js +0 -62
- package/lib/prism-markup-templating-DZrrEs0A.js.map +0 -1
- package/lib/prism-php.min-o7FpoMP_.js +0 -11
- package/lib/prism-php.min-o7FpoMP_.js.map +0 -1
|
@@ -1,26 +1,11 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { traverse } from "../../../util/traverse.js";
|
|
1
3
|
/**
|
|
2
4
|
* Upgrade from OpenAPI 3.0.x to 3.1.0
|
|
3
5
|
*
|
|
4
6
|
* Taken from https://github.com/scalar/openapi-parser/blob/main/packages/openapi-parser/src/utils/upgradeFromThreeToThreeOne.ts
|
|
5
7
|
* https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0
|
|
6
8
|
*/
|
|
7
|
-
export function traverse(specification, transform) {
|
|
8
|
-
const result = {};
|
|
9
|
-
for (const [key, value] of Object.entries(specification)) {
|
|
10
|
-
if (Array.isArray(value)) {
|
|
11
|
-
result[key] = value.map((item) => typeof item === "object" && item !== null
|
|
12
|
-
? traverse(item, transform)
|
|
13
|
-
: item);
|
|
14
|
-
}
|
|
15
|
-
else if (typeof value === "object" && value !== null) {
|
|
16
|
-
result[key] = traverse(value, transform);
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
result[key] = value;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return transform(result);
|
|
23
|
-
}
|
|
24
9
|
export const upgradeSchema = (schema) => {
|
|
25
10
|
if (schema.openapi?.startsWith("3.0")) {
|
|
26
11
|
schema.openapi = "3.1.0";
|
|
@@ -52,9 +37,7 @@ export const upgradeSchema = (schema) => {
|
|
|
52
37
|
schema = traverse(schema, (sub) => {
|
|
53
38
|
if (sub.example !== undefined) {
|
|
54
39
|
sub.examples = {
|
|
55
|
-
default:
|
|
56
|
-
value: sub.example,
|
|
57
|
-
},
|
|
40
|
+
default: sub.example,
|
|
58
41
|
};
|
|
59
42
|
delete sub.example;
|
|
60
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/oas/parser/upgrade/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/oas/parser/upgrade/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import slugify from "@sindresorhus/slugify";
|
|
3
|
+
import { Fragment } from "react";
|
|
4
|
+
import { Head, Link } from "zudoku/components";
|
|
5
|
+
import { Markdown } from "../../components/Markdown.js";
|
|
6
|
+
import { useExposedProps } from "../../util/useExposedProps.js";
|
|
7
|
+
export const Catalog = ({ items, categories, label = "API Library", }) => {
|
|
8
|
+
const { searchParams, setSearchParams } = useExposedProps();
|
|
9
|
+
const activeCategory = searchParams.get("category");
|
|
10
|
+
return (_jsxs("section", { className: "pt-[--padding-content-top] pb-[--padding-content-bottom]", children: [_jsx(Head, { children: _jsx("title", { children: label }) }), _jsxs("div", { className: "grid grid-cols-12 gap-12", children: [_jsx("div", { className: "flex flex-col gap-4 col-span-3 px-4 not-prose sticky top-48", children: _jsx("div", { className: "justify-between", children: categories.map((category, idx) => (_jsxs(Fragment, { children: [_jsxs("div", { className: "flex justify-between mb-2.5", children: [_jsx("span", { className: "font-medium text-sm", children: category.label }), idx === 0 && activeCategory && (_jsx("button", { type: "button", className: "text-end text-sm mr-8 text-foreground/60 hover:text-foreground", onClick: () => setSearchParams({}), children: "Clear" }))] }), _jsx("ul", { className: "space-y-1 [&>li]:py-2", children: Array.from(new Set(category.tags
|
|
11
|
+
.map((tag) => ({
|
|
12
|
+
tag,
|
|
13
|
+
count: items.filter((api) => api.categories.find((c) => c.tags.includes(tag))).length,
|
|
14
|
+
}))
|
|
15
|
+
.map(({ tag, count }) => (_jsxs("li", { className: `flex px-4 rounded-lg -translate-x-4 justify-between text-sm cursor-pointer hover:text-primary transition ${slugify(tag) === activeCategory
|
|
16
|
+
? "font-medium bg-border/30 rounded"
|
|
17
|
+
: ""}`, onClick: () => setSearchParams({
|
|
18
|
+
category: slugify(category.label + " " + tag),
|
|
19
|
+
}), children: [_jsx("span", { children: tag }), _jsx("span", { className: `flex items-center justify-center border rounded-md w-8 text-xs font-semibold ${slugify(tag) === activeCategory
|
|
20
|
+
? "bg-primary border-primary text-primary-foreground"
|
|
21
|
+
: ""}`, children: count })] }, slugify(category.label + " " + tag)))))) })] }, category.label))) }) }), _jsxs("div", { className: "col-span-9", children: [_jsx("h3", { className: "mt-0 text-2xl font-bold mb-4", children: label }), _jsx("div", { className: "grid grid-cols-2 gap-4", children: items
|
|
22
|
+
.filter((api) => !activeCategory ||
|
|
23
|
+
api.categories.find((c) => c.tags.find((t) => slugify(c.label + " " + t) === activeCategory)))
|
|
24
|
+
.map((api, i) => (_jsx(Link, { to: {
|
|
25
|
+
pathname: `/${api.path}`,
|
|
26
|
+
search: activeCategory ? `category=${activeCategory}` : "",
|
|
27
|
+
}, className: "no-underline hover:!text-foreground", children: _jsxs("div", { className: "border h-full rounded p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal", children: [_jsx("span", { className: "font-semibold", children: api.label }), _jsx(Markdown, { className: "text-sm whitespace-pre-wrap mb-6 line-clamp-2", content: api.description })] }, i) }, api.path))) })] })] })] }));
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=Catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-catalog/Catalog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ZudokuPlugin } from "../../core/plugins.js";
|
|
2
|
+
export type ApiCatalogItem = {
|
|
3
|
+
path: string;
|
|
4
|
+
label: string;
|
|
5
|
+
description: string;
|
|
6
|
+
categories: CatalogCategory[];
|
|
7
|
+
};
|
|
8
|
+
export type CatalogCategory = {
|
|
9
|
+
label: string;
|
|
10
|
+
tags: string[];
|
|
11
|
+
};
|
|
12
|
+
export type ApiCatalogPluginOptions = {
|
|
13
|
+
navigationId: string;
|
|
14
|
+
label: string;
|
|
15
|
+
categories?: CatalogCategory[];
|
|
16
|
+
items: ApiCatalogItem[];
|
|
17
|
+
};
|
|
18
|
+
export declare const apiCatalogPlugin: ({ navigationId, items, label, categories, }: {
|
|
19
|
+
navigationId: string;
|
|
20
|
+
label: string;
|
|
21
|
+
categories?: CatalogCategory[];
|
|
22
|
+
items: ApiCatalogItem[];
|
|
23
|
+
}) => ZudokuPlugin;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Catalog } from "./Catalog.js";
|
|
3
|
+
export const apiCatalogPlugin = ({ navigationId, items, label, categories, }) => {
|
|
4
|
+
return {
|
|
5
|
+
getRoutes: () => {
|
|
6
|
+
return [
|
|
7
|
+
{
|
|
8
|
+
path: navigationId,
|
|
9
|
+
element: (_jsx(Catalog, { label: label, items: items, categories: categories ?? [] })),
|
|
10
|
+
},
|
|
11
|
+
];
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-catalog/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAqBvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,YAAY,EACZ,KAAK,EACL,KAAK,EACL,UAAU,GAMX,EAAgB,EAAE;IACjB,OAAO;QACL,SAAS,EAAE,GAAG,EAAE;YACd,OAAO;gBACL;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,CACP,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,IAAI,EAAE,GAC5B,CACH;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type PropsWithChildren } from "react";
|
|
2
2
|
import { MarkdownPluginDefaultOptions, MDXImport } from "./index.js";
|
|
3
|
-
|
|
3
|
+
declare global {
|
|
4
|
+
interface Window {
|
|
5
|
+
__getReactRefreshIgnoredExports?: (args: {
|
|
6
|
+
id: string;
|
|
7
|
+
}) => string[] | undefined;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const MdxPage: ({ mdxComponent: MdxComponent, file, frontmatter, defaultOptions, tableOfContents, excerpt, }: PropsWithChildren<Omit<MDXImport, "default"> & {
|
|
11
|
+
file: string;
|
|
4
12
|
mdxComponent: MDXImport["default"];
|
|
5
13
|
defaultOptions?: MarkdownPluginDefaultOptions;
|
|
6
14
|
}>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useMDXComponents } from "@mdx-js/react";
|
|
3
3
|
import slugify from "@sindresorhus/slugify";
|
|
4
4
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
5
|
+
import { useEffect } from "react";
|
|
5
6
|
import { Link } from "react-router-dom";
|
|
6
7
|
import { CategoryHeading } from "../../components/CategoryHeading.js";
|
|
7
8
|
import { Heading } from "../../components/Heading.js";
|
|
@@ -13,7 +14,7 @@ const MarkdownHeadings = {
|
|
|
13
14
|
h2: ({ children, id }) => (_jsx(Heading, { level: 2, id: id, registerSidebarAnchor: true, children: children })),
|
|
14
15
|
h3: ({ children, id }) => (_jsx(Heading, { level: 3, id: id, registerSidebarAnchor: true, children: children })),
|
|
15
16
|
};
|
|
16
|
-
export const MdxPage = ({ mdxComponent: MdxComponent, frontmatter = {}, defaultOptions, tableOfContents, }) => {
|
|
17
|
+
export const MdxPage = ({ mdxComponent: MdxComponent, file, frontmatter = {}, defaultOptions, tableOfContents, excerpt, }) => {
|
|
17
18
|
const categoryTitle = useCurrentItem()?.categoryLabel;
|
|
18
19
|
const title = frontmatter.title;
|
|
19
20
|
const category = frontmatter.category ?? categoryTitle;
|
|
@@ -25,6 +26,18 @@ export const MdxPage = ({ mdxComponent: MdxComponent, frontmatter = {}, defaultO
|
|
|
25
26
|
tableOfContents.filter((item) => item.depth === 2);
|
|
26
27
|
const showToc = !hideToc && tocEntries.length > 0;
|
|
27
28
|
const { prev, next } = usePrevNext();
|
|
28
|
-
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (process.env.NODE_ENV === "development") {
|
|
31
|
+
window.__getReactRefreshIgnoredExports = ({ id }) => {
|
|
32
|
+
if (!id.endsWith(file))
|
|
33
|
+
return;
|
|
34
|
+
return ["frontmatter", "tableOfContents"];
|
|
35
|
+
};
|
|
36
|
+
return () => {
|
|
37
|
+
window.__getReactRefreshIgnoredExports = undefined;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
}, [file]);
|
|
41
|
+
return (_jsxs("div", { className: "xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between", children: [_jsxs(Helmet, { children: [_jsx("title", { children: pageTitle }), excerpt && _jsx("meta", { name: "description", content: excerpt })] }), _jsxs("div", { className: cn(ProseClasses, "max-w-full xl:w-full xl:max-w-prose flex-1 flex-shrink pt-[--padding-content-top] pb-[--padding-content-bottom]"), children: [(category || title) && (_jsxs("header", { children: [category && _jsx(CategoryHeading, { children: category }), title && (_jsx(Heading, { level: 1, id: slugify(title), children: title }))] })), _jsx(MdxComponent, { components: { ...useMDXComponents(), ...MarkdownHeadings } }), !hidePager && (_jsxs(_Fragment, { children: [_jsx("hr", {}), _jsxs("div", { className: "not-prose flex flex-wrap items-center justify-between gap-2 lg:gap-8", children: [prev ? (_jsxs(Link, { to: prev.id, className: "flex flex-col items-stretch gap-2 flex-1 min-w-max border rounded px-6 py-4 text-start hover:border-primary/85 transition shadow-sm hover:shadow-md", title: prev.label, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "\u2190 Previous page" }), _jsx("div", { className: "text-lg text-primary truncate", children: prev.label })] })) : (_jsx("div", { className: "flex-1" })), next ? (_jsxs(Link, { to: next.id, className: "flex flex-col items-stretch gap-2 flex-1 min-w-max border rounded px-6 py-4 text-end hover:border-primary/85 transition shadow-sm hover:shadow-md", title: next.label, children: [_jsx("div", { className: "text-sm text-muted-foreground", children: "Next page \u2192" }), _jsx("div", { className: "text-lg text-primary truncate", children: next.label })] })) : (_jsx("div", { className: "flex-1" }))] })] }))] }), _jsx("div", { className: "hidden xl:block", children: showToc && _jsx(Toc, { entries: tocEntries }) })] }));
|
|
29
42
|
};
|
|
30
43
|
//# sourceMappingURL=MdxPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdxPage.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/MdxPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"MdxPage.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/MdxPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Toc } from "@stefanprobst/rehype-extract-toc";
|
|
2
2
|
import type { MDXProps } from "mdx/types.js";
|
|
3
|
-
import { ZudokuDocsConfig } from "../../../config/validators/
|
|
3
|
+
import { ZudokuDocsConfig } from "../../../config/validators/common.js";
|
|
4
4
|
import type { ZudokuPlugin } from "../../core/plugins.js";
|
|
5
5
|
export interface MarkdownPluginOptions extends ZudokuDocsConfig {
|
|
6
6
|
fileImports: Record<string, () => Promise<MDXImport>>;
|
|
@@ -16,6 +16,7 @@ export type Frontmatter = {
|
|
|
16
16
|
export type MDXImport = {
|
|
17
17
|
tableOfContents: Toc;
|
|
18
18
|
frontmatter: Frontmatter;
|
|
19
|
+
excerpt?: string;
|
|
19
20
|
default: (props: MDXProps) => JSX.Element;
|
|
20
21
|
};
|
|
21
22
|
export declare const markdownPlugin: (options: MarkdownPluginOptions[]) => ZudokuPlugin;
|
|
@@ -21,7 +21,7 @@ export const markdownPlugin = (options) => ({
|
|
|
21
21
|
const { MdxPage } = await import("./MdxPage.js");
|
|
22
22
|
const { default: Component, ...props } = await importPromise();
|
|
23
23
|
return {
|
|
24
|
-
element: (_jsx(MdxPage, { mdxComponent: Component, ...props, defaultOptions: defaultOptions })),
|
|
24
|
+
element: (_jsx(MdxPage, { file: file, mdxComponent: Component, ...props, defaultOptions: defaultOptions })),
|
|
25
25
|
};
|
|
26
26
|
},
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/index.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/index.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyB5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgC,EAClB,EAAE,CAAC,CAAC;IAClB,SAAS,EAAE,GAAG,EAAE;QACd,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,CACzD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,gBAAgB,CAAC;gBAC7C,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,CAAC;YAE1B,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,kCAAkC,SAAS,uBAAuB,IAAI,IAAI,CAC3E,CAAC;gBACF,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,KAAK,GAAgB;gBACzB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;oBACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;oBAC/D,OAAO;wBACL,OAAO,EAAE,CACP,KAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,SAAS,KACnB,KAAK,EACT,cAAc,EAAE,cAAc,GAC9B,CACH;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CACH,CAAC;QACF,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../../src/lib/plugins/markdown/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAElD,0DAA0D;AAC1D,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpC;;OAEG;IACH,cAAc;QACZ,MAAM,WAAW,GAAuB,IAAI,CAAC,MAAM,CAAC,IAAI;YACtD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;gBAClB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEpC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,KAAa;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,MAA0B,CAAC;QAE/B,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO;gBACT,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;gBACvD,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,MAAM,GAAG,SAAS,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,UAAU,CAAC,SAAiB;QACzC,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,EACtB,SAAS,EACT,MAAM,GAIP;QACC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,OAAO,WAAW,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
3
|
+
import { Helmet } from "@zudoku/react-helmet-async";
|
|
3
4
|
import { CategoryHeading } from "../../components/CategoryHeading.js";
|
|
4
5
|
import { Heading } from "../../components/Heading.js";
|
|
5
6
|
import { Markdown, ProseClasses } from "../../components/Markdown.js";
|
|
@@ -77,6 +78,7 @@ const AllOperationsQuery = graphql(/* GraphQL */ `
|
|
|
77
78
|
query AllOperations($input: JSON!, $type: SchemaType!) {
|
|
78
79
|
schema(input: $input, type: $type) {
|
|
79
80
|
description
|
|
81
|
+
summary
|
|
80
82
|
title
|
|
81
83
|
url
|
|
82
84
|
version
|
|
@@ -91,12 +93,55 @@ const AllOperationsQuery = graphql(/* GraphQL */ `
|
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
`);
|
|
96
|
+
/**
|
|
97
|
+
* @description Clean up a commonmark formatted description for use in the meta
|
|
98
|
+
* description.
|
|
99
|
+
*/
|
|
100
|
+
function cleanDescription(description, maxLength = 160) {
|
|
101
|
+
if (!description) {
|
|
102
|
+
return "";
|
|
103
|
+
}
|
|
104
|
+
// Replace Markdown links [text](url) with just "text"
|
|
105
|
+
description = description.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1");
|
|
106
|
+
// Remove Markdown image syntax: 
|
|
107
|
+
description = description.replace(/!\[.*?\]\(.*?\)/g, "");
|
|
108
|
+
// Remove other Markdown syntax (e.g., **bold**, _italic_, `code`)
|
|
109
|
+
description = description.replace(/[_*`~]/g, "");
|
|
110
|
+
// Remove headings (# Heading), blockquotes (> Quote), and horizontal rules (--- or ***)
|
|
111
|
+
description = description.replace(/^(?:>|\s*#+|-{3,}|\*{3,})/gm, "");
|
|
112
|
+
// Remove any remaining formatting characters
|
|
113
|
+
description = description.replace(/[|>{}[\]]/g, "");
|
|
114
|
+
// Collapse multiple spaces and trim the text
|
|
115
|
+
description = description.replace(/\s+/g, " ").trim();
|
|
116
|
+
// Limit to the specified maximum length
|
|
117
|
+
description = description.substring(0, maxLength);
|
|
118
|
+
// Escape for HTML safety
|
|
119
|
+
return description
|
|
120
|
+
.replace(/&/g, "&")
|
|
121
|
+
.replace(/</g, "<")
|
|
122
|
+
.replace(/>/g, ">")
|
|
123
|
+
.replace(/"/g, """)
|
|
124
|
+
.replace(/'/g, "'");
|
|
125
|
+
}
|
|
94
126
|
export const OperationList = () => {
|
|
95
127
|
const { input, type } = useOasConfig();
|
|
96
128
|
const query = useCreateQuery(AllOperationsQuery, { input, type });
|
|
97
129
|
const result = useSuspenseQuery(query);
|
|
98
|
-
|
|
130
|
+
const title = result.data.schema.title;
|
|
131
|
+
const summary = result.data.schema.summary;
|
|
132
|
+
const description = result.data.schema.description;
|
|
133
|
+
// The summary property is preferable here as it is a short description of
|
|
134
|
+
// the API, whereas the description property is typically longer and supports
|
|
135
|
+
// commonmark formatting, making it ill-suited for use in the meta description
|
|
136
|
+
const metaDescription = summary
|
|
137
|
+
? summary
|
|
138
|
+
: description
|
|
139
|
+
? cleanDescription(description)
|
|
140
|
+
: undefined;
|
|
141
|
+
return (_jsxs("div", { className: "pt-[--padding-content-top]", children: [_jsxs(Helmet, { children: [_jsx("title", { children: title }), metaDescription && (_jsx("meta", { name: "description", content: metaDescription }))] }), _jsxs("div", { className: cn(ProseClasses, "mb-16 max-w-full prose-img:max-w-prose"), children: [_jsx(CategoryHeading, { children: "Overview" }), _jsx(Heading, { level: 1, id: "description", registerSidebarAnchor: true, children: title }), _jsx(Markdown, { content: result.data.schema.description ?? "" })] }), _jsx("hr", {}), _jsx("div", { className: "my-4 flex justify-end", children: _jsx(Endpoint, {}) }), result.data.schema.tags
|
|
99
142
|
.filter((tag) => tag.operations.length > 0)
|
|
100
|
-
.map((tag) => (
|
|
143
|
+
.map((tag) => (
|
|
144
|
+
// px, -mx is so that `content-visibility` doesn't cut off overflown heading anchor links '#'
|
|
145
|
+
_jsxs("div", { className: "px-6 -mx-6 [content-visibility:auto]", children: [tag.name && _jsx(CategoryHeading, { children: tag.name }), tag.description && (_jsx(Markdown, { className: `${ProseClasses} max-w-full prose-img:max-w-prose w-full mt-2 mb-12`, content: tag.description })), _jsx("div", { className: "operation mb-12", children: _jsx(StaggeredRender, { children: tag.operations.map((fragment) => (_jsx(OperationListItem, { operationFragment: fragment }, fragment.slug))) }) })] }, tag.name)))] }));
|
|
101
146
|
};
|
|
102
147
|
//# sourceMappingURL=OperationList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DvD,CAAC,CAAC;AAIH,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC
|
|
1
|
+
{"version":3,"file":"OperationList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,17 @@ import { initializeWorker } from "zudoku/openapi-worker";
|
|
|
3
3
|
import { ZudokuError } from "../../../util/invariant.js";
|
|
4
4
|
let localServerPromise;
|
|
5
5
|
let worker;
|
|
6
|
+
const resolveVariables = async (variables) => {
|
|
7
|
+
if (!variables)
|
|
8
|
+
return;
|
|
9
|
+
if (typeof variables === "object" &&
|
|
10
|
+
"type" in variables &&
|
|
11
|
+
variables.type === "file" &&
|
|
12
|
+
"input" in variables &&
|
|
13
|
+
typeof variables.input === "function") {
|
|
14
|
+
variables.input = await variables.input();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
6
17
|
const throwIfError = (response) => {
|
|
7
18
|
if (!response.errors?.[0])
|
|
8
19
|
return;
|
|
@@ -30,6 +41,7 @@ export class GraphQLClient {
|
|
|
30
41
|
#initializeLocalServer = () => import("./createServer.js").then((m) => m.createServer());
|
|
31
42
|
fetch = async (query, ...[variables]) => {
|
|
32
43
|
const operationName = query.match(/query (\w+)/)?.[1];
|
|
44
|
+
await resolveVariables(variables);
|
|
33
45
|
const body = JSON.stringify({ query, variables, operationName });
|
|
34
46
|
switch (this.#mode) {
|
|
35
47
|
case "remote": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQLClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/GraphQLClient.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAMzD,IAAI,kBAAoD,CAAC;AACzD,IAAI,MAAgC,CAAC;AAOrC,MAAM,YAAY,GAAG,CAAC,QAAkC,EAAE,EAAE;IAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO;IAElC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;QAChD,aAAa,EACX,mFAAmF;KACtF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,aAAa;IAKJ;IAJX,KAAK,CAAoC;IAClD,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC3D,KAAK,CAA0B;IAE/B,YAAoB,MAA4B;QAA5B,WAAM,GAAN,MAAM,CAAsB;QAC9C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED,sBAAsB,GAAG,GAAG,EAAE,CAC5B,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAE5D,KAAK,GAAG,KAAK,EACX,KAA+C,EAC/C,GAAG,CAAC,SAAS,CAA+D,EAC5E,EAAE;QACF,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphQLClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/GraphQLClient.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TypedDocumentString } from "../graphql/graphql.js";
|
|
2
2
|
export declare const useCreateQuery: <TResult, TVariables>(query: TypedDocumentString<TResult, TVariables>, ...variables: TVariables extends Record<string, never> ? [] : [TVariables]) => {
|
|
3
3
|
readonly queryFn: () => Promise<TResult>;
|
|
4
|
-
readonly queryKey: readonly [TypedDocumentString<TResult, TVariables>,
|
|
4
|
+
readonly queryKey: readonly [TypedDocumentString<TResult, TVariables>, string];
|
|
5
5
|
};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import hashit from "object-hash";
|
|
2
|
+
import { useContext, useMemo } from "react";
|
|
2
3
|
import { GraphQLContext } from "./GraphQLContext.js";
|
|
3
4
|
export const useCreateQuery = (query, ...variables) => {
|
|
4
5
|
const graphQLClient = useContext(GraphQLContext);
|
|
5
6
|
if (graphQLClient === undefined) {
|
|
6
7
|
throw new Error("useGraphQL must be used within a GraphQLProvider");
|
|
7
8
|
}
|
|
9
|
+
const hash = useMemo(() => hashit(variables[0] ?? {}), [variables]);
|
|
8
10
|
return {
|
|
9
11
|
queryFn: () => graphQLClient.fetch(query, ...variables),
|
|
10
|
-
queryKey: [query,
|
|
12
|
+
queryKey: [query, hash],
|
|
11
13
|
};
|
|
12
14
|
};
|
|
13
15
|
//# sourceMappingURL=useCreateQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateQuery.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/useCreateQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useCreateQuery.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/useCreateQuery.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAA+C,EAC/C,GAAG,SAAuE,EAC1E,EAAE;IACF,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpE,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC;QACvD,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;KACf,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -9,7 +9,7 @@ export declare function graphql(source: "\n fragment OperationsFragment on Oper
|
|
|
9
9
|
/**
|
|
10
10
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
11
11
|
*/
|
|
12
|
-
export declare function graphql(source: "\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n"): typeof import("./graphql.js").AllOperationsDocument;
|
|
12
|
+
export declare function graphql(source: "\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n summary\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n"): typeof import("./graphql.js").AllOperationsDocument;
|
|
13
13
|
/**
|
|
14
14
|
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
|
|
15
15
|
*/
|
|
@@ -14,7 +14,7 @@ import * as types from "./graphql.js";
|
|
|
14
14
|
const documents = {
|
|
15
15
|
"\n query ServersQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n": types.ServersQueryDocument,
|
|
16
16
|
"\n fragment OperationsFragment on OperationItem {\n slug\n summary\n method\n description\n operationId\n contentTypes\n path\n parameters {\n name\n in\n description\n required\n schema\n style\n examples {\n name\n description\n externalValue\n value\n summary\n }\n }\n requestBody {\n content {\n mediaType\n encoding {\n name\n }\n examples {\n name\n description\n externalValue\n value\n summary\n }\n schema\n }\n description\n required\n }\n responses {\n statusCode\n links\n description\n content {\n examples {\n name\n description\n externalValue\n value\n summary\n }\n mediaType\n encoding {\n name\n }\n schema\n }\n }\n }\n": types.OperationsFragmentFragmentDoc,
|
|
17
|
-
"\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n": types.AllOperationsDocument,
|
|
17
|
+
"\n query AllOperations($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n description\n summary\n title\n url\n version\n tags {\n name\n description\n operations {\n slug\n ...OperationsFragment\n }\n }\n }\n }\n": types.AllOperationsDocument,
|
|
18
18
|
"\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n servers {\n url\n }\n }\n }\n": types.GetServerQueryDocument,
|
|
19
19
|
"\n query GetCategories($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n tags {\n __typename\n name\n operations {\n __typename\n slug\n deprecated\n method\n summary\n operationId\n path\n }\n }\n }\n }\n": types.GetCategoriesDocument,
|
|
20
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/graphql/gql.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG;IAChB,uKAAuK,EACrK,KAAK,CAAC,oBAAoB;IAC5B,m+BAAm+B,EACj+B,KAAK,CAAC,6BAA6B;IACrC,
|
|
1
|
+
{"version":3,"file":"gql.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/graphql/gql.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,SAAS,GAAG;IAChB,uKAAuK,EACrK,KAAK,CAAC,oBAAoB;IAC5B,m+BAAm+B,EACj+B,KAAK,CAAC,6BAA6B;IACrC,2UAA2U,EACzU,KAAK,CAAC,qBAAqB;IAC7B,yKAAyK,EACvK,KAAK,CAAC,sBAAsB;IAC9B,mWAAmW,EACjW,KAAK,CAAC,qBAAqB;CAC9B,CAAC;AAiCF,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAQ,SAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -145,6 +145,7 @@ export type Schema = {
|
|
|
145
145
|
title: Scalars["String"]["output"];
|
|
146
146
|
url: Scalars["String"]["output"];
|
|
147
147
|
version: Scalars["String"]["output"];
|
|
148
|
+
summary?: Maybe<Scalars["String"]["output"]>;
|
|
148
149
|
};
|
|
149
150
|
export type SchemaOperationsArgs = {
|
|
150
151
|
method?: InputMaybe<Scalars["String"]["input"]>;
|
|
@@ -270,6 +271,7 @@ export type AllOperationsQuery = {
|
|
|
270
271
|
schema: {
|
|
271
272
|
__typename?: "Schema";
|
|
272
273
|
description?: string | null;
|
|
274
|
+
summary?: string | null;
|
|
273
275
|
title: string;
|
|
274
276
|
url: string;
|
|
275
277
|
version: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/graphql/graphql.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/graphql/graphql.ts"],"names":[],"mappings":"AAmUA,MAAM,OAAO,mBACX,SAAQ,MAAM;IAMJ;IACD;IAJT,SAAS,CAA4D;IAErE,YACU,KAAa,EACd,QAA0C;QAEjD,KAAK,CAAC,KAAK,CAAC,CAAC;QAHL,UAAK,GAAL,KAAK,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAkC;IAGnD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AACD,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,mBAAmB,CAClE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8DG,EACH,EAAE,YAAY,EAAE,oBAAoB,EAAE,CACgC,CAAC;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,mBAAmB,CAAC;;;;;;;;;KASvD,CAGJ,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8E3D,CAGD,CAAC;AACF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,mBAAmB,CAAC;;;;;;;;;KASzD,CAGJ,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,mBAAmB,CAAC;;;;;;;;;;;;;;;;;;;KAmBxD,CAGJ,CAAC"}
|
|
@@ -10,7 +10,7 @@ export const PathParams = ({ control, }) => {
|
|
|
10
10
|
control,
|
|
11
11
|
name: "pathParams",
|
|
12
12
|
});
|
|
13
|
-
return (_jsx("table", { className: "w-full table-auto [&_td]:border [&_td]:py-1 [&_td]:px-2", children: _jsx("tbody", { children: fields.map((part, i) => (_jsxs("tr", { className: "hover:bg-accent/40", children: [_jsx("td", { children: _jsx(Controller, { control: control, name: `pathParams.${i}.value`, render: ({ field }) => (_jsxs("div", { children: [_jsx(ColorizedParam, { slug: part.name, name: part.name, backgroundOpacity: "25%", borderOpacity: field.value ? "100%" : "0", className: cn("font-mono text-xs m-2", !field.value && "opacity-60") }), "*"] })) }) }), _jsx("td", { children: _jsxs("div", { className: "flex justify-between items-center", children: [_jsx(Controller, { control: control, name: `pathParams.${i}.value`, render: ({ field }) => (_jsx(Input, { ...field, placeholder: "Enter value", className: "border-0 shadow-none ring-0 font-mono text-xs" })) }), _jsx(Controller, { control: control, name: `pathParams.${i}.value`, render: ({ field }) => (_jsx(Button, { size: "icon", type: "button", variant: "ghost", "aria-label": "Clear value", className: cn("ms-2", field.value.length === 0
|
|
13
|
+
return (_jsx("table", { className: "w-full table-auto [&_td]:border [&_td]:py-1 [&_td]:px-2", children: _jsx("tbody", { children: fields.map((part, i) => (_jsxs("tr", { className: "hover:bg-accent/40", children: [_jsx("td", { children: _jsx(Controller, { control: control, name: `pathParams.${i}.value`, render: ({ field }) => (_jsxs("div", { children: [_jsx(ColorizedParam, { slug: part.name, name: part.name, backgroundOpacity: "25%", borderOpacity: field.value ? "100%" : "0", className: cn("font-mono text-xs m-2", !field.value && "opacity-60") }), "*"] })) }) }), _jsx("td", { children: _jsxs("div", { className: "flex justify-between items-center", children: [_jsx(Controller, { control: control, name: `pathParams.${i}.value`, render: ({ field }) => (_jsx(Input, { ...field, required: true, placeholder: "Enter value", className: "border-0 shadow-none ring-0 font-mono text-xs" })) }), _jsx(Controller, { control: control, name: `pathParams.${i}.value`, render: ({ field }) => (_jsx(Button, { size: "icon", type: "button", variant: "ghost", "aria-label": "Clear value", className: cn("ms-2", field.value.length === 0
|
|
14
14
|
? "opacity-0 pointer-events-none"
|
|
15
15
|
: "opacity-100"), title: "Clear value", onClick: () => field.onChange(""), children: _jsx(EraserIcon, { size: 16 }) })) })] }) })] }, part.id))) }) }));
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathParams.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/PathParams.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAW,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,OAAO,GAGR,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAiB;QAC/C,OAAO;QACP,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,OAAO,CACL,gBAAO,SAAS,EAAC,yDAAyD,YACxE,0BACG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,cAAkB,SAAS,EAAC,oBAAoB,aAC9C,uBACE,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,0BACE,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,iBAAiB,EAAC,KAAK,EACvB,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,CAC7B,GACD,SAEE,CACP,GACD,GACC,EACL,uBACE,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,KAAK,OACA,KAAK,EACT,WAAW,EAAC,aAAa,EACzB,SAAS,EAAC,+CAA+C,GACzD,CACH,GACD,EACF,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,gBACJ,aAAa,EACxB,SAAS,EAAE,EAAE,CACX,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;4CACtB,CAAC,CAAC,+BAA+B;4CACjC,CAAC,CAAC,aAAa,CAClB,EACD,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,YAEjC,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,GACjB,CACV,GACD,IACE,GACH,
|
|
1
|
+
{"version":3,"file":"PathParams.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/playground/PathParams.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAW,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,OAAO,GAGR,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAiB;QAC/C,OAAO;QACP,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,OAAO,CACL,gBAAO,SAAS,EAAC,yDAAyD,YACxE,0BACG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,cAAkB,SAAS,EAAC,oBAAoB,aAC9C,uBACE,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,0BACE,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,iBAAiB,EAAC,KAAK,EACvB,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,CAC7B,GACD,SAEE,CACP,GACD,GACC,EACL,uBACE,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,KAAK,OACA,KAAK,EACT,QAAQ,QACR,WAAW,EAAC,aAAa,EACzB,SAAS,EAAC,+CAA+C,GACzD,CACH,GACD,EACF,KAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,CAAC,QAAQ,EAC7B,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,KAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,gBACJ,aAAa,EACxB,SAAS,EAAE,EAAE,CACX,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;4CACtB,CAAC,CAAC,+BAA+B;4CACjC,CAAC,CAAC,aAAa,CAClB,EACD,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,YAEjC,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,GAAI,GACjB,CACV,GACD,IACE,GACH,KA3DE,IAAI,CAAC,EAAE,CA4DX,CACN,CAAC,GACI,GACF,CACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { traverse } from "./traverse.js";
|
|
2
|
+
// Remove all `x-` prefixed key/value pairs, or filter by names if provided
|
|
3
|
+
export const removeExtensions = ({ keys } = {}) => (doc) => traverse(doc, (spec) => {
|
|
4
|
+
const result = {};
|
|
5
|
+
for (const [key, value] of Object.entries(spec)) {
|
|
6
|
+
const isExtension = key.startsWith("x-");
|
|
7
|
+
const shouldRemove = isExtension && (keys === undefined || keys.includes(key));
|
|
8
|
+
if (shouldRemove)
|
|
9
|
+
continue;
|
|
10
|
+
result[key] = value;
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=removeExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeExtensions.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/post-processors/removeExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,EAAE,IAAI,KAA8B,EAAE,EAAE,EAAE,CAC3C,CAAC,GAAc,EAAa,EAAE,CAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;IACrB,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,YAAY,GAChB,WAAW,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5D,IAAI,YAAY;YAAE,SAAS;QAE3B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|