@vue/compat 3.4.14 → 3.4.16

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.14
2
+ * @vue/compat v3.4.16
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -268,6 +268,13 @@ var Vue = (function () {
268
268
  const isKnownSvgAttr = /* @__PURE__ */ makeMap(
269
269
  `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`
270
270
  );
271
+ function isRenderableAttrValue(value) {
272
+ if (value == null) {
273
+ return false;
274
+ }
275
+ const type = typeof value;
276
+ return type === "string" || type === "number" || type === "boolean";
277
+ }
271
278
 
272
279
  function looseCompareArrays(a, b) {
273
280
  if (a.length !== b.length)
@@ -468,7 +475,7 @@ var Vue = (function () {
468
475
  /**
469
476
  * @internal
470
477
  */
471
- this._dirtyLevel = 2;
478
+ this._dirtyLevel = 4;
472
479
  /**
473
480
  * @internal
474
481
  */
@@ -488,26 +495,27 @@ var Vue = (function () {
488
495
  recordEffectScope(this, scope);
489
496
  }
490
497
  get dirty() {
491
- if (this._dirtyLevel === 1) {
498
+ if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
499
+ this._dirtyLevel = 1;
492
500
  pauseTracking();
493
501
  for (let i = 0; i < this._depsLength; i++) {
494
502
  const dep = this.deps[i];
495
503
  if (dep.computed) {
496
504
  triggerComputed(dep.computed);
497
- if (this._dirtyLevel >= 2) {
505
+ if (this._dirtyLevel >= 4) {
498
506
  break;
499
507
  }
500
508
  }
501
509
  }
502
- if (this._dirtyLevel < 2) {
510
+ if (this._dirtyLevel === 1) {
503
511
  this._dirtyLevel = 0;
504
512
  }
505
513
  resetTracking();
506
514
  }
507
- return this._dirtyLevel >= 2;
515
+ return this._dirtyLevel >= 4;
508
516
  }
509
517
  set dirty(v) {
510
- this._dirtyLevel = v ? 2 : 0;
518
+ this._dirtyLevel = v ? 4 : 0;
511
519
  }
512
520
  run() {
513
521
  this._dirtyLevel = 0;
@@ -547,7 +555,7 @@ var Vue = (function () {
547
555
  effect2._depsLength = 0;
548
556
  }
549
557
  function postCleanupEffect(effect2) {
550
- if (effect2.deps && effect2.deps.length > effect2._depsLength) {
558
+ if (effect2.deps.length > effect2._depsLength) {
551
559
  for (let i = effect2._depsLength; i < effect2.deps.length; i++) {
552
560
  cleanupDepEffect(effect2.deps[i], effect2);
553
561
  }
@@ -630,24 +638,23 @@ var Vue = (function () {
630
638
  var _a;
631
639
  pauseScheduling();
632
640
  for (const effect2 of dep.keys()) {
633
- if (dep.get(effect2) !== effect2._trackId) {
634
- continue;
635
- }
636
- if (effect2._dirtyLevel < dirtyLevel && !(effect2._runnings && !effect2.allowRecurse)) {
637
- const lastDirtyLevel = effect2._dirtyLevel;
641
+ let tracking;
642
+ if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
643
+ effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
638
644
  effect2._dirtyLevel = dirtyLevel;
639
- if (lastDirtyLevel === 0) {
640
- effect2._shouldSchedule = true;
641
- {
642
- (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
645
+ }
646
+ if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
647
+ {
648
+ (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
649
+ }
650
+ effect2.trigger();
651
+ if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
652
+ effect2._shouldSchedule = false;
653
+ if (effect2.scheduler) {
654
+ queueEffectSchedulers.push(effect2.scheduler);
643
655
  }
644
- effect2.trigger();
645
656
  }
646
657
  }
647
- if (effect2.scheduler && effect2._shouldSchedule && (!effect2._runnings || effect2.allowRecurse)) {
648
- effect2._shouldSchedule = false;
649
- queueEffectSchedulers.push(effect2.scheduler);
650
- }
651
658
  }
652
659
  resetScheduling();
653
660
  }
@@ -733,7 +740,7 @@ var Vue = (function () {
733
740
  if (dep) {
734
741
  triggerEffects(
735
742
  dep,
736
- 2,
743
+ 4,
737
744
  {
738
745
  target,
739
746
  type,
@@ -1318,7 +1325,9 @@ var Vue = (function () {
1318
1325
  return raw ? toRaw(raw) : observed;
1319
1326
  }
1320
1327
  function markRaw(value) {
1321
- def(value, "__v_skip", true);
1328
+ if (Object.isExtensible(value)) {
1329
+ def(value, "__v_skip", true);
1330
+ }
1322
1331
  return value;
1323
1332
  }
1324
1333
  const toReactive = (value) => isObject(value) ? reactive(value) : value;
@@ -1332,7 +1341,10 @@ var Vue = (function () {
1332
1341
  this["__v_isReadonly"] = false;
1333
1342
  this.effect = new ReactiveEffect(
1334
1343
  () => getter(this._value),
1335
- () => triggerRefValue(this, 1)
1344
+ () => triggerRefValue(
1345
+ this,
1346
+ this.effect._dirtyLevel === 2 ? 2 : 3
1347
+ )
1336
1348
  );
1337
1349
  this.effect.computed = this;
1338
1350
  this.effect.active = this._cacheable = !isSSR;
@@ -1340,12 +1352,13 @@ var Vue = (function () {
1340
1352
  }
1341
1353
  get value() {
1342
1354
  const self = toRaw(this);
1343
- if (!self._cacheable || self.effect.dirty) {
1344
- if (hasChanged(self._value, self._value = self.effect.run())) {
1345
- triggerRefValue(self, 2);
1346
- }
1355
+ if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1356
+ triggerRefValue(self, 4);
1347
1357
  }
1348
1358
  trackRefValue(self);
1359
+ if (self.effect._dirtyLevel >= 2) {
1360
+ triggerRefValue(self, 2);
1361
+ }
1349
1362
  return self._value;
1350
1363
  }
1351
1364
  set value(newValue) {
@@ -1382,14 +1395,15 @@ var Vue = (function () {
1382
1395
  }
1383
1396
 
1384
1397
  function trackRefValue(ref2) {
1398
+ var _a;
1385
1399
  if (shouldTrack && activeEffect) {
1386
1400
  ref2 = toRaw(ref2);
1387
1401
  trackEffect(
1388
1402
  activeEffect,
1389
- ref2.dep || (ref2.dep = createDep(
1403
+ (_a = ref2.dep) != null ? _a : ref2.dep = createDep(
1390
1404
  () => ref2.dep = void 0,
1391
1405
  ref2 instanceof ComputedRefImpl ? ref2 : void 0
1392
- )),
1406
+ ),
1393
1407
  {
1394
1408
  target: ref2,
1395
1409
  type: "get",
@@ -1398,7 +1412,7 @@ var Vue = (function () {
1398
1412
  );
1399
1413
  }
1400
1414
  }
1401
- function triggerRefValue(ref2, dirtyLevel = 2, newVal) {
1415
+ function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
1402
1416
  ref2 = toRaw(ref2);
1403
1417
  const dep = ref2.dep;
1404
1418
  if (dep) {
@@ -1447,12 +1461,12 @@ var Vue = (function () {
1447
1461
  if (hasChanged(newVal, this._rawValue)) {
1448
1462
  this._rawValue = newVal;
1449
1463
  this._value = useDirectValue ? newVal : toReactive(newVal);
1450
- triggerRefValue(this, 2, newVal);
1464
+ triggerRefValue(this, 4, newVal);
1451
1465
  }
1452
1466
  }
1453
1467
  }
1454
1468
  function triggerRef(ref2) {
1455
- triggerRefValue(ref2, 2, ref2.value );
1469
+ triggerRefValue(ref2, 4, ref2.value );
1456
1470
  }
1457
1471
  function unref(ref2) {
1458
1472
  return isRef(ref2) ? ref2.value : ref2;
@@ -6485,7 +6499,7 @@ If this is a native custom element, make sure to exclude it from component resol
6485
6499
  return vm;
6486
6500
  }
6487
6501
  }
6488
- Vue.version = `2.6.14-compat:${"3.4.14"}`;
6502
+ Vue.version = `2.6.14-compat:${"3.4.16"}`;
6489
6503
  Vue.config = singletonApp.config;
6490
6504
  Vue.use = (p, ...options) => {
6491
6505
  if (p && isFunction(p.install)) {
@@ -7030,11 +7044,12 @@ If you want to remount the same app, move your app creation logic into a factory
7030
7044
  return app;
7031
7045
  },
7032
7046
  runWithContext(fn) {
7047
+ const lastApp = currentApp;
7033
7048
  currentApp = app;
7034
7049
  try {
7035
7050
  return fn();
7036
7051
  } finally {
7037
- currentApp = null;
7052
+ currentApp = lastApp;
7038
7053
  }
7039
7054
  }
7040
7055
  };
@@ -7554,7 +7569,7 @@ If you want to remount the same app, move your app creation logic into a factory
7554
7569
  return rawSlot;
7555
7570
  }
7556
7571
  const normalized = withCtx((...args) => {
7557
- if (currentInstance) {
7572
+ if (currentInstance && (!ctx || ctx.root === currentInstance.root)) {
7558
7573
  warn$1(
7559
7574
  `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
7560
7575
  );
@@ -8030,7 +8045,7 @@ Server rendered element contains more child nodes than client vdom.`
8030
8045
  if (props) {
8031
8046
  {
8032
8047
  for (const key in props) {
8033
- if (propHasMismatch(el, key, props[key], vnode)) {
8048
+ if (propHasMismatch(el, key, props[key], vnode, parentComponent)) {
8034
8049
  hasMismatch = true;
8035
8050
  }
8036
8051
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -8205,7 +8220,8 @@ Server rendered element contains fewer child nodes than client vdom.`
8205
8220
  };
8206
8221
  return [hydrate, hydrateNode];
8207
8222
  }
8208
- function propHasMismatch(el, key, clientValue, vnode) {
8223
+ function propHasMismatch(el, key, clientValue, vnode, instance) {
8224
+ var _a;
8209
8225
  let mismatchType;
8210
8226
  let mismatchKey;
8211
8227
  let actual;
@@ -8228,6 +8244,10 @@ Server rendered element contains fewer child nodes than client vdom.`
8228
8244
  }
8229
8245
  }
8230
8246
  }
8247
+ const cssVars = (_a = instance == null ? void 0 : instance.getCssVars) == null ? void 0 : _a.call(instance);
8248
+ for (const key2 in cssVars) {
8249
+ expectedMap.set(`--${key2}`, String(cssVars[key2]));
8250
+ }
8231
8251
  if (!isMapEqual(actualMap, expectedMap)) {
8232
8252
  mismatchType = mismatchKey = "style";
8233
8253
  }
@@ -8241,11 +8261,12 @@ Server rendered element contains fewer child nodes than client vdom.`
8241
8261
  } else {
8242
8262
  if (el.hasAttribute(key)) {
8243
8263
  actual = el.getAttribute(key);
8264
+ } else if (key === "value" && el.tagName === "TEXTAREA") {
8265
+ actual = el.value;
8244
8266
  } else {
8245
- const serverValue = el[key];
8246
- actual = isObject(serverValue) || serverValue == null ? "" : String(serverValue);
8267
+ actual = false;
8247
8268
  }
8248
- expected = isObject(clientValue) || clientValue == null ? "" : String(clientValue);
8269
+ expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;
8249
8270
  }
8250
8271
  if (actual !== expected) {
8251
8272
  mismatchType = `attribute`;
@@ -11300,7 +11321,7 @@ Component that was made reactive: `,
11300
11321
  return true;
11301
11322
  }
11302
11323
 
11303
- const version = "3.4.14";
11324
+ const version = "3.4.16";
11304
11325
  const warn = warn$1 ;
11305
11326
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11306
11327
  const devtools = devtools$1 ;
@@ -11721,7 +11742,7 @@ Component that was made reactive: `,
11721
11742
  }
11722
11743
  },
11723
11744
  updated(el, { value, oldValue }, { transition }) {
11724
- if (!value === !oldValue)
11745
+ if (!value === !oldValue && el.style.display === el[vShowOldKey])
11725
11746
  return;
11726
11747
  if (transition) {
11727
11748
  if (value) {
@@ -11760,6 +11781,9 @@ Component that was made reactive: `,
11760
11781
  document.querySelectorAll(`[data-v-owner="${instance.uid}"]`)
11761
11782
  ).forEach((node) => setVarsOnNode(node, vars));
11762
11783
  };
11784
+ {
11785
+ instance.getCssVars = () => getter(instance.proxy);
11786
+ }
11763
11787
  const setVars = () => {
11764
11788
  const vars = getter(instance.proxy);
11765
11789
  setVarsOnVNode(instance.subTree, vars);
@@ -11840,6 +11864,7 @@ Component that was made reactive: `,
11840
11864
  }
11841
11865
  }
11842
11866
  if (vShowOldKey in el) {
11867
+ el[vShowOldKey] = style.display;
11843
11868
  style.display = currentDisplay;
11844
11869
  }
11845
11870
  }
@@ -12647,24 +12672,31 @@ Component that was made reactive: `,
12647
12672
  el[assignKey](
12648
12673
  el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
12649
12674
  );
12675
+ el._assigning = true;
12676
+ nextTick(() => {
12677
+ el._assigning = false;
12678
+ });
12650
12679
  });
12651
12680
  el[assignKey] = getModelAssigner(vnode);
12652
12681
  },
12653
12682
  // set value in mounted & updated because <select> relies on its children
12654
12683
  // <option>s.
12655
- mounted(el, { value }) {
12656
- setSelected(el, value);
12684
+ mounted(el, { value, oldValue, modifiers: { number } }) {
12685
+ setSelected(el, value, oldValue, number);
12657
12686
  },
12658
12687
  beforeUpdate(el, _binding, vnode) {
12659
12688
  el[assignKey] = getModelAssigner(vnode);
12660
12689
  },
12661
- updated(el, { value }) {
12662
- setSelected(el, value);
12690
+ updated(el, { value, oldValue, modifiers: { number } }) {
12691
+ if (!el._assigning) {
12692
+ setSelected(el, value, oldValue, number);
12693
+ }
12663
12694
  }
12664
12695
  };
12665
- function setSelected(el, value) {
12696
+ function setSelected(el, value, oldValue, number) {
12666
12697
  const isMultiple = el.multiple;
12667
- if (isMultiple && !isArray(value) && !isSet(value)) {
12698
+ const isArrayValue = isArray(value);
12699
+ if (isMultiple && !isArrayValue && !isSet(value)) {
12668
12700
  warn(
12669
12701
  `<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(value).slice(8, -1)}.`
12670
12702
  );
@@ -12674,8 +12706,15 @@ Component that was made reactive: `,
12674
12706
  const option = el.options[i];
12675
12707
  const optionValue = getValue(option);
12676
12708
  if (isMultiple) {
12677
- if (isArray(value)) {
12678
- option.selected = looseIndexOf(value, optionValue) > -1;
12709
+ if (isArrayValue) {
12710
+ const optionType = typeof optionValue;
12711
+ if (optionType === "string" || optionType === "number") {
12712
+ option.selected = value.includes(
12713
+ number ? looseToNumber(optionValue) : optionValue
12714
+ );
12715
+ } else {
12716
+ option.selected = looseIndexOf(value, optionValue) > -1;
12717
+ }
12679
12718
  } else {
12680
12719
  option.selected = value.has(optionValue);
12681
12720
  }
@@ -14307,6 +14346,7 @@ Make sure to use the production build (*.prod.js) when deploying for production.
14307
14346
  [32]: `v-for has invalid expression.`,
14308
14347
  [33]: `<template v-for> key should be placed on the <template> tag.`,
14309
14348
  [34]: `v-bind is missing expression.`,
14349
+ [52]: `v-bind with same-name shorthand only allows static argument.`,
14310
14350
  [35]: `v-on is missing expression.`,
14311
14351
  [36]: `Unexpected custom directive on <slot> outlet.`,
14312
14352
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -14327,7 +14367,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14327
14367
  [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
14328
14368
  [50]: `"scopeId" option is only supported in module mode.`,
14329
14369
  // just to fulfill types
14330
- [52]: ``
14370
+ [53]: ``
14331
14371
  };
14332
14372
 
14333
14373
  const isStaticExp = (p) => p.type === 4 && p.isStatic;
@@ -15922,8 +15962,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15922
15962
  const helpers = Array.from(ast.helpers);
15923
15963
  const hasHelpers = helpers.length > 0;
15924
15964
  const useWithBlock = !prefixIdentifiers && mode !== "module";
15925
- const isSetupInlined = false;
15926
- const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context;
15965
+ const preambleContext = context;
15927
15966
  {
15928
15967
  genFunctionPreamble(ast, preambleContext);
15929
15968
  }
@@ -15991,7 +16030,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
15991
16030
  return {
15992
16031
  ast,
15993
16032
  code: context.code,
15994
- preamble: isSetupInlined ? preambleContext.code : ``,
16033
+ preamble: ``,
15995
16034
  map: context.map ? context.map.toJSON() : void 0
15996
16035
  };
15997
16036
  }
@@ -17749,8 +17788,12 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17749
17788
  }
17750
17789
  } else {
17751
17790
  if (p.name === "bind" && isStaticArgOf(p.arg, "name")) {
17752
- if (p.exp)
17791
+ if (p.exp) {
17753
17792
  slotName = p.exp;
17793
+ } else if (p.arg && p.arg.type === 4) {
17794
+ const name = camelize(p.arg.content);
17795
+ slotName = p.exp = createSimpleExpression(name, false, p.arg.loc);
17796
+ }
17754
17797
  } else {
17755
17798
  if (p.name === "bind" && p.arg && isStaticExp(p.arg)) {
17756
17799
  p.arg.content = camelize(p.arg.content);
@@ -17868,7 +17911,25 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17868
17911
  const { modifiers, loc } = dir;
17869
17912
  const arg = dir.arg;
17870
17913
  let { exp } = dir;
17871
- if (!exp && arg.type === 4) {
17914
+ if (exp && exp.type === 4 && !exp.content.trim()) {
17915
+ {
17916
+ exp = void 0;
17917
+ }
17918
+ }
17919
+ if (!exp) {
17920
+ if (arg.type !== 4 || !arg.isStatic) {
17921
+ context.onError(
17922
+ createCompilerError(
17923
+ 52,
17924
+ arg.loc
17925
+ )
17926
+ );
17927
+ return {
17928
+ props: [
17929
+ createObjectProperty(arg, createSimpleExpression("", true, loc))
17930
+ ]
17931
+ };
17932
+ }
17872
17933
  const propName = camelize(arg.content);
17873
17934
  exp = dir.exp = createSimpleExpression(propName, false, arg.loc);
17874
17935
  }
@@ -17898,12 +17959,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
17898
17959
  injectPrefix(arg, "^");
17899
17960
  }
17900
17961
  }
17901
- if (!exp || exp.type === 4 && !exp.content.trim()) {
17902
- context.onError(createCompilerError(34, loc));
17903
- return {
17904
- props: [createObjectProperty(arg, createSimpleExpression("", true, loc))]
17905
- };
17906
- }
17907
17962
  return {
17908
17963
  props: [createObjectProperty(arg, exp)]
17909
17964
  };