reactive-route 0.0.1-alpha.26 → 0.0.1-alpha.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/cjs/adapters/vue/index.js +39 -0
- package/dist/cjs/adapters/vue/package.json +1 -0
- package/dist/cjs/vue/index.js +0 -0
- package/dist/cjs/vue/package.json +1 -0
- package/dist/esm/adapters/vue/index.js +18 -0
- package/dist/esm/adapters/vue/package.json +1 -0
- package/dist/esm/vue/index.js +0 -0
- package/dist/esm/vue/package.json +1 -0
- package/dist/tsconfig.types.react.tsbuildinfo +1 -1
- package/dist/vue/index.d.ts +1 -1
- package/dist/vue/index.d.ts.map +1 -1
- package/e2e/app.test.ts +130 -0
- package/e2e/teardown.ts +12 -0
- package/package.json +25 -9
- package/playwright.config.ts +54 -0
- package/vitepress/.vitepress/cache/deps/_metadata.json +52 -0
- package/vitepress/.vitepress/cache/deps/chunk-FL23S3EK.js +12705 -0
- package/vitepress/.vitepress/cache/deps/chunk-FL23S3EK.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/chunk-VGAXUAUJ.js +9952 -0
- package/vitepress/.vitepress/cache/deps/chunk-VGAXUAUJ.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/package.json +3 -0
- package/vitepress/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +3844 -0
- package/vitepress/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/vitepress___@vueuse_core.js +588 -0
- package/vitepress/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js +1153 -0
- package/vitepress/.vitepress/cache/deps/vitepress___@vueuse_integrations_useFocusTrap.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js +1665 -0
- package/vitepress/.vitepress/cache/deps/vitepress___mark__js_src_vanilla__js.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/vitepress___minisearch.js +1812 -0
- package/vitepress/.vitepress/cache/deps/vitepress___minisearch.js.map +7 -0
- package/vitepress/.vitepress/cache/deps/vue.js +342 -0
- package/vitepress/.vitepress/cache/deps/vue.js.map +7 -0
- package/vitepress/.vitepress/config.mts +72 -0
- package/vitepress/.vitepress/theme/custom.css +9 -0
- package/vitepress/.vitepress/theme/index.ts +5 -0
- package/vitepress/examples/preact.md +22 -0
- package/vitepress/examples/react.md +22 -0
- package/vitepress/examples/solid.md +21 -0
- package/vitepress/file.svg +79 -0
- package/vitepress/guide/advanced.md +131 -0
- package/vitepress/guide/getting-started.md +139 -0
- package/vitepress/guide/index.md +44 -0
- package/vitepress/guide/preact.md +33 -0
- package/vitepress/guide/react.md +33 -0
- package/vitepress/guide/router-component.md +67 -0
- package/vitepress/guide/router-configuration.md +185 -0
- package/vitepress/guide/routes-configuration.md +191 -0
- package/vitepress/guide/solid.md +68 -0
- package/vitepress/guide/ssr.md +70 -0
- package/vitepress/index.md +29 -0
- package/vitest.vue.config.mjs +23 -0
- package/dist/vue/Router.d.ts +0 -4
- package/dist/vue/Router.d.ts.map +0 -1
|
@@ -0,0 +1,3844 @@
|
|
|
1
|
+
// node_modules/.pnpm/@vue+devtools-shared@8.0.1/node_modules/@vue/devtools-shared/dist/index.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __commonJS = (cb, mod) => function() {
|
|
9
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
13
|
+
key = keys[i];
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
15
|
+
get: ((k) => from[k]).bind(null, key),
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target$1) => (target$1 = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target$1, "default", {
|
|
22
|
+
value: mod,
|
|
23
|
+
enumerable: true
|
|
24
|
+
}) : target$1, mod));
|
|
25
|
+
var isBrowser = typeof navigator !== "undefined";
|
|
26
|
+
var target = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : typeof global !== "undefined" ? global : {};
|
|
27
|
+
var isInChromePanel = typeof target.chrome !== "undefined" && !!target.chrome.devtools;
|
|
28
|
+
var isInIframe = isBrowser && target.self !== target.top;
|
|
29
|
+
var isInElectron = typeof navigator !== "undefined" && navigator.userAgent?.toLowerCase().includes("electron");
|
|
30
|
+
var isNuxtApp = typeof window !== "undefined" && !!window.__NUXT__;
|
|
31
|
+
var require_rfdc = __commonJS({ "../../node_modules/.pnpm/rfdc@1.4.1/node_modules/rfdc/index.js": ((exports, module) => {
|
|
32
|
+
module.exports = rfdc$1;
|
|
33
|
+
function copyBuffer(cur) {
|
|
34
|
+
if (cur instanceof Buffer) return Buffer.from(cur);
|
|
35
|
+
return new cur.constructor(cur.buffer.slice(), cur.byteOffset, cur.length);
|
|
36
|
+
}
|
|
37
|
+
function rfdc$1(opts) {
|
|
38
|
+
opts = opts || {};
|
|
39
|
+
if (opts.circles) return rfdcCircles(opts);
|
|
40
|
+
const constructorHandlers = /* @__PURE__ */ new Map();
|
|
41
|
+
constructorHandlers.set(Date, (o) => new Date(o));
|
|
42
|
+
constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));
|
|
43
|
+
constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));
|
|
44
|
+
if (opts.constructorHandlers) for (const handler$1 of opts.constructorHandlers) constructorHandlers.set(handler$1[0], handler$1[1]);
|
|
45
|
+
let handler = null;
|
|
46
|
+
return opts.proto ? cloneProto : clone;
|
|
47
|
+
function cloneArray(a, fn) {
|
|
48
|
+
const keys = Object.keys(a);
|
|
49
|
+
const a2 = new Array(keys.length);
|
|
50
|
+
for (let i = 0; i < keys.length; i++) {
|
|
51
|
+
const k = keys[i];
|
|
52
|
+
const cur = a[k];
|
|
53
|
+
if (typeof cur !== "object" || cur === null) a2[k] = cur;
|
|
54
|
+
else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn);
|
|
55
|
+
else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur);
|
|
56
|
+
else a2[k] = fn(cur);
|
|
57
|
+
}
|
|
58
|
+
return a2;
|
|
59
|
+
}
|
|
60
|
+
function clone(o) {
|
|
61
|
+
if (typeof o !== "object" || o === null) return o;
|
|
62
|
+
if (Array.isArray(o)) return cloneArray(o, clone);
|
|
63
|
+
if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone);
|
|
64
|
+
const o2 = {};
|
|
65
|
+
for (const k in o) {
|
|
66
|
+
if (Object.hasOwnProperty.call(o, k) === false) continue;
|
|
67
|
+
const cur = o[k];
|
|
68
|
+
if (typeof cur !== "object" || cur === null) o2[k] = cur;
|
|
69
|
+
else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone);
|
|
70
|
+
else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);
|
|
71
|
+
else o2[k] = clone(cur);
|
|
72
|
+
}
|
|
73
|
+
return o2;
|
|
74
|
+
}
|
|
75
|
+
function cloneProto(o) {
|
|
76
|
+
if (typeof o !== "object" || o === null) return o;
|
|
77
|
+
if (Array.isArray(o)) return cloneArray(o, cloneProto);
|
|
78
|
+
if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto);
|
|
79
|
+
const o2 = {};
|
|
80
|
+
for (const k in o) {
|
|
81
|
+
const cur = o[k];
|
|
82
|
+
if (typeof cur !== "object" || cur === null) o2[k] = cur;
|
|
83
|
+
else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto);
|
|
84
|
+
else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);
|
|
85
|
+
else o2[k] = cloneProto(cur);
|
|
86
|
+
}
|
|
87
|
+
return o2;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function rfdcCircles(opts) {
|
|
91
|
+
const refs = [];
|
|
92
|
+
const refsNew = [];
|
|
93
|
+
const constructorHandlers = /* @__PURE__ */ new Map();
|
|
94
|
+
constructorHandlers.set(Date, (o) => new Date(o));
|
|
95
|
+
constructorHandlers.set(Map, (o, fn) => new Map(cloneArray(Array.from(o), fn)));
|
|
96
|
+
constructorHandlers.set(Set, (o, fn) => new Set(cloneArray(Array.from(o), fn)));
|
|
97
|
+
if (opts.constructorHandlers) for (const handler$1 of opts.constructorHandlers) constructorHandlers.set(handler$1[0], handler$1[1]);
|
|
98
|
+
let handler = null;
|
|
99
|
+
return opts.proto ? cloneProto : clone;
|
|
100
|
+
function cloneArray(a, fn) {
|
|
101
|
+
const keys = Object.keys(a);
|
|
102
|
+
const a2 = new Array(keys.length);
|
|
103
|
+
for (let i = 0; i < keys.length; i++) {
|
|
104
|
+
const k = keys[i];
|
|
105
|
+
const cur = a[k];
|
|
106
|
+
if (typeof cur !== "object" || cur === null) a2[k] = cur;
|
|
107
|
+
else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) a2[k] = handler(cur, fn);
|
|
108
|
+
else if (ArrayBuffer.isView(cur)) a2[k] = copyBuffer(cur);
|
|
109
|
+
else {
|
|
110
|
+
const index = refs.indexOf(cur);
|
|
111
|
+
if (index !== -1) a2[k] = refsNew[index];
|
|
112
|
+
else a2[k] = fn(cur);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return a2;
|
|
116
|
+
}
|
|
117
|
+
function clone(o) {
|
|
118
|
+
if (typeof o !== "object" || o === null) return o;
|
|
119
|
+
if (Array.isArray(o)) return cloneArray(o, clone);
|
|
120
|
+
if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, clone);
|
|
121
|
+
const o2 = {};
|
|
122
|
+
refs.push(o);
|
|
123
|
+
refsNew.push(o2);
|
|
124
|
+
for (const k in o) {
|
|
125
|
+
if (Object.hasOwnProperty.call(o, k) === false) continue;
|
|
126
|
+
const cur = o[k];
|
|
127
|
+
if (typeof cur !== "object" || cur === null) o2[k] = cur;
|
|
128
|
+
else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, clone);
|
|
129
|
+
else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);
|
|
130
|
+
else {
|
|
131
|
+
const i = refs.indexOf(cur);
|
|
132
|
+
if (i !== -1) o2[k] = refsNew[i];
|
|
133
|
+
else o2[k] = clone(cur);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
refs.pop();
|
|
137
|
+
refsNew.pop();
|
|
138
|
+
return o2;
|
|
139
|
+
}
|
|
140
|
+
function cloneProto(o) {
|
|
141
|
+
if (typeof o !== "object" || o === null) return o;
|
|
142
|
+
if (Array.isArray(o)) return cloneArray(o, cloneProto);
|
|
143
|
+
if (o.constructor !== Object && (handler = constructorHandlers.get(o.constructor))) return handler(o, cloneProto);
|
|
144
|
+
const o2 = {};
|
|
145
|
+
refs.push(o);
|
|
146
|
+
refsNew.push(o2);
|
|
147
|
+
for (const k in o) {
|
|
148
|
+
const cur = o[k];
|
|
149
|
+
if (typeof cur !== "object" || cur === null) o2[k] = cur;
|
|
150
|
+
else if (cur.constructor !== Object && (handler = constructorHandlers.get(cur.constructor))) o2[k] = handler(cur, cloneProto);
|
|
151
|
+
else if (ArrayBuffer.isView(cur)) o2[k] = copyBuffer(cur);
|
|
152
|
+
else {
|
|
153
|
+
const i = refs.indexOf(cur);
|
|
154
|
+
if (i !== -1) o2[k] = refsNew[i];
|
|
155
|
+
else o2[k] = cloneProto(cur);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
refs.pop();
|
|
159
|
+
refsNew.pop();
|
|
160
|
+
return o2;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}) });
|
|
164
|
+
var import_rfdc = __toESM(require_rfdc(), 1);
|
|
165
|
+
var classifyRE = /(?:^|[-_/])(\w)/g;
|
|
166
|
+
function toUpper(_, c) {
|
|
167
|
+
return c ? c.toUpperCase() : "";
|
|
168
|
+
}
|
|
169
|
+
function classify(str) {
|
|
170
|
+
return str && `${str}`.replace(classifyRE, toUpper);
|
|
171
|
+
}
|
|
172
|
+
function basename(filename, ext) {
|
|
173
|
+
let normalizedFilename = filename.replace(/^[a-z]:/i, "").replace(/\\/g, "/");
|
|
174
|
+
if (normalizedFilename.endsWith(`index${ext}`)) normalizedFilename = normalizedFilename.replace(`/index${ext}`, ext);
|
|
175
|
+
const lastSlashIndex = normalizedFilename.lastIndexOf("/");
|
|
176
|
+
const baseNameWithExt = normalizedFilename.substring(lastSlashIndex + 1);
|
|
177
|
+
if (ext) {
|
|
178
|
+
const extIndex = baseNameWithExt.lastIndexOf(ext);
|
|
179
|
+
return baseNameWithExt.substring(0, extIndex);
|
|
180
|
+
}
|
|
181
|
+
return "";
|
|
182
|
+
}
|
|
183
|
+
var HTTP_URL_RE = /^https?:\/\//;
|
|
184
|
+
function isUrlString(str) {
|
|
185
|
+
return str.startsWith("/") || HTTP_URL_RE.test(str);
|
|
186
|
+
}
|
|
187
|
+
var deepClone = (0, import_rfdc.default)({ circles: true });
|
|
188
|
+
|
|
189
|
+
// node_modules/.pnpm/perfect-debounce@1.0.0/node_modules/perfect-debounce/dist/index.mjs
|
|
190
|
+
var DEBOUNCE_DEFAULTS = {
|
|
191
|
+
trailing: true
|
|
192
|
+
};
|
|
193
|
+
function debounce(fn, wait = 25, options = {}) {
|
|
194
|
+
options = { ...DEBOUNCE_DEFAULTS, ...options };
|
|
195
|
+
if (!Number.isFinite(wait)) {
|
|
196
|
+
throw new TypeError("Expected `wait` to be a finite number");
|
|
197
|
+
}
|
|
198
|
+
let leadingValue;
|
|
199
|
+
let timeout;
|
|
200
|
+
let resolveList = [];
|
|
201
|
+
let currentPromise;
|
|
202
|
+
let trailingArgs;
|
|
203
|
+
const applyFn = (_this, args) => {
|
|
204
|
+
currentPromise = _applyPromised(fn, _this, args);
|
|
205
|
+
currentPromise.finally(() => {
|
|
206
|
+
currentPromise = null;
|
|
207
|
+
if (options.trailing && trailingArgs && !timeout) {
|
|
208
|
+
const promise = applyFn(_this, trailingArgs);
|
|
209
|
+
trailingArgs = null;
|
|
210
|
+
return promise;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
return currentPromise;
|
|
214
|
+
};
|
|
215
|
+
return function(...args) {
|
|
216
|
+
if (currentPromise) {
|
|
217
|
+
if (options.trailing) {
|
|
218
|
+
trailingArgs = args;
|
|
219
|
+
}
|
|
220
|
+
return currentPromise;
|
|
221
|
+
}
|
|
222
|
+
return new Promise((resolve) => {
|
|
223
|
+
const shouldCallNow = !timeout && options.leading;
|
|
224
|
+
clearTimeout(timeout);
|
|
225
|
+
timeout = setTimeout(() => {
|
|
226
|
+
timeout = null;
|
|
227
|
+
const promise = options.leading ? leadingValue : applyFn(this, args);
|
|
228
|
+
for (const _resolve of resolveList) {
|
|
229
|
+
_resolve(promise);
|
|
230
|
+
}
|
|
231
|
+
resolveList = [];
|
|
232
|
+
}, wait);
|
|
233
|
+
if (shouldCallNow) {
|
|
234
|
+
leadingValue = applyFn(this, args);
|
|
235
|
+
resolve(leadingValue);
|
|
236
|
+
} else {
|
|
237
|
+
resolveList.push(resolve);
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
async function _applyPromised(fn, _this, args) {
|
|
243
|
+
return await fn.apply(_this, args);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
// node_modules/.pnpm/hookable@5.5.3/node_modules/hookable/dist/index.mjs
|
|
247
|
+
function flatHooks(configHooks, hooks2 = {}, parentName) {
|
|
248
|
+
for (const key in configHooks) {
|
|
249
|
+
const subHook = configHooks[key];
|
|
250
|
+
const name = parentName ? `${parentName}:${key}` : key;
|
|
251
|
+
if (typeof subHook === "object" && subHook !== null) {
|
|
252
|
+
flatHooks(subHook, hooks2, name);
|
|
253
|
+
} else if (typeof subHook === "function") {
|
|
254
|
+
hooks2[name] = subHook;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return hooks2;
|
|
258
|
+
}
|
|
259
|
+
var defaultTask = { run: (function_) => function_() };
|
|
260
|
+
var _createTask = () => defaultTask;
|
|
261
|
+
var createTask = typeof console.createTask !== "undefined" ? console.createTask : _createTask;
|
|
262
|
+
function serialTaskCaller(hooks2, args) {
|
|
263
|
+
const name = args.shift();
|
|
264
|
+
const task = createTask(name);
|
|
265
|
+
return hooks2.reduce(
|
|
266
|
+
(promise, hookFunction) => promise.then(() => task.run(() => hookFunction(...args))),
|
|
267
|
+
Promise.resolve()
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
function parallelTaskCaller(hooks2, args) {
|
|
271
|
+
const name = args.shift();
|
|
272
|
+
const task = createTask(name);
|
|
273
|
+
return Promise.all(hooks2.map((hook2) => task.run(() => hook2(...args))));
|
|
274
|
+
}
|
|
275
|
+
function callEachWith(callbacks, arg0) {
|
|
276
|
+
for (const callback of [...callbacks]) {
|
|
277
|
+
callback(arg0);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
var Hookable = class {
|
|
281
|
+
constructor() {
|
|
282
|
+
this._hooks = {};
|
|
283
|
+
this._before = void 0;
|
|
284
|
+
this._after = void 0;
|
|
285
|
+
this._deprecatedMessages = void 0;
|
|
286
|
+
this._deprecatedHooks = {};
|
|
287
|
+
this.hook = this.hook.bind(this);
|
|
288
|
+
this.callHook = this.callHook.bind(this);
|
|
289
|
+
this.callHookWith = this.callHookWith.bind(this);
|
|
290
|
+
}
|
|
291
|
+
hook(name, function_, options = {}) {
|
|
292
|
+
if (!name || typeof function_ !== "function") {
|
|
293
|
+
return () => {
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
const originalName = name;
|
|
297
|
+
let dep;
|
|
298
|
+
while (this._deprecatedHooks[name]) {
|
|
299
|
+
dep = this._deprecatedHooks[name];
|
|
300
|
+
name = dep.to;
|
|
301
|
+
}
|
|
302
|
+
if (dep && !options.allowDeprecated) {
|
|
303
|
+
let message = dep.message;
|
|
304
|
+
if (!message) {
|
|
305
|
+
message = `${originalName} hook has been deprecated` + (dep.to ? `, please use ${dep.to}` : "");
|
|
306
|
+
}
|
|
307
|
+
if (!this._deprecatedMessages) {
|
|
308
|
+
this._deprecatedMessages = /* @__PURE__ */ new Set();
|
|
309
|
+
}
|
|
310
|
+
if (!this._deprecatedMessages.has(message)) {
|
|
311
|
+
console.warn(message);
|
|
312
|
+
this._deprecatedMessages.add(message);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
if (!function_.name) {
|
|
316
|
+
try {
|
|
317
|
+
Object.defineProperty(function_, "name", {
|
|
318
|
+
get: () => "_" + name.replace(/\W+/g, "_") + "_hook_cb",
|
|
319
|
+
configurable: true
|
|
320
|
+
});
|
|
321
|
+
} catch {
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
this._hooks[name] = this._hooks[name] || [];
|
|
325
|
+
this._hooks[name].push(function_);
|
|
326
|
+
return () => {
|
|
327
|
+
if (function_) {
|
|
328
|
+
this.removeHook(name, function_);
|
|
329
|
+
function_ = void 0;
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
hookOnce(name, function_) {
|
|
334
|
+
let _unreg;
|
|
335
|
+
let _function = (...arguments_) => {
|
|
336
|
+
if (typeof _unreg === "function") {
|
|
337
|
+
_unreg();
|
|
338
|
+
}
|
|
339
|
+
_unreg = void 0;
|
|
340
|
+
_function = void 0;
|
|
341
|
+
return function_(...arguments_);
|
|
342
|
+
};
|
|
343
|
+
_unreg = this.hook(name, _function);
|
|
344
|
+
return _unreg;
|
|
345
|
+
}
|
|
346
|
+
removeHook(name, function_) {
|
|
347
|
+
if (this._hooks[name]) {
|
|
348
|
+
const index = this._hooks[name].indexOf(function_);
|
|
349
|
+
if (index !== -1) {
|
|
350
|
+
this._hooks[name].splice(index, 1);
|
|
351
|
+
}
|
|
352
|
+
if (this._hooks[name].length === 0) {
|
|
353
|
+
delete this._hooks[name];
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
deprecateHook(name, deprecated) {
|
|
358
|
+
this._deprecatedHooks[name] = typeof deprecated === "string" ? { to: deprecated } : deprecated;
|
|
359
|
+
const _hooks = this._hooks[name] || [];
|
|
360
|
+
delete this._hooks[name];
|
|
361
|
+
for (const hook2 of _hooks) {
|
|
362
|
+
this.hook(name, hook2);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
deprecateHooks(deprecatedHooks) {
|
|
366
|
+
Object.assign(this._deprecatedHooks, deprecatedHooks);
|
|
367
|
+
for (const name in deprecatedHooks) {
|
|
368
|
+
this.deprecateHook(name, deprecatedHooks[name]);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
addHooks(configHooks) {
|
|
372
|
+
const hooks2 = flatHooks(configHooks);
|
|
373
|
+
const removeFns = Object.keys(hooks2).map(
|
|
374
|
+
(key) => this.hook(key, hooks2[key])
|
|
375
|
+
);
|
|
376
|
+
return () => {
|
|
377
|
+
for (const unreg of removeFns.splice(0, removeFns.length)) {
|
|
378
|
+
unreg();
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
removeHooks(configHooks) {
|
|
383
|
+
const hooks2 = flatHooks(configHooks);
|
|
384
|
+
for (const key in hooks2) {
|
|
385
|
+
this.removeHook(key, hooks2[key]);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
removeAllHooks() {
|
|
389
|
+
for (const key in this._hooks) {
|
|
390
|
+
delete this._hooks[key];
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
callHook(name, ...arguments_) {
|
|
394
|
+
arguments_.unshift(name);
|
|
395
|
+
return this.callHookWith(serialTaskCaller, name, ...arguments_);
|
|
396
|
+
}
|
|
397
|
+
callHookParallel(name, ...arguments_) {
|
|
398
|
+
arguments_.unshift(name);
|
|
399
|
+
return this.callHookWith(parallelTaskCaller, name, ...arguments_);
|
|
400
|
+
}
|
|
401
|
+
callHookWith(caller, name, ...arguments_) {
|
|
402
|
+
const event = this._before || this._after ? { name, args: arguments_, context: {} } : void 0;
|
|
403
|
+
if (this._before) {
|
|
404
|
+
callEachWith(this._before, event);
|
|
405
|
+
}
|
|
406
|
+
const result = caller(
|
|
407
|
+
name in this._hooks ? [...this._hooks[name]] : [],
|
|
408
|
+
arguments_
|
|
409
|
+
);
|
|
410
|
+
if (result instanceof Promise) {
|
|
411
|
+
return result.finally(() => {
|
|
412
|
+
if (this._after && event) {
|
|
413
|
+
callEachWith(this._after, event);
|
|
414
|
+
}
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
if (this._after && event) {
|
|
418
|
+
callEachWith(this._after, event);
|
|
419
|
+
}
|
|
420
|
+
return result;
|
|
421
|
+
}
|
|
422
|
+
beforeEach(function_) {
|
|
423
|
+
this._before = this._before || [];
|
|
424
|
+
this._before.push(function_);
|
|
425
|
+
return () => {
|
|
426
|
+
if (this._before !== void 0) {
|
|
427
|
+
const index = this._before.indexOf(function_);
|
|
428
|
+
if (index !== -1) {
|
|
429
|
+
this._before.splice(index, 1);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
afterEach(function_) {
|
|
435
|
+
this._after = this._after || [];
|
|
436
|
+
this._after.push(function_);
|
|
437
|
+
return () => {
|
|
438
|
+
if (this._after !== void 0) {
|
|
439
|
+
const index = this._after.indexOf(function_);
|
|
440
|
+
if (index !== -1) {
|
|
441
|
+
this._after.splice(index, 1);
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
};
|
|
447
|
+
function createHooks() {
|
|
448
|
+
return new Hookable();
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
// node_modules/.pnpm/birpc@2.5.0/node_modules/birpc/dist/index.mjs
|
|
452
|
+
var { clearTimeout: clearTimeout2, setTimeout: setTimeout2 } = globalThis;
|
|
453
|
+
var random = Math.random.bind(Math);
|
|
454
|
+
|
|
455
|
+
// node_modules/.pnpm/@vue+devtools-kit@8.0.1/node_modules/@vue/devtools-kit/dist/index.js
|
|
456
|
+
var __create2 = Object.create;
|
|
457
|
+
var __defProp2 = Object.defineProperty;
|
|
458
|
+
var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
|
|
459
|
+
var __getOwnPropNames2 = Object.getOwnPropertyNames;
|
|
460
|
+
var __getProtoOf2 = Object.getPrototypeOf;
|
|
461
|
+
var __hasOwnProp2 = Object.prototype.hasOwnProperty;
|
|
462
|
+
var __commonJS2 = (cb, mod) => function() {
|
|
463
|
+
return mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
464
|
+
};
|
|
465
|
+
var __copyProps2 = (to, from, except, desc) => {
|
|
466
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames2(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
467
|
+
key = keys[i];
|
|
468
|
+
if (!__hasOwnProp2.call(to, key) && key !== except) __defProp2(to, key, {
|
|
469
|
+
get: ((k) => from[k]).bind(null, key),
|
|
470
|
+
enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable
|
|
471
|
+
});
|
|
472
|
+
}
|
|
473
|
+
return to;
|
|
474
|
+
};
|
|
475
|
+
var __toESM2 = (mod, isNodeMode, target$1) => (target$1 = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(isNodeMode || !mod || !mod.__esModule ? __defProp2(target$1, "default", {
|
|
476
|
+
value: mod,
|
|
477
|
+
enumerable: true
|
|
478
|
+
}) : target$1, mod));
|
|
479
|
+
function getComponentTypeName(options) {
|
|
480
|
+
const name = options.name || options._componentTag || options.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ || options.__name;
|
|
481
|
+
if (name === "index" && options.__file?.endsWith("index.vue")) return "";
|
|
482
|
+
return name;
|
|
483
|
+
}
|
|
484
|
+
function getComponentFileName(options) {
|
|
485
|
+
const file = options.__file;
|
|
486
|
+
if (file) return classify(basename(file, ".vue"));
|
|
487
|
+
}
|
|
488
|
+
function saveComponentGussedName(instance, name) {
|
|
489
|
+
instance.type.__VUE_DEVTOOLS_COMPONENT_GUSSED_NAME__ = name;
|
|
490
|
+
return name;
|
|
491
|
+
}
|
|
492
|
+
function getAppRecord(instance) {
|
|
493
|
+
if (instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__) return instance.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
|
|
494
|
+
else if (instance.root) return instance.appContext.app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
|
|
495
|
+
}
|
|
496
|
+
function isFragment(instance) {
|
|
497
|
+
const subTreeType = instance.subTree?.type;
|
|
498
|
+
const appRecord = getAppRecord(instance);
|
|
499
|
+
if (appRecord) return appRecord?.types?.Fragment === subTreeType;
|
|
500
|
+
return false;
|
|
501
|
+
}
|
|
502
|
+
function getInstanceName(instance) {
|
|
503
|
+
const name = getComponentTypeName(instance?.type || {});
|
|
504
|
+
if (name) return name;
|
|
505
|
+
if (instance?.root === instance) return "Root";
|
|
506
|
+
for (const key in instance.parent?.type?.components) if (instance.parent.type.components[key] === instance?.type) return saveComponentGussedName(instance, key);
|
|
507
|
+
for (const key in instance.appContext?.components) if (instance.appContext.components[key] === instance?.type) return saveComponentGussedName(instance, key);
|
|
508
|
+
const fileName = getComponentFileName(instance?.type || {});
|
|
509
|
+
if (fileName) return fileName;
|
|
510
|
+
return "Anonymous Component";
|
|
511
|
+
}
|
|
512
|
+
function getUniqueComponentId(instance) {
|
|
513
|
+
const appId = instance?.appContext?.app?.__VUE_DEVTOOLS_NEXT_APP_RECORD_ID__ ?? 0;
|
|
514
|
+
const instanceId = instance === instance?.root ? "root" : instance.uid;
|
|
515
|
+
return `${appId}:${instanceId}`;
|
|
516
|
+
}
|
|
517
|
+
function getComponentInstance(appRecord, instanceId) {
|
|
518
|
+
instanceId = instanceId || `${appRecord.id}:root`;
|
|
519
|
+
const instance = appRecord.instanceMap.get(instanceId);
|
|
520
|
+
return instance || appRecord.instanceMap.get(":root");
|
|
521
|
+
}
|
|
522
|
+
function createRect() {
|
|
523
|
+
const rect = {
|
|
524
|
+
top: 0,
|
|
525
|
+
bottom: 0,
|
|
526
|
+
left: 0,
|
|
527
|
+
right: 0,
|
|
528
|
+
get width() {
|
|
529
|
+
return rect.right - rect.left;
|
|
530
|
+
},
|
|
531
|
+
get height() {
|
|
532
|
+
return rect.bottom - rect.top;
|
|
533
|
+
}
|
|
534
|
+
};
|
|
535
|
+
return rect;
|
|
536
|
+
}
|
|
537
|
+
var range;
|
|
538
|
+
function getTextRect(node) {
|
|
539
|
+
if (!range) range = document.createRange();
|
|
540
|
+
range.selectNode(node);
|
|
541
|
+
return range.getBoundingClientRect();
|
|
542
|
+
}
|
|
543
|
+
function getFragmentRect(vnode) {
|
|
544
|
+
const rect = createRect();
|
|
545
|
+
if (!vnode.children) return rect;
|
|
546
|
+
for (let i = 0, l = vnode.children.length; i < l; i++) {
|
|
547
|
+
const childVnode = vnode.children[i];
|
|
548
|
+
let childRect;
|
|
549
|
+
if (childVnode.component) childRect = getComponentBoundingRect(childVnode.component);
|
|
550
|
+
else if (childVnode.el) {
|
|
551
|
+
const el = childVnode.el;
|
|
552
|
+
if (el.nodeType === 1 || el.getBoundingClientRect) childRect = el.getBoundingClientRect();
|
|
553
|
+
else if (el.nodeType === 3 && el.data.trim()) childRect = getTextRect(el);
|
|
554
|
+
}
|
|
555
|
+
if (childRect) mergeRects(rect, childRect);
|
|
556
|
+
}
|
|
557
|
+
return rect;
|
|
558
|
+
}
|
|
559
|
+
function mergeRects(a, b) {
|
|
560
|
+
if (!a.top || b.top < a.top) a.top = b.top;
|
|
561
|
+
if (!a.bottom || b.bottom > a.bottom) a.bottom = b.bottom;
|
|
562
|
+
if (!a.left || b.left < a.left) a.left = b.left;
|
|
563
|
+
if (!a.right || b.right > a.right) a.right = b.right;
|
|
564
|
+
return a;
|
|
565
|
+
}
|
|
566
|
+
var DEFAULT_RECT = {
|
|
567
|
+
top: 0,
|
|
568
|
+
left: 0,
|
|
569
|
+
right: 0,
|
|
570
|
+
bottom: 0,
|
|
571
|
+
width: 0,
|
|
572
|
+
height: 0
|
|
573
|
+
};
|
|
574
|
+
function getComponentBoundingRect(instance) {
|
|
575
|
+
const el = instance.subTree.el;
|
|
576
|
+
if (typeof window === "undefined") return DEFAULT_RECT;
|
|
577
|
+
if (isFragment(instance)) return getFragmentRect(instance.subTree);
|
|
578
|
+
else if (el?.nodeType === 1) return el?.getBoundingClientRect();
|
|
579
|
+
else if (instance.subTree.component) return getComponentBoundingRect(instance.subTree.component);
|
|
580
|
+
else return DEFAULT_RECT;
|
|
581
|
+
}
|
|
582
|
+
function getRootElementsFromComponentInstance(instance) {
|
|
583
|
+
if (isFragment(instance)) return getFragmentRootElements(instance.subTree);
|
|
584
|
+
if (!instance.subTree) return [];
|
|
585
|
+
return [instance.subTree.el];
|
|
586
|
+
}
|
|
587
|
+
function getFragmentRootElements(vnode) {
|
|
588
|
+
if (!vnode.children) return [];
|
|
589
|
+
const list = [];
|
|
590
|
+
vnode.children.forEach((childVnode) => {
|
|
591
|
+
if (childVnode.component) list.push(...getRootElementsFromComponentInstance(childVnode.component));
|
|
592
|
+
else if (childVnode?.el) list.push(childVnode.el);
|
|
593
|
+
});
|
|
594
|
+
return list;
|
|
595
|
+
}
|
|
596
|
+
var CONTAINER_ELEMENT_ID = "__vue-devtools-component-inspector__";
|
|
597
|
+
var CARD_ELEMENT_ID = "__vue-devtools-component-inspector__card__";
|
|
598
|
+
var COMPONENT_NAME_ELEMENT_ID = "__vue-devtools-component-inspector__name__";
|
|
599
|
+
var INDICATOR_ELEMENT_ID = "__vue-devtools-component-inspector__indicator__";
|
|
600
|
+
var containerStyles = {
|
|
601
|
+
display: "block",
|
|
602
|
+
zIndex: 2147483640,
|
|
603
|
+
position: "fixed",
|
|
604
|
+
backgroundColor: "#42b88325",
|
|
605
|
+
border: "1px solid #42b88350",
|
|
606
|
+
borderRadius: "5px",
|
|
607
|
+
transition: "all 0.1s ease-in",
|
|
608
|
+
pointerEvents: "none"
|
|
609
|
+
};
|
|
610
|
+
var cardStyles = {
|
|
611
|
+
fontFamily: "Arial, Helvetica, sans-serif",
|
|
612
|
+
padding: "5px 8px",
|
|
613
|
+
borderRadius: "4px",
|
|
614
|
+
textAlign: "left",
|
|
615
|
+
position: "absolute",
|
|
616
|
+
left: 0,
|
|
617
|
+
color: "#e9e9e9",
|
|
618
|
+
fontSize: "14px",
|
|
619
|
+
fontWeight: 600,
|
|
620
|
+
lineHeight: "24px",
|
|
621
|
+
backgroundColor: "#42b883",
|
|
622
|
+
boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)"
|
|
623
|
+
};
|
|
624
|
+
var indicatorStyles = {
|
|
625
|
+
display: "inline-block",
|
|
626
|
+
fontWeight: 400,
|
|
627
|
+
fontStyle: "normal",
|
|
628
|
+
fontSize: "12px",
|
|
629
|
+
opacity: 0.7
|
|
630
|
+
};
|
|
631
|
+
function getContainerElement() {
|
|
632
|
+
return document.getElementById(CONTAINER_ELEMENT_ID);
|
|
633
|
+
}
|
|
634
|
+
function getCardElement() {
|
|
635
|
+
return document.getElementById(CARD_ELEMENT_ID);
|
|
636
|
+
}
|
|
637
|
+
function getIndicatorElement() {
|
|
638
|
+
return document.getElementById(INDICATOR_ELEMENT_ID);
|
|
639
|
+
}
|
|
640
|
+
function getNameElement() {
|
|
641
|
+
return document.getElementById(COMPONENT_NAME_ELEMENT_ID);
|
|
642
|
+
}
|
|
643
|
+
function getStyles(bounds) {
|
|
644
|
+
return {
|
|
645
|
+
left: `${Math.round(bounds.left * 100) / 100}px`,
|
|
646
|
+
top: `${Math.round(bounds.top * 100) / 100}px`,
|
|
647
|
+
width: `${Math.round(bounds.width * 100) / 100}px`,
|
|
648
|
+
height: `${Math.round(bounds.height * 100) / 100}px`
|
|
649
|
+
};
|
|
650
|
+
}
|
|
651
|
+
function create(options) {
|
|
652
|
+
const containerEl = document.createElement("div");
|
|
653
|
+
containerEl.id = options.elementId ?? CONTAINER_ELEMENT_ID;
|
|
654
|
+
Object.assign(containerEl.style, {
|
|
655
|
+
...containerStyles,
|
|
656
|
+
...getStyles(options.bounds),
|
|
657
|
+
...options.style
|
|
658
|
+
});
|
|
659
|
+
const cardEl = document.createElement("span");
|
|
660
|
+
cardEl.id = CARD_ELEMENT_ID;
|
|
661
|
+
Object.assign(cardEl.style, {
|
|
662
|
+
...cardStyles,
|
|
663
|
+
top: options.bounds.top < 35 ? 0 : "-35px"
|
|
664
|
+
});
|
|
665
|
+
const nameEl = document.createElement("span");
|
|
666
|
+
nameEl.id = COMPONENT_NAME_ELEMENT_ID;
|
|
667
|
+
nameEl.innerHTML = `<${options.name}> `;
|
|
668
|
+
const indicatorEl = document.createElement("i");
|
|
669
|
+
indicatorEl.id = INDICATOR_ELEMENT_ID;
|
|
670
|
+
indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;
|
|
671
|
+
Object.assign(indicatorEl.style, indicatorStyles);
|
|
672
|
+
cardEl.appendChild(nameEl);
|
|
673
|
+
cardEl.appendChild(indicatorEl);
|
|
674
|
+
containerEl.appendChild(cardEl);
|
|
675
|
+
document.body.appendChild(containerEl);
|
|
676
|
+
return containerEl;
|
|
677
|
+
}
|
|
678
|
+
function update(options) {
|
|
679
|
+
const containerEl = getContainerElement();
|
|
680
|
+
const cardEl = getCardElement();
|
|
681
|
+
const nameEl = getNameElement();
|
|
682
|
+
const indicatorEl = getIndicatorElement();
|
|
683
|
+
if (containerEl) {
|
|
684
|
+
Object.assign(containerEl.style, {
|
|
685
|
+
...containerStyles,
|
|
686
|
+
...getStyles(options.bounds)
|
|
687
|
+
});
|
|
688
|
+
Object.assign(cardEl.style, { top: options.bounds.top < 35 ? 0 : "-35px" });
|
|
689
|
+
nameEl.innerHTML = `<${options.name}> `;
|
|
690
|
+
indicatorEl.innerHTML = `${Math.round(options.bounds.width * 100) / 100} x ${Math.round(options.bounds.height * 100) / 100}`;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
function highlight(instance) {
|
|
694
|
+
const bounds = getComponentBoundingRect(instance);
|
|
695
|
+
if (!bounds.width && !bounds.height) return;
|
|
696
|
+
const name = getInstanceName(instance);
|
|
697
|
+
const container = getContainerElement();
|
|
698
|
+
container ? update({
|
|
699
|
+
bounds,
|
|
700
|
+
name
|
|
701
|
+
}) : create({
|
|
702
|
+
bounds,
|
|
703
|
+
name
|
|
704
|
+
});
|
|
705
|
+
}
|
|
706
|
+
function unhighlight() {
|
|
707
|
+
const el = getContainerElement();
|
|
708
|
+
if (el) el.style.display = "none";
|
|
709
|
+
}
|
|
710
|
+
var inspectInstance = null;
|
|
711
|
+
function inspectFn(e) {
|
|
712
|
+
const target$1 = e.target;
|
|
713
|
+
if (target$1) {
|
|
714
|
+
const instance = target$1.__vueParentComponent;
|
|
715
|
+
if (instance) {
|
|
716
|
+
inspectInstance = instance;
|
|
717
|
+
const el = instance.vnode.el;
|
|
718
|
+
if (el) {
|
|
719
|
+
const bounds = getComponentBoundingRect(instance);
|
|
720
|
+
const name = getInstanceName(instance);
|
|
721
|
+
const container = getContainerElement();
|
|
722
|
+
container ? update({
|
|
723
|
+
bounds,
|
|
724
|
+
name
|
|
725
|
+
}) : create({
|
|
726
|
+
bounds,
|
|
727
|
+
name
|
|
728
|
+
});
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
function selectComponentFn(e, cb) {
|
|
734
|
+
e.preventDefault();
|
|
735
|
+
e.stopPropagation();
|
|
736
|
+
if (inspectInstance) {
|
|
737
|
+
const uniqueComponentId = getUniqueComponentId(inspectInstance);
|
|
738
|
+
cb(uniqueComponentId);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
var inspectComponentHighLighterSelectFn = null;
|
|
742
|
+
function cancelInspectComponentHighLighter() {
|
|
743
|
+
unhighlight();
|
|
744
|
+
window.removeEventListener("mouseover", inspectFn);
|
|
745
|
+
window.removeEventListener("click", inspectComponentHighLighterSelectFn, true);
|
|
746
|
+
inspectComponentHighLighterSelectFn = null;
|
|
747
|
+
}
|
|
748
|
+
function inspectComponentHighLighter() {
|
|
749
|
+
window.addEventListener("mouseover", inspectFn);
|
|
750
|
+
return new Promise((resolve) => {
|
|
751
|
+
function onSelect(e) {
|
|
752
|
+
e.preventDefault();
|
|
753
|
+
e.stopPropagation();
|
|
754
|
+
selectComponentFn(e, (id) => {
|
|
755
|
+
window.removeEventListener("click", onSelect, true);
|
|
756
|
+
inspectComponentHighLighterSelectFn = null;
|
|
757
|
+
window.removeEventListener("mouseover", inspectFn);
|
|
758
|
+
const el = getContainerElement();
|
|
759
|
+
if (el) el.style.display = "none";
|
|
760
|
+
resolve(JSON.stringify({ id }));
|
|
761
|
+
});
|
|
762
|
+
}
|
|
763
|
+
inspectComponentHighLighterSelectFn = onSelect;
|
|
764
|
+
window.addEventListener("click", onSelect, true);
|
|
765
|
+
});
|
|
766
|
+
}
|
|
767
|
+
function scrollToComponent(options) {
|
|
768
|
+
const instance = getComponentInstance(activeAppRecord.value, options.id);
|
|
769
|
+
if (instance) {
|
|
770
|
+
const [el] = getRootElementsFromComponentInstance(instance);
|
|
771
|
+
if (typeof el.scrollIntoView === "function") el.scrollIntoView({ behavior: "smooth" });
|
|
772
|
+
else {
|
|
773
|
+
const bounds = getComponentBoundingRect(instance);
|
|
774
|
+
const scrollTarget = document.createElement("div");
|
|
775
|
+
const styles = {
|
|
776
|
+
...getStyles(bounds),
|
|
777
|
+
position: "absolute"
|
|
778
|
+
};
|
|
779
|
+
Object.assign(scrollTarget.style, styles);
|
|
780
|
+
document.body.appendChild(scrollTarget);
|
|
781
|
+
scrollTarget.scrollIntoView({ behavior: "smooth" });
|
|
782
|
+
setTimeout(() => {
|
|
783
|
+
document.body.removeChild(scrollTarget);
|
|
784
|
+
}, 2e3);
|
|
785
|
+
}
|
|
786
|
+
setTimeout(() => {
|
|
787
|
+
const bounds = getComponentBoundingRect(instance);
|
|
788
|
+
if (bounds.width || bounds.height) {
|
|
789
|
+
const name = getInstanceName(instance);
|
|
790
|
+
const el$1 = getContainerElement();
|
|
791
|
+
el$1 ? update({
|
|
792
|
+
...options,
|
|
793
|
+
name,
|
|
794
|
+
bounds
|
|
795
|
+
}) : create({
|
|
796
|
+
...options,
|
|
797
|
+
name,
|
|
798
|
+
bounds
|
|
799
|
+
});
|
|
800
|
+
setTimeout(() => {
|
|
801
|
+
if (el$1) el$1.style.display = "none";
|
|
802
|
+
}, 1500);
|
|
803
|
+
}
|
|
804
|
+
}, 1200);
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
target.__VUE_DEVTOOLS_COMPONENT_INSPECTOR_ENABLED__ ??= true;
|
|
808
|
+
function waitForInspectorInit(cb) {
|
|
809
|
+
let total = 0;
|
|
810
|
+
const timer = setInterval(() => {
|
|
811
|
+
if (target.__VUE_INSPECTOR__) {
|
|
812
|
+
clearInterval(timer);
|
|
813
|
+
total += 30;
|
|
814
|
+
cb();
|
|
815
|
+
}
|
|
816
|
+
if (total >= 5e3) clearInterval(timer);
|
|
817
|
+
}, 30);
|
|
818
|
+
}
|
|
819
|
+
function setupInspector() {
|
|
820
|
+
const inspector = target.__VUE_INSPECTOR__;
|
|
821
|
+
const _openInEditor = inspector.openInEditor;
|
|
822
|
+
inspector.openInEditor = async (...params) => {
|
|
823
|
+
inspector.disable();
|
|
824
|
+
_openInEditor(...params);
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
function getComponentInspector() {
|
|
828
|
+
return new Promise((resolve) => {
|
|
829
|
+
function setup() {
|
|
830
|
+
setupInspector();
|
|
831
|
+
resolve(target.__VUE_INSPECTOR__);
|
|
832
|
+
}
|
|
833
|
+
if (!target.__VUE_INSPECTOR__) waitForInspectorInit(() => {
|
|
834
|
+
setup();
|
|
835
|
+
});
|
|
836
|
+
else setup();
|
|
837
|
+
});
|
|
838
|
+
}
|
|
839
|
+
var ReactiveFlags = (function(ReactiveFlags$1) {
|
|
840
|
+
ReactiveFlags$1["SKIP"] = "__v_skip";
|
|
841
|
+
ReactiveFlags$1["IS_REACTIVE"] = "__v_isReactive";
|
|
842
|
+
ReactiveFlags$1["IS_READONLY"] = "__v_isReadonly";
|
|
843
|
+
ReactiveFlags$1["IS_SHALLOW"] = "__v_isShallow";
|
|
844
|
+
ReactiveFlags$1["RAW"] = "__v_raw";
|
|
845
|
+
return ReactiveFlags$1;
|
|
846
|
+
})({});
|
|
847
|
+
function isReadonly(value) {
|
|
848
|
+
return !!(value && value[ReactiveFlags.IS_READONLY]);
|
|
849
|
+
}
|
|
850
|
+
function isReactive$1(value) {
|
|
851
|
+
if (isReadonly(value)) return isReactive$1(value[ReactiveFlags.RAW]);
|
|
852
|
+
return !!(value && value[ReactiveFlags.IS_REACTIVE]);
|
|
853
|
+
}
|
|
854
|
+
function isRef$1(r) {
|
|
855
|
+
return !!(r && r.__v_isRef === true);
|
|
856
|
+
}
|
|
857
|
+
function toRaw$1(observed) {
|
|
858
|
+
const raw = observed && observed[ReactiveFlags.RAW];
|
|
859
|
+
return raw ? toRaw$1(raw) : observed;
|
|
860
|
+
}
|
|
861
|
+
var Fragment = Symbol.for("v-fgt");
|
|
862
|
+
var StateEditor = class {
|
|
863
|
+
refEditor = new RefStateEditor();
|
|
864
|
+
set(object, path, value, cb) {
|
|
865
|
+
const sections = Array.isArray(path) ? path : path.split(".");
|
|
866
|
+
while (sections.length > 1) {
|
|
867
|
+
const section = sections.shift();
|
|
868
|
+
if (object instanceof Map) object = object.get(section);
|
|
869
|
+
else if (object instanceof Set) object = Array.from(object.values())[section];
|
|
870
|
+
else object = object[section];
|
|
871
|
+
if (this.refEditor.isRef(object)) object = this.refEditor.get(object);
|
|
872
|
+
}
|
|
873
|
+
const field = sections[0];
|
|
874
|
+
const item = this.refEditor.get(object)[field];
|
|
875
|
+
if (cb) cb(object, field, value);
|
|
876
|
+
else if (this.refEditor.isRef(item)) this.refEditor.set(item, value);
|
|
877
|
+
else object[field] = value;
|
|
878
|
+
}
|
|
879
|
+
get(object, path) {
|
|
880
|
+
const sections = Array.isArray(path) ? path : path.split(".");
|
|
881
|
+
for (let i = 0; i < sections.length; i++) {
|
|
882
|
+
if (object instanceof Map) object = object.get(sections[i]);
|
|
883
|
+
else object = object[sections[i]];
|
|
884
|
+
if (this.refEditor.isRef(object)) object = this.refEditor.get(object);
|
|
885
|
+
if (!object) return void 0;
|
|
886
|
+
}
|
|
887
|
+
return object;
|
|
888
|
+
}
|
|
889
|
+
has(object, path, parent = false) {
|
|
890
|
+
if (typeof object === "undefined") return false;
|
|
891
|
+
const sections = Array.isArray(path) ? path.slice() : path.split(".");
|
|
892
|
+
const size = !parent ? 1 : 2;
|
|
893
|
+
while (object && sections.length > size) {
|
|
894
|
+
const section = sections.shift();
|
|
895
|
+
object = object[section];
|
|
896
|
+
if (this.refEditor.isRef(object)) object = this.refEditor.get(object);
|
|
897
|
+
}
|
|
898
|
+
return object != null && Object.prototype.hasOwnProperty.call(object, sections[0]);
|
|
899
|
+
}
|
|
900
|
+
createDefaultSetCallback(state) {
|
|
901
|
+
return (object, field, value) => {
|
|
902
|
+
if (state.remove || state.newKey) if (Array.isArray(object)) object.splice(field, 1);
|
|
903
|
+
else if (toRaw$1(object) instanceof Map) object.delete(field);
|
|
904
|
+
else if (toRaw$1(object) instanceof Set) object.delete(Array.from(object.values())[field]);
|
|
905
|
+
else Reflect.deleteProperty(object, field);
|
|
906
|
+
if (!state.remove) {
|
|
907
|
+
const target$1 = object[state.newKey || field];
|
|
908
|
+
if (this.refEditor.isRef(target$1)) this.refEditor.set(target$1, value);
|
|
909
|
+
else if (toRaw$1(object) instanceof Map) object.set(state.newKey || field, value);
|
|
910
|
+
else if (toRaw$1(object) instanceof Set) object.add(value);
|
|
911
|
+
else object[state.newKey || field] = value;
|
|
912
|
+
}
|
|
913
|
+
};
|
|
914
|
+
}
|
|
915
|
+
};
|
|
916
|
+
var RefStateEditor = class {
|
|
917
|
+
set(ref, value) {
|
|
918
|
+
if (isRef$1(ref)) ref.value = value;
|
|
919
|
+
else {
|
|
920
|
+
if (ref instanceof Set && Array.isArray(value)) {
|
|
921
|
+
ref.clear();
|
|
922
|
+
value.forEach((v) => ref.add(v));
|
|
923
|
+
return;
|
|
924
|
+
}
|
|
925
|
+
const currentKeys = Object.keys(value);
|
|
926
|
+
if (ref instanceof Map) {
|
|
927
|
+
const previousKeysSet$1 = new Set(ref.keys());
|
|
928
|
+
currentKeys.forEach((key) => {
|
|
929
|
+
ref.set(key, Reflect.get(value, key));
|
|
930
|
+
previousKeysSet$1.delete(key);
|
|
931
|
+
});
|
|
932
|
+
previousKeysSet$1.forEach((key) => ref.delete(key));
|
|
933
|
+
return;
|
|
934
|
+
}
|
|
935
|
+
const previousKeysSet = new Set(Object.keys(ref));
|
|
936
|
+
currentKeys.forEach((key) => {
|
|
937
|
+
Reflect.set(ref, key, Reflect.get(value, key));
|
|
938
|
+
previousKeysSet.delete(key);
|
|
939
|
+
});
|
|
940
|
+
previousKeysSet.forEach((key) => Reflect.deleteProperty(ref, key));
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
get(ref) {
|
|
944
|
+
return isRef$1(ref) ? ref.value : ref;
|
|
945
|
+
}
|
|
946
|
+
isRef(ref) {
|
|
947
|
+
return isRef$1(ref) || isReactive$1(ref);
|
|
948
|
+
}
|
|
949
|
+
};
|
|
950
|
+
var stateEditor = new StateEditor();
|
|
951
|
+
var TIMELINE_LAYERS_STATE_STORAGE_ID = "__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS_STATE__";
|
|
952
|
+
function getTimelineLayersStateFromStorage() {
|
|
953
|
+
if (!isBrowser || typeof localStorage === "undefined" || localStorage === null) return {
|
|
954
|
+
recordingState: false,
|
|
955
|
+
mouseEventEnabled: false,
|
|
956
|
+
keyboardEventEnabled: false,
|
|
957
|
+
componentEventEnabled: false,
|
|
958
|
+
performanceEventEnabled: false,
|
|
959
|
+
selected: ""
|
|
960
|
+
};
|
|
961
|
+
const state = localStorage.getItem(TIMELINE_LAYERS_STATE_STORAGE_ID);
|
|
962
|
+
return state ? JSON.parse(state) : {
|
|
963
|
+
recordingState: false,
|
|
964
|
+
mouseEventEnabled: false,
|
|
965
|
+
keyboardEventEnabled: false,
|
|
966
|
+
componentEventEnabled: false,
|
|
967
|
+
performanceEventEnabled: false,
|
|
968
|
+
selected: ""
|
|
969
|
+
};
|
|
970
|
+
}
|
|
971
|
+
target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS ??= [];
|
|
972
|
+
var devtoolsTimelineLayers = new Proxy(target.__VUE_DEVTOOLS_KIT_TIMELINE_LAYERS, { get(target$1, prop, receiver) {
|
|
973
|
+
return Reflect.get(target$1, prop, receiver);
|
|
974
|
+
} });
|
|
975
|
+
function addTimelineLayer(options, descriptor) {
|
|
976
|
+
devtoolsState.timelineLayersState[descriptor.id] = false;
|
|
977
|
+
devtoolsTimelineLayers.push({
|
|
978
|
+
...options,
|
|
979
|
+
descriptorId: descriptor.id,
|
|
980
|
+
appRecord: getAppRecord(descriptor.app)
|
|
981
|
+
});
|
|
982
|
+
}
|
|
983
|
+
target.__VUE_DEVTOOLS_KIT_INSPECTOR__ ??= [];
|
|
984
|
+
var devtoolsInspector = new Proxy(target.__VUE_DEVTOOLS_KIT_INSPECTOR__, { get(target$1, prop, receiver) {
|
|
985
|
+
return Reflect.get(target$1, prop, receiver);
|
|
986
|
+
} });
|
|
987
|
+
var callInspectorUpdatedHook = debounce(() => {
|
|
988
|
+
devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.SEND_INSPECTOR_TO_CLIENT, getActiveInspectors());
|
|
989
|
+
});
|
|
990
|
+
function addInspector(inspector, descriptor) {
|
|
991
|
+
devtoolsInspector.push({
|
|
992
|
+
options: inspector,
|
|
993
|
+
descriptor,
|
|
994
|
+
treeFilterPlaceholder: inspector.treeFilterPlaceholder ?? "Search tree...",
|
|
995
|
+
stateFilterPlaceholder: inspector.stateFilterPlaceholder ?? "Search state...",
|
|
996
|
+
treeFilter: "",
|
|
997
|
+
selectedNodeId: "",
|
|
998
|
+
appRecord: getAppRecord(descriptor.app)
|
|
999
|
+
});
|
|
1000
|
+
callInspectorUpdatedHook();
|
|
1001
|
+
}
|
|
1002
|
+
function getActiveInspectors() {
|
|
1003
|
+
return devtoolsInspector.filter((inspector) => inspector.descriptor.app === activeAppRecord.value.app).filter((inspector) => inspector.descriptor.id !== "components").map((inspector) => {
|
|
1004
|
+
const descriptor = inspector.descriptor;
|
|
1005
|
+
const options = inspector.options;
|
|
1006
|
+
return {
|
|
1007
|
+
id: options.id,
|
|
1008
|
+
label: options.label,
|
|
1009
|
+
logo: descriptor.logo,
|
|
1010
|
+
icon: `custom-ic-baseline-${options?.icon?.replace(/_/g, "-")}`,
|
|
1011
|
+
packageName: descriptor.packageName,
|
|
1012
|
+
homepage: descriptor.homepage,
|
|
1013
|
+
pluginId: descriptor.id
|
|
1014
|
+
};
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1017
|
+
function getInspector(id, app) {
|
|
1018
|
+
return devtoolsInspector.find((inspector) => inspector.options.id === id && (app ? inspector.descriptor.app === app : true));
|
|
1019
|
+
}
|
|
1020
|
+
var DevToolsV6PluginAPIHookKeys = (function(DevToolsV6PluginAPIHookKeys$1) {
|
|
1021
|
+
DevToolsV6PluginAPIHookKeys$1["VISIT_COMPONENT_TREE"] = "visitComponentTree";
|
|
1022
|
+
DevToolsV6PluginAPIHookKeys$1["INSPECT_COMPONENT"] = "inspectComponent";
|
|
1023
|
+
DevToolsV6PluginAPIHookKeys$1["EDIT_COMPONENT_STATE"] = "editComponentState";
|
|
1024
|
+
DevToolsV6PluginAPIHookKeys$1["GET_INSPECTOR_TREE"] = "getInspectorTree";
|
|
1025
|
+
DevToolsV6PluginAPIHookKeys$1["GET_INSPECTOR_STATE"] = "getInspectorState";
|
|
1026
|
+
DevToolsV6PluginAPIHookKeys$1["EDIT_INSPECTOR_STATE"] = "editInspectorState";
|
|
1027
|
+
DevToolsV6PluginAPIHookKeys$1["INSPECT_TIMELINE_EVENT"] = "inspectTimelineEvent";
|
|
1028
|
+
DevToolsV6PluginAPIHookKeys$1["TIMELINE_CLEARED"] = "timelineCleared";
|
|
1029
|
+
DevToolsV6PluginAPIHookKeys$1["SET_PLUGIN_SETTINGS"] = "setPluginSettings";
|
|
1030
|
+
return DevToolsV6PluginAPIHookKeys$1;
|
|
1031
|
+
})({});
|
|
1032
|
+
var DevToolsContextHookKeys = (function(DevToolsContextHookKeys$1) {
|
|
1033
|
+
DevToolsContextHookKeys$1["ADD_INSPECTOR"] = "addInspector";
|
|
1034
|
+
DevToolsContextHookKeys$1["SEND_INSPECTOR_TREE"] = "sendInspectorTree";
|
|
1035
|
+
DevToolsContextHookKeys$1["SEND_INSPECTOR_STATE"] = "sendInspectorState";
|
|
1036
|
+
DevToolsContextHookKeys$1["CUSTOM_INSPECTOR_SELECT_NODE"] = "customInspectorSelectNode";
|
|
1037
|
+
DevToolsContextHookKeys$1["TIMELINE_LAYER_ADDED"] = "timelineLayerAdded";
|
|
1038
|
+
DevToolsContextHookKeys$1["TIMELINE_EVENT_ADDED"] = "timelineEventAdded";
|
|
1039
|
+
DevToolsContextHookKeys$1["GET_COMPONENT_INSTANCES"] = "getComponentInstances";
|
|
1040
|
+
DevToolsContextHookKeys$1["GET_COMPONENT_BOUNDS"] = "getComponentBounds";
|
|
1041
|
+
DevToolsContextHookKeys$1["GET_COMPONENT_NAME"] = "getComponentName";
|
|
1042
|
+
DevToolsContextHookKeys$1["COMPONENT_HIGHLIGHT"] = "componentHighlight";
|
|
1043
|
+
DevToolsContextHookKeys$1["COMPONENT_UNHIGHLIGHT"] = "componentUnhighlight";
|
|
1044
|
+
return DevToolsContextHookKeys$1;
|
|
1045
|
+
})({});
|
|
1046
|
+
var DevToolsMessagingHookKeys = (function(DevToolsMessagingHookKeys$1) {
|
|
1047
|
+
DevToolsMessagingHookKeys$1["SEND_INSPECTOR_TREE_TO_CLIENT"] = "sendInspectorTreeToClient";
|
|
1048
|
+
DevToolsMessagingHookKeys$1["SEND_INSPECTOR_STATE_TO_CLIENT"] = "sendInspectorStateToClient";
|
|
1049
|
+
DevToolsMessagingHookKeys$1["SEND_TIMELINE_EVENT_TO_CLIENT"] = "sendTimelineEventToClient";
|
|
1050
|
+
DevToolsMessagingHookKeys$1["SEND_INSPECTOR_TO_CLIENT"] = "sendInspectorToClient";
|
|
1051
|
+
DevToolsMessagingHookKeys$1["SEND_ACTIVE_APP_UNMOUNTED_TO_CLIENT"] = "sendActiveAppUpdatedToClient";
|
|
1052
|
+
DevToolsMessagingHookKeys$1["DEVTOOLS_STATE_UPDATED"] = "devtoolsStateUpdated";
|
|
1053
|
+
DevToolsMessagingHookKeys$1["DEVTOOLS_CONNECTED_UPDATED"] = "devtoolsConnectedUpdated";
|
|
1054
|
+
DevToolsMessagingHookKeys$1["ROUTER_INFO_UPDATED"] = "routerInfoUpdated";
|
|
1055
|
+
return DevToolsMessagingHookKeys$1;
|
|
1056
|
+
})({});
|
|
1057
|
+
function createDevToolsCtxHooks() {
|
|
1058
|
+
const hooks$1 = createHooks();
|
|
1059
|
+
hooks$1.hook(DevToolsContextHookKeys.ADD_INSPECTOR, ({ inspector, plugin }) => {
|
|
1060
|
+
addInspector(inspector, plugin.descriptor);
|
|
1061
|
+
});
|
|
1062
|
+
const debounceSendInspectorTree = debounce(async ({ inspectorId, plugin }) => {
|
|
1063
|
+
if (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return;
|
|
1064
|
+
const inspector = getInspector(inspectorId, plugin.descriptor.app);
|
|
1065
|
+
const _payload = {
|
|
1066
|
+
app: plugin.descriptor.app,
|
|
1067
|
+
inspectorId,
|
|
1068
|
+
filter: inspector?.treeFilter || "",
|
|
1069
|
+
rootNodes: []
|
|
1070
|
+
};
|
|
1071
|
+
await new Promise((resolve) => {
|
|
1072
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1073
|
+
await Promise.all(callbacks.map((cb) => cb(_payload)));
|
|
1074
|
+
resolve();
|
|
1075
|
+
}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE);
|
|
1076
|
+
});
|
|
1077
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1078
|
+
await Promise.all(callbacks.map((cb) => cb({
|
|
1079
|
+
inspectorId,
|
|
1080
|
+
rootNodes: _payload.rootNodes
|
|
1081
|
+
})));
|
|
1082
|
+
}, DevToolsMessagingHookKeys.SEND_INSPECTOR_TREE_TO_CLIENT);
|
|
1083
|
+
}, 120);
|
|
1084
|
+
hooks$1.hook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, debounceSendInspectorTree);
|
|
1085
|
+
const debounceSendInspectorState = debounce(async ({ inspectorId, plugin }) => {
|
|
1086
|
+
if (!inspectorId || !plugin?.descriptor?.app || devtoolsState.highPerfModeEnabled) return;
|
|
1087
|
+
const inspector = getInspector(inspectorId, plugin.descriptor.app);
|
|
1088
|
+
const _payload = {
|
|
1089
|
+
app: plugin.descriptor.app,
|
|
1090
|
+
inspectorId,
|
|
1091
|
+
nodeId: inspector?.selectedNodeId || "",
|
|
1092
|
+
state: null
|
|
1093
|
+
};
|
|
1094
|
+
const ctx = { currentTab: `custom-inspector:${inspectorId}` };
|
|
1095
|
+
if (_payload.nodeId) await new Promise((resolve) => {
|
|
1096
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1097
|
+
await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));
|
|
1098
|
+
resolve();
|
|
1099
|
+
}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE);
|
|
1100
|
+
});
|
|
1101
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1102
|
+
await Promise.all(callbacks.map((cb) => cb({
|
|
1103
|
+
inspectorId,
|
|
1104
|
+
nodeId: _payload.nodeId,
|
|
1105
|
+
state: _payload.state
|
|
1106
|
+
})));
|
|
1107
|
+
}, DevToolsMessagingHookKeys.SEND_INSPECTOR_STATE_TO_CLIENT);
|
|
1108
|
+
}, 120);
|
|
1109
|
+
hooks$1.hook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, debounceSendInspectorState);
|
|
1110
|
+
hooks$1.hook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, ({ inspectorId, nodeId, plugin }) => {
|
|
1111
|
+
const inspector = getInspector(inspectorId, plugin.descriptor.app);
|
|
1112
|
+
if (!inspector) return;
|
|
1113
|
+
inspector.selectedNodeId = nodeId;
|
|
1114
|
+
});
|
|
1115
|
+
hooks$1.hook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, ({ options, plugin }) => {
|
|
1116
|
+
addTimelineLayer(options, plugin.descriptor);
|
|
1117
|
+
});
|
|
1118
|
+
hooks$1.hook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, ({ options, plugin }) => {
|
|
1119
|
+
const internalLayerIds = [
|
|
1120
|
+
"performance",
|
|
1121
|
+
"component-event",
|
|
1122
|
+
"keyboard",
|
|
1123
|
+
"mouse"
|
|
1124
|
+
];
|
|
1125
|
+
if (devtoolsState.highPerfModeEnabled || !devtoolsState.timelineLayersState?.[plugin.descriptor.id] && !internalLayerIds.includes(options.layerId)) return;
|
|
1126
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1127
|
+
await Promise.all(callbacks.map((cb) => cb(options)));
|
|
1128
|
+
}, DevToolsMessagingHookKeys.SEND_TIMELINE_EVENT_TO_CLIENT);
|
|
1129
|
+
});
|
|
1130
|
+
hooks$1.hook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, async ({ app }) => {
|
|
1131
|
+
const appRecord = app.__VUE_DEVTOOLS_NEXT_APP_RECORD__;
|
|
1132
|
+
if (!appRecord) return null;
|
|
1133
|
+
const appId = appRecord.id.toString();
|
|
1134
|
+
const instances = [...appRecord.instanceMap].filter(([key]) => key.split(":")[0] === appId).map(([, instance]) => instance);
|
|
1135
|
+
return instances;
|
|
1136
|
+
});
|
|
1137
|
+
hooks$1.hook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, async ({ instance }) => {
|
|
1138
|
+
const bounds = getComponentBoundingRect(instance);
|
|
1139
|
+
return bounds;
|
|
1140
|
+
});
|
|
1141
|
+
hooks$1.hook(DevToolsContextHookKeys.GET_COMPONENT_NAME, ({ instance }) => {
|
|
1142
|
+
const name = getInstanceName(instance);
|
|
1143
|
+
return name;
|
|
1144
|
+
});
|
|
1145
|
+
hooks$1.hook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, ({ uid }) => {
|
|
1146
|
+
const instance = activeAppRecord.value.instanceMap.get(uid);
|
|
1147
|
+
if (instance) highlight(instance);
|
|
1148
|
+
});
|
|
1149
|
+
hooks$1.hook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT, () => {
|
|
1150
|
+
unhighlight();
|
|
1151
|
+
});
|
|
1152
|
+
return hooks$1;
|
|
1153
|
+
}
|
|
1154
|
+
target.__VUE_DEVTOOLS_KIT_APP_RECORDS__ ??= [];
|
|
1155
|
+
target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ ??= {};
|
|
1156
|
+
target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ ??= "";
|
|
1157
|
+
target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__ ??= [];
|
|
1158
|
+
target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__ ??= [];
|
|
1159
|
+
var STATE_KEY = "__VUE_DEVTOOLS_KIT_GLOBAL_STATE__";
|
|
1160
|
+
function initStateFactory() {
|
|
1161
|
+
return {
|
|
1162
|
+
connected: false,
|
|
1163
|
+
clientConnected: false,
|
|
1164
|
+
vitePluginDetected: true,
|
|
1165
|
+
appRecords: [],
|
|
1166
|
+
activeAppRecordId: "",
|
|
1167
|
+
tabs: [],
|
|
1168
|
+
commands: [],
|
|
1169
|
+
highPerfModeEnabled: true,
|
|
1170
|
+
devtoolsClientDetected: {},
|
|
1171
|
+
perfUniqueGroupId: 0,
|
|
1172
|
+
timelineLayersState: getTimelineLayersStateFromStorage()
|
|
1173
|
+
};
|
|
1174
|
+
}
|
|
1175
|
+
target[STATE_KEY] ??= initStateFactory();
|
|
1176
|
+
var callStateUpdatedHook = debounce((state) => {
|
|
1177
|
+
devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_STATE_UPDATED, { state });
|
|
1178
|
+
});
|
|
1179
|
+
var callConnectedUpdatedHook = debounce((state, oldState) => {
|
|
1180
|
+
devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, {
|
|
1181
|
+
state,
|
|
1182
|
+
oldState
|
|
1183
|
+
});
|
|
1184
|
+
});
|
|
1185
|
+
var devtoolsAppRecords = new Proxy(target.__VUE_DEVTOOLS_KIT_APP_RECORDS__, { get(_target, prop, receiver) {
|
|
1186
|
+
if (prop === "value") return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__;
|
|
1187
|
+
return target.__VUE_DEVTOOLS_KIT_APP_RECORDS__[prop];
|
|
1188
|
+
} });
|
|
1189
|
+
var activeAppRecord = new Proxy(target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__, { get(_target, prop, receiver) {
|
|
1190
|
+
if (prop === "value") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__;
|
|
1191
|
+
else if (prop === "id") return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__;
|
|
1192
|
+
return target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__[prop];
|
|
1193
|
+
} });
|
|
1194
|
+
function updateAllStates() {
|
|
1195
|
+
callStateUpdatedHook({
|
|
1196
|
+
...target[STATE_KEY],
|
|
1197
|
+
appRecords: devtoolsAppRecords.value,
|
|
1198
|
+
activeAppRecordId: activeAppRecord.id,
|
|
1199
|
+
tabs: target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__,
|
|
1200
|
+
commands: target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
function setActiveAppRecord(app) {
|
|
1204
|
+
target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD__ = app;
|
|
1205
|
+
updateAllStates();
|
|
1206
|
+
}
|
|
1207
|
+
function setActiveAppRecordId(id) {
|
|
1208
|
+
target.__VUE_DEVTOOLS_KIT_ACTIVE_APP_RECORD_ID__ = id;
|
|
1209
|
+
updateAllStates();
|
|
1210
|
+
}
|
|
1211
|
+
var devtoolsState = new Proxy(target[STATE_KEY], {
|
|
1212
|
+
get(target$1, property) {
|
|
1213
|
+
if (property === "appRecords") return devtoolsAppRecords;
|
|
1214
|
+
else if (property === "activeAppRecordId") return activeAppRecord.id;
|
|
1215
|
+
else if (property === "tabs") return target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
|
|
1216
|
+
else if (property === "commands") return target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
|
|
1217
|
+
return target[STATE_KEY][property];
|
|
1218
|
+
},
|
|
1219
|
+
deleteProperty(target$1, property) {
|
|
1220
|
+
delete target$1[property];
|
|
1221
|
+
return true;
|
|
1222
|
+
},
|
|
1223
|
+
set(target$1, property, value) {
|
|
1224
|
+
({ ...target[STATE_KEY] });
|
|
1225
|
+
target$1[property] = value;
|
|
1226
|
+
target[STATE_KEY][property] = value;
|
|
1227
|
+
return true;
|
|
1228
|
+
}
|
|
1229
|
+
});
|
|
1230
|
+
function onDevToolsConnected(fn) {
|
|
1231
|
+
return new Promise((resolve) => {
|
|
1232
|
+
if (devtoolsState.connected) {
|
|
1233
|
+
fn();
|
|
1234
|
+
resolve();
|
|
1235
|
+
}
|
|
1236
|
+
devtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => {
|
|
1237
|
+
if (state.connected) {
|
|
1238
|
+
fn();
|
|
1239
|
+
resolve();
|
|
1240
|
+
}
|
|
1241
|
+
});
|
|
1242
|
+
});
|
|
1243
|
+
}
|
|
1244
|
+
var resolveIcon = (icon) => {
|
|
1245
|
+
if (!icon) return;
|
|
1246
|
+
if (icon.startsWith("baseline-")) return `custom-ic-${icon}`;
|
|
1247
|
+
if (icon.startsWith("i-") || isUrlString(icon)) return icon;
|
|
1248
|
+
return `custom-ic-baseline-${icon}`;
|
|
1249
|
+
};
|
|
1250
|
+
function addCustomTab(tab) {
|
|
1251
|
+
const tabs = target.__VUE_DEVTOOLS_KIT_CUSTOM_TABS__;
|
|
1252
|
+
if (tabs.some((t) => t.name === tab.name)) return;
|
|
1253
|
+
tabs.push({
|
|
1254
|
+
...tab,
|
|
1255
|
+
icon: resolveIcon(tab.icon)
|
|
1256
|
+
});
|
|
1257
|
+
updateAllStates();
|
|
1258
|
+
}
|
|
1259
|
+
function addCustomCommand(action) {
|
|
1260
|
+
const commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
|
|
1261
|
+
if (commands.some((t) => t.id === action.id)) return;
|
|
1262
|
+
commands.push({
|
|
1263
|
+
...action,
|
|
1264
|
+
icon: resolveIcon(action.icon),
|
|
1265
|
+
children: action.children ? action.children.map((child) => ({
|
|
1266
|
+
...child,
|
|
1267
|
+
icon: resolveIcon(child.icon)
|
|
1268
|
+
})) : void 0
|
|
1269
|
+
});
|
|
1270
|
+
updateAllStates();
|
|
1271
|
+
}
|
|
1272
|
+
function removeCustomCommand(actionId) {
|
|
1273
|
+
const commands = target.__VUE_DEVTOOLS_KIT_CUSTOM_COMMANDS__;
|
|
1274
|
+
const index = commands.findIndex((t) => t.id === actionId);
|
|
1275
|
+
if (index === -1) return;
|
|
1276
|
+
commands.splice(index, 1);
|
|
1277
|
+
updateAllStates();
|
|
1278
|
+
}
|
|
1279
|
+
function openInEditor(options = {}) {
|
|
1280
|
+
const { file, host, baseUrl = window.location.origin, line = 0, column = 0 } = options;
|
|
1281
|
+
if (file) {
|
|
1282
|
+
if (host === "chrome-extension") {
|
|
1283
|
+
const fileName = file.replace(/\\/g, "\\\\");
|
|
1284
|
+
const _baseUrl = window.VUE_DEVTOOLS_CONFIG?.openInEditorHost ?? "/";
|
|
1285
|
+
fetch(`${_baseUrl}__open-in-editor?file=${encodeURI(file)}`).then((response) => {
|
|
1286
|
+
if (!response.ok) {
|
|
1287
|
+
const msg = `Opening component ${fileName} failed`;
|
|
1288
|
+
console.log(`%c${msg}`, "color:red");
|
|
1289
|
+
}
|
|
1290
|
+
});
|
|
1291
|
+
} else if (devtoolsState.vitePluginDetected) {
|
|
1292
|
+
const _baseUrl = target.__VUE_DEVTOOLS_OPEN_IN_EDITOR_BASE_URL__ ?? baseUrl;
|
|
1293
|
+
target.__VUE_INSPECTOR__.openInEditor(_baseUrl, file, line, column);
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
}
|
|
1297
|
+
target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__ ??= [];
|
|
1298
|
+
var devtoolsPluginBuffer = new Proxy(target.__VUE_DEVTOOLS_KIT_PLUGIN_BUFFER__, { get(target$1, prop, receiver) {
|
|
1299
|
+
return Reflect.get(target$1, prop, receiver);
|
|
1300
|
+
} });
|
|
1301
|
+
function _getSettings(settings) {
|
|
1302
|
+
const _settings = {};
|
|
1303
|
+
Object.keys(settings).forEach((key) => {
|
|
1304
|
+
_settings[key] = settings[key].defaultValue;
|
|
1305
|
+
});
|
|
1306
|
+
return _settings;
|
|
1307
|
+
}
|
|
1308
|
+
function getPluginLocalKey(pluginId) {
|
|
1309
|
+
return `__VUE_DEVTOOLS_NEXT_PLUGIN_SETTINGS__${pluginId}__`;
|
|
1310
|
+
}
|
|
1311
|
+
function getPluginSettingsOptions(pluginId) {
|
|
1312
|
+
const item = devtoolsPluginBuffer.find((item$1) => item$1[0].id === pluginId && !!item$1[0]?.settings)?.[0] ?? null;
|
|
1313
|
+
return item?.settings ?? null;
|
|
1314
|
+
}
|
|
1315
|
+
function getPluginSettings(pluginId, fallbackValue) {
|
|
1316
|
+
const localKey = getPluginLocalKey(pluginId);
|
|
1317
|
+
if (localKey) {
|
|
1318
|
+
const localSettings = localStorage.getItem(localKey);
|
|
1319
|
+
if (localSettings) return JSON.parse(localSettings);
|
|
1320
|
+
}
|
|
1321
|
+
if (pluginId) {
|
|
1322
|
+
const item = devtoolsPluginBuffer.find((item$1) => item$1[0].id === pluginId)?.[0] ?? null;
|
|
1323
|
+
return _getSettings(item?.settings ?? {});
|
|
1324
|
+
}
|
|
1325
|
+
return _getSettings(fallbackValue);
|
|
1326
|
+
}
|
|
1327
|
+
function initPluginSettings(pluginId, settings) {
|
|
1328
|
+
const localKey = getPluginLocalKey(pluginId);
|
|
1329
|
+
const localSettings = localStorage.getItem(localKey);
|
|
1330
|
+
if (!localSettings) localStorage.setItem(localKey, JSON.stringify(_getSettings(settings)));
|
|
1331
|
+
}
|
|
1332
|
+
function setPluginSettings(pluginId, key, value) {
|
|
1333
|
+
const localKey = getPluginLocalKey(pluginId);
|
|
1334
|
+
const localSettings = localStorage.getItem(localKey);
|
|
1335
|
+
const parsedLocalSettings = JSON.parse(localSettings || "{}");
|
|
1336
|
+
const updated = {
|
|
1337
|
+
...parsedLocalSettings,
|
|
1338
|
+
[key]: value
|
|
1339
|
+
};
|
|
1340
|
+
localStorage.setItem(localKey, JSON.stringify(updated));
|
|
1341
|
+
devtoolsContext.hooks.callHookWith((callbacks) => {
|
|
1342
|
+
callbacks.forEach((cb) => cb({
|
|
1343
|
+
pluginId,
|
|
1344
|
+
key,
|
|
1345
|
+
oldValue: parsedLocalSettings[key],
|
|
1346
|
+
newValue: value,
|
|
1347
|
+
settings: updated
|
|
1348
|
+
}));
|
|
1349
|
+
}, DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS);
|
|
1350
|
+
}
|
|
1351
|
+
var DevToolsHooks = (function(DevToolsHooks$1) {
|
|
1352
|
+
DevToolsHooks$1["APP_INIT"] = "app:init";
|
|
1353
|
+
DevToolsHooks$1["APP_UNMOUNT"] = "app:unmount";
|
|
1354
|
+
DevToolsHooks$1["COMPONENT_UPDATED"] = "component:updated";
|
|
1355
|
+
DevToolsHooks$1["COMPONENT_ADDED"] = "component:added";
|
|
1356
|
+
DevToolsHooks$1["COMPONENT_REMOVED"] = "component:removed";
|
|
1357
|
+
DevToolsHooks$1["COMPONENT_EMIT"] = "component:emit";
|
|
1358
|
+
DevToolsHooks$1["PERFORMANCE_START"] = "perf:start";
|
|
1359
|
+
DevToolsHooks$1["PERFORMANCE_END"] = "perf:end";
|
|
1360
|
+
DevToolsHooks$1["ADD_ROUTE"] = "router:add-route";
|
|
1361
|
+
DevToolsHooks$1["REMOVE_ROUTE"] = "router:remove-route";
|
|
1362
|
+
DevToolsHooks$1["RENDER_TRACKED"] = "render:tracked";
|
|
1363
|
+
DevToolsHooks$1["RENDER_TRIGGERED"] = "render:triggered";
|
|
1364
|
+
DevToolsHooks$1["APP_CONNECTED"] = "app:connected";
|
|
1365
|
+
DevToolsHooks$1["SETUP_DEVTOOLS_PLUGIN"] = "devtools-plugin:setup";
|
|
1366
|
+
return DevToolsHooks$1;
|
|
1367
|
+
})({});
|
|
1368
|
+
var devtoolsHooks = target.__VUE_DEVTOOLS_HOOK ??= createHooks();
|
|
1369
|
+
var on = {
|
|
1370
|
+
vueAppInit(fn) {
|
|
1371
|
+
devtoolsHooks.hook(DevToolsHooks.APP_INIT, fn);
|
|
1372
|
+
},
|
|
1373
|
+
vueAppUnmount(fn) {
|
|
1374
|
+
devtoolsHooks.hook(DevToolsHooks.APP_UNMOUNT, fn);
|
|
1375
|
+
},
|
|
1376
|
+
vueAppConnected(fn) {
|
|
1377
|
+
devtoolsHooks.hook(DevToolsHooks.APP_CONNECTED, fn);
|
|
1378
|
+
},
|
|
1379
|
+
componentAdded(fn) {
|
|
1380
|
+
return devtoolsHooks.hook(DevToolsHooks.COMPONENT_ADDED, fn);
|
|
1381
|
+
},
|
|
1382
|
+
componentEmit(fn) {
|
|
1383
|
+
return devtoolsHooks.hook(DevToolsHooks.COMPONENT_EMIT, fn);
|
|
1384
|
+
},
|
|
1385
|
+
componentUpdated(fn) {
|
|
1386
|
+
return devtoolsHooks.hook(DevToolsHooks.COMPONENT_UPDATED, fn);
|
|
1387
|
+
},
|
|
1388
|
+
componentRemoved(fn) {
|
|
1389
|
+
return devtoolsHooks.hook(DevToolsHooks.COMPONENT_REMOVED, fn);
|
|
1390
|
+
},
|
|
1391
|
+
setupDevtoolsPlugin(fn) {
|
|
1392
|
+
devtoolsHooks.hook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, fn);
|
|
1393
|
+
},
|
|
1394
|
+
perfStart(fn) {
|
|
1395
|
+
return devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_START, fn);
|
|
1396
|
+
},
|
|
1397
|
+
perfEnd(fn) {
|
|
1398
|
+
return devtoolsHooks.hook(DevToolsHooks.PERFORMANCE_END, fn);
|
|
1399
|
+
}
|
|
1400
|
+
};
|
|
1401
|
+
var hook = {
|
|
1402
|
+
on,
|
|
1403
|
+
setupDevToolsPlugin(pluginDescriptor, setupFn) {
|
|
1404
|
+
return devtoolsHooks.callHook(DevToolsHooks.SETUP_DEVTOOLS_PLUGIN, pluginDescriptor, setupFn);
|
|
1405
|
+
}
|
|
1406
|
+
};
|
|
1407
|
+
var DevToolsV6PluginAPI = class {
|
|
1408
|
+
plugin;
|
|
1409
|
+
hooks;
|
|
1410
|
+
constructor({ plugin, ctx }) {
|
|
1411
|
+
this.hooks = ctx.hooks;
|
|
1412
|
+
this.plugin = plugin;
|
|
1413
|
+
}
|
|
1414
|
+
get on() {
|
|
1415
|
+
return {
|
|
1416
|
+
visitComponentTree: (handler) => {
|
|
1417
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, handler);
|
|
1418
|
+
},
|
|
1419
|
+
inspectComponent: (handler) => {
|
|
1420
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_COMPONENT, handler);
|
|
1421
|
+
},
|
|
1422
|
+
editComponentState: (handler) => {
|
|
1423
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_COMPONENT_STATE, handler);
|
|
1424
|
+
},
|
|
1425
|
+
getInspectorTree: (handler) => {
|
|
1426
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE, handler);
|
|
1427
|
+
},
|
|
1428
|
+
getInspectorState: (handler) => {
|
|
1429
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE, handler);
|
|
1430
|
+
},
|
|
1431
|
+
editInspectorState: (handler) => {
|
|
1432
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE, handler);
|
|
1433
|
+
},
|
|
1434
|
+
inspectTimelineEvent: (handler) => {
|
|
1435
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.INSPECT_TIMELINE_EVENT, handler);
|
|
1436
|
+
},
|
|
1437
|
+
timelineCleared: (handler) => {
|
|
1438
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.TIMELINE_CLEARED, handler);
|
|
1439
|
+
},
|
|
1440
|
+
setPluginSettings: (handler) => {
|
|
1441
|
+
this.hooks.hook(DevToolsV6PluginAPIHookKeys.SET_PLUGIN_SETTINGS, handler);
|
|
1442
|
+
}
|
|
1443
|
+
};
|
|
1444
|
+
}
|
|
1445
|
+
notifyComponentUpdate(instance) {
|
|
1446
|
+
if (devtoolsState.highPerfModeEnabled) return;
|
|
1447
|
+
const inspector = getActiveInspectors().find((i) => i.packageName === this.plugin.descriptor.packageName);
|
|
1448
|
+
if (inspector?.id) {
|
|
1449
|
+
if (instance) {
|
|
1450
|
+
const args = [
|
|
1451
|
+
instance.appContext.app,
|
|
1452
|
+
instance.uid,
|
|
1453
|
+
instance.parent?.uid,
|
|
1454
|
+
instance
|
|
1455
|
+
];
|
|
1456
|
+
devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED, ...args);
|
|
1457
|
+
} else devtoolsHooks.callHook(DevToolsHooks.COMPONENT_UPDATED);
|
|
1458
|
+
this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {
|
|
1459
|
+
inspectorId: inspector.id,
|
|
1460
|
+
plugin: this.plugin
|
|
1461
|
+
});
|
|
1462
|
+
}
|
|
1463
|
+
}
|
|
1464
|
+
addInspector(options) {
|
|
1465
|
+
this.hooks.callHook(DevToolsContextHookKeys.ADD_INSPECTOR, {
|
|
1466
|
+
inspector: options,
|
|
1467
|
+
plugin: this.plugin
|
|
1468
|
+
});
|
|
1469
|
+
if (this.plugin.descriptor.settings) initPluginSettings(options.id, this.plugin.descriptor.settings);
|
|
1470
|
+
}
|
|
1471
|
+
sendInspectorTree(inspectorId) {
|
|
1472
|
+
if (devtoolsState.highPerfModeEnabled) return;
|
|
1473
|
+
this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_TREE, {
|
|
1474
|
+
inspectorId,
|
|
1475
|
+
plugin: this.plugin
|
|
1476
|
+
});
|
|
1477
|
+
}
|
|
1478
|
+
sendInspectorState(inspectorId) {
|
|
1479
|
+
if (devtoolsState.highPerfModeEnabled) return;
|
|
1480
|
+
this.hooks.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {
|
|
1481
|
+
inspectorId,
|
|
1482
|
+
plugin: this.plugin
|
|
1483
|
+
});
|
|
1484
|
+
}
|
|
1485
|
+
selectInspectorNode(inspectorId, nodeId) {
|
|
1486
|
+
this.hooks.callHook(DevToolsContextHookKeys.CUSTOM_INSPECTOR_SELECT_NODE, {
|
|
1487
|
+
inspectorId,
|
|
1488
|
+
nodeId,
|
|
1489
|
+
plugin: this.plugin
|
|
1490
|
+
});
|
|
1491
|
+
}
|
|
1492
|
+
visitComponentTree(payload) {
|
|
1493
|
+
return this.hooks.callHook(DevToolsV6PluginAPIHookKeys.VISIT_COMPONENT_TREE, payload);
|
|
1494
|
+
}
|
|
1495
|
+
now() {
|
|
1496
|
+
if (devtoolsState.highPerfModeEnabled) return 0;
|
|
1497
|
+
return Date.now();
|
|
1498
|
+
}
|
|
1499
|
+
addTimelineLayer(options) {
|
|
1500
|
+
this.hooks.callHook(DevToolsContextHookKeys.TIMELINE_LAYER_ADDED, {
|
|
1501
|
+
options,
|
|
1502
|
+
plugin: this.plugin
|
|
1503
|
+
});
|
|
1504
|
+
}
|
|
1505
|
+
addTimelineEvent(options) {
|
|
1506
|
+
if (devtoolsState.highPerfModeEnabled) return;
|
|
1507
|
+
this.hooks.callHook(DevToolsContextHookKeys.TIMELINE_EVENT_ADDED, {
|
|
1508
|
+
options,
|
|
1509
|
+
plugin: this.plugin
|
|
1510
|
+
});
|
|
1511
|
+
}
|
|
1512
|
+
getSettings(pluginId) {
|
|
1513
|
+
return getPluginSettings(pluginId ?? this.plugin.descriptor.id, this.plugin.descriptor.settings);
|
|
1514
|
+
}
|
|
1515
|
+
getComponentInstances(app) {
|
|
1516
|
+
return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_INSTANCES, { app });
|
|
1517
|
+
}
|
|
1518
|
+
getComponentBounds(instance) {
|
|
1519
|
+
return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_BOUNDS, { instance });
|
|
1520
|
+
}
|
|
1521
|
+
getComponentName(instance) {
|
|
1522
|
+
return this.hooks.callHook(DevToolsContextHookKeys.GET_COMPONENT_NAME, { instance });
|
|
1523
|
+
}
|
|
1524
|
+
highlightElement(instance) {
|
|
1525
|
+
const uid = instance.__VUE_DEVTOOLS_NEXT_UID__;
|
|
1526
|
+
return this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_HIGHLIGHT, { uid });
|
|
1527
|
+
}
|
|
1528
|
+
unhighlightElement() {
|
|
1529
|
+
return this.hooks.callHook(DevToolsContextHookKeys.COMPONENT_UNHIGHLIGHT);
|
|
1530
|
+
}
|
|
1531
|
+
};
|
|
1532
|
+
var DevToolsPluginAPI = DevToolsV6PluginAPI;
|
|
1533
|
+
var UNDEFINED = "__vue_devtool_undefined__";
|
|
1534
|
+
var INFINITY = "__vue_devtool_infinity__";
|
|
1535
|
+
var NEGATIVE_INFINITY = "__vue_devtool_negative_infinity__";
|
|
1536
|
+
var NAN = "__vue_devtool_nan__";
|
|
1537
|
+
var tokenMap = {
|
|
1538
|
+
[UNDEFINED]: "undefined",
|
|
1539
|
+
[NAN]: "NaN",
|
|
1540
|
+
[INFINITY]: "Infinity",
|
|
1541
|
+
[NEGATIVE_INFINITY]: "-Infinity"
|
|
1542
|
+
};
|
|
1543
|
+
var reversedTokenMap = Object.entries(tokenMap).reduce((acc, [key, value]) => {
|
|
1544
|
+
acc[value] = key;
|
|
1545
|
+
return acc;
|
|
1546
|
+
}, {});
|
|
1547
|
+
target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__ ??= /* @__PURE__ */ new Set();
|
|
1548
|
+
function setupDevToolsPlugin(pluginDescriptor, setupFn) {
|
|
1549
|
+
return hook.setupDevToolsPlugin(pluginDescriptor, setupFn);
|
|
1550
|
+
}
|
|
1551
|
+
function callDevToolsPluginSetupFn(plugin, app) {
|
|
1552
|
+
const [pluginDescriptor, setupFn] = plugin;
|
|
1553
|
+
if (pluginDescriptor.app !== app) return;
|
|
1554
|
+
const api = new DevToolsPluginAPI({
|
|
1555
|
+
plugin: {
|
|
1556
|
+
setupFn,
|
|
1557
|
+
descriptor: pluginDescriptor
|
|
1558
|
+
},
|
|
1559
|
+
ctx: devtoolsContext
|
|
1560
|
+
});
|
|
1561
|
+
if (pluginDescriptor.packageName === "vuex") api.on.editInspectorState((payload) => {
|
|
1562
|
+
api.sendInspectorState(payload.inspectorId);
|
|
1563
|
+
});
|
|
1564
|
+
setupFn(api);
|
|
1565
|
+
}
|
|
1566
|
+
function registerDevToolsPlugin(app, options) {
|
|
1567
|
+
if (target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.has(app)) return;
|
|
1568
|
+
if (devtoolsState.highPerfModeEnabled && !options?.inspectingComponent) return;
|
|
1569
|
+
target.__VUE_DEVTOOLS_KIT__REGISTERED_PLUGIN_APPS__.add(app);
|
|
1570
|
+
devtoolsPluginBuffer.forEach((plugin) => {
|
|
1571
|
+
callDevToolsPluginSetupFn(plugin, app);
|
|
1572
|
+
});
|
|
1573
|
+
}
|
|
1574
|
+
var ROUTER_KEY = "__VUE_DEVTOOLS_ROUTER__";
|
|
1575
|
+
var ROUTER_INFO_KEY = "__VUE_DEVTOOLS_ROUTER_INFO__";
|
|
1576
|
+
target[ROUTER_INFO_KEY] ??= {
|
|
1577
|
+
currentRoute: null,
|
|
1578
|
+
routes: []
|
|
1579
|
+
};
|
|
1580
|
+
target[ROUTER_KEY] ??= {};
|
|
1581
|
+
var devtoolsRouterInfo = new Proxy(target[ROUTER_INFO_KEY], { get(target$1, property) {
|
|
1582
|
+
return target[ROUTER_INFO_KEY][property];
|
|
1583
|
+
} });
|
|
1584
|
+
var devtoolsRouter = new Proxy(target[ROUTER_KEY], { get(target$1, property) {
|
|
1585
|
+
if (property === "value") return target[ROUTER_KEY];
|
|
1586
|
+
} });
|
|
1587
|
+
function getRoutes(router) {
|
|
1588
|
+
const routesMap = /* @__PURE__ */ new Map();
|
|
1589
|
+
return (router?.getRoutes() || []).filter((i) => !routesMap.has(i.path) && routesMap.set(i.path, 1));
|
|
1590
|
+
}
|
|
1591
|
+
function filterRoutes(routes) {
|
|
1592
|
+
return routes.map((item) => {
|
|
1593
|
+
let { path, name, children, meta } = item;
|
|
1594
|
+
if (children?.length) children = filterRoutes(children);
|
|
1595
|
+
return {
|
|
1596
|
+
path,
|
|
1597
|
+
name,
|
|
1598
|
+
children,
|
|
1599
|
+
meta
|
|
1600
|
+
};
|
|
1601
|
+
});
|
|
1602
|
+
}
|
|
1603
|
+
function filterCurrentRoute(route) {
|
|
1604
|
+
if (route) {
|
|
1605
|
+
const { fullPath, hash, href, path, name, matched, params, query } = route;
|
|
1606
|
+
return {
|
|
1607
|
+
fullPath,
|
|
1608
|
+
hash,
|
|
1609
|
+
href,
|
|
1610
|
+
path,
|
|
1611
|
+
name,
|
|
1612
|
+
params,
|
|
1613
|
+
query,
|
|
1614
|
+
matched: filterRoutes(matched)
|
|
1615
|
+
};
|
|
1616
|
+
}
|
|
1617
|
+
return route;
|
|
1618
|
+
}
|
|
1619
|
+
function normalizeRouterInfo(appRecord, activeAppRecord$1) {
|
|
1620
|
+
function init() {
|
|
1621
|
+
const router = appRecord.app?.config.globalProperties.$router;
|
|
1622
|
+
const currentRoute = filterCurrentRoute(router?.currentRoute.value);
|
|
1623
|
+
const routes = filterRoutes(getRoutes(router));
|
|
1624
|
+
const c = console.warn;
|
|
1625
|
+
console.warn = () => {
|
|
1626
|
+
};
|
|
1627
|
+
target[ROUTER_INFO_KEY] = {
|
|
1628
|
+
currentRoute: currentRoute ? deepClone(currentRoute) : {},
|
|
1629
|
+
routes: deepClone(routes)
|
|
1630
|
+
};
|
|
1631
|
+
target[ROUTER_KEY] = router;
|
|
1632
|
+
console.warn = c;
|
|
1633
|
+
}
|
|
1634
|
+
init();
|
|
1635
|
+
hook.on.componentUpdated(debounce(() => {
|
|
1636
|
+
if (activeAppRecord$1.value?.app !== appRecord.app) return;
|
|
1637
|
+
init();
|
|
1638
|
+
if (devtoolsState.highPerfModeEnabled) return;
|
|
1639
|
+
devtoolsContext.hooks.callHook(DevToolsMessagingHookKeys.ROUTER_INFO_UPDATED, { state: target[ROUTER_INFO_KEY] });
|
|
1640
|
+
}, 200));
|
|
1641
|
+
}
|
|
1642
|
+
function createDevToolsApi(hooks$1) {
|
|
1643
|
+
return {
|
|
1644
|
+
async getInspectorTree(payload) {
|
|
1645
|
+
const _payload = {
|
|
1646
|
+
...payload,
|
|
1647
|
+
app: activeAppRecord.value.app,
|
|
1648
|
+
rootNodes: []
|
|
1649
|
+
};
|
|
1650
|
+
await new Promise((resolve) => {
|
|
1651
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1652
|
+
await Promise.all(callbacks.map((cb) => cb(_payload)));
|
|
1653
|
+
resolve();
|
|
1654
|
+
}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_TREE);
|
|
1655
|
+
});
|
|
1656
|
+
return _payload.rootNodes;
|
|
1657
|
+
},
|
|
1658
|
+
async getInspectorState(payload) {
|
|
1659
|
+
const _payload = {
|
|
1660
|
+
...payload,
|
|
1661
|
+
app: activeAppRecord.value.app,
|
|
1662
|
+
state: null
|
|
1663
|
+
};
|
|
1664
|
+
const ctx = { currentTab: `custom-inspector:${payload.inspectorId}` };
|
|
1665
|
+
await new Promise((resolve) => {
|
|
1666
|
+
hooks$1.callHookWith(async (callbacks) => {
|
|
1667
|
+
await Promise.all(callbacks.map((cb) => cb(_payload, ctx)));
|
|
1668
|
+
resolve();
|
|
1669
|
+
}, DevToolsV6PluginAPIHookKeys.GET_INSPECTOR_STATE);
|
|
1670
|
+
});
|
|
1671
|
+
return _payload.state;
|
|
1672
|
+
},
|
|
1673
|
+
editInspectorState(payload) {
|
|
1674
|
+
const stateEditor$1 = new StateEditor();
|
|
1675
|
+
const _payload = {
|
|
1676
|
+
...payload,
|
|
1677
|
+
app: activeAppRecord.value.app,
|
|
1678
|
+
set: (obj, path = payload.path, value = payload.state.value, cb) => {
|
|
1679
|
+
stateEditor$1.set(obj, path, value, cb || stateEditor$1.createDefaultSetCallback(payload.state));
|
|
1680
|
+
}
|
|
1681
|
+
};
|
|
1682
|
+
hooks$1.callHookWith((callbacks) => {
|
|
1683
|
+
callbacks.forEach((cb) => cb(_payload));
|
|
1684
|
+
}, DevToolsV6PluginAPIHookKeys.EDIT_INSPECTOR_STATE);
|
|
1685
|
+
},
|
|
1686
|
+
sendInspectorState(inspectorId) {
|
|
1687
|
+
const inspector = getInspector(inspectorId);
|
|
1688
|
+
hooks$1.callHook(DevToolsContextHookKeys.SEND_INSPECTOR_STATE, {
|
|
1689
|
+
inspectorId,
|
|
1690
|
+
plugin: {
|
|
1691
|
+
descriptor: inspector.descriptor,
|
|
1692
|
+
setupFn: () => ({})
|
|
1693
|
+
}
|
|
1694
|
+
});
|
|
1695
|
+
},
|
|
1696
|
+
inspectComponentInspector() {
|
|
1697
|
+
return inspectComponentHighLighter();
|
|
1698
|
+
},
|
|
1699
|
+
cancelInspectComponentInspector() {
|
|
1700
|
+
return cancelInspectComponentHighLighter();
|
|
1701
|
+
},
|
|
1702
|
+
getComponentRenderCode(id) {
|
|
1703
|
+
const instance = getComponentInstance(activeAppRecord.value, id);
|
|
1704
|
+
if (instance) return !(typeof instance?.type === "function") ? instance.render.toString() : instance.type.toString();
|
|
1705
|
+
},
|
|
1706
|
+
scrollToComponent(id) {
|
|
1707
|
+
return scrollToComponent({ id });
|
|
1708
|
+
},
|
|
1709
|
+
openInEditor,
|
|
1710
|
+
getVueInspector: getComponentInspector,
|
|
1711
|
+
toggleApp(id, options) {
|
|
1712
|
+
const appRecord = devtoolsAppRecords.value.find((record) => record.id === id);
|
|
1713
|
+
if (appRecord) {
|
|
1714
|
+
setActiveAppRecordId(id);
|
|
1715
|
+
setActiveAppRecord(appRecord);
|
|
1716
|
+
normalizeRouterInfo(appRecord, activeAppRecord);
|
|
1717
|
+
callInspectorUpdatedHook();
|
|
1718
|
+
registerDevToolsPlugin(appRecord.app, options);
|
|
1719
|
+
}
|
|
1720
|
+
},
|
|
1721
|
+
inspectDOM(instanceId) {
|
|
1722
|
+
const instance = getComponentInstance(activeAppRecord.value, instanceId);
|
|
1723
|
+
if (instance) {
|
|
1724
|
+
const [el] = getRootElementsFromComponentInstance(instance);
|
|
1725
|
+
if (el) target.__VUE_DEVTOOLS_INSPECT_DOM_TARGET__ = el;
|
|
1726
|
+
}
|
|
1727
|
+
},
|
|
1728
|
+
updatePluginSettings(pluginId, key, value) {
|
|
1729
|
+
setPluginSettings(pluginId, key, value);
|
|
1730
|
+
},
|
|
1731
|
+
getPluginSettings(pluginId) {
|
|
1732
|
+
return {
|
|
1733
|
+
options: getPluginSettingsOptions(pluginId),
|
|
1734
|
+
values: getPluginSettings(pluginId)
|
|
1735
|
+
};
|
|
1736
|
+
}
|
|
1737
|
+
};
|
|
1738
|
+
}
|
|
1739
|
+
target.__VUE_DEVTOOLS_ENV__ ??= { vitePluginDetected: false };
|
|
1740
|
+
var hooks = createDevToolsCtxHooks();
|
|
1741
|
+
target.__VUE_DEVTOOLS_KIT_CONTEXT__ ??= {
|
|
1742
|
+
hooks,
|
|
1743
|
+
get state() {
|
|
1744
|
+
return {
|
|
1745
|
+
...devtoolsState,
|
|
1746
|
+
activeAppRecordId: activeAppRecord.id,
|
|
1747
|
+
activeAppRecord: activeAppRecord.value,
|
|
1748
|
+
appRecords: devtoolsAppRecords.value
|
|
1749
|
+
};
|
|
1750
|
+
},
|
|
1751
|
+
api: createDevToolsApi(hooks)
|
|
1752
|
+
};
|
|
1753
|
+
var devtoolsContext = target.__VUE_DEVTOOLS_KIT_CONTEXT__;
|
|
1754
|
+
var require_speakingurl$1 = __commonJS2({ "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/lib/speakingurl.js": ((exports, module) => {
|
|
1755
|
+
(function(root) {
|
|
1756
|
+
var charMap = {
|
|
1757
|
+
"À": "A",
|
|
1758
|
+
"Á": "A",
|
|
1759
|
+
"Â": "A",
|
|
1760
|
+
"Ã": "A",
|
|
1761
|
+
"Ä": "Ae",
|
|
1762
|
+
"Å": "A",
|
|
1763
|
+
"Æ": "AE",
|
|
1764
|
+
"Ç": "C",
|
|
1765
|
+
"È": "E",
|
|
1766
|
+
"É": "E",
|
|
1767
|
+
"Ê": "E",
|
|
1768
|
+
"Ë": "E",
|
|
1769
|
+
"Ì": "I",
|
|
1770
|
+
"Í": "I",
|
|
1771
|
+
"Î": "I",
|
|
1772
|
+
"Ï": "I",
|
|
1773
|
+
"Ð": "D",
|
|
1774
|
+
"Ñ": "N",
|
|
1775
|
+
"Ò": "O",
|
|
1776
|
+
"Ó": "O",
|
|
1777
|
+
"Ô": "O",
|
|
1778
|
+
"Õ": "O",
|
|
1779
|
+
"Ö": "Oe",
|
|
1780
|
+
"Ő": "O",
|
|
1781
|
+
"Ø": "O",
|
|
1782
|
+
"Ù": "U",
|
|
1783
|
+
"Ú": "U",
|
|
1784
|
+
"Û": "U",
|
|
1785
|
+
"Ü": "Ue",
|
|
1786
|
+
"Ű": "U",
|
|
1787
|
+
"Ý": "Y",
|
|
1788
|
+
"Þ": "TH",
|
|
1789
|
+
"ß": "ss",
|
|
1790
|
+
"à": "a",
|
|
1791
|
+
"á": "a",
|
|
1792
|
+
"â": "a",
|
|
1793
|
+
"ã": "a",
|
|
1794
|
+
"ä": "ae",
|
|
1795
|
+
"å": "a",
|
|
1796
|
+
"æ": "ae",
|
|
1797
|
+
"ç": "c",
|
|
1798
|
+
"è": "e",
|
|
1799
|
+
"é": "e",
|
|
1800
|
+
"ê": "e",
|
|
1801
|
+
"ë": "e",
|
|
1802
|
+
"ì": "i",
|
|
1803
|
+
"í": "i",
|
|
1804
|
+
"î": "i",
|
|
1805
|
+
"ï": "i",
|
|
1806
|
+
"ð": "d",
|
|
1807
|
+
"ñ": "n",
|
|
1808
|
+
"ò": "o",
|
|
1809
|
+
"ó": "o",
|
|
1810
|
+
"ô": "o",
|
|
1811
|
+
"õ": "o",
|
|
1812
|
+
"ö": "oe",
|
|
1813
|
+
"ő": "o",
|
|
1814
|
+
"ø": "o",
|
|
1815
|
+
"ù": "u",
|
|
1816
|
+
"ú": "u",
|
|
1817
|
+
"û": "u",
|
|
1818
|
+
"ü": "ue",
|
|
1819
|
+
"ű": "u",
|
|
1820
|
+
"ý": "y",
|
|
1821
|
+
"þ": "th",
|
|
1822
|
+
"ÿ": "y",
|
|
1823
|
+
"ẞ": "SS",
|
|
1824
|
+
"ا": "a",
|
|
1825
|
+
"أ": "a",
|
|
1826
|
+
"إ": "i",
|
|
1827
|
+
"آ": "aa",
|
|
1828
|
+
"ؤ": "u",
|
|
1829
|
+
"ئ": "e",
|
|
1830
|
+
"ء": "a",
|
|
1831
|
+
"ب": "b",
|
|
1832
|
+
"ت": "t",
|
|
1833
|
+
"ث": "th",
|
|
1834
|
+
"ج": "j",
|
|
1835
|
+
"ح": "h",
|
|
1836
|
+
"خ": "kh",
|
|
1837
|
+
"د": "d",
|
|
1838
|
+
"ذ": "th",
|
|
1839
|
+
"ر": "r",
|
|
1840
|
+
"ز": "z",
|
|
1841
|
+
"س": "s",
|
|
1842
|
+
"ش": "sh",
|
|
1843
|
+
"ص": "s",
|
|
1844
|
+
"ض": "dh",
|
|
1845
|
+
"ط": "t",
|
|
1846
|
+
"ظ": "z",
|
|
1847
|
+
"ع": "a",
|
|
1848
|
+
"غ": "gh",
|
|
1849
|
+
"ف": "f",
|
|
1850
|
+
"ق": "q",
|
|
1851
|
+
"ك": "k",
|
|
1852
|
+
"ل": "l",
|
|
1853
|
+
"م": "m",
|
|
1854
|
+
"ن": "n",
|
|
1855
|
+
"ه": "h",
|
|
1856
|
+
"و": "w",
|
|
1857
|
+
"ي": "y",
|
|
1858
|
+
"ى": "a",
|
|
1859
|
+
"ة": "h",
|
|
1860
|
+
"ﻻ": "la",
|
|
1861
|
+
"ﻷ": "laa",
|
|
1862
|
+
"ﻹ": "lai",
|
|
1863
|
+
"ﻵ": "laa",
|
|
1864
|
+
"گ": "g",
|
|
1865
|
+
"چ": "ch",
|
|
1866
|
+
"پ": "p",
|
|
1867
|
+
"ژ": "zh",
|
|
1868
|
+
"ک": "k",
|
|
1869
|
+
"ی": "y",
|
|
1870
|
+
"َ": "a",
|
|
1871
|
+
"ً": "an",
|
|
1872
|
+
"ِ": "e",
|
|
1873
|
+
"ٍ": "en",
|
|
1874
|
+
"ُ": "u",
|
|
1875
|
+
"ٌ": "on",
|
|
1876
|
+
"ْ": "",
|
|
1877
|
+
"٠": "0",
|
|
1878
|
+
"١": "1",
|
|
1879
|
+
"٢": "2",
|
|
1880
|
+
"٣": "3",
|
|
1881
|
+
"٤": "4",
|
|
1882
|
+
"٥": "5",
|
|
1883
|
+
"٦": "6",
|
|
1884
|
+
"٧": "7",
|
|
1885
|
+
"٨": "8",
|
|
1886
|
+
"٩": "9",
|
|
1887
|
+
"۰": "0",
|
|
1888
|
+
"۱": "1",
|
|
1889
|
+
"۲": "2",
|
|
1890
|
+
"۳": "3",
|
|
1891
|
+
"۴": "4",
|
|
1892
|
+
"۵": "5",
|
|
1893
|
+
"۶": "6",
|
|
1894
|
+
"۷": "7",
|
|
1895
|
+
"۸": "8",
|
|
1896
|
+
"۹": "9",
|
|
1897
|
+
"က": "k",
|
|
1898
|
+
"ခ": "kh",
|
|
1899
|
+
"ဂ": "g",
|
|
1900
|
+
"ဃ": "ga",
|
|
1901
|
+
"င": "ng",
|
|
1902
|
+
"စ": "s",
|
|
1903
|
+
"ဆ": "sa",
|
|
1904
|
+
"ဇ": "z",
|
|
1905
|
+
"စျ": "za",
|
|
1906
|
+
"ည": "ny",
|
|
1907
|
+
"ဋ": "t",
|
|
1908
|
+
"ဌ": "ta",
|
|
1909
|
+
"ဍ": "d",
|
|
1910
|
+
"ဎ": "da",
|
|
1911
|
+
"ဏ": "na",
|
|
1912
|
+
"တ": "t",
|
|
1913
|
+
"ထ": "ta",
|
|
1914
|
+
"ဒ": "d",
|
|
1915
|
+
"ဓ": "da",
|
|
1916
|
+
"န": "n",
|
|
1917
|
+
"ပ": "p",
|
|
1918
|
+
"ဖ": "pa",
|
|
1919
|
+
"ဗ": "b",
|
|
1920
|
+
"ဘ": "ba",
|
|
1921
|
+
"မ": "m",
|
|
1922
|
+
"ယ": "y",
|
|
1923
|
+
"ရ": "ya",
|
|
1924
|
+
"လ": "l",
|
|
1925
|
+
"ဝ": "w",
|
|
1926
|
+
"သ": "th",
|
|
1927
|
+
"ဟ": "h",
|
|
1928
|
+
"ဠ": "la",
|
|
1929
|
+
"အ": "a",
|
|
1930
|
+
"ြ": "y",
|
|
1931
|
+
"ျ": "ya",
|
|
1932
|
+
"ွ": "w",
|
|
1933
|
+
"ြွ": "yw",
|
|
1934
|
+
"ျွ": "ywa",
|
|
1935
|
+
"ှ": "h",
|
|
1936
|
+
"ဧ": "e",
|
|
1937
|
+
"၏": "-e",
|
|
1938
|
+
"ဣ": "i",
|
|
1939
|
+
"ဤ": "-i",
|
|
1940
|
+
"ဉ": "u",
|
|
1941
|
+
"ဦ": "-u",
|
|
1942
|
+
"ဩ": "aw",
|
|
1943
|
+
"သြော": "aw",
|
|
1944
|
+
"ဪ": "aw",
|
|
1945
|
+
"၀": "0",
|
|
1946
|
+
"၁": "1",
|
|
1947
|
+
"၂": "2",
|
|
1948
|
+
"၃": "3",
|
|
1949
|
+
"၄": "4",
|
|
1950
|
+
"၅": "5",
|
|
1951
|
+
"၆": "6",
|
|
1952
|
+
"၇": "7",
|
|
1953
|
+
"၈": "8",
|
|
1954
|
+
"၉": "9",
|
|
1955
|
+
"္": "",
|
|
1956
|
+
"့": "",
|
|
1957
|
+
"း": "",
|
|
1958
|
+
"č": "c",
|
|
1959
|
+
"ď": "d",
|
|
1960
|
+
"ě": "e",
|
|
1961
|
+
"ň": "n",
|
|
1962
|
+
"ř": "r",
|
|
1963
|
+
"š": "s",
|
|
1964
|
+
"ť": "t",
|
|
1965
|
+
"ů": "u",
|
|
1966
|
+
"ž": "z",
|
|
1967
|
+
"Č": "C",
|
|
1968
|
+
"Ď": "D",
|
|
1969
|
+
"Ě": "E",
|
|
1970
|
+
"Ň": "N",
|
|
1971
|
+
"Ř": "R",
|
|
1972
|
+
"Š": "S",
|
|
1973
|
+
"Ť": "T",
|
|
1974
|
+
"Ů": "U",
|
|
1975
|
+
"Ž": "Z",
|
|
1976
|
+
"ހ": "h",
|
|
1977
|
+
"ށ": "sh",
|
|
1978
|
+
"ނ": "n",
|
|
1979
|
+
"ރ": "r",
|
|
1980
|
+
"ބ": "b",
|
|
1981
|
+
"ޅ": "lh",
|
|
1982
|
+
"ކ": "k",
|
|
1983
|
+
"އ": "a",
|
|
1984
|
+
"ވ": "v",
|
|
1985
|
+
"މ": "m",
|
|
1986
|
+
"ފ": "f",
|
|
1987
|
+
"ދ": "dh",
|
|
1988
|
+
"ތ": "th",
|
|
1989
|
+
"ލ": "l",
|
|
1990
|
+
"ގ": "g",
|
|
1991
|
+
"ޏ": "gn",
|
|
1992
|
+
"ސ": "s",
|
|
1993
|
+
"ޑ": "d",
|
|
1994
|
+
"ޒ": "z",
|
|
1995
|
+
"ޓ": "t",
|
|
1996
|
+
"ޔ": "y",
|
|
1997
|
+
"ޕ": "p",
|
|
1998
|
+
"ޖ": "j",
|
|
1999
|
+
"ޗ": "ch",
|
|
2000
|
+
"ޘ": "tt",
|
|
2001
|
+
"ޙ": "hh",
|
|
2002
|
+
"ޚ": "kh",
|
|
2003
|
+
"ޛ": "th",
|
|
2004
|
+
"ޜ": "z",
|
|
2005
|
+
"ޝ": "sh",
|
|
2006
|
+
"ޞ": "s",
|
|
2007
|
+
"ޟ": "d",
|
|
2008
|
+
"ޠ": "t",
|
|
2009
|
+
"ޡ": "z",
|
|
2010
|
+
"ޢ": "a",
|
|
2011
|
+
"ޣ": "gh",
|
|
2012
|
+
"ޤ": "q",
|
|
2013
|
+
"ޥ": "w",
|
|
2014
|
+
"ަ": "a",
|
|
2015
|
+
"ާ": "aa",
|
|
2016
|
+
"ި": "i",
|
|
2017
|
+
"ީ": "ee",
|
|
2018
|
+
"ު": "u",
|
|
2019
|
+
"ޫ": "oo",
|
|
2020
|
+
"ެ": "e",
|
|
2021
|
+
"ޭ": "ey",
|
|
2022
|
+
"ޮ": "o",
|
|
2023
|
+
"ޯ": "oa",
|
|
2024
|
+
"ް": "",
|
|
2025
|
+
"ა": "a",
|
|
2026
|
+
"ბ": "b",
|
|
2027
|
+
"გ": "g",
|
|
2028
|
+
"დ": "d",
|
|
2029
|
+
"ე": "e",
|
|
2030
|
+
"ვ": "v",
|
|
2031
|
+
"ზ": "z",
|
|
2032
|
+
"თ": "t",
|
|
2033
|
+
"ი": "i",
|
|
2034
|
+
"კ": "k",
|
|
2035
|
+
"ლ": "l",
|
|
2036
|
+
"მ": "m",
|
|
2037
|
+
"ნ": "n",
|
|
2038
|
+
"ო": "o",
|
|
2039
|
+
"პ": "p",
|
|
2040
|
+
"ჟ": "zh",
|
|
2041
|
+
"რ": "r",
|
|
2042
|
+
"ს": "s",
|
|
2043
|
+
"ტ": "t",
|
|
2044
|
+
"უ": "u",
|
|
2045
|
+
"ფ": "p",
|
|
2046
|
+
"ქ": "k",
|
|
2047
|
+
"ღ": "gh",
|
|
2048
|
+
"ყ": "q",
|
|
2049
|
+
"შ": "sh",
|
|
2050
|
+
"ჩ": "ch",
|
|
2051
|
+
"ც": "ts",
|
|
2052
|
+
"ძ": "dz",
|
|
2053
|
+
"წ": "ts",
|
|
2054
|
+
"ჭ": "ch",
|
|
2055
|
+
"ხ": "kh",
|
|
2056
|
+
"ჯ": "j",
|
|
2057
|
+
"ჰ": "h",
|
|
2058
|
+
"α": "a",
|
|
2059
|
+
"β": "v",
|
|
2060
|
+
"γ": "g",
|
|
2061
|
+
"δ": "d",
|
|
2062
|
+
"ε": "e",
|
|
2063
|
+
"ζ": "z",
|
|
2064
|
+
"η": "i",
|
|
2065
|
+
"θ": "th",
|
|
2066
|
+
"ι": "i",
|
|
2067
|
+
"κ": "k",
|
|
2068
|
+
"λ": "l",
|
|
2069
|
+
"μ": "m",
|
|
2070
|
+
"ν": "n",
|
|
2071
|
+
"ξ": "ks",
|
|
2072
|
+
"ο": "o",
|
|
2073
|
+
"π": "p",
|
|
2074
|
+
"ρ": "r",
|
|
2075
|
+
"σ": "s",
|
|
2076
|
+
"τ": "t",
|
|
2077
|
+
"υ": "y",
|
|
2078
|
+
"φ": "f",
|
|
2079
|
+
"χ": "x",
|
|
2080
|
+
"ψ": "ps",
|
|
2081
|
+
"ω": "o",
|
|
2082
|
+
"ά": "a",
|
|
2083
|
+
"έ": "e",
|
|
2084
|
+
"ί": "i",
|
|
2085
|
+
"ό": "o",
|
|
2086
|
+
"ύ": "y",
|
|
2087
|
+
"ή": "i",
|
|
2088
|
+
"ώ": "o",
|
|
2089
|
+
"ς": "s",
|
|
2090
|
+
"ϊ": "i",
|
|
2091
|
+
"ΰ": "y",
|
|
2092
|
+
"ϋ": "y",
|
|
2093
|
+
"ΐ": "i",
|
|
2094
|
+
"Α": "A",
|
|
2095
|
+
"Β": "B",
|
|
2096
|
+
"Γ": "G",
|
|
2097
|
+
"Δ": "D",
|
|
2098
|
+
"Ε": "E",
|
|
2099
|
+
"Ζ": "Z",
|
|
2100
|
+
"Η": "I",
|
|
2101
|
+
"Θ": "TH",
|
|
2102
|
+
"Ι": "I",
|
|
2103
|
+
"Κ": "K",
|
|
2104
|
+
"Λ": "L",
|
|
2105
|
+
"Μ": "M",
|
|
2106
|
+
"Ν": "N",
|
|
2107
|
+
"Ξ": "KS",
|
|
2108
|
+
"Ο": "O",
|
|
2109
|
+
"Π": "P",
|
|
2110
|
+
"Ρ": "R",
|
|
2111
|
+
"Σ": "S",
|
|
2112
|
+
"Τ": "T",
|
|
2113
|
+
"Υ": "Y",
|
|
2114
|
+
"Φ": "F",
|
|
2115
|
+
"Χ": "X",
|
|
2116
|
+
"Ψ": "PS",
|
|
2117
|
+
"Ω": "O",
|
|
2118
|
+
"Ά": "A",
|
|
2119
|
+
"Έ": "E",
|
|
2120
|
+
"Ί": "I",
|
|
2121
|
+
"Ό": "O",
|
|
2122
|
+
"Ύ": "Y",
|
|
2123
|
+
"Ή": "I",
|
|
2124
|
+
"Ώ": "O",
|
|
2125
|
+
"Ϊ": "I",
|
|
2126
|
+
"Ϋ": "Y",
|
|
2127
|
+
"ā": "a",
|
|
2128
|
+
"ē": "e",
|
|
2129
|
+
"ģ": "g",
|
|
2130
|
+
"ī": "i",
|
|
2131
|
+
"ķ": "k",
|
|
2132
|
+
"ļ": "l",
|
|
2133
|
+
"ņ": "n",
|
|
2134
|
+
"ū": "u",
|
|
2135
|
+
"Ā": "A",
|
|
2136
|
+
"Ē": "E",
|
|
2137
|
+
"Ģ": "G",
|
|
2138
|
+
"Ī": "I",
|
|
2139
|
+
"Ķ": "k",
|
|
2140
|
+
"Ļ": "L",
|
|
2141
|
+
"Ņ": "N",
|
|
2142
|
+
"Ū": "U",
|
|
2143
|
+
"Ќ": "Kj",
|
|
2144
|
+
"ќ": "kj",
|
|
2145
|
+
"Љ": "Lj",
|
|
2146
|
+
"љ": "lj",
|
|
2147
|
+
"Њ": "Nj",
|
|
2148
|
+
"њ": "nj",
|
|
2149
|
+
"Тс": "Ts",
|
|
2150
|
+
"тс": "ts",
|
|
2151
|
+
"ą": "a",
|
|
2152
|
+
"ć": "c",
|
|
2153
|
+
"ę": "e",
|
|
2154
|
+
"ł": "l",
|
|
2155
|
+
"ń": "n",
|
|
2156
|
+
"ś": "s",
|
|
2157
|
+
"ź": "z",
|
|
2158
|
+
"ż": "z",
|
|
2159
|
+
"Ą": "A",
|
|
2160
|
+
"Ć": "C",
|
|
2161
|
+
"Ę": "E",
|
|
2162
|
+
"Ł": "L",
|
|
2163
|
+
"Ń": "N",
|
|
2164
|
+
"Ś": "S",
|
|
2165
|
+
"Ź": "Z",
|
|
2166
|
+
"Ż": "Z",
|
|
2167
|
+
"Є": "Ye",
|
|
2168
|
+
"І": "I",
|
|
2169
|
+
"Ї": "Yi",
|
|
2170
|
+
"Ґ": "G",
|
|
2171
|
+
"є": "ye",
|
|
2172
|
+
"і": "i",
|
|
2173
|
+
"ї": "yi",
|
|
2174
|
+
"ґ": "g",
|
|
2175
|
+
"ă": "a",
|
|
2176
|
+
"Ă": "A",
|
|
2177
|
+
"ș": "s",
|
|
2178
|
+
"Ș": "S",
|
|
2179
|
+
"ț": "t",
|
|
2180
|
+
"Ț": "T",
|
|
2181
|
+
"ţ": "t",
|
|
2182
|
+
"Ţ": "T",
|
|
2183
|
+
"а": "a",
|
|
2184
|
+
"б": "b",
|
|
2185
|
+
"в": "v",
|
|
2186
|
+
"г": "g",
|
|
2187
|
+
"д": "d",
|
|
2188
|
+
"е": "e",
|
|
2189
|
+
"ё": "yo",
|
|
2190
|
+
"ж": "zh",
|
|
2191
|
+
"з": "z",
|
|
2192
|
+
"и": "i",
|
|
2193
|
+
"й": "i",
|
|
2194
|
+
"к": "k",
|
|
2195
|
+
"л": "l",
|
|
2196
|
+
"м": "m",
|
|
2197
|
+
"н": "n",
|
|
2198
|
+
"о": "o",
|
|
2199
|
+
"п": "p",
|
|
2200
|
+
"р": "r",
|
|
2201
|
+
"с": "s",
|
|
2202
|
+
"т": "t",
|
|
2203
|
+
"у": "u",
|
|
2204
|
+
"ф": "f",
|
|
2205
|
+
"х": "kh",
|
|
2206
|
+
"ц": "c",
|
|
2207
|
+
"ч": "ch",
|
|
2208
|
+
"ш": "sh",
|
|
2209
|
+
"щ": "sh",
|
|
2210
|
+
"ъ": "",
|
|
2211
|
+
"ы": "y",
|
|
2212
|
+
"ь": "",
|
|
2213
|
+
"э": "e",
|
|
2214
|
+
"ю": "yu",
|
|
2215
|
+
"я": "ya",
|
|
2216
|
+
"А": "A",
|
|
2217
|
+
"Б": "B",
|
|
2218
|
+
"В": "V",
|
|
2219
|
+
"Г": "G",
|
|
2220
|
+
"Д": "D",
|
|
2221
|
+
"Е": "E",
|
|
2222
|
+
"Ё": "Yo",
|
|
2223
|
+
"Ж": "Zh",
|
|
2224
|
+
"З": "Z",
|
|
2225
|
+
"И": "I",
|
|
2226
|
+
"Й": "I",
|
|
2227
|
+
"К": "K",
|
|
2228
|
+
"Л": "L",
|
|
2229
|
+
"М": "M",
|
|
2230
|
+
"Н": "N",
|
|
2231
|
+
"О": "O",
|
|
2232
|
+
"П": "P",
|
|
2233
|
+
"Р": "R",
|
|
2234
|
+
"С": "S",
|
|
2235
|
+
"Т": "T",
|
|
2236
|
+
"У": "U",
|
|
2237
|
+
"Ф": "F",
|
|
2238
|
+
"Х": "Kh",
|
|
2239
|
+
"Ц": "C",
|
|
2240
|
+
"Ч": "Ch",
|
|
2241
|
+
"Ш": "Sh",
|
|
2242
|
+
"Щ": "Sh",
|
|
2243
|
+
"Ъ": "",
|
|
2244
|
+
"Ы": "Y",
|
|
2245
|
+
"Ь": "",
|
|
2246
|
+
"Э": "E",
|
|
2247
|
+
"Ю": "Yu",
|
|
2248
|
+
"Я": "Ya",
|
|
2249
|
+
"ђ": "dj",
|
|
2250
|
+
"ј": "j",
|
|
2251
|
+
"ћ": "c",
|
|
2252
|
+
"џ": "dz",
|
|
2253
|
+
"Ђ": "Dj",
|
|
2254
|
+
"Ј": "j",
|
|
2255
|
+
"Ћ": "C",
|
|
2256
|
+
"Џ": "Dz",
|
|
2257
|
+
"ľ": "l",
|
|
2258
|
+
"ĺ": "l",
|
|
2259
|
+
"ŕ": "r",
|
|
2260
|
+
"Ľ": "L",
|
|
2261
|
+
"Ĺ": "L",
|
|
2262
|
+
"Ŕ": "R",
|
|
2263
|
+
"ş": "s",
|
|
2264
|
+
"Ş": "S",
|
|
2265
|
+
"ı": "i",
|
|
2266
|
+
"İ": "I",
|
|
2267
|
+
"ğ": "g",
|
|
2268
|
+
"Ğ": "G",
|
|
2269
|
+
"ả": "a",
|
|
2270
|
+
"Ả": "A",
|
|
2271
|
+
"ẳ": "a",
|
|
2272
|
+
"Ẳ": "A",
|
|
2273
|
+
"ẩ": "a",
|
|
2274
|
+
"Ẩ": "A",
|
|
2275
|
+
"đ": "d",
|
|
2276
|
+
"Đ": "D",
|
|
2277
|
+
"ẹ": "e",
|
|
2278
|
+
"Ẹ": "E",
|
|
2279
|
+
"ẽ": "e",
|
|
2280
|
+
"Ẽ": "E",
|
|
2281
|
+
"ẻ": "e",
|
|
2282
|
+
"Ẻ": "E",
|
|
2283
|
+
"ế": "e",
|
|
2284
|
+
"Ế": "E",
|
|
2285
|
+
"ề": "e",
|
|
2286
|
+
"Ề": "E",
|
|
2287
|
+
"ệ": "e",
|
|
2288
|
+
"Ệ": "E",
|
|
2289
|
+
"ễ": "e",
|
|
2290
|
+
"Ễ": "E",
|
|
2291
|
+
"ể": "e",
|
|
2292
|
+
"Ể": "E",
|
|
2293
|
+
"ỏ": "o",
|
|
2294
|
+
"ọ": "o",
|
|
2295
|
+
"Ọ": "o",
|
|
2296
|
+
"ố": "o",
|
|
2297
|
+
"Ố": "O",
|
|
2298
|
+
"ồ": "o",
|
|
2299
|
+
"Ồ": "O",
|
|
2300
|
+
"ổ": "o",
|
|
2301
|
+
"Ổ": "O",
|
|
2302
|
+
"ộ": "o",
|
|
2303
|
+
"Ộ": "O",
|
|
2304
|
+
"ỗ": "o",
|
|
2305
|
+
"Ỗ": "O",
|
|
2306
|
+
"ơ": "o",
|
|
2307
|
+
"Ơ": "O",
|
|
2308
|
+
"ớ": "o",
|
|
2309
|
+
"Ớ": "O",
|
|
2310
|
+
"ờ": "o",
|
|
2311
|
+
"Ờ": "O",
|
|
2312
|
+
"ợ": "o",
|
|
2313
|
+
"Ợ": "O",
|
|
2314
|
+
"ỡ": "o",
|
|
2315
|
+
"Ỡ": "O",
|
|
2316
|
+
"Ở": "o",
|
|
2317
|
+
"ở": "o",
|
|
2318
|
+
"ị": "i",
|
|
2319
|
+
"Ị": "I",
|
|
2320
|
+
"ĩ": "i",
|
|
2321
|
+
"Ĩ": "I",
|
|
2322
|
+
"ỉ": "i",
|
|
2323
|
+
"Ỉ": "i",
|
|
2324
|
+
"ủ": "u",
|
|
2325
|
+
"Ủ": "U",
|
|
2326
|
+
"ụ": "u",
|
|
2327
|
+
"Ụ": "U",
|
|
2328
|
+
"ũ": "u",
|
|
2329
|
+
"Ũ": "U",
|
|
2330
|
+
"ư": "u",
|
|
2331
|
+
"Ư": "U",
|
|
2332
|
+
"ứ": "u",
|
|
2333
|
+
"Ứ": "U",
|
|
2334
|
+
"ừ": "u",
|
|
2335
|
+
"Ừ": "U",
|
|
2336
|
+
"ự": "u",
|
|
2337
|
+
"Ự": "U",
|
|
2338
|
+
"ữ": "u",
|
|
2339
|
+
"Ữ": "U",
|
|
2340
|
+
"ử": "u",
|
|
2341
|
+
"Ử": "ư",
|
|
2342
|
+
"ỷ": "y",
|
|
2343
|
+
"Ỷ": "y",
|
|
2344
|
+
"ỳ": "y",
|
|
2345
|
+
"Ỳ": "Y",
|
|
2346
|
+
"ỵ": "y",
|
|
2347
|
+
"Ỵ": "Y",
|
|
2348
|
+
"ỹ": "y",
|
|
2349
|
+
"Ỹ": "Y",
|
|
2350
|
+
"ạ": "a",
|
|
2351
|
+
"Ạ": "A",
|
|
2352
|
+
"ấ": "a",
|
|
2353
|
+
"Ấ": "A",
|
|
2354
|
+
"ầ": "a",
|
|
2355
|
+
"Ầ": "A",
|
|
2356
|
+
"ậ": "a",
|
|
2357
|
+
"Ậ": "A",
|
|
2358
|
+
"ẫ": "a",
|
|
2359
|
+
"Ẫ": "A",
|
|
2360
|
+
"ắ": "a",
|
|
2361
|
+
"Ắ": "A",
|
|
2362
|
+
"ằ": "a",
|
|
2363
|
+
"Ằ": "A",
|
|
2364
|
+
"ặ": "a",
|
|
2365
|
+
"Ặ": "A",
|
|
2366
|
+
"ẵ": "a",
|
|
2367
|
+
"Ẵ": "A",
|
|
2368
|
+
"⓪": "0",
|
|
2369
|
+
"①": "1",
|
|
2370
|
+
"②": "2",
|
|
2371
|
+
"③": "3",
|
|
2372
|
+
"④": "4",
|
|
2373
|
+
"⑤": "5",
|
|
2374
|
+
"⑥": "6",
|
|
2375
|
+
"⑦": "7",
|
|
2376
|
+
"⑧": "8",
|
|
2377
|
+
"⑨": "9",
|
|
2378
|
+
"⑩": "10",
|
|
2379
|
+
"⑪": "11",
|
|
2380
|
+
"⑫": "12",
|
|
2381
|
+
"⑬": "13",
|
|
2382
|
+
"⑭": "14",
|
|
2383
|
+
"⑮": "15",
|
|
2384
|
+
"⑯": "16",
|
|
2385
|
+
"⑰": "17",
|
|
2386
|
+
"⑱": "18",
|
|
2387
|
+
"⑲": "18",
|
|
2388
|
+
"⑳": "18",
|
|
2389
|
+
"⓵": "1",
|
|
2390
|
+
"⓶": "2",
|
|
2391
|
+
"⓷": "3",
|
|
2392
|
+
"⓸": "4",
|
|
2393
|
+
"⓹": "5",
|
|
2394
|
+
"⓺": "6",
|
|
2395
|
+
"⓻": "7",
|
|
2396
|
+
"⓼": "8",
|
|
2397
|
+
"⓽": "9",
|
|
2398
|
+
"⓾": "10",
|
|
2399
|
+
"⓿": "0",
|
|
2400
|
+
"⓫": "11",
|
|
2401
|
+
"⓬": "12",
|
|
2402
|
+
"⓭": "13",
|
|
2403
|
+
"⓮": "14",
|
|
2404
|
+
"⓯": "15",
|
|
2405
|
+
"⓰": "16",
|
|
2406
|
+
"⓱": "17",
|
|
2407
|
+
"⓲": "18",
|
|
2408
|
+
"⓳": "19",
|
|
2409
|
+
"⓴": "20",
|
|
2410
|
+
"Ⓐ": "A",
|
|
2411
|
+
"Ⓑ": "B",
|
|
2412
|
+
"Ⓒ": "C",
|
|
2413
|
+
"Ⓓ": "D",
|
|
2414
|
+
"Ⓔ": "E",
|
|
2415
|
+
"Ⓕ": "F",
|
|
2416
|
+
"Ⓖ": "G",
|
|
2417
|
+
"Ⓗ": "H",
|
|
2418
|
+
"Ⓘ": "I",
|
|
2419
|
+
"Ⓙ": "J",
|
|
2420
|
+
"Ⓚ": "K",
|
|
2421
|
+
"Ⓛ": "L",
|
|
2422
|
+
"Ⓜ": "M",
|
|
2423
|
+
"Ⓝ": "N",
|
|
2424
|
+
"Ⓞ": "O",
|
|
2425
|
+
"Ⓟ": "P",
|
|
2426
|
+
"Ⓠ": "Q",
|
|
2427
|
+
"Ⓡ": "R",
|
|
2428
|
+
"Ⓢ": "S",
|
|
2429
|
+
"Ⓣ": "T",
|
|
2430
|
+
"Ⓤ": "U",
|
|
2431
|
+
"Ⓥ": "V",
|
|
2432
|
+
"Ⓦ": "W",
|
|
2433
|
+
"Ⓧ": "X",
|
|
2434
|
+
"Ⓨ": "Y",
|
|
2435
|
+
"Ⓩ": "Z",
|
|
2436
|
+
"ⓐ": "a",
|
|
2437
|
+
"ⓑ": "b",
|
|
2438
|
+
"ⓒ": "c",
|
|
2439
|
+
"ⓓ": "d",
|
|
2440
|
+
"ⓔ": "e",
|
|
2441
|
+
"ⓕ": "f",
|
|
2442
|
+
"ⓖ": "g",
|
|
2443
|
+
"ⓗ": "h",
|
|
2444
|
+
"ⓘ": "i",
|
|
2445
|
+
"ⓙ": "j",
|
|
2446
|
+
"ⓚ": "k",
|
|
2447
|
+
"ⓛ": "l",
|
|
2448
|
+
"ⓜ": "m",
|
|
2449
|
+
"ⓝ": "n",
|
|
2450
|
+
"ⓞ": "o",
|
|
2451
|
+
"ⓟ": "p",
|
|
2452
|
+
"ⓠ": "q",
|
|
2453
|
+
"ⓡ": "r",
|
|
2454
|
+
"ⓢ": "s",
|
|
2455
|
+
"ⓣ": "t",
|
|
2456
|
+
"ⓤ": "u",
|
|
2457
|
+
"ⓦ": "v",
|
|
2458
|
+
"ⓥ": "w",
|
|
2459
|
+
"ⓧ": "x",
|
|
2460
|
+
"ⓨ": "y",
|
|
2461
|
+
"ⓩ": "z",
|
|
2462
|
+
"“": '"',
|
|
2463
|
+
"”": '"',
|
|
2464
|
+
"‘": "'",
|
|
2465
|
+
"’": "'",
|
|
2466
|
+
"∂": "d",
|
|
2467
|
+
"ƒ": "f",
|
|
2468
|
+
"™": "(TM)",
|
|
2469
|
+
"©": "(C)",
|
|
2470
|
+
"œ": "oe",
|
|
2471
|
+
"Œ": "OE",
|
|
2472
|
+
"®": "(R)",
|
|
2473
|
+
"†": "+",
|
|
2474
|
+
"℠": "(SM)",
|
|
2475
|
+
"…": "...",
|
|
2476
|
+
"˚": "o",
|
|
2477
|
+
"º": "o",
|
|
2478
|
+
"ª": "a",
|
|
2479
|
+
"•": "*",
|
|
2480
|
+
"၊": ",",
|
|
2481
|
+
"။": ".",
|
|
2482
|
+
"$": "USD",
|
|
2483
|
+
"€": "EUR",
|
|
2484
|
+
"₢": "BRN",
|
|
2485
|
+
"₣": "FRF",
|
|
2486
|
+
"£": "GBP",
|
|
2487
|
+
"₤": "ITL",
|
|
2488
|
+
"₦": "NGN",
|
|
2489
|
+
"₧": "ESP",
|
|
2490
|
+
"₩": "KRW",
|
|
2491
|
+
"₪": "ILS",
|
|
2492
|
+
"₫": "VND",
|
|
2493
|
+
"₭": "LAK",
|
|
2494
|
+
"₮": "MNT",
|
|
2495
|
+
"₯": "GRD",
|
|
2496
|
+
"₱": "ARS",
|
|
2497
|
+
"₲": "PYG",
|
|
2498
|
+
"₳": "ARA",
|
|
2499
|
+
"₴": "UAH",
|
|
2500
|
+
"₵": "GHS",
|
|
2501
|
+
"¢": "cent",
|
|
2502
|
+
"¥": "CNY",
|
|
2503
|
+
"元": "CNY",
|
|
2504
|
+
"円": "YEN",
|
|
2505
|
+
"﷼": "IRR",
|
|
2506
|
+
"₠": "EWE",
|
|
2507
|
+
"฿": "THB",
|
|
2508
|
+
"₨": "INR",
|
|
2509
|
+
"₹": "INR",
|
|
2510
|
+
"₰": "PF",
|
|
2511
|
+
"₺": "TRY",
|
|
2512
|
+
"؋": "AFN",
|
|
2513
|
+
"₼": "AZN",
|
|
2514
|
+
"лв": "BGN",
|
|
2515
|
+
"៛": "KHR",
|
|
2516
|
+
"₡": "CRC",
|
|
2517
|
+
"₸": "KZT",
|
|
2518
|
+
"ден": "MKD",
|
|
2519
|
+
"zł": "PLN",
|
|
2520
|
+
"₽": "RUB",
|
|
2521
|
+
"₾": "GEL"
|
|
2522
|
+
};
|
|
2523
|
+
var lookAheadCharArray = ["်", "ް"];
|
|
2524
|
+
var diatricMap = {
|
|
2525
|
+
"ာ": "a",
|
|
2526
|
+
"ါ": "a",
|
|
2527
|
+
"ေ": "e",
|
|
2528
|
+
"ဲ": "e",
|
|
2529
|
+
"ိ": "i",
|
|
2530
|
+
"ီ": "i",
|
|
2531
|
+
"ို": "o",
|
|
2532
|
+
"ု": "u",
|
|
2533
|
+
"ူ": "u",
|
|
2534
|
+
"ေါင်": "aung",
|
|
2535
|
+
"ော": "aw",
|
|
2536
|
+
"ော်": "aw",
|
|
2537
|
+
"ေါ": "aw",
|
|
2538
|
+
"ေါ်": "aw",
|
|
2539
|
+
"်": "်",
|
|
2540
|
+
"က်": "et",
|
|
2541
|
+
"ိုက်": "aik",
|
|
2542
|
+
"ောက်": "auk",
|
|
2543
|
+
"င်": "in",
|
|
2544
|
+
"ိုင်": "aing",
|
|
2545
|
+
"ောင်": "aung",
|
|
2546
|
+
"စ်": "it",
|
|
2547
|
+
"ည်": "i",
|
|
2548
|
+
"တ်": "at",
|
|
2549
|
+
"ိတ်": "eik",
|
|
2550
|
+
"ုတ်": "ok",
|
|
2551
|
+
"ွတ်": "ut",
|
|
2552
|
+
"ေတ်": "it",
|
|
2553
|
+
"ဒ်": "d",
|
|
2554
|
+
"ိုဒ်": "ok",
|
|
2555
|
+
"ုဒ်": "ait",
|
|
2556
|
+
"န်": "an",
|
|
2557
|
+
"ာန်": "an",
|
|
2558
|
+
"ိန်": "ein",
|
|
2559
|
+
"ုန်": "on",
|
|
2560
|
+
"ွန်": "un",
|
|
2561
|
+
"ပ်": "at",
|
|
2562
|
+
"ိပ်": "eik",
|
|
2563
|
+
"ုပ်": "ok",
|
|
2564
|
+
"ွပ်": "ut",
|
|
2565
|
+
"န်ုပ်": "nub",
|
|
2566
|
+
"မ်": "an",
|
|
2567
|
+
"ိမ်": "ein",
|
|
2568
|
+
"ုမ်": "on",
|
|
2569
|
+
"ွမ်": "un",
|
|
2570
|
+
"ယ်": "e",
|
|
2571
|
+
"ိုလ်": "ol",
|
|
2572
|
+
"ဉ်": "in",
|
|
2573
|
+
"ံ": "an",
|
|
2574
|
+
"ိံ": "ein",
|
|
2575
|
+
"ုံ": "on",
|
|
2576
|
+
"ައް": "ah",
|
|
2577
|
+
"ަށް": "ah"
|
|
2578
|
+
};
|
|
2579
|
+
var langCharMap = {
|
|
2580
|
+
"en": {},
|
|
2581
|
+
"az": {
|
|
2582
|
+
"ç": "c",
|
|
2583
|
+
"ə": "e",
|
|
2584
|
+
"ğ": "g",
|
|
2585
|
+
"ı": "i",
|
|
2586
|
+
"ö": "o",
|
|
2587
|
+
"ş": "s",
|
|
2588
|
+
"ü": "u",
|
|
2589
|
+
"Ç": "C",
|
|
2590
|
+
"Ə": "E",
|
|
2591
|
+
"Ğ": "G",
|
|
2592
|
+
"İ": "I",
|
|
2593
|
+
"Ö": "O",
|
|
2594
|
+
"Ş": "S",
|
|
2595
|
+
"Ü": "U"
|
|
2596
|
+
},
|
|
2597
|
+
"cs": {
|
|
2598
|
+
"č": "c",
|
|
2599
|
+
"ď": "d",
|
|
2600
|
+
"ě": "e",
|
|
2601
|
+
"ň": "n",
|
|
2602
|
+
"ř": "r",
|
|
2603
|
+
"š": "s",
|
|
2604
|
+
"ť": "t",
|
|
2605
|
+
"ů": "u",
|
|
2606
|
+
"ž": "z",
|
|
2607
|
+
"Č": "C",
|
|
2608
|
+
"Ď": "D",
|
|
2609
|
+
"Ě": "E",
|
|
2610
|
+
"Ň": "N",
|
|
2611
|
+
"Ř": "R",
|
|
2612
|
+
"Š": "S",
|
|
2613
|
+
"Ť": "T",
|
|
2614
|
+
"Ů": "U",
|
|
2615
|
+
"Ž": "Z"
|
|
2616
|
+
},
|
|
2617
|
+
"fi": {
|
|
2618
|
+
"ä": "a",
|
|
2619
|
+
"Ä": "A",
|
|
2620
|
+
"ö": "o",
|
|
2621
|
+
"Ö": "O"
|
|
2622
|
+
},
|
|
2623
|
+
"hu": {
|
|
2624
|
+
"ä": "a",
|
|
2625
|
+
"Ä": "A",
|
|
2626
|
+
"ö": "o",
|
|
2627
|
+
"Ö": "O",
|
|
2628
|
+
"ü": "u",
|
|
2629
|
+
"Ü": "U",
|
|
2630
|
+
"ű": "u",
|
|
2631
|
+
"Ű": "U"
|
|
2632
|
+
},
|
|
2633
|
+
"lt": {
|
|
2634
|
+
"ą": "a",
|
|
2635
|
+
"č": "c",
|
|
2636
|
+
"ę": "e",
|
|
2637
|
+
"ė": "e",
|
|
2638
|
+
"į": "i",
|
|
2639
|
+
"š": "s",
|
|
2640
|
+
"ų": "u",
|
|
2641
|
+
"ū": "u",
|
|
2642
|
+
"ž": "z",
|
|
2643
|
+
"Ą": "A",
|
|
2644
|
+
"Č": "C",
|
|
2645
|
+
"Ę": "E",
|
|
2646
|
+
"Ė": "E",
|
|
2647
|
+
"Į": "I",
|
|
2648
|
+
"Š": "S",
|
|
2649
|
+
"Ų": "U",
|
|
2650
|
+
"Ū": "U"
|
|
2651
|
+
},
|
|
2652
|
+
"lv": {
|
|
2653
|
+
"ā": "a",
|
|
2654
|
+
"č": "c",
|
|
2655
|
+
"ē": "e",
|
|
2656
|
+
"ģ": "g",
|
|
2657
|
+
"ī": "i",
|
|
2658
|
+
"ķ": "k",
|
|
2659
|
+
"ļ": "l",
|
|
2660
|
+
"ņ": "n",
|
|
2661
|
+
"š": "s",
|
|
2662
|
+
"ū": "u",
|
|
2663
|
+
"ž": "z",
|
|
2664
|
+
"Ā": "A",
|
|
2665
|
+
"Č": "C",
|
|
2666
|
+
"Ē": "E",
|
|
2667
|
+
"Ģ": "G",
|
|
2668
|
+
"Ī": "i",
|
|
2669
|
+
"Ķ": "k",
|
|
2670
|
+
"Ļ": "L",
|
|
2671
|
+
"Ņ": "N",
|
|
2672
|
+
"Š": "S",
|
|
2673
|
+
"Ū": "u",
|
|
2674
|
+
"Ž": "Z"
|
|
2675
|
+
},
|
|
2676
|
+
"pl": {
|
|
2677
|
+
"ą": "a",
|
|
2678
|
+
"ć": "c",
|
|
2679
|
+
"ę": "e",
|
|
2680
|
+
"ł": "l",
|
|
2681
|
+
"ń": "n",
|
|
2682
|
+
"ó": "o",
|
|
2683
|
+
"ś": "s",
|
|
2684
|
+
"ź": "z",
|
|
2685
|
+
"ż": "z",
|
|
2686
|
+
"Ą": "A",
|
|
2687
|
+
"Ć": "C",
|
|
2688
|
+
"Ę": "e",
|
|
2689
|
+
"Ł": "L",
|
|
2690
|
+
"Ń": "N",
|
|
2691
|
+
"Ó": "O",
|
|
2692
|
+
"Ś": "S",
|
|
2693
|
+
"Ź": "Z",
|
|
2694
|
+
"Ż": "Z"
|
|
2695
|
+
},
|
|
2696
|
+
"sv": {
|
|
2697
|
+
"ä": "a",
|
|
2698
|
+
"Ä": "A",
|
|
2699
|
+
"ö": "o",
|
|
2700
|
+
"Ö": "O"
|
|
2701
|
+
},
|
|
2702
|
+
"sk": {
|
|
2703
|
+
"ä": "a",
|
|
2704
|
+
"Ä": "A"
|
|
2705
|
+
},
|
|
2706
|
+
"sr": {
|
|
2707
|
+
"љ": "lj",
|
|
2708
|
+
"њ": "nj",
|
|
2709
|
+
"Љ": "Lj",
|
|
2710
|
+
"Њ": "Nj",
|
|
2711
|
+
"đ": "dj",
|
|
2712
|
+
"Đ": "Dj"
|
|
2713
|
+
},
|
|
2714
|
+
"tr": {
|
|
2715
|
+
"Ü": "U",
|
|
2716
|
+
"Ö": "O",
|
|
2717
|
+
"ü": "u",
|
|
2718
|
+
"ö": "o"
|
|
2719
|
+
}
|
|
2720
|
+
};
|
|
2721
|
+
var symbolMap = {
|
|
2722
|
+
"ar": {
|
|
2723
|
+
"∆": "delta",
|
|
2724
|
+
"∞": "la-nihaya",
|
|
2725
|
+
"♥": "hob",
|
|
2726
|
+
"&": "wa",
|
|
2727
|
+
"|": "aw",
|
|
2728
|
+
"<": "aqal-men",
|
|
2729
|
+
">": "akbar-men",
|
|
2730
|
+
"∑": "majmou",
|
|
2731
|
+
"¤": "omla"
|
|
2732
|
+
},
|
|
2733
|
+
"az": {},
|
|
2734
|
+
"ca": {
|
|
2735
|
+
"∆": "delta",
|
|
2736
|
+
"∞": "infinit",
|
|
2737
|
+
"♥": "amor",
|
|
2738
|
+
"&": "i",
|
|
2739
|
+
"|": "o",
|
|
2740
|
+
"<": "menys que",
|
|
2741
|
+
">": "mes que",
|
|
2742
|
+
"∑": "suma dels",
|
|
2743
|
+
"¤": "moneda"
|
|
2744
|
+
},
|
|
2745
|
+
"cs": {
|
|
2746
|
+
"∆": "delta",
|
|
2747
|
+
"∞": "nekonecno",
|
|
2748
|
+
"♥": "laska",
|
|
2749
|
+
"&": "a",
|
|
2750
|
+
"|": "nebo",
|
|
2751
|
+
"<": "mensi nez",
|
|
2752
|
+
">": "vetsi nez",
|
|
2753
|
+
"∑": "soucet",
|
|
2754
|
+
"¤": "mena"
|
|
2755
|
+
},
|
|
2756
|
+
"de": {
|
|
2757
|
+
"∆": "delta",
|
|
2758
|
+
"∞": "unendlich",
|
|
2759
|
+
"♥": "Liebe",
|
|
2760
|
+
"&": "und",
|
|
2761
|
+
"|": "oder",
|
|
2762
|
+
"<": "kleiner als",
|
|
2763
|
+
">": "groesser als",
|
|
2764
|
+
"∑": "Summe von",
|
|
2765
|
+
"¤": "Waehrung"
|
|
2766
|
+
},
|
|
2767
|
+
"dv": {
|
|
2768
|
+
"∆": "delta",
|
|
2769
|
+
"∞": "kolunulaa",
|
|
2770
|
+
"♥": "loabi",
|
|
2771
|
+
"&": "aai",
|
|
2772
|
+
"|": "noonee",
|
|
2773
|
+
"<": "ah vure kuda",
|
|
2774
|
+
">": "ah vure bodu",
|
|
2775
|
+
"∑": "jumula",
|
|
2776
|
+
"¤": "faisaa"
|
|
2777
|
+
},
|
|
2778
|
+
"en": {
|
|
2779
|
+
"∆": "delta",
|
|
2780
|
+
"∞": "infinity",
|
|
2781
|
+
"♥": "love",
|
|
2782
|
+
"&": "and",
|
|
2783
|
+
"|": "or",
|
|
2784
|
+
"<": "less than",
|
|
2785
|
+
">": "greater than",
|
|
2786
|
+
"∑": "sum",
|
|
2787
|
+
"¤": "currency"
|
|
2788
|
+
},
|
|
2789
|
+
"es": {
|
|
2790
|
+
"∆": "delta",
|
|
2791
|
+
"∞": "infinito",
|
|
2792
|
+
"♥": "amor",
|
|
2793
|
+
"&": "y",
|
|
2794
|
+
"|": "u",
|
|
2795
|
+
"<": "menos que",
|
|
2796
|
+
">": "mas que",
|
|
2797
|
+
"∑": "suma de los",
|
|
2798
|
+
"¤": "moneda"
|
|
2799
|
+
},
|
|
2800
|
+
"fa": {
|
|
2801
|
+
"∆": "delta",
|
|
2802
|
+
"∞": "bi-nahayat",
|
|
2803
|
+
"♥": "eshgh",
|
|
2804
|
+
"&": "va",
|
|
2805
|
+
"|": "ya",
|
|
2806
|
+
"<": "kamtar-az",
|
|
2807
|
+
">": "bishtar-az",
|
|
2808
|
+
"∑": "majmooe",
|
|
2809
|
+
"¤": "vahed"
|
|
2810
|
+
},
|
|
2811
|
+
"fi": {
|
|
2812
|
+
"∆": "delta",
|
|
2813
|
+
"∞": "aarettomyys",
|
|
2814
|
+
"♥": "rakkaus",
|
|
2815
|
+
"&": "ja",
|
|
2816
|
+
"|": "tai",
|
|
2817
|
+
"<": "pienempi kuin",
|
|
2818
|
+
">": "suurempi kuin",
|
|
2819
|
+
"∑": "summa",
|
|
2820
|
+
"¤": "valuutta"
|
|
2821
|
+
},
|
|
2822
|
+
"fr": {
|
|
2823
|
+
"∆": "delta",
|
|
2824
|
+
"∞": "infiniment",
|
|
2825
|
+
"♥": "Amour",
|
|
2826
|
+
"&": "et",
|
|
2827
|
+
"|": "ou",
|
|
2828
|
+
"<": "moins que",
|
|
2829
|
+
">": "superieure a",
|
|
2830
|
+
"∑": "somme des",
|
|
2831
|
+
"¤": "monnaie"
|
|
2832
|
+
},
|
|
2833
|
+
"ge": {
|
|
2834
|
+
"∆": "delta",
|
|
2835
|
+
"∞": "usasruloba",
|
|
2836
|
+
"♥": "siqvaruli",
|
|
2837
|
+
"&": "da",
|
|
2838
|
+
"|": "an",
|
|
2839
|
+
"<": "naklebi",
|
|
2840
|
+
">": "meti",
|
|
2841
|
+
"∑": "jami",
|
|
2842
|
+
"¤": "valuta"
|
|
2843
|
+
},
|
|
2844
|
+
"gr": {},
|
|
2845
|
+
"hu": {
|
|
2846
|
+
"∆": "delta",
|
|
2847
|
+
"∞": "vegtelen",
|
|
2848
|
+
"♥": "szerelem",
|
|
2849
|
+
"&": "es",
|
|
2850
|
+
"|": "vagy",
|
|
2851
|
+
"<": "kisebb mint",
|
|
2852
|
+
">": "nagyobb mint",
|
|
2853
|
+
"∑": "szumma",
|
|
2854
|
+
"¤": "penznem"
|
|
2855
|
+
},
|
|
2856
|
+
"it": {
|
|
2857
|
+
"∆": "delta",
|
|
2858
|
+
"∞": "infinito",
|
|
2859
|
+
"♥": "amore",
|
|
2860
|
+
"&": "e",
|
|
2861
|
+
"|": "o",
|
|
2862
|
+
"<": "minore di",
|
|
2863
|
+
">": "maggiore di",
|
|
2864
|
+
"∑": "somma",
|
|
2865
|
+
"¤": "moneta"
|
|
2866
|
+
},
|
|
2867
|
+
"lt": {
|
|
2868
|
+
"∆": "delta",
|
|
2869
|
+
"∞": "begalybe",
|
|
2870
|
+
"♥": "meile",
|
|
2871
|
+
"&": "ir",
|
|
2872
|
+
"|": "ar",
|
|
2873
|
+
"<": "maziau nei",
|
|
2874
|
+
">": "daugiau nei",
|
|
2875
|
+
"∑": "suma",
|
|
2876
|
+
"¤": "valiuta"
|
|
2877
|
+
},
|
|
2878
|
+
"lv": {
|
|
2879
|
+
"∆": "delta",
|
|
2880
|
+
"∞": "bezgaliba",
|
|
2881
|
+
"♥": "milestiba",
|
|
2882
|
+
"&": "un",
|
|
2883
|
+
"|": "vai",
|
|
2884
|
+
"<": "mazak neka",
|
|
2885
|
+
">": "lielaks neka",
|
|
2886
|
+
"∑": "summa",
|
|
2887
|
+
"¤": "valuta"
|
|
2888
|
+
},
|
|
2889
|
+
"my": {
|
|
2890
|
+
"∆": "kwahkhyaet",
|
|
2891
|
+
"∞": "asaonasme",
|
|
2892
|
+
"♥": "akhyait",
|
|
2893
|
+
"&": "nhin",
|
|
2894
|
+
"|": "tho",
|
|
2895
|
+
"<": "ngethaw",
|
|
2896
|
+
">": "kyithaw",
|
|
2897
|
+
"∑": "paungld",
|
|
2898
|
+
"¤": "ngwekye"
|
|
2899
|
+
},
|
|
2900
|
+
"mk": {},
|
|
2901
|
+
"nl": {
|
|
2902
|
+
"∆": "delta",
|
|
2903
|
+
"∞": "oneindig",
|
|
2904
|
+
"♥": "liefde",
|
|
2905
|
+
"&": "en",
|
|
2906
|
+
"|": "of",
|
|
2907
|
+
"<": "kleiner dan",
|
|
2908
|
+
">": "groter dan",
|
|
2909
|
+
"∑": "som",
|
|
2910
|
+
"¤": "valuta"
|
|
2911
|
+
},
|
|
2912
|
+
"pl": {
|
|
2913
|
+
"∆": "delta",
|
|
2914
|
+
"∞": "nieskonczonosc",
|
|
2915
|
+
"♥": "milosc",
|
|
2916
|
+
"&": "i",
|
|
2917
|
+
"|": "lub",
|
|
2918
|
+
"<": "mniejsze niz",
|
|
2919
|
+
">": "wieksze niz",
|
|
2920
|
+
"∑": "suma",
|
|
2921
|
+
"¤": "waluta"
|
|
2922
|
+
},
|
|
2923
|
+
"pt": {
|
|
2924
|
+
"∆": "delta",
|
|
2925
|
+
"∞": "infinito",
|
|
2926
|
+
"♥": "amor",
|
|
2927
|
+
"&": "e",
|
|
2928
|
+
"|": "ou",
|
|
2929
|
+
"<": "menor que",
|
|
2930
|
+
">": "maior que",
|
|
2931
|
+
"∑": "soma",
|
|
2932
|
+
"¤": "moeda"
|
|
2933
|
+
},
|
|
2934
|
+
"ro": {
|
|
2935
|
+
"∆": "delta",
|
|
2936
|
+
"∞": "infinit",
|
|
2937
|
+
"♥": "dragoste",
|
|
2938
|
+
"&": "si",
|
|
2939
|
+
"|": "sau",
|
|
2940
|
+
"<": "mai mic ca",
|
|
2941
|
+
">": "mai mare ca",
|
|
2942
|
+
"∑": "suma",
|
|
2943
|
+
"¤": "valuta"
|
|
2944
|
+
},
|
|
2945
|
+
"ru": {
|
|
2946
|
+
"∆": "delta",
|
|
2947
|
+
"∞": "beskonechno",
|
|
2948
|
+
"♥": "lubov",
|
|
2949
|
+
"&": "i",
|
|
2950
|
+
"|": "ili",
|
|
2951
|
+
"<": "menshe",
|
|
2952
|
+
">": "bolshe",
|
|
2953
|
+
"∑": "summa",
|
|
2954
|
+
"¤": "valjuta"
|
|
2955
|
+
},
|
|
2956
|
+
"sk": {
|
|
2957
|
+
"∆": "delta",
|
|
2958
|
+
"∞": "nekonecno",
|
|
2959
|
+
"♥": "laska",
|
|
2960
|
+
"&": "a",
|
|
2961
|
+
"|": "alebo",
|
|
2962
|
+
"<": "menej ako",
|
|
2963
|
+
">": "viac ako",
|
|
2964
|
+
"∑": "sucet",
|
|
2965
|
+
"¤": "mena"
|
|
2966
|
+
},
|
|
2967
|
+
"sr": {},
|
|
2968
|
+
"tr": {
|
|
2969
|
+
"∆": "delta",
|
|
2970
|
+
"∞": "sonsuzluk",
|
|
2971
|
+
"♥": "ask",
|
|
2972
|
+
"&": "ve",
|
|
2973
|
+
"|": "veya",
|
|
2974
|
+
"<": "kucuktur",
|
|
2975
|
+
">": "buyuktur",
|
|
2976
|
+
"∑": "toplam",
|
|
2977
|
+
"¤": "para birimi"
|
|
2978
|
+
},
|
|
2979
|
+
"uk": {
|
|
2980
|
+
"∆": "delta",
|
|
2981
|
+
"∞": "bezkinechnist",
|
|
2982
|
+
"♥": "lubov",
|
|
2983
|
+
"&": "i",
|
|
2984
|
+
"|": "abo",
|
|
2985
|
+
"<": "menshe",
|
|
2986
|
+
">": "bilshe",
|
|
2987
|
+
"∑": "suma",
|
|
2988
|
+
"¤": "valjuta"
|
|
2989
|
+
},
|
|
2990
|
+
"vn": {
|
|
2991
|
+
"∆": "delta",
|
|
2992
|
+
"∞": "vo cuc",
|
|
2993
|
+
"♥": "yeu",
|
|
2994
|
+
"&": "va",
|
|
2995
|
+
"|": "hoac",
|
|
2996
|
+
"<": "nho hon",
|
|
2997
|
+
">": "lon hon",
|
|
2998
|
+
"∑": "tong",
|
|
2999
|
+
"¤": "tien te"
|
|
3000
|
+
}
|
|
3001
|
+
};
|
|
3002
|
+
var uricChars = [
|
|
3003
|
+
";",
|
|
3004
|
+
"?",
|
|
3005
|
+
":",
|
|
3006
|
+
"@",
|
|
3007
|
+
"&",
|
|
3008
|
+
"=",
|
|
3009
|
+
"+",
|
|
3010
|
+
"$",
|
|
3011
|
+
",",
|
|
3012
|
+
"/"
|
|
3013
|
+
].join("");
|
|
3014
|
+
var uricNoSlashChars = [
|
|
3015
|
+
";",
|
|
3016
|
+
"?",
|
|
3017
|
+
":",
|
|
3018
|
+
"@",
|
|
3019
|
+
"&",
|
|
3020
|
+
"=",
|
|
3021
|
+
"+",
|
|
3022
|
+
"$",
|
|
3023
|
+
","
|
|
3024
|
+
].join("");
|
|
3025
|
+
var markChars = [
|
|
3026
|
+
".",
|
|
3027
|
+
"!",
|
|
3028
|
+
"~",
|
|
3029
|
+
"*",
|
|
3030
|
+
"'",
|
|
3031
|
+
"(",
|
|
3032
|
+
")"
|
|
3033
|
+
].join("");
|
|
3034
|
+
var getSlug = function getSlug$1(input, opts) {
|
|
3035
|
+
var separator = "-";
|
|
3036
|
+
var result = "";
|
|
3037
|
+
var diatricString = "";
|
|
3038
|
+
var convertSymbols = true;
|
|
3039
|
+
var customReplacements = {};
|
|
3040
|
+
var maintainCase;
|
|
3041
|
+
var titleCase;
|
|
3042
|
+
var truncate;
|
|
3043
|
+
var uricFlag;
|
|
3044
|
+
var uricNoSlashFlag;
|
|
3045
|
+
var markFlag;
|
|
3046
|
+
var symbol;
|
|
3047
|
+
var langChar;
|
|
3048
|
+
var lucky;
|
|
3049
|
+
var i;
|
|
3050
|
+
var ch;
|
|
3051
|
+
var l;
|
|
3052
|
+
var lastCharWasSymbol;
|
|
3053
|
+
var lastCharWasDiatric;
|
|
3054
|
+
var allowedChars = "";
|
|
3055
|
+
if (typeof input !== "string") return "";
|
|
3056
|
+
if (typeof opts === "string") separator = opts;
|
|
3057
|
+
symbol = symbolMap.en;
|
|
3058
|
+
langChar = langCharMap.en;
|
|
3059
|
+
if (typeof opts === "object") {
|
|
3060
|
+
maintainCase = opts.maintainCase || false;
|
|
3061
|
+
customReplacements = opts.custom && typeof opts.custom === "object" ? opts.custom : customReplacements;
|
|
3062
|
+
truncate = +opts.truncate > 1 && opts.truncate || false;
|
|
3063
|
+
uricFlag = opts.uric || false;
|
|
3064
|
+
uricNoSlashFlag = opts.uricNoSlash || false;
|
|
3065
|
+
markFlag = opts.mark || false;
|
|
3066
|
+
convertSymbols = opts.symbols === false || opts.lang === false ? false : true;
|
|
3067
|
+
separator = opts.separator || separator;
|
|
3068
|
+
if (uricFlag) allowedChars += uricChars;
|
|
3069
|
+
if (uricNoSlashFlag) allowedChars += uricNoSlashChars;
|
|
3070
|
+
if (markFlag) allowedChars += markChars;
|
|
3071
|
+
symbol = opts.lang && symbolMap[opts.lang] && convertSymbols ? symbolMap[opts.lang] : convertSymbols ? symbolMap.en : {};
|
|
3072
|
+
langChar = opts.lang && langCharMap[opts.lang] ? langCharMap[opts.lang] : opts.lang === false || opts.lang === true ? {} : langCharMap.en;
|
|
3073
|
+
if (opts.titleCase && typeof opts.titleCase.length === "number" && Array.prototype.toString.call(opts.titleCase)) {
|
|
3074
|
+
opts.titleCase.forEach(function(v) {
|
|
3075
|
+
customReplacements[v + ""] = v + "";
|
|
3076
|
+
});
|
|
3077
|
+
titleCase = true;
|
|
3078
|
+
} else titleCase = !!opts.titleCase;
|
|
3079
|
+
if (opts.custom && typeof opts.custom.length === "number" && Array.prototype.toString.call(opts.custom)) opts.custom.forEach(function(v) {
|
|
3080
|
+
customReplacements[v + ""] = v + "";
|
|
3081
|
+
});
|
|
3082
|
+
Object.keys(customReplacements).forEach(function(v) {
|
|
3083
|
+
var r;
|
|
3084
|
+
if (v.length > 1) r = new RegExp("\\b" + escapeChars(v) + "\\b", "gi");
|
|
3085
|
+
else r = new RegExp(escapeChars(v), "gi");
|
|
3086
|
+
input = input.replace(r, customReplacements[v]);
|
|
3087
|
+
});
|
|
3088
|
+
for (ch in customReplacements) allowedChars += ch;
|
|
3089
|
+
}
|
|
3090
|
+
allowedChars += separator;
|
|
3091
|
+
allowedChars = escapeChars(allowedChars);
|
|
3092
|
+
input = input.replace(/(^\s+|\s+$)/g, "");
|
|
3093
|
+
lastCharWasSymbol = false;
|
|
3094
|
+
lastCharWasDiatric = false;
|
|
3095
|
+
for (i = 0, l = input.length; i < l; i++) {
|
|
3096
|
+
ch = input[i];
|
|
3097
|
+
if (isReplacedCustomChar(ch, customReplacements)) lastCharWasSymbol = false;
|
|
3098
|
+
else if (langChar[ch]) {
|
|
3099
|
+
ch = lastCharWasSymbol && langChar[ch].match(/[A-Za-z0-9]/) ? " " + langChar[ch] : langChar[ch];
|
|
3100
|
+
lastCharWasSymbol = false;
|
|
3101
|
+
} else if (ch in charMap) {
|
|
3102
|
+
if (i + 1 < l && lookAheadCharArray.indexOf(input[i + 1]) >= 0) {
|
|
3103
|
+
diatricString += ch;
|
|
3104
|
+
ch = "";
|
|
3105
|
+
} else if (lastCharWasDiatric === true) {
|
|
3106
|
+
ch = diatricMap[diatricString] + charMap[ch];
|
|
3107
|
+
diatricString = "";
|
|
3108
|
+
} else ch = lastCharWasSymbol && charMap[ch].match(/[A-Za-z0-9]/) ? " " + charMap[ch] : charMap[ch];
|
|
3109
|
+
lastCharWasSymbol = false;
|
|
3110
|
+
lastCharWasDiatric = false;
|
|
3111
|
+
} else if (ch in diatricMap) {
|
|
3112
|
+
diatricString += ch;
|
|
3113
|
+
ch = "";
|
|
3114
|
+
if (i === l - 1) ch = diatricMap[diatricString];
|
|
3115
|
+
lastCharWasDiatric = true;
|
|
3116
|
+
} else if (symbol[ch] && !(uricFlag && uricChars.indexOf(ch) !== -1) && !(uricNoSlashFlag && uricNoSlashChars.indexOf(ch) !== -1)) {
|
|
3117
|
+
ch = lastCharWasSymbol || result.substr(-1).match(/[A-Za-z0-9]/) ? separator + symbol[ch] : symbol[ch];
|
|
3118
|
+
ch += input[i + 1] !== void 0 && input[i + 1].match(/[A-Za-z0-9]/) ? separator : "";
|
|
3119
|
+
lastCharWasSymbol = true;
|
|
3120
|
+
} else {
|
|
3121
|
+
if (lastCharWasDiatric === true) {
|
|
3122
|
+
ch = diatricMap[diatricString] + ch;
|
|
3123
|
+
diatricString = "";
|
|
3124
|
+
lastCharWasDiatric = false;
|
|
3125
|
+
} else if (lastCharWasSymbol && (/[A-Za-z0-9]/.test(ch) || result.substr(-1).match(/A-Za-z0-9]/))) ch = " " + ch;
|
|
3126
|
+
lastCharWasSymbol = false;
|
|
3127
|
+
}
|
|
3128
|
+
result += ch.replace(new RegExp("[^\\w\\s" + allowedChars + "_-]", "g"), separator);
|
|
3129
|
+
}
|
|
3130
|
+
if (titleCase) result = result.replace(/(\w)(\S*)/g, function(_, i$1, r) {
|
|
3131
|
+
var j = i$1.toUpperCase() + (r !== null ? r : "");
|
|
3132
|
+
return Object.keys(customReplacements).indexOf(j.toLowerCase()) < 0 ? j : j.toLowerCase();
|
|
3133
|
+
});
|
|
3134
|
+
result = result.replace(/\s+/g, separator).replace(new RegExp("\\" + separator + "+", "g"), separator).replace(new RegExp("(^\\" + separator + "+|\\" + separator + "+$)", "g"), "");
|
|
3135
|
+
if (truncate && result.length > truncate) {
|
|
3136
|
+
lucky = result.charAt(truncate) === separator;
|
|
3137
|
+
result = result.slice(0, truncate);
|
|
3138
|
+
if (!lucky) result = result.slice(0, result.lastIndexOf(separator));
|
|
3139
|
+
}
|
|
3140
|
+
if (!maintainCase && !titleCase) result = result.toLowerCase();
|
|
3141
|
+
return result;
|
|
3142
|
+
};
|
|
3143
|
+
var createSlug = function createSlug$1(opts) {
|
|
3144
|
+
return function getSlugWithConfig(input) {
|
|
3145
|
+
return getSlug(input, opts);
|
|
3146
|
+
};
|
|
3147
|
+
};
|
|
3148
|
+
var escapeChars = function escapeChars$1(input) {
|
|
3149
|
+
return input.replace(/[-\\^$*+?.()|[\]{}\/]/g, "\\$&");
|
|
3150
|
+
};
|
|
3151
|
+
var isReplacedCustomChar = function(ch, customReplacements) {
|
|
3152
|
+
for (var c in customReplacements) if (customReplacements[c] === ch) return true;
|
|
3153
|
+
};
|
|
3154
|
+
if (typeof module !== "undefined" && module.exports) {
|
|
3155
|
+
module.exports = getSlug;
|
|
3156
|
+
module.exports.createSlug = createSlug;
|
|
3157
|
+
} else if (typeof define !== "undefined" && define.amd) define([], function() {
|
|
3158
|
+
return getSlug;
|
|
3159
|
+
});
|
|
3160
|
+
else try {
|
|
3161
|
+
if (root.getSlug || root.createSlug) throw "speakingurl: globals exists /(getSlug|createSlug)/";
|
|
3162
|
+
else {
|
|
3163
|
+
root.getSlug = getSlug;
|
|
3164
|
+
root.createSlug = createSlug;
|
|
3165
|
+
}
|
|
3166
|
+
} catch (e) {
|
|
3167
|
+
}
|
|
3168
|
+
})(exports);
|
|
3169
|
+
}) });
|
|
3170
|
+
var require_speakingurl = __commonJS2({ "../../node_modules/.pnpm/speakingurl@14.0.1/node_modules/speakingurl/index.js": ((exports, module) => {
|
|
3171
|
+
module.exports = require_speakingurl$1();
|
|
3172
|
+
}) });
|
|
3173
|
+
var import_speakingurl = __toESM2(require_speakingurl(), 1);
|
|
3174
|
+
var appRecordInfo = target.__VUE_DEVTOOLS_NEXT_APP_RECORD_INFO__ ??= {
|
|
3175
|
+
id: 0,
|
|
3176
|
+
appIds: /* @__PURE__ */ new Set()
|
|
3177
|
+
};
|
|
3178
|
+
function onDevToolsClientConnected(fn) {
|
|
3179
|
+
return new Promise((resolve) => {
|
|
3180
|
+
if (devtoolsState.connected && devtoolsState.clientConnected) {
|
|
3181
|
+
fn();
|
|
3182
|
+
resolve();
|
|
3183
|
+
return;
|
|
3184
|
+
}
|
|
3185
|
+
devtoolsContext.hooks.hook(DevToolsMessagingHookKeys.DEVTOOLS_CONNECTED_UPDATED, ({ state }) => {
|
|
3186
|
+
if (state.connected && state.clientConnected) {
|
|
3187
|
+
fn();
|
|
3188
|
+
resolve();
|
|
3189
|
+
}
|
|
3190
|
+
});
|
|
3191
|
+
});
|
|
3192
|
+
}
|
|
3193
|
+
function toggleHighPerfMode(state) {
|
|
3194
|
+
devtoolsState.highPerfModeEnabled = state ?? !devtoolsState.highPerfModeEnabled;
|
|
3195
|
+
if (!state && activeAppRecord.value) registerDevToolsPlugin(activeAppRecord.value.app);
|
|
3196
|
+
}
|
|
3197
|
+
function updateDevToolsClientDetected(params) {
|
|
3198
|
+
devtoolsState.devtoolsClientDetected = {
|
|
3199
|
+
...devtoolsState.devtoolsClientDetected,
|
|
3200
|
+
...params
|
|
3201
|
+
};
|
|
3202
|
+
const devtoolsClientVisible = Object.values(devtoolsState.devtoolsClientDetected).some(Boolean);
|
|
3203
|
+
toggleHighPerfMode(!devtoolsClientVisible);
|
|
3204
|
+
}
|
|
3205
|
+
target.__VUE_DEVTOOLS_UPDATE_CLIENT_DETECTED__ ??= updateDevToolsClientDetected;
|
|
3206
|
+
var DoubleIndexedKV = class {
|
|
3207
|
+
constructor() {
|
|
3208
|
+
this.keyToValue = /* @__PURE__ */ new Map();
|
|
3209
|
+
this.valueToKey = /* @__PURE__ */ new Map();
|
|
3210
|
+
}
|
|
3211
|
+
set(key, value) {
|
|
3212
|
+
this.keyToValue.set(key, value);
|
|
3213
|
+
this.valueToKey.set(value, key);
|
|
3214
|
+
}
|
|
3215
|
+
getByKey(key) {
|
|
3216
|
+
return this.keyToValue.get(key);
|
|
3217
|
+
}
|
|
3218
|
+
getByValue(value) {
|
|
3219
|
+
return this.valueToKey.get(value);
|
|
3220
|
+
}
|
|
3221
|
+
clear() {
|
|
3222
|
+
this.keyToValue.clear();
|
|
3223
|
+
this.valueToKey.clear();
|
|
3224
|
+
}
|
|
3225
|
+
};
|
|
3226
|
+
var Registry = class {
|
|
3227
|
+
constructor(generateIdentifier) {
|
|
3228
|
+
this.generateIdentifier = generateIdentifier;
|
|
3229
|
+
this.kv = new DoubleIndexedKV();
|
|
3230
|
+
}
|
|
3231
|
+
register(value, identifier) {
|
|
3232
|
+
if (this.kv.getByValue(value)) return;
|
|
3233
|
+
if (!identifier) identifier = this.generateIdentifier(value);
|
|
3234
|
+
this.kv.set(identifier, value);
|
|
3235
|
+
}
|
|
3236
|
+
clear() {
|
|
3237
|
+
this.kv.clear();
|
|
3238
|
+
}
|
|
3239
|
+
getIdentifier(value) {
|
|
3240
|
+
return this.kv.getByValue(value);
|
|
3241
|
+
}
|
|
3242
|
+
getValue(identifier) {
|
|
3243
|
+
return this.kv.getByKey(identifier);
|
|
3244
|
+
}
|
|
3245
|
+
};
|
|
3246
|
+
var ClassRegistry = class extends Registry {
|
|
3247
|
+
constructor() {
|
|
3248
|
+
super((c) => c.name);
|
|
3249
|
+
this.classToAllowedProps = /* @__PURE__ */ new Map();
|
|
3250
|
+
}
|
|
3251
|
+
register(value, options) {
|
|
3252
|
+
if (typeof options === "object") {
|
|
3253
|
+
if (options.allowProps) this.classToAllowedProps.set(value, options.allowProps);
|
|
3254
|
+
super.register(value, options.identifier);
|
|
3255
|
+
} else super.register(value, options);
|
|
3256
|
+
}
|
|
3257
|
+
getAllowedProps(value) {
|
|
3258
|
+
return this.classToAllowedProps.get(value);
|
|
3259
|
+
}
|
|
3260
|
+
};
|
|
3261
|
+
function valuesOfObj(record) {
|
|
3262
|
+
if ("values" in Object) return Object.values(record);
|
|
3263
|
+
const values = [];
|
|
3264
|
+
for (const key in record) if (record.hasOwnProperty(key)) values.push(record[key]);
|
|
3265
|
+
return values;
|
|
3266
|
+
}
|
|
3267
|
+
function find(record, predicate) {
|
|
3268
|
+
const values = valuesOfObj(record);
|
|
3269
|
+
if ("find" in values) return values.find(predicate);
|
|
3270
|
+
const valuesNotNever = values;
|
|
3271
|
+
for (let i = 0; i < valuesNotNever.length; i++) {
|
|
3272
|
+
const value = valuesNotNever[i];
|
|
3273
|
+
if (predicate(value)) return value;
|
|
3274
|
+
}
|
|
3275
|
+
return void 0;
|
|
3276
|
+
}
|
|
3277
|
+
function forEach(record, run) {
|
|
3278
|
+
Object.entries(record).forEach(([key, value]) => run(value, key));
|
|
3279
|
+
}
|
|
3280
|
+
function includes(arr, value) {
|
|
3281
|
+
return arr.indexOf(value) !== -1;
|
|
3282
|
+
}
|
|
3283
|
+
function findArr(record, predicate) {
|
|
3284
|
+
for (let i = 0; i < record.length; i++) {
|
|
3285
|
+
const value = record[i];
|
|
3286
|
+
if (predicate(value)) return value;
|
|
3287
|
+
}
|
|
3288
|
+
return void 0;
|
|
3289
|
+
}
|
|
3290
|
+
var CustomTransformerRegistry = class {
|
|
3291
|
+
constructor() {
|
|
3292
|
+
this.transfomers = {};
|
|
3293
|
+
}
|
|
3294
|
+
register(transformer) {
|
|
3295
|
+
this.transfomers[transformer.name] = transformer;
|
|
3296
|
+
}
|
|
3297
|
+
findApplicable(v) {
|
|
3298
|
+
return find(this.transfomers, (transformer) => transformer.isApplicable(v));
|
|
3299
|
+
}
|
|
3300
|
+
findByName(name) {
|
|
3301
|
+
return this.transfomers[name];
|
|
3302
|
+
}
|
|
3303
|
+
};
|
|
3304
|
+
var getType$1 = (payload) => Object.prototype.toString.call(payload).slice(8, -1);
|
|
3305
|
+
var isUndefined$1 = (payload) => typeof payload === "undefined";
|
|
3306
|
+
var isNull$1 = (payload) => payload === null;
|
|
3307
|
+
var isPlainObject$2 = (payload) => {
|
|
3308
|
+
if (typeof payload !== "object" || payload === null) return false;
|
|
3309
|
+
if (payload === Object.prototype) return false;
|
|
3310
|
+
if (Object.getPrototypeOf(payload) === null) return true;
|
|
3311
|
+
return Object.getPrototypeOf(payload) === Object.prototype;
|
|
3312
|
+
};
|
|
3313
|
+
var isEmptyObject = (payload) => isPlainObject$2(payload) && Object.keys(payload).length === 0;
|
|
3314
|
+
var isArray$2 = (payload) => Array.isArray(payload);
|
|
3315
|
+
var isString = (payload) => typeof payload === "string";
|
|
3316
|
+
var isNumber = (payload) => typeof payload === "number" && !isNaN(payload);
|
|
3317
|
+
var isBoolean = (payload) => typeof payload === "boolean";
|
|
3318
|
+
var isRegExp = (payload) => payload instanceof RegExp;
|
|
3319
|
+
var isMap = (payload) => payload instanceof Map;
|
|
3320
|
+
var isSet = (payload) => payload instanceof Set;
|
|
3321
|
+
var isSymbol = (payload) => getType$1(payload) === "Symbol";
|
|
3322
|
+
var isDate = (payload) => payload instanceof Date && !isNaN(payload.valueOf());
|
|
3323
|
+
var isError = (payload) => payload instanceof Error;
|
|
3324
|
+
var isNaNValue = (payload) => typeof payload === "number" && isNaN(payload);
|
|
3325
|
+
var isPrimitive = (payload) => isBoolean(payload) || isNull$1(payload) || isUndefined$1(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);
|
|
3326
|
+
var isBigint = (payload) => typeof payload === "bigint";
|
|
3327
|
+
var isInfinite = (payload) => payload === Infinity || payload === -Infinity;
|
|
3328
|
+
var isTypedArray = (payload) => ArrayBuffer.isView(payload) && !(payload instanceof DataView);
|
|
3329
|
+
var isURL = (payload) => payload instanceof URL;
|
|
3330
|
+
var escapeKey = (key) => key.replace(/\./g, "\\.");
|
|
3331
|
+
var stringifyPath = (path) => path.map(String).map(escapeKey).join(".");
|
|
3332
|
+
var parsePath = (string) => {
|
|
3333
|
+
const result = [];
|
|
3334
|
+
let segment = "";
|
|
3335
|
+
for (let i = 0; i < string.length; i++) {
|
|
3336
|
+
let char = string.charAt(i);
|
|
3337
|
+
const isEscapedDot = char === "\\" && string.charAt(i + 1) === ".";
|
|
3338
|
+
if (isEscapedDot) {
|
|
3339
|
+
segment += ".";
|
|
3340
|
+
i++;
|
|
3341
|
+
continue;
|
|
3342
|
+
}
|
|
3343
|
+
const isEndOfSegment = char === ".";
|
|
3344
|
+
if (isEndOfSegment) {
|
|
3345
|
+
result.push(segment);
|
|
3346
|
+
segment = "";
|
|
3347
|
+
continue;
|
|
3348
|
+
}
|
|
3349
|
+
segment += char;
|
|
3350
|
+
}
|
|
3351
|
+
const lastSegment = segment;
|
|
3352
|
+
result.push(lastSegment);
|
|
3353
|
+
return result;
|
|
3354
|
+
};
|
|
3355
|
+
function simpleTransformation(isApplicable, annotation, transform, untransform) {
|
|
3356
|
+
return {
|
|
3357
|
+
isApplicable,
|
|
3358
|
+
annotation,
|
|
3359
|
+
transform,
|
|
3360
|
+
untransform
|
|
3361
|
+
};
|
|
3362
|
+
}
|
|
3363
|
+
var simpleRules = [
|
|
3364
|
+
simpleTransformation(isUndefined$1, "undefined", () => null, () => void 0),
|
|
3365
|
+
simpleTransformation(isBigint, "bigint", (v) => v.toString(), (v) => {
|
|
3366
|
+
if (typeof BigInt !== "undefined") return BigInt(v);
|
|
3367
|
+
console.error("Please add a BigInt polyfill.");
|
|
3368
|
+
return v;
|
|
3369
|
+
}),
|
|
3370
|
+
simpleTransformation(isDate, "Date", (v) => v.toISOString(), (v) => new Date(v)),
|
|
3371
|
+
simpleTransformation(isError, "Error", (v, superJson) => {
|
|
3372
|
+
const baseError = {
|
|
3373
|
+
name: v.name,
|
|
3374
|
+
message: v.message
|
|
3375
|
+
};
|
|
3376
|
+
superJson.allowedErrorProps.forEach((prop) => {
|
|
3377
|
+
baseError[prop] = v[prop];
|
|
3378
|
+
});
|
|
3379
|
+
return baseError;
|
|
3380
|
+
}, (v, superJson) => {
|
|
3381
|
+
const e = new Error(v.message);
|
|
3382
|
+
e.name = v.name;
|
|
3383
|
+
e.stack = v.stack;
|
|
3384
|
+
superJson.allowedErrorProps.forEach((prop) => {
|
|
3385
|
+
e[prop] = v[prop];
|
|
3386
|
+
});
|
|
3387
|
+
return e;
|
|
3388
|
+
}),
|
|
3389
|
+
simpleTransformation(isRegExp, "regexp", (v) => "" + v, (regex) => {
|
|
3390
|
+
const body = regex.slice(1, regex.lastIndexOf("/"));
|
|
3391
|
+
const flags = regex.slice(regex.lastIndexOf("/") + 1);
|
|
3392
|
+
return new RegExp(body, flags);
|
|
3393
|
+
}),
|
|
3394
|
+
simpleTransformation(isSet, "set", (v) => [...v.values()], (v) => new Set(v)),
|
|
3395
|
+
simpleTransformation(isMap, "map", (v) => [...v.entries()], (v) => new Map(v)),
|
|
3396
|
+
simpleTransformation((v) => isNaNValue(v) || isInfinite(v), "number", (v) => {
|
|
3397
|
+
if (isNaNValue(v)) return "NaN";
|
|
3398
|
+
if (v > 0) return "Infinity";
|
|
3399
|
+
else return "-Infinity";
|
|
3400
|
+
}, Number),
|
|
3401
|
+
simpleTransformation((v) => v === 0 && 1 / v === -Infinity, "number", () => {
|
|
3402
|
+
return "-0";
|
|
3403
|
+
}, Number),
|
|
3404
|
+
simpleTransformation(isURL, "URL", (v) => v.toString(), (v) => new URL(v))
|
|
3405
|
+
];
|
|
3406
|
+
function compositeTransformation(isApplicable, annotation, transform, untransform) {
|
|
3407
|
+
return {
|
|
3408
|
+
isApplicable,
|
|
3409
|
+
annotation,
|
|
3410
|
+
transform,
|
|
3411
|
+
untransform
|
|
3412
|
+
};
|
|
3413
|
+
}
|
|
3414
|
+
var symbolRule = compositeTransformation((s, superJson) => {
|
|
3415
|
+
if (isSymbol(s)) {
|
|
3416
|
+
const isRegistered = !!superJson.symbolRegistry.getIdentifier(s);
|
|
3417
|
+
return isRegistered;
|
|
3418
|
+
}
|
|
3419
|
+
return false;
|
|
3420
|
+
}, (s, superJson) => {
|
|
3421
|
+
const identifier = superJson.symbolRegistry.getIdentifier(s);
|
|
3422
|
+
return ["symbol", identifier];
|
|
3423
|
+
}, (v) => v.description, (_, a, superJson) => {
|
|
3424
|
+
const value = superJson.symbolRegistry.getValue(a[1]);
|
|
3425
|
+
if (!value) throw new Error("Trying to deserialize unknown symbol");
|
|
3426
|
+
return value;
|
|
3427
|
+
});
|
|
3428
|
+
var constructorToName = [
|
|
3429
|
+
Int8Array,
|
|
3430
|
+
Uint8Array,
|
|
3431
|
+
Int16Array,
|
|
3432
|
+
Uint16Array,
|
|
3433
|
+
Int32Array,
|
|
3434
|
+
Uint32Array,
|
|
3435
|
+
Float32Array,
|
|
3436
|
+
Float64Array,
|
|
3437
|
+
Uint8ClampedArray
|
|
3438
|
+
].reduce((obj, ctor) => {
|
|
3439
|
+
obj[ctor.name] = ctor;
|
|
3440
|
+
return obj;
|
|
3441
|
+
}, {});
|
|
3442
|
+
var typedArrayRule = compositeTransformation(isTypedArray, (v) => ["typed-array", v.constructor.name], (v) => [...v], (v, a) => {
|
|
3443
|
+
const ctor = constructorToName[a[1]];
|
|
3444
|
+
if (!ctor) throw new Error("Trying to deserialize unknown typed array");
|
|
3445
|
+
return new ctor(v);
|
|
3446
|
+
});
|
|
3447
|
+
function isInstanceOfRegisteredClass(potentialClass, superJson) {
|
|
3448
|
+
if (potentialClass?.constructor) {
|
|
3449
|
+
const isRegistered = !!superJson.classRegistry.getIdentifier(potentialClass.constructor);
|
|
3450
|
+
return isRegistered;
|
|
3451
|
+
}
|
|
3452
|
+
return false;
|
|
3453
|
+
}
|
|
3454
|
+
var classRule = compositeTransformation(isInstanceOfRegisteredClass, (clazz, superJson) => {
|
|
3455
|
+
const identifier = superJson.classRegistry.getIdentifier(clazz.constructor);
|
|
3456
|
+
return ["class", identifier];
|
|
3457
|
+
}, (clazz, superJson) => {
|
|
3458
|
+
const allowedProps = superJson.classRegistry.getAllowedProps(clazz.constructor);
|
|
3459
|
+
if (!allowedProps) return { ...clazz };
|
|
3460
|
+
const result = {};
|
|
3461
|
+
allowedProps.forEach((prop) => {
|
|
3462
|
+
result[prop] = clazz[prop];
|
|
3463
|
+
});
|
|
3464
|
+
return result;
|
|
3465
|
+
}, (v, a, superJson) => {
|
|
3466
|
+
const clazz = superJson.classRegistry.getValue(a[1]);
|
|
3467
|
+
if (!clazz) throw new Error(`Trying to deserialize unknown class '${a[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);
|
|
3468
|
+
return Object.assign(Object.create(clazz.prototype), v);
|
|
3469
|
+
});
|
|
3470
|
+
var customRule = compositeTransformation((value, superJson) => {
|
|
3471
|
+
return !!superJson.customTransformerRegistry.findApplicable(value);
|
|
3472
|
+
}, (value, superJson) => {
|
|
3473
|
+
const transformer = superJson.customTransformerRegistry.findApplicable(value);
|
|
3474
|
+
return ["custom", transformer.name];
|
|
3475
|
+
}, (value, superJson) => {
|
|
3476
|
+
const transformer = superJson.customTransformerRegistry.findApplicable(value);
|
|
3477
|
+
return transformer.serialize(value);
|
|
3478
|
+
}, (v, a, superJson) => {
|
|
3479
|
+
const transformer = superJson.customTransformerRegistry.findByName(a[1]);
|
|
3480
|
+
if (!transformer) throw new Error("Trying to deserialize unknown custom value");
|
|
3481
|
+
return transformer.deserialize(v);
|
|
3482
|
+
});
|
|
3483
|
+
var compositeRules = [
|
|
3484
|
+
classRule,
|
|
3485
|
+
symbolRule,
|
|
3486
|
+
customRule,
|
|
3487
|
+
typedArrayRule
|
|
3488
|
+
];
|
|
3489
|
+
var transformValue = (value, superJson) => {
|
|
3490
|
+
const applicableCompositeRule = findArr(compositeRules, (rule) => rule.isApplicable(value, superJson));
|
|
3491
|
+
if (applicableCompositeRule) return {
|
|
3492
|
+
value: applicableCompositeRule.transform(value, superJson),
|
|
3493
|
+
type: applicableCompositeRule.annotation(value, superJson)
|
|
3494
|
+
};
|
|
3495
|
+
const applicableSimpleRule = findArr(simpleRules, (rule) => rule.isApplicable(value, superJson));
|
|
3496
|
+
if (applicableSimpleRule) return {
|
|
3497
|
+
value: applicableSimpleRule.transform(value, superJson),
|
|
3498
|
+
type: applicableSimpleRule.annotation
|
|
3499
|
+
};
|
|
3500
|
+
return void 0;
|
|
3501
|
+
};
|
|
3502
|
+
var simpleRulesByAnnotation = {};
|
|
3503
|
+
simpleRules.forEach((rule) => {
|
|
3504
|
+
simpleRulesByAnnotation[rule.annotation] = rule;
|
|
3505
|
+
});
|
|
3506
|
+
var untransformValue = (json, type, superJson) => {
|
|
3507
|
+
if (isArray$2(type)) switch (type[0]) {
|
|
3508
|
+
case "symbol":
|
|
3509
|
+
return symbolRule.untransform(json, type, superJson);
|
|
3510
|
+
case "class":
|
|
3511
|
+
return classRule.untransform(json, type, superJson);
|
|
3512
|
+
case "custom":
|
|
3513
|
+
return customRule.untransform(json, type, superJson);
|
|
3514
|
+
case "typed-array":
|
|
3515
|
+
return typedArrayRule.untransform(json, type, superJson);
|
|
3516
|
+
default:
|
|
3517
|
+
throw new Error("Unknown transformation: " + type);
|
|
3518
|
+
}
|
|
3519
|
+
else {
|
|
3520
|
+
const transformation = simpleRulesByAnnotation[type];
|
|
3521
|
+
if (!transformation) throw new Error("Unknown transformation: " + type);
|
|
3522
|
+
return transformation.untransform(json, superJson);
|
|
3523
|
+
}
|
|
3524
|
+
};
|
|
3525
|
+
var getNthKey = (value, n) => {
|
|
3526
|
+
if (n > value.size) throw new Error("index out of bounds");
|
|
3527
|
+
const keys = value.keys();
|
|
3528
|
+
while (n > 0) {
|
|
3529
|
+
keys.next();
|
|
3530
|
+
n--;
|
|
3531
|
+
}
|
|
3532
|
+
return keys.next().value;
|
|
3533
|
+
};
|
|
3534
|
+
function validatePath(path) {
|
|
3535
|
+
if (includes(path, "__proto__")) throw new Error("__proto__ is not allowed as a property");
|
|
3536
|
+
if (includes(path, "prototype")) throw new Error("prototype is not allowed as a property");
|
|
3537
|
+
if (includes(path, "constructor")) throw new Error("constructor is not allowed as a property");
|
|
3538
|
+
}
|
|
3539
|
+
var getDeep = (object, path) => {
|
|
3540
|
+
validatePath(path);
|
|
3541
|
+
for (let i = 0; i < path.length; i++) {
|
|
3542
|
+
const key = path[i];
|
|
3543
|
+
if (isSet(object)) object = getNthKey(object, +key);
|
|
3544
|
+
else if (isMap(object)) {
|
|
3545
|
+
const row = +key;
|
|
3546
|
+
const type = +path[++i] === 0 ? "key" : "value";
|
|
3547
|
+
const keyOfRow = getNthKey(object, row);
|
|
3548
|
+
switch (type) {
|
|
3549
|
+
case "key":
|
|
3550
|
+
object = keyOfRow;
|
|
3551
|
+
break;
|
|
3552
|
+
case "value":
|
|
3553
|
+
object = object.get(keyOfRow);
|
|
3554
|
+
break;
|
|
3555
|
+
}
|
|
3556
|
+
} else object = object[key];
|
|
3557
|
+
}
|
|
3558
|
+
return object;
|
|
3559
|
+
};
|
|
3560
|
+
var setDeep = (object, path, mapper) => {
|
|
3561
|
+
validatePath(path);
|
|
3562
|
+
if (path.length === 0) return mapper(object);
|
|
3563
|
+
let parent = object;
|
|
3564
|
+
for (let i = 0; i < path.length - 1; i++) {
|
|
3565
|
+
const key = path[i];
|
|
3566
|
+
if (isArray$2(parent)) {
|
|
3567
|
+
const index = +key;
|
|
3568
|
+
parent = parent[index];
|
|
3569
|
+
} else if (isPlainObject$2(parent)) parent = parent[key];
|
|
3570
|
+
else if (isSet(parent)) {
|
|
3571
|
+
const row = +key;
|
|
3572
|
+
parent = getNthKey(parent, row);
|
|
3573
|
+
} else if (isMap(parent)) {
|
|
3574
|
+
const isEnd = i === path.length - 2;
|
|
3575
|
+
if (isEnd) break;
|
|
3576
|
+
const row = +key;
|
|
3577
|
+
const type = +path[++i] === 0 ? "key" : "value";
|
|
3578
|
+
const keyOfRow = getNthKey(parent, row);
|
|
3579
|
+
switch (type) {
|
|
3580
|
+
case "key":
|
|
3581
|
+
parent = keyOfRow;
|
|
3582
|
+
break;
|
|
3583
|
+
case "value":
|
|
3584
|
+
parent = parent.get(keyOfRow);
|
|
3585
|
+
break;
|
|
3586
|
+
}
|
|
3587
|
+
}
|
|
3588
|
+
}
|
|
3589
|
+
const lastKey = path[path.length - 1];
|
|
3590
|
+
if (isArray$2(parent)) parent[+lastKey] = mapper(parent[+lastKey]);
|
|
3591
|
+
else if (isPlainObject$2(parent)) parent[lastKey] = mapper(parent[lastKey]);
|
|
3592
|
+
if (isSet(parent)) {
|
|
3593
|
+
const oldValue = getNthKey(parent, +lastKey);
|
|
3594
|
+
const newValue = mapper(oldValue);
|
|
3595
|
+
if (oldValue !== newValue) {
|
|
3596
|
+
parent.delete(oldValue);
|
|
3597
|
+
parent.add(newValue);
|
|
3598
|
+
}
|
|
3599
|
+
}
|
|
3600
|
+
if (isMap(parent)) {
|
|
3601
|
+
const row = +path[path.length - 2];
|
|
3602
|
+
const keyToRow = getNthKey(parent, row);
|
|
3603
|
+
const type = +lastKey === 0 ? "key" : "value";
|
|
3604
|
+
switch (type) {
|
|
3605
|
+
case "key": {
|
|
3606
|
+
const newKey = mapper(keyToRow);
|
|
3607
|
+
parent.set(newKey, parent.get(keyToRow));
|
|
3608
|
+
if (newKey !== keyToRow) parent.delete(keyToRow);
|
|
3609
|
+
break;
|
|
3610
|
+
}
|
|
3611
|
+
case "value":
|
|
3612
|
+
parent.set(keyToRow, mapper(parent.get(keyToRow)));
|
|
3613
|
+
break;
|
|
3614
|
+
}
|
|
3615
|
+
}
|
|
3616
|
+
return object;
|
|
3617
|
+
};
|
|
3618
|
+
function traverse(tree, walker$1, origin = []) {
|
|
3619
|
+
if (!tree) return;
|
|
3620
|
+
if (!isArray$2(tree)) {
|
|
3621
|
+
forEach(tree, (subtree, key) => traverse(subtree, walker$1, [...origin, ...parsePath(key)]));
|
|
3622
|
+
return;
|
|
3623
|
+
}
|
|
3624
|
+
const [nodeValue, children] = tree;
|
|
3625
|
+
if (children) forEach(children, (child, key) => {
|
|
3626
|
+
traverse(child, walker$1, [...origin, ...parsePath(key)]);
|
|
3627
|
+
});
|
|
3628
|
+
walker$1(nodeValue, origin);
|
|
3629
|
+
}
|
|
3630
|
+
function applyValueAnnotations(plain, annotations, superJson) {
|
|
3631
|
+
traverse(annotations, (type, path) => {
|
|
3632
|
+
plain = setDeep(plain, path, (v) => untransformValue(v, type, superJson));
|
|
3633
|
+
});
|
|
3634
|
+
return plain;
|
|
3635
|
+
}
|
|
3636
|
+
function applyReferentialEqualityAnnotations(plain, annotations) {
|
|
3637
|
+
function apply(identicalPaths, path) {
|
|
3638
|
+
const object = getDeep(plain, parsePath(path));
|
|
3639
|
+
identicalPaths.map(parsePath).forEach((identicalObjectPath) => {
|
|
3640
|
+
plain = setDeep(plain, identicalObjectPath, () => object);
|
|
3641
|
+
});
|
|
3642
|
+
}
|
|
3643
|
+
if (isArray$2(annotations)) {
|
|
3644
|
+
const [root, other] = annotations;
|
|
3645
|
+
root.forEach((identicalPath) => {
|
|
3646
|
+
plain = setDeep(plain, parsePath(identicalPath), () => plain);
|
|
3647
|
+
});
|
|
3648
|
+
if (other) forEach(other, apply);
|
|
3649
|
+
} else forEach(annotations, apply);
|
|
3650
|
+
return plain;
|
|
3651
|
+
}
|
|
3652
|
+
var isDeep = (object, superJson) => isPlainObject$2(object) || isArray$2(object) || isMap(object) || isSet(object) || isInstanceOfRegisteredClass(object, superJson);
|
|
3653
|
+
function addIdentity(object, path, identities) {
|
|
3654
|
+
const existingSet = identities.get(object);
|
|
3655
|
+
if (existingSet) existingSet.push(path);
|
|
3656
|
+
else identities.set(object, [path]);
|
|
3657
|
+
}
|
|
3658
|
+
function generateReferentialEqualityAnnotations(identitites, dedupe) {
|
|
3659
|
+
const result = {};
|
|
3660
|
+
let rootEqualityPaths = void 0;
|
|
3661
|
+
identitites.forEach((paths) => {
|
|
3662
|
+
if (paths.length <= 1) return;
|
|
3663
|
+
if (!dedupe) paths = paths.map((path) => path.map(String)).sort((a, b) => a.length - b.length);
|
|
3664
|
+
const [representativePath, ...identicalPaths] = paths;
|
|
3665
|
+
if (representativePath.length === 0) rootEqualityPaths = identicalPaths.map(stringifyPath);
|
|
3666
|
+
else result[stringifyPath(representativePath)] = identicalPaths.map(stringifyPath);
|
|
3667
|
+
});
|
|
3668
|
+
if (rootEqualityPaths) if (isEmptyObject(result)) return [rootEqualityPaths];
|
|
3669
|
+
else return [rootEqualityPaths, result];
|
|
3670
|
+
else return isEmptyObject(result) ? void 0 : result;
|
|
3671
|
+
}
|
|
3672
|
+
var walker = (object, identities, superJson, dedupe, path = [], objectsInThisPath = [], seenObjects = /* @__PURE__ */ new Map()) => {
|
|
3673
|
+
const primitive = isPrimitive(object);
|
|
3674
|
+
if (!primitive) {
|
|
3675
|
+
addIdentity(object, path, identities);
|
|
3676
|
+
const seen = seenObjects.get(object);
|
|
3677
|
+
if (seen) return dedupe ? { transformedValue: null } : seen;
|
|
3678
|
+
}
|
|
3679
|
+
if (!isDeep(object, superJson)) {
|
|
3680
|
+
const transformed$1 = transformValue(object, superJson);
|
|
3681
|
+
const result$1 = transformed$1 ? {
|
|
3682
|
+
transformedValue: transformed$1.value,
|
|
3683
|
+
annotations: [transformed$1.type]
|
|
3684
|
+
} : { transformedValue: object };
|
|
3685
|
+
if (!primitive) seenObjects.set(object, result$1);
|
|
3686
|
+
return result$1;
|
|
3687
|
+
}
|
|
3688
|
+
if (includes(objectsInThisPath, object)) return { transformedValue: null };
|
|
3689
|
+
const transformationResult = transformValue(object, superJson);
|
|
3690
|
+
const transformed = transformationResult?.value ?? object;
|
|
3691
|
+
const transformedValue = isArray$2(transformed) ? [] : {};
|
|
3692
|
+
const innerAnnotations = {};
|
|
3693
|
+
forEach(transformed, (value, index) => {
|
|
3694
|
+
if (index === "__proto__" || index === "constructor" || index === "prototype") throw new Error(`Detected property ${index}. This is a prototype pollution risk, please remove it from your object.`);
|
|
3695
|
+
const recursiveResult = walker(value, identities, superJson, dedupe, [...path, index], [...objectsInThisPath, object], seenObjects);
|
|
3696
|
+
transformedValue[index] = recursiveResult.transformedValue;
|
|
3697
|
+
if (isArray$2(recursiveResult.annotations)) innerAnnotations[index] = recursiveResult.annotations;
|
|
3698
|
+
else if (isPlainObject$2(recursiveResult.annotations)) forEach(recursiveResult.annotations, (tree, key) => {
|
|
3699
|
+
innerAnnotations[escapeKey(index) + "." + key] = tree;
|
|
3700
|
+
});
|
|
3701
|
+
});
|
|
3702
|
+
const result = isEmptyObject(innerAnnotations) ? {
|
|
3703
|
+
transformedValue,
|
|
3704
|
+
annotations: !!transformationResult ? [transformationResult.type] : void 0
|
|
3705
|
+
} : {
|
|
3706
|
+
transformedValue,
|
|
3707
|
+
annotations: !!transformationResult ? [transformationResult.type, innerAnnotations] : innerAnnotations
|
|
3708
|
+
};
|
|
3709
|
+
if (!primitive) seenObjects.set(object, result);
|
|
3710
|
+
return result;
|
|
3711
|
+
};
|
|
3712
|
+
function getType(payload) {
|
|
3713
|
+
return Object.prototype.toString.call(payload).slice(8, -1);
|
|
3714
|
+
}
|
|
3715
|
+
function isArray$1(payload) {
|
|
3716
|
+
return getType(payload) === "Array";
|
|
3717
|
+
}
|
|
3718
|
+
function isPlainObject$1(payload) {
|
|
3719
|
+
if (getType(payload) !== "Object") return false;
|
|
3720
|
+
const prototype = Object.getPrototypeOf(payload);
|
|
3721
|
+
return !!prototype && prototype.constructor === Object && prototype === Object.prototype;
|
|
3722
|
+
}
|
|
3723
|
+
function isNull(payload) {
|
|
3724
|
+
return getType(payload) === "Null";
|
|
3725
|
+
}
|
|
3726
|
+
function isOneOf(a, b, c, d, e) {
|
|
3727
|
+
return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);
|
|
3728
|
+
}
|
|
3729
|
+
function isUndefined(payload) {
|
|
3730
|
+
return getType(payload) === "Undefined";
|
|
3731
|
+
}
|
|
3732
|
+
var isNullOrUndefined = isOneOf(isNull, isUndefined);
|
|
3733
|
+
function assignProp(carry, key, newVal, originalObject, includeNonenumerable) {
|
|
3734
|
+
const propType = {}.propertyIsEnumerable.call(originalObject, key) ? "enumerable" : "nonenumerable";
|
|
3735
|
+
if (propType === "enumerable") carry[key] = newVal;
|
|
3736
|
+
if (includeNonenumerable && propType === "nonenumerable") Object.defineProperty(carry, key, {
|
|
3737
|
+
value: newVal,
|
|
3738
|
+
enumerable: false,
|
|
3739
|
+
writable: true,
|
|
3740
|
+
configurable: true
|
|
3741
|
+
});
|
|
3742
|
+
}
|
|
3743
|
+
function copy(target$1, options = {}) {
|
|
3744
|
+
if (isArray$1(target$1)) return target$1.map((item) => copy(item, options));
|
|
3745
|
+
if (!isPlainObject$1(target$1)) return target$1;
|
|
3746
|
+
const props = Object.getOwnPropertyNames(target$1);
|
|
3747
|
+
const symbols = Object.getOwnPropertySymbols(target$1);
|
|
3748
|
+
return [...props, ...symbols].reduce((carry, key) => {
|
|
3749
|
+
if (isArray$1(options.props) && !options.props.includes(key)) return carry;
|
|
3750
|
+
const val = target$1[key];
|
|
3751
|
+
const newVal = copy(val, options);
|
|
3752
|
+
assignProp(carry, key, newVal, target$1, options.nonenumerable);
|
|
3753
|
+
return carry;
|
|
3754
|
+
}, {});
|
|
3755
|
+
}
|
|
3756
|
+
var SuperJSON = class {
|
|
3757
|
+
/**
|
|
3758
|
+
* @param dedupeReferentialEqualities If true, SuperJSON will make sure only one instance of referentially equal objects are serialized and the rest are replaced with `null`.
|
|
3759
|
+
*/
|
|
3760
|
+
constructor({ dedupe = false } = {}) {
|
|
3761
|
+
this.classRegistry = new ClassRegistry();
|
|
3762
|
+
this.symbolRegistry = new Registry((s) => s.description ?? "");
|
|
3763
|
+
this.customTransformerRegistry = new CustomTransformerRegistry();
|
|
3764
|
+
this.allowedErrorProps = [];
|
|
3765
|
+
this.dedupe = dedupe;
|
|
3766
|
+
}
|
|
3767
|
+
serialize(object) {
|
|
3768
|
+
const identities = /* @__PURE__ */ new Map();
|
|
3769
|
+
const output = walker(object, identities, this, this.dedupe);
|
|
3770
|
+
const res = { json: output.transformedValue };
|
|
3771
|
+
if (output.annotations) res.meta = {
|
|
3772
|
+
...res.meta,
|
|
3773
|
+
values: output.annotations
|
|
3774
|
+
};
|
|
3775
|
+
const equalityAnnotations = generateReferentialEqualityAnnotations(identities, this.dedupe);
|
|
3776
|
+
if (equalityAnnotations) res.meta = {
|
|
3777
|
+
...res.meta,
|
|
3778
|
+
referentialEqualities: equalityAnnotations
|
|
3779
|
+
};
|
|
3780
|
+
return res;
|
|
3781
|
+
}
|
|
3782
|
+
deserialize(payload) {
|
|
3783
|
+
const { json, meta } = payload;
|
|
3784
|
+
let result = copy(json);
|
|
3785
|
+
if (meta?.values) result = applyValueAnnotations(result, meta.values, this);
|
|
3786
|
+
if (meta?.referentialEqualities) result = applyReferentialEqualityAnnotations(result, meta.referentialEqualities);
|
|
3787
|
+
return result;
|
|
3788
|
+
}
|
|
3789
|
+
stringify(object) {
|
|
3790
|
+
return JSON.stringify(this.serialize(object));
|
|
3791
|
+
}
|
|
3792
|
+
parse(string) {
|
|
3793
|
+
return this.deserialize(JSON.parse(string));
|
|
3794
|
+
}
|
|
3795
|
+
registerClass(v, options) {
|
|
3796
|
+
this.classRegistry.register(v, options);
|
|
3797
|
+
}
|
|
3798
|
+
registerSymbol(v, identifier) {
|
|
3799
|
+
this.symbolRegistry.register(v, identifier);
|
|
3800
|
+
}
|
|
3801
|
+
registerCustom(transformer, name) {
|
|
3802
|
+
this.customTransformerRegistry.register({
|
|
3803
|
+
name,
|
|
3804
|
+
...transformer
|
|
3805
|
+
});
|
|
3806
|
+
}
|
|
3807
|
+
allowErrorProps(...props) {
|
|
3808
|
+
this.allowedErrorProps.push(...props);
|
|
3809
|
+
}
|
|
3810
|
+
};
|
|
3811
|
+
SuperJSON.defaultInstance = new SuperJSON();
|
|
3812
|
+
SuperJSON.serialize = SuperJSON.defaultInstance.serialize.bind(SuperJSON.defaultInstance);
|
|
3813
|
+
SuperJSON.deserialize = SuperJSON.defaultInstance.deserialize.bind(SuperJSON.defaultInstance);
|
|
3814
|
+
SuperJSON.stringify = SuperJSON.defaultInstance.stringify.bind(SuperJSON.defaultInstance);
|
|
3815
|
+
SuperJSON.parse = SuperJSON.defaultInstance.parse.bind(SuperJSON.defaultInstance);
|
|
3816
|
+
SuperJSON.registerClass = SuperJSON.defaultInstance.registerClass.bind(SuperJSON.defaultInstance);
|
|
3817
|
+
SuperJSON.registerSymbol = SuperJSON.defaultInstance.registerSymbol.bind(SuperJSON.defaultInstance);
|
|
3818
|
+
SuperJSON.registerCustom = SuperJSON.defaultInstance.registerCustom.bind(SuperJSON.defaultInstance);
|
|
3819
|
+
SuperJSON.allowErrorProps = SuperJSON.defaultInstance.allowErrorProps.bind(SuperJSON.defaultInstance);
|
|
3820
|
+
var serialize = SuperJSON.serialize;
|
|
3821
|
+
var deserialize = SuperJSON.deserialize;
|
|
3822
|
+
var stringify$1 = SuperJSON.stringify;
|
|
3823
|
+
var parse$1 = SuperJSON.parse;
|
|
3824
|
+
var registerClass = SuperJSON.registerClass;
|
|
3825
|
+
var registerCustom = SuperJSON.registerCustom;
|
|
3826
|
+
var registerSymbol = SuperJSON.registerSymbol;
|
|
3827
|
+
var allowErrorProps = SuperJSON.allowErrorProps;
|
|
3828
|
+
target.__VUE_DEVTOOLS_KIT_MESSAGE_CHANNELS__ ??= [];
|
|
3829
|
+
target.__VUE_DEVTOOLS_KIT_RPC_CLIENT__ ??= null;
|
|
3830
|
+
target.__VUE_DEVTOOLS_KIT_RPC_SERVER__ ??= null;
|
|
3831
|
+
target.__VUE_DEVTOOLS_KIT_VITE_RPC_CLIENT__ ??= null;
|
|
3832
|
+
target.__VUE_DEVTOOLS_KIT_VITE_RPC_SERVER__ ??= null;
|
|
3833
|
+
target.__VUE_DEVTOOLS_KIT_BROADCAST_RPC_SERVER__ ??= null;
|
|
3834
|
+
var MAX_SERIALIZED_SIZE = 2 * 1024 * 1024;
|
|
3835
|
+
export {
|
|
3836
|
+
addCustomCommand,
|
|
3837
|
+
addCustomTab,
|
|
3838
|
+
onDevToolsClientConnected,
|
|
3839
|
+
onDevToolsConnected,
|
|
3840
|
+
removeCustomCommand,
|
|
3841
|
+
setupDevToolsPlugin,
|
|
3842
|
+
setupDevToolsPlugin as setupDevtoolsPlugin
|
|
3843
|
+
};
|
|
3844
|
+
//# sourceMappingURL=vitepress___@vue_devtools-api.js.map
|