vue 2.7.0 → 2.7.3
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/vue.common.dev.js +88 -75
- package/dist/vue.common.prod.js +3 -3
- package/dist/vue.esm.browser.js +88 -76
- package/dist/vue.esm.browser.min.js +3 -3
- package/dist/vue.esm.js +89 -76
- package/dist/vue.js +89 -75
- package/dist/vue.min.js +3 -3
- package/dist/vue.runtime.common.dev.js +88 -75
- package/dist/vue.runtime.common.prod.js +3 -3
- package/dist/vue.runtime.esm.js +89 -76
- package/dist/vue.runtime.js +89 -75
- package/dist/vue.runtime.min.js +3 -3
- package/dist/vue.runtime.mjs +89 -76
- package/package.json +2 -2
- package/packages/compiler-sfc/dist/compiler-sfc.js +70 -67
- package/packages/compiler-sfc/package.json +1 -1
- package/packages/compiler-sfc/src/compileScript.ts +12 -15
- package/packages/compiler-sfc/src/parseComponent.ts +6 -1
- package/packages/compiler-sfc/src/templateCompilerModules/srcset.ts +1 -1
- package/packages/compiler-sfc/test/compileScript.spec.ts +12 -0
- package/src/core/observer/index.ts +55 -56
- package/src/core/util/next-tick.ts +2 -1
- package/src/core/vdom/modules/directives.ts +2 -2
- package/src/shared/constants.ts +3 -1
- package/src/shared/util.ts +1 -1
- package/src/v3/apiSetup.ts +4 -21
- package/src/v3/apiWatch.ts +2 -2
- package/src/v3/index.ts +1 -0
- package/src/v3/reactivity/reactive.ts +13 -2
- package/src/v3/reactivity/ref.ts +40 -2
- package/types/common.d.ts +6 -0
- package/types/index.d.ts +7 -4
- package/types/jsx.d.ts +16 -2
- package/types/options.d.ts +7 -1
- package/types/v3-component-options.d.ts +162 -33
- package/types/v3-component-props.d.ts +19 -20
- package/types/v3-component-public-instance.d.ts +230 -0
- package/types/v3-define-component.d.ts +70 -12
- package/types/v3-generated.d.ts +5 -1
- package/types/v3-setup-context.d.ts +0 -6
- package/types/vnode.d.ts +15 -0
- package/types/v3-component-proxy.d.ts +0 -189
package/dist/vue.runtime.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vue.js v2.7.
|
|
2
|
+
* Vue.js v2.7.3
|
|
3
3
|
* (c) 2014-2022 Evan You
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -306,7 +306,7 @@ function hasChanged(x, y) {
|
|
|
306
306
|
return x === 0 && 1 / x !== 1 / y;
|
|
307
307
|
}
|
|
308
308
|
else {
|
|
309
|
-
return x === x
|
|
309
|
+
return x === x || y === y;
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
|
|
@@ -324,7 +324,9 @@ var LIFECYCLE_HOOKS = [
|
|
|
324
324
|
'activated',
|
|
325
325
|
'deactivated',
|
|
326
326
|
'errorCaptured',
|
|
327
|
-
'serverPrefetch'
|
|
327
|
+
'serverPrefetch',
|
|
328
|
+
'renderTracked',
|
|
329
|
+
'renderTriggered'
|
|
328
330
|
];
|
|
329
331
|
|
|
330
332
|
var config = {
|
|
@@ -879,7 +881,7 @@ function makeReactive(target, shallow) {
|
|
|
879
881
|
warn("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
|
|
880
882
|
}
|
|
881
883
|
}
|
|
882
|
-
var ob = observe(target, shallow);
|
|
884
|
+
var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
|
|
883
885
|
if (process.env.NODE_ENV !== 'production' && !ob) {
|
|
884
886
|
if (target == null || isPrimitive(target)) {
|
|
885
887
|
warn("value cannot be made reactive: ".concat(String(target)));
|
|
@@ -941,7 +943,7 @@ function createRef(rawValue, shallow) {
|
|
|
941
943
|
var ref = {};
|
|
942
944
|
def(ref, RefFlag, true);
|
|
943
945
|
def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
|
|
944
|
-
ref
|
|
946
|
+
def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
|
|
945
947
|
return ref;
|
|
946
948
|
}
|
|
947
949
|
function triggerRef(ref) {
|
|
@@ -963,6 +965,33 @@ function triggerRef(ref) {
|
|
|
963
965
|
function unref(ref) {
|
|
964
966
|
return isRef(ref) ? ref.value : ref;
|
|
965
967
|
}
|
|
968
|
+
function proxyRefs(objectWithRefs) {
|
|
969
|
+
if (isReactive(objectWithRefs)) {
|
|
970
|
+
return objectWithRefs;
|
|
971
|
+
}
|
|
972
|
+
var proxy = {};
|
|
973
|
+
var keys = Object.keys(objectWithRefs);
|
|
974
|
+
for (var i = 0; i < keys.length; i++) {
|
|
975
|
+
proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);
|
|
976
|
+
}
|
|
977
|
+
return proxy;
|
|
978
|
+
}
|
|
979
|
+
function proxyWithRefUnwrap(target, source, key) {
|
|
980
|
+
Object.defineProperty(target, key, {
|
|
981
|
+
enumerable: true,
|
|
982
|
+
configurable: true,
|
|
983
|
+
get: function () { return unref(source[key]); },
|
|
984
|
+
set: function (value) {
|
|
985
|
+
var oldValue = source[key];
|
|
986
|
+
if (isRef(oldValue) && !isRef(value)) {
|
|
987
|
+
oldValue.value = value;
|
|
988
|
+
}
|
|
989
|
+
else {
|
|
990
|
+
source[key] = value;
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
});
|
|
994
|
+
}
|
|
966
995
|
function customRef(factory) {
|
|
967
996
|
var dep = new Dep();
|
|
968
997
|
var _a = factory(function () {
|
|
@@ -2380,7 +2409,9 @@ function initSetup(vm) {
|
|
|
2380
2409
|
// exposed for compiled render fn
|
|
2381
2410
|
var proxy = (vm._setupProxy = {});
|
|
2382
2411
|
for (var key in setupResult) {
|
|
2383
|
-
|
|
2412
|
+
if (key !== '__sfc') {
|
|
2413
|
+
proxyWithRefUnwrap(proxy, setupResult, key);
|
|
2414
|
+
}
|
|
2384
2415
|
}
|
|
2385
2416
|
}
|
|
2386
2417
|
}
|
|
@@ -2389,20 +2420,6 @@ function initSetup(vm) {
|
|
|
2389
2420
|
}
|
|
2390
2421
|
}
|
|
2391
2422
|
}
|
|
2392
|
-
function proxyWithRefUnwrap(target, source, key) {
|
|
2393
|
-
Object.defineProperty(target, key, {
|
|
2394
|
-
enumerable: true,
|
|
2395
|
-
configurable: true,
|
|
2396
|
-
get: function () {
|
|
2397
|
-
var raw = source[key];
|
|
2398
|
-
return isRef(raw) ? raw.value : raw;
|
|
2399
|
-
},
|
|
2400
|
-
set: function (newVal) {
|
|
2401
|
-
var raw = source[key];
|
|
2402
|
-
isRef(raw) ? (raw.value = newVal) : (source[key] = newVal);
|
|
2403
|
-
}
|
|
2404
|
-
});
|
|
2405
|
-
}
|
|
2406
2423
|
function createSetupContext(vm) {
|
|
2407
2424
|
var exposeCalled = false;
|
|
2408
2425
|
return {
|
|
@@ -4198,7 +4215,7 @@ var onServerPrefetch = createLifeCycle('serverPrefetch');
|
|
|
4198
4215
|
var onRenderTracked = createLifeCycle('renderTracked');
|
|
4199
4216
|
var onRenderTriggered = createLifeCycle('renderTriggered');
|
|
4200
4217
|
|
|
4201
|
-
var version = '2.7.
|
|
4218
|
+
var version = '2.7.3';
|
|
4202
4219
|
/**
|
|
4203
4220
|
* @internal type is manually declared in <root>/types/v3-define-component.d.ts
|
|
4204
4221
|
*/
|
|
@@ -4216,6 +4233,13 @@ var shouldObserve = true;
|
|
|
4216
4233
|
function toggleObserving(value) {
|
|
4217
4234
|
shouldObserve = value;
|
|
4218
4235
|
}
|
|
4236
|
+
// ssr mock dep
|
|
4237
|
+
var mockDep = {
|
|
4238
|
+
notify: noop,
|
|
4239
|
+
depend: noop,
|
|
4240
|
+
addSub: noop,
|
|
4241
|
+
removeSub: noop
|
|
4242
|
+
};
|
|
4219
4243
|
/**
|
|
4220
4244
|
* Observer class that is attached to each observed
|
|
4221
4245
|
* object. Once attached, the observer converts the target
|
|
@@ -4223,78 +4247,63 @@ function toggleObserving(value) {
|
|
|
4223
4247
|
* collect dependencies and dispatch updates.
|
|
4224
4248
|
*/
|
|
4225
4249
|
var Observer = /** @class */ (function () {
|
|
4226
|
-
function Observer(value, shallow) {
|
|
4250
|
+
function Observer(value, shallow, mock) {
|
|
4227
4251
|
if (shallow === void 0) { shallow = false; }
|
|
4252
|
+
if (mock === void 0) { mock = false; }
|
|
4228
4253
|
this.value = value;
|
|
4229
4254
|
this.shallow = shallow;
|
|
4255
|
+
this.mock = mock;
|
|
4230
4256
|
// this.value = value
|
|
4231
|
-
this.dep = new Dep();
|
|
4257
|
+
this.dep = mock ? mockDep : new Dep();
|
|
4232
4258
|
this.vmCount = 0;
|
|
4233
4259
|
def(value, '__ob__', this);
|
|
4234
4260
|
if (isArray(value)) {
|
|
4235
|
-
if (
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
|
|
4239
|
-
|
|
4261
|
+
if (!mock) {
|
|
4262
|
+
if (hasProto) {
|
|
4263
|
+
value.__proto__ = arrayMethods;
|
|
4264
|
+
/* eslint-enable no-proto */
|
|
4265
|
+
}
|
|
4266
|
+
else {
|
|
4267
|
+
for (var i = 0, l = arrayKeys.length; i < l; i++) {
|
|
4268
|
+
var key = arrayKeys[i];
|
|
4269
|
+
def(value, key, arrayMethods[key]);
|
|
4270
|
+
}
|
|
4271
|
+
}
|
|
4240
4272
|
}
|
|
4241
4273
|
if (!shallow) {
|
|
4242
4274
|
this.observeArray(value);
|
|
4243
4275
|
}
|
|
4244
4276
|
}
|
|
4245
4277
|
else {
|
|
4246
|
-
|
|
4278
|
+
/**
|
|
4279
|
+
* Walk through all properties and convert them into
|
|
4280
|
+
* getter/setters. This method should only be called when
|
|
4281
|
+
* value type is Object.
|
|
4282
|
+
*/
|
|
4283
|
+
var keys = Object.keys(value);
|
|
4284
|
+
for (var i = 0; i < keys.length; i++) {
|
|
4285
|
+
var key = keys[i];
|
|
4286
|
+
defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
|
|
4287
|
+
}
|
|
4247
4288
|
}
|
|
4248
4289
|
}
|
|
4249
|
-
/**
|
|
4250
|
-
* Walk through all properties and convert them into
|
|
4251
|
-
* getter/setters. This method should only be called when
|
|
4252
|
-
* value type is Object.
|
|
4253
|
-
*/
|
|
4254
|
-
Observer.prototype.walk = function (obj, shallow) {
|
|
4255
|
-
var keys = Object.keys(obj);
|
|
4256
|
-
for (var i = 0; i < keys.length; i++) {
|
|
4257
|
-
var key = keys[i];
|
|
4258
|
-
defineReactive(obj, key, NO_INIITIAL_VALUE, undefined, shallow);
|
|
4259
|
-
}
|
|
4260
|
-
};
|
|
4261
4290
|
/**
|
|
4262
4291
|
* Observe a list of Array items.
|
|
4263
4292
|
*/
|
|
4264
|
-
Observer.prototype.observeArray = function (
|
|
4265
|
-
for (var i = 0, l =
|
|
4266
|
-
observe(
|
|
4293
|
+
Observer.prototype.observeArray = function (value) {
|
|
4294
|
+
for (var i = 0, l = value.length; i < l; i++) {
|
|
4295
|
+
observe(value[i], false, this.mock);
|
|
4267
4296
|
}
|
|
4268
4297
|
};
|
|
4269
4298
|
return Observer;
|
|
4270
4299
|
}());
|
|
4271
4300
|
// helpers
|
|
4272
|
-
/**
|
|
4273
|
-
* Augment a target Object or Array by intercepting
|
|
4274
|
-
* the prototype chain using __proto__
|
|
4275
|
-
*/
|
|
4276
|
-
function protoAugment(target, src) {
|
|
4277
|
-
/* eslint-disable no-proto */
|
|
4278
|
-
target.__proto__ = src;
|
|
4279
|
-
/* eslint-enable no-proto */
|
|
4280
|
-
}
|
|
4281
|
-
/**
|
|
4282
|
-
* Augment a target Object or Array by defining
|
|
4283
|
-
* hidden properties.
|
|
4284
|
-
*/
|
|
4285
|
-
/* istanbul ignore next */
|
|
4286
|
-
function copyAugment(target, src, keys) {
|
|
4287
|
-
for (var i = 0, l = keys.length; i < l; i++) {
|
|
4288
|
-
var key = keys[i];
|
|
4289
|
-
def(target, key, src[key]);
|
|
4290
|
-
}
|
|
4291
|
-
}
|
|
4292
4301
|
/**
|
|
4293
4302
|
* Attempt to create an observer instance for a value,
|
|
4294
4303
|
* returns the new observer if successfully observed,
|
|
4295
4304
|
* or the existing observer if the value already has one.
|
|
4296
4305
|
*/
|
|
4297
|
-
function observe(value, shallow) {
|
|
4306
|
+
function observe(value, shallow, ssrMockReactivity) {
|
|
4298
4307
|
if (!isObject(value) || isRef(value) || value instanceof VNode) {
|
|
4299
4308
|
return;
|
|
4300
4309
|
}
|
|
@@ -4303,18 +4312,18 @@ function observe(value, shallow) {
|
|
|
4303
4312
|
ob = value.__ob__;
|
|
4304
4313
|
}
|
|
4305
4314
|
else if (shouldObserve &&
|
|
4306
|
-
!isServerRendering() &&
|
|
4315
|
+
(ssrMockReactivity || !isServerRendering()) &&
|
|
4307
4316
|
(isArray(value) || isPlainObject(value)) &&
|
|
4308
4317
|
Object.isExtensible(value) &&
|
|
4309
|
-
!value.__v_skip) {
|
|
4310
|
-
ob = new Observer(value, shallow);
|
|
4318
|
+
!value.__v_skip /* ReactiveFlags.SKIP */) {
|
|
4319
|
+
ob = new Observer(value, shallow, ssrMockReactivity);
|
|
4311
4320
|
}
|
|
4312
4321
|
return ob;
|
|
4313
4322
|
}
|
|
4314
4323
|
/**
|
|
4315
4324
|
* Define a reactive property on an Object.
|
|
4316
4325
|
*/
|
|
4317
|
-
function defineReactive(obj, key, val, customSetter, shallow) {
|
|
4326
|
+
function defineReactive(obj, key, val, customSetter, shallow, mock) {
|
|
4318
4327
|
var dep = new Dep();
|
|
4319
4328
|
var property = Object.getOwnPropertyDescriptor(obj, key);
|
|
4320
4329
|
if (property && property.configurable === false) {
|
|
@@ -4327,7 +4336,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
|
|
|
4327
4336
|
(val === NO_INIITIAL_VALUE || arguments.length === 2)) {
|
|
4328
4337
|
val = obj[key];
|
|
4329
4338
|
}
|
|
4330
|
-
var childOb = !shallow && observe(val);
|
|
4339
|
+
var childOb = !shallow && observe(val, false, mock);
|
|
4331
4340
|
Object.defineProperty(obj, key, {
|
|
4332
4341
|
enumerable: true,
|
|
4333
4342
|
configurable: true,
|
|
@@ -4351,7 +4360,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
|
|
|
4351
4360
|
}
|
|
4352
4361
|
}
|
|
4353
4362
|
}
|
|
4354
|
-
return isRef(value) ? value.value : value;
|
|
4363
|
+
return isRef(value) && !shallow ? value.value : value;
|
|
4355
4364
|
},
|
|
4356
4365
|
set: function reactiveSetter(newVal) {
|
|
4357
4366
|
var value = getter ? getter.call(obj) : val;
|
|
@@ -4375,7 +4384,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
|
|
|
4375
4384
|
else {
|
|
4376
4385
|
val = newVal;
|
|
4377
4386
|
}
|
|
4378
|
-
childOb = !shallow && observe(newVal);
|
|
4387
|
+
childOb = !shallow && observe(newVal, false, mock);
|
|
4379
4388
|
if (process.env.NODE_ENV !== 'production') {
|
|
4380
4389
|
dep.notify({
|
|
4381
4390
|
type: "set" /* TriggerOpTypes.SET */,
|
|
@@ -4400,16 +4409,20 @@ function set(target, key, val) {
|
|
|
4400
4409
|
process.env.NODE_ENV !== 'production' && warn("Set operation on key \"".concat(key, "\" failed: target is readonly."));
|
|
4401
4410
|
return;
|
|
4402
4411
|
}
|
|
4412
|
+
var ob = target.__ob__;
|
|
4403
4413
|
if (isArray(target) && isValidArrayIndex(key)) {
|
|
4404
4414
|
target.length = Math.max(target.length, key);
|
|
4405
4415
|
target.splice(key, 1, val);
|
|
4416
|
+
// when mocking for SSR, array methods are not hijacked
|
|
4417
|
+
if (!ob.shallow && ob.mock) {
|
|
4418
|
+
observe(val, false, true);
|
|
4419
|
+
}
|
|
4406
4420
|
return val;
|
|
4407
4421
|
}
|
|
4408
4422
|
if (key in target && !(key in Object.prototype)) {
|
|
4409
4423
|
target[key] = val;
|
|
4410
4424
|
return val;
|
|
4411
4425
|
}
|
|
4412
|
-
var ob = target.__ob__;
|
|
4413
4426
|
if (target._isVue || (ob && ob.vmCount)) {
|
|
4414
4427
|
process.env.NODE_ENV !== 'production' &&
|
|
4415
4428
|
warn('Avoid adding reactive properties to a Vue instance or its root $data ' +
|
|
@@ -4420,7 +4433,7 @@ function set(target, key, val) {
|
|
|
4420
4433
|
target[key] = val;
|
|
4421
4434
|
return val;
|
|
4422
4435
|
}
|
|
4423
|
-
defineReactive(ob.value, key, val);
|
|
4436
|
+
defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
|
|
4424
4437
|
if (process.env.NODE_ENV !== 'production') {
|
|
4425
4438
|
ob.dep.notify({
|
|
4426
4439
|
type: "add" /* TriggerOpTypes.ADD */,
|
|
@@ -7042,7 +7055,7 @@ function normalizeDirectives(dirs, vm) {
|
|
|
7042
7055
|
}
|
|
7043
7056
|
res[getRawDirName(dir)] = dir;
|
|
7044
7057
|
if (vm._setupState && vm._setupState.__sfc) {
|
|
7045
|
-
dir.def = resolveAsset(vm, '_setupState', 'v-' + dir.name);
|
|
7058
|
+
dir.def = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name);
|
|
7046
7059
|
}
|
|
7047
7060
|
dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true);
|
|
7048
7061
|
}
|
|
@@ -8589,4 +8602,4 @@ if (inBrowser) {
|
|
|
8589
8602
|
}, 0);
|
|
8590
8603
|
}
|
|
8591
8604
|
|
|
8592
|
-
export { EffectScope, computed, customRef, Vue as default, defineComponent, del, effectScope, getCurrentInstance, getCurrentScope, h, inject, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, mergeDefaults, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, provide, reactive, readonly, ref$1 as ref, set, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSlots, version, watch, watchEffect, watchPostEffect, watchSyncEffect };
|
|
8605
|
+
export { EffectScope, computed, customRef, Vue as default, defineComponent, del, effectScope, getCurrentInstance, getCurrentScope, h, inject, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, mergeDefaults, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, provide, proxyRefs, reactive, readonly, ref$1 as ref, set, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSlots, version, watch, watchEffect, watchPostEffect, watchSyncEffect };
|
package/dist/vue.runtime.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vue.js v2.7.
|
|
2
|
+
* Vue.js v2.7.3
|
|
3
3
|
* (c) 2014-2022 Evan You
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -312,7 +312,7 @@
|
|
|
312
312
|
return x === 0 && 1 / x !== 1 / y;
|
|
313
313
|
}
|
|
314
314
|
else {
|
|
315
|
-
return x === x
|
|
315
|
+
return x === x || y === y;
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
|
|
@@ -330,7 +330,9 @@
|
|
|
330
330
|
'activated',
|
|
331
331
|
'deactivated',
|
|
332
332
|
'errorCaptured',
|
|
333
|
-
'serverPrefetch'
|
|
333
|
+
'serverPrefetch',
|
|
334
|
+
'renderTracked',
|
|
335
|
+
'renderTriggered'
|
|
334
336
|
];
|
|
335
337
|
|
|
336
338
|
var config = {
|
|
@@ -882,7 +884,7 @@
|
|
|
882
884
|
warn("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
|
|
883
885
|
}
|
|
884
886
|
}
|
|
885
|
-
var ob = observe(target, shallow);
|
|
887
|
+
var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
|
|
886
888
|
if (!ob) {
|
|
887
889
|
if (target == null || isPrimitive(target)) {
|
|
888
890
|
warn("value cannot be made reactive: ".concat(String(target)));
|
|
@@ -944,7 +946,7 @@
|
|
|
944
946
|
var ref = {};
|
|
945
947
|
def(ref, RefFlag, true);
|
|
946
948
|
def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
|
|
947
|
-
ref
|
|
949
|
+
def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
|
|
948
950
|
return ref;
|
|
949
951
|
}
|
|
950
952
|
function triggerRef(ref) {
|
|
@@ -963,6 +965,33 @@
|
|
|
963
965
|
function unref(ref) {
|
|
964
966
|
return isRef(ref) ? ref.value : ref;
|
|
965
967
|
}
|
|
968
|
+
function proxyRefs(objectWithRefs) {
|
|
969
|
+
if (isReactive(objectWithRefs)) {
|
|
970
|
+
return objectWithRefs;
|
|
971
|
+
}
|
|
972
|
+
var proxy = {};
|
|
973
|
+
var keys = Object.keys(objectWithRefs);
|
|
974
|
+
for (var i = 0; i < keys.length; i++) {
|
|
975
|
+
proxyWithRefUnwrap(proxy, objectWithRefs, keys[i]);
|
|
976
|
+
}
|
|
977
|
+
return proxy;
|
|
978
|
+
}
|
|
979
|
+
function proxyWithRefUnwrap(target, source, key) {
|
|
980
|
+
Object.defineProperty(target, key, {
|
|
981
|
+
enumerable: true,
|
|
982
|
+
configurable: true,
|
|
983
|
+
get: function () { return unref(source[key]); },
|
|
984
|
+
set: function (value) {
|
|
985
|
+
var oldValue = source[key];
|
|
986
|
+
if (isRef(oldValue) && !isRef(value)) {
|
|
987
|
+
oldValue.value = value;
|
|
988
|
+
}
|
|
989
|
+
else {
|
|
990
|
+
source[key] = value;
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
});
|
|
994
|
+
}
|
|
966
995
|
function customRef(factory) {
|
|
967
996
|
var dep = new Dep();
|
|
968
997
|
var _a = factory(function () {
|
|
@@ -2366,7 +2395,9 @@
|
|
|
2366
2395
|
// exposed for compiled render fn
|
|
2367
2396
|
var proxy = (vm._setupProxy = {});
|
|
2368
2397
|
for (var key in setupResult) {
|
|
2369
|
-
|
|
2398
|
+
if (key !== '__sfc') {
|
|
2399
|
+
proxyWithRefUnwrap(proxy, setupResult, key);
|
|
2400
|
+
}
|
|
2370
2401
|
}
|
|
2371
2402
|
}
|
|
2372
2403
|
}
|
|
@@ -2375,20 +2406,6 @@
|
|
|
2375
2406
|
}
|
|
2376
2407
|
}
|
|
2377
2408
|
}
|
|
2378
|
-
function proxyWithRefUnwrap(target, source, key) {
|
|
2379
|
-
Object.defineProperty(target, key, {
|
|
2380
|
-
enumerable: true,
|
|
2381
|
-
configurable: true,
|
|
2382
|
-
get: function () {
|
|
2383
|
-
var raw = source[key];
|
|
2384
|
-
return isRef(raw) ? raw.value : raw;
|
|
2385
|
-
},
|
|
2386
|
-
set: function (newVal) {
|
|
2387
|
-
var raw = source[key];
|
|
2388
|
-
isRef(raw) ? (raw.value = newVal) : (source[key] = newVal);
|
|
2389
|
-
}
|
|
2390
|
-
});
|
|
2391
|
-
}
|
|
2392
2409
|
function createSetupContext(vm) {
|
|
2393
2410
|
var exposeCalled = false;
|
|
2394
2411
|
return {
|
|
@@ -4164,7 +4181,7 @@
|
|
|
4164
4181
|
var onRenderTracked = createLifeCycle('renderTracked');
|
|
4165
4182
|
var onRenderTriggered = createLifeCycle('renderTriggered');
|
|
4166
4183
|
|
|
4167
|
-
var version = '2.7.
|
|
4184
|
+
var version = '2.7.3';
|
|
4168
4185
|
/**
|
|
4169
4186
|
* @internal type is manually declared in <root>/types/v3-define-component.d.ts
|
|
4170
4187
|
*/
|
|
@@ -4182,6 +4199,7 @@
|
|
|
4182
4199
|
toRef: toRef,
|
|
4183
4200
|
toRefs: toRefs,
|
|
4184
4201
|
unref: unref,
|
|
4202
|
+
proxyRefs: proxyRefs,
|
|
4185
4203
|
customRef: customRef,
|
|
4186
4204
|
triggerRef: triggerRef,
|
|
4187
4205
|
reactive: reactive,
|
|
@@ -4239,6 +4257,13 @@
|
|
|
4239
4257
|
function toggleObserving(value) {
|
|
4240
4258
|
shouldObserve = value;
|
|
4241
4259
|
}
|
|
4260
|
+
// ssr mock dep
|
|
4261
|
+
var mockDep = {
|
|
4262
|
+
notify: noop,
|
|
4263
|
+
depend: noop,
|
|
4264
|
+
addSub: noop,
|
|
4265
|
+
removeSub: noop
|
|
4266
|
+
};
|
|
4242
4267
|
/**
|
|
4243
4268
|
* Observer class that is attached to each observed
|
|
4244
4269
|
* object. Once attached, the observer converts the target
|
|
@@ -4246,78 +4271,63 @@
|
|
|
4246
4271
|
* collect dependencies and dispatch updates.
|
|
4247
4272
|
*/
|
|
4248
4273
|
var Observer = /** @class */ (function () {
|
|
4249
|
-
function Observer(value, shallow) {
|
|
4274
|
+
function Observer(value, shallow, mock) {
|
|
4250
4275
|
if (shallow === void 0) { shallow = false; }
|
|
4276
|
+
if (mock === void 0) { mock = false; }
|
|
4251
4277
|
this.value = value;
|
|
4252
4278
|
this.shallow = shallow;
|
|
4279
|
+
this.mock = mock;
|
|
4253
4280
|
// this.value = value
|
|
4254
|
-
this.dep = new Dep();
|
|
4281
|
+
this.dep = mock ? mockDep : new Dep();
|
|
4255
4282
|
this.vmCount = 0;
|
|
4256
4283
|
def(value, '__ob__', this);
|
|
4257
4284
|
if (isArray(value)) {
|
|
4258
|
-
if (
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4262
|
-
|
|
4285
|
+
if (!mock) {
|
|
4286
|
+
if (hasProto) {
|
|
4287
|
+
value.__proto__ = arrayMethods;
|
|
4288
|
+
/* eslint-enable no-proto */
|
|
4289
|
+
}
|
|
4290
|
+
else {
|
|
4291
|
+
for (var i = 0, l = arrayKeys.length; i < l; i++) {
|
|
4292
|
+
var key = arrayKeys[i];
|
|
4293
|
+
def(value, key, arrayMethods[key]);
|
|
4294
|
+
}
|
|
4295
|
+
}
|
|
4263
4296
|
}
|
|
4264
4297
|
if (!shallow) {
|
|
4265
4298
|
this.observeArray(value);
|
|
4266
4299
|
}
|
|
4267
4300
|
}
|
|
4268
4301
|
else {
|
|
4269
|
-
|
|
4302
|
+
/**
|
|
4303
|
+
* Walk through all properties and convert them into
|
|
4304
|
+
* getter/setters. This method should only be called when
|
|
4305
|
+
* value type is Object.
|
|
4306
|
+
*/
|
|
4307
|
+
var keys = Object.keys(value);
|
|
4308
|
+
for (var i = 0; i < keys.length; i++) {
|
|
4309
|
+
var key = keys[i];
|
|
4310
|
+
defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
|
|
4311
|
+
}
|
|
4270
4312
|
}
|
|
4271
4313
|
}
|
|
4272
|
-
/**
|
|
4273
|
-
* Walk through all properties and convert them into
|
|
4274
|
-
* getter/setters. This method should only be called when
|
|
4275
|
-
* value type is Object.
|
|
4276
|
-
*/
|
|
4277
|
-
Observer.prototype.walk = function (obj, shallow) {
|
|
4278
|
-
var keys = Object.keys(obj);
|
|
4279
|
-
for (var i = 0; i < keys.length; i++) {
|
|
4280
|
-
var key = keys[i];
|
|
4281
|
-
defineReactive(obj, key, NO_INIITIAL_VALUE, undefined, shallow);
|
|
4282
|
-
}
|
|
4283
|
-
};
|
|
4284
4314
|
/**
|
|
4285
4315
|
* Observe a list of Array items.
|
|
4286
4316
|
*/
|
|
4287
|
-
Observer.prototype.observeArray = function (
|
|
4288
|
-
for (var i = 0, l =
|
|
4289
|
-
observe(
|
|
4317
|
+
Observer.prototype.observeArray = function (value) {
|
|
4318
|
+
for (var i = 0, l = value.length; i < l; i++) {
|
|
4319
|
+
observe(value[i], false, this.mock);
|
|
4290
4320
|
}
|
|
4291
4321
|
};
|
|
4292
4322
|
return Observer;
|
|
4293
4323
|
}());
|
|
4294
4324
|
// helpers
|
|
4295
|
-
/**
|
|
4296
|
-
* Augment a target Object or Array by intercepting
|
|
4297
|
-
* the prototype chain using __proto__
|
|
4298
|
-
*/
|
|
4299
|
-
function protoAugment(target, src) {
|
|
4300
|
-
/* eslint-disable no-proto */
|
|
4301
|
-
target.__proto__ = src;
|
|
4302
|
-
/* eslint-enable no-proto */
|
|
4303
|
-
}
|
|
4304
|
-
/**
|
|
4305
|
-
* Augment a target Object or Array by defining
|
|
4306
|
-
* hidden properties.
|
|
4307
|
-
*/
|
|
4308
|
-
/* istanbul ignore next */
|
|
4309
|
-
function copyAugment(target, src, keys) {
|
|
4310
|
-
for (var i = 0, l = keys.length; i < l; i++) {
|
|
4311
|
-
var key = keys[i];
|
|
4312
|
-
def(target, key, src[key]);
|
|
4313
|
-
}
|
|
4314
|
-
}
|
|
4315
4325
|
/**
|
|
4316
4326
|
* Attempt to create an observer instance for a value,
|
|
4317
4327
|
* returns the new observer if successfully observed,
|
|
4318
4328
|
* or the existing observer if the value already has one.
|
|
4319
4329
|
*/
|
|
4320
|
-
function observe(value, shallow) {
|
|
4330
|
+
function observe(value, shallow, ssrMockReactivity) {
|
|
4321
4331
|
if (!isObject(value) || isRef(value) || value instanceof VNode) {
|
|
4322
4332
|
return;
|
|
4323
4333
|
}
|
|
@@ -4326,18 +4336,18 @@
|
|
|
4326
4336
|
ob = value.__ob__;
|
|
4327
4337
|
}
|
|
4328
4338
|
else if (shouldObserve &&
|
|
4329
|
-
!isServerRendering() &&
|
|
4339
|
+
(ssrMockReactivity || !isServerRendering()) &&
|
|
4330
4340
|
(isArray(value) || isPlainObject(value)) &&
|
|
4331
4341
|
Object.isExtensible(value) &&
|
|
4332
|
-
!value.__v_skip) {
|
|
4333
|
-
ob = new Observer(value, shallow);
|
|
4342
|
+
!value.__v_skip /* ReactiveFlags.SKIP */) {
|
|
4343
|
+
ob = new Observer(value, shallow, ssrMockReactivity);
|
|
4334
4344
|
}
|
|
4335
4345
|
return ob;
|
|
4336
4346
|
}
|
|
4337
4347
|
/**
|
|
4338
4348
|
* Define a reactive property on an Object.
|
|
4339
4349
|
*/
|
|
4340
|
-
function defineReactive(obj, key, val, customSetter, shallow) {
|
|
4350
|
+
function defineReactive(obj, key, val, customSetter, shallow, mock) {
|
|
4341
4351
|
var dep = new Dep();
|
|
4342
4352
|
var property = Object.getOwnPropertyDescriptor(obj, key);
|
|
4343
4353
|
if (property && property.configurable === false) {
|
|
@@ -4350,7 +4360,7 @@
|
|
|
4350
4360
|
(val === NO_INIITIAL_VALUE || arguments.length === 2)) {
|
|
4351
4361
|
val = obj[key];
|
|
4352
4362
|
}
|
|
4353
|
-
var childOb = !shallow && observe(val);
|
|
4363
|
+
var childOb = !shallow && observe(val, false, mock);
|
|
4354
4364
|
Object.defineProperty(obj, key, {
|
|
4355
4365
|
enumerable: true,
|
|
4356
4366
|
configurable: true,
|
|
@@ -4371,7 +4381,7 @@
|
|
|
4371
4381
|
}
|
|
4372
4382
|
}
|
|
4373
4383
|
}
|
|
4374
|
-
return isRef(value) ? value.value : value;
|
|
4384
|
+
return isRef(value) && !shallow ? value.value : value;
|
|
4375
4385
|
},
|
|
4376
4386
|
set: function reactiveSetter(newVal) {
|
|
4377
4387
|
var value = getter ? getter.call(obj) : val;
|
|
@@ -4395,7 +4405,7 @@
|
|
|
4395
4405
|
else {
|
|
4396
4406
|
val = newVal;
|
|
4397
4407
|
}
|
|
4398
|
-
childOb = !shallow && observe(newVal);
|
|
4408
|
+
childOb = !shallow && observe(newVal, false, mock);
|
|
4399
4409
|
{
|
|
4400
4410
|
dep.notify({
|
|
4401
4411
|
type: "set" /* TriggerOpTypes.SET */,
|
|
@@ -4417,16 +4427,20 @@
|
|
|
4417
4427
|
warn("Set operation on key \"".concat(key, "\" failed: target is readonly."));
|
|
4418
4428
|
return;
|
|
4419
4429
|
}
|
|
4430
|
+
var ob = target.__ob__;
|
|
4420
4431
|
if (isArray(target) && isValidArrayIndex(key)) {
|
|
4421
4432
|
target.length = Math.max(target.length, key);
|
|
4422
4433
|
target.splice(key, 1, val);
|
|
4434
|
+
// when mocking for SSR, array methods are not hijacked
|
|
4435
|
+
if (!ob.shallow && ob.mock) {
|
|
4436
|
+
observe(val, false, true);
|
|
4437
|
+
}
|
|
4423
4438
|
return val;
|
|
4424
4439
|
}
|
|
4425
4440
|
if (key in target && !(key in Object.prototype)) {
|
|
4426
4441
|
target[key] = val;
|
|
4427
4442
|
return val;
|
|
4428
4443
|
}
|
|
4429
|
-
var ob = target.__ob__;
|
|
4430
4444
|
if (target._isVue || (ob && ob.vmCount)) {
|
|
4431
4445
|
warn('Avoid adding reactive properties to a Vue instance or its root $data ' +
|
|
4432
4446
|
'at runtime - declare it upfront in the data option.');
|
|
@@ -4436,7 +4450,7 @@
|
|
|
4436
4450
|
target[key] = val;
|
|
4437
4451
|
return val;
|
|
4438
4452
|
}
|
|
4439
|
-
defineReactive(ob.value, key, val);
|
|
4453
|
+
defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
|
|
4440
4454
|
{
|
|
4441
4455
|
ob.dep.notify({
|
|
4442
4456
|
type: "add" /* TriggerOpTypes.ADD */,
|
|
@@ -7039,7 +7053,7 @@
|
|
|
7039
7053
|
}
|
|
7040
7054
|
res[getRawDirName(dir)] = dir;
|
|
7041
7055
|
if (vm._setupState && vm._setupState.__sfc) {
|
|
7042
|
-
dir.def = resolveAsset(vm, '_setupState', 'v-' + dir.name);
|
|
7056
|
+
dir.def = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name);
|
|
7043
7057
|
}
|
|
7044
7058
|
dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true);
|
|
7045
7059
|
}
|