wevu 6.20.1 → 6.20.3

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 (39) hide show
  1. package/dist/dev/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/defineProperty.mjs +1 -1
  2. package/dist/dev/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/toPrimitive.mjs +1 -1
  3. package/dist/dev/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/toPropertyKey.mjs +1 -1
  4. package/dist/dev/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.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/runtime/platform.mjs +21 -5
  9. package/dist/dev/runtime/platform.mjs.map +1 -1
  10. package/dist/dev/runtime/provide.mjs +2 -2
  11. package/dist/dev/runtime/provide.mjs.map +1 -1
  12. package/dist/dev/runtime/register/component/registerDefinition.mjs +6 -3
  13. package/dist/dev/runtime/register/component/registerDefinition.mjs.map +1 -1
  14. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs +69 -0
  15. package/dist/dev/runtime/register/component/registerNativeDefinition.mjs.map +1 -0
  16. package/dist/dev/runtime/register/inline.mjs +14 -1
  17. package/dist/dev/runtime/register/inline.mjs.map +1 -1
  18. package/dist/dev/runtime/register/runtimeInstance.mjs +15 -2
  19. package/dist/dev/runtime/register/runtimeInstance.mjs.map +1 -1
  20. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs +2 -3
  21. package/dist/dev/runtime/register/setDataFrequencyWarning.mjs.map +1 -1
  22. package/dist/dev/runtime/scopedSlots.mjs +3 -1
  23. package/dist/dev/runtime/scopedSlots.mjs.map +1 -1
  24. package/dist/package.mjs +1 -1
  25. package/dist/reactivity/core.mjs +1 -1
  26. package/dist/reactivity/ref.mjs +1 -1
  27. package/dist/runtime/platform.mjs +1 -1
  28. package/dist/runtime/provide.mjs +1 -1
  29. package/dist/runtime/register/component/registerDefinition.mjs +1 -1
  30. package/dist/runtime/register/component/registerNativeDefinition.mjs +1 -0
  31. package/dist/runtime/register/inline.mjs +1 -1
  32. package/dist/runtime/register/runtimeInstance.mjs +1 -1
  33. package/dist/runtime/register/setDataFrequencyWarning.mjs +1 -1
  34. package/dist/runtime/scopedSlots.mjs +1 -1
  35. package/package.json +5 -5
  36. /package/dist/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/defineProperty.mjs +0 -0
  37. /package/dist/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/toPrimitive.mjs +0 -0
  38. /package/dist/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/toPropertyKey.mjs +0 -0
  39. /package/dist/_virtual/{_@oxc-project_runtime@0.143.0 → _@oxc-project_runtime@0.144.0}/helpers/esm/typeof.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  import toPropertyKey from "./toPropertyKey.mjs";
2
2
 
3
- //#region \0@oxc-project+runtime@0.143.0/helpers/esm/defineProperty.js
3
+ //#region \0@oxc-project+runtime@0.144.0/helpers/esm/defineProperty.js
4
4
  function _defineProperty(e, r, t) {
5
5
  return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
6
6
  value: t,
@@ -1,6 +1,6 @@
1
1
  import _typeof from "./typeof.mjs";
2
2
 
3
- //#region \0@oxc-project+runtime@0.143.0/helpers/esm/toPrimitive.js
3
+ //#region \0@oxc-project+runtime@0.144.0/helpers/esm/toPrimitive.js
4
4
  function toPrimitive(t, r) {
5
5
  if ("object" != _typeof(t) || !t) return t;
6
6
  var e = t[Symbol.toPrimitive];
@@ -1,7 +1,7 @@
1
1
  import _typeof from "./typeof.mjs";
2
2
  import toPrimitive from "./toPrimitive.mjs";
3
3
 
4
- //#region \0@oxc-project+runtime@0.143.0/helpers/esm/toPropertyKey.js
4
+ //#region \0@oxc-project+runtime@0.144.0/helpers/esm/toPropertyKey.js
5
5
  function toPropertyKey(t) {
6
6
  var i = toPrimitive(t, "string");
7
7
  return "symbol" == _typeof(i) ? i : i + "";
@@ -1,4 +1,4 @@
1
- //#region \0@oxc-project+runtime@0.143.0/helpers/esm/typeof.js
1
+ //#region \0@oxc-project+runtime@0.144.0/helpers/esm/typeof.js
2
2
  function _typeof(o) {
3
3
  "@babel/helpers - typeof";
4
4
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "6.20.1";
2
+ var version = "6.20.3";
3
3
 
4
4
  //#endregion
5
5
  export { version };
@@ -1,5 +1,5 @@
1
1
  import { queueJob } from "../scheduler.mjs";
2
- import _defineProperty from "../_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/defineProperty.mjs";
2
+ import _defineProperty from "../_virtual/_@oxc-project_runtime@0.144.0/helpers/esm/defineProperty.mjs";
3
3
 
4
4
  //#region src/reactivity/core.ts
5
5
  const targetMap = /* @__PURE__ */ new WeakMap();
@@ -1,4 +1,4 @@
1
- import _defineProperty from "../_virtual/_@oxc-project_runtime@0.143.0/helpers/esm/defineProperty.mjs";
1
+ import _defineProperty from "../_virtual/_@oxc-project_runtime@0.144.0/helpers/esm/defineProperty.mjs";
2
2
  import { trackEffects, triggerEffects } from "./core.mjs";
3
3
  import { convertToReactive, markRaw } from "./reactive.mjs";
4
4
 
@@ -12,6 +12,9 @@ function getGlobalRuntime() {
12
12
  if (typeof globalThis === "undefined") return;
13
13
  return globalThis;
14
14
  }
15
+ function getStaticMiniProgramGlobalObject() {
16
+ if (typeof my !== "undefined") return my;
17
+ }
15
18
  function resolveCurrentMiniProgramPlatform() {
16
19
  var _env;
17
20
  const globalRuntime = getGlobalRuntime();
@@ -27,8 +30,12 @@ function supportsCurrentMiniProgramRuntimeCapability(capabilityName) {
27
30
  return supportsMiniProgramRuntimeCapability(resolveCurrentMiniProgramPlatform(), capabilityName);
28
31
  }
29
32
  function getCurrentMiniProgramPages() {
33
+ var _ref, _ref2, _globalRuntime$runtim, _getStaticMiniProgram;
30
34
  if (!supportsCurrentMiniProgramRuntimeCapability("globalPageStack")) return [];
31
- const getCurrentPagesFn = globalThis.getCurrentPages;
35
+ const globalRuntime = getGlobalRuntime();
36
+ const platform = resolveCurrentMiniProgramPlatform();
37
+ const runtimeGlobalKey = platform ? getMiniProgramRuntimeGlobalKey(platform) : void 0;
38
+ const getCurrentPagesFn = (_ref = (_ref2 = runtimeGlobalKey ? globalRuntime === null || globalRuntime === void 0 || (_globalRuntime$runtim = globalRuntime[runtimeGlobalKey]) === null || _globalRuntime$runtim === void 0 ? void 0 : _globalRuntime$runtim.getCurrentPages : void 0) !== null && _ref2 !== void 0 ? _ref2 : (_getStaticMiniProgram = getStaticMiniProgramGlobalObject()) === null || _getStaticMiniProgram === void 0 ? void 0 : _getStaticMiniProgram.getCurrentPages) !== null && _ref !== void 0 ? _ref : globalRuntime === null || globalRuntime === void 0 ? void 0 : globalRuntime.getCurrentPages;
32
39
  if (typeof getCurrentPagesFn !== "function") return [];
33
40
  try {
34
41
  const pages = getCurrentPagesFn();
@@ -49,14 +56,23 @@ function getMiniProgramGlobalObject(platformInput) {
49
56
  const compiledPlatform = platformInput !== null && platformInput !== void 0 ? platformInput : (_env2 = import.meta.env) === null || _env2 === void 0 ? void 0 : _env2.PLATFORM;
50
57
  const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform);
51
58
  if (resolvedCompiledPlatform) {
59
+ var _ref3;
52
60
  const globalKey = getMiniProgramRuntimeGlobalKey(resolvedCompiledPlatform);
53
- return globalRuntime === null || globalRuntime === void 0 ? void 0 : globalRuntime[globalKey];
61
+ return (_ref3 = globalRuntime === null || globalRuntime === void 0 ? void 0 : globalRuntime[globalKey]) !== null && _ref3 !== void 0 ? _ref3 : resolvedCompiledPlatform === "alipay" ? getStaticMiniProgramGlobalObject() : void 0;
54
62
  }
55
63
  for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {
56
64
  const candidate = globalRuntime === null || globalRuntime === void 0 ? void 0 : globalRuntime[globalKey];
57
65
  if (candidate) return candidate;
58
66
  }
59
67
  }
68
+ function getMiniProgramRuntimeGlobalObject() {
69
+ var _getMiniProgramGlobal;
70
+ return (_getMiniProgramGlobal = getMiniProgramGlobalObject()) !== null && _getMiniProgramGlobal !== void 0 ? _getMiniProgramGlobal : getGlobalRuntime();
71
+ }
72
+ function getMiniProgramRuntimeConsoleWarn() {
73
+ var _getMiniProgramRuntim;
74
+ return (_getMiniProgramRuntim = getMiniProgramRuntimeGlobalObject()) === null || _getMiniProgramRuntim === void 0 || (_getMiniProgramRuntim = _getMiniProgramRuntim.console) === null || _getMiniProgramRuntim === void 0 ? void 0 : _getMiniProgramRuntim.warn;
75
+ }
60
76
  function getCurrentMiniProgramGlobalRouter() {
61
77
  if (!supportsCurrentMiniProgramRuntimeCapability("globalRouterApi")) return;
62
78
  const miniProgramGlobal = getMiniProgramGlobalObject();
@@ -70,10 +86,10 @@ function getCurrentMiniProgramGlobalRouter() {
70
86
  return routerMethods;
71
87
  }
72
88
  function getScopedSlotHostGlobalObject() {
73
- var _getMiniProgramGlobal;
74
- return (_getMiniProgramGlobal = getMiniProgramGlobalObject()) !== null && _getMiniProgramGlobal !== void 0 ? _getMiniProgramGlobal : getGlobalRuntime();
89
+ var _getMiniProgramGlobal2;
90
+ return (_getMiniProgramGlobal2 = getMiniProgramGlobalObject()) !== null && _getMiniProgramGlobal2 !== void 0 ? _getMiniProgramGlobal2 : getGlobalRuntime();
75
91
  }
76
92
 
77
93
  //#endregion
78
- export { getCurrentMiniProgramGlobalRouter, getCurrentMiniProgramHostConfig, getCurrentMiniProgramPages, getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, getScopedSlotHostGlobalObject, resolveCurrentMiniProgramPlatform, supportsCurrentMiniProgramRuntimeCapability };
94
+ export { getCurrentMiniProgramGlobalRouter, getCurrentMiniProgramHostConfig, getCurrentMiniProgramPages, getCurrentMiniProgramRuntimeCapabilities, getMiniProgramGlobalObject, getMiniProgramRuntimeConsoleWarn, getMiniProgramRuntimeGlobalObject, getScopedSlotHostGlobalObject, resolveCurrentMiniProgramPlatform, supportsCurrentMiniProgramRuntimeCapability };
79
95
  //# sourceMappingURL=platform.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.mjs","names":[],"sources":["../../../src/runtime/platform.ts"],"sourcesContent":["import type { MiniProgramRuntimeCapabilities, MiniProgramRuntimeCapabilityName } from '@weapp-core/shared/platforms'\nimport {\n getMiniProgramPlatformByRuntimeGlobalKey,\n getMiniProgramRuntimeCapabilities,\n getMiniProgramRuntimeGlobalKey,\n getMiniProgramRuntimeGlobalKeys,\n getMiniProgramRuntimeHostConfigKey,\n resolveMiniProgramPlatform,\n supportsMiniProgramRuntimeCapability,\n} from '@weapp-core/shared/platforms'\n\ntype MiniProgramGlobal = Record<string, any>\ntype MiniProgramHostConfig = Record<string, any>\ntype MiniProgramGlobalRouterMethodName = 'switchTab' | 'reLaunch' | 'redirectTo' | 'navigateTo' | 'navigateBack'\ntype MiniProgramGlobalRouter = Record<MiniProgramGlobalRouterMethodName, (...args: any[]) => any>\ntype ImportMetaWithEnv = ImportMeta & {\n env?: {\n PLATFORM?: string\n }\n}\nconst MINI_PROGRAM_GLOBAL_ROUTER_METHODS: readonly MiniProgramGlobalRouterMethodName[] = [\n 'switchTab',\n 'reLaunch',\n 'redirectTo',\n 'navigateTo',\n 'navigateBack',\n]\n\nfunction getGlobalRuntime() {\n if (typeof globalThis === 'undefined') {\n return undefined\n }\n return globalThis as MiniProgramGlobal\n}\n\nexport function resolveCurrentMiniProgramPlatform() {\n const globalRuntime = getGlobalRuntime()\n const compiledPlatform = (import.meta as ImportMetaWithEnv).env?.PLATFORM\n\n // 优先命中编译期平台分支,便于构建阶段做 dead-code elimination。\n const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform)\n if (resolvedCompiledPlatform) {\n return resolvedCompiledPlatform\n }\n\n for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {\n if (globalRuntime?.[globalKey]) {\n return getMiniProgramPlatformByRuntimeGlobalKey(globalKey)\n }\n }\n\n return undefined\n}\n\nexport function getCurrentMiniProgramRuntimeCapabilities(): MiniProgramRuntimeCapabilities {\n return getMiniProgramRuntimeCapabilities(resolveCurrentMiniProgramPlatform())\n}\n\nexport function supportsCurrentMiniProgramRuntimeCapability(capabilityName: MiniProgramRuntimeCapabilityName): boolean {\n return supportsMiniProgramRuntimeCapability(resolveCurrentMiniProgramPlatform(), capabilityName)\n}\n\nexport function getCurrentMiniProgramPages(): Array<Record<string, any>> {\n if (!supportsCurrentMiniProgramRuntimeCapability('globalPageStack')) {\n return []\n }\n const getCurrentPagesFn = (globalThis as Record<string, unknown>).getCurrentPages\n if (typeof getCurrentPagesFn !== 'function') {\n return []\n }\n try {\n const pages = getCurrentPagesFn()\n return Array.isArray(pages) ? pages as Array<Record<string, any>> : []\n }\n catch {\n return []\n }\n}\n\nexport function getCurrentMiniProgramHostConfig(): MiniProgramHostConfig | undefined {\n const globalRuntime = getGlobalRuntime()\n const hostConfigKey = getMiniProgramRuntimeHostConfigKey(resolveCurrentMiniProgramPlatform())\n const hostConfig = globalRuntime?.[hostConfigKey]\n return hostConfig && typeof hostConfig === 'object' ? hostConfig as MiniProgramHostConfig : undefined\n}\n\nexport function getMiniProgramGlobalObject(platformInput?: string): MiniProgramGlobal | undefined {\n const globalRuntime = getGlobalRuntime()\n const compiledPlatform = platformInput ?? (import.meta as ImportMetaWithEnv).env?.PLATFORM\n const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform)\n\n if (resolvedCompiledPlatform) {\n const globalKey = getMiniProgramRuntimeGlobalKey(resolvedCompiledPlatform)\n return globalRuntime?.[globalKey] as MiniProgramGlobal | undefined\n }\n\n for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {\n const candidate = globalRuntime?.[globalKey]\n if (candidate) {\n return candidate as MiniProgramGlobal\n }\n }\n return undefined\n}\n\nexport function getCurrentMiniProgramGlobalRouter(): MiniProgramGlobalRouter | undefined {\n if (!supportsCurrentMiniProgramRuntimeCapability('globalRouterApi')) {\n return undefined\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (!miniProgramGlobal) {\n return undefined\n }\n const routerMethods = Object.create(null) as Partial<MiniProgramGlobalRouter>\n for (const methodName of MINI_PROGRAM_GLOBAL_ROUTER_METHODS) {\n const handler = miniProgramGlobal[methodName]\n if (typeof handler !== 'function') {\n return undefined\n }\n routerMethods[methodName] = (...args: any[]) => handler.apply(miniProgramGlobal, args)\n }\n return routerMethods as MiniProgramGlobalRouter\n}\n\nexport function getScopedSlotHostGlobalObject(): MiniProgramGlobal | undefined {\n return getMiniProgramGlobalObject() ?? getGlobalRuntime()\n}\n"],"mappings":";;;AAoBA,MAAM,qCAAmF;CACvF;CACA;CACA;CACA;CACA;AACF;AAEA,SAAS,mBAAmB;CAC1B,IAAI,OAAO,eAAe,aACxB;CAEF,OAAO;AACT;AAEA,SAAgB,oCAAoC;;CAClD,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,2BAAoB,YAAkC,iDAAK;CAGjE,MAAM,2BAA2B,2BAA2B,gBAAgB;CAC5E,IAAI,0BACF,OAAO;CAGT,KAAK,MAAM,aAAa,gCAAgC,GACtD,kEAAI,cAAgB,YAClB,OAAO,yCAAyC,SAAS;AAK/D;AAEA,SAAgB,2CAA2E;CACzF,OAAO,kCAAkC,kCAAkC,CAAC;AAC9E;AAEA,SAAgB,4CAA4C,gBAA2D;CACrH,OAAO,qCAAqC,kCAAkC,GAAG,cAAc;AACjG;AAEA,SAAgB,6BAAyD;CACvE,IAAI,CAAC,4CAA4C,iBAAiB,GAChE,OAAO,CAAC;CAEV,MAAM,oBAAqB,WAAuC;CAClE,IAAI,OAAO,sBAAsB,YAC/B,OAAO,CAAC;CAEV,IAAI;EACF,MAAM,QAAQ,kBAAkB;EAChC,OAAO,MAAM,QAAQ,KAAK,IAAI,QAAsC,CAAC;CACvE,kBACM;EACJ,OAAO,CAAC;CACV;AACF;AAEA,SAAgB,kCAAqE;CACnF,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,gBAAgB,mCAAmC,kCAAkC,CAAC;CAC5F,MAAM,2EAAa,cAAgB;CACnC,OAAO,cAAc,OAAO,eAAe,WAAW,aAAsC;AAC9F;AAEA,SAAgB,2BAA2B,eAAuD;;CAChG,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,mBAAmB,8EAAkB,YAAkC,mDAAK;CAClF,MAAM,2BAA2B,2BAA2B,gBAAgB;CAE5E,IAAI,0BAA0B;EAC5B,MAAM,YAAY,+BAA+B,wBAAwB;EACzE,qEAAO,cAAgB;CACzB;CAEA,KAAK,MAAM,aAAa,gCAAgC,GAAG;EACzD,MAAM,0EAAY,cAAgB;EAClC,IAAI,WACF,OAAO;CAEX;AAEF;AAEA,SAAgB,oCAAyE;CACvF,IAAI,CAAC,4CAA4C,iBAAiB,GAChE;CAEF,MAAM,oBAAoB,2BAA2B;CACrD,IAAI,CAAC,mBACH;CAEF,MAAM,gBAAgB,OAAO,OAAO,IAAI;CACxC,KAAK,MAAM,cAAc,oCAAoC;EAC3D,MAAM,UAAU,kBAAkB;EAClC,IAAI,OAAO,YAAY,YACrB;EAEF,cAAc,eAAe,GAAG,SAAgB,QAAQ,MAAM,mBAAmB,IAAI;CACvF;CACA,OAAO;AACT;AAEA,SAAgB,gCAA+D;;CAC7E,gCAAO,2BAA2B,0EAAK,iBAAiB;AAC1D"}
1
+ {"version":3,"file":"platform.mjs","names":[],"sources":["../../../src/runtime/platform.ts"],"sourcesContent":["import type { MiniProgramRuntimeCapabilities, MiniProgramRuntimeCapabilityName } from '@weapp-core/shared/platforms'\nimport {\n getMiniProgramPlatformByRuntimeGlobalKey,\n getMiniProgramRuntimeCapabilities,\n getMiniProgramRuntimeGlobalKey,\n getMiniProgramRuntimeGlobalKeys,\n getMiniProgramRuntimeHostConfigKey,\n resolveMiniProgramPlatform,\n supportsMiniProgramRuntimeCapability,\n} from '@weapp-core/shared/platforms'\n\ntype MiniProgramGlobal = Record<string, any>\ntype MiniProgramHostConfig = Record<string, any>\ntype MiniProgramGlobalRouterMethodName = 'switchTab' | 'reLaunch' | 'redirectTo' | 'navigateTo' | 'navigateBack'\ntype MiniProgramGlobalRouter = Record<MiniProgramGlobalRouterMethodName, (...args: any[]) => any>\ntype ImportMetaWithEnv = ImportMeta & {\n env?: {\n PLATFORM?: string\n }\n}\nconst MINI_PROGRAM_GLOBAL_ROUTER_METHODS: readonly MiniProgramGlobalRouterMethodName[] = [\n 'switchTab',\n 'reLaunch',\n 'redirectTo',\n 'navigateTo',\n 'navigateBack',\n]\n\nfunction getGlobalRuntime() {\n if (typeof globalThis === 'undefined') {\n return undefined\n }\n return globalThis as MiniProgramGlobal\n}\n\nfunction getStaticMiniProgramGlobalObject(): MiniProgramGlobal | undefined {\n if (typeof my !== 'undefined') {\n return my as MiniProgramGlobal\n }\n return undefined\n}\n\nexport function resolveCurrentMiniProgramPlatform() {\n const globalRuntime = getGlobalRuntime()\n const compiledPlatform = (import.meta as ImportMetaWithEnv).env?.PLATFORM\n\n // 优先命中编译期平台分支,便于构建阶段做 dead-code elimination。\n const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform)\n if (resolvedCompiledPlatform) {\n return resolvedCompiledPlatform\n }\n\n for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {\n if (globalRuntime?.[globalKey]) {\n return getMiniProgramPlatformByRuntimeGlobalKey(globalKey)\n }\n }\n\n return undefined\n}\n\nexport function getCurrentMiniProgramRuntimeCapabilities(): MiniProgramRuntimeCapabilities {\n return getMiniProgramRuntimeCapabilities(resolveCurrentMiniProgramPlatform())\n}\n\nexport function supportsCurrentMiniProgramRuntimeCapability(capabilityName: MiniProgramRuntimeCapabilityName): boolean {\n return supportsMiniProgramRuntimeCapability(resolveCurrentMiniProgramPlatform(), capabilityName)\n}\n\nexport function getCurrentMiniProgramPages(): Array<Record<string, any>> {\n if (!supportsCurrentMiniProgramRuntimeCapability('globalPageStack')) {\n return []\n }\n const globalRuntime = getGlobalRuntime()\n const platform = resolveCurrentMiniProgramPlatform()\n const runtimeGlobalKey = platform ? getMiniProgramRuntimeGlobalKey(platform) : undefined\n const getCurrentPagesFn = (runtimeGlobalKey ? globalRuntime?.[runtimeGlobalKey]?.getCurrentPages : undefined)\n ?? getStaticMiniProgramGlobalObject()?.getCurrentPages\n ?? globalRuntime?.getCurrentPages\n if (typeof getCurrentPagesFn !== 'function') {\n return []\n }\n try {\n const pages = getCurrentPagesFn()\n return Array.isArray(pages) ? pages as Array<Record<string, any>> : []\n }\n catch {\n return []\n }\n}\n\nexport function getCurrentMiniProgramHostConfig(): MiniProgramHostConfig | undefined {\n const globalRuntime = getGlobalRuntime()\n const hostConfigKey = getMiniProgramRuntimeHostConfigKey(resolveCurrentMiniProgramPlatform())\n const hostConfig = globalRuntime?.[hostConfigKey]\n return hostConfig && typeof hostConfig === 'object' ? hostConfig as MiniProgramHostConfig : undefined\n}\n\nexport function getMiniProgramGlobalObject(platformInput?: string): MiniProgramGlobal | undefined {\n const globalRuntime = getGlobalRuntime()\n const compiledPlatform = platformInput ?? (import.meta as ImportMetaWithEnv).env?.PLATFORM\n const resolvedCompiledPlatform = resolveMiniProgramPlatform(compiledPlatform)\n\n if (resolvedCompiledPlatform) {\n const globalKey = getMiniProgramRuntimeGlobalKey(resolvedCompiledPlatform)\n return globalRuntime?.[globalKey] as MiniProgramGlobal | undefined\n ?? (resolvedCompiledPlatform === 'alipay' ? getStaticMiniProgramGlobalObject() : undefined)\n }\n\n for (const globalKey of getMiniProgramRuntimeGlobalKeys()) {\n const candidate = globalRuntime?.[globalKey]\n if (candidate) {\n return candidate as MiniProgramGlobal\n }\n }\n return undefined\n}\n\nexport function getMiniProgramRuntimeGlobalObject(): MiniProgramGlobal | undefined {\n return getMiniProgramGlobalObject() ?? getGlobalRuntime()\n}\n\nexport function getMiniProgramRuntimeConsoleWarn(): ((message: string) => void) | undefined {\n return getMiniProgramRuntimeGlobalObject()?.console?.warn\n}\n\nexport function getCurrentMiniProgramGlobalRouter(): MiniProgramGlobalRouter | undefined {\n if (!supportsCurrentMiniProgramRuntimeCapability('globalRouterApi')) {\n return undefined\n }\n const miniProgramGlobal = getMiniProgramGlobalObject()\n if (!miniProgramGlobal) {\n return undefined\n }\n const routerMethods = Object.create(null) as Partial<MiniProgramGlobalRouter>\n for (const methodName of MINI_PROGRAM_GLOBAL_ROUTER_METHODS) {\n const handler = miniProgramGlobal[methodName]\n if (typeof handler !== 'function') {\n return undefined\n }\n routerMethods[methodName] = (...args: any[]) => handler.apply(miniProgramGlobal, args)\n }\n return routerMethods as MiniProgramGlobalRouter\n}\n\nexport function getScopedSlotHostGlobalObject(): MiniProgramGlobal | undefined {\n return getMiniProgramGlobalObject() ?? getGlobalRuntime()\n}\n"],"mappings":";;;AAoBA,MAAM,qCAAmF;CACvF;CACA;CACA;CACA;CACA;AACF;AAEA,SAAS,mBAAmB;CAC1B,IAAI,OAAO,eAAe,aACxB;CAEF,OAAO;AACT;AAEA,SAAS,mCAAkE;CACzE,IAAI,OAAO,OAAO,aAChB,OAAO;AAGX;AAEA,SAAgB,oCAAoC;;CAClD,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,2BAAoB,YAAkC,iDAAK;CAGjE,MAAM,2BAA2B,2BAA2B,gBAAgB;CAC5E,IAAI,0BACF,OAAO;CAGT,KAAK,MAAM,aAAa,gCAAgC,GACtD,kEAAI,cAAgB,YAClB,OAAO,yCAAyC,SAAS;AAK/D;AAEA,SAAgB,2CAA2E;CACzF,OAAO,kCAAkC,kCAAkC,CAAC;AAC9E;AAEA,SAAgB,4CAA4C,gBAA2D;CACrH,OAAO,qCAAqC,kCAAkC,GAAG,cAAc;AACjG;AAEA,SAAgB,6BAAyD;;CACvE,IAAI,CAAC,4CAA4C,iBAAiB,GAChE,OAAO,CAAC;CAEV,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,WAAW,kCAAkC;CACnD,MAAM,mBAAmB,WAAW,+BAA+B,QAAQ,IAAI;CAC/E,MAAM,qCAAqB,kGAAmB,cAAgB,iGAAmB,kBAAkB,wEAC9F,iCAAiC,iFAAG,oHACpC,cAAe;CACpB,IAAI,OAAO,sBAAsB,YAC/B,OAAO,CAAC;CAEV,IAAI;EACF,MAAM,QAAQ,kBAAkB;EAChC,OAAO,MAAM,QAAQ,KAAK,IAAI,QAAsC,CAAC;CACvE,kBACM;EACJ,OAAO,CAAC;CACV;AACF;AAEA,SAAgB,kCAAqE;CACnF,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,gBAAgB,mCAAmC,kCAAkC,CAAC;CAC5F,MAAM,2EAAa,cAAgB;CACnC,OAAO,cAAc,OAAO,eAAe,WAAW,aAAsC;AAC9F;AAEA,SAAgB,2BAA2B,eAAuD;;CAChG,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,mBAAmB,8EAAkB,YAAkC,mDAAK;CAClF,MAAM,2BAA2B,2BAA2B,gBAAgB;CAE5E,IAAI,0BAA0B;;EAC5B,MAAM,YAAY,+BAA+B,wBAAwB;EACzE,8EAAO,cAAgB,mDACjB,6BAA6B,WAAW,iCAAiC,IAAI;CACrF;CAEA,KAAK,MAAM,aAAa,gCAAgC,GAAG;EACzD,MAAM,0EAAY,cAAgB;EAClC,IAAI,WACF,OAAO;CAEX;AAEF;AAEA,SAAgB,oCAAmE;;CACjF,gCAAO,2BAA2B,0EAAK,iBAAiB;AAC1D;AAEA,SAAgB,mCAA4E;;CAC1F,gCAAO,kCAAkC,kGAAG,uFAAS;AACvD;AAEA,SAAgB,oCAAyE;CACvF,IAAI,CAAC,4CAA4C,iBAAiB,GAChE;CAEF,MAAM,oBAAoB,2BAA2B;CACrD,IAAI,CAAC,mBACH;CAEF,MAAM,gBAAgB,OAAO,OAAO,IAAI;CACxC,KAAK,MAAM,cAAc,oCAAoC;EAC3D,MAAM,UAAU,kBAAkB;EAClC,IAAI,OAAO,YAAY,YACrB;EAEF,cAAc,eAAe,GAAG,SAAgB,QAAQ,MAAM,mBAAmB,IAAI;CACvF;CACA,OAAO;AACT;AAEA,SAAgB,gCAA+D;;CAC7E,iCAAO,2BAA2B,4EAAK,iBAAiB;AAC1D"}
@@ -1,3 +1,4 @@
1
+ import { getMiniProgramRuntimeConsoleWarn } from "./platform.mjs";
1
2
  import { getCurrentInstance } from "./hooks/base.mjs";
2
3
  import { getGlobalProvidedValue, hasGlobalProvidedValue, setGlobalProvidedValue } from "./provideStore.mjs";
3
4
  import { getInstanceProvides, isRuntimeAppInstance } from "./provideContext.mjs";
@@ -34,7 +35,6 @@ function provide(key, value) {
34
35
  } else setGlobalProvidedValue(key, value);
35
36
  }
36
37
  function inject(key, defaultValue) {
37
- var _globalThis$console;
38
38
  const instance = getCurrentInstance();
39
39
  if (instance) {
40
40
  const provides = getInstanceProvides(instance);
@@ -42,7 +42,7 @@ function inject(key, defaultValue) {
42
42
  }
43
43
  if (hasGlobalProvidedValue(key)) return getGlobalProvidedValue(key);
44
44
  if (arguments.length >= 2) return defaultValue;
45
- const warn = (_globalThis$console = globalThis.console) === null || _globalThis$console === void 0 ? void 0 : _globalThis$console.warn;
45
+ const warn = getMiniProgramRuntimeConsoleWarn();
46
46
  if (typeof warn === "function") warn(`wevu.inject:未找到对应 key 的值:${String(key)}`);
47
47
  }
48
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"provide.mjs","names":[],"sources":["../../../src/runtime/provide.ts"],"sourcesContent":["import { getCurrentInstance } from './hooks'\nimport {\n getInstanceProvides,\n isRuntimeAppInstance,\n} from './provideContext'\nimport {\n getGlobalProvidedValue,\n hasGlobalProvidedValue,\n setGlobalProvidedValue,\n} from './provideStore'\n\n// ============================================================================\n// 分层的 provide/inject 机制\n// 用于在组件树内维护依赖注入关系,支持组件与全局两种作用域\n// ============================================================================\n\nexport { setGlobalProvidedValue } from './provideStore'\n\n/**\n * 判断当前是否存在可用的注入上下文。\n *\n * wevu 的依赖注入上下文来自同步 `setup()` 阶段的当前实例。\n */\nexport function hasInjectionContext(): boolean {\n return Boolean(getCurrentInstance())\n}\n\n/**\n * 在组件上下文中向后代注入值(与 Vue 3 行为兼容),若没有当前实例则回落到全局存储。\n *\n * @param key 注入键,可为字符串、Symbol 或对象\n * @param value 提供的值\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * provide(TOKEN_KEY, { data: 'value' })\n * }\n * })\n * ```\n */\nexport function provide<T>(key: any, value: T): void {\n const instance = getCurrentInstance()\n\n if (instance) {\n getInstanceProvides(instance)[key as PropertyKey] = value\n if (isRuntimeAppInstance(instance)) {\n setGlobalProvidedValue(key, value)\n }\n }\n else {\n // 全局模式:无组件实例时,兼容旧代码和纯函数场景\n setGlobalProvidedValue(key, value)\n }\n}\n\n/**\n * 从祖先组件(或全局存储)读取提供的值。\n *\n * @param key 注入键,需与 provide 使用的键保持一致\n * @param defaultValue 未找到提供者时的默认值\n * @returns 匹配到的值或默认值\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * const data = inject(TOKEN_KEY)\n * const value = inject('key', 'default')\n * }\n * })\n * ```\n */\nexport function inject<T>(key: any, defaultValue: T): T\nexport function inject<T>(key: any): T | undefined\nexport function inject<T>(key: any, defaultValue?: T): T | undefined {\n const instance = getCurrentInstance()\n\n // 优先尝试基于实例的注入,找不到再回退全局\n if (instance) {\n const provides = getInstanceProvides(instance)\n if (key in provides) {\n return provides[key as PropertyKey] as T\n }\n }\n\n // 兼容性回退:尝试读取全局存储\n if (hasGlobalProvidedValue(key)) {\n return getGlobalProvidedValue(key)\n }\n\n // 使用默认值兜底\n if (arguments.length >= 2) {\n return defaultValue as T\n }\n\n const warn = globalThis.console?.warn\n if (typeof warn === 'function') {\n warn(`wevu.inject:未找到对应 key 的值:${String(key)}`)\n }\n\n return undefined\n}\n\n// ============================================================================\n// 显式的全局 provide/inject API\n// ============================================================================\n\n/**\n * 全局注入值,适用于历史兼容场景。\n *\n * @deprecated 已弃用,仅用于兼容/过渡。推荐优先使用 `provide()`,\n * 在无实例上下文时 `provide()` 会自动回落到全局存储。\n */\nexport function provideGlobal<T>(key: any, value: T): void {\n setGlobalProvidedValue(key, value)\n}\n\n/**\n * 从全局存储读取值,适用于历史兼容场景。\n *\n * @deprecated 已弃用,仅用于兼容/过渡。推荐优先使用 `inject()`,\n * 在无实例上下文时 `inject()` 会自动从全局存储读取。\n */\nexport function injectGlobal<T>(key: any, defaultValue?: T): T {\n if (hasGlobalProvidedValue(key)) {\n return getGlobalProvidedValue(key)\n }\n if (arguments.length >= 2) {\n return defaultValue as T\n }\n throw new Error(`injectGlobal():未找到对应 key 的 provider:${String(key)}`)\n}\n"],"mappings":";;;;;;;;;;AAuBA,SAAgB,sBAA+B;CAC7C,OAAO,QAAQ,mBAAmB,CAAC;AACrC;;;;;;;;;;;;;;;;AAiBA,SAAgB,QAAW,KAAU,OAAgB;CACnD,MAAM,WAAW,mBAAmB;CAEpC,IAAI,UAAU;EACZ,oBAAoB,QAAQ,CAAC,CAAC,OAAsB;EACpD,IAAI,qBAAqB,QAAQ,GAC/B,uBAAuB,KAAK,KAAK;CAErC,OAGE,uBAAuB,KAAK,KAAK;AAErC;AAqBA,SAAgB,OAAU,KAAU,cAAiC;;CACnE,MAAM,WAAW,mBAAmB;CAGpC,IAAI,UAAU;EACZ,MAAM,WAAW,oBAAoB,QAAQ;EAC7C,IAAI,OAAO,UACT,OAAO,SAAS;CAEpB;CAGA,IAAI,uBAAuB,GAAG,GAC5B,OAAO,uBAAuB,GAAG;CAInC,IAAI,UAAU,UAAU,GACtB,OAAO;CAGT,MAAM,8BAAO,WAAW,mFAAS;CACjC,IAAI,OAAO,SAAS,YAClB,KAAK,4BAA4B,OAAO,GAAG,GAAG;AAIlD;;;;;;;AAYA,SAAgB,cAAiB,KAAU,OAAgB;CACzD,uBAAuB,KAAK,KAAK;AACnC;;;;;;;AAQA,SAAgB,aAAgB,KAAU,cAAqB;CAC7D,IAAI,uBAAuB,GAAG,GAC5B,OAAO,uBAAuB,GAAG;CAEnC,IAAI,UAAU,UAAU,GACtB,OAAO;CAET,MAAM,IAAI,MAAM,uCAAuC,OAAO,GAAG,GAAG;AACtE"}
1
+ {"version":3,"file":"provide.mjs","names":[],"sources":["../../../src/runtime/provide.ts"],"sourcesContent":["import { getCurrentInstance } from './hooks'\nimport { getMiniProgramRuntimeConsoleWarn } from './platform'\nimport {\n getInstanceProvides,\n isRuntimeAppInstance,\n} from './provideContext'\nimport {\n getGlobalProvidedValue,\n hasGlobalProvidedValue,\n setGlobalProvidedValue,\n} from './provideStore'\n\n// ============================================================================\n// 分层的 provide/inject 机制\n// 用于在组件树内维护依赖注入关系,支持组件与全局两种作用域\n// ============================================================================\n\nexport { setGlobalProvidedValue } from './provideStore'\n\n/**\n * 判断当前是否存在可用的注入上下文。\n *\n * wevu 的依赖注入上下文来自同步 `setup()` 阶段的当前实例。\n */\nexport function hasInjectionContext(): boolean {\n return Boolean(getCurrentInstance())\n}\n\n/**\n * 在组件上下文中向后代注入值(与 Vue 3 行为兼容),若没有当前实例则回落到全局存储。\n *\n * @param key 注入键,可为字符串、Symbol 或对象\n * @param value 提供的值\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * provide(TOKEN_KEY, { data: 'value' })\n * }\n * })\n * ```\n */\nexport function provide<T>(key: any, value: T): void {\n const instance = getCurrentInstance()\n\n if (instance) {\n getInstanceProvides(instance)[key as PropertyKey] = value\n if (isRuntimeAppInstance(instance)) {\n setGlobalProvidedValue(key, value)\n }\n }\n else {\n // 全局模式:无组件实例时,兼容旧代码和纯函数场景\n setGlobalProvidedValue(key, value)\n }\n}\n\n/**\n * 从祖先组件(或全局存储)读取提供的值。\n *\n * @param key 注入键,需与 provide 使用的键保持一致\n * @param defaultValue 未找到提供者时的默认值\n * @returns 匹配到的值或默认值\n *\n * @example\n * ```ts\n * defineComponent({\n * setup() {\n * const data = inject(TOKEN_KEY)\n * const value = inject('key', 'default')\n * }\n * })\n * ```\n */\nexport function inject<T>(key: any, defaultValue: T): T\nexport function inject<T>(key: any): T | undefined\nexport function inject<T>(key: any, defaultValue?: T): T | undefined {\n const instance = getCurrentInstance()\n\n // 优先尝试基于实例的注入,找不到再回退全局\n if (instance) {\n const provides = getInstanceProvides(instance)\n if (key in provides) {\n return provides[key as PropertyKey] as T\n }\n }\n\n // 兼容性回退:尝试读取全局存储\n if (hasGlobalProvidedValue(key)) {\n return getGlobalProvidedValue(key)\n }\n\n // 使用默认值兜底\n if (arguments.length >= 2) {\n return defaultValue as T\n }\n\n const warn = getMiniProgramRuntimeConsoleWarn()\n if (typeof warn === 'function') {\n warn(`wevu.inject:未找到对应 key 的值:${String(key)}`)\n }\n\n return undefined\n}\n\n// ============================================================================\n// 显式的全局 provide/inject API\n// ============================================================================\n\n/**\n * 全局注入值,适用于历史兼容场景。\n *\n * @deprecated 已弃用,仅用于兼容/过渡。推荐优先使用 `provide()`,\n * 在无实例上下文时 `provide()` 会自动回落到全局存储。\n */\nexport function provideGlobal<T>(key: any, value: T): void {\n setGlobalProvidedValue(key, value)\n}\n\n/**\n * 从全局存储读取值,适用于历史兼容场景。\n *\n * @deprecated 已弃用,仅用于兼容/过渡。推荐优先使用 `inject()`,\n * 在无实例上下文时 `inject()` 会自动从全局存储读取。\n */\nexport function injectGlobal<T>(key: any, defaultValue?: T): T {\n if (hasGlobalProvidedValue(key)) {\n return getGlobalProvidedValue(key)\n }\n if (arguments.length >= 2) {\n return defaultValue as T\n }\n throw new Error(`injectGlobal():未找到对应 key 的 provider:${String(key)}`)\n}\n"],"mappings":";;;;;;;;;;;AAwBA,SAAgB,sBAA+B;CAC7C,OAAO,QAAQ,mBAAmB,CAAC;AACrC;;;;;;;;;;;;;;;;AAiBA,SAAgB,QAAW,KAAU,OAAgB;CACnD,MAAM,WAAW,mBAAmB;CAEpC,IAAI,UAAU;EACZ,oBAAoB,QAAQ,CAAC,CAAC,OAAsB;EACpD,IAAI,qBAAqB,QAAQ,GAC/B,uBAAuB,KAAK,KAAK;CAErC,OAGE,uBAAuB,KAAK,KAAK;AAErC;AAqBA,SAAgB,OAAU,KAAU,cAAiC;CACnE,MAAM,WAAW,mBAAmB;CAGpC,IAAI,UAAU;EACZ,MAAM,WAAW,oBAAoB,QAAQ;EAC7C,IAAI,OAAO,UACT,OAAO,SAAS;CAEpB;CAGA,IAAI,uBAAuB,GAAG,GAC5B,OAAO,uBAAuB,GAAG;CAInC,IAAI,UAAU,UAAU,GACtB,OAAO;CAGT,MAAM,OAAO,iCAAiC;CAC9C,IAAI,OAAO,SAAS,YAClB,KAAK,4BAA4B,OAAO,GAAG,GAAG;AAIlD;;;;;;;AAYA,SAAgB,cAAiB,KAAU,OAAgB;CACzD,uBAAuB,KAAK,KAAK;AACnC;;;;;;;AAQA,SAAgB,aAAgB,KAAU,cAAqB;CAC7D,IAAI,uBAAuB,GAAG,GAC5B,OAAO,uBAAuB,GAAG;CAEnC,IAAI,UAAU,UAAU,GACtB,OAAO;CAET,MAAM,IAAI,MAAM,uCAAuC,OAAO,GAAG,GAAG;AACtE"}
@@ -1,9 +1,11 @@
1
+ import { getMiniProgramRuntimeGlobalObject } from "../../platform.mjs";
1
2
  import { callHookList } from "../../hooks/base.mjs";
2
3
  import { resolveRuntimePageLayoutName, syncRuntimePageLayoutState } from "../../pageLayout.mjs";
3
4
  import { getOwnerProxy } from "../../scopedSlots.mjs";
4
5
  import { clearTemplateRefs, scheduleTemplateRefUpdate } from "../../templateRefs.mjs";
5
6
  import { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from "../runtimeInstance.mjs";
6
7
  import { registerRuntimeLayoutHosts, unregisterRuntimeLayoutHosts } from "../../layoutBridge.mjs";
8
+ import { registerNativeComponentDefinition } from "./registerNativeDefinition.mjs";
7
9
  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";
8
10
 
9
11
  //#region src/runtime/register/component/registerDefinition.ts
@@ -16,6 +18,7 @@ function scheduleOwnerTemplateRefUpdate(target) {
16
18
  } catch (_unused) {}
17
19
  }
18
20
  function registerComponentDefinition(options) {
21
+ var _getMiniProgramRuntim;
19
22
  const { runtimeApp, watch, setup, restOptions, pageLifecycleHooks, finalObservers, userLifetimes, userPageLifetimes, finalMethods, finalOptions, applyExtraInstanceFields, templateRefs, layoutHosts, attachWevuPropKeys, setupLifecycle, syncWevuPropsFromInstance, directPropsDerivedKeys, isPage, vueLifecycles, getRuntimeOwnerLabel } = options;
20
23
  const resolveRuntime = (instance) => {
21
24
  var _wevu;
@@ -269,7 +272,7 @@ function registerComponentDefinition(options) {
269
272
  },
270
273
  options: finalOptions
271
274
  };
272
- const statefulHmrBridge = globalThis[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
275
+ const statefulHmrBridge = (_getMiniProgramRuntim = getMiniProgramRuntimeGlobalObject()) === null || _getMiniProgramRuntim === void 0 ? void 0 : _getMiniProgramRuntim[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
273
276
  if (typeof (statefulHmrBridge === null || statefulHmrBridge === void 0 ? void 0 : statefulHmrBridge.trackWevuComponent) === "function") {
274
277
  const definition = statefulHmrBridge.trackWevuComponent(componentDefinition, (instance, stateSnapshot) => {
275
278
  refreshRuntimeInstance(instance, runtimeApp, watch, setup, {
@@ -281,8 +284,8 @@ function registerComponentDefinition(options) {
281
284
  attachRuntimeLayoutHosts(instance);
282
285
  enableDeferredSetData(instance, { rehydrateSetupState: true });
283
286
  });
284
- if (!statefulHmrBridge.isApplying()) Component(definition);
285
- } else Component(componentDefinition);
287
+ if (!statefulHmrBridge.isApplying()) registerNativeComponentDefinition(definition, isPage);
288
+ } else registerNativeComponentDefinition(componentDefinition, isPage);
286
289
  }
287
290
 
288
291
  //#endregion
@@ -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 { getOwnerProxy } from '../../scopedSlots'\nimport { clearTemplateRefs, scheduleTemplateRefUpdate } from '../../templateRefs'\nimport { enableDeferredSetData, mountRuntimeInstance, refreshRuntimeInstance, setRuntimeSetDataVisibility, teardownRuntimeInstance } from '../runtimeInstance'\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}) {\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 } = 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 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 callVueLifecycle(this, 'beforeCreate', args)\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 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 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 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 ready: function ready(this: InternalRuntimeState, ...args: any[]) {\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 callVueLifecycle(this, 'mounted', args)\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 const statefulHmrBridge = (globalThis as Record<string, any>)[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 Component(definition)\n }\n }\n else {\n Component(componentDefinition)\n }\n}\n"],"mappings":";;;;;;;;;AAgCA,SAAS,+BAA+B,QAA8B;CACpE,MAAM,uBAAwB,OAAe;CAC7C,IAAI,OAAO,yBAAyB,YAClC;CAEF,IAAI;EACF,MAAM,QAAQ,qBAAqB,KAAK,MAAM;EAC9C,IAAI,SAAS,UAAU,QACrB,0BAA0B,KAAK;CAEnC,kBACM,CAEN;AACF;AAEA,SAAgB,4BAA0G,SAsBvH;CACD,MAAM,EACJ,YACA,OACA,OACA,aACA,oBACA,gBACA,eACA,mBACA,cACA,cACA,0BACA,cACA,aACA,oBACA,gBACA,2BACA,wBACA,QACA,eACA,yBACE;CAEJ,MAAM,kBAAkB,aAAmC;;EACzD,MAAM,yBAAiB,SAAiB,+CAAW,SAAiB;EACpE,IAAI,eACF,OAAO;EAET,MAAM,eAAgB,SAAiB;EACvC,IAAI,gBAAgB,OAAO,iBAAiB,UAC1C,OAAQ,aAAqB;CAGjC;CAEA,MAAM,2BAA2B,aAAmC;;mDAAC,SAAiB,mGAChF,SAAiB,yEACjB,SAAiB,oDAAO,6EACxB,SAAiB,sEAAa;CAAsB;CAE1D,MAAM,2BAA2B,aAAmC;;EAClE,MAAM,kCAAe,eAAe,QAAQ,qEAAG;EAC/C,IAAI,cACF,OAAO;EAET,MAAM,UAAU,wBAAwB,QAAQ;EAChD,IAAI,OAAO,YAAY,YAAY,SAAS;;GAC1C,yBAAO,cAAc,OAAO,4DAAK;EACnC;EACA,OAAO;CACT;CAEA,MAAM,uBAAuB,aAAmC;EAC9D,MAAM,WAAW,eAAe,QAAQ;EACxC,IAAI,UACF,OAAO;GAAE,SAAS;GAAU,SAAS;EAAM;EAE7C,yBAAyB,QAAQ;EACjC,mBAAmB,QAAQ;EAC3B,qBAAqB,UAAU,YAAY,OAAO,OAAO;GACvD,cAAc;GACd,kBAAkB;EACpB,CAAC;EACD,0BAA0B,QAAQ;EAClC,sBAAsB,QAAQ;EAC9B,OAAO;GAAE,SAAS,eAAe,QAAQ;GAAG,SAAS;EAAK;CAC5D;CAEA,MAAM,oBAAoB,UAAgC,MAAc,SAAgB;EACtF,MAAM,OAAO,cAAc;EAC3B,IAAI,OAAO,SAAS,YAClB,OAAO,KAAK,MAAM,wBAAwB,QAAQ,GAAG,IAAI;CAG7D;CAEA,MAAM,sBAAsB,aAAmC;EAC7D,IAAI,eAAe,QAAQ,KAAK,OAAO,cAAc,YAAY,YAC/D;EAGF,IADe,oBAAoB,QAC1B,CAAC,CAAC,SAAS;GAClB,iBAAiB,UAAU,WAAW,CAAC,CAAC;GACxC,iBAAiB,UAAU,eAAe,CAAC,CAAC;EAC9C;CACF;CAEA,MAAM,oBAA6D,CAAC;CACpE,MAAM,4BAA4B,aAAmC;EACnE,IAAI,CAAC,MAAM,QAAQ,WAAW,KAAK,CAAC,YAAY,QAC9C;EAEF,IAAK,SAAiB,8BACpB;EAEF,MAAM,SAAS,2BAA2B,aAAa,QAAQ;EAC/D,IAAI,QACF,SAAS,+BAA+B;CAE5C;CACA,MAAM,0BAA0B,aAAmC;EACjE,IAAI,CAAC,QACH;EAEF,SAAS,gCAAgC,QAAwB,UAAgC;;GAC/F,MAAM,mCAAe,SAAS,4EAAQ;GACtC,IAAI,CAAC,gBAAgB,OAAO,iBAAiB,UAC3C;GAEF,aAAa,6BAA6B,6BAA6B,MAAM;GAC7E,MAAM,YAAY,WAAW,QAAQ,CAAC,IAAK,6CAAS,CAAC;GACrD,aAAa,8BAA8B;GAC3C,2BAA2B,UAAiC,QAAQ,SAAS;EAC/E;CACF;CACA,IAAI,QAEF,KAAK,MAAM,YAAY;EADQ;EAAqB;EAAiB;EAAqB;EAAmB;CAClE,GAAG;EAC5C,MAAM,WAAY,mBAA2B;EAC7C,IAAI,OAAO,aAAa,YACtB;EAEF,IAAI,OAAQ,aAAqB,cAAc,YAC7C;EAEF,kBAAkB,YAAY,SAAS,iBAA6C,GAAG,MAAa;GAClG,OAAO,SAAS,MAAM,MAAM,IAAI;EAClC;CACF;CAGF,MAAM,sBAAsB;EAC1B,GAAG;EACH,GAAI,SAAS,qBAAqB,CAAC;EACnC,WAAW;EACX,WAAW;GACT,GAAG;GACH,SAAS,SAAS,QAAoC,GAAG,MAAa;IACpE,iBAAiB,MAAM,gBAAgB,IAAI;IAC3C,yBAAyB,IAAI;IAC7B,IAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,QAC9C,OAAO,eAAe,MAAM,wBAAwB;KAClD,OAAO;KACP,cAAc;KACd,YAAY;KACZ,UAAU;IACZ,CAAC;IAEH,mBAAmB,IAAI;IACvB,IAAI,mBAAmB,WAAW;KAChC,IAAI;MACF,qBAAqB,MAAM,YAAY,OAAO,OAAO;OACnD,cAAc;OACd,kBAAkB;MACpB,CAAC;KACH,SACO,OAAO;MACZ,MAAM,QAAQ,qBAAqB,IAAI;MACvC,MAAM,IAAI,MAAM,2CAA2C,MAAM,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG;KAChI;KACA,0BAA0B,IAAI;KAC9B,uBAAuB,IAAI;IAC7B;IACA,IAAI,OAAQ,cAAsB,YAAY,YAC3C,AAAC,cAAsB,QAAQ,MAAM,MAAM,IAAI;GAEpD;GACA,OAAO,SAAS,MAAkC,GAAG,MAAa;IAChE,aAAa,MAAM,WAAW,IAAI;IAClC,IAAI,OAAQ,cAAsB,UAAU,YACzC,AAAC,cAAsB,MAAM,MAAM,MAAM,IAAI;GAElD;GACA,UAAU,SAAS,SAAqC,GAAG,MAAa;IACtE,yBAAyB,IAAI;IAC7B,IAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,UAAU,CAAE,KAAa,yBACvE,OAAO,eAAe,MAAM,wBAAwB;KAClD,OAAO;KACP,cAAc;KACd,YAAY;KACZ,UAAU;IACZ,CAAC;IAEH,mBAAmB,IAAI;IACvB,IAAI,mBAAmB,aAAa,CAAE,KAAa,QACjD,IAAI;KACF,qBAAqB,MAAM,YAAY,OAAO,OAAO;MACnD,cAAc;MACd,kBAAkB;KACpB,CAAC;IACH,SACO,OAAO;KACZ,MAAM,QAAQ,qBAAqB,IAAI;KACvC,MAAM,IAAI,MAAM,4CAA4C,MAAM,KAAK,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG;IACjI;IAEF,0BAA0B,IAAI;IAC9B,iBAAiB,MAAM,WAAW,IAAI;IACtC,iBAAiB,MAAM,eAAe,IAAI;IAC1C,uBAAuB,IAAI;IAC3B,yBAAyB,IAAI;IAC7B,sBAAsB,IAAI;IAC1B,aAAa,MAAM,cAAc,IAAI;IACrC,IAAI,OAAQ,cAAsB,aAAa,YAC5C,AAAC,cAAsB,SAAS,MAAM,MAAM,IAAI;GAErD;GACA,OAAO,SAAS,MAAkC,GAAG,MAAa;IAChE,mBAAmB,IAAI;IACvB,IAAI,UAAU,OAAQ,mBAA2B,YAAY,YAAY;KACvE,MAAM,iBAAiB,QAAS,KAAa,sBAAsB;KAClE,AAAC,mBAA2B,QAAQ,KAAK,MAAM,GAAG,IAAI;KACvD,IAAI,CAAC,gBACH,iBAAiB,MAAM,WAAW,IAAI;KAExC,IAAI,OAAQ,cAAsB,UAAU,YACzC,AAAC,cAAsB,MAAM,MAAM,MAAM,IAAI;KAEhD;IACF;IACA,IAAI,CAAE,KAAa,wBAAwB;KACxC,AAAC,KAAa,yBAAyB;KACxC,0BAA0B,IAAI;KAC9B,+BAA+B,IAAI;KACnC,0BAA0B,YAAY;MACpC,aAAa,MAAM,WAAW,IAAI;MAClC,iBAAiB,MAAM,WAAW,IAAI;MACtC,IAAI,OAAQ,cAAsB,UAAU,YACzC,AAAC,cAAsB,MAAM,MAAM,MAAM,IAAI;KAElD,CAAC;KACD;IACF;IACA,IAAI,OAAQ,cAAsB,UAAU,YACzC,AAAC,cAAsB,MAAM,MAAM,MAAM,IAAI;GAElD;GACA,UAAU,SAAS,SAAqC,GAAG,MAAa;IACtE,iBAAiB,MAAM,iBAAiB,IAAI;IAC5C,iBAAiB,MAAM,iBAAiB,IAAI;IAC5C,+BAA+B,IAAI;IACnC,aAAa,MAAM,cAAc,IAAI;IACrC,IAAI,UAAU,OAAQ,mBAA2B,aAAa,YAAY;KACvE,AAAC,mBAA2B,SAAS,KAAK,MAAM,GAAG,IAAI;KACxD,IAAI,OAAQ,cAAsB,aAAa,YAC5C,AAAC,cAAsB,SAAS,MAAM,MAAM,IAAI;KAEnD,iBAAiB,MAAM,aAAa,IAAI;KACxC,iBAAiB,MAAM,aAAa,IAAI;KACxC;IACF;IACA,kBAAkB,IAAI;IACtB,IAAI,MAAM,QAAQ,WAAW,KAAK,YAAY,UAAW,KAAa,8BAA8B;KAClG,6BAA6B,aAAc,KAAa,4BAA4B;KACpF,OAAQ,KAAa;IACvB;IACA,wBAAwB,IAAI;IAC5B,iBAAiB,MAAM,aAAa,IAAI;IACxC,iBAAiB,MAAM,aAAa,IAAI;IACxC,IAAI,OAAQ,cAAsB,aAAa,YAC5C,AAAC,cAAsB,SAAS,MAAM,MAAM,IAAI;GAErD;GACA,OAAO,SAAS,MAAkC,GAAG,MAAa;IAChE,aAAa,MAAM,WAAW,IAAI;IAClC,IAAI,OAAQ,cAAsB,UAAU,YACzC,AAAC,cAAsB,MAAM,MAAM,MAAM,IAAI;GAElD;EACF;EACA,eAAe;GACb,GAAG;GACH,MAAM,SAAS,KAAiC,GAAG,MAAa;IAC9D,IAAI,UAAU,OAAQ,mBAA2B,WAAW,YAAY;KACrE,AAAC,mBAA2B,OAAO,KAAK,MAAM,GAAG,IAAI;KACtD,IAAI,OAAQ,kBAA0B,SAAS,YAC5C,AAAC,kBAA0B,KAAK,MAAM,MAAM,IAAI;KAEnD;IACF;IACA,4BAA4B,MAAM,IAAI;IACtC,aAAa,MAAM,UAAU,IAAI;IACjC,IAAI,OAAQ,kBAA0B,SAAS,YAC5C,AAAC,kBAA0B,KAAK,MAAM,MAAM,IAAI;GAErD;GACA,MAAM,SAAS,KAAiC,GAAG,MAAa;IAC9D,IAAI,UAAU,OAAQ,mBAA2B,WAAW,YAAY;KACrE,AAAC,mBAA2B,OAAO,KAAK,MAAM,GAAG,IAAI;KACtD,IAAI,OAAQ,kBAA0B,SAAS,YAC5C,AAAC,kBAA0B,KAAK,MAAM,MAAM,IAAI;KAEnD;IACF;IACA,4BAA4B,MAAM,KAAK;IACvC,aAAa,MAAM,UAAU,IAAI;IACjC,IAAI,OAAQ,kBAA0B,SAAS,YAC5C,AAAC,kBAA0B,KAAK,MAAM,MAAM,IAAI;GAErD;GACA,QAAQ,SAAS,OAAmC,GAAG,MAAa;IAClE,IAAI,UAAU,OAAQ,mBAA2B,aAAa,YAAY;KACvE,AAAC,mBAA2B,SAAS,KAAK,MAAM,GAAG,IAAI;KACxD,IAAI,OAAQ,kBAA0B,WAAW,YAC9C,AAAC,kBAA0B,OAAO,MAAM,MAAM,IAAI;KAErD;IACF;IACA,aAAa,MAAM,YAAY,IAAI;IACnC,IAAI,OAAQ,kBAA0B,WAAW,YAC9C,AAAC,kBAA0B,OAAO,MAAM,MAAM,IAAI;GAEvD;GACA,WAAW,SAAS,UAAsC,GAAG,MAAa;IACxE,IAAI,UAAU,OAAQ,mBAA2B,gBAAgB,YAAY;KAC1E,AAAC,mBAA2B,YAAY,KAAK,MAAM,GAAG,IAAI;KAC3D,IAAI,OAAQ,kBAA0B,cAAc,YACjD,AAAC,kBAA0B,UAAU,MAAM,MAAM,IAAI;KAExD;IACF;IACA,aAAa,MAAM,eAAe,IAAI;IACtC,IAAI,OAAQ,kBAA0B,cAAc,YACjD,AAAC,kBAA0B,UAAU,MAAM,MAAM,IAAI;GAE1D;EACF;EACA,SAAS;GACP,GAAG;GACH,GAAG;GACH,CAAC,sCAAsC,SAAS,wBAAkD;;IAChG,MAAM,SAAS,oBAAoB,IAAI;IACvC,IAAI,OAAO,SAAS;KAClB,iBAAiB,MAAM,WAAW,CAAC,CAAC;KACpC,iBAAiB,MAAM,eAAe,CAAC,CAAC;IAC1C;IACA,0BAAO,OAAO,2EAAS;GACzB;EACF;EACA,SAAS;CACX;CACA,MAAM,oBAAqB,WAAmC;CAC9D,IAAI,8EAAO,kBAAmB,wBAAuB,YAAY;EAC/D,MAAM,aAAa,kBAAkB,mBAAmB,sBACtD,UACA,kBACG;GACH,uBAAuB,UAAU,YAAY,OAAO,OAAO;IACzD,kBAAkB;IAClB;GACF,CAAC;GACD,0BAA0B,QAAQ;GAClC,uBAAuB,QAAQ;GAC/B,yBAAyB,QAAQ;GACjC,sBAAsB,UAAU,EAAE,qBAAqB,KAAK,CAAC;EAC/D,CAAC;EACD,IAAI,CAAC,kBAAkB,WAAW,GAChC,UAAU,UAAU;CAExB,OAEE,UAAU,mBAAmB;AAEjC"}
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 { 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}) {\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 } = 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 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 callVueLifecycle(this, 'beforeCreate', args)\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 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 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 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 ready: function ready(this: InternalRuntimeState, ...args: any[]) {\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 callVueLifecycle(this, 'mounted', args)\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 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 }\n else {\n registerNativeComponentDefinition(componentDefinition, isPage)\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { getMiniProgramRuntimeGlobalObject, resolveCurrentMiniProgramPlatform } from "../../platform.mjs";
2
+ import { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY } from "@weapp-core/constants";
3
+
4
+ //#region src/runtime/register/component/registerNativeDefinition.ts
5
+ function createAlipayPageDefinition(componentDefinition) {
6
+ const { lifetimes = {}, methods = {}, observers: _observers, options: _options, pageLifetimes = {}, properties: _properties, ...pageDefinition } = componentDefinition;
7
+ const pageOnLoad = pageDefinition.onLoad;
8
+ return {
9
+ ...pageDefinition,
10
+ ...methods,
11
+ onLoad(...args) {
12
+ var _lifetimes$created, _lifetimes$attached;
13
+ (_lifetimes$created = lifetimes.created) === null || _lifetimes$created === void 0 || _lifetimes$created.apply(this, args);
14
+ const result = pageOnLoad === null || pageOnLoad === void 0 ? void 0 : pageOnLoad.apply(this, args);
15
+ (_lifetimes$attached = lifetimes.attached) === null || _lifetimes$attached === void 0 || _lifetimes$attached.apply(this, args);
16
+ return result;
17
+ },
18
+ onShow(...args) {
19
+ var _pageLifetimes$show;
20
+ return (_pageLifetimes$show = pageLifetimes.show) === null || _pageLifetimes$show === void 0 ? void 0 : _pageLifetimes$show.apply(this, args);
21
+ },
22
+ onReady(...args) {
23
+ var _lifetimes$ready;
24
+ return (_lifetimes$ready = lifetimes.ready) === null || _lifetimes$ready === void 0 ? void 0 : _lifetimes$ready.apply(this, args);
25
+ },
26
+ onHide(...args) {
27
+ var _pageLifetimes$hide;
28
+ return (_pageLifetimes$hide = pageLifetimes.hide) === null || _pageLifetimes$hide === void 0 ? void 0 : _pageLifetimes$hide.apply(this, args);
29
+ },
30
+ onResize(...args) {
31
+ var _pageLifetimes$resize;
32
+ return (_pageLifetimes$resize = pageLifetimes.resize) === null || _pageLifetimes$resize === void 0 ? void 0 : _pageLifetimes$resize.apply(this, args);
33
+ },
34
+ onUnload(...args) {
35
+ var _lifetimes$detached;
36
+ return (_lifetimes$detached = lifetimes.detached) === null || _lifetimes$detached === void 0 ? void 0 : _lifetimes$detached.apply(this, args);
37
+ },
38
+ onError(...args) {
39
+ var _lifetimes$error;
40
+ return (_lifetimes$error = lifetimes.error) === null || _lifetimes$error === void 0 ? void 0 : _lifetimes$error.apply(this, args);
41
+ }
42
+ };
43
+ }
44
+ /**
45
+ * 根据当前宿主注册 wevu 原生定义。
46
+ * 支付宝不支持使用 Component() 注册普通页面,需要转换为 Page() 契约。
47
+ */
48
+ function registerNativeComponentDefinition(componentDefinition, isPage) {
49
+ var _getMiniProgramRuntim;
50
+ const statefulHmrBridge = (_getMiniProgramRuntim = getMiniProgramRuntimeGlobalObject()) === null || _getMiniProgramRuntim === void 0 ? void 0 : _getMiniProgramRuntim[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY];
51
+ if (isPage && resolveCurrentMiniProgramPlatform() === "alipay") {
52
+ const pageDefinition = createAlipayPageDefinition(componentDefinition);
53
+ if (typeof (statefulHmrBridge === null || statefulHmrBridge === void 0 ? void 0 : statefulHmrBridge.Page) === "function") {
54
+ statefulHmrBridge.Page(pageDefinition);
55
+ return;
56
+ }
57
+ Page(pageDefinition);
58
+ return;
59
+ }
60
+ if (typeof (statefulHmrBridge === null || statefulHmrBridge === void 0 ? void 0 : statefulHmrBridge.Component) === "function") {
61
+ statefulHmrBridge.Component(componentDefinition);
62
+ return;
63
+ }
64
+ Component(componentDefinition);
65
+ }
66
+
67
+ //#endregion
68
+ export { registerNativeComponentDefinition };
69
+ //# sourceMappingURL=registerNativeDefinition.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerNativeDefinition.mjs","names":[],"sources":["../../../../../src/runtime/register/component/registerNativeDefinition.ts"],"sourcesContent":["import type { InternalRuntimeState } from '../../types'\nimport { WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY } from '@weapp-core/constants'\nimport { getMiniProgramRuntimeGlobalObject, resolveCurrentMiniProgramPlatform } from '../../platform'\n\nfunction createAlipayPageDefinition(componentDefinition: Record<string, any>) {\n const {\n lifetimes = {},\n methods = {},\n observers: _observers,\n options: _options,\n pageLifetimes = {},\n properties: _properties,\n ...pageDefinition\n } = componentDefinition\n\n const pageOnLoad = pageDefinition.onLoad\n\n return {\n ...pageDefinition,\n ...methods,\n onLoad(this: InternalRuntimeState, ...args: any[]) {\n lifetimes.created?.apply(this, args)\n const result = pageOnLoad?.apply(this, args)\n lifetimes.attached?.apply(this, args)\n return result\n },\n onShow(this: InternalRuntimeState, ...args: any[]) {\n return pageLifetimes.show?.apply(this, args)\n },\n onReady(this: InternalRuntimeState, ...args: any[]) {\n return lifetimes.ready?.apply(this, args)\n },\n onHide(this: InternalRuntimeState, ...args: any[]) {\n return pageLifetimes.hide?.apply(this, args)\n },\n onResize(this: InternalRuntimeState, ...args: any[]) {\n return pageLifetimes.resize?.apply(this, args)\n },\n onUnload(this: InternalRuntimeState, ...args: any[]) {\n return lifetimes.detached?.apply(this, args)\n },\n onError(this: InternalRuntimeState, ...args: any[]) {\n return lifetimes.error?.apply(this, args)\n },\n }\n}\n\n/**\n * 根据当前宿主注册 wevu 原生定义。\n * 支付宝不支持使用 Component() 注册普通页面,需要转换为 Page() 契约。\n */\nexport function registerNativeComponentDefinition(\n componentDefinition: Record<string, any>,\n isPage: boolean,\n) {\n const statefulHmrBridge = getMiniProgramRuntimeGlobalObject()?.[WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY]\n if (isPage && resolveCurrentMiniProgramPlatform() === 'alipay') {\n const pageDefinition = createAlipayPageDefinition(componentDefinition)\n if (typeof statefulHmrBridge?.Page === 'function') {\n statefulHmrBridge.Page(pageDefinition)\n return\n }\n Page(pageDefinition)\n return\n }\n if (typeof statefulHmrBridge?.Component === 'function') {\n statefulHmrBridge.Component(componentDefinition)\n return\n }\n Component(componentDefinition)\n}\n"],"mappings":";;;;AAIA,SAAS,2BAA2B,qBAA0C;CAC5E,MAAM,EACJ,YAAY,CAAC,GACb,UAAU,CAAC,GACX,WAAW,YACX,SAAS,UACT,gBAAgB,CAAC,GACjB,YAAY,aACZ,GAAG,mBACD;CAEJ,MAAM,aAAa,eAAe;CAElC,OAAO;EACL,GAAG;EACH,GAAG;EACH,OAAmC,GAAG,MAAa;;GACjD,gCAAU,yEAAS,MAAM,MAAM,IAAI;GACnC,MAAM,iEAAS,WAAY,MAAM,MAAM,IAAI;GAC3C,iCAAU,4EAAU,MAAM,MAAM,IAAI;GACpC,OAAO;EACT;EACA,OAAmC,GAAG,MAAa;;GACjD,8BAAO,cAAc,gFAAM,MAAM,MAAM,IAAI;EAC7C;EACA,QAAoC,GAAG,MAAa;;GAClD,2BAAO,UAAU,2EAAO,MAAM,MAAM,IAAI;EAC1C;EACA,OAAmC,GAAG,MAAa;;GACjD,8BAAO,cAAc,gFAAM,MAAM,MAAM,IAAI;EAC7C;EACA,SAAqC,GAAG,MAAa;;GACnD,gCAAO,cAAc,sFAAQ,MAAM,MAAM,IAAI;EAC/C;EACA,SAAqC,GAAG,MAAa;;GACnD,8BAAO,UAAU,oFAAU,MAAM,MAAM,IAAI;EAC7C;EACA,QAAoC,GAAG,MAAa;;GAClD,2BAAO,UAAU,2EAAO,MAAM,MAAM,IAAI;EAC1C;CACF;AACF;;;;;AAMA,SAAgB,kCACd,qBACA,QACA;;CACA,MAAM,6CAAoB,kCAAkC,iFAAI;CAChE,IAAI,UAAU,kCAAkC,MAAM,UAAU;EAC9D,MAAM,iBAAiB,2BAA2B,mBAAmB;EACrE,IAAI,8EAAO,kBAAmB,UAAS,YAAY;GACjD,kBAAkB,KAAK,cAAc;GACrC;EACF;EACA,KAAK,cAAc;EACnB;CACF;CACA,IAAI,8EAAO,kBAAmB,eAAc,YAAY;EACtD,kBAAkB,UAAU,mBAAmB;EAC/C;CACF;CACA,UAAU,mBAAmB;AAC/B"}
@@ -25,6 +25,11 @@ function normalizeEventToken(value) {
25
25
  return value.trim().replace(NON_ALNUM_RE, "-").replace(LEADING_TRAILING_DASH_RE, "").toLowerCase();
26
26
  }
27
27
  const DASH_ALNUM_RE = /-([a-z0-9])/g;
28
+ const DATASET_KEY_SEPARATOR_RE = /[-_]/g;
29
+ function resolveNormalizedDatasetValue(dataset, key) {
30
+ const normalizedKey = key.replace(DATASET_KEY_SEPARATOR_RE, "").toLowerCase();
31
+ for (const [datasetKey, value] of Object.entries(dataset !== null && dataset !== void 0 ? dataset : {})) if (datasetKey.replace(DATASET_KEY_SEPARATOR_RE, "").toLowerCase() === normalizedKey) return value;
32
+ }
28
33
  function resolveEventDatasetKey(baseKey, event) {
29
34
  const token = normalizeEventToken(typeof (event === null || event === void 0 ? void 0 : event.type) === "string" ? event.type : "");
30
35
  if (!token) return;
@@ -43,8 +48,16 @@ function resolveDatasetValueByBaseKey(dataset, baseKey, event) {
43
48
  for (const aliasKey of aliasKeys) {
44
49
  const specificKey = resolveEventDatasetKey(aliasKey, event);
45
50
  if (specificKey && (dataset === null || dataset === void 0 ? void 0 : dataset[specificKey]) !== void 0) return dataset[specificKey];
51
+ if (specificKey) {
52
+ const normalizedValue = resolveNormalizedDatasetValue(dataset, specificKey);
53
+ if (normalizedValue !== void 0) return normalizedValue;
54
+ }
55
+ }
56
+ for (const aliasKey of aliasKeys) {
57
+ if ((dataset === null || dataset === void 0 ? void 0 : dataset[aliasKey]) !== void 0) return dataset[aliasKey];
58
+ const normalizedValue = resolveNormalizedDatasetValue(dataset, aliasKey);
59
+ if (normalizedValue !== void 0) return normalizedValue;
46
60
  }
47
- for (const aliasKey of aliasKeys) if ((dataset === null || dataset === void 0 ? void 0 : dataset[aliasKey]) !== void 0) return dataset[aliasKey];
48
61
  }
49
62
  function resolveDatasetEventValue(dataset, baseKey, event) {
50
63
  return resolveDatasetValueByBaseKey(dataset, baseKey, event);
@@ -1 +1 @@
1
- {"version":3,"file":"inline.mjs","names":[],"sources":["../../../../src/runtime/register/inline.ts"],"sourcesContent":["import { isReactive, isRef, reactive } from '../../reactivity'\n\nexport interface InlineExpressionEntry {\n keys: string[]\n indexKeys?: string[]\n scopeResolvers?: Array<InlineExpressionScopeResolver | ((ctx: any, scope: Record<string, any>, event: any) => any) | undefined>\n fn: (ctx: any, scope: Record<string, any>, event: any) => any\n}\n\ninterface InlineExpressionScopeResolver {\n type: 'for-item'\n path: string\n indexKey: string\n}\n\nexport type InlineExpressionMap = Record<string, InlineExpressionEntry>\n\nconst AMP_RE = /&amp;/g\nconst QUOT_RE = /&quot;/g\nconst NUM_QUOT_RE = /&#34;/g\nconst APOS_RE = /&apos;/g\nconst NUM_APOS_RE = /&#39;/g\nconst LT_RE = /&lt;/g\nconst GT_RE = /&gt;/g\n\nexport function decodeWxmlEntities(value: string) {\n return value\n .replace(AMP_RE, '&')\n .replace(QUOT_RE, '\"')\n .replace(NUM_QUOT_RE, '\"')\n .replace(APOS_RE, '\\'')\n .replace(NUM_APOS_RE, '\\'')\n .replace(LT_RE, '<')\n .replace(GT_RE, '>')\n}\n\nfunction normalizeDatasetIndex(value: unknown): number | undefined {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value\n }\n if (typeof value === 'string' && value.trim()) {\n const parsed = Number(value)\n if (Number.isFinite(parsed)) {\n return parsed\n }\n }\n return undefined\n}\n\nconst NON_ALNUM_RE = /[^a-z0-9]+/gi\nconst LEADING_TRAILING_DASH_RE = /^-+|-+$/g\n\nfunction normalizeEventToken(value: string): string {\n return value\n .trim()\n .replace(NON_ALNUM_RE, '-')\n .replace(LEADING_TRAILING_DASH_RE, '')\n .toLowerCase()\n}\n\nconst DASH_ALNUM_RE = /-([a-z0-9])/g\n\nfunction resolveEventDatasetKey(baseKey: string, event: any): string | undefined {\n const eventType = typeof event?.type === 'string' ? event.type : ''\n const token = normalizeEventToken(eventType)\n if (!token) {\n return undefined\n }\n const camelToken = token.replace(DASH_ALNUM_RE, (_, ch: string) => ch.toUpperCase())\n if (!camelToken) {\n return undefined\n }\n return `${baseKey}${camelToken[0].toUpperCase()}${camelToken.slice(1)}`\n}\n\nconst DATASET_KEY_ALIASES: Record<string, string[]> = {\n wvEventDetail: ['wd', 'wvEventDetail'],\n wvHandler: ['wh', 'wvHandler'],\n wvInlineId: ['wi', 'wvInlineId'],\n}\n\nfunction resolveDatasetValueByBaseKey(\n dataset: Record<string, any>,\n baseKey: string,\n event: any,\n) {\n const aliasKeys = DATASET_KEY_ALIASES[baseKey] ?? [baseKey]\n for (const aliasKey of aliasKeys) {\n const specificKey = resolveEventDatasetKey(aliasKey, event)\n if (specificKey && dataset?.[specificKey] !== undefined) {\n return dataset[specificKey]\n }\n }\n for (const aliasKey of aliasKeys) {\n if (dataset?.[aliasKey] !== undefined) {\n return dataset[aliasKey]\n }\n }\n return undefined\n}\n\nexport function resolveDatasetEventValue(\n dataset: Record<string, any>,\n baseKey: string,\n event: any,\n): any {\n return resolveDatasetValueByBaseKey(dataset, baseKey, event)\n}\n\nfunction shouldUseDetailPayload(dataset: Record<string, any>, event: any): boolean {\n const flag = resolveDatasetEventValue(dataset, 'wvEventDetail', event)\n return flag === true || flag === 1 || flag === '1' || flag === 'true'\n}\n\nfunction resolveInlineEventArg(event: any, dataset: Record<string, any>): any {\n if (!shouldUseDetailPayload(dataset, event)) {\n return event\n }\n if (!event || typeof event !== 'object' || !('detail' in event)) {\n return undefined\n }\n return (event as any).detail\n}\n\nfunction getByPath(target: any, path: string) {\n if (!path) {\n return undefined\n }\n const segments = path.split('.').filter(Boolean)\n let current = isRef(target) ? target.value : target\n for (const segment of segments) {\n if (isRef(current)) {\n current = current.value\n }\n if (current == null) {\n return undefined\n }\n current = current[segment]\n }\n if (isRef(current)) {\n return current.value\n }\n return current\n}\n\nfunction normalizeResolvedScopeValue(value: any) {\n if (value == null || typeof value !== 'object') {\n return value\n }\n if (isRef(value) || isReactive(value)) {\n return value\n }\n try {\n return reactive(value)\n }\n catch {\n return value\n }\n}\n\nexport function runInlineExpression(\n ctx: any,\n expr: unknown,\n event: any,\n inlineMap?: InlineExpressionMap,\n) {\n const dataset = (event?.currentTarget as any)?.dataset ?? (event?.target as any)?.dataset ?? {}\n const inlineEvent = resolveInlineEventArg(event, dataset)\n const inlineId = resolveDatasetEventValue(dataset, 'wvInlineId', event)\n if (inlineId && inlineMap) {\n const entry = inlineMap[inlineId]\n if (entry && typeof entry.fn === 'function') {\n const scope: Record<string, any> = {}\n const keys = Array.isArray(entry.keys) ? entry.keys : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n scope[key] = dataset?.[`wvS${i}`]\n }\n const indexKeys = Array.isArray(entry.indexKeys) ? entry.indexKeys : []\n for (let i = 0; i < indexKeys.length; i += 1) {\n const indexKey = indexKeys[i]\n const indexValue = normalizeDatasetIndex(dataset?.[`wvI${i}`])\n if (indexValue !== undefined) {\n scope[indexKey] = indexValue\n }\n }\n const scopeResolvers = Array.isArray(entry.scopeResolvers) ? entry.scopeResolvers : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n const resolver = scopeResolvers[i]\n try {\n let resolved: any\n if (typeof resolver === 'function') {\n resolved = resolver(ctx, scope, inlineEvent)\n }\n else if (resolver && typeof resolver === 'object' && resolver.type === 'for-item') {\n const index = scope[resolver.indexKey]\n const list = getByPath(ctx, resolver.path)\n resolved = list?.[index]\n }\n else {\n continue\n }\n if (resolved !== undefined) {\n scope[key] = normalizeResolvedScopeValue(resolved)\n }\n }\n catch {\n // 解析失败时保持 dataset 快照回退。\n }\n }\n const result = entry.fn(ctx, scope, inlineEvent)\n if (typeof result === 'function') {\n return result.call(ctx, inlineEvent)\n }\n return result\n }\n }\n\n const datasetHandler = resolveDatasetEventValue(dataset, 'wvHandler', event)\n const handlerName = typeof expr === 'string' && expr\n ? expr\n : (typeof datasetHandler === 'string' ? datasetHandler : undefined)\n if (!handlerName) {\n return undefined\n }\n const argsRaw = resolveDatasetEventValue(dataset, 'wvArgs', event)\n let args: any[] = []\n if (Array.isArray(argsRaw)) {\n args = argsRaw\n }\n else if (typeof argsRaw === 'string') {\n try {\n args = JSON.parse(argsRaw)\n }\n catch {\n try {\n args = JSON.parse(decodeWxmlEntities(argsRaw))\n }\n catch {\n args = []\n }\n }\n }\n if (!Array.isArray(args)) {\n args = []\n }\n const resolvedArgs = args.map((item: any) => item === '$event' ? inlineEvent : item)\n const handler = (ctx as any)?.[handlerName]\n if (typeof handler === 'function') {\n return handler.apply(ctx, resolvedArgs)\n }\n return undefined\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"inline.mjs","names":[],"sources":["../../../../src/runtime/register/inline.ts"],"sourcesContent":["import { isReactive, isRef, reactive } from '../../reactivity'\n\nexport interface InlineExpressionEntry {\n keys: string[]\n indexKeys?: string[]\n scopeResolvers?: Array<InlineExpressionScopeResolver | ((ctx: any, scope: Record<string, any>, event: any) => any) | undefined>\n fn: (ctx: any, scope: Record<string, any>, event: any) => any\n}\n\ninterface InlineExpressionScopeResolver {\n type: 'for-item'\n path: string\n indexKey: string\n}\n\nexport type InlineExpressionMap = Record<string, InlineExpressionEntry>\n\nconst AMP_RE = /&amp;/g\nconst QUOT_RE = /&quot;/g\nconst NUM_QUOT_RE = /&#34;/g\nconst APOS_RE = /&apos;/g\nconst NUM_APOS_RE = /&#39;/g\nconst LT_RE = /&lt;/g\nconst GT_RE = /&gt;/g\n\nexport function decodeWxmlEntities(value: string) {\n return value\n .replace(AMP_RE, '&')\n .replace(QUOT_RE, '\"')\n .replace(NUM_QUOT_RE, '\"')\n .replace(APOS_RE, '\\'')\n .replace(NUM_APOS_RE, '\\'')\n .replace(LT_RE, '<')\n .replace(GT_RE, '>')\n}\n\nfunction normalizeDatasetIndex(value: unknown): number | undefined {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value\n }\n if (typeof value === 'string' && value.trim()) {\n const parsed = Number(value)\n if (Number.isFinite(parsed)) {\n return parsed\n }\n }\n return undefined\n}\n\nconst NON_ALNUM_RE = /[^a-z0-9]+/gi\nconst LEADING_TRAILING_DASH_RE = /^-+|-+$/g\n\nfunction normalizeEventToken(value: string): string {\n return value\n .trim()\n .replace(NON_ALNUM_RE, '-')\n .replace(LEADING_TRAILING_DASH_RE, '')\n .toLowerCase()\n}\n\nconst DASH_ALNUM_RE = /-([a-z0-9])/g\nconst DATASET_KEY_SEPARATOR_RE = /[-_]/g\n\nfunction resolveNormalizedDatasetValue(dataset: Record<string, any>, key: string) {\n const normalizedKey = key.replace(DATASET_KEY_SEPARATOR_RE, '').toLowerCase()\n for (const [datasetKey, value] of Object.entries(dataset ?? {})) {\n if (datasetKey.replace(DATASET_KEY_SEPARATOR_RE, '').toLowerCase() === normalizedKey) {\n return value\n }\n }\n return undefined\n}\n\nfunction resolveEventDatasetKey(baseKey: string, event: any): string | undefined {\n const eventType = typeof event?.type === 'string' ? event.type : ''\n const token = normalizeEventToken(eventType)\n if (!token) {\n return undefined\n }\n const camelToken = token.replace(DASH_ALNUM_RE, (_, ch: string) => ch.toUpperCase())\n if (!camelToken) {\n return undefined\n }\n return `${baseKey}${camelToken[0].toUpperCase()}${camelToken.slice(1)}`\n}\n\nconst DATASET_KEY_ALIASES: Record<string, string[]> = {\n wvEventDetail: ['wd', 'wvEventDetail'],\n wvHandler: ['wh', 'wvHandler'],\n wvInlineId: ['wi', 'wvInlineId'],\n}\n\nfunction resolveDatasetValueByBaseKey(\n dataset: Record<string, any>,\n baseKey: string,\n event: any,\n) {\n const aliasKeys = DATASET_KEY_ALIASES[baseKey] ?? [baseKey]\n for (const aliasKey of aliasKeys) {\n const specificKey = resolveEventDatasetKey(aliasKey, event)\n if (specificKey && dataset?.[specificKey] !== undefined) {\n return dataset[specificKey]\n }\n if (specificKey) {\n const normalizedValue = resolveNormalizedDatasetValue(dataset, specificKey)\n if (normalizedValue !== undefined) {\n return normalizedValue\n }\n }\n }\n for (const aliasKey of aliasKeys) {\n if (dataset?.[aliasKey] !== undefined) {\n return dataset[aliasKey]\n }\n const normalizedValue = resolveNormalizedDatasetValue(dataset, aliasKey)\n if (normalizedValue !== undefined) {\n return normalizedValue\n }\n }\n return undefined\n}\n\nexport function resolveDatasetEventValue(\n dataset: Record<string, any>,\n baseKey: string,\n event: any,\n): any {\n return resolveDatasetValueByBaseKey(dataset, baseKey, event)\n}\n\nfunction shouldUseDetailPayload(dataset: Record<string, any>, event: any): boolean {\n const flag = resolveDatasetEventValue(dataset, 'wvEventDetail', event)\n return flag === true || flag === 1 || flag === '1' || flag === 'true'\n}\n\nfunction resolveInlineEventArg(event: any, dataset: Record<string, any>): any {\n if (!shouldUseDetailPayload(dataset, event)) {\n return event\n }\n if (!event || typeof event !== 'object' || !('detail' in event)) {\n return undefined\n }\n return (event as any).detail\n}\n\nfunction getByPath(target: any, path: string) {\n if (!path) {\n return undefined\n }\n const segments = path.split('.').filter(Boolean)\n let current = isRef(target) ? target.value : target\n for (const segment of segments) {\n if (isRef(current)) {\n current = current.value\n }\n if (current == null) {\n return undefined\n }\n current = current[segment]\n }\n if (isRef(current)) {\n return current.value\n }\n return current\n}\n\nfunction normalizeResolvedScopeValue(value: any) {\n if (value == null || typeof value !== 'object') {\n return value\n }\n if (isRef(value) || isReactive(value)) {\n return value\n }\n try {\n return reactive(value)\n }\n catch {\n return value\n }\n}\n\nexport function runInlineExpression(\n ctx: any,\n expr: unknown,\n event: any,\n inlineMap?: InlineExpressionMap,\n) {\n const dataset = (event?.currentTarget as any)?.dataset ?? (event?.target as any)?.dataset ?? {}\n const inlineEvent = resolveInlineEventArg(event, dataset)\n const inlineId = resolveDatasetEventValue(dataset, 'wvInlineId', event)\n if (inlineId && inlineMap) {\n const entry = inlineMap[inlineId]\n if (entry && typeof entry.fn === 'function') {\n const scope: Record<string, any> = {}\n const keys = Array.isArray(entry.keys) ? entry.keys : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n scope[key] = dataset?.[`wvS${i}`]\n }\n const indexKeys = Array.isArray(entry.indexKeys) ? entry.indexKeys : []\n for (let i = 0; i < indexKeys.length; i += 1) {\n const indexKey = indexKeys[i]\n const indexValue = normalizeDatasetIndex(dataset?.[`wvI${i}`])\n if (indexValue !== undefined) {\n scope[indexKey] = indexValue\n }\n }\n const scopeResolvers = Array.isArray(entry.scopeResolvers) ? entry.scopeResolvers : []\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i]\n const resolver = scopeResolvers[i]\n try {\n let resolved: any\n if (typeof resolver === 'function') {\n resolved = resolver(ctx, scope, inlineEvent)\n }\n else if (resolver && typeof resolver === 'object' && resolver.type === 'for-item') {\n const index = scope[resolver.indexKey]\n const list = getByPath(ctx, resolver.path)\n resolved = list?.[index]\n }\n else {\n continue\n }\n if (resolved !== undefined) {\n scope[key] = normalizeResolvedScopeValue(resolved)\n }\n }\n catch {\n // 解析失败时保持 dataset 快照回退。\n }\n }\n const result = entry.fn(ctx, scope, inlineEvent)\n if (typeof result === 'function') {\n return result.call(ctx, inlineEvent)\n }\n return result\n }\n }\n\n const datasetHandler = resolveDatasetEventValue(dataset, 'wvHandler', event)\n const handlerName = typeof expr === 'string' && expr\n ? expr\n : (typeof datasetHandler === 'string' ? datasetHandler : undefined)\n if (!handlerName) {\n return undefined\n }\n const argsRaw = resolveDatasetEventValue(dataset, 'wvArgs', event)\n let args: any[] = []\n if (Array.isArray(argsRaw)) {\n args = argsRaw\n }\n else if (typeof argsRaw === 'string') {\n try {\n args = JSON.parse(argsRaw)\n }\n catch {\n try {\n args = JSON.parse(decodeWxmlEntities(argsRaw))\n }\n catch {\n args = []\n }\n }\n }\n if (!Array.isArray(args)) {\n args = []\n }\n const resolvedArgs = args.map((item: any) => item === '$event' ? inlineEvent : item)\n const handler = (ctx as any)?.[handlerName]\n if (typeof handler === 'function') {\n return handler.apply(ctx, resolvedArgs)\n }\n return undefined\n}\n"],"mappings":"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"}
@@ -344,15 +344,24 @@ function createRuntimeStateSnapshot(runtime, nativeData, preferredState) {
344
344
  const snapshot = {};
345
345
  for (const key of Object.keys(nativeData !== null && nativeData !== void 0 ? nativeData : {})) {
346
346
  if (!Object.prototype.hasOwnProperty.call(runtimeState, key)) continue;
347
+ const setupBinding = setupState === null || setupState === void 0 ? void 0 : setupState[key];
348
+ if (setupState && Object.prototype.hasOwnProperty.call(setupState, key) && !isRef(setupBinding)) continue;
347
349
  if (preferredState && Object.prototype.hasOwnProperty.call(preferredState, key)) {
348
350
  snapshot[key] = cloneInitialSnapshotValue(preferredState[key]);
349
351
  continue;
350
352
  }
351
- const setupBinding = setupState === null || setupState === void 0 ? void 0 : setupState[key];
352
353
  snapshot[key] = cloneInitialSnapshotValue(isRef(setupBinding) ? setupBinding.value : runtimeState[key]);
353
354
  }
354
355
  return snapshot;
355
356
  }
357
+ function collectPlainSetupSnapshotKeys(runtime, nativeData) {
358
+ const setupState = runtime.setupState;
359
+ if (!setupState || !nativeData || typeof nativeData !== "object") return [];
360
+ return Object.keys(nativeData).filter((key) => {
361
+ const setupBinding = setupState[key];
362
+ return Object.prototype.hasOwnProperty.call(setupState, key) && !isRef(setupBinding);
363
+ });
364
+ }
356
365
  function syncRuntimeStateFromNativeData(target, options) {
357
366
  var _options$nativeData;
358
367
  const runtime = target.__wevu;
@@ -419,6 +428,7 @@ function teardownRuntimeInstance(target, options) {
419
428
  function refreshRuntimeInstance(target, runtimeApp, watchMap, setup, options) {
420
429
  const previousRuntime = target.__wevu;
421
430
  const previousRuntimeState = previousRuntime ? createRuntimeStateSnapshot(previousRuntime, target.data, options === null || options === void 0 ? void 0 : options.stateSnapshot) : void 0;
431
+ const plainSetupSnapshotKeys = previousRuntime ? collectPlainSetupSnapshotKeys(previousRuntime, target.data) : [];
422
432
  teardownRuntimeInstance(target, { skipHooks: true });
423
433
  const nextRuntime = mountRuntimeInstance(target, runtimeApp, watchMap, setup, {
424
434
  deferSetData: true,
@@ -426,7 +436,10 @@ function refreshRuntimeInstance(target, runtimeApp, watchMap, setup, options) {
426
436
  });
427
437
  if (previousRuntimeState) {
428
438
  const nativeData = target.data;
429
- if (nativeData && typeof nativeData === "object") Object.assign(nativeData, cloneInitialSnapshotValue(previousRuntimeState));
439
+ if (nativeData && typeof nativeData === "object") {
440
+ for (const key of plainSetupSnapshotKeys) delete nativeData[key];
441
+ Object.assign(nativeData, cloneInitialSnapshotValue(previousRuntimeState));
442
+ }
430
443
  syncRuntimeStateFromNativeData(target, {
431
444
  includeSetupState: true,
432
445
  nativeData: previousRuntimeState
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeInstance.mjs","names":[],"sources":["../../../../src/runtime/register/runtimeInstance.ts"],"sourcesContent":["import type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineAppOptions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeApp,\n RuntimeInstance,\n} from '../types'\nimport type { AdapterWithSetData } from './runtimeInstance/utils'\nimport type { WatchMap } from './watch'\nimport {\n WEVU_EFFECT_SCOPE_KEY,\n WEVU_HOOKS_KEY,\n WEVU_PAGE_LAYOUT_NAME_KEY,\n WEVU_PAGE_LAYOUT_PROPS_KEY,\n WEVU_PAGE_LAYOUT_SETTER_KEY,\n WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY,\n WEVU_PROPS_DERIVED_KEYS_KEY,\n WEVU_PROPS_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_RUNTIME_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n WEVU_WATCH_STOPS_KEY,\n} from '@weapp-core/constants'\nimport { isRef } from '../../reactivity'\nimport { isDeepEqualValue } from '../app/setData/snapshot'\nimport { callHookList } from '../hooks'\nimport { resolveRuntimePageLayoutName, syncRuntimePageLayoutState } from '../pageLayout'\nimport { allocateOwnerId, attachOwnerSnapshot, mergeOwnerSnapshotProps, removeOwner, resolveOwnerSnapshot, updateOwnerSnapshot } from '../scopedSlots'\nimport { clearTemplateRefs, scheduleTemplateRefUpdate } from '../templateRefs'\nimport { bridgeRuntimeMethodsToTarget } from './runtimeInstance/methodBridge'\nimport { attachRuntimeProvideParentContext } from './runtimeInstance/provideContext'\nimport {\n attachRuntimeSlots,\n createNoopWatchStopHandle,\n safeMarkNoSetData,\n} from './runtimeInstance/setupContext'\nimport { runRuntimeSetupPhase } from './runtimeInstance/setupPhase'\nimport {\n attachNativeInstanceRef,\n attachRuntimeInstance,\n attachRuntimeRef,\n callNativeSetData,\n ensureRuntimeProps,\n resolveNativeSetData,\n} from './runtimeInstance/utils'\nimport { createSetDataHighFrequencyWarningMonitor } from './setDataFrequencyWarning'\nimport { registerWatches } from './watch'\n\nfunction cloneInitialSnapshotValue(value: unknown, cache = new WeakMap<object, unknown>()): unknown {\n if (!value || typeof value !== 'object') {\n return value\n }\n if (cache.has(value as object)) {\n return cache.get(value as object)\n }\n if (Array.isArray(value)) {\n const next: unknown[] = []\n cache.set(value, next)\n for (const item of value) {\n next.push(cloneInitialSnapshotValue(item, cache))\n }\n return next\n }\n const next: Record<string, unknown> = {}\n cache.set(value as object, next)\n for (const [key, child] of Object.entries(value as Record<string, unknown>)) {\n next[key] = cloneInitialSnapshotValue(child, cache)\n }\n return next\n}\n\nfunction resolveInitialSnapshotFromNativeData(\n target: InternalRuntimeState,\n omitKeys?: string[],\n extraEntries?: Record<string, unknown>,\n) {\n const data = (target as any).data\n if ((!data || typeof data !== 'object') && (!extraEntries || !Object.keys(extraEntries).length)) {\n return undefined\n }\n const omitSet = Array.isArray(omitKeys) && omitKeys.length\n ? new Set(omitKeys)\n : undefined\n const snapshot: Record<string, any> = {}\n if (data && typeof data === 'object') {\n for (const [key, value] of Object.entries(data as Record<string, unknown>)) {\n if (omitSet?.has(key)) {\n continue\n }\n snapshot[key] = cloneInitialSnapshotValue(value)\n }\n }\n if (extraEntries) {\n for (const [key, value] of Object.entries(extraEntries)) {\n if (omitSet?.has(key)) {\n continue\n }\n snapshot[key] = cloneInitialSnapshotValue(value)\n }\n }\n return snapshot\n}\n\nfunction hasTemplateRuntimeBindings(runtimeApp: RuntimeApp<any, any, any>) {\n return Boolean((runtimeApp as any)?.__wevuHasTemplateRuntimeBindings)\n}\n\ntype RuntimeSetupFunction<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n | DefineAppOptions<D, C, M>['setup']\n\ntype RuntimeInstanceWithSyncFlush<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = RuntimeInstance<D, C, M> & {\n __wevu_flushSetupSnapshotSync?: () => void\n __wevu_touchSetupMethodsVersion?: () => void\n __wevu_trackSetupReactiveKey?: (key: string) => void\n}\n\nfunction attachPageLayoutSetter(target: InternalRuntimeState) {\n if (typeof (target as any).route !== 'string' || !(target as any).route) {\n return\n }\n\n target[WEVU_PAGE_LAYOUT_SETTER_KEY] = (layout: string | false, props?: Record<string, any>) => {\n const runtimeState = target.__wevu?.state as Record<string, any> | undefined\n if (!runtimeState || typeof runtimeState !== 'object') {\n return\n }\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(target as Record<string, any>, layout, nextProps)\n }\n}\n\n/**\n * 挂载运行时实例(框架内部注册流程使用)。\n * @internal\n */\nexport function mountRuntimeInstance<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n target: InternalRuntimeState,\n runtimeApp: RuntimeApp<D, C, M>,\n watchMap: WatchMap | undefined,\n setup?: RuntimeSetupFunction<D, C, M>,\n options?: { deferSetData?: boolean, snapshotOmitKeys?: string[] },\n) {\n if (target.__wevu) {\n return target.__wevu as RuntimeInstance<D, C, M>\n }\n attachRuntimeProvideParentContext(target, runtimeApp as RuntimeApp<any, any, any>)\n safeMarkNoSetData(target)\n const initialNativeOwnerId = (target as any).data?.[WEVU_SLOT_OWNER_ID_KEY]\n const ownerId = typeof initialNativeOwnerId === 'string' && initialNativeOwnerId\n ? initialNativeOwnerId\n : allocateOwnerId()\n const shouldFlushNativeOwnerId = typeof initialNativeOwnerId === 'string' && initialNativeOwnerId !== ownerId\n const suspendWhenHidden = Boolean((runtimeApp as any)?.__wevuSetDataOptions?.suspendWhenHidden)\n const targetLabel = typeof (target as any).route === 'string' && (target as any).route\n ? `page:${(target as any).route}`\n : typeof (target as any).is === 'string' && (target as any).is\n ? `component:${(target as any).is}`\n : 'unknown-target'\n const highFrequencyWarning = createSetDataHighFrequencyWarningMonitor({\n option: (runtimeApp as any)?.__wevuSetDataOptions?.highFrequencyWarning,\n targetLabel,\n isInPageScrollHook: () => Number((target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] ?? 0) > 0,\n })\n const createDeferredAdapter = (instance: InternalRuntimeState): AdapterWithSetData => {\n let pending: Record<string, any> | undefined\n let pendingCallbacks: Array<() => void> = []\n let enabled = false\n const adapter: AdapterWithSetData = {\n setData(payload: Record<string, any>, callback?: () => void) {\n if (!enabled) {\n pending = {\n ...(pending ?? {}),\n ...payload,\n }\n if (callback) {\n pendingCallbacks.push(callback)\n }\n return undefined\n }\n const setData = resolveNativeSetData(instance)\n if (setData) {\n return callNativeSetData(instance, setData, payload, callback)\n }\n return undefined\n },\n }\n adapter.__wevu_enableSetData = (discardPending = false) => {\n enabled = true\n if (discardPending) {\n pending = undefined\n pendingCallbacks = []\n }\n const setData = resolveNativeSetData(instance)\n if (pending && Object.keys(pending).length && setData) {\n const payload = pending\n const callbacks = pendingCallbacks\n pending = undefined\n pendingCallbacks = []\n const callback = callbacks.length\n ? () => callbacks.forEach(callback => callback())\n : undefined\n callNativeSetData(instance, setData, payload, callback)\n }\n }\n return adapter\n }\n\n const baseAdapter: AdapterWithSetData = options?.deferSetData\n ? createDeferredAdapter(target)\n : {\n setData(payload: Record<string, any>, callback?: () => void) {\n const setData = resolveNativeSetData(target)\n if (setData) {\n return callNativeSetData(target, setData, payload, callback)\n }\n return undefined\n },\n }\n let runtimeRef: RuntimeInstance<any, any, any> | undefined\n let visible = true\n let hiddenPendingPayload: Record<string, any> | undefined\n\n const mergePendingPayload = (pending: Record<string, any> | undefined, payload: Record<string, any>) => ({\n ...(pending ?? {}),\n ...payload,\n })\n const refreshOwnerSnapshot = () => {\n if (!runtimeRef) {\n return\n }\n const snapshot = resolveOwnerSnapshot(runtimeRef)\n const propsSource = (target as any)[WEVU_PROPS_KEY] ?? (target as any).properties\n mergeOwnerSnapshotProps(snapshot, propsSource)\n updateOwnerSnapshot(ownerId, snapshot, runtimeRef.proxy, target)\n }\n const syncNativeOwnerId = () => {\n if (!shouldFlushNativeOwnerId) {\n return\n }\n const nativeData = (target as any).data\n try {\n if (nativeData && typeof nativeData === 'object') {\n nativeData[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n }\n catch {\n // 忽略直接写入失败,后续 setData 仍会尝试同步。\n }\n const setData = resolveNativeSetData(target)\n if (!setData) {\n return\n }\n callNativeSetData(target, setData, { [WEVU_SLOT_OWNER_ID_KEY]: ownerId })\n }\n const adapter: AdapterWithSetData = {\n ...(baseAdapter as any),\n setData(payload: Record<string, any>) {\n highFrequencyWarning?.()\n if (suspendWhenHidden && !visible) {\n hiddenPendingPayload = mergePendingPayload(hiddenPendingPayload, payload)\n refreshOwnerSnapshot()\n scheduleTemplateRefUpdate(target)\n return undefined\n }\n const hasTemplateRefs = Array.isArray((target as any)[WEVU_TEMPLATE_REFS_KEY])\n && (target as any)[WEVU_TEMPLATE_REFS_KEY].length > 0\n refreshOwnerSnapshot()\n if (hasTemplateRefs && resolveNativeSetData(target)) {\n return new Promise<void>((resolve) => {\n baseAdapter.setData(payload, () => {\n refreshOwnerSnapshot()\n scheduleTemplateRefUpdate(target)\n resolve()\n })\n })\n }\n const result = baseAdapter.setData(payload)\n scheduleTemplateRefUpdate(target)\n return result\n },\n __wevu_setVisibility(nextVisible: boolean) {\n visible = nextVisible\n if (!visible || !hiddenPendingPayload) {\n return undefined\n }\n const payload = hiddenPendingPayload\n hiddenPendingPayload = undefined\n const hasTemplateRefs = Array.isArray((target as any)[WEVU_TEMPLATE_REFS_KEY])\n && (target as any)[WEVU_TEMPLATE_REFS_KEY].length > 0\n refreshOwnerSnapshot()\n if (hasTemplateRefs && resolveNativeSetData(target)) {\n return new Promise<void>((resolve) => {\n baseAdapter.setData(payload, () => {\n refreshOwnerSnapshot()\n scheduleTemplateRefUpdate(target)\n resolve()\n })\n })\n }\n const result = baseAdapter.setData(payload)\n scheduleTemplateRefUpdate(target)\n return result\n },\n }\n\n const baseMountAdapter = {\n ...(adapter as any),\n }\n Object.defineProperty(baseMountAdapter, '__wevu_targetLabel', {\n configurable: true,\n enumerable: false,\n value: targetLabel,\n writable: false,\n })\n const targetProperties = (target as any).properties\n if (targetProperties && typeof targetProperties === 'object') {\n Object.defineProperty(baseMountAdapter, '__wevu_initialProps', {\n configurable: true,\n enumerable: false,\n value: targetProperties,\n writable: false,\n })\n }\n if (Array.isArray(options?.snapshotOmitKeys) && options.snapshotOmitKeys.length) {\n Object.defineProperty(baseMountAdapter, '__wevu_snapshotOmitKeys', {\n configurable: true,\n enumerable: false,\n value: options.snapshotOmitKeys,\n writable: false,\n })\n }\n const initialSnapshot = resolveInitialSnapshotFromNativeData(\n target,\n options?.snapshotOmitKeys,\n hasTemplateRuntimeBindings(runtimeApp)\n ? undefined\n : { [WEVU_SLOT_OWNER_ID_KEY]: ownerId },\n )\n if (initialSnapshot && Object.keys(initialSnapshot).length) {\n Object.defineProperty(baseMountAdapter, '__wevu_initialSnapshot', {\n configurable: true,\n enumerable: false,\n value: initialSnapshot,\n writable: false,\n })\n }\n Object.defineProperty(baseMountAdapter, '__wevu_initialState', {\n configurable: true,\n enumerable: false,\n value: { [WEVU_SLOT_OWNER_ID_KEY]: ownerId },\n writable: false,\n })\n const shouldDeferInitialSnapshot = Boolean(options?.deferSetData)\n || Boolean(setup)\n || Boolean(targetProperties && typeof targetProperties === 'object' && Object.keys(targetProperties).length > 0)\n if (shouldDeferInitialSnapshot) {\n Object.defineProperty(baseMountAdapter, '__wevu_deferInitialSnapshot', {\n configurable: true,\n enumerable: false,\n value: true,\n writable: false,\n })\n }\n const runtime = runtimeApp.mount(baseMountAdapter)\n runtimeRef = runtime\n attachRuntimeInstance(runtime as RuntimeInstance<any, any, any>, target)\n const runtimeProxy = runtime?.proxy ?? {}\n const runtimeState = runtime?.state ?? {}\n const runtimeSetupState = runtime?.setupState ?? Object.create(null)\n if (runtimeState && typeof runtimeState === 'object') {\n attachRuntimeRef(runtimeState as Record<string, any>, runtime)\n attachNativeInstanceRef(runtimeState as Record<string, any>, target)\n }\n const runtimeComputed = (runtime as any)?.computed ?? Object.create(null)\n // 防护:适配器可能返回不完整的 runtime(或被插件篡改),此处兜底补齐\n if (!runtime?.methods) {\n try {\n ;(runtime as any).methods = Object.create(null)\n }\n catch {\n // 若对象只读则忽略,后续将使用兜底 runtimeMethods\n }\n }\n const runtimeMethods = runtime?.methods ?? Object.create(null)\n const runtimeWatch = (runtime as any)?.watch ?? (() => createNoopWatchStopHandle())\n const runtimeBindModel = (runtime as any)?.bindModel ?? (() => {})\n const runtimeWithDefaults = {\n ...(runtime ?? {}),\n state: runtimeState,\n setupState: runtimeSetupState,\n proxy: runtimeProxy,\n methods: runtimeMethods,\n computed: runtimeComputed,\n watch: runtimeWatch,\n bindModel: runtimeBindModel,\n snapshot: (runtime as any)?.snapshot ?? (() => Object.create(null)),\n unmount: (runtime as any)?.unmount ?? (() => {}),\n } satisfies RuntimeInstance<any, any, any>\n Object.defineProperty(runtimeWithDefaults, '__wevu_initialRuntimeSnapshot', {\n configurable: true,\n enumerable: false,\n value: cloneInitialSnapshotValue(runtimeState),\n writable: false,\n })\n const runtimeWithSyncFlush = runtimeWithDefaults as RuntimeInstanceWithSyncFlush<D, C, M>\n const internalRuntimeFields = {\n __wevu_flushSetupSnapshotSync: (runtime as RuntimeInstanceWithSyncFlush<D, C, M>).__wevu_flushSetupSnapshotSync,\n __wevu_touchSetupMethodsVersion: (runtime as RuntimeInstanceWithSyncFlush<D, C, M>).__wevu_touchSetupMethodsVersion,\n __wevu_trackSetupReactiveKey: (runtime as RuntimeInstanceWithSyncFlush<D, C, M>).__wevu_trackSetupReactiveKey,\n [WEVU_PROPS_DERIVED_KEYS_KEY]: (runtime as any)[WEVU_PROPS_DERIVED_KEYS_KEY],\n }\n for (const [key, value] of Object.entries(internalRuntimeFields)) {\n if (!value) {\n continue\n }\n Object.defineProperty(runtimeWithDefaults, key, {\n configurable: true,\n enumerable: false,\n value,\n writable: true,\n })\n }\n\n Object.defineProperty(target, WEVU_PUBLIC_RUNTIME_KEY, {\n value: runtimeWithDefaults,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n target.__wevu = runtimeWithDefaults\n attachPageLayoutSetter(target)\n const runtimeProps = ensureRuntimeProps(target, runtimeState as Record<string, any>)\n attachRuntimeSlots(runtimeState as Record<string, any>, runtimeProps)\n\n attachOwnerSnapshot(target, runtimeWithDefaults as any, ownerId, {\n deferSnapshot: options?.deferSetData,\n })\n syncNativeOwnerId()\n\n const watchStops = watchMap\n ? registerWatches(runtimeWithDefaults, watchMap, target, {\n deferMissingSourceBaseline: Boolean(setup),\n })\n : []\n if (watchStops.length) {\n target[WEVU_WATCH_STOPS_KEY] = watchStops\n }\n\n if (setup) {\n runRuntimeSetupPhase({\n target,\n runtime,\n runtimeWithDefaults,\n runtimeState: runtimeState as Record<string, any>,\n runtimeProxy: runtimeProxy as Record<string, any>,\n setup,\n })\n if (!options?.deferSetData) {\n runtimeWithSyncFlush.__wevu_flushSetupSnapshotSync?.()\n }\n if (!options?.deferSetData) {\n refreshOwnerSnapshot()\n }\n for (const stop of watchStops) {\n stop.resume()\n }\n }\n else if (\n !options?.deferSetData\n && (target as any).properties\n && typeof (target as any).properties === 'object'\n && Object.keys((target as any).properties).length > 0\n ) {\n runtimeWithSyncFlush.__wevu_flushSetupSnapshotSync?.()\n refreshOwnerSnapshot()\n }\n\n // 将 runtime.methods 透传到原生实例,供小程序事件处理直接调用\n bridgeRuntimeMethodsToTarget(target, runtime)\n\n return runtime\n}\n\nfunction preserveRuntimeFacadeIdentity<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n target: InternalRuntimeState,\n previousRuntime: RuntimeInstance<D, C, M>,\n nextRuntime: RuntimeInstance<D, C, M>,\n) {\n for (const key of Reflect.ownKeys(previousRuntime)) {\n if (!Reflect.has(nextRuntime, key)) {\n const descriptor = Reflect.getOwnPropertyDescriptor(previousRuntime, key)\n if (descriptor?.configurable) {\n Reflect.deleteProperty(previousRuntime, key)\n }\n }\n }\n for (const key of Reflect.ownKeys(nextRuntime)) {\n const descriptor = Reflect.getOwnPropertyDescriptor(nextRuntime, key)\n if (!descriptor) {\n continue\n }\n try {\n Reflect.defineProperty(previousRuntime, key, descriptor)\n }\n catch {\n try {\n ;(previousRuntime as any)[key] = (nextRuntime as any)[key]\n }\n catch {\n // 宿主包装对象仍持有旧 runtime 时,保留无法覆盖的只读字段。\n }\n }\n }\n attachRuntimeRef(previousRuntime.state as Record<string, any>, previousRuntime)\n target.__wevu = previousRuntime\n Object.defineProperty(target, WEVU_PUBLIC_RUNTIME_KEY, {\n value: previousRuntime,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n return previousRuntime\n}\n\nfunction createRuntimeStateSnapshot(\n runtime: RuntimeInstance<any, any, any>,\n nativeData: Record<string, any> | undefined,\n preferredState?: Record<string, any>,\n) {\n const runtimeState = runtime.state as Record<string, any>\n const setupState = runtime.setupState as Record<string, any> | undefined\n const snapshot: Record<string, any> = {}\n for (const key of Object.keys(nativeData ?? {})) {\n if (!Object.prototype.hasOwnProperty.call(runtimeState, key)) {\n continue\n }\n if (preferredState && Object.prototype.hasOwnProperty.call(preferredState, key)) {\n snapshot[key] = cloneInitialSnapshotValue(preferredState[key])\n continue\n }\n const setupBinding = setupState?.[key]\n snapshot[key] = cloneInitialSnapshotValue(isRef(setupBinding) ? setupBinding.value : runtimeState[key])\n }\n return snapshot\n}\n\nfunction syncRuntimeStateFromNativeData(\n target: InternalRuntimeState,\n options?: { includeSetupState?: boolean, nativeData?: Record<string, any> },\n) {\n const runtime = target.__wevu\n const runtimeState = runtime?.state as Record<string, any> | undefined\n const setupState = runtime?.setupState as Record<string, any> | undefined\n const nativeData = options?.nativeData ?? (target as any).data as Record<string, any> | undefined\n if (!runtimeState || typeof runtimeState !== 'object' || !nativeData || typeof nativeData !== 'object') {\n return\n }\n const initialRuntimeSnapshot = (runtime as any)?.__wevu_initialRuntimeSnapshot as Record<string, any> | undefined\n for (const [key, value] of Object.entries(nativeData)) {\n if (!key || key === 'undefined') {\n continue\n }\n if (Object.prototype.hasOwnProperty.call(runtimeState, key)) {\n try {\n const setupBinding = setupState?.[key]\n const runtimeValue = cloneInitialSnapshotValue(value)\n if (!options?.includeSetupState && setupState && Object.prototype.hasOwnProperty.call(setupState, key)) {\n continue\n }\n if (\n !options?.includeSetupState\n && initialRuntimeSnapshot\n && Object.prototype.hasOwnProperty.call(initialRuntimeSnapshot, key)\n && !isDeepEqualValue(runtimeState[key], initialRuntimeSnapshot[key], 20, { keys: 10_000 })\n ) {\n continue\n }\n if (\n !options?.includeSetupState\n && initialRuntimeSnapshot\n && !Object.prototype.hasOwnProperty.call(initialRuntimeSnapshot, key)\n ) {\n continue\n }\n if (isRef(setupBinding)) {\n setupBinding.value = runtimeValue\n continue\n }\n runtimeState[key] = runtimeValue\n }\n catch {\n // DevTools 热更新期间可能带入响应式 state 拒绝写入的临时 data key,跳过即可。\n }\n }\n }\n}\n\nexport function enableDeferredSetData(\n target: InternalRuntimeState,\n options?: { rehydrateSetupState?: boolean },\n) {\n const adapter = (target as any).__wevu?.adapter\n syncRuntimeStateFromNativeData(target, {\n includeSetupState: options?.rehydrateSetupState,\n })\n if (adapter && typeof (adapter as any).__wevu_enableSetData === 'function') {\n ;(adapter as any).__wevu_enableSetData(true)\n }\n ;(target as any).__wevu?.__wevu_flushSetupSnapshotSync?.()\n}\n\nexport function setRuntimeSetDataVisibility(target: InternalRuntimeState, visible: boolean) {\n const adapter = (target as any).__wevu?.adapter\n if (adapter && typeof (adapter as any).__wevu_setVisibility === 'function') {\n ;(adapter as any).__wevu_setVisibility(visible)\n }\n}\n\n/**\n * 卸载运行时实例(框架内部注册流程使用)。\n * @internal\n */\nexport function teardownRuntimeInstance(target: InternalRuntimeState, options?: { skipHooks?: boolean }) {\n const runtime = target.__wevu\n const ownerId = (target as any)[WEVU_RUNTIME_OWNER_ID_KEY]\n ?? (target as any)[WEVU_SLOT_OWNER_ID_KEY]\n if (ownerId) {\n removeOwner(ownerId)\n }\n clearTemplateRefs(target)\n // 触发卸载钩子(仅在 teardown 首次执行时触发)\n if (!options?.skipHooks && runtime && target[WEVU_HOOKS_KEY]) {\n callHookList(target, 'onUnload', [])\n }\n // 清理注册的生命周期钩子\n if (target[WEVU_HOOKS_KEY]) {\n target[WEVU_HOOKS_KEY] = undefined\n }\n const stops = target[WEVU_WATCH_STOPS_KEY]\n if (Array.isArray(stops)) {\n for (const stop of stops) {\n try {\n stop()\n }\n catch {\n // 避免 teardown 中断:单个 stop 失败不阻塞其他清理\n }\n }\n }\n target[WEVU_WATCH_STOPS_KEY] = undefined\n target[WEVU_EFFECT_SCOPE_KEY]?.stop()\n target[WEVU_EFFECT_SCOPE_KEY] = undefined\n if (runtime) {\n runtime.unmount()\n }\n delete target.__wevu\n if (WEVU_PUBLIC_RUNTIME_KEY in target) {\n delete (target as any)[WEVU_PUBLIC_RUNTIME_KEY]\n }\n}\n\n/**\n * 重建运行时实例,同时保持宿主包装对象持有的 runtime facade 身份稳定。\n * @internal\n */\nexport function refreshRuntimeInstance<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n target: InternalRuntimeState,\n runtimeApp: RuntimeApp<D, C, M>,\n watchMap: WatchMap | undefined,\n setup?: RuntimeSetupFunction<D, C, M>,\n options?: { snapshotOmitKeys?: string[], stateSnapshot?: Record<string, any> },\n) {\n const previousRuntime = target.__wevu as RuntimeInstance<D, C, M> | undefined\n const previousRuntimeState = previousRuntime\n ? createRuntimeStateSnapshot(previousRuntime, (target as any).data, options?.stateSnapshot)\n : undefined\n teardownRuntimeInstance(target, { skipHooks: true })\n const nextRuntime = mountRuntimeInstance(target, runtimeApp, watchMap, setup, {\n deferSetData: true,\n snapshotOmitKeys: options?.snapshotOmitKeys,\n })\n if (previousRuntimeState) {\n const nativeData = (target as any).data\n if (nativeData && typeof nativeData === 'object') {\n Object.assign(nativeData, cloneInitialSnapshotValue(previousRuntimeState))\n }\n syncRuntimeStateFromNativeData(target, {\n includeSetupState: true,\n nativeData: previousRuntimeState,\n })\n }\n if (!previousRuntime || previousRuntime === nextRuntime) {\n return nextRuntime\n }\n return preserveRuntimeFacadeIdentity(target, previousRuntime, nextRuntime)\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAoDA,SAAS,0BAA0B,OAAgB,wBAAQ,IAAI,QAAyB,GAAY;CAClG,IAAI,CAAC,SAAS,OAAO,UAAU,UAC7B,OAAO;CAET,IAAI,MAAM,IAAI,KAAe,GAC3B,OAAO,MAAM,IAAI,KAAe;CAElC,IAAI,MAAM,QAAQ,KAAK,GAAG;EACxB,MAAM,OAAkB,CAAC;EACzB,MAAM,IAAI,OAAO,IAAI;EACrB,KAAK,MAAM,QAAQ,OACjB,KAAK,KAAK,0BAA0B,MAAM,KAAK,CAAC;EAElD,OAAO;CACT;CACA,MAAM,OAAgC,CAAC;CACvC,MAAM,IAAI,OAAiB,IAAI;CAC/B,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,KAAgC,GACxE,KAAK,OAAO,0BAA0B,OAAO,KAAK;CAEpD,OAAO;AACT;AAEA,SAAS,qCACP,QACA,UACA,cACA;CACA,MAAM,OAAQ,OAAe;CAC7B,KAAK,CAAC,QAAQ,OAAO,SAAS,cAAc,CAAC,gBAAgB,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,SACtF;CAEF,MAAM,UAAU,MAAM,QAAQ,QAAQ,KAAK,SAAS,SAChD,IAAI,IAAI,QAAQ,IAChB;CACJ,MAAM,WAAgC,CAAC;CACvC,IAAI,QAAQ,OAAO,SAAS,UAC1B,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,IAA+B,GAAG;EAC1E,sDAAI,QAAS,IAAI,GAAG,GAClB;EAEF,SAAS,OAAO,0BAA0B,KAAK;CACjD;CAEF,IAAI,cACF,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,YAAY,GAAG;EACvD,sDAAI,QAAS,IAAI,GAAG,GAClB;EAEF,SAAS,OAAO,0BAA0B,KAAK;CACjD;CAEF,OAAO;AACT;AAEA,SAAS,2BAA2B,YAAuC;CACzE,OAAO,gEAAS,WAAoB,gCAAgC;AACtE;AAmBA,SAAS,uBAAuB,QAA8B;CAC5D,IAAI,OAAQ,OAAe,UAAU,YAAY,CAAE,OAAe,OAChE;CAGF,OAAO,gCAAgC,QAAwB,UAAgC;;EAC7F,MAAM,iCAAe,OAAO,wEAAQ;EACpC,IAAI,CAAC,gBAAgB,OAAO,iBAAiB,UAC3C;EAGF,aAAa,6BAA6B,6BAA6B,MAAM;EAC7E,MAAM,YAAY,WAAW,QAAQ,CAAC,IAAK,6CAAS,CAAC;EACrD,aAAa,8BAA8B;EAC3C,2BAA2B,QAA+B,QAAQ,SAAS;CAC7E;AACF;;;;;AAMA,SAAgB,qBACd,QACA,YACA,UACA,OACA,SACA;;CACA,IAAI,OAAO,QACT,OAAO,OAAO;CAEhB,kCAAkC,QAAQ,UAAuC;CACjF,kBAAkB,MAAM;CACxB,MAAM,gCAAwB,OAAe,oDAAO;CACpD,MAAM,UAAU,OAAO,yBAAyB,YAAY,uBACxD,uBACA,gBAAgB;CACpB,MAAM,2BAA2B,OAAO,yBAAyB,YAAY,yBAAyB;CACtG,MAAM,oBAAoB,+EAAS,WAAoB,gGAAsB,iBAAiB;CAC9F,MAAM,cAAc,OAAQ,OAAe,UAAU,YAAa,OAAe,QAC7E,QAAS,OAAe,UACxB,OAAQ,OAAe,OAAO,YAAa,OAAe,KACxD,aAAc,OAAe,OAC7B;CACN,MAAM,uBAAuB,yCAAyC;EACpE,gFAAS,WAAoB,kGAAsB;EACnD;EACA,0BAA0B;;0CAAQ,OAAe,yGAAoC,CAAC,IAAI;;CAC5F,CAAC;CACD,MAAM,yBAAyB,aAAuD;EACpF,IAAI;EACJ,IAAI,mBAAsC,CAAC;EAC3C,IAAI,UAAU;EACd,MAAM,UAA8B,EAClC,QAAQ,SAA8B,UAAuB;GAC3D,IAAI,CAAC,SAAS;;IACZ,UAAU;KACR,eAAI,sDAAW,CAAC;KAChB,GAAG;IACL;IACA,IAAI,UACF,iBAAiB,KAAK,QAAQ;IAEhC;GACF;GACA,MAAM,UAAU,qBAAqB,QAAQ;GAC7C,IAAI,SACF,OAAO,kBAAkB,UAAU,SAAS,SAAS,QAAQ;EAGjE,EACF;EACA,QAAQ,wBAAwB,iBAAiB,UAAU;GACzD,UAAU;GACV,IAAI,gBAAgB;IAClB,UAAU;IACV,mBAAmB,CAAC;GACtB;GACA,MAAM,UAAU,qBAAqB,QAAQ;GAC7C,IAAI,WAAW,OAAO,KAAK,OAAO,CAAC,CAAC,UAAU,SAAS;IACrD,MAAM,UAAU;IAChB,MAAM,YAAY;IAClB,UAAU;IACV,mBAAmB,CAAC;IACpB,MAAM,WAAW,UAAU,eACjB,UAAU,SAAQ,aAAY,SAAS,CAAC,IAC9C;IACJ,kBAAkB,UAAU,SAAS,SAAS,QAAQ;GACxD;EACF;EACA,OAAO;CACT;CAEA,MAAM,iEAAkC,QAAS,gBAC7C,sBAAsB,MAAM,IAC5B,EACE,QAAQ,SAA8B,UAAuB;EAC3D,MAAM,UAAU,qBAAqB,MAAM;EAC3C,IAAI,SACF,OAAO,kBAAkB,QAAQ,SAAS,SAAS,QAAQ;CAG/D,EACF;CACJ,IAAI;CACJ,IAAI,UAAU;CACd,IAAI;CAEJ,MAAM,uBAAuB,SAA0C,aAAkC;EACvG,GAAI,mDAAW,CAAC;EAChB,GAAG;CACL;CACA,MAAM,6BAA6B;;EACjC,IAAI,CAAC,YACH;EAEF,MAAM,WAAW,qBAAqB,UAAU;EAChD,MAAM,iCAAe,OAAe,4EAAoB,OAAe;EACvE,wBAAwB,UAAU,WAAW;EAC7C,oBAAoB,SAAS,UAAU,WAAW,OAAO,MAAM;CACjE;CACA,MAAM,0BAA0B;EAC9B,IAAI,CAAC,0BACH;EAEF,MAAM,aAAc,OAAe;EACnC,IAAI;GACF,IAAI,cAAc,OAAO,eAAe,UACtC,WAAW,0BAA0B;EAEzC,kBACM,CAEN;EACA,MAAM,UAAU,qBAAqB,MAAM;EAC3C,IAAI,CAAC,SACH;EAEF,kBAAkB,QAAQ,SAAS,GAAG,yBAAyB,QAAQ,CAAC;CAC1E;CAoDA,MAAM,mBAAmB;EAlDvB,GAAI;EACJ,QAAQ,SAA8B;GACpC,yFAAuB;GACvB,IAAI,qBAAqB,CAAC,SAAS;IACjC,uBAAuB,oBAAoB,sBAAsB,OAAO;IACxE,qBAAqB;IACrB,0BAA0B,MAAM;IAChC;GACF;GACA,MAAM,kBAAkB,MAAM,QAAS,OAAe,uBAAuB,KACvE,OAAe,uBAAuB,CAAC,SAAS;GACtD,qBAAqB;GACrB,IAAI,mBAAmB,qBAAqB,MAAM,GAChD,OAAO,IAAI,SAAe,YAAY;IACpC,YAAY,QAAQ,eAAe;KACjC,qBAAqB;KACrB,0BAA0B,MAAM;KAChC,QAAQ;IACV,CAAC;GACH,CAAC;GAEH,MAAM,SAAS,YAAY,QAAQ,OAAO;GAC1C,0BAA0B,MAAM;GAChC,OAAO;EACT;EACA,qBAAqB,aAAsB;GACzC,UAAU;GACV,IAAI,CAAC,WAAW,CAAC,sBACf;GAEF,MAAM,UAAU;GAChB,uBAAuB;GACvB,MAAM,kBAAkB,MAAM,QAAS,OAAe,uBAAuB,KACvE,OAAe,uBAAuB,CAAC,SAAS;GACtD,qBAAqB;GACrB,IAAI,mBAAmB,qBAAqB,MAAM,GAChD,OAAO,IAAI,SAAe,YAAY;IACpC,YAAY,QAAQ,eAAe;KACjC,qBAAqB;KACrB,0BAA0B,MAAM;KAChC,QAAQ;IACV,CAAC;GACH,CAAC;GAEH,MAAM,SAAS,YAAY,QAAQ,OAAO;GAC1C,0BAA0B,MAAM;GAChC,OAAO;EACT;CAKF;CACA,OAAO,eAAe,kBAAkB,sBAAsB;EAC5D,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;CACZ,CAAC;CACD,MAAM,mBAAoB,OAAe;CACzC,IAAI,oBAAoB,OAAO,qBAAqB,UAClD,OAAO,eAAe,kBAAkB,uBAAuB;EAC7D,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;CACZ,CAAC;CAEH,IAAI,MAAM,0DAAQ,QAAS,gBAAgB,KAAK,QAAQ,iBAAiB,QACvE,OAAO,eAAe,kBAAkB,2BAA2B;EACjE,cAAc;EACd,YAAY;EACZ,OAAO,QAAQ;EACf,UAAU;CACZ,CAAC;CAEH,MAAM,kBAAkB,qCACtB,0DACA,QAAS,kBACT,2BAA2B,UAAU,IACjC,SACA,GAAG,yBAAyB,QAAQ,CAC1C;CACA,IAAI,mBAAmB,OAAO,KAAK,eAAe,CAAC,CAAC,QAClD,OAAO,eAAe,kBAAkB,0BAA0B;EAChE,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;CACZ,CAAC;CAEH,OAAO,eAAe,kBAAkB,uBAAuB;EAC7D,cAAc;EACd,YAAY;EACZ,OAAO,GAAG,yBAAyB,QAAQ;EAC3C,UAAU;CACZ,CAAC;CAID,IAHmC,0DAAQ,QAAS,YAAY,KAC3D,QAAQ,KAAK,KACb,QAAQ,oBAAoB,OAAO,qBAAqB,YAAY,OAAO,KAAK,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAE/G,OAAO,eAAe,kBAAkB,+BAA+B;EACrE,cAAc;EACd,YAAY;EACZ,OAAO;EACP,UAAU;CACZ,CAAC;CAEH,MAAM,UAAU,WAAW,MAAM,gBAAgB;CACjD,aAAa;CACb,sBAAsB,SAA2C,MAAM;CACvE,MAAM,mFAAe,QAAS,gEAAS,CAAC;CACxC,MAAM,mFAAe,QAAS,gEAAS,CAAC;CACxC,MAAM,6FAAoB,QAAS,+EAAc,OAAO,OAAO,IAAI;CACnE,IAAI,gBAAgB,OAAO,iBAAiB,UAAU;EACpD,iBAAiB,cAAqC,OAAO;EAC7D,wBAAwB,cAAqC,MAAM;CACrE;CACA,MAAM,iFAAmB,QAAiB,yDAAY,OAAO,OAAO,IAAI;CAExE,IAAI,oDAAC,QAAS,UACZ,IAAI;EACD,AAAC,QAAgB,UAAU,OAAO,OAAO,IAAI;CAChD,mBACM,CAEN;CAEF,MAAM,uFAAiB,QAAS,sEAAW,OAAO,OAAO,IAAI;CAC7D,MAAM,2EAAgB,QAAiB,uDAAgB,0BAA0B;CACjF,MAAM,mFAAoB,QAAiB,mEAAoB,CAAC;CAChE,MAAM,sBAAsB;EAC1B,GAAI,mDAAW,CAAC;EAChB,OAAO;EACP,YAAY;EACZ,OAAO;EACP,SAAS;EACT,UAAU;EACV,OAAO;EACP,WAAW;EACX,yEAAW,QAAiB,gEAAmB,OAAO,OAAO,IAAI;EACjE,uEAAU,QAAiB,6DAAkB,CAAC;CAChD;CACA,OAAO,eAAe,qBAAqB,iCAAiC;EAC1E,cAAc;EACd,YAAY;EACZ,OAAO,0BAA0B,YAAY;EAC7C,UAAU;CACZ,CAAC;CACD,MAAM,uBAAuB;CAC7B,MAAM,wBAAwB;EAC5B,+BAAgC,QAAkD;EAClF,iCAAkC,QAAkD;EACpF,8BAA+B,QAAkD;GAChF,8BAA+B,QAAgB;CAClD;CACA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,qBAAqB,GAAG;EAChE,IAAI,CAAC,OACH;EAEF,OAAO,eAAe,qBAAqB,KAAK;GAC9C,cAAc;GACd,YAAY;GACZ;GACA,UAAU;EACZ,CAAC;CACH;CAEA,OAAO,eAAe,QAAQ,yBAAyB;EACrD,OAAO;EACP,cAAc;EACd,YAAY;EACZ,UAAU;CACZ,CAAC;CACD,OAAO,SAAS;CAChB,uBAAuB,MAAM;CAC7B,MAAM,eAAe,mBAAmB,QAAQ,YAAmC;CACnF,mBAAmB,cAAqC,YAAY;CAEpE,oBAAoB,QAAQ,qBAA4B,SAAS,EAC/D,iEAAe,QAAS,aAC1B,CAAC;CACD,kBAAkB;CAElB,MAAM,aAAa,WACf,gBAAgB,qBAAqB,UAAU,QAAQ,EACrD,4BAA4B,QAAQ,KAAK,EAC3C,CAAC,IACD,CAAC;CACL,IAAI,WAAW,QACb,OAAO,wBAAwB;CAGjC,IAAI,OAAO;EACT,qBAAqB;GACnB;GACA;GACA;GACc;GACA;GACd;EACF,CAAC;EACD,IAAI,oDAAC,QAAS,eAAc;;GAC1B,8CAAqB,8HAAgC;EACvD;EACA,IAAI,oDAAC,QAAS,eACZ,qBAAqB;EAEvB,KAAK,MAAM,QAAQ,YACjB,KAAK,OAAO;CAEhB,OACK,IACH,oDAAC,QAAS,iBACN,OAAe,cAChB,OAAQ,OAAe,eAAe,YACtC,OAAO,KAAM,OAAe,UAAU,CAAC,CAAC,SAAS,GACpD;;EACA,+CAAqB,gIAAgC;EACrD,qBAAqB;CACvB;CAGA,6BAA6B,QAAQ,OAAO;CAE5C,OAAO;AACT;AAEA,SAAS,8BACP,QACA,iBACA,aACA;CACA,KAAK,MAAM,OAAO,QAAQ,QAAQ,eAAe,GAC/C,IAAI,CAAC,QAAQ,IAAI,aAAa,GAAG,GAAG;EAClC,MAAM,aAAa,QAAQ,yBAAyB,iBAAiB,GAAG;EACxE,4DAAI,WAAY,cACd,QAAQ,eAAe,iBAAiB,GAAG;CAE/C;CAEF,KAAK,MAAM,OAAO,QAAQ,QAAQ,WAAW,GAAG;EAC9C,MAAM,aAAa,QAAQ,yBAAyB,aAAa,GAAG;EACpE,IAAI,CAAC,YACH;EAEF,IAAI;GACF,QAAQ,eAAe,iBAAiB,KAAK,UAAU;EACzD,mBACM;GACJ,IAAI;IACD,AAAC,gBAAwB,OAAQ,YAAoB;GACxD,mBACM,CAEN;EACF;CACF;CACA,iBAAiB,gBAAgB,OAA8B,eAAe;CAC9E,OAAO,SAAS;CAChB,OAAO,eAAe,QAAQ,yBAAyB;EACrD,OAAO;EACP,cAAc;EACd,YAAY;EACZ,UAAU;CACZ,CAAC;CACD,OAAO;AACT;AAEA,SAAS,2BACP,SACA,YACA,gBACA;CACA,MAAM,eAAe,QAAQ;CAC7B,MAAM,aAAa,QAAQ;CAC3B,MAAM,WAAgC,CAAC;CACvC,KAAK,MAAM,OAAO,OAAO,KAAK,4DAAc,CAAC,CAAC,GAAG;EAC/C,IAAI,CAAC,OAAO,UAAU,eAAe,KAAK,cAAc,GAAG,GACzD;EAEF,IAAI,kBAAkB,OAAO,UAAU,eAAe,KAAK,gBAAgB,GAAG,GAAG;GAC/E,SAAS,OAAO,0BAA0B,eAAe,IAAI;GAC7D;EACF;EACA,MAAM,uEAAe,WAAa;EAClC,SAAS,OAAO,0BAA0B,MAAM,YAAY,IAAI,aAAa,QAAQ,aAAa,IAAI;CACxG;CACA,OAAO;AACT;AAEA,SAAS,+BACP,QACA,SACA;;CACA,MAAM,UAAU,OAAO;CACvB,MAAM,iEAAe,QAAS;CAC9B,MAAM,+DAAa,QAAS;CAC5B,MAAM,sFAAa,QAAS,+EAAe,OAAe;CAC1D,IAAI,CAAC,gBAAgB,OAAO,iBAAiB,YAAY,CAAC,cAAc,OAAO,eAAe,UAC5F;CAEF,MAAM,2EAA0B,QAAiB;CACjD,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,UAAU,GAAG;EACrD,IAAI,CAAC,OAAO,QAAQ,aAClB;EAEF,IAAI,OAAO,UAAU,eAAe,KAAK,cAAc,GAAG,GACxD,IAAI;GACF,MAAM,uEAAe,WAAa;GAClC,MAAM,eAAe,0BAA0B,KAAK;GACpD,IAAI,oDAAC,QAAS,sBAAqB,cAAc,OAAO,UAAU,eAAe,KAAK,YAAY,GAAG,GACnG;GAEF,IACE,oDAAC,QAAS,sBACP,0BACA,OAAO,UAAU,eAAe,KAAK,wBAAwB,GAAG,KAChE,CAAC,iBAAiB,aAAa,MAAM,uBAAuB,MAAM,IAAI,EAAE,MAAM,IAAO,CAAC,GAEzF;GAEF,IACE,oDAAC,QAAS,sBACP,0BACA,CAAC,OAAO,UAAU,eAAe,KAAK,wBAAwB,GAAG,GAEpE;GAEF,IAAI,MAAM,YAAY,GAAG;IACvB,aAAa,QAAQ;IACrB;GACF;GACA,aAAa,OAAO;EACtB,mBACM,CAEN;CAEJ;AACF;AAEA,SAAgB,sBACd,QACA,SACA;;CACA,MAAM,mBAAW,OAAe,sDAAQ;CACxC,+BAA+B,QAAQ,EACrC,qEAAmB,QAAS,oBAC9B,CAAC;CACD,IAAI,WAAW,OAAQ,QAAgB,yBAAyB,YAC7D,AAAC,QAAgB,qBAAqB,IAAI;CAE5C,UAAC,OAAe,yEAAQ,gHAAgC;AAC3D;AAEA,SAAgB,4BAA4B,QAA8B,SAAkB;;CAC1F,MAAM,oBAAW,OAAe,wDAAQ;CACxC,IAAI,WAAW,OAAQ,QAAgB,yBAAyB,YAC7D,AAAC,QAAgB,qBAAqB,OAAO;AAElD;;;;;AAMA,SAAgB,wBAAwB,QAA8B,SAAmC;;CACvG,MAAM,UAAU,OAAO;CACvB,MAAM,mCAAW,OAAe,mGAC1B,OAAe;CACrB,IAAI,SACF,YAAY,OAAO;CAErB,kBAAkB,MAAM;CAExB,IAAI,oDAAC,QAAS,cAAa,WAAW,OAAO,iBAC3C,aAAa,QAAQ,YAAY,CAAC,CAAC;CAGrC,IAAI,OAAO,iBACT,OAAO,kBAAkB;CAE3B,MAAM,QAAQ,OAAO;CACrB,IAAI,MAAM,QAAQ,KAAK,GACrB,KAAK,MAAM,QAAQ,OACjB,IAAI;EACF,KAAK;CACP,mBACM,CAEN;CAGJ,OAAO,wBAAwB;CAC/B,gCAAO,8FAAwB,KAAK;CACpC,OAAO,yBAAyB;CAChC,IAAI,SACF,QAAQ,QAAQ;CAElB,OAAO,OAAO;CACd,IAAI,2BAA2B,QAC7B,OAAQ,OAAe;AAE3B;;;;;AAMA,SAAgB,uBACd,QACA,YACA,UACA,OACA,SACA;CACA,MAAM,kBAAkB,OAAO;CAC/B,MAAM,uBAAuB,kBACzB,2BAA2B,iBAAkB,OAAe,wDAAM,QAAS,aAAa,IACxF;CACJ,wBAAwB,QAAQ,EAAE,WAAW,KAAK,CAAC;CACnD,MAAM,cAAc,qBAAqB,QAAQ,YAAY,UAAU,OAAO;EAC5E,cAAc;EACd,oEAAkB,QAAS;CAC7B,CAAC;CACD,IAAI,sBAAsB;EACxB,MAAM,aAAc,OAAe;EACnC,IAAI,cAAc,OAAO,eAAe,UACtC,OAAO,OAAO,YAAY,0BAA0B,oBAAoB,CAAC;EAE3E,+BAA+B,QAAQ;GACrC,mBAAmB;GACnB,YAAY;EACd,CAAC;CACH;CACA,IAAI,CAAC,mBAAmB,oBAAoB,aAC1C,OAAO;CAET,OAAO,8BAA8B,QAAQ,iBAAiB,WAAW;AAC3E"}
1
+ {"version":3,"file":"runtimeInstance.mjs","names":[],"sources":["../../../../src/runtime/register/runtimeInstance.ts"],"sourcesContent":["import type {\n ComponentPropsOptions,\n ComputedDefinitions,\n DefineAppOptions,\n DefineComponentOptions,\n InternalRuntimeState,\n MethodDefinitions,\n RuntimeApp,\n RuntimeInstance,\n} from '../types'\nimport type { AdapterWithSetData } from './runtimeInstance/utils'\nimport type { WatchMap } from './watch'\nimport {\n WEVU_EFFECT_SCOPE_KEY,\n WEVU_HOOKS_KEY,\n WEVU_PAGE_LAYOUT_NAME_KEY,\n WEVU_PAGE_LAYOUT_PROPS_KEY,\n WEVU_PAGE_LAYOUT_SETTER_KEY,\n WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY,\n WEVU_PROPS_DERIVED_KEYS_KEY,\n WEVU_PROPS_KEY,\n WEVU_PUBLIC_RUNTIME_KEY,\n WEVU_RUNTIME_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_TEMPLATE_REFS_KEY,\n WEVU_WATCH_STOPS_KEY,\n} from '@weapp-core/constants'\nimport { isRef } from '../../reactivity'\nimport { isDeepEqualValue } from '../app/setData/snapshot'\nimport { callHookList } from '../hooks'\nimport { resolveRuntimePageLayoutName, syncRuntimePageLayoutState } from '../pageLayout'\nimport { allocateOwnerId, attachOwnerSnapshot, mergeOwnerSnapshotProps, removeOwner, resolveOwnerSnapshot, updateOwnerSnapshot } from '../scopedSlots'\nimport { clearTemplateRefs, scheduleTemplateRefUpdate } from '../templateRefs'\nimport { bridgeRuntimeMethodsToTarget } from './runtimeInstance/methodBridge'\nimport { attachRuntimeProvideParentContext } from './runtimeInstance/provideContext'\nimport {\n attachRuntimeSlots,\n createNoopWatchStopHandle,\n safeMarkNoSetData,\n} from './runtimeInstance/setupContext'\nimport { runRuntimeSetupPhase } from './runtimeInstance/setupPhase'\nimport {\n attachNativeInstanceRef,\n attachRuntimeInstance,\n attachRuntimeRef,\n callNativeSetData,\n ensureRuntimeProps,\n resolveNativeSetData,\n} from './runtimeInstance/utils'\nimport { createSetDataHighFrequencyWarningMonitor } from './setDataFrequencyWarning'\nimport { registerWatches } from './watch'\n\nfunction cloneInitialSnapshotValue(value: unknown, cache = new WeakMap<object, unknown>()): unknown {\n if (!value || typeof value !== 'object') {\n return value\n }\n if (cache.has(value as object)) {\n return cache.get(value as object)\n }\n if (Array.isArray(value)) {\n const next: unknown[] = []\n cache.set(value, next)\n for (const item of value) {\n next.push(cloneInitialSnapshotValue(item, cache))\n }\n return next\n }\n const next: Record<string, unknown> = {}\n cache.set(value as object, next)\n for (const [key, child] of Object.entries(value as Record<string, unknown>)) {\n next[key] = cloneInitialSnapshotValue(child, cache)\n }\n return next\n}\n\nfunction resolveInitialSnapshotFromNativeData(\n target: InternalRuntimeState,\n omitKeys?: string[],\n extraEntries?: Record<string, unknown>,\n) {\n const data = (target as any).data\n if ((!data || typeof data !== 'object') && (!extraEntries || !Object.keys(extraEntries).length)) {\n return undefined\n }\n const omitSet = Array.isArray(omitKeys) && omitKeys.length\n ? new Set(omitKeys)\n : undefined\n const snapshot: Record<string, any> = {}\n if (data && typeof data === 'object') {\n for (const [key, value] of Object.entries(data as Record<string, unknown>)) {\n if (omitSet?.has(key)) {\n continue\n }\n snapshot[key] = cloneInitialSnapshotValue(value)\n }\n }\n if (extraEntries) {\n for (const [key, value] of Object.entries(extraEntries)) {\n if (omitSet?.has(key)) {\n continue\n }\n snapshot[key] = cloneInitialSnapshotValue(value)\n }\n }\n return snapshot\n}\n\nfunction hasTemplateRuntimeBindings(runtimeApp: RuntimeApp<any, any, any>) {\n return Boolean((runtimeApp as any)?.__wevuHasTemplateRuntimeBindings)\n}\n\ntype RuntimeSetupFunction<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = DefineComponentOptions<ComponentPropsOptions, D, C, M>['setup']\n | DefineAppOptions<D, C, M>['setup']\n\ntype RuntimeInstanceWithSyncFlush<\n D extends object,\n C extends ComputedDefinitions,\n M extends MethodDefinitions,\n> = RuntimeInstance<D, C, M> & {\n __wevu_flushSetupSnapshotSync?: () => void\n __wevu_touchSetupMethodsVersion?: () => void\n __wevu_trackSetupReactiveKey?: (key: string) => void\n}\n\nfunction attachPageLayoutSetter(target: InternalRuntimeState) {\n if (typeof (target as any).route !== 'string' || !(target as any).route) {\n return\n }\n\n target[WEVU_PAGE_LAYOUT_SETTER_KEY] = (layout: string | false, props?: Record<string, any>) => {\n const runtimeState = target.__wevu?.state as Record<string, any> | undefined\n if (!runtimeState || typeof runtimeState !== 'object') {\n return\n }\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(target as Record<string, any>, layout, nextProps)\n }\n}\n\n/**\n * 挂载运行时实例(框架内部注册流程使用)。\n * @internal\n */\nexport function mountRuntimeInstance<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n target: InternalRuntimeState,\n runtimeApp: RuntimeApp<D, C, M>,\n watchMap: WatchMap | undefined,\n setup?: RuntimeSetupFunction<D, C, M>,\n options?: { deferSetData?: boolean, snapshotOmitKeys?: string[] },\n) {\n if (target.__wevu) {\n return target.__wevu as RuntimeInstance<D, C, M>\n }\n attachRuntimeProvideParentContext(target, runtimeApp as RuntimeApp<any, any, any>)\n safeMarkNoSetData(target)\n const initialNativeOwnerId = (target as any).data?.[WEVU_SLOT_OWNER_ID_KEY]\n const ownerId = typeof initialNativeOwnerId === 'string' && initialNativeOwnerId\n ? initialNativeOwnerId\n : allocateOwnerId()\n const shouldFlushNativeOwnerId = typeof initialNativeOwnerId === 'string' && initialNativeOwnerId !== ownerId\n const suspendWhenHidden = Boolean((runtimeApp as any)?.__wevuSetDataOptions?.suspendWhenHidden)\n const targetLabel = typeof (target as any).route === 'string' && (target as any).route\n ? `page:${(target as any).route}`\n : typeof (target as any).is === 'string' && (target as any).is\n ? `component:${(target as any).is}`\n : 'unknown-target'\n const highFrequencyWarning = createSetDataHighFrequencyWarningMonitor({\n option: (runtimeApp as any)?.__wevuSetDataOptions?.highFrequencyWarning,\n targetLabel,\n isInPageScrollHook: () => Number((target as any)[WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY] ?? 0) > 0,\n })\n const createDeferredAdapter = (instance: InternalRuntimeState): AdapterWithSetData => {\n let pending: Record<string, any> | undefined\n let pendingCallbacks: Array<() => void> = []\n let enabled = false\n const adapter: AdapterWithSetData = {\n setData(payload: Record<string, any>, callback?: () => void) {\n if (!enabled) {\n pending = {\n ...(pending ?? {}),\n ...payload,\n }\n if (callback) {\n pendingCallbacks.push(callback)\n }\n return undefined\n }\n const setData = resolveNativeSetData(instance)\n if (setData) {\n return callNativeSetData(instance, setData, payload, callback)\n }\n return undefined\n },\n }\n adapter.__wevu_enableSetData = (discardPending = false) => {\n enabled = true\n if (discardPending) {\n pending = undefined\n pendingCallbacks = []\n }\n const setData = resolveNativeSetData(instance)\n if (pending && Object.keys(pending).length && setData) {\n const payload = pending\n const callbacks = pendingCallbacks\n pending = undefined\n pendingCallbacks = []\n const callback = callbacks.length\n ? () => callbacks.forEach(callback => callback())\n : undefined\n callNativeSetData(instance, setData, payload, callback)\n }\n }\n return adapter\n }\n\n const baseAdapter: AdapterWithSetData = options?.deferSetData\n ? createDeferredAdapter(target)\n : {\n setData(payload: Record<string, any>, callback?: () => void) {\n const setData = resolveNativeSetData(target)\n if (setData) {\n return callNativeSetData(target, setData, payload, callback)\n }\n return undefined\n },\n }\n let runtimeRef: RuntimeInstance<any, any, any> | undefined\n let visible = true\n let hiddenPendingPayload: Record<string, any> | undefined\n\n const mergePendingPayload = (pending: Record<string, any> | undefined, payload: Record<string, any>) => ({\n ...(pending ?? {}),\n ...payload,\n })\n const refreshOwnerSnapshot = () => {\n if (!runtimeRef) {\n return\n }\n const snapshot = resolveOwnerSnapshot(runtimeRef)\n const propsSource = (target as any)[WEVU_PROPS_KEY] ?? (target as any).properties\n mergeOwnerSnapshotProps(snapshot, propsSource)\n updateOwnerSnapshot(ownerId, snapshot, runtimeRef.proxy, target)\n }\n const syncNativeOwnerId = () => {\n if (!shouldFlushNativeOwnerId) {\n return\n }\n const nativeData = (target as any).data\n try {\n if (nativeData && typeof nativeData === 'object') {\n nativeData[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n }\n catch {\n // 忽略直接写入失败,后续 setData 仍会尝试同步。\n }\n const setData = resolveNativeSetData(target)\n if (!setData) {\n return\n }\n callNativeSetData(target, setData, { [WEVU_SLOT_OWNER_ID_KEY]: ownerId })\n }\n const adapter: AdapterWithSetData = {\n ...(baseAdapter as any),\n setData(payload: Record<string, any>) {\n highFrequencyWarning?.()\n if (suspendWhenHidden && !visible) {\n hiddenPendingPayload = mergePendingPayload(hiddenPendingPayload, payload)\n refreshOwnerSnapshot()\n scheduleTemplateRefUpdate(target)\n return undefined\n }\n const hasTemplateRefs = Array.isArray((target as any)[WEVU_TEMPLATE_REFS_KEY])\n && (target as any)[WEVU_TEMPLATE_REFS_KEY].length > 0\n refreshOwnerSnapshot()\n if (hasTemplateRefs && resolveNativeSetData(target)) {\n return new Promise<void>((resolve) => {\n baseAdapter.setData(payload, () => {\n refreshOwnerSnapshot()\n scheduleTemplateRefUpdate(target)\n resolve()\n })\n })\n }\n const result = baseAdapter.setData(payload)\n scheduleTemplateRefUpdate(target)\n return result\n },\n __wevu_setVisibility(nextVisible: boolean) {\n visible = nextVisible\n if (!visible || !hiddenPendingPayload) {\n return undefined\n }\n const payload = hiddenPendingPayload\n hiddenPendingPayload = undefined\n const hasTemplateRefs = Array.isArray((target as any)[WEVU_TEMPLATE_REFS_KEY])\n && (target as any)[WEVU_TEMPLATE_REFS_KEY].length > 0\n refreshOwnerSnapshot()\n if (hasTemplateRefs && resolveNativeSetData(target)) {\n return new Promise<void>((resolve) => {\n baseAdapter.setData(payload, () => {\n refreshOwnerSnapshot()\n scheduleTemplateRefUpdate(target)\n resolve()\n })\n })\n }\n const result = baseAdapter.setData(payload)\n scheduleTemplateRefUpdate(target)\n return result\n },\n }\n\n const baseMountAdapter = {\n ...(adapter as any),\n }\n Object.defineProperty(baseMountAdapter, '__wevu_targetLabel', {\n configurable: true,\n enumerable: false,\n value: targetLabel,\n writable: false,\n })\n const targetProperties = (target as any).properties\n if (targetProperties && typeof targetProperties === 'object') {\n Object.defineProperty(baseMountAdapter, '__wevu_initialProps', {\n configurable: true,\n enumerable: false,\n value: targetProperties,\n writable: false,\n })\n }\n if (Array.isArray(options?.snapshotOmitKeys) && options.snapshotOmitKeys.length) {\n Object.defineProperty(baseMountAdapter, '__wevu_snapshotOmitKeys', {\n configurable: true,\n enumerable: false,\n value: options.snapshotOmitKeys,\n writable: false,\n })\n }\n const initialSnapshot = resolveInitialSnapshotFromNativeData(\n target,\n options?.snapshotOmitKeys,\n hasTemplateRuntimeBindings(runtimeApp)\n ? undefined\n : { [WEVU_SLOT_OWNER_ID_KEY]: ownerId },\n )\n if (initialSnapshot && Object.keys(initialSnapshot).length) {\n Object.defineProperty(baseMountAdapter, '__wevu_initialSnapshot', {\n configurable: true,\n enumerable: false,\n value: initialSnapshot,\n writable: false,\n })\n }\n Object.defineProperty(baseMountAdapter, '__wevu_initialState', {\n configurable: true,\n enumerable: false,\n value: { [WEVU_SLOT_OWNER_ID_KEY]: ownerId },\n writable: false,\n })\n const shouldDeferInitialSnapshot = Boolean(options?.deferSetData)\n || Boolean(setup)\n || Boolean(targetProperties && typeof targetProperties === 'object' && Object.keys(targetProperties).length > 0)\n if (shouldDeferInitialSnapshot) {\n Object.defineProperty(baseMountAdapter, '__wevu_deferInitialSnapshot', {\n configurable: true,\n enumerable: false,\n value: true,\n writable: false,\n })\n }\n const runtime = runtimeApp.mount(baseMountAdapter)\n runtimeRef = runtime\n attachRuntimeInstance(runtime as RuntimeInstance<any, any, any>, target)\n const runtimeProxy = runtime?.proxy ?? {}\n const runtimeState = runtime?.state ?? {}\n const runtimeSetupState = runtime?.setupState ?? Object.create(null)\n if (runtimeState && typeof runtimeState === 'object') {\n attachRuntimeRef(runtimeState as Record<string, any>, runtime)\n attachNativeInstanceRef(runtimeState as Record<string, any>, target)\n }\n const runtimeComputed = (runtime as any)?.computed ?? Object.create(null)\n // 防护:适配器可能返回不完整的 runtime(或被插件篡改),此处兜底补齐\n if (!runtime?.methods) {\n try {\n ;(runtime as any).methods = Object.create(null)\n }\n catch {\n // 若对象只读则忽略,后续将使用兜底 runtimeMethods\n }\n }\n const runtimeMethods = runtime?.methods ?? Object.create(null)\n const runtimeWatch = (runtime as any)?.watch ?? (() => createNoopWatchStopHandle())\n const runtimeBindModel = (runtime as any)?.bindModel ?? (() => {})\n const runtimeWithDefaults = {\n ...(runtime ?? {}),\n state: runtimeState,\n setupState: runtimeSetupState,\n proxy: runtimeProxy,\n methods: runtimeMethods,\n computed: runtimeComputed,\n watch: runtimeWatch,\n bindModel: runtimeBindModel,\n snapshot: (runtime as any)?.snapshot ?? (() => Object.create(null)),\n unmount: (runtime as any)?.unmount ?? (() => {}),\n } satisfies RuntimeInstance<any, any, any>\n Object.defineProperty(runtimeWithDefaults, '__wevu_initialRuntimeSnapshot', {\n configurable: true,\n enumerable: false,\n value: cloneInitialSnapshotValue(runtimeState),\n writable: false,\n })\n const runtimeWithSyncFlush = runtimeWithDefaults as RuntimeInstanceWithSyncFlush<D, C, M>\n const internalRuntimeFields = {\n __wevu_flushSetupSnapshotSync: (runtime as RuntimeInstanceWithSyncFlush<D, C, M>).__wevu_flushSetupSnapshotSync,\n __wevu_touchSetupMethodsVersion: (runtime as RuntimeInstanceWithSyncFlush<D, C, M>).__wevu_touchSetupMethodsVersion,\n __wevu_trackSetupReactiveKey: (runtime as RuntimeInstanceWithSyncFlush<D, C, M>).__wevu_trackSetupReactiveKey,\n [WEVU_PROPS_DERIVED_KEYS_KEY]: (runtime as any)[WEVU_PROPS_DERIVED_KEYS_KEY],\n }\n for (const [key, value] of Object.entries(internalRuntimeFields)) {\n if (!value) {\n continue\n }\n Object.defineProperty(runtimeWithDefaults, key, {\n configurable: true,\n enumerable: false,\n value,\n writable: true,\n })\n }\n\n Object.defineProperty(target, WEVU_PUBLIC_RUNTIME_KEY, {\n value: runtimeWithDefaults,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n target.__wevu = runtimeWithDefaults\n attachPageLayoutSetter(target)\n const runtimeProps = ensureRuntimeProps(target, runtimeState as Record<string, any>)\n attachRuntimeSlots(runtimeState as Record<string, any>, runtimeProps)\n\n attachOwnerSnapshot(target, runtimeWithDefaults as any, ownerId, {\n deferSnapshot: options?.deferSetData,\n })\n syncNativeOwnerId()\n\n const watchStops = watchMap\n ? registerWatches(runtimeWithDefaults, watchMap, target, {\n deferMissingSourceBaseline: Boolean(setup),\n })\n : []\n if (watchStops.length) {\n target[WEVU_WATCH_STOPS_KEY] = watchStops\n }\n\n if (setup) {\n runRuntimeSetupPhase({\n target,\n runtime,\n runtimeWithDefaults,\n runtimeState: runtimeState as Record<string, any>,\n runtimeProxy: runtimeProxy as Record<string, any>,\n setup,\n })\n if (!options?.deferSetData) {\n runtimeWithSyncFlush.__wevu_flushSetupSnapshotSync?.()\n }\n if (!options?.deferSetData) {\n refreshOwnerSnapshot()\n }\n for (const stop of watchStops) {\n stop.resume()\n }\n }\n else if (\n !options?.deferSetData\n && (target as any).properties\n && typeof (target as any).properties === 'object'\n && Object.keys((target as any).properties).length > 0\n ) {\n runtimeWithSyncFlush.__wevu_flushSetupSnapshotSync?.()\n refreshOwnerSnapshot()\n }\n\n // 将 runtime.methods 透传到原生实例,供小程序事件处理直接调用\n bridgeRuntimeMethodsToTarget(target, runtime)\n\n return runtime\n}\n\nfunction preserveRuntimeFacadeIdentity<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n target: InternalRuntimeState,\n previousRuntime: RuntimeInstance<D, C, M>,\n nextRuntime: RuntimeInstance<D, C, M>,\n) {\n for (const key of Reflect.ownKeys(previousRuntime)) {\n if (!Reflect.has(nextRuntime, key)) {\n const descriptor = Reflect.getOwnPropertyDescriptor(previousRuntime, key)\n if (descriptor?.configurable) {\n Reflect.deleteProperty(previousRuntime, key)\n }\n }\n }\n for (const key of Reflect.ownKeys(nextRuntime)) {\n const descriptor = Reflect.getOwnPropertyDescriptor(nextRuntime, key)\n if (!descriptor) {\n continue\n }\n try {\n Reflect.defineProperty(previousRuntime, key, descriptor)\n }\n catch {\n try {\n ;(previousRuntime as any)[key] = (nextRuntime as any)[key]\n }\n catch {\n // 宿主包装对象仍持有旧 runtime 时,保留无法覆盖的只读字段。\n }\n }\n }\n attachRuntimeRef(previousRuntime.state as Record<string, any>, previousRuntime)\n target.__wevu = previousRuntime\n Object.defineProperty(target, WEVU_PUBLIC_RUNTIME_KEY, {\n value: previousRuntime,\n configurable: true,\n enumerable: false,\n writable: false,\n })\n return previousRuntime\n}\n\nfunction createRuntimeStateSnapshot(\n runtime: RuntimeInstance<any, any, any>,\n nativeData: Record<string, any> | undefined,\n preferredState?: Record<string, any>,\n) {\n const runtimeState = runtime.state as Record<string, any>\n const setupState = runtime.setupState as Record<string, any> | undefined\n const snapshot: Record<string, any> = {}\n for (const key of Object.keys(nativeData ?? {})) {\n if (!Object.prototype.hasOwnProperty.call(runtimeState, key)) {\n continue\n }\n const setupBinding = setupState?.[key]\n if (setupState && Object.prototype.hasOwnProperty.call(setupState, key) && !isRef(setupBinding)) {\n continue\n }\n if (preferredState && Object.prototype.hasOwnProperty.call(preferredState, key)) {\n snapshot[key] = cloneInitialSnapshotValue(preferredState[key])\n continue\n }\n snapshot[key] = cloneInitialSnapshotValue(isRef(setupBinding) ? setupBinding.value : runtimeState[key])\n }\n return snapshot\n}\n\nfunction collectPlainSetupSnapshotKeys(\n runtime: RuntimeInstance<any, any, any>,\n nativeData: Record<string, any> | undefined,\n) {\n const setupState = runtime.setupState as Record<string, any> | undefined\n if (!setupState || !nativeData || typeof nativeData !== 'object') {\n return []\n }\n return Object.keys(nativeData).filter((key) => {\n const setupBinding = setupState[key]\n return Object.prototype.hasOwnProperty.call(setupState, key) && !isRef(setupBinding)\n })\n}\n\nfunction syncRuntimeStateFromNativeData(\n target: InternalRuntimeState,\n options?: { includeSetupState?: boolean, nativeData?: Record<string, any> },\n) {\n const runtime = target.__wevu\n const runtimeState = runtime?.state as Record<string, any> | undefined\n const setupState = runtime?.setupState as Record<string, any> | undefined\n const nativeData = options?.nativeData ?? (target as any).data as Record<string, any> | undefined\n if (!runtimeState || typeof runtimeState !== 'object' || !nativeData || typeof nativeData !== 'object') {\n return\n }\n const initialRuntimeSnapshot = (runtime as any)?.__wevu_initialRuntimeSnapshot as Record<string, any> | undefined\n for (const [key, value] of Object.entries(nativeData)) {\n if (!key || key === 'undefined') {\n continue\n }\n if (Object.prototype.hasOwnProperty.call(runtimeState, key)) {\n try {\n const setupBinding = setupState?.[key]\n const runtimeValue = cloneInitialSnapshotValue(value)\n if (!options?.includeSetupState && setupState && Object.prototype.hasOwnProperty.call(setupState, key)) {\n continue\n }\n if (\n !options?.includeSetupState\n && initialRuntimeSnapshot\n && Object.prototype.hasOwnProperty.call(initialRuntimeSnapshot, key)\n && !isDeepEqualValue(runtimeState[key], initialRuntimeSnapshot[key], 20, { keys: 10_000 })\n ) {\n continue\n }\n if (\n !options?.includeSetupState\n && initialRuntimeSnapshot\n && !Object.prototype.hasOwnProperty.call(initialRuntimeSnapshot, key)\n ) {\n continue\n }\n if (isRef(setupBinding)) {\n setupBinding.value = runtimeValue\n continue\n }\n runtimeState[key] = runtimeValue\n }\n catch {\n // DevTools 热更新期间可能带入响应式 state 拒绝写入的临时 data key,跳过即可。\n }\n }\n }\n}\n\nexport function enableDeferredSetData(\n target: InternalRuntimeState,\n options?: { rehydrateSetupState?: boolean },\n) {\n const adapter = (target as any).__wevu?.adapter\n syncRuntimeStateFromNativeData(target, {\n includeSetupState: options?.rehydrateSetupState,\n })\n if (adapter && typeof (adapter as any).__wevu_enableSetData === 'function') {\n ;(adapter as any).__wevu_enableSetData(true)\n }\n ;(target as any).__wevu?.__wevu_flushSetupSnapshotSync?.()\n}\n\nexport function setRuntimeSetDataVisibility(target: InternalRuntimeState, visible: boolean) {\n const adapter = (target as any).__wevu?.adapter\n if (adapter && typeof (adapter as any).__wevu_setVisibility === 'function') {\n ;(adapter as any).__wevu_setVisibility(visible)\n }\n}\n\n/**\n * 卸载运行时实例(框架内部注册流程使用)。\n * @internal\n */\nexport function teardownRuntimeInstance(target: InternalRuntimeState, options?: { skipHooks?: boolean }) {\n const runtime = target.__wevu\n const ownerId = (target as any)[WEVU_RUNTIME_OWNER_ID_KEY]\n ?? (target as any)[WEVU_SLOT_OWNER_ID_KEY]\n if (ownerId) {\n removeOwner(ownerId)\n }\n clearTemplateRefs(target)\n // 触发卸载钩子(仅在 teardown 首次执行时触发)\n if (!options?.skipHooks && runtime && target[WEVU_HOOKS_KEY]) {\n callHookList(target, 'onUnload', [])\n }\n // 清理注册的生命周期钩子\n if (target[WEVU_HOOKS_KEY]) {\n target[WEVU_HOOKS_KEY] = undefined\n }\n const stops = target[WEVU_WATCH_STOPS_KEY]\n if (Array.isArray(stops)) {\n for (const stop of stops) {\n try {\n stop()\n }\n catch {\n // 避免 teardown 中断:单个 stop 失败不阻塞其他清理\n }\n }\n }\n target[WEVU_WATCH_STOPS_KEY] = undefined\n target[WEVU_EFFECT_SCOPE_KEY]?.stop()\n target[WEVU_EFFECT_SCOPE_KEY] = undefined\n if (runtime) {\n runtime.unmount()\n }\n delete target.__wevu\n if (WEVU_PUBLIC_RUNTIME_KEY in target) {\n delete (target as any)[WEVU_PUBLIC_RUNTIME_KEY]\n }\n}\n\n/**\n * 重建运行时实例,同时保持宿主包装对象持有的 runtime facade 身份稳定。\n * @internal\n */\nexport function refreshRuntimeInstance<D extends object, C extends ComputedDefinitions, M extends MethodDefinitions>(\n target: InternalRuntimeState,\n runtimeApp: RuntimeApp<D, C, M>,\n watchMap: WatchMap | undefined,\n setup?: RuntimeSetupFunction<D, C, M>,\n options?: { snapshotOmitKeys?: string[], stateSnapshot?: Record<string, any> },\n) {\n const previousRuntime = target.__wevu as RuntimeInstance<D, C, M> | undefined\n const previousRuntimeState = previousRuntime\n ? createRuntimeStateSnapshot(previousRuntime, (target as any).data, options?.stateSnapshot)\n : undefined\n const plainSetupSnapshotKeys = previousRuntime\n ? collectPlainSetupSnapshotKeys(previousRuntime, (target as any).data)\n : []\n teardownRuntimeInstance(target, { skipHooks: true })\n const nextRuntime = mountRuntimeInstance(target, runtimeApp, watchMap, setup, {\n deferSetData: true,\n snapshotOmitKeys: options?.snapshotOmitKeys,\n })\n if (previousRuntimeState) {\n const nativeData = (target as any).data\n if (nativeData && typeof nativeData === 'object') {\n for (const key of plainSetupSnapshotKeys) {\n delete nativeData[key]\n }\n Object.assign(nativeData, cloneInitialSnapshotValue(previousRuntimeState))\n }\n syncRuntimeStateFromNativeData(target, {\n includeSetupState: true,\n nativeData: previousRuntimeState,\n })\n }\n if (!previousRuntime || previousRuntime === nextRuntime) {\n return nextRuntime\n }\n return preserveRuntimeFacadeIdentity(target, previousRuntime, nextRuntime)\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getCurrentMiniProgramHostConfig, getMiniProgramGlobalObject } from "../platform.mjs";
1
+ import { getCurrentMiniProgramHostConfig, getMiniProgramGlobalObject, getMiniProgramRuntimeConsoleWarn } from "../platform.mjs";
2
2
 
3
3
  //#region src/runtime/register/setDataFrequencyWarning.ts
4
4
  function isObject(value) {
@@ -63,8 +63,7 @@ function createSetDataHighFrequencyWarningMonitor(options) {
63
63
  if (resolved.devOnly && !isDev) return;
64
64
  const now = (_options$now = options.now) !== null && _options$now !== void 0 ? _options$now : (() => Date.now());
65
65
  const logger = (_options$logger = options.logger) !== null && _options$logger !== void 0 ? _options$logger : ((message) => {
66
- var _globalThis;
67
- const runtimeConsoleWarn = (_globalThis = globalThis) === null || _globalThis === void 0 || (_globalThis = _globalThis.console) === null || _globalThis === void 0 ? void 0 : _globalThis.warn;
66
+ const runtimeConsoleWarn = getMiniProgramRuntimeConsoleWarn();
68
67
  if (typeof runtimeConsoleWarn === "function") runtimeConsoleWarn(message);
69
68
  });
70
69
  const callTimes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"setDataFrequencyWarning.mjs","names":[],"sources":["../../../../src/runtime/register/setDataFrequencyWarning.ts"],"sourcesContent":["import type { SetDataSnapshotOptions } from '../types'\nimport { getCurrentMiniProgramHostConfig, getMiniProgramGlobalObject } from '../platform'\n\ninterface ResolvedHighFrequencyWarningOptions {\n enabled: boolean\n devOnly: boolean\n sampleWindowMs: number\n maxCalls: number\n coolDownMs: number\n warnOnPageScroll: boolean\n pageScrollCoolDownMs: number\n}\n\ninterface CreateHighFrequencyWarningMonitorOptions {\n option: SetDataSnapshotOptions['highFrequencyWarning']\n targetLabel: string\n isInPageScrollHook?: () => boolean\n now?: () => number\n logger?: (message: string) => void\n}\n\nfunction isObject(value: unknown): value is Record<string, any> {\n return !!value && typeof value === 'object' && !Array.isArray(value)\n}\n\n/**\n * 解析 setData 高频告警配置。\n */\nexport function resolveHighFrequencyWarningOptions(\n option: SetDataSnapshotOptions['highFrequencyWarning'],\n): ResolvedHighFrequencyWarningOptions {\n const defaults = {\n devOnly: true,\n sampleWindowMs: 1000,\n maxCalls: 30,\n coolDownMs: 5000,\n warnOnPageScroll: true,\n pageScrollCoolDownMs: 2000,\n }\n\n if (option === undefined || option === false) {\n return {\n ...defaults,\n enabled: false,\n }\n }\n if (option === true) {\n return {\n ...defaults,\n enabled: true,\n }\n }\n if (!isObject(option)) {\n return {\n ...defaults,\n enabled: false,\n }\n }\n return {\n enabled: option.enabled ?? true,\n devOnly: option.devOnly ?? defaults.devOnly,\n sampleWindowMs: typeof option.sampleWindowMs === 'number'\n ? Math.max(100, Math.floor(option.sampleWindowMs))\n : defaults.sampleWindowMs,\n maxCalls: typeof option.maxCalls === 'number'\n ? Math.max(1, Math.floor(option.maxCalls))\n : defaults.maxCalls,\n coolDownMs: typeof option.coolDownMs === 'number'\n ? Math.max(0, Math.floor(option.coolDownMs))\n : defaults.coolDownMs,\n warnOnPageScroll: option.warnOnPageScroll ?? defaults.warnOnPageScroll,\n pageScrollCoolDownMs: typeof option.pageScrollCoolDownMs === 'number'\n ? Math.max(0, Math.floor(option.pageScrollCoolDownMs))\n : defaults.pageScrollCoolDownMs,\n }\n}\n\n/**\n * 判断当前是否为开发态运行环境。\n */\nexport function isDevelopmentRuntime(): boolean {\n const miniProgramHostConfig = getCurrentMiniProgramHostConfig()\n if (miniProgramHostConfig?.debug === true || miniProgramHostConfig?.envVersion === 'develop') {\n return true\n }\n\n const miniProgramGlobal = getMiniProgramGlobalObject()\n try {\n const envVersion = miniProgramGlobal?.getAccountInfoSync?.()?.miniProgram?.envVersion\n if (envVersion === 'develop') {\n return true\n }\n }\n catch {\n // 忽略运行环境不支持 getAccountInfoSync 的异常\n }\n\n return false\n}\n\n/**\n * 创建 setData 高频调用告警监视器。\n */\nexport function createSetDataHighFrequencyWarningMonitor(\n options: CreateHighFrequencyWarningMonitorOptions,\n) {\n const resolved = resolveHighFrequencyWarningOptions(options.option)\n if (!resolved.enabled) {\n return undefined\n }\n\n const isDev = isDevelopmentRuntime()\n if (resolved.devOnly && !isDev) {\n return undefined\n }\n\n const now = options.now ?? (() => Date.now())\n const logger = options.logger ?? ((message: string) => {\n const runtimeConsoleWarn = (globalThis as Record<string, any>)?.console?.warn\n if (typeof runtimeConsoleWarn === 'function') {\n runtimeConsoleWarn(message)\n }\n })\n\n const callTimes: number[] = []\n let lastWarnAt = Number.NEGATIVE_INFINITY\n let lastPageScrollWarnAt = Number.NEGATIVE_INFINITY\n\n return () => {\n const current = now()\n callTimes.push(current)\n\n const windowStart = current - resolved.sampleWindowMs\n while (callTimes.length > 0 && callTimes[0] < windowStart) {\n callTimes.shift()\n }\n\n const inPageScrollHook = options.isInPageScrollHook?.() ?? false\n if (resolved.warnOnPageScroll && inPageScrollHook) {\n if (resolved.pageScrollCoolDownMs <= 0 || current - lastPageScrollWarnAt >= resolved.pageScrollCoolDownMs) {\n lastPageScrollWarnAt = current\n logger(\n `[wevu:setData] 检测到 onPageScroll 回调内调用 setData(${options.targetLabel})。建议改用 IntersectionObserver 监听可见性,或对滚动更新做节流。`,\n )\n }\n }\n\n if (callTimes.length <= resolved.maxCalls) {\n return\n }\n if (resolved.coolDownMs > 0 && current - lastWarnAt < resolved.coolDownMs) {\n return\n }\n lastWarnAt = current\n\n logger(\n `[wevu:setData] 检测到高频 setData 调用:${callTimes.length} 次/${resolved.sampleWindowMs}ms(${options.targetLabel})。建议合并更新或降低调用频率。`,\n )\n }\n}\n"],"mappings":";;;AAqBA,SAAS,SAAS,OAA8C;CAC9D,OAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;;;;AAKA,SAAgB,mCACd,QACqC;;CACrC,MAAM,WAAW;EACf,SAAS;EACT,gBAAgB;EAChB,UAAU;EACV,YAAY;EACZ,kBAAkB;EAClB,sBAAsB;CACxB;CAEA,IAAI,WAAW,UAAa,WAAW,OACrC,OAAO;EACL,GAAG;EACH,SAAS;CACX;CAEF,IAAI,WAAW,MACb,OAAO;EACL,GAAG;EACH,SAAS;CACX;CAEF,IAAI,CAAC,SAAS,MAAM,GAClB,OAAO;EACL,GAAG;EACH,SAAS;CACX;CAEF,OAAO;EACL,4BAAS,OAAO,oEAAW;EAC3B,4BAAS,OAAO,oEAAW,SAAS;EACpC,gBAAgB,OAAO,OAAO,mBAAmB,WAC7C,KAAK,IAAI,KAAK,KAAK,MAAM,OAAO,cAAc,CAAC,IAC/C,SAAS;EACb,UAAU,OAAO,OAAO,aAAa,WACjC,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,QAAQ,CAAC,IACvC,SAAS;EACb,YAAY,OAAO,OAAO,eAAe,WACrC,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,UAAU,CAAC,IACzC,SAAS;EACb,2CAAkB,OAAO,yFAAoB,SAAS;EACtD,sBAAsB,OAAO,OAAO,yBAAyB,WACzD,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,oBAAoB,CAAC,IACnD,SAAS;CACf;AACF;;;;AAKA,SAAgB,uBAAgC;CAC9C,MAAM,wBAAwB,gCAAgC;CAC9D,mFAAI,sBAAuB,WAAU,uFAAQ,sBAAuB,gBAAe,WACjF,OAAO;CAGT,MAAM,oBAAoB,2BAA2B;CACrD,IAAI;;EAEF,4FADmB,kBAAmB,yIAAqB,kGAAG,2FAAa,gBACxD,WACjB,OAAO;CAEX,kBACM,CAEN;CAEA,OAAO;AACT;;;;AAKA,SAAgB,yCACd,SACA;;CACA,MAAM,WAAW,mCAAmC,QAAQ,MAAM;CAClE,IAAI,CAAC,SAAS,SACZ;CAGF,MAAM,QAAQ,qBAAqB;CACnC,IAAI,SAAS,WAAW,CAAC,OACvB;CAGF,MAAM,sBAAM,QAAQ,iEAAc,KAAK,IAAI;CAC3C,MAAM,4BAAS,QAAQ,qEAAY,YAAoB;;EACrD,MAAM,oCAAsB,6EAAoC,mEAAS;EACzE,IAAI,OAAO,uBAAuB,YAChC,mBAAmB,OAAO;CAE9B;CAEA,MAAM,YAAsB,CAAC;CAC7B,IAAI,aAAa,OAAO;CACxB,IAAI,uBAAuB,OAAO;CAElC,aAAa;;EACX,MAAM,UAAU,IAAI;EACpB,UAAU,KAAK,OAAO;EAEtB,MAAM,cAAc,UAAU,SAAS;EACvC,OAAO,UAAU,SAAS,KAAK,UAAU,KAAK,aAC5C,UAAU,MAAM;EAGlB,MAAM,sEAAmB,QAAQ,gHAAqB,0EAAK;EAC3D,IAAI,SAAS,oBAAoB,kBAC/B;OAAI,SAAS,wBAAwB,KAAK,UAAU,wBAAwB,SAAS,sBAAsB;IACzG,uBAAuB;IACvB,OACE,iDAAiD,QAAQ,YAAY,6CACvE;GACF;;EAGF,IAAI,UAAU,UAAU,SAAS,UAC/B;EAEF,IAAI,SAAS,aAAa,KAAK,UAAU,aAAa,SAAS,YAC7D;EAEF,aAAa;EAEb,OACE,mCAAmC,UAAU,OAAO,KAAK,SAAS,eAAe,KAAK,QAAQ,YAAY,iBAC5G;CACF;AACF"}
1
+ {"version":3,"file":"setDataFrequencyWarning.mjs","names":[],"sources":["../../../../src/runtime/register/setDataFrequencyWarning.ts"],"sourcesContent":["import type { SetDataSnapshotOptions } from '../types'\nimport { getCurrentMiniProgramHostConfig, getMiniProgramGlobalObject, getMiniProgramRuntimeConsoleWarn } from '../platform'\n\ninterface ResolvedHighFrequencyWarningOptions {\n enabled: boolean\n devOnly: boolean\n sampleWindowMs: number\n maxCalls: number\n coolDownMs: number\n warnOnPageScroll: boolean\n pageScrollCoolDownMs: number\n}\n\ninterface CreateHighFrequencyWarningMonitorOptions {\n option: SetDataSnapshotOptions['highFrequencyWarning']\n targetLabel: string\n isInPageScrollHook?: () => boolean\n now?: () => number\n logger?: (message: string) => void\n}\n\nfunction isObject(value: unknown): value is Record<string, any> {\n return !!value && typeof value === 'object' && !Array.isArray(value)\n}\n\n/**\n * 解析 setData 高频告警配置。\n */\nexport function resolveHighFrequencyWarningOptions(\n option: SetDataSnapshotOptions['highFrequencyWarning'],\n): ResolvedHighFrequencyWarningOptions {\n const defaults = {\n devOnly: true,\n sampleWindowMs: 1000,\n maxCalls: 30,\n coolDownMs: 5000,\n warnOnPageScroll: true,\n pageScrollCoolDownMs: 2000,\n }\n\n if (option === undefined || option === false) {\n return {\n ...defaults,\n enabled: false,\n }\n }\n if (option === true) {\n return {\n ...defaults,\n enabled: true,\n }\n }\n if (!isObject(option)) {\n return {\n ...defaults,\n enabled: false,\n }\n }\n return {\n enabled: option.enabled ?? true,\n devOnly: option.devOnly ?? defaults.devOnly,\n sampleWindowMs: typeof option.sampleWindowMs === 'number'\n ? Math.max(100, Math.floor(option.sampleWindowMs))\n : defaults.sampleWindowMs,\n maxCalls: typeof option.maxCalls === 'number'\n ? Math.max(1, Math.floor(option.maxCalls))\n : defaults.maxCalls,\n coolDownMs: typeof option.coolDownMs === 'number'\n ? Math.max(0, Math.floor(option.coolDownMs))\n : defaults.coolDownMs,\n warnOnPageScroll: option.warnOnPageScroll ?? defaults.warnOnPageScroll,\n pageScrollCoolDownMs: typeof option.pageScrollCoolDownMs === 'number'\n ? Math.max(0, Math.floor(option.pageScrollCoolDownMs))\n : defaults.pageScrollCoolDownMs,\n }\n}\n\n/**\n * 判断当前是否为开发态运行环境。\n */\nexport function isDevelopmentRuntime(): boolean {\n const miniProgramHostConfig = getCurrentMiniProgramHostConfig()\n if (miniProgramHostConfig?.debug === true || miniProgramHostConfig?.envVersion === 'develop') {\n return true\n }\n\n const miniProgramGlobal = getMiniProgramGlobalObject()\n try {\n const envVersion = miniProgramGlobal?.getAccountInfoSync?.()?.miniProgram?.envVersion\n if (envVersion === 'develop') {\n return true\n }\n }\n catch {\n // 忽略运行环境不支持 getAccountInfoSync 的异常\n }\n\n return false\n}\n\n/**\n * 创建 setData 高频调用告警监视器。\n */\nexport function createSetDataHighFrequencyWarningMonitor(\n options: CreateHighFrequencyWarningMonitorOptions,\n) {\n const resolved = resolveHighFrequencyWarningOptions(options.option)\n if (!resolved.enabled) {\n return undefined\n }\n\n const isDev = isDevelopmentRuntime()\n if (resolved.devOnly && !isDev) {\n return undefined\n }\n\n const now = options.now ?? (() => Date.now())\n const logger = options.logger ?? ((message: string) => {\n const runtimeConsoleWarn = getMiniProgramRuntimeConsoleWarn()\n if (typeof runtimeConsoleWarn === 'function') {\n runtimeConsoleWarn(message)\n }\n })\n\n const callTimes: number[] = []\n let lastWarnAt = Number.NEGATIVE_INFINITY\n let lastPageScrollWarnAt = Number.NEGATIVE_INFINITY\n\n return () => {\n const current = now()\n callTimes.push(current)\n\n const windowStart = current - resolved.sampleWindowMs\n while (callTimes.length > 0 && callTimes[0] < windowStart) {\n callTimes.shift()\n }\n\n const inPageScrollHook = options.isInPageScrollHook?.() ?? false\n if (resolved.warnOnPageScroll && inPageScrollHook) {\n if (resolved.pageScrollCoolDownMs <= 0 || current - lastPageScrollWarnAt >= resolved.pageScrollCoolDownMs) {\n lastPageScrollWarnAt = current\n logger(\n `[wevu:setData] 检测到 onPageScroll 回调内调用 setData(${options.targetLabel})。建议改用 IntersectionObserver 监听可见性,或对滚动更新做节流。`,\n )\n }\n }\n\n if (callTimes.length <= resolved.maxCalls) {\n return\n }\n if (resolved.coolDownMs > 0 && current - lastWarnAt < resolved.coolDownMs) {\n return\n }\n lastWarnAt = current\n\n logger(\n `[wevu:setData] 检测到高频 setData 调用:${callTimes.length} 次/${resolved.sampleWindowMs}ms(${options.targetLabel})。建议合并更新或降低调用频率。`,\n )\n }\n}\n"],"mappings":";;;AAqBA,SAAS,SAAS,OAA8C;CAC9D,OAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;;;;AAKA,SAAgB,mCACd,QACqC;;CACrC,MAAM,WAAW;EACf,SAAS;EACT,gBAAgB;EAChB,UAAU;EACV,YAAY;EACZ,kBAAkB;EAClB,sBAAsB;CACxB;CAEA,IAAI,WAAW,UAAa,WAAW,OACrC,OAAO;EACL,GAAG;EACH,SAAS;CACX;CAEF,IAAI,WAAW,MACb,OAAO;EACL,GAAG;EACH,SAAS;CACX;CAEF,IAAI,CAAC,SAAS,MAAM,GAClB,OAAO;EACL,GAAG;EACH,SAAS;CACX;CAEF,OAAO;EACL,4BAAS,OAAO,oEAAW;EAC3B,4BAAS,OAAO,oEAAW,SAAS;EACpC,gBAAgB,OAAO,OAAO,mBAAmB,WAC7C,KAAK,IAAI,KAAK,KAAK,MAAM,OAAO,cAAc,CAAC,IAC/C,SAAS;EACb,UAAU,OAAO,OAAO,aAAa,WACjC,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,QAAQ,CAAC,IACvC,SAAS;EACb,YAAY,OAAO,OAAO,eAAe,WACrC,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,UAAU,CAAC,IACzC,SAAS;EACb,2CAAkB,OAAO,yFAAoB,SAAS;EACtD,sBAAsB,OAAO,OAAO,yBAAyB,WACzD,KAAK,IAAI,GAAG,KAAK,MAAM,OAAO,oBAAoB,CAAC,IACnD,SAAS;CACf;AACF;;;;AAKA,SAAgB,uBAAgC;CAC9C,MAAM,wBAAwB,gCAAgC;CAC9D,mFAAI,sBAAuB,WAAU,uFAAQ,sBAAuB,gBAAe,WACjF,OAAO;CAGT,MAAM,oBAAoB,2BAA2B;CACrD,IAAI;;EAEF,4FADmB,kBAAmB,yIAAqB,kGAAG,2FAAa,gBACxD,WACjB,OAAO;CAEX,kBACM,CAEN;CAEA,OAAO;AACT;;;;AAKA,SAAgB,yCACd,SACA;;CACA,MAAM,WAAW,mCAAmC,QAAQ,MAAM;CAClE,IAAI,CAAC,SAAS,SACZ;CAGF,MAAM,QAAQ,qBAAqB;CACnC,IAAI,SAAS,WAAW,CAAC,OACvB;CAGF,MAAM,sBAAM,QAAQ,iEAAc,KAAK,IAAI;CAC3C,MAAM,4BAAS,QAAQ,qEAAY,YAAoB;EACrD,MAAM,qBAAqB,iCAAiC;EAC5D,IAAI,OAAO,uBAAuB,YAChC,mBAAmB,OAAO;CAE9B;CAEA,MAAM,YAAsB,CAAC;CAC7B,IAAI,aAAa,OAAO;CACxB,IAAI,uBAAuB,OAAO;CAElC,aAAa;;EACX,MAAM,UAAU,IAAI;EACpB,UAAU,KAAK,OAAO;EAEtB,MAAM,cAAc,UAAU,SAAS;EACvC,OAAO,UAAU,SAAS,KAAK,UAAU,KAAK,aAC5C,UAAU,MAAM;EAGlB,MAAM,sEAAmB,QAAQ,gHAAqB,0EAAK;EAC3D,IAAI,SAAS,oBAAoB,kBAC/B;OAAI,SAAS,wBAAwB,KAAK,UAAU,wBAAwB,SAAS,sBAAsB;IACzG,uBAAuB;IACvB,OACE,iDAAiD,QAAQ,YAAY,6CACvE;GACF;;EAGF,IAAI,UAAU,UAAU,SAAS,UAC/B;EAEF,IAAI,SAAS,aAAa,KAAK,UAAU,aAAa,SAAS,YAC7D;EAEF,aAAa;EAEb,OACE,mCAAmC,UAAU,OAAO,KAAK,SAAS,eAAe,KAAK,QAAQ,YAAY,iBAC5G;CACF;AACF"}
@@ -1,9 +1,11 @@
1
+ import { getScopedSlotHostGlobalObject } from "./platform.mjs";
1
2
  import { isDeepEqualValue } from "./app/setData/snapshot.mjs";
2
3
  import { WEVU_PROPS_KEY, WEVU_RUNTIME_OWNER_ID_KEY, WEVU_SCOPED_SLOT_OWNER_SEED_KEY, WEVU_SCOPED_SLOT_OWNER_STORE_KEY, WEVU_SLOT_OWNER_ID_KEY, WEVU_SLOT_OWNER_ID_PROP, WEVU_SLOT_OWNER_KEY, WEVU_SLOT_OWNER_PROXY_KEY, WEVU_SLOT_PROPS_DATA_KEY, WEVU_SLOT_PROPS_KEY, WEVU_SLOT_SCOPE_KEY } from "@weapp-core/constants";
3
4
 
4
5
  //#region src/runtime/scopedSlots.ts
5
6
  function getScopedSlotGlobalStore() {
6
- const globalObject = globalThis;
7
+ var _getScopedSlotHostGlo;
8
+ const globalObject = (_getScopedSlotHostGlo = getScopedSlotHostGlobalObject()) !== null && _getScopedSlotHostGlo !== void 0 ? _getScopedSlotHostGlo : Object.create(null);
7
9
  if (!(globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] instanceof Map)) globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] = /* @__PURE__ */ new Map();
8
10
  if (typeof globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] !== "number") globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] = 0;
9
11
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"scopedSlots.mjs","names":[],"sources":["../../../src/runtime/scopedSlots.ts"],"sourcesContent":["import type { ComponentPublicInstance, InternalRuntimeState, RuntimeInstance } from './types'\nimport {\n WEVU_PROPS_KEY,\n WEVU_RUNTIME_OWNER_ID_KEY,\n WEVU_SCOPED_SLOT_OWNER_SEED_KEY,\n WEVU_SCOPED_SLOT_OWNER_STORE_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n} from '@weapp-core/constants'\nimport { isDeepEqualValue } from './app/setData/snapshot'\n\ntype OwnerSubscriber = (snapshot: Record<string, any>, proxy: ComponentPublicInstance<any, any, any> | undefined) => void\n\ninterface OwnerRecord {\n snapshot: Record<string, any>\n proxy?: ComponentPublicInstance<any, any, any>\n target?: InternalRuntimeState\n subscribers: Set<OwnerSubscriber>\n}\n\ntype RuntimeInstanceWithOwnerSnapshot = RuntimeInstance<any, any, any> & {\n __wevu_cloneLatestSnapshot?: () => Record<string, any>\n}\n\nfunction getScopedSlotGlobalStore() {\n const globalObject = globalThis as Record<string, any>\n if (!(globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] instanceof Map)) {\n globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] = new Map<string, OwnerRecord>()\n }\n if (typeof globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] !== 'number') {\n globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] = 0\n }\n return {\n globalObject,\n ownerStore: globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] as Map<string, OwnerRecord>,\n }\n}\n\nexport function allocateOwnerId() {\n const { globalObject } = getScopedSlotGlobalStore()\n globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] += 1\n return `wv${globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY]}`\n}\n\nexport function updateOwnerSnapshot(\n ownerId: string,\n snapshot: Record<string, any>,\n proxy: ComponentPublicInstance<any, any, any> | undefined,\n target?: InternalRuntimeState,\n) {\n const { ownerStore } = getScopedSlotGlobalStore()\n const record = ownerStore.get(ownerId) ?? { snapshot: {}, proxy, subscribers: new Set() }\n const snapshotChanged = !isDeepEqualValue(record.snapshot, snapshot, 20, { keys: 10_000 })\n const proxyChanged = record.proxy !== proxy\n record.snapshot = snapshot\n record.proxy = proxy\n record.target = target ?? record.target\n ownerStore.set(ownerId, record)\n if ((snapshotChanged || proxyChanged) && record.subscribers.size) {\n for (const subscriber of record.subscribers) {\n try {\n subscriber(snapshot, proxy)\n }\n catch {\n // 忽略订阅回调错误\n }\n }\n }\n}\n\nexport function removeOwner(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n ownerStore.delete(ownerId)\n}\n\nexport function subscribeOwner(ownerId: string, subscriber: OwnerSubscriber) {\n const { ownerStore } = getScopedSlotGlobalStore()\n const record = ownerStore.get(ownerId) ?? { snapshot: {}, proxy: undefined, subscribers: new Set() }\n record.subscribers.add(subscriber)\n ownerStore.set(ownerId, record)\n return () => {\n const current = ownerStore.get(ownerId)\n if (!current) {\n return\n }\n current.subscribers.delete(subscriber)\n }\n}\n\nexport function getOwnerProxy(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n return ownerStore.get(ownerId)?.proxy\n}\n\nexport function getOwnerSnapshot(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n return ownerStore.get(ownerId)?.snapshot\n}\n\nexport function getOwnerTarget(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n return ownerStore.get(ownerId)?.target\n}\n\nexport function resolveOwnerSnapshot(runtime: RuntimeInstance<any, any, any>) {\n const fastSnapshot = (runtime as RuntimeInstanceWithOwnerSnapshot).__wevu_cloneLatestSnapshot\n if (typeof fastSnapshot === 'function') {\n return fastSnapshot()\n }\n return typeof runtime.snapshot === 'function' ? runtime.snapshot() : {}\n}\n\nconst OWNER_SNAPSHOT_PROTOCOL_KEYS = new Set([\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n])\n\nexport function mergeOwnerSnapshotProps(\n snapshot: Record<string, any>,\n propsSource: unknown,\n) {\n if (!propsSource || typeof propsSource !== 'object') {\n return\n }\n for (const [key, value] of Object.entries(propsSource as Record<string, any>)) {\n if (OWNER_SNAPSHOT_PROTOCOL_KEYS.has(key)) {\n continue\n }\n snapshot[key] = value\n }\n}\n\nexport function attachOwnerSnapshot(\n target: InternalRuntimeState,\n runtime: RuntimeInstance<any, any, any>,\n ownerId: string,\n options?: {\n deferSnapshot?: boolean\n },\n) {\n try {\n ;(target as any)[WEVU_RUNTIME_OWNER_ID_KEY] = ownerId\n }\n catch {\n // 宿主拒绝扩展实例时继续使用现有引用通道。\n }\n try {\n ;(runtime.state as any)[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n catch {\n // 忽略写入异常\n }\n try {\n ;(target as any)[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n catch {\n // 忽略写入异常\n }\n try {\n const data = (target as any).data\n if (data && typeof data === 'object') {\n data[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n }\n catch {\n // 忽略 owner id 同步异常\n }\n const snapshot = options?.deferSnapshot ? {} : resolveOwnerSnapshot(runtime)\n const propsSource = (target as any)[WEVU_PROPS_KEY] ?? (target as any).properties\n mergeOwnerSnapshotProps(snapshot, propsSource)\n updateOwnerSnapshot(ownerId, snapshot, runtime.proxy, target)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"scopedSlots.mjs","names":[],"sources":["../../../src/runtime/scopedSlots.ts"],"sourcesContent":["import type { ComponentPublicInstance, InternalRuntimeState, RuntimeInstance } from './types'\nimport {\n WEVU_PROPS_KEY,\n WEVU_RUNTIME_OWNER_ID_KEY,\n WEVU_SCOPED_SLOT_OWNER_SEED_KEY,\n WEVU_SCOPED_SLOT_OWNER_STORE_KEY,\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n} from '@weapp-core/constants'\nimport { isDeepEqualValue } from './app/setData/snapshot'\nimport { getScopedSlotHostGlobalObject } from './platform'\n\ntype OwnerSubscriber = (snapshot: Record<string, any>, proxy: ComponentPublicInstance<any, any, any> | undefined) => void\n\ninterface OwnerRecord {\n snapshot: Record<string, any>\n proxy?: ComponentPublicInstance<any, any, any>\n target?: InternalRuntimeState\n subscribers: Set<OwnerSubscriber>\n}\n\ntype RuntimeInstanceWithOwnerSnapshot = RuntimeInstance<any, any, any> & {\n __wevu_cloneLatestSnapshot?: () => Record<string, any>\n}\n\nfunction getScopedSlotGlobalStore() {\n const globalObject = getScopedSlotHostGlobalObject() ?? Object.create(null)\n if (!(globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] instanceof Map)) {\n globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] = new Map<string, OwnerRecord>()\n }\n if (typeof globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] !== 'number') {\n globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] = 0\n }\n return {\n globalObject,\n ownerStore: globalObject[WEVU_SCOPED_SLOT_OWNER_STORE_KEY] as Map<string, OwnerRecord>,\n }\n}\n\nexport function allocateOwnerId() {\n const { globalObject } = getScopedSlotGlobalStore()\n globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY] += 1\n return `wv${globalObject[WEVU_SCOPED_SLOT_OWNER_SEED_KEY]}`\n}\n\nexport function updateOwnerSnapshot(\n ownerId: string,\n snapshot: Record<string, any>,\n proxy: ComponentPublicInstance<any, any, any> | undefined,\n target?: InternalRuntimeState,\n) {\n const { ownerStore } = getScopedSlotGlobalStore()\n const record = ownerStore.get(ownerId) ?? { snapshot: {}, proxy, subscribers: new Set() }\n const snapshotChanged = !isDeepEqualValue(record.snapshot, snapshot, 20, { keys: 10_000 })\n const proxyChanged = record.proxy !== proxy\n record.snapshot = snapshot\n record.proxy = proxy\n record.target = target ?? record.target\n ownerStore.set(ownerId, record)\n if ((snapshotChanged || proxyChanged) && record.subscribers.size) {\n for (const subscriber of record.subscribers) {\n try {\n subscriber(snapshot, proxy)\n }\n catch {\n // 忽略订阅回调错误\n }\n }\n }\n}\n\nexport function removeOwner(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n ownerStore.delete(ownerId)\n}\n\nexport function subscribeOwner(ownerId: string, subscriber: OwnerSubscriber) {\n const { ownerStore } = getScopedSlotGlobalStore()\n const record = ownerStore.get(ownerId) ?? { snapshot: {}, proxy: undefined, subscribers: new Set() }\n record.subscribers.add(subscriber)\n ownerStore.set(ownerId, record)\n return () => {\n const current = ownerStore.get(ownerId)\n if (!current) {\n return\n }\n current.subscribers.delete(subscriber)\n }\n}\n\nexport function getOwnerProxy(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n return ownerStore.get(ownerId)?.proxy\n}\n\nexport function getOwnerSnapshot(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n return ownerStore.get(ownerId)?.snapshot\n}\n\nexport function getOwnerTarget(ownerId: string) {\n const { ownerStore } = getScopedSlotGlobalStore()\n return ownerStore.get(ownerId)?.target\n}\n\nexport function resolveOwnerSnapshot(runtime: RuntimeInstance<any, any, any>) {\n const fastSnapshot = (runtime as RuntimeInstanceWithOwnerSnapshot).__wevu_cloneLatestSnapshot\n if (typeof fastSnapshot === 'function') {\n return fastSnapshot()\n }\n return typeof runtime.snapshot === 'function' ? runtime.snapshot() : {}\n}\n\nconst OWNER_SNAPSHOT_PROTOCOL_KEYS = new Set([\n WEVU_SLOT_OWNER_ID_KEY,\n WEVU_SLOT_OWNER_ID_PROP,\n WEVU_SLOT_OWNER_KEY,\n WEVU_SLOT_OWNER_PROXY_KEY,\n WEVU_SLOT_PROPS_DATA_KEY,\n WEVU_SLOT_PROPS_KEY,\n WEVU_SLOT_SCOPE_KEY,\n])\n\nexport function mergeOwnerSnapshotProps(\n snapshot: Record<string, any>,\n propsSource: unknown,\n) {\n if (!propsSource || typeof propsSource !== 'object') {\n return\n }\n for (const [key, value] of Object.entries(propsSource as Record<string, any>)) {\n if (OWNER_SNAPSHOT_PROTOCOL_KEYS.has(key)) {\n continue\n }\n snapshot[key] = value\n }\n}\n\nexport function attachOwnerSnapshot(\n target: InternalRuntimeState,\n runtime: RuntimeInstance<any, any, any>,\n ownerId: string,\n options?: {\n deferSnapshot?: boolean\n },\n) {\n try {\n ;(target as any)[WEVU_RUNTIME_OWNER_ID_KEY] = ownerId\n }\n catch {\n // 宿主拒绝扩展实例时继续使用现有引用通道。\n }\n try {\n ;(runtime.state as any)[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n catch {\n // 忽略写入异常\n }\n try {\n ;(target as any)[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n catch {\n // 忽略写入异常\n }\n try {\n const data = (target as any).data\n if (data && typeof data === 'object') {\n data[WEVU_SLOT_OWNER_ID_KEY] = ownerId\n }\n }\n catch {\n // 忽略 owner id 同步异常\n }\n const snapshot = options?.deferSnapshot ? {} : resolveOwnerSnapshot(runtime)\n const propsSource = (target as any)[WEVU_PROPS_KEY] ?? (target as any).properties\n mergeOwnerSnapshotProps(snapshot, propsSource)\n updateOwnerSnapshot(ownerId, snapshot, runtime.proxy, target)\n}\n"],"mappings":"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"}
package/dist/package.mjs CHANGED
@@ -1 +1 @@
1
- var e=`6.20.1`;export{e as version};
1
+ var e=`6.20.3`;export{e as version};
@@ -1 +1 @@
1
- import{queueJob as e}from"../scheduler.mjs";import t from"../_virtual/_@oxc-project_runtime@0.143.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.144.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.143.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.144.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{getMiniProgramPlatformByRuntimeGlobalKey as e,getMiniProgramRuntimeCapabilities as t,getMiniProgramRuntimeGlobalKey as n,getMiniProgramRuntimeGlobalKeys as r,getMiniProgramRuntimeHostConfigKey as i,resolveMiniProgramPlatform as a,supportsMiniProgramRuntimeCapability as o}from"@weapp-core/shared/platforms";const s=[`switchTab`,`reLaunch`,`redirectTo`,`navigateTo`,`navigateBack`];function c(){if(!(typeof globalThis>`u`))return globalThis}function l(){var t;let n=c(),i=(t=import.meta.env)==null?void 0:t.PLATFORM,o=a(i);if(o)return o;for(let t of r())if(n!=null&&n[t])return e(t)}function u(){return t(l())}function d(e){return o(l(),e)}function f(){if(!d(`globalPageStack`))return[];let e=globalThis.getCurrentPages;if(typeof e!=`function`)return[];try{let t=e();return Array.isArray(t)?t:[]}catch(e){return[]}}function p(){let e=c(),t=i(l()),n=e==null?void 0:e[t];return n&&typeof n==`object`?n:void 0}function m(e){var t;let i=c(),o=e==null?(t=import.meta.env)==null?void 0:t.PLATFORM:e,s=a(o);if(s){let e=n(s);return i==null?void 0:i[e]}for(let e of r()){let t=i==null?void 0:i[e];if(t)return t}}function h(){if(!d(`globalRouterApi`))return;let e=m();if(!e)return;let t=Object.create(null);for(let n of s){let r=e[n];if(typeof r!=`function`)return;t[n]=(...t)=>r.apply(e,t)}return t}function g(){var e;return(e=m())==null?c():e}export{h as getCurrentMiniProgramGlobalRouter,p as getCurrentMiniProgramHostConfig,f as getCurrentMiniProgramPages,u as getCurrentMiniProgramRuntimeCapabilities,m as getMiniProgramGlobalObject,g as getScopedSlotHostGlobalObject,l as resolveCurrentMiniProgramPlatform,d as supportsCurrentMiniProgramRuntimeCapability};
1
+ import{getMiniProgramPlatformByRuntimeGlobalKey as e,getMiniProgramRuntimeCapabilities as t,getMiniProgramRuntimeGlobalKey as n,getMiniProgramRuntimeGlobalKeys as r,getMiniProgramRuntimeHostConfigKey as i,resolveMiniProgramPlatform as a,supportsMiniProgramRuntimeCapability as o}from"@weapp-core/shared/platforms";const s=[`switchTab`,`reLaunch`,`redirectTo`,`navigateTo`,`navigateBack`];function c(){if(!(typeof globalThis>`u`))return globalThis}function l(){if(typeof my<`u`)return my}function u(){var t;let n=c(),i=(t=import.meta.env)==null?void 0:t.PLATFORM,o=a(i);if(o)return o;for(let t of r())if(n!=null&&n[t])return e(t)}function d(){return t(u())}function f(e){return o(u(),e)}function p(){var e,t,r,i;if(!f(`globalPageStack`))return[];let a=c(),o=u(),s=o?n(o):void 0,d=(e=(t=s?a==null||(r=a[s])==null?void 0:r.getCurrentPages:void 0)==null?(i=l())==null?void 0:i.getCurrentPages:t)==null?a==null?void 0:a.getCurrentPages:e;if(typeof d!=`function`)return[];try{let e=d();return Array.isArray(e)?e:[]}catch(e){return[]}}function m(){let e=c(),t=i(u()),n=e==null?void 0:e[t];return n&&typeof n==`object`?n:void 0}function h(e){var t;let i=c(),o=e==null?(t=import.meta.env)==null?void 0:t.PLATFORM:e,s=a(o);if(s){var u;let e=n(s);return(u=i==null?void 0:i[e])==null?s===`alipay`?l():void 0:u}for(let e of r()){let t=i==null?void 0:i[e];if(t)return t}}function g(){var e;return(e=h())==null?c():e}function _(){var e;return(e=g())==null||(e=e.console)==null?void 0:e.warn}function v(){if(!f(`globalRouterApi`))return;let e=h();if(!e)return;let t=Object.create(null);for(let n of s){let r=e[n];if(typeof r!=`function`)return;t[n]=(...t)=>r.apply(e,t)}return t}function y(){var e;return(e=h())==null?c():e}export{v as getCurrentMiniProgramGlobalRouter,m as getCurrentMiniProgramHostConfig,p as getCurrentMiniProgramPages,d as getCurrentMiniProgramRuntimeCapabilities,h as getMiniProgramGlobalObject,_ as getMiniProgramRuntimeConsoleWarn,g as getMiniProgramRuntimeGlobalObject,y as getScopedSlotHostGlobalObject,u as resolveCurrentMiniProgramPlatform,f as supportsCurrentMiniProgramRuntimeCapability};
@@ -1 +1 @@
1
- import{getCurrentInstance as e}from"./hooks/base.mjs";import{getGlobalProvidedValue as t,hasGlobalProvidedValue as n,setGlobalProvidedValue as r}from"./provideStore.mjs";import{getInstanceProvides as i,isRuntimeAppInstance as a}from"./provideContext.mjs";function o(){return!!e()}function s(t,n){let o=e();o?(i(o)[t]=n,a(o)&&r(t,n)):r(t,n)}function c(r,a){var o;let s=e();if(s){let e=i(s);if(r in e)return e[r]}if(n(r))return t(r);if(arguments.length>=2)return a;let c=(o=globalThis.console)==null?void 0:o.warn;typeof c==`function`&&c(`wevu.inject:未找到对应 key 的值:${String(r)}`)}function l(e,t){r(e,t)}function u(e,r){if(n(e))return t(e);if(arguments.length>=2)return r;throw Error(`injectGlobal():未找到对应 key 的 provider:${String(e)}`)}export{o as hasInjectionContext,c as inject,u as injectGlobal,s as provide,l as provideGlobal,r as setGlobalProvidedValue};
1
+ import{getMiniProgramRuntimeConsoleWarn as e}from"./platform.mjs";import{getCurrentInstance as t}from"./hooks/base.mjs";import{getGlobalProvidedValue as n,hasGlobalProvidedValue as r,setGlobalProvidedValue as i}from"./provideStore.mjs";import{getInstanceProvides as a,isRuntimeAppInstance as o}from"./provideContext.mjs";function s(){return!!t()}function c(e,n){let r=t();r?(a(r)[e]=n,o(r)&&i(e,n)):i(e,n)}function l(i,o){let s=t();if(s){let e=a(s);if(i in e)return e[i]}if(r(i))return n(i);if(arguments.length>=2)return o;let c=e();typeof c==`function`&&c(`wevu.inject:未找到对应 key 的值:${String(i)}`)}function u(e,t){i(e,t)}function d(e,t){if(r(e))return n(e);if(arguments.length>=2)return t;throw Error(`injectGlobal():未找到对应 key 的 provider:${String(e)}`)}export{s as hasInjectionContext,l as inject,d as injectGlobal,c as provide,u as provideGlobal,i as setGlobalProvidedValue};
@@ -1 +1 @@
1
- import{callHookList as e}from"../../hooks/base.mjs";import{resolveRuntimePageLayoutName as t,syncRuntimePageLayoutState as n}from"../../pageLayout.mjs";import{getOwnerProxy as r}from"../../scopedSlots.mjs";import{clearTemplateRefs as i,scheduleTemplateRefUpdate as a}from"../../templateRefs.mjs";import{enableDeferredSetData as o,mountRuntimeInstance as s,refreshRuntimeInstance as ee,setRuntimeSetDataVisibility as c,teardownRuntimeInstance as l}from"../runtimeInstance.mjs";import{registerRuntimeLayoutHosts as u,unregisterRuntimeLayoutHosts as d}from"../../layoutBridge.mjs";import{WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY as f,WEVU_LAYOUT_HOST_BRIDGE_KEY as p,WEVU_PAGE_LAYOUT_NAME_KEY as m,WEVU_PAGE_LAYOUT_PROPS_KEY as h,WEVU_PAGE_LAYOUT_SETTER_KEY as g,WEVU_PUBLIC_RUNTIME_KEY as te,WEVU_READY_CALLED_KEY as _,WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD as ne,WEVU_RUNTIME_KEY as v,WEVU_RUNTIME_OWNER_ID_KEY as re,WEVU_SLOT_OWNER_ID_KEY as y,WEVU_TEMPLATE_REFS_KEY as b}from"@weapp-core/constants";function x(e){let t=e.selectOwnerComponent;if(typeof t==`function`)try{let n=t.call(e);n&&n!==e&&a(n)}catch(e){}}function S(S){let{runtimeApp:C,watch:w,setup:T,restOptions:E,pageLifecycleHooks:D,finalObservers:O,userLifetimes:k,userPageLifetimes:A,finalMethods:j,finalOptions:M,applyExtraInstanceFields:N,templateRefs:P,layoutHosts:F,attachWevuPropKeys:I,setupLifecycle:L,syncWevuPropsFromInstance:R,directPropsDerivedKeys:z,isPage:B,vueLifecycles:V,getRuntimeOwnerLabel:H}=S,U=e=>{var t;let n=(t=e.__wevu)==null?e[te]:t;if(n)return n;let r=e.$state;if(r&&typeof r==`object`)return r[v]},W=e=>{var t,n,r,i,a;return(t=(n=(r=e[re])==null?e[y]:r)==null?(i=e.data)==null?void 0:i[y]:n)==null?(a=e.properties)==null?void 0:a[y]:t},G=e=>{var t;let n=(t=U(e))==null?void 0:t.proxy;if(n)return n;let i=W(e);if(typeof i==`string`&&i){var a;return(a=r(i))==null?e:a}return e},K=e=>{let t=U(e);return t?{runtime:t,mounted:!1}:(N(e),I(e),s(e,C,w,T,{deferSetData:!0,snapshotOmitKeys:z}),R(e),o(e),{runtime:U(e),mounted:!0})},q=(e,t,n)=>{let r=V[t];if(typeof r==`function`)return r.apply(G(e),n)},J=e=>{U(e)||typeof V.mounted!=`function`||K(e).mounted&&(q(e,`created`,[]),q(e,`beforeMount`,[]))},Y={},X=e=>{if(!Array.isArray(F)||!F.length||e[p])return;let t=u(F,e);t&&(e[p]=t)},Z=e=>{B&&(e[g]=(r,i)=>{var a;let o=(a=e.__wevu)==null?void 0:a.state;if(!o||typeof o!=`object`)return;o[m]=t(r);let s=r===!1||i==null?{}:i;o[h]=s,n(e,r,s)})};if(B)for(let e of[`onPullDownRefresh`,`onReachBottom`,`onShareAppMessage`,`onShareTimeline`,`onAddToFavorites`]){let t=D[e];typeof t==`function`&&typeof j[e]!=`function`&&(Y[e]=function(...e){return t.apply(this,e)})}let Q={...E,...B?D:{},observers:O,lifetimes:{...k,created:function(...e){if(q(this,`beforeCreate`,e),N(this),Array.isArray(P)&&P.length&&Object.defineProperty(this,b,{value:P,configurable:!0,enumerable:!1,writable:!1}),I(this),L===`created`){try{s(this,C,w,T,{deferSetData:!0,snapshotOmitKeys:z})}catch(e){let t=H(this);throw Error(`[wevu] mount runtime failed in created (${t}): ${e instanceof Error?e.message:String(e)}`)}R(this),Z(this)}typeof k.created==`function`&&k.created.apply(this,e)},moved:function(...t){e(this,`onMoved`,t),typeof k.moved==`function`&&k.moved.apply(this,t)},attached:function(...t){if(N(this),Array.isArray(P)&&P.length&&!this[b]&&Object.defineProperty(this,b,{value:P,configurable:!0,enumerable:!1,writable:!1}),I(this),L!==`created`||!this.__wevu)try{s(this,C,w,T,{deferSetData:!0,snapshotOmitKeys:z})}catch(e){let t=H(this);throw Error(`[wevu] mount runtime failed in attached (${t}): ${e instanceof Error?e.message:String(e)}`)}R(this),q(this,`created`,t),q(this,`beforeMount`,t),Z(this),X(this),o(this),e(this,`onAttached`,t),typeof k.attached==`function`&&k.attached.apply(this,t)},ready:function(...t){if(J(this),B&&typeof D.onReady==`function`){let e=!!this[_];D.onReady.call(this,...t),e||q(this,`mounted`,t),typeof k.ready==`function`&&k.ready.apply(this,t);return}if(!this[_]){this[_]=!0,R(this),x(this),a(this,()=>{e(this,`onReady`,t),q(this,`mounted`,t),typeof k.ready==`function`&&k.ready.apply(this,t)});return}typeof k.ready==`function`&&k.ready.apply(this,t)},detached:function(...t){if(q(this,`beforeUnmount`,t),q(this,`beforeDestroy`,t),x(this),e(this,`onDetached`,t),B&&typeof D.onUnload==`function`){D.onUnload.call(this,...t),typeof k.detached==`function`&&k.detached.apply(this,t),q(this,`unmounted`,t),q(this,`destroyed`,t);return}i(this),Array.isArray(F)&&F.length&&this[p]&&(d(F,this[p]),delete this[p]),l(this),q(this,`unmounted`,t),q(this,`destroyed`,t),typeof k.detached==`function`&&k.detached.apply(this,t)},error:function(...t){e(this,`onError`,t),typeof k.error==`function`&&k.error.apply(this,t)}},pageLifetimes:{...A,show:function(...t){if(B&&typeof D.onShow==`function`){D.onShow.call(this,...t),typeof A.show==`function`&&A.show.apply(this,t);return}c(this,!0),e(this,`onShow`,t),typeof A.show==`function`&&A.show.apply(this,t)},hide:function(...t){if(B&&typeof D.onHide==`function`){D.onHide.call(this,...t),typeof A.hide==`function`&&A.hide.apply(this,t);return}c(this,!1),e(this,`onHide`,t),typeof A.hide==`function`&&A.hide.apply(this,t)},resize:function(...t){if(B&&typeof D.onResize==`function`){D.onResize.call(this,...t),typeof A.resize==`function`&&A.resize.apply(this,t);return}e(this,`onResize`,t),typeof A.resize==`function`&&A.resize.apply(this,t)},routeDone:function(...t){if(B&&typeof D.onRouteDone==`function`){D.onRouteDone.call(this,...t),typeof A.routeDone==`function`&&A.routeDone.apply(this,t);return}e(this,`onRouteDone`,t),typeof A.routeDone==`function`&&A.routeDone.apply(this,t)}},methods:{...Y,...j,[ne]:function(){var e;let t=K(this);return t.mounted&&(q(this,`created`,[]),q(this,`beforeMount`,[])),(e=t.runtime)==null?void 0:e.proxy}},options:M},$=globalThis[f];if(typeof($==null?void 0:$.trackWevuComponent)==`function`){let e=$.trackWevuComponent(Q,(e,t)=>{ee(e,C,w,T,{snapshotOmitKeys:z,stateSnapshot:t}),R(e),Z(e),X(e),o(e,{rehydrateSetupState:!0})});$.isApplying()||Component(e)}else Component(Q)}export{S as registerComponentDefinition};
1
+ import{getMiniProgramRuntimeGlobalObject as e}from"../../platform.mjs";import{callHookList as t}from"../../hooks/base.mjs";import{resolveRuntimePageLayoutName as n,syncRuntimePageLayoutState as r}from"../../pageLayout.mjs";import{getOwnerProxy as i}from"../../scopedSlots.mjs";import{clearTemplateRefs as a,scheduleTemplateRefUpdate as o}from"../../templateRefs.mjs";import{enableDeferredSetData as s,mountRuntimeInstance as c,refreshRuntimeInstance as l,setRuntimeSetDataVisibility as u,teardownRuntimeInstance as ee}from"../runtimeInstance.mjs";import{registerRuntimeLayoutHosts as te,unregisterRuntimeLayoutHosts as ne}from"../../layoutBridge.mjs";import{registerNativeComponentDefinition as d}from"./registerNativeDefinition.mjs";import{WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY as f,WEVU_LAYOUT_HOST_BRIDGE_KEY as p,WEVU_PAGE_LAYOUT_NAME_KEY as m,WEVU_PAGE_LAYOUT_PROPS_KEY as h,WEVU_PAGE_LAYOUT_SETTER_KEY as g,WEVU_PUBLIC_RUNTIME_KEY as _,WEVU_READY_CALLED_KEY as v,WEVU_RESOLVE_PUBLIC_INSTANCE_METHOD as y,WEVU_RUNTIME_KEY as b,WEVU_RUNTIME_OWNER_ID_KEY as re,WEVU_SLOT_OWNER_ID_KEY as x,WEVU_TEMPLATE_REFS_KEY as S}from"@weapp-core/constants";function C(e){let t=e.selectOwnerComponent;if(typeof t==`function`)try{let n=t.call(e);n&&n!==e&&o(n)}catch(e){}}function w(w){var T;let{runtimeApp:E,watch:D,setup:O,restOptions:k,pageLifecycleHooks:A,finalObservers:j,userLifetimes:M,userPageLifetimes:N,finalMethods:P,finalOptions:F,applyExtraInstanceFields:I,templateRefs:L,layoutHosts:R,attachWevuPropKeys:z,setupLifecycle:B,syncWevuPropsFromInstance:V,directPropsDerivedKeys:H,isPage:U,vueLifecycles:W,getRuntimeOwnerLabel:G}=w,K=e=>{var t;let n=(t=e.__wevu)==null?e[_]:t;if(n)return n;let r=e.$state;if(r&&typeof r==`object`)return r[b]},ie=e=>{var t,n,r,i,a;return(t=(n=(r=e[re])==null?e[x]:r)==null?(i=e.data)==null?void 0:i[x]:n)==null?(a=e.properties)==null?void 0:a[x]:t},ae=e=>{var t;let n=(t=K(e))==null?void 0:t.proxy;if(n)return n;let r=ie(e);if(typeof r==`string`&&r){var a;return(a=i(r))==null?e:a}return e},q=e=>{let t=K(e);return t?{runtime:t,mounted:!1}:(I(e),z(e),c(e,E,D,O,{deferSetData:!0,snapshotOmitKeys:H}),V(e),s(e),{runtime:K(e),mounted:!0})},J=(e,t,n)=>{let r=W[t];if(typeof r==`function`)return r.apply(ae(e),n)},oe=e=>{K(e)||typeof W.mounted!=`function`||q(e).mounted&&(J(e,`created`,[]),J(e,`beforeMount`,[]))},Y={},X=e=>{if(!Array.isArray(R)||!R.length||e[p])return;let t=te(R,e);t&&(e[p]=t)},Z=e=>{U&&(e[g]=(t,i)=>{var a;let o=(a=e.__wevu)==null?void 0:a.state;if(!o||typeof o!=`object`)return;o[m]=n(t);let s=t===!1||i==null?{}:i;o[h]=s,r(e,t,s)})};if(U)for(let e of[`onPullDownRefresh`,`onReachBottom`,`onShareAppMessage`,`onShareTimeline`,`onAddToFavorites`]){let t=A[e];typeof t==`function`&&typeof P[e]!=`function`&&(Y[e]=function(...e){return t.apply(this,e)})}let Q={...k,...U?A:{},observers:j,lifetimes:{...M,created:function(...e){if(J(this,`beforeCreate`,e),I(this),Array.isArray(L)&&L.length&&Object.defineProperty(this,S,{value:L,configurable:!0,enumerable:!1,writable:!1}),z(this),B===`created`){try{c(this,E,D,O,{deferSetData:!0,snapshotOmitKeys:H})}catch(e){let t=G(this);throw Error(`[wevu] mount runtime failed in created (${t}): ${e instanceof Error?e.message:String(e)}`)}V(this),Z(this)}typeof M.created==`function`&&M.created.apply(this,e)},moved:function(...e){t(this,`onMoved`,e),typeof M.moved==`function`&&M.moved.apply(this,e)},attached:function(...e){if(I(this),Array.isArray(L)&&L.length&&!this[S]&&Object.defineProperty(this,S,{value:L,configurable:!0,enumerable:!1,writable:!1}),z(this),B!==`created`||!this.__wevu)try{c(this,E,D,O,{deferSetData:!0,snapshotOmitKeys:H})}catch(e){let t=G(this);throw Error(`[wevu] mount runtime failed in attached (${t}): ${e instanceof Error?e.message:String(e)}`)}V(this),J(this,`created`,e),J(this,`beforeMount`,e),Z(this),X(this),s(this),t(this,`onAttached`,e),typeof M.attached==`function`&&M.attached.apply(this,e)},ready:function(...e){if(oe(this),U&&typeof A.onReady==`function`){let t=!!this[v];A.onReady.call(this,...e),t||J(this,`mounted`,e),typeof M.ready==`function`&&M.ready.apply(this,e);return}if(!this[v]){this[v]=!0,V(this),C(this),o(this,()=>{t(this,`onReady`,e),J(this,`mounted`,e),typeof M.ready==`function`&&M.ready.apply(this,e)});return}typeof M.ready==`function`&&M.ready.apply(this,e)},detached:function(...e){if(J(this,`beforeUnmount`,e),J(this,`beforeDestroy`,e),C(this),t(this,`onDetached`,e),U&&typeof A.onUnload==`function`){A.onUnload.call(this,...e),typeof M.detached==`function`&&M.detached.apply(this,e),J(this,`unmounted`,e),J(this,`destroyed`,e);return}a(this),Array.isArray(R)&&R.length&&this[p]&&(ne(R,this[p]),delete this[p]),ee(this),J(this,`unmounted`,e),J(this,`destroyed`,e),typeof M.detached==`function`&&M.detached.apply(this,e)},error:function(...e){t(this,`onError`,e),typeof M.error==`function`&&M.error.apply(this,e)}},pageLifetimes:{...N,show:function(...e){if(U&&typeof A.onShow==`function`){A.onShow.call(this,...e),typeof N.show==`function`&&N.show.apply(this,e);return}u(this,!0),t(this,`onShow`,e),typeof N.show==`function`&&N.show.apply(this,e)},hide:function(...e){if(U&&typeof A.onHide==`function`){A.onHide.call(this,...e),typeof N.hide==`function`&&N.hide.apply(this,e);return}u(this,!1),t(this,`onHide`,e),typeof N.hide==`function`&&N.hide.apply(this,e)},resize:function(...e){if(U&&typeof A.onResize==`function`){A.onResize.call(this,...e),typeof N.resize==`function`&&N.resize.apply(this,e);return}t(this,`onResize`,e),typeof N.resize==`function`&&N.resize.apply(this,e)},routeDone:function(...e){if(U&&typeof A.onRouteDone==`function`){A.onRouteDone.call(this,...e),typeof N.routeDone==`function`&&N.routeDone.apply(this,e);return}t(this,`onRouteDone`,e),typeof N.routeDone==`function`&&N.routeDone.apply(this,e)}},methods:{...Y,...P,[y]:function(){var e;let t=q(this);return t.mounted&&(J(this,`created`,[]),J(this,`beforeMount`,[])),(e=t.runtime)==null?void 0:e.proxy}},options:F},$=(T=e())==null?void 0:T[f];if(typeof($==null?void 0:$.trackWevuComponent)==`function`){let e=$.trackWevuComponent(Q,(e,t)=>{l(e,E,D,O,{snapshotOmitKeys:H,stateSnapshot:t}),V(e),Z(e),X(e),s(e,{rehydrateSetupState:!0})});$.isApplying()||d(e,U)}else d(Q,U)}export{w as registerComponentDefinition};
@@ -0,0 +1 @@
1
+ import{getMiniProgramRuntimeGlobalObject as e,resolveCurrentMiniProgramPlatform as t}from"../../platform.mjs";import{WEAPP_VITE_STATEFUL_HMR_BRIDGE_KEY as n}from"@weapp-core/constants";function r(e){let{lifetimes:t={},methods:n={},observers:r,options:i,pageLifetimes:a={},properties:o,...s}=e,c=s.onLoad;return{...s,...n,onLoad(...e){var n,r;(n=t.created)==null||n.apply(this,e);let i=c==null?void 0:c.apply(this,e);return(r=t.attached)==null||r.apply(this,e),i},onShow(...e){var t;return(t=a.show)==null?void 0:t.apply(this,e)},onReady(...e){var n;return(n=t.ready)==null?void 0:n.apply(this,e)},onHide(...e){var t;return(t=a.hide)==null?void 0:t.apply(this,e)},onResize(...e){var t;return(t=a.resize)==null?void 0:t.apply(this,e)},onUnload(...e){var n;return(n=t.detached)==null?void 0:n.apply(this,e)},onError(...e){var n;return(n=t.error)==null?void 0:n.apply(this,e)}}}function i(i,a){var o;let s=(o=e())==null?void 0:o[n];if(a&&t()===`alipay`){let e=r(i);if(typeof(s==null?void 0:s.Page)==`function`){s.Page(e);return}Page(e);return}if(typeof(s==null?void 0:s.Component)==`function`){s.Component(i);return}Component(i)}export{i as registerNativeComponentDefinition};
@@ -1 +1 @@
1
- import{isReactive as e,reactive as t}from"../../reactivity/reactive.mjs";import{isRef as n}from"../../reactivity/ref.mjs";const r=/&amp;/g,i=/&quot;/g,a=/&#34;/g,o=/&apos;/g,s=/&#39;/g,c=/&lt;/g,l=/&gt;/g;function u(e){return e.replace(r,`&`).replace(i,`"`).replace(a,`"`).replace(o,`'`).replace(s,`'`).replace(c,`<`).replace(l,`>`)}function d(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()){let t=Number(e);if(Number.isFinite(t))return t}}const f=/[^a-z0-9]+/gi,p=/^-+|-+$/g;function m(e){return e.trim().replace(f,`-`).replace(p,``).toLowerCase()}const h=/-([a-z0-9])/g;function g(e,t){let n=m(typeof(t==null?void 0:t.type)==`string`?t.type:``);if(!n)return;let r=n.replace(h,(e,t)=>t.toUpperCase());if(r)return`${e}${r[0].toUpperCase()}${r.slice(1)}`}const _={wvEventDetail:[`wd`,`wvEventDetail`],wvHandler:[`wh`,`wvHandler`],wvInlineId:[`wi`,`wvInlineId`]};function v(e,t,n){var r;let i=(r=_[t])==null?[t]:r;for(let t of i){let r=g(t,n);if(r&&(e==null?void 0:e[r])!==void 0)return e[r]}for(let t of i)if((e==null?void 0:e[t])!==void 0)return e[t]}function y(e,t,n){return v(e,t,n)}function b(e,t){let n=y(e,`wvEventDetail`,t);return n===!0||n===1||n===`1`||n===`true`}function x(e,t){if(!b(t,e))return e;if(!(!e||typeof e!=`object`||!(`detail`in e)))return e.detail}function S(e,t){if(!t)return;let r=t.split(`.`).filter(Boolean),i=n(e)?e.value:e;for(let e of r){if(n(i)&&(i=i.value),i==null)return;i=i[e]}return n(i)?i.value:i}function C(r){if(typeof r!=`object`||!r||n(r)||e(r))return r;try{return t(r)}catch(e){return r}}function w(e,t,n,r){var i,a,o,s;let c=(i=(a=n==null||(o=n.currentTarget)==null?void 0:o.dataset)==null?n==null||(s=n.target)==null?void 0:s.dataset:a)==null?{}:i,l=x(n,c),f=y(c,`wvInlineId`,n);if(f&&r){let t=r[f];if(t&&typeof t.fn==`function`){let n={},r=Array.isArray(t.keys)?t.keys:[];for(let e=0;e<r.length;e+=1){let t=r[e];n[t]=c==null?void 0:c[`wvS${e}`]}let i=Array.isArray(t.indexKeys)?t.indexKeys:[];for(let e=0;e<i.length;e+=1){let t=i[e],r=d(c==null?void 0:c[`wvI${e}`]);r!==void 0&&(n[t]=r)}let a=Array.isArray(t.scopeResolvers)?t.scopeResolvers:[];for(let t=0;t<r.length;t+=1){let i=r[t],o=a[t];try{let t;if(typeof o==`function`)t=o(e,n,l);else if(o&&typeof o==`object`&&o.type===`for-item`){let r=n[o.indexKey],i=S(e,o.path);t=i==null?void 0:i[r]}else continue;t!==void 0&&(n[i]=C(t))}catch(e){}}let o=t.fn(e,n,l);return typeof o==`function`?o.call(e,l):o}}let p=y(c,`wvHandler`,n),m=typeof t==`string`&&t?t:typeof p==`string`?p:void 0;if(!m)return;let h=y(c,`wvArgs`,n),g=[];if(Array.isArray(h))g=h;else if(typeof h==`string`)try{g=JSON.parse(h)}catch(e){try{g=JSON.parse(u(h))}catch(e){g=[]}}Array.isArray(g)||(g=[]);let _=g.map(e=>e===`$event`?l:e),v=e==null?void 0:e[m];if(typeof v==`function`)return v.apply(e,_)}export{u as decodeWxmlEntities,y as resolveDatasetEventValue,w as runInlineExpression};
1
+ import{isReactive as e,reactive as t}from"../../reactivity/reactive.mjs";import{isRef as n}from"../../reactivity/ref.mjs";const r=/&amp;/g,i=/&quot;/g,a=/&#34;/g,o=/&apos;/g,s=/&#39;/g,c=/&lt;/g,l=/&gt;/g;function u(e){return e.replace(r,`&`).replace(i,`"`).replace(a,`"`).replace(o,`'`).replace(s,`'`).replace(c,`<`).replace(l,`>`)}function d(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()){let t=Number(e);if(Number.isFinite(t))return t}}const f=/[^a-z0-9]+/gi,p=/^-+|-+$/g;function m(e){return e.trim().replace(f,`-`).replace(p,``).toLowerCase()}const h=/-([a-z0-9])/g,g=/[-_]/g;function _(e,t){let n=t.replace(g,``).toLowerCase();for(let[t,r]of Object.entries(e==null?{}:e))if(t.replace(g,``).toLowerCase()===n)return r}function v(e,t){let n=m(typeof(t==null?void 0:t.type)==`string`?t.type:``);if(!n)return;let r=n.replace(h,(e,t)=>t.toUpperCase());if(r)return`${e}${r[0].toUpperCase()}${r.slice(1)}`}const y={wvEventDetail:[`wd`,`wvEventDetail`],wvHandler:[`wh`,`wvHandler`],wvInlineId:[`wi`,`wvInlineId`]};function b(e,t,n){var r;let i=(r=y[t])==null?[t]:r;for(let t of i){let r=v(t,n);if(r&&(e==null?void 0:e[r])!==void 0)return e[r];if(r){let t=_(e,r);if(t!==void 0)return t}}for(let t of i){if((e==null?void 0:e[t])!==void 0)return e[t];let n=_(e,t);if(n!==void 0)return n}}function x(e,t,n){return b(e,t,n)}function S(e,t){let n=x(e,`wvEventDetail`,t);return n===!0||n===1||n===`1`||n===`true`}function C(e,t){if(!S(t,e))return e;if(!(!e||typeof e!=`object`||!(`detail`in e)))return e.detail}function w(e,t){if(!t)return;let r=t.split(`.`).filter(Boolean),i=n(e)?e.value:e;for(let e of r){if(n(i)&&(i=i.value),i==null)return;i=i[e]}return n(i)?i.value:i}function T(r){if(typeof r!=`object`||!r||n(r)||e(r))return r;try{return t(r)}catch(e){return r}}function E(e,t,n,r){var i,a,o,s;let c=(i=(a=n==null||(o=n.currentTarget)==null?void 0:o.dataset)==null?n==null||(s=n.target)==null?void 0:s.dataset:a)==null?{}:i,l=C(n,c),f=x(c,`wvInlineId`,n);if(f&&r){let t=r[f];if(t&&typeof t.fn==`function`){let n={},r=Array.isArray(t.keys)?t.keys:[];for(let e=0;e<r.length;e+=1){let t=r[e];n[t]=c==null?void 0:c[`wvS${e}`]}let i=Array.isArray(t.indexKeys)?t.indexKeys:[];for(let e=0;e<i.length;e+=1){let t=i[e],r=d(c==null?void 0:c[`wvI${e}`]);r!==void 0&&(n[t]=r)}let a=Array.isArray(t.scopeResolvers)?t.scopeResolvers:[];for(let t=0;t<r.length;t+=1){let i=r[t],o=a[t];try{let t;if(typeof o==`function`)t=o(e,n,l);else if(o&&typeof o==`object`&&o.type===`for-item`){let r=n[o.indexKey],i=w(e,o.path);t=i==null?void 0:i[r]}else continue;t!==void 0&&(n[i]=T(t))}catch(e){}}let o=t.fn(e,n,l);return typeof o==`function`?o.call(e,l):o}}let p=x(c,`wvHandler`,n),m=typeof t==`string`&&t?t:typeof p==`string`?p:void 0;if(!m)return;let h=x(c,`wvArgs`,n),g=[];if(Array.isArray(h))g=h;else if(typeof h==`string`)try{g=JSON.parse(h)}catch(e){try{g=JSON.parse(u(h))}catch(e){g=[]}}Array.isArray(g)||(g=[]);let _=g.map(e=>e===`$event`?l:e),v=e==null?void 0:e[m];if(typeof v==`function`)return v.apply(e,_)}export{u as decodeWxmlEntities,x as resolveDatasetEventValue,E as runInlineExpression};
@@ -1 +1 @@
1
- import{isRef as e}from"../../reactivity/ref.mjs";import{callHookList as t}from"../hooks/base.mjs";import{isDeepEqualValue as n}from"../app/setData/snapshot.mjs";import{resolveRuntimePageLayoutName as r,syncRuntimePageLayoutState as i}from"../pageLayout.mjs";import{allocateOwnerId as a,attachOwnerSnapshot as o,mergeOwnerSnapshotProps as s,removeOwner as c,resolveOwnerSnapshot as l,updateOwnerSnapshot as ee}from"../scopedSlots.mjs";import{clearTemplateRefs as u,scheduleTemplateRefUpdate as d}from"../templateRefs.mjs";import{attachRuntimeSlots as te,createNoopWatchStopHandle as ne,safeMarkNoSetData as re}from"./runtimeInstance/setupContext.mjs";import{bridgeRuntimeMethodsToTarget as ie}from"./runtimeInstance/methodBridge.mjs";import{attachRuntimeProvideParentContext as ae}from"./runtimeInstance/provideContext.mjs";import{attachNativeInstanceRef as oe,attachRuntimeInstance as se,attachRuntimeRef as f,callNativeSetData as p,ensureRuntimeProps as ce,resolveNativeSetData as m}from"./runtimeInstance/utils.mjs";import{runRuntimeSetupPhase as h}from"./runtimeInstance/setupPhase.mjs";import{createSetDataHighFrequencyWarningMonitor as le}from"./setDataFrequencyWarning.mjs";import{registerWatches as ue}from"./watch.mjs";import{WEVU_EFFECT_SCOPE_KEY as g,WEVU_HOOKS_KEY as _,WEVU_PAGE_LAYOUT_NAME_KEY as v,WEVU_PAGE_LAYOUT_PROPS_KEY as y,WEVU_PAGE_LAYOUT_SETTER_KEY as b,WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY as de,WEVU_PROPS_DERIVED_KEYS_KEY as x,WEVU_PROPS_KEY as fe,WEVU_PUBLIC_RUNTIME_KEY as S,WEVU_RUNTIME_OWNER_ID_KEY as C,WEVU_SLOT_OWNER_ID_KEY as w,WEVU_TEMPLATE_REFS_KEY as T,WEVU_WATCH_STOPS_KEY as E}from"@weapp-core/constants";function D(e,t=new WeakMap){if(!e||typeof e!=`object`)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let n=[];t.set(e,n);for(let r of e)n.push(D(r,t));return n}let n={};t.set(e,n);for(let[r,i]of Object.entries(e))n[r]=D(i,t);return n}function pe(e,t,n){let r=e.data;if((!r||typeof r!=`object`)&&(!n||!Object.keys(n).length))return;let i=Array.isArray(t)&&t.length?new Set(t):void 0,a={};if(r&&typeof r==`object`)for(let[e,t]of Object.entries(r))i!=null&&i.has(e)||(a[e]=D(t));if(n)for(let[e,t]of Object.entries(n))i!=null&&i.has(e)||(a[e]=D(t));return a}function me(e){return!!(e!=null&&e.__wevuHasTemplateRuntimeBindings)}function he(e){typeof e.route!=`string`||!e.route||(e[b]=(t,n)=>{var a;let o=(a=e.__wevu)==null?void 0:a.state;if(!o||typeof o!=`object`)return;o[v]=r(t);let s=t===!1||n==null?{}:n;o[y]=s,i(e,t,s)})}function O(e,t,n,r,i){var c,u,g,_,v,y,b,C,O,k,A,j;if(e.__wevu)return e.__wevu;ae(e,t),re(e);let M=(c=e.data)==null?void 0:c[w],N=typeof M==`string`&&M?M:a(),P=typeof M==`string`&&M!==N,F=!!(t!=null&&(u=t.__wevuSetDataOptions)!=null&&u.suspendWhenHidden),I=typeof e.route==`string`&&e.route?`page:${e.route}`:typeof e.is==`string`&&e.is?`component:${e.is}`:`unknown-target`,L=le({option:t==null||(g=t.__wevuSetDataOptions)==null?void 0:g.highFrequencyWarning,targetLabel:I,isInPageScrollHook:()=>{var t;return Number((t=e[de])==null?0:t)>0}}),R=i!=null&&i.deferSetData?(e=>{let t,n=[],r=!1,i={setData(i,a){if(!r){var o;t={...(o=t)==null?{}:o,...i},a&&n.push(a);return}let s=m(e);if(s)return p(e,s,i,a)}};return i.__wevu_enableSetData=(i=!1)=>{r=!0,i&&(t=void 0,n=[]);let a=m(e);if(t&&Object.keys(t).length&&a){let r=t,i=n;t=void 0,n=[];let o=i.length?()=>i.forEach(e=>e()):void 0;p(e,a,r,o)}},i})(e):{setData(t,n){let r=m(e);if(r)return p(e,r,t,n)}},z,B=!0,V,ge=(e,t)=>({...e==null?{}:e,...t}),H=()=>{var t;if(!z)return;let n=l(z),r=(t=e[fe])==null?e.properties:t;s(n,r),ee(N,n,z.proxy,e)},_e=()=>{if(!P)return;let t=e.data;try{t&&typeof t==`object`&&(t[w]=N)}catch(e){}let n=m(e);n&&p(e,n,{[w]:N})},U={...R,setData(t){if(L==null||L(),F&&!B){V=ge(V,t),H(),d(e);return}let n=Array.isArray(e[T])&&e[T].length>0;if(H(),n&&m(e))return new Promise(n=>{R.setData(t,()=>{H(),d(e),n()})});let r=R.setData(t);return d(e),r},__wevu_setVisibility(t){if(B=t,!B||!V)return;let n=V;V=void 0;let r=Array.isArray(e[T])&&e[T].length>0;if(H(),r&&m(e))return new Promise(t=>{R.setData(n,()=>{H(),d(e),t()})});let i=R.setData(n);return d(e),i}};Object.defineProperty(U,"__wevu_targetLabel",{configurable:!0,enumerable:!1,value:I,writable:!1});let W=e.properties;W&&typeof W==`object`&&Object.defineProperty(U,"__wevu_initialProps",{configurable:!0,enumerable:!1,value:W,writable:!1}),Array.isArray(i==null?void 0:i.snapshotOmitKeys)&&i.snapshotOmitKeys.length&&Object.defineProperty(U,"__wevu_snapshotOmitKeys",{configurable:!0,enumerable:!1,value:i.snapshotOmitKeys,writable:!1});let G=pe(e,i==null?void 0:i.snapshotOmitKeys,me(t)?void 0:{[w]:N});G&&Object.keys(G).length&&Object.defineProperty(U,"__wevu_initialSnapshot",{configurable:!0,enumerable:!1,value:G,writable:!1}),Object.defineProperty(U,"__wevu_initialState",{configurable:!0,enumerable:!1,value:{[w]:N},writable:!1}),(i!=null&&i.deferSetData||r||W&&typeof W==`object`&&Object.keys(W).length>0)&&Object.defineProperty(U,"__wevu_deferInitialSnapshot",{configurable:!0,enumerable:!1,value:!0,writable:!1});let K=t.mount(U);z=K,se(K,e);let q=(_=K==null?void 0:K.proxy)==null?{}:_,J=(v=K==null?void 0:K.state)==null?{}:v,ve=(y=K==null?void 0:K.setupState)==null?Object.create(null):y;J&&typeof J==`object`&&(f(J,K),oe(J,e));let ye=(b=K==null?void 0:K.computed)==null?Object.create(null):b;if(!(K!=null&&K.methods))try{K.methods=Object.create(null)}catch(e){}let be=(C=K==null?void 0:K.methods)==null?Object.create(null):C,xe=(O=K==null?void 0:K.watch)==null?(()=>ne()):O,Se=(k=K==null?void 0:K.bindModel)==null?(()=>{}):k,Y={...K==null?{}:K,state:J,setupState:ve,proxy:q,methods:be,computed:ye,watch:xe,bindModel:Se,snapshot:(A=K==null?void 0:K.snapshot)==null?(()=>Object.create(null)):A,unmount:(j=K==null?void 0:K.unmount)==null?(()=>{}):j};Object.defineProperty(Y,"__wevu_initialRuntimeSnapshot",{configurable:!0,enumerable:!1,value:D(J),writable:!1});let X=Y,Ce={__wevu_flushSetupSnapshotSync:K.__wevu_flushSetupSnapshotSync,__wevu_touchSetupMethodsVersion:K.__wevu_touchSetupMethodsVersion,__wevu_trackSetupReactiveKey:K.__wevu_trackSetupReactiveKey,[x]:K[x]};for(let[e,t]of Object.entries(Ce))t&&Object.defineProperty(Y,e,{configurable:!0,enumerable:!1,value:t,writable:!0});Object.defineProperty(e,S,{value:Y,configurable:!0,enumerable:!1,writable:!1}),e.__wevu=Y,he(e);let we=ce(e,J);te(J,we),o(e,Y,N,{deferSnapshot:i==null?void 0:i.deferSetData}),_e();let Z=n?ue(Y,n,e,{deferMissingSourceBaseline:!!r}):[];if(Z.length&&(e[E]=Z),r){if(h({target:e,runtime:K,runtimeWithDefaults:Y,runtimeState:J,runtimeProxy:q,setup:r}),!(i!=null&&i.deferSetData)){var Q;(Q=X.__wevu_flushSetupSnapshotSync)==null||Q.call(X)}i!=null&&i.deferSetData||H();for(let e of Z)e.resume()}else if(!(i!=null&&i.deferSetData)&&e.properties&&typeof e.properties==`object`&&Object.keys(e.properties).length>0){var $;($=X.__wevu_flushSetupSnapshotSync)==null||$.call(X),H()}return ie(e,K),K}function k(e,t,n){for(let e of Reflect.ownKeys(t))if(!Reflect.has(n,e)){let n=Reflect.getOwnPropertyDescriptor(t,e);n!=null&&n.configurable&&Reflect.deleteProperty(t,e)}for(let e of Reflect.ownKeys(n)){let r=Reflect.getOwnPropertyDescriptor(n,e);if(r)try{Reflect.defineProperty(t,e,r)}catch(r){try{t[e]=n[e]}catch(e){}}}return f(t.state,t),e.__wevu=t,Object.defineProperty(e,S,{value:t,configurable:!0,enumerable:!1,writable:!1}),t}function A(t,n,r){let i=t.state,a=t.setupState,o={};for(let t of Object.keys(n==null?{}:n)){if(!Object.prototype.hasOwnProperty.call(i,t))continue;if(r&&Object.prototype.hasOwnProperty.call(r,t)){o[t]=D(r[t]);continue}let n=a==null?void 0:a[t];o[t]=D(e(n)?n.value:i[t])}return o}function j(t,r){var i;let a=t.__wevu,o=a==null?void 0:a.state,s=a==null?void 0:a.setupState,c=(i=r==null?void 0:r.nativeData)==null?t.data:i;if(!o||typeof o!=`object`||!c||typeof c!=`object`)return;let l=a==null?void 0:a.__wevu_initialRuntimeSnapshot;for(let[t,i]of Object.entries(c))if(!(!t||t===`undefined`)&&Object.prototype.hasOwnProperty.call(o,t))try{let a=s==null?void 0:s[t],c=D(i);if(!(r!=null&&r.includeSetupState)&&s&&Object.prototype.hasOwnProperty.call(s,t)||!(r!=null&&r.includeSetupState)&&l&&Object.prototype.hasOwnProperty.call(l,t)&&!n(o[t],l[t],20,{keys:1e4})||!(r!=null&&r.includeSetupState)&&l&&!Object.prototype.hasOwnProperty.call(l,t))continue;if(e(a)){a.value=c;continue}o[t]=c}catch(e){}}function M(e,t){var n,r,i;let a=(n=e.__wevu)==null?void 0:n.adapter;j(e,{includeSetupState:t==null?void 0:t.rehydrateSetupState}),a&&typeof a.__wevu_enableSetData==`function`&&a.__wevu_enableSetData(!0),(r=e.__wevu)==null||(i=r.__wevu_flushSetupSnapshotSync)==null||i.call(r)}function N(e,t){var n;let r=(n=e.__wevu)==null?void 0:n.adapter;r&&typeof r.__wevu_setVisibility==`function`&&r.__wevu_setVisibility(t)}function P(e,n){var r,i;let a=e.__wevu,o=(r=e[C])==null?e[w]:r;o&&c(o),u(e),!(n!=null&&n.skipHooks)&&a&&e[_]&&t(e,`onUnload`,[]),e[_]&&(e[_]=void 0);let s=e[E];if(Array.isArray(s))for(let e of s)try{e()}catch(e){}e[E]=void 0,(i=e[g])==null||i.stop(),e[g]=void 0,a&&a.unmount(),delete e.__wevu,S in e&&delete e[S]}function F(e,t,n,r,i){let a=e.__wevu,o=a?A(a,e.data,i==null?void 0:i.stateSnapshot):void 0;P(e,{skipHooks:!0});let s=O(e,t,n,r,{deferSetData:!0,snapshotOmitKeys:i==null?void 0:i.snapshotOmitKeys});if(o){let t=e.data;t&&typeof t==`object`&&Object.assign(t,D(o)),j(e,{includeSetupState:!0,nativeData:o})}return!a||a===s?s:k(e,a,s)}export{M as enableDeferredSetData,O as mountRuntimeInstance,F as refreshRuntimeInstance,N as setRuntimeSetDataVisibility,P as teardownRuntimeInstance};
1
+ import{isRef as e}from"../../reactivity/ref.mjs";import{callHookList as t}from"../hooks/base.mjs";import{isDeepEqualValue as n}from"../app/setData/snapshot.mjs";import{resolveRuntimePageLayoutName as r,syncRuntimePageLayoutState as i}from"../pageLayout.mjs";import{allocateOwnerId as a,attachOwnerSnapshot as o,mergeOwnerSnapshotProps as s,removeOwner as c,resolveOwnerSnapshot as l,updateOwnerSnapshot as ee}from"../scopedSlots.mjs";import{clearTemplateRefs as u,scheduleTemplateRefUpdate as d}from"../templateRefs.mjs";import{attachRuntimeSlots as te,createNoopWatchStopHandle as ne,safeMarkNoSetData as re}from"./runtimeInstance/setupContext.mjs";import{bridgeRuntimeMethodsToTarget as ie}from"./runtimeInstance/methodBridge.mjs";import{attachRuntimeProvideParentContext as ae}from"./runtimeInstance/provideContext.mjs";import{attachNativeInstanceRef as oe,attachRuntimeInstance as se,attachRuntimeRef as f,callNativeSetData as p,ensureRuntimeProps as ce,resolveNativeSetData as m}from"./runtimeInstance/utils.mjs";import{runRuntimeSetupPhase as le}from"./runtimeInstance/setupPhase.mjs";import{createSetDataHighFrequencyWarningMonitor as ue}from"./setDataFrequencyWarning.mjs";import{registerWatches as de}from"./watch.mjs";import{WEVU_EFFECT_SCOPE_KEY as h,WEVU_HOOKS_KEY as g,WEVU_PAGE_LAYOUT_NAME_KEY as _,WEVU_PAGE_LAYOUT_PROPS_KEY as v,WEVU_PAGE_LAYOUT_SETTER_KEY as y,WEVU_PAGE_SCROLL_HOOK_DEPTH_KEY as fe,WEVU_PROPS_DERIVED_KEYS_KEY as b,WEVU_PROPS_KEY as x,WEVU_PUBLIC_RUNTIME_KEY as S,WEVU_RUNTIME_OWNER_ID_KEY as C,WEVU_SLOT_OWNER_ID_KEY as w,WEVU_TEMPLATE_REFS_KEY as T,WEVU_WATCH_STOPS_KEY as E}from"@weapp-core/constants";function D(e,t=new WeakMap){if(!e||typeof e!=`object`)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let n=[];t.set(e,n);for(let r of e)n.push(D(r,t));return n}let n={};t.set(e,n);for(let[r,i]of Object.entries(e))n[r]=D(i,t);return n}function pe(e,t,n){let r=e.data;if((!r||typeof r!=`object`)&&(!n||!Object.keys(n).length))return;let i=Array.isArray(t)&&t.length?new Set(t):void 0,a={};if(r&&typeof r==`object`)for(let[e,t]of Object.entries(r))i!=null&&i.has(e)||(a[e]=D(t));if(n)for(let[e,t]of Object.entries(n))i!=null&&i.has(e)||(a[e]=D(t));return a}function me(e){return!!(e!=null&&e.__wevuHasTemplateRuntimeBindings)}function he(e){typeof e.route!=`string`||!e.route||(e[y]=(t,n)=>{var a;let o=(a=e.__wevu)==null?void 0:a.state;if(!o||typeof o!=`object`)return;o[_]=r(t);let s=t===!1||n==null?{}:n;o[v]=s,i(e,t,s)})}function O(e,t,n,r,i){var c,u,h,g,_,v,y,C,O,k,A,j;if(e.__wevu)return e.__wevu;ae(e,t),re(e);let M=(c=e.data)==null?void 0:c[w],N=typeof M==`string`&&M?M:a(),P=typeof M==`string`&&M!==N,F=!!(t!=null&&(u=t.__wevuSetDataOptions)!=null&&u.suspendWhenHidden),I=typeof e.route==`string`&&e.route?`page:${e.route}`:typeof e.is==`string`&&e.is?`component:${e.is}`:`unknown-target`,L=ue({option:t==null||(h=t.__wevuSetDataOptions)==null?void 0:h.highFrequencyWarning,targetLabel:I,isInPageScrollHook:()=>{var t;return Number((t=e[fe])==null?0:t)>0}}),R=i!=null&&i.deferSetData?(e=>{let t,n=[],r=!1,i={setData(i,a){if(!r){var o;t={...(o=t)==null?{}:o,...i},a&&n.push(a);return}let s=m(e);if(s)return p(e,s,i,a)}};return i.__wevu_enableSetData=(i=!1)=>{r=!0,i&&(t=void 0,n=[]);let a=m(e);if(t&&Object.keys(t).length&&a){let r=t,i=n;t=void 0,n=[];let o=i.length?()=>i.forEach(e=>e()):void 0;p(e,a,r,o)}},i})(e):{setData(t,n){let r=m(e);if(r)return p(e,r,t,n)}},z,B=!0,V,ge=(e,t)=>({...e==null?{}:e,...t}),H=()=>{var t;if(!z)return;let n=l(z),r=(t=e[x])==null?e.properties:t;s(n,r),ee(N,n,z.proxy,e)},_e=()=>{if(!P)return;let t=e.data;try{t&&typeof t==`object`&&(t[w]=N)}catch(e){}let n=m(e);n&&p(e,n,{[w]:N})},U={...R,setData(t){if(L==null||L(),F&&!B){V=ge(V,t),H(),d(e);return}let n=Array.isArray(e[T])&&e[T].length>0;if(H(),n&&m(e))return new Promise(n=>{R.setData(t,()=>{H(),d(e),n()})});let r=R.setData(t);return d(e),r},__wevu_setVisibility(t){if(B=t,!B||!V)return;let n=V;V=void 0;let r=Array.isArray(e[T])&&e[T].length>0;if(H(),r&&m(e))return new Promise(t=>{R.setData(n,()=>{H(),d(e),t()})});let i=R.setData(n);return d(e),i}};Object.defineProperty(U,"__wevu_targetLabel",{configurable:!0,enumerable:!1,value:I,writable:!1});let W=e.properties;W&&typeof W==`object`&&Object.defineProperty(U,"__wevu_initialProps",{configurable:!0,enumerable:!1,value:W,writable:!1}),Array.isArray(i==null?void 0:i.snapshotOmitKeys)&&i.snapshotOmitKeys.length&&Object.defineProperty(U,"__wevu_snapshotOmitKeys",{configurable:!0,enumerable:!1,value:i.snapshotOmitKeys,writable:!1});let G=pe(e,i==null?void 0:i.snapshotOmitKeys,me(t)?void 0:{[w]:N});G&&Object.keys(G).length&&Object.defineProperty(U,"__wevu_initialSnapshot",{configurable:!0,enumerable:!1,value:G,writable:!1}),Object.defineProperty(U,"__wevu_initialState",{configurable:!0,enumerable:!1,value:{[w]:N},writable:!1}),(i!=null&&i.deferSetData||r||W&&typeof W==`object`&&Object.keys(W).length>0)&&Object.defineProperty(U,"__wevu_deferInitialSnapshot",{configurable:!0,enumerable:!1,value:!0,writable:!1});let K=t.mount(U);z=K,se(K,e);let q=(g=K==null?void 0:K.proxy)==null?{}:g,J=(_=K==null?void 0:K.state)==null?{}:_,ve=(v=K==null?void 0:K.setupState)==null?Object.create(null):v;J&&typeof J==`object`&&(f(J,K),oe(J,e));let ye=(y=K==null?void 0:K.computed)==null?Object.create(null):y;if(!(K!=null&&K.methods))try{K.methods=Object.create(null)}catch(e){}let be=(C=K==null?void 0:K.methods)==null?Object.create(null):C,xe=(O=K==null?void 0:K.watch)==null?(()=>ne()):O,Se=(k=K==null?void 0:K.bindModel)==null?(()=>{}):k,Y={...K==null?{}:K,state:J,setupState:ve,proxy:q,methods:be,computed:ye,watch:xe,bindModel:Se,snapshot:(A=K==null?void 0:K.snapshot)==null?(()=>Object.create(null)):A,unmount:(j=K==null?void 0:K.unmount)==null?(()=>{}):j};Object.defineProperty(Y,"__wevu_initialRuntimeSnapshot",{configurable:!0,enumerable:!1,value:D(J),writable:!1});let X=Y,Ce={__wevu_flushSetupSnapshotSync:K.__wevu_flushSetupSnapshotSync,__wevu_touchSetupMethodsVersion:K.__wevu_touchSetupMethodsVersion,__wevu_trackSetupReactiveKey:K.__wevu_trackSetupReactiveKey,[b]:K[b]};for(let[e,t]of Object.entries(Ce))t&&Object.defineProperty(Y,e,{configurable:!0,enumerable:!1,value:t,writable:!0});Object.defineProperty(e,S,{value:Y,configurable:!0,enumerable:!1,writable:!1}),e.__wevu=Y,he(e);let we=ce(e,J);te(J,we),o(e,Y,N,{deferSnapshot:i==null?void 0:i.deferSetData}),_e();let Z=n?de(Y,n,e,{deferMissingSourceBaseline:!!r}):[];if(Z.length&&(e[E]=Z),r){if(le({target:e,runtime:K,runtimeWithDefaults:Y,runtimeState:J,runtimeProxy:q,setup:r}),!(i!=null&&i.deferSetData)){var Q;(Q=X.__wevu_flushSetupSnapshotSync)==null||Q.call(X)}i!=null&&i.deferSetData||H();for(let e of Z)e.resume()}else if(!(i!=null&&i.deferSetData)&&e.properties&&typeof e.properties==`object`&&Object.keys(e.properties).length>0){var $;($=X.__wevu_flushSetupSnapshotSync)==null||$.call(X),H()}return ie(e,K),K}function k(e,t,n){for(let e of Reflect.ownKeys(t))if(!Reflect.has(n,e)){let n=Reflect.getOwnPropertyDescriptor(t,e);n!=null&&n.configurable&&Reflect.deleteProperty(t,e)}for(let e of Reflect.ownKeys(n)){let r=Reflect.getOwnPropertyDescriptor(n,e);if(r)try{Reflect.defineProperty(t,e,r)}catch(r){try{t[e]=n[e]}catch(e){}}}return f(t.state,t),e.__wevu=t,Object.defineProperty(e,S,{value:t,configurable:!0,enumerable:!1,writable:!1}),t}function A(t,n,r){let i=t.state,a=t.setupState,o={};for(let t of Object.keys(n==null?{}:n)){if(!Object.prototype.hasOwnProperty.call(i,t))continue;let n=a==null?void 0:a[t];if(!(a&&Object.prototype.hasOwnProperty.call(a,t)&&!e(n))){if(r&&Object.prototype.hasOwnProperty.call(r,t)){o[t]=D(r[t]);continue}o[t]=D(e(n)?n.value:i[t])}}return o}function j(t,n){let r=t.setupState;return!r||!n||typeof n!=`object`?[]:Object.keys(n).filter(t=>{let n=r[t];return Object.prototype.hasOwnProperty.call(r,t)&&!e(n)})}function M(t,r){var i;let a=t.__wevu,o=a==null?void 0:a.state,s=a==null?void 0:a.setupState,c=(i=r==null?void 0:r.nativeData)==null?t.data:i;if(!o||typeof o!=`object`||!c||typeof c!=`object`)return;let l=a==null?void 0:a.__wevu_initialRuntimeSnapshot;for(let[t,i]of Object.entries(c))if(!(!t||t===`undefined`)&&Object.prototype.hasOwnProperty.call(o,t))try{let a=s==null?void 0:s[t],c=D(i);if(!(r!=null&&r.includeSetupState)&&s&&Object.prototype.hasOwnProperty.call(s,t)||!(r!=null&&r.includeSetupState)&&l&&Object.prototype.hasOwnProperty.call(l,t)&&!n(o[t],l[t],20,{keys:1e4})||!(r!=null&&r.includeSetupState)&&l&&!Object.prototype.hasOwnProperty.call(l,t))continue;if(e(a)){a.value=c;continue}o[t]=c}catch(e){}}function N(e,t){var n,r,i;let a=(n=e.__wevu)==null?void 0:n.adapter;M(e,{includeSetupState:t==null?void 0:t.rehydrateSetupState}),a&&typeof a.__wevu_enableSetData==`function`&&a.__wevu_enableSetData(!0),(r=e.__wevu)==null||(i=r.__wevu_flushSetupSnapshotSync)==null||i.call(r)}function P(e,t){var n;let r=(n=e.__wevu)==null?void 0:n.adapter;r&&typeof r.__wevu_setVisibility==`function`&&r.__wevu_setVisibility(t)}function F(e,n){var r,i;let a=e.__wevu,o=(r=e[C])==null?e[w]:r;o&&c(o),u(e),!(n!=null&&n.skipHooks)&&a&&e[g]&&t(e,`onUnload`,[]),e[g]&&(e[g]=void 0);let s=e[E];if(Array.isArray(s))for(let e of s)try{e()}catch(e){}e[E]=void 0,(i=e[h])==null||i.stop(),e[h]=void 0,a&&a.unmount(),delete e.__wevu,S in e&&delete e[S]}function I(e,t,n,r,i){let a=e.__wevu,o=a?A(a,e.data,i==null?void 0:i.stateSnapshot):void 0,s=a?j(a,e.data):[];F(e,{skipHooks:!0});let c=O(e,t,n,r,{deferSetData:!0,snapshotOmitKeys:i==null?void 0:i.snapshotOmitKeys});if(o){let t=e.data;if(t&&typeof t==`object`){for(let e of s)delete t[e];Object.assign(t,D(o))}M(e,{includeSetupState:!0,nativeData:o})}return!a||a===c?c:k(e,a,c)}export{N as enableDeferredSetData,O as mountRuntimeInstance,I as refreshRuntimeInstance,P as setRuntimeSetDataVisibility,F as teardownRuntimeInstance};
@@ -1 +1 @@
1
- import{getCurrentMiniProgramHostConfig as e,getMiniProgramGlobalObject as t}from"../platform.mjs";function n(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function r(e){var t,r,i;let a={devOnly:!0,sampleWindowMs:1e3,maxCalls:30,coolDownMs:5e3,warnOnPageScroll:!0,pageScrollCoolDownMs:2e3};return e===void 0||e===!1?{...a,enabled:!1}:e===!0?{...a,enabled:!0}:n(e)?{enabled:(t=e.enabled)==null||t,devOnly:(r=e.devOnly)==null?a.devOnly:r,sampleWindowMs:typeof e.sampleWindowMs==`number`?Math.max(100,Math.floor(e.sampleWindowMs)):a.sampleWindowMs,maxCalls:typeof e.maxCalls==`number`?Math.max(1,Math.floor(e.maxCalls)):a.maxCalls,coolDownMs:typeof e.coolDownMs==`number`?Math.max(0,Math.floor(e.coolDownMs)):a.coolDownMs,warnOnPageScroll:(i=e.warnOnPageScroll)==null?a.warnOnPageScroll:i,pageScrollCoolDownMs:typeof e.pageScrollCoolDownMs==`number`?Math.max(0,Math.floor(e.pageScrollCoolDownMs)):a.pageScrollCoolDownMs}:{...a,enabled:!1}}function i(){let n=e();if((n==null?void 0:n.debug)===!0||(n==null?void 0:n.envVersion)===`develop`)return!0;let r=t();try{var i;if((r==null||(i=r.getAccountInfoSync)==null||(i=i.call(r))==null||(i=i.miniProgram)==null?void 0:i.envVersion)===`develop`)return!0}catch(e){}return!1}function a(e){var t,n;let a=r(e.option);if(!a.enabled)return;let o=i();if(a.devOnly&&!o)return;let s=(t=e.now)==null?(()=>Date.now()):t,c=(n=e.logger)==null?(e=>{var t;let n=(t=globalThis)==null||(t=t.console)==null?void 0:t.warn;typeof n==`function`&&n(e)}):n,l=[],u=-1/0,d=-1/0;return()=>{var t,n;let r=s();l.push(r);let i=r-a.sampleWindowMs;for(;l.length>0&&l[0]<i;)l.shift();let o=(t=(n=e.isInPageScrollHook)==null?void 0:n.call(e))!=null&&t;a.warnOnPageScroll&&o&&(a.pageScrollCoolDownMs<=0||r-d>=a.pageScrollCoolDownMs)&&(d=r,c(`[wevu:setData] 检测到 onPageScroll 回调内调用 setData(${e.targetLabel})。建议改用 IntersectionObserver 监听可见性,或对滚动更新做节流。`)),!(l.length<=a.maxCalls)&&(a.coolDownMs>0&&r-u<a.coolDownMs||(u=r,c(`[wevu:setData] 检测到高频 setData 调用:${l.length} 次/${a.sampleWindowMs}ms(${e.targetLabel})。建议合并更新或降低调用频率。`)))}}export{a as createSetDataHighFrequencyWarningMonitor,i as isDevelopmentRuntime,r as resolveHighFrequencyWarningOptions};
1
+ import{getCurrentMiniProgramHostConfig as e,getMiniProgramGlobalObject as t,getMiniProgramRuntimeConsoleWarn as n}from"../platform.mjs";function r(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function i(e){var t,n,i;let a={devOnly:!0,sampleWindowMs:1e3,maxCalls:30,coolDownMs:5e3,warnOnPageScroll:!0,pageScrollCoolDownMs:2e3};return e===void 0||e===!1?{...a,enabled:!1}:e===!0?{...a,enabled:!0}:r(e)?{enabled:(t=e.enabled)==null||t,devOnly:(n=e.devOnly)==null?a.devOnly:n,sampleWindowMs:typeof e.sampleWindowMs==`number`?Math.max(100,Math.floor(e.sampleWindowMs)):a.sampleWindowMs,maxCalls:typeof e.maxCalls==`number`?Math.max(1,Math.floor(e.maxCalls)):a.maxCalls,coolDownMs:typeof e.coolDownMs==`number`?Math.max(0,Math.floor(e.coolDownMs)):a.coolDownMs,warnOnPageScroll:(i=e.warnOnPageScroll)==null?a.warnOnPageScroll:i,pageScrollCoolDownMs:typeof e.pageScrollCoolDownMs==`number`?Math.max(0,Math.floor(e.pageScrollCoolDownMs)):a.pageScrollCoolDownMs}:{...a,enabled:!1}}function a(){let n=e();if((n==null?void 0:n.debug)===!0||(n==null?void 0:n.envVersion)===`develop`)return!0;let r=t();try{var i;if((r==null||(i=r.getAccountInfoSync)==null||(i=i.call(r))==null||(i=i.miniProgram)==null?void 0:i.envVersion)===`develop`)return!0}catch(e){}return!1}function o(e){var t,r;let o=i(e.option);if(!o.enabled)return;let s=a();if(o.devOnly&&!s)return;let c=(t=e.now)==null?(()=>Date.now()):t,l=(r=e.logger)==null?(e=>{let t=n();typeof t==`function`&&t(e)}):r,u=[],d=-1/0,f=-1/0;return()=>{var t,n;let r=c();u.push(r);let i=r-o.sampleWindowMs;for(;u.length>0&&u[0]<i;)u.shift();let a=(t=(n=e.isInPageScrollHook)==null?void 0:n.call(e))!=null&&t;o.warnOnPageScroll&&a&&(o.pageScrollCoolDownMs<=0||r-f>=o.pageScrollCoolDownMs)&&(f=r,l(`[wevu:setData] 检测到 onPageScroll 回调内调用 setData(${e.targetLabel})。建议改用 IntersectionObserver 监听可见性,或对滚动更新做节流。`)),!(u.length<=o.maxCalls)&&(o.coolDownMs>0&&r-d<o.coolDownMs||(d=r,l(`[wevu:setData] 检测到高频 setData 调用:${u.length} 次/${o.sampleWindowMs}ms(${e.targetLabel})。建议合并更新或降低调用频率。`)))}}export{o as createSetDataHighFrequencyWarningMonitor,a as isDevelopmentRuntime,i as resolveHighFrequencyWarningOptions};
@@ -1 +1 @@
1
- import{isDeepEqualValue as e}from"./app/setData/snapshot.mjs";import{WEVU_PROPS_KEY as t,WEVU_RUNTIME_OWNER_ID_KEY as n,WEVU_SCOPED_SLOT_OWNER_SEED_KEY as r,WEVU_SCOPED_SLOT_OWNER_STORE_KEY as i,WEVU_SLOT_OWNER_ID_KEY as a,WEVU_SLOT_OWNER_ID_PROP as o,WEVU_SLOT_OWNER_KEY as s,WEVU_SLOT_OWNER_PROXY_KEY as c,WEVU_SLOT_PROPS_DATA_KEY as l,WEVU_SLOT_PROPS_KEY as u,WEVU_SLOT_SCOPE_KEY as d}from"@weapp-core/constants";function f(){let e=globalThis;return e[i]instanceof Map||(e[i]=new Map),typeof e[r]!=`number`&&(e[r]=0),{globalObject:e,ownerStore:e[i]}}function p(){let{globalObject:e}=f();return e[r]+=1,`wv${e[r]}`}function m(t,n,r,i){var a;let{ownerStore:o}=f(),s=(a=o.get(t))==null?{snapshot:{},proxy:r,subscribers:new Set}:a,c=!e(s.snapshot,n,20,{keys:1e4}),l=s.proxy!==r;if(s.snapshot=n,s.proxy=r,s.target=i==null?s.target:i,o.set(t,s),(c||l)&&s.subscribers.size)for(let e of s.subscribers)try{e(n,r)}catch(e){}}function h(e){let{ownerStore:t}=f();t.delete(e)}function g(e,t){var n;let{ownerStore:r}=f(),i=(n=r.get(e))==null?{snapshot:{},proxy:void 0,subscribers:new Set}:n;return i.subscribers.add(t),r.set(e,i),()=>{let n=r.get(e);n&&n.subscribers.delete(t)}}function _(e){var t;let{ownerStore:n}=f();return(t=n.get(e))==null?void 0:t.proxy}function v(e){var t;let{ownerStore:n}=f();return(t=n.get(e))==null?void 0:t.snapshot}function y(e){var t;let{ownerStore:n}=f();return(t=n.get(e))==null?void 0:t.target}function b(e){let t=e.__wevu_cloneLatestSnapshot;return typeof t==`function`?t():typeof e.snapshot==`function`?e.snapshot():{}}const x=new Set([a,o,s,c,l,u,d]);function S(e,t){if(!(!t||typeof t!=`object`))for(let[n,r]of Object.entries(t))x.has(n)||(e[n]=r)}function C(e,r,i,o){var s;try{e[n]=i}catch(e){}try{r.state[a]=i}catch(e){}try{e[a]=i}catch(e){}try{let t=e.data;t&&typeof t==`object`&&(t[a]=i)}catch(e){}let c=o!=null&&o.deferSnapshot?{}:b(r);S(c,(s=e[t])==null?e.properties:s),m(i,c,r.proxy,e)}export{p as allocateOwnerId,C as attachOwnerSnapshot,_ as getOwnerProxy,v as getOwnerSnapshot,y as getOwnerTarget,S as mergeOwnerSnapshotProps,h as removeOwner,b as resolveOwnerSnapshot,g as subscribeOwner,m as updateOwnerSnapshot};
1
+ import{getScopedSlotHostGlobalObject as e}from"./platform.mjs";import{isDeepEqualValue as t}from"./app/setData/snapshot.mjs";import{WEVU_PROPS_KEY as n,WEVU_RUNTIME_OWNER_ID_KEY as r,WEVU_SCOPED_SLOT_OWNER_SEED_KEY as i,WEVU_SCOPED_SLOT_OWNER_STORE_KEY as a,WEVU_SLOT_OWNER_ID_KEY as o,WEVU_SLOT_OWNER_ID_PROP as s,WEVU_SLOT_OWNER_KEY as c,WEVU_SLOT_OWNER_PROXY_KEY as l,WEVU_SLOT_PROPS_DATA_KEY as u,WEVU_SLOT_PROPS_KEY as d,WEVU_SLOT_SCOPE_KEY as f}from"@weapp-core/constants";function p(){var t;let n=(t=e())==null?Object.create(null):t;return n[a]instanceof Map||(n[a]=new Map),typeof n[i]!=`number`&&(n[i]=0),{globalObject:n,ownerStore:n[a]}}function m(){let{globalObject:e}=p();return e[i]+=1,`wv${e[i]}`}function h(e,n,r,i){var a;let{ownerStore:o}=p(),s=(a=o.get(e))==null?{snapshot:{},proxy:r,subscribers:new Set}:a,c=!t(s.snapshot,n,20,{keys:1e4}),l=s.proxy!==r;if(s.snapshot=n,s.proxy=r,s.target=i==null?s.target:i,o.set(e,s),(c||l)&&s.subscribers.size)for(let e of s.subscribers)try{e(n,r)}catch(e){}}function g(e){let{ownerStore:t}=p();t.delete(e)}function _(e,t){var n;let{ownerStore:r}=p(),i=(n=r.get(e))==null?{snapshot:{},proxy:void 0,subscribers:new Set}:n;return i.subscribers.add(t),r.set(e,i),()=>{let n=r.get(e);n&&n.subscribers.delete(t)}}function v(e){var t;let{ownerStore:n}=p();return(t=n.get(e))==null?void 0:t.proxy}function y(e){var t;let{ownerStore:n}=p();return(t=n.get(e))==null?void 0:t.snapshot}function b(e){var t;let{ownerStore:n}=p();return(t=n.get(e))==null?void 0:t.target}function x(e){let t=e.__wevu_cloneLatestSnapshot;return typeof t==`function`?t():typeof e.snapshot==`function`?e.snapshot():{}}const S=new Set([o,s,c,l,u,d,f]);function C(e,t){if(!(!t||typeof t!=`object`))for(let[n,r]of Object.entries(t))S.has(n)||(e[n]=r)}function w(e,t,i,a){var s;try{e[r]=i}catch(e){}try{t.state[o]=i}catch(e){}try{e[o]=i}catch(e){}try{let t=e.data;t&&typeof t==`object`&&(t[o]=i)}catch(e){}let c=a!=null&&a.deferSnapshot?{}:x(t);C(c,(s=e[n])==null?e.properties:s),h(i,c,t.proxy,e)}export{m as allocateOwnerId,w as attachOwnerSnapshot,v as getOwnerProxy,y as getOwnerSnapshot,b as getOwnerTarget,C as mergeOwnerSnapshotProps,g as removeOwner,x as resolveOwnerSnapshot,_ as subscribeOwner,h as updateOwnerSnapshot};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wevu",
3
3
  "type": "module",
4
- "version": "6.20.1",
4
+ "version": "6.20.3",
5
5
  "description": "Vue 3 风格的小程序运行时,包含响应式、diff+setData 与轻量状态管理",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -227,10 +227,10 @@
227
227
  "dependencies": {
228
228
  "vue": "^3.5.41",
229
229
  "@weapp-core/constants": "0.1.17",
230
- "@weapp-core/shared": "3.1.0",
231
- "@wevu/api": "0.2.15",
232
- "@wevu/compiler": "6.20.1",
233
- "@wevu/web-apis": "1.2.33"
230
+ "@weapp-core/shared": "3.1.1",
231
+ "@wevu/api": "0.2.16",
232
+ "@wevu/compiler": "6.20.3",
233
+ "@wevu/web-apis": "1.2.34"
234
234
  },
235
235
  "scripts": {
236
236
  "dev": "tsdown -w",