vue 3.5.0-alpha.3 → 3.5.0-alpha.4

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.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.0-alpha.3
2
+ * vue v3.5.0-alpha.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.0-alpha.3
2
+ * vue v3.5.0-alpha.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.0-alpha.3
2
+ * vue v3.5.0-alpha.4
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -3454,6 +3454,7 @@ function defineAsyncComponent(source) {
3454
3454
  },
3455
3455
  setup() {
3456
3456
  const instance = currentInstance;
3457
+ markAsyncBoundary(instance);
3457
3458
  if (resolvedComp) {
3458
3459
  return () => createInnerComp(resolvedComp, instance);
3459
3460
  }
@@ -3475,8 +3476,6 @@ function defineAsyncComponent(source) {
3475
3476
  error: err
3476
3477
  }) : null;
3477
3478
  });
3478
- } else {
3479
- markAsyncBoundary(instance);
3480
3479
  }
3481
3480
  const loaded = ref(false);
3482
3481
  const error = ref();
@@ -6877,7 +6876,7 @@ function baseCreateRenderer(options, createHydrationFns) {
6877
6876
  const componentUpdateFn = () => {
6878
6877
  if (!instance.isMounted) {
6879
6878
  let vnodeHook;
6880
- const { el, props } = initialVNode;
6879
+ const { el, props, type } = initialVNode;
6881
6880
  const { bm, m, parent } = instance;
6882
6881
  const isAsyncWrapperVNode = isAsyncWrapper(initialVNode);
6883
6882
  toggleRecurse(instance, false);
@@ -6911,8 +6910,8 @@ function baseCreateRenderer(options, createHydrationFns) {
6911
6910
  endMeasure(instance, `hydrate`);
6912
6911
  }
6913
6912
  };
6914
- if (isAsyncWrapperVNode) {
6915
- initialVNode.type.__asyncLoader().then(
6913
+ if (isAsyncWrapperVNode && !type.__asyncResolved) {
6914
+ type.__asyncLoader().then(
6916
6915
  // note: we are moving the render call into an async callback,
6917
6916
  // which means it won't track dependencies - but it's ok because
6918
6917
  // a server-rendered async wrapper is already in resolved state
@@ -8024,7 +8023,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
8024
8023
  const modifiers = getModelModifiers(props, name);
8025
8024
  const res = customRef((track, trigger) => {
8026
8025
  let localValue;
8027
- let prevSetValue;
8026
+ let prevSetValue = EMPTY_OBJ;
8028
8027
  let prevEmittedValue;
8029
8028
  watchSyncEffect(() => {
8030
8029
  const propValue = props[name];
@@ -8039,7 +8038,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
8039
8038
  return options.get ? options.get(localValue) : localValue;
8040
8039
  },
8041
8040
  set(value) {
8042
- if (!hasChanged(value, localValue)) {
8041
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
8043
8042
  return;
8044
8043
  }
8045
8044
  const rawProps = i.vnode.props;
@@ -8050,7 +8049,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
8050
8049
  }
8051
8050
  const emittedValue = options.set ? options.set(value) : value;
8052
8051
  i.emit(`update:${name}`, emittedValue);
8053
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
8052
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
8054
8053
  trigger();
8055
8054
  }
8056
8055
  prevSetValue = value;
@@ -9669,7 +9668,7 @@ function setupStatefulComponent(instance, isSSR) {
9669
9668
  resetTracking();
9670
9669
  reset();
9671
9670
  if (isPromise(setupResult)) {
9672
- markAsyncBoundary(instance);
9671
+ if (!isAsyncWrapper(instance)) markAsyncBoundary(instance);
9673
9672
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
9674
9673
  if (isSSR) {
9675
9674
  return setupResult.then((resolvedResult) => {
@@ -10150,7 +10149,7 @@ function isMemoSame(cached, memo) {
10150
10149
  return true;
10151
10150
  }
10152
10151
 
10153
- const version = "3.5.0-alpha.3";
10152
+ const version = "3.5.0-alpha.4";
10154
10153
  const warn = warn$1 ;
10155
10154
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10156
10155
  const devtools = devtools$1 ;