zudoku 0.3.0-dev.4 → 0.3.0-dev.41
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/app/App.d.ts +1 -2
- package/dist/app/App.js +1 -28
- package/dist/app/App.js.map +1 -1
- package/dist/app/demo.d.ts +2 -0
- package/dist/app/demo.js +27 -0
- package/dist/app/demo.js.map +1 -0
- package/dist/app/entry.client.d.ts +2 -0
- package/dist/app/entry.client.js +35 -0
- package/dist/app/entry.client.js.map +1 -0
- package/dist/app/entry.server.d.ts +12 -0
- package/dist/app/entry.server.js +104 -0
- package/dist/app/entry.server.js.map +1 -0
- package/dist/app/main.d.ts +6 -1
- package/dist/app/main.js +54 -12
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.d.ts +2 -0
- package/dist/app/standalone.js +32 -0
- package/dist/app/standalone.js.map +1 -0
- package/dist/app/tailwind.d.ts +1 -1
- package/dist/app/tailwind.js +0 -4
- package/dist/app/tailwind.js.map +1 -1
- package/dist/app/zudoku-manifest.d.ts +1 -0
- package/dist/app/zudoku-manifest.js +20 -0
- package/dist/app/zudoku-manifest.js.map +1 -0
- package/dist/cli/cmds/dev.js +5 -0
- package/dist/cli/cmds/dev.js.map +1 -1
- package/dist/cli/dev/handler.d.ts +1 -0
- package/dist/cli/dev/handler.js +3 -1
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/config.d.ts +15 -16
- package/dist/internal.d.ts +1 -0
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -0
- package/dist/lib/authentication/Callback.js +1 -1
- package/dist/lib/authentication/Callback.js.map +1 -1
- package/dist/lib/authentication/authentication.d.ts +2 -2
- package/dist/lib/authentication/hook.d.ts +1 -0
- package/dist/lib/authentication/hook.js +1 -0
- package/dist/lib/authentication/hook.js.map +1 -1
- package/dist/lib/authentication/providers/auth0.js +1 -0
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/clerk.js +4 -0
- package/dist/lib/authentication/providers/clerk.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +1 -1
- package/dist/lib/authentication/providers/openid.js +2 -0
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/authentication/state.d.ts +1 -0
- package/dist/lib/authentication/state.js +1 -0
- package/dist/lib/authentication/state.js.map +1 -1
- package/dist/lib/components/Bootstrap.d.ts +12 -0
- package/dist/lib/components/Bootstrap.js +9 -0
- package/dist/lib/components/Bootstrap.js.map +1 -0
- package/dist/lib/components/DevPortal.d.ts +4 -19
- package/dist/lib/components/DevPortal.js +17 -12
- package/dist/lib/components/DevPortal.js.map +1 -1
- package/dist/lib/components/ErrorPage.d.ts +6 -0
- package/dist/lib/components/ErrorPage.js +9 -0
- package/dist/lib/components/ErrorPage.js.map +1 -0
- package/dist/lib/components/Header.js +3 -3
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Heading.d.ts +9 -4
- package/dist/lib/components/Heading.js +17 -2
- package/dist/lib/components/Heading.js.map +1 -1
- package/dist/lib/components/InlineCode.d.ts +5 -0
- package/dist/lib/components/InlineCode.js +4 -0
- package/dist/lib/components/InlineCode.js.map +1 -0
- package/dist/lib/components/Layout.js +3 -2
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/NotFoundPage.d.ts +1 -0
- package/dist/lib/components/NotFoundPage.js +12 -0
- package/dist/lib/components/NotFoundPage.js.map +1 -0
- package/dist/lib/components/SyntaxHighlight.d.ts +3 -2
- package/dist/lib/components/SyntaxHighlight.js +21 -19
- package/dist/lib/components/SyntaxHighlight.js.map +1 -1
- package/dist/lib/components/TopNavigation.d.ts +1 -1
- package/dist/lib/components/TopNavigation.js +4 -0
- package/dist/lib/components/TopNavigation.js.map +1 -1
- package/dist/lib/components/context/DevPortalProvider.d.ts +1 -1
- package/dist/lib/components/context/DevPortalProvider.js +2 -2
- package/dist/lib/components/context/DevPortalProvider.js.map +1 -1
- package/dist/lib/components/index.d.ts +28 -3
- package/dist/lib/components/index.js +17 -3
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/core/DevPortalContext.d.ts +33 -3
- package/dist/lib/core/DevPortalContext.js +8 -5
- package/dist/lib/core/DevPortalContext.js.map +1 -1
- package/dist/lib/core/plugins.d.ts +7 -4
- package/dist/lib/core/plugins.js +1 -0
- package/dist/lib/core/plugins.js.map +1 -1
- package/dist/lib/errors/ErrorAlert.d.ts +3 -0
- package/dist/lib/errors/ErrorAlert.js +8 -0
- package/dist/lib/errors/ErrorAlert.js.map +1 -0
- package/dist/lib/errors/RouterError.d.ts +1 -0
- package/dist/lib/errors/RouterError.js +12 -0
- package/dist/lib/errors/RouterError.js.map +1 -0
- package/dist/lib/errors/ServerError.d.ts +3 -0
- package/dist/lib/errors/ServerError.js +6 -0
- package/dist/lib/errors/ServerError.js.map +1 -0
- package/dist/lib/errors/TopLevelError.d.ts +2 -0
- package/dist/lib/errors/TopLevelError.js +7 -0
- package/dist/lib/errors/TopLevelError.js.map +1 -0
- package/dist/lib/oas/graphql/index.js +1 -1
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/oas/parser/index.d.ts +1 -1
- package/dist/lib/oas/parser/index.js +38 -12
- package/dist/lib/oas/parser/index.js.map +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +4 -0
- package/dist/lib/plugins/{api-key → api-keys}/CreateApiKey.js +1 -1
- package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -0
- package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +4 -0
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js +38 -0
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -0
- package/dist/lib/plugins/{api-key → api-keys}/index.js +32 -9
- package/dist/lib/plugins/api-keys/index.js.map +1 -0
- package/dist/lib/plugins/markdown/MdxPage.d.ts +3 -2
- package/dist/lib/plugins/markdown/MdxPage.js +7 -6
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/markdown/Toc.js +1 -1
- package/dist/lib/plugins/markdown/Toc.js.map +1 -1
- package/dist/lib/plugins/markdown/generateRoutes.d.ts +3 -3
- package/dist/lib/plugins/markdown/generateRoutes.js +4 -4
- package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -1
- package/dist/lib/plugins/markdown/index.d.ts +4 -1
- package/dist/lib/plugins/markdown/index.js +3 -7
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +16 -5
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationListItem.js +10 -5
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterList.js +1 -1
- package/dist/lib/plugins/openapi/ParameterList.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/{MakeRequest.d.ts → PlaygroundDialogWrapper.d.ts} +1 -1
- package/dist/lib/plugins/openapi/{MakeRequest.js → PlaygroundDialogWrapper.js} +5 -5
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -0
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +1 -9
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +1 -1
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/Route.d.ts +6 -0
- package/dist/lib/plugins/openapi/Route.js +8 -0
- package/dist/lib/plugins/openapi/Route.js.map +1 -0
- package/dist/lib/plugins/openapi/SchemaListView.js +6 -27
- package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +7 -0
- package/dist/lib/plugins/openapi/SchemaListViewItem.js +16 -0
- package/dist/lib/plugins/openapi/SchemaListViewItem.js.map +1 -0
- package/dist/lib/plugins/openapi/SchemaListViewItemGroup.d.ts +8 -0
- package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js +17 -0
- package/dist/lib/plugins/openapi/SchemaListViewItemGroup.js.map +1 -0
- package/dist/lib/plugins/openapi/Sidecar.js +10 -8
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/{Select.d.ts → SimpleSelect.d.ts} +3 -2
- package/dist/lib/plugins/openapi/SimpleSelect.js +5 -0
- package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -0
- package/dist/lib/plugins/openapi/client/createMemoryClient.d.ts +12 -0
- package/dist/lib/plugins/openapi/client/createMemoryClient.js +46 -0
- package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -0
- package/dist/lib/plugins/openapi/client/createServer.d.ts +4 -0
- package/dist/lib/plugins/openapi/client/createServer.js +30 -0
- package/dist/lib/plugins/openapi/client/createServer.js.map +1 -0
- package/dist/lib/plugins/openapi/client/createWorkerClient.d.ts +10 -0
- package/dist/lib/plugins/openapi/{worker/createSharedWorkerClient.js → client/createWorkerClient.js} +15 -2
- package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -0
- package/dist/lib/plugins/openapi/client/interfaces.d.ts +4 -0
- package/dist/lib/plugins/openapi/client/interfaces.js +2 -0
- package/dist/lib/plugins/openapi/client/interfaces.js.map +1 -0
- package/dist/lib/plugins/openapi/{worker → client}/worker.js +2 -2
- package/dist/lib/plugins/openapi/client/worker.js.map +1 -0
- package/dist/lib/plugins/openapi/context.d.ts +5 -0
- package/dist/lib/plugins/openapi/context.js +11 -0
- package/dist/lib/plugins/openapi/context.js.map +1 -0
- package/dist/lib/plugins/openapi/index.d.ts +4 -18
- package/dist/lib/plugins/openapi/index.js +35 -20
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +15 -0
- package/dist/lib/plugins/openapi/interfaces.js +2 -0
- package/dist/lib/plugins/openapi/interfaces.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Headers.d.ts +2 -3
- package/dist/lib/plugins/openapi/playground/Headers.js +16 -6
- package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PathParams.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +4 -3
- package/dist/lib/plugins/openapi/playground/Playground.js +8 -12
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.d.ts +3 -0
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +10 -0
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js +2 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/createUrl.d.ts +1 -1
- package/dist/lib/plugins/openapi/util/prose.d.ts +1 -0
- package/dist/lib/plugins/openapi/util/prose.js +4 -0
- package/dist/lib/plugins/openapi/util/prose.js.map +1 -0
- package/dist/lib/plugins/openapi-worker.d.ts +1 -1
- package/dist/lib/plugins/openapi-worker.js +1 -1
- package/dist/lib/plugins/openapi-worker.js.map +1 -1
- package/dist/lib/plugins/redirect/index.js +2 -3
- package/dist/lib/plugins/redirect/index.js.map +1 -1
- package/dist/lib/ui/Callout.js +2 -2
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/button-variants.d.ts +2 -2
- package/dist/lib/util/MdxComponents.js +2 -2
- package/dist/lib/util/MdxComponents.js.map +1 -1
- package/dist/lib/util/groupBy.d.ts +1 -6
- package/dist/lib/util/groupBy.js +10 -8
- package/dist/lib/util/groupBy.js.map +1 -1
- package/dist/lib/util/logInit.d.ts +1 -0
- package/dist/lib/util/logInit.js +9 -0
- package/dist/lib/util/logInit.js.map +1 -0
- package/dist/lib/util/objectEntries.d.ts +4 -0
- package/dist/lib/util/objectEntries.js +2 -0
- package/dist/lib/util/objectEntries.js.map +1 -0
- package/dist/lib/util/renderIf.d.ts +1 -0
- package/dist/lib/util/renderIf.js +2 -0
- package/dist/lib/util/renderIf.js.map +1 -0
- package/dist/vite/build.js +27 -8
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +13 -9
- package/dist/vite/config.js +98 -57
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +7 -4
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/dev-server.d.ts +2 -1
- package/dist/vite/dev-server.js +43 -15
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/html.js +5 -5
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-api-keys.js +7 -8
- package/dist/vite/plugin-api-keys.js.map +1 -1
- package/dist/vite/plugin-api.js +8 -19
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.js +5 -6
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.js +3 -2
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-config.d.ts +0 -1
- package/dist/vite/plugin-config.js +13 -7
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-custom-css.d.ts +6 -0
- package/dist/vite/plugin-custom-css.js +55 -0
- package/dist/vite/plugin-custom-css.js.map +1 -0
- package/dist/vite/plugin-docs.js +14 -4
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-docs.test.js +1 -1
- package/dist/vite/plugin-docs.test.js.map +1 -1
- package/dist/vite/plugin-html.js +1 -9
- package/dist/vite/plugin-html.js.map +1 -1
- package/dist/vite/plugin-mdx.d.ts +3 -1
- package/dist/vite/plugin-mdx.js +4 -4
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-redirect.js +9 -9
- package/dist/vite/plugin-redirect.js.map +1 -1
- package/dist/vite/plugin.js +3 -3
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.d.ts +17 -0
- package/dist/vite/prerender.js +55 -0
- package/dist/vite/prerender.js.map +1 -0
- package/lib/AnchorLink-DCdBbdqo.js +705 -0
- package/lib/AnchorLink-DCdBbdqo.js.map +1 -0
- package/lib/DevPortalProvider-C-O1s7mm.js +1081 -0
- package/lib/DevPortalProvider-C-O1s7mm.js.map +1 -0
- package/lib/Markdown-CGZJUYcj.js +15028 -0
- package/lib/Markdown-CGZJUYcj.js.map +1 -0
- package/lib/MdxPage-BZLuBOqR.js +190 -0
- package/lib/MdxPage-BZLuBOqR.js.map +1 -0
- package/lib/OperationList-BEpN70_E.js +5562 -0
- package/lib/OperationList-BEpN70_E.js.map +1 -0
- package/lib/Route-WiMUalLG.js +13 -0
- package/lib/Route-WiMUalLG.js.map +1 -0
- package/lib/Select-BQ9-3iTJ.js +4571 -0
- package/lib/Select-BQ9-3iTJ.js.map +1 -0
- package/lib/Spinner-C1L_TK5f.js +182 -0
- package/lib/Spinner-C1L_TK5f.js.map +1 -0
- package/lib/_commonjsHelpers-BkfeUUK-.js +1 -0
- package/lib/_commonjsHelpers-BkfeUUK-.js.map +1 -0
- package/lib/assets/index-BPdJm2ty.js +1 -0
- package/lib/assets/index-BPdJm2ty.js.map +1 -0
- package/lib/assets/{worker-BCcpCNJ7.js → worker-BjPv-hjP.js} +10742 -10318
- package/lib/assets/worker-BjPv-hjP.js.map +1 -0
- package/lib/context-_fYfJFgk.js +14 -0
- package/lib/context-_fYfJFgk.js.map +1 -0
- package/lib/createWorkerClient-TWecYOlx.js +16698 -0
- package/lib/createWorkerClient-TWecYOlx.js.map +1 -0
- package/lib/hook-SM2dMVmI.js +77 -0
- package/lib/hook-SM2dMVmI.js.map +1 -0
- package/lib/index-CtLNbq0d.js +412 -0
- package/lib/index-CtLNbq0d.js.map +1 -0
- package/lib/index-PvQa9XLl.js +724 -0
- package/lib/index-PvQa9XLl.js.map +1 -0
- package/lib/index-pI9JkN46.js +4765 -0
- package/lib/index-pI9JkN46.js.map +1 -0
- package/lib/jsx-runtime-DLtUZ5Ve.js +1526 -0
- package/lib/jsx-runtime-DLtUZ5Ve.js.map +1 -0
- package/lib/prism-bash.min-DadFsM4Z.js +1 -0
- package/lib/prism-bash.min-DadFsM4Z.js.map +1 -0
- package/lib/prism-csharp.min-Yizuc34Y.js +35 -0
- package/lib/prism-csharp.min-Yizuc34Y.js.map +1 -0
- package/lib/prism-java.min-d5iT_mOd.js +1 -0
- package/lib/prism-java.min-d5iT_mOd.js.map +1 -0
- package/lib/prism-json.min-B1GJqK1k.js +1 -0
- package/lib/prism-json.min-B1GJqK1k.js.map +1 -0
- package/lib/prism-markup-templating-DZrrEs0A.js +1 -0
- package/lib/prism-markup-templating-DZrrEs0A.js.map +1 -0
- package/lib/prism-objectivec.min-BXSWqpJJ.js +2 -0
- package/lib/prism-objectivec.min-BXSWqpJJ.js.map +1 -0
- package/lib/prism-php.min-o7FpoMP_.js +1 -0
- package/lib/prism-php.min-o7FpoMP_.js.map +1 -0
- package/lib/prism-ruby.min-C7LwcKyz.js +1 -0
- package/lib/prism-ruby.min-C7LwcKyz.js.map +1 -0
- package/lib/router-BkOLuJlq.js +2973 -0
- package/lib/router-BkOLuJlq.js.map +1 -0
- package/lib/slugify-DbLhpSPt.js +28 -0
- package/lib/slugify-DbLhpSPt.js.map +1 -0
- package/lib/{state-oycsxkHz.js → state-Ds_OxRHP.js} +20 -18
- package/lib/state-Ds_OxRHP.js.map +1 -0
- package/lib/util-Cgie7wjb.js +41 -0
- package/lib/util-Cgie7wjb.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +3 -1
- package/lib/zudoku.auth-auth0.js.map +1 -0
- package/lib/zudoku.auth-clerk.js +11 -8
- package/lib/zudoku.auth-clerk.js.map +1 -0
- package/lib/zudoku.auth-openid.js +5 -2
- package/lib/zudoku.auth-openid.js.map +1 -0
- package/lib/zudoku.components.js +800 -464
- package/lib/zudoku.components.js.map +1 -0
- package/lib/zudoku.openapi-worker.js +3 -223
- package/lib/zudoku.openapi-worker.js.map +1 -0
- package/lib/zudoku.plugin-api-keys.js +287 -0
- package/lib/zudoku.plugin-api-keys.js.map +1 -0
- package/lib/zudoku.plugin-markdown.js +49 -0
- package/lib/zudoku.plugin-markdown.js.map +1 -0
- package/lib/zudoku.plugin-openapi.js +9 -0
- package/lib/zudoku.plugin-openapi.js.map +1 -0
- package/lib/zudoku.plugin-redirect.js +11 -0
- package/lib/zudoku.plugin-redirect.js.map +1 -0
- package/package.json +33 -15
- package/src/app/App.tsx +0 -40
- package/src/app/demo-cdn.html +26 -0
- package/src/app/demo.html +18 -0
- package/src/app/demo.tsx +40 -0
- package/src/app/entry.client.tsx +47 -0
- package/src/app/entry.server.tsx +158 -0
- package/src/app/main.css +74 -0
- package/src/app/main.tsx +71 -15
- package/src/app/standalone.html +20 -0
- package/src/app/standalone.tsx +46 -0
- package/src/app/tailwind.ts +2 -6
- package/src/app/zudoku-manifest.ts +22 -0
- package/src/lib/authentication/Callback.tsx +1 -1
- package/src/lib/authentication/authentication.ts +2 -5
- package/src/lib/authentication/hook.ts +1 -0
- package/src/lib/authentication/providers/auth0.tsx +1 -0
- package/src/lib/authentication/providers/clerk.tsx +3 -0
- package/src/lib/authentication/providers/openid.tsx +3 -1
- package/src/lib/authentication/state.ts +2 -0
- package/src/lib/components/Bootstrap.tsx +37 -0
- package/src/lib/components/DevPortal.tsx +41 -56
- package/src/lib/components/ErrorPage.tsx +28 -0
- package/src/lib/components/Header.tsx +7 -7
- package/src/lib/components/Heading.tsx +26 -7
- package/src/lib/components/InlineCode.tsx +19 -0
- package/src/lib/components/Layout.tsx +9 -7
- package/src/lib/components/NotFoundPage.tsx +39 -0
- package/src/lib/components/SyntaxHighlight.tsx +27 -19
- package/src/lib/components/TopNavigation.tsx +5 -0
- package/src/lib/components/context/DevPortalProvider.ts +2 -2
- package/src/lib/components/index.ts +21 -3
- package/src/lib/core/DevPortalContext.ts +42 -13
- package/src/lib/core/plugins.ts +10 -5
- package/src/lib/errors/ErrorAlert.tsx +21 -0
- package/src/lib/errors/RouterError.tsx +13 -0
- package/src/lib/errors/ServerError.tsx +5 -0
- package/src/lib/errors/TopLevelError.tsx +8 -0
- package/src/lib/oas/graphql/index.ts +2 -2
- package/src/lib/oas/parser/index.ts +41 -20
- package/src/lib/plugins/{api-key → api-keys}/CreateApiKey.tsx +2 -8
- package/src/lib/plugins/{api-key → api-keys}/SettingsApiKeys.tsx +21 -14
- package/src/lib/plugins/{api-key → api-keys}/index.tsx +43 -9
- package/src/lib/plugins/markdown/MdxPage.tsx +52 -35
- package/src/lib/plugins/markdown/Toc.tsx +1 -1
- package/src/lib/plugins/markdown/generateRoutes.tsx +16 -6
- package/src/lib/plugins/markdown/index.tsx +10 -7
- package/src/lib/plugins/openapi/OperationList.tsx +40 -4
- package/src/lib/plugins/openapi/OperationListItem.tsx +69 -42
- package/src/lib/plugins/openapi/ParameterList.tsx +1 -1
- package/src/lib/plugins/openapi/ParameterListItem.tsx +3 -4
- package/src/lib/plugins/openapi/{MakeRequest.tsx → PlaygroundDialogWrapper.tsx} +4 -4
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +2 -16
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +3 -1
- package/src/lib/plugins/openapi/Route.tsx +21 -0
- package/src/lib/plugins/openapi/SchemaListView.tsx +23 -192
- package/src/lib/plugins/openapi/SchemaListViewItem.tsx +110 -0
- package/src/lib/plugins/openapi/SchemaListViewItemGroup.tsx +63 -0
- package/src/lib/plugins/openapi/Sidecar.tsx +15 -10
- package/src/lib/plugins/openapi/{Select.tsx → SimpleSelect.tsx} +6 -3
- package/src/lib/plugins/openapi/client/createMemoryClient.ts +56 -0
- package/src/lib/plugins/openapi/client/createServer.ts +33 -0
- package/src/lib/plugins/openapi/{worker/createSharedWorkerClient.ts → client/createWorkerClient.ts} +21 -1
- package/src/lib/plugins/openapi/client/interfaces.ts +5 -0
- package/src/lib/plugins/openapi/{worker → client}/worker.ts +3 -3
- package/src/lib/plugins/openapi/context.tsx +16 -0
- package/src/lib/plugins/openapi/index.tsx +59 -52
- package/src/lib/plugins/openapi/interfaces.ts +9 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +60 -33
- package/src/lib/plugins/openapi/playground/PathParams.tsx +1 -1
- package/src/lib/plugins/openapi/playground/Playground.tsx +158 -193
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +34 -0
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +7 -2
- package/src/lib/plugins/openapi/playground/createUrl.ts +1 -1
- package/src/lib/plugins/openapi/util/prose.ts +7 -0
- package/src/lib/plugins/openapi-worker.ts +1 -1
- package/src/lib/plugins/redirect/index.tsx +2 -2
- package/src/lib/ui/Callout.tsx +4 -4
- package/src/lib/util/MdxComponents.tsx +2 -12
- package/src/lib/util/groupBy.ts +7 -12
- package/src/lib/util/logInit.ts +9 -0
- package/src/lib/util/objectEntries.ts +5 -0
- package/src/lib/util/renderIf.ts +4 -0
- package/dist/lib/components/Link.d.ts +0 -1
- package/dist/lib/components/Link.js +0 -2
- package/dist/lib/components/Link.js.map +0 -1
- package/dist/lib/components/Router.d.ts +0 -4
- package/dist/lib/components/Router.js +0 -20
- package/dist/lib/components/Router.js.map +0 -1
- package/dist/lib/core/helmet.d.ts +0 -4
- package/dist/lib/core/helmet.js +0 -5
- package/dist/lib/core/helmet.js.map +0 -1
- package/dist/lib/core/icons.d.ts +0 -1
- package/dist/lib/core/icons.js +0 -2
- package/dist/lib/core/icons.js.map +0 -1
- package/dist/lib/core/router.d.ts +0 -1
- package/dist/lib/core/router.js +0 -2
- package/dist/lib/core/router.js.map +0 -1
- package/dist/lib/plugins/api-key/CreateApiKey.d.ts +0 -5
- package/dist/lib/plugins/api-key/CreateApiKey.js.map +0 -1
- package/dist/lib/plugins/api-key/SettingsApiKeys.d.ts +0 -5
- package/dist/lib/plugins/api-key/SettingsApiKeys.js +0 -38
- package/dist/lib/plugins/api-key/SettingsApiKeys.js.map +0 -1
- package/dist/lib/plugins/api-key/index.js.map +0 -1
- package/dist/lib/plugins/index.d.ts +0 -4
- package/dist/lib/plugins/index.js +0 -5
- package/dist/lib/plugins/index.js.map +0 -1
- package/dist/lib/plugins/openapi/MakeRequest.js.map +0 -1
- package/dist/lib/plugins/openapi/Select.js +0 -5
- package/dist/lib/plugins/openapi/Select.js.map +0 -1
- package/dist/lib/plugins/openapi/worker/createSharedWorkerClient.d.ts +0 -5
- package/dist/lib/plugins/openapi/worker/createSharedWorkerClient.js.map +0 -1
- package/dist/lib/plugins/openapi/worker/shared-worker.d.ts +0 -1
- package/dist/lib/plugins/openapi/worker/shared-worker.js +0 -6
- package/dist/lib/plugins/openapi/worker/shared-worker.js.map +0 -1
- package/dist/lib/plugins/openapi/worker/worker.js.map +0 -1
- package/dist/vite/common.d.ts +0 -1
- package/dist/vite/common.js +0 -5
- package/dist/vite/common.js.map +0 -1
- package/dist/vite/plugin-openapi-worker.d.ts +0 -4
- package/dist/vite/plugin-openapi-worker.js +0 -28
- package/dist/vite/plugin-openapi-worker.js.map +0 -1
- package/lib/Spinner-7LezPqGn.js +0 -8393
- package/lib/clerk-Wslx_mPo.js +0 -19685
- package/lib/index-DNx3xWa2.js +0 -3461
- package/lib/urql-DMlBWUKL.js +0 -1591
- package/lib/zudoku.plugins.js +0 -19863
- package/src/lib/components/Link.tsx +0 -1
- package/src/lib/components/Router.tsx +0 -28
- package/src/lib/core/helmet.ts +0 -5
- package/src/lib/core/icons.tsx +0 -1
- package/src/lib/core/router.tsx +0 -1
- package/src/lib/plugins/index.ts +0 -4
- package/src/lib/plugins/openapi/worker/shared-worker.ts +0 -5
- /package/dist/lib/plugins/{api-key → api-keys}/index.d.ts +0 -0
- /package/dist/lib/plugins/openapi/{worker → client}/worker.d.ts +0 -0
|
@@ -1,43 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import * as Collapsible from "@radix-ui/react-collapsible";
|
|
3
|
-
import { ListPlusIcon } from "lucide-react";
|
|
4
|
-
import { useState } from "react";
|
|
5
2
|
import { Markdown } from "../../components/Markdown.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { groupBy } from "../../util/groupBy.js";
|
|
4
|
+
import { objectEntries } from "../../util/objectEntries.js";
|
|
5
|
+
import { SchemaListViewItemGroup } from "./SchemaListViewItemGroup.js";
|
|
6
|
+
import { SchemaProseClasses } from "./util/prose.js";
|
|
8
7
|
export const SchemaListView = ({ name, schema, level = 0, defaultOpen = false, }) => {
|
|
9
8
|
const properties = Object.entries(schema.properties ?? {});
|
|
10
9
|
const additionalProperties = typeof schema.additionalProperties === "object"
|
|
11
10
|
? Object.entries(schema.additionalProperties)
|
|
12
11
|
: [];
|
|
13
12
|
const combinedProperties = properties.concat(Array.isArray(additionalProperties) ? additionalProperties : []);
|
|
14
|
-
const groups =
|
|
13
|
+
const groups = groupBy(combinedProperties, ([propertyName, property]) => {
|
|
15
14
|
return property.deprecated
|
|
16
15
|
? "deprecated"
|
|
17
16
|
: schema.required?.includes(propertyName)
|
|
18
17
|
? "required"
|
|
19
18
|
: "optional";
|
|
20
19
|
});
|
|
21
|
-
return (_jsxs("div", { className:
|
|
22
|
-
return (_jsx(SchemaListViewItemGroup, { defaultOpen: defaultOpen, group: group, nestingLevel: level, properties: properties, required: schema.required ?? [] }, group));
|
|
23
|
-
}) })] }));
|
|
24
|
-
};
|
|
25
|
-
const SchemaListViewItemGroup = ({ group, properties, nestingLevel, required, defaultOpen = false, }) => {
|
|
26
|
-
const notCollapsible = defaultOpen ||
|
|
27
|
-
group === "required" ||
|
|
28
|
-
properties.length === 1 ||
|
|
29
|
-
nestingLevel === 0;
|
|
30
|
-
const [open, setOpen] = useState(notCollapsible);
|
|
31
|
-
if (properties.length === 0) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
return (_jsxs(Collapsible.Root, { className: "CollapsibleRoot", open: open, onOpenChange: setOpen, children: [!open && (_jsxs(Collapsible.Trigger, { className: cn("py-2 hover:bg-muted w-full", group === "optional" && "font-semibold", group === "deprecated" && "text-muted-foreground"), children: [properties.length, " ", group, " fields"] })), _jsx(Collapsible.Content, { children: properties.map(([propertyName, property]) => (_jsx(SchemaListViewItem, { property: property, propertyName: propertyName, nestingLevel: nestingLevel, isRequired: required.includes(propertyName) }, propertyName))) })] }));
|
|
35
|
-
};
|
|
36
|
-
const SchemaListViewItem = ({ propertyName, property, nestingLevel, isRequired, }) => {
|
|
37
|
-
return (_jsxs("div", { className: cn(nestingLevel > 0 ? "py-2" : "py-4", "px-2 border-t border-border bg-border/20 hover:bg-border/30 flex gap-1 flex-col text-sm", property.deprecated && "opacity-50"), children: [_jsxs("div", { className: "flex items-center gap-2 relative", children: [_jsxs("code", { children: [propertyName, " ", property.title] }), property.type && (_jsx("span", { className: "text-xs text-muted-foreground", children: property.type })), property.deprecated && (_jsx("span", { className: "text-xs text-muted-foreground", children: "Deprecated" })), !isRequired && (_jsxs("span", { className: "py-px px-1.5 font-medium text-xs border border-border rounded-lg", children: ["optional ", property.required] }))] }), property.description && (_jsx(Markdown, { content: property.description, className: "text-sm leading-normal line-clamp-4 " })), property.enum && (_jsxs("span", { className: "text-sm text-muted-foreground flex gap-1 flex-wrap items-center", children: [_jsx("span", { children: "Possible values" }), property.enum
|
|
38
|
-
.filter((value) => value)
|
|
39
|
-
.map((value) => (_jsx("span", { className: "font-mono text-xs border-border border bg-muted rounded px-1", children: value }, value)))
|
|
40
|
-
.slice(0, 4), property.enum.length > 4 && (_jsx("span", { className: "font-mono text-xs border-border border bg-muted rounded px-1", children: "..." }))] })), _jsxs(Collapsible.Root, { className: "CollapsibleRoot", defaultOpen: false, children: [property.type === "object" ||
|
|
41
|
-
(property.type === "array" && property.items.type === "object") ? (_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", size: "sm", children: ["Show nested fields", _jsx(ListPlusIcon, { size: 18, className: "ml-1.5" })] }) })) : null, _jsxs(Collapsible.Content, { children: [property.type === "object" && (_jsx("div", { className: "mt-2.5", children: _jsx(SchemaListView, { schema: property, level: nestingLevel + 1, defaultOpen: true }) })), property.type === "array" && property.items.type === "object" && (_jsx("div", { className: "mt-2.5", children: _jsx(SchemaListView, { schema: property.items, defaultOpen: true, level: nestingLevel + 1 }) }))] })] })] }, propertyName));
|
|
20
|
+
return (_jsxs("div", { className: "flex flex-col gap-2.5", children: [(schema.title ?? name) && (_jsx("div", { className: "ml-2 my-1 font-bold", children: schema.title ?? name })), level === 0 && schema.description && (_jsx(Markdown, { className: SchemaProseClasses, content: schema.description })), _jsx("ul", { className: "border-border border rounded overflow-hidden", children: objectEntries(groups).map(([group, properties]) => (_jsx(SchemaListViewItemGroup, { defaultOpen: defaultOpen, group: group, nestingLevel: level, properties: properties ?? [], required: schema.required ?? [] }, group))) })] }));
|
|
42
21
|
};
|
|
43
22
|
//# sourceMappingURL=SchemaListView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaListView.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SchemaListView.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SchemaListView.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SchemaListView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,KAAK,GAAG,CAAC,EACT,WAAW,GAAG,KAAK,GAMpB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,oBAAoB,GACxB,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;QAC7C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAC7C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAC1C,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAChE,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE;QACtE,OAAO,QAAQ,CAAC,UAAU;YACxB,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACvC,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,UAAU,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACnC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CACzB,cAAK,SAAS,EAAC,qBAAqB,YAAE,MAAM,CAAC,KAAK,IAAI,IAAI,GAAO,CAClE,EACA,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,CACpC,KAAC,QAAQ,IAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,GAAI,CACzE,EACD,aAAI,SAAS,EAAC,8CAA8C,YACzD,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAClD,KAAC,uBAAuB,IAEtB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,UAAU,IAAI,EAAE,EAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,IAL1B,KAAK,CAMV,CACH,CAAC,GACC,IACD,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SchemaObject } from "../../oas/parser/index.js";
|
|
2
|
+
export declare const SchemaListViewItem: ({ propertyName, property, nestingLevel, isRequired, }: {
|
|
3
|
+
propertyName: string;
|
|
4
|
+
isRequired: boolean;
|
|
5
|
+
property: SchemaObject;
|
|
6
|
+
nestingLevel: number;
|
|
7
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as Collapsible from "@radix-ui/react-collapsible";
|
|
3
|
+
import { ListPlusIcon } from "lucide-react";
|
|
4
|
+
import { Markdown } from "../../components/Markdown.js";
|
|
5
|
+
import { Button } from "../../ui/Button.js";
|
|
6
|
+
import { cn } from "../../util/cn.js";
|
|
7
|
+
import { SchemaListView } from "./SchemaListView.js";
|
|
8
|
+
export const SchemaListViewItem = ({ propertyName, property, nestingLevel, isRequired, }) => {
|
|
9
|
+
return (_jsxs("div", { className: cn("p-4 bg-border/20 hover:bg-border/30 flex gap-1 flex-col text-sm", property.deprecated && "opacity-50"), children: [_jsxs("div", { className: "flex items-center gap-2 relative", children: [_jsxs("code", { children: [propertyName, " ", property.title] }), property.type && (_jsx("span", { className: "text-muted-foreground", children: property.type })), property.deprecated && (_jsx("span", { className: "text-muted-foreground", children: "Deprecated" })), !isRequired && (_jsxs("span", { className: "py-px px-1.5 font-medium border border-border rounded-lg", children: ["optional ", property.required] }))] }), property.description && (_jsx(Markdown, { content: property.description, className: "text-sm leading-normal line-clamp-4 " })), property.enum && (_jsxs("span", { className: "text-sm text-muted-foreground flex gap-1 flex-wrap items-center", children: [_jsx("span", { children: "Possible values" }), [...new Set(property.enum.filter((value) => value))]
|
|
10
|
+
.map((value) => (_jsx("span", { className: "font-mono text-xs border-border border bg-muted rounded px-1", children: value }, value)))
|
|
11
|
+
.slice(0, 4), property.enum.length > 4 && (_jsx("span", { className: "font-mono text-xs border-border border bg-muted rounded px-1", children: "..." }))] })), (property.type === "object" &&
|
|
12
|
+
(property.properties?.length ??
|
|
13
|
+
Object.entries(property.additionalProperties ?? {}).length > 0)) ||
|
|
14
|
+
(property.type === "array" && property.items.type === "object") ? (_jsxs(Collapsible.Root, { className: "CollapsibleRoot", defaultOpen: false, children: [_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "ghost", size: "sm", children: ["Show nested fields", _jsx(ListPlusIcon, { size: 18, className: "ml-1.5" })] }) }), _jsxs(Collapsible.Content, { children: [property.type === "object" && (_jsx("div", { className: "mt-2.5", children: _jsx(SchemaListView, { schema: property, level: nestingLevel + 1, defaultOpen: true }) })), property.type === "array" && property.items.type === "object" && (_jsx("div", { className: "mt-2.5", children: _jsx(SchemaListView, { schema: property.items, defaultOpen: true, level: nestingLevel + 1 }) }))] })] })) : null] }, propertyName));
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=SchemaListViewItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaListViewItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SchemaListViewItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,UAAU,GAMX,EAAE,EAAE;IACH,OAAO,CACL,eAEE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,QAAQ,CAAC,UAAU,IAAI,YAAY,CACpC,aAED,eAAK,SAAS,EAAC,kCAAkC,aAC/C,2BACG,YAAY,OAAG,QAAQ,CAAC,KAAK,IACzB,EAEN,QAAQ,CAAC,IAAI,IAAI,CAChB,eAAM,SAAS,EAAC,uBAAuB,YAAE,QAAQ,CAAC,IAAI,GAAQ,CAC/D,EACA,QAAQ,CAAC,UAAU,IAAI,CACtB,eAAM,SAAS,EAAC,uBAAuB,2BAAkB,CAC1D,EACA,CAAC,UAAU,IAAI,CACd,gBAAM,SAAS,EAAC,0DAA0D,0BAC9D,QAAQ,CAAC,QAAQ,IACtB,CACR,IACG,EACL,QAAQ,CAAC,WAAW,IAAI,CACvB,KAAC,QAAQ,IACP,OAAO,EAAE,QAAQ,CAAC,WAAW,EAC7B,SAAS,EAAC,sCAAsC,GAChD,CACH,EAEA,QAAQ,CAAC,IAAI,IAAI,CAChB,gBAAM,SAAS,EAAC,iEAAiE,aAC/E,6CAA4B,EAE3B,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;yBAClD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,eAEE,SAAS,EAAC,8DAA8D,YAEvE,KAAK,IAHD,KAAK,CAIL,CACR,CAAC;yBACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EACb,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAC3B,eAAM,SAAS,EAAC,8DAA8D,oBAEvE,CACR,IACI,CACR,EAEA,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAC1B,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM;oBAC1B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpE,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAChE,MAAC,WAAW,CAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,EAAC,WAAW,EAAE,KAAK,aAC9D,KAAC,WAAW,CAAC,OAAO,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,mCAE/B,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAC,QAAQ,GAAG,IACtC,GACW,EAEtB,MAAC,WAAW,CAAC,OAAO,eACjB,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAC7B,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,cAAc,IACb,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,YAAY,GAAG,CAAC,EACvB,WAAW,SACX,GACE,CACP,EACA,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAChE,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,cAAc,IACb,MAAM,EAAE,QAAQ,CAAC,KAAK,EACtB,WAAW,QACX,KAAK,EAAE,YAAY,GAAG,CAAC,GACvB,GACE,CACP,IACmB,IACL,CACpB,CAAC,CAAC,CAAC,IAAI,KArFH,YAAY,CAsFb,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SchemaObject } from "../../oas/parser/index.js";
|
|
2
|
+
export declare const SchemaListViewItemGroup: ({ group, properties, nestingLevel, required, defaultOpen, }: {
|
|
3
|
+
group: "optional" | "required" | "deprecated";
|
|
4
|
+
defaultOpen?: boolean;
|
|
5
|
+
properties: [string, SchemaObject][];
|
|
6
|
+
nestingLevel: number;
|
|
7
|
+
required: string[];
|
|
8
|
+
}) => import("react/jsx-runtime").JSX.Element | undefined;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as Collapsible from "@radix-ui/react-collapsible";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { cn } from "../../util/cn.js";
|
|
5
|
+
import { SchemaListViewItem } from "./SchemaListViewItem.js";
|
|
6
|
+
export const SchemaListViewItemGroup = ({ group, properties, nestingLevel, required, defaultOpen = false, }) => {
|
|
7
|
+
const notCollapsible = defaultOpen ||
|
|
8
|
+
group === "required" ||
|
|
9
|
+
properties.length === 1 ||
|
|
10
|
+
nestingLevel === 0;
|
|
11
|
+
const [open, setOpen] = useState(notCollapsible);
|
|
12
|
+
if (properties.length === 0) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
return (_jsxs(Collapsible.Root, { className: "CollapsibleRoot", open: open, onOpenChange: setOpen, children: [!open && (_jsxs(Collapsible.Trigger, { className: cn("py-2 hover:bg-muted w-full", group === "optional" && "font-semibold", group === "deprecated" && "text-muted-foreground"), children: [properties.length, " ", group, " fields"] })), _jsx(Collapsible.Content, { className: "divide-y divide-border", children: properties.map(([propertyName, property]) => (_jsx(SchemaListViewItem, { property: property, propertyName: propertyName, nestingLevel: nestingLevel, isRequired: required.includes(propertyName) }, propertyName))) })] }));
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=SchemaListViewItemGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaListViewItemGroup.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SchemaListViewItemGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACtC,KAAK,EACL,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,GAAG,KAAK,GAOpB,EAAE,EAAE;IACH,MAAM,cAAc,GAClB,WAAW;QACX,KAAK,KAAK,UAAU;QACpB,UAAU,CAAC,MAAM,KAAK,CAAC;QACvB,YAAY,KAAK,CAAC,CAAC;IAErB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAEjD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,OAAO,CACL,MAAC,WAAW,CAAC,IAAI,IACf,SAAS,EAAC,iBAAiB,EAC3B,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,OAAO,aAEpB,CAAC,IAAI,IAAI,CACR,MAAC,WAAW,CAAC,OAAO,IAClB,SAAS,EAAE,EAAE,CACX,4BAA4B,EAC5B,KAAK,KAAK,UAAU,IAAI,eAAe,EACvC,KAAK,KAAK,YAAY,IAAI,uBAAuB,CAClD,aAEA,UAAU,CAAC,MAAM,OAAG,KAAK,eACN,CACvB,EAED,KAAC,WAAW,CAAC,OAAO,IAAC,SAAS,EAAC,wBAAwB,YACpD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAC5C,KAAC,kBAAkB,IAEjB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAJtC,YAAY,CAKjB,CACH,CAAC,GACkB,IACL,CACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { HTTPSnippet } from "@zudoku/httpsnippet";
|
|
3
|
-
import { Fragment, useMemo
|
|
3
|
+
import { Fragment, useMemo } from "react";
|
|
4
|
+
import { useSearchParams } from "react-router-dom";
|
|
4
5
|
import { SyntaxHighlight } from "../../components/SyntaxHighlight.js";
|
|
5
6
|
import { cn } from "../../util/cn.js";
|
|
6
7
|
import { ColorizedParam } from "./ColorizedParam.js";
|
|
7
|
-
import { MakeRequest } from "./MakeRequest.js";
|
|
8
8
|
import { MethodTextColorMap } from "./MethodBadge.js";
|
|
9
|
+
import { PlaygroundDialogWrapper } from "./PlaygroundDialogWrapper.js";
|
|
9
10
|
import { RequestBodySidecarBox } from "./RequestBodySidecarBox.js";
|
|
10
11
|
import { ResponsesSidecarBox } from "./ResponsesSidecarBox.js";
|
|
11
|
-
import { Select } from "./Select.js";
|
|
12
12
|
import * as SidecarBox from "./SidecarBox.js";
|
|
13
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
13
14
|
import { generateSchemaExample } from "./util/generateSchemaExample.js";
|
|
14
15
|
const getConverted = (snippet, option) => {
|
|
15
16
|
let converted;
|
|
@@ -55,7 +56,8 @@ const getConverted = (snippet, option) => {
|
|
|
55
56
|
};
|
|
56
57
|
export const Sidecar = ({ operation, }) => {
|
|
57
58
|
const methodTextColor = MethodTextColorMap[operation.method];
|
|
58
|
-
const [
|
|
59
|
+
const [searchParams, setSearchParams] = useSearchParams();
|
|
60
|
+
const selectedLang = searchParams.get("lang") ?? "shell";
|
|
59
61
|
const requestBodyContent = operation.requestBody?.content;
|
|
60
62
|
const path = operation.path.split("/").map((part) => (_jsxs(Fragment, { children: [part.startsWith("{") && part.endsWith("}") ? (_jsx(ColorizedParam, { name: part.slice(1, -1), backgroundOpacity: "0",
|
|
61
63
|
// same as in `ParameterListItem`
|
|
@@ -75,9 +77,9 @@ export const Sidecar = ({ operation, }) => {
|
|
|
75
77
|
}
|
|
76
78
|
: {},
|
|
77
79
|
});
|
|
78
|
-
return getConverted(snippet,
|
|
79
|
-
}, [
|
|
80
|
-
return (_jsxs("aside", { className: "flex flex-col overflow-hidden sticky top-[--scroll-padding] gap-4", children: [_jsxs(SidecarBox.Root, { children: [_jsxs(SidecarBox.Head, { className: "flex justify-between items-center flex-nowrap p-2 gap-2 text-xs", children: [_jsxs("span", { className: "font-mono break-words", children: [_jsx("span", { className: cn("font-semibold", methodTextColor), children: operation.method.toLocaleUpperCase() }), "\u00A0", path] }), _jsxs("div", { className: "flex gap-2 items-center", children: [_jsx(
|
|
80
|
+
return getConverted(snippet, selectedLang);
|
|
81
|
+
}, [selectedLang, operation.method, operation.path, requestBodyContent]);
|
|
82
|
+
return (_jsxs("aside", { className: "flex flex-col overflow-hidden sticky top-[--scroll-padding] gap-4", children: [_jsxs(SidecarBox.Root, { children: [_jsxs(SidecarBox.Head, { className: "flex justify-between items-center flex-nowrap p-2 gap-2 text-xs", children: [_jsxs("span", { className: "font-mono break-words", children: [_jsx("span", { className: cn("font-semibold", methodTextColor), children: operation.method.toLocaleUpperCase() }), "\u00A0", path] }), _jsxs("div", { className: "flex gap-2 items-center", children: [_jsx(SimpleSelect, { className: "self-start", value: selectedLang, onChange: (e) => setSearchParams({ lang: e.target.value }), options: [
|
|
81
83
|
{ value: "shell", label: "cURL" },
|
|
82
84
|
{ value: "js", label: "Javascript" },
|
|
83
85
|
{ value: "python", label: "Python" },
|
|
@@ -89,6 +91,6 @@ export const Sidecar = ({ operation, }) => {
|
|
|
89
91
|
{ value: "php", label: "PHP" },
|
|
90
92
|
{ value: "ruby", label: "Ruby" },
|
|
91
93
|
{ value: "swift", label: "Swift" },
|
|
92
|
-
] }), _jsx(
|
|
94
|
+
] }), _jsx(PlaygroundDialogWrapper, { operation: operation })] })] }), _jsx(SidecarBox.Body, { children: _jsx(SyntaxHighlight, { language: selectedLang, noBackground: true, className: "text-xs", code: code }) })] }), requestBodyContent && (_jsx(RequestBodySidecarBox, { content: requestBodyContent })), operation.responses.length > 0 && (_jsx(ResponsesSidecarBox, { responses: operation.responses }))] }));
|
|
93
95
|
};
|
|
94
96
|
//# sourceMappingURL=Sidecar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidecar.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Sidecar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Sidecar.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Sidecar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ChangeEventHandler } from "react";
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
2
|
+
export declare const SimpleSelect: ({ value, onChange, className, options, }: {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: ChangeEventHandler<HTMLSelectElement>;
|
|
4
5
|
className?: string;
|
|
5
6
|
options: {
|
|
6
7
|
value: string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronsUpDownIcon } from "lucide-react";
|
|
3
|
+
import { cn } from "../../util/cn.js";
|
|
4
|
+
export const SimpleSelect = ({ value, onChange, className, options, }) => (_jsxs("div", { className: cn("grid", className), children: [_jsx("select", { className: cn("row-start-1 col-start-1 border border-input text-foreground px-2 py-1 pe-6", "rounded-md appearance-none bg-zinc-50 hover:bg-white dark:bg-zinc-800 hover:dark:bg-zinc-800/75"), value: value, onChange: onChange, children: options.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) }), _jsx("div", { className: "row-start-1 col-start-1 self-center justify-self-end relative end-2 pointer-events-none", children: _jsx(ChevronsUpDownIcon, { size: 14 }) })] }));
|
|
5
|
+
//# sourceMappingURL=SimpleSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleSelect.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/SimpleSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,GASR,EAAE,EAAE,CAAC,CACJ,eAAK,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,aACnC,iBACE,SAAS,EAAE,EAAE,CACX,4EAA4E,EAC5E,iGAAiG,CAClG,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,YAEjB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,iBAAQ,KAAK,EAAE,MAAM,CAAC,KAAK,YACxB,MAAM,CAAC,KAAK,IADmB,MAAM,CAAC,KAAK,CAErC,CACV,CAAC,GACK,EACT,cAAK,SAAS,EAAC,yFAAyF,YACtG,KAAC,kBAAkB,IAAC,IAAI,EAAE,EAAE,GAAI,GAC5B,IACF,CACP,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CreateClientFunction } from "./interfaces.js";
|
|
2
|
+
export type WorkerGraphQLMessage = {
|
|
3
|
+
id: string;
|
|
4
|
+
body: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Creates an in memory Client that does not use Workers. This allows
|
|
8
|
+
* developers to run the simple standalone version of zudoku using the CDN
|
|
9
|
+
* hosted scripts. Worker's cannot be loaded cross domain so in this case
|
|
10
|
+
* we sacrifice performance for making it work cross domain.
|
|
11
|
+
*/
|
|
12
|
+
export declare const createClient: CreateClientFunction;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
import { cacheExchange, Client, fetchExchange, mapExchange, } from "../util/urql.js";
|
|
3
|
+
import { createServer } from "./createServer.js";
|
|
4
|
+
const localServer = createServer();
|
|
5
|
+
/**
|
|
6
|
+
* Creates an in memory Client that does not use Workers. This allows
|
|
7
|
+
* developers to run the simple standalone version of zudoku using the CDN
|
|
8
|
+
* hosted scripts. Worker's cannot be loaded cross domain so in this case
|
|
9
|
+
* we sacrifice performance for making it work cross domain.
|
|
10
|
+
*/
|
|
11
|
+
export const createClient = () => {
|
|
12
|
+
return new Client({
|
|
13
|
+
url: "/__z/graphql",
|
|
14
|
+
// Custom fetch to send the GraphQL request to the worker and convert the response back to a `Response` object
|
|
15
|
+
fetch: async (req, init) => {
|
|
16
|
+
if (!init?.body)
|
|
17
|
+
throw new Error("No body");
|
|
18
|
+
const response = await localServer.fetch(new Request("http://localhost/__z/graphql", {
|
|
19
|
+
method: "POST",
|
|
20
|
+
body: init.body,
|
|
21
|
+
headers: {
|
|
22
|
+
"Content-Type": "application/json",
|
|
23
|
+
},
|
|
24
|
+
}));
|
|
25
|
+
return response;
|
|
26
|
+
// port.postMessage({
|
|
27
|
+
// id: e.data.id,
|
|
28
|
+
// body: await response.text(),
|
|
29
|
+
// } satisfies WorkerGraphQLMessage);
|
|
30
|
+
},
|
|
31
|
+
exchanges: [
|
|
32
|
+
cacheExchange,
|
|
33
|
+
mapExchange({
|
|
34
|
+
onError(error, operation) {
|
|
35
|
+
console.error(error);
|
|
36
|
+
console.groupCollapsed("Operation info");
|
|
37
|
+
console.log("body", operation.query.loc?.source.body.trim());
|
|
38
|
+
console.log("variables", operation.variables);
|
|
39
|
+
console.groupEnd();
|
|
40
|
+
},
|
|
41
|
+
}),
|
|
42
|
+
fetchExchange,
|
|
43
|
+
],
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=createMemoryClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMemoryClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createMemoryClient.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,GAAG,EAAE;IACrD,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,cAAc;QACnB,8GAA8G;QAC9G,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,OAAO,CAAC,8BAA8B,EAAE;gBAC1C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CACH,CAAC;YACF,OAAO,QAAQ,CAAC;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,iCAAiC;YACjC,qCAAqC;QACvC,CAAC;QACD,SAAS,EAAE;YACT,aAAa;YACb,WAAW,CAAC;gBACV,OAAO,CAAC,KAAK,EAAE,SAAS;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;YACF,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useLogger } from "@envelop/core";
|
|
2
|
+
import { createGraphQLServer } from "../../../oas/graphql/index.js";
|
|
3
|
+
const map = new Map();
|
|
4
|
+
/**
|
|
5
|
+
* Creates the GraphQL server
|
|
6
|
+
*/
|
|
7
|
+
export const createServer = () => createGraphQLServer({
|
|
8
|
+
plugins: [
|
|
9
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
10
|
+
useLogger({
|
|
11
|
+
logFn: (eventName, { args }) => {
|
|
12
|
+
if (import.meta.env.PROD)
|
|
13
|
+
return;
|
|
14
|
+
if (eventName.endsWith("-start")) {
|
|
15
|
+
map.set(`${eventName}-${args.operationName}`, performance.now());
|
|
16
|
+
}
|
|
17
|
+
else if (eventName.endsWith("-end")) {
|
|
18
|
+
const startEvent = eventName.replace("-end", "-start");
|
|
19
|
+
const start = map.get(`${startEvent}-${args.operationName}`);
|
|
20
|
+
if (start) {
|
|
21
|
+
// eslint-disable-next-line no-console
|
|
22
|
+
console.log(`${args.operationName} query took ${performance.now() - start}ms`);
|
|
23
|
+
map.delete(`${startEvent}-${args.operationName}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
}),
|
|
28
|
+
],
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=createServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createServer.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAC/B,mBAAmB,CAAC;IAClB,OAAO,EAAE;QACP,sDAAsD;QACtD,SAAS,CAAC;YACR,KAAK,EAAE,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;oBAAE,OAAO;gBAEjC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;oBAC7D,IAAI,KAAK,EAAE,CAAC;wBACV,sCAAsC;wBACtC,OAAO,CAAC,GAAG,CACT,GAAG,IAAI,CAAC,aAAa,eAAe,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAClE,CAAC;wBACF,GAAG,CAAC,MAAM,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;KACH;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CreateClientFunction } from "./interfaces.js";
|
|
2
|
+
export type WorkerGraphQLMessage = {
|
|
3
|
+
id: string;
|
|
4
|
+
body: string;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* This loads the client from a worker and uses mess port to send requests
|
|
8
|
+
* and responses between the main thread and the worker.
|
|
9
|
+
*/
|
|
10
|
+
export declare const createClient: CreateClientFunction;
|
package/dist/lib/plugins/openapi/{worker/createSharedWorkerClient.js → client/createWorkerClient.js}
RENAMED
|
@@ -2,11 +2,24 @@
|
|
|
2
2
|
import { monotonicFactory } from "ulidx";
|
|
3
3
|
import { createWaitForNotify } from "../../../util/createWaitForNotify.js";
|
|
4
4
|
import { cacheExchange, Client, fetchExchange, mapExchange, } from "../util/urql.js";
|
|
5
|
+
import { createClient as createMemoryClient } from "./createMemoryClient.js";
|
|
5
6
|
const ulid = monotonicFactory();
|
|
6
|
-
|
|
7
|
+
/**
|
|
8
|
+
* This loads the client from a worker and uses mess port to send requests
|
|
9
|
+
* and responses between the main thread and the worker.
|
|
10
|
+
*/
|
|
11
|
+
export const createClient = ({ useMemoryClient, }) => {
|
|
12
|
+
if (useMemoryClient || typeof SharedWorker === "undefined") {
|
|
13
|
+
return createMemoryClient({ useMemoryClient });
|
|
14
|
+
}
|
|
15
|
+
// NOTE: This URL needs to be inline with the SharedWorker otherwse
|
|
16
|
+
// vite build does not recognize the worker file as a module.
|
|
7
17
|
const worker = new SharedWorker(new URL("./worker.ts", import.meta.url), {
|
|
8
18
|
type: "module",
|
|
9
19
|
});
|
|
20
|
+
worker.onerror = (e) => {
|
|
21
|
+
console.error(e);
|
|
22
|
+
};
|
|
10
23
|
worker.port.start();
|
|
11
24
|
const [waitFor, notify] = createWaitForNotify();
|
|
12
25
|
worker.port.onmessage = (e) => {
|
|
@@ -45,4 +58,4 @@ export const createSharedWorkerClient = () => {
|
|
|
45
58
|
],
|
|
46
59
|
});
|
|
47
60
|
};
|
|
48
|
-
//# sourceMappingURL=
|
|
61
|
+
//# sourceMappingURL=createWorkerClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createWorkerClient.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/createWorkerClient.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7E,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB,CAAC,EACjD,eAAe,GAGhB,EAAE,EAAE;IACH,IAAI,eAAe,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAO,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvE,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAEpB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,mBAAmB,EAAU,CAAC;IAExD,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAqC,EAAE,EAAE;QAChE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,IAAI,MAAM,CAAC;QAChB,GAAG,EAAE,cAAc;QACnB,8GAA8G;QAC9G,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;YAE5C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBACtB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAc;aACK,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,CAAC,CAAC;YAE/B,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;gBACxB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;aACF,CAAC,CAAC;QACL,CAAC;QACD,SAAS,EAAE;YACT,aAAa;YACb,WAAW,CAAC;gBACV,OAAO,CAAC,KAAK,EAAE,SAAS;oBACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACrB,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,CAAC;aACF,CAAC;YACF,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const localServer =
|
|
1
|
+
import { createServer } from "./createServer.js";
|
|
2
|
+
const localServer = createServer();
|
|
3
3
|
const worker = self;
|
|
4
4
|
worker.addEventListener("connect", function (event) {
|
|
5
5
|
const port = event.ports[0];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/client/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;AAEnC,MAAM,MAAM,GAAG,IAA0C,CAAC;AAE1D,MAAM,CAAC,gBAAgB,CACrB,SAAS,EACT,UAAU,KAAiD;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,CAAC,SAAS,GAAG,KAAK,WAAW,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,OAAO,CAAC,cAAc,EAAE;YAC1B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC;YACf,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;SACG,CAAC,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const OasContext = createContext(undefined);
|
|
3
|
+
export const OasConfigProvider = OasContext.Provider;
|
|
4
|
+
export const useOasConfig = () => {
|
|
5
|
+
const ctx = useContext(OasContext);
|
|
6
|
+
if (!ctx) {
|
|
7
|
+
throw new Error("useOasConfig must be used within a OasConfigProvider");
|
|
8
|
+
}
|
|
9
|
+
return ctx.config;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGlD,MAAM,UAAU,GAAG,aAAa,CAC9B,SAAS,CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
import { type DevPortalPlugin } from "../../core/plugins.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare const useOasConfig: () => OasPluginConfig;
|
|
6
|
-
type OasSource = {
|
|
7
|
-
type: "url";
|
|
8
|
-
input: string;
|
|
9
|
-
} | {
|
|
10
|
-
type: "yaml";
|
|
11
|
-
input: string;
|
|
12
|
-
} | {
|
|
13
|
-
type: "json";
|
|
14
|
-
input: object;
|
|
2
|
+
import { OasPluginConfig } from "./interfaces.js";
|
|
3
|
+
type InternalOasPluginConfig = {
|
|
4
|
+
inMemory?: boolean;
|
|
15
5
|
};
|
|
16
|
-
export
|
|
17
|
-
server?: string;
|
|
18
|
-
path?: string;
|
|
19
|
-
} & OasSource;
|
|
20
|
-
export declare const openApiPlugin: (config: OasPluginConfig) => DevPortalPlugin;
|
|
6
|
+
export declare const openApiPlugin: (config: OasPluginConfig & InternalOasPluginConfig) => DevPortalPlugin;
|
|
21
7
|
export {};
|
|
@@ -1,23 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Outlet, matchPath } from "../../core/router.js";
|
|
2
|
+
import { matchPath, useRouteError } from "react-router-dom";
|
|
4
3
|
import { MethodBadge } from "./MethodBadge.js";
|
|
5
|
-
import { OperationList } from "./OperationList.js";
|
|
6
4
|
import { graphql } from "./graphql/index.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export const useOasConfig = () => {
|
|
12
|
-
const ctx = useContext(OasContext);
|
|
13
|
-
if (!ctx) {
|
|
14
|
-
throw new Error("useOasConfig must be used within a OasConfigProvider");
|
|
15
|
-
}
|
|
16
|
-
return ctx.config;
|
|
17
|
-
};
|
|
18
|
-
const OasContextProvider = ({ config, client, }) => {
|
|
19
|
-
return (_jsx(Provider, { value: client, children: _jsx(OasConfigProvider, { value: { config }, children: _jsx(Outlet, {}) }) }));
|
|
20
|
-
};
|
|
5
|
+
import { Client as UrqlClient, cacheExchange, fetchExchange, } from "./util/urql.js";
|
|
6
|
+
import { ErrorPage } from "../../components/ErrorPage.js";
|
|
7
|
+
import { SyntaxHighlight } from "../../components/SyntaxHighlight.js";
|
|
8
|
+
import { createClient } from "./client/createWorkerClient.js";
|
|
21
9
|
const GetCategoriesQuery = graphql(`
|
|
22
10
|
query GetCategories($input: JSON!, $type: SchemaType!) {
|
|
23
11
|
schema(input: $input, type: $type) {
|
|
@@ -37,6 +25,11 @@ const GetCategoriesQuery = graphql(`
|
|
|
37
25
|
}
|
|
38
26
|
}
|
|
39
27
|
`);
|
|
28
|
+
const OpenApiErrorPage = () => {
|
|
29
|
+
const error = useRouteError();
|
|
30
|
+
const message = error instanceof Error ? (_jsx(SyntaxHighlight, { code: error.message })) : ("An unknown error occurred");
|
|
31
|
+
return (_jsx(ErrorPage, { category: "Error", title: "An error occurred", message: message }));
|
|
32
|
+
};
|
|
40
33
|
export const openApiPlugin = (config) => {
|
|
41
34
|
const basePath = config.path ?? "/reference";
|
|
42
35
|
const client = config.server
|
|
@@ -44,8 +37,16 @@ export const openApiPlugin = (config) => {
|
|
|
44
37
|
url: config.server,
|
|
45
38
|
exchanges: [cacheExchange, fetchExchange],
|
|
46
39
|
})
|
|
47
|
-
:
|
|
40
|
+
: createClient({ useMemoryClient: config.inMemory ?? false });
|
|
48
41
|
return {
|
|
42
|
+
getHead: () => {
|
|
43
|
+
if (config.type === "url") {
|
|
44
|
+
return (_jsx("link", { rel: "preload", href: config.input, as: "fetch", crossOrigin: "anonymous" }));
|
|
45
|
+
}
|
|
46
|
+
if (config.server) {
|
|
47
|
+
return _jsx("link", { rel: "preconnect", href: config.server });
|
|
48
|
+
}
|
|
49
|
+
},
|
|
49
50
|
getNavigation: async (path) => {
|
|
50
51
|
if (!matchPath({ path: basePath, end: false }, path)) {
|
|
51
52
|
return [];
|
|
@@ -79,11 +80,25 @@ export const openApiPlugin = (config) => {
|
|
|
79
80
|
},
|
|
80
81
|
getRoutes: () => [
|
|
81
82
|
{
|
|
82
|
-
|
|
83
|
+
async lazy() {
|
|
84
|
+
const { OpenApiRoute } = await import("./Route.js");
|
|
85
|
+
return {
|
|
86
|
+
element: _jsx(OpenApiRoute, { client: client, config: config }),
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
errorElement: _jsx(OpenApiErrorPage, {}),
|
|
83
90
|
children: [
|
|
84
91
|
{
|
|
85
92
|
path: basePath,
|
|
86
|
-
children: [
|
|
93
|
+
children: [
|
|
94
|
+
{
|
|
95
|
+
index: true,
|
|
96
|
+
async lazy() {
|
|
97
|
+
const { OperationList } = await import("./OperationList.js");
|
|
98
|
+
return { element: _jsx(OperationList, {}) };
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
],
|
|
87
102
|
},
|
|
88
103
|
],
|
|
89
104
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/index.tsx"],"names":[],"mappings":"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"}
|