wevu 7.0.0 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/dev/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/defineProperty.mjs +1 -1
  2. package/dist/dev/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/toPrimitive.mjs +1 -1
  3. package/dist/dev/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/toPropertyKey.mjs +1 -1
  4. package/dist/dev/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/typeof.mjs +1 -1
  5. package/dist/dev/package.mjs +1 -1
  6. package/dist/dev/reactivity/core.mjs +1 -1
  7. package/dist/dev/reactivity/ref.mjs +1 -1
  8. package/dist/dev/router/backNavigation.mjs +1 -1
  9. package/dist/dev/router/createRouter.mjs +55 -14
  10. package/dist/dev/router/createRouter.mjs.map +1 -1
  11. package/dist/dev/router/initialNavigation.mjs +131 -5
  12. package/dist/dev/router/initialNavigation.mjs.map +1 -1
  13. package/dist/dev/router/navigationApi.mjs +1 -1
  14. package/dist/dev/router/navigationResult.mjs +1 -1
  15. package/dist/dev/router/navigationTarget.mjs +2 -2
  16. package/dist/dev/router/navigationTargetHelpers.mjs +1 -1
  17. package/dist/dev/router/types.mjs.map +1 -1
  18. package/dist/dev/router/useRoute.mjs +13 -0
  19. package/dist/dev/router/useRoute.mjs.map +1 -1
  20. package/dist/dev/router.mjs +1 -1
  21. package/dist/dev/routerInternal/snapshots.mjs +3 -1
  22. package/dist/dev/routerInternal/snapshots.mjs.map +1 -1
  23. package/dist/dev/runtime/register/component/lifecycle.mjs +13 -55
  24. package/dist/dev/runtime/register/component/lifecycle.mjs.map +1 -1
  25. package/dist/dev/runtime/register/component/registerDefinition.mjs +19 -21
  26. package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -1
  27. package/dist/package.mjs +1 -1
  28. package/dist/reactivity/core.mjs +1 -1
  29. package/dist/reactivity/ref.mjs +1 -1
  30. package/dist/reactivity/watch.mjs +1 -1
  31. package/dist/router/backNavigation.mjs +1 -1
  32. package/dist/router/createRouter.mjs +1 -1
  33. package/dist/router/initialNavigation.mjs +1 -1
  34. package/dist/router/navigationApi.mjs +1 -1
  35. package/dist/router/navigationResult.mjs +1 -1
  36. package/dist/router/navigationTarget.mjs +1 -1
  37. package/dist/router/navigationTargetHelpers.mjs +1 -1
  38. package/dist/router/types.d.mts +10 -1
  39. package/dist/router/useRoute.mjs +1 -1
  40. package/dist/router.d.mts +2 -2
  41. package/dist/router.mjs +1 -1
  42. package/dist/routerInternal/matching.mjs +1 -1
  43. package/dist/routerInternal/path.mjs +1 -1
  44. package/dist/routerInternal/records.mjs +1 -1
  45. package/dist/routerInternal/snapshots.mjs +1 -1
  46. package/dist/runtime/app/setData/scheduler.mjs +1 -1
  47. package/dist/runtime/defaults.mjs +1 -1
  48. package/dist/runtime/define/initialComputed.mjs +1 -1
  49. package/dist/runtime/define/optionsApi.mjs +1 -1
  50. package/dist/runtime/define/scopedSlotOptions.mjs +1 -1
  51. package/dist/runtime/pageLayout.mjs +1 -1
  52. package/dist/runtime/pageScroll.mjs +1 -1
  53. package/dist/runtime/register/component/lifecycle/platform.mjs +1 -1
  54. package/dist/runtime/register/component/lifecycle.mjs +1 -1
  55. package/dist/runtime/register/component/methods.mjs +1 -1
  56. package/dist/runtime/register/component/props.mjs +1 -1
  57. package/dist/runtime/register/component/registerDefinition.mjs +1 -1
  58. package/dist/runtime/register/inline.mjs +1 -1
  59. package/dist/runtime/register/runtimeInstance/methodBridge.mjs +1 -1
  60. package/dist/runtime/register/runtimeInstance.mjs +1 -1
  61. package/dist/runtime/scopedSlots.mjs +1 -1
  62. package/dist/runtime/setupTracking.mjs +1 -1
  63. package/dist/runtime/templateRefs.mjs +1 -1
  64. package/dist/runtime/vueCompat/router.mjs +1 -1
  65. package/dist/store/define/setupStyle.mjs +1 -1
  66. package/package.json +6 -6
  67. /package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/defineProperty.mjs +0 -0
  68. /package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/toPrimitive.mjs +0 -0
  69. /package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/toPropertyKey.mjs +0 -0
  70. /package/dist/_virtual/{_@oxc-project_runtime@0.147.0 → _@oxc-project_runtime@0.148.0}/helpers/esm/typeof.mjs +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useRoute.mjs","names":["useNativeRouterInternal","useNativePageRouterInternal"],"sources":["../../../src/router/useRoute.ts"],"sourcesContent":["import type { MiniProgramPageLifetime } from '../runtime/types'\nimport type { SetupContextRouter } from '../runtime/types/props'\nimport type { RouteStateSyncPayload } from './routeSync'\nimport type { LocationQueryRaw, RouteLocationNormalizedLoaded } from './types'\nimport { reactive, readonly } from '../reactivity'\nimport { cloneLocationQuery, cloneRouteLocationRedirectedFrom, cloneRouteMeta, cloneRouteParams, cloneRouteRecordMatchedList, resolveCurrentRoute, resolvePageRoute } from '../routerInternal/shared'\nimport { getCurrentSetupContext, onLoad, onReady, onRouteDone, onShow, onUnload } from '../runtime/hooks'\nimport {\n useNativePageRouter as useNativePageRouterInternal,\n useNativeRouter as useNativeRouterInternal,\n} from '../runtime/vueCompat'\nimport { getActiveRouter } from './instance'\nimport { resolveRouteLocation } from './resolve'\nimport { registerRouteStateSyncHandler } from './routeSync'\n\nexport interface UseRouteOptions {\n resolveRoute?: (route: RouteLocationNormalizedLoaded) => RouteLocationNormalizedLoaded\n}\n\ninterface RouteStateControllerOptions extends UseRouteOptions {\n beforeRouteStateSync?: (\n nextRoute: RouteLocationNormalizedLoaded,\n payload: RouteStateSyncPayload,\n ) => void\n}\n\nexport interface RouteStateController {\n route: Readonly<RouteLocationNormalizedLoaded>\n}\n\nfunction applyRouteState(\n routeState: RouteLocationNormalizedLoaded,\n nextRoute: RouteLocationNormalizedLoaded,\n) {\n routeState.path = nextRoute.path\n routeState.fullPath = nextRoute.fullPath\n routeState.query = cloneLocationQuery(nextRoute.query)\n routeState.hash = nextRoute.hash\n routeState.params = cloneRouteParams(nextRoute.params)\n if (nextRoute.name === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).name\n }\n else {\n routeState.name = nextRoute.name\n }\n if (nextRoute.meta === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).meta\n }\n else {\n routeState.meta = cloneRouteMeta(nextRoute.meta)\n }\n if (nextRoute.href === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).href\n }\n else {\n routeState.href = nextRoute.href\n }\n if (nextRoute.matched === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).matched\n }\n else {\n routeState.matched = cloneRouteRecordMatchedList(nextRoute.matched)\n }\n if (nextRoute.redirectedFrom === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).redirectedFrom\n }\n else {\n routeState.redirectedFrom = cloneRouteLocationRedirectedFrom(nextRoute.redirectedFrom)\n }\n}\n\nexport function createRouteStateController(options: RouteStateControllerOptions = {}): RouteStateController {\n const setupContext = getCurrentSetupContext()\n if (!setupContext) {\n throw new Error('useRoute() 必须在 setup() 的同步阶段调用')\n }\n\n const fallbackPage = setupContext.instance\n const resolveRoute = options.resolveRoute\n ?? ((route: RouteLocationNormalizedLoaded) => getActiveRouter()?.resolve(route) ?? route)\n const currentRoute = resolveRoute(resolveCurrentRoute(undefined, fallbackPage))\n const routeState = reactive<RouteLocationNormalizedLoaded>({\n path: currentRoute.path,\n fullPath: currentRoute.fullPath,\n query: cloneLocationQuery(currentRoute.query),\n hash: currentRoute.hash,\n params: cloneRouteParams(currentRoute.params),\n })\n applyRouteState(routeState, currentRoute)\n\n function syncRoute(\n queryOverride?: LocationQueryRaw,\n routeOverride?: RouteLocationNormalizedLoaded,\n payload?: RouteStateSyncPayload,\n ) {\n const nextRoute = routeOverride\n ? resolveRoute(routeOverride)\n : resolveRoute(resolveCurrentRoute(queryOverride, fallbackPage))\n if (payload) {\n options.beforeRouteStateSync?.(nextRoute, payload)\n }\n applyRouteState(routeState, nextRoute)\n }\n\n onLoad((query: Parameters<NonNullable<MiniProgramPageLifetime['onLoad']>>[0]) => {\n syncRoute(query as unknown as LocationQueryRaw)\n })\n onReady(() => {\n syncRoute()\n })\n onShow(() => {\n syncRoute()\n })\n onRouteDone(() => {\n syncRoute()\n })\n const unregisterRouteStateSync = registerRouteStateSyncHandler((payload) => {\n if (payload?.route) {\n syncRoute(undefined, payload.route, payload)\n return\n }\n if (payload?.page) {\n syncRoute(undefined, resolvePageRoute(payload.page), payload)\n return\n }\n if (payload?.url) {\n syncRoute(undefined, resolveRouteLocation(payload.url, routeState.path), payload)\n return\n }\n syncRoute(undefined, undefined, payload)\n })\n onUnload(() => {\n unregisterRouteStateSync()\n })\n\n return {\n route: readonly(routeState) as Readonly<RouteLocationNormalizedLoaded>,\n }\n}\n\nexport function useRoute(options: UseRouteOptions = {}): Readonly<RouteLocationNormalizedLoaded> {\n return createRouteStateController(options).route\n}\n\n/**\n * @description 获取当前组件路径语义的原生 Router\n */\nexport function useNativeRouter(): SetupContextRouter {\n return useNativeRouterInternal()\n}\n\n/**\n * @description 获取当前页面路径语义的原生 Page Router\n */\nexport function useNativePageRouter(): SetupContextRouter {\n return useNativePageRouterInternal()\n}\n"],"mappings":";;;;;;;;;;;;AA8BA,SAAS,gBACP,YACA,WACA;CACA,WAAW,OAAO,UAAU;CAC5B,WAAW,WAAW,UAAU;CAChC,WAAW,QAAQ,mBAAmB,UAAU,KAAK;CACrD,WAAW,OAAO,UAAU;CAC5B,WAAW,SAAS,iBAAiB,UAAU,MAAM;CACrD,IAAI,UAAU,SAAS,QACrB,OAAQ,WAAsD;MAG9D,WAAW,OAAO,UAAU;CAE9B,IAAI,UAAU,SAAS,QACrB,OAAQ,WAAsD;MAG9D,WAAW,OAAO,eAAe,UAAU,IAAI;CAEjD,IAAI,UAAU,SAAS,QACrB,OAAQ,WAAsD;MAG9D,WAAW,OAAO,UAAU;CAE9B,IAAI,UAAU,YAAY,QACxB,OAAQ,WAAsD;MAG9D,WAAW,UAAU,4BAA4B,UAAU,OAAO;CAEpE,IAAI,UAAU,mBAAmB,QAC/B,OAAQ,WAAsD;MAG9D,WAAW,iBAAiB,iCAAiC,UAAU,cAAc;AAEzF;AAEA,SAAgB,2BAA2B,UAAuC,CAAC,GAAyB;;CAC1G,MAAM,eAAe,uBAAuB;CAC5C,IAAI,CAAC,cACH,MAAM,IAAI,MAAM,gCAAgC;CAGlD,MAAM,eAAe,aAAa;CAClC,MAAM,wCAAe,QAAQ,uFACtB,UAAyC;;sEAAgB,uEAAG,QAAQ,KAAK,0EAAK;CAAI;CACzF,MAAM,eAAe,aAAa,oBAAoB,QAAW,YAAY,CAAC;CAC9E,MAAM,aAAa,SAAwC;EACzD,MAAM,aAAa;EACnB,UAAU,aAAa;EACvB,OAAO,mBAAmB,aAAa,KAAK;EAC5C,MAAM,aAAa;EACnB,QAAQ,iBAAiB,aAAa,MAAM;CAC9C,CAAC;CACD,gBAAgB,YAAY,YAAY;CAExC,SAAS,UACP,eACA,eACA,SACA;EACA,MAAM,YAAY,gBACd,aAAa,aAAa,IAC1B,aAAa,oBAAoB,eAAe,YAAY,CAAC;EACjE,IAAI,SAAS;;GACX,iCAAQ,0GAAuB,WAAW,OAAO;EACnD;EACA,gBAAgB,YAAY,SAAS;CACvC;CAEA,QAAQ,UAAyE;EAC/E,UAAU,KAAoC;CAChD,CAAC;CACD,cAAc;EACZ,UAAU;CACZ,CAAC;CACD,aAAa;EACX,UAAU;CACZ,CAAC;CACD,kBAAkB;EAChB,UAAU;CACZ,CAAC;CACD,MAAM,2BAA2B,+BAA+B,YAAY;EAC1E,sDAAI,QAAS,OAAO;GAClB,UAAU,QAAW,QAAQ,OAAO,OAAO;GAC3C;EACF;EACA,sDAAI,QAAS,MAAM;GACjB,UAAU,QAAW,iBAAiB,QAAQ,IAAI,GAAG,OAAO;GAC5D;EACF;EACA,sDAAI,QAAS,KAAK;GAChB,UAAU,QAAW,qBAAqB,QAAQ,KAAK,WAAW,IAAI,GAAG,OAAO;GAChF;EACF;EACA,UAAU,QAAW,QAAW,OAAO;CACzC,CAAC;CACD,eAAe;EACb,yBAAyB;CAC3B,CAAC;CAED,OAAO,EACL,OAAO,SAAS,UAAU,EAC5B;AACF;AAEA,SAAgB,SAAS,UAA2B,CAAC,GAA4C;CAC/F,OAAO,2BAA2B,OAAO,CAAC,CAAC;AAC7C;;;;AAKA,SAAgB,kBAAsC;CACpD,OAAOA,kBAAwB;AACjC;;;;AAKA,SAAgB,sBAA0C;CACxD,OAAOC,sBAA4B;AACrC"}
1
+ {"version":3,"file":"useRoute.mjs","names":["useNativeRouterInternal","useNativePageRouterInternal"],"sources":["../../../src/router/useRoute.ts"],"sourcesContent":["import type { MiniProgramPageLifetime } from '../runtime/types'\nimport type { SetupContextRouter } from '../runtime/types/props'\nimport type { RouteStateSyncPayload } from './routeSync'\nimport type { LocationQueryRaw, RouteLocationNormalizedLoaded } from './types'\nimport { reactive, readonly } from '../reactivity'\nimport { cloneLocationQuery, cloneRouteLocationRedirectedFrom, cloneRouteMeta, cloneRouteParams, cloneRouteRecordMatchedList, resolveCurrentRoute, resolvePageRoute } from '../routerInternal/shared'\nimport { getCurrentSetupContext, onLoad, onReady, onRouteDone, onShow, onUnload } from '../runtime/hooks'\nimport { getCurrentMiniProgramPages } from '../runtime/platform'\nimport {\n useNativePageRouter as useNativePageRouterInternal,\n useNativeRouter as useNativeRouterInternal,\n} from '../runtime/vueCompat'\nimport { getActiveRouter } from './instance'\nimport { resolveRouteLocation } from './resolve'\nimport { registerRouteStateSyncHandler } from './routeSync'\n\nexport interface UseRouteOptions {\n resolveRoute?: (route: RouteLocationNormalizedLoaded) => RouteLocationNormalizedLoaded\n}\n\ninterface RouteStateControllerOptions extends UseRouteOptions {\n beforeRouteStateSync?: (\n nextRoute: RouteLocationNormalizedLoaded,\n payload: RouteStateSyncPayload,\n ) => void\n}\n\nexport interface RouteStateController {\n route: Readonly<RouteLocationNormalizedLoaded>\n}\n\nfunction isPageLikeInstance(instance: Record<string, any>): boolean {\n return typeof instance.route === 'string' || typeof instance.__route__ === 'string'\n}\n\nfunction shouldSyncRouteStateForInstance(\n instance: Record<string, any>,\n isPageController: boolean,\n payload: RouteStateSyncPayload | undefined,\n): boolean {\n if (payload?.source === 'router') {\n return true\n }\n\n // 页面级 route controller 只处理当前页面的广播,避免 DevTools 在 onUnload/onShow\n // 交错时让隐藏页面重复执行导航守卫。组件级 controller 仍接收全局同步。\n if (!isPageController) {\n return true\n }\n\n if (payload?.page) {\n return payload.page === instance\n }\n\n const pages = getCurrentMiniProgramPages()\n return pages[pages.length - 1] === instance\n}\n\nfunction applyRouteState(\n routeState: RouteLocationNormalizedLoaded,\n nextRoute: RouteLocationNormalizedLoaded,\n) {\n routeState.path = nextRoute.path\n routeState.fullPath = nextRoute.fullPath\n routeState.query = cloneLocationQuery(nextRoute.query)\n routeState.hash = nextRoute.hash\n routeState.params = cloneRouteParams(nextRoute.params)\n if (nextRoute.name === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).name\n }\n else {\n routeState.name = nextRoute.name\n }\n if (nextRoute.meta === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).meta\n }\n else {\n routeState.meta = cloneRouteMeta(nextRoute.meta)\n }\n if (nextRoute.href === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).href\n }\n else {\n routeState.href = nextRoute.href\n }\n if (nextRoute.matched === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).matched\n }\n else {\n routeState.matched = cloneRouteRecordMatchedList(nextRoute.matched)\n }\n if (nextRoute.redirectedFrom === undefined) {\n delete (routeState as Partial<RouteLocationNormalizedLoaded>).redirectedFrom\n }\n else {\n routeState.redirectedFrom = cloneRouteLocationRedirectedFrom(nextRoute.redirectedFrom)\n }\n}\n\nexport function createRouteStateController(options: RouteStateControllerOptions = {}): RouteStateController {\n const setupContext = getCurrentSetupContext()\n if (!setupContext) {\n throw new Error('useRoute() 必须在 setup() 的同步阶段调用')\n }\n\n const fallbackPage = setupContext.instance\n const resolveRoute = options.resolveRoute\n ?? ((route: RouteLocationNormalizedLoaded) => getActiveRouter()?.resolve(route) ?? route)\n const currentRoute = resolveRoute(resolveCurrentRoute(undefined, fallbackPage))\n const isPageController = isPageLikeInstance(fallbackPage)\n || getCurrentMiniProgramPages().includes(fallbackPage)\n const routeState = reactive<RouteLocationNormalizedLoaded>({\n path: currentRoute.path,\n fullPath: currentRoute.fullPath,\n query: cloneLocationQuery(currentRoute.query),\n hash: currentRoute.hash,\n params: cloneRouteParams(currentRoute.params),\n })\n applyRouteState(routeState, currentRoute)\n\n function syncRoute(\n queryOverride?: LocationQueryRaw,\n routeOverride?: RouteLocationNormalizedLoaded,\n payload?: RouteStateSyncPayload,\n ) {\n const nextRoute = routeOverride\n ? resolveRoute(routeOverride)\n : resolveRoute(resolveCurrentRoute(queryOverride, fallbackPage))\n if (payload) {\n options.beforeRouteStateSync?.(nextRoute, payload)\n }\n applyRouteState(routeState, nextRoute)\n }\n\n onLoad((query: Parameters<NonNullable<MiniProgramPageLifetime['onLoad']>>[0]) => {\n syncRoute(query as unknown as LocationQueryRaw)\n })\n onReady(() => {\n syncRoute()\n })\n onShow(() => {\n syncRoute()\n })\n onRouteDone(() => {\n syncRoute()\n })\n const unregisterRouteStateSync = registerRouteStateSyncHandler((payload) => {\n if (!shouldSyncRouteStateForInstance(fallbackPage, isPageController, payload)) {\n return\n }\n if (payload?.route) {\n syncRoute(undefined, payload.route, payload)\n return\n }\n if (payload?.page) {\n syncRoute(undefined, resolvePageRoute(payload.page), payload)\n return\n }\n if (payload?.url) {\n syncRoute(undefined, resolveRouteLocation(payload.url, routeState.path), payload)\n return\n }\n syncRoute(undefined, undefined, payload)\n })\n onUnload(() => {\n unregisterRouteStateSync()\n })\n\n return {\n route: readonly(routeState) as Readonly<RouteLocationNormalizedLoaded>,\n }\n}\n\nexport function useRoute(options: UseRouteOptions = {}): Readonly<RouteLocationNormalizedLoaded> {\n return createRouteStateController(options).route\n}\n\n/**\n * @description 获取当前组件路径语义的原生 Router\n */\nexport function useNativeRouter(): SetupContextRouter {\n return useNativeRouterInternal()\n}\n\n/**\n * @description 获取当前页面路径语义的原生 Page Router\n */\nexport function useNativePageRouter(): SetupContextRouter {\n return useNativePageRouterInternal()\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { parseQuery, stringifyQuery } from "./routerInternal/query.mjs";
1
2
  import { NavigationFailureType } from "./router/types.mjs";
2
3
  import { createNavigationFailure, isNavigationFailure } from "./router/navigationCore.mjs";
3
- import { parseQuery, stringifyQuery } from "./routerInternal/query.mjs";
4
4
  import { resolveRouteLocation } from "./router/resolve.mjs";
5
5
  import { useNativePageRouter, useNativeRouter, useRoute } from "./router/useRoute.mjs";
6
6
  import { createRouter } from "./router/createRouter.mjs";
@@ -19,7 +19,7 @@ function freezeRouteRecordRawSnapshot(routeRecord) {
19
19
  if (routeRecord.redirect !== void 0) snapshot.redirect = routeRecord.redirect;
20
20
  return Object.freeze(snapshot);
21
21
  }
22
- function createRouterOptionsSnapshot(normalizedTabBarEntries, normalizedNamedRoutes, paramsMode, maxRedirects, routeResolveCodec, rejectOnError) {
22
+ function createRouterOptionsSnapshot(normalizedTabBarEntries, normalizedNamedRoutes, paramsMode, maxRedirects, initialNavigationMode, initialNavigationTimeout, routeResolveCodec, rejectOnError) {
23
23
  const tabBarEntriesSnapshot = Object.freeze(normalizedTabBarEntries.map((path) => createAbsoluteRoutePath(path)));
24
24
  const routesSnapshot = Object.freeze(normalizedNamedRoutes.map(freezeRouteRecordRawSnapshot));
25
25
  return Object.freeze({
@@ -28,6 +28,8 @@ function createRouterOptionsSnapshot(normalizedTabBarEntries, normalizedNamedRou
28
28
  namedRoutes: routesSnapshot,
29
29
  paramsMode,
30
30
  maxRedirects,
31
+ initialNavigationMode,
32
+ initialNavigationTimeout,
31
33
  parseQuery: routeResolveCodec.parseQuery,
32
34
  stringifyQuery: routeResolveCodec.stringifyQuery,
33
35
  rejectOnError
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.mjs","names":[],"sources":["../../../src/routerInternal/snapshots.ts"],"sourcesContent":["import type {\n LocationQuery,\n RouteLocationNormalizedLoaded,\n RouteLocationRedirectedFrom,\n RouteMeta,\n RouteParams,\n RouteParamsMode,\n RouteQueryStringifier,\n RouteRecordMatched,\n RouteRecordRaw,\n UseRouterOptions,\n} from '../router'\nimport type { RouteRecordNormalized, RouteResolveCodec } from './types'\nimport { createAbsoluteRoutePath, resolvePath } from './path'\nimport { stringifyQuery } from './query'\n\nexport function cloneRouteMeta(meta?: RouteMeta): RouteMeta | undefined {\n if (!meta) {\n return undefined\n }\n return {\n ...meta,\n }\n}\n\nfunction freezeRouteRecordRawSnapshot(routeRecord: RouteRecordRaw): Readonly<RouteRecordRaw> {\n const snapshot: RouteRecordRaw = {\n name: routeRecord.name,\n path: routeRecord.path,\n }\n\n if (routeRecord.meta !== undefined) {\n snapshot.meta = cloneRouteMeta(routeRecord.meta)\n }\n if (Array.isArray(routeRecord.alias)) {\n snapshot.alias = Object.freeze(routeRecord.alias.slice())\n }\n else if (routeRecord.alias !== undefined) {\n snapshot.alias = routeRecord.alias\n }\n if (Array.isArray(routeRecord.beforeEnter)) {\n snapshot.beforeEnter = Object.freeze(routeRecord.beforeEnter.slice())\n }\n else if (routeRecord.beforeEnter !== undefined) {\n snapshot.beforeEnter = routeRecord.beforeEnter\n }\n if (routeRecord.redirect !== undefined) {\n snapshot.redirect = routeRecord.redirect\n }\n\n return Object.freeze(snapshot)\n}\n\nexport function createRouterOptionsSnapshot(\n normalizedTabBarEntries: readonly string[],\n normalizedNamedRoutes: readonly RouteRecordRaw[],\n paramsMode: RouteParamsMode,\n maxRedirects: number,\n routeResolveCodec: RouteResolveCodec,\n rejectOnError: boolean,\n): Readonly<UseRouterOptions> {\n const tabBarEntriesSnapshot = Object.freeze(\n normalizedTabBarEntries.map(path => createAbsoluteRoutePath(path)),\n )\n const routesSnapshot = Object.freeze(\n normalizedNamedRoutes.map(freezeRouteRecordRawSnapshot),\n ) as readonly RouteRecordRaw[]\n\n return Object.freeze({\n tabBarEntries: tabBarEntriesSnapshot,\n routes: routesSnapshot,\n namedRoutes: routesSnapshot,\n paramsMode,\n maxRedirects,\n parseQuery: routeResolveCodec.parseQuery,\n stringifyQuery: routeResolveCodec.stringifyQuery,\n rejectOnError,\n })\n}\n\nexport function normalizeRouteRecordMatched(\n record: RouteRecordNormalized,\n matchedPath?: string,\n): RouteRecordMatched {\n const matchedRecord: RouteRecordMatched = {\n name: record.name,\n path: createAbsoluteRoutePath(record.path),\n }\n const normalizedMatchedPath = typeof matchedPath === 'string' && matchedPath\n ? createAbsoluteRoutePath(resolvePath(matchedPath, ''))\n : undefined\n if (normalizedMatchedPath && normalizedMatchedPath !== matchedRecord.path) {\n matchedRecord.aliasPath = normalizedMatchedPath\n }\n if (record.meta !== undefined) {\n matchedRecord.meta = cloneRouteMeta(record.meta)\n }\n return matchedRecord\n}\n\nexport function cloneRouteRecordMatchedList(matched?: readonly RouteRecordMatched[]): RouteRecordMatched[] | undefined {\n if (!matched) {\n return undefined\n }\n return matched.map(record => ({\n name: record.name,\n path: record.path,\n aliasPath: record.aliasPath,\n meta: cloneRouteMeta(record.meta),\n }))\n}\n\nexport function cloneLocationQuery(query: LocationQuery): LocationQuery {\n const cloned: LocationQuery = {}\n for (const key of Object.keys(query)) {\n const value = query[key]\n cloned[key] = Array.isArray(value) ? value.slice() : value\n }\n return cloned\n}\n\nexport function cloneRouteParams(params: RouteParams): RouteParams {\n const cloned: RouteParams = {}\n for (const key of Object.keys(params)) {\n const value = params[key]\n cloned[key] = Array.isArray(value) ? value.slice() : value\n }\n return cloned\n}\n\nexport function cloneRouteLocationRedirectedFrom(\n redirectedFrom?: RouteLocationRedirectedFrom,\n): RouteLocationRedirectedFrom | undefined {\n if (!redirectedFrom) {\n return undefined\n }\n\n const cloned: RouteLocationRedirectedFrom = {\n path: redirectedFrom.path,\n fullPath: redirectedFrom.fullPath,\n query: cloneLocationQuery(redirectedFrom.query),\n hash: redirectedFrom.hash,\n params: cloneRouteParams(redirectedFrom.params),\n }\n if (redirectedFrom.name !== undefined) {\n cloned.name = redirectedFrom.name\n }\n if (redirectedFrom.meta !== undefined) {\n cloned.meta = cloneRouteMeta(redirectedFrom.meta)\n }\n if (redirectedFrom.href !== undefined) {\n cloned.href = redirectedFrom.href\n }\n if (redirectedFrom.matched !== undefined) {\n cloned.matched = cloneRouteRecordMatchedList(redirectedFrom.matched)\n }\n return cloned\n}\n\nexport function createRedirectedFromSnapshot(route: RouteLocationNormalizedLoaded): RouteLocationRedirectedFrom {\n const snapshot: RouteLocationRedirectedFrom = {\n path: route.path,\n fullPath: route.fullPath,\n query: cloneLocationQuery(route.query),\n hash: route.hash,\n params: cloneRouteParams(route.params),\n }\n if (route.name !== undefined) {\n snapshot.name = route.name\n }\n if (route.meta !== undefined) {\n snapshot.meta = cloneRouteMeta(route.meta)\n }\n if (route.href !== undefined) {\n snapshot.href = route.href\n }\n if (route.matched !== undefined) {\n snapshot.matched = cloneRouteRecordMatchedList(route.matched)\n }\n return snapshot\n}\n\nexport function snapshotRouteLocation(route: RouteLocationNormalizedLoaded): RouteLocationNormalizedLoaded {\n const snapshot: RouteLocationNormalizedLoaded = {\n path: route.path,\n fullPath: route.fullPath,\n query: cloneLocationQuery(route.query),\n hash: route.hash,\n params: cloneRouteParams(route.params),\n }\n if (route.meta !== undefined) {\n snapshot.meta = cloneRouteMeta(route.meta)\n }\n if (route.href !== undefined) {\n snapshot.href = route.href\n }\n if (route.matched !== undefined) {\n snapshot.matched = cloneRouteRecordMatchedList(route.matched)\n }\n if (route.redirectedFrom !== undefined) {\n snapshot.redirectedFrom = cloneRouteLocationRedirectedFrom(route.redirectedFrom)\n }\n if (route.name !== undefined) {\n snapshot.name = route.name\n }\n return snapshot\n}\n\nexport function createNativeRouteUrl(\n target: RouteLocationNormalizedLoaded,\n queryStringifier: RouteQueryStringifier = stringifyQuery,\n): string {\n const basePath = createAbsoluteRoutePath(target.path)\n const queryString = queryStringifier(target.query)\n return queryString ? `${basePath}?${queryString}` : basePath\n}\n\nexport function hasLocationQuery(query: LocationQuery): boolean {\n return Object.keys(query).length > 0\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"snapshots.mjs","names":[],"sources":["../../../src/routerInternal/snapshots.ts"],"sourcesContent":["import type {\n InitialNavigationMode,\n LocationQuery,\n RouteLocationNormalizedLoaded,\n RouteLocationRedirectedFrom,\n RouteMeta,\n RouteParams,\n RouteParamsMode,\n RouteQueryStringifier,\n RouteRecordMatched,\n RouteRecordRaw,\n UseRouterOptions,\n} from '../router'\nimport type { RouteRecordNormalized, RouteResolveCodec } from './types'\nimport { createAbsoluteRoutePath, resolvePath } from './path'\nimport { stringifyQuery } from './query'\n\nexport function cloneRouteMeta(meta?: RouteMeta): RouteMeta | undefined {\n if (!meta) {\n return undefined\n }\n return {\n ...meta,\n }\n}\n\nfunction freezeRouteRecordRawSnapshot(routeRecord: RouteRecordRaw): Readonly<RouteRecordRaw> {\n const snapshot: RouteRecordRaw = {\n name: routeRecord.name,\n path: routeRecord.path,\n }\n\n if (routeRecord.meta !== undefined) {\n snapshot.meta = cloneRouteMeta(routeRecord.meta)\n }\n if (Array.isArray(routeRecord.alias)) {\n snapshot.alias = Object.freeze(routeRecord.alias.slice())\n }\n else if (routeRecord.alias !== undefined) {\n snapshot.alias = routeRecord.alias\n }\n if (Array.isArray(routeRecord.beforeEnter)) {\n snapshot.beforeEnter = Object.freeze(routeRecord.beforeEnter.slice())\n }\n else if (routeRecord.beforeEnter !== undefined) {\n snapshot.beforeEnter = routeRecord.beforeEnter\n }\n if (routeRecord.redirect !== undefined) {\n snapshot.redirect = routeRecord.redirect\n }\n\n return Object.freeze(snapshot)\n}\n\nexport function createRouterOptionsSnapshot(\n normalizedTabBarEntries: readonly string[],\n normalizedNamedRoutes: readonly RouteRecordRaw[],\n paramsMode: RouteParamsMode,\n maxRedirects: number,\n initialNavigationMode: InitialNavigationMode,\n initialNavigationTimeout: number,\n routeResolveCodec: RouteResolveCodec,\n rejectOnError: boolean,\n): Readonly<UseRouterOptions> {\n const tabBarEntriesSnapshot = Object.freeze(\n normalizedTabBarEntries.map(path => createAbsoluteRoutePath(path)),\n )\n const routesSnapshot = Object.freeze(\n normalizedNamedRoutes.map(freezeRouteRecordRawSnapshot),\n ) as readonly RouteRecordRaw[]\n\n return Object.freeze({\n tabBarEntries: tabBarEntriesSnapshot,\n routes: routesSnapshot,\n namedRoutes: routesSnapshot,\n paramsMode,\n maxRedirects,\n initialNavigationMode,\n initialNavigationTimeout,\n parseQuery: routeResolveCodec.parseQuery,\n stringifyQuery: routeResolveCodec.stringifyQuery,\n rejectOnError,\n })\n}\n\nexport function normalizeRouteRecordMatched(\n record: RouteRecordNormalized,\n matchedPath?: string,\n): RouteRecordMatched {\n const matchedRecord: RouteRecordMatched = {\n name: record.name,\n path: createAbsoluteRoutePath(record.path),\n }\n const normalizedMatchedPath = typeof matchedPath === 'string' && matchedPath\n ? createAbsoluteRoutePath(resolvePath(matchedPath, ''))\n : undefined\n if (normalizedMatchedPath && normalizedMatchedPath !== matchedRecord.path) {\n matchedRecord.aliasPath = normalizedMatchedPath\n }\n if (record.meta !== undefined) {\n matchedRecord.meta = cloneRouteMeta(record.meta)\n }\n return matchedRecord\n}\n\nexport function cloneRouteRecordMatchedList(matched?: readonly RouteRecordMatched[]): RouteRecordMatched[] | undefined {\n if (!matched) {\n return undefined\n }\n return matched.map(record => ({\n name: record.name,\n path: record.path,\n aliasPath: record.aliasPath,\n meta: cloneRouteMeta(record.meta),\n }))\n}\n\nexport function cloneLocationQuery(query: LocationQuery): LocationQuery {\n const cloned: LocationQuery = {}\n for (const key of Object.keys(query)) {\n const value = query[key]\n cloned[key] = Array.isArray(value) ? value.slice() : value\n }\n return cloned\n}\n\nexport function cloneRouteParams(params: RouteParams): RouteParams {\n const cloned: RouteParams = {}\n for (const key of Object.keys(params)) {\n const value = params[key]\n cloned[key] = Array.isArray(value) ? value.slice() : value\n }\n return cloned\n}\n\nexport function cloneRouteLocationRedirectedFrom(\n redirectedFrom?: RouteLocationRedirectedFrom,\n): RouteLocationRedirectedFrom | undefined {\n if (!redirectedFrom) {\n return undefined\n }\n\n const cloned: RouteLocationRedirectedFrom = {\n path: redirectedFrom.path,\n fullPath: redirectedFrom.fullPath,\n query: cloneLocationQuery(redirectedFrom.query),\n hash: redirectedFrom.hash,\n params: cloneRouteParams(redirectedFrom.params),\n }\n if (redirectedFrom.name !== undefined) {\n cloned.name = redirectedFrom.name\n }\n if (redirectedFrom.meta !== undefined) {\n cloned.meta = cloneRouteMeta(redirectedFrom.meta)\n }\n if (redirectedFrom.href !== undefined) {\n cloned.href = redirectedFrom.href\n }\n if (redirectedFrom.matched !== undefined) {\n cloned.matched = cloneRouteRecordMatchedList(redirectedFrom.matched)\n }\n return cloned\n}\n\nexport function createRedirectedFromSnapshot(route: RouteLocationNormalizedLoaded): RouteLocationRedirectedFrom {\n const snapshot: RouteLocationRedirectedFrom = {\n path: route.path,\n fullPath: route.fullPath,\n query: cloneLocationQuery(route.query),\n hash: route.hash,\n params: cloneRouteParams(route.params),\n }\n if (route.name !== undefined) {\n snapshot.name = route.name\n }\n if (route.meta !== undefined) {\n snapshot.meta = cloneRouteMeta(route.meta)\n }\n if (route.href !== undefined) {\n snapshot.href = route.href\n }\n if (route.matched !== undefined) {\n snapshot.matched = cloneRouteRecordMatchedList(route.matched)\n }\n return snapshot\n}\n\nexport function snapshotRouteLocation(route: RouteLocationNormalizedLoaded): RouteLocationNormalizedLoaded {\n const snapshot: RouteLocationNormalizedLoaded = {\n path: route.path,\n fullPath: route.fullPath,\n query: cloneLocationQuery(route.query),\n hash: route.hash,\n params: cloneRouteParams(route.params),\n }\n if (route.meta !== undefined) {\n snapshot.meta = cloneRouteMeta(route.meta)\n }\n if (route.href !== undefined) {\n snapshot.href = route.href\n }\n if (route.matched !== undefined) {\n snapshot.matched = cloneRouteRecordMatchedList(route.matched)\n }\n if (route.redirectedFrom !== undefined) {\n snapshot.redirectedFrom = cloneRouteLocationRedirectedFrom(route.redirectedFrom)\n }\n if (route.name !== undefined) {\n snapshot.name = route.name\n }\n return snapshot\n}\n\nexport function createNativeRouteUrl(\n target: RouteLocationNormalizedLoaded,\n queryStringifier: RouteQueryStringifier = stringifyQuery,\n): string {\n const basePath = createAbsoluteRoutePath(target.path)\n const queryString = queryStringifier(target.query)\n return queryString ? `${basePath}?${queryString}` : basePath\n}\n\nexport function hasLocationQuery(query: LocationQuery): boolean {\n return Object.keys(query).length > 0\n}\n"],"mappings":"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"}
@@ -2,48 +2,12 @@ import { callHookList } from "../../hooks/base.mjs";
2
2
  import { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, releaseCurrentPageInstance, resolvePageOptions } from "./lifecycle/platform.mjs";
3
3
  import { scheduleTemplateRefUpdate } from "../../templateRefs.mjs";
4
4
  import { enableDeferredSetData, mountRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from "../runtimeInstance.mjs";
5
- import { getInitialNavigationRunner } from "../../../router/initialNavigation.mjs";
6
- import { isNavigationFailure } from "../../../router/navigationCore.mjs";
5
+ import { cancelInitialNavigation, ensureInitialNavigation } from "../../../router/initialNavigation.mjs";
7
6
  import { notifyRouteStateSync } from "../../../router/routeSync.mjs";
8
7
  import { attachOptionalPageLifecycleHooks } from "./lifecycle/optionalHooks.mjs";
9
8
  import { WEVU_ON_LOAD_CALLED_KEY, WEVU_READY_CALLED_KEY, WEVU_ROUTE_DONE_CALLED_KEY } from "@weapp-core/constants";
10
9
 
11
10
  //#region src/runtime/register/component/lifecycle.ts
12
- const INITIAL_NAVIGATION_PROMISE_KEY = Symbol("wevu.initialNavigationPromise");
13
- const INITIAL_NAVIGATION_START_KEY = Symbol("wevu.startInitialNavigation");
14
- function getInitialNavigationPromise(instance) {
15
- return instance[INITIAL_NAVIGATION_PROMISE_KEY];
16
- }
17
- function ensureInitialNavigation(instance, query, options = {}) {
18
- const existing = getInitialNavigationPromise(instance);
19
- if (existing) {
20
- if (options.start !== false) {
21
- var _INITIAL_NAVIGATION_S;
22
- (_INITIAL_NAVIGATION_S = instance[INITIAL_NAVIGATION_START_KEY]) === null || _INITIAL_NAVIGATION_S === void 0 || _INITIAL_NAVIGATION_S.call(instance, query);
23
- }
24
- return existing;
25
- }
26
- const initialNavigationRunner = getInitialNavigationRunner();
27
- if (!initialNavigationRunner) return;
28
- let resolveInitialNavigation;
29
- let rejectInitialNavigation;
30
- const initialNavigationPromise = new Promise((resolve, reject) => {
31
- resolveInitialNavigation = resolve;
32
- rejectInitialNavigation = reject;
33
- });
34
- instance[INITIAL_NAVIGATION_PROMISE_KEY] = initialNavigationPromise;
35
- let started = false;
36
- instance[INITIAL_NAVIGATION_START_KEY] = (startQuery) => {
37
- if (started) return;
38
- started = true;
39
- initialNavigationRunner(instance, startQuery !== null && startQuery !== void 0 ? startQuery : query).then((result) => {
40
- const shouldMount = !isNavigationFailure(result);
41
- resolveInitialNavigation(shouldMount);
42
- }, rejectInitialNavigation);
43
- };
44
- if (options.start !== false) instance[INITIAL_NAVIGATION_START_KEY](query);
45
- return initialNavigationPromise;
46
- }
47
11
  function createPageLifecycleHooks(options) {
48
12
  const { runtimeApp, watch, setup, userOnLoad, userOnUnload, userOnShow, userOnHide, userOnReady, isPage, enableOnSaveExitState, enableOnPullDownRefresh, enableOnReachBottom, enableOnPageScroll, enableOnRouteDone, enableOnRouteDoneFallback, enableOnTabItemTap, enableOnResize, enableOnShareAppMessage, enableOnShareTimeline, enableOnAddToFavorites, syncWevuPropsFromValues, effectiveOnSaveExitState, effectiveOnPullDownRefresh, effectiveOnReachBottom, effectiveOnPageScroll, effectiveOnRouteDone, effectiveOnTabItemTap, effectiveOnResize, effectiveOnShareAppMessage, effectiveOnShareTimeline, effectiveOnAddToFavorites, hasHook } = options;
49
13
  const flushPageSnapshotIfPossible = (target) => {
@@ -67,16 +31,14 @@ function createPageLifecycleHooks(options) {
67
31
  callHookList(this, "onLoad", args);
68
32
  if (typeof userOnLoad === "function") return userOnLoad.apply(this, args.length ? args : [pageOptions]);
69
33
  };
70
- const initialNavigationPromise = isPage ? ensureInitialNavigation(this, args[0]) : void 0;
71
- if (initialNavigationPromise) {
72
- initialNavigationPromise.then((shouldMount) => {
73
- if (shouldMount) mountPage();
74
- }, () => {});
75
- return initialNavigationPromise;
76
- }
34
+ const initialNavigationPromise = isPage ? ensureInitialNavigation(this, args[0], { onComplete: (shouldMount) => {
35
+ if (shouldMount) mountPage();
36
+ } }) : void 0;
37
+ if (initialNavigationPromise) return initialNavigationPromise;
77
38
  return mountPage();
78
39
  },
79
40
  onUnload(...args) {
41
+ cancelInitialNavigation(this);
80
42
  if (isPage) releaseCurrentPageInstance(this);
81
43
  teardownRuntimeInstance(this);
82
44
  if (typeof userOnUnload === "function") return userOnUnload.apply(this, args);
@@ -133,17 +95,13 @@ function createPageLifecycleHooks(options) {
133
95
  callHookList(this, "onReady", args);
134
96
  if (typeof userOnReady === "function") userOnReady.apply(this, args);
135
97
  };
136
- const initialNavigationPromise = getInitialNavigationPromise(this);
137
- const callReadyHooksAfterInitialNavigation = () => {
138
- if (initialNavigationPromise) {
139
- initialNavigationPromise.then((shouldMount) => {
140
- if (shouldMount) callReadyHooks();
141
- }, () => {});
142
- return;
98
+ const scheduleReadyHooks = () => scheduleTemplateRefUpdate(this, callReadyHooks);
99
+ if (!(isPage ? ensureInitialNavigation(this, void 0, {
100
+ start: false,
101
+ onComplete: (shouldMount) => {
102
+ if (shouldMount) scheduleReadyHooks();
143
103
  }
144
- callReadyHooks();
145
- };
146
- scheduleTemplateRefUpdate(this, callReadyHooksAfterInitialNavigation);
104
+ }) : void 0)) scheduleReadyHooks();
147
105
  return;
148
106
  }
149
107
  if (typeof userOnReady === "function") return userOnReady.apply(this, args);
@@ -176,5 +134,5 @@ function createPageLifecycleHooks(options) {
176
134
  }
177
135
 
178
136
  //#endregion
179
- export { createPageLifecycleHooks, ensureInitialNavigation, getInitialNavigationPromise };
137
+ export { createPageLifecycleHooks };
180
138
  //# sourceMappingURL=lifecycle.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.mjs","names":[],"sources":["../../../../../src/runtime/register/component/lifecycle.ts"],"sourcesContent":["import type { LocationQueryRaw } from '../../../router/types'\nimport type { MiniProgramPageLike } from '../../../routerInternal/shared'\nimport type { ComponentPropsOptions, ComputedDefinitions, DefineComponentOptions, InternalRuntimeState, MethodDefinitions, RuntimeApp } from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEVU_ON_LOAD_CALLED_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_ROUTE_DONE_CALLED_KEY,\n} from '@weapp-core/constants'\nimport { getInitialNavigationRunner } from '../../../router/initialNavigation'\nimport { isNavigationFailure } from '../../../router/navigationCore'\nimport { notifyRouteStateSync } from '../../../router/routeSync'\nimport { callHookList } from '../../hooks'\nimport { scheduleTemplateRefUpdate } from '../../templateRefs'\nimport { enableDeferredSetData, mountRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { attachOptionalPageLifecycleHooks } from './lifecycle/optionalHooks'\nimport { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, releaseCurrentPageInstance, resolvePageOptions } from './lifecycle/platform'\n\nconst INITIAL_NAVIGATION_PROMISE_KEY = Symbol('wevu.initialNavigationPromise')\nconst INITIAL_NAVIGATION_START_KEY = Symbol('wevu.startInitialNavigation')\n\nexport function getInitialNavigationPromise(instance: InternalRuntimeState) {\n return (instance as any)[INITIAL_NAVIGATION_PROMISE_KEY] as Promise<boolean> | undefined\n}\n\nexport function ensureInitialNavigation(\n instance: InternalRuntimeState,\n query?: LocationQueryRaw,\n options: { start?: boolean } = {},\n) {\n const existing = getInitialNavigationPromise(instance)\n if (existing) {\n if (options.start !== false) {\n ;(instance as any)[INITIAL_NAVIGATION_START_KEY]?.(query)\n }\n return existing\n }\n const initialNavigationRunner = getInitialNavigationRunner()\n if (!initialNavigationRunner) {\n return undefined\n }\n let resolveInitialNavigation!: (shouldMount: boolean) => void\n let rejectInitialNavigation!: (error: unknown) => void\n const initialNavigationPromise = new Promise<boolean>((resolve, reject) => {\n resolveInitialNavigation = resolve\n rejectInitialNavigation = reject\n })\n ;(instance as any)[INITIAL_NAVIGATION_PROMISE_KEY] = initialNavigationPromise\n let started = false\n ;(instance as any)[INITIAL_NAVIGATION_START_KEY] = (startQuery?: LocationQueryRaw) => {\n if (started) {\n return\n }\n started = true\n void initialNavigationRunner(instance as MiniProgramPageLike, startQuery ?? query)\n .then((result) => {\n const shouldMount = !isNavigationFailure(result)\n resolveInitialNavigation(shouldMount)\n }, rejectInitialNavigation)\n }\n if (options.start !== false) {\n ;(instance as any)[INITIAL_NAVIGATION_START_KEY](query)\n }\n return initialNavigationPromise\n}\n\nexport function createPageLifecycleHooks<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n userOnLoad?: any\n userOnUnload?: any\n userOnShow?: any\n userOnHide?: any\n userOnReady?: any\n isPage: boolean\n enableOnSaveExitState: boolean\n enableOnPullDownRefresh: boolean\n enableOnReachBottom: boolean\n enableOnPageScroll: boolean\n enableOnRouteDone: boolean\n enableOnRouteDoneFallback: boolean\n enableOnTabItemTap: boolean\n enableOnResize: boolean\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n enableOnAddToFavorites: boolean\n syncWevuPropsFromValues?: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n effectiveOnSaveExitState: (...args: any[]) => any\n effectiveOnPullDownRefresh: (...args: any[]) => any\n effectiveOnReachBottom: (...args: any[]) => any\n effectiveOnPageScroll: (...args: any[]) => any\n effectiveOnRouteDone: (...args: any[]) => any\n effectiveOnTabItemTap: (...args: any[]) => any\n effectiveOnResize: (...args: any[]) => any\n effectiveOnShareAppMessage: (...args: any[]) => any\n effectiveOnShareTimeline: (...args: any[]) => any\n effectiveOnAddToFavorites: (...args: any[]) => any\n hasHook: (target: InternalRuntimeState, name: string) => boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n isPage,\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n syncWevuPropsFromValues,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n } = options\n const flushPageSnapshotIfPossible = (target: InternalRuntimeState) => {\n ;(target as any).__wevu?.__wevu_flushSetupSnapshotSync?.()\n }\n\n const pageLifecycleHooks: Record<string, any> = {\n onLoad(this: InternalRuntimeState, ...args: any[]) {\n if ((this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n return\n }\n ;(this as any)[WEVU_ON_LOAD_CALLED_KEY] = true\n const mountPage = () => {\n mountRuntimeInstance(this, runtimeApp, watch, setup)\n const pageOptions = args[0] && typeof args[0] === 'object'\n ? args[0]\n : resolvePageOptions(this)\n syncWevuPropsFromValues?.(this, pageOptions)\n flushPageSnapshotIfPossible(this)\n enableDeferredSetData(this)\n if (isPage) {\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n callHookList(this, 'onLoad', args)\n if (typeof userOnLoad === 'function') {\n return userOnLoad.apply(this, args.length ? args : [pageOptions])\n }\n }\n\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this, args[0])\n : undefined\n if (initialNavigationPromise) {\n void initialNavigationPromise.then((shouldMount) => {\n if (shouldMount) {\n mountPage()\n }\n }, () => {})\n return initialNavigationPromise\n }\n return mountPage()\n },\n onUnload(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n teardownRuntimeInstance(this)\n if (typeof userOnUnload === 'function') {\n return userOnUnload.apply(this, args)\n }\n },\n onShow(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n ensureMiniProgramGlobalPatched()\n bindCurrentPageInstance(this)\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n ;(this as any)[WEVU_ROUTE_DONE_CALLED_KEY] = false\n }\n setRuntimeSetDataVisibility(this, true)\n if (isPage) {\n notifyRouteStateSync({\n page: this as MiniProgramPageLike,\n source: 'page',\n })\n }\n callHookList(this, 'onShow', args)\n if (typeof userOnShow === 'function') {\n return userOnShow.apply(this, args)\n }\n },\n onHide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof userOnHide === 'function') {\n return userOnHide.apply(this, args)\n }\n },\n onReady(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n // 兼容:部分平台/模式可能触发 Page.onReady,而非 Component lifetimes.ready\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n // 部分 IDE/基础库在首屏场景可能不派发 routeDone,这里做一次延迟兜底。\n // 若平台随后派发了真实 routeDone,会因为 __wevuRouteDoneCalled 判定而跳过补发。\n if (isPage && enableOnRouteDone && enableOnRouteDoneFallback) {\n // eslint-disable-next-line ts/no-this-alias\n const current = this\n setTimeout(() => {\n if (!(current as any)[WEVU_ROUTE_DONE_CALLED_KEY]) {\n pageLifecycleHooks.onRouteDone?.call(current)\n }\n }, 0)\n }\n const callReadyHooks = () => {\n callHookList(this, 'onReady', args)\n if (typeof userOnReady === 'function') {\n userOnReady.apply(this, args)\n }\n }\n const initialNavigationPromise = getInitialNavigationPromise(this)\n const callReadyHooksAfterInitialNavigation = () => {\n if (initialNavigationPromise) {\n void initialNavigationPromise.then((shouldMount) => {\n if (shouldMount) {\n callReadyHooks()\n }\n }, () => {})\n return\n }\n callReadyHooks()\n }\n scheduleTemplateRefUpdate(this, callReadyHooksAfterInitialNavigation)\n return\n }\n if (typeof userOnReady === 'function') {\n return userOnReady.apply(this, args)\n }\n },\n }\n\n attachOptionalPageLifecycleHooks(pageLifecycleHooks, {\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n })\n\n return pageLifecycleHooks\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"lifecycle.mjs","names":[],"sources":["../../../../../src/runtime/register/component/lifecycle.ts"],"sourcesContent":["import type { MiniProgramPageLike } from '../../../routerInternal/shared'\nimport type { ComponentPropsOptions, ComputedDefinitions, DefineComponentOptions, InternalRuntimeState, MethodDefinitions, RuntimeApp } from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEVU_ON_LOAD_CALLED_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_ROUTE_DONE_CALLED_KEY,\n} from '@weapp-core/constants'\nimport {\n cancelInitialNavigation,\n ensureInitialNavigation,\n} from '../../../router/initialNavigation'\nimport { notifyRouteStateSync } from '../../../router/routeSync'\nimport { callHookList } from '../../hooks'\nimport { scheduleTemplateRefUpdate } from '../../templateRefs'\nimport { enableDeferredSetData, mountRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { attachOptionalPageLifecycleHooks } from './lifecycle/optionalHooks'\nimport { bindCurrentPageInstance, ensureMiniProgramGlobalPatched, ensurePageShareMenus, releaseCurrentPageInstance, resolvePageOptions } from './lifecycle/platform'\n\nexport function createPageLifecycleHooks<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n userOnLoad?: any\n userOnUnload?: any\n userOnShow?: any\n userOnHide?: any\n userOnReady?: any\n isPage: boolean\n enableOnSaveExitState: boolean\n enableOnPullDownRefresh: boolean\n enableOnReachBottom: boolean\n enableOnPageScroll: boolean\n enableOnRouteDone: boolean\n enableOnRouteDoneFallback: boolean\n enableOnTabItemTap: boolean\n enableOnResize: boolean\n enableOnShareAppMessage: boolean\n enableOnShareTimeline: boolean\n enableOnAddToFavorites: boolean\n syncWevuPropsFromValues?: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n effectiveOnSaveExitState: (...args: any[]) => any\n effectiveOnPullDownRefresh: (...args: any[]) => any\n effectiveOnReachBottom: (...args: any[]) => any\n effectiveOnPageScroll: (...args: any[]) => any\n effectiveOnRouteDone: (...args: any[]) => any\n effectiveOnTabItemTap: (...args: any[]) => any\n effectiveOnResize: (...args: any[]) => any\n effectiveOnShareAppMessage: (...args: any[]) => any\n effectiveOnShareTimeline: (...args: any[]) => any\n effectiveOnAddToFavorites: (...args: any[]) => any\n hasHook: (target: InternalRuntimeState, name: string) => boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n userOnLoad,\n userOnUnload,\n userOnShow,\n userOnHide,\n userOnReady,\n isPage,\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnRouteDoneFallback,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n syncWevuPropsFromValues,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n } = options\n const flushPageSnapshotIfPossible = (target: InternalRuntimeState) => {\n ;(target as any).__wevu?.__wevu_flushSetupSnapshotSync?.()\n }\n\n const pageLifecycleHooks: Record<string, any> = {\n onLoad(this: InternalRuntimeState, ...args: any[]) {\n if ((this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n return\n }\n ;(this as any)[WEVU_ON_LOAD_CALLED_KEY] = true\n const mountPage = () => {\n mountRuntimeInstance(this, runtimeApp, watch, setup)\n const pageOptions = args[0] && typeof args[0] === 'object'\n ? args[0]\n : resolvePageOptions(this)\n syncWevuPropsFromValues?.(this, pageOptions)\n flushPageSnapshotIfPossible(this)\n enableDeferredSetData(this)\n if (isPage) {\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n callHookList(this, 'onLoad', args)\n if (typeof userOnLoad === 'function') {\n return userOnLoad.apply(this, args.length ? args : [pageOptions])\n }\n }\n\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this as MiniProgramPageLike, args[0], {\n onComplete: (shouldMount) => {\n if (shouldMount) {\n mountPage()\n }\n },\n })\n : undefined\n if (initialNavigationPromise) {\n return initialNavigationPromise\n }\n return mountPage()\n },\n onUnload(this: InternalRuntimeState, ...args: any[]) {\n cancelInitialNavigation(this as MiniProgramPageLike)\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n teardownRuntimeInstance(this)\n if (typeof userOnUnload === 'function') {\n return userOnUnload.apply(this, args)\n }\n },\n onShow(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n ensureMiniProgramGlobalPatched()\n bindCurrentPageInstance(this)\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n ;(this as any)[WEVU_ROUTE_DONE_CALLED_KEY] = false\n }\n setRuntimeSetDataVisibility(this, true)\n if (isPage) {\n notifyRouteStateSync({\n page: this as MiniProgramPageLike,\n source: 'page',\n })\n }\n callHookList(this, 'onShow', args)\n if (typeof userOnShow === 'function') {\n return userOnShow.apply(this, args)\n }\n },\n onHide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n releaseCurrentPageInstance(this)\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof userOnHide === 'function') {\n return userOnHide.apply(this, args)\n }\n },\n onReady(this: InternalRuntimeState, ...args: any[]) {\n if (isPage) {\n if (!(this as any)[WEVU_ON_LOAD_CALLED_KEY]) {\n pageLifecycleHooks.onLoad.call(this, resolvePageOptions(this))\n }\n syncWevuPropsFromValues?.(this, resolvePageOptions(this))\n flushPageSnapshotIfPossible(this)\n ensurePageShareMenus({\n enableOnShareAppMessage,\n enableOnShareTimeline,\n })\n }\n // 兼容:部分平台/模式可能触发 Page.onReady,而非 Component lifetimes.ready\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n // 部分 IDE/基础库在首屏场景可能不派发 routeDone,这里做一次延迟兜底。\n // 若平台随后派发了真实 routeDone,会因为 __wevuRouteDoneCalled 判定而跳过补发。\n if (isPage && enableOnRouteDone && enableOnRouteDoneFallback) {\n // eslint-disable-next-line ts/no-this-alias\n const current = this\n setTimeout(() => {\n if (!(current as any)[WEVU_ROUTE_DONE_CALLED_KEY]) {\n pageLifecycleHooks.onRouteDone?.call(current)\n }\n }, 0)\n }\n const callReadyHooks = () => {\n callHookList(this, 'onReady', args)\n if (typeof userOnReady === 'function') {\n userOnReady.apply(this, args)\n }\n }\n const scheduleReadyHooks = () => scheduleTemplateRefUpdate(this, callReadyHooks)\n const initialNavigationPromise = isPage\n ? ensureInitialNavigation(this as MiniProgramPageLike, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n scheduleReadyHooks()\n }\n },\n })\n : undefined\n if (!initialNavigationPromise) {\n scheduleReadyHooks()\n }\n return\n }\n if (typeof userOnReady === 'function') {\n return userOnReady.apply(this, args)\n }\n },\n }\n\n attachOptionalPageLifecycleHooks(pageLifecycleHooks, {\n enableOnSaveExitState,\n enableOnPullDownRefresh,\n enableOnReachBottom,\n enableOnPageScroll,\n enableOnRouteDone,\n enableOnTabItemTap,\n enableOnResize,\n enableOnShareAppMessage,\n enableOnShareTimeline,\n enableOnAddToFavorites,\n effectiveOnSaveExitState,\n effectiveOnPullDownRefresh,\n effectiveOnReachBottom,\n effectiveOnPageScroll,\n effectiveOnRouteDone,\n effectiveOnTabItemTap,\n effectiveOnResize,\n effectiveOnShareAppMessage,\n effectiveOnShareTimeline,\n effectiveOnAddToFavorites,\n hasHook,\n })\n\n return pageLifecycleHooks\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { resolveRuntimePageLayoutName, syncRuntimePageLayoutState } from "../../
4
4
  import { getOwnerProxy } from "../../scopedSlots.mjs";
5
5
  import { clearTemplateRefs, scheduleTemplateRefUpdate } from "../../templateRefs.mjs";
6
6
  import { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from "../runtimeInstance.mjs";
7
- import { ensureInitialNavigation, getInitialNavigationPromise } from "./lifecycle.mjs";
7
+ import { ensureInitialNavigation } from "../../../router/initialNavigation.mjs";
8
8
  import { registerRuntimeLayoutHosts, unregisterRuntimeLayoutHosts } from "../../layoutBridge.mjs";
9
9
  import { registerNativeComponentDefinition } from "./registerNativeDefinition.mjs";
10
10
  import { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY, WEVU_LAYOUT_HOST_BRIDGE_KEY, WEVU_PAGE_LAYOUT_NAME_KEY, WEVU_PAGE_LAYOUT_PROPS_KEY, WEVU_PAGE_LAYOUT_SETTER_KEY, WEVU_PUBLIC_RUNTIME_KEY, WEVU_READY_CALLED_KEY, WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD, WEVU_RUNTIME_KEY, WEVU_RUNTIME_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_KEY, WEVU_TEMPLATE_REFS_KEY } from "@weapp-core/constants";
@@ -71,14 +71,12 @@ function registerComponentDefinition(options) {
71
71
  task();
72
72
  return;
73
73
  }
74
- const initialNavigationPromise = ensureInitialNavigation(instance, void 0, { start: false });
75
- if (!initialNavigationPromise) {
76
- task();
77
- return;
78
- }
79
- initialNavigationPromise.then((shouldMount) => {
80
- if (shouldMount) task();
81
- }, () => {});
74
+ if (!ensureInitialNavigation(instance, void 0, {
75
+ start: false,
76
+ onComplete: (shouldMount) => {
77
+ if (shouldMount) task();
78
+ }
79
+ })) task();
82
80
  };
83
81
  const ensureReadyRuntime = (instance) => {
84
82
  if (resolveRuntime(instance) || typeof vueLifecycles.mounted !== "function") return;
@@ -189,16 +187,15 @@ function registerComponentDefinition(options) {
189
187
  },
190
188
  ready: function ready(...args) {
191
189
  if (isPage && !this[WEVU_READY_CALLED_KEY]) {
192
- const initialNavigationPromise = ensureInitialNavigation(this, void 0, { start: true });
193
- if (initialNavigationPromise && !this.__wevuInitialNavigationReady) {
194
- initialNavigationPromise.then((shouldMount) => {
195
- if (shouldMount) {
190
+ if (ensureInitialNavigation(this, void 0, {
191
+ start: true,
192
+ onComplete: (shouldMount) => {
193
+ if (shouldMount && !this.__wevuInitialNavigationReady) {
196
194
  this.__wevuInitialNavigationReady = true;
197
195
  componentDefinition.lifetimes.ready.call(this, ...args);
198
196
  }
199
- }, () => {});
200
- return;
201
- }
197
+ }
198
+ }) && !this.__wevuInitialNavigationReady) return;
202
199
  }
203
200
  ensureReadyRuntime(this);
204
201
  if (isPage && typeof pageLifecycleHooks.onReady === "function") {
@@ -206,11 +203,12 @@ function registerComponentDefinition(options) {
206
203
  pageLifecycleHooks.onReady.call(this, ...args);
207
204
  if (!wasReadyCalled) {
208
205
  const callMounted = () => callVueLifecycle(this, "mounted", args);
209
- const initialNavigationPromise = getInitialNavigationPromise(this);
210
- if (initialNavigationPromise) initialNavigationPromise.then((shouldMount) => {
211
- if (shouldMount) callMounted();
212
- }, () => {});
213
- else callMounted();
206
+ if (!ensureInitialNavigation(this, void 0, {
207
+ start: false,
208
+ onComplete: (shouldMount) => {
209
+ if (shouldMount) callMounted();
210
+ }
211
+ })) callMounted();
214
212
  }
215
213
  if (typeof userLifetimes.ready === "function") userLifetimes.ready.apply(this, args);
216
214
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"registerDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerDefinition.ts"],"sourcesContent":["import type { LayoutHostBinding } from '../../layoutBridge'\nimport type { TemplateRefBinding } from '../../templateRefs'\nimport type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeApp,\n} from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY,\n WEVU_LAYOUT_HOST_BRIDGE_KEY,\n WEVU_PAGE_LAYOUT_NAME_KEY,\n WEVU_PAGE_LAYOUT_PROPS_KEY,\n WEVU_PAGE_LAYOUT_SETTER_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD,\n WEVU_RUNTIME_KEY,\n WEVU_RUNTIME_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n} from '@weapp-core/constants'\nimport { callHookList } from '../../hooks'\nimport { registerRuntimeLayoutHosts, unregisterRuntimeLayoutHosts } from '../../layoutBridge'\nimport { resolveRuntimePageLayoutName, syncRuntimePageLayoutState } from '../../pageLayout'\nimport { getMiniProgramRuntimeGlobalObject } from '../../platform'\nimport { getOwnerProxy } from '../../scopedSlots'\nimport { clearTemplateRefs, scheduleTemplateRefUpdate } from '../../templateRefs'\nimport { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { ensureInitialNavigation, getInitialNavigationPromise } from './lifecycle'\nimport { registerNativeComponentDefinition } from './registerNativeDefinition'\n\nfunction scheduleOwnerTemplateRefUpdate(target: InternalRuntimeState) {\n const selectOwnerComponent = (target as any).selectOwnerComponent\n if (typeof selectOwnerComponent !== 'function') {\n return\n }\n try {\n const owner = selectOwnerComponent.call(target) as InternalRuntimeState | null | undefined\n if (owner && owner !== target) {\n scheduleTemplateRefUpdate(owner)\n }\n }\n catch {\n // 宿主不支持 owner 查询时保持当前组件生命周期正常执行。\n }\n}\n\nexport function registerComponentDefinition<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n restOptions: Record<string, any>\n pageLifecycleHooks: Record<string, any>\n finalObservers: Record<string, any>\n userLifetimes: Record<string, any>\n userPageLifetimes: Record<string, any>\n finalMethods: Record<string, (...args: any[]) => any>\n finalOptions: Record<string, any>\n applyExtraInstanceFields: (instance: InternalRuntimeState) => void\n templateRefs: TemplateRefBinding[] | undefined\n layoutHosts: LayoutHostBinding[] | undefined\n attachWevuPropKeys: (instance: InternalRuntimeState) => void\n setupLifecycle: 'created' | 'attached'\n syncWevuPropsFromInstance: (instance: InternalRuntimeState) => void\n syncWevuPropsFromValues: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n directPropsDerivedKeys: string[]\n isPage: boolean\n vueLifecycles: Record<string, unknown>\n getRuntimeOwnerLabel: (instance: InternalRuntimeState) => string\n registerNative?: boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n restOptions,\n pageLifecycleHooks,\n finalObservers,\n userLifetimes,\n userPageLifetimes,\n finalMethods,\n finalOptions,\n applyExtraInstanceFields,\n templateRefs,\n layoutHosts,\n attachWevuPropKeys,\n setupLifecycle,\n syncWevuPropsFromInstance,\n directPropsDerivedKeys,\n isPage,\n vueLifecycles,\n getRuntimeOwnerLabel,\n registerNative = true,\n } = options\n\n const resolveRuntime = (instance: InternalRuntimeState) => {\n const directRuntime = (instance as any).__wevu ?? (instance as any)[WEVU_PUBLIC_RUNTIME_KEY]\n if (directRuntime) {\n return directRuntime\n }\n const runtimeState = (instance as any).$state\n if (runtimeState && typeof runtimeState === 'object') {\n return (runtimeState as any)[WEVU_RUNTIME_KEY]\n }\n return undefined\n }\n\n const resolveLifecycleOwnerId = (instance: InternalRuntimeState) => (instance as any)[WEVU_RUNTIME_OWNER_ID_KEY]\n ?? (instance as any)[WEVU_SLOT_OWNER_ID_KEY]\n ?? (instance as any).data?.[WEVU_SLOT_OWNER_ID_KEY]\n ?? (instance as any).properties?.[WEVU_SLOT_OWNER_ID_KEY]\n\n const resolveLifecycleContext = (instance: InternalRuntimeState) => {\n const runtimeProxy = resolveRuntime(instance)?.proxy\n if (runtimeProxy) {\n return runtimeProxy\n }\n const ownerId = resolveLifecycleOwnerId(instance)\n if (typeof ownerId === 'string' && ownerId) {\n return getOwnerProxy(ownerId) ?? instance\n }\n return instance\n }\n\n const mountMissingRuntime = (instance: InternalRuntimeState) => {\n const existing = resolveRuntime(instance)\n if (existing) {\n return { runtime: existing, mounted: false }\n }\n applyExtraInstanceFields(instance)\n attachWevuPropKeys(instance)\n mountRuntimeInstance(instance, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n syncWevuPropsFromInstance(instance)\n enableDeferredSetData(instance)\n return { runtime: resolveRuntime(instance), mounted: true }\n }\n\n const callVueLifecycle = (instance: InternalRuntimeState, name: string, args: any[]) => {\n const hook = vueLifecycles[name]\n if (typeof hook === 'function') {\n return hook.apply(resolveLifecycleContext(instance), args)\n }\n return undefined\n }\n\n const deferPageUntilNavigation = (instance: InternalRuntimeState, task: () => void) => {\n if (!isPage) {\n task()\n return\n }\n const initialNavigationPromise = ensureInitialNavigation(instance, undefined, { start: false })\n if (!initialNavigationPromise) {\n task()\n return\n }\n void initialNavigationPromise.then((shouldMount) => {\n if (shouldMount) {\n task()\n }\n }, () => {})\n }\n\n const ensureReadyRuntime = (instance: InternalRuntimeState) => {\n if (resolveRuntime(instance) || typeof vueLifecycles.mounted !== 'function') {\n return\n }\n const result = mountMissingRuntime(instance)\n if (result.mounted) {\n callVueLifecycle(instance, 'created', [])\n callVueLifecycle(instance, 'beforeMount', [])\n }\n }\n\n const pageMethodBridges: Record<string, (...args: any[]) => any> = {}\n const attachRuntimeLayoutHosts = (instance: InternalRuntimeState) => {\n if (!Array.isArray(layoutHosts) || !layoutHosts.length) {\n return\n }\n if ((instance as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY]) {\n return\n }\n const bridge = registerRuntimeLayoutHosts(layoutHosts, instance)\n if (bridge) {\n instance[WEVU_LAYOUT_HOST_BRIDGE_KEY] = bridge\n }\n }\n const attachPageLayoutSetter = (instance: InternalRuntimeState) => {\n if (!isPage) {\n return\n }\n instance[WEVU_PAGE_LAYOUT_SETTER_KEY] = (layout: string | false, props?: Record<string, any>) => {\n const runtimeState = instance.__wevu?.state as Record<string, any> | undefined\n if (!runtimeState || typeof runtimeState !== 'object') {\n return\n }\n runtimeState[WEVU_PAGE_LAYOUT_NAME_KEY] = resolveRuntimePageLayoutName(layout)\n const nextProps = layout === false ? {} : (props ?? {})\n runtimeState[WEVU_PAGE_LAYOUT_PROPS_KEY] = nextProps\n syncRuntimePageLayoutState(instance as Record<string, any>, layout, nextProps)\n }\n }\n if (isPage) {\n const methodBridgeHookNames = ['onPullDownRefresh', 'onReachBottom', 'onShareAppMessage', 'onShareTimeline', 'onAddToFavorites']\n for (const hookName of methodBridgeHookNames) {\n const pageHook = (pageLifecycleHooks as any)[hookName]\n if (typeof pageHook !== 'function') {\n continue\n }\n if (typeof (finalMethods as any)[hookName] === 'function') {\n continue\n }\n pageMethodBridges[hookName] = function pageMethodBridge(this: InternalRuntimeState, ...args: any[]) {\n return pageHook.apply(this, args)\n }\n }\n }\n\n const componentDefinition = {\n ...restOptions,\n ...(isPage ? pageLifecycleHooks : {}),\n observers: finalObservers,\n lifetimes: {\n ...userLifetimes,\n created: function created(this: InternalRuntimeState, ...args: any[]) {\n applyExtraInstanceFields(this)\n if (Array.isArray(templateRefs) && templateRefs.length) {\n Object.defineProperty(this, WEVU_TEMPLATE_REFS_KEY, {\n value: templateRefs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n attachWevuPropKeys(this)\n const runCreated = () => {\n callVueLifecycle(this, 'beforeCreate', args)\n if (setupLifecycle === 'created') {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in created (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n syncWevuPropsFromInstance(this)\n attachPageLayoutSetter(this)\n }\n if (typeof (userLifetimes as any).created === 'function') {\n ;(userLifetimes as any).created.apply(this, args)\n }\n }\n deferPageUntilNavigation(this, runCreated)\n },\n moved: function moved(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onMoved', args)\n if (typeof (userLifetimes as any).moved === 'function') {\n ;(userLifetimes as any).moved.apply(this, args)\n }\n },\n attached: function attached(this: InternalRuntimeState, ...args: any[]) {\n applyExtraInstanceFields(this)\n if (Array.isArray(templateRefs) && templateRefs.length && !(this as any)[WEVU_TEMPLATE_REFS_KEY]) {\n Object.defineProperty(this, WEVU_TEMPLATE_REFS_KEY, {\n value: templateRefs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n attachWevuPropKeys(this)\n deferPageUntilNavigation(this, () => {\n if (setupLifecycle !== 'created' || !(this as any).__wevu) {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in attached (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n }\n syncWevuPropsFromInstance(this)\n callVueLifecycle(this, 'created', args)\n callVueLifecycle(this, 'beforeMount', args)\n attachPageLayoutSetter(this)\n attachRuntimeLayoutHosts(this)\n enableDeferredSetData(this)\n callHookList(this, 'onAttached', args)\n if (typeof (userLifetimes as any).attached === 'function') {\n ;(userLifetimes as any).attached.apply(this, args)\n }\n })\n },\n ready: function ready(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && !(this as any)[WEVU_READY_CALLED_KEY]) {\n const initialNavigationPromise = ensureInitialNavigation(this, undefined, { start: true })\n if (initialNavigationPromise && !(this as any).__wevuInitialNavigationReady) {\n void initialNavigationPromise.then((shouldMount) => {\n if (shouldMount) {\n ;(this as any).__wevuInitialNavigationReady = true\n componentDefinition.lifetimes.ready.call(this, ...args)\n }\n }, () => {})\n return\n }\n }\n ensureReadyRuntime(this)\n if (isPage && typeof (pageLifecycleHooks as any).onReady === 'function') {\n const wasReadyCalled = Boolean((this as any)[WEVU_READY_CALLED_KEY])\n ;(pageLifecycleHooks as any).onReady.call(this, ...args)\n if (!wasReadyCalled) {\n const callMounted = () => callVueLifecycle(this, 'mounted', args)\n const initialNavigationPromise = getInitialNavigationPromise(this)\n if (initialNavigationPromise) {\n void initialNavigationPromise.then((shouldMount) => {\n if (shouldMount) {\n callMounted()\n }\n }, () => {})\n }\n else {\n callMounted()\n }\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n return\n }\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n syncWevuPropsFromInstance(this)\n scheduleOwnerTemplateRefUpdate(this)\n scheduleTemplateRefUpdate(this, () => {\n callHookList(this, 'onReady', args)\n callVueLifecycle(this, 'mounted', args)\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n })\n return\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n },\n detached: function detached(this: InternalRuntimeState, ...args: any[]) {\n callVueLifecycle(this, 'beforeUnmount', args)\n callVueLifecycle(this, 'beforeDestroy', args)\n scheduleOwnerTemplateRefUpdate(this)\n callHookList(this, 'onDetached', args)\n if (isPage && typeof (pageLifecycleHooks as any).onUnload === 'function') {\n ;(pageLifecycleHooks as any).onUnload.call(this, ...args)\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n callVueLifecycle(this, 'unmounted', args)\n callVueLifecycle(this, 'destroyed', args)\n return\n }\n clearTemplateRefs(this)\n if (Array.isArray(layoutHosts) && layoutHosts.length && (this as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY]) {\n unregisterRuntimeLayoutHosts(layoutHosts, (this as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY])\n delete (this as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY]\n }\n teardownRuntimeInstance(this)\n callVueLifecycle(this, 'unmounted', args)\n callVueLifecycle(this, 'destroyed', args)\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n },\n error: function error(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onError', args)\n if (typeof (userLifetimes as any).error === 'function') {\n ;(userLifetimes as any).error.apply(this, args)\n }\n },\n },\n pageLifetimes: {\n ...userPageLifetimes,\n show: function show(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onShow === 'function') {\n ;(pageLifecycleHooks as any).onShow.call(this, ...args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, true)\n callHookList(this, 'onShow', args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n },\n hide: function hide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onHide === 'function') {\n ;(pageLifecycleHooks as any).onHide.call(this, ...args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n },\n resize: function resize(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onResize === 'function') {\n ;(pageLifecycleHooks as any).onResize.call(this, ...args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n return\n }\n callHookList(this, 'onResize', args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n },\n routeDone: function routeDone(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onRouteDone === 'function') {\n ;(pageLifecycleHooks as any).onRouteDone.call(this, ...args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n return\n }\n callHookList(this, 'onRouteDone', args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n },\n },\n methods: {\n ...pageMethodBridges,\n ...finalMethods,\n [WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD]: function resolvePublicInstance(this: InternalRuntimeState) {\n const result = mountMissingRuntime(this)\n if (result.mounted) {\n callVueLifecycle(this, 'created', [])\n callVueLifecycle(this, 'beforeMount', [])\n }\n return result.runtime?.proxy\n },\n },\n options: finalOptions,\n }\n if (!registerNative) {\n return componentDefinition\n }\n\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (typeof statefulHmrBridge?.trackWevuComponent === 'function') {\n const definition = statefulHmrBridge.trackWevuComponent(componentDefinition, (\n instance: InternalRuntimeState,\n stateSnapshot?: Record<string, any>,\n ) => {\n refreshRuntimeInstance(instance, runtimeApp, watch, setup, {\n snapshotOmitKeys: directPropsDerivedKeys,\n stateSnapshot,\n })\n syncWevuPropsFromInstance(instance)\n attachPageLayoutSetter(instance)\n attachRuntimeLayoutHosts(instance)\n enableDeferredSetData(instance, { rehydrateSetupState: true })\n })\n if (!statefulHmrBridge.isApplying()) {\n registerNativeComponentDefinition(definition, isPage)\n }\n return definition\n }\n registerNativeComponentDefinition(componentDefinition, isPage)\n return componentDefinition\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"registerDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerDefinition.ts"],"sourcesContent":["import type { LayoutHostBinding } from '../../layoutBridge'\nimport type { TemplateRefBinding } from '../../templateRefs'\nimport type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeApp,\n} from '../../types'\nimport type { WatchMap } from '../watch'\nimport {\n WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY,\n WEVU_LAYOUT_HOST_BRIDGE_KEY,\n WEVU_PAGE_LAYOUT_NAME_KEY,\n WEVU_PAGE_LAYOUT_PROPS_KEY,\n WEVU_PAGE_LAYOUT_SETTER_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_READY_CALLED_KEY,\n WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD,\n WEVU_RUNTIME_KEY,\n WEVU_RUNTIME_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n} from '@weapp-core/constants'\nimport {\n ensureInitialNavigation,\n} from '../../../router/initialNavigation'\nimport { callHookList } from '../../hooks'\nimport { registerRuntimeLayoutHosts, unregisterRuntimeLayoutHosts } from '../../layoutBridge'\nimport { resolveRuntimePageLayoutName, syncRuntimePageLayoutState } from '../../pageLayout'\nimport { getMiniProgramRuntimeGlobalObject } from '../../platform'\nimport { getOwnerProxy } from '../../scopedSlots'\nimport { clearTemplateRefs, scheduleTemplateRefUpdate } from '../../templateRefs'\nimport { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\nimport { registerNativeComponentDefinition } from './registerNativeDefinition'\n\nfunction scheduleOwnerTemplateRefUpdate(target: InternalRuntimeState) {\n const selectOwnerComponent = (target as any).selectOwnerComponent\n if (typeof selectOwnerComponent !== 'function') {\n return\n }\n try {\n const owner = selectOwnerComponent.call(target) as InternalRuntimeState | null | undefined\n if (owner && owner !== target) {\n scheduleTemplateRefUpdate(owner)\n }\n }\n catch {\n // 宿主不支持 owner 查询时保持当前组件生命周期正常执行。\n }\n}\n\nexport function registerComponentDefinition<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(options: {\n runtimeApp: RuntimeApp<D, C, M>\n watch: WatchMap | undefined\n setup: DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n restOptions: Record<string, any>\n pageLifecycleHooks: Record<string, any>\n finalObservers: Record<string, any>\n userLifetimes: Record<string, any>\n userPageLifetimes: Record<string, any>\n finalMethods: Record<string, (...args: any[]) => any>\n finalOptions: Record<string, any>\n applyExtraInstanceFields: (instance: InternalRuntimeState) => void\n templateRefs: TemplateRefBinding[] | undefined\n layoutHosts: LayoutHostBinding[] | undefined\n attachWevuPropKeys: (instance: InternalRuntimeState) => void\n setupLifecycle: 'created' | 'attached'\n syncWevuPropsFromInstance: (instance: InternalRuntimeState) => void\n syncWevuPropsFromValues: (instance: InternalRuntimeState, values: Record<string, unknown> | undefined) => void\n directPropsDerivedKeys: string[]\n isPage: boolean\n vueLifecycles: Record<string, unknown>\n getRuntimeOwnerLabel: (instance: InternalRuntimeState) => string\n registerNative?: boolean\n}) {\n const {\n runtimeApp,\n watch,\n setup,\n restOptions,\n pageLifecycleHooks,\n finalObservers,\n userLifetimes,\n userPageLifetimes,\n finalMethods,\n finalOptions,\n applyExtraInstanceFields,\n templateRefs,\n layoutHosts,\n attachWevuPropKeys,\n setupLifecycle,\n syncWevuPropsFromInstance,\n directPropsDerivedKeys,\n isPage,\n vueLifecycles,\n getRuntimeOwnerLabel,\n registerNative = true,\n } = options\n\n const resolveRuntime = (instance: InternalRuntimeState) => {\n const directRuntime = (instance as any).__wevu ?? (instance as any)[WEVU_PUBLIC_RUNTIME_KEY]\n if (directRuntime) {\n return directRuntime\n }\n const runtimeState = (instance as any).$state\n if (runtimeState && typeof runtimeState === 'object') {\n return (runtimeState as any)[WEVU_RUNTIME_KEY]\n }\n return undefined\n }\n\n const resolveLifecycleOwnerId = (instance: InternalRuntimeState) => (instance as any)[WEVU_RUNTIME_OWNER_ID_KEY]\n ?? (instance as any)[WEVU_SLOT_OWNER_ID_KEY]\n ?? (instance as any).data?.[WEVU_SLOT_OWNER_ID_KEY]\n ?? (instance as any).properties?.[WEVU_SLOT_OWNER_ID_KEY]\n\n const resolveLifecycleContext = (instance: InternalRuntimeState) => {\n const runtimeProxy = resolveRuntime(instance)?.proxy\n if (runtimeProxy) {\n return runtimeProxy\n }\n const ownerId = resolveLifecycleOwnerId(instance)\n if (typeof ownerId === 'string' && ownerId) {\n return getOwnerProxy(ownerId) ?? instance\n }\n return instance\n }\n\n const mountMissingRuntime = (instance: InternalRuntimeState) => {\n const existing = resolveRuntime(instance)\n if (existing) {\n return { runtime: existing, mounted: false }\n }\n applyExtraInstanceFields(instance)\n attachWevuPropKeys(instance)\n mountRuntimeInstance(instance, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n syncWevuPropsFromInstance(instance)\n enableDeferredSetData(instance)\n return { runtime: resolveRuntime(instance), mounted: true }\n }\n\n const callVueLifecycle = (instance: InternalRuntimeState, name: string, args: any[]) => {\n const hook = vueLifecycles[name]\n if (typeof hook === 'function') {\n return hook.apply(resolveLifecycleContext(instance), args)\n }\n return undefined\n }\n\n const deferPageUntilNavigation = (instance: InternalRuntimeState, task: () => void) => {\n if (!isPage) {\n task()\n return\n }\n const initialNavigationPromise = ensureInitialNavigation(instance as any, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n task()\n }\n },\n })\n if (!initialNavigationPromise) {\n task()\n }\n }\n\n const ensureReadyRuntime = (instance: InternalRuntimeState) => {\n if (resolveRuntime(instance) || typeof vueLifecycles.mounted !== 'function') {\n return\n }\n const result = mountMissingRuntime(instance)\n if (result.mounted) {\n callVueLifecycle(instance, 'created', [])\n callVueLifecycle(instance, 'beforeMount', [])\n }\n }\n\n const pageMethodBridges: Record<string, (...args: any[]) => any> = {}\n const attachRuntimeLayoutHosts = (instance: InternalRuntimeState) => {\n if (!Array.isArray(layoutHosts) || !layoutHosts.length) {\n return\n }\n if ((instance as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY]) {\n return\n }\n const bridge = registerRuntimeLayoutHosts(layoutHosts, instance)\n if (bridge) {\n instance[WEVU_LAYOUT_HOST_BRIDGE_KEY] = bridge\n }\n }\n const attachPageLayoutSetter = (instance: InternalRuntimeState) => {\n if (!isPage) {\n return\n }\n instance[WEVU_PAGE_LAYOUT_SETTER_KEY] = (layout: string | false, props?: Record<string, any>) => {\n const runtimeState = instance.__wevu?.state as Record<string, any> | undefined\n if (!runtimeState || typeof runtimeState !== 'object') {\n return\n }\n runtimeState[WEVU_PAGE_LAYOUT_NAME_KEY] = resolveRuntimePageLayoutName(layout)\n const nextProps = layout === false ? {} : (props ?? {})\n runtimeState[WEVU_PAGE_LAYOUT_PROPS_KEY] = nextProps\n syncRuntimePageLayoutState(instance as Record<string, any>, layout, nextProps)\n }\n }\n if (isPage) {\n const methodBridgeHookNames = ['onPullDownRefresh', 'onReachBottom', 'onShareAppMessage', 'onShareTimeline', 'onAddToFavorites']\n for (const hookName of methodBridgeHookNames) {\n const pageHook = (pageLifecycleHooks as any)[hookName]\n if (typeof pageHook !== 'function') {\n continue\n }\n if (typeof (finalMethods as any)[hookName] === 'function') {\n continue\n }\n pageMethodBridges[hookName] = function pageMethodBridge(this: InternalRuntimeState, ...args: any[]) {\n return pageHook.apply(this, args)\n }\n }\n }\n\n const componentDefinition = {\n ...restOptions,\n ...(isPage ? pageLifecycleHooks : {}),\n observers: finalObservers,\n lifetimes: {\n ...userLifetimes,\n created: function created(this: InternalRuntimeState, ...args: any[]) {\n applyExtraInstanceFields(this)\n if (Array.isArray(templateRefs) && templateRefs.length) {\n Object.defineProperty(this, WEVU_TEMPLATE_REFS_KEY, {\n value: templateRefs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n attachWevuPropKeys(this)\n const runCreated = () => {\n callVueLifecycle(this, 'beforeCreate', args)\n if (setupLifecycle === 'created') {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in created (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n syncWevuPropsFromInstance(this)\n attachPageLayoutSetter(this)\n }\n if (typeof (userLifetimes as any).created === 'function') {\n ;(userLifetimes as any).created.apply(this, args)\n }\n }\n deferPageUntilNavigation(this, runCreated)\n },\n moved: function moved(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onMoved', args)\n if (typeof (userLifetimes as any).moved === 'function') {\n ;(userLifetimes as any).moved.apply(this, args)\n }\n },\n attached: function attached(this: InternalRuntimeState, ...args: any[]) {\n applyExtraInstanceFields(this)\n if (Array.isArray(templateRefs) && templateRefs.length && !(this as any)[WEVU_TEMPLATE_REFS_KEY]) {\n Object.defineProperty(this, WEVU_TEMPLATE_REFS_KEY, {\n value: templateRefs,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n }\n attachWevuPropKeys(this)\n deferPageUntilNavigation(this, () => {\n if (setupLifecycle !== 'created' || !(this as any).__wevu) {\n try {\n mountRuntimeInstance(this, runtimeApp, watch, setup, {\n deferSetData: true,\n snapshotOmitKeys: directPropsDerivedKeys,\n })\n }\n catch (error) {\n const label = getRuntimeOwnerLabel(this)\n throw new Error(`[wevu] mount runtime failed in attached (${label}): ${error instanceof Error ? error.message : String(error)}`)\n }\n }\n syncWevuPropsFromInstance(this)\n callVueLifecycle(this, 'created', args)\n callVueLifecycle(this, 'beforeMount', args)\n attachPageLayoutSetter(this)\n attachRuntimeLayoutHosts(this)\n enableDeferredSetData(this)\n callHookList(this, 'onAttached', args)\n if (typeof (userLifetimes as any).attached === 'function') {\n ;(userLifetimes as any).attached.apply(this, args)\n }\n })\n },\n ready: function ready(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && !(this as any)[WEVU_READY_CALLED_KEY]) {\n const initialNavigationPromise = ensureInitialNavigation(this as any, undefined, {\n start: true,\n onComplete: (shouldMount) => {\n if (shouldMount && !(this as any).__wevuInitialNavigationReady) {\n ;(this as any).__wevuInitialNavigationReady = true\n componentDefinition.lifetimes.ready.call(this, ...args)\n }\n },\n })\n if (initialNavigationPromise && !(this as any).__wevuInitialNavigationReady) {\n return\n }\n }\n ensureReadyRuntime(this)\n if (isPage && typeof (pageLifecycleHooks as any).onReady === 'function') {\n const wasReadyCalled = Boolean((this as any)[WEVU_READY_CALLED_KEY])\n ;(pageLifecycleHooks as any).onReady.call(this, ...args)\n if (!wasReadyCalled) {\n const callMounted = () => callVueLifecycle(this, 'mounted', args)\n const initialNavigationPromise = ensureInitialNavigation(this as any, undefined, {\n start: false,\n onComplete: (shouldMount) => {\n if (shouldMount) {\n callMounted()\n }\n },\n })\n if (!initialNavigationPromise) {\n callMounted()\n }\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n return\n }\n if (!(this as any)[WEVU_READY_CALLED_KEY]) {\n ;(this as any)[WEVU_READY_CALLED_KEY] = true\n syncWevuPropsFromInstance(this)\n scheduleOwnerTemplateRefUpdate(this)\n scheduleTemplateRefUpdate(this, () => {\n callHookList(this, 'onReady', args)\n callVueLifecycle(this, 'mounted', args)\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n })\n return\n }\n if (typeof (userLifetimes as any).ready === 'function') {\n ;(userLifetimes as any).ready.apply(this, args)\n }\n },\n detached: function detached(this: InternalRuntimeState, ...args: any[]) {\n callVueLifecycle(this, 'beforeUnmount', args)\n callVueLifecycle(this, 'beforeDestroy', args)\n scheduleOwnerTemplateRefUpdate(this)\n callHookList(this, 'onDetached', args)\n if (isPage && typeof (pageLifecycleHooks as any).onUnload === 'function') {\n ;(pageLifecycleHooks as any).onUnload.call(this, ...args)\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n callVueLifecycle(this, 'unmounted', args)\n callVueLifecycle(this, 'destroyed', args)\n return\n }\n clearTemplateRefs(this)\n if (Array.isArray(layoutHosts) && layoutHosts.length && (this as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY]) {\n unregisterRuntimeLayoutHosts(layoutHosts, (this as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY])\n delete (this as any)[WEVU_LAYOUT_HOST_BRIDGE_KEY]\n }\n teardownRuntimeInstance(this)\n callVueLifecycle(this, 'unmounted', args)\n callVueLifecycle(this, 'destroyed', args)\n if (typeof (userLifetimes as any).detached === 'function') {\n ;(userLifetimes as any).detached.apply(this, args)\n }\n },\n error: function error(this: InternalRuntimeState, ...args: any[]) {\n callHookList(this, 'onError', args)\n if (typeof (userLifetimes as any).error === 'function') {\n ;(userLifetimes as any).error.apply(this, args)\n }\n },\n },\n pageLifetimes: {\n ...userPageLifetimes,\n show: function show(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onShow === 'function') {\n ;(pageLifecycleHooks as any).onShow.call(this, ...args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, true)\n callHookList(this, 'onShow', args)\n if (typeof (userPageLifetimes as any).show === 'function') {\n ;(userPageLifetimes as any).show.apply(this, args)\n }\n },\n hide: function hide(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onHide === 'function') {\n ;(pageLifecycleHooks as any).onHide.call(this, ...args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n return\n }\n setRuntimeSetDataVisibility(this, false)\n callHookList(this, 'onHide', args)\n if (typeof (userPageLifetimes as any).hide === 'function') {\n ;(userPageLifetimes as any).hide.apply(this, args)\n }\n },\n resize: function resize(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onResize === 'function') {\n ;(pageLifecycleHooks as any).onResize.call(this, ...args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n return\n }\n callHookList(this, 'onResize', args)\n if (typeof (userPageLifetimes as any).resize === 'function') {\n ;(userPageLifetimes as any).resize.apply(this, args)\n }\n },\n routeDone: function routeDone(this: InternalRuntimeState, ...args: any[]) {\n if (isPage && typeof (pageLifecycleHooks as any).onRouteDone === 'function') {\n ;(pageLifecycleHooks as any).onRouteDone.call(this, ...args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n return\n }\n callHookList(this, 'onRouteDone', args)\n if (typeof (userPageLifetimes as any).routeDone === 'function') {\n ;(userPageLifetimes as any).routeDone.apply(this, args)\n }\n },\n },\n methods: {\n ...pageMethodBridges,\n ...finalMethods,\n [WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD]: function resolvePublicInstance(this: InternalRuntimeState) {\n const result = mountMissingRuntime(this)\n if (result.mounted) {\n callVueLifecycle(this, 'created', [])\n callVueLifecycle(this, 'beforeMount', [])\n }\n return result.runtime?.proxy\n },\n },\n options: finalOptions,\n }\n if (!registerNative) {\n return componentDefinition\n }\n\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (typeof statefulHmrBridge?.trackWevuComponent === 'function') {\n const definition = statefulHmrBridge.trackWevuComponent(componentDefinition, (\n instance: InternalRuntimeState,\n stateSnapshot?: Record<string, any>,\n ) => {\n refreshRuntimeInstance(instance, runtimeApp, watch, setup, {\n snapshotOmitKeys: directPropsDerivedKeys,\n stateSnapshot,\n })\n syncWevuPropsFromInstance(instance)\n attachPageLayoutSetter(instance)\n attachRuntimeLayoutHosts(instance)\n enableDeferredSetData(instance, { rehydrateSetupState: true })\n })\n if (!statefulHmrBridge.isApplying()) {\n registerNativeComponentDefinition(definition, isPage)\n }\n return definition\n }\n registerNativeComponentDefinition(componentDefinition, isPage)\n return componentDefinition\n}\n"],"mappings":"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"}
package/dist/package.mjs CHANGED
@@ -1 +1 @@
1
- var e=`7.0.0`;export{e as version};
1
+ var e=`7.0.2`;export{e as version};
@@ -1 +1 @@
1
- import{queueJob as e}from"../scheduler.mjs";import t from"../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/defineProperty.mjs";const n=new WeakMap;let r=null;const i=[];let a=0;const o=new Set;function s(){a++}function c(){for(;o.size;){let e=[...o];o.clear();for(let t of e)t()}}function l(){a!==0&&(a--,a===0&&c())}function u(e){s();try{return e()}finally{l()}}function d(e){let{deps:t}=e;for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}function f(e){var t;e.active&&(e.active=!1,d(e),(t=e.onStop)==null||t.call(e))}let p;var m=class{constructor(e=!1){if(this.detached=e,t(this,`active`,!0),t(this,`effects`,[]),t(this,`cleanups`,[]),t(this,`parent`,void 0),t(this,`scopes`,void 0),!e&&p){var n;this.parent=p,((n=p).scopes||(n.scopes=[])).push(this)}}run(e){if(!this.active)return;let t=p;p=this;try{return e()}finally{p=t}}stop(){var e;if(this.active){this.active=!1;for(let e of this.effects)f(e);this.effects.length=0;for(let e of this.cleanups)e();if(this.cleanups.length=0,this.scopes){for(let e of this.scopes)e.stop();this.scopes.length=0}if((e=this.parent)!=null&&e.scopes){let e=this.parent.scopes.indexOf(this);e>=0&&this.parent.scopes.splice(e,1)}this.parent=void 0}}};function h(e=!1){return new m(e)}function g(){return p}function _(e){p!=null&&p.active&&p.cleanups.push(e)}function v(e){p!=null&&p.active&&p.effects.push(e)}function y(e,t={}){let n=function(){if(!n.active||n._running)return e();d(n);try{return n._running=!0,i.push(n),r=n,e()}finally{var t;i.pop(),r=(t=i[i.length-1])==null?null:t,n._running=!1}};return n.deps=[],n.scheduler=t.scheduler,n.onStop=t.onStop,n.active=!0,n._running=!1,n._fn=e,n}function b(e,t={}){let n=y(e,t);return v(n),t.lazy||n(),n}function x(e,t){if(!r)return;let i=n.get(e);i||(i=new Map,n.set(e,i));let a=i.get(t);a||(a=new Set,i.set(t,a)),a.has(r)||(a.add(r),r.deps.push(a))}function S(e){if(e.scheduler){e.scheduler();return}if(a>0){o.add(e);return}e()}function C(e,t){let i=n.get(e);if(!i)return;let a=i.get(t);if(!a)return;let o=new Set;a.forEach(e=>{e!==r&&o.add(e)}),o.forEach(S)}function w(e){r&&(e.has(r)||(e.add(r),r.deps.push(e)))}function T(e){new Set(e).forEach(S)}export{u as batch,y as createReactiveEffect,b as effect,h as effectScope,l as endBatch,g as getCurrentScope,_ as onScopeDispose,e as queueJob,s as startBatch,f as stop,x as track,w as trackEffects,C as trigger,T as triggerEffects};
1
+ import{queueJob as e}from"../scheduler.mjs";import t from"../_virtual/_@oxc-project_runtime@0.148.0/helpers/esm/defineProperty.mjs";const n=new WeakMap;let r=null;const i=[];let a=0;const o=new Set;function s(){a++}function c(){for(;o.size;){let e=[...o];o.clear();for(let t of e)t()}}function l(){a!==0&&(a--,a===0&&c())}function u(e){s();try{return e()}finally{l()}}function d(e){let{deps:t}=e;for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}function f(e){var t;e.active&&(e.active=!1,d(e),(t=e.onStop)==null||t.call(e))}let p;var m=class{constructor(e=!1){if(this.detached=e,t(this,`active`,!0),t(this,`effects`,[]),t(this,`cleanups`,[]),t(this,`parent`,void 0),t(this,`scopes`,void 0),!e&&p){var n;this.parent=p,((n=p).scopes||(n.scopes=[])).push(this)}}run(e){if(!this.active)return;let t=p;p=this;try{return e()}finally{p=t}}stop(){var e;if(this.active){this.active=!1;for(let e of this.effects)f(e);this.effects.length=0;for(let e of this.cleanups)e();if(this.cleanups.length=0,this.scopes){for(let e of this.scopes)e.stop();this.scopes.length=0}if((e=this.parent)!=null&&e.scopes){let e=this.parent.scopes.indexOf(this);e>=0&&this.parent.scopes.splice(e,1)}this.parent=void 0}}};function h(e=!1){return new m(e)}function g(){return p}function _(e){p!=null&&p.active&&p.cleanups.push(e)}function v(e){p!=null&&p.active&&p.effects.push(e)}function y(e,t={}){let n=function(){if(!n.active||n._running)return e();d(n);try{return n._running=!0,i.push(n),r=n,e()}finally{var t;i.pop(),r=(t=i[i.length-1])==null?null:t,n._running=!1}};return n.deps=[],n.scheduler=t.scheduler,n.onStop=t.onStop,n.active=!0,n._running=!1,n._fn=e,n}function b(e,t={}){let n=y(e,t);return v(n),t.lazy||n(),n}function x(e,t){if(!r)return;let i=n.get(e);i||(i=new Map,n.set(e,i));let a=i.get(t);a||(a=new Set,i.set(t,a)),a.has(r)||(a.add(r),r.deps.push(a))}function S(e){if(e.scheduler){e.scheduler();return}if(a>0){o.add(e);return}e()}function C(e,t){let i=n.get(e);if(!i)return;let a=i.get(t);if(!a)return;let o=new Set;a.forEach(e=>{e!==r&&o.add(e)}),o.forEach(S)}function w(e){r&&(e.has(r)||(e.add(r),r.deps.push(e)))}function T(e){new Set(e).forEach(S)}export{u as batch,y as createReactiveEffect,b as effect,h as effectScope,l as endBatch,g as getCurrentScope,_ as onScopeDispose,e as queueJob,s as startBatch,f as stop,x as track,w as trackEffects,C as trigger,T as triggerEffects};
@@ -1 +1 @@
1
- import e from"../_virtual/_@oxc-project_runtime@0.147.0/helpers/esm/defineProperty.mjs";import{trackEffects as t,triggerEffects as n}from"./core.mjs";import{convertToReactive as r,markRaw as i}from"./reactive.mjs";const a=`__v_isRef`;function o(e){try{Object.defineProperty(e,a,{value:!0,configurable:!0})}catch(t){e[a]=!0}return e}function s(e){return!!(e&&typeof e==`object`&&e.__v_isRef===!0)}var c=class{constructor(t){e(this,`_value`,void 0),e(this,`_rawValue`,void 0),e(this,`dep`,void 0),o(this),this._rawValue=t,this._value=r(t)}get value(){return this.dep||(this.dep=new Set),t(this.dep),this._value}set value(e){Object.is(e,this._rawValue)||(this._rawValue=e,this._value=r(e),this.dep&&n(this.dep))}};function l(e){return s(e)?e:i(new c(e))}function u(e){return s(e)?e.value:e}function d(e){return typeof e==`function`?e():u(e)}var f=class{constructor(r,i){e(this,`_getValue`,void 0),e(this,`_setValue`,void 0),e(this,`dep`,void 0),o(this);let a=i,s=()=>{this.dep||(this.dep=new Set),t(this.dep)},c=()=>{this.dep&&n(this.dep)},l=e=>e===void 0&&a!==void 0?a:e;if(typeof r==`function`){let e=r(s,c);this._getValue=()=>l(e.get()),this._setValue=t=>e.set(t);return}let u=r;this._getValue=()=>(s(),l(u.get())),this._setValue=e=>{u.set(e),c()}}get value(){return this._getValue()}set value(e){this._setValue(e)}};function p(e,t){return i(new f(e,t))}export{a as RefFlag,p as customRef,s as isRef,o as markAsRef,l as ref,d as toValue,u as unref};
1
+ import e from"../_virtual/_@oxc-project_runtime@0.148.0/helpers/esm/defineProperty.mjs";import{trackEffects as t,triggerEffects as n}from"./core.mjs";import{convertToReactive as r,markRaw as i}from"./reactive.mjs";const a=`__v_isRef`;function o(e){try{Object.defineProperty(e,a,{value:!0,configurable:!0})}catch(t){e[a]=!0}return e}function s(e){return!!(e&&typeof e==`object`&&e.__v_isRef===!0)}var c=class{constructor(t){e(this,`_value`,void 0),e(this,`_rawValue`,void 0),e(this,`dep`,void 0),o(this),this._rawValue=t,this._value=r(t)}get value(){return this.dep||(this.dep=new Set),t(this.dep),this._value}set value(e){Object.is(e,this._rawValue)||(this._rawValue=e,this._value=r(e),this.dep&&n(this.dep))}};function l(e){return s(e)?e:i(new c(e))}function u(e){return s(e)?e.value:e}function d(e){return typeof e==`function`?e():u(e)}var f=class{constructor(r,i){e(this,`_getValue`,void 0),e(this,`_setValue`,void 0),e(this,`dep`,void 0),o(this);let a=i,s=()=>{this.dep||(this.dep=new Set),t(this.dep)},c=()=>{this.dep&&n(this.dep)},l=e=>e===void 0&&a!==void 0?a:e;if(typeof r==`function`){let e=r(s,c);this._getValue=()=>l(e.get()),this._setValue=t=>e.set(t);return}let u=r;this._getValue=()=>(s(),l(u.get())),this._setValue=e=>{u.set(e),c()}}get value(){return this._getValue()}set value(e){this._setValue(e)}};function p(e,t){return i(new f(e,t))}export{a as RefFlag,p as customRef,s as isRef,o as markAsRef,l as ref,d as toValue,u as unref};
@@ -1 +1 @@
1
- import{effect as e,onScopeDispose as t,stop as n}from"./core.mjs";import{getCurrentInstance as r,setCurrentInstance as i}from"../runtime/hooks/base.mjs";import{getDeepWatchStrategy as a,setDeepWatchStrategy as o}from"./watch/types.mjs";import{applyDeepWatchGetter as s,createWatchGetter as c,dispatchScheduledJob as l}from"./watch/helpers.mjs";function u(a,o,u={}){var d;let f=r(),p=c(a),m=s(p.getter,a,p.isMultiSource,p.isReactiveSource,u.deep),h=u.deep===!0||typeof u.deep==`number`||u.deep===void 0&&p.hasReactiveSource||p.hasShallowSource,g,_=e=>{g=e},v=p.isMultiSource?[]:void 0,y,b=!1,x=0,S=x,C,w=u.once?(e,t,n)=>{o(e,t,n),C()}:o,T=(d=u.flush)==null?`pre`:d,E=(e,t)=>!p.isMultiSource||!Array.isArray(e)||!Array.isArray(t)?!Object.is(e,t):e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n])),D=(e,t=!1)=>{if(!y.active||b||e!==x)return;let n=y();if(!t&&!h&&!E(n,v))return;g==null||g();let a=r();i(f);try{w(n,v,_)}finally{i(a)}v=n},O=()=>D(S),k=e=>{S=x,l(O,T,e,u.scheduler)};y=e(()=>m(),{scheduler:()=>{b||k(!1)},lazy:!0});let A=()=>{g==null||g(),g=void 0,n(y)};return C=A,C.stop=A,C.pause=()=>{b||(b=!0,x+=1)},C.resume=()=>{!b||!y.active||(b=!1,v=y())},u.immediate?D(x,!0):v=y(),t(C),C}function d(a,o={}){var s;let c=r(),u,d=e=>{u=e},f,p=!1,m=0,h=m,g=(s=o.flush)==null?`pre`:s,_=e=>{!f.active||p||e!==m||f()},v=()=>_(h),y=e=>{h=m,l(v,g,e)};f=e(()=>{u==null||u(),u=void 0;let e=r();i(c);try{a(d)}finally{i(e)}},{lazy:!0,scheduler:()=>{p||y(!1)}}),y(!0);let b=()=>{u==null||u(),u=void 0,n(f)},x=b;return x.stop=b,x.pause=()=>{p||(p=!0,m+=1)},x.resume=()=>{!p||!f.active||(p=!1,y(!0))},t(x),x}function f(e,t={}){return d(e,{...t,flush:`post`})}function p(e,t={}){return d(e,{...t,flush:`sync`})}export{a as getDeepWatchStrategy,o as setDeepWatchStrategy,u as watch,d as watchEffect,f as watchPostEffect,p as watchSyncEffect};
1
+ import{effect as e,onScopeDispose as t,stop as n}from"./core.mjs";import{getCurrentInstance as r,setCurrentInstance as i}from"../runtime/hooks/base.mjs";import{getDeepWatchStrategy as a,setDeepWatchStrategy as o}from"./watch/types.mjs";import{applyDeepWatchGetter as s,createWatchGetter as c,dispatchScheduledJob as l}from"./watch/helpers.mjs";function u(a,o,u={}){var d;let f=r(),p=c(a),m=s(p.getter,a,p.isMultiSource,p.isReactiveSource,u.deep),h=u.deep===!0||typeof u.deep==`number`||u.deep===void 0&&p.hasReactiveSource||p.hasShallowSource,g,_=e=>{g=e},v=p.isMultiSource?[]:void 0,y,b=!1,x=0,S=x,C,w=u.once?(e,t,n)=>{o(e,t,n),C()}:o,T=(d=u.flush)==null?`pre`:d,E=(e,t)=>!p.isMultiSource||!Array.isArray(e)||!Array.isArray(t)?!Object.is(e,t):e.length!==t.length||e.some((e,n)=>!Object.is(e,t[n])),D=(e,t=!1)=>{if(!y.active||b||e!==x)return;let n=y();if(!t&&!h&&!E(n,v))return;g==null||g();let a=r();i(f);try{w(n,v,_)}finally{i(a)}v=n},O=()=>D(S),k=e=>{S=x,l(O,T,e,u.scheduler)};y=e(()=>m(),{scheduler:()=>{b||k(!1)},lazy:!0});let A=()=>{g==null||g(),g=void 0,n(y)};return C=A,C.stop=A,C.pause=()=>{b||(b=!0,x+=1)},C.resume=()=>{b&&y.active&&(b=!1,v=y())},u.immediate?D(x,!0):v=y(),t(C),C}function d(a,o={}){var s;let c=r(),u,d=e=>{u=e},f,p=!1,m=0,h=m,g=(s=o.flush)==null?`pre`:s,_=e=>{f.active&&!p&&e===m&&f()},v=()=>_(h),y=e=>{h=m,l(v,g,e)};f=e(()=>{u==null||u(),u=void 0;let e=r();i(c);try{a(d)}finally{i(e)}},{lazy:!0,scheduler:()=>{p||y(!1)}}),y(!0);let b=()=>{u==null||u(),u=void 0,n(f)},x=b;return x.stop=b,x.pause=()=>{p||(p=!0,m+=1)},x.resume=()=>{p&&f.active&&(p=!1,y(!0))},t(x),x}function f(e,t={}){return d(e,{...t,flush:`post`})}function p(e,t={}){return d(e,{...t,flush:`sync`})}export{a as getDeepWatchStrategy,o as setDeepWatchStrategy,u as watch,d as watchEffect,f as watchPostEffect,p as watchSyncEffect};
@@ -1 +1 @@
1
- import{getCurrentMiniProgramPages as e}from"../runtime/platform.mjs";import{NavigationFailureType as t}from"./types.mjs";import{createNavigationFailure as n,runNavigationGuards as r}from"./navigationCore.mjs";import{resolvePageRoute as i}from"../routerInternal/location.mjs";import{createNavigationRunResult as a}from"./navigationResult.mjs";function o(t,n,r){let a=e(),o=a[a.length-1-t];if(o)return r(i(o).fullPath,n.path)}async function s(e){let{target:i,from:o,nativeRouter:s,beforeEachGuards:c,beforeResolveGuards:l,resolveWithCodec:u}=e,d={mode:`back`,to:i,from:o,nativeRouter:s};for(let e of[c,l]){let s=await r(e,d,u);if(s.status===`failure`)return a(`back`,o,i,s.failure);if(s.status===`redirect`)return a(`back`,o,i,n(t.aborted,i,o,`Redirect is not supported in back navigation guards`))}return a(`back`,o,i)}export{o as resolveBackNavigationTarget,s as runBackNavigationGuards};
1
+ import{getCurrentMiniProgramPages as e}from"../runtime/platform.mjs";import{resolvePageRoute as t}from"../routerInternal/location.mjs";import{NavigationFailureType as n}from"./types.mjs";import{createNavigationFailure as r,runNavigationGuards as i}from"./navigationCore.mjs";import{createNavigationRunResult as a}from"./navigationResult.mjs";function o(n,r,i){let a=e(),o=a[a.length-1-n];if(o)return i(t(o).fullPath,r.path)}async function s(e){let{target:t,from:o,nativeRouter:s,beforeEachGuards:c,beforeResolveGuards:l,resolveWithCodec:u}=e,d={mode:`back`,to:t,from:o,nativeRouter:s};for(let e of[c,l]){let s=await i(e,d,u);if(s.status===`failure`)return a(`back`,o,t,s.failure);if(s.status===`redirect`)return a(`back`,o,t,r(n.aborted,t,o,`Redirect is not supported in back navigation guards`))}return a(`back`,o,t)}export{o as resolveBackNavigationTarget,s as runBackNavigationGuards};
@@ -1 +1 @@
1
- import{getMiniProgramGlobalObject as e}from"../runtime/platform.mjs";import{setActiveRouter as t}from"./instance.mjs";import{registerInitialNavigationRunner as n}from"./initialNavigation.mjs";import{installRouteStateSyncOnNativeRouter as r}from"./routeSync.mjs";import{resolvePath as i}from"../routerInternal/path.mjs";import{parseQuery as a,stringifyQuery as o}from"../routerInternal/query.mjs";import{resolveCurrentRoute as ee}from"../routerInternal/location.mjs";import{resolveNamedRouteLocation as te}from"../routerInternal/params.mjs";import{mergeMatchedRouteMeta as s,resolveMatchedRouteRecord as c}from"../routerInternal/matching.mjs";import{warnDuplicateRouteEntries as l}from"../routerInternal/recordsWarnings.mjs";import{createNamedRouteLookup as u,resolveRouteOptionEntries as d}from"../routerInternal/records.mjs";import{cloneRouteMeta as f,cloneRouteParams as ne,createRouterOptionsSnapshot as re,normalizeRouteRecordMatched as ie,snapshotRouteLocation as p}from"../routerInternal/snapshots.mjs";import{createNavigationResultController as m}from"./navigationResult.mjs";import{runBackNavigationGuards as h}from"./backNavigation.mjs";import{navigateWithTarget as g}from"./navigationTarget.mjs";import{createNavigationApi as _}from"./navigationApi.mjs";import{resolveRouteLocation as v}from"./resolve.mjs";import{createRouteRegistry as y}from"./routeRegistry.mjs";import{createRouteStateController as b,useNativeRouter as x}from"./useRoute.mjs";function S(S={}){var C,w,T,E,D,O;let k=x();r(e());let A=new Set,j=new Set,M=new Set,N=new Set,P=(C=S.maxRedirects)==null?10:C,F=(w=S.paramsMode)==null?`loose`:w,I=(T=S.rejectOnError)==null||T,L={parseQuery:(E=S.parseQuery)==null?a:E,stringifyQuery:(D=S.stringifyQuery)==null?o:D},R=Promise.resolve(),z=d(S);l(z);let B=u(z),V=((O=S.tabBarEntries)==null?[]:O).map(e=>i(e,``)).filter(Boolean),H=new Set(V),U=y(B),W=0,G=re(V,U.getRoutes(),F,P,L,I);function K(e){let t={...e};t.href=t.fullPath;let n=c(t,B);if(n){let e=n.record;t.name===void 0&&(t.name=e.name);let r=s(n.matchedRecords);r!==void 0&&(t.meta=f(r)),n.params&&Object.keys(t.params).length===0&&(t.params=ne(n.params)),t.matched=n.matchedRecords.map((e,t,r)=>{let i=t===r.length-1?n.matchedPath:void 0;return ie(e,i)})}else t.matched=[];return t}function q(e,t){let n=typeof e==`string`?e:te(e,B,F);return K(v(n,t,L))}let J,Y;function ae(e){return e.source===`page`||e.source===`native`&&e.method===`navigateBack`}function oe(e,t){if(W>0||!ae(t)||e.fullPath===J.fullPath)return;let n=p(J);h({target:e,from:n,nativeRouter:k,beforeEachGuards:A,beforeResolveGuards:j,resolveWithCodec:q}).then(e=>Y==null?void 0:Y(e))}J=b({beforeRouteStateSync:oe,resolveRoute:K}).route;function se(e){return q(e,J.path)}let X=m({afterEachHooks:M,errorHandlers:N,nativeRouter:k,rejectOnError:I});Y=X.emitNavigationAfterEach;let Z=_({nativeRouter:k,route:J,routeResolveCodec:L,namedRouteLookup:B,beforeEachGuards:A,beforeResolveGuards:j,maxRedirects:P,tabBarPathSet:H,resolveWithCodec:q,settleNavigationResult:X.settleNavigationResult});async function Q(e){W+=1;try{return await e()}finally{--W}}async function ce(e,t){return Q(async()=>{let n=p(J),r=K(ee(t,e));if(!r.path)return;let i=await g({mode:`push`,target:r,from:n,nativeRouter:k,routeResolveCodec:L,namedRouteLookup:B,beforeEachGuards:A,beforeResolveGuards:j,maxRedirects:P,tabBarPathSet:H,resolveWithCodec:q,executeNative:!1,allowSameLocation:!0});return X.settleNavigationResult(i)})}function le(e){return A.add(e),()=>{A.delete(e)}}function ue(e){return j.add(e),()=>{j.delete(e)}}function de(e){return M.add(e),()=>{M.delete(e)}}function fe(e){return N.add(e),()=>{N.delete(e)}}let $={nativeRouter:k,options:G,currentRoute:J,install(e){var n;t($);let r=e==null||(n=e.config)==null?void 0:n.globalProperties;r&&(r.$router=$)},resolve:se,isReady(){return R},push:e=>Q(()=>Z.push(e)),replace:e=>Q(()=>Z.replace(e)),back:e=>Q(()=>Z.back(e)),go:e=>Q(()=>Z.go(e)),forward:()=>Q(()=>Z.forward()),hasRoute:U.hasRoute,getRoutes:U.getRoutes,addRoute:U.addRoute,removeRoute:U.removeRoute,clearRoutes:U.clearRoutes,beforeEach:le,beforeResolve:ue,afterEach:de,onError:fe};return t($),n($,ce),$}export{S as createRouter};
1
+ import{getMiniProgramGlobalObject as e}from"../runtime/platform.mjs";import{setActiveRouter as t}from"./instance.mjs";import{DEFAULT_INITIAL_NAVIGATION_TIMEOUT as n,registerInitialNavigationRunner as r}from"./initialNavigation.mjs";import{installRouteStateSyncOnNativeRouter as i,notifyRouteStateSync as a}from"./routeSync.mjs";import{resolvePath as o}from"../routerInternal/path.mjs";import{parseQuery as s,stringifyQuery as c}from"../routerInternal/query.mjs";import{resolveCurrentRoute as l}from"../routerInternal/location.mjs";import{resolveNamedRouteLocation as u}from"../routerInternal/params.mjs";import{mergeMatchedRouteMeta as ee,resolveMatchedRouteRecord as te}from"../routerInternal/matching.mjs";import{warnDuplicateRouteEntries as ne}from"../routerInternal/recordsWarnings.mjs";import{createNamedRouteLookup as re,resolveRouteOptionEntries as ie}from"../routerInternal/records.mjs";import{cloneRouteMeta as ae,cloneRouteParams as oe,createRouterOptionsSnapshot as d,normalizeRouteRecordMatched as se,snapshotRouteLocation as f}from"../routerInternal/snapshots.mjs";import{createNavigationResultController as p}from"./navigationResult.mjs";import{resolveBackNavigationTarget as m,runBackNavigationGuards as ce}from"./backNavigation.mjs";import{navigateWithTarget as le}from"./navigationTarget.mjs";import{createNavigationApi as ue}from"./navigationApi.mjs";import{resolveRouteLocation as de}from"./resolve.mjs";import{createRouteRegistry as fe}from"./routeRegistry.mjs";import{createRouteStateController as pe,useNativeRouter as h}from"./useRoute.mjs";function g(g={}){var _,v,y,b,x,S,C;let w=h();i(e());let T=new Set,E=new Set,D=new Set,O=new Set,k=(_=g.maxRedirects)==null?10:_,A=g.initialNavigationMode===`blocking`?`blocking`:`eager`,j=Number.isFinite(g.initialNavigationTimeout)&&((v=g.initialNavigationTimeout)==null?0:v)>0?Math.max(1,Math.trunc(g.initialNavigationTimeout)):n,M=(y=g.paramsMode)==null?`loose`:y,N=(b=g.rejectOnError)==null||b,P={parseQuery:(x=g.parseQuery)==null?s:x,stringifyQuery:(S=g.stringifyQuery)==null?c:S},F=Promise.resolve(),I=ie(g);ne(I);let L=re(I),R=((C=g.tabBarEntries)==null?[]:C).map(e=>o(e,``)).filter(Boolean),z=new Set(R),B=fe(L),V=0,H,U,W,me=d(R,B.getRoutes(),M,k,A,j,P,N);function G(e){let t={...e};t.href=t.fullPath;let n=te(t,L);if(n){let e=n.record;t.name===void 0&&(t.name=e.name);let r=ee(n.matchedRecords);r!==void 0&&(t.meta=ae(r)),n.params&&Object.keys(t.params).length===0&&(t.params=oe(n.params)),t.matched=n.matchedRecords.map((e,t,r)=>{let i=t===r.length-1?n.matchedPath:void 0;return se(e,i)})}else t.matched=[];return t}function K(e,t){let n=typeof e==`string`?e:u(e,L,M);return G(de(n,t,P))}let q,J;function he(e){return e.source===`page`||e.source===`native`&&e.method===`navigateBack`}function ge(e,t){if(V>0||!he(t)||W!==void 0)return;if(U!==void 0){let t=U;if(U=void 0,e.fullPath===t)return}if(e.fullPath===q.fullPath)return;W=e.fullPath;let n=f(q);ce({target:e,from:n,nativeRouter:w,beforeEachGuards:T,beforeResolveGuards:E,resolveWithCodec:K}).then(e=>J==null?void 0:J(e)).finally(()=>{W=void 0})}q=pe({beforeRouteStateSync:ge,resolveRoute:G}).route;function _e(e){return K(e,q.path)}let Y=p({afterEachHooks:D,errorHandlers:O,nativeRouter:w,rejectOnError:N});J=Y.emitNavigationAfterEach;let X=ue({nativeRouter:w,route:q,routeResolveCodec:P,namedRouteLookup:L,beforeEachGuards:T,beforeResolveGuards:E,maxRedirects:k,tabBarPathSet:z,resolveWithCodec:K,settleNavigationResult:Y.settleNavigationResult});async function Z(e,t){let n=q.fullPath;t&&(H=t),V+=1;try{let t=await e();return q.fullPath!==n&&(U=q.fullPath),t}finally{--V,V<=0&&(H=void 0)}}function Q(e){try{return K(e,q.path).fullPath}catch(e){return}}async function ve(e,t,n=()=>!0){return Z(async()=>{let r=f(q),i=G(l(t,e));if(!i.path)return;if(H===i.fullPath){a({route:i,source:`router`});return}let o=await le({mode:`push`,target:i,from:r,nativeRouter:w,routeResolveCodec:P,namedRouteLookup:L,beforeEachGuards:T,beforeResolveGuards:E,maxRedirects:k,tabBarPathSet:z,resolveWithCodec:K,executeNative:!1,allowSameLocation:!0});if(n())return Y.settleNavigationResult(o)})}function ye(e){return T.add(e),()=>{T.delete(e)}}function be(e){return E.add(e),()=>{E.delete(e)}}function xe(e){return D.add(e),()=>{D.delete(e)}}function Se(e){return O.add(e),()=>{O.delete(e)}}let $={nativeRouter:w,options:me,currentRoute:q,install(e){var n;t($);let r=e==null||(n=e.config)==null?void 0:n.globalProperties;r&&(r.$router=$)},resolve:_e,isReady(){return F},push:e=>Z(()=>X.push(e),Q(e)),replace:e=>Z(()=>X.replace(e),Q(e)),back:e=>{var t;return Z(()=>X.back(e),(t=m(e==null?1:e,q,K))==null?void 0:t.fullPath)},go:e=>{var t;return Z(()=>X.go(e),e<0?(t=m(Math.abs(e),q,K))==null?void 0:t.fullPath:void 0)},forward:()=>Z(()=>X.forward()),hasRoute:B.hasRoute,getRoutes:B.getRoutes,addRoute:B.addRoute,removeRoute:B.removeRoute,clearRoutes:B.clearRoutes,beforeEach:ye,beforeResolve:be,afterEach:xe,onError:Se};return t($),r($,ve,j,A),$}export{g as createRouter};
@@ -1 +1 @@
1
- import{getActiveRouter as e}from"./instance.mjs";const t=new WeakMap;function n(e,n){t.set(e,n)}function r(){let n=e();return n?t.get(n):void 0}export{r as getInitialNavigationRunner,n as registerInitialNavigationRunner};
1
+ import{getActiveRouter as e}from"./instance.mjs";import{WEVU_INITIAL_NAVIGATION_TIMEOUT_MARKER as t}from"@weapp-core/constants";const n=1e4,r=new WeakMap,i=new WeakMap;function a(e){return Number.isFinite(e)&&e>0?Math.max(1,Math.trunc(e)):n}function o(e){return{route:typeof e.route==`string`?e.route:void 0,__route__:typeof e.__route__==`string`?e.__route__:void 0,options:e.options&&typeof e.options==`object`?{...e.options}:void 0}}function s(e){if(e&&typeof e==`object`)return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Array.isArray(t)?[...t]:t]))}function c(e,t,i=n,o=`blocking`){r.set(e,{runner:t,mode:o,timeoutMs:a(i)})}function l(){var t,i;let a=e();return a?(t=(i=r.get(a))==null?void 0:i.timeoutMs)==null?n:t:n}function u(e){return!!(e&&typeof e==`object`&&e.__wevuNavigationFailure)}function d(n,a,c={}){let d=i.get(n);if(d)return c.onComplete&&d.blocking&&d.subscribe(c.onComplete),c.start!==!1&&d.start(a),d.blocking?d.promise:void 0;let f=e(),p=f?r.get(f):void 0,m=p==null?void 0:p.runner;if(!m)return;let h=(p==null?void 0:p.mode)===`blocking`,g=o(n),_=s(a),v=`idle`,y,b=l(),x,S=new Set,C=new Promise(e=>{x=e}),w=(e,t)=>{if(v!==`idle`&&v!==`running`)return;v=e,y!==void 0&&(clearTimeout(y),y=void 0);let n=[...S];S.clear(),m=void 0,g=void 0,_=void 0,x(t),queueMicrotask(()=>{if(v===`allowed`||v===`timed-out`)for(let e of n)e.active&&(e.callback(t),e.active=!1)})},T={promise:C,blocking:h,status:()=>v,subscribe(e){let t={callback:e,active:!0};return v!==`idle`&&v!==`running`?queueMicrotask(()=>{t.active&&(v===`allowed`||v===`timed-out`)&&(e(v===`allowed`||v===`timed-out`),t.active=!1)}):S.add(t),()=>{t.active=!1,S.delete(t)}},start(e){if(v!==`idle`)return;v=`running`,h&&(y=setTimeout(()=>{var e,n;v===`running`&&(console.warn(`${t} initial navigation exceeded ${b}ms; mounting page`,(e=(n=g==null?void 0:g.route)==null?g==null?void 0:g.__route__:n)==null?``:e),w(`timed-out`,!0))},b));let n=g,r=s(e==null?_:e),i=m;if(m=void 0,!i||!n){w(`aborted`,!1);return}i(n,r,()=>v===`running`).then(e=>{let t=u(e);w(t?`aborted`:`allowed`,!t)},()=>{w(`aborted`,!1)})},cancel(){w(`cancelled`,!1)}};return i.set(n,T),c.onComplete&&h&&T.subscribe(c.onComplete),c.start!==!1&&T.start(a),h?C:void 0}function f(e){var t;(t=i.get(e))==null||t.cancel()}export{n as DEFAULT_INITIAL_NAVIGATION_TIMEOUT,f as cancelInitialNavigation,d as ensureInitialNavigation,l as getInitialNavigationTimeout,c as registerInitialNavigationRunner};