zudoku 0.12.2 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/main.js +3 -3
- package/dist/app/main.js.map +1 -1
- package/dist/cli/dev/handler.js +2 -2
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/validators/validate.d.ts +42 -23
- package/dist/config/validators/validate.js +6 -2
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/lib/components/Banner.js +7 -1
- package/dist/lib/components/Banner.js.map +1 -1
- package/dist/lib/components/Header.js +1 -1
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/Layout.js +1 -1
- package/dist/lib/components/Layout.js.map +1 -1
- package/dist/lib/components/MobileTopNavigation.js +2 -1
- package/dist/lib/components/MobileTopNavigation.js.map +1 -1
- package/dist/lib/components/Search.js +1 -1
- package/dist/lib/components/Search.js.map +1 -1
- package/dist/lib/components/SlotletProvider.d.ts +9 -2
- package/dist/lib/components/SlotletProvider.js +4 -2
- package/dist/lib/components/SlotletProvider.js.map +1 -1
- package/dist/lib/components/index.d.ts +2 -1
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/core/DevPortalContext.d.ts +1 -1
- package/dist/lib/oas/graphql/index.js +2 -6
- package/dist/lib/oas/graphql/index.js.map +1 -1
- package/dist/lib/plugins/custom-pages/CustomPage.d.ts +2 -0
- package/dist/lib/plugins/custom-pages/CustomPage.js +10 -0
- package/dist/lib/plugins/custom-pages/CustomPage.js.map +1 -0
- package/dist/lib/plugins/custom-pages/index.d.ts +10 -0
- package/dist/lib/plugins/custom-pages/index.js +11 -0
- package/dist/lib/plugins/custom-pages/index.js.map +1 -0
- package/dist/lib/plugins/openapi/Endpoint.js +1 -1
- package/dist/lib/plugins/openapi/Endpoint.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +1 -1
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/Route.d.ts +1 -1
- package/dist/lib/plugins/openapi/Route.js +1 -1
- package/dist/lib/plugins/openapi/Route.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js +1 -1
- package/dist/lib/plugins/openapi/client/createMemoryClient.js.map +1 -1
- package/dist/lib/plugins/openapi/client/createWorkerClient.js +1 -1
- package/dist/lib/plugins/openapi/client/createWorkerClient.js.map +1 -1
- package/dist/lib/plugins/openapi/index.js +1 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/ui/Callout.d.ts +36 -35
- package/dist/lib/ui/Callout.js.map +1 -1
- package/dist/lib/ui/Drawer.d.ts +8 -10
- package/dist/lib/ui/Drawer.js.map +1 -1
- package/dist/lib/util/useExposedProps.d.ts +2 -0
- package/dist/lib/util/useExposedProps.js +8 -0
- package/dist/lib/util/useExposedProps.js.map +1 -0
- package/dist/vite/config.js +2 -0
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.d.ts +6 -1
- package/dist/vite/dev-server.js +13 -3
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/plugin-component.js +0 -1
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-custom-pages.d.ts +4 -0
- package/dist/vite/plugin-custom-pages.js +30 -0
- package/dist/vite/plugin-custom-pages.js.map +1 -0
- package/dist/vite/plugin.js +2 -0
- package/dist/vite/plugin.js.map +1 -1
- package/lib/{AuthenticationPlugin-Bx9FK124.js → AuthenticationPlugin-CbgJ5SAh.js} +3 -3
- package/lib/{AuthenticationPlugin-Bx9FK124.js.map → AuthenticationPlugin-CbgJ5SAh.js.map} +1 -1
- package/lib/{DeveloperHint-YeWHKvyr.js → DeveloperHint-CiXPc9Xm.js} +2 -2
- package/lib/{DeveloperHint-YeWHKvyr.js.map → DeveloperHint-CiXPc9Xm.js.map} +1 -1
- package/lib/ErrorPage-B-zoPPVx.js +15 -0
- package/lib/{ErrorPage-CsZAN_za.js.map → ErrorPage-B-zoPPVx.js.map} +1 -1
- package/lib/Input-QMLhK7Rb.js +2229 -0
- package/lib/Input-QMLhK7Rb.js.map +1 -0
- package/lib/{Markdown-DapSf3wG.js → Markdown-D6Nze6qq.js} +3281 -5392
- package/lib/Markdown-D6Nze6qq.js.map +1 -0
- package/lib/{MdxPage-BqBWsXZ1.js → MdxPage-DBhq6-5F.js} +15 -15
- package/lib/{MdxPage-BqBWsXZ1.js.map → MdxPage-DBhq6-5F.js.map} +1 -1
- package/lib/{OperationList-CYrmxPa8.js → OperationList-Ba24gUd2.js} +50 -51
- package/lib/OperationList-Ba24gUd2.js.map +1 -0
- package/lib/{Route-Q5mqNQrv.js → Route-DI38nxYt.js} +3 -4
- package/lib/Route-DI38nxYt.js.map +1 -0
- package/lib/SidebarBadge-B9-VJSQr.js +503 -0
- package/lib/SidebarBadge-B9-VJSQr.js.map +1 -0
- package/lib/{SlotletProvider-D3UD5Go3.js → SlotletProvider-Cb8mGpBO.js} +46 -46
- package/lib/{SlotletProvider-D3UD5Go3.js.map → SlotletProvider-Cb8mGpBO.js.map} +1 -1
- package/lib/ZudokuContext-BEmsYQoq.js +1173 -0
- package/lib/ZudokuContext-BEmsYQoq.js.map +1 -0
- package/lib/assets/{index-B9EWVYfo.js → index-B_Jk_Yzp.js} +968 -938
- package/lib/assets/index-B_Jk_Yzp.js.map +1 -0
- package/lib/assets/{worker-Bcj4NA2p.js → worker-Bf8vjASY.js} +4582 -4303
- package/lib/assets/worker-Bf8vjASY.js.map +1 -0
- package/lib/cn-BmFQLtkS.js +2279 -0
- package/lib/cn-BmFQLtkS.js.map +1 -0
- package/lib/{index-BG0g4WW0.js → index-BRCiYFaL.js} +747 -737
- package/lib/index-BRCiYFaL.js.map +1 -0
- package/lib/{index-CLd8ycZz.js → index-CkwDvuPt.js} +947 -917
- package/lib/index-CkwDvuPt.js.map +1 -0
- package/lib/{index-LNp6rxyU.js → index-D06ATMgg.js} +2 -2
- package/lib/{index-LNp6rxyU.js.map → index-D06ATMgg.js.map} +1 -1
- package/lib/{index-BlJ2rj99.js → index-DA74gNq3.js} +1124 -974
- package/lib/index-DA74gNq3.js.map +1 -0
- package/lib/index-DJqnphbT.js +35 -0
- package/lib/{index-Bn6Lc9tq.js.map → index-DJqnphbT.js.map} +1 -1
- package/lib/{index-BngPzhKn.js → index-dgcPryXi.js} +3 -3
- package/lib/{index-BngPzhKn.js.map → index-dgcPryXi.js.map} +1 -1
- package/lib/{index-Dolisrci.js → index-g_JJcuFg.js} +603 -549
- package/lib/index-g_JJcuFg.js.map +1 -0
- package/lib/router-Oe6YmY6B.js +3024 -0
- package/lib/router-Oe6YmY6B.js.map +1 -0
- package/lib/state-CsuHT8ZO.js +183 -0
- package/lib/state-CsuHT8ZO.js.map +1 -0
- package/lib/urql-core-KJnLL26g.js +1455 -0
- package/lib/urql-core-KJnLL26g.js.map +1 -0
- package/lib/useExposedProps-Csw8oAlt.js +9 -0
- package/lib/useExposedProps-Csw8oAlt.js.map +1 -0
- package/lib/{utils-ByIc_KIM.js → utils-Chi3p5nE.js} +4 -4
- package/lib/utils-Chi3p5nE.js.map +1 -0
- package/lib/zudoku.auth-auth0.js +1 -1
- package/lib/zudoku.auth-clerk.js +2 -2
- package/lib/zudoku.auth-openid.js +363 -350
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +1697 -1623
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.openapi-worker.js +4599 -4319
- package/lib/zudoku.openapi-worker.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +7 -7
- package/lib/zudoku.plugin-custom-pages.js +21 -0
- package/lib/zudoku.plugin-custom-pages.js.map +1 -0
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +8 -8
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/package.json +61 -68
- package/src/app/main.tsx +3 -3
- package/src/lib/components/Banner.tsx +12 -2
- package/src/lib/components/Header.tsx +4 -2
- package/src/lib/components/Layout.tsx +1 -0
- package/src/lib/components/MobileTopNavigation.tsx +4 -0
- package/src/lib/components/Search.tsx +1 -1
- package/src/lib/components/SlotletProvider.tsx +27 -4
- package/src/lib/components/index.ts +1 -1
- package/src/lib/core/DevPortalContext.ts +1 -1
- package/src/lib/oas/graphql/index.ts +3 -11
- package/src/lib/plugins/custom-pages/CustomPage.tsx +15 -0
- package/src/lib/plugins/custom-pages/index.tsx +24 -0
- package/src/lib/plugins/openapi/Endpoint.tsx +1 -1
- package/src/lib/plugins/openapi/OperationList.tsx +1 -1
- package/src/lib/plugins/openapi/Route.tsx +1 -2
- package/src/lib/plugins/openapi/Sidecar.tsx +1 -1
- package/src/lib/plugins/openapi/client/createMemoryClient.ts +1 -6
- package/src/lib/plugins/openapi/client/createWorkerClient.ts +1 -6
- package/src/lib/plugins/openapi/index.tsx +1 -5
- package/src/lib/ui/Callout.tsx +7 -6
- package/src/lib/ui/Drawer.tsx +38 -36
- package/src/lib/util/useExposedProps.tsx +10 -0
- package/dist/lib/plugins/custom-page/index.d.ts +0 -8
- package/dist/lib/plugins/custom-page/index.js +0 -12
- package/dist/lib/plugins/custom-page/index.js.map +0 -1
- package/dist/lib/plugins/openapi/playground/Editor.d.ts +0 -1
- package/dist/lib/plugins/openapi/playground/Editor.js +0 -5
- package/dist/lib/plugins/openapi/playground/Editor.js.map +0 -1
- package/dist/lib/plugins/openapi/util/urql.d.ts +0 -7
- package/dist/lib/plugins/openapi/util/urql.js +0 -8
- package/dist/lib/plugins/openapi/util/urql.js.map +0 -1
- package/lib/CategoryHeading-ovR-zHRq.js +0 -10
- package/lib/CategoryHeading-ovR-zHRq.js.map +0 -1
- package/lib/ErrorPage-CsZAN_za.js +0 -16
- package/lib/Input-CtVUl3eT.js +0 -2198
- package/lib/Input-CtVUl3eT.js.map +0 -1
- package/lib/Markdown-DapSf3wG.js.map +0 -1
- package/lib/OperationList-CYrmxPa8.js.map +0 -1
- package/lib/Route-Q5mqNQrv.js.map +0 -1
- package/lib/SidebarBadge-Dx7jtnoA.js +0 -498
- package/lib/SidebarBadge-Dx7jtnoA.js.map +0 -1
- package/lib/ZudokuContext-cr-pTRY1.js +0 -1084
- package/lib/ZudokuContext-cr-pTRY1.js.map +0 -1
- package/lib/_commonjsHelpers-BkfeUUK-.js +0 -29
- package/lib/_commonjsHelpers-BkfeUUK-.js.map +0 -1
- package/lib/assets/index-B9EWVYfo.js.map +0 -1
- package/lib/assets/worker-Bcj4NA2p.js.map +0 -1
- package/lib/index-BG0g4WW0.js.map +0 -1
- package/lib/index-BlJ2rj99.js.map +0 -1
- package/lib/index-Bn6Lc9tq.js +0 -9
- package/lib/index-CLd8ycZz.js.map +0 -1
- package/lib/index-Dolisrci.js.map +0 -1
- package/lib/router-D2p7Olpn.js +0 -2971
- package/lib/router-D2p7Olpn.js.map +0 -1
- package/lib/state-hNe1dw4B.js +0 -548
- package/lib/state-hNe1dw4B.js.map +0 -1
- package/lib/urql-YhcsXYy8.js +0 -1591
- package/lib/urql-YhcsXYy8.js.map +0 -1
- package/lib/utils-ByIc_KIM.js.map +0 -1
- package/lib/zudoku.plugin-custom-page.js +0 -13
- package/lib/zudoku.plugin-custom-page.js.map +0 -1
- package/src/lib/plugins/custom-page/index.tsx +0 -22
- package/src/lib/plugins/openapi/playground/Editor.tsx +0 -4
- package/src/lib/plugins/openapi/util/urql.ts +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DA74gNq3.js","sources":["../../../node_modules/.pnpm/urql@4.1.0_@urql+core@5.0.4_graphql@16.9.0__react@18.3.1/node_modules/urql/dist/urql.es.js","../src/lib/plugins/openapi/graphql/graphql.ts","../src/lib/plugins/openapi/graphql/gql.ts","../src/lib/components/Dialog.tsx","../src/lib/ui/Card.tsx","../../../node_modules/.pnpm/@radix-ui+react-tabs@1.1.1_@types+react-dom@18.3.1_@types+react@18.3.11_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/pastellize.ts","../src/lib/plugins/openapi/ColorizedParam.tsx","../src/lib/plugins/openapi/playground/createUrl.ts","../src/lib/plugins/openapi/playground/Headers.tsx","../src/lib/plugins/openapi/playground/PathParams.tsx","../src/lib/util/createVariantComponent.tsx","../src/lib/plugins/openapi/playground/InlineInput.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.2/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.13.0/node_modules/qs/lib/formats.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/utils.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/stringify.js","../../../node_modules/.pnpm/qs@6.13.0/node_modules/qs/lib/parse.js","../../../node_modules/.pnpm/qs@6.13.0/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":["import { createRequest as e } from \"@urql/core\";\n\nexport * from \"@urql/core\";\n\nimport * as r from \"react\";\n\nimport { toPromise as t, take as a, filter as n, onPush as u, subscribe as i, takeWhile as s, onEnd as o } from \"wonka\";\n\nvar c = {};\n\nvar v = r.createContext(c);\n\nvar f = v.Provider;\n\nvar l = v.Consumer;\n\nv.displayName = \"UrqlContext\";\n\nvar useClient = () => {\n var e = r.useContext(v);\n if (e === c && \"production\" !== process.env.NODE_ENV) {\n var t = \"No client has been specified using urql's Provider. please create a client and add a Provider.\";\n console.error(t);\n throw new Error(t);\n }\n return e;\n};\n\nvar d = {\n fetching: !1,\n stale: !1,\n error: void 0,\n data: void 0,\n extensions: void 0,\n operation: void 0\n};\n\nvar areOperationsEqual = (e, r) => e === r || !(!e || !r || e.key !== r.key);\n\nvar computeNextState = (e, r) => {\n var t = {\n ...e,\n ...r,\n data: void 0 !== r.data || r.error ? r.data : e.data,\n fetching: !!r.fetching,\n stale: !!r.stale\n };\n return ((e, r) => {\n for (var t in e) {\n if (!(t in r)) {\n return !0;\n }\n }\n for (var a in r) {\n if (\"operation\" === a ? !areOperationsEqual(e[a], r[a]) : e[a] !== r[a]) {\n return !0;\n }\n }\n return !1;\n })(e, t) ? t : e;\n};\n\nvar hasDepsChanged = (e, r) => {\n for (var t = 0, a = r.length; t < a; t++) {\n if (e[t] !== r[t]) {\n return !0;\n }\n }\n return !1;\n};\n\nvar p = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction deferDispatch(e, r) {\n if (\"production\" !== process.env.NODE_ENV && p && p.ReactCurrentOwner && p.ReactCurrentOwner.current) {\n Promise.resolve(r).then(e);\n } else {\n e(r);\n }\n}\n\nfunction useMutation(i) {\n var s = r.useRef(!0);\n var o = useClient();\n var [c, v] = r.useState(d);\n var f = r.useCallback(((r, c) => {\n deferDispatch(v, {\n ...d,\n fetching: !0\n });\n return t(a(1)(n((e => !e.hasNext))(u((e => {\n if (s.current) {\n deferDispatch(v, {\n fetching: !1,\n stale: e.stale,\n data: e.data,\n error: e.error,\n extensions: e.extensions,\n operation: e.operation\n });\n }\n }))(o.executeMutation(e(i, r), c || {})))));\n }), [ o, i, v ]);\n r.useEffect((() => {\n s.current = !0;\n return () => {\n s.current = !1;\n };\n }), []);\n return [ c, f ];\n}\n\nfunction useRequest(t, a) {\n var n = r.useRef(void 0);\n return r.useMemo((() => {\n var r = e(t, a);\n if (void 0 !== n.current && n.current.key === r.key) {\n return n.current;\n } else {\n n.current = r;\n return r;\n }\n }), [ t, a ]);\n}\n\nvar getCacheForClient = e => {\n if (!e._react) {\n var r = new Set;\n var t = new Map;\n if (e.operations$) {\n i((e => {\n if (\"teardown\" === e.kind && r.has(e.key)) {\n r.delete(e.key);\n t.delete(e.key);\n }\n }))(e.operations$);\n }\n e._react = {\n get: e => t.get(e),\n set(e, a) {\n r.delete(e);\n t.set(e, a);\n },\n dispose(e) {\n r.add(e);\n }\n };\n }\n return e._react;\n};\n\nvar isSuspense = (e, r) => r && void 0 !== r.suspense ? !!r.suspense : e.suspense;\n\nfunction useQuery(e) {\n var t = useClient();\n var a = getCacheForClient(t);\n var n = isSuspense(t, e.context);\n var c = useRequest(e.query, e.variables);\n var v = r.useMemo((() => {\n if (e.pause) {\n return null;\n }\n var r = t.executeQuery(c, {\n requestPolicy: e.requestPolicy,\n ...e.context\n });\n return n ? u((e => {\n a.set(c.key, e);\n }))(r) : r;\n }), [ a, t, c, n, e.pause, e.requestPolicy, e.context ]);\n var f = r.useCallback(((e, r) => {\n if (!e) {\n return {\n fetching: !1\n };\n }\n var t = a.get(c.key);\n if (!t) {\n var n;\n var u = i((e => {\n t = e;\n if (n) {\n n(t);\n }\n }))(s((() => r && !n || !t))(e));\n if (null == t && r) {\n var o = new Promise((e => {\n n = e;\n }));\n a.set(c.key, o);\n throw o;\n } else {\n u.unsubscribe();\n }\n } else if (r && null != t && \"then\" in t) {\n throw t;\n }\n return t || {\n fetching: !0\n };\n }), [ a, c ]);\n var l = [ t, c, e.requestPolicy, e.context, e.pause ];\n var [p, h] = r.useState((() => [ v, computeNextState(d, f(v, n)), l ]));\n var y = p[1];\n if (v !== p[0] && hasDepsChanged(p[2], l)) {\n h([ v, y = computeNextState(p[1], f(v, n)), l ]);\n }\n r.useEffect((() => {\n var e = p[0];\n var r = p[2][1];\n var t = !1;\n var updateResult = e => {\n t = !0;\n deferDispatch(h, (r => {\n var t = computeNextState(r[1], e);\n return r[1] !== t ? [ r[0], t, r[2] ] : r;\n }));\n };\n if (e) {\n var n = i(updateResult)(o((() => {\n updateResult({\n fetching: !1\n });\n }))(e));\n if (!t) {\n updateResult({\n fetching: !0\n });\n }\n return () => {\n a.dispose(r.key);\n n.unsubscribe();\n };\n } else {\n updateResult({\n fetching: !1\n });\n }\n }), [ a, p[0], p[2][1] ]);\n var x = r.useCallback((r => {\n var i = {\n requestPolicy: e.requestPolicy,\n ...e.context,\n ...r\n };\n deferDispatch(h, (e => [ n ? u((e => {\n a.set(c.key, e);\n }))(t.executeQuery(c, i)) : t.executeQuery(c, i), e[1], l ]));\n }), [ t, a, c, n, e.requestPolicy, e.context, e.pause ]);\n return [ y, x ];\n}\n\nfunction useSubscription(e, t) {\n var a = useClient();\n var n = useRequest(e.query, e.variables);\n var u = r.useRef(t);\n u.current = t;\n var s = r.useMemo((() => !e.pause ? a.executeSubscription(n, e.context) : null), [ a, n, e.pause, e.context ]);\n var c = [ a, n, e.context, e.pause ];\n var [v, f] = r.useState((() => [ s, {\n ...d,\n fetching: !!s\n }, c ]));\n var l = v[1];\n if (s !== v[0] && hasDepsChanged(v[2], c)) {\n f([ s, l = computeNextState(v[1], {\n fetching: !!s\n }), c ]);\n }\n r.useEffect((() => {\n var updateResult = e => {\n deferDispatch(f, (r => {\n var t = computeNextState(r[1], e);\n if (r[1] === t) {\n return r;\n }\n if (u.current && null != t.data && r[1].data !== t.data) {\n t.data = u.current(r[1].data, t.data);\n }\n return [ r[0], t, r[2] ];\n }));\n };\n if (v[0]) {\n return i(updateResult)(o((() => {\n updateResult({\n fetching: !!s\n });\n }))(v[0])).unsubscribe;\n } else {\n updateResult({\n fetching: !1\n });\n }\n }), [ v[0] ]);\n var p = r.useCallback((r => {\n var t = a.executeSubscription(n, {\n ...e.context,\n ...r\n });\n deferDispatch(f, (e => [ t, e[1], c ]));\n }), [ a, n, e.context, e.pause ]);\n return [ l, p ];\n}\n\nfunction Mutation(e) {\n var r = useMutation(e.query);\n return e.children({\n ...r[0],\n executeMutation: r[1]\n });\n}\n\nfunction Query(e) {\n var r = useQuery(e);\n return e.children({\n ...r[0],\n executeQuery: r[1]\n });\n}\n\nfunction Subscription(e) {\n var r = useSubscription(e, e.handler);\n return e.children({\n ...r[0],\n executeSubscription: r[1]\n });\n}\n\nexport { l as Consumer, v as Context, Mutation, f as Provider, Query, Subscription, useClient, useMutation, useQuery, useSubscription };\n//# sourceMappingURL=urql.es.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?: Maybe<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 servers: Array<Server>;\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 = \"file\" | \"raw\" | \"url\";\n\nexport type Server = {\n __typename?: \"Server\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n url: Scalars[\"String\"][\"output\"];\n};\n\nexport type TagItem = {\n __typename?: \"TagItem\";\n description?: Maybe<Scalars[\"String\"][\"output\"]>;\n name: Scalars[\"String\"][\"output\"];\n};\n\nexport type ServersQueryQueryVariables = Exact<{\n input: Scalars[\"JSON\"][\"input\"];\n type: SchemaType;\n}>;\n\nexport type ServersQueryQuery = {\n __typename?: \"Query\";\n schema: {\n __typename?: \"Schema\";\n url: string;\n servers: Array<{ __typename?: \"Server\"; url: string }>;\n };\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 | 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 }>;\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: {\n __typename?: \"Schema\";\n url: string;\n servers: Array<{ __typename?: \"Server\"; url: string }>;\n };\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 ServersQueryDocument = {\n kind: \"Document\",\n definitions: [\n {\n kind: \"OperationDefinition\",\n operation: \"query\",\n name: { kind: \"Name\", value: \"ServersQuery\" },\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 kind: \"Field\",\n name: { kind: \"Name\", value: \"servers\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n ],\n },\n },\n ],\n },\n },\n ],\n },\n },\n ],\n} as unknown as DocumentNode<ServersQueryQuery, ServersQueryQueryVariables>;\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 kind: \"Field\",\n name: { kind: \"Name\", value: \"servers\" },\n selectionSet: {\n kind: \"SelectionSet\",\n selections: [\n { kind: \"Field\", name: { kind: \"Name\", value: \"url\" } },\n ],\n },\n },\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 query ServersQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\":\n types.ServersQueryDocument,\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 servers {\\n url\\n }\\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 query ServersQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query ServersQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\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 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 servers {\\n url\\n }\\n }\\n }\\n\",\n): (typeof documents)[\"\\n query getServerQuery($input: JSON!, $type: SchemaType!) {\\n schema(input: $input, type: $type) {\\n url\\n servers {\\n url\\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 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 * 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","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(/(:\\w+|\\{\\w+})/g, (match) => {\n const key = match.replace(/[:{}]/g, \"\");\n const value = data.pathParams.find((part) => part.name === key)?.value;\n\n return value ?? match;\n });\n\n // Ensure host ends with a slash and path doesn't start with one,\n // so they form a correct URL, without overriding the host's path.\n const url = new URL(\n filledPath.replace(/^\\//, \"\"),\n host.endsWith(\"/\") ? host : `${host}/`,\n );\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 { XIcon } from \"lucide-react\";\nimport { Control, useFieldArray, UseFormRegister } from \"react-hook-form\";\nimport { Button } from \"../../../ui/Button.js\";\nimport { Input } from \"../../../ui/Input.js\";\nimport { 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\n return (\n <div className=\"flex flex-col gap-2\">\n <table className=\"w-full [&_td]:border [&_td]:p-1.5 [&_td]:px-2\">\n <tbody>\n {fields.map((header, i) => (\n <tr\n key={header.id}\n className=\"group has-[:focus]:bg-muted/50 hover:bg-muted/50\"\n >\n <td className=\"flex gap-2 items-center\">\n <Input\n {...register(`headers.${i}.name`)}\n placeholder=\"Name\"\n className=\"border-0 shadow-none text-xs font-mono\"\n autoComplete=\"off\"\n />\n </td>\n <td>\n <div className=\"flex items-center gap-2\">\n <Input\n placeholder={\"Value\"}\n className=\"border-0 shadow-none text-xs font-mono\"\n {...register(`headers.${i}.value`)}\n autoComplete=\"off\"\n />\n <Button\n size=\"icon\"\n variant=\"ghost\"\n className=\"text-muted-foreground opacity-0 group-hover:opacity-100\"\n onClick={() => {\n remove(i);\n }}\n type=\"button\"\n >\n <XIcon size={16} />\n </Button>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n <div className=\"text-end\">\n <Button\n className=\"\"\n onClick={() => append({ name: \"\", value: \"\" })}\n type=\"button\"\n >\n Add header\n </Button>\n </div>\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=\"border-0 shadow-none ring-0 font-mono text-xs\"\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 { 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 { 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 showChevrons = true,\n}: {\n value: string;\n onChange: ChangeEventHandler<HTMLSelectElement>;\n className?: string;\n options: {\n value: string;\n label: string;\n }[];\n showChevrons?: boolean;\n}) => (\n <div className=\"grid\">\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 className,\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\n className={cn(\n !showChevrons && \"hidden\",\n \"row-start-1 col-start-1 self-center justify-self-end relative end-2 pointer-events-none\",\n )}\n >\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 // playground dialog has h-5/6 ≈ 83.333vh\n className=\"overflow-x-auto p-4 text-xs max-h-[calc(83.333vh-180px)]\"\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, useTransition } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useSelectedServerStore } from \"../../../authentication/state.js\";\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 { Callout } from \"../../../ui/Callout.js\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"../../../ui/Card.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"../../../ui/Tabs.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\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 servers?: 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 servers,\n url,\n method,\n headers = [],\n queryParams = [],\n pathParams = [],\n defaultBody = \"\",\n}: PlaygroundContentProps) => {\n const { selectedServer, setSelectedServer } = useSelectedServerStore();\n const [, startTransition] = useTransition();\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(selectedServer ?? 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 try {\n const response = await fetch(request, {\n signal: AbortSignal.timeout(5000),\n });\n\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 } catch (error) {\n if (error instanceof TypeError) {\n throw new Error(\n \"The request failed, possibly due to network issues or CORS policy.\",\n );\n } else {\n throw error;\n }\n }\n },\n });\n\n const path = url.split(\"/\").map((part, i, arr) => {\n const isPathParam =\n (part.startsWith(\"{\") && part.endsWith(\"}\")) || part.startsWith(\":\");\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 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 const serverSelect = (\n <div className=\"inline-block opacity-50 hover:opacity-100 transition\">\n {servers && servers.length > 1 ? (\n <Select\n onValueChange={(value) => {\n startTransition(() => {\n setSelectedServer(value);\n });\n }}\n value={selectedServer}\n >\n <SelectTrigger className=\"p-0 border-none flex-row-reverse bg-transparent text-xs gap-0.5 h-auto\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {servers.map((s) => (\n <SelectItem key={s} value={s}>\n {s.replace(/^https?:\\/\\//, \"\")}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n ) : (\n <span>{server.replace(/^https?:\\/\\//, \"\")}</span>\n )}\n </div>\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-[8fr_7fr] 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=\"flex items-center flex-wrap p-2 font-mono text-xs\">\n {serverSelect}\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={\n queryParams.length + pathParams.length > 0\n ? \"parameters\"\n : \"headers\"\n }\n >\n <div className=\"flex flex-wrap gap-1 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=\"min-w-0 p-8 bg-muted/70\">\n {queryMutation.error ? (\n <div className=\"flex flex-col gap-2\">\n {formState.pathParams.some((p) => p.value === \"\") && (\n <Callout type=\"caution\">\n Some path parameters are missing values. Please fill them in\n to ensure the request is sent correctly.\n </Callout>\n )}\n <Card>\n <CardHeader>\n <CardTitle>Request failed</CardTitle>\n </CardHeader>\n <CardContent>\n Error:{\" \"}\n {queryMutation.error.message ||\n String(queryMutation.error) ||\n \"Unexpected error\"}\n </CardContent>\n </Card>\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 <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\n // playground dialog has h-5/6 ≈ 83.333vh\n className=\"max-h-[calc(83.333vh-140px)] overflow-y-auto grid grid-cols-2 w-full gap-2.5 font-mono text-xs shadow-none p-4\"\n >\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 { 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 HeroPlayIcon = ({\n className,\n size = 16,\n}: {\n className?: string;\n size?: number;\n}) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n className={className}\n width={size}\n height={size}\n >\n <path\n fillRule=\"evenodd\"\n d=\"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm14.024-.983a1.125 1.125 0 0 1 0 1.966l-5.603 3.113A1.125 1.125 0 0 1 9 15.113V8.887c0-.857.921-1.4 1.671-.983l5.603 3.113Z\"\n clipRule=\"evenodd\"\n />\n </svg>\n);\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 <button className=\"flex gap-1 items-center px-2 py-1 rounded-md bg-primary/80 hover:bg-primary transition text-primary-foreground text-xs\">\n Test\n <HeroPlayIcon className=\"\" size={14} />\n </button>\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 (\n (typeof globalThis !== 'undefined' && obj === globalThis)\n || (typeof global !== 'undefined' && obj === global)\n ) {\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 strictDepth: 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 cleanStr = cleanStr.replace(/%5B/gi, '[').replace(/%5D/gi, ']');\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 === '' || (options.strictNullHandling && leaf === null))\n ? []\n : [].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, check strictDepth option for throw, else just add whatever is left\n\n if (segment) {\n if (options.strictDepth === true) {\n throw new RangeError('Input depth exceeded depth option of ' + options.depth + ' and strictDepth is true');\n }\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 strictDepth: typeof opts.strictDepth === 'boolean' ? !!opts.strictDepth : defaults.strictDepth,\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 servers,\n operation,\n}: {\n server: string;\n servers?: 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 servers={servers}\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 className=\"p-0\">\n <SyntaxHighlight\n language=\"json\"\n noBackground\n copyable\n className=\"text-xs max-h-[450px] p-2\"\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 * as Tabs from \"@radix-ui/react-tabs\";\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 selectedResponse,\n onSelectResponse,\n}: {\n responses: Responses;\n selectedResponse?: string;\n onSelectResponse: (response: string) => void;\n}) => (\n <SidecarBox.Root>\n <Tabs.Root\n defaultValue={responses[0]?.statusCode}\n value={selectedResponse}\n onValueChange={(value) => onSelectResponse(value)}\n >\n <SidecarBox.Head className=\"text-xs flex flex-col gap-2 pb-0\">\n <span className=\"font-mono\">Example Responses</span>\n <Tabs.List className=\"flex gap-2\">\n {responses.map((response) => (\n <Tabs.Trigger\n key={response.statusCode}\n value={response.statusCode}\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 \"data-[state=active]:text-primary data-[state=active]:dark:text-inherit data-[state=active]:border-primary\",\n \"hover:border-accent-foreground/25\",\n )}\n >\n {response.statusCode}\n </Tabs.Trigger>\n ))}\n </Tabs.List>\n </SidecarBox.Head>\n {responses.map((response) => {\n const schema = response.content?.[0]?.schema as\n | SchemaObject\n | undefined;\n\n return (\n <Tabs.Content key={response.statusCode} value={response.statusCode}>\n <SidecarBox.Body className=\"p-0\">\n {schema ? (\n <SyntaxHighlight\n language=\"json\"\n noBackground\n className=\"text-xs max-h-[450px] p-2\"\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 {response.description}\n </SidecarBox.Footer>\n </Tabs.Content>\n );\n })}\n </Tabs.Root>\n </SidecarBox.Root>\n);\n","import { HTTPSnippet } from \"@zudoku/httpsnippet\";\nimport { Fragment, useMemo, useTransition } from \"react\";\nimport { useSearchParams } from \"react-router-dom\";\nimport { useQuery } from \"urql\";\nimport { useSelectedServerStore } from \"../../authentication/state.js\";\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\";\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 servers {\n url\n }\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 selectedResponse,\n onSelectResponse,\n}: {\n operation: OperationListItemResult;\n selectedResponse?: string;\n onSelectResponse: (response: string) => void;\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, i, arr) => {\n const isParam =\n (part.startsWith(\"{\") && part.endsWith(\"}\")) || part.startsWith(\":\");\n const paramName = isParam ? part.replace(/[:{}]/g, \"\") : undefined;\n\n return (\n // eslint-disable-next-line react/no-array-index-key\n <Fragment key={part + i}>\n {paramName ? (\n <ColorizedParam\n name={paramName}\n backgroundOpacity=\"0\"\n // same as in `ParameterListItem`\n slug={`${operation.slug}-${paramName.toLocaleLowerCase()}`}\n >\n {part}\n </ColorizedParam>\n ) : (\n part\n )}\n {i < arr.length - 1 ? \"/\" : null}\n <wbr />\n </Fragment>\n );\n });\n\n const { selectedServer } = useSelectedServerStore();\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 method: operation.method.toLocaleUpperCase(),\n url:\n (selectedServer ?? result.data?.schema.url ?? \"\") +\n operation.path.replaceAll(\"{\", \":\").replaceAll(\"}\", \"\"),\n postData: example\n ? {\n text: JSON.stringify(example, null, 2),\n mimeType: \"application/json\",\n }\n : ({} as any),\n headers: [],\n queryString: [],\n httpVersion: \"\",\n cookies: [],\n headersSize: 0,\n bodySize: 0,\n });\n\n return getConverted(snippet, selectedLang);\n }, [\n selectedServer,\n selectedLang,\n operation.method,\n operation.path,\n requestBodyContent,\n ]);\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 servers={\n result.data?.schema.servers.map((server) => server.url) ?? []\n }\n operation={operation}\n />\n </SidecarBox.Head>\n <SidecarBox.Body className=\"max-h-[480px] p-0\">\n <SyntaxHighlight\n language={selectedLang}\n noBackground\n className=\"text-xs p-2\"\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((prev) => {\n prev.set(\"lang\", e.target.value);\n return prev;\n });\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\n selectedResponse={selectedResponse}\n onSelectResponse={onSelectResponse}\n responses={operation.responses}\n />\n )}\n </aside>\n );\n};\n","import { matchPath, useRouteError, type RouteObject } from \"react-router-dom\";\nimport { Client as UrqlClient, cacheExchange, fetchExchange } from \"urql\";\nimport { type DevPortalPlugin } from \"../../core/plugins.js\";\nimport { graphql } from \"./graphql/index.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 type OpenApiPluginOptions = OasPluginConfig & InternalOasPluginConfig;\n\nexport const openApiPlugin = (\n config: OpenApiPluginOptions,\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 || \"Other endpoints\",\n collapsible: true,\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":["c","v","r","f","useClient","d","areOperationsEqual","computeNextState","t","e","a","hasDepsChanged","p","deferDispatch","useRequest","getCacheForClient","i","isSuspense","useQuery","n","u","s","o","l","h","y","updateResult","x","OperationsFragmentFragmentDoc","ServersQueryDocument","AllOperationsDocument","GetServerQueryDocument","GetCategoriesDocument","documents","types.ServersQueryDocument","types.OperationsFragmentFragmentDoc","types.AllOperationsDocument","types.GetServerQueryDocument","types.GetCategoriesDocument","graphql","source","Dialog","DialogPrimitive.Root","DialogTrigger","DialogPrimitive.Trigger","DialogPortal","DialogPrimitive.Portal","DialogOverlay","React","className","props","ref","jsx","DialogPrimitive.Overlay","cn","DialogContent","children","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogTitle","DialogPrimitive.Title","DialogDescription","DialogPrimitive.Description","Card","CardHeader","CardTitle","CardDescription","CardContent","CardFooter","TABS_NAME","createTabsContext","createTabsScope","createContextScope","createRovingFocusGroupScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","forwardedRef","__scopeTabs","valueProp","onValueChange","defaultValue","orientation","dir","activationMode","tabsProps","direction","useDirection","value","setValue","useControllableState","useId","Primitive","TAB_LIST_NAME","TabsList","loop","listProps","context","rovingFocusGroupScope","RovingFocusGroup.Root","TRIGGER_NAME","TabsTrigger","disabled","triggerProps","triggerId","makeTriggerId","contentId","makeContentId","isSelected","RovingFocusGroup.Item","composeEventHandlers","event","isAutomaticActivation","CONTENT_NAME","TabsContent","forceMount","contentProps","isMountAnimationPreventedRef","rAF","Presence","present","baseId","Root2","List","Trigger","Content","TabsPrimitive.Root","TabsPrimitive.List","TabsPrimitive.Trigger","TabsPrimitive.Content","c2n","s2n","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","_a","_b","createUrl","host","path","data","filledPath","match","key","part","url","param","Headers","control","register","fields","append","remove","useFieldArray","header","Input","Button","PathParams","Controller","field","EraserIcon","createVariantComponent","tag","cvx","MyVariant","asChild","Comp","Slot","InlineInput","QueryParams","queryParams","form","useFormContext","requiredFields","hasSelectedIdentity","NO_IDENTITY","SimpleSelect","onChange","showChevrons","option","ChevronsUpDownIcon","mimeTypeToLanguage","mimeType","mime","detectLanguage","headers","contentType","tryParseJson","body","ResponseTab","detectedLanguage","jsonContent","beautifiedBody","view","setView","useState","SyntaxHighlight","statusCodeMap","Playground","server","servers","method","pathParams","defaultBody","selectedServer","setSelectedServer","useSelectedServerStore","startTransition","useTransition","handleSubmit","watch","useForm","formState","identities","useApiIdentities","setOnce","firstIdentity","queryMutation","useMutation","requestUrl","start","request","response","time","error","arr","isPathParam","replaced","pathParamValue","Fragment","headerEntries","urlQueryParams","serverSelect","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","FormProvider","Spinner","identity","Callout","HeroPlayIcon","size","PlaygroundDialog","open","setOpen","VisuallyHidden","reducer","accumulator","pair","currentValue","DEFAULT_INDENTATION_CHARACTER","DEFAULT_LINE_JOIN","CodeBuilder","indent","join","line","indentationLevel","newLine","unreplacedCode","replacer","postProcessor","isRegexp","re","isObj","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","input","objEmpty","filterEmpty","padBlock","padSize","padding","jsToEdn","js","obj","clj_http","queryObj","methods","params2","formattedParams","clojure","getDecompressionMethods","acceptEncodings","supportedMethods2","acceptEncoding","encoding","httpclient","clienthandler","cookies","decompressionMethods","title","restsharp","uriObj","isMultipart","text","csharp","native","showBoilerplate","checkErrors","printBody","timeout","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","builtInMethods","requests","hasFiles","hasPayload","jsonPayload","nonFilePayload","stringPayload","headerCount","count","request2","python","httr","queryString","qs","queryCount","query","cookieHeader","acceptHeader","setCookies","setAccept","setContentType","otherHeaders","setHeaders","headerAdditions","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","map","array","fn","mapDomain","parts","labels","ucs2decode","output","counter","extra","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","adapt","delta","numPoints","firstTime","k","decode","inputLength","out","bias","basic","j","index","oldi","w","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","target","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","remaining","trailer","lowbyte","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","child","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","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","_c","filename","urlWithParsedQuery","targetId","clientId","convert","OasContext","createContext","OasConfigProvider","useOasConfig","ctx","useContext","PlaygroundDialogWrapper","operation","Root","Head","Body","Footer","isObject","generateSchemaExample","schema","processComplexTypes","properties","propSchema","RequestBodySidecarBox","content","SidecarBox.Root","SidecarBox.Head","SidecarBox.Body","ResponsesSidecarBox","responses","selectedResponse","onSelectResponse","Tabs.Root","Tabs.List","Tabs.Trigger","Tabs.Content","SidecarBox.Footer","getConverted","snippet","converted","GetServerQuery","methodToColor","TextColorMap","Sidecar","oasConfig","methodTextColor","searchParams","setSearchParams","useSearchParams","selectedLang","requestBodyContent","paramName","useMemo","example","GetCategoriesQuery","OpenApiErrorPage","useRouteError","message","ErrorPage","MethodColorMap","openApiPlugin","config","basePath","joinPath","UrqlClient","cacheExchange","fetchExchange","createClient","requireAuth","useAuth","serverQuery","LogInIcon","CirclePlayIcon","matchPath","categories","OpenApiRoute","OperationList"],"mappings":"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","x_google_ignoreList":[0,5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,49,50,51,52,53,54,55,56,57]}
|