zudoku 0.1.1-dev.9 → 0.3.0-dev.100
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/LICENSE.md +21 -0
- package/cli.js +5 -1
- package/dist/app/App.d.ts +1 -2
- package/dist/app/App.js +1 -19
- package/dist/app/App.js.map +1 -1
- package/dist/app/demo.d.ts +2 -0
- package/dist/app/demo.js +52 -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 +14 -0
- package/dist/app/entry.server.js +105 -0
- package/dist/app/entry.server.js.map +1 -0
- package/dist/app/main.d.ts +6 -1
- package/dist/app/main.js +79 -4
- package/dist/app/main.js.map +1 -1
- package/dist/app/standalone.d.ts +2 -0
- package/dist/app/standalone.js +49 -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/cli/build/handler.js +3 -1
- package/dist/cli/build/handler.js.map +1 -1
- package/dist/cli/cmds/dev.js +5 -0
- package/dist/cli/cmds/dev.js.map +1 -1
- package/dist/cli/common/analytics/lib.js +1 -1
- package/dist/cli/common/analytics/lib.js.map +1 -1
- package/dist/cli/common/logger.js +3 -1
- package/dist/cli/common/logger.js.map +1 -1
- package/dist/cli/common/outdated.js +4 -4
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/cli/common/output.js +4 -4
- package/dist/cli/common/output.js.map +1 -1
- package/dist/cli/common/utils/box.js +2 -2
- package/dist/cli/common/utils/box.js.map +1 -1
- package/dist/cli/dev/handler.d.ts +1 -0
- package/dist/cli/dev/handler.js +6 -2
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/config.d.ts +34 -36
- package/dist/config/validators/InputSidebarSchema.d.ts +176 -0
- package/dist/config/validators/InputSidebarSchema.js +71 -0
- package/dist/config/validators/InputSidebarSchema.js.map +1 -0
- package/dist/config/validators/SidebarSchema.d.ts +17 -0
- package/dist/config/validators/SidebarSchema.js +76 -0
- package/dist/config/validators/SidebarSchema.js.map +1 -0
- package/dist/config/validators/auth.d.ts +2 -0
- package/dist/config/validators/auth.js +2 -0
- package/dist/config/validators/auth.js.map +1 -0
- package/dist/config/validators/validate.d.ts +1323 -0
- package/dist/config/validators/validate.js +182 -0
- package/dist/config/validators/validate.js.map +1 -0
- package/dist/index.d.ts +2 -6
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.js +2 -0
- package/dist/internal.js.map +1 -0
- package/dist/lib/authentication/AuthenticationPlugin.d.ts +13 -0
- package/dist/lib/authentication/AuthenticationPlugin.js +31 -0
- package/dist/lib/authentication/AuthenticationPlugin.js.map +1 -0
- package/dist/lib/authentication/authentication.d.ts +15 -0
- package/dist/lib/authentication/authentication.js.map +1 -0
- package/dist/lib/authentication/components/SignIn.d.ts +1 -0
- package/dist/lib/authentication/components/SignIn.js +14 -0
- package/dist/lib/authentication/components/SignIn.js.map +1 -0
- package/dist/lib/authentication/components/SignOut.d.ts +1 -0
- package/dist/lib/authentication/components/SignOut.js +12 -0
- package/dist/lib/authentication/components/SignOut.js.map +1 -0
- package/dist/lib/authentication/components/SignUp.d.ts +1 -0
- package/dist/lib/authentication/components/SignUp.js +10 -0
- package/dist/lib/authentication/components/SignUp.js.map +1 -0
- package/dist/lib/authentication/errors.d.ts +15 -0
- package/dist/lib/authentication/errors.js +10 -0
- package/dist/lib/authentication/errors.js.map +1 -0
- package/dist/lib/authentication/hook.d.ts +8 -0
- package/dist/lib/authentication/hook.js +30 -0
- package/dist/lib/authentication/hook.js.map +1 -0
- package/dist/lib/authentication/providers/auth0.d.ts +4 -0
- package/dist/lib/authentication/providers/auth0.js +46 -0
- package/dist/lib/authentication/providers/auth0.js.map +1 -0
- package/dist/lib/authentication/providers/clerk.d.ts +4 -0
- package/dist/lib/authentication/providers/clerk.js +85 -0
- package/dist/lib/authentication/providers/clerk.js.map +1 -0
- package/dist/lib/authentication/providers/openid.d.ts +58 -0
- package/dist/lib/authentication/providers/openid.js +256 -0
- package/dist/lib/authentication/providers/openid.js.map +1 -0
- package/dist/lib/authentication/state.d.ts +14 -0
- package/dist/lib/authentication/state.js +6 -0
- package/dist/lib/authentication/state.js.map +1 -0
- package/dist/lib/components/AnchorLink.js.map +1 -0
- package/dist/lib/components/Bootstrap.d.ts +13 -0
- package/dist/lib/components/Bootstrap.js +12 -0
- package/dist/lib/components/Bootstrap.js.map +1 -0
- package/dist/lib/components/CategoryHeading.js.map +1 -0
- package/dist/lib/components/ClientOnly.d.ts +3 -0
- package/dist/lib/components/ClientOnly.js +7 -0
- package/dist/lib/components/ClientOnly.js.map +1 -0
- package/dist/lib/components/DevPortal.d.ts +7 -0
- package/dist/lib/components/DevPortal.js +54 -0
- package/dist/lib/components/DevPortal.js.map +1 -0
- package/dist/lib/components/DeveloperHint.d.ts +5 -0
- package/dist/lib/components/DeveloperHint.js +10 -0
- package/dist/lib/components/DeveloperHint.js.map +1 -0
- package/dist/lib/components/Dialog.d.ts +19 -0
- package/dist/lib/components/Dialog.js +23 -0
- package/dist/lib/components/Dialog.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/lib/components/Header.js +35 -0
- package/dist/lib/components/Header.js.map +1 -0
- package/dist/lib/components/Heading.d.ts +14 -0
- package/dist/lib/components/Heading.js +42 -0
- package/dist/lib/components/Heading.js.map +1 -0
- 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 +30 -0
- package/dist/lib/components/Layout.js.map +1 -0
- package/dist/lib/components/Markdown.js.map +1 -0
- 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/Search.d.ts +1 -0
- package/dist/lib/components/Search.js +34 -0
- package/dist/lib/components/Search.js.map +1 -0
- package/dist/lib/components/Select.d.ts +13 -0
- package/dist/lib/components/Select.js +27 -0
- package/dist/lib/components/Select.js.map +1 -0
- package/dist/lib/components/SlotletProvider.d.ts +9 -0
- package/dist/lib/components/SlotletProvider.js +11 -0
- package/dist/lib/components/SlotletProvider.js.map +1 -0
- package/dist/lib/components/Spinner.d.ts +3 -0
- package/dist/lib/components/Spinner.js +4 -0
- package/dist/lib/components/Spinner.js.map +1 -0
- package/dist/lib/components/SyntaxHighlight.d.ts +11 -0
- package/dist/lib/components/SyntaxHighlight.js +42 -0
- package/dist/lib/components/SyntaxHighlight.js.map +1 -0
- package/dist/lib/components/TopNavigation.d.ts +1 -0
- package/dist/lib/components/TopNavigation.js +15 -0
- package/dist/lib/components/TopNavigation.js.map +1 -0
- package/dist/lib/components/context/ComponentsContext.d.ts +10 -0
- package/dist/lib/components/context/ComponentsContext.js.map +1 -0
- package/dist/lib/components/context/PluginSystem.js.map +1 -0
- package/dist/lib/components/context/ThemeContext.d.ts +2 -0
- package/dist/lib/components/context/ThemeContext.js +7 -0
- package/dist/lib/components/context/ThemeContext.js.map +1 -0
- package/dist/lib/components/context/ThemeProvider.d.ts +4 -0
- package/dist/lib/components/context/ThemeProvider.js +23 -0
- package/dist/lib/components/context/ThemeProvider.js.map +1 -0
- package/dist/lib/components/context/ViewportAnchorContext.js.map +1 -0
- package/dist/lib/components/context/ZudokuContext.d.ts +15 -0
- package/dist/lib/components/context/ZudokuContext.js +46 -0
- package/dist/lib/components/context/ZudokuContext.js.map +1 -0
- package/dist/lib/components/context/ZudokuProvider.d.ts +5 -0
- package/dist/lib/components/context/ZudokuProvider.js +16 -0
- package/dist/lib/components/context/ZudokuProvider.js.map +1 -0
- package/dist/lib/components/index.d.ts +32 -0
- package/dist/lib/components/index.js +22 -0
- package/dist/lib/components/index.js.map +1 -0
- package/dist/lib/components/navigation/Sidebar.d.ts +1 -0
- package/dist/lib/components/navigation/Sidebar.js +12 -0
- package/dist/lib/components/navigation/Sidebar.js.map +1 -0
- package/dist/lib/components/navigation/SidebarBadge.d.ts +23 -0
- package/dist/lib/components/navigation/SidebarBadge.js +24 -0
- package/dist/lib/components/navigation/SidebarBadge.js.map +1 -0
- package/dist/lib/components/navigation/SidebarCategory.d.ts +5 -0
- package/dist/lib/components/navigation/SidebarCategory.js +33 -0
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -0
- package/dist/lib/components/navigation/SidebarItem.d.ts +12 -0
- package/dist/lib/components/navigation/SidebarItem.js +42 -0
- package/dist/lib/components/navigation/SidebarItem.js.map +1 -0
- package/dist/lib/components/navigation/SidebarWrapper.d.ts +6 -0
- package/dist/lib/components/navigation/SidebarWrapper.js +7 -0
- package/dist/lib/components/navigation/SidebarWrapper.js.map +1 -0
- package/dist/lib/components/navigation/utils.d.ts +16 -0
- package/dist/lib/components/navigation/utils.js +85 -0
- package/dist/lib/components/navigation/utils.js.map +1 -0
- package/dist/lib/core/DevPortalContext.d.ts +74 -0
- package/dist/lib/core/DevPortalContext.js +49 -0
- package/dist/lib/core/DevPortalContext.js.map +1 -0
- package/dist/lib/core/plugins.d.ts +41 -0
- package/dist/lib/core/plugins.js +8 -0
- package/dist/lib/core/plugins.js.map +1 -0
- 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 +299 -0
- package/dist/lib/oas/graphql/index.js.map +1 -0
- package/dist/lib/oas/parser/dereference/index.js.map +1 -0
- package/dist/lib/oas/parser/dereference/resolveRef.js.map +1 -0
- package/dist/lib/oas/parser/index.d.ts +21 -0
- package/dist/lib/oas/parser/index.js +84 -0
- package/dist/lib/oas/parser/index.js.map +1 -0
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -0
- package/dist/lib/plugins/api-keys/CreateApiKey.d.ts +4 -0
- package/dist/lib/plugins/api-keys/CreateApiKey.js +37 -0
- package/dist/lib/plugins/api-keys/CreateApiKey.js.map +1 -0
- package/dist/lib/plugins/api-keys/ProtectedRoute.d.ts +1 -0
- package/dist/lib/plugins/api-keys/ProtectedRoute.js +14 -0
- package/dist/lib/plugins/api-keys/ProtectedRoute.js.map +1 -0
- package/dist/lib/plugins/api-keys/SettingsApiKeys.d.ts +4 -0
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js +54 -0
- package/dist/lib/plugins/api-keys/SettingsApiKeys.js.map +1 -0
- package/dist/lib/plugins/api-keys/index.d.ts +29 -0
- package/dist/lib/plugins/api-keys/index.js +92 -0
- package/dist/lib/plugins/api-keys/index.js.map +1 -0
- package/dist/lib/plugins/custom-page/index.d.ts +8 -0
- package/dist/lib/plugins/custom-page/index.js +12 -0
- package/dist/lib/plugins/custom-page/index.js.map +1 -0
- package/dist/lib/plugins/markdown/MdxPage.d.ts +6 -0
- package/dist/lib/plugins/markdown/MdxPage.js +30 -0
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -0
- package/dist/lib/plugins/markdown/Toc.js +48 -0
- package/dist/lib/plugins/markdown/Toc.js.map +1 -0
- package/dist/lib/plugins/markdown/generateRoutes.d.ts +3 -0
- package/dist/lib/plugins/markdown/generateRoutes.js +22 -0
- package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -0
- package/dist/lib/plugins/markdown/index.d.ts +21 -0
- package/dist/lib/plugins/markdown/index.js +5 -0
- package/dist/lib/plugins/markdown/index.js.map +1 -0
- package/dist/lib/plugins/openapi/ColorizedParam.d.ts +12 -0
- package/dist/lib/plugins/openapi/ColorizedParam.js +50 -0
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -0
- package/dist/lib/plugins/openapi/OperationList.js +103 -0
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -0
- package/dist/lib/plugins/openapi/OperationListItem.js +23 -0
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -0
- package/dist/lib/plugins/openapi/ParameterList.d.ts +7 -0
- package/dist/lib/plugins/openapi/ParameterList.js +6 -0
- package/dist/lib/plugins/openapi/ParameterList.js.map +1 -0
- package/dist/lib/plugins/openapi/ParameterListItem.js +13 -0
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -0
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +5 -0
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +23 -0
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -0
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +13 -0
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -0
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js +15 -0
- package/dist/lib/plugins/openapi/ResponsesSidecarBox.js.map +1 -0
- 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.d.ts +7 -0
- package/dist/lib/plugins/openapi/SchemaListView.js +27 -0
- package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -0
- package/dist/lib/plugins/openapi/SchemaListViewItem.d.ts +8 -0
- package/dist/lib/plugins/openapi/SchemaListViewItem.js +25 -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.d.ts +8 -0
- package/dist/lib/plugins/openapi/Sidecar.js +128 -0
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -0
- package/dist/lib/plugins/openapi/SidecarBox.d.ts +9 -0
- package/dist/lib/plugins/openapi/SidecarBox.js +7 -0
- package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -0
- package/dist/lib/plugins/openapi/SimpleSelect.d.ts +10 -0
- package/dist/lib/plugins/openapi/SimpleSelect.js +5 -0
- package/dist/lib/plugins/openapi/SimpleSelect.js.map +1 -0
- package/dist/lib/plugins/openapi/StaggeredRender.d.ts +8 -0
- package/dist/lib/plugins/openapi/StaggeredRender.js +18 -0
- package/dist/lib/plugins/openapi/StaggeredRender.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/client/createWorkerClient.js +61 -0
- 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/client/worker.js +20 -0
- 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/graphql/fragment-masking.d.ts +19 -0
- package/dist/lib/plugins/openapi/graphql/fragment-masking.js.map +1 -0
- package/dist/lib/plugins/openapi/graphql/gql.d.ts +58 -0
- package/dist/lib/plugins/openapi/graphql/gql.js +21 -0
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -0
- package/dist/lib/plugins/openapi/graphql/graphql.d.ts +291 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js +576 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -0
- package/dist/lib/plugins/openapi/graphql/index.js.map +1 -0
- package/dist/lib/plugins/openapi/index.d.ts +7 -0
- package/dist/lib/plugins/openapi/index.js +146 -0
- package/dist/lib/plugins/openapi/index.js.map +1 -0
- package/dist/lib/plugins/openapi/interfaces.d.ts +16 -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/Editor.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/Editor.js +5 -0
- package/dist/lib/plugins/openapi/playground/Editor.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Headers.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/Headers.js +25 -0
- package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +4 -0
- package/dist/lib/plugins/openapi/playground/InlineInput.js +3 -0
- package/dist/lib/plugins/openapi/playground/InlineInput.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/PathParams.d.ts +5 -0
- package/dist/lib/plugins/openapi/playground/PathParams.js +17 -0
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +44 -0
- package/dist/lib/plugins/openapi/playground/Playground.js +125 -0
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.d.ts +5 -0
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js +12 -0
- package/dist/lib/plugins/openapi/playground/PlaygroundDialog.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.js +31 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/ResponseTab.d.ts +4 -0
- package/dist/lib/plugins/openapi/playground/ResponseTab.js +40 -0
- package/dist/lib/plugins/openapi/playground/ResponseTab.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/UrlDisplay.d.ts +4 -0
- package/dist/lib/plugins/openapi/playground/UrlDisplay.js +22 -0
- package/dist/lib/plugins/openapi/playground/UrlDisplay.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/createUrl.d.ts +2 -0
- package/dist/lib/plugins/openapi/playground/createUrl.js +11 -0
- package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -0
- package/dist/lib/plugins/openapi/util/generateSchemaExample.d.ts +3 -0
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js +60 -0
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -0
- 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/util/urql.js.map +1 -0
- package/dist/lib/plugins/openapi-worker.d.ts +1 -0
- package/dist/lib/plugins/openapi-worker.js +2 -0
- package/dist/lib/plugins/openapi-worker.js.map +1 -0
- package/dist/lib/plugins/redirect/index.d.ts +8 -0
- package/dist/lib/plugins/redirect/index.js +10 -0
- package/dist/lib/plugins/redirect/index.js.map +1 -0
- package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.d.ts +2 -0
- package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js +3 -0
- package/dist/lib/plugins/search-inkeep/InkeepCustomTrigger.js.map +1 -0
- package/dist/lib/plugins/search-inkeep/index.d.ts +6 -0
- package/dist/lib/plugins/search-inkeep/index.js +18 -0
- package/dist/lib/plugins/search-inkeep/index.js.map +1 -0
- package/dist/lib/plugins/search-inkeep/inkeep.d.ts +23 -0
- package/dist/lib/plugins/search-inkeep/inkeep.js +23 -0
- package/dist/lib/plugins/search-inkeep/inkeep.js.map +1 -0
- package/dist/lib/ui/Button.d.ts +11 -0
- package/dist/lib/ui/Button.js +34 -0
- package/dist/lib/ui/Button.js.map +1 -0
- package/dist/lib/ui/Callout.js +50 -0
- package/dist/lib/ui/Callout.js.map +1 -0
- package/dist/lib/ui/Card.js +17 -0
- package/dist/lib/ui/Card.js.map +1 -0
- package/dist/lib/ui/DropdownMenu.d.ts +27 -0
- package/dist/lib/ui/DropdownMenu.js +36 -0
- package/dist/lib/ui/DropdownMenu.js.map +1 -0
- package/dist/lib/ui/Input.js.map +1 -0
- package/dist/lib/ui/Note.js.map +1 -0
- package/dist/lib/ui/Tabs.d.ts +7 -0
- package/dist/lib/ui/Tabs.js +13 -0
- package/dist/lib/ui/Tabs.js.map +1 -0
- package/dist/lib/util/MdxComponents.d.ts +27 -0
- package/dist/lib/util/MdxComponents.js +42 -0
- package/dist/lib/util/MdxComponents.js.map +1 -0
- package/dist/lib/util/cn.js.map +1 -0
- package/dist/lib/util/createVariantComponent.d.ts +9 -0
- package/dist/lib/util/createVariantComponent.js +17 -0
- package/dist/lib/util/createVariantComponent.js.map +1 -0
- package/dist/lib/util/createWaitForNotify.js.map +1 -0
- package/dist/lib/util/fetchTimeout.d.ts +1 -0
- package/dist/lib/util/fetchTimeout.js +14 -0
- package/dist/lib/util/fetchTimeout.js.map +1 -0
- package/dist/lib/util/groupBy.d.ts +1 -0
- package/dist/lib/util/groupBy.js +11 -0
- package/dist/lib/util/groupBy.js.map +1 -0
- package/dist/lib/util/invariant.d.ts +6 -0
- package/dist/lib/util/invariant.js +21 -0
- package/dist/lib/util/invariant.js.map +1 -0
- package/dist/lib/util/joinPath.js +9 -0
- package/dist/lib/util/joinPath.js.map +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/pastellize.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/lib/util/requestIdleCallbackPolyfill.d.ts +1 -0
- package/dist/lib/util/requestIdleCallbackPolyfill.js +7 -0
- package/dist/lib/util/requestIdleCallbackPolyfill.js.map +1 -0
- package/dist/lib/util/slugify.js.map +1 -0
- package/dist/lib/util/useScrollToAnchor.js +47 -0
- package/dist/lib/util/useScrollToAnchor.js.map +1 -0
- package/dist/lib/util/useScrollToTop.js.map +1 -0
- package/dist/ts.js +1 -2
- package/dist/ts.js.map +1 -1
- package/dist/vite/build.js +31 -14
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.d.ts +23 -7
- package/dist/vite/config.js +153 -60
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +8 -5
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/dev-server.d.ts +3 -0
- package/dist/vite/dev-server.js +60 -11
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/html.js +18 -5
- package/dist/vite/html.js.map +1 -1
- package/dist/vite/plugin-api-keys.d.ts +4 -0
- package/dist/vite/plugin-api-keys.js +32 -0
- package/dist/vite/plugin-api-keys.js.map +1 -0
- package/dist/vite/plugin-api.js +9 -23
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.js +7 -7
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.d.ts +4 -0
- package/dist/vite/plugin-component.js +21 -0
- package/dist/vite/plugin-component.js.map +1 -0
- package/dist/vite/plugin-config.d.ts +0 -1
- package/dist/vite/plugin-config.js +2 -12
- 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 +54 -0
- package/dist/vite/plugin-custom-css.js.map +1 -0
- package/dist/vite/plugin-docs.js +13 -5
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-docs.test.js +1 -2
- package/dist/vite/plugin-docs.test.js.map +1 -1
- package/dist/vite/plugin-mdx.d.ts +3 -1
- package/dist/vite/plugin-mdx.js +7 -5
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-metadata.d.ts +6 -0
- package/dist/vite/plugin-metadata.js +24 -0
- package/dist/vite/plugin-metadata.js.map +1 -0
- package/dist/vite/plugin-redirect.d.ts +4 -0
- package/dist/vite/plugin-redirect.js +32 -0
- package/dist/vite/plugin-redirect.js.map +1 -0
- package/dist/vite/plugin-sidebar.d.ts +3 -0
- package/dist/vite/plugin-sidebar.js +23 -0
- package/dist/vite/plugin-sidebar.js.map +1 -0
- package/dist/vite/plugin.js +11 -3
- package/dist/vite/plugin.js.map +1 -1
- package/dist/vite/prerender.d.ts +17 -0
- package/dist/vite/prerender.js +79 -0
- package/dist/vite/prerender.js.map +1 -0
- package/lib/AuthenticationPlugin-CH5NSVOu.js +55 -0
- package/lib/AuthenticationPlugin-CH5NSVOu.js.map +1 -0
- package/lib/CategoryHeading-BWq12Bfa.js +10 -0
- package/lib/CategoryHeading-BWq12Bfa.js.map +1 -0
- package/lib/Combination-D-9IH0zy.js +2789 -0
- package/lib/Combination-D-9IH0zy.js.map +1 -0
- package/lib/DeveloperHint-BQSFXH01.js +10 -0
- package/lib/DeveloperHint-BQSFXH01.js.map +1 -0
- package/lib/InkeepCustomTrigger-CE5-K5ex.js +6 -0
- package/lib/InkeepCustomTrigger-CE5-K5ex.js.map +1 -0
- package/lib/Input-HmAaR6kw.js +2239 -0
- package/lib/Input-HmAaR6kw.js.map +1 -0
- package/lib/Markdown-B_Gax7at.js +14108 -0
- package/lib/Markdown-B_Gax7at.js.map +1 -0
- package/lib/MdxPage-oN3huD58.js +187 -0
- package/lib/MdxPage-oN3huD58.js.map +1 -0
- package/lib/OperationList-Ctj0ihBN.js +448 -0
- package/lib/OperationList-Ctj0ihBN.js.map +1 -0
- package/lib/Route-DAF15JAU.js +14 -0
- package/lib/Route-DAF15JAU.js.map +1 -0
- package/lib/SlotletProvider-CzMAO73_.js +82 -0
- package/lib/SlotletProvider-CzMAO73_.js.map +1 -0
- package/lib/Spinner-BCz1kNGw.js +276 -0
- package/lib/Spinner-BCz1kNGw.js.map +1 -0
- package/lib/ZudokuContext-BIZ8zHbZ.js +1084 -0
- package/lib/ZudokuContext-BIZ8zHbZ.js.map +1 -0
- package/lib/_commonjsHelpers-BVfed4GL.js +29 -0
- package/lib/_commonjsHelpers-BVfed4GL.js.map +1 -0
- package/lib/assets/index-BPdJm2ty.js +4765 -0
- package/lib/assets/index-BPdJm2ty.js.map +1 -0
- package/lib/assets/worker-CR7aeKop.js +14900 -0
- package/lib/assets/worker-CR7aeKop.js.map +1 -0
- package/lib/index-7kcHaXD6.js +1771 -0
- package/lib/index-7kcHaXD6.js.map +1 -0
- package/lib/index-CtKkHGcd.js +5942 -0
- package/lib/index-CtKkHGcd.js.map +1 -0
- package/lib/index-D-9Z7HSn.js +124 -0
- package/lib/index-D-9Z7HSn.js.map +1 -0
- package/lib/index-pI9JkN46.js +4765 -0
- package/lib/index-pI9JkN46.js.map +1 -0
- package/lib/joinPath-B7kNnUX4.js +8 -0
- package/lib/joinPath-B7kNnUX4.js.map +1 -0
- package/lib/jsx-runtime-B6kdoens.js +635 -0
- package/lib/jsx-runtime-B6kdoens.js.map +1 -0
- package/lib/prism-bash.min-DadFsM4Z.js +7 -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 +7 -0
- package/lib/prism-java.min-d5iT_mOd.js.map +1 -0
- package/lib/prism-json.min-B1GJqK1k.js +2 -0
- package/lib/prism-json.min-B1GJqK1k.js.map +1 -0
- package/lib/prism-markup-templating-DZrrEs0A.js +62 -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 +11 -0
- package/lib/prism-php.min-o7FpoMP_.js.map +1 -0
- package/lib/prism-ruby.min-C7LwcKyz.js +10 -0
- package/lib/prism-ruby.min-C7LwcKyz.js.map +1 -0
- package/lib/router-BiRCp01d.js +2971 -0
- package/lib/router-BiRCp01d.js.map +1 -0
- package/lib/slugify-CiPVjteN.js +28 -0
- package/lib/slugify-CiPVjteN.js.map +1 -0
- package/lib/state-DsXXkBLH.js +288 -0
- package/lib/state-DsXXkBLH.js.map +1 -0
- package/lib/urql-DrBfkb92.js +1591 -0
- package/lib/urql-DrBfkb92.js.map +1 -0
- package/lib/utils-Bh4upQ0e.js +749 -0
- package/lib/utils-Bh4upQ0e.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +38 -0
- package/lib/zudoku.auth-auth0.js.map +1 -0
- package/lib/zudoku.auth-clerk.js +79 -0
- package/lib/zudoku.auth-clerk.js.map +1 -0
- package/lib/zudoku.auth-openid.js +1081 -0
- package/lib/zudoku.auth-openid.js.map +1 -0
- package/lib/zudoku.components.js +2273 -0
- package/lib/zudoku.components.js.map +1 -0
- package/lib/zudoku.openapi-worker.js +15114 -0
- package/lib/zudoku.openapi-worker.js.map +1 -0
- package/lib/zudoku.plugin-api-keys.js +325 -0
- package/lib/zudoku.plugin-api-keys.js.map +1 -0
- package/lib/zudoku.plugin-custom-page.js +13 -0
- package/lib/zudoku.plugin-custom-page.js.map +1 -0
- package/lib/zudoku.plugin-markdown.js +31 -0
- package/lib/zudoku.plugin-markdown.js.map +1 -0
- package/lib/zudoku.plugin-openapi.js +14 -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/lib/zudoku.plugin-search-inkeep.js +51 -0
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -0
- package/package.json +112 -38
- package/src/app/App.tsx +0 -30
- package/src/app/demo-cdn.html +26 -0
- package/src/app/demo.html +18 -0
- package/src/app/demo.tsx +61 -0
- package/src/app/entry.client.tsx +47 -0
- package/src/app/entry.server.tsx +160 -0
- package/src/app/main.css +84 -3
- package/src/app/main.tsx +95 -9
- package/src/app/standalone.html +20 -0
- package/src/app/standalone.tsx +53 -0
- package/src/app/tailwind.ts +2 -6
- package/src/lib/authentication/AuthenticationPlugin.tsx +38 -0
- package/src/lib/authentication/authentication.ts +13 -0
- package/src/lib/authentication/components/SignIn.tsx +15 -0
- package/src/lib/authentication/components/SignOut.tsx +13 -0
- package/src/lib/authentication/components/SignUp.tsx +11 -0
- package/src/lib/authentication/errors.ts +21 -0
- package/src/lib/authentication/hook.ts +34 -0
- package/src/lib/authentication/providers/auth0.tsx +63 -0
- package/src/lib/authentication/providers/clerk.tsx +98 -0
- package/src/lib/authentication/providers/openid.tsx +384 -0
- package/src/lib/authentication/state.ts +21 -0
- package/src/lib/components/Bootstrap.tsx +45 -0
- package/src/lib/components/CategoryHeading.tsx +16 -0
- package/src/lib/components/ClientOnly.tsx +13 -0
- package/src/lib/components/DevPortal.tsx +111 -0
- package/src/lib/components/DeveloperHint.tsx +25 -0
- package/src/lib/components/Dialog.tsx +119 -0
- package/src/lib/components/ErrorPage.tsx +28 -0
- package/src/lib/components/Header.tsx +142 -0
- package/src/lib/components/Heading.tsx +79 -0
- package/src/lib/components/InlineCode.tsx +19 -0
- package/src/lib/components/Layout.tsx +70 -0
- package/src/lib/components/NotFoundPage.tsx +33 -0
- package/src/lib/components/Search.tsx +60 -0
- package/src/lib/components/Select.tsx +157 -0
- package/src/lib/components/SlotletProvider.tsx +25 -0
- package/src/lib/components/Spinner.tsx +5 -0
- package/src/lib/components/SyntaxHighlight.tsx +114 -0
- package/src/lib/components/TopNavigation.tsx +37 -0
- package/src/lib/components/context/ThemeContext.tsx +8 -0
- package/src/lib/components/context/ThemeProvider.tsx +27 -0
- package/src/lib/components/context/ZudokuContext.ts +58 -0
- package/src/lib/components/context/ZudokuProvider.tsx +26 -0
- package/src/lib/components/index.ts +25 -0
- package/src/lib/components/navigation/Sidebar.tsx +24 -0
- package/src/lib/components/navigation/SidebarBadge.tsx +43 -0
- package/src/lib/components/navigation/SidebarCategory.tsx +105 -0
- package/src/lib/components/navigation/SidebarItem.tsx +128 -0
- package/src/lib/components/navigation/SidebarWrapper.tsx +24 -0
- package/src/lib/components/navigation/utils.ts +117 -0
- package/src/lib/core/DevPortalContext.ts +134 -0
- package/src/lib/core/plugins.ts +80 -0
- 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 +433 -0
- package/src/lib/oas/parser/index.ts +115 -0
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +94 -0
- package/src/lib/plugins/api-keys/ProtectedRoute.tsx +29 -0
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +165 -0
- package/src/lib/plugins/api-keys/index.tsx +146 -0
- package/src/lib/plugins/custom-page/index.tsx +22 -0
- package/src/lib/plugins/markdown/MdxPage.tsx +131 -0
- package/src/lib/plugins/markdown/Toc.tsx +135 -0
- package/src/lib/plugins/markdown/generateRoutes.tsx +39 -0
- package/src/lib/plugins/markdown/index.tsx +34 -0
- package/src/lib/plugins/openapi/ColorizedParam.tsx +87 -0
- package/src/lib/plugins/openapi/OperationList.tsx +163 -0
- package/src/lib/plugins/openapi/OperationListItem.tsx +114 -0
- package/src/lib/plugins/openapi/ParameterList.tsx +35 -0
- package/src/lib/plugins/openapi/ParameterListItem.tsx +62 -0
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +39 -0
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +39 -0
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +60 -0
- package/src/lib/plugins/openapi/Route.tsx +21 -0
- package/src/lib/plugins/openapi/SchemaListView.tsx +75 -0
- package/src/lib/plugins/openapi/SchemaListViewItem.tsx +125 -0
- package/src/lib/plugins/openapi/SchemaListViewItemGroup.tsx +63 -0
- package/src/lib/plugins/openapi/Sidecar.tsx +207 -0
- package/src/lib/plugins/openapi/SidecarBox.tsx +47 -0
- package/src/lib/plugins/openapi/SimpleSelect.tsx +38 -0
- package/src/lib/plugins/openapi/StaggeredRender.tsx +31 -0
- 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/client/createWorkerClient.ts +80 -0
- package/src/lib/plugins/openapi/client/interfaces.ts +5 -0
- package/src/lib/plugins/openapi/client/worker.ts +30 -0
- package/src/lib/plugins/openapi/context.tsx +16 -0
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +111 -0
- package/src/lib/plugins/openapi/graphql/gql.ts +70 -0
- package/src/lib/plugins/openapi/graphql/graphql.ts +854 -0
- package/src/lib/plugins/openapi/index.tsx +217 -0
- package/src/lib/plugins/openapi/interfaces.ts +10 -0
- package/src/lib/plugins/openapi/playground/Editor.tsx +4 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +87 -0
- package/src/lib/plugins/openapi/playground/InlineInput.tsx +6 -0
- package/src/lib/plugins/openapi/playground/PathParams.tsx +89 -0
- package/src/lib/plugins/openapi/playground/Playground.tsx +371 -0
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +40 -0
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +130 -0
- package/src/lib/plugins/openapi/playground/ResponseTab.tsx +76 -0
- package/src/lib/plugins/openapi/playground/UrlDisplay.tsx +32 -0
- package/src/lib/plugins/openapi/playground/createUrl.ts +19 -0
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +72 -0
- package/src/lib/plugins/openapi/util/prose.ts +7 -0
- package/src/lib/plugins/openapi-worker.ts +1 -0
- package/src/lib/plugins/redirect/index.tsx +19 -0
- package/src/lib/plugins/search-inkeep/InkeepCustomTrigger.tsx +3 -0
- package/src/lib/plugins/search-inkeep/index.tsx +63 -0
- package/src/lib/plugins/search-inkeep/inkeep.ts +32 -0
- package/src/lib/ui/Button.tsx +55 -0
- package/src/lib/ui/Callout.tsx +87 -0
- package/src/lib/ui/Card.tsx +82 -0
- package/src/lib/ui/DropdownMenu.tsx +199 -0
- package/src/lib/ui/Tabs.tsx +52 -0
- package/src/lib/util/MdxComponents.tsx +87 -0
- package/src/lib/util/createVariantComponent.tsx +35 -0
- package/src/lib/util/fetchTimeout.tsx +21 -0
- package/src/lib/util/groupBy.ts +19 -0
- package/src/lib/util/invariant.ts +26 -0
- package/src/lib/util/joinPath.tsx +11 -0
- 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/src/lib/util/requestIdleCallbackPolyfill.ts +6 -0
- package/src/lib/util/useScrollToAnchor.ts +59 -0
- package/dist/app/DevPortal.d.ts +0 -25
- package/dist/app/DevPortal.js +0 -41
- package/dist/app/DevPortal.js.map +0 -1
- package/dist/app/Heading.d.ts +0 -9
- package/dist/app/Heading.js +0 -27
- package/dist/app/Heading.js.map +0 -1
- package/dist/app/authentication/authentication.d.ts +0 -13
- package/dist/app/authentication/authentication.js.map +0 -1
- package/dist/app/authentication/clerk.d.ts +0 -5
- package/dist/app/authentication/clerk.js +0 -36
- package/dist/app/authentication/clerk.js.map +0 -1
- package/dist/app/authentication/openid.d.ts +0 -11
- package/dist/app/authentication/openid.js +0 -118
- package/dist/app/authentication/openid.js.map +0 -1
- package/dist/app/components/AnchorLink.js.map +0 -1
- package/dist/app/components/CategoryHeading.js.map +0 -1
- package/dist/app/components/Dialog.d.ts +0 -19
- package/dist/app/components/Dialog.js +0 -23
- package/dist/app/components/Dialog.js.map +0 -1
- package/dist/app/components/DynamicIcon.d.ts +0 -6
- package/dist/app/components/DynamicIcon.js +0 -6
- package/dist/app/components/DynamicIcon.js.map +0 -1
- package/dist/app/components/Header.d.ts +0 -1
- package/dist/app/components/Header.js +0 -15
- package/dist/app/components/Header.js.map +0 -1
- package/dist/app/components/Input.js.map +0 -1
- package/dist/app/components/Layout.js +0 -31
- package/dist/app/components/Layout.js.map +0 -1
- package/dist/app/components/Markdown.js.map +0 -1
- package/dist/app/components/SyntaxHighlight.d.ts +0 -9
- package/dist/app/components/SyntaxHighlight.js +0 -33
- package/dist/app/components/SyntaxHighlight.js.map +0 -1
- package/dist/app/components/TopNavigation.d.ts +0 -1
- package/dist/app/components/TopNavigation.js +0 -11
- package/dist/app/components/TopNavigation.js.map +0 -1
- package/dist/app/components/context/ComponentsContext.d.ts +0 -10
- package/dist/app/components/context/ComponentsContext.js.map +0 -1
- package/dist/app/components/context/DevPortalProvider.d.ts +0 -9
- package/dist/app/components/context/DevPortalProvider.js +0 -39
- package/dist/app/components/context/DevPortalProvider.js.map +0 -1
- package/dist/app/components/context/PluginSystem.js.map +0 -1
- package/dist/app/components/context/ThemeContext.d.ts +0 -5
- package/dist/app/components/context/ThemeContext.js +0 -33
- package/dist/app/components/context/ThemeContext.js.map +0 -1
- package/dist/app/components/context/ViewportAnchorContext.js.map +0 -1
- package/dist/app/components/navigation/SideNavigation.d.ts +0 -1
- package/dist/app/components/navigation/SideNavigation.js +0 -11
- package/dist/app/components/navigation/SideNavigation.js.map +0 -1
- package/dist/app/components/navigation/SideNavigationCategory.d.ts +0 -4
- package/dist/app/components/navigation/SideNavigationCategory.js +0 -26
- package/dist/app/components/navigation/SideNavigationCategory.js.map +0 -1
- package/dist/app/components/navigation/SideNavigationItem.d.ts +0 -12
- package/dist/app/components/navigation/SideNavigationItem.js +0 -38
- package/dist/app/components/navigation/SideNavigationItem.js.map +0 -1
- package/dist/app/components/navigation/SideNavigationWrapper.d.ts +0 -3
- package/dist/app/components/navigation/SideNavigationWrapper.js +0 -6
- package/dist/app/components/navigation/SideNavigationWrapper.js.map +0 -1
- package/dist/app/components/navigation/useNavigationCollapsibleState.d.ts +0 -6
- package/dist/app/components/navigation/useNavigationCollapsibleState.js +0 -16
- package/dist/app/components/navigation/useNavigationCollapsibleState.js.map +0 -1
- package/dist/app/components/navigation/util.d.ts +0 -8
- package/dist/app/components/navigation/util.js +0 -15
- package/dist/app/components/navigation/util.js.map +0 -1
- package/dist/app/core/DevPortalContext.d.ts +0 -80
- package/dist/app/core/DevPortalContext.js +0 -68
- package/dist/app/core/DevPortalContext.js.map +0 -1
- package/dist/app/core/helmet.d.ts +0 -4
- package/dist/app/core/helmet.js +0 -5
- package/dist/app/core/helmet.js.map +0 -1
- package/dist/app/core/icons.d.ts +0 -1
- package/dist/app/core/icons.js +0 -2
- package/dist/app/core/icons.js.map +0 -1
- package/dist/app/core/plugins.d.ts +0 -24
- package/dist/app/core/plugins.js +0 -4
- package/dist/app/core/plugins.js.map +0 -1
- package/dist/app/core/router.d.ts +0 -1
- package/dist/app/core/router.js +0 -2
- package/dist/app/core/router.js.map +0 -1
- package/dist/app/core/types/combine.d.ts +0 -4
- package/dist/app/core/types/combine.js +0 -2
- package/dist/app/core/types/combine.js.map +0 -1
- package/dist/app/oas/graphql/index.js +0 -290
- package/dist/app/oas/graphql/index.js.map +0 -1
- package/dist/app/oas/graphql/server.js +0 -8
- package/dist/app/oas/graphql/server.js.map +0 -1
- package/dist/app/oas/parser/dereference/index.js.map +0 -1
- package/dist/app/oas/parser/dereference/resolveRef.js.map +0 -1
- package/dist/app/oas/parser/index.d.ts +0 -21
- package/dist/app/oas/parser/index.js +0 -58
- package/dist/app/oas/parser/index.js.map +0 -1
- package/dist/app/oas/parser/upgrade/index.js.map +0 -1
- package/dist/app/plugins/api-key/SettingsApiKeys.d.ts +0 -4
- package/dist/app/plugins/api-key/SettingsApiKeys.js +0 -7
- package/dist/app/plugins/api-key/SettingsApiKeys.js.map +0 -1
- package/dist/app/plugins/api-key/index.d.ts +0 -32
- package/dist/app/plugins/api-key/index.js +0 -55
- package/dist/app/plugins/api-key/index.js.map +0 -1
- package/dist/app/plugins/markdown/MdxPage.d.ts +0 -3
- package/dist/app/plugins/markdown/MdxPage.js +0 -55
- package/dist/app/plugins/markdown/MdxPage.js.map +0 -1
- package/dist/app/plugins/markdown/Toc.js +0 -40
- package/dist/app/plugins/markdown/Toc.js.map +0 -1
- package/dist/app/plugins/markdown/generateRoutes.d.ts +0 -3
- package/dist/app/plugins/markdown/generateRoutes.js +0 -50
- package/dist/app/plugins/markdown/generateRoutes.js.map +0 -1
- package/dist/app/plugins/markdown/index.d.ts +0 -18
- package/dist/app/plugins/markdown/index.js +0 -9
- package/dist/app/plugins/markdown/index.js.map +0 -1
- package/dist/app/plugins/openapi/ColorizedParam.d.ts +0 -12
- package/dist/app/plugins/openapi/ColorizedParam.js +0 -45
- package/dist/app/plugins/openapi/ColorizedParam.js.map +0 -1
- package/dist/app/plugins/openapi/MakeRequest.d.ts +0 -4
- package/dist/app/plugins/openapi/MakeRequest.js +0 -23
- package/dist/app/plugins/openapi/MakeRequest.js.map +0 -1
- package/dist/app/plugins/openapi/MethodBadge.d.ts +0 -13
- package/dist/app/plugins/openapi/MethodBadge.js +0 -26
- package/dist/app/plugins/openapi/MethodBadge.js.map +0 -1
- package/dist/app/plugins/openapi/OperationList.js +0 -82
- package/dist/app/plugins/openapi/OperationList.js.map +0 -1
- package/dist/app/plugins/openapi/OperationListItem.js +0 -15
- package/dist/app/plugins/openapi/OperationListItem.js.map +0 -1
- package/dist/app/plugins/openapi/ParameterList.d.ts +0 -7
- package/dist/app/plugins/openapi/ParameterList.js +0 -5
- package/dist/app/plugins/openapi/ParameterList.js.map +0 -1
- package/dist/app/plugins/openapi/ParameterListItem.js +0 -13
- package/dist/app/plugins/openapi/ParameterListItem.js.map +0 -1
- package/dist/app/plugins/openapi/RequestBodySidecarBox.js +0 -19
- package/dist/app/plugins/openapi/RequestBodySidecarBox.js.map +0 -1
- package/dist/app/plugins/openapi/ResponsesSidecarBox.js +0 -15
- package/dist/app/plugins/openapi/ResponsesSidecarBox.js.map +0 -1
- package/dist/app/plugins/openapi/Select.d.ts +0 -9
- package/dist/app/plugins/openapi/Select.js +0 -5
- package/dist/app/plugins/openapi/Select.js.map +0 -1
- package/dist/app/plugins/openapi/Sidecar.d.ts +0 -4
- package/dist/app/plugins/openapi/Sidecar.js +0 -94
- package/dist/app/plugins/openapi/Sidecar.js.map +0 -1
- package/dist/app/plugins/openapi/SidecarBox.d.ts +0 -8
- package/dist/app/plugins/openapi/SidecarBox.js +0 -6
- package/dist/app/plugins/openapi/SidecarBox.js.map +0 -1
- package/dist/app/plugins/openapi/graphql/fragment-masking.d.ts +0 -19
- package/dist/app/plugins/openapi/graphql/fragment-masking.js.map +0 -1
- package/dist/app/plugins/openapi/graphql/gql.d.ts +0 -58
- package/dist/app/plugins/openapi/graphql/gql.js +0 -22
- package/dist/app/plugins/openapi/graphql/gql.js.map +0 -1
- package/dist/app/plugins/openapi/graphql/graphql.d.ts +0 -282
- package/dist/app/plugins/openapi/graphql/graphql.js +0 -526
- package/dist/app/plugins/openapi/graphql/graphql.js.map +0 -1
- package/dist/app/plugins/openapi/graphql/index.js.map +0 -1
- package/dist/app/plugins/openapi/index.d.ts +0 -21
- package/dist/app/plugins/openapi/index.js +0 -91
- package/dist/app/plugins/openapi/index.js.map +0 -1
- package/dist/app/plugins/openapi/playground/Playground.d.ts +0 -8
- package/dist/app/plugins/openapi/playground/Playground.js +0 -98
- package/dist/app/plugins/openapi/playground/Playground.js.map +0 -1
- package/dist/app/plugins/openapi/util/generateSchemaExample.d.ts +0 -3
- package/dist/app/plugins/openapi/util/generateSchemaExample.js +0 -52
- package/dist/app/plugins/openapi/util/generateSchemaExample.js.map +0 -1
- package/dist/app/plugins/openapi/util/urql.js.map +0 -1
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.d.ts +0 -5
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js +0 -47
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js.map +0 -1
- package/dist/app/plugins/openapi/worker/worker.js +0 -20
- package/dist/app/plugins/openapi/worker/worker.js.map +0 -1
- package/dist/app/plugins/redirect/index.d.ts +0 -10
- package/dist/app/plugins/redirect/index.js +0 -11
- package/dist/app/plugins/redirect/index.js.map +0 -1
- package/dist/app/ui/Button.d.ts +0 -11
- package/dist/app/ui/Button.js +0 -34
- package/dist/app/ui/Button.js.map +0 -1
- package/dist/app/ui/Callout.js +0 -50
- package/dist/app/ui/Callout.js.map +0 -1
- package/dist/app/ui/Card.js +0 -17
- package/dist/app/ui/Card.js.map +0 -1
- package/dist/app/ui/Note.js.map +0 -1
- package/dist/app/ui/Tabs.d.ts +0 -7
- package/dist/app/ui/Tabs.js +0 -13
- package/dist/app/ui/Tabs.js.map +0 -1
- package/dist/app/util/MdxComponents.d.ts +0 -27
- package/dist/app/util/MdxComponents.js +0 -40
- package/dist/app/util/MdxComponents.js.map +0 -1
- package/dist/app/util/cn.js.map +0 -1
- package/dist/app/util/createVariantComponent.d.ts +0 -15
- package/dist/app/util/createVariantComponent.js +0 -12
- package/dist/app/util/createVariantComponent.js.map +0 -1
- package/dist/app/util/createWaitForNotify.js.map +0 -1
- package/dist/app/util/groupBy.d.ts +0 -6
- package/dist/app/util/groupBy.js +0 -9
- package/dist/app/util/groupBy.js.map +0 -1
- package/dist/app/util/joinPath.js +0 -8
- package/dist/app/util/joinPath.js.map +0 -1
- package/dist/app/util/pastellize.js.map +0 -1
- package/dist/app/util/slugify.js.map +0 -1
- package/dist/app/util/traverseNavigation.d.ts +0 -6
- package/dist/app/util/traverseNavigation.js +0 -30
- package/dist/app/util/traverseNavigation.js.map +0 -1
- package/dist/app/util/useScrollToAnchor.js +0 -33
- package/dist/app/util/useScrollToAnchor.js.map +0 -1
- package/dist/app/util/useScrollToTop.js.map +0 -1
- package/dist/auth.d.ts +0 -2
- package/dist/auth.js +0 -3
- package/dist/auth.js.map +0 -1
- package/dist/plugins.d.ts +0 -4
- package/dist/plugins.js +0 -6
- package/dist/plugins.js.map +0 -1
- package/dist/vite/plugin-html.d.ts +0 -3
- package/dist/vite/plugin-html.js +0 -50
- package/dist/vite/plugin-html.js.map +0 -1
- package/src/app/DevPortal.tsx +0 -115
- package/src/app/Heading.tsx +0 -60
- package/src/app/authentication/authentication.ts +0 -18
- package/src/app/authentication/clerk.ts +0 -47
- package/src/app/authentication/openid.ts +0 -192
- package/src/app/components/CategoryHeading.tsx +0 -16
- package/src/app/components/Dialog.tsx +0 -119
- package/src/app/components/DynamicIcon.tsx +0 -60
- package/src/app/components/Header.tsx +0 -69
- package/src/app/components/Layout.tsx +0 -56
- package/src/app/components/SyntaxHighlight.tsx +0 -94
- package/src/app/components/TopNavigation.tsx +0 -32
- package/src/app/components/context/DevPortalProvider.ts +0 -54
- package/src/app/components/context/ThemeContext.tsx +0 -46
- package/src/app/components/navigation/SideNavigation.tsx +0 -18
- package/src/app/components/navigation/SideNavigationCategory.tsx +0 -74
- package/src/app/components/navigation/SideNavigationItem.tsx +0 -143
- package/src/app/components/navigation/SideNavigationWrapper.tsx +0 -15
- package/src/app/components/navigation/useNavigationCollapsibleState.ts +0 -27
- package/src/app/components/navigation/util.ts +0 -38
- package/src/app/core/DevPortalContext.ts +0 -164
- package/src/app/core/helmet.ts +0 -5
- package/src/app/core/icons.tsx +0 -1
- package/src/app/core/plugins.ts +0 -43
- package/src/app/core/router.tsx +0 -1
- package/src/app/core/types/combine.ts +0 -16
- package/src/app/oas/graphql/index.ts +0 -422
- package/src/app/oas/graphql/server.ts +0 -10
- package/src/app/oas/parser/index.ts +0 -94
- package/src/app/plugins/api-key/SettingsApiKeys.tsx +0 -22
- package/src/app/plugins/api-key/index.tsx +0 -123
- package/src/app/plugins/markdown/MdxPage.tsx +0 -128
- package/src/app/plugins/markdown/Toc.tsx +0 -122
- package/src/app/plugins/markdown/generateRoutes.tsx +0 -72
- package/src/app/plugins/markdown/index.tsx +0 -31
- package/src/app/plugins/openapi/ColorizedParam.tsx +0 -82
- package/src/app/plugins/openapi/MakeRequest.tsx +0 -49
- package/src/app/plugins/openapi/MethodBadge.tsx +0 -36
- package/src/app/plugins/openapi/OperationList.tsx +0 -117
- package/src/app/plugins/openapi/OperationListItem.tsx +0 -55
- package/src/app/plugins/openapi/ParameterList.tsx +0 -32
- package/src/app/plugins/openapi/ParameterListItem.tsx +0 -60
- package/src/app/plugins/openapi/RequestBodySidecarBox.tsx +0 -51
- package/src/app/plugins/openapi/ResponsesSidecarBox.tsx +0 -60
- package/src/app/plugins/openapi/Select.tsx +0 -35
- package/src/app/plugins/openapi/Sidecar.tsx +0 -160
- package/src/app/plugins/openapi/SidecarBox.tsx +0 -36
- package/src/app/plugins/openapi/graphql/fragment-masking.ts +0 -111
- package/src/app/plugins/openapi/graphql/gql.ts +0 -70
- package/src/app/plugins/openapi/graphql/graphql.ts +0 -795
- package/src/app/plugins/openapi/index.tsx +0 -142
- package/src/app/plugins/openapi/playground/Playground.tsx +0 -309
- package/src/app/plugins/openapi/queries.graphql +0 -6
- package/src/app/plugins/openapi/util/generateSchemaExample.ts +0 -59
- package/src/app/plugins/openapi/worker/createSharedWorkerClient.ts +0 -60
- package/src/app/plugins/openapi/worker/worker.ts +0 -30
- package/src/app/plugins/redirect/index.tsx +0 -20
- package/src/app/ui/Button.tsx +0 -56
- package/src/app/ui/Callout.tsx +0 -87
- package/src/app/ui/Card.tsx +0 -82
- package/src/app/ui/Tabs.tsx +0 -52
- package/src/app/util/MdxComponents.tsx +0 -70
- package/src/app/util/createVariantComponent.tsx +0 -30
- package/src/app/util/groupBy.ts +0 -24
- package/src/app/util/joinPath.tsx +0 -10
- package/src/app/util/traverseNavigation.ts +0 -55
- package/src/app/util/useScrollToAnchor.ts +0 -38
- /package/dist/{app → lib}/authentication/authentication.js +0 -0
- /package/dist/{app → lib}/components/AnchorLink.d.ts +0 -0
- /package/dist/{app → lib}/components/AnchorLink.js +0 -0
- /package/dist/{app → lib}/components/CategoryHeading.d.ts +0 -0
- /package/dist/{app → lib}/components/CategoryHeading.js +0 -0
- /package/dist/{app → lib}/components/Layout.d.ts +0 -0
- /package/dist/{app → lib}/components/Markdown.d.ts +0 -0
- /package/dist/{app → lib}/components/Markdown.js +0 -0
- /package/dist/{app → lib}/components/context/ComponentsContext.js +0 -0
- /package/dist/{app → lib}/components/context/PluginSystem.d.ts +0 -0
- /package/dist/{app → lib}/components/context/PluginSystem.js +0 -0
- /package/dist/{app → lib}/components/context/ViewportAnchorContext.d.ts +0 -0
- /package/dist/{app → lib}/components/context/ViewportAnchorContext.js +0 -0
- /package/dist/{app → lib}/oas/graphql/index.d.ts +0 -0
- /package/dist/{app → lib}/oas/parser/dereference/index.d.ts +0 -0
- /package/dist/{app → lib}/oas/parser/dereference/index.js +0 -0
- /package/dist/{app → lib}/oas/parser/dereference/resolveRef.d.ts +0 -0
- /package/dist/{app → lib}/oas/parser/dereference/resolveRef.js +0 -0
- /package/dist/{app → lib}/oas/parser/upgrade/index.d.ts +0 -0
- /package/dist/{app → lib}/oas/parser/upgrade/index.js +0 -0
- /package/dist/{app → lib}/plugins/markdown/Toc.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/OperationList.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/OperationListItem.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/ParameterListItem.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.d.ts +0 -0
- /package/dist/{app/plugins/openapi/worker → lib/plugins/openapi/client}/worker.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.js +0 -0
- /package/dist/{app → lib}/plugins/openapi/graphql/index.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/graphql/index.js +0 -0
- /package/dist/{app → lib}/plugins/openapi/util/urql.d.ts +0 -0
- /package/dist/{app → lib}/plugins/openapi/util/urql.js +0 -0
- /package/dist/{app → lib}/ui/Callout.d.ts +0 -0
- /package/dist/{app → lib}/ui/Card.d.ts +0 -0
- /package/dist/{app/components → lib/ui}/Input.d.ts +0 -0
- /package/dist/{app/components → lib/ui}/Input.js +0 -0
- /package/dist/{app → lib}/ui/Note.d.ts +0 -0
- /package/dist/{app → lib}/ui/Note.js +0 -0
- /package/dist/{app → lib}/util/cn.d.ts +0 -0
- /package/dist/{app → lib}/util/cn.js +0 -0
- /package/dist/{app → lib}/util/createWaitForNotify.d.ts +0 -0
- /package/dist/{app → lib}/util/createWaitForNotify.js +0 -0
- /package/dist/{app → lib}/util/joinPath.d.ts +0 -0
- /package/dist/{app/oas/graphql/server.d.ts → lib/util/logInit.d.ts} +0 -0
- /package/dist/{app → lib}/util/pastellize.d.ts +0 -0
- /package/dist/{app → lib}/util/pastellize.js +0 -0
- /package/dist/{app → lib}/util/slugify.d.ts +0 -0
- /package/dist/{app → lib}/util/slugify.js +0 -0
- /package/dist/{app → lib}/util/useScrollToAnchor.d.ts +0 -0
- /package/dist/{app → lib}/util/useScrollToTop.d.ts +0 -0
- /package/dist/{app → lib}/util/useScrollToTop.js +0 -0
- /package/src/{app → lib}/components/AnchorLink.tsx +0 -0
- /package/src/{app → lib}/components/Markdown.tsx +0 -0
- /package/src/{app → lib}/components/context/ComponentsContext.tsx +0 -0
- /package/src/{app → lib}/components/context/PluginSystem.ts +0 -0
- /package/src/{app → lib}/components/context/ViewportAnchorContext.tsx +0 -0
- /package/src/{app → lib}/oas/parser/dereference/index.ts +0 -0
- /package/src/{app → lib}/oas/parser/dereference/resolveRef.ts +0 -0
- /package/src/{app → lib}/oas/parser/schemas/v3.0.json +0 -0
- /package/src/{app → lib}/oas/parser/schemas/v3.1.json +0 -0
- /package/src/{app → lib}/oas/parser/upgrade/index.ts +0 -0
- /package/src/{app → lib}/plugins/openapi/graphql/index.ts +0 -0
- /package/src/{app → lib}/plugins/openapi/util/urql.ts +0 -0
- /package/src/{app/components → lib/ui}/Input.tsx +0 -0
- /package/src/{app → lib}/ui/Note.tsx +0 -0
- /package/src/{app → lib}/util/cn.ts +0 -0
- /package/src/{app → lib}/util/createWaitForNotify.ts +0 -0
- /package/src/{app → lib}/util/pastellize.ts +0 -0
- /package/src/{app → lib}/util/slugify.ts +0 -0
- /package/src/{app → lib}/util/useScrollToTop.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CtKkHGcd.js","sources":["../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle-play.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/eraser.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/log-in.js","../../../node_modules/.pnpm/lucide-react@0.378.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.js","../src/lib/plugins/openapi/graphql/graphql.ts","../src/lib/plugins/openapi/graphql/gql.ts","../src/lib/components/ErrorPage.tsx","../../../node_modules/.pnpm/@radix-ui+react-dialog@1.1.1_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-dialog/dist/index.mjs","../src/lib/components/Dialog.tsx","../src/lib/ui/Card.tsx","../../../node_modules/.pnpm/@radix-ui+react-tabs@1.1.0_@types+react-dom@18.3.0_@types+react@18.3.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@radix-ui/react-tabs/dist/index.mjs","../src/lib/ui/Tabs.tsx","../src/lib/util/fetchTimeout.tsx","../src/lib/util/pastellize.ts","../src/lib/plugins/openapi/ColorizedParam.tsx","../src/lib/plugins/openapi/playground/createUrl.ts","../src/lib/util/createVariantComponent.tsx","../src/lib/plugins/openapi/playground/InlineInput.tsx","../src/lib/plugins/openapi/playground/Headers.tsx","../src/lib/plugins/openapi/playground/PathParams.tsx","../src/lib/plugins/openapi/playground/QueryParams.tsx","../src/lib/plugins/openapi/SimpleSelect.tsx","../src/lib/plugins/openapi/playground/ResponseTab.tsx","../src/lib/plugins/openapi/playground/Playground.tsx","../src/lib/plugins/openapi/playground/PlaygroundDialog.tsx","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/chunk-7LT4AZED.js","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/chunk-UPA5TN5W.js","../../../node_modules/.pnpm/is-regexp@1.0.0/node_modules/is-regexp/index.js","../../../node_modules/.pnpm/is-obj@1.0.1/node_modules/is-obj/index.js","../../../node_modules/.pnpm/get-own-enumerable-property-symbols@3.0.2/node_modules/get-own-enumerable-property-symbols/lib/index.js","../../../node_modules/.pnpm/stringify-object@3.3.0/node_modules/stringify-object/index.js","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/chunk-UEZF7UNC.js","../../../node_modules/.pnpm/punycode@1.4.1/node_modules/punycode/punycode.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/shams.js","../../../node_modules/.pnpm/has-symbols@1.0.3/node_modules/has-symbols/index.js","../../../node_modules/.pnpm/has-proto@1.0.3/node_modules/has-proto/index.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../node_modules/.pnpm/get-intrinsic@1.2.4/node_modules/get-intrinsic/index.js","../../../node_modules/.pnpm/es-define-property@1.0.0/node_modules/es-define-property/index.js","../../../node_modules/.pnpm/gopd@1.0.1/node_modules/gopd/index.js","../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js","../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js","../../../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js","../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/index.js","../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/callBound.js","../__vite-browser-external","../../../node_modules/.pnpm/object-inspect@1.13.1/node_modules/object-inspect/index.js","../../../node_modules/.pnpm/side-channel@1.0.6/node_modules/side-channel/index.js","../../../node_modules/.pnpm/qs@6.12.1/node_modules/qs/lib/formats.js","../../../node_modules/.pnpm/qs@6.12.1/node_modules/qs/lib/utils.js","../../../node_modules/.pnpm/qs@6.12.1/node_modules/qs/lib/stringify.js","../../../node_modules/.pnpm/qs@6.12.1/node_modules/qs/lib/parse.js","../../../node_modules/.pnpm/qs@6.12.1/node_modules/qs/lib/index.js","../../../node_modules/.pnpm/url@0.11.3/node_modules/url/url.js","../../../node_modules/.pnpm/@zudoku+httpsnippet@10.0.9/node_modules/@zudoku/httpsnippet/dist/index.js","../src/lib/plugins/openapi/context.tsx","../src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx","../src/lib/plugins/openapi/SidecarBox.tsx","../src/lib/plugins/openapi/util/generateSchemaExample.ts","../src/lib/plugins/openapi/RequestBodySidecarBox.tsx","../src/lib/plugins/openapi/ResponsesSidecarBox.tsx","../src/lib/plugins/openapi/Sidecar.tsx","../src/lib/plugins/openapi/index.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronsUpDown = createLucideIcon(\"ChevronsUpDown\", [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n]);\n\nexport { ChevronsUpDown as default };\n//# sourceMappingURL=chevrons-up-down.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CirclePlay = createLucideIcon(\"CirclePlay\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polygon\", { points: \"10 8 16 12 10 16 10 8\", key: \"1cimsy\" }]\n]);\n\nexport { CirclePlay as default };\n//# sourceMappingURL=circle-play.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Eraser = createLucideIcon(\"Eraser\", [\n [\n \"path\",\n {\n d: \"m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21\",\n key: \"182aya\"\n }\n ],\n [\"path\", { d: \"M22 21H7\", key: \"t4ddhn\" }],\n [\"path\", { d: \"m5 11 9 9\", key: \"1mo9qw\" }]\n]);\n\nexport { Eraser as default };\n//# sourceMappingURL=eraser.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst LogIn = createLucideIcon(\"LogIn\", [\n [\"path\", { d: \"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\", key: \"u53s6r\" }],\n [\"polyline\", { points: \"10 17 15 12 10 7\", key: \"1ail0h\" }],\n [\"line\", { x1: \"15\", x2: \"3\", y1: \"12\", y2: \"12\", key: \"v6grx8\" }]\n]);\n\nexport { LogIn as default };\n//# sourceMappingURL=log-in.js.map\n","/**\n * @license lucide-react v0.378.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from \"@graphql-typed-document-node/core\";\nexport type Maybe<T> = T | null;\nexport type InputMaybe<T> = Maybe<T>;\nexport type Exact<T extends { [key: string]: unknown }> = {\n [K in keyof T]: T[K];\n};\nexport type MakeOptional<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]?: Maybe<T[SubKey]>;\n};\nexport type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {\n [SubKey in K]: Maybe<T[SubKey]>;\n};\nexport type MakeEmpty<\n T extends { [key: string]: unknown },\n K extends keyof T,\n> = { [_ in K]?: never };\nexport type Incremental<T> =\n | T\n | {\n [P in keyof T]?: P extends \" $fragmentName\" | \"__typename\" ? T[P] : never;\n };\n/** All built-in and custom scalars, mapped to their actual values */\nexport type Scalars = {\n ID: { input: string; output: string };\n String: { input: string; output: string };\n Boolean: { input: boolean; output: boolean };\n Int: { input: number; output: number };\n Float: { input: number; output: number };\n /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSON: { input: any; output: any };\n /** The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */\n JSONObject: { input: any; output: any };\n};\n\nexport type EncodingItem = {\n __typename?: \"EncodingItem\";\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n contentType?: Maybe<Scalars[\"String\"][\"output\"]>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n headers?: Maybe<Scalars[\"JSONObject\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type ExampleItem = {\n __typename?: \"ExampleItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n externalValue?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n value?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type MediaTypeObject = {\n __typename?: \"MediaTypeObject\";\n encoding?: Maybe<Array<EncodingItem>>;\n examples?: Maybe<Array<ExampleItem>>;\n mediaType: Scalars[\"String\"][\"output\"];\n schema?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n};\n\nexport type OperationItem = {\n __typename?: \"OperationItem\";\n contentTypes: Array<Scalars[\"String\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n method: Scalars[\"String\"][\"output\"];\n operationId?: Maybe<Scalars[\"String\"][\"output\"]>;\n parameters?: Maybe<Array<ParameterItem>>;\n path: Scalars[\"String\"][\"output\"];\n requestBody?: Maybe<RequestBodyObject>;\n responses: Array<ResponseItem>;\n slug: Scalars[\"String\"][\"output\"];\n summary?: Maybe<Scalars[\"String\"][\"output\"]>;\n tags?: Maybe<Array<TagItem>>;\n};\n\nexport type ParameterIn = \"cookie\" | \"header\" | \"path\" | \"query\";\n\nexport type ParameterItem = {\n __typename?: \"ParameterItem\";\n allowEmptyValue?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n allowReserved?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n deprecated?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n examples?: Maybe<Array<ExampleItem>>;\n explode?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n in: ParameterIn;\n name: Scalars[\"String\"][\"output\"];\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n schema?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n style?: Maybe<Scalars[\"String\"][\"output\"]>;\n};\n\nexport type PathItem = {\n __typename?: \"PathItem\";\n methods: Array<Scalars[\"String\"][\"output\"]>;\n path: Scalars[\"String\"][\"output\"];\n};\n\nexport type Query = {\n __typename?: \"Query\";\n schema: Schema;\n};\n\nexport type QuerySchemaArgs = {\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n};\n\nexport type RequestBodyObject = {\n __typename?: \"RequestBodyObject\";\n content?: Maybe<Array<MediaTypeObject>>;\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n required?: Maybe<Scalars[\"Boolean\"][\"output\"]>;\n};\n\nexport type ResponseItem = {\n __typename?: \"ResponseItem\";\n content?: Maybe<Array<MediaTypeObject>>;\n description: Scalars[\"String\"][\"output\"];\n headers?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n links?: Maybe<Scalars[\"JSON\"][\"output\"]>;\n statusCode: Scalars[\"String\"][\"output\"];\n};\n\nexport type Schema = {\n __typename?: \"Schema\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n openapi: Scalars[\"String\"][\"output\"];\n operations: Array<OperationItem>;\n paths: Array<PathItem>;\n tags: Array<SchemaTag>;\n title: Scalars[\"String\"][\"output\"];\n url: Scalars[\"String\"][\"output\"];\n version: Scalars[\"String\"][\"output\"];\n};\n\nexport type SchemaOperationsArgs = {\n method?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n operationId?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n path?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n tag?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type SchemaTagsArgs = {\n name?: InputMaybe<Scalars[\"String\"][\"input\"]>;\n};\n\nexport type SchemaTag = {\n __typename?: \"SchemaTag\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name?: Maybe<Scalars[\"String\"][\"output\"]>;\n operations: Array<OperationItem>;\n};\n\nexport type SchemaType = \"json\" | \"url\" | \"yaml\";\n\nexport type TagItem = {\n __typename?: \"TagItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n};\n\nexport type OperationsFragmentFragment = {\n __typename?: \"OperationItem\";\n slug: string;\n summary?: string | null;\n method: string;\n description?: string | null;\n operationId?: string | null;\n contentTypes: Array<string>;\n path: string;\n parameters?: Array<{\n __typename?: \"ParameterItem\";\n name: string;\n in: ParameterIn;\n description?: string | null;\n required?: boolean | null;\n schema?: any | null;\n style?: string | null;\n examples?: Array<{\n __typename?: \"ExampleItem\";\n name: string;\n description?: string | null;\n externalValue?: string | null;\n value?: string | null;\n summary?: string | null;\n }> | null;\n }> | null;\n requestBody?: {\n __typename?: \"RequestBodyObject\";\n description?: string | null;\n required?: boolean | null;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema?: any | null;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n } | null;\n responses: Array<{\n __typename?: \"ResponseItem\";\n statusCode: string;\n links?: any | null;\n description: string;\n content?: Array<{\n __typename?: \"MediaTypeObject\";\n mediaType: string;\n schema?: any | null;\n encoding?: Array<{ __typename?: \"EncodingItem\"; name: string }> | null;\n }> | null;\n }>;\n} & { \" $fragmentName\"?: \"OperationsFragmentFragment\" };\n\nexport type AllOperationsQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type AllOperationsQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n description?: string | null;\n title: string;\n url: string;\n version: string;\n tags: Array<{\n __typename?: \"SchemaTag\";\n name?: string | null;\n description?: string | null;\n operations: Array<\n { __typename?: \"OperationItem\"; slug: string } & {\n \" $fragmentRefs\"?: {\n OperationsFragmentFragment: OperationsFragmentFragment;\n };\n }\n >;\n }>;\n };\n};\n\nexport type GetServerQueryQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetServerQueryQuery = {\n __typename?: \"Query\";\n schema: { __typename?: \"Schema\"; url: string };\n};\n\nexport type GetCategoriesQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type GetCategoriesQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n tags: Array<{\n __typename: \"SchemaTag\";\n name?: string | null;\n operations: Array<{\n __typename: \"OperationItem\";\n slug: string;\n deprecated?: boolean | null;\n method: string;\n summary?: string | null;\n operationId?: string | null;\n path: string;\n }>;\n }>;\n };\n};\n\nexport const OperationsFragmentFragmentDoc = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"FragmentDefinition\",\n name: { kind: \"Name\", value: \"OperationsFragment\" },\n typeCondition: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"OperationItem\" },\n },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"slug\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"summary\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"method\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"operationId\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"contentTypes\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"path\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"parameters\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"in\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"schema\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"style\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"examples\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"externalValue\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"value\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"requestBody\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"responses\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"statusCode\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"links\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<OperationsFragmentFragment, unknown>;\nexport const AllOperationsDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"AllOperations\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"title\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"version\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"tags\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operations\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"slug\" },\n },\n {\n kind: \"FragmentSpread\",\n name: {\n kind: \"Name\",\n value: \"OperationsFragment\",\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"FragmentDefinition\",\n name: { kind: \"Name\", value: \"OperationsFragment\" },\n typeCondition: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"OperationItem\" },\n },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"slug\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"summary\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"method\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"operationId\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"contentTypes\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"path\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"parameters\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"in\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"schema\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"style\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"examples\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"description\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"externalValue\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"value\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n ],\n },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"requestBody\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"required\" } },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"responses\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"statusCode\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"links\" } },\n { kind: \"Field\", name: { kind: \"Name\", value: \"description\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"content\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"mediaType\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"encoding\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"name\" },\n },\n ],\n },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<AllOperationsQuery, AllOperationsQueryVariables>;\nexport const GetServerQueryDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"getServerQuery\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetServerQueryQuery, GetServerQueryQueryVariables>;\nexport const GetCategoriesDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"GetCategories\" },\n variableDefinitions: [\n {\n kind: \"VariableDefinition\",\n variable: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n type: {\n kind: \"NonNullType\",\n type: { kind: \"NamedType\", name: { kind: \"Name\", value: \"JSON\" } },\n },\n },\n {\n kind: \"VariableDefinition\",\n variable: { kind: \"Variable\", name: { kind: \"Name\", value: \"type\" } },\n type: {\n kind: \"NonNullType\",\n type: {\n kind: \"NamedType\",\n name: { kind: \"Name\", value: \"SchemaType\" },\n },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"schema\" },\n arguments: [\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"input\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"input\" },\n },\n },\n {\n kind: \"Argument\",\n name: { kind: \"Name\", value: \"type\" },\n value: {\n kind: \"Variable\",\n name: { kind: \"Name\", value: \"type\" },\n },\n },\n ],\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"tags\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"__typename\" },\n },\n { kind: \"Field\", name: { kind: \"Name\", value: \"name\" } },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operations\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"__typename\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"slug\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"deprecated\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"method\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"summary\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"operationId\" },\n },\n {\n kind: \"Field\",\n name: { kind: \"Name\", value: \"path\" },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<GetCategoriesQuery, GetCategoriesQueryVariables>;\n","/* eslint-disable */\nimport type { TypedDocumentNode as DocumentNode } from \"@graphql-typed-document-node/core\";\nimport * as types from \"./graphql.js\";\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n \"\\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 schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\":\n types.OperationsFragmentFragmentDoc,\n \"\\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\":\n types.AllOperationsDocument,\n \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\":\n types.GetServerQueryDocument,\n \"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\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\":\n types.GetCategoriesDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\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 schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\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 schema\\n }\\n description\\n required\\n }\\n responses {\\n statusCode\\n links\\n description\\n content {\\n mediaType\\n encoding {\\n name\\n }\\n schema\\n }\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n 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\",\n): (typeof documents)[\"\\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\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n }\\n }\\n\"];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: \"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\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\",\n): (typeof documents)[\"\\n query GetCategories($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\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\"];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n","import type { ReactNode } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CategoryHeading } from \"./CategoryHeading.js\";\nimport { Heading } from \"./Heading.js\";\nimport { ProseClasses } from \"./Markdown.js\";\n\nexport const ErrorPage = ({\n title = \"An error occurred\",\n message,\n category,\n}: {\n title?: ReactNode;\n message?: ReactNode;\n category?: ReactNode;\n}) => {\n return (\n <div className={ProseClasses + \" h-full pt-[--padding-content-top]\"}>\n {category && <CategoryHeading>{category}</CategoryHeading>}\n {title && (\n <Heading level={1} className=\"flex gap-3.5 items-center\">\n {title}\n </Heading>\n )}\n <p>{message}</p>\n <Link to=\"/\">Go back home</Link>\n </div>\n );\n};\n","\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { XIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg border-border\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <XIcon className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","import * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl border bg-card text-card-foreground shadow\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n};\n","\"use client\";\n\n// packages/react/tabs/src/Tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { cn } from \"../util/cn.js\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow\",\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className,\n )}\n {...props}\n />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","export const fetchTimeout = async (\n input: RequestInfo,\n init?: RequestInit,\n timeout = 5000,\n): Promise<Response> => {\n const controller = new AbortController();\n const signal = controller.signal;\n\n const fetchPromise = fetch(input, { ...init, signal });\n\n const timeoutPromise = new Promise<Response>((_, reject) => {\n const timer = setTimeout(() => {\n controller.abort(\"Request timed out\");\n reject(new Error(\"Request timed out\"));\n }, timeout);\n\n void fetchPromise.finally(() => clearTimeout(timer));\n });\n\n return Promise.race([fetchPromise, timeoutPromise]);\n};\n","const c2n = (c: string) =>\n Math.abs(\n isNaN(parseInt(c))\n ? c.toLowerCase().charCodeAt(0) - 96\n : isNaN(parseInt(c))\n ? 0\n : parseInt(c),\n );\nconst s2n = (s: string) =>\n s.length > 1\n ? parseInt(s.split(\"\").reduce((a, c) => `${c2n(a) + c2n(c)}`))\n : c2n(s);\n\nexport const pastellize = (\n s: string,\n options: {\n saturation?: number;\n lightness?: number;\n } = {},\n) => {\n const hue = (3 * s2n(s) + 2 * s2n(s) + s2n(s)) % 360;\n const { saturation = 75, lightness = 60 } = options;\n\n return `${hue}deg ${saturation}% ${lightness}%`;\n};\n","import { useEffect, useRef, type ReactNode } from \"react\";\nimport { useTheme } from \"../../components/context/ThemeContext.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { pastellize } from \"../../util/pastellize.js\";\n\nexport const DATA_ATTR = \"data-linked-param\";\n\nexport const usePastellizedColor = (name: string) => {\n const [isDark] = useTheme();\n return pastellize(\n name,\n !isDark ? { saturation: 85, lightness: 50 } : undefined,\n );\n};\n\nexport const ColorizedParam = ({\n name,\n className,\n backgroundOpacity = \"100%\",\n borderOpacity = \"100%\",\n slug,\n children,\n onClick,\n}: {\n name: string;\n className?: string;\n backgroundOpacity?: string;\n borderOpacity?: string;\n slug?: string;\n children?: ReactNode;\n onClick?: () => void;\n}) => {\n const ref = useRef<HTMLSpanElement>(null);\n const normalized = name.replace(/[{}]/g, \"\");\n const normalizedSlug = slug?.replace(/[{}]/g, \"\");\n const color = usePastellizedColor(normalized);\n\n const borderColor = `hsl(${color} / ${borderOpacity})`;\n const backgroundColor = `hsl(${color} / ${backgroundOpacity})`;\n\n useEffect(() => {\n if (!normalizedSlug) return;\n if (!ref.current) return;\n\n const onMouseEnter = () => {\n document\n .querySelectorAll(`[${DATA_ATTR}=\"${normalizedSlug}\"]`)\n .forEach((el) => {\n if (el instanceof HTMLElement) {\n el.dataset.active = \"true\";\n }\n });\n };\n const onMouseLeave = () => {\n document\n .querySelectorAll(`[${DATA_ATTR}=\"${normalizedSlug}\"]`)\n .forEach((el) => {\n if (el instanceof HTMLElement) {\n el.dataset.active = \"false\";\n }\n });\n };\n\n ref.current.addEventListener(\"mouseenter\", onMouseEnter);\n ref.current.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n ref.current?.removeEventListener(\"mouseenter\", onMouseEnter);\n ref.current?.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [normalizedSlug]);\n\n return (\n <span\n className={cn(\"inline-flex relative rounded group\", className)}\n {...{ [DATA_ATTR]: normalizedSlug }}\n ref={ref}\n onClick={onClick}\n >\n <span\n className=\"absolute inset-0 border-b-2 transition-opacity duration-200 opacity-30 group-data-[active=true]:opacity-100\"\n style={{ borderColor, backgroundColor }}\n />\n <span className=\"relative\">{children ?? name}</span>\n </span>\n );\n};\n","import type { PlaygroundForm } from \"./Playground.js\";\n\nexport const createUrl = (host: string, path: string, data: PlaygroundForm) => {\n const filledPath = path.replace(\n /\\{(\\w+)}/g,\n (_, key) =>\n data.pathParams.find((part) => part.name === key)?.value || `{${key}}`,\n );\n\n const url = new URL(filledPath, host);\n\n data.queryParams\n .filter((param) => param.active)\n .forEach((param) => {\n url.searchParams.set(param.name, param.value);\n });\n\n return url;\n};\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { cva } from \"class-variance-authority\";\nimport type { ClassValue } from \"clsx\";\nimport * as React from \"react\";\nimport type { JSX } from \"react/jsx-runtime\";\nimport { cn } from \"./cn.js\";\n\nconst createVariantComponent = <\n E extends keyof React.ReactHTML,\n C extends ReturnType<typeof cva>,\n>(\n tag: E,\n cvx: ClassValue | C,\n // variantProps: Array<keyof VariantProps<C>> = [],\n) => {\n const MyVariant = React.forwardRef<\n HTMLElement,\n JSX.IntrinsicElements[E] & { className?: ClassValue; asChild?: boolean }\n >(({ className, asChild, ...props }, ref) => {\n const Comp = asChild ? Slot : tag;\n\n return React.createElement(Comp, {\n ...props,\n ref,\n className:\n typeof cvx === \"function\" ? cvx({ className }) : cn(cvx, className),\n });\n });\n\n MyVariant.displayName = `VariantComponent(${tag})`;\n\n return MyVariant;\n};\n\nexport default createVariantComponent;\n","import createVariantComponent from \"../../../util/createVariantComponent.js\";\n\nexport const InlineInput = createVariantComponent(\n \"input\",\n \"px-2 bg-transparent h-6 font-mono text-xs m-2\",\n);\n","import { TriangleAlertIcon, XIcon } from \"lucide-react\";\nimport {\n Control,\n useFieldArray,\n UseFormRegister,\n useWatch,\n} from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport { NO_IDENTITY, type PlaygroundForm } from \"./Playground.js\";\n\nexport const Headers = ({\n control,\n register,\n}: {\n register: UseFormRegister<PlaygroundForm>;\n control: Control<PlaygroundForm>;\n}) => {\n const { fields, append, remove } = useFieldArray<PlaygroundForm>({\n control,\n name: \"headers\",\n });\n const selectedIdentity = useWatch({ name: \"identity\", control });\n const liveHeaders = useWatch({ name: \"headers\", control });\n\n const disableAuth = selectedIdentity !== NO_IDENTITY;\n\n return (\n <div className=\"grid grid-cols-[1fr_1fr_auto]\">\n {fields.map((header, i) => {\n const isDisabledByAuth =\n disableAuth && liveHeaders.at(i)?.name === \"Authorization\";\n\n return (\n <div\n key={header.id}\n className={cn(\n \"grid-cols-subgrid col-span-full grid items-center gap-x-2 has-[:focus]:bg-muted hover:bg-muted rounded overflow-hidden group\",\n isDisabledByAuth && \"line-through\",\n )}\n title={\n isDisabledByAuth\n ? \"This header is disabled because authentication was selected\"\n : undefined\n }\n >\n <div className=\"flex gap-2 items-center\">\n <InlineInput\n {...register(`headers.${i}.name`)}\n placeholder=\"Name\"\n className=\"peer\"\n autoComplete=\"off\"\n />\n {isDisabledByAuth && (\n <TriangleAlertIcon size={16} className=\"text-amber-500\" />\n )}\n </div>\n <InlineInput\n placeholder={\"Value\"}\n className=\"peer\"\n {...register(`headers.${i}.value`)}\n autoComplete=\"off\"\n />\n <button\n className=\"hover:bg-black/5 p-1 rounded mr-2 text-muted-foreground invisible group-hover:visible peer-focus:visible\"\n onClick={() => {\n remove(i);\n }}\n type=\"button\"\n >\n <XIcon size={16} />\n </button>\n <div className=\"col-span-full border-b\"></div>\n </div>\n );\n })}\n <Button\n className=\"col-span-full mt-4\"\n onClick={() => append({ name: \"\", value: \"\" })}\n type=\"button\"\n >\n Add header\n </Button>\n </div>\n );\n};\n","import { EraserIcon } from \"lucide-react\";\nimport { Control, Controller, useFieldArray } from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport type { PlaygroundForm } from \"./Playground.js\";\n\nexport const PathParams = ({\n control,\n}: {\n control: Control<PlaygroundForm>;\n}) => {\n const { fields } = useFieldArray<PlaygroundForm>({\n control,\n name: \"pathParams\",\n });\n\n return (\n <table className=\"w-full table-auto [&_td]:border [&_td]:py-1 [&_td]:px-2\">\n <tbody>\n {fields.map((part, i) => (\n <tr key={part.id} className=\"hover:bg-accent/40\">\n <td>\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <div>\n <ColorizedParam\n slug={part.name}\n name={part.name}\n backgroundOpacity=\"25%\"\n borderOpacity={field.value ? \"100%\" : \"0\"}\n className={cn(\n \"font-mono text-xs m-2\",\n !field.value && \"opacity-60\",\n )}\n />\n *\n </div>\n )}\n />\n </td>\n <td>\n <div className=\"flex justify-between items-center\">\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <Input\n {...field}\n placeholder=\"Enter value\"\n className={cn(\n \"border-0 shadow-none ring-0 font-mono text-xs\",\n )}\n />\n )}\n />\n <Controller\n control={control}\n name={`pathParams.${i}.value`}\n render={({ field }) => (\n <Button\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n aria-label=\"Clear value\"\n className={cn(\n \"ms-2\",\n field.value.length === 0\n ? \"opacity-0 pointer-events-none\"\n : \"opacity-100\",\n )}\n title=\"Clear value\"\n onClick={() => field.onChange(\"\")}\n >\n <EraserIcon size={16} />\n </Button>\n )}\n />\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import { EraserIcon } from \"lucide-react\";\nimport {\n Control,\n Controller,\n useFieldArray,\n useFormContext,\n} from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { cn } from \"../../../util/cn.js\";\nimport { InlineInput } from \"./InlineInput.js\";\nimport {\n NO_IDENTITY,\n type PlaygroundForm,\n type QueryParam,\n} from \"./Playground.js\";\n\nexport const QueryParams = ({\n control,\n queryParams,\n}: {\n control: Control<PlaygroundForm>;\n queryParams: QueryParam[];\n}) => {\n const { fields } = useFieldArray<PlaygroundForm>({\n control,\n name: \"queryParams\",\n });\n const form = useFormContext<PlaygroundForm>();\n\n const requiredFields = queryParams.map((param) => Boolean(param.isRequired));\n\n const selectedIdentity = form.watch(\"identity\");\n const hasSelectedIdentity = selectedIdentity !== NO_IDENTITY;\n\n return (\n <div className=\"\">\n <table className=\"w-full [&_td]:border [&_td]:p-1.5 [&_td]:px-2\">\n <tbody>\n {fields\n .filter(\n // TODO remove this hack for Accu or make it more generic\n (field) => !(hasSelectedIdentity && field.name === \"apikey\"),\n )\n .map((field, i) => (\n <tr key={field.id} className=\"hover:bg-accent/40\">\n <td className=\"text-center\">\n <Controller\n control={control}\n name={`queryParams.${i}.active`}\n render={({ field }) => (\n <input\n type=\"checkbox\"\n id={`queryParams.${i}.active`}\n checked={field.value}\n onChange={field.onChange}\n />\n )}\n />\n </td>\n <td>\n <Controller\n control={control}\n render={({ field }) => (\n <InlineInput asChild>\n <label\n className=\"flex items-center cursor-pointer\"\n htmlFor={`queryParams.${i}.active`}\n title={\n requiredFields[i] ? \"Required field\" : undefined\n }\n >\n {field.value}\n {requiredFields[i] && <sup> *</sup>}\n </label>\n </InlineInput>\n )}\n name={`queryParams.${i}.name`}\n />\n </td>\n <td>\n <div className=\"flex justify-between items-center\">\n <Controller\n control={control}\n render={({ field }) => (\n <Input\n {...field}\n onChange={(e) => {\n field.onChange(e.target.value);\n if (e.target.value.length > 0) {\n form.setValue(`queryParams.${i}.active`, true);\n }\n }}\n placeholder=\"Enter value\"\n className=\"w-full border-0 shadow-none text-xs font-mono\"\n />\n )}\n name={`queryParams.${i}.value`}\n />\n <Controller\n control={control}\n render={({ field }) => (\n <Button\n size=\"icon\"\n type=\"button\"\n variant=\"ghost\"\n aria-label=\"Clear value\"\n className={cn(\n \"ms-2\",\n field.value.length === 0\n ? \"opacity-0 pointer-events-none\"\n : \"opacity-100\",\n )}\n title=\"Clear value\"\n onClick={() => field.onChange(\"\")}\n >\n <EraserIcon size={16} />\n </Button>\n )}\n name={`queryParams.${i}.value`}\n />\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n};\n","import { ChevronsUpDownIcon } from \"lucide-react\";\nimport type { ChangeEventHandler } from \"react\";\nimport { cn } from \"../../util/cn.js\";\n\nexport const SimpleSelect = ({\n value,\n onChange,\n className,\n options,\n}: {\n value: string;\n onChange: ChangeEventHandler<HTMLSelectElement>;\n className?: string;\n options: {\n value: string;\n label: string;\n }[];\n}) => (\n <div className={cn(\"grid\", className)}>\n <select\n className={cn(\n \"row-start-1 col-start-1 border border-input text-foreground px-2 py-1 pe-6\",\n \"rounded-md appearance-none bg-zinc-50 hover:bg-white dark:bg-zinc-800 hover:dark:bg-zinc-800/75\",\n )}\n value={value}\n onChange={onChange}\n >\n {options.map((option) => (\n <option value={option.value} key={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n <div className=\"row-start-1 col-start-1 self-center justify-self-end relative end-2 pointer-events-none\">\n <ChevronsUpDownIcon size={14} />\n </div>\n </div>\n);\n","import { useState } from \"react\";\nimport { SyntaxHighlight } from \"../../../components/SyntaxHighlight.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { SimpleSelect } from \"../SimpleSelect.js\";\n\nconst mimeTypeToLanguage = (mimeType: string) => {\n const mimeTypeMapping = {\n \"application/json\": \"json\",\n \"text/json\": \"json\",\n \"text/html\": \"html\",\n \"text/css\": \"css\",\n \"text/javascript\": \"javascript\",\n \"application/xml\": \"xml\",\n \"application/xhtml+xml\": \"xhtml\",\n };\n\n return Object.entries(mimeTypeMapping).find(([mime]) =>\n mimeType.includes(mime),\n )?.[1];\n};\n\nconst detectLanguage = (headers: Headers) => {\n const contentType = headers.get(\"Content-Type\") || \"\";\n return mimeTypeToLanguage(contentType);\n};\n\nconst tryParseJson = (body: string) => {\n try {\n return JSON.stringify(JSON.parse(body), null, 2);\n } catch {\n return null;\n }\n};\n\nexport const ResponseTab = ({\n body = \"\",\n headers,\n}: {\n body?: string;\n headers: Headers;\n}) => {\n const detectedLanguage = detectLanguage(headers);\n const jsonContent = tryParseJson(body);\n const beautifiedBody = jsonContent || body;\n const [view, setView] = useState<\"formatted\" | \"raw\">(\n jsonContent ? \"formatted\" : \"raw\",\n );\n\n return (\n <div className=\"flex flex-col gap-2\">\n <Card className=\"shadow-none\">\n <SyntaxHighlight\n language={\n view === \"raw\" ? (jsonContent ? \"plain\" : detectedLanguage) : \"json\"\n }\n noBackground\n showLanguageIndicator\n className=\"overflow-x-auto p-4 text-xs\"\n code={view === \"raw\" ? body : beautifiedBody}\n />\n </Card>\n {jsonContent && (\n <div className=\"flex justify-end\">\n <SimpleSelect\n value={view}\n onChange={(e) => setView(e.target.value as \"formatted\" | \"raw\")}\n options={[\n { value: \"formatted\", label: \"Formatted\" },\n { value: \"raw\", label: \"Raw\" },\n ]}\n />\n </div>\n )}\n </div>\n );\n};\n","import { useMutation } from \"@tanstack/react-query\";\nimport { Fragment, useEffect, useRef } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useApiIdentities } from \"../../../components/context/ZudokuContext.js\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../../components/Select.js\";\nimport { Spinner } from \"../../../components/Spinner.js\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Card } from \"../../../ui/Card.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/Tabs.js\";\nimport { fetchTimeout } from \"../../../util/fetchTimeout.js\";\nimport { ColorizedParam } from \"../ColorizedParam.js\";\nimport { createUrl } from \"./createUrl.js\";\nimport { Headers } from \"./Headers.js\";\nimport { PathParams } from \"./PathParams.js\";\nimport { QueryParams } from \"./QueryParams.js\";\nimport { ResponseTab } from \"./ResponseTab.js\";\n\nexport const NO_IDENTITY = \"__none\";\n\nfunction mimeTypeToLanguage(mimeType: string) {\n const mimeTypeMapping = {\n \"application/json\": \"json\",\n \"text/json\": \"json\",\n \"text/html\": \"html\",\n \"text/css\": \"css\",\n \"text/javascript\": \"javascript\",\n \"application/xml\": \"xml\",\n \"application/xhtml+xml\": \"xhtml\",\n \"text/plain\": \"plain\",\n } as const;\n\n return Object.entries(mimeTypeMapping).find(([mime]) =>\n mimeType.includes(mime),\n )?.[1];\n}\n\nconst statusCodeMap: Record<number, string> = {\n 200: \"OK\",\n 201: \"Created\",\n 202: \"Accepted\",\n 204: \"No Content\",\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\",\n};\n\nexport type Header = {\n name: string;\n defaultValue?: string;\n};\nexport type QueryParam = {\n name: string;\n defaultValue?: string;\n defaultActive?: boolean;\n isRequired?: boolean;\n};\nexport type PathParam = {\n name: string;\n defaultValue?: string;\n isRequired?: boolean;\n};\n\nexport type PlaygroundForm = {\n body: string;\n queryParams: Array<{ name: string; value: string; active: boolean }>;\n pathParams: Array<{ name: string; value: string }>;\n headers: Array<{ name: string; value: string }>;\n identity?: string;\n};\n\nexport type PlaygroundContentProps = {\n server: string;\n url: string;\n method: string;\n headers?: Header[];\n queryParams?: QueryParam[];\n pathParams?: PathParam[];\n defaultBody?: string;\n};\n\nexport const Playground = ({\n server,\n url,\n method,\n headers = [],\n queryParams = [],\n pathParams = [],\n defaultBody = \"\",\n}: PlaygroundContentProps) => {\n const { register, control, handleSubmit, watch, setValue, ...form } =\n useForm<PlaygroundForm>({\n defaultValues: {\n body: defaultBody,\n queryParams: queryParams.map((param) => ({\n name: param.name,\n value: param.defaultValue ?? \"\",\n active: param.defaultActive ?? false,\n })),\n pathParams: pathParams.map((param) => ({\n name: param.name,\n value: param.defaultValue ?? \"\",\n })),\n headers: headers.map((header) => ({\n name: header.name,\n value: header.defaultValue ?? \"\",\n })),\n identity: NO_IDENTITY,\n },\n });\n const formState = watch();\n const identities = useApiIdentities();\n\n const setOnce = useRef(false);\n useEffect(() => {\n if (setOnce.current) return;\n const firstIdentity = identities.data?.at(0);\n if (firstIdentity) {\n setValue(\"identity\", firstIdentity.id);\n setOnce.current = true;\n }\n }, [setValue, identities.data]);\n\n const queryMutation = useMutation({\n mutationFn: async (data: PlaygroundForm) => {\n const requestUrl = createUrl(server, url, data);\n const start = performance.now();\n\n const request = new Request(requestUrl, {\n method: method.toUpperCase(),\n headers: Object.fromEntries(\n data.headers\n .filter((h) => h.name)\n .map((header) => [header.name, header.value]),\n ),\n });\n\n if (data.identity !== NO_IDENTITY) {\n identities.data\n ?.find((i) => i.id === data.identity)\n ?.authorizeRequest(request);\n }\n const response = await fetchTimeout(request);\n const time = performance.now() - start;\n\n const body = await response.text();\n\n return {\n status: response.status,\n headers: response.headers,\n size: body.length,\n body,\n time,\n };\n },\n });\n\n const path = url.split(\"/\").map((part, i, arr) => {\n const isPathParam = part.startsWith(\"{\") && part.endsWith(\"}\");\n const replaced = part.replace(/[{}]/g, \"\");\n const value = formState.pathParams.find((p) => p.name === replaced)?.value;\n\n const pathParamValue = value ? (\n <ColorizedParam backgroundOpacity=\"25%\" name={part} slug={part}>\n {encodeURIComponent(value)}\n </ColorizedParam>\n ) : (\n <span\n className=\"underline decoration-wavy decoration-red-500\"\n title={`Missing value for path parameter \\`${replaced}\\``}\n >\n {part}\n </span>\n );\n\n return (\n // eslint-disable-next-line react/no-array-index-key\n <Fragment key={part + i}>\n {isPathParam ? pathParamValue : part}\n {i < arr.length - 1 && \"/\"}\n <wbr />\n </Fragment>\n );\n });\n\n const lang = mimeTypeToLanguage(\n queryMutation.data?.headers.get(\"Content-Type\") ?? \"\",\n );\n\n const headerEntries = Array.from(queryMutation.data?.headers.entries() ?? []);\n\n const urlQueryParams = formState.queryParams\n .filter((p) => p.active)\n .map((p, i, arr) => (\n <Fragment key={p.name}>\n {p.name}={encodeURIComponent(p.value).replaceAll(\"%20\", \"+\")}\n {i < arr.length - 1 && \"&\"}\n <wbr />\n </Fragment>\n ));\n\n return (\n <FormProvider\n {...{ register, control, handleSubmit, watch, setValue, ...form }}\n >\n <form onSubmit={handleSubmit((data) => queryMutation.mutateAsync(data))}>\n <div className=\"grid grid-cols-2 text-sm h-full\">\n <div className=\"flex flex-col gap-4 p-8 bg-muted/50 after:bg-muted-foreground/20 relative after:absolute after:w-px after:inset-0 after:left-auto\">\n <div className=\"flex gap-2 items-stretch\">\n <div className=\"flex flex-1 items-center w-full border rounded-md\">\n <div className=\"border-r p-2 bg-muted rounded-l-md self-stretch font-semibold font-mono\">\n {method.toUpperCase()}\n </div>\n <div className=\"p-2 font-mono text-xs\">\n {path}\n {urlQueryParams.length > 0 ? \"?\" : \"\"}\n {urlQueryParams}\n </div>\n </div>\n <Button type=\"submit\" className=\"h-auto flex gap-1\">\n Send\n </Button>\n </div>\n <Tabs\n defaultValue={pathParams.length > 0 ? \"parameters\" : \"headers\"}\n >\n <div className=\"flex justify-between\">\n <TabsList>\n {queryParams.length + pathParams.length > 0 && (\n <TabsTrigger value=\"parameters\">Parameters</TabsTrigger>\n )}\n <TabsTrigger value=\"headers\">\n Headers{\" \"}\n {formState.headers.length > 0 &&\n `(${formState.headers.length})`}\n </TabsTrigger>\n <TabsTrigger\n value=\"body\"\n disabled={\n ![\"POST\", \"PUT\", \"PATCH\", \"DELETE\"].includes(\n method.toUpperCase(),\n )\n }\n >\n Body\n </TabsTrigger>\n </TabsList>\n <div className=\"flex gap-2 items-center\">\n Auth:\n <Select\n onValueChange={(value) => setValue(\"identity\", value)}\n value={formState.identity}\n defaultValue={formState.identity}\n >\n <SelectTrigger className=\"w-[180px] flex\">\n {identities.isPending ? <Spinner /> : <SelectValue />}\n </SelectTrigger>\n <SelectContent align=\"center\">\n <SelectItem value={NO_IDENTITY}>None</SelectItem>\n {identities.data?.map((identity) => (\n <SelectItem key={identity.id} value={identity.id}>\n {identity.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n </div>\n <TabsContent value=\"headers\">\n <Headers control={control} register={register} />\n </TabsContent>\n <TabsContent value=\"parameters\">\n {pathParams.length > 0 && (\n <div className=\"flex flex-col gap-4 my-4\">\n <span className=\"font-semibold\">Path Parameters</span>\n <PathParams control={control} />\n </div>\n )}\n {queryParams.length > 0 && (\n <div className=\"flex flex-col gap-4 my-4\">\n <span className=\"font-semibold\">Query Parameters</span>\n <QueryParams control={control} queryParams={queryParams} />\n </div>\n )}\n </TabsContent>\n <TabsContent value=\"body\">\n <textarea\n {...register(\"body\")}\n className=\"border w-full rounded p-2 bg-muted h-40\"\n />\n </TabsContent>\n </Tabs>\n </div>\n <div className=\"flex flex-col gap-4 p-8 bg-muted/70\">\n {queryMutation.error ? (\n <div>\n Error:{\" \"}\n {queryMutation.error.message ||\n String(queryMutation.error) ||\n \"Unexpected error\"}\n </div>\n ) : queryMutation.data ? (\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex gap-2\">\n <div className=\"flex text-xs gap-6\">\n <div>\n Status: {queryMutation.data.status}{\" \"}\n {statusCodeMap[queryMutation.data.status] ?? \"\"}\n </div>\n <div>Time: {queryMutation.data.time.toFixed(0)}ms</div>\n <div>Size: {queryMutation.data.size} B</div>\n </div>\n </div>\n {/*<UrlDisplay host={host} path={url} />*/}\n <Tabs defaultValue=\"response\">\n <TabsList>\n <TabsTrigger value=\"response\">Response</TabsTrigger>\n <TabsTrigger value=\"headers\">\n {headerEntries.length\n ? `Headers (${headerEntries.length})`\n : \"No headers\"}\n </TabsTrigger>\n </TabsList>\n\n <TabsContent value=\"response\">\n <ResponseTab\n headers={queryMutation.data.headers}\n body={queryMutation.data.body}\n />\n </TabsContent>\n <TabsContent value=\"headers\">\n <Card className=\"grid grid-cols-2 w-full gap-2.5 font-mono text-xs shadow-none p-4\">\n <div className=\"font-semibold\">Key</div>\n <div className=\"font-semibold\">Value</div>\n {headerEntries.map(([key, value]) => (\n <Fragment key={key}>\n <div>{key}</div>\n <div className=\"break-words\">{value}</div>\n </Fragment>\n ))}\n </Card>\n </TabsContent>\n </Tabs>\n </div>\n ) : (\n <div className=\"grid place-items-center h-full\">\n <span className=\"text-[16px] font-semibold text-muted-foreground\">\n {queryMutation.isPending ? (\n <Spinner />\n ) : (\n \"Send a request first to see the response here\"\n )}\n </span>\n </div>\n )}\n </div>\n </div>\n </form>\n </FormProvider>\n );\n};\n\nexport default Playground;\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { CirclePlayIcon } from \"lucide-react\";\nimport { type PropsWithChildren, useState } from \"react\";\nimport {\n Dialog,\n DialogContent,\n DialogTitle,\n DialogTrigger,\n} from \"../../../components/Dialog.js\";\nimport { Playground, type PlaygroundContentProps } from \"./Playground.js\";\n\nexport type PlaygroundDialogProps = PropsWithChildren<PlaygroundContentProps>;\n\nconst PlaygroundDialog = (props: PlaygroundDialogProps) => {\n const [open, setOpen] = useState(false);\n return (\n <Dialog onOpenChange={(open) => setOpen(open)}>\n <DialogTrigger asChild>\n {props.children ?? (\n <CirclePlayIcon\n className=\"cursor-pointer text-primary hover:text-primary/80\"\n size={16}\n />\n )}\n </DialogTrigger>\n\n <DialogContent\n className=\"max-w-screen-xl w-full h-5/6 overflow-auto p-0\"\n aria-describedby={undefined}\n >\n <VisuallyHidden>\n <DialogTitle>Playground</DialogTitle>\n </VisuallyHidden>\n {open && <Playground {...props} />}\n </DialogContent>\n </Dialog>\n );\n};\n\nexport { PlaygroundDialog };\n","// src/helpers/reducer.ts\nvar reducer = (accumulator, pair) => {\n const currentValue = accumulator[pair.name];\n if (currentValue === void 0) {\n accumulator[pair.name] = pair.value;\n return accumulator;\n }\n if (Array.isArray(currentValue)) {\n currentValue.push(pair.value);\n return accumulator;\n }\n accumulator[pair.name] = [currentValue, pair.value];\n return accumulator;\n};\n\nexport { reducer };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-7LT4AZED.js.map","// src/helpers/code-builder.ts\nvar DEFAULT_INDENTATION_CHARACTER = \"\";\nvar DEFAULT_LINE_JOIN = \"\\n\";\nvar CodeBuilder = class {\n /**\n * Helper object to format and aggragate lines of code.\n * Lines are aggregated in a `code` array, and need to be joined to obtain a proper code snippet.\n */\n constructor({ indent, join } = {}) {\n this.postProcessors = [];\n this.code = [];\n this.indentationCharacter = DEFAULT_INDENTATION_CHARACTER;\n this.lineJoin = DEFAULT_LINE_JOIN;\n /**\n * Add given indentation level to given line of code\n */\n this.indentLine = (line, indentationLevel = 0) => {\n const indent = this.indentationCharacter.repeat(indentationLevel);\n return `${indent}${line}`;\n };\n /**\n * Add the line at the beginning of the current lines\n */\n this.unshift = (line, indentationLevel) => {\n const newLine = this.indentLine(line, indentationLevel);\n this.code.unshift(newLine);\n };\n /**\n * Add the line at the end of the current lines\n */\n this.push = (line, indentationLevel) => {\n const newLine = this.indentLine(line, indentationLevel);\n this.code.push(newLine);\n };\n /**\n * Add an empty line at the end of current lines\n */\n this.blank = () => {\n this.code.push(\"\");\n };\n /**\n * Concatenate all current lines using the given lineJoin, then apply any replacers that may have been added\n */\n this.join = () => {\n const unreplacedCode = this.code.join(this.lineJoin);\n const replacedOutput = this.postProcessors.reduce((accumulator, replacer) => replacer(accumulator), unreplacedCode);\n return replacedOutput;\n };\n /**\n * Often when writing modules you may wish to add a literal tag or bit of metadata that you wish to transform after other processing as a final step.\n * To do so, you can provide a PostProcessor function and it will be run automatically for you when you call `join()` later on.\n */\n this.addPostProcessor = (postProcessor) => {\n this.postProcessors = [...this.postProcessors, postProcessor];\n };\n this.indentationCharacter = indent || DEFAULT_INDENTATION_CHARACTER;\n this.lineJoin = join ?? DEFAULT_LINE_JOIN;\n }\n};\n\nexport { CodeBuilder };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-UPA5TN5W.js.map","'use strict';\nmodule.exports = function (re) {\n\treturn Object.prototype.toString.call(re) === '[object RegExp]';\n};\n","'use strict';\nmodule.exports = function (x) {\n\tvar type = typeof x;\n\treturn x !== null && (type === 'object' || type === 'function');\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (object) => Object\n .getOwnPropertySymbols(object)\n .filter((keySymbol) => Object.prototype.propertyIsEnumerable.call(object, keySymbol));\n//# sourceMappingURL=index.js.map","'use strict';\nconst isRegexp = require('is-regexp');\nconst isObj = require('is-obj');\nconst getOwnEnumPropSymbols = require('get-own-enumerable-property-symbols').default;\n\nmodule.exports = (val, opts, pad) => {\n\tconst seen = [];\n\n\treturn (function stringify(val, opts, pad) {\n\t\topts = opts || {};\n\t\topts.indent = opts.indent || '\\t';\n\t\tpad = pad || '';\n\n\t\tlet tokens;\n\n\t\tif (opts.inlineCharacterLimit === undefined) {\n\t\t\ttokens = {\n\t\t\t\tnewLine: '\\n',\n\t\t\t\tnewLineOrSpace: '\\n',\n\t\t\t\tpad,\n\t\t\t\tindent: pad + opts.indent\n\t\t\t};\n\t\t} else {\n\t\t\ttokens = {\n\t\t\t\tnewLine: '@@__STRINGIFY_OBJECT_NEW_LINE__@@',\n\t\t\t\tnewLineOrSpace: '@@__STRINGIFY_OBJECT_NEW_LINE_OR_SPACE__@@',\n\t\t\t\tpad: '@@__STRINGIFY_OBJECT_PAD__@@',\n\t\t\t\tindent: '@@__STRINGIFY_OBJECT_INDENT__@@'\n\t\t\t};\n\t\t}\n\n\t\tconst expandWhiteSpace = string => {\n\t\t\tif (opts.inlineCharacterLimit === undefined) {\n\t\t\t\treturn string;\n\t\t\t}\n\n\t\t\tconst oneLined = string\n\t\t\t\t.replace(new RegExp(tokens.newLine, 'g'), '')\n\t\t\t\t.replace(new RegExp(tokens.newLineOrSpace, 'g'), ' ')\n\t\t\t\t.replace(new RegExp(tokens.pad + '|' + tokens.indent, 'g'), '');\n\n\t\t\tif (oneLined.length <= opts.inlineCharacterLimit) {\n\t\t\t\treturn oneLined;\n\t\t\t}\n\n\t\t\treturn string\n\t\t\t\t.replace(new RegExp(tokens.newLine + '|' + tokens.newLineOrSpace, 'g'), '\\n')\n\t\t\t\t.replace(new RegExp(tokens.pad, 'g'), pad)\n\t\t\t\t.replace(new RegExp(tokens.indent, 'g'), pad + opts.indent);\n\t\t};\n\n\t\tif (seen.indexOf(val) !== -1) {\n\t\t\treturn '\"[Circular]\"';\n\t\t}\n\n\t\tif (val === null ||\n\t\t\tval === undefined ||\n\t\t\ttypeof val === 'number' ||\n\t\t\ttypeof val === 'boolean' ||\n\t\t\ttypeof val === 'function' ||\n\t\t\ttypeof val === 'symbol' ||\n\t\t\tisRegexp(val)) {\n\t\t\treturn String(val);\n\t\t}\n\n\t\tif (val instanceof Date) {\n\t\t\treturn `new Date('${val.toISOString()}')`;\n\t\t}\n\n\t\tif (Array.isArray(val)) {\n\t\t\tif (val.length === 0) {\n\t\t\t\treturn '[]';\n\t\t\t}\n\n\t\t\tseen.push(val);\n\n\t\t\tconst ret = '[' + tokens.newLine + val.map((el, i) => {\n\t\t\t\tconst eol = val.length - 1 === i ? tokens.newLine : ',' + tokens.newLineOrSpace;\n\t\t\t\tlet value = stringify(el, opts, pad + opts.indent);\n\t\t\t\tif (opts.transform) {\n\t\t\t\t\tvalue = opts.transform(val, i, value);\n\t\t\t\t}\n\t\t\t\treturn tokens.indent + value + eol;\n\t\t\t}).join('') + tokens.pad + ']';\n\n\t\t\tseen.pop();\n\n\t\t\treturn expandWhiteSpace(ret);\n\t\t}\n\n\t\tif (isObj(val)) {\n\t\t\tlet objKeys = Object.keys(val).concat(getOwnEnumPropSymbols(val));\n\n\t\t\tif (opts.filter) {\n\t\t\t\tobjKeys = objKeys.filter(el => opts.filter(val, el));\n\t\t\t}\n\n\t\t\tif (objKeys.length === 0) {\n\t\t\t\treturn '{}';\n\t\t\t}\n\n\t\t\tseen.push(val);\n\n\t\t\tconst ret = '{' + tokens.newLine + objKeys.map((el, i) => {\n\t\t\t\tconst eol = objKeys.length - 1 === i ? tokens.newLine : ',' + tokens.newLineOrSpace;\n\t\t\t\tconst isSymbol = typeof el === 'symbol';\n\t\t\t\tconst isClassic = !isSymbol && /^[a-z$_][a-z$_0-9]*$/i.test(el);\n\t\t\t\tconst key = isSymbol || isClassic ? el : stringify(el, opts);\n\t\t\t\tlet value = stringify(val[el], opts, pad + opts.indent);\n\t\t\t\tif (opts.transform) {\n\t\t\t\t\tvalue = opts.transform(val, el, value);\n\t\t\t\t}\n\t\t\t\treturn tokens.indent + String(key) + ': ' + value + eol;\n\t\t\t}).join('') + tokens.pad + '}';\n\n\t\t\tseen.pop();\n\n\t\t\treturn expandWhiteSpace(ret);\n\t\t}\n\n\t\tval = String(val).replace(/[\\r\\n]/g, x => x === '\\n' ? '\\\\n' : '\\\\r');\n\n\t\tif (opts.singleQuotes === false) {\n\t\t\tval = val.replace(/\"/g, '\\\\\"');\n\t\t\treturn `\"${val}\"`;\n\t\t}\n\n\t\tval = val.replace(/\\\\?'/g, '\\\\\\'');\n\t\treturn `'${val}'`;\n\t})(val, opts, pad);\n};\n","import { CodeBuilder } from './chunk-UPA5TN5W.js';\nimport stringifyObject9 from 'stringify-object';\n\n// src/helpers/escape.ts\nfunction escapeString(rawValue, options = {}) {\n const { delimiter = '\"', escapeChar = \"\\\\\", escapeNewlines = true } = options;\n const stringValue = rawValue.toString();\n return [...stringValue].map((c2) => {\n if (c2 === \"\\b\") {\n return `${escapeChar}b`;\n } else if (c2 === \"\t\") {\n return `${escapeChar}t`;\n } else if (c2 === \"\\n\") {\n if (escapeNewlines) {\n return `${escapeChar}n`;\n }\n return c2;\n } else if (c2 === \"\\f\") {\n return `${escapeChar}f`;\n } else if (c2 === \"\\r\") {\n if (escapeNewlines) {\n return `${escapeChar}r`;\n }\n return c2;\n } else if (c2 === escapeChar) {\n return escapeChar + escapeChar;\n } else if (c2 === delimiter) {\n return escapeChar + delimiter;\n } else if (c2 < \" \" || c2 > \"~\") {\n return JSON.stringify(c2).slice(1, -1);\n }\n return c2;\n }).join(\"\");\n}\nvar escapeForSingleQuotes = (value) => escapeString(value, { delimiter: \"'\" });\nvar escapeForDoubleQuotes = (value) => escapeString(value, { delimiter: '\"' });\n\n// src/targets/c/libcurl/client.ts\nvar libcurl = {\n info: {\n key: \"libcurl\",\n title: \"Libcurl\",\n link: \"http://curl.haxx.se/libcurl\",\n description: \"Simple REST and HTTP API Client for C\",\n extname: \".c\"\n },\n convert: ({ method, fullUrl, headersObj, allHeaders, postData }) => {\n const { push, blank, join } = new CodeBuilder();\n push(\"CURL *hnd = curl_easy_init();\");\n blank();\n push(`curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, \"${method.toUpperCase()}\");`);\n push(\"curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);\");\n push(`curl_easy_setopt(hnd, CURLOPT_URL, \"${fullUrl}\");`);\n const headers = Object.keys(headersObj);\n if (headers.length) {\n blank();\n push(\"struct curl_slist *headers = NULL;\");\n headers.forEach((header) => {\n push(`headers = curl_slist_append(headers, \"${header}: ${escapeForDoubleQuotes(headersObj[header])}\");`);\n });\n push(\"curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);\");\n }\n if (allHeaders.cookie) {\n blank();\n push(`curl_easy_setopt(hnd, CURLOPT_COOKIE, \"${allHeaders.cookie}\");`);\n }\n if (postData.text) {\n blank();\n push(`curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, ${JSON.stringify(postData.text)});`);\n }\n blank();\n push(\"CURLcode ret = curl_easy_perform(hnd);\");\n return join();\n }\n};\n\n// src/targets/c/target.ts\nvar c = {\n info: {\n key: \"c\",\n title: \"C\",\n default: \"libcurl\",\n cli: \"c\"\n },\n clientsById: {\n libcurl\n }\n};\n\n// src/helpers/headers.ts\nvar getHeaderName = (headers, name) => Object.keys(headers).find((header) => header.toLowerCase() === name.toLowerCase());\nvar getHeader = (headers, name) => {\n const headerName = getHeaderName(headers, name);\n if (!headerName) {\n return void 0;\n }\n return headers[headerName];\n};\nvar hasHeader = (headers, name) => Boolean(getHeaderName(headers, name));\nvar isMimeTypeJSON = (mimeType) => [\"application/json\", \"application/x-json\", \"text/json\", \"text/x-json\", \"+json\"].some(\n (type) => mimeType.indexOf(type) > -1\n);\n\n// src/targets/clojure/clj_http/client.ts\nvar Keyword = class {\n constructor(name) {\n this.name = \"\";\n this.toString = () => `:${this.name}`;\n this.name = name;\n }\n};\nvar File = class {\n constructor(path) {\n this.path = \"\";\n this.toString = () => `(clojure.java.io/file \"${this.path}\")`;\n this.path = path;\n }\n};\nvar jsType = (input) => {\n if (input === void 0) {\n return null;\n }\n if (input === null) {\n return \"null\";\n }\n return input.constructor.name.toLowerCase();\n};\nvar objEmpty = (input) => {\n if (input === void 0) {\n return true;\n } else if (jsType(input) === \"object\") {\n return Object.keys(input).length === 0;\n }\n return false;\n};\nvar filterEmpty = (input) => {\n Object.keys(input).filter((x) => objEmpty(input[x])).forEach((x) => {\n delete input[x];\n });\n return input;\n};\nvar padBlock = (padSize, input) => {\n const padding = \" \".repeat(padSize);\n return input.replace(/\\n/g, `\n${padding}`);\n};\nvar jsToEdn = (js) => {\n switch (jsType(js)) {\n case \"string\":\n return `\"${js.replace(/\"/g, '\\\\\"')}\"`;\n case \"file\":\n return js.toString();\n case \"keyword\":\n return js.toString();\n case \"null\":\n return \"nil\";\n case \"regexp\":\n return `#\"${js.source}\"`;\n case \"object\": {\n const obj = Object.keys(js).reduce((accumulator, key) => {\n const val = padBlock(key.length + 2, jsToEdn(js[key]));\n return `${accumulator}:${key} ${val}\n `;\n }, \"\").trim();\n return `{${padBlock(1, obj)}}`;\n }\n case \"array\": {\n const arr = js.reduce((accumulator, value) => `${accumulator} ${jsToEdn(value)}`, \"\").trim();\n return `[${padBlock(1, arr)}]`;\n }\n default:\n return js.toString();\n }\n};\nvar clj_http = {\n info: {\n key: \"clj_http\",\n title: \"clj-http\",\n link: \"https://github.com/dakrone/clj-http\",\n description: \"An idiomatic clojure http client wrapping the apache client.\",\n extname: \".clj\"\n },\n convert: ({ queryObj, method, postData, url, allHeaders }, options) => {\n const { push, join } = new CodeBuilder({ indent: options?.indent });\n const methods = [\"get\", \"post\", \"put\", \"delete\", \"patch\", \"head\", \"options\"];\n method = method.toLowerCase();\n if (!methods.includes(method)) {\n push(\"Method not supported\");\n return join();\n }\n const params2 = {\n headers: allHeaders,\n \"query-params\": queryObj\n };\n switch (postData.mimeType) {\n case \"application/json\":\n {\n params2[\"content-type\"] = new Keyword(\"json\");\n params2[\"form-params\"] = postData.jsonObj;\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n case \"application/x-www-form-urlencoded\":\n {\n params2[\"form-params\"] = postData.paramsObj;\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n case \"text/plain\":\n {\n params2.body = postData.text;\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n case \"multipart/form-data\": {\n if (postData.params) {\n params2.multipart = postData.params.map((param) => {\n if (param.fileName && !param.value) {\n return {\n name: param.name,\n content: new File(param.fileName)\n };\n }\n return {\n name: param.name,\n content: param.value\n };\n });\n const header = getHeaderName(params2.headers, \"content-type\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n }\n }\n switch (getHeader(params2.headers, \"accept\")) {\n case \"application/json\":\n {\n params2.accept = new Keyword(\"json\");\n const header = getHeaderName(params2.headers, \"accept\");\n if (header) {\n delete params2.headers[header];\n }\n }\n break;\n }\n push(\"(require '[clj-http.client :as client])\\n\");\n if (objEmpty(filterEmpty(params2))) {\n push(`(client/${method} \"${url}\")`);\n } else {\n const padding = 11 + method.length + url.length;\n const formattedParams = padBlock(padding, jsToEdn(filterEmpty(params2)));\n push(`(client/${method} \"${url}\" ${formattedParams})`);\n }\n return join();\n }\n};\n\n// src/targets/clojure/target.ts\nvar clojure = {\n info: {\n key: \"clojure\",\n title: \"Clojure\",\n default: \"clj_http\"\n },\n clientsById: {\n clj_http\n }\n};\n\n// src/targets/csharp/httpclient/client.ts\nvar getDecompressionMethods = (allHeaders) => {\n let acceptEncodings = getHeader(allHeaders, \"accept-encoding\");\n if (!acceptEncodings) {\n return [];\n }\n const supportedMethods2 = {\n gzip: \"DecompressionMethods.GZip\",\n deflate: \"DecompressionMethods.Deflate\"\n };\n const methods = [];\n if (typeof acceptEncodings === \"string\") {\n acceptEncodings = [acceptEncodings];\n }\n acceptEncodings.forEach((acceptEncoding) => {\n acceptEncoding.split(\",\").forEach((encoding) => {\n const match = /\\s*([^;\\s]+)/.exec(encoding);\n if (match) {\n const method = supportedMethods2[match[1]];\n if (method) {\n methods.push(method);\n }\n }\n });\n });\n return methods;\n};\nvar httpclient = {\n info: {\n key: \"httpclient\",\n title: \"HttpClient\",\n link: \"https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient\",\n description: \".NET Standard HTTP Client\",\n extname: \".cs\"\n },\n convert: ({ allHeaders, postData, method, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { push, join } = new CodeBuilder({ indent: opts.indent });\n push(\"using System.Net.Http.Headers;\");\n let clienthandler = \"\";\n const cookies = Boolean(allHeaders.cookie);\n const decompressionMethods = getDecompressionMethods(allHeaders);\n if (cookies || decompressionMethods.length) {\n clienthandler = \"clientHandler\";\n push(\"var clientHandler = new HttpClientHandler\");\n push(\"{\");\n if (cookies) {\n push(\"UseCookies = false,\", 1);\n }\n if (decompressionMethods.length) {\n push(`AutomaticDecompression = ${decompressionMethods.join(\" | \")},`, 1);\n }\n push(\"};\");\n }\n push(`var client = new HttpClient(${clienthandler});`);\n push(\"var request = new HttpRequestMessage\");\n push(\"{\");\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\", \"TRACE\"];\n method = method.toUpperCase();\n if (method && methods.includes(method)) {\n method = `HttpMethod.${method[0]}${method.substring(1).toLowerCase()}`;\n } else {\n method = `new HttpMethod(\"${method}\")`;\n }\n push(`Method = ${method},`, 1);\n push(`RequestUri = new Uri(\"${fullUrl}\"),`, 1);\n const headers = Object.keys(allHeaders).filter((header) => {\n switch (header.toLowerCase()) {\n case \"content-type\":\n case \"content-length\":\n case \"accept-encoding\":\n return false;\n default:\n return true;\n }\n });\n if (headers.length) {\n push(\"Headers =\", 1);\n push(\"{\", 1);\n headers.forEach((key) => {\n push(`{ \"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\" },`, 2);\n });\n push(\"},\", 1);\n }\n if (postData.text) {\n const contentType = postData.mimeType;\n switch (contentType) {\n case \"application/x-www-form-urlencoded\":\n push(\"Content = new FormUrlEncodedContent(new Dictionary<string, string>\", 1);\n push(\"{\", 1);\n postData.params?.forEach((param) => {\n push(`{ \"${param.name}\", \"${param.value}\" },`, 2);\n });\n push(\"}),\", 1);\n break;\n case \"multipart/form-data\":\n push(\"Content = new MultipartFormDataContent\", 1);\n push(\"{\", 1);\n postData.params?.forEach((param) => {\n push(`new StringContent(${JSON.stringify(param.value || \"\")})`, 2);\n push(\"{\", 2);\n push(\"Headers =\", 3);\n push(\"{\", 3);\n if (param.contentType) {\n push(`ContentType = new MediaTypeHeaderValue(\"${param.contentType}\"),`, 4);\n }\n push('ContentDisposition = new ContentDispositionHeaderValue(\"form-data\")', 4);\n push(\"{\", 4);\n push(`Name = \"${param.name}\",`, 5);\n if (param.fileName) {\n push(`FileName = \"${param.fileName}\",`, 5);\n }\n push(\"}\", 4);\n push(\"}\", 3);\n push(\"},\", 2);\n });\n push(\"},\", 1);\n break;\n default:\n push(`Content = new StringContent(${JSON.stringify(postData.text || \"\")})`, 1);\n push(\"{\", 1);\n push(\"Headers =\", 2);\n push(\"{\", 2);\n push(`ContentType = new MediaTypeHeaderValue(\"${contentType}\")`, 3);\n push(\"}\", 2);\n push(\"}\", 1);\n break;\n }\n }\n push(\"};\");\n push(\"using (var response = await client.SendAsync(request))\");\n push(\"{\");\n push(\"response.EnsureSuccessStatusCode();\", 1);\n push(\"var body = await response.Content.ReadAsStringAsync();\", 1);\n push(\"Console.WriteLine(body);\", 1);\n push(\"}\");\n return join();\n }\n};\n\n// src/targets/csharp/restsharp/client.ts\nfunction title(s) {\n return s[0].toUpperCase() + s.slice(1).toLowerCase();\n}\nvar restsharp = {\n info: {\n key: \"restsharp\",\n title: \"RestSharp\",\n link: \"http://restsharp.org/\",\n description: \"Simple REST and HTTP API Client for .NET\",\n extname: \".cs\",\n installation: \"dotnet add package RestSharp\"\n },\n convert: ({ method, fullUrl, headersObj, cookies, postData, uriObj }) => {\n const { push, join } = new CodeBuilder();\n const isSupportedMethod = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\"].includes(\n method.toUpperCase()\n );\n if (!isSupportedMethod) {\n return \"Method not supported\";\n }\n push(\"using RestSharp;\\n\\n\");\n push(`var options = new RestClientOptions(\"${fullUrl}\");`);\n push(\"var client = new RestClient(options);\");\n push('var request = new RestRequest(\"\");');\n const isMultipart = postData.mimeType && postData.mimeType === \"multipart/form-data\";\n if (isMultipart) {\n push(\"request.AlwaysMultipartFormData = true;\");\n }\n Object.keys(headersObj).forEach((key) => {\n if (postData.mimeType && key.toLowerCase() === \"content-type\" && postData.text) {\n if (isMultipart && postData.boundary) {\n push(`request.FormBoundary = \"${postData.boundary}\";`);\n }\n return;\n }\n push(`request.AddHeader(\"${key}\", \"${escapeForDoubleQuotes(headersObj[key])}\");`);\n });\n cookies.forEach(({ name, value }) => {\n push(`request.AddCookie(\"${name}\", \"${escapeForDoubleQuotes(value)}\", \"${uriObj.pathname}\", \"${uriObj.host}\");`);\n });\n switch (postData.mimeType) {\n case \"multipart/form-data\":\n if (!postData.params) break;\n postData.params.forEach((param) => {\n if (param.fileName) {\n push(`request.AddFile(\"${param.name}\", \"${param.fileName}\");`);\n } else {\n push(`request.AddParameter(\"${param.name}\", \"${param.value}\");`);\n }\n });\n break;\n case \"application/x-www-form-urlencoded\":\n if (!postData.params) break;\n postData.params.forEach((param) => {\n push(`request.AddParameter(\"${param.name}\", \"${param.value}\");`);\n });\n break;\n case \"application/json\": {\n if (!postData.text) break;\n const text = JSON.stringify(postData.text);\n push(`request.AddJsonBody(${text}, false);`);\n break;\n }\n default:\n if (!postData.text) break;\n push(`request.AddStringBody(\"${postData.text}\", \"${postData.mimeType}\");`);\n }\n push(`var response = await client.${title(method)}Async(request);\n`);\n push('Console.WriteLine(\"{0}\", response.Content);\\n');\n return join();\n }\n};\n\n// src/targets/csharp/target.ts\nvar csharp = {\n info: {\n key: \"csharp\",\n title: \"C#\",\n default: \"restsharp\",\n cli: \"dotnet\"\n },\n clientsById: {\n httpclient,\n restsharp\n }\n};\n\n// src/targets/go/native/client.ts\nvar native = {\n info: {\n key: \"native\",\n title: \"NewRequest\",\n link: \"http://golang.org/pkg/net/http/#NewRequest\",\n description: \"Golang HTTP client request\",\n extname: \".go\"\n },\n convert: ({ postData, method, allHeaders, fullUrl }, options = {}) => {\n const { blank, push, join } = new CodeBuilder({ indent: \"\t\" });\n const { showBoilerplate = true, checkErrors = false, printBody = true, timeout = -1 } = options;\n const errorPlaceholder = checkErrors ? \"err\" : \"_\";\n const indent = showBoilerplate ? 1 : 0;\n const errorCheck = () => {\n if (checkErrors) {\n push(\"if err != nil {\", indent);\n push(\"panic(err)\", indent + 1);\n push(\"}\", indent);\n }\n };\n if (showBoilerplate) {\n push(\"package main\");\n blank();\n push(\"import (\");\n push('\"fmt\"', indent);\n if (timeout > 0) {\n push('\"time\"', indent);\n }\n if (postData.text) {\n push('\"strings\"', indent);\n }\n push('\"net/http\"', indent);\n if (printBody) {\n push('\"io\"', indent);\n }\n push(\")\");\n blank();\n push(\"func main() {\");\n blank();\n }\n const hasTimeout = timeout > 0;\n const hasClient = hasTimeout;\n const client = hasClient ? \"client\" : \"http.DefaultClient\";\n if (hasClient) {\n push(\"client := http.Client{\", indent);\n if (hasTimeout) {\n push(`Timeout: time.Duration(${timeout} * time.Second),`, indent + 1);\n }\n push(\"}\", indent);\n blank();\n }\n push(`url := \"${fullUrl}\"`, indent);\n blank();\n if (postData.text) {\n push(`payload := strings.NewReader(${JSON.stringify(postData.text)})`, indent);\n blank();\n push(`req, ${errorPlaceholder} := http.NewRequest(\"${method}\", url, payload)`, indent);\n blank();\n } else {\n push(`req, ${errorPlaceholder} := http.NewRequest(\"${method}\", url, nil)`, indent);\n blank();\n }\n errorCheck();\n if (Object.keys(allHeaders).length) {\n Object.keys(allHeaders).forEach((key) => {\n push(`req.Header.Add(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, indent);\n });\n blank();\n }\n push(`res, ${errorPlaceholder} := ${client}.Do(req)`, indent);\n errorCheck();\n if (printBody) {\n blank();\n push(\"defer res.Body.Close()\", indent);\n push(`body, ${errorPlaceholder} := io.ReadAll(res.Body)`, indent);\n errorCheck();\n }\n blank();\n if (printBody) {\n push(\"fmt.Println(string(body))\", indent);\n }\n if (showBoilerplate) {\n blank();\n push(\"}\");\n }\n return join();\n }\n};\n\n// src/targets/go/target.ts\nvar go = {\n info: {\n key: \"go\",\n title: \"Go\",\n default: \"native\",\n cli: \"go\"\n },\n clientsById: {\n native\n }\n};\n\n// src/targets/http/http1.1/client.ts\nvar CRLF = \"\\r\\n\";\nvar http11 = {\n info: {\n key: \"http1.1\",\n title: \"HTTP/1.1\",\n link: \"https://tools.ietf.org/html/rfc7230\",\n description: \"HTTP/1.1 request string in accordance with RFC 7230\",\n extname: null\n },\n convert: ({ method, fullUrl, uriObj, httpVersion, allHeaders, postData }, options) => {\n const opts = {\n absoluteURI: false,\n autoContentLength: true,\n autoHost: true,\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: \"\", join: CRLF });\n const requestUrl = opts.absoluteURI ? fullUrl : uriObj.path;\n push(`${method} ${requestUrl} ${httpVersion}`);\n const headerKeys = Object.keys(allHeaders);\n headerKeys.forEach((key) => {\n const keyCapitalized = key.toLowerCase().replace(/(^|-)(\\w)/g, (input) => input.toUpperCase());\n push(`${keyCapitalized}: ${allHeaders[key]}`);\n });\n if (opts.autoHost && !headerKeys.includes(\"host\")) {\n push(`Host: ${uriObj.host}`);\n }\n if (opts.autoContentLength && postData.text && !headerKeys.includes(\"content-length\")) {\n const encoder = new TextEncoder();\n const length = encoder.encode(postData.text).length.toString();\n push(`Content-Length: ${length}`);\n }\n blank();\n const headerSection = join();\n const messageBody = postData.text || \"\";\n return `${headerSection}${CRLF}${messageBody}`;\n }\n};\n\n// src/targets/http/target.ts\nvar http = {\n info: {\n key: \"http\",\n title: \"HTTP\",\n default: \"http1.1\"\n },\n clientsById: {\n \"http1.1\": http11\n }\n};\n\n// src/targets/java/asynchttp/client.ts\nvar asynchttp = {\n info: {\n key: \"asynchttp\",\n title: \"AsyncHttp\",\n link: \"https://github.com/AsyncHttpClient/async-http-client\",\n description: \"Asynchronous Http and WebSocket Client library for Java\",\n extname: \".java\"\n },\n convert: ({ method, allHeaders, postData, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: opts.indent });\n push(\"AsyncHttpClient client = new DefaultAsyncHttpClient();\");\n push(`client.prepare(\"${method.toUpperCase()}\", \"${fullUrl}\")`);\n Object.keys(allHeaders).forEach((key) => {\n push(`.setHeader(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n if (postData.text) {\n push(`.setBody(${JSON.stringify(postData.text)})`, 1);\n }\n push(\".execute()\", 1);\n push(\".toCompletableFuture()\", 1);\n push(\".thenAccept(System.out::println)\", 1);\n push(\".join();\", 1);\n blank();\n push(\"client.close();\");\n return join();\n }\n};\n\n// src/targets/java/nethttp/client.ts\nvar nethttp = {\n info: {\n key: \"nethttp\",\n title: \"java.net.http\",\n link: \"https://openjdk.java.net/groups/net/httpclient/intro.html\",\n description: \"Java Standardized HTTP Client API\",\n extname: \".java\"\n },\n convert: ({ allHeaders, fullUrl, method, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { push, join } = new CodeBuilder({ indent: opts.indent });\n push(\"HttpRequest request = HttpRequest.newBuilder()\");\n push(`.uri(URI.create(\"${fullUrl}\"))`, 2);\n Object.keys(allHeaders).forEach((key) => {\n push(`.header(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 2);\n });\n if (postData.text) {\n push(\n `.method(\"${method.toUpperCase()}\", HttpRequest.BodyPublishers.ofString(${JSON.stringify(postData.text)}))`,\n 2\n );\n } else {\n push(`.method(\"${method.toUpperCase()}\", HttpRequest.BodyPublishers.noBody())`, 2);\n }\n push(\".build();\", 2);\n push(\n \"HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());\"\n );\n push(\"System.out.println(response.body());\");\n return join();\n }\n};\n\n// src/targets/java/okhttp/client.ts\nvar okhttp = {\n info: {\n key: \"okhttp\",\n title: \"OkHttp\",\n link: \"http://square.github.io/okhttp/\",\n description: \"An HTTP Request Client Library\",\n extname: \".java\"\n },\n convert: ({ postData, method, fullUrl, allHeaders }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\"];\n const methodsWithBody = [\"POST\", \"PUT\", \"DELETE\", \"PATCH\"];\n push(\"OkHttpClient client = new OkHttpClient();\");\n blank();\n if (postData.text) {\n if (postData.boundary) {\n push(`MediaType mediaType = MediaType.parse(\"${postData.mimeType}; boundary=${postData.boundary}\");`);\n } else {\n push(`MediaType mediaType = MediaType.parse(\"${postData.mimeType}\");`);\n }\n push(`RequestBody body = RequestBody.create(mediaType, ${JSON.stringify(postData.text)});`);\n }\n push(\"Request request = new Request.Builder()\");\n push(`.url(\"${fullUrl}\")`, 1);\n if (!methods.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.method(\"${method.toUpperCase()}\", body)`, 1);\n } else {\n push(`.method(\"${method.toUpperCase()}\", null)`, 1);\n }\n } else if (methodsWithBody.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.${method.toLowerCase()}(body)`, 1);\n } else {\n push(`.${method.toLowerCase()}(null)`, 1);\n }\n } else {\n push(`.${method.toLowerCase()}()`, 1);\n }\n Object.keys(allHeaders).forEach((key) => {\n push(`.addHeader(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n push(\".build();\", 1);\n blank();\n push(\"Response response = client.newCall(request).execute();\");\n return join();\n }\n};\n\n// src/targets/java/unirest/client.ts\nvar unirest = {\n info: {\n key: \"unirest\",\n title: \"Unirest\",\n link: \"http://unirest.io/java.html\",\n description: \"Lightweight HTTP Request Client Library\",\n extname: \".java\"\n },\n convert: ({ method, allHeaders, postData, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { join, push } = new CodeBuilder({ indent: opts.indent });\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\"];\n if (!methods.includes(method.toUpperCase())) {\n push(`HttpResponse<String> response = Unirest.customMethod(\"${method.toUpperCase()}\",\"${fullUrl}\")`);\n } else {\n push(`HttpResponse<String> response = Unirest.${method.toLowerCase()}(\"${fullUrl}\")`);\n }\n Object.keys(allHeaders).forEach((key) => {\n push(`.header(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n if (postData.text) {\n push(`.body(${JSON.stringify(postData.text)})`, 1);\n }\n push(\".asString();\", 1);\n return join();\n }\n};\n\n// src/targets/java/target.ts\nvar java = {\n info: {\n key: \"java\",\n title: \"Java\",\n default: \"unirest\"\n },\n clientsById: {\n asynchttp,\n nethttp,\n okhttp,\n unirest\n }\n};\nvar axios = {\n info: {\n key: \"axios\",\n title: \"Axios\",\n link: \"https://github.com/axios/axios\",\n description: \"Promise based HTTP client for the browser and node.js\",\n extname: \".js\",\n installation: \"npm install axios --save\"\n },\n convert: ({ allHeaders, method, url, queryObj, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, push, join, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"import axios from 'axios';\");\n blank();\n const requestOptions = {\n method,\n url\n };\n if (Object.keys(queryObj).length) {\n requestOptions.params = queryObj;\n }\n if (Object.keys(allHeaders).length) {\n requestOptions.headers = allHeaders;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params) {\n push(\"const encodedParams = new URLSearchParams();\");\n postData.params.forEach((param) => {\n push(`encodedParams.set('${param.name}', '${param.value}');`);\n });\n blank();\n requestOptions.data = \"encodedParams,\";\n addPostProcessor((code) => code.replace(/'encodedParams,'/, \"encodedParams,\"));\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n requestOptions.data = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n push(\"const form = new FormData();\");\n postData.params.forEach((param) => {\n push(`form.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n blank();\n requestOptions.data = \"[form]\";\n break;\n default:\n if (postData.text) {\n requestOptions.data = postData.text;\n }\n }\n const optionString = stringifyObject9(requestOptions, {\n indent: \" \",\n inlineCharacterLimit: 80\n }).replace('\"[form]\"', \"form\");\n push(`const options = ${optionString};`);\n blank();\n push(\"axios\");\n push(\".request(options)\", 1);\n push(\".then(function (response) {\", 1);\n push(\"console.log(response.data);\", 2);\n push(\"})\", 1);\n push(\".catch(function (error) {\", 1);\n push(\"console.error(error);\", 2);\n push(\"});\", 1);\n return join();\n }\n};\nvar fetch = {\n info: {\n key: \"fetch\",\n title: \"fetch\",\n link: \"https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch\",\n description: \"Perform asynchronous HTTP requests with the Fetch API\",\n extname: \".js\"\n },\n convert: ({ method, allHeaders, postData, fullUrl }, inputOpts) => {\n const opts = {\n indent: \" \",\n credentials: null,\n ...inputOpts\n };\n const { blank, join, push } = new CodeBuilder({ indent: opts.indent });\n const options = {\n method\n };\n if (Object.keys(allHeaders).length) {\n options.headers = allHeaders;\n }\n if (opts.credentials !== null) {\n options.credentials = opts.credentials;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n options.body = postData.paramsObj ? postData.paramsObj : postData.text;\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n options.body = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n const contentTypeHeader = getHeaderName(allHeaders, \"content-type\");\n if (contentTypeHeader) {\n delete allHeaders[contentTypeHeader];\n }\n push(\"const form = new FormData();\");\n postData.params.forEach((param) => {\n push(`form.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n blank();\n break;\n default:\n if (postData.text) {\n options.body = postData.text;\n }\n }\n if (options.headers && !Object.keys(options.headers).length) {\n delete options.headers;\n }\n push(\n `const options = ${stringifyObject9(options, {\n indent: opts.indent,\n inlineCharacterLimit: 80,\n // The Fetch API body only accepts string parameters, but stringified JSON can be difficult\n // to read, so we keep the object as a literal and use this transform function to wrap the\n // literal in a `JSON.stringify` call.\n transform: (object, property, originalResult) => {\n if (property === \"body\") {\n if (postData.mimeType === \"application/x-www-form-urlencoded\") {\n return `new URLSearchParams(${originalResult})`;\n } else if (postData.mimeType === \"application/json\") {\n return `JSON.stringify(${originalResult})`;\n }\n }\n return originalResult;\n }\n })};`\n );\n blank();\n if (postData.params && postData.mimeType === \"multipart/form-data\") {\n push(\"options.body = form;\");\n blank();\n }\n push(`fetch('${fullUrl}', options)`);\n push(\".then(response => response.json())\", 1);\n push(\".then(response => console.log(response))\", 1);\n push(\".catch(err => console.error(err));\", 1);\n return join();\n }\n};\nvar jquery = {\n info: {\n key: \"jquery\",\n title: \"jQuery\",\n link: \"http://api.jquery.com/jquery.ajax/\",\n description: \"Perform an asynchronous HTTP (Ajax) requests with jQuery\",\n extname: \".js\"\n },\n convert: ({ fullUrl, method, allHeaders, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: opts.indent });\n const settings = {\n async: true,\n crossDomain: true,\n url: fullUrl,\n method,\n headers: allHeaders\n };\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n settings.data = postData.paramsObj ? postData.paramsObj : postData.text;\n break;\n case \"application/json\":\n settings.processData = false;\n settings.data = postData.text;\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n push(\"const form = new FormData();\");\n postData.params.forEach((param) => {\n push(`form.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n settings.processData = false;\n settings.contentType = false;\n settings.mimeType = \"multipart/form-data\";\n settings.data = \"[form]\";\n if (hasHeader(allHeaders, \"content-type\")) {\n if (getHeader(allHeaders, \"content-type\")?.includes(\"boundary\")) {\n const headerName = getHeaderName(allHeaders, \"content-type\");\n if (headerName) {\n delete settings.headers[headerName];\n }\n }\n }\n blank();\n break;\n default:\n if (postData.text) {\n settings.data = postData.text;\n }\n }\n const stringifiedSettings = stringifyObject9(settings, { indent: opts.indent }).replace(\"'[form]'\", \"form\");\n push(`const settings = ${stringifiedSettings};`);\n blank();\n push(\"$.ajax(settings).done(function (response) {\");\n push(\"console.log(response);\", 1);\n push(\"});\");\n return join();\n }\n};\nvar xhr = {\n info: {\n key: \"xhr\",\n title: \"XMLHttpRequest\",\n link: \"https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest\",\n description: \"W3C Standard API that provides scripted client functionality\",\n extname: \".js\"\n },\n convert: ({ postData, allHeaders, method, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n cors: true,\n ...options\n };\n const { blank, push, join } = new CodeBuilder({ indent: opts.indent });\n switch (postData.mimeType) {\n case \"application/json\":\n push(\n `const data = JSON.stringify(${stringifyObject9(postData.jsonObj, {\n indent: opts.indent\n })});`\n );\n blank();\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n push(\"const data = new FormData();\");\n postData.params.forEach((param) => {\n push(`data.append('${param.name}', '${param.value || param.fileName || \"\"}');`);\n });\n if (hasHeader(allHeaders, \"content-type\")) {\n if (getHeader(allHeaders, \"content-type\")?.includes(\"boundary\")) {\n const headerName = getHeaderName(allHeaders, \"content-type\");\n if (headerName) {\n delete allHeaders[headerName];\n }\n }\n }\n blank();\n break;\n default:\n push(`const data = ${postData.text ? `'${postData.text}'` : \"null\"};`);\n blank();\n }\n push(\"const xhr = new XMLHttpRequest();\");\n if (opts.cors) {\n push(\"xhr.withCredentials = true;\");\n }\n blank();\n push(\"xhr.addEventListener('readystatechange', function () {\");\n push(\"if (this.readyState === this.DONE) {\", 1);\n push(\"console.log(this.responseText);\", 2);\n push(\"}\", 1);\n push(\"});\");\n blank();\n push(`xhr.open('${method}', '${fullUrl}');`);\n Object.keys(allHeaders).forEach((key) => {\n push(`xhr.setRequestHeader('${key}', '${escapeForSingleQuotes(allHeaders[key])}');`);\n });\n blank();\n push(\"xhr.send(data);\");\n return join();\n }\n};\n\n// src/targets/javascript/target.ts\nvar javascript = {\n info: {\n key: \"javascript\",\n title: \"JavaScript\",\n default: \"xhr\"\n },\n clientsById: {\n xhr,\n axios,\n fetch,\n jquery\n }\n};\n\n// src/targets/json/native/client.ts\nvar native2 = {\n info: {\n key: \"native\",\n title: \"Native JSON\",\n link: \"https://www.json.org/json-en.html\",\n description: \"A JSON represetation of any HAR payload.\",\n extname: \".json\"\n },\n convert: ({ postData }, inputOpts) => {\n const opts = {\n indent: \" \",\n ...inputOpts\n };\n let payload = \"\";\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n payload = postData.paramsObj ? postData.paramsObj : postData.text;\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n payload = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n const multipartPayload = {};\n postData.params.forEach((param) => {\n multipartPayload[param.name] = param.value;\n });\n payload = multipartPayload;\n break;\n default:\n if (postData.text) {\n payload = postData.text;\n }\n }\n if (typeof payload === \"undefined\" || payload === \"\") {\n return \"No JSON body\";\n }\n return JSON.stringify(payload, null, opts.indent);\n }\n};\n\n// src/targets/json/target.ts\nvar json = {\n info: {\n key: \"json\",\n title: \"JSON\",\n default: \"native\"\n },\n clientsById: {\n native: native2\n }\n};\n\n// src/targets/kotlin/okhttp/client.ts\nvar okhttp2 = {\n info: {\n key: \"okhttp\",\n title: \"OkHttp\",\n link: \"http://square.github.io/okhttp/\",\n description: \"An HTTP Request Client Library\",\n extname: \".kt\"\n },\n convert: ({ postData, fullUrl, method, allHeaders }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, join, push } = new CodeBuilder({ indent: opts.indent });\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\"];\n const methodsWithBody = [\"POST\", \"PUT\", \"DELETE\", \"PATCH\"];\n push(\"val client = OkHttpClient()\");\n blank();\n if (postData.text) {\n if (postData.boundary) {\n push(`val mediaType = MediaType.parse(\"${postData.mimeType}; boundary=${postData.boundary}\")`);\n } else {\n push(`val mediaType = MediaType.parse(\"${postData.mimeType}\")`);\n }\n push(`val body = RequestBody.create(mediaType, ${JSON.stringify(postData.text)})`);\n }\n push(\"val request = Request.Builder()\");\n push(`.url(\"${fullUrl}\")`, 1);\n if (!methods.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.method(\"${method.toUpperCase()}\", body)`, 1);\n } else {\n push(`.method(\"${method.toUpperCase()}\", null)`, 1);\n }\n } else if (methodsWithBody.includes(method.toUpperCase())) {\n if (postData.text) {\n push(`.${method.toLowerCase()}(body)`, 1);\n } else {\n push(`.${method.toLowerCase()}(null)`, 1);\n }\n } else {\n push(`.${method.toLowerCase()}()`, 1);\n }\n Object.keys(allHeaders).forEach((key) => {\n push(`.addHeader(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\")`, 1);\n });\n push(\".build()\", 1);\n blank();\n push(\"val response = client.newCall(request).execute()\");\n return join();\n }\n};\n\n// src/targets/kotlin/target.ts\nvar kotlin = {\n info: {\n key: \"kotlin\",\n title: \"Kotlin\",\n default: \"okhttp\"\n },\n clientsById: {\n okhttp: okhttp2\n }\n};\nvar axios2 = {\n info: {\n key: \"axios\",\n title: \"Axios\",\n link: \"https://github.com/axios/axios\",\n description: \"Promise based HTTP client for the browser and node.js\",\n extname: \".cjs\",\n installation: \"npm install axios --save\"\n },\n convert: ({ method, fullUrl, allHeaders, postData }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const { blank, join, push, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"const axios = require('axios');\");\n const reqOpts = {\n method,\n url: fullUrl\n };\n if (Object.keys(allHeaders).length) {\n reqOpts.headers = allHeaders;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params) {\n push(\"const { URLSearchParams } = require('url');\");\n blank();\n push(\"const encodedParams = new URLSearchParams();\");\n postData.params.forEach((param) => {\n push(`encodedParams.set('${param.name}', '${param.value}');`);\n });\n blank();\n reqOpts.data = \"encodedParams,\";\n addPostProcessor((code) => code.replace(/'encodedParams,'/, \"encodedParams,\"));\n }\n break;\n case \"application/json\":\n blank();\n if (postData.jsonObj) {\n reqOpts.data = postData.jsonObj;\n }\n break;\n default:\n blank();\n if (postData.text) {\n reqOpts.data = postData.text;\n }\n }\n const stringifiedOptions = stringifyObject9(reqOpts, { indent: \" \", inlineCharacterLimit: 80 });\n push(`const options = ${stringifiedOptions};`);\n blank();\n push(\"axios\");\n push(\".request(options)\", 1);\n push(\".then(function (response) {\", 1);\n push(\"console.log(response.data);\", 2);\n push(\"})\", 1);\n push(\".catch(function (error) {\", 1);\n push(\"console.error(error);\", 2);\n push(\"});\", 1);\n return join();\n }\n};\nvar fetch2 = {\n info: {\n key: \"fetch\",\n title: \"Fetch\",\n link: \"https://github.com/bitinn/node-fetch\",\n description: \"Simplified HTTP node-fetch client\",\n extname: \".cjs\",\n installation: \"npm install node-fetch@2 --save\"\n },\n convert: ({ method, fullUrl, postData, headersObj, cookies }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n let includeFS = false;\n const { blank, push, join, unshift } = new CodeBuilder({ indent: opts.indent });\n push(\"const fetch = require('node-fetch');\");\n const url = fullUrl;\n const reqOpts = {\n method\n };\n if (Object.keys(headersObj).length) {\n reqOpts.headers = headersObj;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n unshift(\"const { URLSearchParams } = require('url');\");\n push(\"const encodedParams = new URLSearchParams();\");\n blank();\n postData.params?.forEach((param) => {\n push(`encodedParams.set('${param.name}', '${param.value}');`);\n });\n reqOpts.body = \"encodedParams\";\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n reqOpts.body = postData.jsonObj;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n const contentTypeHeader = getHeaderName(headersObj, \"content-type\");\n if (contentTypeHeader) {\n delete headersObj[contentTypeHeader];\n }\n unshift(\"const FormData = require('form-data');\");\n push(\"const formData = new FormData();\");\n blank();\n postData.params.forEach((param) => {\n if (!param.fileName && !param.fileName && !param.contentType) {\n push(`formData.append('${param.name}', '${param.value}');`);\n return;\n }\n if (param.fileName) {\n includeFS = true;\n push(`formData.append('${param.name}', fs.createReadStream('${param.fileName}'));`);\n }\n });\n break;\n default:\n if (postData.text) {\n reqOpts.body = postData.text;\n }\n }\n if (cookies.length) {\n const cookiesString = cookies.map(({ name, value }) => `${encodeURIComponent(name)}=${encodeURIComponent(value)}`).join(\"; \");\n if (reqOpts.headers) {\n reqOpts.headers.cookie = cookiesString;\n } else {\n reqOpts.headers = {};\n reqOpts.headers.cookie = cookiesString;\n }\n }\n blank();\n push(`const url = '${url}';`);\n if (reqOpts.headers && !Object.keys(reqOpts.headers).length) {\n delete reqOpts.headers;\n }\n const stringifiedOptions = stringifyObject9(reqOpts, {\n indent: \" \",\n inlineCharacterLimit: 80,\n // The Fetch API body only accepts string parameters, but stringified JSON can be difficult to\n // read, so we keep the object as a literal and use this transform function to wrap the literal\n // in a `JSON.stringify` call.\n transform: (object, property, originalResult) => {\n if (property === \"body\" && postData.mimeType === \"application/json\") {\n return `JSON.stringify(${originalResult})`;\n }\n return originalResult;\n }\n });\n push(`const options = ${stringifiedOptions};`);\n blank();\n if (includeFS) {\n unshift(\"const fs = require('fs');\");\n }\n if (postData.params && postData.mimeType === \"multipart/form-data\") {\n push(\"options.body = formData;\");\n blank();\n }\n push(\"fetch(url, options)\");\n push(\".then(res => res.json())\", 1);\n push(\".then(json => console.log(json))\", 1);\n push(\".catch(err => console.error('error:' + err));\", 1);\n return join().replace(/'encodedParams'/, \"encodedParams\").replace(/\"fs\\.createReadStream\\(\\\\\"(.+)\\\\\"\\)\"/, 'fs.createReadStream(\"$1\")');\n }\n};\nvar native3 = {\n info: {\n key: \"native\",\n title: \"HTTP\",\n link: \"http://nodejs.org/api/http.html#http_http_request_options_callback\",\n description: \"Node.js native HTTP interface\",\n extname: \".cjs\"\n },\n convert: ({ uriObj, method, allHeaders, postData }, options = {}) => {\n const { indent = \" \" } = options;\n const { blank, join, push, unshift } = new CodeBuilder({ indent });\n const reqOpts = {\n method,\n hostname: uriObj.hostname,\n port: uriObj.port,\n path: uriObj.path,\n headers: allHeaders\n };\n push(`const http = require('${uriObj.protocol?.replace(\":\", \"\")}');`);\n blank();\n push(`const options = ${stringifyObject9(reqOpts, { indent })};`);\n blank();\n push(\"const req = http.request(options, function (res) {\");\n push(\"const chunks = [];\", 1);\n blank();\n push(\"res.on('data', function (chunk) {\", 1);\n push(\"chunks.push(chunk);\", 2);\n push(\"});\", 1);\n blank();\n push(\"res.on('end', function () {\", 1);\n push(\"const body = Buffer.concat(chunks);\", 2);\n push(\"console.log(body.toString());\", 2);\n push(\"});\", 1);\n push(\"});\");\n blank();\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.paramsObj) {\n unshift(\"const qs = require('querystring');\");\n push(\n `req.write(qs.stringify(${stringifyObject9(postData.paramsObj, {\n indent: \" \",\n inlineCharacterLimit: 80\n })}));`\n );\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(\n `req.write(JSON.stringify(${stringifyObject9(postData.jsonObj, {\n indent: \" \",\n inlineCharacterLimit: 80\n })}));`\n );\n }\n break;\n default:\n if (postData.text) {\n push(`req.write(${stringifyObject9(postData.text, { indent })});`);\n }\n }\n push(\"req.end();\");\n return join();\n }\n};\nvar request = {\n info: {\n key: \"request\",\n title: \"Request\",\n link: \"https://github.com/request/request\",\n description: \"Simplified HTTP request client\",\n extname: \".cjs\",\n installation: \"npm install request --save\"\n },\n convert: ({ method, url, fullUrl, postData, headersObj, cookies }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n let includeFS = false;\n const { push, blank, join, unshift, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"const request = require('request');\");\n blank();\n const reqOpts = {\n method,\n url: fullUrl\n };\n if (Object.keys(headersObj).length) {\n reqOpts.headers = headersObj;\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n reqOpts.form = postData.paramsObj;\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n reqOpts.body = postData.jsonObj;\n reqOpts.json = true;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n reqOpts.formData = {};\n postData.params.forEach((param) => {\n if (!param.fileName && !param.fileName && !param.contentType) {\n reqOpts.formData[param.name] = param.value;\n return;\n }\n let attachment = {};\n if (param.fileName) {\n includeFS = true;\n attachment = {\n value: `fs.createReadStream(${param.fileName})`,\n options: {\n filename: param.fileName,\n contentType: param.contentType ? param.contentType : null\n }\n };\n } else if (param.value) {\n attachment.value = param.value;\n }\n reqOpts.formData[param.name] = attachment;\n });\n addPostProcessor((code) => code.replace(/'fs\\.createReadStream\\((.*)\\)'/, \"fs.createReadStream('$1')\"));\n break;\n default:\n if (postData.text) {\n reqOpts.body = postData.text;\n }\n }\n if (cookies.length) {\n reqOpts.jar = \"JAR\";\n push(\"const jar = request.jar();\");\n cookies.forEach(({ name, value }) => {\n push(`jar.setCookie(request.cookie('${encodeURIComponent(name)}=${encodeURIComponent(value)}'), '${url}');`);\n });\n blank();\n addPostProcessor((code) => code.replace(/'JAR'/, \"jar\"));\n }\n if (includeFS) {\n unshift(\"const fs = require('fs');\");\n }\n push(`const options = ${stringifyObject9(reqOpts, { indent: \" \", inlineCharacterLimit: 80 })};`);\n blank();\n push(\"request(options, function (error, response, body) {\");\n push(\"if (error) throw new Error(error);\", 1);\n blank();\n push(\"console.log(body);\", 1);\n push(\"});\");\n return join();\n }\n};\nvar unirest2 = {\n info: {\n key: \"unirest\",\n title: \"Unirest\",\n link: \"http://unirest.io/nodejs.html\",\n description: \"Lightweight HTTP Request Client Library\",\n extname: \".cjs\"\n },\n convert: ({ method, url, cookies, queryObj, postData, headersObj }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n let includeFS = false;\n const { addPostProcessor, blank, join, push, unshift } = new CodeBuilder({\n indent: opts.indent\n });\n push(\"const unirest = require('unirest');\");\n blank();\n push(`const req = unirest('${method}', '${url}');`);\n blank();\n if (cookies.length) {\n push(\"const CookieJar = unirest.jar();\");\n cookies.forEach((cookie) => {\n push(`CookieJar.add('${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}', '${url}');`);\n });\n push(\"req.jar(CookieJar);\");\n blank();\n }\n if (Object.keys(queryObj).length) {\n push(`req.query(${stringifyObject9(queryObj, { indent: opts.indent })});`);\n blank();\n }\n if (Object.keys(headersObj).length) {\n push(`req.headers(${stringifyObject9(headersObj, { indent: opts.indent })});`);\n blank();\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.paramsObj) {\n push(`req.form(${stringifyObject9(postData.paramsObj, { indent: opts.indent })});`);\n blank();\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(\"req.type('json');\");\n push(`req.send(${stringifyObject9(postData.jsonObj, { indent: opts.indent })});`);\n blank();\n }\n break;\n case \"multipart/form-data\": {\n if (!postData.params) {\n break;\n }\n const multipart = [];\n postData.params.forEach((param) => {\n const part = {};\n if (param.fileName && !param.value) {\n includeFS = true;\n part.body = `fs.createReadStream('${param.fileName}')`;\n addPostProcessor((code) => code.replace(/'fs\\.createReadStream\\(\\\\'(.+)\\\\'\\)'/, \"fs.createReadStream('$1')\"));\n } else if (param.value) {\n part.body = param.value;\n }\n if (part.body) {\n if (param.contentType) {\n part[\"content-type\"] = param.contentType;\n }\n multipart.push(part);\n }\n });\n push(`req.multipart(${stringifyObject9(multipart, { indent: opts.indent })});`);\n blank();\n break;\n }\n default:\n if (postData.text) {\n push(`req.send(${stringifyObject9(postData.text, { indent: opts.indent })});`);\n blank();\n }\n }\n if (includeFS) {\n unshift(\"const fs = require('fs');\");\n }\n push(\"req.end(function (res) {\");\n push(\"if (res.error) throw new Error(res.error);\", 1);\n blank();\n push(\"console.log(res.body);\", 1);\n push(\"});\");\n return join();\n }\n};\n\n// src/targets/node/target.ts\nvar node = {\n info: {\n key: \"node\",\n title: \"Node.js\",\n default: \"native\",\n cli: \"node %s\"\n },\n clientsById: {\n native: native3,\n request,\n unirest: unirest2,\n axios: axios2,\n fetch: fetch2\n }\n};\n\n// src/targets/objc/helpers.ts\nvar nsDeclaration = (nsClass, name, parameters, indent) => {\n const opening = `${nsClass} *${name} = `;\n const literal = literalRepresentation(parameters, indent ? opening.length : void 0);\n return `${opening}${literal};`;\n};\nvar literalRepresentation = (value, indentation) => {\n const join = indentation === void 0 ? \", \" : `,\n ${\" \".repeat(indentation)}`;\n switch (Object.prototype.toString.call(value)) {\n case \"[object Number]\":\n return `@${value}`;\n case \"[object Array]\": {\n const valuesRepresentation = value.map((val) => literalRepresentation(val));\n return `@[ ${valuesRepresentation.join(join)} ]`;\n }\n case \"[object Object]\": {\n const keyValuePairs = [];\n Object.keys(value).forEach((key) => {\n keyValuePairs.push(`@\"${key}\": ${literalRepresentation(value[key])}`);\n });\n return `@{ ${keyValuePairs.join(join)} }`;\n }\n case \"[object Boolean]\":\n return value ? \"@YES\" : \"@NO\";\n default:\n if (value === null || value === void 0) {\n return \"\";\n }\n return `@\"${value.toString().replace(/\"/g, '\\\\\"')}\"`;\n }\n};\n\n// src/targets/objc/nsurlsession/client.ts\nvar nsurlsession = {\n info: {\n key: \"nsurlsession\",\n title: \"NSURLSession\",\n link: \"https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSURLSession_class/index.html\",\n description: \"Foundation's NSURLSession request\",\n extname: \".m\"\n },\n convert: ({ allHeaders, postData, method, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n pretty: true,\n timeout: 10,\n ...options\n };\n const { push, join, blank } = new CodeBuilder({ indent: opts.indent });\n const req = {\n hasHeaders: false,\n hasBody: false\n };\n push(\"#import <Foundation/Foundation.h>\");\n if (Object.keys(allHeaders).length) {\n req.hasHeaders = true;\n blank();\n push(nsDeclaration(\"NSDictionary\", \"headers\", allHeaders, opts.pretty));\n }\n if (postData.text || postData.jsonObj || postData.params) {\n req.hasBody = true;\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params?.length) {\n blank();\n const [head, ...tail] = postData.params;\n push(\n `NSMutableData *postData = [[NSMutableData alloc] initWithData:[@\"${head.name}=${head.value}\" dataUsingEncoding:NSUTF8StringEncoding]];`\n );\n tail.forEach(({ name, value }) => {\n push(`[postData appendData:[@\"&${name}=${value}\" dataUsingEncoding:NSUTF8StringEncoding]];`);\n });\n } else {\n req.hasBody = false;\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(nsDeclaration(\"NSDictionary\", \"parameters\", postData.jsonObj, opts.pretty));\n blank();\n push(\"NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];\");\n }\n break;\n case \"multipart/form-data\":\n push(nsDeclaration(\"NSArray\", \"parameters\", postData.params || [], opts.pretty));\n push(`NSString *boundary = @\"${postData.boundary}\";`);\n blank();\n push(\"NSError *error;\");\n push(\"NSMutableString *body = [NSMutableString string];\");\n push(\"for (NSDictionary *param in parameters) {\");\n push('[body appendFormat:@\"--%@\\\\r\\\\n\", boundary];', 1);\n push('if (param[@\"fileName\"]) {', 1);\n push(\n '[body appendFormat:@\"Content-Disposition:form-data; name=\\\\\"%@\\\\\"; filename=\\\\\"%@\\\\\"\\\\r\\\\n\", param[@\"name\"], param[@\"fileName\"]];',\n 2\n );\n push('[body appendFormat:@\"Content-Type: %@\\\\r\\\\n\\\\r\\\\n\", param[@\"contentType\"]];', 2);\n push(\n '[body appendFormat:@\"%@\", [NSString stringWithContentsOfFile:param[@\"fileName\"] encoding:NSUTF8StringEncoding error:&error]];',\n 2\n );\n push(\"if (error) {\", 2);\n push('NSLog(@\"%@\", error);', 3);\n push(\"}\", 2);\n push(\"} else {\", 1);\n push('[body appendFormat:@\"Content-Disposition:form-data; name=\\\\\"%@\\\\\"\\\\r\\\\n\\\\r\\\\n\", param[@\"name\"]];', 2);\n push('[body appendFormat:@\"%@\", param[@\"value\"]];', 2);\n push(\"}\", 1);\n push(\"}\");\n push('[body appendFormat:@\"\\\\r\\\\n--%@--\\\\r\\\\n\", boundary];');\n push(\"NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];\");\n break;\n default:\n blank();\n push(\n `NSData *postData = [[NSData alloc] initWithData:[@\"${postData.text}\" dataUsingEncoding:NSUTF8StringEncoding]];`\n );\n }\n }\n blank();\n push(`NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@\"${fullUrl}\"]`);\n push(\" cachePolicy:NSURLRequestUseProtocolCachePolicy\");\n push(` timeoutInterval:${opts.timeout.toFixed(1)}];`);\n push(`[request setHTTPMethod:@\"${method}\"];`);\n if (req.hasHeaders) {\n push(\"[request setAllHTTPHeaderFields:headers];\");\n }\n if (req.hasBody) {\n push(\"[request setHTTPBody:postData];\");\n }\n blank();\n push(\"NSURLSession *session = [NSURLSession sharedSession];\");\n push(\"NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request\");\n push(\n \" completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {\"\n );\n push(\" if (error) {\", 1);\n push(' NSLog(@\"%@\", error);', 2);\n push(\" } else {\", 1);\n push(\n \" NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;\",\n 2\n );\n push(' NSLog(@\"%@\", httpResponse);', 2);\n push(\" }\", 1);\n push(\" }];\");\n push(\"[dataTask resume];\");\n return join();\n }\n};\n\n// src/targets/objc/target.ts\nvar objc = {\n info: {\n key: \"objc\",\n title: \"Objective-C\",\n default: \"nsurlsession\"\n },\n clientsById: {\n nsurlsession\n }\n};\n\n// src/targets/ocaml/cohttp/client.ts\nvar cohttp = {\n info: {\n key: \"cohttp\",\n title: \"CoHTTP\",\n link: \"https://github.com/mirage/ocaml-cohttp\",\n description: \"Cohttp is a very lightweight HTTP server using Lwt or Async for OCaml\",\n extname: \".ml\",\n installation: \"opam install cohttp-lwt-unix cohttp-async\"\n },\n convert: ({ fullUrl, allHeaders, postData, method }, options) => {\n const opts = {\n indent: \" \",\n ...options\n };\n const methods = [\"get\", \"post\", \"head\", \"delete\", \"patch\", \"put\", \"options\"];\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n push(\"open Cohttp_lwt_unix\");\n push(\"open Cohttp\");\n push(\"open Lwt\");\n blank();\n push(`let uri = Uri.of_string \"${fullUrl}\" in`);\n const headers = Object.keys(allHeaders);\n if (headers.length === 1) {\n push(\n `let headers = Header.add (Header.init ()) \"${headers[0]}\" \"${escapeForDoubleQuotes(\n allHeaders[headers[0]]\n )}\" in`\n );\n } else if (headers.length > 1) {\n push(\"let headers = Header.add_list (Header.init ()) [\");\n headers.forEach((key) => {\n push(`(\"${key}\", \"${escapeForDoubleQuotes(allHeaders[key])}\");`, 1);\n });\n push(\"] in\");\n }\n if (postData.text) {\n push(`let body = Cohttp_lwt_body.of_string ${JSON.stringify(postData.text)} in`);\n }\n blank();\n const h = headers.length ? \"~headers \" : \"\";\n const b = postData.text ? \"~body \" : \"\";\n const m = methods.includes(method.toLowerCase()) ? `\\`${method.toUpperCase()}` : `(Code.method_of_string \"${method}\")`;\n push(`Client.call ${h}${b}${m} uri`);\n push(\">>= fun (res, body_stream) ->\");\n push(\"(* Do stuff with the result *)\", 1);\n return join();\n }\n};\n\n// src/targets/ocaml/target.ts\nvar ocaml = {\n info: {\n key: \"ocaml\",\n title: \"OCaml\",\n default: \"cohttp\"\n },\n clientsById: {\n cohttp\n }\n};\n\n// src/targets/php/helpers.ts\nvar convertType = (obj, indent, lastIndent) => {\n lastIndent = lastIndent || \"\";\n indent = indent || \"\";\n switch (Object.prototype.toString.call(obj)) {\n case \"[object Boolean]\":\n return obj;\n case \"[object Null]\":\n return \"null\";\n case \"[object Undefined]\":\n return \"null\";\n case \"[object String]\":\n return `'${escapeString(obj, { delimiter: \"'\", escapeNewlines: false })}'`;\n case \"[object Number]\":\n return obj.toString();\n case \"[object Array]\": {\n const contents = obj.map((item) => convertType(item, `${indent}${indent}`, indent)).join(`,\n${indent}`);\n return `[\n${indent}${contents}\n${lastIndent}]`;\n }\n case \"[object Object]\": {\n const result = [];\n for (const i in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, i)) {\n result.push(`${convertType(i, indent)} => ${convertType(obj[i], `${indent}${indent}`, indent)}`);\n }\n }\n return `[\n${indent}${result.join(`,\n${indent}`)}\n${lastIndent}]`;\n }\n default:\n return \"null\";\n }\n};\nvar supportedMethods = [\n \"ACL\",\n \"BASELINE_CONTROL\",\n \"CHECKIN\",\n \"CHECKOUT\",\n \"CONNECT\",\n \"COPY\",\n \"DELETE\",\n \"GET\",\n \"HEAD\",\n \"LABEL\",\n \"LOCK\",\n \"MERGE\",\n \"MKACTIVITY\",\n \"MKCOL\",\n \"MKWORKSPACE\",\n \"MOVE\",\n \"OPTIONS\",\n \"POST\",\n \"PROPFIND\",\n \"PROPPATCH\",\n \"PUT\",\n \"REPORT\",\n \"TRACE\",\n \"UNCHECKOUT\",\n \"UNLOCK\",\n \"UPDATE\",\n \"VERSION_CONTROL\"\n];\n\n// src/targets/php/curl/client.ts\nvar curl = {\n info: {\n key: \"curl\",\n title: \"cURL\",\n link: \"http://php.net/manual/en/book.curl.php\",\n description: \"PHP with ext-curl\",\n extname: \".php\"\n },\n convert: ({ uriObj, postData, fullUrl, method, httpVersion, cookies, headersObj }, options = {}) => {\n const {\n closingTag = false,\n indent = \" \",\n maxRedirects = 10,\n namedErrors = false,\n noTags = false,\n shortTags = false,\n timeout = 30\n } = options;\n const { push, blank, join } = new CodeBuilder({ indent });\n if (!noTags) {\n push(shortTags ? \"<?\" : \"<?php\");\n blank();\n }\n push(\"$curl = curl_init();\");\n blank();\n const curlOptions = [\n {\n escape: true,\n name: \"CURLOPT_PORT\",\n value: uriObj.port\n },\n {\n escape: true,\n name: \"CURLOPT_URL\",\n value: fullUrl\n },\n {\n escape: false,\n name: \"CURLOPT_RETURNTRANSFER\",\n value: \"true\"\n },\n {\n escape: true,\n name: \"CURLOPT_ENCODING\",\n value: \"\"\n },\n {\n escape: false,\n name: \"CURLOPT_MAXREDIRS\",\n value: maxRedirects\n },\n {\n escape: false,\n name: \"CURLOPT_TIMEOUT\",\n value: timeout\n },\n {\n escape: false,\n name: \"CURLOPT_HTTP_VERSION\",\n value: httpVersion === \"HTTP/1.0\" ? \"CURL_HTTP_VERSION_1_0\" : \"CURL_HTTP_VERSION_1_1\"\n },\n {\n escape: true,\n name: \"CURLOPT_CUSTOMREQUEST\",\n value: method\n },\n {\n escape: !postData.jsonObj,\n name: \"CURLOPT_POSTFIELDS\",\n value: postData ? postData.jsonObj ? `json_encode(${convertType(postData.jsonObj, indent.repeat(2), indent)})` : postData.text : void 0\n }\n ];\n push(\"curl_setopt_array($curl, [\");\n const curlopts = new CodeBuilder({ indent, join: `\n${indent}` });\n curlOptions.forEach(({ value, name, escape: escape2 }) => {\n if (value !== null && value !== void 0) {\n curlopts.push(`${name} => ${escape2 ? JSON.stringify(value) : value},`);\n }\n });\n const curlCookies = cookies.map((cookie) => `${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}`);\n if (curlCookies.length) {\n curlopts.push(`CURLOPT_COOKIE => \"${curlCookies.join(\"; \")}\",`);\n }\n const headers = Object.keys(headersObj).sort().map((key) => `\"${key}: ${escapeForDoubleQuotes(headersObj[key])}\"`);\n if (headers.length) {\n curlopts.push(\"CURLOPT_HTTPHEADER => [\");\n curlopts.push(headers.join(`,\n${indent}${indent}`), 1);\n curlopts.push(\"],\");\n }\n push(curlopts.join(), 1);\n push(\"]);\");\n blank();\n push(\"$response = curl_exec($curl);\");\n push(\"$err = curl_error($curl);\");\n blank();\n push(\"curl_close($curl);\");\n blank();\n push(\"if ($err) {\");\n if (namedErrors) {\n push('echo array_flip(get_defined_constants(true)[\"curl\"])[$err];', 1);\n } else {\n push('echo \"cURL Error #:\" . $err;', 1);\n }\n push(\"} else {\");\n push(\"echo $response;\", 1);\n push(\"}\");\n if (!noTags && closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/guzzle/client.ts\nvar guzzle = {\n info: {\n key: \"guzzle\",\n title: \"Guzzle\",\n link: \"http://docs.guzzlephp.org/en/stable/\",\n description: \"PHP with Guzzle\",\n extname: \".php\",\n installation: \"composer require guzzlehttp/guzzle\"\n },\n convert: ({ postData, fullUrl, method, cookies, headersObj }, options) => {\n const opts = {\n closingTag: false,\n indent: \" \",\n noTags: false,\n shortTags: false,\n ...options\n };\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n const { code: requestCode, push: requestPush, join: requestJoin } = new CodeBuilder({ indent: opts.indent });\n if (!opts.noTags) {\n push(opts.shortTags ? \"<?\" : \"<?php\");\n }\n push(\"require_once('vendor/autoload.php');\");\n blank();\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n requestPush(`'form_params' => ${convertType(postData.paramsObj, opts.indent + opts.indent, opts.indent)},`, 1);\n break;\n case \"multipart/form-data\": {\n const fields = [];\n if (postData.params) {\n postData.params.forEach((param) => {\n if (param.fileName) {\n const field = {\n name: param.name,\n filename: param.fileName,\n contents: param.value\n };\n if (param.contentType) {\n field.headers = { \"Content-Type\": param.contentType };\n }\n fields.push(field);\n } else if (param.value) {\n fields.push({\n name: param.name,\n contents: param.value\n });\n }\n });\n }\n if (fields.length) {\n requestPush(`'multipart' => ${convertType(fields, opts.indent + opts.indent, opts.indent)}`, 1);\n if (hasHeader(headersObj, \"content-type\")) {\n if (getHeader(headersObj, \"content-type\")?.indexOf(\"boundary\")) {\n const headerName = getHeaderName(headersObj, \"content-type\");\n if (headerName) {\n delete headersObj[headerName];\n }\n }\n }\n }\n break;\n }\n default:\n if (postData.text) {\n requestPush(`'body' => ${convertType(postData.text)},`, 1);\n }\n }\n const headers = Object.keys(headersObj).sort().map(function(key) {\n return `${opts.indent}${opts.indent}'${key}' => '${escapeForSingleQuotes(headersObj[key])}',`;\n });\n const cookieString = cookies.map((cookie) => `${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}`).join(\"; \");\n if (cookieString.length) {\n headers.push(`${opts.indent}${opts.indent}'cookie' => '${escapeForSingleQuotes(cookieString)}',`);\n }\n if (headers.length) {\n requestPush(\"'headers' => [\", 1);\n requestPush(headers.join(\"\\n\"));\n requestPush(\"],\", 1);\n }\n push(\"$client = new \\\\GuzzleHttp\\\\Client();\");\n blank();\n if (requestCode.length) {\n push(`$response = $client->request('${method}', '${fullUrl}', [`);\n push(requestJoin());\n push(\"]);\");\n } else {\n push(`$response = $client->request('${method}', '${fullUrl}');`);\n }\n blank();\n push(\"echo $response->getBody();\");\n if (!opts.noTags && opts.closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/http1/client.ts\nvar http1 = {\n info: {\n key: \"http1\",\n title: \"HTTP v1\",\n link: \"http://php.net/manual/en/book.http.php\",\n description: \"PHP with pecl/http v1\",\n extname: \".php\"\n },\n convert: ({ method, url, postData, queryObj, headersObj, cookiesObj }, options = {}) => {\n const { closingTag = false, indent = \" \", noTags = false, shortTags = false } = options;\n const { push, blank, join } = new CodeBuilder({ indent });\n if (!noTags) {\n push(shortTags ? \"<?\" : \"<?php\");\n blank();\n }\n if (!supportedMethods.includes(method.toUpperCase())) {\n push(`HttpRequest::methodRegister('${method}');`);\n }\n push(\"$request = new HttpRequest();\");\n push(`$request->setUrl(${convertType(url)});`);\n if (supportedMethods.includes(method.toUpperCase())) {\n push(`$request->setMethod(HTTP_METH_${method.toUpperCase()});`);\n } else {\n push(`$request->setMethod(HttpRequest::HTTP_METH_${method.toUpperCase()});`);\n }\n blank();\n if (Object.keys(queryObj).length) {\n push(`$request->setQueryData(${convertType(queryObj, indent)});`);\n blank();\n }\n if (Object.keys(headersObj).length) {\n push(`$request->setHeaders(${convertType(headersObj, indent)});`);\n blank();\n }\n if (Object.keys(cookiesObj).length) {\n push(`$request->setCookies(${convertType(cookiesObj, indent)});`);\n blank();\n }\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n push(`$request->setContentType(${convertType(postData.mimeType)});`);\n push(`$request->setPostFields(${convertType(postData.paramsObj, indent)});`);\n blank();\n break;\n case \"application/json\":\n push(`$request->setContentType(${convertType(postData.mimeType)});`);\n push(`$request->setBody(json_encode(${convertType(postData.jsonObj, indent)}));`);\n blank();\n break;\n default:\n if (postData.text) {\n push(`$request->setBody(${convertType(postData.text)});`);\n blank();\n }\n }\n push(\"try {\");\n push(\"$response = $request->send();\", 1);\n blank();\n push(\"echo $response->getBody();\", 1);\n push(\"} catch (HttpException $ex) {\");\n push(\"echo $ex;\", 1);\n push(\"}\");\n if (!noTags && closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/http2/client.ts\nvar http2 = {\n info: {\n key: \"http2\",\n title: \"HTTP v2\",\n link: \"http://devel-m6w6.rhcloud.com/mdref/http\",\n description: \"PHP with pecl/http v2\",\n extname: \".php\"\n },\n convert: ({ postData, headersObj, method, queryObj, cookiesObj, url }, options = {}) => {\n const { closingTag = false, indent = \" \", noTags = false, shortTags = false } = options;\n const { push, blank, join } = new CodeBuilder({ indent });\n let hasBody = false;\n if (!noTags) {\n push(shortTags ? \"<?\" : \"<?php\");\n blank();\n }\n push(\"$client = new http\\\\Client;\");\n push(\"$request = new http\\\\Client\\\\Request;\");\n blank();\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->append(new http\\\\QueryString(${convertType(postData.paramsObj, indent)}));`);\n blank();\n hasBody = true;\n break;\n case \"multipart/form-data\": {\n if (!postData.params) {\n break;\n }\n const files = [];\n const fields = {};\n postData.params.forEach(({ name, fileName, value, contentType }) => {\n if (fileName) {\n files.push({\n name,\n type: contentType,\n file: fileName,\n data: value\n });\n return;\n }\n if (value) {\n fields[name] = value;\n }\n });\n const field = Object.keys(fields).length ? convertType(fields, indent) : \"null\";\n const formValue = files.length ? convertType(files, indent) : \"null\";\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->addForm(${field}, ${formValue});`);\n if (hasHeader(headersObj, \"content-type\")) {\n if (getHeader(headersObj, \"content-type\")?.indexOf(\"boundary\")) {\n const headerName = getHeaderName(headersObj, \"content-type\");\n if (headerName) {\n delete headersObj[headerName];\n }\n }\n }\n blank();\n hasBody = true;\n break;\n }\n case \"application/json\":\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->append(json_encode(${convertType(postData.jsonObj, indent)}));`);\n hasBody = true;\n break;\n default:\n if (postData.text) {\n push(\"$body = new http\\\\Message\\\\Body;\");\n push(`$body->append(${convertType(postData.text)});`);\n blank();\n hasBody = true;\n }\n }\n push(`$request->setRequestUrl(${convertType(url)});`);\n push(`$request->setRequestMethod(${convertType(method)});`);\n if (hasBody) {\n push(\"$request->setBody($body);\");\n blank();\n }\n if (Object.keys(queryObj).length) {\n push(`$request->setQuery(new http\\\\QueryString(${convertType(queryObj, indent)}));`);\n blank();\n }\n if (Object.keys(headersObj).length) {\n push(`$request->setHeaders(${convertType(headersObj, indent)});`);\n blank();\n }\n if (Object.keys(cookiesObj).length) {\n blank();\n push(`$client->setCookies(${convertType(cookiesObj, indent)});`);\n blank();\n }\n push(\"$client->enqueue($request)->send();\");\n push(\"$response = $client->getResponse();\");\n blank();\n push(\"echo $response->getBody();\");\n if (!noTags && closingTag) {\n blank();\n push(\"?>\");\n }\n return join();\n }\n};\n\n// src/targets/php/target.ts\nvar php = {\n info: {\n key: \"php\",\n title: \"PHP\",\n default: \"curl\",\n cli: \"php %s\"\n },\n clientsById: {\n curl,\n guzzle,\n http1,\n http2\n }\n};\n\n// src/targets/powershell/common.ts\nvar generatePowershellConvert = (command) => {\n const convert = ({ method, headersObj, cookies, uriObj, fullUrl, postData, allHeaders }) => {\n const { push, join } = new CodeBuilder();\n const methods = [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"PATCH\", \"HEAD\", \"OPTIONS\"];\n if (!methods.includes(method.toUpperCase())) {\n return \"Method not supported\";\n }\n const commandOptions = [];\n const headers = Object.keys(headersObj);\n if (headers.length) {\n push(\"$headers=@{}\");\n headers.forEach((key) => {\n if (key !== \"connection\") {\n push(`$headers.Add(\"${key}\", \"${escapeString(headersObj[key], { escapeChar: \"`\" })}\")`);\n }\n });\n commandOptions.push(\"-Headers $headers\");\n }\n if (cookies.length) {\n push(\"$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession\");\n cookies.forEach((cookie) => {\n push(\"$cookie = New-Object System.Net.Cookie\");\n push(`$cookie.Name = '${cookie.name}'`);\n push(`$cookie.Value = '${cookie.value}'`);\n push(`$cookie.Domain = '${uriObj.host}'`);\n push(\"$session.Cookies.Add($cookie)\");\n });\n commandOptions.push(\"-WebSession $session\");\n }\n if (postData.text) {\n commandOptions.push(\n `-ContentType '${escapeString(getHeader(allHeaders, \"content-type\"), { delimiter: \"'\", escapeChar: \"`\" })}'`\n );\n commandOptions.push(`-Body '${postData.text}'`);\n }\n push(`$response = ${command} -Uri '${fullUrl}' -Method ${method} ${commandOptions.join(\" \")}`.trim());\n return join();\n };\n return convert;\n};\n\n// src/targets/powershell/restmethod/client.ts\nvar restmethod = {\n info: {\n key: \"restmethod\",\n title: \"Invoke-RestMethod\",\n link: \"https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Invoke-RestMethod\",\n description: \"Powershell Invoke-RestMethod client\",\n extname: \".ps1\"\n },\n convert: generatePowershellConvert(\"Invoke-RestMethod\")\n};\n\n// src/targets/powershell/webrequest/client.ts\nvar webrequest = {\n info: {\n key: \"webrequest\",\n title: \"Invoke-WebRequest\",\n link: \"https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Invoke-WebRequest\",\n description: \"Powershell Invoke-WebRequest client\",\n extname: \".ps1\"\n },\n convert: generatePowershellConvert(\"Invoke-WebRequest\")\n};\n\n// src/targets/powershell/target.ts\nvar powershell = {\n info: {\n key: \"powershell\",\n title: \"Powershell\",\n default: \"webrequest\"\n },\n clientsById: {\n webrequest,\n restmethod\n }\n};\n\n// src/targets/python/helpers.ts\nfunction concatValues(concatType, values, pretty, indentation, indentLevel) {\n const currentIndent = indentation.repeat(indentLevel);\n const closingBraceIndent = indentation.repeat(indentLevel - 1);\n const join = pretty ? `,\n${currentIndent}` : \", \";\n const openingBrace = concatType === \"object\" ? \"{\" : \"[\";\n const closingBrace = concatType === \"object\" ? \"}\" : \"]\";\n if (pretty) {\n return `${openingBrace}\n${currentIndent}${values.join(join)}\n${closingBraceIndent}${closingBrace}`;\n }\n if (concatType === \"object\" && values.length > 0) {\n return `${openingBrace} ${values.join(join)} ${closingBrace}`;\n }\n return `${openingBrace}${values.join(join)}${closingBrace}`;\n}\nvar literalRepresentation2 = (value, opts, indentLevel) => {\n indentLevel = indentLevel === void 0 ? 1 : indentLevel + 1;\n switch (Object.prototype.toString.call(value)) {\n case \"[object Number]\":\n return value;\n case \"[object Array]\": {\n let pretty = false;\n const valuesRepresentation = value.map((v) => {\n if (Object.prototype.toString.call(v) === \"[object Object]\") {\n pretty = Object.keys(v).length > 1;\n }\n return literalRepresentation2(v, opts, indentLevel);\n });\n return concatValues(\"array\", valuesRepresentation, pretty, opts.indent, indentLevel);\n }\n case \"[object Object]\": {\n const keyValuePairs = [];\n for (const key in value) {\n keyValuePairs.push(`\"${key}\": ${literalRepresentation2(value[key], opts, indentLevel)}`);\n }\n return concatValues(\"object\", keyValuePairs, opts.pretty && keyValuePairs.length > 1, opts.indent, indentLevel);\n }\n case \"[object Null]\":\n return \"None\";\n case \"[object Boolean]\":\n return value ? \"True\" : \"False\";\n default:\n if (value === null || value === void 0) {\n return \"\";\n }\n return `\"${value.toString().replace(/\"/g, '\\\\\"')}\"`;\n }\n};\n\n// src/targets/python/requests/client.ts\nvar builtInMethods = [\"HEAD\", \"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", \"OPTIONS\"];\nvar requests = {\n info: {\n key: \"requests\",\n title: \"Requests\",\n link: \"http://docs.python-requests.org/en/latest/api/#requests.request\",\n description: \"Requests HTTP library\",\n extname: \".py\",\n installation: \"python -m pip install requests\"\n },\n convert: ({ fullUrl, postData, allHeaders, method }, options) => {\n const opts = {\n indent: \" \",\n pretty: true,\n ...options\n };\n const { push, blank, join, addPostProcessor } = new CodeBuilder({ indent: opts.indent });\n push(\"import requests\");\n blank();\n push(`url = \"${fullUrl}\"`);\n blank();\n const headers = allHeaders;\n let payload = {};\n const files = {};\n let hasFiles = false;\n let hasPayload = false;\n let jsonPayload = false;\n switch (postData.mimeType) {\n case \"application/json\":\n if (postData.jsonObj) {\n push(`payload = ${literalRepresentation2(postData.jsonObj, opts)}`);\n jsonPayload = true;\n hasPayload = true;\n }\n break;\n case \"multipart/form-data\":\n if (!postData.params) {\n break;\n }\n payload = {};\n postData.params.forEach((p) => {\n if (p.fileName) {\n if (p.contentType) {\n files[p.name] = `('${p.fileName}', open('${p.fileName}', 'rb'), '${p.contentType}')`;\n } else {\n files[p.name] = `('${p.fileName}', open('${p.fileName}', 'rb'))`;\n }\n hasFiles = true;\n } else {\n payload[p.name] = p.value;\n hasPayload = true;\n }\n });\n if (hasFiles) {\n push(`files = ${literalRepresentation2(files, opts)}`);\n if (hasPayload) {\n push(`payload = ${literalRepresentation2(payload, opts)}`);\n }\n const headerName = getHeaderName(headers, \"content-type\");\n if (headerName) {\n delete headers[headerName];\n }\n } else {\n const nonFilePayload = JSON.stringify(postData.text);\n if (nonFilePayload) {\n push(`payload = ${nonFilePayload}`);\n hasPayload = true;\n }\n }\n addPostProcessor(\n (code) => code.replace(/\"\\('(.+)', open\\('(.+)', 'rb'\\)\\)\"/g, '(\"$1\", open(\"$2\", \"rb\"))').replace(/\"\\('(.+)', open\\('(.+)', 'rb'\\), '(.+)'\\)\"/g, '(\"$1\", open(\"$2\", \"rb\"), \"$3\")')\n );\n break;\n default: {\n if (postData.mimeType === \"application/x-www-form-urlencoded\" && postData.paramsObj) {\n push(`payload = ${literalRepresentation2(postData.paramsObj, opts)}`);\n hasPayload = true;\n break;\n }\n const stringPayload = JSON.stringify(postData.text);\n if (stringPayload) {\n push(`payload = ${stringPayload}`);\n hasPayload = true;\n }\n }\n }\n const headerCount = Object.keys(headers).length;\n if (headerCount === 0 && (hasPayload || hasFiles)) {\n blank();\n } else if (headerCount === 1) {\n Object.keys(headers).forEach((header) => {\n push(`headers = {\"${header}\": \"${escapeForDoubleQuotes(headers[header])}\"}`);\n blank();\n });\n } else if (headerCount > 1) {\n let count = 1;\n push(\"headers = {\");\n Object.keys(headers).forEach((header) => {\n if (count !== headerCount) {\n push(`\"${header}\": \"${escapeForDoubleQuotes(headers[header])}\",`, 1);\n } else {\n push(`\"${header}\": \"${escapeForDoubleQuotes(headers[header])}\"`, 1);\n }\n count += 1;\n });\n push(\"}\");\n blank();\n }\n let request2 = builtInMethods.includes(method) ? `response = requests.${method.toLowerCase()}(url` : `response = requests.request(\"${method}\", url`;\n if (hasPayload) {\n if (jsonPayload) {\n request2 += \", json=payload\";\n } else {\n request2 += \", data=payload\";\n }\n }\n if (hasFiles) {\n request2 += \", files=files\";\n }\n if (headerCount > 0) {\n request2 += \", headers=headers\";\n }\n request2 += \")\";\n push(request2);\n blank();\n push(\"print(response.text)\");\n return join();\n }\n};\n\n// src/targets/python/target.ts\nvar python = {\n info: {\n key: \"python\",\n title: \"Python\",\n default: \"requests\",\n cli: \"python3 %s\"\n },\n clientsById: {\n requests\n }\n};\n\n// src/targets/r/httr/client.ts\nvar httr = {\n info: {\n key: \"httr\",\n title: \"httr\",\n link: \"https://cran.r-project.org/web/packages/httr/vignettes/quickstart.html\",\n description: \"httr: Tools for Working with URLs and HTTP\",\n extname: \".r\"\n },\n convert: ({ url, queryObj, queryString, postData, allHeaders, method }) => {\n const { push, blank, join } = new CodeBuilder();\n push(\"library(httr)\");\n blank();\n push(`url <- \"${url}\"`);\n blank();\n const qs = queryObj;\n delete queryObj.key;\n const queryCount = Object.keys(qs).length;\n if (queryString.length === 1) {\n push(`queryString <- list(${Object.keys(qs)} = \"${Object.values(qs).toString()}\")`);\n blank();\n } else if (queryString.length > 1) {\n push(\"queryString <- list(\");\n Object.keys(qs).forEach((query, i) => {\n if (i !== queryCount - 1) {\n push(` ${query} = \"${qs[query].toString()}\",`);\n } else {\n push(` ${query} = \"${qs[query].toString()}\"`);\n }\n });\n push(\")\");\n blank();\n }\n const payload = JSON.stringify(postData.text);\n if (payload) {\n push(`payload <- ${payload}`);\n blank();\n }\n if (postData.text || postData.jsonObj || postData.params) {\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n push('encode <- \"form\"');\n blank();\n break;\n case \"application/json\":\n push('encode <- \"json\"');\n blank();\n break;\n case \"multipart/form-data\":\n push('encode <- \"multipart\"');\n blank();\n break;\n default:\n push('encode <- \"raw\"');\n blank();\n break;\n }\n }\n const cookieHeader = getHeader(allHeaders, \"cookie\");\n const acceptHeader = getHeader(allHeaders, \"accept\");\n const setCookies = cookieHeader ? `set_cookies(\\`${String(cookieHeader).replace(/;/g, '\", `').replace(/` /g, \"`\").replace(/[=]/g, '` = \"')}\")` : void 0;\n const setAccept = acceptHeader ? `accept(\"${escapeForDoubleQuotes(acceptHeader)}\")` : void 0;\n const setContentType = `content_type(\"${escapeForDoubleQuotes(postData.mimeType)}\")`;\n const otherHeaders = Object.entries(allHeaders).filter(([key]) => ![\"cookie\", \"accept\", \"content-type\"].includes(key.toLowerCase())).map(([key, value]) => `'${key}' = '${escapeForSingleQuotes(value)}'`).join(\", \");\n const setHeaders = otherHeaders ? `add_headers(${otherHeaders})` : void 0;\n let request2 = `response <- VERB(\"${method}\", url`;\n if (payload) {\n request2 += \", body = payload\";\n }\n if (queryString.length) {\n request2 += \", query = queryString\";\n }\n const headerAdditions = [setHeaders, setContentType, setAccept, setCookies].filter((x) => !!x).join(\", \");\n if (headerAdditions) {\n request2 += `, ${headerAdditions}`;\n }\n if (postData.text || postData.jsonObj || postData.params) {\n request2 += \", encode = encode\";\n }\n request2 += \")\";\n push(request2);\n blank();\n push('content(response, \"text\")');\n return join();\n }\n};\n\n// src/targets/r/target.ts\nvar r = {\n info: {\n key: \"r\",\n title: \"R\",\n default: \"httr\"\n },\n clientsById: {\n httr\n }\n};\n\n// src/targets/ruby/native/client.ts\nvar native4 = {\n info: {\n key: \"native\",\n title: \"net::http\",\n link: \"http://ruby-doc.org/stdlib-2.2.1/libdoc/net/http/rdoc/Net/HTTP.html\",\n description: \"Ruby HTTP client\",\n extname: \".rb\"\n },\n convert: ({ uriObj, method: rawMethod, fullUrl, postData, allHeaders }) => {\n const { push, blank, join } = new CodeBuilder();\n push(\"require 'uri'\");\n push(\"require 'net/http'\");\n blank();\n const method = rawMethod.toUpperCase();\n const methods = [\n \"GET\",\n \"POST\",\n \"HEAD\",\n \"DELETE\",\n \"PATCH\",\n \"PUT\",\n \"OPTIONS\",\n \"COPY\",\n \"LOCK\",\n \"UNLOCK\",\n \"MOVE\",\n \"TRACE\"\n ];\n const capMethod = method.charAt(0) + method.substring(1).toLowerCase();\n if (!methods.includes(method)) {\n push(`class Net::HTTP::${capMethod} < Net::HTTPRequest`);\n push(` METHOD = '${method.toUpperCase()}'`);\n push(` REQUEST_HAS_BODY = '${postData.text ? \"true\" : \"false\"}'`);\n push(\" RESPONSE_HAS_BODY = true\");\n push(\"end\");\n blank();\n }\n push(`url = URI(\"${fullUrl}\")`);\n blank();\n push(\"http = Net::HTTP.new(url.host, url.port)\");\n if (uriObj.protocol === \"https:\") {\n push(\"http.use_ssl = true\");\n }\n blank();\n push(`request = Net::HTTP::${capMethod}.new(url)`);\n const headers = Object.keys(allHeaders);\n if (headers.length) {\n headers.forEach((key) => {\n push(`request[\"${key}\"] = '${escapeForSingleQuotes(allHeaders[key])}'`);\n });\n }\n if (postData.text) {\n push(`request.body = ${JSON.stringify(postData.text)}`);\n }\n blank();\n push(\"response = http.request(request)\");\n push(\"puts response.read_body\");\n return join();\n }\n};\n\n// src/targets/ruby/target.ts\nvar ruby = {\n info: {\n key: \"ruby\",\n title: \"Ruby\",\n default: \"native\"\n },\n clientsById: {\n native: native4\n }\n};\n\n// src/helpers/shell.ts\nvar quote = (value = \"\") => {\n const safe = /^[a-z0-9-_/.@%^=:]+$/i;\n const isShellSafe = safe.test(value);\n if (isShellSafe) {\n return value;\n }\n return `'${value.replace(/'/g, \"'\\\\''\")}'`;\n};\nvar escape = (value) => value.replace(/\\r/g, \"\\\\r\").replace(/\\n/g, \"\\\\n\");\n\n// src/targets/shell/curl/client.ts\nvar params = {\n \"http1.0\": \"0\",\n \"url \": \"\",\n cookie: \"b\",\n data: \"d\",\n form: \"F\",\n globoff: \"g\",\n header: \"H\",\n insecure: \"k\",\n request: \"X\"\n};\nvar getArg = (short) => (longName) => {\n if (short) {\n const shortName = params[longName];\n if (!shortName) {\n return \"\";\n }\n return `-${shortName}`;\n }\n return `--${longName}`;\n};\nvar curl2 = {\n info: {\n key: \"curl\",\n title: \"cURL\",\n link: \"http://curl.haxx.se/\",\n description: \"cURL is a command line tool and library for transferring data with URL syntax\",\n extname: \".sh\"\n },\n convert: ({ fullUrl, method, httpVersion, headersObj, allHeaders, postData }, options = {}) => {\n const { indent = \" \", short = false, binary = false, globOff = false } = options;\n const indentJSON = \" \";\n const { push, join } = new CodeBuilder({\n ...typeof indent === \"string\" ? { indent } : {},\n join: indent !== false ? ` \\\\\n${indent}` : \" \"\n });\n const arg = getArg(short);\n let formattedUrl = quote(fullUrl);\n push(`curl ${arg(\"request\")} ${method}`);\n if (globOff) {\n formattedUrl = unescape(formattedUrl);\n push(arg(\"globoff\"));\n }\n push(`${arg(\"url \")}${formattedUrl}`);\n if (httpVersion === \"HTTP/1.0\") {\n push(arg(\"http1.0\"));\n }\n if (getHeader(allHeaders, \"accept-encoding\")) {\n push(\"--compressed\");\n }\n if (postData.mimeType === \"multipart/form-data\") {\n const contentTypeHeaderName = getHeaderName(headersObj, \"content-type\");\n if (contentTypeHeaderName) {\n const contentTypeHeader = headersObj[contentTypeHeaderName];\n if (contentTypeHeaderName && contentTypeHeader) {\n const noBoundary = String(contentTypeHeader).replace(/; boundary.+?(?=(;|$))/, \"\");\n headersObj[contentTypeHeaderName] = noBoundary;\n allHeaders[contentTypeHeaderName] = noBoundary;\n }\n }\n }\n Object.keys(headersObj).sort().forEach((key) => {\n const header = `${key}: ${headersObj[key]}`;\n push(`${arg(\"header\")} ${quote(header)}`);\n });\n if (allHeaders.cookie) {\n push(`${arg(\"cookie\")} ${quote(allHeaders.cookie)}`);\n }\n switch (postData.mimeType) {\n case \"multipart/form-data\":\n postData.params?.forEach((param) => {\n let post = \"\";\n if (param.fileName) {\n post = `${param.name}='@${param.fileName}'`;\n } else {\n post = quote(`${param.name}=${param.value}`);\n }\n push(`${arg(\"form\")} ${post}`);\n });\n break;\n case \"application/x-www-form-urlencoded\":\n if (postData.params) {\n postData.params.forEach((param) => {\n const unencoded = param.name;\n const encoded = encodeURIComponent(param.name);\n const needsEncoding = encoded !== unencoded;\n const name = needsEncoding ? encoded : unencoded;\n const flag = binary ? \"--data-binary\" : needsEncoding ? \"--data-urlencode\" : arg(\"data\");\n push(`${flag} ${quote(`${name}=${param.value}`)}`);\n });\n } else {\n push(`${binary ? \"--data-binary\" : arg(\"data\")} ${quote(postData.text)}`);\n }\n break;\n default:\n if (!postData.text) {\n break;\n }\n let builtPayload = false;\n if (isMimeTypeJSON(postData.mimeType)) {\n if (postData.text.length > 20) {\n try {\n const jsonPayload = JSON.parse(postData.text);\n builtPayload = true;\n if (postData.text.indexOf(\"'\") > 0) {\n push(\n `${binary ? \"--data-binary\" : arg(\"data\")} @- <<EOF\n${JSON.stringify(\n jsonPayload,\n null,\n indentJSON\n )}\nEOF`\n );\n } else {\n push(\n `${binary ? \"--data-binary\" : arg(\"data\")} '\n${JSON.stringify(jsonPayload, null, indentJSON)}\n'`\n );\n }\n } catch (err) {\n }\n }\n }\n if (!builtPayload) {\n push(`${binary ? \"--data-binary\" : arg(\"data\")} ${quote(postData.text)}`);\n }\n }\n return join();\n }\n};\n\n// src/targets/shell/httpie/client.ts\nvar httpie = {\n info: {\n key: \"httpie\",\n title: \"HTTPie\",\n link: \"http://httpie.org/\",\n description: \"a CLI, cURL-like tool for humans\",\n extname: \".sh\",\n installation: \"brew install httpie\"\n },\n convert: ({ allHeaders, postData, queryObj, fullUrl, method, url }, options) => {\n const opts = {\n body: false,\n cert: false,\n headers: false,\n indent: \" \",\n pretty: false,\n print: false,\n queryParams: false,\n short: false,\n style: false,\n timeout: false,\n verbose: false,\n verify: false,\n ...options\n };\n const { push, join, unshift } = new CodeBuilder({\n indent: opts.indent,\n // @ts-expect-error SEEMS LEGIT\n join: opts.indent !== false ? ` \\\\\n${opts.indent}` : \" \"\n });\n let raw = false;\n const flags = [];\n if (opts.headers) {\n flags.push(opts.short ? \"-h\" : \"--headers\");\n }\n if (opts.body) {\n flags.push(opts.short ? \"-b\" : \"--body\");\n }\n if (opts.verbose) {\n flags.push(opts.short ? \"-v\" : \"--verbose\");\n }\n if (opts.print) {\n flags.push(`${opts.short ? \"-p\" : \"--print\"}=${opts.print}`);\n }\n if (opts.verify) {\n flags.push(`--verify=${opts.verify}`);\n }\n if (opts.cert) {\n flags.push(`--cert=${opts.cert}`);\n }\n if (opts.pretty) {\n flags.push(`--pretty=${opts.pretty}`);\n }\n if (opts.style) {\n flags.push(`--style=${opts.style}`);\n }\n if (opts.timeout) {\n flags.push(`--timeout=${opts.timeout}`);\n }\n if (opts.queryParams) {\n Object.keys(queryObj).forEach((name) => {\n const value = queryObj[name];\n if (Array.isArray(value)) {\n value.forEach((val) => {\n push(`${name}==${quote(val)}`);\n });\n } else {\n push(`${name}==${quote(value)}`);\n }\n });\n }\n Object.keys(allHeaders).sort().forEach((key) => {\n push(`${key}:${quote(allHeaders[key])}`);\n });\n if (postData.mimeType === \"application/x-www-form-urlencoded\") {\n if (postData.params && postData.params.length) {\n flags.push(opts.short ? \"-f\" : \"--form\");\n postData.params.forEach((param) => {\n push(`${param.name}=${quote(param.value)}`);\n });\n }\n } else {\n raw = true;\n }\n const cliFlags = flags.length ? `${flags.join(\" \")} ` : \"\";\n url = quote(opts.queryParams ? url : fullUrl);\n unshift(`http ${cliFlags}${method} ${url}`);\n if (raw && postData.text) {\n const postDataText = quote(postData.text);\n unshift(`echo ${postDataText} | `);\n }\n return join();\n }\n};\n\n// src/targets/shell/wget/client.ts\nvar wget = {\n info: {\n key: \"wget\",\n title: \"Wget\",\n link: \"https://www.gnu.org/software/wget/\",\n description: \"a free software package for retrieving files using HTTP, HTTPS\",\n extname: \".sh\"\n },\n convert: ({ method, postData, allHeaders, fullUrl }, options) => {\n const opts = {\n indent: \" \",\n short: false,\n verbose: false,\n ...options\n };\n const { push, join } = new CodeBuilder({\n ...typeof opts.indent === \"string\" ? { indent: opts.indent } : {},\n join: opts.indent !== false ? ` \\\\\n${opts.indent}` : \" \"\n });\n if (opts.verbose) {\n push(`wget ${opts.short ? \"-v\" : \"--verbose\"}`);\n } else {\n push(`wget ${opts.short ? \"-q\" : \"--quiet\"}`);\n }\n push(`--method ${quote(method)}`);\n Object.keys(allHeaders).forEach((key) => {\n const header = `${key}: ${allHeaders[key]}`;\n push(`--header ${quote(header)}`);\n });\n if (postData.text) {\n push(`--body-data ${escape(quote(postData.text))}`);\n }\n push(opts.short ? \"-O\" : \"--output-document\");\n push(`- ${quote(fullUrl)}`);\n return join();\n }\n};\n\n// src/targets/shell/target.ts\nvar shell = {\n info: {\n key: \"shell\",\n title: \"Shell\",\n default: \"curl\",\n cli: \"%s\"\n },\n clientsById: {\n curl: curl2,\n httpie,\n wget\n }\n};\n\n// src/targets/swift/helpers.ts\nvar buildString = (length, str) => str.repeat(length);\nvar concatArray = (arr, pretty, indentation, indentLevel) => {\n const currentIndent = buildString(indentLevel, indentation);\n const closingBraceIndent = buildString(indentLevel - 1, indentation);\n const join = pretty ? `,\n${currentIndent}` : \", \";\n if (pretty) {\n return `[\n${currentIndent}${arr.join(join)}\n${closingBraceIndent}]`;\n }\n return `[${arr.join(join)}]`;\n};\nvar literalDeclaration = (name, parameters, opts) => `let ${name} = ${literalRepresentation3(parameters, opts)}`;\nvar literalRepresentation3 = (value, opts, indentLevel) => {\n indentLevel = indentLevel === void 0 ? 1 : indentLevel + 1;\n switch (Object.prototype.toString.call(value)) {\n case \"[object Number]\":\n return value;\n case \"[object Array]\": {\n let pretty = false;\n const valuesRepresentation = value.map((v) => {\n if (Object.prototype.toString.call(v) === \"[object Object]\") {\n pretty = Object.keys(v).length > 1;\n }\n return literalRepresentation3(v, opts, indentLevel);\n });\n return concatArray(valuesRepresentation, pretty, opts.indent, indentLevel);\n }\n case \"[object Object]\": {\n const keyValuePairs = [];\n for (const key in value) {\n keyValuePairs.push(`\"${key}\": ${literalRepresentation3(value[key], opts, indentLevel)}`);\n }\n return concatArray(\n keyValuePairs,\n // @ts-expect-error needs better types\n opts.pretty && keyValuePairs.length > 1,\n // @ts-expect-error needs better types\n opts.indent,\n indentLevel\n );\n }\n case \"[object Boolean]\":\n return value.toString();\n default:\n if (value === null || value === void 0) {\n return \"nil\";\n }\n return `\"${value.toString().replace(/\"/g, '\\\\\"')}\"`;\n }\n};\n\n// src/targets/swift/urlsession/client.ts\nvar urlsession = {\n info: {\n key: \"urlsession\",\n title: \"URLSession\",\n link: \"https://developer.apple.com/documentation/foundation/urlsession\",\n description: \"Foundation's URLSession request\",\n extname: \".swift\"\n },\n convert: ({ allHeaders, postData, uriObj, queryObj, method }, options) => {\n const opts = {\n indent: \" \",\n pretty: true,\n timeout: 10,\n ...options\n };\n const { push, blank, join } = new CodeBuilder({ indent: opts.indent });\n push(\"import Foundation\");\n blank();\n const hasBody = postData.text || postData.jsonObj || postData.params;\n if (hasBody) {\n switch (postData.mimeType) {\n case \"application/x-www-form-urlencoded\":\n if (postData.params?.length) {\n const parameters = postData.params.map((p) => `\"${p.name}\": \"${p.value}\"`);\n if (opts.pretty) {\n push(\"let parameters = [\");\n parameters.forEach((param) => push(`${param},`, 1));\n push(\"]\");\n } else {\n push(`let parameters = [${parameters.join(\", \")}]`);\n }\n push('let joinedParameters = parameters.map { \"\\\\($0.key)=\\\\($0.value)\" }.joined(separator: \"&\")');\n push(\"let postData = Data(joinedParameters.utf8)\");\n blank();\n }\n break;\n case \"application/json\":\n if (postData.jsonObj) {\n push(`${literalDeclaration(\"parameters\", postData.jsonObj, opts)} as [String : Any?]`);\n blank();\n push(\"let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])\");\n blank();\n }\n break;\n case \"multipart/form-data\":\n push(literalDeclaration(\"parameters\", postData.params, opts));\n blank();\n push(`let boundary = \"${postData.boundary}\"`);\n blank();\n push('var body = \"\"');\n push(\"for param in parameters {\");\n push('let paramName = param[\"name\"]!', 1);\n push('body += \"--\\\\(boundary)\\\\r\\\\n\"', 1);\n push('body += \"Content-Disposition:form-data; name=\\\\\"\\\\(paramName)\\\\\"\"', 1);\n push('if let filename = param[\"fileName\"] {', 1);\n push('let contentType = param[\"contentType\"]!', 2);\n push(\"let fileContent = try String(contentsOfFile: filename, encoding: .utf8)\", 2);\n push('body += \"; filename=\\\\\"\\\\(filename)\\\\\"\\\\r\\\\n\"', 2);\n push('body += \"Content-Type: \\\\(contentType)\\\\r\\\\n\\\\r\\\\n\"', 2);\n push(\"body += fileContent\", 2);\n push('} else if let paramValue = param[\"value\"] {', 1);\n push('body += \"\\\\r\\\\n\\\\r\\\\n\\\\(paramValue)\"', 2);\n push(\"}\", 1);\n push(\"}\");\n blank();\n push(\"let postData = Data(body.utf8)\");\n blank();\n break;\n default:\n push(`let postData = Data(\"${postData.text}\".utf8)`);\n blank();\n }\n }\n push(`let url = URL(string: \"${uriObj.href}\")!`);\n const queries = queryObj ? Object.entries(queryObj) : [];\n if (queries.length < 1) {\n push(\"var request = URLRequest(url: url)\");\n } else {\n push(\"var components = URLComponents(url: url, resolvingAgainstBaseURL: true)!\");\n push(\"let queryItems: [URLQueryItem] = [\");\n queries.forEach((query) => {\n const key = query[0];\n const value = query[1];\n switch (Object.prototype.toString.call(value)) {\n case \"[object String]\":\n push(`URLQueryItem(name: \"${key}\", value: \"${value}\"),`, 1);\n break;\n case \"[object Array]\":\n value.forEach((val) => {\n push(`URLQueryItem(name: \"${key}\", value: \"${val}\"),`, 1);\n });\n break;\n }\n });\n push(\"]\");\n push(\"components.queryItems = components.queryItems.map { $0 + queryItems } ?? queryItems\");\n blank();\n push(\"var request = URLRequest(url: components.url!)\");\n }\n push(`request.httpMethod = \"${method}\"`);\n push(`request.timeoutInterval = ${opts.timeout}`);\n if (Object.keys(allHeaders).length) {\n push(`request.allHTTPHeaderFields = ${literalRepresentation3(allHeaders, opts)}`);\n }\n if (hasBody) {\n push(\"request.httpBody = postData\");\n }\n blank();\n push(\"let (data, _) = try await URLSession.shared.data(for: request)\");\n push(\"print(String(decoding: data, as: UTF8.self))\");\n return join();\n }\n};\n\n// src/targets/swift/target.ts\nvar swift = {\n info: {\n key: \"swift\",\n title: \"Swift\",\n default: \"urlsession\"\n },\n clientsById: {\n urlsession\n }\n};\n\n// src/targets/index.ts\nvar targets = {\n c,\n clojure,\n csharp,\n go,\n http,\n java,\n javascript,\n json,\n kotlin,\n node,\n objc,\n ocaml,\n php,\n powershell,\n python,\n r,\n ruby,\n shell,\n swift\n};\nvar isTarget = (target) => {\n if (typeof target !== \"object\" || target === null || Array.isArray(target)) {\n const got = target === null ? \"null\" : Array.isArray(target) ? \"array\" : typeof target;\n throw new Error(`you tried to add a target which is not an object, got type: \"${got}\"`);\n }\n if (!Object.prototype.hasOwnProperty.call(target, \"info\")) {\n throw new Error(\"targets must contain an `info` object\");\n }\n if (!Object.prototype.hasOwnProperty.call(target.info, \"key\")) {\n throw new Error(\"targets must have an `info` object with the property `key`\");\n }\n if (!target.info.key) {\n throw new Error(\"target key must be a unique string\");\n }\n if (Object.prototype.hasOwnProperty.call(targets, target.info.key)) {\n throw new Error(`a target already exists with this key, \\`${target.info.key}\\``);\n }\n if (!Object.prototype.hasOwnProperty.call(target.info, \"title\")) {\n throw new Error(\"targets must have an `info` object with the property `title`\");\n }\n if (!target.info.title) {\n throw new Error(\"target title must be a non-zero-length string\");\n }\n if (!Object.prototype.hasOwnProperty.call(target, \"clientsById\") || !target.clientsById || Object.keys(target.clientsById).length === 0) {\n throw new Error(\n `No clients provided in target ${target.info.key}. You must provide the property \\`clientsById\\` containg your clients.`\n );\n }\n if (!Object.prototype.hasOwnProperty.call(target.info, \"default\")) {\n throw new Error(\"targets must have an `info` object with the property `default`\");\n }\n if (!Object.prototype.hasOwnProperty.call(target.clientsById, target.info.default)) {\n throw new Error(\n `target ${target.info.key} is configured with a default client ${target.info.default}, but no such client was found in the property \\`clientsById\\` (found ${JSON.stringify(\n Object.keys(target.clientsById)\n )})`\n );\n }\n Object.values(target.clientsById).forEach(isClient);\n return true;\n};\nvar addTarget = (target) => {\n if (!isTarget(target)) ;\n targets[target.info.key] = target;\n};\nvar isClient = (client) => {\n if (!client) {\n throw new Error(\"clients must be objects\");\n }\n if (!Object.prototype.hasOwnProperty.call(client, \"info\")) {\n throw new Error(\"targets client must contain an `info` object\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"key\")) {\n throw new Error(\"targets client must have an `info` object with property `key`\");\n }\n if (!client.info.key) {\n throw new Error(\"client.info.key must contain an identifier unique to this target\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"title\")) {\n throw new Error(\"targets client must have an `info` object with property `title`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"description\")) {\n throw new Error(\"targets client must have an `info` object with property `description`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"link\")) {\n throw new Error(\"targets client must have an `info` object with property `link`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client.info, \"extname\")) {\n throw new Error(\"targets client must have an `info` object with the property `extname`\");\n }\n if (!Object.prototype.hasOwnProperty.call(client, \"convert\") || typeof client.convert !== \"function\") {\n throw new Error(\"targets client must have a `convert` property containing a conversion function\");\n }\n return true;\n};\nvar addClientPlugin = (plugin) => {\n addTargetClient(plugin.target, plugin.client);\n};\nvar addTargetClient = (targetId, client) => {\n if (!isClient(client)) ;\n if (!Object.prototype.hasOwnProperty.call(targets, targetId)) {\n throw new Error(`Sorry, but no ${targetId} target exists to add clients to`);\n }\n if (Object.prototype.hasOwnProperty.call(targets[targetId], client.info.key)) {\n throw new Error(\n `the target ${targetId} already has a client with the key ${client.info.key}, please use a different key`\n );\n }\n targets[targetId].clientsById[client.info.key] = client;\n};\n\nexport { addClientPlugin, addTarget, addTargetClient, getHeaderName, isClient, isTarget, targets };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-UEZF7UNC.js.map","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","export default {}","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n if (mapForEach) {\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n }\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n if (setForEach) {\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n }\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n /* eslint-env browser */\n if (typeof window !== 'undefined' && obj === window) {\n return '{ [object Window] }';\n }\n if (obj === global) {\n return '{ [object globalThis] }';\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = require('es-errors/type');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n* This function traverses the list returning the node corresponding to the given key.\n*\n* That node is also moved to the head of the list, so that if it's accessed again we don't need to traverse the whole list. By doing so, all the recently used nodes can be accessed relatively quickly.\n*/\n/** @type {import('.').listGetNode} */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\t/** @type {typeof list | NonNullable<(typeof list)['next']>} */\n\tvar prev = list;\n\t/** @type {(typeof list)['next']} */\n\tvar curr;\n\tfor (; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\t// eslint-disable-next-line no-extra-parens\n\t\t\tcurr.next = /** @type {NonNullable<typeof list.next>} */ (list.next);\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\n/** @type {import('.').listGet} */\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\n/** @type {import('.').listSet} */\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = /** @type {import('.').ListNode<typeof value>} */ ({ // eslint-disable-line no-param-reassign, no-extra-parens\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t});\n\t}\n};\n/** @type {import('.').listHas} */\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\n/** @type {import('.')} */\nmodule.exports = function getSideChannel() {\n\t/** @type {WeakMap<object, unknown>} */ var $wm;\n\t/** @type {Map<object, unknown>} */ var $m;\n\t/** @type {import('.').RootNode<unknown>} */ var $o;\n\n\t/** @type {import('.').Channel} */\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t// Initialize the linked list as an empty node, so that we don't have to special-case handling of the first node: we can always refer to it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar limit = 1024;\n\n/* eslint operator-linebreak: [2, \"before\"] */\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var j = 0; j < string.length; j += limit) {\n var segment = string.length >= limit ? string.slice(j, j + limit) : string;\n var arr = [];\n\n for (var i = 0; i < segment.length; ++i) {\n var c = segment.charCodeAt(i);\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n arr[arr.length] = segment.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n arr[arr.length] = hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n arr[arr.length] = hexTable[0xC0 | (c >> 6)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n arr[arr.length] = hexTable[0xE0 | (c >> 12)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (segment.charCodeAt(i) & 0x3FF));\n\n arr[arr.length] = hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n out += arr.join('');\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n allowEmptyArrays: false,\n arrayFormat: 'indices',\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encodeDotInKeys: false,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n if (encodeValuesOnly && encoder) {\n obj = utils.maybeMap(obj, encoder);\n }\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var encodedPrefix = encodeDotInKeys ? prefix.replace(/\\./g, '%2E') : prefix;\n\n var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encodedPrefix + '[]' : encodedPrefix;\n\n if (allowEmptyArrays && isArray(obj) && obj.length === 0) {\n return adjustedPrefix + '[]';\n }\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var encodedKey = allowDots && encodeDotInKeys ? key.replace(/\\./g, '%2E') : key;\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, encodedKey) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + encodedKey : '[' + encodedKey + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n commaRoundTrip,\n allowEmptyArrays,\n strictNullHandling,\n skipNulls,\n encodeDotInKeys,\n generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {\n throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n var arrayFormat;\n if (opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if ('indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = defaults.arrayFormat;\n }\n\n if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.encodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n arrayFormat: arrayFormat,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n commaRoundTrip: opts.commaRoundTrip,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[options.arrayFormat];\n var commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n commaRoundTrip,\n options.allowEmptyArrays,\n options.strictNullHandling,\n options.skipNulls,\n options.encodeDotInKeys,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowEmptyArrays: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decodeDotInKeys: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n duplicates: 'combine',\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = { __proto__: null };\n\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n var existing = has.call(obj, key);\n if (existing && options.duplicates === 'combine') {\n obj[key] = utils.combine(obj[key], val);\n } else if (!existing || options.duplicates === 'last') {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = options.allowEmptyArrays && leaf === '' ? [] : [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/g, '.') : cleanRoot;\n var index = parseInt(decodedRoot, 10);\n if (!options.parseArrays && decodedRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== decodedRoot\n && String(index) === decodedRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (decodedRoot !== '__proto__') {\n obj[decodedRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {\n throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');\n }\n\n if (typeof opts.decodeDotInKeys !== 'undefined' && typeof opts.decodeDotInKeys !== 'boolean') {\n throw new TypeError('`decodeDotInKeys` option can only be `true` or `false`, when provided');\n }\n\n if (opts.decoder !== null && typeof opts.decoder !== 'undefined' && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n var duplicates = typeof opts.duplicates === 'undefined' ? defaults.duplicates : opts.duplicates;\n\n if (duplicates !== 'combine' && duplicates !== 'first' && duplicates !== 'last') {\n throw new TypeError('The duplicates option must be either combine, first, or last');\n }\n\n var allowDots = typeof opts.allowDots === 'undefined' ? opts.decodeDotInKeys === true ? true : defaults.allowDots : !!opts.allowDots;\n\n return {\n allowDots: allowDots,\n allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decodeDotInKeys: typeof opts.decodeDotInKeys === 'boolean' ? opts.decodeDotInKeys : defaults.decodeDotInKeys,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n duplicates: duplicates,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","/*\n * Copyright Joyent, Inc. and other Node contributors.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to permit\n * persons to whom the Software is furnished to do so, subject to the\n * following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n * USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n'use strict';\n\nvar punycode = require('punycode');\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n/*\n * define these here so at least they only have to be\n * compiled once on the first module load.\n */\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^?\\s]*)(\\?[^\\s]*)?$/,\n\n /*\n * RFC 2396: characters reserved for delimiting URLs.\n * We actually just auto-escape these.\n */\n delims = [\n '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'\n ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [\n '{', '}', '|', '\\\\', '^', '`'\n ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n /*\n * Characters that are never ever allowed in a hostname.\n * Note that any invalid chars are also handled, but these\n * are the ones that are *expected* to be seen, so we fast-path\n * them.\n */\n nonHostChars = [\n '%', '/', '?', ';', '#'\n ].concat(autoEscape),\n hostEndingChars = [\n '/', '?', '#'\n ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n javascript: true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n http: true,\n https: true,\n ftp: true,\n gopher: true,\n file: true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('qs');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && typeof url === 'object' && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {\n if (typeof url !== 'string') {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n /*\n * Copy chrome, IE, opera backslash-handling behavior.\n * Back slashes before the query string get converted to forward slashes\n * See: https://code.google.com/p/chromium/issues/detail?id=25916\n */\n var queryIndex = url.indexOf('?'),\n splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n /*\n * trim before proceeding.\n * This is to support parse stuff like \" http://foo.com \\n\"\n */\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n /*\n * figure out if it's got a host\n * user@server is *always* interpreted as a hostname, and url\n * resolution will treat //foo/bar as host=foo,path=bar because that's\n * how the browser resolves relative URLs.\n */\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@/]+@[^@/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] && (slashes || (proto && !slashedProtocol[proto]))) {\n\n /*\n * there's a hostname.\n * the first instance of /, ?, ;, or # ends the host.\n *\n * If there is an @ in the hostname, then non-host chars *are* allowed\n * to the left of the last @ sign, unless some host-ending character\n * comes *before* the @-sign.\n * URLs are obnoxious.\n *\n * ex:\n * http://a@b@c/ => user:a@b host:c\n * http://a@b?@c => user:a host:c path:/?@c\n */\n\n /*\n * v0.12 TODO(isaacs): This is not quite how Chrome does things.\n * Review our test case against browsers more comprehensively.\n */\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n\n /*\n * at this point, either we have an explicit point where the\n * auth portion cannot go past, or the last @ char is the decider.\n */\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n /*\n * atSign must be in auth portion.\n * http://a@b/c@d => host:b auth:a path:/c@d\n */\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n /*\n * Now we have a portion which is definitely the auth.\n * Pull that off.\n */\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { hostEnd = hec; }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) { hostEnd = rest.length; }\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n /*\n * we've indicated that there is a hostname,\n * so even if it's empty, it has to be present.\n */\n this.hostname = this.hostname || '';\n\n /*\n * if hostname begins with [ and ends with ]\n * assume that it's an IPv6 address.\n */\n var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n /*\n * we replace non-ASCII char with a temporary placeholder\n * we need this to make sure size of hostname is not\n * broken by replacing non-ASCII by nothing\n */\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n /*\n * IDNA Support: Returns a punycoded representation of \"domain\".\n * It only converts parts of the domain name that\n * have non-ASCII characters, i.e. it doesn't matter if\n * you call it with a domain that already is ASCII-only.\n */\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n /*\n * strip [ and ] from the hostname\n * the host field still retains them, though\n */\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n /*\n * now rest is set to the post-host stuff.\n * chop off any delim chars.\n */\n if (!unsafeProtocol[lowerProto]) {\n\n /*\n * First, make 100% sure that any \"autoEscape\" chars get\n * escaped, even if encodeURIComponent doesn't think they\n * need to be.\n */\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1) { continue; }\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n // to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n /*\n * ensure it's an object, and not a string url.\n * If it's an obj, this is a no-op.\n * this way, you can call url_format() on strings\n * to clean up potentially wonky urls.\n */\n if (typeof obj === 'string') { obj = urlParse(obj); }\n if (!(obj instanceof Url)) { return Url.prototype.format.call(obj); }\n return obj.format();\n}\n\nUrl.prototype.format = function () {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {\n query = querystring.stringify(this.query, {\n arrayFormat: 'repeat',\n addQueryPrefix: false\n });\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') { protocol += ':'; }\n\n /*\n * only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n * unless they had them to begin with.\n */\n if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') { pathname = '/' + pathname; }\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') { hash = '#' + hash; }\n if (search && search.charAt(0) !== '?') { search = '?' + search; }\n\n pathname = pathname.replace(/[?#]/g, function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function (relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) { return relative; }\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function (relative) {\n if (typeof relative === 'string') {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n /*\n * hash is always overridden, no matter what.\n * even href=\"\" will remove it.\n */\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol') { result[rkey] = relative[rkey]; }\n }\n\n // urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {\n result.pathname = '/';\n result.path = result.pathname;\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n /*\n * if it's a known url protocol, then changing\n * the protocol does weird things\n * first, if it's not file:, then we MUST have a host,\n * and if there was a path\n * to begin with, then we MUST have a path.\n * if it is file:, then the host is dropped,\n * because that's known to be hostless.\n * anything else is assumed to be absolute.\n */\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift())) { }\n if (!relative.host) { relative.host = ''; }\n if (!relative.hostname) { relative.hostname = ''; }\n if (relPath[0] !== '') { relPath.unshift(''); }\n if (relPath.length < 2) { relPath.unshift(''); }\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',\n isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',\n mustEndAbs = isRelAbs || isSourceAbs || (result.host && relative.pathname),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n /*\n * if the url is a non-slashed url, then relative\n * links like ../.. should be able\n * to crawl up to the hostname, as well. This is strange.\n * result.protocol has already been set by now.\n * Later on, put the first path part into the host field.\n */\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') { srcPath[0] = result.host; } else { srcPath.unshift(result.host); }\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') { relPath[0] = relative.host; } else { relPath.unshift(relative.host); }\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = relative.host || relative.host === '' ? relative.host : result.host;\n result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n /*\n * it's relative\n * throw away the existing file, and take the new path instead.\n */\n if (!srcPath) { srcPath = []; }\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (relative.search != null) {\n /*\n * just pull out the search.\n * like href='?foo'.\n * Put this after the other two cases because it simplifies the booleans\n */\n if (psychotic) {\n result.host = srcPath.shift();\n result.hostname = result.host;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n // to support http.request\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n /*\n * no path at all. easy.\n * we've already handled the other stuff above.\n */\n result.pathname = null;\n // to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n /*\n * if a url ENDs in . or .., then it must get a trailing slash.\n * however, if it ends in anything else non-slashy,\n * then it must NOT get a trailing slash.\n */\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';\n\n /*\n * strip single dots, resolve double dots to parent dir\n * if the path tries to go above the root, `up` ends up > 0\n */\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' || (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';\n result.host = result.hostname;\n /*\n * occationaly the auth can get stuck only in host\n * this especially happens in cases like\n * url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n */\n var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.hostname = authInHost.shift();\n result.host = result.hostname;\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (srcPath.length > 0) {\n result.pathname = srcPath.join('/');\n } else {\n result.pathname = null;\n result.path = null;\n }\n\n // to support request.http\n if (result.pathname !== null || result.search !== null) {\n result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function () {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n","import { reducer } from './chunk-7LT4AZED.js';\nimport { targets, getHeaderName } from './chunk-UEZF7UNC.js';\nexport { addClientPlugin, addTarget, addTargetClient } from './chunk-UEZF7UNC.js';\nimport './chunk-UPA5TN5W.js';\nimport { parse, format } from 'url';\nimport { stringify } from 'qs';\n\n// src/helpers/utils.ts\nvar availableTargets = () => Object.keys(targets).map((targetId) => ({\n ...targets[targetId].info,\n clients: Object.keys(targets[targetId].clientsById).map(\n (clientId) => targets[targetId].clientsById[clientId].info\n )\n}));\nvar extname = (targetId, clientId) => {\n const target = targets[targetId];\n if (!target) {\n return \"\";\n }\n return target.clientsById[clientId]?.info.extname || \"\";\n};\n\n// src/index.ts\nvar isHarEntry = (value) => typeof value === \"object\" && \"log\" in value && typeof value.log === \"object\" && \"entries\" in value.log && Array.isArray(value.log.entries);\nvar HTTPSnippet = class {\n constructor(input, opts = {}) {\n this.initCalled = false;\n this.entries = [];\n this.requests = [];\n this.options = {};\n this.options = {\n harIsAlreadyEncoded: false,\n ...opts\n };\n this.requests = [];\n if (isHarEntry(input)) {\n this.entries = input.log.entries;\n } else {\n this.entries = [\n {\n request: input\n }\n ];\n }\n }\n init() {\n this.initCalled = true;\n this.requests = this.entries.map(({ request }) => {\n const req = {\n bodySize: 0,\n headersSize: 0,\n headers: [],\n cookies: [],\n httpVersion: \"HTTP/1.1\",\n queryString: [],\n postData: {\n mimeType: request.postData?.mimeType || \"application/octet-stream\"\n },\n ...request\n };\n if (req.postData && !req.postData.mimeType) {\n req.postData.mimeType = \"application/octet-stream\";\n }\n return this.prepare(req, this.options);\n });\n return this;\n }\n prepare(harRequest, options) {\n const request = {\n ...harRequest,\n fullUrl: \"\",\n uriObj: {},\n queryObj: {},\n headersObj: {},\n cookiesObj: {},\n allHeaders: {}\n };\n if (request.queryString && request.queryString.length) {\n request.queryObj = request.queryString.reduce(reducer, {});\n }\n if (request.headers && request.headers.length) {\n const http2VersionRegex = /^HTTP\\/2/;\n request.headersObj = request.headers.reduce((accumulator, { name, value }) => {\n const headerName = http2VersionRegex.exec(request.httpVersion) ? name.toLocaleLowerCase() : name;\n return {\n ...accumulator,\n [headerName]: value\n };\n }, {});\n }\n if (request.cookies && request.cookies.length) {\n request.cookiesObj = request.cookies.reduceRight(\n (accumulator, { name, value }) => ({\n ...accumulator,\n [name]: value\n }),\n {}\n );\n }\n const cookies = request.cookies?.map(({ name, value }) => {\n if (options.harIsAlreadyEncoded) {\n return `${name}=${value}`;\n }\n return `${encodeURIComponent(name)}=${encodeURIComponent(value)}`;\n });\n if (cookies?.length) {\n request.allHeaders.cookie = cookies.join(\"; \");\n }\n switch (request.postData.mimeType) {\n case \"multipart/mixed\":\n case \"multipart/related\":\n case \"multipart/form-data\":\n case \"multipart/alternative\":\n request.postData.text = \"\";\n request.postData.mimeType = \"multipart/form-data\";\n if (request.postData?.params) {\n const boundary = \"---011000010111000001101001\";\n const carriage = `${boundary}--`;\n const rn = \"\\r\\n\";\n const escape = (str) => str.replace(/\\n/g, \"%0A\").replace(/\\r/g, \"%0D\").replace(/\"/g, \"%22\");\n const normalizeLinefeeds = (value) => value.replace(/\\r?\\n|\\r/g, \"\\r\\n\");\n const payload = [`--${boundary}`];\n request.postData?.params.forEach((param, i) => {\n const name = param.name;\n const value = param.value || \"\";\n const filename = param.fileName || null;\n const contentType = param.contentType || \"application/octet-stream\";\n if (filename) {\n payload.push(\n `Content-Disposition: form-data; name=\"${escape(normalizeLinefeeds(name))}\"; filename=\"${filename}\"`\n );\n payload.push(`Content-Type: ${contentType}`);\n } else {\n payload.push(`Content-Disposition: form-data; name=\"${escape(normalizeLinefeeds(name))}\"`);\n }\n payload.push(\"\");\n payload.push(normalizeLinefeeds(value));\n if (i !== request.postData.params.length - 1) {\n payload.push(`--${boundary}`);\n }\n });\n payload.push(`--${carriage}`);\n request.postData.boundary = boundary;\n request.postData.text = payload.join(rn);\n const contentTypeHeader = getHeaderName(request.headersObj, \"content-type\") || \"content-type\";\n request.headersObj[contentTypeHeader] = `multipart/form-data; boundary=${boundary}`;\n }\n break;\n case \"application/x-www-form-urlencoded\":\n if (!request.postData.params) {\n request.postData.text = \"\";\n } else {\n request.postData.paramsObj = request.postData.params.reduce(reducer, {});\n request.postData.text = stringify(request.postData.paramsObj);\n }\n break;\n case \"text/json\":\n case \"text/x-json\":\n case \"application/json\":\n case \"application/x-json\":\n request.postData.mimeType = \"application/json\";\n if (request.postData.text) {\n try {\n request.postData.jsonObj = JSON.parse(request.postData.text);\n } catch (e) {\n request.postData.mimeType = \"text/plain\";\n }\n }\n break;\n }\n const allHeaders = {\n ...request.allHeaders,\n ...request.headersObj\n };\n const urlWithParsedQuery = parse(request.url, true, true);\n request.queryObj = {\n ...request.queryObj,\n ...urlWithParsedQuery.query\n };\n let search;\n if (options.harIsAlreadyEncoded) {\n search = stringify(request.queryObj, {\n encode: false,\n indices: false\n });\n } else {\n search = stringify(request.queryObj, {\n indices: false\n });\n }\n const uriObj = {\n ...urlWithParsedQuery,\n query: request.queryObj,\n search,\n path: search ? `${urlWithParsedQuery.pathname}?${search}` : urlWithParsedQuery.pathname\n };\n const url = format({\n ...urlWithParsedQuery,\n query: null,\n search: null\n });\n const fullUrl = format({\n ...urlWithParsedQuery,\n ...uriObj\n });\n return {\n ...request,\n allHeaders,\n fullUrl,\n url,\n uriObj\n };\n }\n convert(targetId, clientId, options) {\n if (!this.initCalled) {\n this.init();\n }\n if (!options && clientId) {\n options = clientId;\n }\n const target = targets[targetId];\n if (!target) {\n return false;\n }\n const { convert } = target.clientsById[clientId || target.info.default];\n const results = this.requests.map((request) => convert(request, options));\n return results;\n }\n};\n/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */\n\nexport { HTTPSnippet, availableTargets, extname };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=index.js.map","import { createContext, useContext } from \"react\";\nimport { OasPluginConfig } from \"./interfaces.js\";\n\nconst OasContext = createContext<{ config: OasPluginConfig } | undefined>(\n undefined,\n);\n\nexport const OasConfigProvider = OasContext.Provider;\n\nexport const useOasConfig = () => {\n const ctx = useContext(OasContext);\n if (!ctx) {\n throw new Error(\"useOasConfig must be used within a OasConfigProvider\");\n }\n return ctx.config;\n};\n","import type { OperationListItemResult } from \"./OperationList.js\";\nimport { PlaygroundDialog } from \"./playground/PlaygroundDialog.js\";\n\nexport const PlaygroundDialogWrapper = ({\n server,\n operation,\n}: {\n server: string;\n operation: OperationListItemResult;\n}) => {\n const headers = operation.parameters\n ?.filter((p) => p.in === \"header\")\n .map((p) => ({\n name: p.name,\n defaultValue: p.examples?.find((x) => x.value)?.value ?? \"\",\n }));\n const queryParams = operation.parameters\n ?.filter((p) => p.in === \"query\")\n .sort((a, b) => (a.required && !b.required ? -1 : 1))\n .map((p) => ({\n name: p.name,\n defaultActive: p.required ?? false,\n isRequired: p.required ?? false,\n }));\n const pathParams = operation.parameters\n ?.filter((p) => p.in === \"path\")\n .map((p) => ({ name: p.name }));\n\n return (\n <PlaygroundDialog\n server={server}\n method={operation.method}\n url={operation.path}\n headers={headers}\n queryParams={queryParams}\n pathParams={pathParams}\n />\n );\n};\n","import type { PropsWithChildren } from \"react\";\nimport { cn } from \"../../util/cn.js\";\n\ntype BaseComponentProps<T = unknown> = PropsWithChildren<\n T & { className?: string }\n>;\n\nexport const Root = ({ children, className }: BaseComponentProps) => (\n <div\n className={cn(\n \"rounded-lg overflow-hidden border dark:border-transparent\",\n className,\n )}\n >\n {children}\n </div>\n);\n\nexport const Head = ({ children, className }: BaseComponentProps) => (\n <div\n className={cn(\n \"border-b dark:border-zinc-600 bg-zinc-100 dark:bg-zinc-700 p-2\",\n className,\n )}\n >\n {children}\n </div>\n);\n\nexport const Body = ({ children, className }: BaseComponentProps) => (\n <div\n className={cn(\"bg-zinc-50 dark:bg-zinc-800 overflow-auto p-2\", className)}\n >\n {children}\n </div>\n);\n\nexport const Footer = ({ children, className }: BaseComponentProps) => (\n <div\n className={cn(\n \"border-t dark:border-zinc-600 bg-zinc-100 dark:bg-zinc-700 p-2\",\n className,\n )}\n >\n {children}\n </div>\n);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { type SchemaObject } from \"../../../oas/graphql/index.js\";\n\nexport const isObject = (value: unknown): boolean =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nexport const generateSchemaExample = (\n schema: SchemaObject,\n name?: string,\n): any => {\n // Directly return the example or default if they exist\n if (schema.example !== undefined) {\n return schema.example;\n } else if (schema.default !== undefined) {\n return schema.default;\n }\n\n // Process examples object\n if (schema.examples && isObject(schema.examples)) {\n return Object.values(schema.examples)[0];\n }\n\n // Recursively process objects and arrays\n return processComplexTypes(schema, name);\n};\n\nfunction processComplexTypes(schema: SchemaObject, name?: string): any {\n const properties = Object.entries(schema.properties ?? {}).concat(\n Object.entries(schema.additionalProperties ?? {}),\n );\n if (schema.type === \"object\" && properties.length > 0) {\n const obj: { [key: string]: any } = {};\n properties.forEach(([key, propSchema]) => {\n const value = generateSchemaExample(propSchema, key);\n if (value !== undefined) {\n obj[key] = value;\n }\n });\n return obj;\n } else if (schema.type === \"array\" && schema.items) {\n const value = generateSchemaExample(schema.items, name);\n if (value !== undefined) {\n return [value];\n }\n return [];\n }\n // Fallback for missing or undefined types\n return undefined; //getDefaultForType(schema.type);\n}\n\nfunction getDefaultForType(type?: string | string[]): any {\n if (Array.isArray(type)) {\n return getDefaultForSingleType(type[0]);\n }\n return getDefaultForSingleType(type);\n}\n\nfunction getDefaultForSingleType(type?: string): any {\n switch (type) {\n case \"string\":\n return \"\";\n case \"number\":\n case \"integer\":\n return 0;\n case \"boolean\":\n return false;\n case \"null\":\n return null;\n default:\n return \"undefined\";\n }\n}\n","import { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { type SchemaObject } from \"../../oas/graphql/index.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\nimport { generateSchemaExample } from \"./util/generateSchemaExample.js\";\n\ntype Content = NonNullable<\n NonNullable<OperationListItemResult[\"requestBody\"]>[\"content\"]\n>;\n\n// @todo should we handle multiple content types?\nexport const RequestBodySidecarBox = ({ content }: { content: Content }) => {\n if (!content.length) return null;\n\n return (\n <>\n <SidecarBox.Root>\n <SidecarBox.Head className=\"text-xs flex justify-between items-center\">\n <span className=\"font-mono\">Request Body Example</span>\n </SidecarBox.Head>\n <SidecarBox.Body>\n <SyntaxHighlight\n language=\"json\"\n noBackground\n copyable\n className=\"text-xs\"\n code={JSON.stringify(\n content.at(0)?.schema\n ? generateSchemaExample(content[0].schema as SchemaObject)\n : \"\",\n null,\n 2,\n )}\n />\n </SidecarBox.Body>\n </SidecarBox.Root>\n </>\n );\n};\n","import { useState } from \"react\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { type SchemaObject } from \"../../oas/graphql/index.js\";\nimport { cn } from \"../../util/cn.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\nimport { generateSchemaExample } from \"./util/generateSchemaExample.js\";\n\ntype Responses = OperationListItemResult[\"responses\"];\nexport const ResponsesSidecarBox = ({\n responses,\n}: {\n responses: Responses;\n}) => {\n const [tabIndex, setTabIndex] = useState(0);\n\n const activeTab = responses[tabIndex];\n const schema = activeTab.content?.[0]?.schema as SchemaObject | undefined;\n\n return (\n <SidecarBox.Root>\n <SidecarBox.Head className=\"text-xs grid grid-rows-2 pb-0\">\n <span className=\"font-mono\">Example Responses</span>\n <div className=\"flex gap-2\">\n {responses.map((response, index) => (\n <div\n key={response.statusCode}\n onClick={() => setTabIndex(index)}\n className={cn(\n \"text-xs font-mono px-1.5 py-1 pb-px translate-y-px border-b-2 border-transparent rounded-t cursor-pointer\",\n tabIndex === index\n ? \"text-primary dark:text-inherit border-primary\"\n : \"hover:border-accent-foreground/25\",\n )}\n >\n {response.statusCode}\n </div>\n ))}\n </div>\n </SidecarBox.Head>\n <SidecarBox.Body>\n {schema ? (\n <SyntaxHighlight\n language=\"json\"\n noBackground\n className=\"text-xs\"\n code={JSON.stringify(generateSchemaExample(schema), null, 2)}\n />\n ) : (\n <span className=\"text-muted-foreground font-mono italic text-xs\">\n Empty Response\n </span>\n )}\n </SidecarBox.Body>\n <SidecarBox.Footer className=\"flex justify-end text-xs\">\n {responses[tabIndex].description}\n </SidecarBox.Footer>\n </SidecarBox.Root>\n );\n};\n","import { HTTPSnippet } from \"@zudoku/httpsnippet\";\nimport { Fragment, useMemo, useTransition } from \"react\";\nimport { useSearchParams } from \"react-router-dom\";\nimport { TextColorMap } from \"../../components/navigation/SidebarBadge.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport type { SchemaObject } from \"../../oas/parser/index.js\";\nimport { cn } from \"../../util/cn.js\";\nimport { ColorizedParam } from \"./ColorizedParam.js\";\nimport { useOasConfig } from \"./context.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport type { OperationListItemResult } from \"./OperationList.js\";\nimport { PlaygroundDialogWrapper } from \"./PlaygroundDialogWrapper.js\";\nimport { RequestBodySidecarBox } from \"./RequestBodySidecarBox.js\";\nimport { ResponsesSidecarBox } from \"./ResponsesSidecarBox.js\";\nimport * as SidecarBox from \"./SidecarBox.js\";\nimport { SimpleSelect } from \"./SimpleSelect.js\";\nimport { generateSchemaExample } from \"./util/generateSchemaExample.js\";\nimport { useQuery } from \"./util/urql.js\";\n\nconst getConverted = (snippet: HTTPSnippet, option: string) => {\n let converted;\n switch (option) {\n case \"shell\":\n converted = snippet.convert(\"shell\", \"curl\");\n break;\n case \"js\":\n converted = snippet.convert(\"javascript\", \"fetch\");\n break;\n case \"python\":\n converted = snippet.convert(\"python\", \"requests\");\n break;\n case \"java\":\n converted = snippet.convert(\"java\", \"okhttp\");\n break;\n case \"go\":\n converted = snippet.convert(\"go\", \"native\");\n break;\n case \"csharp\":\n converted = snippet.convert(\"csharp\", \"httpclient\");\n break;\n case \"kotlin\":\n converted = snippet.convert(\"kotlin\", \"okhttp\");\n break;\n case \"objc\":\n converted = snippet.convert(\"objc\", \"nsurlsession\");\n break;\n case \"php\":\n converted = snippet.convert(\"php\", \"http2\");\n break;\n case \"ruby\":\n converted = snippet.convert(\"ruby\");\n break;\n case \"swift\":\n converted = snippet.convert(\"swift\");\n break;\n default:\n converted = snippet.convert(\"shell\");\n break;\n }\n\n return converted ? converted[0] : \"\";\n};\n\nexport const GetServerQuery = graphql(/* GraphQL */ `\n query getServerQuery($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\n url\n }\n }\n`);\n\nconst context = { suspense: true };\n\nconst methodToColor = {\n get: TextColorMap.green,\n post: TextColorMap.blue,\n put: TextColorMap.yellow,\n delete: TextColorMap.red,\n patch: TextColorMap.purple,\n options: TextColorMap.indigo,\n head: TextColorMap.gray,\n trace: TextColorMap.gray,\n};\n\nexport const Sidecar = ({\n operation,\n}: {\n operation: OperationListItemResult;\n}) => {\n const oasConfig = useOasConfig();\n const [result] = useQuery({\n query: GetServerQuery,\n variables: oasConfig,\n context,\n });\n const methodTextColor =\n methodToColor[\n operation.method.toLocaleLowerCase() as keyof typeof methodToColor\n ] ?? TextColorMap.gray;\n\n const [searchParams, setSearchParams] = useSearchParams();\n const [, startTransition] = useTransition();\n\n const selectedLang = searchParams.get(\"lang\") ?? \"shell\";\n\n const requestBodyContent = operation.requestBody?.content;\n\n const path = operation.path.split(\"/\").map((part) => (\n <Fragment key={part}>\n {part.startsWith(\"{\") && part.endsWith(\"}\") ? (\n <ColorizedParam\n name={part.slice(1, -1)}\n backgroundOpacity=\"0\"\n // same as in `ParameterListItem`\n slug={operation.slug + \"-\" + part.slice(1, -1).toLocaleLowerCase()}\n >\n {part}\n </ColorizedParam>\n ) : (\n part\n )}\n /\n <wbr />\n </Fragment>\n ));\n\n const code = useMemo(() => {\n const example = requestBodyContent?.[0]?.schema\n ? generateSchemaExample(requestBodyContent[0].schema as SchemaObject)\n : undefined;\n\n const snippet = new HTTPSnippet(\n {\n method: operation.method.toLocaleUpperCase(),\n url: operation.path.replaceAll(\"{\", \":\").replaceAll(\"}\", \"\"),\n headers: [{ name: \"Authorization\", value: \"Bearer <token>\" }],\n postData: example\n ? {\n text: JSON.stringify(example, null, 2),\n mimeType: \"application/json\",\n }\n : {},\n } as never, // 👈 never touch this\n );\n\n return getConverted(snippet, selectedLang);\n }, [selectedLang, operation.method, operation.path, requestBodyContent]);\n\n return (\n <aside className=\"flex flex-col overflow-hidden sticky top-[--scroll-padding] gap-4\">\n <SidecarBox.Root>\n <SidecarBox.Head className=\"flex justify-between items-center flex-nowrap py-3 gap-2 text-xs\">\n <span className=\"font-mono break-words\">\n <span className={cn(\"font-semibold\", methodTextColor)}>\n {operation.method.toLocaleUpperCase()}\n </span>\n \n {path}\n </span>\n <PlaygroundDialogWrapper\n server={result.data?.schema.url ?? \"\"}\n operation={operation}\n />\n </SidecarBox.Head>\n <SidecarBox.Body>\n <SyntaxHighlight\n language={selectedLang}\n noBackground\n className=\"text-xs\"\n code={code}\n />\n </SidecarBox.Body>\n <SidecarBox.Footer className=\"flex items-center text-xs gap-2 justify-end py-1\">\n <span>Show example in</span>\n <SimpleSelect\n className=\"self-start max-w-[150px]\"\n value={selectedLang}\n onChange={(e) => {\n startTransition(() => {\n setSearchParams({ lang: e.target.value });\n });\n }}\n options={[\n { value: \"shell\", label: \"cURL\" },\n { value: \"js\", label: \"Javascript\" },\n { value: \"python\", label: \"Python\" },\n { value: \"java\", label: \"Java\" },\n { value: \"go\", label: \"Go\" },\n { value: \"csharp\", label: \"C#\" },\n { value: \"kotlin\", label: \"Kotlin\" },\n { value: \"objc\", label: \"Objective C\" },\n { value: \"php\", label: \"PHP\" },\n { value: \"ruby\", label: \"Ruby\" },\n { value: \"swift\", label: \"Swift\" },\n ]}\n />\n </SidecarBox.Footer>\n </SidecarBox.Root>\n {requestBodyContent && (\n <RequestBodySidecarBox content={requestBodyContent} />\n )}\n {operation.responses.length > 0 && (\n <ResponsesSidecarBox responses={operation.responses} />\n )}\n </aside>\n );\n};\n","import { matchPath, useRouteError, type RouteObject } from \"react-router-dom\";\nimport { type DevPortalPlugin } from \"../../core/plugins.js\";\nimport { graphql } from \"./graphql/index.js\";\nimport {\n Client as UrqlClient,\n cacheExchange,\n fetchExchange,\n} from \"./util/urql.js\";\n\nimport { useQuery } from \"@tanstack/react-query\";\nimport { CirclePlayIcon, LogInIcon } from \"lucide-react\";\nimport { createClient } from \"zudoku/openapi-worker\";\nimport type { SidebarItem } from \"../../../config/validators/SidebarSchema.js\";\nimport { useAuth } from \"../../authentication/hook.js\";\nimport { ErrorPage } from \"../../components/ErrorPage.js\";\nimport { ColorMap } from \"../../components/navigation/SidebarBadge.js\";\nimport { SyntaxHighlight } from \"../../components/SyntaxHighlight.js\";\nimport { Button } from \"../../ui/Button.js\";\nimport { joinPath } from \"../../util/joinPath.js\";\nimport { OasPluginConfig } from \"./interfaces.js\";\nimport type { PlaygroundContentProps } from \"./playground/Playground.js\";\nimport { PlaygroundDialog } from \"./playground/PlaygroundDialog.js\";\nimport { GetServerQuery } from \"./Sidecar.js\";\n\nconst GetCategoriesQuery = graphql(`\n query GetCategories($input: JSON!, $type: SchemaType!) {\n schema(input: $input, type: $type) {\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`);\n\nconst OpenApiErrorPage = () => {\n const error = useRouteError();\n const message =\n error instanceof Error ? (\n <SyntaxHighlight code={error.message} />\n ) : (\n \"An unknown error occurred\"\n );\n\n return (\n <ErrorPage category=\"Error\" title=\"An error occurred\" message={message} />\n );\n};\n\ntype InternalOasPluginConfig = { inMemory?: boolean };\n\nconst MethodColorMap: Record<string, keyof typeof ColorMap> = {\n get: \"green\",\n post: \"blue\",\n put: \"yellow\",\n delete: \"red\",\n patch: \"purple\",\n options: \"gray\",\n head: \"gray\",\n};\n\nexport const openApiPlugin = (\n config: OasPluginConfig & InternalOasPluginConfig,\n): DevPortalPlugin => {\n const basePath = joinPath(config.navigationId ?? \"/reference\");\n\n const client = config.server\n ? new UrqlClient({\n url: config.server,\n exchanges: [cacheExchange, fetchExchange],\n })\n : createClient({ useMemoryClient: config.inMemory ?? false });\n\n return {\n getHead: () => {\n if (config.type === \"url\" && !config.skipPreload) {\n return (\n <link\n rel=\"preload\"\n href={config.input}\n as=\"fetch\"\n crossOrigin=\"anonymous\"\n />\n );\n }\n\n if (config.server) {\n return <link rel=\"preconnect\" href={config.server} />;\n }\n },\n getMdxComponents: () => ({\n OpenPlaygroundButton: ({\n requireAuth,\n server,\n method,\n url,\n ...props\n }: Partial<PlaygroundContentProps> & { requireAuth: boolean }) => {\n const auth = useAuth();\n const serverQuery = useQuery({\n queryFn: async () => {\n const result = await client.query(GetServerQuery, {\n type: config.type,\n input: config.input,\n });\n\n return result.data;\n },\n enabled: !server,\n queryKey: [\"playground-server\"],\n });\n\n if (requireAuth && !auth.isAuthenticated) {\n return (\n <Button\n className=\"gap-2 items-center\"\n variant=\"outline\"\n onClick={auth.login}\n >\n Login to open in Playground <LogInIcon size={16} />\n </Button>\n );\n }\n\n return (\n <PlaygroundDialog\n url={url ?? \"/\"}\n method={method ?? \"get\"}\n server={\n server ?? serverQuery.data?.schema.url ?? \"https://example.com\"\n }\n {...props}\n >\n <Button className=\"gap-2 items-center\" variant=\"outline\">\n Open in Playground <CirclePlayIcon size={16} />\n </Button>\n </PlaygroundDialog>\n );\n },\n }),\n getSidebar: async (path: string) => {\n if (!matchPath({ path: basePath, end: false }, path)) {\n return [];\n }\n\n const { data } = await client.query(GetCategoriesQuery, {\n input: config.input,\n type: config.type,\n });\n\n if (!data) return [];\n\n const categories = data.schema.tags\n .filter((tag) => tag.operations.length > 0)\n .map<SidebarItem>((tag) => ({\n type: \"category\",\n label: tag.name ?? \"\",\n collapsible: false,\n collapsed: false,\n items: tag.operations.map((operation) => ({\n type: \"link\",\n label: operation.summary ?? operation.path,\n href: `#${operation.slug}`,\n badge: {\n label: operation.method,\n color: MethodColorMap[operation.method.toLowerCase()],\n },\n })),\n }));\n\n categories.unshift({\n type: \"link\",\n label: \"Overview\",\n href: \"#description\",\n });\n\n return categories;\n },\n getRoutes: () =>\n [\n {\n async lazy() {\n const { OpenApiRoute } = await import(\"./Route.js\");\n return {\n element: <OpenApiRoute client={client} config={config} />,\n };\n },\n errorElement: <OpenApiErrorPage />,\n children: [\n {\n path: basePath,\n children: [\n {\n index: true,\n async lazy() {\n const { OperationList } = await import(\n \"./OperationList.js\"\n );\n return { element: <OperationList /> };\n },\n },\n ],\n },\n ],\n },\n ] satisfies RouteObject[],\n };\n};\n"],"names":["ChevronsUpDown","createLucideIcon","CirclePlay","Eraser","LogIn","X","OperationsFragmentFragmentDoc","AllOperationsDocument","GetServerQueryDocument","GetCategoriesDocument","documents","types.OperationsFragmentFragmentDoc","types.AllOperationsDocument","types.GetServerQueryDocument","types.GetCategoriesDocument","graphql","source","ErrorPage","title","message","category","jsxs","ProseClasses","jsx","CategoryHeading","Heading","Link","DIALOG_NAME","createDialogContext","createDialogScope","createContextScope","DialogProvider","useDialogContext","Dialog","props","__scopeDialog","children","openProp","defaultOpen","onOpenChange","modal","triggerRef","React","contentRef","open","setOpen","useControllableState","useId","prevOpen","TRIGGER_NAME","DialogTrigger","forwardedRef","triggerProps","context","composedTriggerRef","useComposedRefs","Primitive","getState","composeEventHandlers","PORTAL_NAME","PortalProvider","usePortalContext","DialogPortal","forceMount","container","child","Presence","PortalPrimitive","OVERLAY_NAME","DialogOverlay","portalContext","overlayProps","DialogOverlayImpl","RemoveScroll","Slot","CONTENT_NAME","DialogContent","contentProps","DialogContentModal","DialogContentNonModal","composedRefs","content","hideOthers","DialogContentImpl","event","_a","originalEvent","ctrlLeftClick","hasInteractedOutsideRef","hasPointerDownOutsideRef","_b","target","trapFocus","onOpenAutoFocus","onCloseAutoFocus","useFocusGuards","Fragment","FocusScope","DismissableLayer","TitleWarning","DescriptionWarning","TITLE_NAME","DialogTitle","titleProps","DESCRIPTION_NAME","DialogDescription","descriptionProps","CLOSE_NAME","DialogClose","closeProps","TITLE_WARNING_NAME","WarningProvider","useWarningContext","createContext","titleId","titleWarningContext","MESSAGE","DESCRIPTION_WARNING_NAME","descriptionId","describedById","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","DialogPrimitive.Root","DialogPrimitive.Trigger","DialogPrimitive.Portal","className","ref","DialogPrimitive.Overlay","cn","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogPrimitive.Title","DialogPrimitive.Description","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","TABS_NAME","createTabsContext","createTabsScope","createRovingFocusGroupScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","valueProp","onValueChange","defaultValue","orientation","dir","activationMode","tabsProps","direction","useDirection","value","setValue","TAB_LIST_NAME","TabsList","loop","listProps","rovingFocusGroupScope","RovingFocusGroup.Root","TabsTrigger","disabled","triggerId","makeTriggerId","contentId","makeContentId","isSelected","RovingFocusGroup.Item","isAutomaticActivation","TabsContent","isMountAnimationPreventedRef","rAF","present","baseId","Root2","List","TabsPrimitive.Root","TabsPrimitive.List","TabsPrimitive.Trigger","TabsPrimitive.Content","fetchTimeout","input","init","timeout","controller","signal","fetchPromise","timeoutPromise","_","reject","timer","c2n","c","s2n","s","a","pastellize","options","hue","saturation","lightness","DATA_ATTR","usePastellizedColor","name","isDark","useTheme","ColorizedParam","backgroundOpacity","borderOpacity","slug","onClick","useRef","normalized","normalizedSlug","color","borderColor","backgroundColor","useEffect","onMouseEnter","el","onMouseLeave","createUrl","host","path","data","filledPath","key","part","url","param","createVariantComponent","tag","cvx","MyVariant","asChild","Comp","InlineInput","Headers","control","register","fields","append","remove","useFieldArray","selectedIdentity","useWatch","liveHeaders","disableAuth","NO_IDENTITY","header","i","isDisabledByAuth","TriangleAlertIcon","Button","PathParams","Controller","field","Input","EraserIcon","QueryParams","queryParams","form","useFormContext","requiredFields","hasSelectedIdentity","e","SimpleSelect","onChange","option","ChevronsUpDownIcon","mimeTypeToLanguage","mimeType","mime","detectLanguage","headers","contentType","tryParseJson","body","ResponseTab","detectedLanguage","jsonContent","beautifiedBody","view","setView","useState","SyntaxHighlight","statusCodeMap","Playground","server","method","pathParams","defaultBody","handleSubmit","watch","useForm","formState","identities","useApiIdentities","setOnce","firstIdentity","queryMutation","useMutation","requestUrl","start","request","h","response","time","arr","isPathParam","replaced","p","pathParamValue","headerEntries","urlQueryParams","FormProvider","Select","SelectTrigger","Spinner","SelectValue","SelectContent","SelectItem","_c","identity","PlaygroundDialog","CirclePlayIcon","VisuallyHidden","reducer","accumulator","pair","currentValue","DEFAULT_INDENTATION_CHARACTER","DEFAULT_LINE_JOIN","CodeBuilder","indent","join","line","indentationLevel","newLine","unreplacedCode","replacer","postProcessor","isRegexp","re","isObj","x","type","lib","object","keySymbol","require$$0","require$$1","getOwnEnumPropSymbols","require$$2","stringifyObject","val","opts","pad","seen","stringify","tokens","expandWhiteSpace","string","oneLined","ret","eol","objKeys","isSymbol","isClassic","escapeString","rawValue","delimiter","escapeChar","escapeNewlines","c2","escapeForSingleQuotes","escapeForDoubleQuotes","libcurl","fullUrl","headersObj","allHeaders","postData","push","blank","getHeaderName","getHeader","headerName","hasHeader","isMimeTypeJSON","Keyword","File","jsType","objEmpty","filterEmpty","padBlock","padSize","padding","jsToEdn","js","obj","clj_http","queryObj","methods","params2","formattedParams","clojure","getDecompressionMethods","acceptEncodings","supportedMethods2","acceptEncoding","encoding","match","httpclient","clienthandler","cookies","decompressionMethods","restsharp","uriObj","isMultipart","text","csharp","native","showBoilerplate","checkErrors","printBody","errorPlaceholder","errorCheck","hasTimeout","hasClient","client","go","CRLF","http11","httpVersion","headerKeys","keyCapitalized","length","headerSection","messageBody","http","asynchttp","nethttp","okhttp","methodsWithBody","unirest","java","axios","addPostProcessor","requestOptions","code","optionString","stringifyObject9","fetch","inputOpts","contentTypeHeader","property","originalResult","jquery","settings","stringifiedSettings","xhr","javascript","native2","payload","multipartPayload","json","okhttp2","kotlin","axios2","reqOpts","stringifiedOptions","fetch2","includeFS","unshift","cookiesString","native3","attachment","unirest2","cookie","multipart","node","nsDeclaration","nsClass","parameters","opening","literal","literalRepresentation","indentation","keyValuePairs","nsurlsession","req","head","tail","objc","cohttp","b","ocaml","convertType","lastIndent","contents","item","result","supportedMethods","curl","closingTag","maxRedirects","namedErrors","noTags","shortTags","curlOptions","curlopts","escape2","curlCookies","guzzle","requestCode","requestPush","requestJoin","cookieString","http1","cookiesObj","http2","hasBody","files","fileName","formValue","php","generatePowershellConvert","command","commandOptions","restmethod","webrequest","powershell","concatValues","concatType","values","pretty","indentLevel","currentIndent","closingBraceIndent","openingBrace","closingBrace","literalRepresentation2","valuesRepresentation","v","builtInMethods","requests","hasFiles","hasPayload","jsonPayload","nonFilePayload","stringPayload","headerCount","count","request2","python","httr","queryString","qs","queryCount","query","cookieHeader","acceptHeader","setCookies","setAccept","setContentType","otherHeaders","setHeaders","headerAdditions","r","native4","rawMethod","capMethod","ruby","quote","escape","params","getArg","short","longName","shortName","curl2","binary","globOff","indentJSON","arg","formattedUrl","contentTypeHeaderName","noBoundary","post","unencoded","encoded","needsEncoding","flag","builtPayload","httpie","raw","flags","cliFlags","postDataText","wget","shell","buildString","str","concatArray","literalDeclaration","literalRepresentation3","urlsession","queries","swift","targets","root","freeExports","exports","freeModule","module","freeGlobal","global","punycode","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","floor","stringFromCharCode","error","map","array","fn","mapDomain","parts","labels","ucs2decode","output","counter","extra","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","decode","inputLength","out","n","bias","basic","j","index","oldi","w","t","baseMinusT","encode","handledCPCount","basicLength","m","q","handledCPCountPlusOne","qMinusT","toUnicode","toASCII","this","esErrors","_eval","range","syntax","uri","shams","sym","symObj","symVal","syms","descriptor","origSymbol","hasSymbolSham","hasSymbols","test","$Object","hasProto","ERROR_MESSAGE","toStr","max","funcType","concatty","slicy","arrLike","offset","joiny","joiner","implementation","that","args","bound","binder","boundLength","boundArgs","Empty","functionBind","call","$hasOwn","bind","hasown","undefined","$Error","$EvalError","$RangeError","$ReferenceError","require$$3","$SyntaxError","require$$4","$TypeError","require$$5","$URIError","require$$6","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","require$$7","require$$8","getProto","needsEval","TypedArray","INTRINSICS","errorProto","doEval","gen","LEGACY_ALIASES","require$$9","hasOwn","require$$10","$concat","$spliceApply","$replace","$strSlice","$exec","rePropName","reEscapeChar","stringToPath","first","last","number","subString","getBaseIntrinsic","allowMissing","intrinsicName","alias","getIntrinsic","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","isOwn","desc","GetIntrinsic","$defineProperty","esDefineProperty","gopd","defineDataProperty","nonEnumerable","nonWritable","nonConfigurable","loose","hasPropertyDescriptors","hasPropertyDescriptors_1","define","hasDescriptors","gOPD","$floor","setFunctionLength","functionLengthIsConfigurable","functionLengthIsWritable","$apply","$call","$reflectApply","$max","originalFunction","func","applyBind","callBind","$indexOf","callBound","__viteBrowserExternal","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","hasWeakMap","weakMapHas","hasWeakSet","weakSetHas","hasWeakRef","weakRefDeref","booleanValueOf","objectToString","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","toStringTag","isEnumerable","gPO","O","addNumericSeparator","num","sepRegex","int","intStr","dec","utilInspect","inspectCustom","inspectSymbol","objectInspect","inspect_","depth","has","customInspect","numericSeparator","inspectString","bigIntStr","maxDepth","isArray","getIndent","indexOf","inspect","from","noIndent","newOpts","isRegExp","nameOf","keys","arrObjKeys","symString","markBoxed","isElement","attrs","wrapQuotes","xs","singleLineValues","indentedJoin","isError","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isNumber","isBigInt","isBoolean","isString","isDate","ys","isPlainObject","protoTag","stringTag","constructorTag","defaultStyle","quoteChar","f","l","remaining","trailer","lowbyte","size","entries","joinedEntries","baseIndent","lineJoiner","isArr","symMap","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","list","prev","curr","listGet","objects","listSet","listHas","sideChannel","$wm","$m","$o","channel","replace","percentTwenties","Format","formats","hexTable","compactQueue","queue","compacted","arrayToObject","merge","mergeTarget","targetItem","acc","assign","decoder","charset","strWithoutPlus","limit","defaultEncoder","kind","format","$0","segment","compact","refs","isBuffer","combine","maybeMap","mapped","utils","getSideChannel","arrayPrefixGenerators","prefix","pushToArray","valueOrArray","toISO","defaultFormat","defaults","date","isNonNullishPrimitive","sentinel","generateArrayPrefix","commaRoundTrip","allowEmptyArrays","strictNullHandling","skipNulls","encodeDotInKeys","encoder","filter","sort","allowDots","serializeDate","formatter","encodeValuesOnly","tmpSc","step","findFlag","pos","keyValue","encodedPrefix","adjustedPrefix","encodedKey","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","stringify_1","joined","interpretNumericEntities","numberStr","parseArrayValue","isoSentinel","charsetSentinel","parseValues","cleanStr","skipIndex","bracketEqualsPos","encodedVal","existing","parseObject","chain","valuesParsed","leaf","cleanRoot","decodedRoot","parseKeys","givenKey","brackets","parent","normalizeParseOptions","duplicates","parse","tempObj","newObj","Url","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","urlParse","parseQueryString","slashesDenoteHost","u","queryIndex","splitter","uSplit","slashRegex","rest","simplePath","proto","lowerProto","slashes","hostEnd","hec","auth","atSign","ipv6Hostname","hostparts","newpart","validParts","notHost","bit","ae","esc","hash","qm","urlFormat","protocol","pathname","search","relative","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","authInHost","hasTrailingSlash","up","isAbsolute","port","isHarEntry","HTTPSnippet","harRequest","http2VersionRegex","boundary","carriage","rn","normalizeLinefeeds","filename","urlWithParsedQuery","targetId","clientId","convert","OasContext","OasConfigProvider","useOasConfig","ctx","useContext","PlaygroundDialogWrapper","operation","Head","Body","Footer","isObject","generateSchemaExample","schema","processComplexTypes","properties","propSchema","RequestBodySidecarBox","SidecarBox.Root","SidecarBox.Head","SidecarBox.Body","ResponsesSidecarBox","responses","tabIndex","setTabIndex","SidecarBox.Footer","getConverted","snippet","converted","GetServerQuery","methodToColor","TextColorMap","Sidecar","oasConfig","useQuery","methodTextColor","searchParams","setSearchParams","useSearchParams","startTransition","useTransition","selectedLang","requestBodyContent","useMemo","example","GetCategoriesQuery","OpenApiErrorPage","useRouteError","MethodColorMap","openApiPlugin","config","basePath","joinPath","UrqlClient","cacheExchange","fetchExchange","createClient","requireAuth","useAuth","serverQuery","LogInIcon","matchPath","categories","OpenApiRoute","OperationList"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,8,11,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64]}
|