@vue/compat 3.4.0-beta.3 → 3.4.0-rc.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.
@@ -1893,8 +1893,10 @@ function checkRecursiveUpdates(seen, fn) {
1893
1893
  if (count > RECURSION_LIMIT) {
1894
1894
  const instance = fn.ownerInstance;
1895
1895
  const componentName = instance && getComponentName(instance.type);
1896
- warn(
1897
- `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`
1896
+ handleError(
1897
+ `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,
1898
+ null,
1899
+ 10
1898
1900
  );
1899
1901
  return true;
1900
1902
  } else {
@@ -6412,7 +6414,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6412
6414
  return vm;
6413
6415
  }
6414
6416
  }
6415
- Vue.version = `2.6.14-compat:${"3.4.0-beta.3"}`;
6417
+ Vue.version = `2.6.14-compat:${"3.4.0-rc.1"}`;
6416
6418
  Vue.config = singletonApp.config;
6417
6419
  Vue.use = (p, ...options) => {
6418
6420
  if (p && isFunction(p.install)) {
@@ -8140,9 +8142,9 @@ function propHasMismatch(el, key, clientValue) {
8140
8142
  let actual;
8141
8143
  let expected;
8142
8144
  if (key === "class") {
8143
- actual = el.className;
8144
- expected = normalizeClass(clientValue);
8145
- if (actual !== expected) {
8145
+ actual = toClassSet(el.getAttribute("class") || "");
8146
+ expected = toClassSet(normalizeClass(clientValue));
8147
+ if (!isSetEqual(actual, expected)) {
8146
8148
  mismatchType = mismatchKey = `class`;
8147
8149
  }
8148
8150
  } else if (key === "style") {
@@ -8174,6 +8176,20 @@ function propHasMismatch(el, key, clientValue) {
8174
8176
  }
8175
8177
  return false;
8176
8178
  }
8179
+ function toClassSet(str) {
8180
+ return new Set(str.trim().split(/\s+/));
8181
+ }
8182
+ function isSetEqual(a, b) {
8183
+ if (a.size !== b.size) {
8184
+ return false;
8185
+ }
8186
+ for (const s of a) {
8187
+ if (!b.has(s)) {
8188
+ return false;
8189
+ }
8190
+ }
8191
+ return true;
8192
+ }
8177
8193
 
8178
8194
  let supported;
8179
8195
  let perf;
@@ -11116,7 +11132,7 @@ function isMemoSame(cached, memo) {
11116
11132
  return true;
11117
11133
  }
11118
11134
 
11119
- const version = "3.4.0-beta.3";
11135
+ const version = "3.4.0-rc.1";
11120
11136
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11121
11137
  const ssrUtils = null;
11122
11138
  const resolveFilter = resolveFilter$1 ;
@@ -12575,7 +12591,9 @@ const modifierGuards = {
12575
12591
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
12576
12592
  };
12577
12593
  const withModifiers = (fn, modifiers) => {
12578
- return fn._withMods || (fn._withMods = (event, ...args) => {
12594
+ const cache = fn._withMods || (fn._withMods = {});
12595
+ const cacheKey = modifiers.join(".");
12596
+ return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
12579
12597
  for (let i = 0; i < modifiers.length; i++) {
12580
12598
  const guard = modifierGuards[modifiers[i]];
12581
12599
  if (guard && guard(event, modifiers))
@@ -12610,7 +12628,9 @@ const withKeys = (fn, modifiers) => {
12610
12628
  );
12611
12629
  }
12612
12630
  }
12613
- return fn._withKeys || (fn._withKeys = (event) => {
12631
+ const cache = fn._withKeys || (fn._withKeys = {});
12632
+ const cacheKey = modifiers.join(".");
12633
+ return cache[cacheKey] || (cache[cacheKey] = (event) => {
12614
12634
  if (!("key" in event)) {
12615
12635
  return;
12616
12636
  }