@vue/reactivity 3.2.31 → 3.2.34-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,8 +11,17 @@ function warn(msg, ...args) {
11
11
  let activeEffectScope;
12
12
  class EffectScope {
13
13
  constructor(detached = false) {
14
+ /**
15
+ * @internal
16
+ */
14
17
  this.active = true;
18
+ /**
19
+ * @internal
20
+ */
15
21
  this.effects = [];
22
+ /**
23
+ * @internal
24
+ */
16
25
  this.cleanups = [];
17
26
  if (!detached && activeEffectScope) {
18
27
  this.parent = activeEffectScope;
@@ -22,21 +31,30 @@ class EffectScope {
22
31
  }
23
32
  run(fn) {
24
33
  if (this.active) {
34
+ const currentEffectScope = activeEffectScope;
25
35
  try {
26
36
  activeEffectScope = this;
27
37
  return fn();
28
38
  }
29
39
  finally {
30
- activeEffectScope = this.parent;
40
+ activeEffectScope = currentEffectScope;
31
41
  }
32
42
  }
33
43
  else {
34
44
  warn(`cannot run an inactive effect scope.`);
35
45
  }
36
46
  }
47
+ /**
48
+ * This should only be called on non-detached scopes
49
+ * @internal
50
+ */
37
51
  on() {
38
52
  activeEffectScope = this;
39
53
  }
54
+ /**
55
+ * This should only be called on non-detached scopes
56
+ * @internal
57
+ */
40
58
  off() {
41
59
  activeEffectScope = this.parent;
42
60
  }
@@ -178,10 +196,17 @@ class ReactiveEffect {
178
196
  activeEffect = this.parent;
179
197
  shouldTrack = lastShouldTrack;
180
198
  this.parent = undefined;
199
+ if (this.deferStop) {
200
+ this.stop();
201
+ }
181
202
  }
182
203
  }
183
204
  stop() {
184
- if (this.active) {
205
+ // stopped while running itself - defer the cleanup
206
+ if (activeEffect === this) {
207
+ this.deferStop = true;
208
+ }
209
+ else if (this.active) {
185
210
  cleanupEffect(this);
186
211
  if (this.onStop) {
187
212
  this.onStop();
@@ -264,9 +289,10 @@ function trackEffects(dep, debuggerEventExtraInfo) {
264
289
  dep.add(activeEffect);
265
290
  activeEffect.deps.push(dep);
266
291
  if (activeEffect.onTrack) {
267
- activeEffect.onTrack(Object.assign({
268
- effect: activeEffect
269
- }, debuggerEventExtraInfo));
292
+ activeEffect.onTrack({
293
+ effect: activeEffect,
294
+ ...debuggerEventExtraInfo
295
+ });
270
296
  }
271
297
  }
272
298
  }
@@ -346,23 +372,40 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
346
372
  }
347
373
  function triggerEffects(dep, debuggerEventExtraInfo) {
348
374
  // spread into array for stabilization
349
- for (const effect of shared.isArray(dep) ? dep : [...dep]) {
350
- if (effect !== activeEffect || effect.allowRecurse) {
351
- if (effect.onTrigger) {
352
- effect.onTrigger(shared.extend({ effect }, debuggerEventExtraInfo));
353
- }
354
- if (effect.scheduler) {
355
- effect.scheduler();
356
- }
357
- else {
358
- effect.run();
359
- }
375
+ const effects = shared.isArray(dep) ? dep : [...dep];
376
+ for (const effect of effects) {
377
+ if (effect.computed) {
378
+ triggerEffect(effect, debuggerEventExtraInfo);
379
+ }
380
+ }
381
+ for (const effect of effects) {
382
+ if (!effect.computed) {
383
+ triggerEffect(effect, debuggerEventExtraInfo);
384
+ }
385
+ }
386
+ }
387
+ function triggerEffect(effect, debuggerEventExtraInfo) {
388
+ if (effect !== activeEffect || effect.allowRecurse) {
389
+ if (effect.onTrigger) {
390
+ effect.onTrigger(shared.extend({ effect }, debuggerEventExtraInfo));
391
+ }
392
+ if (effect.scheduler) {
393
+ effect.scheduler();
394
+ }
395
+ else {
396
+ effect.run();
360
397
  }
361
398
  }
362
399
  }
363
400
 
364
401
  const isNonTrackableKeys = /*#__PURE__*/ shared.makeMap(`__proto__,__v_isRef,__isVue`);
365
- const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)
402
+ const builtInSymbols = new Set(
403
+ /*#__PURE__*/
404
+ Object.getOwnPropertyNames(Symbol)
405
+ // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'
406
+ // but accessing them on Symbol leads to TypeError because Symbol is a strict mode
407
+ // function
408
+ .filter(key => key !== 'arguments' && key !== 'caller')
366
409
  .map(key => Symbol[key])
367
410
  .filter(shared.isSymbol));
368
411
  const get = /*#__PURE__*/ createGetter();
@@ -436,9 +479,8 @@ function createGetter(isReadonly = false, shallow = false) {
436
479
  return res;
437
480
  }
438
481
  if (isRef(res)) {
439
- // ref unwrapping - does not apply for Array + integer key.
440
- const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key);
441
- return shouldUnwrap ? res.value : res;
482
+ // ref unwrapping - skip unwrap for Array + integer key.
483
+ return targetIsArray && shared.isIntegerKey(key) ? res : res.value;
442
484
  }
443
485
  if (shared.isObject(res)) {
444
486
  // Convert returned value into a proxy as well. we do the isObject check
@@ -514,13 +556,13 @@ const readonlyHandlers = {
514
556
  get: readonlyGet,
515
557
  set(target, key) {
516
558
  {
517
- console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
559
+ warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
518
560
  }
519
561
  return true;
520
562
  },
521
563
  deleteProperty(target, key) {
522
564
  {
523
- console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
565
+ warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
524
566
  }
525
567
  return true;
526
568
  }
@@ -544,10 +586,12 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
544
586
  target = target["__v_raw" /* RAW */];
545
587
  const rawTarget = toRaw(target);
546
588
  const rawKey = toRaw(key);
547
- if (key !== rawKey) {
548
- !isReadonly && track(rawTarget, "get" /* GET */, key);
589
+ if (!isReadonly) {
590
+ if (key !== rawKey) {
591
+ track(rawTarget, "get" /* GET */, key);
592
+ }
593
+ track(rawTarget, "get" /* GET */, rawKey);
549
594
  }
550
- !isReadonly && track(rawTarget, "get" /* GET */, rawKey);
551
595
  const { has } = getProto(rawTarget);
552
596
  const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
553
597
  if (has.call(rawTarget, key)) {
@@ -566,10 +610,12 @@ function has$1(key, isReadonly = false) {
566
610
  const target = this["__v_raw" /* RAW */];
567
611
  const rawTarget = toRaw(target);
568
612
  const rawKey = toRaw(key);
569
- if (key !== rawKey) {
570
- !isReadonly && track(rawTarget, "has" /* HAS */, key);
613
+ if (!isReadonly) {
614
+ if (key !== rawKey) {
615
+ track(rawTarget, "has" /* HAS */, key);
616
+ }
617
+ track(rawTarget, "has" /* HAS */, rawKey);
571
618
  }
572
- !isReadonly && track(rawTarget, "has" /* HAS */, rawKey);
573
619
  return key === rawKey
574
620
  ? target.has(key)
575
621
  : target.has(key) || target.has(rawKey);
@@ -895,7 +941,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
895
941
  if (existingProxy) {
896
942
  return existingProxy;
897
943
  }
898
- // only a whitelist of value types can be observed.
944
+ // only specific value types can be observed.
899
945
  const targetType = getTargetType(target);
900
946
  if (targetType === 0 /* INVALID */) {
901
947
  return target;
@@ -1119,7 +1165,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
1119
1165
  }
1120
1166
 
1121
1167
  var _a;
1122
- const tick = Promise.resolve();
1168
+ const tick = /*#__PURE__*/ Promise.resolve();
1123
1169
  const queue = [];
1124
1170
  let queued = false;
1125
1171
  const scheduler = (fn) => {
@@ -7,8 +7,17 @@ var shared = require('@vue/shared');
7
7
  let activeEffectScope;
8
8
  class EffectScope {
9
9
  constructor(detached = false) {
10
+ /**
11
+ * @internal
12
+ */
10
13
  this.active = true;
14
+ /**
15
+ * @internal
16
+ */
11
17
  this.effects = [];
18
+ /**
19
+ * @internal
20
+ */
12
21
  this.cleanups = [];
13
22
  if (!detached && activeEffectScope) {
14
23
  this.parent = activeEffectScope;
@@ -18,18 +27,27 @@ class EffectScope {
18
27
  }
19
28
  run(fn) {
20
29
  if (this.active) {
30
+ const currentEffectScope = activeEffectScope;
21
31
  try {
22
32
  activeEffectScope = this;
23
33
  return fn();
24
34
  }
25
35
  finally {
26
- activeEffectScope = this.parent;
36
+ activeEffectScope = currentEffectScope;
27
37
  }
28
38
  }
29
39
  }
40
+ /**
41
+ * This should only be called on non-detached scopes
42
+ * @internal
43
+ */
30
44
  on() {
31
45
  activeEffectScope = this;
32
46
  }
47
+ /**
48
+ * This should only be called on non-detached scopes
49
+ * @internal
50
+ */
33
51
  off() {
34
52
  activeEffectScope = this.parent;
35
53
  }
@@ -167,10 +185,17 @@ class ReactiveEffect {
167
185
  activeEffect = this.parent;
168
186
  shouldTrack = lastShouldTrack;
169
187
  this.parent = undefined;
188
+ if (this.deferStop) {
189
+ this.stop();
190
+ }
170
191
  }
171
192
  }
172
193
  stop() {
173
- if (this.active) {
194
+ // stopped while running itself - defer the cleanup
195
+ if (activeEffect === this) {
196
+ this.deferStop = true;
197
+ }
198
+ else if (this.active) {
174
199
  cleanupEffect(this);
175
200
  if (this.onStop) {
176
201
  this.onStop();
@@ -326,20 +351,37 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
326
351
  }
327
352
  function triggerEffects(dep, debuggerEventExtraInfo) {
328
353
  // spread into array for stabilization
329
- for (const effect of shared.isArray(dep) ? dep : [...dep]) {
330
- if (effect !== activeEffect || effect.allowRecurse) {
331
- if (effect.scheduler) {
332
- effect.scheduler();
333
- }
334
- else {
335
- effect.run();
336
- }
354
+ const effects = shared.isArray(dep) ? dep : [...dep];
355
+ for (const effect of effects) {
356
+ if (effect.computed) {
357
+ triggerEffect(effect);
358
+ }
359
+ }
360
+ for (const effect of effects) {
361
+ if (!effect.computed) {
362
+ triggerEffect(effect);
363
+ }
364
+ }
365
+ }
366
+ function triggerEffect(effect, debuggerEventExtraInfo) {
367
+ if (effect !== activeEffect || effect.allowRecurse) {
368
+ if (effect.scheduler) {
369
+ effect.scheduler();
370
+ }
371
+ else {
372
+ effect.run();
337
373
  }
338
374
  }
339
375
  }
340
376
 
341
377
  const isNonTrackableKeys = /*#__PURE__*/ shared.makeMap(`__proto__,__v_isRef,__isVue`);
342
- const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)
378
+ const builtInSymbols = new Set(
379
+ /*#__PURE__*/
380
+ Object.getOwnPropertyNames(Symbol)
381
+ // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'
382
+ // but accessing them on Symbol leads to TypeError because Symbol is a strict mode
383
+ // function
384
+ .filter(key => key !== 'arguments' && key !== 'caller')
343
385
  .map(key => Symbol[key])
344
386
  .filter(shared.isSymbol));
345
387
  const get = /*#__PURE__*/ createGetter();
@@ -413,9 +455,8 @@ function createGetter(isReadonly = false, shallow = false) {
413
455
  return res;
414
456
  }
415
457
  if (isRef(res)) {
416
- // ref unwrapping - does not apply for Array + integer key.
417
- const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key);
418
- return shouldUnwrap ? res.value : res;
458
+ // ref unwrapping - skip unwrap for Array + integer key.
459
+ return targetIsArray && shared.isIntegerKey(key) ? res : res.value;
419
460
  }
420
461
  if (shared.isObject(res)) {
421
462
  // Convert returned value into a proxy as well. we do the isObject check
@@ -515,10 +556,12 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
515
556
  target = target["__v_raw" /* RAW */];
516
557
  const rawTarget = toRaw(target);
517
558
  const rawKey = toRaw(key);
518
- if (key !== rawKey) {
519
- !isReadonly && track(rawTarget, "get" /* GET */, key);
559
+ if (!isReadonly) {
560
+ if (key !== rawKey) {
561
+ track(rawTarget, "get" /* GET */, key);
562
+ }
563
+ track(rawTarget, "get" /* GET */, rawKey);
520
564
  }
521
- !isReadonly && track(rawTarget, "get" /* GET */, rawKey);
522
565
  const { has } = getProto(rawTarget);
523
566
  const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
524
567
  if (has.call(rawTarget, key)) {
@@ -537,10 +580,12 @@ function has$1(key, isReadonly = false) {
537
580
  const target = this["__v_raw" /* RAW */];
538
581
  const rawTarget = toRaw(target);
539
582
  const rawKey = toRaw(key);
540
- if (key !== rawKey) {
541
- !isReadonly && track(rawTarget, "has" /* HAS */, key);
583
+ if (!isReadonly) {
584
+ if (key !== rawKey) {
585
+ track(rawTarget, "has" /* HAS */, key);
586
+ }
587
+ track(rawTarget, "has" /* HAS */, rawKey);
542
588
  }
543
- !isReadonly && track(rawTarget, "has" /* HAS */, rawKey);
544
589
  return key === rawKey
545
590
  ? target.has(key)
546
591
  : target.has(key) || target.has(rawKey);
@@ -838,7 +883,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
838
883
  if (existingProxy) {
839
884
  return existingProxy;
840
885
  }
841
- // only a whitelist of value types can be observed.
886
+ // only specific value types can be observed.
842
887
  const targetType = getTargetType(target);
843
888
  if (targetType === 0 /* INVALID */) {
844
889
  return target;
@@ -1043,7 +1088,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
1043
1088
  }
1044
1089
 
1045
1090
  var _a;
1046
- const tick = Promise.resolve();
1091
+ const tick = /*#__PURE__*/ Promise.resolve();
1047
1092
  const queue = [];
1048
1093
  let queued = false;
1049
1094
  const scheduler = (fn) => {
@@ -73,20 +73,16 @@ export declare function effect<T = any>(fn: () => T, options?: ReactiveEffectOpt
73
73
  export declare type EffectScheduler = (...args: any[]) => any;
74
74
 
75
75
  export declare class EffectScope {
76
- active: boolean;
77
- effects: ReactiveEffect[];
78
- cleanups: (() => void)[];
79
- parent: EffectScope | undefined;
80
- scopes: EffectScope[] | undefined;
81
- /**
82
- * track a child scope's index in its parent's scopes array for optimized
83
- * removal
84
- */
85
- private index;
76
+ /* Excluded from this release type: active */
77
+ /* Excluded from this release type: effects */
78
+ /* Excluded from this release type: cleanups */
79
+ /* Excluded from this release type: parent */
80
+ /* Excluded from this release type: scopes */
81
+ /* Excluded from this release type: index */
86
82
  constructor(detached?: boolean);
87
83
  run<T>(fn: () => T): T | undefined;
88
- on(): void;
89
- off(): void;
84
+ /* Excluded from this release type: on */
85
+ /* Excluded from this release type: off */
90
86
  stop(fromParent?: boolean): void;
91
87
  }
92
88
 
@@ -110,7 +106,9 @@ declare type IterableCollections = Map<any, any> | Set<any>;
110
106
 
111
107
  export declare const ITERATE_KEY: unique symbol;
112
108
 
113
- export declare function markRaw<T extends object>(value: T): T;
109
+ export declare function markRaw<T extends object>(value: T): T & {
110
+ [RawSymbol]?: true;
111
+ };
114
112
 
115
113
  export declare function onScopeDispose(fn: () => void): void;
116
114
 
@@ -120,6 +118,8 @@ declare type Primitive = string | number | boolean | bigint | symbol | undefined
120
118
 
121
119
  export declare function proxyRefs<T extends object>(objectWithRefs: T): ShallowUnwrapRef<T>;
122
120
 
121
+ declare const RawSymbol: unique symbol;
122
+
123
123
  /**
124
124
  * Creates a reactive copy of the original object.
125
125
  *
@@ -152,6 +152,7 @@ export declare class ReactiveEffect<T = any> {
152
152
  parent: ReactiveEffect | undefined;
153
153
  /* Excluded from this release type: computed */
154
154
  /* Excluded from this release type: allowRecurse */
155
+ /* Excluded from this release type: deferStop */
155
156
  onStop?: () => void;
156
157
  onTrack?: (event: DebuggerEvent) => void;
157
158
  onTrigger?: (event: DebuggerEvent) => void;
@@ -322,7 +323,9 @@ export declare type UnwrapNestedRefs<T> = T extends Ref ? T : UnwrapRefSimple<T>
322
323
 
323
324
  export declare type UnwrapRef<T> = T extends ShallowRef<infer V> ? V : T extends Ref<infer V> ? UnwrapRefSimple<V> : UnwrapRefSimple<T>;
324
325
 
325
- declare type UnwrapRefSimple<T> = T extends Function | CollectionTypes | BaseTypes | Ref | RefUnwrapBailTypes[keyof RefUnwrapBailTypes] ? T : T extends Array<any> ? {
326
+ declare type UnwrapRefSimple<T> = T extends Function | CollectionTypes | BaseTypes | Ref | RefUnwrapBailTypes[keyof RefUnwrapBailTypes] | {
327
+ [RawSymbol]?: true;
328
+ } ? T : T extends Array<any> ? {
326
329
  [K in keyof T]: UnwrapRefSimple<T[K]>;
327
330
  } : T extends object & {
328
331
  [ShallowReactiveMarker]?: never;
@@ -64,8 +64,17 @@ function warn(msg, ...args) {
64
64
  let activeEffectScope;
65
65
  class EffectScope {
66
66
  constructor(detached = false) {
67
+ /**
68
+ * @internal
69
+ */
67
70
  this.active = true;
71
+ /**
72
+ * @internal
73
+ */
68
74
  this.effects = [];
75
+ /**
76
+ * @internal
77
+ */
69
78
  this.cleanups = [];
70
79
  if (!detached && activeEffectScope) {
71
80
  this.parent = activeEffectScope;
@@ -75,21 +84,30 @@ class EffectScope {
75
84
  }
76
85
  run(fn) {
77
86
  if (this.active) {
87
+ const currentEffectScope = activeEffectScope;
78
88
  try {
79
89
  activeEffectScope = this;
80
90
  return fn();
81
91
  }
82
92
  finally {
83
- activeEffectScope = this.parent;
93
+ activeEffectScope = currentEffectScope;
84
94
  }
85
95
  }
86
96
  else {
87
97
  warn(`cannot run an inactive effect scope.`);
88
98
  }
89
99
  }
100
+ /**
101
+ * This should only be called on non-detached scopes
102
+ * @internal
103
+ */
90
104
  on() {
91
105
  activeEffectScope = this;
92
106
  }
107
+ /**
108
+ * This should only be called on non-detached scopes
109
+ * @internal
110
+ */
93
111
  off() {
94
112
  activeEffectScope = this.parent;
95
113
  }
@@ -231,10 +249,17 @@ class ReactiveEffect {
231
249
  activeEffect = this.parent;
232
250
  shouldTrack = lastShouldTrack;
233
251
  this.parent = undefined;
252
+ if (this.deferStop) {
253
+ this.stop();
254
+ }
234
255
  }
235
256
  }
236
257
  stop() {
237
- if (this.active) {
258
+ // stopped while running itself - defer the cleanup
259
+ if (activeEffect === this) {
260
+ this.deferStop = true;
261
+ }
262
+ else if (this.active) {
238
263
  cleanupEffect(this);
239
264
  if (this.onStop) {
240
265
  this.onStop();
@@ -317,9 +342,7 @@ function trackEffects(dep, debuggerEventExtraInfo) {
317
342
  dep.add(activeEffect);
318
343
  activeEffect.deps.push(dep);
319
344
  if (activeEffect.onTrack) {
320
- activeEffect.onTrack(Object.assign({
321
- effect: activeEffect
322
- }, debuggerEventExtraInfo));
345
+ activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));
323
346
  }
324
347
  }
325
348
  }
@@ -399,23 +422,40 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
399
422
  }
400
423
  function triggerEffects(dep, debuggerEventExtraInfo) {
401
424
  // spread into array for stabilization
402
- for (const effect of isArray(dep) ? dep : [...dep]) {
403
- if (effect !== activeEffect || effect.allowRecurse) {
404
- if (effect.onTrigger) {
405
- effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));
406
- }
407
- if (effect.scheduler) {
408
- effect.scheduler();
409
- }
410
- else {
411
- effect.run();
412
- }
425
+ const effects = isArray(dep) ? dep : [...dep];
426
+ for (const effect of effects) {
427
+ if (effect.computed) {
428
+ triggerEffect(effect, debuggerEventExtraInfo);
429
+ }
430
+ }
431
+ for (const effect of effects) {
432
+ if (!effect.computed) {
433
+ triggerEffect(effect, debuggerEventExtraInfo);
434
+ }
435
+ }
436
+ }
437
+ function triggerEffect(effect, debuggerEventExtraInfo) {
438
+ if (effect !== activeEffect || effect.allowRecurse) {
439
+ if (effect.onTrigger) {
440
+ effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));
441
+ }
442
+ if (effect.scheduler) {
443
+ effect.scheduler();
444
+ }
445
+ else {
446
+ effect.run();
413
447
  }
414
448
  }
415
449
  }
416
450
 
417
451
  const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
418
- const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)
452
+ const builtInSymbols = new Set(
453
+ /*#__PURE__*/
454
+ Object.getOwnPropertyNames(Symbol)
455
+ // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'
456
+ // but accessing them on Symbol leads to TypeError because Symbol is a strict mode
457
+ // function
458
+ .filter(key => key !== 'arguments' && key !== 'caller')
419
459
  .map(key => Symbol[key])
420
460
  .filter(isSymbol));
421
461
  const get = /*#__PURE__*/ createGetter();
@@ -489,9 +529,8 @@ function createGetter(isReadonly = false, shallow = false) {
489
529
  return res;
490
530
  }
491
531
  if (isRef(res)) {
492
- // ref unwrapping - does not apply for Array + integer key.
493
- const shouldUnwrap = !targetIsArray || !isIntegerKey(key);
494
- return shouldUnwrap ? res.value : res;
532
+ // ref unwrapping - skip unwrap for Array + integer key.
533
+ return targetIsArray && isIntegerKey(key) ? res : res.value;
495
534
  }
496
535
  if (isObject(res)) {
497
536
  // Convert returned value into a proxy as well. we do the isObject check
@@ -567,13 +606,13 @@ const readonlyHandlers = {
567
606
  get: readonlyGet,
568
607
  set(target, key) {
569
608
  {
570
- console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
609
+ warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
571
610
  }
572
611
  return true;
573
612
  },
574
613
  deleteProperty(target, key) {
575
614
  {
576
- console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
615
+ warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
577
616
  }
578
617
  return true;
579
618
  }
@@ -597,10 +636,12 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
597
636
  target = target["__v_raw" /* RAW */];
598
637
  const rawTarget = toRaw(target);
599
638
  const rawKey = toRaw(key);
600
- if (key !== rawKey) {
601
- !isReadonly && track(rawTarget, "get" /* GET */, key);
639
+ if (!isReadonly) {
640
+ if (key !== rawKey) {
641
+ track(rawTarget, "get" /* GET */, key);
642
+ }
643
+ track(rawTarget, "get" /* GET */, rawKey);
602
644
  }
603
- !isReadonly && track(rawTarget, "get" /* GET */, rawKey);
604
645
  const { has } = getProto(rawTarget);
605
646
  const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
606
647
  if (has.call(rawTarget, key)) {
@@ -619,10 +660,12 @@ function has$1(key, isReadonly = false) {
619
660
  const target = this["__v_raw" /* RAW */];
620
661
  const rawTarget = toRaw(target);
621
662
  const rawKey = toRaw(key);
622
- if (key !== rawKey) {
623
- !isReadonly && track(rawTarget, "has" /* HAS */, key);
663
+ if (!isReadonly) {
664
+ if (key !== rawKey) {
665
+ track(rawTarget, "has" /* HAS */, key);
666
+ }
667
+ track(rawTarget, "has" /* HAS */, rawKey);
624
668
  }
625
- !isReadonly && track(rawTarget, "has" /* HAS */, rawKey);
626
669
  return key === rawKey
627
670
  ? target.has(key)
628
671
  : target.has(key) || target.has(rawKey);
@@ -948,7 +991,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
948
991
  if (existingProxy) {
949
992
  return existingProxy;
950
993
  }
951
- // only a whitelist of value types can be observed.
994
+ // only specific value types can be observed.
952
995
  const targetType = getTargetType(target);
953
996
  if (targetType === 0 /* INVALID */) {
954
997
  return target;
@@ -1172,7 +1215,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
1172
1215
  }
1173
1216
 
1174
1217
  var _a;
1175
- const tick = Promise.resolve();
1218
+ const tick = /*#__PURE__*/ Promise.resolve();
1176
1219
  const queue = [];
1177
1220
  let queued = false;
1178
1221
  const scheduler = (fn) => {
@@ -1 +1 @@
1
- function t(t,e){const n=Object.create(null),s=t.split(",");for(let i=0;i<s.length;i++)n[s[i]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const e=()=>{},n=Object.assign,s=Object.prototype.hasOwnProperty,i=(t,e)=>s.call(t,e),r=Array.isArray,c=t=>"[object Map]"===l(t),o=t=>"symbol"==typeof t,u=t=>null!==t&&"object"==typeof t,h=Object.prototype.toString,l=t=>h.call(t),a=t=>"string"==typeof t&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,f=(t,e)=>!Object.is(t,e);let _;class p{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&_&&(this.parent=_,this.index=(_.scopes||(_.scopes=[])).push(this)-1)}run(t){if(this.active)try{return _=this,t()}finally{_=this.parent}}on(){_=this}off(){_=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].stop();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(this.parent&&!t){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.active=!1}}}function d(t){return new p(t)}function v(t,e=_){e&&e.active&&e.effects.push(t)}function g(){return _}function y(t){_&&_.cleanups.push(t)}const w=t=>{const e=new Set(t);return e.w=0,e.n=0,e},b=t=>(t.w&k)>0,R=t=>(t.n&k)>0,S=new WeakMap;let m=0,k=1;let j;const O=Symbol(""),x=Symbol("");class E{constructor(t,e=null,n){this.fn=t,this.scheduler=e,this.active=!0,this.deps=[],this.parent=void 0,v(this,n)}run(){if(!this.active)return this.fn();let t=j,e=W;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=j,j=this,W=!0,k=1<<++m,m<=30?(({deps:t})=>{if(t.length)for(let e=0;e<t.length;e++)t[e].w|=k})(this):P(this),this.fn()}finally{m<=30&&(t=>{const{deps:e}=t;if(e.length){let n=0;for(let s=0;s<e.length;s++){const i=e[s];b(i)&&!R(i)?i.delete(t):e[n++]=i,i.w&=~k,i.n&=~k}e.length=n}})(this),k=1<<--m,j=this.parent,W=e,this.parent=void 0}}stop(){this.active&&(P(this),this.onStop&&this.onStop(),this.active=!1)}}function P(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}function M(t,e){t.effect&&(t=t.effect.fn);const s=new E(t);e&&(n(s,e),e.scope&&v(s,e.scope)),e&&e.lazy||s.run();const i=s.run.bind(s);return i.effect=s,i}function z(t){t.effect.stop()}let W=!0;const V=[];function A(){V.push(W),W=!1}function N(){V.push(W),W=!0}function I(){const t=V.pop();W=void 0===t||t}function K(t,e,n){if(W&&j){let e=S.get(t);e||S.set(t,e=new Map);let s=e.get(n);s||e.set(n,s=w()),C(s)}}function C(t,e){let n=!1;m<=30?R(t)||(t.n|=k,n=!b(t)):n=!t.has(j),n&&(t.add(j),j.deps.push(t))}function L(t,e,n,s,i,o){const u=S.get(t);if(!u)return;let h=[];if("clear"===e)h=[...u.values()];else if("length"===n&&r(t))u.forEach(((t,e)=>{("length"===e||e>=s)&&h.push(t)}));else switch(void 0!==n&&h.push(u.get(n)),e){case"add":r(t)?a(n)&&h.push(u.get("length")):(h.push(u.get(O)),c(t)&&h.push(u.get(x)));break;case"delete":r(t)||(h.push(u.get(O)),c(t)&&h.push(u.get(x)));break;case"set":c(t)&&h.push(u.get(O))}if(1===h.length)h[0]&&q(h[0]);else{const t=[];for(const e of h)e&&t.push(...e);q(w(t))}}function q(t,e){for(const n of r(t)?t:[...t])(n!==j||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const B=t("__proto__,__v_isRef,__isVue"),D=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(o)),F=U(),G=U(!1,!0),H=U(!0),J=U(!0,!0),Q=T();function T(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Kt(this);for(let e=0,i=this.length;e<i;e++)K(n,0,e+"");const s=n[e](...t);return-1===s||!1===s?n[e](...t.map(Kt)):s}})),["push","pop","shift","unshift","splice"].forEach((e=>{t[e]=function(...t){A();const n=Kt(this)[e].apply(this,t);return I(),n}})),t}function U(t=!1,e=!1){return function(n,s,c){if("__v_isReactive"===s)return!t;if("__v_isReadonly"===s)return t;if("__v_isShallow"===s)return e;if("__v_raw"===s&&c===(t?e?Ot:jt:e?kt:mt).get(n))return n;const h=r(n);if(!t&&h&&i(Q,s))return Reflect.get(Q,s,c);const l=Reflect.get(n,s,c);if(o(s)?D.has(s):B(s))return l;if(t||K(n,0,s),e)return l;if(Ft(l)){return!h||!a(s)?l.value:l}return u(l)?t?Mt(l):Et(l):l}}function X(t=!1){return function(e,n,s,c){let o=e[n];if(At(o)&&Ft(o)&&!Ft(s))return!1;if(!t&&!At(s)&&(Nt(s)||(s=Kt(s),o=Kt(o)),!r(e)&&Ft(o)&&!Ft(s)))return o.value=s,!0;const u=r(e)&&a(n)?Number(n)<e.length:i(e,n),h=Reflect.set(e,n,s,c);return e===Kt(c)&&(u?f(s,o)&&L(e,"set",n,s):L(e,"add",n,s)),h}}const Y={get:F,set:X(),deleteProperty:function(t,e){const n=i(t,e),s=Reflect.deleteProperty(t,e);return s&&n&&L(t,"delete",e,void 0),s},has:function(t,e){const n=Reflect.has(t,e);return o(e)&&D.has(e)||K(t,0,e),n},ownKeys:function(t){return K(t,0,r(t)?"length":O),Reflect.ownKeys(t)}},Z={get:H,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},$=n({},Y,{get:G,set:X(!0)}),tt=n({},Z,{get:J}),et=t=>t,nt=t=>Reflect.getPrototypeOf(t);function st(t,e,n=!1,s=!1){const i=Kt(t=t.__v_raw),r=Kt(e);e!==r&&!n&&K(i,0,e),!n&&K(i,0,r);const{has:c}=nt(i),o=s?et:n?qt:Lt;return c.call(i,e)?o(t.get(e)):c.call(i,r)?o(t.get(r)):void(t!==i&&t.get(e))}function it(t,e=!1){const n=this.__v_raw,s=Kt(n),i=Kt(t);return t!==i&&!e&&K(s,0,t),!e&&K(s,0,i),t===i?n.has(t):n.has(t)||n.has(i)}function rt(t,e=!1){return t=t.__v_raw,!e&&K(Kt(t),0,O),Reflect.get(t,"size",t)}function ct(t){t=Kt(t);const e=Kt(this);return nt(e).has.call(e,t)||(e.add(t),L(e,"add",t,t)),this}function ot(t,e){e=Kt(e);const n=Kt(this),{has:s,get:i}=nt(n);let r=s.call(n,t);r||(t=Kt(t),r=s.call(n,t));const c=i.call(n,t);return n.set(t,e),r?f(e,c)&&L(n,"set",t,e):L(n,"add",t,e),this}function ut(t){const e=Kt(this),{has:n,get:s}=nt(e);let i=n.call(e,t);i||(t=Kt(t),i=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return i&&L(e,"delete",t,void 0),r}function ht(){const t=Kt(this),e=0!==t.size,n=t.clear();return e&&L(t,"clear",void 0,void 0),n}function lt(t,e){return function(n,s){const i=this,r=i.__v_raw,c=Kt(r),o=e?et:t?qt:Lt;return!t&&K(c,0,O),r.forEach(((t,e)=>n.call(s,o(t),o(e),i)))}}function at(t,e,n){return function(...s){const i=this.__v_raw,r=Kt(i),o=c(r),u="entries"===t||t===Symbol.iterator&&o,h="keys"===t&&o,l=i[t](...s),a=n?et:e?qt:Lt;return!e&&K(r,0,h?x:O),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:u?[a(t[0]),a(t[1])]:a(t),done:e}},[Symbol.iterator](){return this}}}}function ft(t){return function(...e){return"delete"!==t&&this}}function _t(){const t={get(t){return st(this,t)},get size(){return rt(this)},has:it,add:ct,set:ot,delete:ut,clear:ht,forEach:lt(!1,!1)},e={get(t){return st(this,t,!1,!0)},get size(){return rt(this)},has:it,add:ct,set:ot,delete:ut,clear:ht,forEach:lt(!1,!0)},n={get(t){return st(this,t,!0)},get size(){return rt(this,!0)},has(t){return it.call(this,t,!0)},add:ft("add"),set:ft("set"),delete:ft("delete"),clear:ft("clear"),forEach:lt(!0,!1)},s={get(t){return st(this,t,!0,!0)},get size(){return rt(this,!0)},has(t){return it.call(this,t,!0)},add:ft("add"),set:ft("set"),delete:ft("delete"),clear:ft("clear"),forEach:lt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{t[i]=at(i,!1,!1),n[i]=at(i,!0,!1),e[i]=at(i,!1,!0),s[i]=at(i,!0,!0)})),[t,n,e,s]}const[pt,dt,vt,gt]=_t();function yt(t,e){const n=e?t?gt:vt:t?dt:pt;return(e,s,r)=>"__v_isReactive"===s?!t:"__v_isReadonly"===s?t:"__v_raw"===s?e:Reflect.get(i(n,s)&&s in e?n:e,s,r)}const wt={get:yt(!1,!1)},bt={get:yt(!1,!0)},Rt={get:yt(!0,!1)},St={get:yt(!0,!0)},mt=new WeakMap,kt=new WeakMap,jt=new WeakMap,Ot=new WeakMap;function xt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>l(t).slice(8,-1))(t))}function Et(t){return At(t)?t:Wt(t,!1,Y,wt,mt)}function Pt(t){return Wt(t,!1,$,bt,kt)}function Mt(t){return Wt(t,!0,Z,Rt,jt)}function zt(t){return Wt(t,!0,tt,St,Ot)}function Wt(t,e,n,s,i){if(!u(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const c=xt(t);if(0===c)return t;const o=new Proxy(t,2===c?s:n);return i.set(t,o),o}function Vt(t){return At(t)?Vt(t.__v_raw):!(!t||!t.__v_isReactive)}function At(t){return!(!t||!t.__v_isReadonly)}function Nt(t){return!(!t||!t.__v_isShallow)}function It(t){return Vt(t)||At(t)}function Kt(t){const e=t&&t.__v_raw;return e?Kt(e):t}function Ct(t){return((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t}const Lt=t=>u(t)?Et(t):t,qt=t=>u(t)?Mt(t):t;function Bt(t){W&&j&&C((t=Kt(t)).dep||(t.dep=w()))}function Dt(t,e){(t=Kt(t)).dep&&q(t.dep)}function Ft(t){return!(!t||!0!==t.__v_isRef)}function Gt(t){return Jt(t,!1)}function Ht(t){return Jt(t,!0)}function Jt(t,e){return Ft(t)?t:new Qt(t,e)}class Qt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Kt(t),this._value=e?t:Lt(t)}get value(){return Bt(this),this._value}set value(t){t=this.__v_isShallow?t:Kt(t),f(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Lt(t),Dt(this))}}function Tt(t){Dt(t)}function Ut(t){return Ft(t)?t.value:t}const Xt={get:(t,e,n)=>Ut(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const i=t[e];return Ft(i)&&!Ft(n)?(i.value=n,!0):Reflect.set(t,e,n,s)}};function Yt(t){return Vt(t)?t:new Proxy(t,Xt)}class Zt{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:e,set:n}=t((()=>Bt(this)),(()=>Dt(this)));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function $t(t){return new Zt(t)}function te(t){const e=r(t)?new Array(t.length):{};for(const n in t)e[n]=ne(t,n);return e}class ee{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function ne(t,e,n){const s=t[e];return Ft(s)?s:new ee(t,e,n)}class se{constructor(t,e,n,s){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new E(t,(()=>{this._dirty||(this._dirty=!0,Dt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=Kt(this);return Bt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function ie(t,n,s=!1){let i,r;const c="function"==typeof t;c?(i=t,r=e):(i=t.get,r=t.set);return new se(i,r,c||!r,s)}var re;const ce=Promise.resolve(),oe=[];let ue=!1;const he=()=>{for(let t=0;t<oe.length;t++)oe[t]();oe.length=0,ue=!1};class le{constructor(t){let e;this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this[re]=!0;let n=!1,s=!1;this.effect=new E(t,(t=>{if(this.dep){if(t)e=this._value,n=!0;else if(!s){const t=n?e:this._value;s=!0,n=!1,oe.push((()=>{this.effect.active&&this._get()!==t&&Dt(this),s=!1})),ue||(ue=!0,ce.then(he))}for(const t of this.dep)t.computed instanceof le&&t.scheduler(!0)}this._dirty=!0})),this.effect.computed=this}_get(){return this._dirty?(this._dirty=!1,this._value=this.effect.run()):this._value}get value(){return Bt(this),Kt(this)._get()}}function ae(t){return new le(t)}re="__v_isReadonly";export{p as EffectScope,O as ITERATE_KEY,E as ReactiveEffect,ie as computed,$t as customRef,ae as deferredComputed,M as effect,d as effectScope,N as enableTracking,g as getCurrentScope,It as isProxy,Vt as isReactive,At as isReadonly,Ft as isRef,Nt as isShallow,Ct as markRaw,y as onScopeDispose,A as pauseTracking,Yt as proxyRefs,Et as reactive,Mt as readonly,Gt as ref,I as resetTracking,Pt as shallowReactive,zt as shallowReadonly,Ht as shallowRef,z as stop,Kt as toRaw,ne as toRef,te as toRefs,K as track,L as trigger,Tt as triggerRef,Ut as unref};
1
+ function t(t,e){const n=Object.create(null),s=t.split(",");for(let i=0;i<s.length;i++)n[s[i]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const e=()=>{},n=Object.assign,s=Object.prototype.hasOwnProperty,i=(t,e)=>s.call(t,e),r=Array.isArray,c=t=>"[object Map]"===l(t),o=t=>"symbol"==typeof t,u=t=>null!==t&&"object"==typeof t,h=Object.prototype.toString,l=t=>h.call(t),a=t=>"string"==typeof t&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,f=(t,e)=>!Object.is(t,e);let _;class p{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&_&&(this.parent=_,this.index=(_.scopes||(_.scopes=[])).push(this)-1)}run(t){if(this.active){const e=_;try{return _=this,t()}finally{_=e}}}on(){_=this}off(){_=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].stop();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(this.parent&&!t){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.active=!1}}}function d(t){return new p(t)}function v(t,e=_){e&&e.active&&e.effects.push(t)}function g(){return _}function y(t){_&&_.cleanups.push(t)}const w=t=>{const e=new Set(t);return e.w=0,e.n=0,e},b=t=>(t.w&k)>0,R=t=>(t.n&k)>0,S=new WeakMap;let m=0,k=1;let j;const O=Symbol(""),x=Symbol("");class E{constructor(t,e=null,n){this.fn=t,this.scheduler=e,this.active=!0,this.deps=[],this.parent=void 0,v(this,n)}run(){if(!this.active)return this.fn();let t=j,e=W;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=j,j=this,W=!0,k=1<<++m,m<=30?(({deps:t})=>{if(t.length)for(let e=0;e<t.length;e++)t[e].w|=k})(this):P(this),this.fn()}finally{m<=30&&(t=>{const{deps:e}=t;if(e.length){let n=0;for(let s=0;s<e.length;s++){const i=e[s];b(i)&&!R(i)?i.delete(t):e[n++]=i,i.w&=~k,i.n&=~k}e.length=n}})(this),k=1<<--m,j=this.parent,W=e,this.parent=void 0,this.deferStop&&this.stop()}}stop(){j===this?this.deferStop=!0:this.active&&(P(this),this.onStop&&this.onStop(),this.active=!1)}}function P(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}function M(t,e){t.effect&&(t=t.effect.fn);const s=new E(t);e&&(n(s,e),e.scope&&v(s,e.scope)),e&&e.lazy||s.run();const i=s.run.bind(s);return i.effect=s,i}function z(t){t.effect.stop()}let W=!0;const V=[];function A(){V.push(W),W=!1}function N(){V.push(W),W=!0}function I(){const t=V.pop();W=void 0===t||t}function K(t,e,n){if(W&&j){let e=S.get(t);e||S.set(t,e=new Map);let s=e.get(n);s||e.set(n,s=w()),C(s)}}function C(t,e){let n=!1;m<=30?R(t)||(t.n|=k,n=!b(t)):n=!t.has(j),n&&(t.add(j),j.deps.push(t))}function L(t,e,n,s,i,o){const u=S.get(t);if(!u)return;let h=[];if("clear"===e)h=[...u.values()];else if("length"===n&&r(t))u.forEach(((t,e)=>{("length"===e||e>=s)&&h.push(t)}));else switch(void 0!==n&&h.push(u.get(n)),e){case"add":r(t)?a(n)&&h.push(u.get("length")):(h.push(u.get(O)),c(t)&&h.push(u.get(x)));break;case"delete":r(t)||(h.push(u.get(O)),c(t)&&h.push(u.get(x)));break;case"set":c(t)&&h.push(u.get(O))}if(1===h.length)h[0]&&q(h[0]);else{const t=[];for(const e of h)e&&t.push(...e);q(w(t))}}function q(t,e){const n=r(t)?t:[...t];for(const s of n)s.computed&&B(s);for(const s of n)s.computed||B(s)}function B(t,e){(t!==j||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const D=t("__proto__,__v_isRef,__isVue"),F=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(o)),G=X(),H=X(!1,!0),J=X(!0),Q=X(!0,!0),T=U();function U(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e<i;e++)K(n,0,e+"");const s=n[e](...t);return-1===s||!1===s?n[e](...t.map(Ct)):s}})),["push","pop","shift","unshift","splice"].forEach((e=>{t[e]=function(...t){A();const n=Ct(this)[e].apply(this,t);return I(),n}})),t}function X(t=!1,e=!1){return function(n,s,c){if("__v_isReactive"===s)return!t;if("__v_isReadonly"===s)return t;if("__v_isShallow"===s)return e;if("__v_raw"===s&&c===(t?e?xt:Ot:e?jt:kt).get(n))return n;const h=r(n);if(!t&&h&&i(T,s))return Reflect.get(T,s,c);const l=Reflect.get(n,s,c);return(o(s)?F.has(s):D(s))?l:(t||K(n,0,s),e?l:Gt(l)?h&&a(s)?l:l.value:u(l)?t?zt(l):Pt(l):l)}}function Y(t=!1){return function(e,n,s,c){let o=e[n];if(Nt(o)&&Gt(o)&&!Gt(s))return!1;if(!t&&!Nt(s)&&(It(s)||(s=Ct(s),o=Ct(o)),!r(e)&&Gt(o)&&!Gt(s)))return o.value=s,!0;const u=r(e)&&a(n)?Number(n)<e.length:i(e,n),h=Reflect.set(e,n,s,c);return e===Ct(c)&&(u?f(s,o)&&L(e,"set",n,s):L(e,"add",n,s)),h}}const Z={get:G,set:Y(),deleteProperty:function(t,e){const n=i(t,e),s=Reflect.deleteProperty(t,e);return s&&n&&L(t,"delete",e,void 0),s},has:function(t,e){const n=Reflect.has(t,e);return o(e)&&F.has(e)||K(t,0,e),n},ownKeys:function(t){return K(t,0,r(t)?"length":O),Reflect.ownKeys(t)}},$={get:J,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},tt=n({},Z,{get:H,set:Y(!0)}),et=n({},$,{get:Q}),nt=t=>t,st=t=>Reflect.getPrototypeOf(t);function it(t,e,n=!1,s=!1){const i=Ct(t=t.__v_raw),r=Ct(e);n||(e!==r&&K(i,0,e),K(i,0,r));const{has:c}=st(i),o=s?nt:n?Bt:qt;return c.call(i,e)?o(t.get(e)):c.call(i,r)?o(t.get(r)):void(t!==i&&t.get(e))}function rt(t,e=!1){const n=this.__v_raw,s=Ct(n),i=Ct(t);return e||(t!==i&&K(s,0,t),K(s,0,i)),t===i?n.has(t):n.has(t)||n.has(i)}function ct(t,e=!1){return t=t.__v_raw,!e&&K(Ct(t),0,O),Reflect.get(t,"size",t)}function ot(t){t=Ct(t);const e=Ct(this);return st(e).has.call(e,t)||(e.add(t),L(e,"add",t,t)),this}function ut(t,e){e=Ct(e);const n=Ct(this),{has:s,get:i}=st(n);let r=s.call(n,t);r||(t=Ct(t),r=s.call(n,t));const c=i.call(n,t);return n.set(t,e),r?f(e,c)&&L(n,"set",t,e):L(n,"add",t,e),this}function ht(t){const e=Ct(this),{has:n,get:s}=st(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return i&&L(e,"delete",t,void 0),r}function lt(){const t=Ct(this),e=0!==t.size,n=t.clear();return e&&L(t,"clear",void 0,void 0),n}function at(t,e){return function(n,s){const i=this,r=i.__v_raw,c=Ct(r),o=e?nt:t?Bt:qt;return!t&&K(c,0,O),r.forEach(((t,e)=>n.call(s,o(t),o(e),i)))}}function ft(t,e,n){return function(...s){const i=this.__v_raw,r=Ct(i),o=c(r),u="entries"===t||t===Symbol.iterator&&o,h="keys"===t&&o,l=i[t](...s),a=n?nt:e?Bt:qt;return!e&&K(r,0,h?x:O),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:u?[a(t[0]),a(t[1])]:a(t),done:e}},[Symbol.iterator](){return this}}}}function _t(t){return function(...e){return"delete"!==t&&this}}function pt(){const t={get(t){return it(this,t)},get size(){return ct(this)},has:rt,add:ot,set:ut,delete:ht,clear:lt,forEach:at(!1,!1)},e={get(t){return it(this,t,!1,!0)},get size(){return ct(this)},has:rt,add:ot,set:ut,delete:ht,clear:lt,forEach:at(!1,!0)},n={get(t){return it(this,t,!0)},get size(){return ct(this,!0)},has(t){return rt.call(this,t,!0)},add:_t("add"),set:_t("set"),delete:_t("delete"),clear:_t("clear"),forEach:at(!0,!1)},s={get(t){return it(this,t,!0,!0)},get size(){return ct(this,!0)},has(t){return rt.call(this,t,!0)},add:_t("add"),set:_t("set"),delete:_t("delete"),clear:_t("clear"),forEach:at(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{t[i]=ft(i,!1,!1),n[i]=ft(i,!0,!1),e[i]=ft(i,!1,!0),s[i]=ft(i,!0,!0)})),[t,n,e,s]}const[dt,vt,gt,yt]=pt();function wt(t,e){const n=e?t?yt:gt:t?vt:dt;return(e,s,r)=>"__v_isReactive"===s?!t:"__v_isReadonly"===s?t:"__v_raw"===s?e:Reflect.get(i(n,s)&&s in e?n:e,s,r)}const bt={get:wt(!1,!1)},Rt={get:wt(!1,!0)},St={get:wt(!0,!1)},mt={get:wt(!0,!0)},kt=new WeakMap,jt=new WeakMap,Ot=new WeakMap,xt=new WeakMap;function Et(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>l(t).slice(8,-1))(t))}function Pt(t){return Nt(t)?t:Vt(t,!1,Z,bt,kt)}function Mt(t){return Vt(t,!1,tt,Rt,jt)}function zt(t){return Vt(t,!0,$,St,Ot)}function Wt(t){return Vt(t,!0,et,mt,xt)}function Vt(t,e,n,s,i){if(!u(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const c=Et(t);if(0===c)return t;const o=new Proxy(t,2===c?s:n);return i.set(t,o),o}function At(t){return Nt(t)?At(t.__v_raw):!(!t||!t.__v_isReactive)}function Nt(t){return!(!t||!t.__v_isReadonly)}function It(t){return!(!t||!t.__v_isShallow)}function Kt(t){return At(t)||Nt(t)}function Ct(t){const e=t&&t.__v_raw;return e?Ct(e):t}function Lt(t){return((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t}const qt=t=>u(t)?Pt(t):t,Bt=t=>u(t)?zt(t):t;function Dt(t){W&&j&&C((t=Ct(t)).dep||(t.dep=w()))}function Ft(t,e){(t=Ct(t)).dep&&q(t.dep)}function Gt(t){return!(!t||!0!==t.__v_isRef)}function Ht(t){return Qt(t,!1)}function Jt(t){return Qt(t,!0)}function Qt(t,e){return Gt(t)?t:new Tt(t,e)}class Tt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:qt(t)}get value(){return Dt(this),this._value}set value(t){t=this.__v_isShallow?t:Ct(t),f(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:qt(t),Ft(this))}}function Ut(t){Ft(t)}function Xt(t){return Gt(t)?t.value:t}const Yt={get:(t,e,n)=>Xt(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const i=t[e];return Gt(i)&&!Gt(n)?(i.value=n,!0):Reflect.set(t,e,n,s)}};function Zt(t){return At(t)?t:new Proxy(t,Yt)}class $t{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:e,set:n}=t((()=>Dt(this)),(()=>Ft(this)));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function te(t){return new $t(t)}function ee(t){const e=r(t)?new Array(t.length):{};for(const n in t)e[n]=se(t,n);return e}class ne{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function se(t,e,n){const s=t[e];return Gt(s)?s:new ne(t,e,n)}class ie{constructor(t,e,n,s){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new E(t,(()=>{this._dirty||(this._dirty=!0,Ft(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=Ct(this);return Dt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function re(t,n,s=!1){let i,r;const c="function"==typeof t;c?(i=t,r=e):(i=t.get,r=t.set);return new ie(i,r,c||!r,s)}var ce;const oe=Promise.resolve(),ue=[];let he=!1;const le=()=>{for(let t=0;t<ue.length;t++)ue[t]();ue.length=0,he=!1};class ae{constructor(t){let e;this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this[ce]=!0;let n=!1,s=!1;this.effect=new E(t,(t=>{if(this.dep){if(t)e=this._value,n=!0;else if(!s){const t=n?e:this._value;s=!0,n=!1,ue.push((()=>{this.effect.active&&this._get()!==t&&Ft(this),s=!1})),he||(he=!0,oe.then(le))}for(const t of this.dep)t.computed instanceof ae&&t.scheduler(!0)}this._dirty=!0})),this.effect.computed=this}_get(){return this._dirty?(this._dirty=!1,this._value=this.effect.run()):this._value}get value(){return Dt(this),Ct(this)._get()}}function fe(t){return new ae(t)}ce="__v_isReadonly";export{p as EffectScope,O as ITERATE_KEY,E as ReactiveEffect,re as computed,te as customRef,fe as deferredComputed,M as effect,d as effectScope,N as enableTracking,g as getCurrentScope,Kt as isProxy,At as isReactive,Nt as isReadonly,Gt as isRef,It as isShallow,Lt as markRaw,y as onScopeDispose,A as pauseTracking,Zt as proxyRefs,Pt as reactive,zt as readonly,Ht as ref,I as resetTracking,Mt as shallowReactive,Wt as shallowReadonly,Jt as shallowRef,z as stop,Ct as toRaw,se as toRef,ee as toRefs,K as track,L as trigger,Ut as triggerRef,Xt as unref};
@@ -1,4 +1,4 @@
1
- import { extend, isArray, isMap, isIntegerKey, isSymbol, hasOwn, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';
1
+ import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';
2
2
 
3
3
  function warn(msg, ...args) {
4
4
  console.warn(`[Vue warn] ${msg}`, ...args);
@@ -7,8 +7,17 @@ function warn(msg, ...args) {
7
7
  let activeEffectScope;
8
8
  class EffectScope {
9
9
  constructor(detached = false) {
10
+ /**
11
+ * @internal
12
+ */
10
13
  this.active = true;
14
+ /**
15
+ * @internal
16
+ */
11
17
  this.effects = [];
18
+ /**
19
+ * @internal
20
+ */
12
21
  this.cleanups = [];
13
22
  if (!detached && activeEffectScope) {
14
23
  this.parent = activeEffectScope;
@@ -18,21 +27,30 @@ class EffectScope {
18
27
  }
19
28
  run(fn) {
20
29
  if (this.active) {
30
+ const currentEffectScope = activeEffectScope;
21
31
  try {
22
32
  activeEffectScope = this;
23
33
  return fn();
24
34
  }
25
35
  finally {
26
- activeEffectScope = this.parent;
36
+ activeEffectScope = currentEffectScope;
27
37
  }
28
38
  }
29
39
  else if ((process.env.NODE_ENV !== 'production')) {
30
40
  warn(`cannot run an inactive effect scope.`);
31
41
  }
32
42
  }
43
+ /**
44
+ * This should only be called on non-detached scopes
45
+ * @internal
46
+ */
33
47
  on() {
34
48
  activeEffectScope = this;
35
49
  }
50
+ /**
51
+ * This should only be called on non-detached scopes
52
+ * @internal
53
+ */
36
54
  off() {
37
55
  activeEffectScope = this.parent;
38
56
  }
@@ -174,10 +192,17 @@ class ReactiveEffect {
174
192
  activeEffect = this.parent;
175
193
  shouldTrack = lastShouldTrack;
176
194
  this.parent = undefined;
195
+ if (this.deferStop) {
196
+ this.stop();
197
+ }
177
198
  }
178
199
  }
179
200
  stop() {
180
- if (this.active) {
201
+ // stopped while running itself - defer the cleanup
202
+ if (activeEffect === this) {
203
+ this.deferStop = true;
204
+ }
205
+ else if (this.active) {
181
206
  cleanupEffect(this);
182
207
  if (this.onStop) {
183
208
  this.onStop();
@@ -261,9 +286,7 @@ function trackEffects(dep, debuggerEventExtraInfo) {
261
286
  dep.add(activeEffect);
262
287
  activeEffect.deps.push(dep);
263
288
  if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {
264
- activeEffect.onTrack(Object.assign({
265
- effect: activeEffect
266
- }, debuggerEventExtraInfo));
289
+ activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));
267
290
  }
268
291
  }
269
292
  }
@@ -350,23 +373,40 @@ function trigger(target, type, key, newValue, oldValue, oldTarget) {
350
373
  }
351
374
  function triggerEffects(dep, debuggerEventExtraInfo) {
352
375
  // spread into array for stabilization
353
- for (const effect of isArray(dep) ? dep : [...dep]) {
354
- if (effect !== activeEffect || effect.allowRecurse) {
355
- if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {
356
- effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));
357
- }
358
- if (effect.scheduler) {
359
- effect.scheduler();
360
- }
361
- else {
362
- effect.run();
363
- }
376
+ const effects = isArray(dep) ? dep : [...dep];
377
+ for (const effect of effects) {
378
+ if (effect.computed) {
379
+ triggerEffect(effect, debuggerEventExtraInfo);
380
+ }
381
+ }
382
+ for (const effect of effects) {
383
+ if (!effect.computed) {
384
+ triggerEffect(effect, debuggerEventExtraInfo);
385
+ }
386
+ }
387
+ }
388
+ function triggerEffect(effect, debuggerEventExtraInfo) {
389
+ if (effect !== activeEffect || effect.allowRecurse) {
390
+ if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {
391
+ effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));
392
+ }
393
+ if (effect.scheduler) {
394
+ effect.scheduler();
395
+ }
396
+ else {
397
+ effect.run();
364
398
  }
365
399
  }
366
400
  }
367
401
 
368
402
  const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
369
- const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)
403
+ const builtInSymbols = new Set(
404
+ /*#__PURE__*/
405
+ Object.getOwnPropertyNames(Symbol)
406
+ // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'
407
+ // but accessing them on Symbol leads to TypeError because Symbol is a strict mode
408
+ // function
409
+ .filter(key => key !== 'arguments' && key !== 'caller')
370
410
  .map(key => Symbol[key])
371
411
  .filter(isSymbol));
372
412
  const get = /*#__PURE__*/ createGetter();
@@ -440,9 +480,8 @@ function createGetter(isReadonly = false, shallow = false) {
440
480
  return res;
441
481
  }
442
482
  if (isRef(res)) {
443
- // ref unwrapping - does not apply for Array + integer key.
444
- const shouldUnwrap = !targetIsArray || !isIntegerKey(key);
445
- return shouldUnwrap ? res.value : res;
483
+ // ref unwrapping - skip unwrap for Array + integer key.
484
+ return targetIsArray && isIntegerKey(key) ? res : res.value;
446
485
  }
447
486
  if (isObject(res)) {
448
487
  // Convert returned value into a proxy as well. we do the isObject check
@@ -518,13 +557,13 @@ const readonlyHandlers = {
518
557
  get: readonlyGet,
519
558
  set(target, key) {
520
559
  if ((process.env.NODE_ENV !== 'production')) {
521
- console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
560
+ warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
522
561
  }
523
562
  return true;
524
563
  },
525
564
  deleteProperty(target, key) {
526
565
  if ((process.env.NODE_ENV !== 'production')) {
527
- console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
566
+ warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
528
567
  }
529
568
  return true;
530
569
  }
@@ -548,10 +587,12 @@ function get$1(target, key, isReadonly = false, isShallow = false) {
548
587
  target = target["__v_raw" /* RAW */];
549
588
  const rawTarget = toRaw(target);
550
589
  const rawKey = toRaw(key);
551
- if (key !== rawKey) {
552
- !isReadonly && track(rawTarget, "get" /* GET */, key);
590
+ if (!isReadonly) {
591
+ if (key !== rawKey) {
592
+ track(rawTarget, "get" /* GET */, key);
593
+ }
594
+ track(rawTarget, "get" /* GET */, rawKey);
553
595
  }
554
- !isReadonly && track(rawTarget, "get" /* GET */, rawKey);
555
596
  const { has } = getProto(rawTarget);
556
597
  const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
557
598
  if (has.call(rawTarget, key)) {
@@ -570,10 +611,12 @@ function has$1(key, isReadonly = false) {
570
611
  const target = this["__v_raw" /* RAW */];
571
612
  const rawTarget = toRaw(target);
572
613
  const rawKey = toRaw(key);
573
- if (key !== rawKey) {
574
- !isReadonly && track(rawTarget, "has" /* HAS */, key);
614
+ if (!isReadonly) {
615
+ if (key !== rawKey) {
616
+ track(rawTarget, "has" /* HAS */, key);
617
+ }
618
+ track(rawTarget, "has" /* HAS */, rawKey);
575
619
  }
576
- !isReadonly && track(rawTarget, "has" /* HAS */, rawKey);
577
620
  return key === rawKey
578
621
  ? target.has(key)
579
622
  : target.has(key) || target.has(rawKey);
@@ -900,7 +943,7 @@ function createReactiveObject(target, isReadonly, baseHandlers, collectionHandle
900
943
  if (existingProxy) {
901
944
  return existingProxy;
902
945
  }
903
- // only a whitelist of value types can be observed.
946
+ // only specific value types can be observed.
904
947
  const targetType = getTargetType(target);
905
948
  if (targetType === 0 /* INVALID */) {
906
949
  return target;
@@ -1131,7 +1174,7 @@ function computed(getterOrOptions, debugOptions, isSSR = false) {
1131
1174
  }
1132
1175
 
1133
1176
  var _a;
1134
- const tick = Promise.resolve();
1177
+ const tick = /*#__PURE__*/ Promise.resolve();
1135
1178
  const queue = [];
1136
1179
  let queued = false;
1137
1180
  const scheduler = (fn) => {
@@ -67,8 +67,17 @@ var VueReactivity = (function (exports) {
67
67
  let activeEffectScope;
68
68
  class EffectScope {
69
69
  constructor(detached = false) {
70
+ /**
71
+ * @internal
72
+ */
70
73
  this.active = true;
74
+ /**
75
+ * @internal
76
+ */
71
77
  this.effects = [];
78
+ /**
79
+ * @internal
80
+ */
72
81
  this.cleanups = [];
73
82
  if (!detached && activeEffectScope) {
74
83
  this.parent = activeEffectScope;
@@ -78,21 +87,30 @@ var VueReactivity = (function (exports) {
78
87
  }
79
88
  run(fn) {
80
89
  if (this.active) {
90
+ const currentEffectScope = activeEffectScope;
81
91
  try {
82
92
  activeEffectScope = this;
83
93
  return fn();
84
94
  }
85
95
  finally {
86
- activeEffectScope = this.parent;
96
+ activeEffectScope = currentEffectScope;
87
97
  }
88
98
  }
89
99
  else {
90
100
  warn(`cannot run an inactive effect scope.`);
91
101
  }
92
102
  }
103
+ /**
104
+ * This should only be called on non-detached scopes
105
+ * @internal
106
+ */
93
107
  on() {
94
108
  activeEffectScope = this;
95
109
  }
110
+ /**
111
+ * This should only be called on non-detached scopes
112
+ * @internal
113
+ */
96
114
  off() {
97
115
  activeEffectScope = this.parent;
98
116
  }
@@ -234,10 +252,17 @@ var VueReactivity = (function (exports) {
234
252
  activeEffect = this.parent;
235
253
  shouldTrack = lastShouldTrack;
236
254
  this.parent = undefined;
255
+ if (this.deferStop) {
256
+ this.stop();
257
+ }
237
258
  }
238
259
  }
239
260
  stop() {
240
- if (this.active) {
261
+ // stopped while running itself - defer the cleanup
262
+ if (activeEffect === this) {
263
+ this.deferStop = true;
264
+ }
265
+ else if (this.active) {
241
266
  cleanupEffect(this);
242
267
  if (this.onStop) {
243
268
  this.onStop();
@@ -320,9 +345,7 @@ var VueReactivity = (function (exports) {
320
345
  dep.add(activeEffect);
321
346
  activeEffect.deps.push(dep);
322
347
  if (activeEffect.onTrack) {
323
- activeEffect.onTrack(Object.assign({
324
- effect: activeEffect
325
- }, debuggerEventExtraInfo));
348
+ activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));
326
349
  }
327
350
  }
328
351
  }
@@ -402,23 +425,40 @@ var VueReactivity = (function (exports) {
402
425
  }
403
426
  function triggerEffects(dep, debuggerEventExtraInfo) {
404
427
  // spread into array for stabilization
405
- for (const effect of isArray(dep) ? dep : [...dep]) {
406
- if (effect !== activeEffect || effect.allowRecurse) {
407
- if (effect.onTrigger) {
408
- effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));
409
- }
410
- if (effect.scheduler) {
411
- effect.scheduler();
412
- }
413
- else {
414
- effect.run();
415
- }
428
+ const effects = isArray(dep) ? dep : [...dep];
429
+ for (const effect of effects) {
430
+ if (effect.computed) {
431
+ triggerEffect(effect, debuggerEventExtraInfo);
432
+ }
433
+ }
434
+ for (const effect of effects) {
435
+ if (!effect.computed) {
436
+ triggerEffect(effect, debuggerEventExtraInfo);
437
+ }
438
+ }
439
+ }
440
+ function triggerEffect(effect, debuggerEventExtraInfo) {
441
+ if (effect !== activeEffect || effect.allowRecurse) {
442
+ if (effect.onTrigger) {
443
+ effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));
444
+ }
445
+ if (effect.scheduler) {
446
+ effect.scheduler();
447
+ }
448
+ else {
449
+ effect.run();
416
450
  }
417
451
  }
418
452
  }
419
453
 
420
454
  const isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);
421
- const builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol)
455
+ const builtInSymbols = new Set(
456
+ /*#__PURE__*/
457
+ Object.getOwnPropertyNames(Symbol)
458
+ // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'
459
+ // but accessing them on Symbol leads to TypeError because Symbol is a strict mode
460
+ // function
461
+ .filter(key => key !== 'arguments' && key !== 'caller')
422
462
  .map(key => Symbol[key])
423
463
  .filter(isSymbol));
424
464
  const get = /*#__PURE__*/ createGetter();
@@ -492,9 +532,8 @@ var VueReactivity = (function (exports) {
492
532
  return res;
493
533
  }
494
534
  if (isRef(res)) {
495
- // ref unwrapping - does not apply for Array + integer key.
496
- const shouldUnwrap = !targetIsArray || !isIntegerKey(key);
497
- return shouldUnwrap ? res.value : res;
535
+ // ref unwrapping - skip unwrap for Array + integer key.
536
+ return targetIsArray && isIntegerKey(key) ? res : res.value;
498
537
  }
499
538
  if (isObject(res)) {
500
539
  // Convert returned value into a proxy as well. we do the isObject check
@@ -570,13 +609,13 @@ var VueReactivity = (function (exports) {
570
609
  get: readonlyGet,
571
610
  set(target, key) {
572
611
  {
573
- console.warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
612
+ warn(`Set operation on key "${String(key)}" failed: target is readonly.`, target);
574
613
  }
575
614
  return true;
576
615
  },
577
616
  deleteProperty(target, key) {
578
617
  {
579
- console.warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
618
+ warn(`Delete operation on key "${String(key)}" failed: target is readonly.`, target);
580
619
  }
581
620
  return true;
582
621
  }
@@ -600,10 +639,12 @@ var VueReactivity = (function (exports) {
600
639
  target = target["__v_raw" /* RAW */];
601
640
  const rawTarget = toRaw(target);
602
641
  const rawKey = toRaw(key);
603
- if (key !== rawKey) {
604
- !isReadonly && track(rawTarget, "get" /* GET */, key);
642
+ if (!isReadonly) {
643
+ if (key !== rawKey) {
644
+ track(rawTarget, "get" /* GET */, key);
645
+ }
646
+ track(rawTarget, "get" /* GET */, rawKey);
605
647
  }
606
- !isReadonly && track(rawTarget, "get" /* GET */, rawKey);
607
648
  const { has } = getProto(rawTarget);
608
649
  const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;
609
650
  if (has.call(rawTarget, key)) {
@@ -622,10 +663,12 @@ var VueReactivity = (function (exports) {
622
663
  const target = this["__v_raw" /* RAW */];
623
664
  const rawTarget = toRaw(target);
624
665
  const rawKey = toRaw(key);
625
- if (key !== rawKey) {
626
- !isReadonly && track(rawTarget, "has" /* HAS */, key);
666
+ if (!isReadonly) {
667
+ if (key !== rawKey) {
668
+ track(rawTarget, "has" /* HAS */, key);
669
+ }
670
+ track(rawTarget, "has" /* HAS */, rawKey);
627
671
  }
628
- !isReadonly && track(rawTarget, "has" /* HAS */, rawKey);
629
672
  return key === rawKey
630
673
  ? target.has(key)
631
674
  : target.has(key) || target.has(rawKey);
@@ -951,7 +994,7 @@ var VueReactivity = (function (exports) {
951
994
  if (existingProxy) {
952
995
  return existingProxy;
953
996
  }
954
- // only a whitelist of value types can be observed.
997
+ // only specific value types can be observed.
955
998
  const targetType = getTargetType(target);
956
999
  if (targetType === 0 /* INVALID */) {
957
1000
  return target;
@@ -1175,7 +1218,7 @@ var VueReactivity = (function (exports) {
1175
1218
  }
1176
1219
 
1177
1220
  var _a;
1178
- const tick = Promise.resolve();
1221
+ const tick = /*#__PURE__*/ Promise.resolve();
1179
1222
  const queue = [];
1180
1223
  let queued = false;
1181
1224
  const scheduler = (fn) => {
@@ -1 +1 @@
1
- var VueReactivity=function(t){"use strict";function e(t,e){const n=Object.create(null),s=t.split(",");for(let i=0;i<s.length;i++)n[s[i]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const n=()=>{},s=Object.assign,i=Object.prototype.hasOwnProperty,r=(t,e)=>i.call(t,e),c=Array.isArray,o=t=>"[object Map]"===h(t),u=t=>"symbol"==typeof t,a=t=>null!==t&&"object"==typeof t,l=Object.prototype.toString,h=t=>l.call(t),f=t=>"string"==typeof t&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,_=(t,e)=>!Object.is(t,e);let p;class d{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&p&&(this.parent=p,this.index=(p.scopes||(p.scopes=[])).push(this)-1)}run(t){if(this.active)try{return p=this,t()}finally{p=this.parent}}on(){p=this}off(){p=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].stop();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(this.parent&&!t){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.active=!1}}}function v(t,e=p){e&&e.active&&e.effects.push(t)}const g=t=>{const e=new Set(t);return e.w=0,e.n=0,e},y=t=>(t.w&S)>0,w=t=>(t.n&S)>0,R=new WeakMap;let b=0,S=1;let k;const m=Symbol(""),j=Symbol("");class E{constructor(t,e=null,n){this.fn=t,this.scheduler=e,this.active=!0,this.deps=[],this.parent=void 0,v(this,n)}run(){if(!this.active)return this.fn();let t=k,e=x;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=k,k=this,x=!0,S=1<<++b,b<=30?(({deps:t})=>{if(t.length)for(let e=0;e<t.length;e++)t[e].w|=S})(this):O(this),this.fn()}finally{b<=30&&(t=>{const{deps:e}=t;if(e.length){let n=0;for(let s=0;s<e.length;s++){const i=e[s];y(i)&&!w(i)?i.delete(t):e[n++]=i,i.w&=~S,i.n&=~S}e.length=n}})(this),S=1<<--b,k=this.parent,x=e,this.parent=void 0}}stop(){this.active&&(O(this),this.onStop&&this.onStop(),this.active=!1)}}function O(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}let x=!0;const P=[];function M(){P.push(x),x=!1}function z(){const t=P.pop();x=void 0===t||t}function V(t,e,n){if(x&&k){let e=R.get(t);e||R.set(t,e=new Map);let s=e.get(n);s||e.set(n,s=g()),W(s)}}function W(t,e){let n=!1;b<=30?w(t)||(t.n|=S,n=!y(t)):n=!t.has(k),n&&(t.add(k),k.deps.push(t))}function A(t,e,n,s,i,r){const u=R.get(t);if(!u)return;let a=[];if("clear"===e)a=[...u.values()];else if("length"===n&&c(t))u.forEach(((t,e)=>{("length"===e||e>=s)&&a.push(t)}));else switch(void 0!==n&&a.push(u.get(n)),e){case"add":c(t)?f(n)&&a.push(u.get("length")):(a.push(u.get(m)),o(t)&&a.push(u.get(j)));break;case"delete":c(t)||(a.push(u.get(m)),o(t)&&a.push(u.get(j)));break;case"set":o(t)&&a.push(u.get(m))}if(1===a.length)a[0]&&T(a[0]);else{const t=[];for(const e of a)e&&t.push(...e);T(g(t))}}function T(t,e){for(const n of c(t)?t:[...t])(n!==k||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const N=e("__proto__,__v_isRef,__isVue"),C=new Set(Object.getOwnPropertyNames(Symbol).map((t=>Symbol[t])).filter(u)),I=B(),K=B(!1,!0),D=B(!0),L=B(!0,!0),Y=q();function q(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Pt(this);for(let e=0,i=this.length;e<i;e++)V(n,0,e+"");const s=n[e](...t);return-1===s||!1===s?n[e](...t.map(Pt)):s}})),["push","pop","shift","unshift","splice"].forEach((e=>{t[e]=function(...t){M();const n=Pt(this)[e].apply(this,t);return z(),n}})),t}function B(t=!1,e=!1){return function(n,s,i){if("__v_isReactive"===s)return!t;if("__v_isReadonly"===s)return t;if("__v_isShallow"===s)return e;if("__v_raw"===s&&i===(t?e?bt:Rt:e?wt:yt).get(n))return n;const o=c(n);if(!t&&o&&r(Y,s))return Reflect.get(Y,s,i);const l=Reflect.get(n,s,i);if(u(s)?C.has(s):N(s))return l;if(t||V(n,0,s),e)return l;if(At(l)){return!o||!f(s)?l.value:l}return a(l)?t?mt(l):kt(l):l}}function F(t=!1){return function(e,n,s,i){let o=e[n];if(Ot(o)&&At(o)&&!At(s))return!1;if(!t&&!Ot(s)&&(xt(s)||(s=Pt(s),o=Pt(o)),!c(e)&&At(o)&&!At(s)))return o.value=s,!0;const u=c(e)&&f(n)?Number(n)<e.length:r(e,n),a=Reflect.set(e,n,s,i);return e===Pt(i)&&(u?_(s,o)&&A(e,"set",n,s):A(e,"add",n,s)),a}}const G={get:I,set:F(),deleteProperty:function(t,e){const n=r(t,e),s=Reflect.deleteProperty(t,e);return s&&n&&A(t,"delete",e,void 0),s},has:function(t,e){const n=Reflect.has(t,e);return u(e)&&C.has(e)||V(t,0,e),n},ownKeys:function(t){return V(t,0,c(t)?"length":m),Reflect.ownKeys(t)}},H={get:D,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},J=s({},G,{get:K,set:F(!0)}),Q=s({},H,{get:L}),U=t=>t,X=t=>Reflect.getPrototypeOf(t);function Z(t,e,n=!1,s=!1){const i=Pt(t=t.__v_raw),r=Pt(e);e!==r&&!n&&V(i,0,e),!n&&V(i,0,r);const{has:c}=X(i),o=s?U:n?zt:Mt;return c.call(i,e)?o(t.get(e)):c.call(i,r)?o(t.get(r)):void(t!==i&&t.get(e))}function $(t,e=!1){const n=this.__v_raw,s=Pt(n),i=Pt(t);return t!==i&&!e&&V(s,0,t),!e&&V(s,0,i),t===i?n.has(t):n.has(t)||n.has(i)}function tt(t,e=!1){return t=t.__v_raw,!e&&V(Pt(t),0,m),Reflect.get(t,"size",t)}function et(t){t=Pt(t);const e=Pt(this);return X(e).has.call(e,t)||(e.add(t),A(e,"add",t,t)),this}function nt(t,e){e=Pt(e);const n=Pt(this),{has:s,get:i}=X(n);let r=s.call(n,t);r||(t=Pt(t),r=s.call(n,t));const c=i.call(n,t);return n.set(t,e),r?_(e,c)&&A(n,"set",t,e):A(n,"add",t,e),this}function st(t){const e=Pt(this),{has:n,get:s}=X(e);let i=n.call(e,t);i||(t=Pt(t),i=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return i&&A(e,"delete",t,void 0),r}function it(){const t=Pt(this),e=0!==t.size,n=t.clear();return e&&A(t,"clear",void 0,void 0),n}function rt(t,e){return function(n,s){const i=this,r=i.__v_raw,c=Pt(r),o=e?U:t?zt:Mt;return!t&&V(c,0,m),r.forEach(((t,e)=>n.call(s,o(t),o(e),i)))}}function ct(t,e,n){return function(...s){const i=this.__v_raw,r=Pt(i),c=o(r),u="entries"===t||t===Symbol.iterator&&c,a="keys"===t&&c,l=i[t](...s),h=n?U:e?zt:Mt;return!e&&V(r,0,a?j:m),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:u?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ot(t){return function(...e){return"delete"!==t&&this}}function ut(){const t={get(t){return Z(this,t)},get size(){return tt(this)},has:$,add:et,set:nt,delete:st,clear:it,forEach:rt(!1,!1)},e={get(t){return Z(this,t,!1,!0)},get size(){return tt(this)},has:$,add:et,set:nt,delete:st,clear:it,forEach:rt(!1,!0)},n={get(t){return Z(this,t,!0)},get size(){return tt(this,!0)},has(t){return $.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!1)},s={get(t){return Z(this,t,!0,!0)},get size(){return tt(this,!0)},has(t){return $.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{t[i]=ct(i,!1,!1),n[i]=ct(i,!0,!1),e[i]=ct(i,!1,!0),s[i]=ct(i,!0,!0)})),[t,n,e,s]}const[at,lt,ht,ft]=ut();function _t(t,e){const n=e?t?ft:ht:t?lt:at;return(e,s,i)=>"__v_isReactive"===s?!t:"__v_isReadonly"===s?t:"__v_raw"===s?e:Reflect.get(r(n,s)&&s in e?n:e,s,i)}const pt={get:_t(!1,!1)},dt={get:_t(!1,!0)},vt={get:_t(!0,!1)},gt={get:_t(!0,!0)},yt=new WeakMap,wt=new WeakMap,Rt=new WeakMap,bt=new WeakMap;function St(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>h(t).slice(8,-1))(t))}function kt(t){return Ot(t)?t:jt(t,!1,G,pt,yt)}function mt(t){return jt(t,!0,H,vt,Rt)}function jt(t,e,n,s,i){if(!a(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const c=St(t);if(0===c)return t;const o=new Proxy(t,2===c?s:n);return i.set(t,o),o}function Et(t){return Ot(t)?Et(t.__v_raw):!(!t||!t.__v_isReactive)}function Ot(t){return!(!t||!t.__v_isReadonly)}function xt(t){return!(!t||!t.__v_isShallow)}function Pt(t){const e=t&&t.__v_raw;return e?Pt(e):t}const Mt=t=>a(t)?kt(t):t,zt=t=>a(t)?mt(t):t;function Vt(t){x&&k&&W((t=Pt(t)).dep||(t.dep=g()))}function Wt(t,e){(t=Pt(t)).dep&&T(t.dep)}function At(t){return!(!t||!0!==t.__v_isRef)}function Tt(t,e){return At(t)?t:new Nt(t,e)}class Nt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Pt(t),this._value=e?t:Mt(t)}get value(){return Vt(this),this._value}set value(t){t=this.__v_isShallow?t:Pt(t),_(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Mt(t),Wt(this))}}function Ct(t){return At(t)?t.value:t}const It={get:(t,e,n)=>Ct(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const i=t[e];return At(i)&&!At(n)?(i.value=n,!0):Reflect.set(t,e,n,s)}};class Kt{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:e,set:n}=t((()=>Vt(this)),(()=>Wt(this)));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}class Dt{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Lt(t,e,n){const s=t[e];return At(s)?s:new Dt(t,e,n)}class Yt{constructor(t,e,n,s){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new E(t,(()=>{this._dirty||(this._dirty=!0,Wt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=Pt(this);return Vt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}var qt;const Bt=Promise.resolve(),Ft=[];let Gt=!1;const Ht=()=>{for(let t=0;t<Ft.length;t++)Ft[t]();Ft.length=0,Gt=!1};class Jt{constructor(t){let e;this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this[qt]=!0;let n=!1,s=!1;this.effect=new E(t,(t=>{if(this.dep){if(t)e=this._value,n=!0;else if(!s){const t=n?e:this._value;s=!0,n=!1,Ft.push((()=>{this.effect.active&&this._get()!==t&&Wt(this),s=!1})),Gt||(Gt=!0,Bt.then(Ht))}for(const t of this.dep)t.computed instanceof Jt&&t.scheduler(!0)}this._dirty=!0})),this.effect.computed=this}_get(){return this._dirty?(this._dirty=!1,this._value=this.effect.run()):this._value}get value(){return Vt(this),Pt(this)._get()}}return qt="__v_isReadonly",t.EffectScope=d,t.ITERATE_KEY=m,t.ReactiveEffect=E,t.computed=function(t,e,s=!1){let i,r;const c="function"==typeof t;return c?(i=t,r=n):(i=t.get,r=t.set),new Yt(i,r,c||!r,s)},t.customRef=function(t){return new Kt(t)},t.deferredComputed=function(t){return new Jt(t)},t.effect=function(t,e){t.effect&&(t=t.effect.fn);const n=new E(t);e&&(s(n,e),e.scope&&v(n,e.scope)),e&&e.lazy||n.run();const i=n.run.bind(n);return i.effect=n,i},t.effectScope=function(t){return new d(t)},t.enableTracking=function(){P.push(x),x=!0},t.getCurrentScope=function(){return p},t.isProxy=function(t){return Et(t)||Ot(t)},t.isReactive=Et,t.isReadonly=Ot,t.isRef=At,t.isShallow=xt,t.markRaw=function(t){return((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t},t.onScopeDispose=function(t){p&&p.cleanups.push(t)},t.pauseTracking=M,t.proxyRefs=function(t){return Et(t)?t:new Proxy(t,It)},t.reactive=kt,t.readonly=mt,t.ref=function(t){return Tt(t,!1)},t.resetTracking=z,t.shallowReactive=function(t){return jt(t,!1,J,dt,wt)},t.shallowReadonly=function(t){return jt(t,!0,Q,gt,bt)},t.shallowRef=function(t){return Tt(t,!0)},t.stop=function(t){t.effect.stop()},t.toRaw=Pt,t.toRef=Lt,t.toRefs=function(t){const e=c(t)?new Array(t.length):{};for(const n in t)e[n]=Lt(t,n);return e},t.track=V,t.trigger=A,t.triggerRef=function(t){Wt(t)},t.unref=Ct,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
1
+ var VueReactivity=function(t){"use strict";function e(t,e){const n=Object.create(null),s=t.split(",");for(let i=0;i<s.length;i++)n[s[i]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const n=()=>{},s=Object.assign,i=Object.prototype.hasOwnProperty,r=(t,e)=>i.call(t,e),c=Array.isArray,o=t=>"[object Map]"===h(t),u=t=>"symbol"==typeof t,a=t=>null!==t&&"object"==typeof t,l=Object.prototype.toString,h=t=>l.call(t),f=t=>"string"==typeof t&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,_=(t,e)=>!Object.is(t,e);let p;class d{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&p&&(this.parent=p,this.index=(p.scopes||(p.scopes=[])).push(this)-1)}run(t){if(this.active){const e=p;try{return p=this,t()}finally{p=e}}}on(){p=this}off(){p=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e<n;e++)this.effects[e].stop();for(e=0,n=this.cleanups.length;e<n;e++)this.cleanups[e]();if(this.scopes)for(e=0,n=this.scopes.length;e<n;e++)this.scopes[e].stop(!0);if(this.parent&&!t){const t=this.parent.scopes.pop();t&&t!==this&&(this.parent.scopes[this.index]=t,t.index=this.index)}this.active=!1}}}function v(t,e=p){e&&e.active&&e.effects.push(t)}const g=t=>{const e=new Set(t);return e.w=0,e.n=0,e},y=t=>(t.w&S)>0,w=t=>(t.n&S)>0,R=new WeakMap;let b=0,S=1;let m;const k=Symbol(""),j=Symbol("");class E{constructor(t,e=null,n){this.fn=t,this.scheduler=e,this.active=!0,this.deps=[],this.parent=void 0,v(this,n)}run(){if(!this.active)return this.fn();let t=m,e=x;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=m,m=this,x=!0,S=1<<++b,b<=30?(({deps:t})=>{if(t.length)for(let e=0;e<t.length;e++)t[e].w|=S})(this):O(this),this.fn()}finally{b<=30&&(t=>{const{deps:e}=t;if(e.length){let n=0;for(let s=0;s<e.length;s++){const i=e[s];y(i)&&!w(i)?i.delete(t):e[n++]=i,i.w&=~S,i.n&=~S}e.length=n}})(this),S=1<<--b,m=this.parent,x=e,this.parent=void 0,this.deferStop&&this.stop()}}stop(){m===this?this.deferStop=!0:this.active&&(O(this),this.onStop&&this.onStop(),this.active=!1)}}function O(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}let x=!0;const P=[];function M(){P.push(x),x=!1}function z(){const t=P.pop();x=void 0===t||t}function V(t,e,n){if(x&&m){let e=R.get(t);e||R.set(t,e=new Map);let s=e.get(n);s||e.set(n,s=g()),W(s)}}function W(t,e){let n=!1;b<=30?w(t)||(t.n|=S,n=!y(t)):n=!t.has(m),n&&(t.add(m),m.deps.push(t))}function A(t,e,n,s,i,r){const u=R.get(t);if(!u)return;let a=[];if("clear"===e)a=[...u.values()];else if("length"===n&&c(t))u.forEach(((t,e)=>{("length"===e||e>=s)&&a.push(t)}));else switch(void 0!==n&&a.push(u.get(n)),e){case"add":c(t)?f(n)&&a.push(u.get("length")):(a.push(u.get(k)),o(t)&&a.push(u.get(j)));break;case"delete":c(t)||(a.push(u.get(k)),o(t)&&a.push(u.get(j)));break;case"set":o(t)&&a.push(u.get(k))}if(1===a.length)a[0]&&T(a[0]);else{const t=[];for(const e of a)e&&t.push(...e);T(g(t))}}function T(t,e){const n=c(t)?t:[...t];for(const s of n)s.computed&&N(s);for(const s of n)s.computed||N(s)}function N(t,e){(t!==m||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const C=e("__proto__,__v_isRef,__isVue"),I=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(u)),K=F(),D=F(!1,!0),L=F(!0),Y=F(!0,!0),q=B();function B(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Mt(this);for(let e=0,i=this.length;e<i;e++)V(n,0,e+"");const s=n[e](...t);return-1===s||!1===s?n[e](...t.map(Mt)):s}})),["push","pop","shift","unshift","splice"].forEach((e=>{t[e]=function(...t){M();const n=Mt(this)[e].apply(this,t);return z(),n}})),t}function F(t=!1,e=!1){return function(n,s,i){if("__v_isReactive"===s)return!t;if("__v_isReadonly"===s)return t;if("__v_isShallow"===s)return e;if("__v_raw"===s&&i===(t?e?St:bt:e?Rt:wt).get(n))return n;const o=c(n);if(!t&&o&&r(q,s))return Reflect.get(q,s,i);const l=Reflect.get(n,s,i);return(u(s)?I.has(s):C(s))?l:(t||V(n,0,s),e?l:Tt(l)?o&&f(s)?l:l.value:a(l)?t?jt(l):kt(l):l)}}function G(t=!1){return function(e,n,s,i){let o=e[n];if(xt(o)&&Tt(o)&&!Tt(s))return!1;if(!t&&!xt(s)&&(Pt(s)||(s=Mt(s),o=Mt(o)),!c(e)&&Tt(o)&&!Tt(s)))return o.value=s,!0;const u=c(e)&&f(n)?Number(n)<e.length:r(e,n),a=Reflect.set(e,n,s,i);return e===Mt(i)&&(u?_(s,o)&&A(e,"set",n,s):A(e,"add",n,s)),a}}const H={get:K,set:G(),deleteProperty:function(t,e){const n=r(t,e),s=Reflect.deleteProperty(t,e);return s&&n&&A(t,"delete",e,void 0),s},has:function(t,e){const n=Reflect.has(t,e);return u(e)&&I.has(e)||V(t,0,e),n},ownKeys:function(t){return V(t,0,c(t)?"length":k),Reflect.ownKeys(t)}},J={get:L,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},Q=s({},H,{get:D,set:G(!0)}),U=s({},J,{get:Y}),X=t=>t,Z=t=>Reflect.getPrototypeOf(t);function $(t,e,n=!1,s=!1){const i=Mt(t=t.__v_raw),r=Mt(e);n||(e!==r&&V(i,0,e),V(i,0,r));const{has:c}=Z(i),o=s?X:n?Vt:zt;return c.call(i,e)?o(t.get(e)):c.call(i,r)?o(t.get(r)):void(t!==i&&t.get(e))}function tt(t,e=!1){const n=this.__v_raw,s=Mt(n),i=Mt(t);return e||(t!==i&&V(s,0,t),V(s,0,i)),t===i?n.has(t):n.has(t)||n.has(i)}function et(t,e=!1){return t=t.__v_raw,!e&&V(Mt(t),0,k),Reflect.get(t,"size",t)}function nt(t){t=Mt(t);const e=Mt(this);return Z(e).has.call(e,t)||(e.add(t),A(e,"add",t,t)),this}function st(t,e){e=Mt(e);const n=Mt(this),{has:s,get:i}=Z(n);let r=s.call(n,t);r||(t=Mt(t),r=s.call(n,t));const c=i.call(n,t);return n.set(t,e),r?_(e,c)&&A(n,"set",t,e):A(n,"add",t,e),this}function it(t){const e=Mt(this),{has:n,get:s}=Z(e);let i=n.call(e,t);i||(t=Mt(t),i=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return i&&A(e,"delete",t,void 0),r}function rt(){const t=Mt(this),e=0!==t.size,n=t.clear();return e&&A(t,"clear",void 0,void 0),n}function ct(t,e){return function(n,s){const i=this,r=i.__v_raw,c=Mt(r),o=e?X:t?Vt:zt;return!t&&V(c,0,k),r.forEach(((t,e)=>n.call(s,o(t),o(e),i)))}}function ot(t,e,n){return function(...s){const i=this.__v_raw,r=Mt(i),c=o(r),u="entries"===t||t===Symbol.iterator&&c,a="keys"===t&&c,l=i[t](...s),h=n?X:e?Vt:zt;return!e&&V(r,0,a?j:k),{next(){const{value:t,done:e}=l.next();return e?{value:t,done:e}:{value:u?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ut(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return $(this,t)},get size(){return et(this)},has:tt,add:nt,set:st,delete:it,clear:rt,forEach:ct(!1,!1)},e={get(t){return $(this,t,!1,!0)},get size(){return et(this)},has:tt,add:nt,set:st,delete:it,clear:rt,forEach:ct(!1,!0)},n={get(t){return $(this,t,!0)},get size(){return et(this,!0)},has(t){return tt.call(this,t,!0)},add:ut("add"),set:ut("set"),delete:ut("delete"),clear:ut("clear"),forEach:ct(!0,!1)},s={get(t){return $(this,t,!0,!0)},get size(){return et(this,!0)},has(t){return tt.call(this,t,!0)},add:ut("add"),set:ut("set"),delete:ut("delete"),clear:ut("clear"),forEach:ct(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{t[i]=ot(i,!1,!1),n[i]=ot(i,!0,!1),e[i]=ot(i,!1,!0),s[i]=ot(i,!0,!0)})),[t,n,e,s]}const[lt,ht,ft,_t]=at();function pt(t,e){const n=e?t?_t:ft:t?ht:lt;return(e,s,i)=>"__v_isReactive"===s?!t:"__v_isReadonly"===s?t:"__v_raw"===s?e:Reflect.get(r(n,s)&&s in e?n:e,s,i)}const dt={get:pt(!1,!1)},vt={get:pt(!1,!0)},gt={get:pt(!0,!1)},yt={get:pt(!0,!0)},wt=new WeakMap,Rt=new WeakMap,bt=new WeakMap,St=new WeakMap;function mt(t){return t.__v_skip||!Object.isExtensible(t)?0:function(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((t=>h(t).slice(8,-1))(t))}function kt(t){return xt(t)?t:Et(t,!1,H,dt,wt)}function jt(t){return Et(t,!0,J,gt,bt)}function Et(t,e,n,s,i){if(!a(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;const r=i.get(t);if(r)return r;const c=mt(t);if(0===c)return t;const o=new Proxy(t,2===c?s:n);return i.set(t,o),o}function Ot(t){return xt(t)?Ot(t.__v_raw):!(!t||!t.__v_isReactive)}function xt(t){return!(!t||!t.__v_isReadonly)}function Pt(t){return!(!t||!t.__v_isShallow)}function Mt(t){const e=t&&t.__v_raw;return e?Mt(e):t}const zt=t=>a(t)?kt(t):t,Vt=t=>a(t)?jt(t):t;function Wt(t){x&&m&&W((t=Mt(t)).dep||(t.dep=g()))}function At(t,e){(t=Mt(t)).dep&&T(t.dep)}function Tt(t){return!(!t||!0!==t.__v_isRef)}function Nt(t,e){return Tt(t)?t:new Ct(t,e)}class Ct{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Mt(t),this._value=e?t:zt(t)}get value(){return Wt(this),this._value}set value(t){t=this.__v_isShallow?t:Mt(t),_(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:zt(t),At(this))}}function It(t){return Tt(t)?t.value:t}const Kt={get:(t,e,n)=>It(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const i=t[e];return Tt(i)&&!Tt(n)?(i.value=n,!0):Reflect.set(t,e,n,s)}};class Dt{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:e,set:n}=t((()=>Wt(this)),(()=>At(this)));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}class Lt{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Yt(t,e,n){const s=t[e];return Tt(s)?s:new Lt(t,e,n)}class qt{constructor(t,e,n,s){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new E(t,(()=>{this._dirty||(this._dirty=!0,At(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=Mt(this);return Wt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}var Bt;const Ft=Promise.resolve(),Gt=[];let Ht=!1;const Jt=()=>{for(let t=0;t<Gt.length;t++)Gt[t]();Gt.length=0,Ht=!1};class Qt{constructor(t){let e;this.dep=void 0,this._dirty=!0,this.__v_isRef=!0,this[Bt]=!0;let n=!1,s=!1;this.effect=new E(t,(t=>{if(this.dep){if(t)e=this._value,n=!0;else if(!s){const t=n?e:this._value;s=!0,n=!1,Gt.push((()=>{this.effect.active&&this._get()!==t&&At(this),s=!1})),Ht||(Ht=!0,Ft.then(Jt))}for(const t of this.dep)t.computed instanceof Qt&&t.scheduler(!0)}this._dirty=!0})),this.effect.computed=this}_get(){return this._dirty?(this._dirty=!1,this._value=this.effect.run()):this._value}get value(){return Wt(this),Mt(this)._get()}}return Bt="__v_isReadonly",t.EffectScope=d,t.ITERATE_KEY=k,t.ReactiveEffect=E,t.computed=function(t,e,s=!1){let i,r;const c="function"==typeof t;return c?(i=t,r=n):(i=t.get,r=t.set),new qt(i,r,c||!r,s)},t.customRef=function(t){return new Dt(t)},t.deferredComputed=function(t){return new Qt(t)},t.effect=function(t,e){t.effect&&(t=t.effect.fn);const n=new E(t);e&&(s(n,e),e.scope&&v(n,e.scope)),e&&e.lazy||n.run();const i=n.run.bind(n);return i.effect=n,i},t.effectScope=function(t){return new d(t)},t.enableTracking=function(){P.push(x),x=!0},t.getCurrentScope=function(){return p},t.isProxy=function(t){return Ot(t)||xt(t)},t.isReactive=Ot,t.isReadonly=xt,t.isRef=Tt,t.isShallow=Pt,t.markRaw=function(t){return((t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})})(t,"__v_skip",!0),t},t.onScopeDispose=function(t){p&&p.cleanups.push(t)},t.pauseTracking=M,t.proxyRefs=function(t){return Ot(t)?t:new Proxy(t,Kt)},t.reactive=kt,t.readonly=jt,t.ref=function(t){return Nt(t,!1)},t.resetTracking=z,t.shallowReactive=function(t){return Et(t,!1,Q,vt,Rt)},t.shallowReadonly=function(t){return Et(t,!0,U,yt,St)},t.shallowRef=function(t){return Nt(t,!0)},t.stop=function(t){t.effect.stop()},t.toRaw=Mt,t.toRef=Yt,t.toRefs=function(t){const e=c(t)?new Array(t.length):{};for(const n in t)e[n]=Yt(t,n);return e},t.track=V,t.trigger=A,t.triggerRef=function(t){At(t)},t.unref=It,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/reactivity",
3
- "version": "3.2.31",
3
+ "version": "3.2.34-beta.1",
4
4
  "description": "@vue/reactivity",
5
5
  "main": "index.js",
6
6
  "module": "dist/reactivity.esm-bundler.js",
@@ -36,6 +36,6 @@
36
36
  },
37
37
  "homepage": "https://github.com/vuejs/core/tree/main/packages/reactivity#readme",
38
38
  "dependencies": {
39
- "@vue/shared": "3.2.31"
39
+ "@vue/shared": "3.2.34-beta.1"
40
40
  }
41
41
  }