@websublime/vite-plugin-open-api-devtools 0.8.4 → 0.9.0-next.0
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/{ModelsPage-DxcKgz3y.js → ModelsPage-DoqfBilK.js} +5 -5
- package/dist/{ModelsPage-DxcKgz3y.js.map → ModelsPage-DoqfBilK.js.map} +1 -1
- package/dist/{RoutesPage-BCKS0kdj.js → RoutesPage-DmXBJ4J5.js} +4 -4
- package/dist/{RoutesPage-BCKS0kdj.js.map → RoutesPage-DmXBJ4J5.js.map} +1 -1
- package/dist/{SimulatorPage-BlbxLDdf.js → SimulatorPage-BmM-ExQg.js} +4 -4
- package/dist/{SimulatorPage-BlbxLDdf.js.map → SimulatorPage-BmM-ExQg.js.map} +1 -1
- package/dist/{TimelinePage-BhtcWy3o.js → TimelinePage-Dnh_47wz.js} +7 -7
- package/dist/{TimelinePage-BhtcWy3o.js.map → TimelinePage-Dnh_47wz.js.map} +1 -1
- package/dist/{check-BZ_jBwd4.js → check-BdvaZxRt.js} +2 -2
- package/dist/{check-BZ_jBwd4.js.map → check-BdvaZxRt.js.map} +1 -1
- package/dist/devtools.js +1 -1
- package/dist/devtools.umd.cjs +3 -3
- package/dist/devtools.umd.cjs.map +1 -1
- package/dist/{format-Dq-zmlAN.js → format-Cj8p3HJO.js} +2 -2
- package/dist/{format-Dq-zmlAN.js.map → format-Cj8p3HJO.js.map} +1 -1
- package/dist/main-HjHdsAps.js +619 -0
- package/dist/main-HjHdsAps.js.map +1 -0
- package/dist/spa/assets/{ModelsPage-Bd7YM0_p.js → ModelsPage-_etl-kz9.js} +2 -2
- package/dist/spa/assets/{ModelsPage-Bd7YM0_p.js.map → ModelsPage-_etl-kz9.js.map} +1 -1
- package/dist/spa/assets/{RoutesPage-YQcTov5t.js → RoutesPage-BN_Lo8uo.js} +2 -2
- package/dist/spa/assets/{RoutesPage-YQcTov5t.js.map → RoutesPage-BN_Lo8uo.js.map} +1 -1
- package/dist/spa/assets/{SimulatorPage-DPxecZGS.js → SimulatorPage-BF4VLn5k.js} +2 -2
- package/dist/spa/assets/{SimulatorPage-DPxecZGS.js.map → SimulatorPage-BF4VLn5k.js.map} +1 -1
- package/dist/spa/assets/TimelinePage-7OqKgItP.js +2 -0
- package/dist/spa/assets/{TimelinePage-CbWvtFc_.js.map → TimelinePage-7OqKgItP.js.map} +1 -1
- package/dist/spa/assets/check-9axZ93X-.js +2 -0
- package/dist/spa/assets/{check-DaD3RpI4.js.map → check-9axZ93X-.js.map} +1 -1
- package/dist/spa/assets/{format-er1_KlP8.js → format-CB-GiJ6N.js} +2 -2
- package/dist/spa/assets/{format-er1_KlP8.js.map → format-CB-GiJ6N.js.map} +1 -1
- package/dist/spa/assets/index-BQr16DJ3.js +3 -0
- package/dist/spa/assets/index-BQr16DJ3.js.map +1 -0
- package/dist/spa/assets/{registry-DjJcdO1T.js → registry-DAv66ZPp.js} +2 -2
- package/dist/spa/assets/{registry-DjJcdO1T.js.map → registry-DAv66ZPp.js.map} +1 -1
- package/dist/spa/assets/{trash-2-BhRxw6RN.js → trash-2-Cj6nHRK8.js} +2 -2
- package/dist/spa/assets/{trash-2-BhRxw6RN.js.map → trash-2-Cj6nHRK8.js.map} +1 -1
- package/dist/spa/assets/{triangle-alert-QXcMwGDR.js → triangle-alert-BXnev_tx.js} +2 -2
- package/dist/spa/assets/{triangle-alert-QXcMwGDR.js.map → triangle-alert-BXnev_tx.js.map} +1 -1
- package/dist/spa/assets/{vue-vendor-Bkktf9yg.js → vue-vendor-D62nux6V.js} +2 -2
- package/dist/spa/assets/{vue-vendor-Bkktf9yg.js.map → vue-vendor-D62nux6V.js.map} +1 -1
- package/dist/spa/assets/x-9zeMJ8Mo.js +2 -0
- package/dist/spa/assets/{x-DGt4DUCk.js.map → x-9zeMJ8Mo.js.map} +1 -1
- package/dist/spa/index.html +2 -2
- package/dist/{trash-2-D9Av3Lfp.js → trash-2-unSVE8Jc.js} +2 -2
- package/dist/{trash-2-D9Av3Lfp.js.map → trash-2-unSVE8Jc.js.map} +1 -1
- package/dist/{triangle-alert-6Spra6HA.js → triangle-alert-B1V6ucAg.js} +2 -2
- package/dist/{triangle-alert-6Spra6HA.js.map → triangle-alert-B1V6ucAg.js.map} +1 -1
- package/dist/{x-DI-fqJ3g.js → x-DWlhu3h-.js} +2 -2
- package/dist/{x-DI-fqJ3g.js.map → x-DWlhu3h-.js.map} +1 -1
- package/package.json +13 -12
- package/dist/main-DmyM_bX3.js +0 -537
- package/dist/main-DmyM_bX3.js.map +0 -1
- package/dist/spa/assets/TimelinePage-CbWvtFc_.js +0 -2
- package/dist/spa/assets/check-DaD3RpI4.js +0 -2
- package/dist/spa/assets/index-x38XzU3c.js +0 -3
- package/dist/spa/assets/index-x38XzU3c.js.map +0 -1
- package/dist/spa/assets/x-DGt4DUCk.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x-
|
|
1
|
+
{"version":3,"file":"x-9zeMJ8Mo.js","sources":["../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/x.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"x\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n"],"names":["X","createLucideIcon"],"mappings":"wCASK,MAACA,EAAIC,EAAiB,IAAK,CAC9B,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
|
package/dist/spa/index.html
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
<meta name="description" content="OpenAPI DevTools - Debug and inspect your mock API server" />
|
|
7
7
|
<title>OpenAPI DevTools</title>
|
|
8
8
|
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='13 2 3 14 12 14 11 22 21 10 12 10 13 2'/></svg>" />
|
|
9
|
-
<script type="module" crossorigin src="/_devtools/assets/index-
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/_devtools/assets/vue-vendor-
|
|
9
|
+
<script type="module" crossorigin src="/_devtools/assets/index-BQr16DJ3.js"></script>
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/_devtools/assets/vue-vendor-D62nux6V.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/_devtools/assets/index-BSvrS_tt.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as e } from "./main-
|
|
1
|
+
import { c as e } from "./main-HjHdsAps.js";
|
|
2
2
|
const a = e("trash-2", [
|
|
3
3
|
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
4
4
|
["path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6", key: "4alrt4" }],
|
|
@@ -9,4 +9,4 @@ const a = e("trash-2", [
|
|
|
9
9
|
export {
|
|
10
10
|
a as T
|
|
11
11
|
};
|
|
12
|
-
//# sourceMappingURL=trash-2-
|
|
12
|
+
//# sourceMappingURL=trash-2-unSVE8Jc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trash-2-
|
|
1
|
+
{"version":3,"file":"trash-2-unSVE8Jc.js","sources":["../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/trash-2.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Trash2 = createLucideIcon(\"trash-2\", [\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\", key: \"4alrt4\" }],\n [\"path\", { d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\", key: \"v07s0e\" }],\n [\"line\", { x1: \"10\", x2: \"10\", y1: \"11\", y2: \"17\", key: \"1uufr5\" }],\n [\"line\", { x1: \"14\", x2: \"14\", y1: \"11\", y2: \"17\", key: \"xtxkd\" }]\n]);\n\nexport { Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n"],"names":["Trash2","createLucideIcon"],"mappings":";AASK,MAACA,IAASC,EAAiB,WAAW;AAAA,EACzC,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,yCAAyC,KAAK,SAAQ,CAAE;AAAA,EACtE,CAAC,QAAQ,EAAE,GAAG,sCAAsC,KAAK,SAAQ,CAAE;AAAA,EACnE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,SAAQ,CAAE;AAAA,EAClE,CAAC,QAAQ,EAAE,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,QAAO,CAAE;AACnE,CAAC;","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as e } from "./main-
|
|
1
|
+
import { c as e } from "./main-HjHdsAps.js";
|
|
2
2
|
const t = e("triangle-alert", [
|
|
3
3
|
[
|
|
4
4
|
"path",
|
|
@@ -13,4 +13,4 @@ const t = e("triangle-alert", [
|
|
|
13
13
|
export {
|
|
14
14
|
t as T
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=triangle-alert-
|
|
16
|
+
//# sourceMappingURL=triangle-alert-B1V6ucAg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triangle-alert-
|
|
1
|
+
{"version":3,"file":"triangle-alert-B1V6ucAg.js","sources":["../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/triangle-alert.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst TriangleAlert = createLucideIcon(\"triangle-alert\", [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { TriangleAlert as default };\n//# sourceMappingURL=triangle-alert.js.map\n"],"names":["TriangleAlert","createLucideIcon"],"mappings":";AASK,MAACA,IAAgBC,EAAiB,kBAAkB;AAAA,EACvD;AAAA,IACE;AAAA,IACA;AAAA,MACE,GAAG;AAAA,MACH,KAAK;AAAA,IACX;AAAA,EACA;AAAA,EACE,CAAC,QAAQ,EAAE,GAAG,WAAW,KAAK,SAAQ,CAAE;AAAA,EACxC,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAQ,CAAE;AAC7C,CAAC;","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as e } from "./main-
|
|
1
|
+
import { c as e } from "./main-HjHdsAps.js";
|
|
2
2
|
const c = e("x", [
|
|
3
3
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
4
4
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
@@ -6,4 +6,4 @@ const c = e("x", [
|
|
|
6
6
|
export {
|
|
7
7
|
c as X
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=x-
|
|
9
|
+
//# sourceMappingURL=x-DWlhu3h-.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x-
|
|
1
|
+
{"version":3,"file":"x-DWlhu3h-.js","sources":["../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/x.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst X = createLucideIcon(\"x\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n"],"names":["X","createLucideIcon"],"mappings":";AASK,MAACA,IAAIC,EAAiB,KAAK;AAAA,EAC9B,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAQ,CAAE;AAAA,EAC3C,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAQ,CAAE;AAC7C,CAAC;","x_google_ignoreList":[0]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@websublime/vite-plugin-open-api-devtools",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0-next.0",
|
|
4
4
|
"description": "DevTools SPA for vite-open-api-server - Vue-based debugging interface",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"devtools",
|
|
@@ -22,20 +22,21 @@
|
|
|
22
22
|
"directory": "packages/devtools-client"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"vue": "^3.5.17",
|
|
26
|
-
"lucide-vue-next": "^0.513.0",
|
|
27
25
|
"open-props": "^2.0.0-beta.5",
|
|
26
|
+
"lucide-vue-next": "^0.513.0",
|
|
27
|
+
"vue": "^3.5.17",
|
|
28
28
|
"pinia": "^3.0.3",
|
|
29
29
|
"vue-router": "^4.5.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
|
+
"vite": "^7.0.0",
|
|
33
|
+
"@vue/test-utils": "^2.4.6",
|
|
32
34
|
"typescript": "^5.9.3",
|
|
33
35
|
"vitest": "^4.0.17",
|
|
34
|
-
"jsdom": "^26.1.0",
|
|
35
|
-
"vite": "^7.0.0",
|
|
36
|
-
"vue-tsc": "^2.2.12",
|
|
37
36
|
"@vitejs/plugin-vue": "^6.0.0",
|
|
38
|
-
"@ungap/structured-clone": "^1.3.0"
|
|
37
|
+
"@ungap/structured-clone": "^1.3.0",
|
|
38
|
+
"vue-tsc": "^2.2.12",
|
|
39
|
+
"jsdom": "^26.1.0"
|
|
39
40
|
},
|
|
40
41
|
"engines": {
|
|
41
42
|
"node": "^20.19.0 || >=22.12.0"
|
|
@@ -43,6 +44,7 @@
|
|
|
43
44
|
"private": false,
|
|
44
45
|
"type": "module",
|
|
45
46
|
"types": "./dist/devtools.d.ts",
|
|
47
|
+
"module": "./dist/devtools.js",
|
|
46
48
|
"sideEffects": [
|
|
47
49
|
"./dist/style.css",
|
|
48
50
|
"*.css"
|
|
@@ -55,14 +57,13 @@
|
|
|
55
57
|
},
|
|
56
58
|
"./style.css": "./dist/style.css"
|
|
57
59
|
},
|
|
58
|
-
"module": "./dist/devtools.js",
|
|
59
60
|
"scripts": {
|
|
60
|
-
"preview": "vite preview",
|
|
61
61
|
"test": "vitest run",
|
|
62
|
-
"
|
|
63
|
-
"build": "vue-tsc --noEmit && vite build && pnpm run build:spa",
|
|
62
|
+
"preview": "vite preview",
|
|
64
63
|
"dev": "vite",
|
|
65
64
|
"typecheck": "vue-tsc --noEmit",
|
|
66
|
-
"build:spa": "vite build --config vite.config.spa.ts"
|
|
65
|
+
"build:spa": "vite build --config vite.config.spa.ts",
|
|
66
|
+
"test:watch": "vitest",
|
|
67
|
+
"build": "vue-tsc --noEmit && vite build && pnpm run build:spa"
|
|
67
68
|
}
|
|
68
69
|
}
|
package/dist/main-DmyM_bX3.js
DELETED
|
@@ -1,537 +0,0 @@
|
|
|
1
|
-
import { createPinia as ce } from "pinia";
|
|
2
|
-
import { h as $, computed as i, ref as T, onMounted as Y, getCurrentInstance as X, defineComponent as se, resolveComponent as re, createElementBlock as A, openBlock as g, createElementVNode as d, createVNode as O, unref as w, Fragment as le, renderList as ie, normalizeClass as U, createBlock as W, resolveDynamicComponent as N, toDisplayString as F, withCtx as j, Transition as ue, watch as de, onUnmounted as pe, createApp as fe } from "vue";
|
|
3
|
-
import { createRouter as me, createWebHashHistory as he, useRoute as ve, useRouter as ke } from "vue-router";
|
|
4
|
-
const Z = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ye = (e) => e.replace(
|
|
5
|
-
/^([A-Z])|[\s-_]+(\w)/g,
|
|
6
|
-
(t, n, a) => a ? a.toUpperCase() : n.toLowerCase()
|
|
7
|
-
), _e = (e) => {
|
|
8
|
-
const t = ye(e);
|
|
9
|
-
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
10
|
-
}, ge = (...e) => e.filter((t, n, a) => !!t && t.trim() !== "" && a.indexOf(t) === n).join(" ").trim();
|
|
11
|
-
var M = {
|
|
12
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
13
|
-
width: 24,
|
|
14
|
-
height: 24,
|
|
15
|
-
viewBox: "0 0 24 24",
|
|
16
|
-
fill: "none",
|
|
17
|
-
stroke: "currentColor",
|
|
18
|
-
"stroke-width": 2,
|
|
19
|
-
"stroke-linecap": "round",
|
|
20
|
-
"stroke-linejoin": "round"
|
|
21
|
-
};
|
|
22
|
-
const we = ({ size: e, strokeWidth: t = 2, absoluteStrokeWidth: n, color: a, iconNode: s, name: l, class: v, ...k }, { slots: m }) => $(
|
|
23
|
-
"svg",
|
|
24
|
-
{
|
|
25
|
-
...M,
|
|
26
|
-
width: e || M.width,
|
|
27
|
-
height: e || M.height,
|
|
28
|
-
stroke: a || M.stroke,
|
|
29
|
-
"stroke-width": n ? Number(t) * 24 / Number(e) : t,
|
|
30
|
-
class: ge(
|
|
31
|
-
"lucide",
|
|
32
|
-
...l ? [`lucide-${Z(_e(l))}-icon`, `lucide-${Z(l)}`] : ["lucide-icon"]
|
|
33
|
-
),
|
|
34
|
-
...k
|
|
35
|
-
},
|
|
36
|
-
[...s.map((o) => $(...o)), ...m.default ? [m.default()] : []]
|
|
37
|
-
);
|
|
38
|
-
const S = (e, t) => (n, { slots: a }) => $(
|
|
39
|
-
we,
|
|
40
|
-
{
|
|
41
|
-
...n,
|
|
42
|
-
iconNode: t,
|
|
43
|
-
name: e
|
|
44
|
-
},
|
|
45
|
-
a
|
|
46
|
-
);
|
|
47
|
-
const be = S("clock", [
|
|
48
|
-
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
49
|
-
["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
|
|
50
|
-
]);
|
|
51
|
-
const Se = S("database", [
|
|
52
|
-
["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
|
|
53
|
-
["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
|
|
54
|
-
["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
|
|
55
|
-
]);
|
|
56
|
-
const G = S("route", [
|
|
57
|
-
["circle", { cx: "6", cy: "19", r: "3", key: "1kj8tv" }],
|
|
58
|
-
["path", { d: "M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15", key: "1d8sl" }],
|
|
59
|
-
["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }]
|
|
60
|
-
]);
|
|
61
|
-
const Ce = S("wifi-off", [
|
|
62
|
-
["path", { d: "M12 20h.01", key: "zekei9" }],
|
|
63
|
-
["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }],
|
|
64
|
-
["path", { d: "M5 12.859a10 10 0 0 1 5.17-2.69", key: "1dl1wf" }],
|
|
65
|
-
["path", { d: "M19 12.859a10 10 0 0 0-2.007-1.523", key: "4k23kn" }],
|
|
66
|
-
["path", { d: "M2 8.82a15 15 0 0 1 4.177-2.643", key: "1grhjp" }],
|
|
67
|
-
["path", { d: "M22 8.82a15 15 0 0 0-11.288-3.764", key: "z3jwby" }],
|
|
68
|
-
["path", { d: "m2 2 20 20", key: "1ooewy" }]
|
|
69
|
-
]);
|
|
70
|
-
const Te = S("wifi", [
|
|
71
|
-
["path", { d: "M12 20h.01", key: "zekei9" }],
|
|
72
|
-
["path", { d: "M2 8.82a15 15 0 0 1 20 0", key: "dnpr2z" }],
|
|
73
|
-
["path", { d: "M5 12.859a10 10 0 0 1 14 0", key: "1x1e6c" }],
|
|
74
|
-
["path", { d: "M8.5 16.429a5 5 0 0 1 7 0", key: "1bycff" }]
|
|
75
|
-
]);
|
|
76
|
-
const Q = S("zap", [
|
|
77
|
-
[
|
|
78
|
-
"path",
|
|
79
|
-
{
|
|
80
|
-
d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
|
|
81
|
-
key: "1xq2db"
|
|
82
|
-
}
|
|
83
|
-
]
|
|
84
|
-
]), H = {
|
|
85
|
-
path: "/_ws",
|
|
86
|
-
reconnectDelay: 2e3,
|
|
87
|
-
maxReconnectAttempts: Number.POSITIVE_INFINITY,
|
|
88
|
-
autoConnect: !0
|
|
89
|
-
}, r = T("disconnected"), P = T(null), C = T(0);
|
|
90
|
-
let c = null, x = null, b = { ...H }, L = !1;
|
|
91
|
-
const p = /* @__PURE__ */ new Map();
|
|
92
|
-
function ee() {
|
|
93
|
-
return typeof window < "u" && typeof WebSocket < "u";
|
|
94
|
-
}
|
|
95
|
-
function Me() {
|
|
96
|
-
return X() !== null;
|
|
97
|
-
}
|
|
98
|
-
function De(e) {
|
|
99
|
-
return ee() ? `${window.location.protocol === "https:" ? "wss:" : "ws:"}//${window.location.host}${e}` : `ws://localhost${e}`;
|
|
100
|
-
}
|
|
101
|
-
function te() {
|
|
102
|
-
x !== null && (clearTimeout(x), x = null);
|
|
103
|
-
}
|
|
104
|
-
function Ee(e, t) {
|
|
105
|
-
const n = p.get(e);
|
|
106
|
-
if (n)
|
|
107
|
-
for (const s of n)
|
|
108
|
-
try {
|
|
109
|
-
s(t);
|
|
110
|
-
} catch (l) {
|
|
111
|
-
console.error(`[DevTools WebSocket] Error in event handler for '${e}':`, l);
|
|
112
|
-
}
|
|
113
|
-
const a = p.get("*");
|
|
114
|
-
if (a)
|
|
115
|
-
for (const s of a)
|
|
116
|
-
try {
|
|
117
|
-
s({ type: e, data: t });
|
|
118
|
-
} catch (l) {
|
|
119
|
-
console.error("[DevTools WebSocket] Error in wildcard event handler:", l);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
function Ie() {
|
|
123
|
-
r.value = "connected", C.value = 0, te();
|
|
124
|
-
}
|
|
125
|
-
function xe(e) {
|
|
126
|
-
try {
|
|
127
|
-
const t = JSON.parse(e.data);
|
|
128
|
-
if (t.type === "connected") {
|
|
129
|
-
const n = t.data;
|
|
130
|
-
P.value = n.serverVersion;
|
|
131
|
-
}
|
|
132
|
-
Ee(t.type, t.data);
|
|
133
|
-
} catch (t) {
|
|
134
|
-
console.error("[DevTools WebSocket] Failed to parse message:", t);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function Ae() {
|
|
138
|
-
r.value, r.value = "disconnected", c = null, C.value < b.maxReconnectAttempts && (r.value = "reconnecting", C.value++, x = setTimeout(() => {
|
|
139
|
-
R();
|
|
140
|
-
}, b.reconnectDelay));
|
|
141
|
-
}
|
|
142
|
-
function Oe(e) {
|
|
143
|
-
console.error("[DevTools WebSocket] Error:", e);
|
|
144
|
-
}
|
|
145
|
-
function R() {
|
|
146
|
-
if (!ee() || r.value === "connecting" || r.value === "connected" || c && (c.readyState === WebSocket.CONNECTING || c.readyState === WebSocket.OPEN))
|
|
147
|
-
return;
|
|
148
|
-
ne(), r.value = "connecting";
|
|
149
|
-
const e = De(b.path);
|
|
150
|
-
try {
|
|
151
|
-
c = new WebSocket(e), c.onopen = Ie, c.onmessage = xe, c.onclose = Ae, c.onerror = Oe;
|
|
152
|
-
} catch (t) {
|
|
153
|
-
console.error("[DevTools WebSocket] Failed to create WebSocket:", t), r.value = "disconnected";
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
function ne() {
|
|
157
|
-
c && (c.onopen = null, c.onmessage = null, c.onclose = null, c.onerror = null, (c.readyState === WebSocket.OPEN || c.readyState === WebSocket.CONNECTING) && c.close(), c = null);
|
|
158
|
-
}
|
|
159
|
-
function oe() {
|
|
160
|
-
te(), ne(), r.value = "disconnected", C.value = 0;
|
|
161
|
-
}
|
|
162
|
-
function We(e) {
|
|
163
|
-
if (!c || c.readyState !== WebSocket.OPEN)
|
|
164
|
-
return !1;
|
|
165
|
-
try {
|
|
166
|
-
return c.send(JSON.stringify(e)), !0;
|
|
167
|
-
} catch (t) {
|
|
168
|
-
return console.error("[DevTools WebSocket] Failed to send command:", t), !1;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
function B(e, t) {
|
|
172
|
-
p.has(e) || p.set(e, /* @__PURE__ */ new Set());
|
|
173
|
-
const n = p.get(e);
|
|
174
|
-
return n && n.add(t), () => {
|
|
175
|
-
const a = p.get(e);
|
|
176
|
-
a && (a.delete(t), a.size === 0 && p.delete(e));
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
function V(e, t) {
|
|
180
|
-
const n = p.get(e);
|
|
181
|
-
n && (n.delete(t), n.size === 0 && p.delete(e));
|
|
182
|
-
}
|
|
183
|
-
function Ne(e, t) {
|
|
184
|
-
const n = (a) => {
|
|
185
|
-
V(e, n), t(a);
|
|
186
|
-
};
|
|
187
|
-
return B(e, n);
|
|
188
|
-
}
|
|
189
|
-
function ze(e, t) {
|
|
190
|
-
const n = (a) => {
|
|
191
|
-
t(a) === !0 && V(e, n);
|
|
192
|
-
};
|
|
193
|
-
return B(e, n);
|
|
194
|
-
}
|
|
195
|
-
function $e() {
|
|
196
|
-
oe(), P.value = null, p.clear(), b = { ...H }, L = !1;
|
|
197
|
-
}
|
|
198
|
-
function Le(e = {}) {
|
|
199
|
-
(!L || r.value === "disconnected") && (b = { ...H, ...e }, L = !0);
|
|
200
|
-
const t = i(() => r.value === "connected"), n = i(() => r.value === "reconnecting");
|
|
201
|
-
return Me() && Y(() => {
|
|
202
|
-
b.autoConnect && R();
|
|
203
|
-
}), {
|
|
204
|
-
/**
|
|
205
|
-
* Current connection state
|
|
206
|
-
*/
|
|
207
|
-
connectionState: i(() => r.value),
|
|
208
|
-
/**
|
|
209
|
-
* Whether the WebSocket is connected
|
|
210
|
-
*/
|
|
211
|
-
connected: t,
|
|
212
|
-
/**
|
|
213
|
-
* Whether the WebSocket is attempting to reconnect
|
|
214
|
-
*/
|
|
215
|
-
isReconnecting: n,
|
|
216
|
-
/**
|
|
217
|
-
* Server version received on connection
|
|
218
|
-
*/
|
|
219
|
-
serverVersion: i(() => P.value),
|
|
220
|
-
/**
|
|
221
|
-
* Number of reconnection attempts made
|
|
222
|
-
*/
|
|
223
|
-
reconnectAttempts: i(() => C.value),
|
|
224
|
-
/**
|
|
225
|
-
* Connect to the WebSocket server
|
|
226
|
-
*/
|
|
227
|
-
connect: R,
|
|
228
|
-
/**
|
|
229
|
-
* Disconnect from the WebSocket server
|
|
230
|
-
*/
|
|
231
|
-
disconnect: oe,
|
|
232
|
-
/**
|
|
233
|
-
* Send a command to the server
|
|
234
|
-
*/
|
|
235
|
-
send: We,
|
|
236
|
-
/**
|
|
237
|
-
* Subscribe to a server event
|
|
238
|
-
*/
|
|
239
|
-
on: B,
|
|
240
|
-
/**
|
|
241
|
-
* Unsubscribe from a server event
|
|
242
|
-
*/
|
|
243
|
-
off: V,
|
|
244
|
-
/**
|
|
245
|
-
* Subscribe to an event once (one-shot, auto-unsubscribes after first call)
|
|
246
|
-
*/
|
|
247
|
-
once: Ne,
|
|
248
|
-
/**
|
|
249
|
-
* Subscribe to an event until handler returns true
|
|
250
|
-
*/
|
|
251
|
-
onUntil: ze,
|
|
252
|
-
/**
|
|
253
|
-
* Reset the composable state (useful for testing)
|
|
254
|
-
*/
|
|
255
|
-
resetState: $e
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
const ae = [
|
|
259
|
-
{
|
|
260
|
-
path: "/",
|
|
261
|
-
redirect: "/routes"
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
path: "/routes",
|
|
265
|
-
name: "routes",
|
|
266
|
-
component: () => import("./RoutesPage-BCKS0kdj.js"),
|
|
267
|
-
meta: {
|
|
268
|
-
title: "Routes",
|
|
269
|
-
icon: "route"
|
|
270
|
-
}
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
path: "/timeline",
|
|
274
|
-
name: "timeline",
|
|
275
|
-
component: () => import("./TimelinePage-BhtcWy3o.js"),
|
|
276
|
-
meta: {
|
|
277
|
-
title: "Timeline",
|
|
278
|
-
icon: "clock"
|
|
279
|
-
}
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
path: "/models",
|
|
283
|
-
name: "models",
|
|
284
|
-
component: () => import("./ModelsPage-DxcKgz3y.js"),
|
|
285
|
-
meta: {
|
|
286
|
-
title: "Models",
|
|
287
|
-
icon: "database"
|
|
288
|
-
}
|
|
289
|
-
},
|
|
290
|
-
{
|
|
291
|
-
path: "/simulator",
|
|
292
|
-
name: "simulator",
|
|
293
|
-
component: () => import("./SimulatorPage-BlbxLDdf.js"),
|
|
294
|
-
meta: {
|
|
295
|
-
title: "Simulator",
|
|
296
|
-
icon: "zap"
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
// Catch-all route for undefined paths - redirects to routes page
|
|
300
|
-
{
|
|
301
|
-
path: "/:pathMatch(.*)*",
|
|
302
|
-
name: "not-found",
|
|
303
|
-
redirect: "/routes"
|
|
304
|
-
}
|
|
305
|
-
], Re = me({
|
|
306
|
-
history: he(),
|
|
307
|
-
routes: ae
|
|
308
|
-
}), He = { class: "app" }, Pe = { class: "app-header" }, Be = { class: "app-header__brand" }, Ve = {
|
|
309
|
-
class: "app-nav",
|
|
310
|
-
role: "tablist",
|
|
311
|
-
"aria-label": "DevTools navigation"
|
|
312
|
-
}, Ue = ["aria-selected", "aria-current", "aria-controls", "onClick"], Fe = { class: "app-nav__label" }, je = { class: "app-header__status" }, Ze = { class: "connection-status" }, Ge = { class: "connection-status__text" }, Qe = { class: "app-main" }, qe = /* @__PURE__ */ se({
|
|
313
|
-
__name: "App",
|
|
314
|
-
setup(e) {
|
|
315
|
-
const t = ve(), n = ke(), a = i(
|
|
316
|
-
() => ae.filter((o) => o.name && o.meta?.title).map((o) => ({
|
|
317
|
-
name: o.name,
|
|
318
|
-
path: o.path,
|
|
319
|
-
title: o.meta?.title,
|
|
320
|
-
icon: o.meta?.icon
|
|
321
|
-
}))
|
|
322
|
-
), s = i(() => t.name);
|
|
323
|
-
function l(o) {
|
|
324
|
-
n.push(o);
|
|
325
|
-
}
|
|
326
|
-
const v = {
|
|
327
|
-
route: G,
|
|
328
|
-
clock: be,
|
|
329
|
-
database: Se,
|
|
330
|
-
zap: Q
|
|
331
|
-
};
|
|
332
|
-
function k(o) {
|
|
333
|
-
return v[o] ?? G;
|
|
334
|
-
}
|
|
335
|
-
const { connected: m } = Le();
|
|
336
|
-
return (o, y) => {
|
|
337
|
-
const _ = re("router-view");
|
|
338
|
-
return g(), A("div", He, [
|
|
339
|
-
d("header", Pe, [
|
|
340
|
-
d("div", Be, [
|
|
341
|
-
O(w(Q), {
|
|
342
|
-
class: "app-header__logo",
|
|
343
|
-
size: 20
|
|
344
|
-
}),
|
|
345
|
-
y[0] || (y[0] = d("span", { class: "app-header__title" }, "OpenAPI DevTools", -1))
|
|
346
|
-
]),
|
|
347
|
-
d("nav", Ve, [
|
|
348
|
-
(g(!0), A(le, null, ie(a.value, (u) => (g(), A("button", {
|
|
349
|
-
key: u.name,
|
|
350
|
-
role: "tab",
|
|
351
|
-
"aria-selected": s.value === u.name,
|
|
352
|
-
"aria-current": s.value === u.name ? "true" : void 0,
|
|
353
|
-
"aria-controls": `panel-${u.name}`,
|
|
354
|
-
tabindex: 0,
|
|
355
|
-
class: U([
|
|
356
|
-
"app-nav__tab",
|
|
357
|
-
{ "app-nav__tab--active": s.value === u.name }
|
|
358
|
-
]),
|
|
359
|
-
onClick: (tt) => l(u.path)
|
|
360
|
-
}, [
|
|
361
|
-
(g(), W(N(k(u.icon)), {
|
|
362
|
-
size: 16,
|
|
363
|
-
class: "app-nav__icon"
|
|
364
|
-
})),
|
|
365
|
-
d("span", Fe, F(u.title), 1)
|
|
366
|
-
], 10, Ue))), 128))
|
|
367
|
-
]),
|
|
368
|
-
d("div", je, [
|
|
369
|
-
d("div", Ze, [
|
|
370
|
-
d("span", {
|
|
371
|
-
class: U([
|
|
372
|
-
"connection-status__dot",
|
|
373
|
-
w(m) ? "connection-status__dot--connected" : "connection-status__dot--disconnected"
|
|
374
|
-
])
|
|
375
|
-
}, null, 2),
|
|
376
|
-
d("span", Ge, F(w(m) ? "Connected" : "Disconnected"), 1),
|
|
377
|
-
(g(), W(N(w(m) ? w(Te) : w(Ce)), {
|
|
378
|
-
size: 14,
|
|
379
|
-
class: "connection-status__icon"
|
|
380
|
-
}))
|
|
381
|
-
])
|
|
382
|
-
])
|
|
383
|
-
]),
|
|
384
|
-
d("main", Qe, [
|
|
385
|
-
O(_, null, {
|
|
386
|
-
default: j(({ Component: u }) => [
|
|
387
|
-
O(ue, {
|
|
388
|
-
name: "fade",
|
|
389
|
-
mode: "out-in"
|
|
390
|
-
}, {
|
|
391
|
-
default: j(() => [
|
|
392
|
-
(g(), W(N(u)))
|
|
393
|
-
]),
|
|
394
|
-
_: 2
|
|
395
|
-
}, 1024)
|
|
396
|
-
]),
|
|
397
|
-
_: 1
|
|
398
|
-
})
|
|
399
|
-
])
|
|
400
|
-
]);
|
|
401
|
-
};
|
|
402
|
-
}
|
|
403
|
-
}), Je = (e, t) => {
|
|
404
|
-
const n = e.__vccOpts || e;
|
|
405
|
-
for (const [a, s] of t)
|
|
406
|
-
n[a] = s;
|
|
407
|
-
return n;
|
|
408
|
-
}, Ke = /* @__PURE__ */ Je(qe, [["__scopeId", "data-v-0a83e2b9"]]), Ye = ["light", "dark", "system"];
|
|
409
|
-
function q(e) {
|
|
410
|
-
return typeof e == "string" && Ye.includes(e);
|
|
411
|
-
}
|
|
412
|
-
const z = "openapi-devtools-theme", f = T("system"), h = T(!1);
|
|
413
|
-
let D = null, E = null;
|
|
414
|
-
function I() {
|
|
415
|
-
return typeof window < "u" && typeof document < "u";
|
|
416
|
-
}
|
|
417
|
-
function Xe() {
|
|
418
|
-
return X() !== null;
|
|
419
|
-
}
|
|
420
|
-
function ct() {
|
|
421
|
-
const e = i(() => f.value === "system" ? h.value ? "dark" : "light" : f.value), t = i(() => e.value === "dark");
|
|
422
|
-
function n() {
|
|
423
|
-
if (!I()) return;
|
|
424
|
-
const o = document.documentElement;
|
|
425
|
-
e.value === "dark" ? (o.classList.add("dark"), o.classList.remove("light")) : (o.classList.add("light"), o.classList.remove("dark"));
|
|
426
|
-
}
|
|
427
|
-
function a(o) {
|
|
428
|
-
if (!q(o)) {
|
|
429
|
-
console.warn(`[DevTools] Invalid theme mode: ${o}`);
|
|
430
|
-
return;
|
|
431
|
-
}
|
|
432
|
-
if (f.value = o, I())
|
|
433
|
-
try {
|
|
434
|
-
localStorage.setItem(z, o);
|
|
435
|
-
} catch {
|
|
436
|
-
console.warn("[DevTools] Unable to persist theme preference");
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
function s() {
|
|
440
|
-
f.value === "system" ? a(h.value ? "light" : "dark") : a(f.value === "dark" ? "light" : "dark");
|
|
441
|
-
}
|
|
442
|
-
function l() {
|
|
443
|
-
a("system");
|
|
444
|
-
}
|
|
445
|
-
function v() {
|
|
446
|
-
D && E && (D.removeEventListener("change", E), D = null, E = null);
|
|
447
|
-
}
|
|
448
|
-
function k() {
|
|
449
|
-
if (!I()) return;
|
|
450
|
-
v();
|
|
451
|
-
const o = window.matchMedia("(prefers-color-scheme: dark)");
|
|
452
|
-
h.value = o.matches;
|
|
453
|
-
const y = (_) => {
|
|
454
|
-
h.value = _.matches;
|
|
455
|
-
};
|
|
456
|
-
o.addEventListener("change", y), D = o, E = y;
|
|
457
|
-
try {
|
|
458
|
-
const _ = localStorage.getItem(z);
|
|
459
|
-
q(_) && (f.value = _);
|
|
460
|
-
} catch {
|
|
461
|
-
}
|
|
462
|
-
n();
|
|
463
|
-
}
|
|
464
|
-
function m() {
|
|
465
|
-
if (v(), f.value = "system", h.value = !1, I()) {
|
|
466
|
-
document.documentElement.classList.remove("dark", "light");
|
|
467
|
-
try {
|
|
468
|
-
localStorage.removeItem(z);
|
|
469
|
-
} catch {
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
return de([f, h], () => {
|
|
474
|
-
n();
|
|
475
|
-
}), Xe() && (Y(() => {
|
|
476
|
-
k();
|
|
477
|
-
}), pe(() => {
|
|
478
|
-
v();
|
|
479
|
-
})), {
|
|
480
|
-
/**
|
|
481
|
-
* Current theme mode setting ('light', 'dark', or 'system')
|
|
482
|
-
*/
|
|
483
|
-
themeMode: i(() => f.value),
|
|
484
|
-
/**
|
|
485
|
-
* The effective theme after resolving 'system' mode
|
|
486
|
-
*/
|
|
487
|
-
effectiveTheme: e,
|
|
488
|
-
/**
|
|
489
|
-
* Whether dark mode is currently active
|
|
490
|
-
*/
|
|
491
|
-
isDark: t,
|
|
492
|
-
/**
|
|
493
|
-
* Whether the system prefers dark mode
|
|
494
|
-
*/
|
|
495
|
-
systemPrefersDark: i(() => h.value),
|
|
496
|
-
/**
|
|
497
|
-
* Set the theme mode
|
|
498
|
-
*/
|
|
499
|
-
setTheme: a,
|
|
500
|
-
/**
|
|
501
|
-
* Toggle between light and dark mode
|
|
502
|
-
*/
|
|
503
|
-
toggleTheme: s,
|
|
504
|
-
/**
|
|
505
|
-
* Reset to system preference
|
|
506
|
-
*/
|
|
507
|
-
resetToSystem: l,
|
|
508
|
-
/**
|
|
509
|
-
* Manually initialize theme (useful for SSR hydration)
|
|
510
|
-
*/
|
|
511
|
-
initialize: k,
|
|
512
|
-
/**
|
|
513
|
-
* Reset theme state to defaults (useful for testing)
|
|
514
|
-
*/
|
|
515
|
-
resetState: m
|
|
516
|
-
};
|
|
517
|
-
}
|
|
518
|
-
let J = !1, K = null;
|
|
519
|
-
function et() {
|
|
520
|
-
if (J)
|
|
521
|
-
return K;
|
|
522
|
-
const e = fe(Ke), t = ce();
|
|
523
|
-
return e.use(t), e.use(Re), e.mount("#app"), J = !0, K = e, e;
|
|
524
|
-
}
|
|
525
|
-
typeof window < "u" && document.getElementById("app") && et();
|
|
526
|
-
export {
|
|
527
|
-
be as C,
|
|
528
|
-
Se as D,
|
|
529
|
-
G as R,
|
|
530
|
-
Q as Z,
|
|
531
|
-
Je as _,
|
|
532
|
-
ct as a,
|
|
533
|
-
et as b,
|
|
534
|
-
S as c,
|
|
535
|
-
Le as u
|
|
536
|
-
};
|
|
537
|
-
//# sourceMappingURL=main-DmyM_bX3.js.map
|