Best JavaScript code snippet using playwright-internal
vue.runtime.esm.js
Source:vue.runtime.esm.js
...1268 if (handler) {1269 callWithAsyncErrorHandling(handler, instance, 6 /* COMPONENT_EVENT_HANDLER */, args);1270 }1271}1272function normalizeEmitsOptions(comp, appContext, asMixin = false) {1273 const appId = appContext.app ? appContext.app._uid : -1;1274 const cache = comp.__emits || (comp.__emits = {});1275 const cached = cache[appId];1276 if (cached !== undefined) {1277 return cached;1278 }1279 const raw = comp.emits;1280 let normalized = {};1281 // apply mixin/extends props1282 let hasExtends = false;1283 if (__VUE_OPTIONS_API__ && !isFunction(comp)) {1284 const extendEmits = (raw) => {1285 hasExtends = true;1286 extend(normalized, normalizeEmitsOptions(raw, appContext, true));1287 };1288 if (!asMixin && appContext.mixins.length) {1289 appContext.mixins.forEach(extendEmits);1290 }1291 if (comp.extends) {1292 extendEmits(comp.extends);1293 }1294 if (comp.mixins) {1295 comp.mixins.forEach(extendEmits);1296 }1297 }1298 if (!raw && !hasExtends) {1299 return (cache[appId] = null);1300 }1301 if (isArray(raw)) {1302 raw.forEach(key => (normalized[key] = null));1303 }1304 else {1305 extend(normalized, raw);1306 }1307 return (cache[appId] = normalized);1308}1309// Check if an incoming prop key is a declared emit event listener.1310// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are1311// both considered matched listeners.1312function isEmitListener(options, key) {1313 if (!options || !isOn(key)) {1314 return false;1315 }1316 key = key.replace(/Once$/, '');1317 return (hasOwn(options, key[2].toLowerCase() + key.slice(3)) ||1318 hasOwn(options, key.slice(2)));1319}1320// mark the current rendering instance for asset resolution (e.g.1321// resolveComponent, resolveDirective) during render1322let currentRenderingInstance = null;1323function markAttrsAccessed() {1324}1325function initProps(instance, rawProps, isStateful, // result of bitwise flag comparison1326isSSR = false) {1327 const props = {};1328 const attrs = {};1329 // def(attrs, InternalObjectKey, 1) // fixed by xxxxxx1330 def(attrs, '__vInternal', 1);1331 setFullProps(instance, rawProps, props, attrs);1332 // validation1333 if ((process.env.NODE_ENV !== 'production')) {1334 validateProps(props, instance);1335 }1336 if (isStateful) {1337 // stateful1338 instance.props = isSSR ? props : shallowReactive(props);1339 }1340 else {1341 if (!instance.type.props) {1342 // functional w/ optional props, props === attrs1343 instance.props = attrs;1344 }1345 else {1346 // functional w/ declared props1347 instance.props = props;1348 }1349 }1350 instance.attrs = attrs;1351}1352function setFullProps(instance, rawProps, props, attrs) {1353 const [options, needCastKeys] = instance.propsOptions;1354 if (rawProps) {1355 for (const key in rawProps) {1356 const value = rawProps[key];1357 // key, ref are reserved and never passed down1358 if (isReservedProp(key)) {1359 continue;1360 }1361 // prop option names are camelized during normalization, so to support1362 // kebab -> camel conversion here we need to camelize the key.1363 let camelKey;1364 if (options && hasOwn(options, (camelKey = camelize(key)))) {1365 props[camelKey] = value;1366 }1367 else if (!isEmitListener(instance.emitsOptions, key)) {1368 // Any non-declared (either as a prop or an emitted event) props are put1369 // into a separate `attrs` object for spreading. Make sure to preserve1370 // original key casing1371 attrs[key] = value;1372 }1373 }1374 }1375 if (needCastKeys) {1376 const rawCurrentProps = toRaw(props);1377 for (let i = 0; i < needCastKeys.length; i++) {1378 const key = needCastKeys[i];1379 props[key] = resolvePropValue(options, rawCurrentProps, key, rawCurrentProps[key], instance);1380 }1381 }1382}1383function resolvePropValue(options, props, key, value, instance) {1384 const opt = options[key];1385 if (opt != null) {1386 const hasDefault = hasOwn(opt, 'default');1387 // default values1388 if (hasDefault && value === undefined) {1389 const defaultValue = opt.default;1390 if (opt.type !== Function && isFunction(defaultValue)) {1391 setCurrentInstance(instance);1392 value = defaultValue(props);1393 setCurrentInstance(null);1394 }1395 else {1396 value = defaultValue;1397 }1398 }1399 // boolean casting1400 if (opt[0 /* shouldCast */]) {1401 if (!hasOwn(props, key) && !hasDefault) {1402 value = false;1403 }1404 else if (opt[1 /* shouldCastTrue */] &&1405 (value === '' || value === hyphenate(key))) {1406 value = true;1407 }1408 }1409 }1410 return value;1411}1412function normalizePropsOptions(comp, appContext, asMixin = false) {1413 const appId = appContext.app ? appContext.app._uid : -1;1414 const cache = comp.__props || (comp.__props = {});1415 const cached = cache[appId];1416 if (cached) {1417 return cached;1418 }1419 const raw = comp.props;1420 const normalized = {};1421 const needCastKeys = [];1422 // apply mixin/extends props1423 let hasExtends = false;1424 if (__VUE_OPTIONS_API__ && !isFunction(comp)) {1425 const extendProps = (raw) => {1426 hasExtends = true;1427 const [props, keys] = normalizePropsOptions(raw, appContext, true);1428 extend(normalized, props);1429 if (keys)1430 needCastKeys.push(...keys);1431 };1432 if (!asMixin && appContext.mixins.length) {1433 appContext.mixins.forEach(extendProps);1434 }1435 if (comp.extends) {1436 extendProps(comp.extends);1437 }1438 if (comp.mixins) {1439 comp.mixins.forEach(extendProps);1440 }1441 }1442 if (!raw && !hasExtends) {1443 return (cache[appId] = EMPTY_ARR);1444 }1445 if (isArray(raw)) {1446 for (let i = 0; i < raw.length; i++) {1447 if ((process.env.NODE_ENV !== 'production') && !isString(raw[i])) {1448 warn(`props must be strings when using array syntax.`, raw[i]);1449 }1450 const normalizedKey = camelize(raw[i]);1451 if (validatePropName(normalizedKey)) {1452 normalized[normalizedKey] = EMPTY_OBJ;1453 }1454 }1455 }1456 else if (raw) {1457 if ((process.env.NODE_ENV !== 'production') && !isObject(raw)) {1458 warn(`invalid props options`, raw);1459 }1460 for (const key in raw) {1461 const normalizedKey = camelize(key);1462 if (validatePropName(normalizedKey)) {1463 const opt = raw[key];1464 const prop = (normalized[normalizedKey] =1465 isArray(opt) || isFunction(opt) ? { type: opt } : opt);1466 if (prop) {1467 const booleanIndex = getTypeIndex(Boolean, prop.type);1468 const stringIndex = getTypeIndex(String, prop.type);1469 prop[0 /* shouldCast */] = booleanIndex > -1;1470 prop[1 /* shouldCastTrue */] =1471 stringIndex < 0 || booleanIndex < stringIndex;1472 // if the prop needs boolean casting or default value1473 if (booleanIndex > -1 || hasOwn(prop, 'default')) {1474 needCastKeys.push(normalizedKey);1475 }1476 }1477 }1478 }1479 }1480 return (cache[appId] = [normalized, needCastKeys]);1481}1482// use function string name to check type constructors1483// so that it works across vms / iframes.1484function getType(ctor) {1485 const match = ctor && ctor.toString().match(/^\s*function (\w+)/);1486 return match ? match[1] : '';1487}1488function isSameType(a, b) {1489 return getType(a) === getType(b);1490}1491function getTypeIndex(type, expectedTypes) {1492 if (isArray(expectedTypes)) {1493 for (let i = 0, len = expectedTypes.length; i < len; i++) {1494 if (isSameType(expectedTypes[i], type)) {1495 return i;1496 }1497 }1498 }1499 else if (isFunction(expectedTypes)) {1500 return isSameType(expectedTypes, type) ? 0 : -1;1501 }1502 return -1;1503}1504/**1505 * dev only1506 */1507function validateProps(props, instance) {1508 const rawValues = toRaw(props);1509 const options = instance.propsOptions[0];1510 for (const key in options) {1511 let opt = options[key];1512 if (opt == null)1513 continue;1514 validateProp(key, rawValues[key], opt, !hasOwn(rawValues, key));1515 }1516}1517/**1518 * dev only1519 */1520function validatePropName(key) {1521 if (key[0] !== '$') {1522 return true;1523 }1524 else if ((process.env.NODE_ENV !== 'production')) {1525 warn(`Invalid prop name: "${key}" is a reserved property.`);1526 }1527 return false;1528}1529/**1530 * dev only1531 */1532function validateProp(name, value, prop, isAbsent) {1533 const { type, required, validator } = prop;1534 // required!1535 if (required && isAbsent) {1536 warn('Missing required prop: "' + name + '"');1537 return;1538 }1539 // missing but optional1540 if (value == null && !prop.required) {1541 return;1542 }1543 // type check1544 if (type != null && type !== true) {1545 let isValid = false;1546 const types = isArray(type) ? type : [type];1547 const expectedTypes = [];1548 // value is valid as long as one of the specified types match1549 for (let i = 0; i < types.length && !isValid; i++) {1550 const { valid, expectedType } = assertType(value, types[i]);1551 expectedTypes.push(expectedType || '');1552 isValid = valid;1553 }1554 if (!isValid) {1555 warn(getInvalidTypeMessage(name, value, expectedTypes));1556 return;1557 }1558 }1559 // custom validator1560 if (validator && !validator(value)) {1561 warn('Invalid prop: custom validator check failed for prop "' + name + '".');1562 }1563}1564const isSimpleType = /*#__PURE__*/ makeMap('String,Number,Boolean,Function,Symbol');1565/**1566 * dev only1567 */1568function assertType(value, type) {1569 let valid;1570 const expectedType = getType(type);1571 if (isSimpleType(expectedType)) {1572 const t = typeof value;1573 valid = t === expectedType.toLowerCase();1574 // for primitive wrapper objects1575 if (!valid && t === 'object') {1576 valid = value instanceof type;1577 }1578 }1579 else if (expectedType === 'Object') {1580 valid = isObject(value);1581 }1582 else if (expectedType === 'Array') {1583 valid = isArray(value);1584 }1585 else {1586 valid = value instanceof type;1587 }1588 return {1589 valid,1590 expectedType1591 };1592}1593/**1594 * dev only1595 */1596function getInvalidTypeMessage(name, value, expectedTypes) {1597 let message = `Invalid prop: type check failed for prop "${name}".` +1598 ` Expected ${expectedTypes.map(capitalize).join(', ')}`;1599 const expectedType = expectedTypes[0];1600 const receivedType = toRawType(value);1601 const expectedValue = styleValue(value, expectedType);1602 const receivedValue = styleValue(value, receivedType);1603 // check if we need to specify expected value1604 if (expectedTypes.length === 1 &&1605 isExplicable(expectedType) &&1606 !isBoolean(expectedType, receivedType)) {1607 message += ` with value ${expectedValue}`;1608 }1609 message += `, got ${receivedType} `;1610 // check if we need to specify received value1611 if (isExplicable(receivedType)) {1612 message += `with value ${receivedValue}.`;1613 }1614 return message;1615}1616/**1617 * dev only1618 */1619function styleValue(value, type) {1620 if (type === 'String') {1621 return `"${value}"`;1622 }1623 else if (type === 'Number') {1624 return `${Number(value)}`;1625 }1626 else {1627 return `${value}`;1628 }1629}1630/**1631 * dev only1632 */1633function isExplicable(type) {1634 const explicitTypes = ['string', 'number', 'boolean'];1635 return explicitTypes.some(elem => type.toLowerCase() === elem);1636}1637/**1638 * dev only1639 */1640function isBoolean(...args) {1641 return args.some(elem => elem.toLowerCase() === 'boolean');1642}1643function injectHook(type, hook, target = currentInstance, prepend = false) {1644 if (target) {1645 const hooks = target[type] || (target[type] = []);1646 // cache the error handling wrapper for injected hooks so the same hook1647 // can be properly deduped by the scheduler. "__weh" stands for "with error1648 // handling".1649 const wrappedHook = hook.__weh ||1650 (hook.__weh = (...args) => {1651 if (target.isUnmounted) {1652 return;1653 }1654 // disable tracking inside all lifecycle hooks1655 // since they can potentially be called inside effects.1656 pauseTracking();1657 // Set currentInstance during hook invocation.1658 // This assumes the hook does not synchronously trigger other hooks, which1659 // can only be false when the user does something really funky.1660 setCurrentInstance(target);1661 const res = callWithAsyncErrorHandling(hook, target, type, args);1662 setCurrentInstance(null);1663 resetTracking();1664 return res;1665 });1666 if (prepend) {1667 hooks.unshift(wrappedHook);1668 }1669 else {1670 hooks.push(wrappedHook);1671 }1672 return wrappedHook;1673 }1674 else if ((process.env.NODE_ENV !== 'production')) {1675 const apiName = `on${capitalize(ErrorTypeStrings[type].replace(/ hook$/, ''))}`;1676 warn(`${apiName} is called when there is no active component instance to be ` +1677 `associated with. ` +1678 `Lifecycle injection APIs can only be used during execution of setup().` +1679 ( ``));1680 }1681}1682const createHook = (lifecycle) => (hook, target = currentInstance) => 1683// post-create lifecycle registrations are noops during SSR1684!isInSSRComponentSetup && injectHook(lifecycle, hook, target);1685const onBeforeMount = createHook("bm" /* BEFORE_MOUNT */);1686const onMounted = createHook("m" /* MOUNTED */);1687const onBeforeUpdate = createHook("bu" /* BEFORE_UPDATE */);1688const onUpdated = createHook("u" /* UPDATED */);1689const onBeforeUnmount = createHook("bum" /* BEFORE_UNMOUNT */);1690const onUnmounted = createHook("um" /* UNMOUNTED */);1691const onRenderTriggered = createHook("rtg" /* RENDER_TRIGGERED */);1692const onRenderTracked = createHook("rtc" /* RENDER_TRACKED */);1693const onErrorCaptured = (hook, target = currentInstance) => {1694 injectHook("ec" /* ERROR_CAPTURED */, hook, target);1695};1696const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;1697function onActivated(hook, target) {1698 registerKeepAliveHook(hook, "a" /* ACTIVATED */, target);1699}1700function onDeactivated(hook, target) {1701 registerKeepAliveHook(hook, "da" /* DEACTIVATED */, target);1702}1703function registerKeepAliveHook(hook, type, target = currentInstance) {1704 // cache the deactivate branch check wrapper for injected hooks so the same1705 // hook can be properly deduped by the scheduler. "__wdc" stands for "with1706 // deactivation check".1707 const wrappedHook = hook.__wdc ||1708 (hook.__wdc = () => {1709 // only fire the hook if the target instance is NOT in a deactivated branch.1710 let current = target;1711 while (current) {1712 if (current.isDeactivated) {1713 return;1714 }1715 current = current.parent;1716 }1717 hook();1718 });1719 injectHook(type, wrappedHook, target);1720 // In addition to registering it on the target instance, we walk up the parent1721 // chain and register it on all ancestor instances that are keep-alive roots.1722 // This avoids the need to walk the entire component tree when invoking these1723 // hooks, and more importantly, avoids the need to track child components in1724 // arrays.1725 if (target) {1726 let current = target.parent;1727 while (current && current.parent) {1728 if (isKeepAlive(current.parent.vnode)) {1729 injectToKeepAliveRoot(wrappedHook, type, target, current);1730 }1731 current = current.parent;1732 }1733 }1734}1735function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {1736 // injectHook wraps the original for error handling, so make sure to remove1737 // the wrapped version.1738 const injected = injectHook(type, hook, keepAliveRoot, true /* prepend */);1739 onUnmounted(() => {1740 remove(keepAliveRoot[type], injected);1741 }, target);1742}1743/**1744Runtime helper for applying directives to a vnode. Example usage:1745const comp = resolveComponent('comp')1746const foo = resolveDirective('foo')1747const bar = resolveDirective('bar')1748return withDirectives(h(comp), [1749 [foo, this.x],1750 [bar, this.y]1751])1752*/1753const isBuiltInDirective = /*#__PURE__*/ makeMap('bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text');1754function validateDirectiveName(name) {1755 if (isBuiltInDirective(name)) {1756 warn('Do not use built-in directive ids as custom directive id: ' + name);1757 }1758}1759function createAppContext() {1760 return {1761 app: null,1762 config: {1763 isNativeTag: NO,1764 performance: false,1765 globalProperties: {},1766 optionMergeStrategies: {},1767 isCustomElement: NO,1768 errorHandler: undefined,1769 warnHandler: undefined1770 },1771 mixins: [],1772 components: {},1773 directives: {},1774 provides: Object.create(null)1775 };1776}1777let uid$1 = 0;1778// fixed by xxxxxx1779function createAppAPI() {1780 return function createApp(rootComponent, rootProps = null) {1781 if (rootProps != null && !isObject(rootProps)) {1782 (process.env.NODE_ENV !== 'production') && warn(`root props passed to app.mount() must be an object.`);1783 rootProps = null;1784 }1785 const context = createAppContext();1786 const installedPlugins = new Set();1787 // fixed by xxxxxx1788 // let isMounted = false1789 const app = (context.app = {1790 _uid: uid$1++,1791 _component: rootComponent,1792 _props: rootProps,1793 _container: null,1794 _context: context,1795 version,1796 get config() {1797 return context.config;1798 },1799 set config(v) {1800 if ((process.env.NODE_ENV !== 'production')) {1801 warn(`app.config cannot be replaced. Modify individual options instead.`);1802 }1803 },1804 use(plugin, ...options) {1805 if (installedPlugins.has(plugin)) {1806 (process.env.NODE_ENV !== 'production') && warn(`Plugin has already been applied to target app.`);1807 }1808 else if (plugin && isFunction(plugin.install)) {1809 installedPlugins.add(plugin);1810 plugin.install(app, ...options);1811 }1812 else if (isFunction(plugin)) {1813 installedPlugins.add(plugin);1814 plugin(app, ...options);1815 }1816 else if ((process.env.NODE_ENV !== 'production')) {1817 warn(`A plugin must either be a function or an object with an "install" ` +1818 `function.`);1819 }1820 return app;1821 },1822 mixin(mixin) {1823 if (__VUE_OPTIONS_API__) {1824 if (!context.mixins.includes(mixin)) {1825 context.mixins.push(mixin);1826 }1827 else if ((process.env.NODE_ENV !== 'production')) {1828 warn('Mixin has already been applied to target app' +1829 (mixin.name ? `: ${mixin.name}` : ''));1830 }1831 }1832 else if ((process.env.NODE_ENV !== 'production')) {1833 warn('Mixins are only available in builds supporting Options API');1834 }1835 return app;1836 },1837 component(name, component) {1838 if ((process.env.NODE_ENV !== 'production')) {1839 validateComponentName(name, context.config);1840 }1841 if (!component) {1842 return context.components[name];1843 }1844 if ((process.env.NODE_ENV !== 'production') && context.components[name]) {1845 warn(`Component "${name}" has already been registered in target app.`);1846 }1847 context.components[name] = component;1848 return app;1849 },1850 directive(name, directive) {1851 if ((process.env.NODE_ENV !== 'production')) {1852 validateDirectiveName(name);1853 }1854 if (!directive) {1855 return context.directives[name];1856 }1857 if ((process.env.NODE_ENV !== 'production') && context.directives[name]) {1858 warn(`Directive "${name}" has already been registered in target app.`);1859 }1860 context.directives[name] = directive;1861 return app;1862 },1863 // fixed by xxxxxx1864 mount() { },1865 // fixed by xxxxxx1866 unmount() { },1867 provide(key, value) {1868 if ((process.env.NODE_ENV !== 'production') && key in context.provides) {1869 warn(`App already provides property with key "${String(key)}". ` +1870 `It will be overwritten with the new value.`);1871 }1872 // TypeScript doesn't allow symbols as index type1873 // https://github.com/Microsoft/TypeScript/issues/245871874 context.provides[key] = value;1875 return app;1876 }1877 });1878 return app;1879 };1880}1881const queuePostRenderEffect = queuePostFlushCb;1882// Simple effect.1883function watchEffect(effect, options) {1884 return doWatch(effect, null, options);1885}1886// initial value for watchers to trigger on undefined initial values1887const INITIAL_WATCHER_VALUE = {};1888// implementation1889function watch(source, cb, options) {1890 if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {1891 warn(`\`watch(fn, options?)\` signature has been moved to a separate API. ` +1892 `Use \`watchEffect(fn, options?)\` instead. \`watch\` now only ` +1893 `supports \`watch(source, cb, options?) signature.`);1894 }1895 return doWatch(source, cb, options);1896}1897function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ, instance = currentInstance) {1898 if ((process.env.NODE_ENV !== 'production') && !cb) {1899 if (immediate !== undefined) {1900 warn(`watch() "immediate" option is only respected when using the ` +1901 `watch(source, callback, options?) signature.`);1902 }1903 if (deep !== undefined) {1904 warn(`watch() "deep" option is only respected when using the ` +1905 `watch(source, callback, options?) signature.`);1906 }1907 }1908 const warnInvalidSource = (s) => {1909 warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +1910 `a reactive object, or an array of these types.`);1911 };1912 let getter;1913 const isRefSource = isRef(source);1914 if (isRefSource) {1915 getter = () => source.value;1916 }1917 else if (isReactive(source)) {1918 getter = () => source;1919 deep = true;1920 }1921 else if (isArray(source)) {1922 getter = () => source.map(s => {1923 if (isRef(s)) {1924 return s.value;1925 }1926 else if (isReactive(s)) {1927 return traverse(s);1928 }1929 else if (isFunction(s)) {1930 return callWithErrorHandling(s, instance, 2 /* WATCH_GETTER */);1931 }1932 else {1933 (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);1934 }1935 });1936 }1937 else if (isFunction(source)) {1938 if (cb) {1939 // getter with cb1940 getter = () => callWithErrorHandling(source, instance, 2 /* WATCH_GETTER */);1941 }1942 else {1943 // no cb -> simple effect1944 getter = () => {1945 if (instance && instance.isUnmounted) {1946 return;1947 }1948 if (cleanup) {1949 cleanup();1950 }1951 return callWithErrorHandling(source, instance, 3 /* WATCH_CALLBACK */, [onInvalidate]);1952 };1953 }1954 }1955 else {1956 getter = NOOP;1957 (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);1958 }1959 if (cb && deep) {1960 const baseGetter = getter;1961 getter = () => traverse(baseGetter());1962 }1963 let cleanup;1964 const onInvalidate = (fn) => {1965 cleanup = runner.options.onStop = () => {1966 callWithErrorHandling(fn, instance, 4 /* WATCH_CLEANUP */);1967 };1968 };1969 let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE;1970 const job = () => {1971 if (!runner.active) {1972 return;1973 }1974 if (cb) {1975 // watch(source, cb)1976 const newValue = runner();1977 if (deep || isRefSource || hasChanged(newValue, oldValue)) {1978 // cleanup before running cb again1979 if (cleanup) {1980 cleanup();1981 }1982 callWithAsyncErrorHandling(cb, instance, 3 /* WATCH_CALLBACK */, [1983 newValue,1984 // pass undefined as the old value when it's changed for the first time1985 oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,1986 onInvalidate1987 ]);1988 oldValue = newValue;1989 }1990 }1991 else {1992 // watchEffect1993 runner();1994 }1995 };1996 // important: mark the job as a watcher callback so that scheduler knows it1997 // it is allowed to self-trigger (#1727)1998 job.allowRecurse = !!cb;1999 let scheduler;2000 if (flush === 'sync') {2001 scheduler = job;2002 }2003 else if (flush === 'post') {2004 scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);2005 }2006 else {2007 // default: 'pre'2008 scheduler = () => {2009 if (!instance || instance.isMounted) {2010 queuePreFlushCb(job);2011 }2012 else {2013 // with 'pre' option, the first call must happen before2014 // the component is mounted so it is called synchronously.2015 job();2016 }2017 };2018 }2019 const runner = effect(getter, {2020 lazy: true,2021 onTrack,2022 onTrigger,2023 scheduler2024 });2025 recordInstanceBoundEffect(runner);2026 // initial run2027 if (cb) {2028 if (immediate) {2029 job();2030 }2031 else {2032 oldValue = runner();2033 }2034 }2035 else if (flush === 'post') {2036 queuePostRenderEffect(runner, instance && instance.suspense);2037 }2038 else {2039 runner();2040 }2041 return () => {2042 stop(runner);2043 if (instance) {2044 remove(instance.effects, runner);2045 }2046 };2047}2048// this.$watch2049function instanceWatch(source, cb, options) {2050 const publicThis = this.proxy;2051 const getter = isString(source)2052 ? () => publicThis[source]2053 : source.bind(publicThis);2054 return doWatch(getter, cb.bind(publicThis), options, this);2055}2056function traverse(value, seen = new Set()) {2057 if (!isObject(value) || seen.has(value)) {2058 return value;2059 }2060 seen.add(value);2061 if (isRef(value)) {2062 traverse(value.value, seen);2063 }2064 else if (isArray(value)) {2065 for (let i = 0; i < value.length; i++) {2066 traverse(value[i], seen);2067 }2068 }2069 else if (isMap(value)) {2070 value.forEach((_, key) => {2071 // to register mutation dep for existing keys2072 traverse(value.get(key), seen);2073 });2074 }2075 else if (isSet(value)) {2076 value.forEach(v => {2077 traverse(v, seen);2078 });2079 }2080 else {2081 for (const key in value) {2082 traverse(value[key], seen);2083 }2084 }2085 return value;2086}2087function provide(key, value) {2088 if (!currentInstance) {2089 if ((process.env.NODE_ENV !== 'production')) {2090 warn(`provide() can only be used inside setup().`);2091 }2092 }2093 else {2094 let provides = currentInstance.provides;2095 // by default an instance inherits its parent's provides object2096 // but when it needs to provide values of its own, it creates its2097 // own provides object using parent provides object as prototype.2098 // this way in `inject` we can simply look up injections from direct2099 // parent and let the prototype chain do the work.2100 const parentProvides = currentInstance.parent && currentInstance.parent.provides;2101 if (parentProvides === provides) {2102 provides = currentInstance.provides = Object.create(parentProvides);2103 }2104 // TS doesn't allow symbol as index type2105 provides[key] = value;2106 }2107}2108function inject(key, defaultValue, treatDefaultAsFactory = false) {2109 // fallback to `currentRenderingInstance` so that this can be called in2110 // a functional component2111 const instance = currentInstance || currentRenderingInstance;2112 if (instance) {2113 const provides = instance.provides;2114 if (key in provides) {2115 // TS doesn't allow symbol as index type2116 return provides[key];2117 }2118 else if (arguments.length > 1) {2119 return treatDefaultAsFactory && isFunction(defaultValue)2120 ? defaultValue()2121 : defaultValue;2122 }2123 else if ((process.env.NODE_ENV !== 'production')) {2124 warn(`injection "${String(key)}" not found.`);2125 }2126 }2127 else if ((process.env.NODE_ENV !== 'production')) {2128 warn(`inject() can only be used inside setup() or functional components.`);2129 }2130}2131function createDuplicateChecker() {2132 const cache = Object.create(null);2133 return (type, key) => {2134 if (cache[key]) {2135 warn(`${type} property "${key}" is already defined in ${cache[key]}.`);2136 }2137 else {2138 cache[key] = type;2139 }2140 };2141}2142let isInBeforeCreate = false;2143function applyOptions(instance, options, deferredData = [], deferredWatch = [], asMixin = false) {2144 const { 2145 // composition2146 mixins, extends: extendsOptions, 2147 // state2148 data: dataOptions, computed: computedOptions, methods, watch: watchOptions, provide: provideOptions, inject: injectOptions, 2149 // assets2150 components, directives, 2151 // lifecycle2152 beforeMount, mounted, beforeUpdate, updated, activated, deactivated, beforeDestroy, beforeUnmount, destroyed, unmounted, render, renderTracked, renderTriggered, errorCaptured } = options;2153 const publicThis = instance.proxy;2154 const ctx = instance.ctx;2155 const globalMixins = instance.appContext.mixins;2156 if (asMixin && render && instance.render === NOOP) {2157 instance.render = render;2158 }2159 // applyOptions is called non-as-mixin once per instance2160 if (!asMixin) {2161 isInBeforeCreate = true;2162 callSyncHook('beforeCreate', options, publicThis, globalMixins);2163 isInBeforeCreate = false;2164 // global mixins are applied first2165 applyMixins(instance, globalMixins, deferredData, deferredWatch);2166 }2167 // extending a base component...2168 if (extendsOptions) {2169 applyOptions(instance, extendsOptions, deferredData, deferredWatch, true);2170 }2171 // local mixins2172 if (mixins) {2173 applyMixins(instance, mixins, deferredData, deferredWatch);2174 }2175 const checkDuplicateProperties = (process.env.NODE_ENV !== 'production') ? createDuplicateChecker() : null;2176 if ((process.env.NODE_ENV !== 'production')) {2177 const [propsOptions] = instance.propsOptions;2178 if (propsOptions) {2179 for (const key in propsOptions) {2180 checkDuplicateProperties("Props" /* PROPS */, key);2181 }2182 }2183 }2184 // options initialization order (to be consistent with Vue 2):2185 // - props (already done outside of this function)2186 // - inject2187 // - methods2188 // - data (deferred since it relies on `this` access)2189 // - computed2190 // - watch (deferred since it relies on `this` access)2191 // fixed by xxxxxx2192 if (!__VUE_CREATED_DEFERRED__ && injectOptions) {2193 if (isArray(injectOptions)) {2194 for (let i = 0; i < injectOptions.length; i++) {2195 const key = injectOptions[i];2196 ctx[key] = inject(key);2197 if ((process.env.NODE_ENV !== 'production')) {2198 checkDuplicateProperties("Inject" /* INJECT */, key);2199 }2200 }2201 }2202 else {2203 for (const key in injectOptions) {2204 const opt = injectOptions[key];2205 if (isObject(opt)) {2206 ctx[key] = inject(opt.from || key, opt.default, true /* treat default function as factory */);2207 }2208 else {2209 ctx[key] = inject(opt);2210 }2211 if ((process.env.NODE_ENV !== 'production')) {2212 checkDuplicateProperties("Inject" /* INJECT */, key);2213 }2214 }2215 }2216 }2217 if (methods) {2218 for (const key in methods) {2219 const methodHandler = methods[key];2220 if (isFunction(methodHandler)) {2221 ctx[key] = methodHandler.bind(publicThis);2222 if ((process.env.NODE_ENV !== 'production')) {2223 checkDuplicateProperties("Methods" /* METHODS */, key);2224 }2225 }2226 else if ((process.env.NODE_ENV !== 'production')) {2227 warn(`Method "${key}" has type "${typeof methodHandler}" in the component definition. ` +2228 `Did you reference the function correctly?`);2229 }2230 }2231 }2232 if (!asMixin) {2233 if (deferredData.length) {2234 deferredData.forEach(dataFn => resolveData(instance, dataFn, publicThis));2235 }2236 if (dataOptions) {2237 resolveData(instance, dataOptions, publicThis);2238 }2239 if ((process.env.NODE_ENV !== 'production')) {2240 const rawData = toRaw(instance.data);2241 for (const key in rawData) {2242 checkDuplicateProperties("Data" /* DATA */, key);2243 // expose data on ctx during dev2244 if (key[0] !== '$' && key[0] !== '_') {2245 Object.defineProperty(ctx, key, {2246 configurable: true,2247 enumerable: true,2248 get: () => rawData[key],2249 set: NOOP2250 });2251 }2252 }2253 }2254 }2255 else if (dataOptions) {2256 deferredData.push(dataOptions);2257 }2258 if (computedOptions) {2259 for (const key in computedOptions) {2260 const opt = computedOptions[key];2261 const get = isFunction(opt)2262 ? opt.bind(publicThis, publicThis)2263 : isFunction(opt.get)2264 ? opt.get.bind(publicThis, publicThis)2265 : NOOP;2266 if ((process.env.NODE_ENV !== 'production') && get === NOOP) {2267 warn(`Computed property "${key}" has no getter.`);2268 }2269 const set = !isFunction(opt) && isFunction(opt.set)2270 ? opt.set.bind(publicThis)2271 : (process.env.NODE_ENV !== 'production')2272 ? () => {2273 warn(`Write operation failed: computed property "${key}" is readonly.`);2274 }2275 : NOOP;2276 const c = computed$1({2277 get,2278 set2279 });2280 Object.defineProperty(ctx, key, {2281 enumerable: true,2282 configurable: true,2283 get: () => c.value,2284 set: v => (c.value = v)2285 });2286 if ((process.env.NODE_ENV !== 'production')) {2287 checkDuplicateProperties("Computed" /* COMPUTED */, key);2288 }2289 }2290 }2291 if (watchOptions) {2292 deferredWatch.push(watchOptions);2293 }2294 if (!asMixin && deferredWatch.length) {2295 deferredWatch.forEach(watchOptions => {2296 for (const key in watchOptions) {2297 createWatcher(watchOptions[key], ctx, publicThis, key);2298 }2299 });2300 }2301 // fixed by xxxxxx2302 if (!__VUE_CREATED_DEFERRED__ && provideOptions) {2303 const provides = isFunction(provideOptions)2304 ? provideOptions.call(publicThis)2305 : provideOptions;2306 for (const key in provides) {2307 provide(key, provides[key]);2308 }2309 }2310 // asset options.2311 // To reduce memory usage, only components with mixins or extends will have2312 // resolved asset registry attached to instance.2313 if (asMixin) {2314 if (components) {2315 extend(instance.components ||2316 (instance.components = extend({}, instance.type.components)), components);2317 }2318 if (directives) {2319 extend(instance.directives ||2320 (instance.directives = extend({}, instance.type.directives)), directives);2321 }2322 }2323 // fixed by xxxxxx2324 // lifecycle options2325 if (__VUE_CREATED_DEFERRED__) {2326 ctx.$callSyncHook = function (name) {2327 return callSyncHook(name, options, publicThis, globalMixins);2328 };2329 }2330 else if (!asMixin) {2331 callSyncHook('created', options, publicThis, globalMixins);2332 }2333 if (beforeMount) {2334 onBeforeMount(beforeMount.bind(publicThis));2335 }2336 if (mounted) {2337 onMounted(mounted.bind(publicThis));2338 }2339 if (beforeUpdate) {2340 onBeforeUpdate(beforeUpdate.bind(publicThis));2341 }2342 if (updated) {2343 onUpdated(updated.bind(publicThis));2344 }2345 if (activated) {2346 onActivated(activated.bind(publicThis));2347 }2348 if (deactivated) {2349 onDeactivated(deactivated.bind(publicThis));2350 }2351 if (errorCaptured) {2352 onErrorCaptured(errorCaptured.bind(publicThis));2353 }2354 if (renderTracked) {2355 onRenderTracked(renderTracked.bind(publicThis));2356 }2357 if (renderTriggered) {2358 onRenderTriggered(renderTriggered.bind(publicThis));2359 }2360 if ((process.env.NODE_ENV !== 'production') && beforeDestroy) {2361 warn(`\`beforeDestroy\` has been renamed to \`beforeUnmount\`.`);2362 }2363 if (beforeUnmount) {2364 onBeforeUnmount(beforeUnmount.bind(publicThis));2365 }2366 if ((process.env.NODE_ENV !== 'production') && destroyed) {2367 warn(`\`destroyed\` has been renamed to \`unmounted\`.`);2368 }2369 if (unmounted) {2370 onUnmounted(unmounted.bind(publicThis));2371 }2372 // fixed by xxxxxx2373 if (instance.ctx.$onApplyOptions) {2374 instance.ctx.$onApplyOptions(options, instance, publicThis);2375 }2376}2377function callSyncHook(name, options, ctx, globalMixins) {2378 callHookFromMixins(name, globalMixins, ctx);2379 const { extends: base, mixins } = options;2380 if (base) {2381 callHookFromExtends(name, base, ctx);2382 }2383 if (mixins) {2384 callHookFromMixins(name, mixins, ctx);2385 }2386 const selfHook = options[name];2387 if (selfHook) {2388 selfHook.call(ctx);2389 }2390}2391function callHookFromExtends(name, base, ctx) {2392 if (base.extends) {2393 callHookFromExtends(name, base.extends, ctx);2394 }2395 const baseHook = base[name];2396 if (baseHook) {2397 baseHook.call(ctx);2398 }2399}2400function callHookFromMixins(name, mixins, ctx) {2401 for (let i = 0; i < mixins.length; i++) {2402 const chainedMixins = mixins[i].mixins;2403 if (chainedMixins) {2404 callHookFromMixins(name, chainedMixins, ctx);2405 }2406 const fn = mixins[i][name];2407 if (fn) {2408 fn.call(ctx);2409 }2410 }2411}2412function applyMixins(instance, mixins, deferredData, deferredWatch) {2413 for (let i = 0; i < mixins.length; i++) {2414 applyOptions(instance, mixins[i], deferredData, deferredWatch, true);2415 }2416}2417function resolveData(instance, dataFn, publicThis) {2418 if ((process.env.NODE_ENV !== 'production') && !isFunction(dataFn)) {2419 warn(`The data option must be a function. ` +2420 `Plain object usage is no longer supported.`);2421 }2422 const data = dataFn.call(publicThis, publicThis);2423 if ((process.env.NODE_ENV !== 'production') && isPromise(data)) {2424 warn(`data() returned a Promise - note data() cannot be async; If you ` +2425 `intend to perform data fetching before component renders, use ` +2426 `async setup() + <Suspense>.`);2427 }2428 if (!isObject(data)) {2429 (process.env.NODE_ENV !== 'production') && warn(`data() should return an object.`);2430 }2431 else if (instance.data === EMPTY_OBJ) {2432 instance.data = reactive(data);2433 }2434 else {2435 // existing data: this is a mixin or extends.2436 extend(instance.data, data);2437 }2438}2439function createWatcher(raw, ctx, publicThis, key) {2440 const getter = key.includes('.')2441 ? createPathGetter(publicThis, key)2442 : () => publicThis[key];2443 if (isString(raw)) {2444 const handler = ctx[raw];2445 if (isFunction(handler)) {2446 watch(getter, handler);2447 }2448 else if ((process.env.NODE_ENV !== 'production')) {2449 warn(`Invalid watch handler specified by key "${raw}"`, handler);2450 }2451 }2452 else if (isFunction(raw)) {2453 watch(getter, raw.bind(publicThis));2454 }2455 else if (isObject(raw)) {2456 if (isArray(raw)) {2457 raw.forEach(r => createWatcher(r, ctx, publicThis, key));2458 }2459 else {2460 const handler = isFunction(raw.handler)2461 ? raw.handler.bind(publicThis)2462 : ctx[raw.handler];2463 if (isFunction(handler)) {2464 watch(getter, handler, raw);2465 }2466 else if ((process.env.NODE_ENV !== 'production')) {2467 warn(`Invalid watch handler specified by key "${raw.handler}"`, handler);2468 }2469 }2470 }2471 else if ((process.env.NODE_ENV !== 'production')) {2472 warn(`Invalid watch option: "${key}"`, raw);2473 }2474}2475function createPathGetter(ctx, path) {2476 const segments = path.split('.');2477 return () => {2478 let cur = ctx;2479 for (let i = 0; i < segments.length && cur; i++) {2480 cur = cur[segments[i]];2481 }2482 return cur;2483 };2484}2485function resolveMergedOptions(instance) {2486 const raw = instance.type;2487 const { __merged, mixins, extends: extendsOptions } = raw;2488 if (__merged)2489 return __merged;2490 const globalMixins = instance.appContext.mixins;2491 if (!globalMixins.length && !mixins && !extendsOptions)2492 return raw;2493 const options = {};2494 globalMixins.forEach(m => mergeOptions(options, m, instance));2495 mergeOptions(options, raw, instance);2496 return (raw.__merged = options);2497}2498function mergeOptions(to, from, instance) {2499 const strats = instance.appContext.config.optionMergeStrategies;2500 const { mixins, extends: extendsOptions } = from;2501 extendsOptions && mergeOptions(to, extendsOptions, instance);2502 mixins &&2503 mixins.forEach((m) => mergeOptions(to, m, instance));2504 for (const key in from) {2505 if (strats && hasOwn(strats, key)) {2506 to[key] = strats[key](to[key], from[key], instance.proxy, key);2507 }2508 else {2509 to[key] = from[key];2510 }2511 }2512}2513const publicPropertiesMap = extend(Object.create(null), {2514 $: i => i,2515 $el: i => i.vnode.el,2516 $data: i => i.data,2517 $props: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.props) : i.props),2518 $attrs: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.attrs) : i.attrs),2519 $slots: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.slots) : i.slots),2520 $refs: i => ((process.env.NODE_ENV !== 'production') ? shallowReadonly(i.refs) : i.refs),2521 $parent: i => i.parent && i.parent.proxy,2522 $root: i => i.root && i.root.proxy,2523 $emit: i => i.emit,2524 $options: i => (__VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type),2525 $forceUpdate: i => () => queueJob(i.update),2526 // $nextTick: () => nextTick, // fixed by xxxxxx2527 $watch: i => (__VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP)2528});2529const PublicInstanceProxyHandlers = {2530 get({ _: instance }, key) {2531 const { ctx, setupState, data, props, accessCache, type, appContext } = instance;2532 // let @vue/reactivity know it should never observe Vue public instances.2533 if (key === "__v_skip" /* SKIP */) {2534 return true;2535 }2536 // data / props / ctx2537 // This getter gets called for every property access on the render context2538 // during render and is a major hotspot. The most expensive part of this2539 // is the multiple hasOwn() calls. It's much faster to do a simple property2540 // access on a plain object, so we use an accessCache object (with null2541 // prototype) to memoize what access type a key corresponds to.2542 let normalizedProps;2543 if (key[0] !== '$') {2544 const n = accessCache[key];2545 if (n !== undefined) {2546 switch (n) {2547 case 0 /* SETUP */:2548 return setupState[key];2549 case 1 /* DATA */:2550 return data[key];2551 case 3 /* CONTEXT */:2552 return ctx[key];2553 case 2 /* PROPS */:2554 return props[key];2555 // default: just fallthrough2556 }2557 }2558 else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {2559 accessCache[key] = 0 /* SETUP */;2560 return setupState[key];2561 }2562 else if (data !== EMPTY_OBJ && hasOwn(data, key)) {2563 accessCache[key] = 1 /* DATA */;2564 return data[key];2565 }2566 else if (2567 // only cache other properties when instance has declared (thus stable)2568 // props2569 (normalizedProps = instance.propsOptions[0]) &&2570 hasOwn(normalizedProps, key)) {2571 accessCache[key] = 2 /* PROPS */;2572 return props[key];2573 }2574 else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {2575 accessCache[key] = 3 /* CONTEXT */;2576 return ctx[key];2577 }2578 else if (!__VUE_OPTIONS_API__ || !isInBeforeCreate) {2579 accessCache[key] = 4 /* OTHER */;2580 }2581 }2582 const publicGetter = publicPropertiesMap[key];2583 let cssModule, globalProperties;2584 // public $xxx properties2585 if (publicGetter) {2586 if (key === '$attrs') {2587 track(instance, "get" /* GET */, key);2588 (process.env.NODE_ENV !== 'production') && markAttrsAccessed();2589 }2590 return publicGetter(instance);2591 }2592 else if (2593 // css module (injected by vue-loader)2594 (cssModule = type.__cssModules) &&2595 (cssModule = cssModule[key])) {2596 return cssModule;2597 }2598 else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {2599 // user may set custom properties to `this` that start with `$`2600 accessCache[key] = 3 /* CONTEXT */;2601 return ctx[key];2602 }2603 else if (2604 // global properties2605 ((globalProperties = appContext.config.globalProperties),2606 hasOwn(globalProperties, key))) {2607 return globalProperties[key];2608 }2609 else if ((process.env.NODE_ENV !== 'production') &&2610 currentRenderingInstance &&2611 (!isString(key) ||2612 // #1091 avoid internal isRef/isVNode checks on component instance leading2613 // to infinite warning loop2614 key.indexOf('__v') !== 0)) {2615 if (data !== EMPTY_OBJ &&2616 (key[0] === '$' || key[0] === '_') &&2617 hasOwn(data, key)) {2618 warn(`Property ${JSON.stringify(key)} must be accessed via $data because it starts with a reserved ` +2619 `character ("$" or "_") and is not proxied on the render context.`);2620 }2621 else {2622 warn(`Property ${JSON.stringify(key)} was accessed during render ` +2623 `but is not defined on instance.`);2624 }2625 }2626 },2627 set({ _: instance }, key, value) {2628 const { data, setupState, ctx } = instance;2629 if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {2630 setupState[key] = value;2631 }2632 else if (data !== EMPTY_OBJ && hasOwn(data, key)) {2633 data[key] = value;2634 }2635 else if (key in instance.props) {2636 (process.env.NODE_ENV !== 'production') &&2637 warn(`Attempting to mutate prop "${key}". Props are readonly.`, instance);2638 return false;2639 }2640 if (key[0] === '$' && key.slice(1) in instance) {2641 (process.env.NODE_ENV !== 'production') &&2642 warn(`Attempting to mutate public property "${key}". ` +2643 `Properties starting with $ are reserved and readonly.`, instance);2644 return false;2645 }2646 else {2647 if ((process.env.NODE_ENV !== 'production') && key in instance.appContext.config.globalProperties) {2648 Object.defineProperty(ctx, key, {2649 enumerable: true,2650 configurable: true,2651 value2652 });2653 }2654 else {2655 ctx[key] = value;2656 }2657 }2658 return true;2659 },2660 has({ _: { data, setupState, accessCache, ctx, appContext, propsOptions } }, key) {2661 let normalizedProps;2662 return (accessCache[key] !== undefined ||2663 (data !== EMPTY_OBJ && hasOwn(data, key)) ||2664 (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) ||2665 ((normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key)) ||2666 hasOwn(ctx, key) ||2667 hasOwn(publicPropertiesMap, key) ||2668 hasOwn(appContext.config.globalProperties, key));2669 }2670};2671if ((process.env.NODE_ENV !== 'production') && !false) {2672 PublicInstanceProxyHandlers.ownKeys = (target) => {2673 warn(`Avoid app logic that relies on enumerating keys on a component instance. ` +2674 `The keys will be empty in production mode to avoid performance overhead.`);2675 return Reflect.ownKeys(target);2676 };2677}2678const RuntimeCompiledPublicInstanceProxyHandlers = extend({}, PublicInstanceProxyHandlers, {2679 get(target, key) {2680 // fast path for unscopables when using `with` block2681 if (key === Symbol.unscopables) {2682 return;2683 }2684 return PublicInstanceProxyHandlers.get(target, key, target);2685 },2686 has(_, key) {2687 const has = key[0] !== '_' && !isGloballyWhitelisted(key);2688 if ((process.env.NODE_ENV !== 'production') && !has && PublicInstanceProxyHandlers.has(_, key)) {2689 warn(`Property ${JSON.stringify(key)} should not start with _ which is a reserved prefix for Vue internals.`);2690 }2691 return has;2692 }2693});2694// In dev mode, the proxy target exposes the same properties as seen on `this`2695// for easier console inspection. In prod mode it will be an empty object so2696// these properties definitions can be skipped.2697function createRenderContext(instance) {2698 const target = {};2699 // expose internal instance for proxy handlers2700 Object.defineProperty(target, `_`, {2701 configurable: true,2702 enumerable: false,2703 get: () => instance2704 });2705 // expose public properties2706 Object.keys(publicPropertiesMap).forEach(key => {2707 Object.defineProperty(target, key, {2708 configurable: true,2709 enumerable: false,2710 get: () => publicPropertiesMap[key](instance),2711 // intercepted by the proxy so no need for implementation,2712 // but needed to prevent set errors2713 set: NOOP2714 });2715 });2716 // expose global properties2717 const { globalProperties } = instance.appContext.config;2718 Object.keys(globalProperties).forEach(key => {2719 Object.defineProperty(target, key, {2720 configurable: true,2721 enumerable: false,2722 get: () => globalProperties[key],2723 set: NOOP2724 });2725 });2726 return target;2727}2728// dev only2729function exposePropsOnRenderContext(instance) {2730 const { ctx, propsOptions: [propsOptions] } = instance;2731 if (propsOptions) {2732 Object.keys(propsOptions).forEach(key => {2733 Object.defineProperty(ctx, key, {2734 enumerable: true,2735 configurable: true,2736 get: () => instance.props[key],2737 set: NOOP2738 });2739 });2740 }2741}2742// dev only2743function exposeSetupStateOnRenderContext(instance) {2744 const { ctx, setupState } = instance;2745 Object.keys(toRaw(setupState)).forEach(key => {2746 if (key[0] === '$' || key[0] === '_') {2747 warn(`setup() return property ${JSON.stringify(key)} should not start with "$" or "_" ` +2748 `which are reserved prefixes for Vue internals.`);2749 return;2750 }2751 Object.defineProperty(ctx, key, {2752 enumerable: true,2753 configurable: true,2754 get: () => setupState[key],2755 set: NOOP2756 });2757 });2758}2759const emptyAppContext = createAppContext();2760let uid$2 = 0;2761function createComponentInstance(vnode, parent, suspense) {2762 const type = vnode.type;2763 // inherit parent app context - or - if root, adopt from root vnode2764 const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;2765 const instance = {2766 uid: uid$2++,2767 vnode,2768 type,2769 parent,2770 appContext,2771 root: null,2772 next: null,2773 subTree: null,2774 update: null,2775 render: null,2776 proxy: null,2777 withProxy: null,2778 effects: null,2779 provides: parent ? parent.provides : Object.create(appContext.provides),2780 accessCache: null,2781 renderCache: [],2782 // local resovled assets2783 components: null,2784 directives: null,2785 // resolved props and emits options2786 propsOptions: normalizePropsOptions(type, appContext),2787 emitsOptions: normalizeEmitsOptions(type, appContext),2788 // emit2789 emit: null,2790 emitted: null,2791 // state2792 ctx: EMPTY_OBJ,2793 data: EMPTY_OBJ,2794 props: EMPTY_OBJ,2795 attrs: EMPTY_OBJ,2796 slots: EMPTY_OBJ,2797 refs: EMPTY_OBJ,2798 setupState: EMPTY_OBJ,2799 setupContext: null,2800 // suspense related2801 suspense,
...
jquery-3.6.0.min.js
Source:jquery-3.6.0.min.js
...541 } else e.emitted = {};542 e.emitted[i] = !0, callWithAsyncErrorHandling(c, e, 6, o)543 }544}545function normalizeEmitsOptions(e, t, n = !1) {546 const r = t.emitsCache, o = r.get(e);547 if (void 0 !== o) return o;548 const s = e.emits;549 let a = {}, i = !1;550 if (!isFunction(e)) {551 const extendEmits = e => {552 const n = normalizeEmitsOptions(e, t, !0);553 n && (i = !0, b(a, n))554 };555 !n && t.mixins.length && t.mixins.forEach(extendEmits), e.extends && extendEmits(e.extends), e.mixins && e.mixins.forEach(extendEmits)556 }557 return s || i ? (w(s) ? s.forEach((e => a[e] = null)) : b(a, s), r.set(e, a), a) : (r.set(e, null), null)558}559function isEmitListener(e, t) {560 return !(!e || !isOn(t)) && (t = t.slice(2).replace(/Once$/, ""), hasOwn(e, t[0].toLowerCase() + t.slice(1)) || hasOwn(e, C(t)) || hasOwn(e, t))561}562let be = null, Re = null;563function setCurrentRenderingInstance(e) {564 const t = be;565 return be = e, Re = e && e.type.__scopeId || null, t566}567function pushScopeId(e) {568 Re = e569}570function popScopeId() {571 Re = null572}573const withScopeId = e => withCtx;574function withCtx(e, t = be, n) {575 if (!t) return e;576 if (e._n) return e;577 const renderFnWithContext = (...n) => {578 renderFnWithContext._d && setBlockTracking(-1);579 const r = setCurrentRenderingInstance(t), o = e(...n);580 return setCurrentRenderingInstance(r), renderFnWithContext._d && setBlockTracking(1), o581 };582 return renderFnWithContext._n = !0, renderFnWithContext._c = !0, renderFnWithContext._d = !0, renderFnWithContext583}584function renderComponentRoot(e) {585 const {586 type: t,587 vnode: n,588 proxy: r,589 withProxy: o,590 props: s,591 propsOptions: [a],592 slots: i,593 attrs: l,594 emit: c,595 render: u,596 renderCache: f,597 data: p,598 setupState: d,599 ctx: m,600 inheritAttrs: g601 } = e;602 let v;603 const y = setCurrentRenderingInstance(e);604 try {605 let e;606 if (4 & n.shapeFlag) {607 const t = o || r;608 v = normalizeVNode(u.call(t, t, f, s, d, p, m)), e = l609 } else {610 const n = t;611 0, v = normalizeVNode(n.length > 1 ? n(s, {612 attrs: l,613 slots: i,614 emit: c615 }) : n(s, null)), e = t.props ? l : getFunctionalFallthrough(l)616 }617 let y = v;618 if (e && !1 !== g) {619 const t = Object.keys(e), {shapeFlag: n} = y;620 t.length && (1 & n || 6 & n) && (a && t.some(isModelListener) && (e = filterModelListeners(e, a)), y = cloneVNode(y, e))621 }622 0, n.dirs && (y.dirs = y.dirs ? y.dirs.concat(n.dirs) : n.dirs), n.transition && (y.transition = n.transition), v = y623 } catch (b) {624 ze.length = 0, handleError(b, e, 1), v = De(He)625 }626 return setCurrentRenderingInstance(y), v627}628const getFunctionalFallthrough = e => {629 let t;630 for (const n in e) ("class" === n || "style" === n || isOn(n)) && ((t || (t = {}))[n] = e[n]);631 return t632}, filterModelListeners = (e, t) => {633 const n = {};634 for (const r in e) isModelListener(r) && r.slice(9) in t || (n[r] = e[r]);635 return n636};637function hasPropsChanged(e, t, n) {638 const r = Object.keys(t);639 if (r.length !== Object.keys(e).length) return !0;640 for (let o = 0; o < r.length; o++) {641 const s = r[o];642 if (t[s] !== e[s] && !isEmitListener(n, s)) return !0643 }644 return !1645}646function provide(e, t) {647 if (Ye) {648 let n = Ye.provides;649 const r = Ye.parent && Ye.parent.provides;650 r === n && (n = Ye.provides = Object.create(r)), n[e] = t651 } else ;652}653function inject(e, t, n = !1) {654 const r = Ye || be;655 if (r) {656 const o = null == r.parent ? r.vnode.appContext && r.vnode.appContext.provides : r.parent.provides;657 if (o && e in o) return o[e];658 if (arguments.length > 1) return n && isFunction(t) ? t.call(r.proxy) : t659 }660}661const we = {};662function watch(e, t, n) {663 return doWatch(e, t, n)664}665function doWatch(e, t, {immediate: n, deep: r, flush: o, onTrack: s, onTrigger: a} = g, i = Ye) {666 let l, c, u = !1, f = !1;667 if (isRef(e) ? (l = () => e.value, u = !!e._shallow) : isReactive(e) ? (l = () => e, r = !0) : w(e) ? (f = !0, u = e.some(isReactive), l = () => e.map((e => isRef(e) ? e.value : isReactive(e) ? traverse(e) : isFunction(e) ? callWithErrorHandling(e, i, 2) : void 0))) : l = isFunction(e) ? t ? () => callWithErrorHandling(e, i, 2) : () => {668 if (!i || !i.isUnmounted) return c && c(), callWithAsyncErrorHandling(e, i, 3, [onInvalidate])669 } : NOOP, t && r) {670 const e = l;671 l = () => traverse(e())672 }673 let onInvalidate = e => {674 c = m.options.onStop = () => {675 callWithErrorHandling(e, i, 4)676 }677 }, p = f ? [] : we;678 const job = () => {679 if (m.active) if (t) {680 const e = m();681 (r || u || (f ? e.some(((e, t) => hasChanged(e, p[t]))) : hasChanged(e, p))) && (c && c(), callWithAsyncErrorHandling(t, i, 3, [e, p === we ? void 0 : p, onInvalidate]), p = e)682 } else m()683 };684 let d;685 job.allowRecurse = !!t, d = "sync" === o ? job : "post" === o ? () => Me(job, i && i.suspense) : () => {686 !i || i.isMounted ? function queuePreFlushCb(e) {687 queueCb(e, fe, ue, pe)688 }(job) : job()689 };690 const m = effect(l, {lazy: !0, onTrack: s, onTrigger: a, scheduler: d});691 return recordInstanceBoundEffect(m, i), t ? n ? job() : p = m() : "post" === o ? Me(m, i && i.suspense) : m(), () => {692 stop(m), i && remove(i.effects, m)693 }694}695function instanceWatch(e, t, n) {696 const r = this.proxy, o = isString$1(e) ? e.includes(".") ? createPathGetter(r, e) : () => r[e] : e.bind(r, r);697 let s;698 return isFunction(t) ? s = t : (s = t.handler, n = t), doWatch(o, s.bind(r), n, this)699}700function createPathGetter(e, t) {701 const n = t.split(".");702 return () => {703 let t = e;704 for (let e = 0; e < n.length && t; e++) t = t[n[e]];705 return t706 }707}708function traverse(e, t = new Set) {709 if (!isObject(e) || t.has(e) || e.__v_skip) return e;710 if (t.add(e), isRef(e)) traverse(e.value, t); else if (w(e)) for (let n = 0; n < e.length; n++) traverse(e[n], t); else if (isSet(e) || isMap(e)) e.forEach((e => {711 traverse(e, t)712 })); else if (isPlainObject(e)) for (const n in e) traverse(e[n], t);713 return e714}715function defineComponent(e) {716 return isFunction(e) ? {setup: e, name: e.name} : e717}718const isAsyncWrapper = e => !!e.type.__asyncLoader;719function defineAsyncComponent(e) {720 isFunction(e) && (e = {loader: e});721 const {722 loader: t,723 loadingComponent: n,724 errorComponent: r,725 delay: o = 200,726 timeout: s,727 suspensible: a = !0,728 onError: i729 } = e;730 let l, c = null, u = 0;731 const load = () => {732 let e;733 return c || (e = c = t().catch((e => {734 if (e = e instanceof Error ? e : new Error(String(e)), i) return new Promise(((t, n) => {735 i(e, (() => t((u++, c = null, load()))), (() => n(e)), u + 1)736 }));737 throw e738 })).then((t => e !== c && c ? c : (t && (t.__esModule || "Module" === t[Symbol.toStringTag]) && (t = t.default), l = t, t))))739 };740 return defineComponent({741 name: "AsyncComponentWrapper", __asyncLoader: load, get __asyncResolved() {742 return l743 }, setup() {744 const e = Ye;745 if (l) return () => createInnerComp(l, e);746 const onError = t => {747 c = null, handleError(t, e, 13, !r)748 };749 if (a && e.suspense) return load().then((t => () => createInnerComp(t, e))).catch((e => (onError(e), () => r ? De(r, {error: e}) : null)));750 const t = ref(!1), i = ref(), u = ref(!!o);751 return o && setTimeout((() => {752 u.value = !1753 }), o), null != s && setTimeout((() => {754 if (!t.value && !i.value) {755 const e = new Error(`Async component timed out after ${s}ms.`);756 onError(e), i.value = e757 }758 }), s), load().then((() => {759 t.value = !0, e.parent && isKeepAlive(e.parent.vnode) && queueJob(e.parent.update)760 })).catch((e => {761 onError(e), i.value = e762 })), () => t.value && l ? createInnerComp(l, e) : i.value && r ? De(r, {error: i.value}) : n && !u.value ? De(n) : void 0763 }764 })765}766function createInnerComp(e, {vnode: {ref: t, props: n, children: r}}) {767 const o = De(e, n, r);768 return o.ref = t, o769}770const isKeepAlive = e => e.type.__isKeepAlive;771function onActivated(e, t) {772 registerKeepAliveHook(e, "a", t)773}774function onDeactivated(e, t) {775 registerKeepAliveHook(e, "da", t)776}777function registerKeepAliveHook(e, t, n = Ye) {778 const r = e.__wdc || (e.__wdc = () => {779 let t = n;780 for (; t;) {781 if (t.isDeactivated) return;782 t = t.parent783 }784 e()785 });786 if (injectHook(t, r, n), n) {787 let e = n.parent;788 for (; e && e.parent;) isKeepAlive(e.parent.vnode) && injectToKeepAliveRoot(r, t, n, e), e = e.parent789 }790}791function injectToKeepAliveRoot(e, t, n, r) {792 const o = injectHook(t, e, r, !0);793 Ce((() => {794 remove(r[t], o)795 }), n)796}797function injectHook(e, t, n = Ye, r = !1) {798 if (n) {799 const o = n[e] || (n[e] = []), s = t.__weh || (t.__weh = (...r) => {800 if (n.isUnmounted) return;801 pauseTracking(), setCurrentInstance(n);802 const o = callWithAsyncErrorHandling(t, n, e, r);803 return setCurrentInstance(null), resetTracking(), o804 });805 return r ? o.unshift(s) : o.push(s), s806 }807}808const createHook = e => (t, n = Ye) => (!Xe || "sp" === e) && injectHook(e, t, n), _e = createHook("bm"),809 ke = createHook("m"), xe = createHook("bu"), Se = createHook("u"), Ee = createHook("bum"), Ce = createHook("um"),810 Ae = createHook("sp"), Oe = createHook("rtg"), Pe = createHook("rtc");811function onErrorCaptured(e, t = Ye) {812 injectHook("ec", e, t)813}814let Te = !0;815function applyOptions(e) {816 const t = resolveMergedOptions(e), n = e.proxy, r = e.ctx;817 Te = !1, t.beforeCreate && callHook(t.beforeCreate, e, "bc");818 const {819 data: o,820 computed: s,821 methods: a,822 watch: i,823 provide: l,824 inject: c,825 created: u,826 beforeMount: f,827 mounted: p,828 beforeUpdate: d,829 updated: m,830 activated: v,831 deactivated: y,832 beforeDestroy: b,833 beforeUnmount: R,834 destroyed: _,835 unmounted: k,836 render: x,837 renderTracked: S,838 renderTriggered: E,839 errorCaptured: C,840 serverPrefetch: A,841 expose: O,842 inheritAttrs: P,843 components: T,844 directives: j,845 filters: N846 } = t;847 if (c && function resolveInjections(e, t, n = NOOP) {848 w(e) && (e = normalizeInject(e));849 for (const r in e) {850 const n = e[r];851 isObject(n) ? t[r] = "default" in n ? inject(n.from || r, n.default, !0) : inject(n.from || r) : t[r] = inject(n)852 }853 }(c, r, null), a) for (const g in a) {854 const e = a[g];855 isFunction(e) && (r[g] = e.bind(n))856 }857 if (o) {858 const t = o.call(n, n);859 isObject(t) && (e.data = reactive(t))860 }861 if (Te = !0, s) for (const g in s) {862 const e = s[g], t = computed({863 get: isFunction(e) ? e.bind(n, n) : isFunction(e.get) ? e.get.bind(n, n) : NOOP,864 set: !isFunction(e) && isFunction(e.set) ? e.set.bind(n) : NOOP865 });866 Object.defineProperty(r, g, {enumerable: !0, configurable: !0, get: () => t.value, set: e => t.value = e})867 }868 if (i) for (const g in i) createWatcher(i[g], r, n, g);869 if (l) {870 const e = isFunction(l) ? l.call(n) : l;871 Reflect.ownKeys(e).forEach((t => {872 provide(t, e[t])873 }))874 }875 function registerLifecycleHook(e, t) {876 w(t) ? t.forEach((t => e(t.bind(n)))) : t && e(t.bind(n))877 }878 if (u && callHook(u, e, "c"), registerLifecycleHook(_e, f), registerLifecycleHook(ke, p), registerLifecycleHook(xe, d), registerLifecycleHook(Se, m), registerLifecycleHook(onActivated, v), registerLifecycleHook(onDeactivated, y), registerLifecycleHook(onErrorCaptured, C), registerLifecycleHook(Pe, S), registerLifecycleHook(Oe, E), registerLifecycleHook(Ee, R), registerLifecycleHook(Ce, k), registerLifecycleHook(Ae, A), w(O)) if (O.length) {879 const t = e.exposed || (e.exposed = proxyRefs({}));880 O.forEach((e => {881 t[e] = function toRef(e, t) {882 return isRef(e[t]) ? e[t] : new ObjectRefImpl(e, t)883 }(n, e)884 }))885 } else e.exposed || (e.exposed = g);886 x && e.render === NOOP && (e.render = x), null != P && (e.inheritAttrs = P), T && (e.components = T), j && (e.directives = j)887}888function callHook(e, t, n) {889 callWithAsyncErrorHandling(w(e) ? e.map((e => e.bind(t.proxy))) : e.bind(t.proxy), t, n)890}891function createWatcher(e, t, n, r) {892 const o = r.includes(".") ? createPathGetter(n, r) : () => n[r];893 if (isString$1(e)) {894 const n = t[e];895 isFunction(n) && watch(o, n)896 } else if (isFunction(e)) watch(o, e.bind(n)); else if (isObject(e)) if (w(e)) e.forEach((e => createWatcher(e, t, n, r))); else {897 const r = isFunction(e.handler) ? e.handler.bind(n) : t[e.handler];898 isFunction(r) && watch(o, r, e)899 }900}901function resolveMergedOptions(e) {902 const t = e.type, {mixins: n, extends: r} = t, {903 mixins: o,904 optionsCache: s,905 config: {optionMergeStrategies: a}906 } = e.appContext, i = s.get(t);907 let l;908 return i ? l = i : o.length || n || r ? (l = {}, o.length && o.forEach((e => mergeOptions$1(l, e, a, !0))), mergeOptions$1(l, t, a)) : l = t, s.set(t, l), l909}910function mergeOptions$1(e, t, n, r = !1) {911 const {mixins: o, extends: s} = t;912 s && mergeOptions$1(e, s, n, !0), o && o.forEach((t => mergeOptions$1(e, t, n, !0)));913 for (const a in t) if (r && "expose" === a) ; else {914 const r = je[a] || n && n[a];915 e[a] = r ? r(e[a], t[a]) : t[a]916 }917 return e918}919const je = {920 data: mergeDataFn,921 props: mergeObjectOptions,922 emits: mergeObjectOptions,923 methods: mergeObjectOptions,924 computed: mergeObjectOptions,925 beforeCreate: mergeAsArray,926 created: mergeAsArray,927 beforeMount: mergeAsArray,928 mounted: mergeAsArray,929 beforeUpdate: mergeAsArray,930 updated: mergeAsArray,931 beforeDestroy: mergeAsArray,932 destroyed: mergeAsArray,933 activated: mergeAsArray,934 deactivated: mergeAsArray,935 errorCaptured: mergeAsArray,936 serverPrefetch: mergeAsArray,937 components: mergeObjectOptions,938 directives: mergeObjectOptions,939 watch: function mergeWatchOptions(e, t) {940 if (!e) return t;941 if (!t) return e;942 const n = b(Object.create(null), e);943 for (const r in t) n[r] = mergeAsArray(e[r], t[r]);944 return n945 },946 provide: mergeDataFn,947 inject: function mergeInject(e, t) {948 return mergeObjectOptions(normalizeInject(e), normalizeInject(t))949 }950};951function mergeDataFn(e, t) {952 return t ? e ? function mergedDataFn() {953 return b(isFunction(e) ? e.call(this, this) : e, isFunction(t) ? t.call(this, this) : t)954 } : t : e955}956function normalizeInject(e) {957 if (w(e)) {958 const t = {};959 for (let n = 0; n < e.length; n++) t[e[n]] = e[n];960 return t961 }962 return e963}964function mergeAsArray(e, t) {965 return e ? [...new Set([].concat(e, t))] : t966}967function mergeObjectOptions(e, t) {968 return e ? b(b(Object.create(null), e), t) : t969}970function initProps(e, t, n, r = !1) {971 const o = {}, s = {};972 def(s, Ue, 1), e.propsDefaults = Object.create(null), setFullProps(e, t, o, s);973 for (const a in e.propsOptions[0]) a in o || (o[a] = void 0);974 n ? e.props = r ? o : function shallowReactive(e) {975 return createReactiveObject(e, !1, q, Z, ne)976 }(o) : e.type.props ? e.props = o : e.props = s, e.attrs = s977}978function setFullProps(e, t, n, r) {979 const [o, s] = e.propsOptions;980 let a, i = !1;981 if (t) for (let l in t) {982 if (k(l)) continue;983 const c = t[l];984 let u;985 o && hasOwn(o, u = S(l)) ? s && s.includes(u) ? (a || (a = {}))[u] = c : n[u] = c : isEmitListener(e.emitsOptions, l) || c !== r[l] && (r[l] = c, i = !0)986 }987 if (s) {988 const t = toRaw(n), r = a || g;989 for (let a = 0; a < s.length; a++) {990 const i = s[a];991 n[i] = resolvePropValue(o, t, i, r[i], e, !hasOwn(r, i))992 }993 }994 return i995}996function resolvePropValue(e, t, n, r, o, s) {997 const a = e[n];998 if (null != a) {999 const e = hasOwn(a, "default");1000 if (e && void 0 === r) {1001 const e = a.default;1002 if (a.type !== Function && isFunction(e)) {1003 const {propsDefaults: s} = o;1004 n in s ? r = s[n] : (setCurrentInstance(o), r = s[n] = e.call(null, t), setCurrentInstance(null))1005 } else r = e1006 }1007 a[0] && (s && !e ? r = !1 : !a[1] || "" !== r && r !== C(n) || (r = !0))1008 }1009 return r1010}1011function normalizePropsOptions(e, t, n = !1) {1012 const r = t.propsCache, o = r.get(e);1013 if (o) return o;1014 const s = e.props, a = {}, i = [];1015 let l = !1;1016 if (!isFunction(e)) {1017 const extendProps = e => {1018 l = !0;1019 const [n, r] = normalizePropsOptions(e, t, !0);1020 b(a, n), r && i.push(...r)1021 };1022 !n && t.mixins.length && t.mixins.forEach(extendProps), e.extends && extendProps(e.extends), e.mixins && e.mixins.forEach(extendProps)1023 }1024 if (!s && !l) return r.set(e, v), v;1025 if (w(s)) for (let u = 0; u < s.length; u++) {1026 const e = S(s[u]);1027 validatePropName(e) && (a[e] = g)1028 } else if (s) for (const u in s) {1029 const e = S(u);1030 if (validatePropName(e)) {1031 const t = s[u], n = a[e] = w(t) || isFunction(t) ? {type: t} : t;1032 if (n) {1033 const t = getTypeIndex(Boolean, n.type), r = getTypeIndex(String, n.type);1034 n[0] = t > -1, n[1] = r < 0 || t < r, (t > -1 || hasOwn(n, "default")) && i.push(e)1035 }1036 }1037 }1038 const c = [a, i];1039 return r.set(e, c), c1040}1041function validatePropName(e) {1042 return "$" !== e[0]1043}1044function getType(e) {1045 const t = e && e.toString().match(/^\s*function (\w+)/);1046 return t ? t[1] : ""1047}1048function isSameType(e, t) {1049 return getType(e) === getType(t)1050}1051function getTypeIndex(e, t) {1052 return w(t) ? t.findIndex((t => isSameType(t, e))) : isFunction(t) && isSameType(t, e) ? 0 : -11053}1054const isInternalKey = e => "_" === e[0] || "$stable" === e,1055 normalizeSlotValue = e => w(e) ? e.map(normalizeVNode) : [normalizeVNode(e)], normalizeSlot$1 = (e, t, n) => {1056 const r = withCtx((e => normalizeSlotValue(t(e))), n);1057 return r._c = !1, r1058 }, normalizeObjectSlots = (e, t, n) => {1059 const r = e._ctx;1060 for (const o in e) {1061 if (isInternalKey(o)) continue;1062 const n = e[o];1063 if (isFunction(n)) t[o] = normalizeSlot$1(0, n, r); else if (null != n) {1064 const e = normalizeSlotValue(n);1065 t[o] = () => e1066 }1067 }1068 }, normalizeVNodeSlots = (e, t) => {1069 const n = normalizeSlotValue(t);1070 e.slots.default = () => n1071 };1072function withDirectives(e, t) {1073 if (null === be) return e;1074 const n = be.proxy, r = e.dirs || (e.dirs = []);1075 for (let o = 0; o < t.length; o++) {1076 let [e, s, a, i = g] = t[o];1077 isFunction(e) && (e = {mounted: e, updated: e}), r.push({1078 dir: e,1079 instance: n,1080 value: s,1081 oldValue: void 0,1082 arg: a,1083 modifiers: i1084 })1085 }1086 return e1087}1088function invokeDirectiveHook(e, t, n, r) {1089 const o = e.dirs, s = t && t.dirs;1090 for (let a = 0; a < o.length; a++) {1091 const i = o[a];1092 s && (i.oldValue = s[a].value);1093 let l = i.dir[r];1094 l && (pauseTracking(), callWithAsyncErrorHandling(l, n, 8, [e.el, i, e, t]), resetTracking())1095 }1096}1097function createAppContext() {1098 return {1099 app: null,1100 config: {1101 isNativeTag: NO,1102 performance: !1,1103 globalProperties: {},1104 optionMergeStrategies: {},1105 errorHandler: void 0,1106 warnHandler: void 0,1107 compilerOptions: {}1108 },1109 mixins: [],1110 components: {},1111 directives: {},1112 provides: Object.create(null),1113 optionsCache: new WeakMap,1114 propsCache: new WeakMap,1115 emitsCache: new WeakMap1116 }1117}1118let Ne = 0;1119function createAppAPI(e, t) {1120 return function createApp2(n, r = null) {1121 null == r || isObject(r) || (r = null);1122 const o = createAppContext(), s = new Set;1123 let a = !1;1124 const i = o.app = {1125 _uid: Ne++,1126 _component: n,1127 _props: r,1128 _container: null,1129 _context: o,1130 _instance: null,1131 version: Ze,1132 get config() {1133 return o.config1134 },1135 set config(e) {1136 },1137 use: (e, ...t) => (s.has(e) || (e && isFunction(e.install) ? (s.add(e), e.install(i, ...t)) : isFunction(e) && (s.add(e), e(i, ...t))), i),1138 mixin: e => (o.mixins.includes(e) || o.mixins.push(e), i),1139 component: (e, t) => t ? (o.components[e] = t, i) : o.components[e],1140 directive: (e, t) => t ? (o.directives[e] = t, i) : o.directives[e],1141 mount(s, l, c) {1142 if (!a) {1143 const u = De(n, r);1144 return u.appContext = o, l && t ? t(u, s) : e(u, s, c), a = !0, i._container = s, s.__vue_app__ = i, u.component.proxy1145 }1146 },1147 unmount() {1148 a && (e(null, i._container), delete i._container.__vue_app__)1149 },1150 provide: (e, t) => (o.provides[e] = t, i)1151 };1152 return i1153 }1154}1155const Ie = {scheduler: queueJob, allowRecurse: !0}, Me = function queueEffectWithSuspense(e, t) {1156 t && t.pendingBranch ? w(e) ? t.effects.push(...e) : t.effects.push(e) : function queuePostFlushCb(e) {1157 queueCb(e, he, de, me)1158 }(e)1159}, setRef = (e, t, n, r, o = !1) => {1160 if (w(e)) return void e.forEach(((e, s) => setRef(e, t && (w(t) ? t[s] : t), n, r, o)));1161 if (isAsyncWrapper(r) && !o) return;1162 const s = 4 & r.shapeFlag ? r.component.exposed || r.component.proxy : r.el, a = o ? null : s, {i, r: l} = e,1163 c = t && t.r, u = i.refs === g ? i.refs = {} : i.refs, f = i.setupState;1164 if (null != c && c !== l && (isString$1(c) ? (u[c] = null, hasOwn(f, c) && (f[c] = null)) : isRef(c) && (c.value = null)), isString$1(l)) {1165 const doSet = () => {1166 u[l] = a, hasOwn(f, l) && (f[l] = a)1167 };1168 a ? (doSet.id = -1, Me(doSet, n)) : doSet()1169 } else if (isRef(l)) {1170 const doSet = () => {1171 l.value = a1172 };1173 a ? (doSet.id = -1, Me(doSet, n)) : doSet()1174 } else isFunction(l) && callWithErrorHandling(l, i, 12, [a, u])1175};1176function createRenderer(e) {1177 return function baseCreateRenderer(e, t) {1178 const {1179 insert: n,1180 remove: r,1181 patchProp: o,1182 forcePatchProp: s,1183 createElement: a,1184 createText: i,1185 createComment: l,1186 setText: c,1187 setElementText: u,1188 parentNode: f,1189 nextSibling: p,1190 setScopeId: d = NOOP,1191 cloneNode: m,1192 insertStaticContent: y1193 } = e, patch = (e, t, n, r = null, o = null, s = null, a = !1, i = null, l = !1) => {1194 e && !isSameVNodeType(e, t) && (r = getNextHostNode(e), unmount(e, o, s, !0), e = null), -2 === t.patchFlag && (l = !1, t.dynamicChildren = null);1195 const {type: c, ref: u, shapeFlag: f} = t;1196 switch (c) {1197 case Ve:1198 processText(e, t, n, r);1199 break;1200 case He:1201 processCommentNode(e, t, n, r);1202 break;1203 case Be:1204 null == e && mountStaticNode(t, n, r, a);1205 break;1206 case Le:1207 processFragment(e, t, n, r, o, s, a, i, l);1208 break;1209 default:1210 1 & f ? processElement(e, t, n, r, o, s, a, i, l) : 6 & f ? processComponent(e, t, n, r, o, s, a, i, l) : (64 & f || 128 & f) && c.process(e, t, n, r, o, s, a, i, l, R)1211 }1212 null != u && o && setRef(u, e && e.ref, s, t || e, !t)1213 }, processText = (e, t, r, o) => {1214 if (null == e) n(t.el = i(t.children), r, o); else {1215 const n = t.el = e.el;1216 t.children !== e.children && c(n, t.children)1217 }1218 }, processCommentNode = (e, t, r, o) => {1219 null == e ? n(t.el = l(t.children || ""), r, o) : t.el = e.el1220 }, mountStaticNode = (e, t, n, r) => {1221 [e.el, e.anchor] = y(e.children, t, n, r, e.el && [e.el, e.anchor])1222 }, moveStaticNode = ({el: e, anchor: t}, r, o) => {1223 let s;1224 for (; e && e !== t;) s = p(e), n(e, r, o), e = s;1225 n(t, r, o)1226 }, removeStaticNode = ({el: e, anchor: t}) => {1227 let n;1228 for (; e && e !== t;) n = p(e), r(e), e = n;1229 r(t)1230 }, processElement = (e, t, n, r, o, s, a, i, l) => {1231 a = a || "svg" === t.type, null == e ? mountElement(t, n, r, o, s, a, i, l) : patchElement(e, t, o, s, a, i, l)1232 }, mountElement = (e, t, r, s, i, l, c, f) => {1233 let p, d;1234 const {type: g, props: v, shapeFlag: y, transition: b, patchFlag: R, dirs: w} = e;1235 if (e.el && void 0 !== m && -1 === R) p = e.el = m(e.el); else {1236 if (p = e.el = a(e.type, l, v && v.is, v), 8 & y ? u(p, e.children) : 16 & y && mountChildren(e.children, p, null, s, i, l && "foreignObject" !== g, c, f || !!e.dynamicChildren), w && invokeDirectiveHook(e, null, s, "created"), v) {1237 for (const t in v) k(t) || o(p, t, null, v[t], l, e.children, s, i, unmountChildren);1238 (d = v.onVnodeBeforeMount) && invokeVNodeHook(d, s, e)1239 }1240 setScopeId(p, e, e.scopeId, c, s)1241 }1242 w && invokeDirectiveHook(e, null, s, "beforeMount");1243 const _ = (!i || i && !i.pendingBranch) && b && !b.persisted;1244 _ && b.beforeEnter(p), n(p, t, r), ((d = v && v.onVnodeMounted) || _ || w) && Me((() => {1245 d && invokeVNodeHook(d, s, e), _ && b.enter(p), w && invokeDirectiveHook(e, null, s, "mounted")1246 }), i)1247 }, setScopeId = (e, t, n, r, o) => {1248 if (n && d(e, n), r) for (let s = 0; s < r.length; s++) d(e, r[s]);1249 if (o) {1250 if (t === o.subTree) {1251 const t = o.vnode;1252 setScopeId(e, t, t.scopeId, t.slotScopeIds, o.parent)1253 }1254 }1255 }, mountChildren = (e, t, n, r, o, s, a, i, l = 0) => {1256 for (let c = l; c < e.length; c++) {1257 const l = e[c] = i ? cloneIfMounted(e[c]) : normalizeVNode(e[c]);1258 patch(null, l, t, n, r, o, s, a, i)1259 }1260 }, patchElement = (e, t, n, r, a, i, l) => {1261 const c = t.el = e.el;1262 let {patchFlag: f, dynamicChildren: p, dirs: d} = t;1263 f |= 16 & e.patchFlag;1264 const m = e.props || g, v = t.props || g;1265 let y;1266 if ((y = v.onVnodeBeforeUpdate) && invokeVNodeHook(y, n, t, e), d && invokeDirectiveHook(t, e, n, "beforeUpdate"), f > 0) {1267 if (16 & f) patchProps(c, t, m, v, n, r, a); else if (2 & f && m.class !== v.class && o(c, "class", null, v.class, a), 4 & f && o(c, "style", m.style, v.style, a), 8 & f) {1268 const i = t.dynamicProps;1269 for (let t = 0; t < i.length; t++) {1270 const l = i[t], u = m[l], f = v[l];1271 (f !== u || s && s(c, l)) && o(c, l, u, f, a, e.children, n, r, unmountChildren)1272 }1273 }1274 1 & f && e.children !== t.children && u(c, t.children)1275 } else l || null != p || patchProps(c, t, m, v, n, r, a);1276 const b = a && "foreignObject" !== t.type;1277 p ? patchBlockChildren(e.dynamicChildren, p, c, n, r, b, i) : l || patchChildren(e, t, c, null, n, r, b, i, !1), ((y = v.onVnodeUpdated) || d) && Me((() => {1278 y && invokeVNodeHook(y, n, t, e), d && invokeDirectiveHook(t, e, n, "updated")1279 }), r)1280 }, patchBlockChildren = (e, t, n, r, o, s, a) => {1281 for (let i = 0; i < t.length; i++) {1282 const l = e[i], c = t[i],1283 u = l.el && (l.type === Le || !isSameVNodeType(l, c) || 6 & l.shapeFlag || 64 & l.shapeFlag) ? f(l.el) : n;1284 patch(l, c, u, null, r, o, s, a, !0)1285 }1286 }, patchProps = (e, t, n, r, a, i, l) => {1287 if (n !== r) {1288 for (const c in r) {1289 if (k(c)) continue;1290 const u = r[c], f = n[c];1291 (u !== f || s && s(e, c)) && o(e, c, f, u, l, t.children, a, i, unmountChildren)1292 }1293 if (n !== g) for (const s in n) k(s) || s in r || o(e, s, n[s], null, l, t.children, a, i, unmountChildren)1294 }1295 }, processFragment = (e, t, r, o, s, a, l, c, u) => {1296 const f = t.el = e ? e.el : i(""), p = t.anchor = e ? e.anchor : i("");1297 let {patchFlag: d, dynamicChildren: m, slotScopeIds: g} = t;1298 m && (u = !0), g && (c = c ? c.concat(g) : g), null == e ? (n(f, r, o), n(p, r, o), mountChildren(t.children, r, p, s, a, l, c, u)) : d > 0 && 64 & d && m && e.dynamicChildren ? (patchBlockChildren(e.dynamicChildren, m, r, s, a, l, c), (null != t.key || s && t === s.subTree) && traverseStaticChildren(e, t, !0)) : patchChildren(e, t, r, p, s, a, l, c, u)1299 }, processComponent = (e, t, n, r, o, s, a, i, l) => {1300 t.slotScopeIds = i, null == e ? 512 & t.shapeFlag ? o.ctx.activate(t, n, r, a, l) : mountComponent(t, n, r, o, s, a, l) : updateComponent(e, t, l)1301 }, mountComponent = (e, t, n, r, o, s, a) => {1302 const i = e.component = function createComponentInstance(e, t, n) {1303 const r = e.type, o = (t ? t.appContext : e.appContext) || Qe, s = {1304 uid: Je++,1305 vnode: e,1306 type: r,1307 parent: t,1308 appContext: o,1309 root: null,1310 next: null,1311 subTree: null,1312 update: null,1313 render: null,1314 proxy: null,1315 exposed: null,1316 withProxy: null,1317 effects: null,1318 provides: t ? t.provides : Object.create(o.provides),1319 accessCache: null,1320 renderCache: [],1321 components: null,1322 directives: null,1323 propsOptions: normalizePropsOptions(r, o),1324 emitsOptions: normalizeEmitsOptions(r, o),1325 emit: null,1326 emitted: null,1327 propsDefaults: g,1328 inheritAttrs: r.inheritAttrs,1329 ctx: g,1330 data: g,1331 props: g,1332 attrs: g,1333 slots: g,1334 refs: g,1335 setupState: g,1336 setupContext: null,1337 suspense: n,1338 suspenseId: n ? n.pendingId : 0,...
index.147aad71.js
Source:index.147aad71.js
...1032 }1033 callWithAsyncErrorHandling(onceHandler, instance, 6, args);1034 }1035}1036function normalizeEmitsOptions(comp, appContext, asMixin = false) {1037 if (!appContext.deopt && comp.__emits !== void 0) {1038 return comp.__emits;1039 }1040 const raw = comp.emits;1041 let normalized = {};1042 let hasExtends = false;1043 if (!isFunction(comp)) {1044 const extendEmits = (raw2) => {1045 hasExtends = true;1046 extend(normalized, normalizeEmitsOptions(raw2, appContext, true));1047 };1048 if (!asMixin && appContext.mixins.length) {1049 appContext.mixins.forEach(extendEmits);1050 }1051 if (comp.extends) {1052 extendEmits(comp.extends);1053 }1054 if (comp.mixins) {1055 comp.mixins.forEach(extendEmits);1056 }1057 }1058 if (!raw && !hasExtends) {1059 return comp.__emits = null;1060 }1061 if (isArray(raw)) {1062 raw.forEach((key) => normalized[key] = null);1063 } else {1064 extend(normalized, raw);1065 }1066 return comp.__emits = normalized;1067}1068function isEmitListener(options, key) {1069 if (!options || !isOn(key)) {1070 return false;1071 }1072 key = key.replace(/Once$/, "");1073 return hasOwn(options, key[2].toLowerCase() + key.slice(3)) || hasOwn(options, key.slice(2));1074}1075let currentRenderingInstance = null;1076function setCurrentRenderingInstance(instance) {1077 currentRenderingInstance = instance;1078}1079let accessedAttrs = false;1080function markAttrsAccessed() {1081 accessedAttrs = true;1082}1083function renderComponentRoot(instance) {1084 const {type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit: emit2, render: render2, renderCache, data, setupState, ctx} = instance;1085 let result;1086 currentRenderingInstance = instance;1087 try {1088 let fallthroughAttrs;1089 if (vnode.shapeFlag & 4) {1090 const proxyToUse = withProxy || proxy;1091 result = normalizeVNode(render2.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));1092 fallthroughAttrs = attrs;1093 } else {1094 const render3 = Component;1095 if (false)1096 ;1097 result = normalizeVNode(render3.length > 1 ? render3(props, {attrs, slots, emit: emit2}) : render3(props, null));1098 fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);1099 }1100 let root = result;1101 let setRoot = void 0;1102 if (false)1103 ;1104 if (Component.inheritAttrs !== false && fallthroughAttrs) {1105 const keys = Object.keys(fallthroughAttrs);1106 const {shapeFlag} = root;1107 if (keys.length) {1108 if (shapeFlag & 1 || shapeFlag & 6) {1109 if (propsOptions && keys.some(isModelListener)) {1110 fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);1111 }1112 root = cloneVNode(root, fallthroughAttrs);1113 } else if (false)1114 ;1115 }1116 }1117 if (vnode.dirs) {1118 if (false)1119 ;1120 root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;1121 }1122 if (vnode.transition) {1123 if (false)1124 ;1125 root.transition = vnode.transition;1126 }1127 if (false)1128 ;1129 else {1130 result = root;1131 }1132 } catch (err) {1133 handleError(err, instance, 1);1134 result = createVNode(Comment);1135 }1136 currentRenderingInstance = null;1137 return result;1138}1139const getChildRoot = (vnode) => {1140 if (vnode.type !== Fragment) {1141 return [vnode, void 0];1142 }1143 const rawChildren = vnode.children;1144 const dynamicChildren = vnode.dynamicChildren;1145 const childRoot = filterSingleRoot(rawChildren);1146 if (!childRoot) {1147 return [vnode, void 0];1148 }1149 const index = rawChildren.indexOf(childRoot);1150 const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;1151 const setRoot = (updatedRoot) => {1152 rawChildren[index] = updatedRoot;1153 if (dynamicChildren) {1154 if (dynamicIndex > -1) {1155 dynamicChildren[dynamicIndex] = updatedRoot;1156 } else if (updatedRoot.patchFlag > 0) {1157 vnode.dynamicChildren = [...dynamicChildren, updatedRoot];1158 }1159 }1160 };1161 return [normalizeVNode(childRoot), setRoot];1162};1163function filterSingleRoot(children) {1164 const filtered = children.filter((child) => {1165 return !(isVNode(child) && child.type === Comment && child.children !== "v-if");1166 });1167 return filtered.length === 1 && isVNode(filtered[0]) ? filtered[0] : null;1168}1169const getFunctionalFallthrough = (attrs) => {1170 let res;1171 for (const key in attrs) {1172 if (key === "class" || key === "style" || isOn(key)) {1173 (res || (res = {}))[key] = attrs[key];1174 }1175 }1176 return res;1177};1178const filterModelListeners = (attrs, props) => {1179 const res = {};1180 for (const key in attrs) {1181 if (!isModelListener(key) || !(key.slice(9) in props)) {1182 res[key] = attrs[key];1183 }1184 }1185 return res;1186};1187const isElementRoot = (vnode) => {1188 return vnode.shapeFlag & 6 || vnode.shapeFlag & 1 || vnode.type === Comment;1189};1190function shouldUpdateComponent(prevVNode, nextVNode, optimized) {1191 const {props: prevProps, children: prevChildren, component} = prevVNode;1192 const {props: nextProps, children: nextChildren, patchFlag} = nextVNode;1193 const emits = component.emitsOptions;1194 if (nextVNode.dirs || nextVNode.transition) {1195 return true;1196 }1197 if (optimized && patchFlag > 0) {1198 if (patchFlag & 1024) {1199 return true;1200 }1201 if (patchFlag & 16) {1202 if (!prevProps) {1203 return !!nextProps;1204 }1205 return hasPropsChanged(prevProps, nextProps, emits);1206 } else if (patchFlag & 8) {1207 const dynamicProps = nextVNode.dynamicProps;1208 for (let i = 0; i < dynamicProps.length; i++) {1209 const key = dynamicProps[i];1210 if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {1211 return true;1212 }1213 }1214 }1215 } else {1216 if (prevChildren || nextChildren) {1217 if (!nextChildren || !nextChildren.$stable) {1218 return true;1219 }1220 }1221 if (prevProps === nextProps) {1222 return false;1223 }1224 if (!prevProps) {1225 return !!nextProps;1226 }1227 if (!nextProps) {1228 return true;1229 }1230 return hasPropsChanged(prevProps, nextProps, emits);1231 }1232 return false;1233}1234function hasPropsChanged(prevProps, nextProps, emitsOptions) {1235 const nextKeys = Object.keys(nextProps);1236 if (nextKeys.length !== Object.keys(prevProps).length) {1237 return true;1238 }1239 for (let i = 0; i < nextKeys.length; i++) {1240 const key = nextKeys[i];1241 if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {1242 return true;1243 }1244 }1245 return false;1246}1247function updateHOCHostEl({vnode, parent}, el) {1248 while (parent && parent.subTree === vnode) {1249 (vnode = parent.vnode).el = el;1250 parent = parent.parent;1251 }1252}1253const isSuspense = (type) => type.__isSuspense;1254function normalizeSuspenseChildren(vnode) {1255 const {shapeFlag, children} = vnode;1256 let content;1257 let fallback;1258 if (shapeFlag & 32) {1259 content = normalizeSuspenseSlot(children.default);1260 fallback = normalizeSuspenseSlot(children.fallback);1261 } else {1262 content = normalizeSuspenseSlot(children);1263 fallback = normalizeVNode(null);1264 }1265 return {1266 content,1267 fallback1268 };1269}1270function normalizeSuspenseSlot(s) {1271 if (isFunction(s)) {1272 s = s();1273 }1274 if (isArray(s)) {1275 const singleChild = filterSingleRoot(s);1276 s = singleChild;1277 }1278 return normalizeVNode(s);1279}1280function queueEffectWithSuspense(fn, suspense) {1281 if (suspense && suspense.pendingBranch) {1282 if (isArray(fn)) {1283 suspense.effects.push(...fn);1284 } else {1285 suspense.effects.push(fn);1286 }1287 } else {1288 queuePostFlushCb(fn);1289 }1290}1291let isRenderingCompiledSlot = 0;1292const setCompiledSlotRendering = (n) => isRenderingCompiledSlot += n;1293function renderSlot(slots, name, props = {}, fallback) {1294 let slot = slots[name];1295 isRenderingCompiledSlot++;1296 const rendered = (openBlock(), createBlock(Fragment, {key: props.key}, slot ? slot(props) : fallback ? fallback() : [], slots._ === 1 ? 64 : -2));1297 isRenderingCompiledSlot--;1298 return rendered;1299}1300function withCtx(fn, ctx = currentRenderingInstance) {1301 if (!ctx)1302 return fn;1303 const renderFnWithContext = (...args) => {1304 if (!isRenderingCompiledSlot) {1305 openBlock(true);1306 }1307 const owner = currentRenderingInstance;1308 setCurrentRenderingInstance(ctx);1309 const res = fn(...args);1310 setCurrentRenderingInstance(owner);1311 if (!isRenderingCompiledSlot) {1312 closeBlock();1313 }1314 return res;1315 };1316 renderFnWithContext._c = true;1317 return renderFnWithContext;1318}1319let currentScopeId = null;1320function initProps(instance, rawProps, isStateful, isSSR = false) {1321 const props = {};1322 const attrs = {};1323 def(attrs, InternalObjectKey, 1);1324 setFullProps(instance, rawProps, props, attrs);1325 if (isStateful) {1326 instance.props = isSSR ? props : shallowReactive(props);1327 } else {1328 if (!instance.type.props) {1329 instance.props = attrs;1330 } else {1331 instance.props = props;1332 }1333 }1334 instance.attrs = attrs;1335}1336function updateProps(instance, rawProps, rawPrevProps, optimized) {1337 const {props, attrs, vnode: {patchFlag}} = instance;1338 const rawCurrentProps = toRaw(props);1339 const [options] = instance.propsOptions;1340 if ((optimized || patchFlag > 0) && !(patchFlag & 16)) {1341 if (patchFlag & 8) {1342 const propsToUpdate = instance.vnode.dynamicProps;1343 for (let i = 0; i < propsToUpdate.length; i++) {1344 const key = propsToUpdate[i];1345 const value = rawProps[key];1346 if (options) {1347 if (hasOwn(attrs, key)) {1348 attrs[key] = value;1349 } else {1350 const camelizedKey = camelize(key);1351 props[camelizedKey] = resolvePropValue(options, rawCurrentProps, camelizedKey, value, instance);1352 }1353 } else {1354 attrs[key] = value;1355 }1356 }1357 }1358 } else {1359 setFullProps(instance, rawProps, props, attrs);1360 let kebabKey;1361 for (const key in rawCurrentProps) {1362 if (!rawProps || !hasOwn(rawProps, key) && ((kebabKey = hyphenate(key)) === key || !hasOwn(rawProps, kebabKey))) {1363 if (options) {1364 if (rawPrevProps && (rawPrevProps[key] !== void 0 || rawPrevProps[kebabKey] !== void 0)) {1365 props[key] = resolvePropValue(options, rawProps || EMPTY_OBJ, key, void 0, instance);1366 }1367 } else {1368 delete props[key];1369 }1370 }1371 }1372 if (attrs !== rawCurrentProps) {1373 for (const key in attrs) {1374 if (!rawProps || !hasOwn(rawProps, key)) {1375 delete attrs[key];1376 }1377 }1378 }1379 }1380 trigger(instance, "set", "$attrs");1381}1382function setFullProps(instance, rawProps, props, attrs) {1383 const [options, needCastKeys] = instance.propsOptions;1384 if (rawProps) {1385 for (const key in rawProps) {1386 const value = rawProps[key];1387 if (isReservedProp(key)) {1388 continue;1389 }1390 let camelKey;1391 if (options && hasOwn(options, camelKey = camelize(key))) {1392 props[camelKey] = value;1393 } else if (!isEmitListener(instance.emitsOptions, key)) {1394 attrs[key] = value;1395 }1396 }1397 }1398 if (needCastKeys) {1399 const rawCurrentProps = toRaw(props);1400 for (let i = 0; i < needCastKeys.length; i++) {1401 const key = needCastKeys[i];1402 props[key] = resolvePropValue(options, rawCurrentProps, key, rawCurrentProps[key], instance);1403 }1404 }1405}1406function resolvePropValue(options, props, key, value, instance) {1407 const opt = options[key];1408 if (opt != null) {1409 const hasDefault = hasOwn(opt, "default");1410 if (hasDefault && value === void 0) {1411 const defaultValue = opt.default;1412 if (opt.type !== Function && isFunction(defaultValue)) {1413 setCurrentInstance(instance);1414 value = defaultValue(props);1415 setCurrentInstance(null);1416 } else {1417 value = defaultValue;1418 }1419 }1420 if (opt[0]) {1421 if (!hasOwn(props, key) && !hasDefault) {1422 value = false;1423 } else if (opt[1] && (value === "" || value === hyphenate(key))) {1424 value = true;1425 }1426 }1427 }1428 return value;1429}1430function normalizePropsOptions(comp, appContext, asMixin = false) {1431 if (!appContext.deopt && comp.__props) {1432 return comp.__props;1433 }1434 const raw = comp.props;1435 const normalized = {};1436 const needCastKeys = [];1437 let hasExtends = false;1438 if (!isFunction(comp)) {1439 const extendProps = (raw2) => {1440 hasExtends = true;1441 const [props, keys] = normalizePropsOptions(raw2, appContext, true);1442 extend(normalized, props);1443 if (keys)1444 needCastKeys.push(...keys);1445 };1446 if (!asMixin && appContext.mixins.length) {1447 appContext.mixins.forEach(extendProps);1448 }1449 if (comp.extends) {1450 extendProps(comp.extends);1451 }1452 if (comp.mixins) {1453 comp.mixins.forEach(extendProps);1454 }1455 }1456 if (!raw && !hasExtends) {1457 return comp.__props = EMPTY_ARR;1458 }1459 if (isArray(raw)) {1460 for (let i = 0; i < raw.length; i++) {1461 const normalizedKey = camelize(raw[i]);1462 if (validatePropName(normalizedKey)) {1463 normalized[normalizedKey] = EMPTY_OBJ;1464 }1465 }1466 } else if (raw) {1467 for (const key in raw) {1468 const normalizedKey = camelize(key);1469 if (validatePropName(normalizedKey)) {1470 const opt = raw[key];1471 const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? {type: opt} : opt;1472 if (prop) {1473 const booleanIndex = getTypeIndex(Boolean, prop.type);1474 const stringIndex = getTypeIndex(String, prop.type);1475 prop[0] = booleanIndex > -1;1476 prop[1] = stringIndex < 0 || booleanIndex < stringIndex;1477 if (booleanIndex > -1 || hasOwn(prop, "default")) {1478 needCastKeys.push(normalizedKey);1479 }1480 }1481 }1482 }1483 }1484 return comp.__props = [normalized, needCastKeys];1485}1486function validatePropName(key) {1487 if (key[0] !== "$") {1488 return true;1489 }1490 return false;1491}1492function getType(ctor) {1493 const match = ctor && ctor.toString().match(/^\s*function (\w+)/);1494 return match ? match[1] : "";1495}1496function isSameType(a, b) {1497 return getType(a) === getType(b);1498}1499function getTypeIndex(type, expectedTypes) {1500 if (isArray(expectedTypes)) {1501 for (let i = 0, len = expectedTypes.length; i < len; i++) {1502 if (isSameType(expectedTypes[i], type)) {1503 return i;1504 }1505 }1506 } else if (isFunction(expectedTypes)) {1507 return isSameType(expectedTypes, type) ? 0 : -1;1508 }1509 return -1;1510}1511function injectHook(type, hook, target = currentInstance, prepend = false) {1512 if (target) {1513 const hooks = target[type] || (target[type] = []);1514 const wrappedHook = hook.__weh || (hook.__weh = (...args) => {1515 if (target.isUnmounted) {1516 return;1517 }1518 pauseTracking();1519 setCurrentInstance(target);1520 const res = callWithAsyncErrorHandling(hook, target, type, args);1521 setCurrentInstance(null);1522 resetTracking();1523 return res;1524 });1525 if (prepend) {1526 hooks.unshift(wrappedHook);1527 } else {1528 hooks.push(wrappedHook);1529 }1530 return wrappedHook;1531 }1532}1533const createHook = (lifecycle) => (hook, target = currentInstance) => !isInSSRComponentSetup && injectHook(lifecycle, hook, target);1534const onBeforeMount = createHook("bm");1535const onMounted = createHook("m");1536const onBeforeUpdate = createHook("bu");1537const onUpdated = createHook("u");1538const onBeforeUnmount = createHook("bum");1539const onUnmounted = createHook("um");1540const onRenderTriggered = createHook("rtg");1541const onRenderTracked = createHook("rtc");1542const onErrorCaptured = (hook, target = currentInstance) => {1543 injectHook("ec", hook, target);1544};1545const INITIAL_WATCHER_VALUE = {};1546function watch(source, cb, options) {1547 return doWatch(source, cb, options);1548}1549function doWatch(source, cb, {immediate, deep, flush, onTrack, onTrigger} = EMPTY_OBJ, instance = currentInstance) {1550 let getter;1551 let forceTrigger = false;1552 if (isRef(source)) {1553 getter = () => source.value;1554 forceTrigger = !!source._shallow;1555 } else if (isReactive(source)) {1556 getter = () => source;1557 deep = true;1558 } else if (isArray(source)) {1559 getter = () => source.map((s) => {1560 if (isRef(s)) {1561 return s.value;1562 } else if (isReactive(s)) {1563 return traverse(s);1564 } else if (isFunction(s)) {1565 return callWithErrorHandling(s, instance, 2);1566 } else1567 ;1568 });1569 } else if (isFunction(source)) {1570 if (cb) {1571 getter = () => callWithErrorHandling(source, instance, 2);1572 } else {1573 getter = () => {1574 if (instance && instance.isUnmounted) {1575 return;1576 }1577 if (cleanup2) {1578 cleanup2();1579 }1580 return callWithErrorHandling(source, instance, 3, [onInvalidate]);1581 };1582 }1583 } else {1584 getter = NOOP;1585 }1586 if (cb && deep) {1587 const baseGetter = getter;1588 getter = () => traverse(baseGetter());1589 }1590 let cleanup2;1591 const onInvalidate = (fn) => {1592 cleanup2 = runner.options.onStop = () => {1593 callWithErrorHandling(fn, instance, 4);1594 };1595 };1596 let oldValue = isArray(source) ? [] : INITIAL_WATCHER_VALUE;1597 const job = () => {1598 if (!runner.active) {1599 return;1600 }1601 if (cb) {1602 const newValue = runner();1603 if (deep || forceTrigger || hasChanged(newValue, oldValue)) {1604 if (cleanup2) {1605 cleanup2();1606 }1607 callWithAsyncErrorHandling(cb, instance, 3, [1608 newValue,1609 oldValue === INITIAL_WATCHER_VALUE ? void 0 : oldValue,1610 onInvalidate1611 ]);1612 oldValue = newValue;1613 }1614 } else {1615 runner();1616 }1617 };1618 job.allowRecurse = !!cb;1619 let scheduler;1620 if (flush === "sync") {1621 scheduler = job;1622 } else if (flush === "post") {1623 scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);1624 } else {1625 scheduler = () => {1626 if (!instance || instance.isMounted) {1627 queuePreFlushCb(job);1628 } else {1629 job();1630 }1631 };1632 }1633 const runner = effect(getter, {1634 lazy: true,1635 onTrack,1636 onTrigger,1637 scheduler1638 });1639 recordInstanceBoundEffect(runner);1640 if (cb) {1641 if (immediate) {1642 job();1643 } else {1644 oldValue = runner();1645 }1646 } else if (flush === "post") {1647 queuePostRenderEffect(runner, instance && instance.suspense);1648 } else {1649 runner();1650 }1651 return () => {1652 stop(runner);1653 if (instance) {1654 remove(instance.effects, runner);1655 }1656 };1657}1658function instanceWatch(source, cb, options) {1659 const publicThis = this.proxy;1660 const getter = isString(source) ? () => publicThis[source] : source.bind(publicThis);1661 return doWatch(getter, cb.bind(publicThis), options, this);1662}1663function traverse(value, seen = new Set()) {1664 if (!isObject(value) || seen.has(value)) {1665 return value;1666 }1667 seen.add(value);1668 if (isRef(value)) {1669 traverse(value.value, seen);1670 } else if (isArray(value)) {1671 for (let i = 0; i < value.length; i++) {1672 traverse(value[i], seen);1673 }1674 } else if (isSet(value) || isMap(value)) {1675 value.forEach((v) => {1676 traverse(v, seen);1677 });1678 } else {1679 for (const key in value) {1680 traverse(value[key], seen);1681 }1682 }1683 return value;1684}1685const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;1686function onActivated(hook, target) {1687 registerKeepAliveHook(hook, "a", target);1688}1689function onDeactivated(hook, target) {1690 registerKeepAliveHook(hook, "da", target);1691}1692function registerKeepAliveHook(hook, type, target = currentInstance) {1693 const wrappedHook = hook.__wdc || (hook.__wdc = () => {1694 let current = target;1695 while (current) {1696 if (current.isDeactivated) {1697 return;1698 }1699 current = current.parent;1700 }1701 hook();1702 });1703 injectHook(type, wrappedHook, target);1704 if (target) {1705 let current = target.parent;1706 while (current && current.parent) {1707 if (isKeepAlive(current.parent.vnode)) {1708 injectToKeepAliveRoot(wrappedHook, type, target, current);1709 }1710 current = current.parent;1711 }1712 }1713}1714function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {1715 const injected = injectHook(type, hook, keepAliveRoot, true);1716 onUnmounted(() => {1717 remove(keepAliveRoot[type], injected);1718 }, target);1719}1720const isInternalKey = (key) => key[0] === "_" || key === "$stable";1721const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];1722const normalizeSlot = (key, rawSlot, ctx) => withCtx((props) => {1723 return normalizeSlotValue(rawSlot(props));1724}, ctx);1725const normalizeObjectSlots = (rawSlots, slots) => {1726 const ctx = rawSlots._ctx;1727 for (const key in rawSlots) {1728 if (isInternalKey(key))1729 continue;1730 const value = rawSlots[key];1731 if (isFunction(value)) {1732 slots[key] = normalizeSlot(key, value, ctx);1733 } else if (value != null) {1734 const normalized = normalizeSlotValue(value);1735 slots[key] = () => normalized;1736 }1737 }1738};1739const normalizeVNodeSlots = (instance, children) => {1740 const normalized = normalizeSlotValue(children);1741 instance.slots.default = () => normalized;1742};1743const initSlots = (instance, children) => {1744 if (instance.vnode.shapeFlag & 32) {1745 const type = children._;1746 if (type) {1747 instance.slots = children;1748 def(children, "_", type);1749 } else {1750 normalizeObjectSlots(children, instance.slots = {});1751 }1752 } else {1753 instance.slots = {};1754 if (children) {1755 normalizeVNodeSlots(instance, children);1756 }1757 }1758 def(instance.slots, InternalObjectKey, 1);1759};1760const updateSlots = (instance, children) => {1761 const {vnode, slots} = instance;1762 let needDeletionCheck = true;1763 let deletionComparisonTarget = EMPTY_OBJ;1764 if (vnode.shapeFlag & 32) {1765 const type = children._;1766 if (type) {1767 if (type === 1) {1768 needDeletionCheck = false;1769 } else {1770 extend(slots, children);1771 }1772 } else {1773 needDeletionCheck = !children.$stable;1774 normalizeObjectSlots(children, slots);1775 }1776 deletionComparisonTarget = children;1777 } else if (children) {1778 normalizeVNodeSlots(instance, children);1779 deletionComparisonTarget = {default: 1};1780 }1781 if (needDeletionCheck) {1782 for (const key in slots) {1783 if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {1784 delete slots[key];1785 }1786 }1787 }1788};1789function invokeDirectiveHook(vnode, prevVNode, instance, name) {1790 const bindings = vnode.dirs;1791 const oldBindings = prevVNode && prevVNode.dirs;1792 for (let i = 0; i < bindings.length; i++) {1793 const binding = bindings[i];1794 if (oldBindings) {1795 binding.oldValue = oldBindings[i].value;1796 }1797 const hook = binding.dir[name];1798 if (hook) {1799 callWithAsyncErrorHandling(hook, instance, 8, [1800 vnode.el,1801 binding,1802 vnode,1803 prevVNode1804 ]);1805 }1806 }1807}1808function createAppContext() {1809 return {1810 app: null,1811 config: {1812 isNativeTag: NO,1813 performance: false,1814 globalProperties: {},1815 optionMergeStrategies: {},1816 isCustomElement: NO,1817 errorHandler: void 0,1818 warnHandler: void 01819 },1820 mixins: [],1821 components: {},1822 directives: {},1823 provides: Object.create(null)1824 };1825}1826let uid$1 = 0;1827function createAppAPI(render2, hydrate) {1828 return function createApp2(rootComponent, rootProps = null) {1829 if (rootProps != null && !isObject(rootProps)) {1830 rootProps = null;1831 }1832 const context = createAppContext();1833 const installedPlugins = new Set();1834 let isMounted = false;1835 const app = context.app = {1836 _uid: uid$1++,1837 _component: rootComponent,1838 _props: rootProps,1839 _container: null,1840 _context: context,1841 version,1842 get config() {1843 return context.config;1844 },1845 set config(v) {1846 },1847 use(plugin, ...options) {1848 if (installedPlugins.has(plugin))1849 ;1850 else if (plugin && isFunction(plugin.install)) {1851 installedPlugins.add(plugin);1852 plugin.install(app, ...options);1853 } else if (isFunction(plugin)) {1854 installedPlugins.add(plugin);1855 plugin(app, ...options);1856 } else1857 ;1858 return app;1859 },1860 mixin(mixin) {1861 {1862 if (!context.mixins.includes(mixin)) {1863 context.mixins.push(mixin);1864 if (mixin.props || mixin.emits) {1865 context.deopt = true;1866 }1867 }1868 }1869 return app;1870 },1871 component(name, component) {1872 if (!component) {1873 return context.components[name];1874 }1875 context.components[name] = component;1876 return app;1877 },1878 directive(name, directive) {1879 if (!directive) {1880 return context.directives[name];1881 }1882 context.directives[name] = directive;1883 return app;1884 },1885 mount(rootContainer, isHydrate) {1886 if (!isMounted) {1887 const vnode = createVNode(rootComponent, rootProps);1888 vnode.appContext = context;1889 if (isHydrate && hydrate) {1890 hydrate(vnode, rootContainer);1891 } else {1892 render2(vnode, rootContainer);1893 }1894 isMounted = true;1895 app._container = rootContainer;1896 rootContainer.__vue_app__ = app;1897 return vnode.component.proxy;1898 }1899 },1900 unmount() {1901 if (isMounted) {1902 render2(null, app._container);1903 }1904 },1905 provide(key, value) {1906 context.provides[key] = value;1907 return app;1908 }1909 };1910 return app;1911 };1912}1913const prodEffectOptions = {1914 scheduler: queueJob,1915 allowRecurse: true1916};1917const queuePostRenderEffect = queueEffectWithSuspense;1918const setRef = (rawRef, oldRawRef, parentComponent, parentSuspense, vnode) => {1919 if (isArray(rawRef)) {1920 rawRef.forEach((r, i) => setRef(r, oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), parentComponent, parentSuspense, vnode));1921 return;1922 }1923 let value;1924 if (!vnode) {1925 value = null;1926 } else {1927 if (vnode.shapeFlag & 4) {1928 value = vnode.component.proxy;1929 } else {1930 value = vnode.el;1931 }1932 }1933 const {i: owner, r: ref} = rawRef;1934 const oldRef = oldRawRef && oldRawRef.r;1935 const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;1936 const setupState = owner.setupState;1937 if (oldRef != null && oldRef !== ref) {1938 if (isString(oldRef)) {1939 refs[oldRef] = null;1940 if (hasOwn(setupState, oldRef)) {1941 setupState[oldRef] = null;1942 }1943 } else if (isRef(oldRef)) {1944 oldRef.value = null;1945 }1946 }1947 if (isString(ref)) {1948 const doSet = () => {1949 refs[ref] = value;1950 if (hasOwn(setupState, ref)) {1951 setupState[ref] = value;1952 }1953 };1954 if (value) {1955 doSet.id = -1;1956 queuePostRenderEffect(doSet, parentSuspense);1957 } else {1958 doSet();1959 }1960 } else if (isRef(ref)) {1961 const doSet = () => {1962 ref.value = value;1963 };1964 if (value) {1965 doSet.id = -1;1966 queuePostRenderEffect(doSet, parentSuspense);1967 } else {1968 doSet();1969 }1970 } else if (isFunction(ref)) {1971 callWithErrorHandling(ref, parentComponent, 12, [1972 value,1973 refs1974 ]);1975 } else1976 ;1977};1978function createRenderer(options) {1979 return baseCreateRenderer(options);1980}1981function baseCreateRenderer(options, createHydrationFns) {1982 const {insert: hostInsert, remove: hostRemove, patchProp: hostPatchProp, forcePatchProp: hostForcePatchProp, createElement: hostCreateElement, createText: hostCreateText, createComment: hostCreateComment, setText: hostSetText, setElementText: hostSetElementText, parentNode: hostParentNode, nextSibling: hostNextSibling, setScopeId: hostSetScopeId = NOOP, cloneNode: hostCloneNode, insertStaticContent: hostInsertStaticContent} = options;1983 const patch = (n1, n2, container, anchor = null, parentComponent = null, parentSuspense = null, isSVG = false, optimized = false) => {1984 if (n1 && !isSameVNodeType(n1, n2)) {1985 anchor = getNextHostNode(n1);1986 unmount(n1, parentComponent, parentSuspense, true);1987 n1 = null;1988 }1989 if (n2.patchFlag === -2) {1990 optimized = false;1991 n2.dynamicChildren = null;1992 }1993 const {type, ref, shapeFlag} = n2;1994 switch (type) {1995 case Text:1996 processText(n1, n2, container, anchor);1997 break;1998 case Comment:1999 processCommentNode(n1, n2, container, anchor);2000 break;2001 case Static:2002 if (n1 == null) {2003 mountStaticNode(n2, container, anchor, isSVG);2004 }2005 break;2006 case Fragment:2007 processFragment(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2008 break;2009 default:2010 if (shapeFlag & 1) {2011 processElement(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2012 } else if (shapeFlag & 6) {2013 processComponent(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2014 } else if (shapeFlag & 64) {2015 type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);2016 } else if (shapeFlag & 128) {2017 type.process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, internals);2018 } else2019 ;2020 }2021 if (ref != null && parentComponent) {2022 setRef(ref, n1 && n1.ref, parentComponent, parentSuspense, n2);2023 }2024 };2025 const processText = (n1, n2, container, anchor) => {2026 if (n1 == null) {2027 hostInsert(n2.el = hostCreateText(n2.children), container, anchor);2028 } else {2029 const el = n2.el = n1.el;2030 if (n2.children !== n1.children) {2031 hostSetText(el, n2.children);2032 }2033 }2034 };2035 const processCommentNode = (n1, n2, container, anchor) => {2036 if (n1 == null) {2037 hostInsert(n2.el = hostCreateComment(n2.children || ""), container, anchor);2038 } else {2039 n2.el = n1.el;2040 }2041 };2042 const mountStaticNode = (n2, container, anchor, isSVG) => {2043 [n2.el, n2.anchor] = hostInsertStaticContent(n2.children, container, anchor, isSVG);2044 };2045 const processElement = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {2046 isSVG = isSVG || n2.type === "svg";2047 if (n1 == null) {2048 mountElement(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2049 } else {2050 patchElement(n1, n2, parentComponent, parentSuspense, isSVG, optimized);2051 }2052 };2053 const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {2054 let el;2055 let vnodeHook;2056 const {type, props, shapeFlag, transition, scopeId, patchFlag, dirs} = vnode;2057 if (vnode.el && hostCloneNode !== void 0 && patchFlag === -1) {2058 el = vnode.el = hostCloneNode(vnode.el);2059 } else {2060 el = vnode.el = hostCreateElement(vnode.type, isSVG, props && props.is);2061 if (shapeFlag & 8) {2062 hostSetElementText(el, vnode.children);2063 } else if (shapeFlag & 16) {2064 mountChildren(vnode.children, el, null, parentComponent, parentSuspense, isSVG && type !== "foreignObject", optimized || !!vnode.dynamicChildren);2065 }2066 if (dirs) {2067 invokeDirectiveHook(vnode, null, parentComponent, "created");2068 }2069 if (props) {2070 for (const key in props) {2071 if (!isReservedProp(key)) {2072 hostPatchProp(el, key, null, props[key], isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);2073 }2074 }2075 if (vnodeHook = props.onVnodeBeforeMount) {2076 invokeVNodeHook(vnodeHook, parentComponent, vnode);2077 }2078 }2079 setScopeId(el, scopeId, vnode, parentComponent);2080 }2081 if (dirs) {2082 invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");2083 }2084 const needCallTransitionHooks = (!parentSuspense || parentSuspense && !parentSuspense.pendingBranch) && transition && !transition.persisted;2085 if (needCallTransitionHooks) {2086 transition.beforeEnter(el);2087 }2088 hostInsert(el, container, anchor);2089 if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {2090 queuePostRenderEffect(() => {2091 vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);2092 needCallTransitionHooks && transition.enter(el);2093 dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");2094 }, parentSuspense);2095 }2096 };2097 const setScopeId = (el, scopeId, vnode, parentComponent) => {2098 if (scopeId) {2099 hostSetScopeId(el, scopeId);2100 }2101 if (parentComponent) {2102 const treeOwnerId = parentComponent.type.__scopeId;2103 if (treeOwnerId && treeOwnerId !== scopeId) {2104 hostSetScopeId(el, treeOwnerId + "-s");2105 }2106 let subTree = parentComponent.subTree;2107 if (vnode === subTree) {2108 setScopeId(el, parentComponent.vnode.scopeId, parentComponent.vnode, parentComponent.parent);2109 }2110 }2111 };2112 const mountChildren = (children, container, anchor, parentComponent, parentSuspense, isSVG, optimized, start = 0) => {2113 for (let i = start; i < children.length; i++) {2114 const child = children[i] = optimized ? cloneIfMounted(children[i]) : normalizeVNode(children[i]);2115 patch(null, child, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2116 }2117 };2118 const patchElement = (n1, n2, parentComponent, parentSuspense, isSVG, optimized) => {2119 const el = n2.el = n1.el;2120 let {patchFlag, dynamicChildren, dirs} = n2;2121 patchFlag |= n1.patchFlag & 16;2122 const oldProps = n1.props || EMPTY_OBJ;2123 const newProps = n2.props || EMPTY_OBJ;2124 let vnodeHook;2125 if (vnodeHook = newProps.onVnodeBeforeUpdate) {2126 invokeVNodeHook(vnodeHook, parentComponent, n2, n1);2127 }2128 if (dirs) {2129 invokeDirectiveHook(n2, n1, parentComponent, "beforeUpdate");2130 }2131 if (patchFlag > 0) {2132 if (patchFlag & 16) {2133 patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);2134 } else {2135 if (patchFlag & 2) {2136 if (oldProps.class !== newProps.class) {2137 hostPatchProp(el, "class", null, newProps.class, isSVG);2138 }2139 }2140 if (patchFlag & 4) {2141 hostPatchProp(el, "style", oldProps.style, newProps.style, isSVG);2142 }2143 if (patchFlag & 8) {2144 const propsToUpdate = n2.dynamicProps;2145 for (let i = 0; i < propsToUpdate.length; i++) {2146 const key = propsToUpdate[i];2147 const prev = oldProps[key];2148 const next = newProps[key];2149 if (next !== prev || hostForcePatchProp && hostForcePatchProp(el, key)) {2150 hostPatchProp(el, key, prev, next, isSVG, n1.children, parentComponent, parentSuspense, unmountChildren);2151 }2152 }2153 }2154 }2155 if (patchFlag & 1) {2156 if (n1.children !== n2.children) {2157 hostSetElementText(el, n2.children);2158 }2159 }2160 } else if (!optimized && dynamicChildren == null) {2161 patchProps(el, n2, oldProps, newProps, parentComponent, parentSuspense, isSVG);2162 }2163 const areChildrenSVG = isSVG && n2.type !== "foreignObject";2164 if (dynamicChildren) {2165 patchBlockChildren(n1.dynamicChildren, dynamicChildren, el, parentComponent, parentSuspense, areChildrenSVG);2166 } else if (!optimized) {2167 patchChildren(n1, n2, el, null, parentComponent, parentSuspense, areChildrenSVG);2168 }2169 if ((vnodeHook = newProps.onVnodeUpdated) || dirs) {2170 queuePostRenderEffect(() => {2171 vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, n2, n1);2172 dirs && invokeDirectiveHook(n2, n1, parentComponent, "updated");2173 }, parentSuspense);2174 }2175 };2176 const patchBlockChildren = (oldChildren, newChildren, fallbackContainer, parentComponent, parentSuspense, isSVG) => {2177 for (let i = 0; i < newChildren.length; i++) {2178 const oldVNode = oldChildren[i];2179 const newVNode = newChildren[i];2180 const container = oldVNode.type === Fragment || !isSameVNodeType(oldVNode, newVNode) || oldVNode.shapeFlag & 6 || oldVNode.shapeFlag & 64 ? hostParentNode(oldVNode.el) : fallbackContainer;2181 patch(oldVNode, newVNode, container, null, parentComponent, parentSuspense, isSVG, true);2182 }2183 };2184 const patchProps = (el, vnode, oldProps, newProps, parentComponent, parentSuspense, isSVG) => {2185 if (oldProps !== newProps) {2186 for (const key in newProps) {2187 if (isReservedProp(key))2188 continue;2189 const next = newProps[key];2190 const prev = oldProps[key];2191 if (next !== prev || hostForcePatchProp && hostForcePatchProp(el, key)) {2192 hostPatchProp(el, key, prev, next, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);2193 }2194 }2195 if (oldProps !== EMPTY_OBJ) {2196 for (const key in oldProps) {2197 if (!isReservedProp(key) && !(key in newProps)) {2198 hostPatchProp(el, key, oldProps[key], null, isSVG, vnode.children, parentComponent, parentSuspense, unmountChildren);2199 }2200 }2201 }2202 }2203 };2204 const processFragment = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {2205 const fragmentStartAnchor = n2.el = n1 ? n1.el : hostCreateText("");2206 const fragmentEndAnchor = n2.anchor = n1 ? n1.anchor : hostCreateText("");2207 let {patchFlag, dynamicChildren} = n2;2208 if (patchFlag > 0) {2209 optimized = true;2210 }2211 if (n1 == null) {2212 hostInsert(fragmentStartAnchor, container, anchor);2213 hostInsert(fragmentEndAnchor, container, anchor);2214 mountChildren(n2.children, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, optimized);2215 } else {2216 if (patchFlag > 0 && patchFlag & 64 && dynamicChildren) {2217 patchBlockChildren(n1.dynamicChildren, dynamicChildren, container, parentComponent, parentSuspense, isSVG);2218 if (n2.key != null || parentComponent && n2 === parentComponent.subTree) {2219 traverseStaticChildren(n1, n2, true);2220 }2221 } else {2222 patchChildren(n1, n2, container, fragmentEndAnchor, parentComponent, parentSuspense, isSVG, optimized);2223 }2224 }2225 };2226 const processComponent = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {2227 if (n1 == null) {2228 if (n2.shapeFlag & 512) {2229 parentComponent.ctx.activate(n2, container, anchor, isSVG, optimized);2230 } else {2231 mountComponent(n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2232 }2233 } else {2234 updateComponent(n1, n2, optimized);2235 }2236 };2237 const mountComponent = (initialVNode, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {2238 const instance = initialVNode.component = createComponentInstance(initialVNode, parentComponent, parentSuspense);2239 if (isKeepAlive(initialVNode)) {2240 instance.ctx.renderer = internals;2241 }2242 setupComponent(instance);2243 if (instance.asyncDep) {2244 parentSuspense && parentSuspense.registerDep(instance, setupRenderEffect);2245 if (!initialVNode.el) {2246 const placeholder = instance.subTree = createVNode(Comment);2247 processCommentNode(null, placeholder, container, anchor);2248 }2249 return;2250 }2251 setupRenderEffect(instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized);2252 };2253 const updateComponent = (n1, n2, optimized) => {2254 const instance = n2.component = n1.component;2255 if (shouldUpdateComponent(n1, n2, optimized)) {2256 if (instance.asyncDep && !instance.asyncResolved) {2257 updateComponentPreRender(instance, n2, optimized);2258 return;2259 } else {2260 instance.next = n2;2261 invalidateJob(instance.update);2262 instance.update();2263 }2264 } else {2265 n2.component = n1.component;2266 n2.el = n1.el;2267 instance.vnode = n2;2268 }2269 };2270 const setupRenderEffect = (instance, initialVNode, container, anchor, parentSuspense, isSVG, optimized) => {2271 instance.update = effect(function componentEffect() {2272 if (!instance.isMounted) {2273 let vnodeHook;2274 const {el, props} = initialVNode;2275 const {bm, m, parent} = instance;2276 if (bm) {2277 invokeArrayFns(bm);2278 }2279 if (vnodeHook = props && props.onVnodeBeforeMount) {2280 invokeVNodeHook(vnodeHook, parent, initialVNode);2281 }2282 const subTree = instance.subTree = renderComponentRoot(instance);2283 if (el && hydrateNode) {2284 hydrateNode(initialVNode.el, subTree, instance, parentSuspense);2285 } else {2286 patch(null, subTree, container, anchor, instance, parentSuspense, isSVG);2287 initialVNode.el = subTree.el;2288 }2289 if (m) {2290 queuePostRenderEffect(m, parentSuspense);2291 }2292 if (vnodeHook = props && props.onVnodeMounted) {2293 queuePostRenderEffect(() => {2294 invokeVNodeHook(vnodeHook, parent, initialVNode);2295 }, parentSuspense);2296 }2297 const {a} = instance;2298 if (a && initialVNode.shapeFlag & 256) {2299 queuePostRenderEffect(a, parentSuspense);2300 }2301 instance.isMounted = true;2302 } else {2303 let {next, bu, u, parent, vnode} = instance;2304 let originNext = next;2305 let vnodeHook;2306 if (next) {2307 next.el = vnode.el;2308 updateComponentPreRender(instance, next, optimized);2309 } else {2310 next = vnode;2311 }2312 if (bu) {2313 invokeArrayFns(bu);2314 }2315 if (vnodeHook = next.props && next.props.onVnodeBeforeUpdate) {2316 invokeVNodeHook(vnodeHook, parent, next, vnode);2317 }2318 const nextTree = renderComponentRoot(instance);2319 const prevTree = instance.subTree;2320 instance.subTree = nextTree;2321 patch(prevTree, nextTree, hostParentNode(prevTree.el), getNextHostNode(prevTree), instance, parentSuspense, isSVG);2322 next.el = nextTree.el;2323 if (originNext === null) {2324 updateHOCHostEl(instance, nextTree.el);2325 }2326 if (u) {2327 queuePostRenderEffect(u, parentSuspense);2328 }2329 if (vnodeHook = next.props && next.props.onVnodeUpdated) {2330 queuePostRenderEffect(() => {2331 invokeVNodeHook(vnodeHook, parent, next, vnode);2332 }, parentSuspense);2333 }2334 }2335 }, prodEffectOptions);2336 };2337 const updateComponentPreRender = (instance, nextVNode, optimized) => {2338 nextVNode.component = instance;2339 const prevProps = instance.vnode.props;2340 instance.vnode = nextVNode;2341 instance.next = null;2342 updateProps(instance, nextVNode.props, prevProps, optimized);2343 updateSlots(instance, nextVNode.children);2344 flushPreFlushCbs(void 0, instance.update);2345 };2346 const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, optimized = false) => {2347 const c1 = n1 && n1.children;2348 const prevShapeFlag = n1 ? n1.shapeFlag : 0;2349 const c2 = n2.children;2350 const {patchFlag, shapeFlag} = n2;2351 if (patchFlag > 0) {2352 if (patchFlag & 128) {2353 patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2354 return;2355 } else if (patchFlag & 256) {2356 patchUnkeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2357 return;2358 }2359 }2360 if (shapeFlag & 8) {2361 if (prevShapeFlag & 16) {2362 unmountChildren(c1, parentComponent, parentSuspense);2363 }2364 if (c2 !== c1) {2365 hostSetElementText(container, c2);2366 }2367 } else {2368 if (prevShapeFlag & 16) {2369 if (shapeFlag & 16) {2370 patchKeyedChildren(c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2371 } else {2372 unmountChildren(c1, parentComponent, parentSuspense, true);2373 }2374 } else {2375 if (prevShapeFlag & 8) {2376 hostSetElementText(container, "");2377 }2378 if (shapeFlag & 16) {2379 mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, optimized);2380 }2381 }2382 }2383 };2384 const patchUnkeyedChildren = (c1, c2, container, anchor, parentComponent, parentSuspense, isSVG, optimized) => {2385 c1 = c1 || EMPTY_ARR;2386 c2 = c2 || EMPTY_ARR;2387 const oldLength = c1.length;2388 const newLength = c2.length;2389 const commonLength = Math.min(oldLength, newLength);2390 let i;2391 for (i = 0; i < commonLength; i++) {2392 const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);2393 patch(c1[i], nextChild, container, null, parentComponent, parentSuspense, isSVG, optimized);2394 }2395 if (oldLength > newLength) {2396 unmountChildren(c1, parentComponent, parentSuspense, true, false, commonLength);2397 } else {2398 mountChildren(c2, container, anchor, parentComponent, parentSuspense, isSVG, optimized, commonLength);2399 }2400 };2401 const patchKeyedChildren = (c1, c2, container, parentAnchor, parentComponent, parentSuspense, isSVG, optimized) => {2402 let i = 0;2403 const l2 = c2.length;2404 let e1 = c1.length - 1;2405 let e2 = l2 - 1;2406 while (i <= e1 && i <= e2) {2407 const n1 = c1[i];2408 const n2 = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);2409 if (isSameVNodeType(n1, n2)) {2410 patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, optimized);2411 } else {2412 break;2413 }2414 i++;2415 }2416 while (i <= e1 && i <= e2) {2417 const n1 = c1[e1];2418 const n2 = c2[e2] = optimized ? cloneIfMounted(c2[e2]) : normalizeVNode(c2[e2]);2419 if (isSameVNodeType(n1, n2)) {2420 patch(n1, n2, container, null, parentComponent, parentSuspense, isSVG, optimized);2421 } else {2422 break;2423 }2424 e1--;2425 e2--;2426 }2427 if (i > e1) {2428 if (i <= e2) {2429 const nextPos = e2 + 1;2430 const anchor = nextPos < l2 ? c2[nextPos].el : parentAnchor;2431 while (i <= e2) {2432 patch(null, c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]), container, anchor, parentComponent, parentSuspense, isSVG);2433 i++;2434 }2435 }2436 } else if (i > e2) {2437 while (i <= e1) {2438 unmount(c1[i], parentComponent, parentSuspense, true);2439 i++;2440 }2441 } else {2442 const s1 = i;2443 const s2 = i;2444 const keyToNewIndexMap = new Map();2445 for (i = s2; i <= e2; i++) {2446 const nextChild = c2[i] = optimized ? cloneIfMounted(c2[i]) : normalizeVNode(c2[i]);2447 if (nextChild.key != null) {2448 keyToNewIndexMap.set(nextChild.key, i);2449 }2450 }2451 let j;2452 let patched = 0;2453 const toBePatched = e2 - s2 + 1;2454 let moved = false;2455 let maxNewIndexSoFar = 0;2456 const newIndexToOldIndexMap = new Array(toBePatched);2457 for (i = 0; i < toBePatched; i++)2458 newIndexToOldIndexMap[i] = 0;2459 for (i = s1; i <= e1; i++) {2460 const prevChild = c1[i];2461 if (patched >= toBePatched) {2462 unmount(prevChild, parentComponent, parentSuspense, true);2463 continue;2464 }2465 let newIndex;2466 if (prevChild.key != null) {2467 newIndex = keyToNewIndexMap.get(prevChild.key);2468 } else {2469 for (j = s2; j <= e2; j++) {2470 if (newIndexToOldIndexMap[j - s2] === 0 && isSameVNodeType(prevChild, c2[j])) {2471 newIndex = j;2472 break;2473 }2474 }2475 }2476 if (newIndex === void 0) {2477 unmount(prevChild, parentComponent, parentSuspense, true);2478 } else {2479 newIndexToOldIndexMap[newIndex - s2] = i + 1;2480 if (newIndex >= maxNewIndexSoFar) {2481 maxNewIndexSoFar = newIndex;2482 } else {2483 moved = true;2484 }2485 patch(prevChild, c2[newIndex], container, null, parentComponent, parentSuspense, isSVG, optimized);2486 patched++;2487 }2488 }2489 const increasingNewIndexSequence = moved ? getSequence(newIndexToOldIndexMap) : EMPTY_ARR;2490 j = increasingNewIndexSequence.length - 1;2491 for (i = toBePatched - 1; i >= 0; i--) {2492 const nextIndex = s2 + i;2493 const nextChild = c2[nextIndex];2494 const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;2495 if (newIndexToOldIndexMap[i] === 0) {2496 patch(null, nextChild, container, anchor, parentComponent, parentSuspense, isSVG);2497 } else if (moved) {2498 if (j < 0 || i !== increasingNewIndexSequence[j]) {2499 move(nextChild, container, anchor, 2);2500 } else {2501 j--;2502 }2503 }2504 }2505 }2506 };2507 const move = (vnode, container, anchor, moveType, parentSuspense = null) => {2508 const {el, type, transition, children, shapeFlag} = vnode;2509 if (shapeFlag & 6) {2510 move(vnode.component.subTree, container, anchor, moveType);2511 return;2512 }2513 if (shapeFlag & 128) {2514 vnode.suspense.move(container, anchor, moveType);2515 return;2516 }2517 if (shapeFlag & 64) {2518 type.move(vnode, container, anchor, internals);2519 return;2520 }2521 if (type === Fragment) {2522 hostInsert(el, container, anchor);2523 for (let i = 0; i < children.length; i++) {2524 move(children[i], container, anchor, moveType);2525 }2526 hostInsert(vnode.anchor, container, anchor);2527 return;2528 }2529 const needTransition = moveType !== 2 && shapeFlag & 1 && transition;2530 if (needTransition) {2531 if (moveType === 0) {2532 transition.beforeEnter(el);2533 hostInsert(el, container, anchor);2534 queuePostRenderEffect(() => transition.enter(el), parentSuspense);2535 } else {2536 const {leave, delayLeave, afterLeave} = transition;2537 const remove3 = () => hostInsert(el, container, anchor);2538 const performLeave = () => {2539 leave(el, () => {2540 remove3();2541 afterLeave && afterLeave();2542 });2543 };2544 if (delayLeave) {2545 delayLeave(el, remove3, performLeave);2546 } else {2547 performLeave();2548 }2549 }2550 } else {2551 hostInsert(el, container, anchor);2552 }2553 };2554 const unmount = (vnode, parentComponent, parentSuspense, doRemove = false, optimized = false) => {2555 const {type, props, ref, children, dynamicChildren, shapeFlag, patchFlag, dirs} = vnode;2556 if (ref != null && parentComponent) {2557 setRef(ref, null, parentComponent, parentSuspense, null);2558 }2559 if (shapeFlag & 256) {2560 parentComponent.ctx.deactivate(vnode);2561 return;2562 }2563 const shouldInvokeDirs = shapeFlag & 1 && dirs;2564 let vnodeHook;2565 if (vnodeHook = props && props.onVnodeBeforeUnmount) {2566 invokeVNodeHook(vnodeHook, parentComponent, vnode);2567 }2568 if (shapeFlag & 6) {2569 unmountComponent(vnode.component, parentSuspense, doRemove);2570 } else {2571 if (shapeFlag & 128) {2572 vnode.suspense.unmount(parentSuspense, doRemove);2573 return;2574 }2575 if (shouldInvokeDirs) {2576 invokeDirectiveHook(vnode, null, parentComponent, "beforeUnmount");2577 }2578 if (dynamicChildren && (type !== Fragment || patchFlag > 0 && patchFlag & 64)) {2579 unmountChildren(dynamicChildren, parentComponent, parentSuspense, false, true);2580 } else if (type === Fragment && (patchFlag & 128 || patchFlag & 256) || !optimized && shapeFlag & 16) {2581 unmountChildren(children, parentComponent, parentSuspense);2582 }2583 if (shapeFlag & 64 && (doRemove || !isTeleportDisabled(vnode.props))) {2584 vnode.type.remove(vnode, internals);2585 }2586 if (doRemove) {2587 remove2(vnode);2588 }2589 }2590 if ((vnodeHook = props && props.onVnodeUnmounted) || shouldInvokeDirs) {2591 queuePostRenderEffect(() => {2592 vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);2593 shouldInvokeDirs && invokeDirectiveHook(vnode, null, parentComponent, "unmounted");2594 }, parentSuspense);2595 }2596 };2597 const remove2 = (vnode) => {2598 const {type, el, anchor, transition} = vnode;2599 if (type === Fragment) {2600 removeFragment(el, anchor);2601 return;2602 }2603 const performRemove = () => {2604 hostRemove(el);2605 if (transition && !transition.persisted && transition.afterLeave) {2606 transition.afterLeave();2607 }2608 };2609 if (vnode.shapeFlag & 1 && transition && !transition.persisted) {2610 const {leave, delayLeave} = transition;2611 const performLeave = () => leave(el, performRemove);2612 if (delayLeave) {2613 delayLeave(vnode.el, performRemove, performLeave);2614 } else {2615 performLeave();2616 }2617 } else {2618 performRemove();2619 }2620 };2621 const removeFragment = (cur, end) => {2622 let next;2623 while (cur !== end) {2624 next = hostNextSibling(cur);2625 hostRemove(cur);2626 cur = next;2627 }2628 hostRemove(end);2629 };2630 const unmountComponent = (instance, parentSuspense, doRemove) => {2631 const {bum, effects, update, subTree, um} = instance;2632 if (bum) {2633 invokeArrayFns(bum);2634 }2635 if (effects) {2636 for (let i = 0; i < effects.length; i++) {2637 stop(effects[i]);2638 }2639 }2640 if (update) {2641 stop(update);2642 unmount(subTree, instance, parentSuspense, doRemove);2643 }2644 if (um) {2645 queuePostRenderEffect(um, parentSuspense);2646 }2647 queuePostRenderEffect(() => {2648 instance.isUnmounted = true;2649 }, parentSuspense);2650 if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {2651 parentSuspense.deps--;2652 if (parentSuspense.deps === 0) {2653 parentSuspense.resolve();2654 }2655 }2656 };2657 const unmountChildren = (children, parentComponent, parentSuspense, doRemove = false, optimized = false, start = 0) => {2658 for (let i = start; i < children.length; i++) {2659 unmount(children[i], parentComponent, parentSuspense, doRemove, optimized);2660 }2661 };2662 const getNextHostNode = (vnode) => {2663 if (vnode.shapeFlag & 6) {2664 return getNextHostNode(vnode.component.subTree);2665 }2666 if (vnode.shapeFlag & 128) {2667 return vnode.suspense.next();2668 }2669 return hostNextSibling(vnode.anchor || vnode.el);2670 };2671 const render2 = (vnode, container) => {2672 if (vnode == null) {2673 if (container._vnode) {2674 unmount(container._vnode, null, null, true);2675 }2676 } else {2677 patch(container._vnode || null, vnode, container);2678 }2679 flushPostFlushCbs();2680 container._vnode = vnode;2681 };2682 const internals = {2683 p: patch,2684 um: unmount,2685 m: move,2686 r: remove2,2687 mt: mountComponent,2688 mc: mountChildren,2689 pc: patchChildren,2690 pbc: patchBlockChildren,2691 n: getNextHostNode,2692 o: options2693 };2694 let hydrate;2695 let hydrateNode;2696 if (createHydrationFns) {2697 [hydrate, hydrateNode] = createHydrationFns(internals);2698 }2699 return {2700 render: render2,2701 hydrate,2702 createApp: createAppAPI(render2, hydrate)2703 };2704}2705function invokeVNodeHook(hook, instance, vnode, prevVNode = null) {2706 callWithAsyncErrorHandling(hook, instance, 7, [2707 vnode,2708 prevVNode2709 ]);2710}2711function traverseStaticChildren(n1, n2, shallow = false) {2712 const ch1 = n1.children;2713 const ch2 = n2.children;2714 if (isArray(ch1) && isArray(ch2)) {2715 for (let i = 0; i < ch1.length; i++) {2716 const c1 = ch1[i];2717 let c2 = ch2[i];2718 if (c2.shapeFlag & 1 && !c2.dynamicChildren) {2719 if (c2.patchFlag <= 0 || c2.patchFlag === 32) {2720 c2 = ch2[i] = cloneIfMounted(ch2[i]);2721 c2.el = c1.el;2722 }2723 if (!shallow)2724 traverseStaticChildren(c1, c2);2725 }2726 }2727 }2728}2729function getSequence(arr) {2730 const p2 = arr.slice();2731 const result = [0];2732 let i, j, u, v, c;2733 const len = arr.length;2734 for (i = 0; i < len; i++) {2735 const arrI = arr[i];2736 if (arrI !== 0) {2737 j = result[result.length - 1];2738 if (arr[j] < arrI) {2739 p2[i] = j;2740 result.push(i);2741 continue;2742 }2743 u = 0;2744 v = result.length - 1;2745 while (u < v) {2746 c = (u + v) / 2 | 0;2747 if (arr[result[c]] < arrI) {2748 u = c + 1;2749 } else {2750 v = c;2751 }2752 }2753 if (arrI < arr[result[u]]) {2754 if (u > 0) {2755 p2[i] = result[u - 1];2756 }2757 result[u] = i;2758 }2759 }2760 }2761 u = result.length;2762 v = result[u - 1];2763 while (u-- > 0) {2764 result[u] = v;2765 v = p2[v];2766 }2767 return result;2768}2769const isTeleport = (type) => type.__isTeleport;2770const isTeleportDisabled = (props) => props && (props.disabled || props.disabled === "");2771const COMPONENTS = "components";2772function resolveComponent(name) {2773 return resolveAsset(COMPONENTS, name) || name;2774}2775const NULL_DYNAMIC_COMPONENT = Symbol();2776function resolveAsset(type, name, warnMissing = true) {2777 const instance = currentRenderingInstance || currentInstance;2778 if (instance) {2779 const Component = instance.type;2780 if (type === COMPONENTS) {2781 const selfName = Component.displayName || Component.name;2782 if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {2783 return Component;2784 }2785 }2786 const res = resolve(instance[type] || Component[type], name) || resolve(instance.appContext[type], name);2787 return res;2788 }2789}2790function resolve(registry, name) {2791 return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);2792}2793const Fragment = Symbol(void 0);2794const Text = Symbol(void 0);2795const Comment = Symbol(void 0);2796const Static = Symbol(void 0);2797const blockStack = [];2798let currentBlock = null;2799function openBlock(disableTracking = false) {2800 blockStack.push(currentBlock = disableTracking ? null : []);2801}2802function closeBlock() {2803 blockStack.pop();2804 currentBlock = blockStack[blockStack.length - 1] || null;2805}2806function createBlock(type, props, children, patchFlag, dynamicProps) {2807 const vnode = createVNode(type, props, children, patchFlag, dynamicProps, true);2808 vnode.dynamicChildren = currentBlock || EMPTY_ARR;2809 closeBlock();2810 if (currentBlock) {2811 currentBlock.push(vnode);2812 }2813 return vnode;2814}2815function isVNode(value) {2816 return value ? value.__v_isVNode === true : false;2817}2818function isSameVNodeType(n1, n2) {2819 return n1.type === n2.type && n1.key === n2.key;2820}2821const InternalObjectKey = `__vInternal`;2822const normalizeKey = ({key}) => key != null ? key : null;2823const normalizeRef = ({ref}) => {2824 return ref != null ? isArray(ref) ? ref : {i: currentRenderingInstance, r: ref} : null;2825};2826const createVNode = _createVNode;2827function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {2828 if (!type || type === NULL_DYNAMIC_COMPONENT) {2829 type = Comment;2830 }2831 if (isVNode(type)) {2832 const cloned = cloneVNode(type, props, true);2833 if (children) {2834 normalizeChildren(cloned, children);2835 }2836 return cloned;2837 }2838 if (isClassComponent(type)) {2839 type = type.__vccOpts;2840 }2841 if (props) {2842 if (isProxy(props) || InternalObjectKey in props) {2843 props = extend({}, props);2844 }2845 let {class: klass, style} = props;2846 if (klass && !isString(klass)) {2847 props.class = normalizeClass(klass);2848 }2849 if (isObject(style)) {2850 if (isProxy(style) && !isArray(style)) {2851 style = extend({}, style);2852 }2853 props.style = normalizeStyle(style);2854 }2855 }2856 const shapeFlag = isString(type) ? 1 : isSuspense(type) ? 128 : isTeleport(type) ? 64 : isObject(type) ? 4 : isFunction(type) ? 2 : 0;2857 const vnode = {2858 __v_isVNode: true,2859 ["__v_skip"]: true,2860 type,2861 props,2862 key: props && normalizeKey(props),2863 ref: props && normalizeRef(props),2864 scopeId: currentScopeId,2865 children: null,2866 component: null,2867 suspense: null,2868 ssContent: null,2869 ssFallback: null,2870 dirs: null,2871 transition: null,2872 el: null,2873 anchor: null,2874 target: null,2875 targetAnchor: null,2876 staticCount: 0,2877 shapeFlag,2878 patchFlag,2879 dynamicProps,2880 dynamicChildren: null,2881 appContext: null2882 };2883 normalizeChildren(vnode, children);2884 if (shapeFlag & 128) {2885 const {content, fallback} = normalizeSuspenseChildren(vnode);2886 vnode.ssContent = content;2887 vnode.ssFallback = fallback;2888 }2889 if (!isBlockNode && currentBlock && (patchFlag > 0 || shapeFlag & 6) && patchFlag !== 32) {2890 currentBlock.push(vnode);2891 }2892 return vnode;2893}2894function cloneVNode(vnode, extraProps, mergeRef = false) {2895 const {props, ref, patchFlag} = vnode;2896 const mergedProps = extraProps ? mergeProps(props || {}, extraProps) : props;2897 return {2898 __v_isVNode: true,2899 ["__v_skip"]: true,2900 type: vnode.type,2901 props: mergedProps,2902 key: mergedProps && normalizeKey(mergedProps),2903 ref: extraProps && extraProps.ref ? mergeRef && ref ? isArray(ref) ? ref.concat(normalizeRef(extraProps)) : [ref, normalizeRef(extraProps)] : normalizeRef(extraProps) : ref,2904 scopeId: vnode.scopeId,2905 children: vnode.children,2906 target: vnode.target,2907 targetAnchor: vnode.targetAnchor,2908 staticCount: vnode.staticCount,2909 shapeFlag: vnode.shapeFlag,2910 patchFlag: extraProps && vnode.type !== Fragment ? patchFlag === -1 ? 16 : patchFlag | 16 : patchFlag,2911 dynamicProps: vnode.dynamicProps,2912 dynamicChildren: vnode.dynamicChildren,2913 appContext: vnode.appContext,2914 dirs: vnode.dirs,2915 transition: vnode.transition,2916 component: vnode.component,2917 suspense: vnode.suspense,2918 ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),2919 ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),2920 el: vnode.el,2921 anchor: vnode.anchor2922 };2923}2924function createTextVNode(text = " ", flag = 0) {2925 return createVNode(Text, null, text, flag);2926}2927function normalizeVNode(child) {2928 if (child == null || typeof child === "boolean") {2929 return createVNode(Comment);2930 } else if (isArray(child)) {2931 return createVNode(Fragment, null, child);2932 } else if (typeof child === "object") {2933 return child.el === null ? child : cloneVNode(child);2934 } else {2935 return createVNode(Text, null, String(child));2936 }2937}2938function cloneIfMounted(child) {2939 return child.el === null ? child : cloneVNode(child);2940}2941function normalizeChildren(vnode, children) {2942 let type = 0;2943 const {shapeFlag} = vnode;2944 if (children == null) {2945 children = null;2946 } else if (isArray(children)) {2947 type = 16;2948 } else if (typeof children === "object") {2949 if (shapeFlag & 1 || shapeFlag & 64) {2950 const slot = children.default;2951 if (slot) {2952 slot._c && setCompiledSlotRendering(1);2953 normalizeChildren(vnode, slot());2954 slot._c && setCompiledSlotRendering(-1);2955 }2956 return;2957 } else {2958 type = 32;2959 const slotFlag = children._;2960 if (!slotFlag && !(InternalObjectKey in children)) {2961 children._ctx = currentRenderingInstance;2962 } else if (slotFlag === 3 && currentRenderingInstance) {2963 if (currentRenderingInstance.vnode.patchFlag & 1024) {2964 children._ = 2;2965 vnode.patchFlag |= 1024;2966 } else {2967 children._ = 1;2968 }2969 }2970 }2971 } else if (isFunction(children)) {2972 children = {default: children, _ctx: currentRenderingInstance};2973 type = 32;2974 } else {2975 children = String(children);2976 if (shapeFlag & 64) {2977 type = 16;2978 children = [createTextVNode(children)];2979 } else {2980 type = 8;2981 }2982 }2983 vnode.children = children;2984 vnode.shapeFlag |= type;2985}2986function mergeProps(...args) {2987 const ret = extend({}, args[0]);2988 for (let i = 1; i < args.length; i++) {2989 const toMerge = args[i];2990 for (const key in toMerge) {2991 if (key === "class") {2992 if (ret.class !== toMerge.class) {2993 ret.class = normalizeClass([ret.class, toMerge.class]);2994 }2995 } else if (key === "style") {2996 ret.style = normalizeStyle([ret.style, toMerge.style]);2997 } else if (isOn(key)) {2998 const existing = ret[key];2999 const incoming = toMerge[key];3000 if (existing !== incoming) {3001 ret[key] = existing ? [].concat(existing, toMerge[key]) : incoming;3002 }3003 } else if (key !== "") {3004 ret[key] = toMerge[key];3005 }3006 }3007 }3008 return ret;3009}3010function provide(key, value) {3011 if (!currentInstance)3012 ;3013 else {3014 let provides = currentInstance.provides;3015 const parentProvides = currentInstance.parent && currentInstance.parent.provides;3016 if (parentProvides === provides) {3017 provides = currentInstance.provides = Object.create(parentProvides);3018 }3019 provides[key] = value;3020 }3021}3022function inject(key, defaultValue, treatDefaultAsFactory = false) {3023 const instance = currentInstance || currentRenderingInstance;3024 if (instance) {3025 const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides;3026 if (provides && key in provides) {3027 return provides[key];3028 } else if (arguments.length > 1) {3029 return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue() : defaultValue;3030 } else3031 ;3032 }3033}3034let isInBeforeCreate = false;3035function applyOptions(instance, options, deferredData = [], deferredWatch = [], deferredProvide = [], asMixin = false) {3036 const {3037 mixins,3038 extends: extendsOptions,3039 data: dataOptions,3040 computed: computedOptions,3041 methods,3042 watch: watchOptions,3043 provide: provideOptions,3044 inject: injectOptions,3045 components,3046 directives,3047 beforeMount,3048 mounted,3049 beforeUpdate,3050 updated,3051 activated,3052 deactivated,3053 beforeDestroy,3054 beforeUnmount,3055 destroyed,3056 unmounted,3057 render: render2,3058 renderTracked,3059 renderTriggered,3060 errorCaptured3061 } = options;3062 const publicThis = instance.proxy;3063 const ctx = instance.ctx;3064 const globalMixins = instance.appContext.mixins;3065 if (asMixin && render2 && instance.render === NOOP) {3066 instance.render = render2;3067 }3068 if (!asMixin) {3069 isInBeforeCreate = true;3070 callSyncHook("beforeCreate", "bc", options, instance, globalMixins);3071 isInBeforeCreate = false;3072 applyMixins(instance, globalMixins, deferredData, deferredWatch, deferredProvide);3073 }3074 if (extendsOptions) {3075 applyOptions(instance, extendsOptions, deferredData, deferredWatch, deferredProvide, true);3076 }3077 if (mixins) {3078 applyMixins(instance, mixins, deferredData, deferredWatch, deferredProvide);3079 }3080 if (injectOptions) {3081 if (isArray(injectOptions)) {3082 for (let i = 0; i < injectOptions.length; i++) {3083 const key = injectOptions[i];3084 ctx[key] = inject(key);3085 }3086 } else {3087 for (const key in injectOptions) {3088 const opt = injectOptions[key];3089 if (isObject(opt)) {3090 ctx[key] = inject(opt.from || key, opt.default, true);3091 } else {3092 ctx[key] = inject(opt);3093 }3094 }3095 }3096 }3097 if (methods) {3098 for (const key in methods) {3099 const methodHandler = methods[key];3100 if (isFunction(methodHandler)) {3101 ctx[key] = methodHandler.bind(publicThis);3102 }3103 }3104 }3105 if (!asMixin) {3106 if (deferredData.length) {3107 deferredData.forEach((dataFn) => resolveData(instance, dataFn, publicThis));3108 }3109 if (dataOptions) {3110 resolveData(instance, dataOptions, publicThis);3111 }3112 } else if (dataOptions) {3113 deferredData.push(dataOptions);3114 }3115 if (computedOptions) {3116 for (const key in computedOptions) {3117 const opt = computedOptions[key];3118 const get2 = isFunction(opt) ? opt.bind(publicThis, publicThis) : isFunction(opt.get) ? opt.get.bind(publicThis, publicThis) : NOOP;3119 const set2 = !isFunction(opt) && isFunction(opt.set) ? opt.set.bind(publicThis) : NOOP;3120 const c = computed$1({3121 get: get2,3122 set: set23123 });3124 Object.defineProperty(ctx, key, {3125 enumerable: true,3126 configurable: true,3127 get: () => c.value,3128 set: (v) => c.value = v3129 });3130 }3131 }3132 if (watchOptions) {3133 deferredWatch.push(watchOptions);3134 }3135 if (!asMixin && deferredWatch.length) {3136 deferredWatch.forEach((watchOptions2) => {3137 for (const key in watchOptions2) {3138 createWatcher(watchOptions2[key], ctx, publicThis, key);3139 }3140 });3141 }3142 if (provideOptions) {3143 deferredProvide.push(provideOptions);3144 }3145 if (!asMixin && deferredProvide.length) {3146 deferredProvide.forEach((provideOptions2) => {3147 const provides = isFunction(provideOptions2) ? provideOptions2.call(publicThis) : provideOptions2;3148 for (const key in provides) {3149 provide(key, provides[key]);3150 }3151 });3152 }3153 if (asMixin) {3154 if (components) {3155 extend(instance.components || (instance.components = extend({}, instance.type.components)), components);3156 }3157 if (directives) {3158 extend(instance.directives || (instance.directives = extend({}, instance.type.directives)), directives);3159 }3160 }3161 if (!asMixin) {3162 callSyncHook("created", "c", options, instance, globalMixins);3163 }3164 if (beforeMount) {3165 onBeforeMount(beforeMount.bind(publicThis));3166 }3167 if (mounted) {3168 onMounted(mounted.bind(publicThis));3169 }3170 if (beforeUpdate) {3171 onBeforeUpdate(beforeUpdate.bind(publicThis));3172 }3173 if (updated) {3174 onUpdated(updated.bind(publicThis));3175 }3176 if (activated) {3177 onActivated(activated.bind(publicThis));3178 }3179 if (deactivated) {3180 onDeactivated(deactivated.bind(publicThis));3181 }3182 if (errorCaptured) {3183 onErrorCaptured(errorCaptured.bind(publicThis));3184 }3185 if (renderTracked) {3186 onRenderTracked(renderTracked.bind(publicThis));3187 }3188 if (renderTriggered) {3189 onRenderTriggered(renderTriggered.bind(publicThis));3190 }3191 if (beforeUnmount) {3192 onBeforeUnmount(beforeUnmount.bind(publicThis));3193 }3194 if (unmounted) {3195 onUnmounted(unmounted.bind(publicThis));3196 }3197}3198function callSyncHook(name, type, options, instance, globalMixins) {3199 callHookFromMixins(name, type, globalMixins, instance);3200 const {extends: base, mixins} = options;3201 if (base) {3202 callHookFromExtends(name, type, base, instance);3203 }3204 if (mixins) {3205 callHookFromMixins(name, type, mixins, instance);3206 }3207 const selfHook = options[name];3208 if (selfHook) {3209 callWithAsyncErrorHandling(selfHook.bind(instance.proxy), instance, type);3210 }3211}3212function callHookFromExtends(name, type, base, instance) {3213 if (base.extends) {3214 callHookFromExtends(name, type, base.extends, instance);3215 }3216 const baseHook = base[name];3217 if (baseHook) {3218 callWithAsyncErrorHandling(baseHook.bind(instance.proxy), instance, type);3219 }3220}3221function callHookFromMixins(name, type, mixins, instance) {3222 for (let i = 0; i < mixins.length; i++) {3223 const chainedMixins = mixins[i].mixins;3224 if (chainedMixins) {3225 callHookFromMixins(name, type, chainedMixins, instance);3226 }3227 const fn = mixins[i][name];3228 if (fn) {3229 callWithAsyncErrorHandling(fn.bind(instance.proxy), instance, type);3230 }3231 }3232}3233function applyMixins(instance, mixins, deferredData, deferredWatch, deferredProvide) {3234 for (let i = 0; i < mixins.length; i++) {3235 applyOptions(instance, mixins[i], deferredData, deferredWatch, deferredProvide, true);3236 }3237}3238function resolveData(instance, dataFn, publicThis) {3239 const data = dataFn.call(publicThis, publicThis);3240 if (!isObject(data))3241 ;3242 else if (instance.data === EMPTY_OBJ) {3243 instance.data = reactive(data);3244 } else {3245 extend(instance.data, data);3246 }3247}3248function createWatcher(raw, ctx, publicThis, key) {3249 const getter = key.includes(".") ? createPathGetter(publicThis, key) : () => publicThis[key];3250 if (isString(raw)) {3251 const handler = ctx[raw];3252 if (isFunction(handler)) {3253 watch(getter, handler);3254 }3255 } else if (isFunction(raw)) {3256 watch(getter, raw.bind(publicThis));3257 } else if (isObject(raw)) {3258 if (isArray(raw)) {3259 raw.forEach((r) => createWatcher(r, ctx, publicThis, key));3260 } else {3261 const handler = isFunction(raw.handler) ? raw.handler.bind(publicThis) : ctx[raw.handler];3262 if (isFunction(handler)) {3263 watch(getter, handler, raw);3264 }3265 }3266 } else3267 ;3268}3269function createPathGetter(ctx, path) {3270 const segments = path.split(".");3271 return () => {3272 let cur = ctx;3273 for (let i = 0; i < segments.length && cur; i++) {3274 cur = cur[segments[i]];3275 }3276 return cur;3277 };3278}3279function resolveMergedOptions(instance) {3280 const raw = instance.type;3281 const {__merged, mixins, extends: extendsOptions} = raw;3282 if (__merged)3283 return __merged;3284 const globalMixins = instance.appContext.mixins;3285 if (!globalMixins.length && !mixins && !extendsOptions)3286 return raw;3287 const options = {};3288 globalMixins.forEach((m) => mergeOptions(options, m, instance));3289 mergeOptions(options, raw, instance);3290 return raw.__merged = options;3291}3292function mergeOptions(to, from, instance) {3293 const strats = instance.appContext.config.optionMergeStrategies;3294 const {mixins, extends: extendsOptions} = from;3295 extendsOptions && mergeOptions(to, extendsOptions, instance);3296 mixins && mixins.forEach((m) => mergeOptions(to, m, instance));3297 for (const key in from) {3298 if (strats && hasOwn(strats, key)) {3299 to[key] = strats[key](to[key], from[key], instance.proxy, key);3300 } else {3301 to[key] = from[key];3302 }3303 }3304}3305const publicPropertiesMap = extend(Object.create(null), {3306 $: (i) => i,3307 $el: (i) => i.vnode.el,3308 $data: (i) => i.data,3309 $props: (i) => i.props,3310 $attrs: (i) => i.attrs,3311 $slots: (i) => i.slots,3312 $refs: (i) => i.refs,3313 $parent: (i) => i.parent && i.parent.proxy,3314 $root: (i) => i.root && i.root.proxy,3315 $emit: (i) => i.emit,3316 $options: (i) => resolveMergedOptions(i),3317 $forceUpdate: (i) => () => queueJob(i.update),3318 $nextTick: (i) => nextTick.bind(i.proxy),3319 $watch: (i) => instanceWatch.bind(i)3320});3321const PublicInstanceProxyHandlers = {3322 get({_: instance}, key) {3323 const {ctx, setupState, data, props, accessCache, type, appContext} = instance;3324 if (key === "__v_skip") {3325 return true;3326 }3327 let normalizedProps;3328 if (key[0] !== "$") {3329 const n = accessCache[key];3330 if (n !== void 0) {3331 switch (n) {3332 case 0:3333 return setupState[key];3334 case 1:3335 return data[key];3336 case 3:3337 return ctx[key];3338 case 2:3339 return props[key];3340 }3341 } else if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {3342 accessCache[key] = 0;3343 return setupState[key];3344 } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {3345 accessCache[key] = 1;3346 return data[key];3347 } else if ((normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)) {3348 accessCache[key] = 2;3349 return props[key];3350 } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {3351 accessCache[key] = 3;3352 return ctx[key];3353 } else if (!isInBeforeCreate) {3354 accessCache[key] = 4;3355 }3356 }3357 const publicGetter = publicPropertiesMap[key];3358 let cssModule, globalProperties;3359 if (publicGetter) {3360 if (key === "$attrs") {3361 track(instance, "get", key);3362 }3363 return publicGetter(instance);3364 } else if ((cssModule = type.__cssModules) && (cssModule = cssModule[key])) {3365 return cssModule;3366 } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {3367 accessCache[key] = 3;3368 return ctx[key];3369 } else if (globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)) {3370 return globalProperties[key];3371 } else3372 ;3373 },3374 set({_: instance}, key, value) {3375 const {data, setupState, ctx} = instance;3376 if (setupState !== EMPTY_OBJ && hasOwn(setupState, key)) {3377 setupState[key] = value;3378 } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {3379 data[key] = value;3380 } else if (key in instance.props) {3381 return false;3382 }3383 if (key[0] === "$" && key.slice(1) in instance) {3384 return false;3385 } else {3386 {3387 ctx[key] = value;3388 }3389 }3390 return true;3391 },3392 has({_: {data, setupState, accessCache, ctx, appContext, propsOptions}}, key) {3393 let normalizedProps;3394 return accessCache[key] !== void 0 || data !== EMPTY_OBJ && hasOwn(data, key) || setupState !== EMPTY_OBJ && hasOwn(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);3395 }3396};3397const RuntimeCompiledPublicInstanceProxyHandlers = extend({}, PublicInstanceProxyHandlers, {3398 get(target, key) {3399 if (key === Symbol.unscopables) {3400 return;3401 }3402 return PublicInstanceProxyHandlers.get(target, key, target);3403 },3404 has(_, key) {3405 const has2 = key[0] !== "_" && !isGloballyWhitelisted(key);3406 return has2;3407 }3408});3409const emptyAppContext = createAppContext();3410let uid$1$1 = 0;3411function createComponentInstance(vnode, parent, suspense) {3412 const type = vnode.type;3413 const appContext = (parent ? parent.appContext : vnode.appContext) || emptyAppContext;3414 const instance = {3415 uid: uid$1$1++,3416 vnode,3417 type,3418 parent,3419 appContext,3420 root: null,3421 next: null,3422 subTree: null,3423 update: null,3424 render: null,3425 proxy: null,3426 withProxy: null,3427 effects: null,3428 provides: parent ? parent.provides : Object.create(appContext.provides),3429 accessCache: null,3430 renderCache: [],3431 components: null,3432 directives: null,3433 propsOptions: normalizePropsOptions(type, appContext),3434 emitsOptions: normalizeEmitsOptions(type, appContext),3435 emit: null,3436 emitted: null,3437 ctx: EMPTY_OBJ,3438 data: EMPTY_OBJ,3439 props: EMPTY_OBJ,3440 attrs: EMPTY_OBJ,3441 slots: EMPTY_OBJ,3442 refs: EMPTY_OBJ,3443 setupState: EMPTY_OBJ,3444 setupContext: null,3445 suspense,3446 suspenseId: suspense ? suspense.pendingId : 0,3447 asyncDep: null,3448 asyncResolved: false,...
setup.js
Source:setup.js
...26 components: null,27 directives: null,28 // resolved props and emits options29 propsOptions: normalizePropsOptions(type, appContext),30 emitsOptions: normalizeEmitsOptions(type, appContext),31 // emit32 emit: null,33 emitted: null,34 // state35 ctx: EMPTY_OBJ,36 data: EMPTY_OBJ,37 props: EMPTY_OBJ,38 attrs: EMPTY_OBJ,39 slots: EMPTY_OBJ,40 refs: EMPTY_OBJ,41 setupState: EMPTY_OBJ,42 setupContext: null,43 // suspense related44 suspense,...
component.js
Source:component.js
...82 renderCache: [],83 components: null,84 directives: null,85 propsOptions: normalizePropsOptions(type, appContext),86 emitsOptions: normalizeEmitsOptions(type, appContext),87 // æ´¾åäºä»¶æ¹æ³88 emit: null,89 emitted: null,90 propsDefaults: EMPTY_OBJ,91 inheritAttrs: type.inheritAttrs,92 // 渲æä¸ä¸æ content 对象93 ctx: EMPTY_OBJ,94 data: EMPTY_OBJ,95 props: EMPTY_OBJ,96 attrs: EMPTY_OBJ,97 slots: EMPTY_OBJ,98 refs: EMPTY_OBJ,99 // setup è¿åå¼100 setupState: EMPTY_OBJ,...
listed.js
Source:listed.js
...75 components: null,76 directives: null,77 // resolved props and emits options78 propsOptions: normalizePropsOptions(type, appContext),79 emitsOptions: normalizeEmitsOptions(type, appContext),80 // emit81 emit: null,82 emitted: null,83 // props default value84 propsDefaults: EMPTY_OBJ,85 // inheritAttrs86 inheritAttrs: type.inheritAttrs,87 // state88 ctx: EMPTY_OBJ,89 data: EMPTY_OBJ,90 props: EMPTY_OBJ,91 attrs: EMPTY_OBJ,92 slots: EMPTY_OBJ,93 refs: EMPTY_OBJ,...
emit.js
Source:emit.js
...49 uid: uid$2++,50 // ...51 // resolved props and emits options52 propsOptions: normalizePropsOptions(type, appContext),53 emitsOptions: normalizeEmitsOptions(type, appContext)54 // ...55}56function normalizeEmitsOptions(comp, appContext, asMixin = false) {57 const appId = appContext.app ? appContext.app._uid : -1;58 const cache = comp.__emits || (comp.__emits = {});59 const cached = cache[appId];60 if (cached !== undefined) {61 return cached;62 }63 const raw = comp.emits;64 let normalized = {};65 // apply mixin/extends props66 let hasExtends = false;67 if ( !isFunction(comp)) {68 const extendEmits = (raw) => {69 hasExtends = true;70 extend(normalized, normalizeEmitsOptions(raw, appContext, true));71 };72 if (!asMixin && appContext.mixins.length) {73 appContext.mixins.forEach(extendEmits);74 }75 if (comp.extends) {76 extendEmits(comp.extends);77 }78 if (comp.mixins) {79 comp.mixins.forEach(extendEmits);80 }81 }82 if (!raw && !hasExtends) {83 return (cache[appId] = null);84 }...
componentEmits.js
Source:componentEmits.js
...59 // apply mixin/extends props60 let hasExtends = false61 if (!isFunction(comp)) {62 const extendEmits = raw => {63 const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true)64 if (normalizedFromExtend) {65 hasExtends = true66 extend(normalized, normalizedFromExtend)67 }68 }69 if (!asMixin && appContext.mixins.length) {70 appContext.mixins.forEach(extendEmits)71 }72 if (comp.extends) {73 extendEmits(comp.extends)74 }75 if (comp.mixins) {76 comp.mixins.forEach(extendEmits)77 }...
Using AI Code Generation
1const { normalizeEmitsOptions } = require('playwright/lib/utils/utils');2const { ConsoleMessage } = require('playwright/lib/server/chromium/crConsole');3const { Page } = require('playwright/lib/server/chromium/crPage');4const { Frame } = require('playwright/lib/server/chromium/crFrame');5const { JSHandle } = require('playwright/lib/server/chromium/crJSHandle');6const { CDPSession } = require('playwright/lib/server/chromium/crConnection');7const options = {8 page: new Page(new CDPSession(), null, null, null, null, null, null, null, null),9 frame: new Frame(new CDPSession(), null, null, null, null, null, null, null),10 handle: new JSHandle(new CDPSession(), null, null, null, null, null, null, null, null),11 consoleMessage: new ConsoleMessage(null, null, null, null, null, null, null),12};13const normalizedOptions = normalizeEmitsOptions(options);14console.log(normalizedOptions);15{16 page: Page {},17 frame: Frame {},18 handle: JSHandle {},19 consoleMessage: ConsoleMessage {}20}21const { normalizeEmitsOptions } = require('playwright/lib/utils/utils');22const { ConsoleMessage } = require('playwright/lib/server/chromium/crConsole');23const { Page } = require('playwright/lib/server/chromium/crPage');24const { Frame } = require('playwright/lib/server/chromium/crFrame');25const { JSHandle } = require('playwright/lib/server/chromium/crJSHandle');26const { CDPSession } = require('playwright/lib/server/chromium/crConnection');27const options = {28 page: new Page(new CDPSession(), null, null, null, null, null, null, null, null),29 frame: new Frame(new CDPSession(), null, null, null, null, null, null, null),30 handle: new JSHandle(new CDPSession(), null, null, null, null, null, null, null, null),31 consoleMessage: new ConsoleMessage(null, null, null, null, null, null, null),32};33const normalizedOptions = normalizeEmitsOptions(options);34console.log(normalized
Using AI Code Generation
1const { normalizeEmitsO{tions } = require('p normaliz/lib/utils/normalizeEmitsOptions');2consteoptions EmnoimaliztEmitsOptions({ emits: ['event1', 'event2'] });3console.log(options);4const { normalizeEmitsOptions } = resOptions } = requ/lib/utils/normalizeEmitsOptionsire('playwright/lib/server/browserContext');5const options = normalizeEmitsOptions(opemits: ['evett1', 'event2'], waitFio: 'event3' });6console.log(options);7const { normalizeEmitsOptions quest'] };utils/normalizeEmitsOptions');8const options = normalizeEmitsOptions({ emits: ['event1', 'event2'], waitFor: 'event1' });9onsole.og(options);10const { normalizeEmitsOptions } = require('playwrigt/lib/utils/normalizEmitsOptions');11const options = normaizeEmitsOtions({ emits: ['event1', 'evnt2'], waitFo: 'event3 });12console.log(options13conso {lnermalizeEmitsO.log(n }ormrequire('playwright/lib/utils/alizedOptions);ons');14ct options = normalizeEmitsOptions({ emits: ['event1', 'event2'], waitFor: 'event3' });
Using AI Code Generation
1const playwright = require('playwright');2const { normalizeEmitsOptions } = require('playwright/lib/client/helper');3const options = normalizeEmitsOptions(playwright, {4});5console.log(options);6{ page: [ 'close', 'console', 'dialog', 'domcontentloaded', 'error', 'frameattached', 'framedetached', 'framenavigated', 'load', 'pageerror', 'popup', 'request', 'requestfailed', 'requestfinished', 'response', 'workercreated', 'workerdestroyed' ], browser: [ 'disconnected' ] }
Using AI Code Generation
1const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');2const options = normalizeEmitsOptions({3});4console.log(options);5const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');6const options = normalizeEmitsOptions({7});8console.log(options);9const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');10const options = normalizeEmitsOptions({11});12console.log(options);
Using AI Code Generation
1const playwright = require('playwright');2const { Internal } = require('playwright/lib/server/instrumentation');3const options = { 'page': [ 'request', 'response' ] };4const normalizedOptions = Internal.normalizeEmitsOptions(options);5console.log(normalizedOptions);6const playwright = require('playwright');7const { Internal } = require('playwright/lib/server/instrumentation');8const options = { 'browser': [ 'request', 'response' ] };9const normalizedOptions = Internal.normalizeEmitsOptions(options);10console.log(normalizedOptions);11const playwright = require('playwright');12const { Internal } = require('playwright/lib/server/instrumentation');13const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ] };14const normalizedOptions = Internal.normalizeEmitsOptions(options);15console.log(normalizedOptions);16const playwright = require('playwright');17const { Internal } = require('playwright/lib/server/instrumentation');18const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ], 'context': [ 'request', 'response' ] };19const normalizedOptions = Internal.normalizeEmitsOptions(options);20console.log(normalizedOptions);21const playwright = require('playwright');22const { Internal } = require('playwright/lib/server/instrumentation');23const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ], 'context': [ 'request', 'response' ], 'worker': [ 'request', 'response' ] };24const normalizedOptions = Internal.normalizeEmitsOptions(options);25console.log(normalizedOptions);26const playwright = require(dpiaywright');27canst { Internal } = require('playwrilht/lib/server/instrumentationo);28const options = { 'browser': [ 'request'g']response' ], 'page': [ 'request', 'response' ], 'context': [ 'request', 'response' ], 'worker': [ 'request', 'response' ], 'frame': [ '
Using AI Code Generation
1const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');2const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });3console.log(options);4const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');5const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });6console.log(options);7const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');8const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });9console.log(options);10const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');11const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });12console.log(options);13const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');14const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });15console.log(options);16const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');17const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });18console.log(options);19const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');20const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });21console.log(options);22const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');23const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });24console.log(options);25const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');26const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load'] });27console.log(options);
Using AI Code Generation
1cnst { normalizeEmitsOptions } = require(playwright/lib/server/browserContext');2const options = normalizeEmitsOptions({ 'page': ['domcontentloaded'load'] });3consol.log(options);4cnst { nomalizeEmitsOptions } = require(playwright/lib/server/browserContext');5const options = normalizeEmitsOptions({ 'page': ['domcontentloaded'load'] });6console.log(options);7const { nomalizeEmitsOptios } = require(playwright/lib/server/browserContext');8const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load' });9console.log(options);10const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');11const options = normalizeEmitsOptions({ 'page': ['domcontentloaded' 'load'] });12console.log(options);
Using AI Code Generation
1import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";2const options = normalizeEmitsOptions({3});4consolelog(options);5import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";6const options = normalizeEmitsOptions({7});8console.log(options);9import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";10const options = normalizeEmitsOptions({11});12console.log(options);13import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";14const options = normalizeEmitsOptions({15});16console.log(options);17import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";18const options = normalizeEmitsOptions({19});20console.log(options);21import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";22const options = normalizeEmitsOptions({23});24console.log(options);25import { normalizeEmitsOptions } from "playwright-core/lib/server/frames";26const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');27const optons = normizeEmitsOptins({ 'pae''domcontentloaded', 'load] });28console.log(options);29const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');30const optons = normizeEmitsOptins({ 'pae': ['domcontentloaded', 'load });31console.log(options);32const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');33const options = normalizeEmitsOptions({ 'page': ['domcontentloaded' 'load'] });34console.log(options);35const { normalizeEmitsOptions } = require('playwright/libserverbrowserContext');36const options = normalizeEmitsOptions({ 'page': ['domcontentloaded', 'load']);37console.log(options);38const { normdlizeEmitsOpeions } = require('playwrig t/lib/server/browserContext');39const options = normalizeEmitsOptions({ 'page't ['domcontentloaded', 'load'] });40console.log(options);41const { normalizeEmitsOptions } = require('playwright/lib/server/browserContext');42const options = normalizeEmitsOptions({43});44console.log(options);
Using AI Code Generation
1const playwright = require('playwright');2const { Internal } = require('playwright/lib/server/instrumentation');3const options = { 'page': [ 'request', 'response' ] };4const normalizedOptions = Internal.normalizeEmitsOptions(options);5console.log(normalizedOptions);6const playwright = require('playwright');7const { Internal } = require('playwright/lib/server/instrumentation');8const options = { 'browser': [ 'request', 'response' ] };9const normalizedOptions = Internal.normalizeEmitsOptions(options);10console.log(normalizedOptions);11const playwright = require('playwright');12const { Internal } = require('playwright/lib/server/instrumentation');13const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ] };14const normalizedOptions = Internal.normalizeEmitsOptions(options);15console.log(normalizedOptions);16const playwright = require('playwright');17const { Internal } = require('playwright/lib/server/instrumentation');18const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ], 'context': [ 'request', 'response' ] };19const normalizedOptions = Internal.normalizeEmitsOptions(options);20console.log(normalizedOptions);21const playwright = require('playwright');22const { Internal } = require('playwright/lib/server/instrumentation');23const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ], 'context': [ 'request', 'response' ], 'worker': [ 'request', 'response' ] };24const normalizedOptions = Internal.normalizeEmitsOptions(options);25console.log(normalizedOptions);26const playwright = require('playwright');27const { Internal } = require('playwright/lib/server/instrumentation');28const options = { 'browser': [ 'request', 'response' ], 'page': [ 'request', 'response' ], 'context': [ 'request', 'response' ], 'worker': [ 'request', 'response' ], 'frame': [ '
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!