@dcloudio/uni-cli-shared 3.0.0-5020320260806002 → 3.0.0-5020420260811002
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/resolve.d.ts +8 -0
- package/dist/resolve.js +78 -2
- package/lib/dom2/@intlify/core-base/LICENSE +20 -0
- package/lib/dom2/@intlify/core-base/dist/core-base.mjs +1903 -0
- package/lib/dom2/@intlify/core-base/package.json +11 -0
- package/lib/dom2/@intlify/message-compiler/LICENSE +20 -0
- package/lib/dom2/@intlify/message-compiler/dist/message-compiler.mjs +1550 -0
- package/lib/dom2/@intlify/message-compiler/package.json +11 -0
- package/lib/dom2/@intlify/shared/LICENSE +20 -0
- package/lib/dom2/@intlify/shared/dist/shared.mjs +333 -0
- package/lib/dom2/@intlify/shared/package.json +11 -0
- package/lib/dom2/@vue/devtools-api/LICENSE +21 -0
- package/lib/dom2/@vue/devtools-api/dist/index.js +26 -0
- package/lib/dom2/@vue/devtools-api/package.json +12 -0
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.cjs.js +71 -68
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.cjs.prod.js +71 -68
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.d.ts +2 -20
- package/lib/dom2/app/@vue/compiler-core/dist/compiler-core.esm-bundler.js +53 -29
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.cjs.js +23 -12
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +22 -12
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.esm-browser.js +80 -30
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.esm-browser.prod.js +5 -5
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.esm-bundler.js +20 -3
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.global.js +369 -317
- package/lib/dom2/app/@vue/compiler-dom/dist/compiler-dom.global.prod.js +5 -5
- package/lib/dom2/app/@vue/compiler-sfc/dist/compiler-sfc.cjs.js +2032 -5522
- package/lib/dom2/app/@vue/compiler-sfc/dist/compiler-sfc.d.ts +11114 -33
- package/lib/dom2/app/@vue/compiler-sfc/dist/compiler-sfc.esm-browser.js +2825 -4668
- package/lib/dom2/app/@vue/compiler-vapor/dist/compiler-vapor.cjs.js +905 -2413
- package/lib/dom2/app/@vue/compiler-vapor/dist/compiler-vapor.d.ts +378 -544
- package/lib/dom2/app/@vue/compiler-vapor/dist/compiler-vapor.esm-browser.js +998 -2549
- package/lib/dom2/app/@vue/compiler-vapor-dom2/dist/compiler-vapor-dom2.cjs.js +1 -1
- package/lib/dom2/app/@vue/shared/dist/shared.cjs.js +26 -92
- package/lib/dom2/app/@vue/shared/dist/shared.cjs.prod.js +26 -92
- package/lib/dom2/app/@vue/shared/dist/shared.d.ts +2 -94
- package/lib/dom2/app/@vue/shared/dist/shared.esm-bundler.js +24 -83
- package/lib/dom2/pinia/LICENSE +21 -0
- package/lib/dom2/pinia/dist/pinia.mjs +1941 -0
- package/lib/dom2/pinia/package.json +11 -0
- package/lib/dom2/vue-i18n/LICENSE +20 -0
- package/lib/dom2/vue-i18n/dist/vue-i18n.esm-bundler.js +1 -0
- package/lib/dom2/vue-i18n/dist/vue-i18n.mjs +2501 -0
- package/lib/dom2/vue-i18n/dist/vue-i18n.runtime.esm-bundler.js +1 -0
- package/lib/dom2/vue-i18n/dist/vue-i18n.runtime.mjs +2501 -0
- package/lib/dom2/vue-i18n/package.json +12 -0
- package/package.json +5 -5
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 kazuya kawaguchi
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
7
|
+
the Software without restriction, including without limitation the rights to
|
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* shared v11.4.6
|
|
3
|
+
* (c) 2026 kazuya kawaguchi
|
|
4
|
+
* Released under the MIT License.
|
|
5
|
+
*/
|
|
6
|
+
function warn(msg, err) {
|
|
7
|
+
if (typeof console !== 'undefined') {
|
|
8
|
+
console.warn(`[intlify] ` + msg);
|
|
9
|
+
/* istanbul ignore if */
|
|
10
|
+
if (err) {
|
|
11
|
+
console.warn(err.stack);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const hasWarned = {};
|
|
16
|
+
function warnOnce(msg) {
|
|
17
|
+
if (!hasWarned[msg]) {
|
|
18
|
+
hasWarned[msg] = true;
|
|
19
|
+
warn(msg);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Original Utilities
|
|
25
|
+
* written by kazuya kawaguchi
|
|
26
|
+
*/
|
|
27
|
+
const inBrowser = typeof window !== 'undefined';
|
|
28
|
+
let mark;
|
|
29
|
+
let measure;
|
|
30
|
+
if ((process.env.NODE_ENV !== 'production')) {
|
|
31
|
+
const perf = inBrowser && window.performance;
|
|
32
|
+
if (perf &&
|
|
33
|
+
perf.mark &&
|
|
34
|
+
perf.measure &&
|
|
35
|
+
perf.clearMarks &&
|
|
36
|
+
// @ts-ignore browser compat
|
|
37
|
+
perf.clearMeasures) {
|
|
38
|
+
mark = (tag) => {
|
|
39
|
+
perf.mark(tag);
|
|
40
|
+
};
|
|
41
|
+
measure = (name, startTag, endTag) => {
|
|
42
|
+
perf.measure(name, startTag, endTag);
|
|
43
|
+
perf.clearMarks(startTag);
|
|
44
|
+
perf.clearMarks(endTag);
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const RE_ARGS = /\{([0-9a-zA-Z]+)\}/g;
|
|
49
|
+
/* eslint-disable */
|
|
50
|
+
function format(message, ...args) {
|
|
51
|
+
if (args.length === 1 && isObject(args[0])) {
|
|
52
|
+
args = args[0];
|
|
53
|
+
}
|
|
54
|
+
if (!args || !args.hasOwnProperty) {
|
|
55
|
+
args = {};
|
|
56
|
+
}
|
|
57
|
+
return message.replace(RE_ARGS, (match, identifier) => {
|
|
58
|
+
return args.hasOwnProperty(identifier) ? args[identifier] : '';
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);
|
|
62
|
+
const generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });
|
|
63
|
+
const friendlyJSONstringify = (json) => JSON.stringify(json)
|
|
64
|
+
.replace(/\u2028/g, '\\u2028')
|
|
65
|
+
.replace(/\u2029/g, '\\u2029')
|
|
66
|
+
.replace(/\u0027/g, '\\u0027');
|
|
67
|
+
const isNumber = (val) => typeof val === 'number' && isFinite(val);
|
|
68
|
+
const isDate = (val) => toTypeString(val) === '[object Date]';
|
|
69
|
+
const isRegExp = (val) => toTypeString(val) === '[object RegExp]';
|
|
70
|
+
const isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;
|
|
71
|
+
const assign = Object.assign;
|
|
72
|
+
const _create = Object.create;
|
|
73
|
+
const create = (obj = null) => _create(obj);
|
|
74
|
+
let _globalThis;
|
|
75
|
+
const getGlobalThis = () => {
|
|
76
|
+
// prettier-ignore
|
|
77
|
+
return (_globalThis ||
|
|
78
|
+
(_globalThis =
|
|
79
|
+
typeof globalThis !== 'undefined'
|
|
80
|
+
? globalThis
|
|
81
|
+
: typeof self !== 'undefined'
|
|
82
|
+
? self
|
|
83
|
+
: typeof window !== 'undefined'
|
|
84
|
+
? window
|
|
85
|
+
: typeof global !== 'undefined'
|
|
86
|
+
? global
|
|
87
|
+
: create()));
|
|
88
|
+
};
|
|
89
|
+
function escapeHtml(rawText) {
|
|
90
|
+
return rawText
|
|
91
|
+
.replace(/&/g, '&') // escape `&` first to avoid double escaping
|
|
92
|
+
.replace(/</g, '<')
|
|
93
|
+
.replace(/>/g, '>')
|
|
94
|
+
.replace(/"/g, '"')
|
|
95
|
+
.replace(/'/g, ''')
|
|
96
|
+
.replace(/\//g, '/') // escape `/` to prevent closing tags or JavaScript URLs
|
|
97
|
+
.replace(/=/g, '='); // escape `=` to prevent attribute injection
|
|
98
|
+
}
|
|
99
|
+
function escapeAttributeValue(value) {
|
|
100
|
+
return value
|
|
101
|
+
.replace(/&(?![a-zA-Z0-9#]{2,6};)/g, '&') // escape unescaped `&`
|
|
102
|
+
.replace(/"/g, '"')
|
|
103
|
+
.replace(/'/g, ''')
|
|
104
|
+
.replace(/</g, '<')
|
|
105
|
+
.replace(/>/g, '>');
|
|
106
|
+
}
|
|
107
|
+
const javascriptSchemePattern = /^\s*javascript\s*(?::|�*58;?|�*3a;?|:?)/i;
|
|
108
|
+
const urlAttributePattern = /^(?:href|src|action|formaction)$/i;
|
|
109
|
+
function hasJavascriptScheme(value) {
|
|
110
|
+
return javascriptSchemePattern.test(value);
|
|
111
|
+
}
|
|
112
|
+
function sanitizeStyleValue(value) {
|
|
113
|
+
const urlPattern = /url\s*\(/gi;
|
|
114
|
+
let sanitized = '';
|
|
115
|
+
let cursor = 0;
|
|
116
|
+
let match;
|
|
117
|
+
while ((match = urlPattern.exec(value)) !== null) {
|
|
118
|
+
const urlStart = match.index;
|
|
119
|
+
const openParenIndex = urlPattern.lastIndex - 1;
|
|
120
|
+
let index = openParenIndex + 1;
|
|
121
|
+
let depth = 1;
|
|
122
|
+
let quote = null;
|
|
123
|
+
for (; index < value.length; index++) {
|
|
124
|
+
const char = value[index];
|
|
125
|
+
if (quote) {
|
|
126
|
+
if (char === quote) {
|
|
127
|
+
quote = null;
|
|
128
|
+
}
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (char === '"' || char === "'") {
|
|
132
|
+
quote = char;
|
|
133
|
+
}
|
|
134
|
+
else if (char === '(') {
|
|
135
|
+
depth++;
|
|
136
|
+
}
|
|
137
|
+
else if (char === ')') {
|
|
138
|
+
depth--;
|
|
139
|
+
if (depth === 0) {
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (depth !== 0) {
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
const rawUrlValue = value.slice(openParenIndex + 1, index).trim();
|
|
148
|
+
const unquotedUrlValue = (rawUrlValue.startsWith('"') && rawUrlValue.endsWith('"')) ||
|
|
149
|
+
(rawUrlValue.startsWith("'") && rawUrlValue.endsWith("'"))
|
|
150
|
+
? rawUrlValue.slice(1, -1).trim()
|
|
151
|
+
: rawUrlValue;
|
|
152
|
+
sanitized += value.slice(cursor, urlStart);
|
|
153
|
+
sanitized += hasJavascriptScheme(unquotedUrlValue)
|
|
154
|
+
? 'url(about:blank)'
|
|
155
|
+
: value.slice(urlStart, index + 1);
|
|
156
|
+
cursor = index + 1;
|
|
157
|
+
}
|
|
158
|
+
return sanitized + value.slice(cursor);
|
|
159
|
+
}
|
|
160
|
+
function sanitizeAttributeValue(attrName, value) {
|
|
161
|
+
if (urlAttributePattern.test(attrName) && hasJavascriptScheme(value)) {
|
|
162
|
+
return 'about:blank';
|
|
163
|
+
}
|
|
164
|
+
const sanitizedValue = attrName.toLowerCase() === 'style' ? sanitizeStyleValue(value) : value;
|
|
165
|
+
return escapeAttributeValue(sanitizedValue);
|
|
166
|
+
}
|
|
167
|
+
function sanitizeTranslatedHtml(html) {
|
|
168
|
+
// Escape dangerous characters in attribute values
|
|
169
|
+
// Process attributes with double quotes
|
|
170
|
+
html = html.replace(/([\w:-]+)\s*=\s*"([^"]*)"/g, (_, attrName, attrValue) => `${attrName}="${sanitizeAttributeValue(attrName, attrValue)}"`);
|
|
171
|
+
// Process attributes with single quotes
|
|
172
|
+
html = html.replace(/([\w:-]+)\s*=\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${sanitizeAttributeValue(attrName, attrValue)}'`);
|
|
173
|
+
// Detect and neutralize event handler attributes
|
|
174
|
+
const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi;
|
|
175
|
+
if (eventHandlerPattern.test(html)) {
|
|
176
|
+
if ((process.env.NODE_ENV !== 'production')) {
|
|
177
|
+
warn('Potentially dangerous event handlers detected in translation. ' +
|
|
178
|
+
'Consider removing onclick, onerror, etc. from your translation messages.');
|
|
179
|
+
}
|
|
180
|
+
// Neutralize event handler attributes by escaping 'on'
|
|
181
|
+
html = html.replace(/(\s+)(on)(\w+\s*=)/gi, '$1on$3');
|
|
182
|
+
}
|
|
183
|
+
// Disable javascript: URLs in unquoted attributes
|
|
184
|
+
html = html.replace(/(\s+(?:href|src|action|formaction)\s*=\s*)([^\s"'=<>`]+)/gi, (match, prefix, attrValue) => hasJavascriptScheme(attrValue) ? `${prefix}about:blank` : match);
|
|
185
|
+
return html;
|
|
186
|
+
}
|
|
187
|
+
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
188
|
+
function hasOwn(obj, key) {
|
|
189
|
+
return hasOwnProperty.call(obj, key);
|
|
190
|
+
}
|
|
191
|
+
/* eslint-enable */
|
|
192
|
+
/**
|
|
193
|
+
* Useful Utilities By Evan you
|
|
194
|
+
* Modified by kazuya kawaguchi
|
|
195
|
+
* MIT License
|
|
196
|
+
* https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts
|
|
197
|
+
* https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts
|
|
198
|
+
*/
|
|
199
|
+
const isArray = Array.isArray;
|
|
200
|
+
const isFunction = (val) => typeof val === 'function';
|
|
201
|
+
const isString = (val) => typeof val === 'string';
|
|
202
|
+
const isBoolean = (val) => typeof val === 'boolean';
|
|
203
|
+
const isSymbol = (val) => typeof val === 'symbol';
|
|
204
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
205
|
+
const isObject = (val) => val !== null && typeof val === 'object';
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
|
+
const isPromise = (val) => {
|
|
208
|
+
return isObject(val) && isFunction(val.then) && isFunction(val.catch);
|
|
209
|
+
};
|
|
210
|
+
const objectToString = Object.prototype.toString;
|
|
211
|
+
const toTypeString = (value) => objectToString.call(value);
|
|
212
|
+
const isPlainObject = (val) => toTypeString(val) === '[object Object]';
|
|
213
|
+
// for converting list and named values to displayed strings.
|
|
214
|
+
const toDisplayString = (val) => {
|
|
215
|
+
return val == null
|
|
216
|
+
? ''
|
|
217
|
+
: isArray(val) || (isPlainObject(val) && val.toString === objectToString)
|
|
218
|
+
? JSON.stringify(val, null, 2)
|
|
219
|
+
: String(val);
|
|
220
|
+
};
|
|
221
|
+
function join(items, separator = '') {
|
|
222
|
+
return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');
|
|
223
|
+
}
|
|
224
|
+
const RANGE = 2;
|
|
225
|
+
function generateCodeFrame(source, start = 0, end = source.length) {
|
|
226
|
+
const lines = source.split(/\r?\n/);
|
|
227
|
+
let count = 0;
|
|
228
|
+
const res = [];
|
|
229
|
+
for (let i = 0; i < lines.length; i++) {
|
|
230
|
+
count += lines[i].length + 1;
|
|
231
|
+
if (count >= start) {
|
|
232
|
+
for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {
|
|
233
|
+
if (j < 0 || j >= lines.length)
|
|
234
|
+
continue;
|
|
235
|
+
const line = j + 1;
|
|
236
|
+
res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);
|
|
237
|
+
const lineLength = lines[j].length;
|
|
238
|
+
if (j === i) {
|
|
239
|
+
// push underline
|
|
240
|
+
const pad = start - (count - lineLength) + 1;
|
|
241
|
+
const length = Math.max(1, end > count ? lineLength - pad : end - start);
|
|
242
|
+
res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));
|
|
243
|
+
}
|
|
244
|
+
else if (j > i) {
|
|
245
|
+
if (end > count) {
|
|
246
|
+
const length = Math.max(Math.min(end - count, lineLength), 1);
|
|
247
|
+
res.push(` | ` + '^'.repeat(length));
|
|
248
|
+
}
|
|
249
|
+
count += lineLength + 1;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return res.join('\n');
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Event emitter, forked from the below:
|
|
260
|
+
* - original repository url: https://github.com/developit/mitt
|
|
261
|
+
* - code url: https://github.com/developit/mitt/blob/master/src/index.ts
|
|
262
|
+
* - author: Jason Miller (https://github.com/developit)
|
|
263
|
+
* - license: MIT
|
|
264
|
+
*/
|
|
265
|
+
/**
|
|
266
|
+
* Create a event emitter
|
|
267
|
+
*
|
|
268
|
+
* @returns An event emitter
|
|
269
|
+
*/
|
|
270
|
+
function createEmitter() {
|
|
271
|
+
const events = new Map();
|
|
272
|
+
const emitter = {
|
|
273
|
+
events,
|
|
274
|
+
on(event, handler) {
|
|
275
|
+
const handlers = events.get(event);
|
|
276
|
+
const added = handlers && handlers.push(handler);
|
|
277
|
+
if (!added) {
|
|
278
|
+
events.set(event, [handler]);
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
off(event, handler) {
|
|
282
|
+
const handlers = events.get(event);
|
|
283
|
+
if (handlers) {
|
|
284
|
+
handlers.splice(handlers.indexOf(handler) >>> 0, 1);
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
emit(event, payload) {
|
|
288
|
+
(events.get(event) || [])
|
|
289
|
+
.slice()
|
|
290
|
+
.map(handler => handler(payload));
|
|
291
|
+
(events.get('*') || [])
|
|
292
|
+
.slice()
|
|
293
|
+
.map(handler => handler(event, payload));
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
return emitter;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
const isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);
|
|
300
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
301
|
+
function deepCopy(src, des) {
|
|
302
|
+
// src and des should both be objects, and none of them can be a array
|
|
303
|
+
if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {
|
|
304
|
+
throw new Error('Invalid value');
|
|
305
|
+
}
|
|
306
|
+
const stack = [{ src, des }];
|
|
307
|
+
while (stack.length) {
|
|
308
|
+
const { src, des } = stack.pop();
|
|
309
|
+
// using `Object.keys` which skips prototype properties
|
|
310
|
+
Object.keys(src).forEach(key => {
|
|
311
|
+
if (key === '__proto__') {
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
// if src[key] is an object/array, set des[key]
|
|
315
|
+
// to empty object/array to prevent setting by reference
|
|
316
|
+
if (isObject(src[key]) && !isObject(des[key])) {
|
|
317
|
+
des[key] = Array.isArray(src[key]) ? [] : create();
|
|
318
|
+
}
|
|
319
|
+
if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {
|
|
320
|
+
// replace with src[key] when:
|
|
321
|
+
// src[key] or des[key] is not an object, or
|
|
322
|
+
// src[key] or des[key] is an array
|
|
323
|
+
des[key] = src[key];
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
// src[key] and des[key] are both objects, merge them
|
|
327
|
+
stack.push({ src: src[key], des: des[key] });
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, sanitizeTranslatedHtml, toDisplayString, toTypeString, warn, warnOnce };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 webfansplz
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// uni-app x 暂不支持 @vue/devtools-api,保留新旧版本的运行时导出以兼容依赖加载
|
|
2
|
+
export function addCustomCommand() {}
|
|
3
|
+
|
|
4
|
+
export function addCustomTab() {}
|
|
5
|
+
|
|
6
|
+
export function onDevToolsClientConnected() {
|
|
7
|
+
return Promise.resolve()
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function onDevToolsConnected() {
|
|
11
|
+
return Promise.resolve()
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function removeCustomCommand() {}
|
|
15
|
+
|
|
16
|
+
export function setupDevToolsPlugin() {}
|
|
17
|
+
|
|
18
|
+
export const setupDevtoolsPlugin = setupDevToolsPlugin
|
|
19
|
+
|
|
20
|
+
export function isPerformanceSupported() {
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function now() {
|
|
25
|
+
return Date.now()
|
|
26
|
+
}
|