@weapp-vite/web 1.3.26 → 1.3.28

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 (240) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +8 -0
  2. package/dist/compiler/wxml/attributes.mjs +8 -0
  3. package/dist/compiler/wxml/attributes.mjs.map +1 -1
  4. package/dist/compiler/wxml/compile.mjs +8 -0
  5. package/dist/compiler/wxml/compile.mjs.map +1 -1
  6. package/dist/compiler/wxml/dependency.mjs +8 -0
  7. package/dist/compiler/wxml/dependency.mjs.map +1 -1
  8. package/dist/compiler/wxml/interpolation.mjs +8 -0
  9. package/dist/compiler/wxml/interpolation.mjs.map +1 -1
  10. package/dist/compiler/wxml/navigation.mjs +8 -0
  11. package/dist/compiler/wxml/navigation.mjs.map +1 -1
  12. package/dist/compiler/wxml/parser.mjs +8 -0
  13. package/dist/compiler/wxml/parser.mjs.map +1 -1
  14. package/dist/compiler/wxml/renderer.mjs +8 -0
  15. package/dist/compiler/wxml/renderer.mjs.map +1 -1
  16. package/dist/compiler/wxml/specialNodes.mjs +8 -0
  17. package/dist/compiler/wxml/specialNodes.mjs.map +1 -1
  18. package/dist/compiler/wxs.mjs +8 -0
  19. package/dist/compiler/wxs.mjs.map +1 -1
  20. package/dist/css/wxss.d.mts +2 -0
  21. package/dist/css/wxss.mjs +8 -0
  22. package/dist/css/wxss.mjs.map +1 -1
  23. package/dist/index.d.mts +2 -0
  24. package/dist/index.mjs +8 -0
  25. package/dist/plugin/constants.mjs +8 -0
  26. package/dist/plugin/constants.mjs.map +1 -1
  27. package/dist/plugin/entry.mjs +8 -0
  28. package/dist/plugin/entry.mjs.map +1 -1
  29. package/dist/plugin/files.mjs +8 -0
  30. package/dist/plugin/files.mjs.map +1 -1
  31. package/dist/plugin/index.d.mts +2 -0
  32. package/dist/plugin/index.mjs +8 -0
  33. package/dist/plugin/index.mjs.map +1 -1
  34. package/dist/plugin/navigation.mjs +8 -0
  35. package/dist/plugin/navigation.mjs.map +1 -1
  36. package/dist/plugin/path.mjs +8 -0
  37. package/dist/plugin/path.mjs.map +1 -1
  38. package/dist/plugin/register.mjs +8 -0
  39. package/dist/plugin/register.mjs.map +1 -1
  40. package/dist/plugin/scan.mjs +8 -0
  41. package/dist/plugin/scan.mjs.map +1 -1
  42. package/dist/plugin/scanConfig.mjs +8 -0
  43. package/dist/plugin/scanConfig.mjs.map +1 -1
  44. package/dist/plugin/state.mjs +8 -0
  45. package/dist/plugin/state.mjs.map +1 -1
  46. package/dist/plugin/types.d.mts +2 -0
  47. package/dist/plugin.d.mts +2 -0
  48. package/dist/plugin.mjs +8 -0
  49. package/dist/runtime/button/helpers.mjs +8 -0
  50. package/dist/runtime/button/helpers.mjs.map +1 -1
  51. package/dist/runtime/button/index.d.mts +2 -0
  52. package/dist/runtime/button/index.mjs +8 -0
  53. package/dist/runtime/button/index.mjs.map +1 -1
  54. package/dist/runtime/button/style.mjs +8 -0
  55. package/dist/runtime/button/style.mjs.map +1 -1
  56. package/dist/runtime/component/behavior.mjs +8 -0
  57. package/dist/runtime/component/behavior.mjs.map +1 -1
  58. package/dist/runtime/component/constants.mjs +8 -0
  59. package/dist/runtime/component/constants.mjs.map +1 -1
  60. package/dist/runtime/component/dom.mjs +8 -0
  61. package/dist/runtime/component/dom.mjs.map +1 -1
  62. package/dist/runtime/component/element.mjs +8 -0
  63. package/dist/runtime/component/element.mjs.map +1 -1
  64. package/dist/runtime/component/events.mjs +8 -0
  65. package/dist/runtime/component/events.mjs.map +1 -1
  66. package/dist/runtime/component/index.d.mts +2 -0
  67. package/dist/runtime/component/index.mjs +8 -0
  68. package/dist/runtime/component/index.mjs.map +1 -1
  69. package/dist/runtime/component/state.mjs +8 -0
  70. package/dist/runtime/component/state.mjs.map +1 -1
  71. package/dist/runtime/component/types.d.mts +2 -0
  72. package/dist/runtime/component/utils.mjs +8 -0
  73. package/dist/runtime/component/utils.mjs.map +1 -1
  74. package/dist/runtime/execution.d.mts +2 -0
  75. package/dist/runtime/execution.mjs +8 -0
  76. package/dist/runtime/execution.mjs.map +1 -1
  77. package/dist/runtime/index.d.mts +2 -0
  78. package/dist/runtime/index.mjs +8 -0
  79. package/dist/runtime/legacyTemplate/dom.mjs +8 -0
  80. package/dist/runtime/legacyTemplate/dom.mjs.map +1 -1
  81. package/dist/runtime/legacyTemplate/expression.mjs +8 -0
  82. package/dist/runtime/legacyTemplate/expression.mjs.map +1 -1
  83. package/dist/runtime/legacyTemplate/index.d.mts +2 -0
  84. package/dist/runtime/legacyTemplate/index.mjs +8 -0
  85. package/dist/runtime/legacyTemplate/index.mjs.map +1 -1
  86. package/dist/runtime/legacyTemplate/types.d.mts +2 -0
  87. package/dist/runtime/navigationBar/index.d.mts +2 -0
  88. package/dist/runtime/navigationBar/index.mjs +8 -0
  89. package/dist/runtime/navigationBar/index.mjs.map +1 -1
  90. package/dist/runtime/navigationBar/style.mjs +8 -0
  91. package/dist/runtime/navigationBar/style.mjs.map +1 -1
  92. package/dist/runtime/polyfill/ad.mjs +8 -0
  93. package/dist/runtime/polyfill/ad.mjs.map +1 -1
  94. package/dist/runtime/polyfill/appState.mjs +8 -0
  95. package/dist/runtime/polyfill/appState.mjs.map +1 -1
  96. package/dist/runtime/polyfill/async.mjs +8 -0
  97. package/dist/runtime/polyfill/async.mjs.map +1 -1
  98. package/dist/runtime/polyfill/auth.mjs +8 -0
  99. package/dist/runtime/polyfill/auth.mjs.map +1 -1
  100. package/dist/runtime/polyfill/authApi.mjs +8 -0
  101. package/dist/runtime/polyfill/authApi.mjs.map +1 -1
  102. package/dist/runtime/polyfill/background.mjs +8 -0
  103. package/dist/runtime/polyfill/background.mjs.map +1 -1
  104. package/dist/runtime/polyfill/canvasContext.mjs +8 -0
  105. package/dist/runtime/polyfill/canvasContext.mjs.map +1 -1
  106. package/dist/runtime/polyfill/capability.mjs +8 -0
  107. package/dist/runtime/polyfill/capability.mjs.map +1 -1
  108. package/dist/runtime/polyfill/cloud.mjs +8 -0
  109. package/dist/runtime/polyfill/cloud.mjs.map +1 -1
  110. package/dist/runtime/polyfill/device.mjs +8 -0
  111. package/dist/runtime/polyfill/device.mjs.map +1 -1
  112. package/dist/runtime/polyfill/deviceApi.mjs +8 -0
  113. package/dist/runtime/polyfill/deviceApi.mjs.map +1 -1
  114. package/dist/runtime/polyfill/deviceAuthSystemApi.d.mts +2 -0
  115. package/dist/runtime/polyfill/deviceAuthSystemApi.mjs +8 -0
  116. package/dist/runtime/polyfill/deviceAuthSystemApi.mjs.map +1 -1
  117. package/dist/runtime/polyfill/filePicker.mjs +8 -0
  118. package/dist/runtime/polyfill/filePicker.mjs.map +1 -1
  119. package/dist/runtime/polyfill/fileSystemManager.mjs +8 -0
  120. package/dist/runtime/polyfill/fileSystemManager.mjs.map +1 -1
  121. package/dist/runtime/polyfill/files.mjs +8 -0
  122. package/dist/runtime/polyfill/files.mjs.map +1 -1
  123. package/dist/runtime/polyfill/index.d.mts +2 -0
  124. package/dist/runtime/polyfill/index.mjs +8 -0
  125. package/dist/runtime/polyfill/index.mjs.map +1 -1
  126. package/dist/runtime/polyfill/interaction.mjs +8 -0
  127. package/dist/runtime/polyfill/interaction.mjs.map +1 -1
  128. package/dist/runtime/polyfill/interactionApi.mjs +8 -0
  129. package/dist/runtime/polyfill/interactionApi.mjs.map +1 -1
  130. package/dist/runtime/polyfill/location.mjs +8 -0
  131. package/dist/runtime/polyfill/location.mjs.map +1 -1
  132. package/dist/runtime/polyfill/locationApi.mjs +8 -0
  133. package/dist/runtime/polyfill/locationApi.mjs.map +1 -1
  134. package/dist/runtime/polyfill/mediaActions.mjs +8 -0
  135. package/dist/runtime/polyfill/mediaActions.mjs.map +1 -1
  136. package/dist/runtime/polyfill/mediaApi/file.mjs +8 -0
  137. package/dist/runtime/polyfill/mediaApi/file.mjs.map +1 -1
  138. package/dist/runtime/polyfill/mediaApi/info.mjs +8 -0
  139. package/dist/runtime/polyfill/mediaApi/info.mjs.map +1 -1
  140. package/dist/runtime/polyfill/mediaApi/picker.mjs +8 -0
  141. package/dist/runtime/polyfill/mediaApi/picker.mjs.map +1 -1
  142. package/dist/runtime/polyfill/mediaApi/preview.mjs +8 -0
  143. package/dist/runtime/polyfill/mediaApi/preview.mjs.map +1 -1
  144. package/dist/runtime/polyfill/mediaApi/process.mjs +8 -0
  145. package/dist/runtime/polyfill/mediaApi/process.mjs.map +1 -1
  146. package/dist/runtime/polyfill/mediaInfo.mjs +8 -0
  147. package/dist/runtime/polyfill/mediaInfo.mjs.map +1 -1
  148. package/dist/runtime/polyfill/mediaPicker.mjs +8 -0
  149. package/dist/runtime/polyfill/mediaPicker.mjs.map +1 -1
  150. package/dist/runtime/polyfill/mediaProcess.mjs +8 -0
  151. package/dist/runtime/polyfill/mediaProcess.mjs.map +1 -1
  152. package/dist/runtime/polyfill/menuApi.mjs +8 -0
  153. package/dist/runtime/polyfill/menuApi.mjs.map +1 -1
  154. package/dist/runtime/polyfill/navigationBarRuntime.mjs +8 -0
  155. package/dist/runtime/polyfill/navigationBarRuntime.mjs.map +1 -1
  156. package/dist/runtime/polyfill/network/request.mjs +8 -0
  157. package/dist/runtime/polyfill/network/request.mjs.map +1 -1
  158. package/dist/runtime/polyfill/network/requestBridge.mjs +8 -0
  159. package/dist/runtime/polyfill/network/requestBridge.mjs.map +1 -1
  160. package/dist/runtime/polyfill/network/status.mjs +8 -0
  161. package/dist/runtime/polyfill/network/status.mjs.map +1 -1
  162. package/dist/runtime/polyfill/platformApi.mjs +8 -0
  163. package/dist/runtime/polyfill/platformApi.mjs.map +1 -1
  164. package/dist/runtime/polyfill/platformRuntime.mjs +8 -0
  165. package/dist/runtime/polyfill/platformRuntime.mjs.map +1 -1
  166. package/dist/runtime/polyfill/routeRuntime/dom.mjs +8 -0
  167. package/dist/runtime/polyfill/routeRuntime/dom.mjs.map +1 -1
  168. package/dist/runtime/polyfill/routeRuntime/lifecycle.mjs +8 -0
  169. package/dist/runtime/polyfill/routeRuntime/lifecycle.mjs.map +1 -1
  170. package/dist/runtime/polyfill/routeRuntime/options.d.mts +2 -0
  171. package/dist/runtime/polyfill/routeRuntime/options.mjs +8 -0
  172. package/dist/runtime/polyfill/routeRuntime/options.mjs.map +1 -1
  173. package/dist/runtime/polyfill/routeRuntime/url.mjs +8 -0
  174. package/dist/runtime/polyfill/routeRuntime/url.mjs.map +1 -1
  175. package/dist/runtime/polyfill/routeRuntime.d.mts +2 -0
  176. package/dist/runtime/polyfill/routeRuntime.mjs +8 -0
  177. package/dist/runtime/polyfill/routeRuntime.mjs.map +1 -1
  178. package/dist/runtime/polyfill/runtimeCapabilityApi.mjs +8 -0
  179. package/dist/runtime/polyfill/runtimeCapabilityApi.mjs.map +1 -1
  180. package/dist/runtime/polyfill/runtimeDataApi.d.mts +2 -0
  181. package/dist/runtime/polyfill/runtimeDataApi.mjs +8 -0
  182. package/dist/runtime/polyfill/runtimeDataApi.mjs.map +1 -1
  183. package/dist/runtime/polyfill/runtimeInfra.mjs +8 -0
  184. package/dist/runtime/polyfill/runtimeInfra.mjs.map +1 -1
  185. package/dist/runtime/polyfill/runtimeOps.mjs +8 -0
  186. package/dist/runtime/polyfill/runtimeOps.mjs.map +1 -1
  187. package/dist/runtime/polyfill/selectorQuery.mjs +8 -0
  188. package/dist/runtime/polyfill/selectorQuery.mjs.map +1 -1
  189. package/dist/runtime/polyfill/storage.mjs +8 -0
  190. package/dist/runtime/polyfill/storage.mjs.map +1 -1
  191. package/dist/runtime/polyfill/storageAsync.mjs +8 -0
  192. package/dist/runtime/polyfill/storageAsync.mjs.map +1 -1
  193. package/dist/runtime/polyfill/subscribe.mjs +8 -0
  194. package/dist/runtime/polyfill/subscribe.mjs.map +1 -1
  195. package/dist/runtime/polyfill/system.mjs +8 -0
  196. package/dist/runtime/polyfill/system.mjs.map +1 -1
  197. package/dist/runtime/polyfill/systemApi.mjs +8 -0
  198. package/dist/runtime/polyfill/systemApi.mjs.map +1 -1
  199. package/dist/runtime/polyfill/types/base.d.mts +2 -0
  200. package/dist/runtime/polyfill/types/common.d.mts +2 -0
  201. package/dist/runtime/polyfill/types/locationRuntime.d.mts +2 -0
  202. package/dist/runtime/polyfill/types/mediaAuth.d.mts +2 -0
  203. package/dist/runtime/polyfill/types/platformRuntime.d.mts +2 -0
  204. package/dist/runtime/polyfill/types/systemAuth.d.mts +2 -0
  205. package/dist/runtime/polyfill/ui.mjs +8 -0
  206. package/dist/runtime/polyfill/ui.mjs.map +1 -1
  207. package/dist/runtime/polyfill/uiFeedback.mjs +8 -0
  208. package/dist/runtime/polyfill/uiFeedback.mjs.map +1 -1
  209. package/dist/runtime/polyfill/uiMediaApi.d.mts +2 -0
  210. package/dist/runtime/polyfill/uiMediaApi.mjs +8 -0
  211. package/dist/runtime/polyfill/uiMediaApi.mjs.map +1 -1
  212. package/dist/runtime/polyfill/videoContext.mjs +8 -0
  213. package/dist/runtime/polyfill/videoContext.mjs.map +1 -1
  214. package/dist/runtime/polyfill/vkSession.mjs +8 -0
  215. package/dist/runtime/polyfill/vkSession.mjs.map +1 -1
  216. package/dist/runtime/polyfill/windowResize.mjs +8 -0
  217. package/dist/runtime/polyfill/windowResize.mjs.map +1 -1
  218. package/dist/runtime/polyfill/worker.mjs +8 -0
  219. package/dist/runtime/polyfill/worker.mjs.map +1 -1
  220. package/dist/runtime/polyfill.d.mts +2 -0
  221. package/dist/runtime/renderContext.d.mts +2 -0
  222. package/dist/runtime/renderContext.mjs +8 -0
  223. package/dist/runtime/renderContext.mjs.map +1 -1
  224. package/dist/runtime/rpx.d.mts +2 -0
  225. package/dist/runtime/rpx.mjs +8 -0
  226. package/dist/runtime/rpx.mjs.map +1 -1
  227. package/dist/runtime/style.d.mts +2 -0
  228. package/dist/runtime/style.mjs +8 -0
  229. package/dist/runtime/style.mjs.map +1 -1
  230. package/dist/runtime/template.d.mts +2 -0
  231. package/dist/runtime/utils/object.mjs +8 -0
  232. package/dist/runtime/utils/object.mjs.map +1 -1
  233. package/dist/runtime/warning.d.mts +2 -0
  234. package/dist/runtime/warning.mjs +8 -0
  235. package/dist/runtime/warning.mjs.map +1 -1
  236. package/dist/shared/slugify.mjs +8 -0
  237. package/dist/shared/slugify.mjs.map +1 -1
  238. package/dist/shared/wxml.mjs +8 -0
  239. package/dist/shared/wxml.mjs.map +1 -1
  240. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"routeRuntime.mjs","names":[],"sources":["../../../src/runtime/polyfill/routeRuntime.ts"],"sourcesContent":["import type { ButtonFormConfig } from '../button'\nimport type { ComponentPublicInstance } from '../component'\nimport type { NavigationBarMetrics } from '../navigationBar'\nimport type { AppLaunchOptions, AppRuntime, ComponentRawOptions, ComponentRecord, PageRawOptions, PageRecord, PageStackEntry, RegisterMeta } from './routeRuntime/options'\nimport { slugify } from '../../shared/slugify'\nimport { ensureButtonDefined, setButtonFormConfig } from '../button'\nimport { defineComponent } from '../component'\nimport { setRuntimeExecutionMode } from '../execution'\nimport { ensureNavigationBarDefined, setNavigationBarMetrics } from '../navigationBar'\nimport { setupRpx } from '../rpx'\nimport { setRuntimeWarningOptions } from '../warning'\nimport {\n cloneLaunchOptions,\n resolveCurrentPages,\n resolveFallbackLaunchOptions,\n} from './appState'\nimport { mountEntryToDom } from './routeRuntime/dom'\nimport {\n augmentPageComponentOptions,\n dispatchPageLifetimeToComponents,\n} from './routeRuntime/lifecycle'\nimport {\n\n isRecord,\n normalizeComponentOptions,\n normalizePageOptions,\n} from './routeRuntime/options'\nimport { parsePageUrl } from './routeRuntime/url'\n\nconst pageRegistry = new Map<string, PageRecord>()\nconst componentRegistry = new Map<string, ComponentRecord>()\nconst navigationHistory: PageStackEntry[] = []\nlet pageOrder: string[] = []\nlet appInstance: AppRuntime | undefined\nlet appLaunched = false\nlet lastLaunchOptions: AppLaunchOptions | undefined\nlet pageResizeBridgeBound = false\n\nfunction bindPageResizeBridge() {\n if (pageResizeBridgeBound || typeof window === 'undefined') {\n return\n }\n if (typeof window.addEventListener !== 'function') {\n return\n }\n pageResizeBridgeBound = true\n window.addEventListener('resize', () => {\n const pages = getCurrentPagesInternal()\n const current = pages[pages.length - 1]\n if (!current) {\n return\n }\n dispatchPageLifetimeToComponents(current, 'resize')\n })\n}\n\nfunction ensureAppLaunched(entry: PageStackEntry) {\n if (!appInstance || appLaunched) {\n return\n }\n const launchOptions: AppLaunchOptions = {\n path: entry.id,\n scene: 0,\n query: entry.query,\n referrerInfo: {},\n }\n lastLaunchOptions = {\n path: launchOptions.path,\n scene: launchOptions.scene,\n query: { ...launchOptions.query },\n referrerInfo: { ...launchOptions.referrerInfo },\n }\n if (typeof appInstance.onLaunch === 'function') {\n appInstance.onLaunch(launchOptions)\n }\n if (typeof appInstance.onShow === 'function') {\n appInstance.onShow(launchOptions)\n }\n appLaunched = true\n}\n\nfunction mountEntry(entry: PageStackEntry) {\n mountEntryToDom(entry, pageRegistry, ensureAppLaunched)\n}\n\nfunction pushEntry(id: string, query: Record<string, string>) {\n if (!pageRegistry.has(id)) {\n return\n }\n const entry: PageStackEntry = { id, query }\n navigationHistory.push(entry)\n mountEntry(entry)\n}\n\nfunction replaceEntry(id: string, query: Record<string, string>) {\n if (!pageRegistry.has(id)) {\n return\n }\n const entry: PageStackEntry = { id, query }\n if (navigationHistory.length) {\n navigationHistory[navigationHistory.length - 1] = entry\n }\n else {\n navigationHistory.push(entry)\n }\n mountEntry(entry)\n}\n\nfunction relaunchEntry(id: string, query: Record<string, string>) {\n navigationHistory.length = 0\n pushEntry(id, query)\n}\n\nexport function initializePageRoutes(\n ids: string[],\n options?: {\n rpx?: { designWidth?: number, varName?: string }\n navigationBar?: NavigationBarMetrics\n form?: ButtonFormConfig\n runtime?: {\n executionMode?: 'compat' | 'safe' | 'strict'\n warnings?: {\n level?: 'off' | 'warn' | 'error'\n dedupe?: boolean\n }\n }\n },\n) {\n setRuntimeExecutionMode(options?.runtime?.executionMode)\n setRuntimeWarningOptions(options?.runtime?.warnings)\n pageOrder = Array.from(new Set(ids))\n if (!pageOrder.length) {\n return\n }\n bindPageResizeBridge()\n if (options?.rpx) {\n setupRpx(options.rpx)\n }\n if (options?.navigationBar) {\n setNavigationBarMetrics(options.navigationBar)\n }\n if (options?.form) {\n setButtonFormConfig(options.form)\n }\n if (!navigationHistory.length) {\n pushEntry(pageOrder[0], {})\n }\n}\n\nexport function registerPage<T extends PageRawOptions | undefined>(options: T, meta: RegisterMeta): T {\n ensureButtonDefined()\n ensureNavigationBarDefined()\n const tag = slugify(meta.id, 'wv-page')\n const template = meta.template ?? (() => '')\n const normalized = normalizePageOptions(options)\n const existing = pageRegistry.get(meta.id)\n if (existing) {\n existing.hooks = normalized.hooks\n const component = augmentPageComponentOptions(normalized.component, existing)\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n return options\n }\n const record: PageRecord = {\n tag,\n hooks: normalized.hooks,\n instances: new Set(),\n }\n const component = augmentPageComponentOptions(normalized.component, record)\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n pageRegistry.set(meta.id, record)\n return options\n}\n\nexport function registerComponent<T extends ComponentRawOptions | undefined>(options: T, meta: RegisterMeta): T {\n ensureButtonDefined()\n const tag = slugify(meta.id, 'wv-component')\n const template = meta.template ?? (() => '')\n const component = normalizeComponentOptions(options)\n if (componentRegistry.has(meta.id)) {\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n return options\n }\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n componentRegistry.set(meta.id, { tag })\n return options\n}\n\nexport function registerApp<T extends AppRuntime | undefined>(options: T, _meta?: RegisterMeta): T {\n const resolved = (options ?? {}) as AppRuntime\n if (appInstance) {\n const currentGlobal = appInstance.globalData\n Object.assign(appInstance, resolved)\n if (isRecord(currentGlobal)) {\n appInstance.globalData = currentGlobal\n }\n else if (!isRecord(appInstance.globalData)) {\n appInstance.globalData = {}\n }\n return options\n }\n appInstance = resolved\n appLaunched = false\n lastLaunchOptions = undefined\n if (!isRecord(appInstance.globalData)) {\n appInstance.globalData = {}\n }\n return options\n}\n\nexport function navigateTo(options: { url: string }) {\n if (!options?.url) {\n return Promise.resolve()\n }\n const { id, query } = parsePageUrl(options.url)\n pushEntry(id, query)\n return Promise.resolve()\n}\n\nexport function redirectTo(options: { url: string }) {\n if (!options?.url) {\n return Promise.resolve()\n }\n const { id, query } = parsePageUrl(options.url)\n replaceEntry(id, query)\n return Promise.resolve()\n}\n\nexport function reLaunch(options: { url: string }) {\n if (!options?.url) {\n return Promise.resolve()\n }\n const { id, query } = parsePageUrl(options.url)\n relaunchEntry(id, query)\n return Promise.resolve()\n}\n\nexport function switchTab(options: { url: string }) {\n return redirectTo(options)\n}\n\nexport function navigateBack(options?: { delta?: number }) {\n if (navigationHistory.length <= 1) {\n return Promise.resolve()\n }\n const delta = Math.max(1, options?.delta ?? 1)\n const targetIndex = Math.max(0, navigationHistory.length - 1 - delta)\n const target = navigationHistory[targetIndex]\n navigationHistory.length = targetIndex\n pushEntry(target.id, target.query)\n return Promise.resolve()\n}\n\nexport function getCurrentPagesInternal() {\n return resolveCurrentPages<ComponentPublicInstance>(navigationHistory)\n}\n\nexport function getAppInstance() {\n return appInstance\n}\n\nexport function getLaunchOptionsSync(): AppLaunchOptions {\n if (lastLaunchOptions) {\n return cloneLaunchOptions(lastLaunchOptions)\n }\n return resolveFallbackLaunchOptions(navigationHistory)\n}\n\nexport function getEnterOptionsSync(): AppLaunchOptions {\n return getLaunchOptionsSync()\n}\n"],"mappings":";;;;;;;;;;;;;;AA6BA,MAAM,+BAAe,IAAI,IAAwB;AACjD,MAAM,oCAAoB,IAAI,IAA6B;AAC3D,MAAM,oBAAsC,CAAC;AAC7C,IAAI,YAAsB,CAAC;AAC3B,IAAI;AACJ,IAAI,cAAc;AAClB,IAAI;AACJ,IAAI,wBAAwB;AAE5B,SAAS,uBAAuB;CAC9B,IAAI,yBAAyB,OAAO,WAAW,aAC7C;CAEF,IAAI,OAAO,OAAO,qBAAqB,YACrC;CAEF,wBAAwB;CACxB,OAAO,iBAAiB,gBAAgB;EACtC,MAAM,QAAQ,wBAAwB;EACtC,MAAM,UAAU,MAAM,MAAM,SAAS;EACrC,IAAI,CAAC,SACH;EAEF,iCAAiC,SAAS,QAAQ;CACpD,CAAC;AACH;AAEA,SAAS,kBAAkB,OAAuB;CAChD,IAAI,CAAC,eAAe,aAClB;CAEF,MAAM,gBAAkC;EACtC,MAAM,MAAM;EACZ,OAAO;EACP,OAAO,MAAM;EACb,cAAc,CAAC;CACjB;CACA,oBAAoB;EAClB,MAAM,cAAc;EACpB,OAAO,cAAc;EACrB,OAAO,EAAE,GAAG,cAAc,MAAM;EAChC,cAAc,EAAE,GAAG,cAAc,aAAa;CAChD;CACA,IAAI,OAAO,YAAY,aAAa,YAClC,YAAY,SAAS,aAAa;CAEpC,IAAI,OAAO,YAAY,WAAW,YAChC,YAAY,OAAO,aAAa;CAElC,cAAc;AAChB;AAEA,SAAS,WAAW,OAAuB;CACzC,gBAAgB,OAAO,cAAc,iBAAiB;AACxD;AAEA,SAAS,UAAU,IAAY,OAA+B;CAC5D,IAAI,CAAC,aAAa,IAAI,EAAE,GACtB;CAEF,MAAM,QAAwB;EAAE;EAAI;CAAM;CAC1C,kBAAkB,KAAK,KAAK;CAC5B,WAAW,KAAK;AAClB;AAEA,SAAS,aAAa,IAAY,OAA+B;CAC/D,IAAI,CAAC,aAAa,IAAI,EAAE,GACtB;CAEF,MAAM,QAAwB;EAAE;EAAI;CAAM;CAC1C,IAAI,kBAAkB,QACpB,kBAAkB,kBAAkB,SAAS,KAAK;MAGlD,kBAAkB,KAAK,KAAK;CAE9B,WAAW,KAAK;AAClB;AAEA,SAAS,cAAc,IAAY,OAA+B;CAChE,kBAAkB,SAAS;CAC3B,UAAU,IAAI,KAAK;AACrB;AAEA,SAAgB,qBACd,KACA,SAYA;CACA,wBAAwB,SAAS,SAAS,aAAa;CACvD,yBAAyB,SAAS,SAAS,QAAQ;CACnD,YAAY,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC;CACnC,IAAI,CAAC,UAAU,QACb;CAEF,qBAAqB;CACrB,IAAI,SAAS,KACX,SAAS,QAAQ,GAAG;CAEtB,IAAI,SAAS,eACX,wBAAwB,QAAQ,aAAa;CAE/C,IAAI,SAAS,MACX,oBAAoB,QAAQ,IAAI;CAElC,IAAI,CAAC,kBAAkB,QACrB,UAAU,UAAU,IAAI,CAAC,CAAC;AAE9B;AAEA,SAAgB,aAAmD,SAAY,MAAuB;CACpG,oBAAoB;CACpB,2BAA2B;CAC3B,MAAM,MAAM,QAAQ,KAAK,IAAI,SAAS;CACtC,MAAM,WAAW,KAAK,mBAAmB;CACzC,MAAM,aAAa,qBAAqB,OAAO;CAC/C,MAAM,WAAW,aAAa,IAAI,KAAK,EAAE;CACzC,IAAI,UAAU;EACZ,SAAS,QAAQ,WAAW;EAC5B,MAAM,YAAY,4BAA4B,WAAW,WAAW,QAAQ;EAC5E,gBAAgB,KAAK;GACnB;GACA,OAAO,KAAK;GACZ;EACF,CAAC;EACD,OAAO;CACT;CACA,MAAM,SAAqB;EACzB;EACA,OAAO,WAAW;EAClB,2BAAW,IAAI,IAAI;CACrB;CACA,MAAM,YAAY,4BAA4B,WAAW,WAAW,MAAM;CAC1E,gBAAgB,KAAK;EACnB;EACA,OAAO,KAAK;EACZ;CACF,CAAC;CACD,aAAa,IAAI,KAAK,IAAI,MAAM;CAChC,OAAO;AACT;AAEA,SAAgB,kBAA6D,SAAY,MAAuB;CAC9G,oBAAoB;CACpB,MAAM,MAAM,QAAQ,KAAK,IAAI,cAAc;CAC3C,MAAM,WAAW,KAAK,mBAAmB;CACzC,MAAM,YAAY,0BAA0B,OAAO;CACnD,IAAI,kBAAkB,IAAI,KAAK,EAAE,GAAG;EAClC,gBAAgB,KAAK;GACnB;GACA,OAAO,KAAK;GACZ;EACF,CAAC;EACD,OAAO;CACT;CACA,gBAAgB,KAAK;EACnB;EACA,OAAO,KAAK;EACZ;CACF,CAAC;CACD,kBAAkB,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC;CACtC,OAAO;AACT;AAEA,SAAgB,YAA8C,SAAY,OAAyB;CACjG,MAAM,WAAY,WAAW,CAAC;CAC9B,IAAI,aAAa;EACf,MAAM,gBAAgB,YAAY;EAClC,OAAO,OAAO,aAAa,QAAQ;EACnC,IAAI,SAAS,aAAa,GACxB,YAAY,aAAa;OAEtB,IAAI,CAAC,SAAS,YAAY,UAAU,GACvC,YAAY,aAAa,CAAC;EAE5B,OAAO;CACT;CACA,cAAc;CACd,cAAc;CACd,oBAAoB;CACpB,IAAI,CAAC,SAAS,YAAY,UAAU,GAClC,YAAY,aAAa,CAAC;CAE5B,OAAO;AACT;AAEA,SAAgB,WAAW,SAA0B;CACnD,IAAI,CAAC,SAAS,KACZ,OAAO,QAAQ,QAAQ;CAEzB,MAAM,EAAE,IAAI,UAAU,aAAa,QAAQ,GAAG;CAC9C,UAAU,IAAI,KAAK;CACnB,OAAO,QAAQ,QAAQ;AACzB;AAEA,SAAgB,WAAW,SAA0B;CACnD,IAAI,CAAC,SAAS,KACZ,OAAO,QAAQ,QAAQ;CAEzB,MAAM,EAAE,IAAI,UAAU,aAAa,QAAQ,GAAG;CAC9C,aAAa,IAAI,KAAK;CACtB,OAAO,QAAQ,QAAQ;AACzB;AAEA,SAAgB,SAAS,SAA0B;CACjD,IAAI,CAAC,SAAS,KACZ,OAAO,QAAQ,QAAQ;CAEzB,MAAM,EAAE,IAAI,UAAU,aAAa,QAAQ,GAAG;CAC9C,cAAc,IAAI,KAAK;CACvB,OAAO,QAAQ,QAAQ;AACzB;AAEA,SAAgB,UAAU,SAA0B;CAClD,OAAO,WAAW,OAAO;AAC3B;AAEA,SAAgB,aAAa,SAA8B;CACzD,IAAI,kBAAkB,UAAU,GAC9B,OAAO,QAAQ,QAAQ;CAEzB,MAAM,QAAQ,KAAK,IAAI,GAAG,SAAS,SAAS,CAAC;CAC7C,MAAM,cAAc,KAAK,IAAI,GAAG,kBAAkB,SAAS,IAAI,KAAK;CACpE,MAAM,SAAS,kBAAkB;CACjC,kBAAkB,SAAS;CAC3B,UAAU,OAAO,IAAI,OAAO,KAAK;CACjC,OAAO,QAAQ,QAAQ;AACzB;AAEA,SAAgB,0BAA0B;CACxC,OAAO,oBAA6C,iBAAiB;AACvE;AAEA,SAAgB,iBAAiB;CAC/B,OAAO;AACT;AAEA,SAAgB,uBAAyC;CACvD,IAAI,mBACF,OAAO,mBAAmB,iBAAiB;CAE7C,OAAO,6BAA6B,iBAAiB;AACvD;AAEA,SAAgB,sBAAwC;CACtD,OAAO,qBAAqB;AAC9B"}
1
+ {"version":3,"file":"routeRuntime.mjs","names":[],"sources":["../../../src/runtime/polyfill/routeRuntime.ts"],"sourcesContent":["import type { ButtonFormConfig } from '../button'\nimport type { ComponentPublicInstance } from '../component'\nimport type { NavigationBarMetrics } from '../navigationBar'\nimport type { AppLaunchOptions, AppRuntime, ComponentRawOptions, ComponentRecord, PageRawOptions, PageRecord, PageStackEntry, RegisterMeta } from './routeRuntime/options'\nimport { slugify } from '../../shared/slugify'\nimport { ensureButtonDefined, setButtonFormConfig } from '../button'\nimport { defineComponent } from '../component'\nimport { setRuntimeExecutionMode } from '../execution'\nimport { ensureNavigationBarDefined, setNavigationBarMetrics } from '../navigationBar'\nimport { setupRpx } from '../rpx'\nimport { setRuntimeWarningOptions } from '../warning'\nimport {\n cloneLaunchOptions,\n resolveCurrentPages,\n resolveFallbackLaunchOptions,\n} from './appState'\nimport { mountEntryToDom } from './routeRuntime/dom'\nimport {\n augmentPageComponentOptions,\n dispatchPageLifetimeToComponents,\n} from './routeRuntime/lifecycle'\nimport {\n\n isRecord,\n normalizeComponentOptions,\n normalizePageOptions,\n} from './routeRuntime/options'\nimport { parsePageUrl } from './routeRuntime/url'\n\nconst pageRegistry = new Map<string, PageRecord>()\nconst componentRegistry = new Map<string, ComponentRecord>()\nconst navigationHistory: PageStackEntry[] = []\nlet pageOrder: string[] = []\nlet appInstance: AppRuntime | undefined\nlet appLaunched = false\nlet lastLaunchOptions: AppLaunchOptions | undefined\nlet pageResizeBridgeBound = false\n\nfunction bindPageResizeBridge() {\n if (pageResizeBridgeBound || typeof window === 'undefined') {\n return\n }\n if (typeof window.addEventListener !== 'function') {\n return\n }\n pageResizeBridgeBound = true\n window.addEventListener('resize', () => {\n const pages = getCurrentPagesInternal()\n const current = pages[pages.length - 1]\n if (!current) {\n return\n }\n dispatchPageLifetimeToComponents(current, 'resize')\n })\n}\n\nfunction ensureAppLaunched(entry: PageStackEntry) {\n if (!appInstance || appLaunched) {\n return\n }\n const launchOptions: AppLaunchOptions = {\n path: entry.id,\n scene: 0,\n query: entry.query,\n referrerInfo: {},\n }\n lastLaunchOptions = {\n path: launchOptions.path,\n scene: launchOptions.scene,\n query: { ...launchOptions.query },\n referrerInfo: { ...launchOptions.referrerInfo },\n }\n if (typeof appInstance.onLaunch === 'function') {\n appInstance.onLaunch(launchOptions)\n }\n if (typeof appInstance.onShow === 'function') {\n appInstance.onShow(launchOptions)\n }\n appLaunched = true\n}\n\nfunction mountEntry(entry: PageStackEntry) {\n mountEntryToDom(entry, pageRegistry, ensureAppLaunched)\n}\n\nfunction pushEntry(id: string, query: Record<string, string>) {\n if (!pageRegistry.has(id)) {\n return\n }\n const entry: PageStackEntry = { id, query }\n navigationHistory.push(entry)\n mountEntry(entry)\n}\n\nfunction replaceEntry(id: string, query: Record<string, string>) {\n if (!pageRegistry.has(id)) {\n return\n }\n const entry: PageStackEntry = { id, query }\n if (navigationHistory.length) {\n navigationHistory[navigationHistory.length - 1] = entry\n }\n else {\n navigationHistory.push(entry)\n }\n mountEntry(entry)\n}\n\nfunction relaunchEntry(id: string, query: Record<string, string>) {\n navigationHistory.length = 0\n pushEntry(id, query)\n}\n\nexport function initializePageRoutes(\n ids: string[],\n options?: {\n rpx?: { designWidth?: number, varName?: string }\n navigationBar?: NavigationBarMetrics\n form?: ButtonFormConfig\n runtime?: {\n executionMode?: 'compat' | 'safe' | 'strict'\n warnings?: {\n level?: 'off' | 'warn' | 'error'\n dedupe?: boolean\n }\n }\n },\n) {\n setRuntimeExecutionMode(options?.runtime?.executionMode)\n setRuntimeWarningOptions(options?.runtime?.warnings)\n pageOrder = Array.from(new Set(ids))\n if (!pageOrder.length) {\n return\n }\n bindPageResizeBridge()\n if (options?.rpx) {\n setupRpx(options.rpx)\n }\n if (options?.navigationBar) {\n setNavigationBarMetrics(options.navigationBar)\n }\n if (options?.form) {\n setButtonFormConfig(options.form)\n }\n if (!navigationHistory.length) {\n pushEntry(pageOrder[0], {})\n }\n}\n\nexport function registerPage<T extends PageRawOptions | undefined>(options: T, meta: RegisterMeta): T {\n ensureButtonDefined()\n ensureNavigationBarDefined()\n const tag = slugify(meta.id, 'wv-page')\n const template = meta.template ?? (() => '')\n const normalized = normalizePageOptions(options)\n const existing = pageRegistry.get(meta.id)\n if (existing) {\n existing.hooks = normalized.hooks\n const component = augmentPageComponentOptions(normalized.component, existing)\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n return options\n }\n const record: PageRecord = {\n tag,\n hooks: normalized.hooks,\n instances: new Set(),\n }\n const component = augmentPageComponentOptions(normalized.component, record)\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n pageRegistry.set(meta.id, record)\n return options\n}\n\nexport function registerComponent<T extends ComponentRawOptions | undefined>(options: T, meta: RegisterMeta): T {\n ensureButtonDefined()\n const tag = slugify(meta.id, 'wv-component')\n const template = meta.template ?? (() => '')\n const component = normalizeComponentOptions(options)\n if (componentRegistry.has(meta.id)) {\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n return options\n }\n defineComponent(tag, {\n template,\n style: meta.style,\n component,\n })\n componentRegistry.set(meta.id, { tag })\n return options\n}\n\nexport function registerApp<T extends AppRuntime | undefined>(options: T, _meta?: RegisterMeta): T {\n const resolved = (options ?? {}) as AppRuntime\n if (appInstance) {\n const currentGlobal = appInstance.globalData\n Object.assign(appInstance, resolved)\n if (isRecord(currentGlobal)) {\n appInstance.globalData = currentGlobal\n }\n else if (!isRecord(appInstance.globalData)) {\n appInstance.globalData = {}\n }\n return options\n }\n appInstance = resolved\n appLaunched = false\n lastLaunchOptions = undefined\n if (!isRecord(appInstance.globalData)) {\n appInstance.globalData = {}\n }\n return options\n}\n\nexport function navigateTo(options: { url: string }) {\n if (!options?.url) {\n return Promise.resolve()\n }\n const { id, query } = parsePageUrl(options.url)\n pushEntry(id, query)\n return Promise.resolve()\n}\n\nexport function redirectTo(options: { url: string }) {\n if (!options?.url) {\n return Promise.resolve()\n }\n const { id, query } = parsePageUrl(options.url)\n replaceEntry(id, query)\n return Promise.resolve()\n}\n\nexport function reLaunch(options: { url: string }) {\n if (!options?.url) {\n return Promise.resolve()\n }\n const { id, query } = parsePageUrl(options.url)\n relaunchEntry(id, query)\n return Promise.resolve()\n}\n\nexport function switchTab(options: { url: string }) {\n return redirectTo(options)\n}\n\nexport function navigateBack(options?: { delta?: number }) {\n if (navigationHistory.length <= 1) {\n return Promise.resolve()\n }\n const delta = Math.max(1, options?.delta ?? 1)\n const targetIndex = Math.max(0, navigationHistory.length - 1 - delta)\n const target = navigationHistory[targetIndex]\n navigationHistory.length = targetIndex\n pushEntry(target.id, target.query)\n return Promise.resolve()\n}\n\nexport function getCurrentPagesInternal() {\n return resolveCurrentPages<ComponentPublicInstance>(navigationHistory)\n}\n\nexport function getAppInstance() {\n return appInstance\n}\n\nexport function getLaunchOptionsSync(): AppLaunchOptions {\n if (lastLaunchOptions) {\n return cloneLaunchOptions(lastLaunchOptions)\n }\n return resolveFallbackLaunchOptions(navigationHistory)\n}\n\nexport function getEnterOptionsSync(): AppLaunchOptions {\n return getLaunchOptionsSync()\n}\n"],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { addNetworkStatusCallback, removeNetworkStatusCallback } from "./network/status.mjs";
2
10
  import { checkRuntimeCapability } from "./capability.mjs";
3
11
  import { addWindowResizeCallback, removeWindowResizeCallback } from "./windowResize.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeCapabilityApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeCapabilityApi.ts"],"sourcesContent":["import { checkRuntimeCapability } from './capability'\nimport {\n addNetworkStatusCallback,\n removeNetworkStatusCallback,\n} from './network'\nimport {\n addWindowResizeCallback,\n removeWindowResizeCallback,\n} from './windowResize'\n\nexport function onNetworkStatusChangeBridge(callback: any) {\n if (typeof callback !== 'function') {\n return\n }\n addNetworkStatusCallback(callback)\n}\n\nexport function offNetworkStatusChangeBridge(callback?: any) {\n removeNetworkStatusCallback(callback)\n}\n\nexport function onWindowResizeBridge(callback: any, getWindowInfo: () => any) {\n if (typeof callback !== 'function') {\n return\n }\n addWindowResizeCallback(callback, getWindowInfo)\n}\n\nexport function offWindowResizeBridge(callback?: any) {\n removeWindowResizeCallback(callback)\n}\n\nexport function canIUseBridge(miniProgramBridge: Record<string, unknown> | undefined, schema: string) {\n return checkRuntimeCapability(miniProgramBridge, schema)\n}\n"],"mappings":";;;;;AAUA,SAAgB,4BAA4B,UAAe;CACzD,IAAI,OAAO,aAAa,YACtB;CAEF,yBAAyB,QAAQ;AACnC;AAEA,SAAgB,6BAA6B,UAAgB;CAC3D,4BAA4B,QAAQ;AACtC;AAEA,SAAgB,qBAAqB,UAAe,eAA0B;CAC5E,IAAI,OAAO,aAAa,YACtB;CAEF,wBAAwB,UAAU,aAAa;AACjD;AAEA,SAAgB,sBAAsB,UAAgB;CACpD,2BAA2B,QAAQ;AACrC;AAEA,SAAgB,cAAc,mBAAwD,QAAgB;CACpG,OAAO,uBAAuB,mBAAmB,MAAM;AACzD"}
1
+ {"version":3,"file":"runtimeCapabilityApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeCapabilityApi.ts"],"sourcesContent":["import { checkRuntimeCapability } from './capability'\nimport {\n addNetworkStatusCallback,\n removeNetworkStatusCallback,\n} from './network'\nimport {\n addWindowResizeCallback,\n removeWindowResizeCallback,\n} from './windowResize'\n\nexport function onNetworkStatusChangeBridge(callback: any) {\n if (typeof callback !== 'function') {\n return\n }\n addNetworkStatusCallback(callback)\n}\n\nexport function offNetworkStatusChangeBridge(callback?: any) {\n removeNetworkStatusCallback(callback)\n}\n\nexport function onWindowResizeBridge(callback: any, getWindowInfo: () => any) {\n if (typeof callback !== 'function') {\n return\n }\n addWindowResizeCallback(callback, getWindowInfo)\n}\n\nexport function offWindowResizeBridge(callback?: any) {\n removeWindowResizeCallback(callback)\n}\n\nexport function canIUseBridge(miniProgramBridge: Record<string, unknown> | undefined, schema: string) {\n return checkRuntimeCapability(miniProgramBridge, schema)\n}\n"],"mappings":";;;;;;;;;;;;;AAUA,SAAgB,4BAA4B,UAAe;CACzD,IAAI,OAAO,aAAa,YACtB;CAEF,yBAAyB,QAAQ;AACnC;AAEA,SAAgB,6BAA6B,UAAgB;CAC3D,4BAA4B,QAAQ;AACtC;AAEA,SAAgB,qBAAqB,UAAe,eAA0B;CAC5E,IAAI,OAAO,aAAa,YACtB;CAEF,wBAAwB,UAAU,aAAa;AACjD;AAEA,SAAgB,sBAAsB,UAAgB;CACpD,2BAA2B,QAAQ;AACrC;AAEA,SAAgB,cAAc,mBAAwD,QAAgB;CACpG,OAAO,uBAAuB,mBAAmB,MAAM;AACzD"}
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  import { MiniProgramAsyncOptions, MiniProgramBaseResult } from "./types/base.mjs";
2
4
  import { DownloadFileOptions, FileSystemManager, GetStorageOptions, RemoveStorageOptions, RequestOptions, SetStorageOptions, StorageInfoResult, UploadFileOptions, WorkerBridge } from "./types/common.mjs";
3
5
  import { LoadSubPackageOptions, NavigateToMiniProgramOptions, PreloadSubpackageOptions } from "./types/locationRuntime.mjs";
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
2
10
  import { callMiniProgramAsyncFailure, callMiniProgramAsyncSuccess } from "./async.mjs";
3
11
  import { downloadFileByFetchBridge, requestByFetchBridge, uploadFileByFetchBridge } from "./network/requestBridge.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeDataApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeDataApi.ts"],"sourcesContent":["import type {\n CanvasContext,\n DownloadFileOptions,\n FileSystemManager,\n GetStorageOptions,\n LoadSubPackageOptions,\n MiniProgramAsyncOptions,\n MiniProgramBaseResult,\n NavigateToMiniProgramOptions,\n PageScrollToOptions,\n PreloadSubpackageOptions,\n RemoveStorageOptions,\n RequestOptions,\n SelectorQuery,\n SetStorageOptions,\n StorageInfoResult,\n UploadFileOptions,\n VideoContext,\n VkSession,\n WorkerBridge,\n} from './types'\nimport {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n} from './async'\nimport { createCanvasContextBridge } from './canvasContext'\nimport {\n downloadFileByFetchBridge,\n requestByFetchBridge,\n uploadFileByFetchBridge,\n} from './network'\nimport {\n clearStorageSyncBridge,\n createFileSystemManagerBridgeApi,\n createVKSessionBridgeApi,\n createWorkerBridgeApi,\n getStorageInfoSyncBridge,\n getStorageSyncBridge,\n removeStorageSyncBridge,\n setStorageSyncBridge,\n} from './runtimeInfra'\nimport {\n hideKeyboardBridge,\n loadSubPackageBridge,\n nextTickBridge,\n pageScrollToBridge,\n preloadSubpackageBridge,\n startPullDownRefreshBridge,\n stopPullDownRefreshBridge,\n} from './runtimeOps'\nimport { createSelectorQueryBridge } from './selectorQuery'\nimport {\n clearStorageBridge,\n getStorageBridge,\n getStorageInfoBridge,\n removeStorageBridge,\n setStorageBridge,\n} from './storageAsync'\nimport { createVideoContextBridge } from './videoContext'\n\nconst fileSystemManagerBridge: FileSystemManager = createFileSystemManagerBridgeApi(\n (options: any, result: any) => callMiniProgramAsyncSuccess(\n options as unknown as MiniProgramAsyncOptions<MiniProgramBaseResult> | undefined,\n result as MiniProgramBaseResult,\n ),\n (options: any, errMsg: any) => callMiniProgramAsyncFailure(\n options as unknown as MiniProgramAsyncOptions<MiniProgramBaseResult> | undefined,\n errMsg,\n ),\n) as FileSystemManager\n\nexport function navigateToMiniProgram(options?: NavigateToMiniProgramOptions) {\n const appId = options?.appId?.trim() ?? ''\n if (!appId) {\n const failure = callMiniProgramAsyncFailure(options, 'navigateToMiniProgram:fail invalid appId')\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'navigateToMiniProgram:ok' }))\n}\n\nexport function exitMiniProgram(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'exitMiniProgram:ok' }))\n}\n\nexport function nextTick(callback?: () => void) {\n return nextTickBridge(callback)\n}\n\nexport function startPullDownRefresh(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return startPullDownRefreshBridge(options)\n}\n\nexport function stopPullDownRefresh(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return stopPullDownRefreshBridge(options)\n}\n\nexport function hideKeyboard(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return hideKeyboardBridge(options)\n}\n\nexport function loadSubPackage(options?: LoadSubPackageOptions) {\n return loadSubPackageBridge(options)\n}\n\nexport function preloadSubpackage(options?: PreloadSubpackageOptions) {\n return preloadSubpackageBridge(options)\n}\n\nexport function pageScrollTo(options?: PageScrollToOptions) {\n return pageScrollToBridge(options)\n}\n\nexport function createSelectorQuery(): SelectorQuery {\n return createSelectorQueryBridge()\n}\n\nexport function createCanvasContext(canvasId: string): CanvasContext {\n return createCanvasContextBridge(canvasId)\n}\n\nexport function createVideoContext(videoId: string): VideoContext {\n return createVideoContextBridge(videoId)\n}\n\nexport function setStorageSync(key: string, data: any) {\n return setStorageSyncBridge(key, data)\n}\n\nexport function getStorageSync(key: string) {\n return getStorageSyncBridge(key)\n}\n\nexport function removeStorageSync(key: string) {\n return removeStorageSyncBridge(key)\n}\n\nexport function clearStorageSync() {\n return clearStorageSyncBridge()\n}\n\nexport function getStorageInfoSync(): StorageInfoResult {\n return getStorageInfoSyncBridge() as StorageInfoResult\n}\n\nexport function setStorage(options?: SetStorageOptions) {\n return setStorageBridge(options)\n}\n\nexport function getStorage(options?: GetStorageOptions) {\n return getStorageBridge(options)\n}\n\nexport function removeStorage(options?: RemoveStorageOptions) {\n return removeStorageBridge(options)\n}\n\nexport function clearStorage(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return clearStorageBridge(options)\n}\n\nexport function getStorageInfo(options?: MiniProgramAsyncOptions<StorageInfoResult>) {\n return getStorageInfoBridge(options)\n}\n\nexport function getFileSystemManager() {\n return fileSystemManagerBridge\n}\n\nexport function createWorker(path: string): WorkerBridge {\n return createWorkerBridgeApi(path) as WorkerBridge\n}\n\nexport function createVKSession(_options?: Record<string, unknown>): VkSession {\n return createVKSessionBridgeApi() as VkSession\n}\n\nexport async function request(options?: RequestOptions) {\n return requestByFetchBridge(options)\n}\n\nexport async function downloadFile(options?: DownloadFileOptions) {\n return downloadFileByFetchBridge(options)\n}\n\nexport async function uploadFile(options?: UploadFileOptions) {\n return uploadFileByFetchBridge(options)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,MAAM,0BAA6C,kCAChD,SAAc,WAAgB,4BAC7B,SACA,MACF,IACC,SAAc,WAAgB,4BAC7B,SACA,MACF,CACF;AAEA,SAAgB,sBAAsB,SAAwC;CAE5E,IAAI,EADU,SAAS,OAAO,KAAK,KAAK,KAC5B;EACV,MAAM,UAAU,4BAA4B,SAAS,0CAA0C;EAC/F,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,2BAA2B,CAAC,CAAC;AACrG;AAEA,SAAgB,gBAAgB,SAA0D;CACxF,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,qBAAqB,CAAC,CAAC;AAC/F;AAEA,SAAgB,SAAS,UAAuB;CAC9C,OAAO,eAAe,QAAQ;AAChC;AAEA,SAAgB,qBAAqB,SAA0D;CAC7F,OAAO,2BAA2B,OAAO;AAC3C;AAEA,SAAgB,oBAAoB,SAA0D;CAC5F,OAAO,0BAA0B,OAAO;AAC1C;AAEA,SAAgB,aAAa,SAA0D;CACrF,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,eAAe,SAAiC;CAC9D,OAAO,qBAAqB,OAAO;AACrC;AAEA,SAAgB,kBAAkB,SAAoC;CACpE,OAAO,wBAAwB,OAAO;AACxC;AAEA,SAAgB,aAAa,SAA+B;CAC1D,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,sBAAqC;CACnD,OAAO,0BAA0B;AACnC;AAEA,SAAgB,oBAAoB,UAAiC;CACnE,OAAO,0BAA0B,QAAQ;AAC3C;AAEA,SAAgB,mBAAmB,SAA+B;CAChE,OAAO,yBAAyB,OAAO;AACzC;AAEA,SAAgB,eAAe,KAAa,MAAW;CACrD,OAAO,qBAAqB,KAAK,IAAI;AACvC;AAEA,SAAgB,eAAe,KAAa;CAC1C,OAAO,qBAAqB,GAAG;AACjC;AAEA,SAAgB,kBAAkB,KAAa;CAC7C,OAAO,wBAAwB,GAAG;AACpC;AAEA,SAAgB,mBAAmB;CACjC,OAAO,uBAAuB;AAChC;AAEA,SAAgB,qBAAwC;CACtD,OAAO,yBAAyB;AAClC;AAEA,SAAgB,WAAW,SAA6B;CACtD,OAAO,iBAAiB,OAAO;AACjC;AAEA,SAAgB,WAAW,SAA6B;CACtD,OAAO,iBAAiB,OAAO;AACjC;AAEA,SAAgB,cAAc,SAAgC;CAC5D,OAAO,oBAAoB,OAAO;AACpC;AAEA,SAAgB,aAAa,SAA0D;CACrF,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,eAAe,SAAsD;CACnF,OAAO,qBAAqB,OAAO;AACrC;AAEA,SAAgB,uBAAuB;CACrC,OAAO;AACT;AAEA,SAAgB,aAAa,MAA4B;CACvD,OAAO,sBAAsB,IAAI;AACnC;AAEA,SAAgB,gBAAgB,UAA+C;CAC7E,OAAO,yBAAyB;AAClC;AAEA,eAAsB,QAAQ,SAA0B;CACtD,OAAO,qBAAqB,OAAO;AACrC;AAEA,eAAsB,aAAa,SAA+B;CAChE,OAAO,0BAA0B,OAAO;AAC1C;AAEA,eAAsB,WAAW,SAA6B;CAC5D,OAAO,wBAAwB,OAAO;AACxC"}
1
+ {"version":3,"file":"runtimeDataApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeDataApi.ts"],"sourcesContent":["import type {\n CanvasContext,\n DownloadFileOptions,\n FileSystemManager,\n GetStorageOptions,\n LoadSubPackageOptions,\n MiniProgramAsyncOptions,\n MiniProgramBaseResult,\n NavigateToMiniProgramOptions,\n PageScrollToOptions,\n PreloadSubpackageOptions,\n RemoveStorageOptions,\n RequestOptions,\n SelectorQuery,\n SetStorageOptions,\n StorageInfoResult,\n UploadFileOptions,\n VideoContext,\n VkSession,\n WorkerBridge,\n} from './types'\nimport {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n} from './async'\nimport { createCanvasContextBridge } from './canvasContext'\nimport {\n downloadFileByFetchBridge,\n requestByFetchBridge,\n uploadFileByFetchBridge,\n} from './network'\nimport {\n clearStorageSyncBridge,\n createFileSystemManagerBridgeApi,\n createVKSessionBridgeApi,\n createWorkerBridgeApi,\n getStorageInfoSyncBridge,\n getStorageSyncBridge,\n removeStorageSyncBridge,\n setStorageSyncBridge,\n} from './runtimeInfra'\nimport {\n hideKeyboardBridge,\n loadSubPackageBridge,\n nextTickBridge,\n pageScrollToBridge,\n preloadSubpackageBridge,\n startPullDownRefreshBridge,\n stopPullDownRefreshBridge,\n} from './runtimeOps'\nimport { createSelectorQueryBridge } from './selectorQuery'\nimport {\n clearStorageBridge,\n getStorageBridge,\n getStorageInfoBridge,\n removeStorageBridge,\n setStorageBridge,\n} from './storageAsync'\nimport { createVideoContextBridge } from './videoContext'\n\nconst fileSystemManagerBridge: FileSystemManager = createFileSystemManagerBridgeApi(\n (options: any, result: any) => callMiniProgramAsyncSuccess(\n options as unknown as MiniProgramAsyncOptions<MiniProgramBaseResult> | undefined,\n result as MiniProgramBaseResult,\n ),\n (options: any, errMsg: any) => callMiniProgramAsyncFailure(\n options as unknown as MiniProgramAsyncOptions<MiniProgramBaseResult> | undefined,\n errMsg,\n ),\n) as FileSystemManager\n\nexport function navigateToMiniProgram(options?: NavigateToMiniProgramOptions) {\n const appId = options?.appId?.trim() ?? ''\n if (!appId) {\n const failure = callMiniProgramAsyncFailure(options, 'navigateToMiniProgram:fail invalid appId')\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'navigateToMiniProgram:ok' }))\n}\n\nexport function exitMiniProgram(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'exitMiniProgram:ok' }))\n}\n\nexport function nextTick(callback?: () => void) {\n return nextTickBridge(callback)\n}\n\nexport function startPullDownRefresh(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return startPullDownRefreshBridge(options)\n}\n\nexport function stopPullDownRefresh(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return stopPullDownRefreshBridge(options)\n}\n\nexport function hideKeyboard(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return hideKeyboardBridge(options)\n}\n\nexport function loadSubPackage(options?: LoadSubPackageOptions) {\n return loadSubPackageBridge(options)\n}\n\nexport function preloadSubpackage(options?: PreloadSubpackageOptions) {\n return preloadSubpackageBridge(options)\n}\n\nexport function pageScrollTo(options?: PageScrollToOptions) {\n return pageScrollToBridge(options)\n}\n\nexport function createSelectorQuery(): SelectorQuery {\n return createSelectorQueryBridge()\n}\n\nexport function createCanvasContext(canvasId: string): CanvasContext {\n return createCanvasContextBridge(canvasId)\n}\n\nexport function createVideoContext(videoId: string): VideoContext {\n return createVideoContextBridge(videoId)\n}\n\nexport function setStorageSync(key: string, data: any) {\n return setStorageSyncBridge(key, data)\n}\n\nexport function getStorageSync(key: string) {\n return getStorageSyncBridge(key)\n}\n\nexport function removeStorageSync(key: string) {\n return removeStorageSyncBridge(key)\n}\n\nexport function clearStorageSync() {\n return clearStorageSyncBridge()\n}\n\nexport function getStorageInfoSync(): StorageInfoResult {\n return getStorageInfoSyncBridge() as StorageInfoResult\n}\n\nexport function setStorage(options?: SetStorageOptions) {\n return setStorageBridge(options)\n}\n\nexport function getStorage(options?: GetStorageOptions) {\n return getStorageBridge(options)\n}\n\nexport function removeStorage(options?: RemoveStorageOptions) {\n return removeStorageBridge(options)\n}\n\nexport function clearStorage(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n return clearStorageBridge(options)\n}\n\nexport function getStorageInfo(options?: MiniProgramAsyncOptions<StorageInfoResult>) {\n return getStorageInfoBridge(options)\n}\n\nexport function getFileSystemManager() {\n return fileSystemManagerBridge\n}\n\nexport function createWorker(path: string): WorkerBridge {\n return createWorkerBridgeApi(path) as WorkerBridge\n}\n\nexport function createVKSession(_options?: Record<string, unknown>): VkSession {\n return createVKSessionBridgeApi() as VkSession\n}\n\nexport async function request(options?: RequestOptions) {\n return requestByFetchBridge(options)\n}\n\nexport async function downloadFile(options?: DownloadFileOptions) {\n return downloadFileByFetchBridge(options)\n}\n\nexport async function uploadFile(options?: UploadFileOptions) {\n return uploadFileByFetchBridge(options)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,MAAM,0BAA6C,kCAChD,SAAc,WAAgB,4BAC7B,SACA,MACF,IACC,SAAc,WAAgB,4BAC7B,SACA,MACF,CACF;AAEA,SAAgB,sBAAsB,SAAwC;CAE5E,IAAI,EADU,SAAS,OAAO,KAAK,KAAK,KAC5B;EACV,MAAM,UAAU,4BAA4B,SAAS,0CAA0C;EAC/F,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,2BAA2B,CAAC,CAAC;AACrG;AAEA,SAAgB,gBAAgB,SAA0D;CACxF,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,qBAAqB,CAAC,CAAC;AAC/F;AAEA,SAAgB,SAAS,UAAuB;CAC9C,OAAO,eAAe,QAAQ;AAChC;AAEA,SAAgB,qBAAqB,SAA0D;CAC7F,OAAO,2BAA2B,OAAO;AAC3C;AAEA,SAAgB,oBAAoB,SAA0D;CAC5F,OAAO,0BAA0B,OAAO;AAC1C;AAEA,SAAgB,aAAa,SAA0D;CACrF,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,eAAe,SAAiC;CAC9D,OAAO,qBAAqB,OAAO;AACrC;AAEA,SAAgB,kBAAkB,SAAoC;CACpE,OAAO,wBAAwB,OAAO;AACxC;AAEA,SAAgB,aAAa,SAA+B;CAC1D,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,sBAAqC;CACnD,OAAO,0BAA0B;AACnC;AAEA,SAAgB,oBAAoB,UAAiC;CACnE,OAAO,0BAA0B,QAAQ;AAC3C;AAEA,SAAgB,mBAAmB,SAA+B;CAChE,OAAO,yBAAyB,OAAO;AACzC;AAEA,SAAgB,eAAe,KAAa,MAAW;CACrD,OAAO,qBAAqB,KAAK,IAAI;AACvC;AAEA,SAAgB,eAAe,KAAa;CAC1C,OAAO,qBAAqB,GAAG;AACjC;AAEA,SAAgB,kBAAkB,KAAa;CAC7C,OAAO,wBAAwB,GAAG;AACpC;AAEA,SAAgB,mBAAmB;CACjC,OAAO,uBAAuB;AAChC;AAEA,SAAgB,qBAAwC;CACtD,OAAO,yBAAyB;AAClC;AAEA,SAAgB,WAAW,SAA6B;CACtD,OAAO,iBAAiB,OAAO;AACjC;AAEA,SAAgB,WAAW,SAA6B;CACtD,OAAO,iBAAiB,OAAO;AACjC;AAEA,SAAgB,cAAc,SAAgC;CAC5D,OAAO,oBAAoB,OAAO;AACpC;AAEA,SAAgB,aAAa,SAA0D;CACrF,OAAO,mBAAmB,OAAO;AACnC;AAEA,SAAgB,eAAe,SAAsD;CACnF,OAAO,qBAAqB,OAAO;AACrC;AAEA,SAAgB,uBAAuB;CACrC,OAAO;AACT;AAEA,SAAgB,aAAa,MAA4B;CACvD,OAAO,sBAAsB,IAAI;AACnC;AAEA,SAAgB,gBAAgB,UAA+C;CAC7E,OAAO,yBAAyB;AAClC;AAEA,eAAsB,QAAQ,SAA0B;CACtD,OAAO,qBAAqB,OAAO;AACrC;AAEA,eAAsB,aAAa,SAA+B;CAChE,OAAO,0BAA0B,OAAO;AAC1C;AAEA,eAAsB,WAAW,SAA6B;CAC5D,OAAO,wBAAwB,OAAO;AACxC"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { createFileSystemManagerBridge } from "./fileSystemManager.mjs";
2
10
  import { clearStorageSyncInternal, getStorageInfoSyncInternal, getStorageSyncInternal, normalizeStorageKey, removeStorageSyncInternal, setStorageSyncInternal } from "./storage.mjs";
3
11
  import { createVkSessionBridge } from "./vkSession.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeInfra.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeInfra.ts"],"sourcesContent":["import {\n createFileSystemManagerBridge,\n} from './fileSystemManager'\nimport {\n clearStorageSyncInternal,\n getStorageInfoSyncInternal,\n getStorageSyncInternal,\n normalizeStorageKey,\n removeStorageSyncInternal,\n setStorageSyncInternal,\n} from './storage'\nimport { createVkSessionBridge } from './vkSession'\nimport { createWorkerBridge } from './worker'\n\nexport function setStorageSyncBridge(key: string, data: any) {\n const normalizedKey = normalizeStorageKey(key)\n if (!normalizedKey) {\n throw new TypeError('setStorageSync:fail invalid key')\n }\n setStorageSyncInternal(normalizedKey, data)\n}\n\nexport function getStorageSyncBridge(key: string) {\n const normalizedKey = normalizeStorageKey(key)\n if (!normalizedKey) {\n throw new TypeError('getStorageSync:fail invalid key')\n }\n return getStorageSyncInternal(normalizedKey)\n}\n\nexport function removeStorageSyncBridge(key: string) {\n const normalizedKey = normalizeStorageKey(key)\n if (!normalizedKey) {\n throw new TypeError('removeStorageSync:fail invalid key')\n }\n removeStorageSyncInternal(normalizedKey)\n}\n\nexport function clearStorageSyncBridge() {\n clearStorageSyncInternal()\n}\n\nexport function getStorageInfoSyncBridge() {\n return getStorageInfoSyncInternal()\n}\n\nexport function createFileSystemManagerBridgeApi(onSuccess: any, onFailure: any): any {\n return createFileSystemManagerBridge(onSuccess, onFailure)\n}\n\nexport function createWorkerBridgeApi(path: string) {\n return createWorkerBridge(path)\n}\n\nexport function createVKSessionBridgeApi(): any {\n return createVkSessionBridge()\n}\n"],"mappings":";;;;;;AAcA,SAAgB,qBAAqB,KAAa,MAAW;CAC3D,MAAM,gBAAgB,oBAAoB,GAAG;CAC7C,IAAI,CAAC,eACH,MAAM,IAAI,UAAU,iCAAiC;CAEvD,uBAAuB,eAAe,IAAI;AAC5C;AAEA,SAAgB,qBAAqB,KAAa;CAChD,MAAM,gBAAgB,oBAAoB,GAAG;CAC7C,IAAI,CAAC,eACH,MAAM,IAAI,UAAU,iCAAiC;CAEvD,OAAO,uBAAuB,aAAa;AAC7C;AAEA,SAAgB,wBAAwB,KAAa;CACnD,MAAM,gBAAgB,oBAAoB,GAAG;CAC7C,IAAI,CAAC,eACH,MAAM,IAAI,UAAU,oCAAoC;CAE1D,0BAA0B,aAAa;AACzC;AAEA,SAAgB,yBAAyB;CACvC,yBAAyB;AAC3B;AAEA,SAAgB,2BAA2B;CACzC,OAAO,2BAA2B;AACpC;AAEA,SAAgB,iCAAiC,WAAgB,WAAqB;CACpF,OAAO,8BAA8B,WAAW,SAAS;AAC3D;AAEA,SAAgB,sBAAsB,MAAc;CAClD,OAAO,mBAAmB,IAAI;AAChC;AAEA,SAAgB,2BAAgC;CAC9C,OAAO,sBAAsB;AAC/B"}
1
+ {"version":3,"file":"runtimeInfra.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeInfra.ts"],"sourcesContent":["import {\n createFileSystemManagerBridge,\n} from './fileSystemManager'\nimport {\n clearStorageSyncInternal,\n getStorageInfoSyncInternal,\n getStorageSyncInternal,\n normalizeStorageKey,\n removeStorageSyncInternal,\n setStorageSyncInternal,\n} from './storage'\nimport { createVkSessionBridge } from './vkSession'\nimport { createWorkerBridge } from './worker'\n\nexport function setStorageSyncBridge(key: string, data: any) {\n const normalizedKey = normalizeStorageKey(key)\n if (!normalizedKey) {\n throw new TypeError('setStorageSync:fail invalid key')\n }\n setStorageSyncInternal(normalizedKey, data)\n}\n\nexport function getStorageSyncBridge(key: string) {\n const normalizedKey = normalizeStorageKey(key)\n if (!normalizedKey) {\n throw new TypeError('getStorageSync:fail invalid key')\n }\n return getStorageSyncInternal(normalizedKey)\n}\n\nexport function removeStorageSyncBridge(key: string) {\n const normalizedKey = normalizeStorageKey(key)\n if (!normalizedKey) {\n throw new TypeError('removeStorageSync:fail invalid key')\n }\n removeStorageSyncInternal(normalizedKey)\n}\n\nexport function clearStorageSyncBridge() {\n clearStorageSyncInternal()\n}\n\nexport function getStorageInfoSyncBridge() {\n return getStorageInfoSyncInternal()\n}\n\nexport function createFileSystemManagerBridgeApi(onSuccess: any, onFailure: any): any {\n return createFileSystemManagerBridge(onSuccess, onFailure)\n}\n\nexport function createWorkerBridgeApi(path: string) {\n return createWorkerBridge(path)\n}\n\nexport function createVKSessionBridgeApi(): any {\n return createVkSessionBridge()\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,SAAgB,qBAAqB,KAAa,MAAW;CAC3D,MAAM,gBAAgB,oBAAoB,GAAG;CAC7C,IAAI,CAAC,eACH,MAAM,IAAI,UAAU,iCAAiC;CAEvD,uBAAuB,eAAe,IAAI;AAC5C;AAEA,SAAgB,qBAAqB,KAAa;CAChD,MAAM,gBAAgB,oBAAoB,GAAG;CAC7C,IAAI,CAAC,eACH,MAAM,IAAI,UAAU,iCAAiC;CAEvD,OAAO,uBAAuB,aAAa;AAC7C;AAEA,SAAgB,wBAAwB,KAAa;CACnD,MAAM,gBAAgB,oBAAoB,GAAG;CAC7C,IAAI,CAAC,eACH,MAAM,IAAI,UAAU,oCAAoC;CAE1D,0BAA0B,aAAa;AACzC;AAEA,SAAgB,yBAAyB;CACvC,yBAAyB;AAC3B;AAEA,SAAgB,2BAA2B;CACzC,OAAO,2BAA2B;AACpC;AAEA,SAAgB,iCAAiC,WAAgB,WAAqB;CACpF,OAAO,8BAA8B,WAAW,SAAS;AAC3D;AAEA,SAAgB,sBAAsB,MAAc;CAClD,OAAO,mBAAmB,IAAI;AAChC;AAEA,SAAgB,2BAAgC;CAC9C,OAAO,sBAAsB;AAC/B"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { callMiniProgramAsyncFailure, callMiniProgramAsyncSuccess, normalizeDuration, scheduleMicrotask } from "./async.mjs";
2
10
  import { resolveSubPackageName } from "./platformRuntime.mjs";
3
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeOps.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeOps.ts"],"sourcesContent":["import {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n normalizeDuration,\n scheduleMicrotask,\n} from './async'\nimport { resolveSubPackageName } from './platformRuntime'\n\nfunction resolveScrollTop(value: unknown) {\n if (typeof value !== 'number' || Number.isNaN(value)) {\n return 0\n }\n return Math.max(0, value)\n}\n\nfunction setWindowScrollTop(top: number) {\n if (typeof window === 'undefined') {\n return\n }\n const runtimeWindow = window as Window & {\n scrollTo?: (x: number, y: number) => void\n }\n if (typeof runtimeWindow.scrollTo !== 'function') {\n return\n }\n runtimeWindow.scrollTo(0, top)\n}\n\nexport function nextTickBridge(callback?: () => void) {\n if (typeof callback !== 'function') {\n return\n }\n scheduleMicrotask(() => callback())\n}\n\nexport function startPullDownRefreshBridge(options?: any) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'startPullDownRefresh:ok' }))\n}\n\nexport function stopPullDownRefreshBridge(options?: any) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'stopPullDownRefresh:ok' }))\n}\n\nexport function hideKeyboardBridge(options?: any) {\n const activeElement = (typeof document !== 'undefined'\n ? (document as { activeElement?: { blur?: () => void } }).activeElement\n : undefined)\n if (activeElement && typeof activeElement.blur === 'function') {\n activeElement.blur()\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'hideKeyboard:ok' }))\n}\n\nexport function loadSubPackageBridge(options?: any) {\n const name = resolveSubPackageName(options)\n if (!name) {\n const failure = callMiniProgramAsyncFailure(options, 'loadSubPackage:fail invalid name')\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'loadSubPackage:ok' }))\n}\n\nexport function preloadSubpackageBridge(options?: any) {\n const name = resolveSubPackageName(options)\n if (!name) {\n const failure = callMiniProgramAsyncFailure(options, 'preloadSubpackage:fail invalid name')\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'preloadSubpackage:ok' }))\n}\n\nexport function pageScrollToBridge(options?: any) {\n const targetTop = resolveScrollTop(options?.scrollTop)\n const duration = normalizeDuration(options?.duration, 300)\n const run = () => setWindowScrollTop(targetTop)\n\n if (duration <= 0) {\n run()\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'pageScrollTo:ok' }))\n }\n\n return new Promise((resolve) => {\n setTimeout(() => {\n run()\n resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'pageScrollTo:ok' }))\n }, duration)\n })\n}\n"],"mappings":";;;;AAQA,SAAS,iBAAiB,OAAgB;CACxC,IAAI,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,GACjD,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,KAAK;AAC1B;AAEA,SAAS,mBAAmB,KAAa;CACvC,IAAI,OAAO,WAAW,aACpB;CAEF,MAAM,gBAAgB;CAGtB,IAAI,OAAO,cAAc,aAAa,YACpC;CAEF,cAAc,SAAS,GAAG,GAAG;AAC/B;AAEA,SAAgB,eAAe,UAAuB;CACpD,IAAI,OAAO,aAAa,YACtB;CAEF,wBAAwB,SAAS,CAAC;AACpC;AAEA,SAAgB,2BAA2B,SAAe;CACxD,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,0BAA0B,CAAC,CAAC;AACpG;AAEA,SAAgB,0BAA0B,SAAe;CACvD,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,yBAAyB,CAAC,CAAC;AACnG;AAEA,SAAgB,mBAAmB,SAAe;CAChD,MAAM,gBAAiB,OAAO,aAAa,cACtC,SAAuD,gBACxD;CACJ,IAAI,iBAAiB,OAAO,cAAc,SAAS,YACjD,cAAc,KAAK;CAErB,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;AAC5F;AAEA,SAAgB,qBAAqB,SAAe;CAElD,IAAI,CADS,sBAAsB,OAC3B,GAAG;EACT,MAAM,UAAU,4BAA4B,SAAS,kCAAkC;EACvF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC;AAC9F;AAEA,SAAgB,wBAAwB,SAAe;CAErD,IAAI,CADS,sBAAsB,OAC3B,GAAG;EACT,MAAM,UAAU,4BAA4B,SAAS,qCAAqC;EAC1F,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,uBAAuB,CAAC,CAAC;AACjG;AAEA,SAAgB,mBAAmB,SAAe;CAChD,MAAM,YAAY,iBAAiB,SAAS,SAAS;CACrD,MAAM,WAAW,kBAAkB,SAAS,UAAU,GAAG;CACzD,MAAM,YAAY,mBAAmB,SAAS;CAE9C,IAAI,YAAY,GAAG;EACjB,IAAI;EACJ,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;CAC5F;CAEA,OAAO,IAAI,SAAS,YAAY;EAC9B,iBAAiB;GACf,IAAI;GACJ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;EAC7E,GAAG,QAAQ;CACb,CAAC;AACH"}
1
+ {"version":3,"file":"runtimeOps.mjs","names":[],"sources":["../../../src/runtime/polyfill/runtimeOps.ts"],"sourcesContent":["import {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n normalizeDuration,\n scheduleMicrotask,\n} from './async'\nimport { resolveSubPackageName } from './platformRuntime'\n\nfunction resolveScrollTop(value: unknown) {\n if (typeof value !== 'number' || Number.isNaN(value)) {\n return 0\n }\n return Math.max(0, value)\n}\n\nfunction setWindowScrollTop(top: number) {\n if (typeof window === 'undefined') {\n return\n }\n const runtimeWindow = window as Window & {\n scrollTo?: (x: number, y: number) => void\n }\n if (typeof runtimeWindow.scrollTo !== 'function') {\n return\n }\n runtimeWindow.scrollTo(0, top)\n}\n\nexport function nextTickBridge(callback?: () => void) {\n if (typeof callback !== 'function') {\n return\n }\n scheduleMicrotask(() => callback())\n}\n\nexport function startPullDownRefreshBridge(options?: any) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'startPullDownRefresh:ok' }))\n}\n\nexport function stopPullDownRefreshBridge(options?: any) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'stopPullDownRefresh:ok' }))\n}\n\nexport function hideKeyboardBridge(options?: any) {\n const activeElement = (typeof document !== 'undefined'\n ? (document as { activeElement?: { blur?: () => void } }).activeElement\n : undefined)\n if (activeElement && typeof activeElement.blur === 'function') {\n activeElement.blur()\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'hideKeyboard:ok' }))\n}\n\nexport function loadSubPackageBridge(options?: any) {\n const name = resolveSubPackageName(options)\n if (!name) {\n const failure = callMiniProgramAsyncFailure(options, 'loadSubPackage:fail invalid name')\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'loadSubPackage:ok' }))\n}\n\nexport function preloadSubpackageBridge(options?: any) {\n const name = resolveSubPackageName(options)\n if (!name) {\n const failure = callMiniProgramAsyncFailure(options, 'preloadSubpackage:fail invalid name')\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'preloadSubpackage:ok' }))\n}\n\nexport function pageScrollToBridge(options?: any) {\n const targetTop = resolveScrollTop(options?.scrollTop)\n const duration = normalizeDuration(options?.duration, 300)\n const run = () => setWindowScrollTop(targetTop)\n\n if (duration <= 0) {\n run()\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'pageScrollTo:ok' }))\n }\n\n return new Promise((resolve) => {\n setTimeout(() => {\n run()\n resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'pageScrollTo:ok' }))\n }, duration)\n })\n}\n"],"mappings":";;;;;;;;;;;;AAQA,SAAS,iBAAiB,OAAgB;CACxC,IAAI,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,GACjD,OAAO;CAET,OAAO,KAAK,IAAI,GAAG,KAAK;AAC1B;AAEA,SAAS,mBAAmB,KAAa;CACvC,IAAI,OAAO,WAAW,aACpB;CAEF,MAAM,gBAAgB;CAGtB,IAAI,OAAO,cAAc,aAAa,YACpC;CAEF,cAAc,SAAS,GAAG,GAAG;AAC/B;AAEA,SAAgB,eAAe,UAAuB;CACpD,IAAI,OAAO,aAAa,YACtB;CAEF,wBAAwB,SAAS,CAAC;AACpC;AAEA,SAAgB,2BAA2B,SAAe;CACxD,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,0BAA0B,CAAC,CAAC;AACpG;AAEA,SAAgB,0BAA0B,SAAe;CACvD,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,yBAAyB,CAAC,CAAC;AACnG;AAEA,SAAgB,mBAAmB,SAAe;CAChD,MAAM,gBAAiB,OAAO,aAAa,cACtC,SAAuD,gBACxD;CACJ,IAAI,iBAAiB,OAAO,cAAc,SAAS,YACjD,cAAc,KAAK;CAErB,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;AAC5F;AAEA,SAAgB,qBAAqB,SAAe;CAElD,IAAI,CADS,sBAAsB,OAC3B,GAAG;EACT,MAAM,UAAU,4BAA4B,SAAS,kCAAkC;EACvF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC;AAC9F;AAEA,SAAgB,wBAAwB,SAAe;CAErD,IAAI,CADS,sBAAsB,OAC3B,GAAG;EACT,MAAM,UAAU,4BAA4B,SAAS,qCAAqC;EAC1F,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,uBAAuB,CAAC,CAAC;AACjG;AAEA,SAAgB,mBAAmB,SAAe;CAChD,MAAM,YAAY,iBAAiB,SAAS,SAAS;CACrD,MAAM,WAAW,kBAAkB,SAAS,UAAU,GAAG;CACzD,MAAM,YAAY,mBAAmB,SAAS;CAE9C,IAAI,YAAY,GAAG;EACjB,IAAI;EACJ,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;CAC5F;CAEA,OAAO,IAAI,SAAS,YAAY;EAC9B,iBAAiB;GACf,IAAI;GACJ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;EAC7E,GAAG,QAAQ;CACb,CAAC;AACH"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  //#region src/runtime/polyfill/selectorQuery.ts
2
10
  function isQueryRoot(value) {
3
11
  if (!value || typeof value !== "object") return false;
@@ -1 +1 @@
1
- {"version":3,"file":"selectorQuery.mjs","names":[],"sources":["../../../src/runtime/polyfill/selectorQuery.ts"],"sourcesContent":["import type {\n SelectorQuery,\n SelectorQueryNodeCallback,\n SelectorQueryNodeFields,\n SelectorQueryNodesRef,\n SelectorQueryTask,\n SelectorTargetDescriptor,\n} from './selectorQueryTypes'\n\nfunction isQueryRoot(value: unknown): value is ParentNode {\n if (!value || typeof value !== 'object') {\n return false\n }\n const target = value as {\n querySelector?: (selector: string) => unknown\n querySelectorAll?: (selector: string) => ArrayLike<unknown>\n }\n return typeof target.querySelector === 'function' && typeof target.querySelectorAll === 'function'\n}\n\nfunction resolveQueryRoot(scope: unknown): ParentNode | undefined {\n const scoped = scope as {\n renderRoot?: unknown\n shadowRoot?: unknown\n $el?: unknown\n } | undefined\n if (isQueryRoot(scoped?.renderRoot)) {\n return scoped?.renderRoot\n }\n if (isQueryRoot(scoped?.shadowRoot)) {\n return scoped?.shadowRoot\n }\n if (isQueryRoot(scoped?.$el)) {\n return scoped?.$el\n }\n if (isQueryRoot(scope)) {\n return scope\n }\n if (typeof document !== 'undefined' && isQueryRoot(document)) {\n return document\n }\n return undefined\n}\n\nfunction resolveViewportTarget() {\n if (typeof window !== 'undefined') {\n return window\n }\n return undefined\n}\n\nfunction resolveQueryTargets(scope: unknown, target: SelectorTargetDescriptor): unknown[] {\n if (target.type === 'viewport') {\n const viewport = resolveViewportTarget()\n return viewport ? [viewport] : []\n }\n const root = resolveQueryRoot(scope)\n if (!root || !target.selector) {\n return []\n }\n if (target.multiple) {\n return Array.from(root.querySelectorAll(target.selector))\n }\n const node = root.querySelector(target.selector)\n return node ? [node] : []\n}\n\nfunction normalizeRectValue(value: unknown) {\n if (typeof value !== 'number' || Number.isNaN(value)) {\n return 0\n }\n return value\n}\n\nfunction getViewportRect() {\n const runtimeWindow = typeof window !== 'undefined' ? window : undefined\n const width = normalizeRectValue(runtimeWindow?.innerWidth)\n const height = normalizeRectValue(runtimeWindow?.innerHeight)\n return {\n left: 0,\n top: 0,\n right: width,\n bottom: height,\n width,\n height,\n }\n}\n\nfunction readNodeRect(node: unknown) {\n if (!node) {\n return null\n }\n if ((typeof window !== 'undefined' && node === window) || node === globalThis) {\n return getViewportRect()\n }\n const target = node as {\n getBoundingClientRect?: () => {\n left?: number\n top?: number\n right?: number\n bottom?: number\n width?: number\n height?: number\n }\n }\n if (typeof target.getBoundingClientRect !== 'function') {\n return null\n }\n const rect = target.getBoundingClientRect()\n const left = normalizeRectValue(rect.left)\n const top = normalizeRectValue(rect.top)\n const width = normalizeRectValue(rect.width)\n const height = normalizeRectValue(rect.height)\n const right = rect.right == null ? left + width : normalizeRectValue(rect.right)\n const bottom = rect.bottom == null ? top + height : normalizeRectValue(rect.bottom)\n return { left, top, right, bottom, width, height }\n}\n\nfunction readNodeScrollOffset(node: unknown) {\n if ((typeof window !== 'undefined' && node === window) || node === globalThis) {\n const runtimeWindow = (typeof window !== 'undefined'\n ? (window as unknown as Record<string, unknown>)\n : (globalThis as Record<string, unknown>))\n return {\n scrollLeft: normalizeRectValue(\n (runtimeWindow.pageXOffset as number | undefined) ?? (runtimeWindow.scrollX as number | undefined),\n ),\n scrollTop: normalizeRectValue(\n (runtimeWindow.pageYOffset as number | undefined) ?? (runtimeWindow.scrollY as number | undefined),\n ),\n }\n }\n const target = node as {\n scrollLeft?: number\n scrollTop?: number\n }\n return {\n scrollLeft: normalizeRectValue(target?.scrollLeft),\n scrollTop: normalizeRectValue(target?.scrollTop),\n }\n}\n\nfunction readNodeFields(node: unknown, fields: SelectorQueryNodeFields) {\n if (!node) {\n return null\n }\n const result: Record<string, any> = {}\n const element = node as HTMLElement\n\n if (fields.id) {\n const elementWithId = element as { id?: string, getAttribute?: (name: string) => string | null }\n result.id = elementWithId.id ?? elementWithId.getAttribute?.('id') ?? ''\n }\n if (fields.dataset) {\n result.dataset = { ...(element.dataset ?? {}) }\n }\n if (fields.rect || fields.size) {\n const rect = readNodeRect(node)\n if (rect) {\n if (fields.rect) {\n result.left = rect.left\n result.top = rect.top\n result.right = rect.right\n result.bottom = rect.bottom\n }\n if (fields.size) {\n result.width = rect.width\n result.height = rect.height\n }\n }\n }\n if (fields.scrollOffset) {\n Object.assign(result, readNodeScrollOffset(node))\n }\n if (fields.properties?.length) {\n for (const key of fields.properties) {\n result[key] = (node as Record<string, unknown>)[key]\n }\n }\n if (fields.computedStyle?.length && typeof getComputedStyle === 'function' && node instanceof HTMLElement) {\n const style = getComputedStyle(node)\n for (const key of fields.computedStyle) {\n result[key] = style.getPropertyValue(key)\n }\n }\n if (fields.node) {\n result.node = node\n }\n if (fields.context) {\n result.context = node\n }\n return result\n}\n\nfunction mapQueryResult(target: SelectorTargetDescriptor, items: unknown[], mapper: (node: unknown) => any) {\n if (target.type === 'node' && target.multiple) {\n return items.map(item => mapper(item))\n }\n const first = items[0]\n if (!first) {\n return null\n }\n return mapper(first)\n}\n\nfunction runQueryTask(scope: unknown, task: SelectorQueryTask) {\n const targets = resolveQueryTargets(scope, task.target)\n if (task.type === 'boundingClientRect') {\n return mapQueryResult(task.target, targets, node => readNodeRect(node))\n }\n if (task.type === 'scrollOffset') {\n return mapQueryResult(task.target, targets, node => readNodeScrollOffset(node))\n }\n if (task.type === 'fields') {\n return mapQueryResult(task.target, targets, node => readNodeFields(node, task.fields))\n }\n return mapQueryResult(task.target, targets, node => ({ node }))\n}\n\nfunction createNodesRef(\n tasks: SelectorQueryTask[],\n queryApi: SelectorQuery,\n target: SelectorTargetDescriptor,\n): SelectorQueryNodesRef {\n return {\n boundingClientRect(callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'boundingClientRect', target, callback })\n return queryApi\n },\n scrollOffset(callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'scrollOffset', target, callback })\n return queryApi\n },\n fields(fields: SelectorQueryNodeFields, callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'fields', target, fields, callback })\n return queryApi\n },\n node(callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'node', target, callback })\n return queryApi\n },\n }\n}\n\nexport function createSelectorQueryBridge() {\n let scope: unknown\n const tasks: SelectorQueryTask[] = []\n\n const queryApi: SelectorQuery = {\n in(context?: unknown) {\n scope = context\n return queryApi\n },\n select(selector: string) {\n return createNodesRef(tasks, queryApi, { type: 'node', selector, multiple: false })\n },\n selectAll(selector: string) {\n return createNodesRef(tasks, queryApi, { type: 'node', selector, multiple: true })\n },\n selectViewport() {\n return createNodesRef(tasks, queryApi, { type: 'viewport' })\n },\n exec(callback?: (result: any[]) => void) {\n const result = tasks.map((task) => {\n const value = runQueryTask(scope, task)\n task.callback?.(value)\n return value\n })\n callback?.(result)\n tasks.length = 0\n return queryApi\n },\n }\n\n return queryApi\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"selectorQuery.mjs","names":[],"sources":["../../../src/runtime/polyfill/selectorQuery.ts"],"sourcesContent":["import type {\n SelectorQuery,\n SelectorQueryNodeCallback,\n SelectorQueryNodeFields,\n SelectorQueryNodesRef,\n SelectorQueryTask,\n SelectorTargetDescriptor,\n} from './selectorQueryTypes'\n\nfunction isQueryRoot(value: unknown): value is ParentNode {\n if (!value || typeof value !== 'object') {\n return false\n }\n const target = value as {\n querySelector?: (selector: string) => unknown\n querySelectorAll?: (selector: string) => ArrayLike<unknown>\n }\n return typeof target.querySelector === 'function' && typeof target.querySelectorAll === 'function'\n}\n\nfunction resolveQueryRoot(scope: unknown): ParentNode | undefined {\n const scoped = scope as {\n renderRoot?: unknown\n shadowRoot?: unknown\n $el?: unknown\n } | undefined\n if (isQueryRoot(scoped?.renderRoot)) {\n return scoped?.renderRoot\n }\n if (isQueryRoot(scoped?.shadowRoot)) {\n return scoped?.shadowRoot\n }\n if (isQueryRoot(scoped?.$el)) {\n return scoped?.$el\n }\n if (isQueryRoot(scope)) {\n return scope\n }\n if (typeof document !== 'undefined' && isQueryRoot(document)) {\n return document\n }\n return undefined\n}\n\nfunction resolveViewportTarget() {\n if (typeof window !== 'undefined') {\n return window\n }\n return undefined\n}\n\nfunction resolveQueryTargets(scope: unknown, target: SelectorTargetDescriptor): unknown[] {\n if (target.type === 'viewport') {\n const viewport = resolveViewportTarget()\n return viewport ? [viewport] : []\n }\n const root = resolveQueryRoot(scope)\n if (!root || !target.selector) {\n return []\n }\n if (target.multiple) {\n return Array.from(root.querySelectorAll(target.selector))\n }\n const node = root.querySelector(target.selector)\n return node ? [node] : []\n}\n\nfunction normalizeRectValue(value: unknown) {\n if (typeof value !== 'number' || Number.isNaN(value)) {\n return 0\n }\n return value\n}\n\nfunction getViewportRect() {\n const runtimeWindow = typeof window !== 'undefined' ? window : undefined\n const width = normalizeRectValue(runtimeWindow?.innerWidth)\n const height = normalizeRectValue(runtimeWindow?.innerHeight)\n return {\n left: 0,\n top: 0,\n right: width,\n bottom: height,\n width,\n height,\n }\n}\n\nfunction readNodeRect(node: unknown) {\n if (!node) {\n return null\n }\n if ((typeof window !== 'undefined' && node === window) || node === globalThis) {\n return getViewportRect()\n }\n const target = node as {\n getBoundingClientRect?: () => {\n left?: number\n top?: number\n right?: number\n bottom?: number\n width?: number\n height?: number\n }\n }\n if (typeof target.getBoundingClientRect !== 'function') {\n return null\n }\n const rect = target.getBoundingClientRect()\n const left = normalizeRectValue(rect.left)\n const top = normalizeRectValue(rect.top)\n const width = normalizeRectValue(rect.width)\n const height = normalizeRectValue(rect.height)\n const right = rect.right == null ? left + width : normalizeRectValue(rect.right)\n const bottom = rect.bottom == null ? top + height : normalizeRectValue(rect.bottom)\n return { left, top, right, bottom, width, height }\n}\n\nfunction readNodeScrollOffset(node: unknown) {\n if ((typeof window !== 'undefined' && node === window) || node === globalThis) {\n const runtimeWindow = (typeof window !== 'undefined'\n ? (window as unknown as Record<string, unknown>)\n : (globalThis as Record<string, unknown>))\n return {\n scrollLeft: normalizeRectValue(\n (runtimeWindow.pageXOffset as number | undefined) ?? (runtimeWindow.scrollX as number | undefined),\n ),\n scrollTop: normalizeRectValue(\n (runtimeWindow.pageYOffset as number | undefined) ?? (runtimeWindow.scrollY as number | undefined),\n ),\n }\n }\n const target = node as {\n scrollLeft?: number\n scrollTop?: number\n }\n return {\n scrollLeft: normalizeRectValue(target?.scrollLeft),\n scrollTop: normalizeRectValue(target?.scrollTop),\n }\n}\n\nfunction readNodeFields(node: unknown, fields: SelectorQueryNodeFields) {\n if (!node) {\n return null\n }\n const result: Record<string, any> = {}\n const element = node as HTMLElement\n\n if (fields.id) {\n const elementWithId = element as { id?: string, getAttribute?: (name: string) => string | null }\n result.id = elementWithId.id ?? elementWithId.getAttribute?.('id') ?? ''\n }\n if (fields.dataset) {\n result.dataset = { ...(element.dataset ?? {}) }\n }\n if (fields.rect || fields.size) {\n const rect = readNodeRect(node)\n if (rect) {\n if (fields.rect) {\n result.left = rect.left\n result.top = rect.top\n result.right = rect.right\n result.bottom = rect.bottom\n }\n if (fields.size) {\n result.width = rect.width\n result.height = rect.height\n }\n }\n }\n if (fields.scrollOffset) {\n Object.assign(result, readNodeScrollOffset(node))\n }\n if (fields.properties?.length) {\n for (const key of fields.properties) {\n result[key] = (node as Record<string, unknown>)[key]\n }\n }\n if (fields.computedStyle?.length && typeof getComputedStyle === 'function' && node instanceof HTMLElement) {\n const style = getComputedStyle(node)\n for (const key of fields.computedStyle) {\n result[key] = style.getPropertyValue(key)\n }\n }\n if (fields.node) {\n result.node = node\n }\n if (fields.context) {\n result.context = node\n }\n return result\n}\n\nfunction mapQueryResult(target: SelectorTargetDescriptor, items: unknown[], mapper: (node: unknown) => any) {\n if (target.type === 'node' && target.multiple) {\n return items.map(item => mapper(item))\n }\n const first = items[0]\n if (!first) {\n return null\n }\n return mapper(first)\n}\n\nfunction runQueryTask(scope: unknown, task: SelectorQueryTask) {\n const targets = resolveQueryTargets(scope, task.target)\n if (task.type === 'boundingClientRect') {\n return mapQueryResult(task.target, targets, node => readNodeRect(node))\n }\n if (task.type === 'scrollOffset') {\n return mapQueryResult(task.target, targets, node => readNodeScrollOffset(node))\n }\n if (task.type === 'fields') {\n return mapQueryResult(task.target, targets, node => readNodeFields(node, task.fields))\n }\n return mapQueryResult(task.target, targets, node => ({ node }))\n}\n\nfunction createNodesRef(\n tasks: SelectorQueryTask[],\n queryApi: SelectorQuery,\n target: SelectorTargetDescriptor,\n): SelectorQueryNodesRef {\n return {\n boundingClientRect(callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'boundingClientRect', target, callback })\n return queryApi\n },\n scrollOffset(callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'scrollOffset', target, callback })\n return queryApi\n },\n fields(fields: SelectorQueryNodeFields, callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'fields', target, fields, callback })\n return queryApi\n },\n node(callback?: SelectorQueryNodeCallback) {\n tasks.push({ type: 'node', target, callback })\n return queryApi\n },\n }\n}\n\nexport function createSelectorQueryBridge() {\n let scope: unknown\n const tasks: SelectorQueryTask[] = []\n\n const queryApi: SelectorQuery = {\n in(context?: unknown) {\n scope = context\n return queryApi\n },\n select(selector: string) {\n return createNodesRef(tasks, queryApi, { type: 'node', selector, multiple: false })\n },\n selectAll(selector: string) {\n return createNodesRef(tasks, queryApi, { type: 'node', selector, multiple: true })\n },\n selectViewport() {\n return createNodesRef(tasks, queryApi, { type: 'viewport' })\n },\n exec(callback?: (result: any[]) => void) {\n const result = tasks.map((task) => {\n const value = runQueryTask(scope, task)\n task.callback?.(value)\n return value\n })\n callback?.(result)\n tasks.length = 0\n return queryApi\n },\n }\n\n return queryApi\n}\n"],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  //#region src/runtime/polyfill/storage.ts
2
10
  const WEB_STORAGE_PREFIX = "__weapp_vite_web_storage__:";
3
11
  const WEB_STORAGE_LIMIT_SIZE_KB = 10240;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.mjs","names":[],"sources":["../../../src/runtime/polyfill/storage.ts"],"sourcesContent":["const WEB_STORAGE_PREFIX = '__weapp_vite_web_storage__:'\nconst WEB_STORAGE_LIMIT_SIZE_KB = 10240\nconst memoryStorage = new Map<string, any>()\n\nfunction isRuntimeStorageLike(value: unknown): value is Storage {\n return !!value\n && typeof value === 'object'\n && typeof (value as Storage).getItem === 'function'\n && typeof (value as Storage).setItem === 'function'\n && typeof (value as Storage).removeItem === 'function'\n && typeof (value as Storage).key === 'function'\n}\n\nfunction getRuntimeStorage() {\n if (typeof localStorage === 'undefined' || !isRuntimeStorageLike(localStorage)) {\n return undefined\n }\n return localStorage\n}\n\nfunction storageKeyWithPrefix(key: string) {\n return `${WEB_STORAGE_PREFIX}${key}`\n}\n\nfunction encodeStorageValue(value: any) {\n if (value === undefined) {\n return JSON.stringify({ type: 'undefined' })\n }\n return JSON.stringify({ type: 'json', value })\n}\n\nfunction decodeStorageValue(value: string) {\n try {\n const parsed = JSON.parse(value) as { type?: string, value?: any }\n if (parsed?.type === 'undefined') {\n return undefined\n }\n if (parsed?.type === 'json') {\n return parsed.value\n }\n return parsed\n }\n catch {\n return value\n }\n}\n\nexport function normalizeStorageKey(key: unknown) {\n if (typeof key !== 'string') {\n return ''\n }\n return key.trim()\n}\n\nexport function hasStorageKey(key: string) {\n if (memoryStorage.has(key)) {\n return true\n }\n const storage = getRuntimeStorage()\n if (!storage) {\n return false\n }\n return storage.getItem(storageKeyWithPrefix(key)) !== null\n}\n\nfunction listStorageKeys() {\n const keySet = new Set<string>(memoryStorage.keys())\n const storage = getRuntimeStorage()\n if (!storage) {\n return Array.from(keySet)\n }\n for (let index = 0; index < storage.length; index += 1) {\n const key = storage.key(index)\n if (key?.startsWith(WEB_STORAGE_PREFIX)) {\n keySet.add(key.slice(WEB_STORAGE_PREFIX.length))\n }\n }\n return Array.from(keySet)\n}\n\nexport function setStorageSyncInternal(key: string, data: any) {\n memoryStorage.set(key, data)\n const storage = getRuntimeStorage()\n if (storage) {\n storage.setItem(storageKeyWithPrefix(key), encodeStorageValue(data))\n }\n}\n\nexport function getStorageSyncInternal(key: string) {\n if (memoryStorage.has(key)) {\n return memoryStorage.get(key)\n }\n const storage = getRuntimeStorage()\n if (!storage) {\n return ''\n }\n const raw = storage.getItem(storageKeyWithPrefix(key))\n if (raw == null) {\n return ''\n }\n const decoded = decodeStorageValue(raw)\n memoryStorage.set(key, decoded)\n return decoded\n}\n\nexport function removeStorageSyncInternal(key: string) {\n memoryStorage.delete(key)\n const storage = getRuntimeStorage()\n if (storage) {\n storage.removeItem(storageKeyWithPrefix(key))\n }\n}\n\nexport function clearStorageSyncInternal() {\n memoryStorage.clear()\n const storage = getRuntimeStorage()\n if (!storage) {\n return\n }\n const removeKeys: string[] = []\n for (let index = 0; index < storage.length; index += 1) {\n const key = storage.key(index)\n if (key?.startsWith(WEB_STORAGE_PREFIX)) {\n removeKeys.push(key)\n }\n }\n for (const key of removeKeys) {\n storage.removeItem(key)\n }\n}\n\nfunction calculateStorageCurrentSize(keys: string[]) {\n let bytes = 0\n for (const key of keys) {\n const value = getStorageSyncInternal(key)\n const encoded = encodeStorageValue(value)\n bytes += encoded.length\n }\n return Math.ceil(bytes / 1024)\n}\n\nexport function getStorageInfoSyncInternal() {\n const keys = listStorageKeys()\n return {\n errMsg: 'getStorageInfoSync:ok',\n keys,\n currentSize: calculateStorageCurrentSize(keys),\n limitSize: WEB_STORAGE_LIMIT_SIZE_KB,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"storage.mjs","names":[],"sources":["../../../src/runtime/polyfill/storage.ts"],"sourcesContent":["const WEB_STORAGE_PREFIX = '__weapp_vite_web_storage__:'\nconst WEB_STORAGE_LIMIT_SIZE_KB = 10240\nconst memoryStorage = new Map<string, any>()\n\nfunction isRuntimeStorageLike(value: unknown): value is Storage {\n return !!value\n && typeof value === 'object'\n && typeof (value as Storage).getItem === 'function'\n && typeof (value as Storage).setItem === 'function'\n && typeof (value as Storage).removeItem === 'function'\n && typeof (value as Storage).key === 'function'\n}\n\nfunction getRuntimeStorage() {\n if (typeof localStorage === 'undefined' || !isRuntimeStorageLike(localStorage)) {\n return undefined\n }\n return localStorage\n}\n\nfunction storageKeyWithPrefix(key: string) {\n return `${WEB_STORAGE_PREFIX}${key}`\n}\n\nfunction encodeStorageValue(value: any) {\n if (value === undefined) {\n return JSON.stringify({ type: 'undefined' })\n }\n return JSON.stringify({ type: 'json', value })\n}\n\nfunction decodeStorageValue(value: string) {\n try {\n const parsed = JSON.parse(value) as { type?: string, value?: any }\n if (parsed?.type === 'undefined') {\n return undefined\n }\n if (parsed?.type === 'json') {\n return parsed.value\n }\n return parsed\n }\n catch {\n return value\n }\n}\n\nexport function normalizeStorageKey(key: unknown) {\n if (typeof key !== 'string') {\n return ''\n }\n return key.trim()\n}\n\nexport function hasStorageKey(key: string) {\n if (memoryStorage.has(key)) {\n return true\n }\n const storage = getRuntimeStorage()\n if (!storage) {\n return false\n }\n return storage.getItem(storageKeyWithPrefix(key)) !== null\n}\n\nfunction listStorageKeys() {\n const keySet = new Set<string>(memoryStorage.keys())\n const storage = getRuntimeStorage()\n if (!storage) {\n return Array.from(keySet)\n }\n for (let index = 0; index < storage.length; index += 1) {\n const key = storage.key(index)\n if (key?.startsWith(WEB_STORAGE_PREFIX)) {\n keySet.add(key.slice(WEB_STORAGE_PREFIX.length))\n }\n }\n return Array.from(keySet)\n}\n\nexport function setStorageSyncInternal(key: string, data: any) {\n memoryStorage.set(key, data)\n const storage = getRuntimeStorage()\n if (storage) {\n storage.setItem(storageKeyWithPrefix(key), encodeStorageValue(data))\n }\n}\n\nexport function getStorageSyncInternal(key: string) {\n if (memoryStorage.has(key)) {\n return memoryStorage.get(key)\n }\n const storage = getRuntimeStorage()\n if (!storage) {\n return ''\n }\n const raw = storage.getItem(storageKeyWithPrefix(key))\n if (raw == null) {\n return ''\n }\n const decoded = decodeStorageValue(raw)\n memoryStorage.set(key, decoded)\n return decoded\n}\n\nexport function removeStorageSyncInternal(key: string) {\n memoryStorage.delete(key)\n const storage = getRuntimeStorage()\n if (storage) {\n storage.removeItem(storageKeyWithPrefix(key))\n }\n}\n\nexport function clearStorageSyncInternal() {\n memoryStorage.clear()\n const storage = getRuntimeStorage()\n if (!storage) {\n return\n }\n const removeKeys: string[] = []\n for (let index = 0; index < storage.length; index += 1) {\n const key = storage.key(index)\n if (key?.startsWith(WEB_STORAGE_PREFIX)) {\n removeKeys.push(key)\n }\n }\n for (const key of removeKeys) {\n storage.removeItem(key)\n }\n}\n\nfunction calculateStorageCurrentSize(keys: string[]) {\n let bytes = 0\n for (const key of keys) {\n const value = getStorageSyncInternal(key)\n const encoded = encodeStorageValue(value)\n bytes += encoded.length\n }\n return Math.ceil(bytes / 1024)\n}\n\nexport function getStorageInfoSyncInternal() {\n const keys = listStorageKeys()\n return {\n errMsg: 'getStorageInfoSync:ok',\n keys,\n currentSize: calculateStorageCurrentSize(keys),\n limitSize: WEB_STORAGE_LIMIT_SIZE_KB,\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { callMiniProgramAsyncFailure, callMiniProgramAsyncSuccess } from "./async.mjs";
2
10
  import { clearStorageSyncInternal, getStorageInfoSyncInternal, getStorageSyncInternal, hasStorageKey, normalizeStorageKey, removeStorageSyncInternal, setStorageSyncInternal } from "./storage.mjs";
3
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"storageAsync.mjs","names":[],"sources":["../../../src/runtime/polyfill/storageAsync.ts"],"sourcesContent":["import type { MiniProgramAsyncOptions, MiniProgramBaseResult } from './types/base'\nimport type { GetStorageOptions, RemoveStorageOptions, SetStorageOptions, StorageInfoResult } from './types/common'\nimport {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n} from './async'\nimport {\n clearStorageSyncInternal,\n getStorageInfoSyncInternal,\n getStorageSyncInternal,\n hasStorageKey,\n normalizeStorageKey,\n removeStorageSyncInternal,\n setStorageSyncInternal,\n} from './storage'\n\nexport function setStorageBridge(options?: SetStorageOptions) {\n const key = normalizeStorageKey(options?.key)\n if (!key) {\n const failure = callMiniProgramAsyncFailure(options, 'setStorage:fail invalid key')\n return Promise.reject(failure)\n }\n try {\n setStorageSyncInternal(key, options?.data)\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const failure = callMiniProgramAsyncFailure(options, `setStorage:fail ${message}`)\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'setStorage:ok' }))\n}\n\nexport function getStorageBridge(options?: GetStorageOptions) {\n const key = normalizeStorageKey(options?.key)\n if (!key) {\n const failure = callMiniProgramAsyncFailure(options, 'getStorage:fail invalid key')\n return Promise.reject(failure)\n }\n if (!hasStorageKey(key)) {\n const failure = callMiniProgramAsyncFailure(options, `getStorage:fail data not found for key ${key}`)\n return Promise.reject(failure)\n }\n const data = getStorageSyncInternal(key)\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'getStorage:ok', data }))\n}\n\nexport function removeStorageBridge(options?: RemoveStorageOptions) {\n const key = normalizeStorageKey(options?.key)\n if (!key) {\n const failure = callMiniProgramAsyncFailure(options, 'removeStorage:fail invalid key')\n return Promise.reject(failure)\n }\n try {\n removeStorageSyncInternal(key)\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const failure = callMiniProgramAsyncFailure(options, `removeStorage:fail ${message}`)\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'removeStorage:ok' }))\n}\n\nexport function clearStorageBridge(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n clearStorageSyncInternal()\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'clearStorage:ok' }))\n}\n\nexport function getStorageInfoBridge(options?: MiniProgramAsyncOptions<StorageInfoResult>) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, {\n ...getStorageInfoSyncInternal(),\n errMsg: 'getStorageInfo:ok',\n }))\n}\n"],"mappings":";;;;AAgBA,SAAgB,iBAAiB,SAA6B;CAC5D,MAAM,MAAM,oBAAoB,SAAS,GAAG;CAC5C,IAAI,CAAC,KAAK;EACR,MAAM,UAAU,4BAA4B,SAAS,6BAA6B;EAClF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,IAAI;EACF,uBAAuB,KAAK,SAAS,IAAI;CAC3C,SACO,OAAO;EAEZ,MAAM,UAAU,4BAA4B,SAAS,mBADrC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACY;EACjF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,gBAAgB,CAAC,CAAC;AAC1F;AAEA,SAAgB,iBAAiB,SAA6B;CAC5D,MAAM,MAAM,oBAAoB,SAAS,GAAG;CAC5C,IAAI,CAAC,KAAK;EACR,MAAM,UAAU,4BAA4B,SAAS,6BAA6B;EAClF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,IAAI,CAAC,cAAc,GAAG,GAAG;EACvB,MAAM,UAAU,4BAA4B,SAAS,0CAA0C,KAAK;EACpG,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,MAAM,OAAO,uBAAuB,GAAG;CACvC,OAAO,QAAQ,QAAQ,4BAA4B,SAAS;EAAE,QAAQ;EAAiB;CAAK,CAAC,CAAC;AAChG;AAEA,SAAgB,oBAAoB,SAAgC;CAClE,MAAM,MAAM,oBAAoB,SAAS,GAAG;CAC5C,IAAI,CAAC,KAAK;EACR,MAAM,UAAU,4BAA4B,SAAS,gCAAgC;EACrF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,IAAI;EACF,0BAA0B,GAAG;CAC/B,SACO,OAAO;EAEZ,MAAM,UAAU,4BAA4B,SAAS,sBADrC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACe;EACpF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,mBAAmB,CAAC,CAAC;AAC7F;AAEA,SAAgB,mBAAmB,SAA0D;CAC3F,yBAAyB;CACzB,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;AAC5F;AAEA,SAAgB,qBAAqB,SAAsD;CACzF,OAAO,QAAQ,QAAQ,4BAA4B,SAAS;EAC1D,GAAG,2BAA2B;EAC9B,QAAQ;CACV,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"storageAsync.mjs","names":[],"sources":["../../../src/runtime/polyfill/storageAsync.ts"],"sourcesContent":["import type { MiniProgramAsyncOptions, MiniProgramBaseResult } from './types/base'\nimport type { GetStorageOptions, RemoveStorageOptions, SetStorageOptions, StorageInfoResult } from './types/common'\nimport {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n} from './async'\nimport {\n clearStorageSyncInternal,\n getStorageInfoSyncInternal,\n getStorageSyncInternal,\n hasStorageKey,\n normalizeStorageKey,\n removeStorageSyncInternal,\n setStorageSyncInternal,\n} from './storage'\n\nexport function setStorageBridge(options?: SetStorageOptions) {\n const key = normalizeStorageKey(options?.key)\n if (!key) {\n const failure = callMiniProgramAsyncFailure(options, 'setStorage:fail invalid key')\n return Promise.reject(failure)\n }\n try {\n setStorageSyncInternal(key, options?.data)\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const failure = callMiniProgramAsyncFailure(options, `setStorage:fail ${message}`)\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'setStorage:ok' }))\n}\n\nexport function getStorageBridge(options?: GetStorageOptions) {\n const key = normalizeStorageKey(options?.key)\n if (!key) {\n const failure = callMiniProgramAsyncFailure(options, 'getStorage:fail invalid key')\n return Promise.reject(failure)\n }\n if (!hasStorageKey(key)) {\n const failure = callMiniProgramAsyncFailure(options, `getStorage:fail data not found for key ${key}`)\n return Promise.reject(failure)\n }\n const data = getStorageSyncInternal(key)\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'getStorage:ok', data }))\n}\n\nexport function removeStorageBridge(options?: RemoveStorageOptions) {\n const key = normalizeStorageKey(options?.key)\n if (!key) {\n const failure = callMiniProgramAsyncFailure(options, 'removeStorage:fail invalid key')\n return Promise.reject(failure)\n }\n try {\n removeStorageSyncInternal(key)\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const failure = callMiniProgramAsyncFailure(options, `removeStorage:fail ${message}`)\n return Promise.reject(failure)\n }\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'removeStorage:ok' }))\n}\n\nexport function clearStorageBridge(options?: MiniProgramAsyncOptions<MiniProgramBaseResult>) {\n clearStorageSyncInternal()\n return Promise.resolve(callMiniProgramAsyncSuccess(options, { errMsg: 'clearStorage:ok' }))\n}\n\nexport function getStorageInfoBridge(options?: MiniProgramAsyncOptions<StorageInfoResult>) {\n return Promise.resolve(callMiniProgramAsyncSuccess(options, {\n ...getStorageInfoSyncInternal(),\n errMsg: 'getStorageInfo:ok',\n }))\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAgB,iBAAiB,SAA6B;CAC5D,MAAM,MAAM,oBAAoB,SAAS,GAAG;CAC5C,IAAI,CAAC,KAAK;EACR,MAAM,UAAU,4BAA4B,SAAS,6BAA6B;EAClF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,IAAI;EACF,uBAAuB,KAAK,SAAS,IAAI;CAC3C,SACO,OAAO;EAEZ,MAAM,UAAU,4BAA4B,SAAS,mBADrC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACY;EACjF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,gBAAgB,CAAC,CAAC;AAC1F;AAEA,SAAgB,iBAAiB,SAA6B;CAC5D,MAAM,MAAM,oBAAoB,SAAS,GAAG;CAC5C,IAAI,CAAC,KAAK;EACR,MAAM,UAAU,4BAA4B,SAAS,6BAA6B;EAClF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,IAAI,CAAC,cAAc,GAAG,GAAG;EACvB,MAAM,UAAU,4BAA4B,SAAS,0CAA0C,KAAK;EACpG,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,MAAM,OAAO,uBAAuB,GAAG;CACvC,OAAO,QAAQ,QAAQ,4BAA4B,SAAS;EAAE,QAAQ;EAAiB;CAAK,CAAC,CAAC;AAChG;AAEA,SAAgB,oBAAoB,SAAgC;CAClE,MAAM,MAAM,oBAAoB,SAAS,GAAG;CAC5C,IAAI,CAAC,KAAK;EACR,MAAM,UAAU,4BAA4B,SAAS,gCAAgC;EACrF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,IAAI;EACF,0BAA0B,GAAG;CAC/B,SACO,OAAO;EAEZ,MAAM,UAAU,4BAA4B,SAAS,sBADrC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACe;EACpF,OAAO,QAAQ,OAAO,OAAO;CAC/B;CACA,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,mBAAmB,CAAC,CAAC;AAC7F;AAEA,SAAgB,mBAAmB,SAA0D;CAC3F,yBAAyB;CACzB,OAAO,QAAQ,QAAQ,4BAA4B,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;AAC5F;AAEA,SAAgB,qBAAqB,SAAsD;CACzF,OAAO,QAAQ,QAAQ,4BAA4B,SAAS;EAC1D,GAAG,2BAA2B;EAC9B,QAAQ;CACV,CAAC,CAAC;AACJ"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { WEAPP_VITE_WEB_REQUEST_SUBSCRIBE_MESSAGE_KEY } from "@weapp-core/constants";
2
10
 
3
11
  //#region src/runtime/polyfill/subscribe.ts
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.mjs","names":["runtimeGlobal"],"sources":["../../../src/runtime/polyfill/subscribe.ts"],"sourcesContent":["import { WEAPP_VITE_WEB_REQUEST_SUBSCRIBE_MESSAGE_KEY } from '@weapp-core/constants'\n\nexport type SubscribeMessageDecision = 'accept' | 'reject' | 'ban' | 'filter'\n\nexport function normalizeSubscribeDecision(value: unknown): SubscribeMessageDecision {\n if (value === 'accept' || value === 'reject' || value === 'ban' || value === 'filter') {\n return value\n }\n return 'accept'\n}\n\nexport function normalizeSubscribeTemplateIds(value: unknown) {\n if (!Array.isArray(value)) {\n return []\n }\n return value\n .filter((item): item is string => typeof item === 'string')\n .map(item => item.trim())\n .filter(Boolean)\n}\n\nexport function resolveSubscribeDecisionMap(tmplIds: string[]) {\n const runtimeGlobal = globalThis as Record<string, unknown>\n const preset = runtimeGlobal[WEAPP_VITE_WEB_REQUEST_SUBSCRIBE_MESSAGE_KEY]\n const presetValue = typeof preset === 'function'\n ? (preset as (ids: string[]) => unknown)(tmplIds)\n : preset\n if (presetValue && typeof presetValue === 'object') {\n const output: Record<string, SubscribeMessageDecision> = {}\n const source = presetValue as Record<string, unknown>\n for (const tmplId of tmplIds) {\n output[tmplId] = normalizeSubscribeDecision(source[tmplId])\n }\n return output\n }\n const sharedDecision = normalizeSubscribeDecision(presetValue)\n return tmplIds.reduce<Record<string, SubscribeMessageDecision>>((result, tmplId) => {\n result[tmplId] = sharedDecision\n return result\n }, {})\n}\n"],"mappings":";;;AAIA,SAAgB,2BAA2B,OAA0C;CACnF,IAAI,UAAU,YAAY,UAAU,YAAY,UAAU,SAAS,UAAU,UAC3E,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,8BAA8B,OAAgB;CAC5D,IAAI,CAAC,MAAM,QAAQ,KAAK,GACtB,OAAO,CAAC;CAEV,OAAO,MACJ,QAAQ,SAAyB,OAAO,SAAS,QAAQ,EACzD,KAAI,SAAQ,KAAK,KAAK,CAAC,EACvB,OAAO,OAAO;AACnB;AAEA,SAAgB,4BAA4B,SAAmB;CAE7D,MAAM,SAASA,WAAc;CAC7B,MAAM,cAAc,OAAO,WAAW,aACjC,OAAsC,OAAO,IAC9C;CACJ,IAAI,eAAe,OAAO,gBAAgB,UAAU;EAClD,MAAM,SAAmD,CAAC;EAC1D,MAAM,SAAS;EACf,KAAK,MAAM,UAAU,SACnB,OAAO,UAAU,2BAA2B,OAAO,OAAO;EAE5D,OAAO;CACT;CACA,MAAM,iBAAiB,2BAA2B,WAAW;CAC7D,OAAO,QAAQ,QAAkD,QAAQ,WAAW;EAClF,OAAO,UAAU;EACjB,OAAO;CACT,GAAG,CAAC,CAAC;AACP"}
1
+ {"version":3,"file":"subscribe.mjs","names":["runtimeGlobal"],"sources":["../../../src/runtime/polyfill/subscribe.ts"],"sourcesContent":["import { WEAPP_VITE_WEB_REQUEST_SUBSCRIBE_MESSAGE_KEY } from '@weapp-core/constants'\n\nexport type SubscribeMessageDecision = 'accept' | 'reject' | 'ban' | 'filter'\n\nexport function normalizeSubscribeDecision(value: unknown): SubscribeMessageDecision {\n if (value === 'accept' || value === 'reject' || value === 'ban' || value === 'filter') {\n return value\n }\n return 'accept'\n}\n\nexport function normalizeSubscribeTemplateIds(value: unknown) {\n if (!Array.isArray(value)) {\n return []\n }\n return value\n .filter((item): item is string => typeof item === 'string')\n .map(item => item.trim())\n .filter(Boolean)\n}\n\nexport function resolveSubscribeDecisionMap(tmplIds: string[]) {\n const runtimeGlobal = globalThis as Record<string, unknown>\n const preset = runtimeGlobal[WEAPP_VITE_WEB_REQUEST_SUBSCRIBE_MESSAGE_KEY]\n const presetValue = typeof preset === 'function'\n ? (preset as (ids: string[]) => unknown)(tmplIds)\n : preset\n if (presetValue && typeof presetValue === 'object') {\n const output: Record<string, SubscribeMessageDecision> = {}\n const source = presetValue as Record<string, unknown>\n for (const tmplId of tmplIds) {\n output[tmplId] = normalizeSubscribeDecision(source[tmplId])\n }\n return output\n }\n const sharedDecision = normalizeSubscribeDecision(presetValue)\n return tmplIds.reduce<Record<string, SubscribeMessageDecision>>((result, tmplId) => {\n result[tmplId] = sharedDecision\n return result\n }, {})\n}\n"],"mappings":";;;;;;;;;;;AAIA,SAAgB,2BAA2B,OAA0C;CACnF,IAAI,UAAU,YAAY,UAAU,YAAY,UAAU,SAAS,UAAU,UAC3E,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,8BAA8B,OAAgB;CAC5D,IAAI,CAAC,MAAM,QAAQ,KAAK,GACtB,OAAO,CAAC;CAEV,OAAO,MACJ,QAAQ,SAAyB,OAAO,SAAS,QAAQ,EACzD,KAAI,SAAQ,KAAK,KAAK,CAAC,EACvB,OAAO,OAAO;AACnB;AAEA,SAAgB,4BAA4B,SAAmB;CAE7D,MAAM,SAASA,WAAc;CAC7B,MAAM,cAAc,OAAO,WAAW,aACjC,OAAsC,OAAO,IAC9C;CACJ,IAAI,eAAe,OAAO,gBAAgB,UAAU;EAClD,MAAM,SAAmD,CAAC;EAC1D,MAAM,SAAS;EACf,KAAK,MAAM,UAAU,SACnB,OAAO,UAAU,2BAA2B,OAAO,OAAO;EAE5D,OAAO;CACT;CACA,MAAM,iBAAiB,2BAA2B,WAAW;CAC7D,OAAO,QAAQ,QAAkD,QAAQ,WAAW;EAClF,OAAO,UAAU;EACjB,OAAO;CACT,GAAG,CAAC,CAAC;AACP"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  //#region src/runtime/polyfill/system.ts
2
10
  function resolveSystemName(userAgent) {
3
11
  if (/android/i.test(userAgent)) return "Android";
@@ -1 +1 @@
1
- {"version":3,"file":"system.mjs","names":["navigatorWithUAData"],"sources":["../../../src/runtime/polyfill/system.ts"],"sourcesContent":["export function resolveSystemName(userAgent: string) {\n if (/android/i.test(userAgent)) {\n return 'Android'\n }\n if (/iphone|ipad|ipod/i.test(userAgent)) {\n return 'iOS'\n }\n if (/windows/i.test(userAgent)) {\n return 'Windows'\n }\n if (/mac os x/i.test(userAgent)) {\n return 'macOS'\n }\n if (/linux/i.test(userAgent)) {\n return 'Linux'\n }\n return 'Unknown'\n}\n\nexport function resolvePlatformName(\n userAgent: string,\n runtimeNavigator: Navigator | undefined,\n) {\n const navigatorWithUAData = runtimeNavigator as Navigator & {\n userAgentData?: { platform?: string }\n }\n const raw = navigatorWithUAData?.userAgentData?.platform\n ?? runtimeNavigator?.platform\n ?? resolveSystemName(userAgent)\n const normalized = raw.toLowerCase()\n if (normalized.includes('android')) {\n return 'android'\n }\n if (normalized.includes('iphone') || normalized.includes('ipad') || normalized.includes('ios')) {\n return 'ios'\n }\n if (normalized.includes('win')) {\n return 'windows'\n }\n if (normalized.includes('mac')) {\n return 'mac'\n }\n if (normalized.includes('linux')) {\n return 'linux'\n }\n return normalized || 'web'\n}\n\nexport function normalizePositiveNumber(value: number | undefined, fallback: number) {\n if (typeof value !== 'number' || Number.isNaN(value) || value <= 0) {\n return fallback\n }\n return value\n}\n\nexport function resolveDeviceOrientation(): 'portrait' | 'landscape' {\n const runtimeWindow = (typeof window !== 'undefined'\n ? window\n : globalThis) as {\n innerWidth?: number\n innerHeight?: number\n }\n const width = normalizePositiveNumber(runtimeWindow.innerWidth, 0)\n const height = normalizePositiveNumber(runtimeWindow.innerHeight, 0)\n if (width > 0 && height > 0 && width > height) {\n return 'landscape'\n }\n return 'portrait'\n}\n\nexport function normalizeMemorySize(memory: unknown) {\n if (typeof memory !== 'number' || Number.isNaN(memory) || memory <= 0) {\n return 0\n }\n return Math.round(memory * 1024)\n}\n\nexport function resolveRuntimeTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return 'light'\n }\n try {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n }\n catch {\n return 'light'\n }\n}\n\nexport function readSystemInfoSnapshot() {\n const runtimeWindow = (typeof window !== 'undefined'\n ? window\n : globalThis) as {\n innerWidth?: number\n innerHeight?: number\n devicePixelRatio?: number\n }\n const runtimeScreen = (typeof screen !== 'undefined'\n ? screen\n : globalThis) as {\n width?: number\n height?: number\n }\n const runtimeNavigator = typeof navigator !== 'undefined' ? navigator : undefined\n const userAgent = runtimeNavigator?.userAgent ?? ''\n const windowWidth = normalizePositiveNumber(\n runtimeWindow.innerWidth,\n normalizePositiveNumber(runtimeScreen.width, 0),\n )\n const windowHeight = normalizePositiveNumber(\n runtimeWindow.innerHeight,\n normalizePositiveNumber(runtimeScreen.height, 0),\n )\n const screenWidth = normalizePositiveNumber(runtimeScreen.width, windowWidth)\n const screenHeight = normalizePositiveNumber(runtimeScreen.height, windowHeight)\n\n return {\n brand: 'web',\n model: runtimeNavigator?.platform ?? 'web',\n pixelRatio: normalizePositiveNumber(runtimeWindow.devicePixelRatio, 1),\n screenWidth,\n screenHeight,\n windowWidth,\n windowHeight,\n statusBarHeight: 0,\n language: runtimeNavigator?.language ?? 'en',\n version: runtimeNavigator?.appVersion ?? userAgent,\n system: resolveSystemName(userAgent),\n platform: resolvePlatformName(userAgent, runtimeNavigator),\n }\n}\n\nexport function buildWindowInfoSnapshot(systemInfo: {\n pixelRatio: number\n screenWidth: number\n screenHeight: number\n windowWidth: number\n windowHeight: number\n statusBarHeight: number\n}) {\n const safeArea = {\n left: 0,\n right: systemInfo.windowWidth,\n top: systemInfo.statusBarHeight,\n bottom: systemInfo.windowHeight,\n width: systemInfo.windowWidth,\n height: Math.max(0, systemInfo.windowHeight - systemInfo.statusBarHeight),\n }\n return {\n pixelRatio: systemInfo.pixelRatio,\n screenWidth: systemInfo.screenWidth,\n screenHeight: systemInfo.screenHeight,\n windowWidth: systemInfo.windowWidth,\n windowHeight: systemInfo.windowHeight,\n statusBarHeight: systemInfo.statusBarHeight,\n screenTop: systemInfo.statusBarHeight,\n safeArea,\n }\n}\n\nexport function readDeviceMemorySize() {\n const runtimeNavigator = (typeof navigator !== 'undefined' ? navigator : undefined) as (Navigator & {\n deviceMemory?: number\n }) | undefined\n return normalizeMemorySize(runtimeNavigator?.deviceMemory)\n}\n\nexport function resolveAccountAppId() {\n const runtimeLocation = (typeof location !== 'undefined' ? location : undefined) as {\n hostname?: string\n } | undefined\n const host = runtimeLocation?.hostname?.trim()\n return host ? `web:${host}` : 'web'\n}\n\nexport function buildMenuButtonRect(windowWidth: number, statusBarHeight: number) {\n const width = 88\n const height = 32\n const right = Math.max(width, windowWidth - 8)\n const top = Math.max(0, statusBarHeight + (44 - height) / 2)\n const left = Math.max(0, right - width)\n return {\n width,\n height,\n top,\n right,\n bottom: top + height,\n left,\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"system.mjs","names":["navigatorWithUAData"],"sources":["../../../src/runtime/polyfill/system.ts"],"sourcesContent":["export function resolveSystemName(userAgent: string) {\n if (/android/i.test(userAgent)) {\n return 'Android'\n }\n if (/iphone|ipad|ipod/i.test(userAgent)) {\n return 'iOS'\n }\n if (/windows/i.test(userAgent)) {\n return 'Windows'\n }\n if (/mac os x/i.test(userAgent)) {\n return 'macOS'\n }\n if (/linux/i.test(userAgent)) {\n return 'Linux'\n }\n return 'Unknown'\n}\n\nexport function resolvePlatformName(\n userAgent: string,\n runtimeNavigator: Navigator | undefined,\n) {\n const navigatorWithUAData = runtimeNavigator as Navigator & {\n userAgentData?: { platform?: string }\n }\n const raw = navigatorWithUAData?.userAgentData?.platform\n ?? runtimeNavigator?.platform\n ?? resolveSystemName(userAgent)\n const normalized = raw.toLowerCase()\n if (normalized.includes('android')) {\n return 'android'\n }\n if (normalized.includes('iphone') || normalized.includes('ipad') || normalized.includes('ios')) {\n return 'ios'\n }\n if (normalized.includes('win')) {\n return 'windows'\n }\n if (normalized.includes('mac')) {\n return 'mac'\n }\n if (normalized.includes('linux')) {\n return 'linux'\n }\n return normalized || 'web'\n}\n\nexport function normalizePositiveNumber(value: number | undefined, fallback: number) {\n if (typeof value !== 'number' || Number.isNaN(value) || value <= 0) {\n return fallback\n }\n return value\n}\n\nexport function resolveDeviceOrientation(): 'portrait' | 'landscape' {\n const runtimeWindow = (typeof window !== 'undefined'\n ? window\n : globalThis) as {\n innerWidth?: number\n innerHeight?: number\n }\n const width = normalizePositiveNumber(runtimeWindow.innerWidth, 0)\n const height = normalizePositiveNumber(runtimeWindow.innerHeight, 0)\n if (width > 0 && height > 0 && width > height) {\n return 'landscape'\n }\n return 'portrait'\n}\n\nexport function normalizeMemorySize(memory: unknown) {\n if (typeof memory !== 'number' || Number.isNaN(memory) || memory <= 0) {\n return 0\n }\n return Math.round(memory * 1024)\n}\n\nexport function resolveRuntimeTheme(): 'light' | 'dark' {\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') {\n return 'light'\n }\n try {\n return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n }\n catch {\n return 'light'\n }\n}\n\nexport function readSystemInfoSnapshot() {\n const runtimeWindow = (typeof window !== 'undefined'\n ? window\n : globalThis) as {\n innerWidth?: number\n innerHeight?: number\n devicePixelRatio?: number\n }\n const runtimeScreen = (typeof screen !== 'undefined'\n ? screen\n : globalThis) as {\n width?: number\n height?: number\n }\n const runtimeNavigator = typeof navigator !== 'undefined' ? navigator : undefined\n const userAgent = runtimeNavigator?.userAgent ?? ''\n const windowWidth = normalizePositiveNumber(\n runtimeWindow.innerWidth,\n normalizePositiveNumber(runtimeScreen.width, 0),\n )\n const windowHeight = normalizePositiveNumber(\n runtimeWindow.innerHeight,\n normalizePositiveNumber(runtimeScreen.height, 0),\n )\n const screenWidth = normalizePositiveNumber(runtimeScreen.width, windowWidth)\n const screenHeight = normalizePositiveNumber(runtimeScreen.height, windowHeight)\n\n return {\n brand: 'web',\n model: runtimeNavigator?.platform ?? 'web',\n pixelRatio: normalizePositiveNumber(runtimeWindow.devicePixelRatio, 1),\n screenWidth,\n screenHeight,\n windowWidth,\n windowHeight,\n statusBarHeight: 0,\n language: runtimeNavigator?.language ?? 'en',\n version: runtimeNavigator?.appVersion ?? userAgent,\n system: resolveSystemName(userAgent),\n platform: resolvePlatformName(userAgent, runtimeNavigator),\n }\n}\n\nexport function buildWindowInfoSnapshot(systemInfo: {\n pixelRatio: number\n screenWidth: number\n screenHeight: number\n windowWidth: number\n windowHeight: number\n statusBarHeight: number\n}) {\n const safeArea = {\n left: 0,\n right: systemInfo.windowWidth,\n top: systemInfo.statusBarHeight,\n bottom: systemInfo.windowHeight,\n width: systemInfo.windowWidth,\n height: Math.max(0, systemInfo.windowHeight - systemInfo.statusBarHeight),\n }\n return {\n pixelRatio: systemInfo.pixelRatio,\n screenWidth: systemInfo.screenWidth,\n screenHeight: systemInfo.screenHeight,\n windowWidth: systemInfo.windowWidth,\n windowHeight: systemInfo.windowHeight,\n statusBarHeight: systemInfo.statusBarHeight,\n screenTop: systemInfo.statusBarHeight,\n safeArea,\n }\n}\n\nexport function readDeviceMemorySize() {\n const runtimeNavigator = (typeof navigator !== 'undefined' ? navigator : undefined) as (Navigator & {\n deviceMemory?: number\n }) | undefined\n return normalizeMemorySize(runtimeNavigator?.deviceMemory)\n}\n\nexport function resolveAccountAppId() {\n const runtimeLocation = (typeof location !== 'undefined' ? location : undefined) as {\n hostname?: string\n } | undefined\n const host = runtimeLocation?.hostname?.trim()\n return host ? `web:${host}` : 'web'\n}\n\nexport function buildMenuButtonRect(windowWidth: number, statusBarHeight: number) {\n const width = 88\n const height = 32\n const right = Math.max(width, windowWidth - 8)\n const top = Math.max(0, statusBarHeight + (44 - height) / 2)\n const left = Math.max(0, right - width)\n return {\n width,\n height,\n top,\n right,\n bottom: top + height,\n left,\n }\n}\n"],"mappings":";;;;;;;;;AAAA,SAAgB,kBAAkB,WAAmB;CACnD,IAAI,WAAW,KAAK,SAAS,GAC3B,OAAO;CAET,IAAI,oBAAoB,KAAK,SAAS,GACpC,OAAO;CAET,IAAI,WAAW,KAAK,SAAS,GAC3B,OAAO;CAET,IAAI,YAAY,KAAK,SAAS,GAC5B,OAAO;CAET,IAAI,SAAS,KAAK,SAAS,GACzB,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,oBACd,WACA,kBACA;CAOA,MAAM,cAHMA,kBAAqB,eAAe,YAC3C,kBAAkB,YAClB,kBAAkB,SAAS,GACT,YAAY;CACnC,IAAI,WAAW,SAAS,SAAS,GAC/B,OAAO;CAET,IAAI,WAAW,SAAS,QAAQ,KAAK,WAAW,SAAS,MAAM,KAAK,WAAW,SAAS,KAAK,GAC3F,OAAO;CAET,IAAI,WAAW,SAAS,KAAK,GAC3B,OAAO;CAET,IAAI,WAAW,SAAS,KAAK,GAC3B,OAAO;CAET,IAAI,WAAW,SAAS,OAAO,GAC7B,OAAO;CAET,OAAO,cAAc;AACvB;AAEA,SAAgB,wBAAwB,OAA2B,UAAkB;CACnF,IAAI,OAAO,UAAU,YAAY,OAAO,MAAM,KAAK,KAAK,SAAS,GAC/D,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,2BAAqD;CACnE,MAAM,gBAAiB,OAAO,WAAW,cACrC,SACA;CAIJ,MAAM,QAAQ,wBAAwB,cAAc,YAAY,CAAC;CACjE,MAAM,SAAS,wBAAwB,cAAc,aAAa,CAAC;CACnE,IAAI,QAAQ,KAAK,SAAS,KAAK,QAAQ,QACrC,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,oBAAoB,QAAiB;CACnD,IAAI,OAAO,WAAW,YAAY,OAAO,MAAM,MAAM,KAAK,UAAU,GAClE,OAAO;CAET,OAAO,KAAK,MAAM,SAAS,IAAI;AACjC;AAEA,SAAgB,sBAAwC;CACtD,IAAI,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe,YAChE,OAAO;CAET,IAAI;EACF,OAAO,OAAO,WAAW,8BAA8B,EAAE,UAAU,SAAS;CAC9E,QACM;EACJ,OAAO;CACT;AACF;AAEA,SAAgB,yBAAyB;CACvC,MAAM,gBAAiB,OAAO,WAAW,cACrC,SACA;CAKJ,MAAM,gBAAiB,OAAO,WAAW,cACrC,SACA;CAIJ,MAAM,mBAAmB,OAAO,cAAc,cAAc,YAAY;CACxE,MAAM,YAAY,kBAAkB,aAAa;CACjD,MAAM,cAAc,wBAClB,cAAc,YACd,wBAAwB,cAAc,OAAO,CAAC,CAChD;CACA,MAAM,eAAe,wBACnB,cAAc,aACd,wBAAwB,cAAc,QAAQ,CAAC,CACjD;CACA,MAAM,cAAc,wBAAwB,cAAc,OAAO,WAAW;CAC5E,MAAM,eAAe,wBAAwB,cAAc,QAAQ,YAAY;CAE/E,OAAO;EACL,OAAO;EACP,OAAO,kBAAkB,YAAY;EACrC,YAAY,wBAAwB,cAAc,kBAAkB,CAAC;EACrE;EACA;EACA;EACA;EACA,iBAAiB;EACjB,UAAU,kBAAkB,YAAY;EACxC,SAAS,kBAAkB,cAAc;EACzC,QAAQ,kBAAkB,SAAS;EACnC,UAAU,oBAAoB,WAAW,gBAAgB;CAC3D;AACF;AAEA,SAAgB,wBAAwB,YAOrC;CACD,MAAM,WAAW;EACf,MAAM;EACN,OAAO,WAAW;EAClB,KAAK,WAAW;EAChB,QAAQ,WAAW;EACnB,OAAO,WAAW;EAClB,QAAQ,KAAK,IAAI,GAAG,WAAW,eAAe,WAAW,eAAe;CAC1E;CACA,OAAO;EACL,YAAY,WAAW;EACvB,aAAa,WAAW;EACxB,cAAc,WAAW;EACzB,aAAa,WAAW;EACxB,cAAc,WAAW;EACzB,iBAAiB,WAAW;EAC5B,WAAW,WAAW;EACtB;CACF;AACF;AAEA,SAAgB,uBAAuB;CAIrC,OAAO,qBAHmB,OAAO,cAAc,cAAc,YAAY,SAG5B,YAAY;AAC3D;AAEA,SAAgB,sBAAsB;CAIpC,MAAM,QAHmB,OAAO,aAAa,cAAc,WAAW,SAGxC,UAAU,KAAK;CAC7C,OAAO,OAAO,OAAO,SAAS;AAChC;AAEA,SAAgB,oBAAoB,aAAqB,iBAAyB;CAChF,MAAM,QAAQ;CACd,MAAM,SAAS;CACf,MAAM,QAAQ,KAAK,IAAI,OAAO,cAAc,CAAC;CAC7C,MAAM,MAAM,KAAK,IAAI,GAAG,mBAAmB,KAAK,UAAU,CAAC;CAC3D,MAAM,OAAO,KAAK,IAAI,GAAG,QAAQ,KAAK;CACtC,OAAO;EACL;EACA;EACA;EACA;EACA,QAAQ,MAAM;EACd;CACF;AACF"}
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { callMiniProgramAsyncFailure, callMiniProgramAsyncSuccess } from "./async.mjs";
2
10
  import { buildMenuButtonRect, buildWindowInfoSnapshot, readDeviceMemorySize, readSystemInfoSnapshot, resolveAccountAppId, resolveDeviceOrientation, resolveRuntimeTheme } from "./system.mjs";
3
11
 
@@ -1 +1 @@
1
- {"version":3,"file":"systemApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/systemApi.ts"],"sourcesContent":["import {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n} from './async'\nimport {\n buildMenuButtonRect,\n buildWindowInfoSnapshot,\n readDeviceMemorySize,\n readSystemInfoSnapshot,\n resolveAccountAppId,\n resolveDeviceOrientation,\n resolveRuntimeTheme,\n} from './system'\n\nexport function getSystemInfoSyncBridge() {\n return readSystemInfoSnapshot()\n}\n\nexport function getSystemInfoBridge(options?: any): Promise<any> {\n try {\n const info = getSystemInfoSyncBridge()\n return Promise.resolve(callMiniProgramAsyncSuccess(options, {\n errMsg: 'getSystemInfo:ok',\n ...info,\n }))\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const failure = callMiniProgramAsyncFailure(options, `getSystemInfo:fail ${message}`)\n return Promise.reject(failure)\n }\n}\n\nexport function getWindowInfoBridge() {\n return buildWindowInfoSnapshot(getSystemInfoSyncBridge())\n}\n\nexport function getDeviceInfoBridge() {\n const systemInfo = getSystemInfoSyncBridge()\n return {\n brand: systemInfo.brand,\n model: systemInfo.model,\n system: systemInfo.system,\n platform: systemInfo.platform,\n memorySize: readDeviceMemorySize(),\n benchmarkLevel: -1,\n abi: 'web',\n deviceOrientation: resolveDeviceOrientation(),\n }\n}\n\nexport function getAccountInfoSyncBridge() {\n const appId = resolveAccountAppId()\n return {\n miniProgram: {\n appId,\n envVersion: 'develop',\n version: '0.0.0-web',\n },\n plugin: {},\n }\n}\n\nexport function getAppBaseInfoBridge() {\n const systemInfo = getSystemInfoSyncBridge()\n const runtimeNavigator = typeof navigator !== 'undefined' ? navigator : undefined\n return {\n SDKVersion: 'web',\n language: runtimeNavigator?.language ?? 'en',\n version: runtimeNavigator?.appVersion ?? runtimeNavigator?.userAgent ?? 'web',\n platform: systemInfo.platform,\n enableDebug: false,\n theme: resolveRuntimeTheme(),\n }\n}\n\nexport function getMenuButtonBoundingClientRectBridge() {\n const { windowWidth, statusBarHeight } = getSystemInfoSyncBridge()\n return buildMenuButtonRect(windowWidth, statusBarHeight)\n}\n"],"mappings":";;;;AAcA,SAAgB,0BAA0B;CACxC,OAAO,uBAAuB;AAChC;AAEA,SAAgB,oBAAoB,SAA6B;CAC/D,IAAI;EACF,MAAM,OAAO,wBAAwB;EACrC,OAAO,QAAQ,QAAQ,4BAA4B,SAAS;GAC1D,QAAQ;GACR,GAAG;EACL,CAAC,CAAC;CACJ,SACO,OAAO;EAEZ,MAAM,UAAU,4BAA4B,SAAS,sBADrC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACe;EACpF,OAAO,QAAQ,OAAO,OAAO;CAC/B;AACF;AAEA,SAAgB,sBAAsB;CACpC,OAAO,wBAAwB,wBAAwB,CAAC;AAC1D;AAEA,SAAgB,sBAAsB;CACpC,MAAM,aAAa,wBAAwB;CAC3C,OAAO;EACL,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,QAAQ,WAAW;EACnB,UAAU,WAAW;EACrB,YAAY,qBAAqB;EACjC,gBAAgB;EAChB,KAAK;EACL,mBAAmB,yBAAyB;CAC9C;AACF;AAEA,SAAgB,2BAA2B;CAEzC,OAAO;EACL,aAAa;GACX,OAHU,oBAGN;GACJ,YAAY;GACZ,SAAS;EACX;EACA,QAAQ,CAAC;CACX;AACF;AAEA,SAAgB,uBAAuB;CACrC,MAAM,aAAa,wBAAwB;CAC3C,MAAM,mBAAmB,OAAO,cAAc,cAAc,YAAY;CACxE,OAAO;EACL,YAAY;EACZ,UAAU,kBAAkB,YAAY;EACxC,SAAS,kBAAkB,cAAc,kBAAkB,aAAa;EACxE,UAAU,WAAW;EACrB,aAAa;EACb,OAAO,oBAAoB;CAC7B;AACF;AAEA,SAAgB,wCAAwC;CACtD,MAAM,EAAE,aAAa,oBAAoB,wBAAwB;CACjE,OAAO,oBAAoB,aAAa,eAAe;AACzD"}
1
+ {"version":3,"file":"systemApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/systemApi.ts"],"sourcesContent":["import {\n callMiniProgramAsyncFailure,\n callMiniProgramAsyncSuccess,\n} from './async'\nimport {\n buildMenuButtonRect,\n buildWindowInfoSnapshot,\n readDeviceMemorySize,\n readSystemInfoSnapshot,\n resolveAccountAppId,\n resolveDeviceOrientation,\n resolveRuntimeTheme,\n} from './system'\n\nexport function getSystemInfoSyncBridge() {\n return readSystemInfoSnapshot()\n}\n\nexport function getSystemInfoBridge(options?: any): Promise<any> {\n try {\n const info = getSystemInfoSyncBridge()\n return Promise.resolve(callMiniProgramAsyncSuccess(options, {\n errMsg: 'getSystemInfo:ok',\n ...info,\n }))\n }\n catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n const failure = callMiniProgramAsyncFailure(options, `getSystemInfo:fail ${message}`)\n return Promise.reject(failure)\n }\n}\n\nexport function getWindowInfoBridge() {\n return buildWindowInfoSnapshot(getSystemInfoSyncBridge())\n}\n\nexport function getDeviceInfoBridge() {\n const systemInfo = getSystemInfoSyncBridge()\n return {\n brand: systemInfo.brand,\n model: systemInfo.model,\n system: systemInfo.system,\n platform: systemInfo.platform,\n memorySize: readDeviceMemorySize(),\n benchmarkLevel: -1,\n abi: 'web',\n deviceOrientation: resolveDeviceOrientation(),\n }\n}\n\nexport function getAccountInfoSyncBridge() {\n const appId = resolveAccountAppId()\n return {\n miniProgram: {\n appId,\n envVersion: 'develop',\n version: '0.0.0-web',\n },\n plugin: {},\n }\n}\n\nexport function getAppBaseInfoBridge() {\n const systemInfo = getSystemInfoSyncBridge()\n const runtimeNavigator = typeof navigator !== 'undefined' ? navigator : undefined\n return {\n SDKVersion: 'web',\n language: runtimeNavigator?.language ?? 'en',\n version: runtimeNavigator?.appVersion ?? runtimeNavigator?.userAgent ?? 'web',\n platform: systemInfo.platform,\n enableDebug: false,\n theme: resolveRuntimeTheme(),\n }\n}\n\nexport function getMenuButtonBoundingClientRectBridge() {\n const { windowWidth, statusBarHeight } = getSystemInfoSyncBridge()\n return buildMenuButtonRect(windowWidth, statusBarHeight)\n}\n"],"mappings":";;;;;;;;;;;;AAcA,SAAgB,0BAA0B;CACxC,OAAO,uBAAuB;AAChC;AAEA,SAAgB,oBAAoB,SAA6B;CAC/D,IAAI;EACF,MAAM,OAAO,wBAAwB;EACrC,OAAO,QAAQ,QAAQ,4BAA4B,SAAS;GAC1D,QAAQ;GACR,GAAG;EACL,CAAC,CAAC;CACJ,SACO,OAAO;EAEZ,MAAM,UAAU,4BAA4B,SAAS,sBADrC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACe;EACpF,OAAO,QAAQ,OAAO,OAAO;CAC/B;AACF;AAEA,SAAgB,sBAAsB;CACpC,OAAO,wBAAwB,wBAAwB,CAAC;AAC1D;AAEA,SAAgB,sBAAsB;CACpC,MAAM,aAAa,wBAAwB;CAC3C,OAAO;EACL,OAAO,WAAW;EAClB,OAAO,WAAW;EAClB,QAAQ,WAAW;EACnB,UAAU,WAAW;EACrB,YAAY,qBAAqB;EACjC,gBAAgB;EAChB,KAAK;EACL,mBAAmB,yBAAyB;CAC9C;AACF;AAEA,SAAgB,2BAA2B;CAEzC,OAAO;EACL,aAAa;GACX,OAHU,oBAGN;GACJ,YAAY;GACZ,SAAS;EACX;EACA,QAAQ,CAAC;CACX;AACF;AAEA,SAAgB,uBAAuB;CACrC,MAAM,aAAa,wBAAwB;CAC3C,MAAM,mBAAmB,OAAO,cAAc,cAAc,YAAY;CACxE,OAAO;EACL,YAAY;EACZ,UAAU,kBAAkB,YAAY;EACxC,SAAS,kBAAkB,cAAc,kBAAkB,aAAa;EACxE,UAAU,WAAW;EACrB,aAAa;EACb,OAAO,oBAAoB;CAC7B;AACF;AAEA,SAAgB,wCAAwC;CACtD,MAAM,EAAE,aAAa,oBAAoB,wBAAwB;CACjE,OAAO,oBAAoB,aAAa,eAAe;AACzD"}
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  //#region src/runtime/polyfill/types/base.d.ts
2
4
  interface MiniProgramBaseResult {
3
5
  errMsg: string;
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  import { MiniProgramAsyncOptions, MiniProgramBaseResult } from "./base.mjs";
2
4
 
3
5
  //#region src/runtime/polyfill/types/common.d.ts
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  import { MiniProgramAsyncOptions, MiniProgramBaseResult } from "./base.mjs";
2
4
 
3
5
  //#region src/runtime/polyfill/types/locationRuntime.d.ts
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  import { MiniProgramAsyncOptions, MiniProgramBaseResult } from "./base.mjs";
2
4
 
3
5
  //#region src/runtime/polyfill/types/mediaAuth.d.ts
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  import { MiniProgramAsyncOptions, MiniProgramBaseResult } from "./base.mjs";
2
4
 
3
5
  //#region src/runtime/polyfill/types/platformRuntime.d.ts
@@ -1,3 +1,5 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
1
3
  import { MiniProgramAsyncOptions, MiniProgramBaseResult } from "./base.mjs";
2
4
 
3
5
  //#region src/runtime/polyfill/types/systemAuth.d.ts
@@ -1,3 +1,11 @@
1
+
2
+
3
+ import __tsdown_shims_path from 'node:path'
4
+ import __tsdown_shims_url from 'node:url'
5
+
6
+ const __TSDOWN_SHIM_FILENAME__ = /* @__PURE__ */ __tsdown_shims_url.fileURLToPath(import.meta.url)
7
+ const __TSDOWN_SHIM_DIRNAME__ = /* @__PURE__ */ __tsdown_shims_path.dirname(__TSDOWN_SHIM_FILENAME__)
8
+
1
9
  import { WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY } from "@weapp-core/constants";
2
10
 
3
11
  //#region src/runtime/polyfill/ui.ts
@@ -1 +1 @@
1
- {"version":3,"file":"ui.mjs","names":["runtimeGlobal"],"sources":["../../../src/runtime/polyfill/ui.ts"],"sourcesContent":["import { WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY } from '@weapp-core/constants'\n\nconst TOAST_ID = '__weapp_vite_web_toast__'\nconst TOAST_SELECTOR = `#${TOAST_ID}`\nconst LOADING_ID = '__weapp_vite_web_loading__'\nconst LOADING_SELECTOR = `#${LOADING_ID}`\n\nexport function getGlobalDialogHandlers() {\n const runtimeGlobal = globalThis as Record<string, unknown>\n return {\n confirm: runtimeGlobal.confirm as ((message?: string) => boolean) | undefined,\n alert: runtimeGlobal.alert as ((message?: string) => void) | undefined,\n prompt: runtimeGlobal.prompt as ((message?: string, defaultValue?: string) => string | null) | undefined,\n }\n}\n\nexport function getToastElement() {\n if (typeof document === 'undefined') {\n return undefined\n }\n const existing = document.querySelector(TOAST_SELECTOR) as HTMLElement | null\n if (existing) {\n return existing\n }\n const toast = document.createElement('div')\n toast.setAttribute('id', TOAST_ID)\n toast.setAttribute('data-weapp-web-toast', 'true')\n toast.setAttribute('hidden', 'true')\n toast.setAttribute('role', 'status')\n toast.setAttribute('aria-live', 'polite')\n if (!document.body) {\n return undefined\n }\n document.body.append(toast)\n return toast\n}\n\nexport function setToastVisible(toast: HTMLElement, visible: boolean) {\n if (visible) {\n toast.removeAttribute('hidden')\n }\n else {\n toast.setAttribute('hidden', 'true')\n }\n toast.setAttribute('style', [\n 'position: fixed',\n 'left: 50%',\n 'top: 15%',\n 'transform: translate(-50%, 0)',\n 'max-width: min(560px, 90vw)',\n 'padding: 10px 14px',\n 'border-radius: 8px',\n 'background: rgba(17, 24, 39, 0.9)',\n 'color: #ffffff',\n 'font-size: 14px',\n 'line-height: 1.5',\n 'text-align: center',\n 'pointer-events: none',\n 'z-index: 2147483646',\n `opacity: ${visible ? '1' : '0'}`,\n ].join(';'))\n}\n\nexport function hideToastElement() {\n const toast = getToastElement()\n if (!toast) {\n return\n }\n setToastVisible(toast, false)\n}\n\nexport function resolveToastPrefix(icon: 'success' | 'error' | 'none' | undefined) {\n if (icon === 'none') {\n return ''\n }\n if (icon === 'error') {\n return '[error] '\n }\n return '[ok] '\n}\n\nexport function getLoadingElement() {\n if (typeof document === 'undefined') {\n return undefined\n }\n const existing = document.querySelector(LOADING_SELECTOR) as HTMLElement | null\n if (existing) {\n return existing\n }\n if (!document.body) {\n return undefined\n }\n const loading = document.createElement('div')\n loading.setAttribute('id', LOADING_ID)\n loading.setAttribute('data-weapp-web-loading', 'true')\n loading.setAttribute('hidden', 'true')\n loading.setAttribute('role', 'status')\n loading.setAttribute('aria-live', 'polite')\n document.body.append(loading)\n return loading\n}\n\nexport function setLoadingVisible(\n loading: HTMLElement,\n visible: boolean,\n title: string,\n mask: boolean,\n) {\n if (visible) {\n loading.removeAttribute('hidden')\n }\n else {\n loading.setAttribute('hidden', 'true')\n }\n loading.textContent = title\n loading.setAttribute('style', [\n 'position: fixed',\n 'left: 50%',\n 'top: 45%',\n 'transform: translate(-50%, -50%)',\n 'min-width: 120px',\n 'max-width: min(560px, 90vw)',\n 'padding: 14px 18px',\n 'border-radius: 10px',\n 'background: rgba(17, 24, 39, 0.92)',\n 'color: #ffffff',\n 'font-size: 14px',\n 'line-height: 1.5',\n 'text-align: center',\n `pointer-events: ${mask ? 'auto' : 'none'}`,\n 'z-index: 2147483647',\n `opacity: ${visible ? '1' : '0'}`,\n `box-shadow: ${mask ? '0 0 0 99999px rgba(0, 0, 0, 0.28)' : 'none'}`,\n ].join(';'))\n}\n\nexport function resolveActionSheetSelection(itemList: string[]) {\n const runtimeGlobal = globalThis as Record<string, unknown>\n const preset = runtimeGlobal[WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY]\n if (typeof preset === 'function') {\n const result = preset(itemList)\n if (Number.isInteger(result) && result >= 0 && result < itemList.length) {\n return result\n }\n }\n if (Number.isInteger(preset) && (preset as number) >= 0 && (preset as number) < itemList.length) {\n return preset as number\n }\n const { prompt } = getGlobalDialogHandlers()\n if (typeof prompt === 'function') {\n const lines = itemList.map((item, index) => `[${index}] ${item}`)\n const input = prompt(['请选择操作:', ...lines].join('\\n'), '0')\n if (input === null) {\n return null\n }\n const parsed = Number.parseInt(String(input), 10)\n if (Number.isInteger(parsed) && parsed >= 0 && parsed < itemList.length) {\n return parsed\n }\n }\n return 0\n}\n\nexport function resolveModalSelection(options?: {\n title?: string\n content?: string\n showCancel?: boolean\n}) {\n const title = options?.title?.trim() ?? ''\n const content = options?.content?.trim() ?? ''\n const message = [title, content].filter(Boolean).join('\\n\\n') || ' '\n const showCancel = options?.showCancel !== false\n const { confirm, alert } = getGlobalDialogHandlers()\n\n let confirmed = true\n if (showCancel) {\n if (typeof confirm === 'function') {\n confirmed = confirm(message)\n }\n }\n else if (typeof alert === 'function') {\n alert(message)\n }\n\n return {\n confirm: confirmed,\n cancel: !confirmed,\n }\n}\n\nexport function normalizeActionSheetItems(itemList: unknown) {\n if (!Array.isArray(itemList)) {\n return []\n }\n return itemList.map(item => String(item ?? '').trim()).filter(Boolean)\n}\n"],"mappings":";;;AAEA,MAAM,WAAW;AACjB,MAAM,iBAAiB,IAAI;AAC3B,MAAM,aAAa;AACnB,MAAM,mBAAmB,IAAI;AAE7B,SAAgB,0BAA0B;CACxC,MAAM,gBAAgB;CACtB,OAAO;EACL,SAAS,cAAc;EACvB,OAAO,cAAc;EACrB,QAAQ,cAAc;CACxB;AACF;AAEA,SAAgB,kBAAkB;CAChC,IAAI,OAAO,aAAa,aACtB;CAEF,MAAM,WAAW,SAAS,cAAc,cAAc;CACtD,IAAI,UACF,OAAO;CAET,MAAM,QAAQ,SAAS,cAAc,KAAK;CAC1C,MAAM,aAAa,MAAM,QAAQ;CACjC,MAAM,aAAa,wBAAwB,MAAM;CACjD,MAAM,aAAa,UAAU,MAAM;CACnC,MAAM,aAAa,QAAQ,QAAQ;CACnC,MAAM,aAAa,aAAa,QAAQ;CACxC,IAAI,CAAC,SAAS,MACZ;CAEF,SAAS,KAAK,OAAO,KAAK;CAC1B,OAAO;AACT;AAEA,SAAgB,gBAAgB,OAAoB,SAAkB;CACpE,IAAI,SACF,MAAM,gBAAgB,QAAQ;MAG9B,MAAM,aAAa,UAAU,MAAM;CAErC,MAAM,aAAa,SAAS;EAC1B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY,UAAU,MAAM;CAC9B,EAAE,KAAK,GAAG,CAAC;AACb;AAEA,SAAgB,mBAAmB;CACjC,MAAM,QAAQ,gBAAgB;CAC9B,IAAI,CAAC,OACH;CAEF,gBAAgB,OAAO,KAAK;AAC9B;AAEA,SAAgB,mBAAmB,MAAgD;CACjF,IAAI,SAAS,QACX,OAAO;CAET,IAAI,SAAS,SACX,OAAO;CAET,OAAO;AACT;AAEA,SAAgB,oBAAoB;CAClC,IAAI,OAAO,aAAa,aACtB;CAEF,MAAM,WAAW,SAAS,cAAc,gBAAgB;CACxD,IAAI,UACF,OAAO;CAET,IAAI,CAAC,SAAS,MACZ;CAEF,MAAM,UAAU,SAAS,cAAc,KAAK;CAC5C,QAAQ,aAAa,MAAM,UAAU;CACrC,QAAQ,aAAa,0BAA0B,MAAM;CACrD,QAAQ,aAAa,UAAU,MAAM;CACrC,QAAQ,aAAa,QAAQ,QAAQ;CACrC,QAAQ,aAAa,aAAa,QAAQ;CAC1C,SAAS,KAAK,OAAO,OAAO;CAC5B,OAAO;AACT;AAEA,SAAgB,kBACd,SACA,SACA,OACA,MACA;CACA,IAAI,SACF,QAAQ,gBAAgB,QAAQ;MAGhC,QAAQ,aAAa,UAAU,MAAM;CAEvC,QAAQ,cAAc;CACtB,QAAQ,aAAa,SAAS;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,mBAAmB,OAAO,SAAS;EACnC;EACA,YAAY,UAAU,MAAM;EAC5B,eAAe,OAAO,sCAAsC;CAC9D,EAAE,KAAK,GAAG,CAAC;AACb;AAEA,SAAgB,4BAA4B,UAAoB;CAE9D,MAAM,SAASA,WAAc;CAC7B,IAAI,OAAO,WAAW,YAAY;EAChC,MAAM,SAAS,OAAO,QAAQ;EAC9B,IAAI,OAAO,UAAU,MAAM,KAAK,UAAU,KAAK,SAAS,SAAS,QAC/D,OAAO;CAEX;CACA,IAAI,OAAO,UAAU,MAAM,KAAM,UAAqB,KAAM,SAAoB,SAAS,QACvF,OAAO;CAET,MAAM,EAAE,WAAW,wBAAwB;CAC3C,IAAI,OAAO,WAAW,YAAY;EAEhC,MAAM,QAAQ,OAAO,CAAC,UAAU,GADlB,SAAS,KAAK,MAAM,UAAU,IAAI,MAAM,IAAI,MACnB,CAAC,EAAE,KAAK,IAAI,GAAG,GAAG;EACzD,IAAI,UAAU,MACZ,OAAO;EAET,MAAM,SAAS,OAAO,SAAS,OAAO,KAAK,GAAG,EAAE;EAChD,IAAI,OAAO,UAAU,MAAM,KAAK,UAAU,KAAK,SAAS,SAAS,QAC/D,OAAO;CAEX;CACA,OAAO;AACT;AAEA,SAAgB,sBAAsB,SAInC;CAGD,MAAM,UAAU,CAFF,SAAS,OAAO,KAAK,KAAK,IACxB,SAAS,SAAS,KAAK,KAAK,EACb,EAAE,OAAO,OAAO,EAAE,KAAK,MAAM,KAAK;CACjE,MAAM,aAAa,SAAS,eAAe;CAC3C,MAAM,EAAE,SAAS,UAAU,wBAAwB;CAEnD,IAAI,YAAY;CAChB,IAAI,YACF;MAAI,OAAO,YAAY,YACrB,YAAY,QAAQ,OAAO;CAC7B,OAEG,IAAI,OAAO,UAAU,YACxB,MAAM,OAAO;CAGf,OAAO;EACL,SAAS;EACT,QAAQ,CAAC;CACX;AACF;AAEA,SAAgB,0BAA0B,UAAmB;CAC3D,IAAI,CAAC,MAAM,QAAQ,QAAQ,GACzB,OAAO,CAAC;CAEV,OAAO,SAAS,KAAI,SAAQ,OAAO,QAAQ,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,OAAO;AACvE"}
1
+ {"version":3,"file":"ui.mjs","names":["runtimeGlobal"],"sources":["../../../src/runtime/polyfill/ui.ts"],"sourcesContent":["import { WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY } from '@weapp-core/constants'\n\nconst TOAST_ID = '__weapp_vite_web_toast__'\nconst TOAST_SELECTOR = `#${TOAST_ID}`\nconst LOADING_ID = '__weapp_vite_web_loading__'\nconst LOADING_SELECTOR = `#${LOADING_ID}`\n\nexport function getGlobalDialogHandlers() {\n const runtimeGlobal = globalThis as Record<string, unknown>\n return {\n confirm: runtimeGlobal.confirm as ((message?: string) => boolean) | undefined,\n alert: runtimeGlobal.alert as ((message?: string) => void) | undefined,\n prompt: runtimeGlobal.prompt as ((message?: string, defaultValue?: string) => string | null) | undefined,\n }\n}\n\nexport function getToastElement() {\n if (typeof document === 'undefined') {\n return undefined\n }\n const existing = document.querySelector(TOAST_SELECTOR) as HTMLElement | null\n if (existing) {\n return existing\n }\n const toast = document.createElement('div')\n toast.setAttribute('id', TOAST_ID)\n toast.setAttribute('data-weapp-web-toast', 'true')\n toast.setAttribute('hidden', 'true')\n toast.setAttribute('role', 'status')\n toast.setAttribute('aria-live', 'polite')\n if (!document.body) {\n return undefined\n }\n document.body.append(toast)\n return toast\n}\n\nexport function setToastVisible(toast: HTMLElement, visible: boolean) {\n if (visible) {\n toast.removeAttribute('hidden')\n }\n else {\n toast.setAttribute('hidden', 'true')\n }\n toast.setAttribute('style', [\n 'position: fixed',\n 'left: 50%',\n 'top: 15%',\n 'transform: translate(-50%, 0)',\n 'max-width: min(560px, 90vw)',\n 'padding: 10px 14px',\n 'border-radius: 8px',\n 'background: rgba(17, 24, 39, 0.9)',\n 'color: #ffffff',\n 'font-size: 14px',\n 'line-height: 1.5',\n 'text-align: center',\n 'pointer-events: none',\n 'z-index: 2147483646',\n `opacity: ${visible ? '1' : '0'}`,\n ].join(';'))\n}\n\nexport function hideToastElement() {\n const toast = getToastElement()\n if (!toast) {\n return\n }\n setToastVisible(toast, false)\n}\n\nexport function resolveToastPrefix(icon: 'success' | 'error' | 'none' | undefined) {\n if (icon === 'none') {\n return ''\n }\n if (icon === 'error') {\n return '[error] '\n }\n return '[ok] '\n}\n\nexport function getLoadingElement() {\n if (typeof document === 'undefined') {\n return undefined\n }\n const existing = document.querySelector(LOADING_SELECTOR) as HTMLElement | null\n if (existing) {\n return existing\n }\n if (!document.body) {\n return undefined\n }\n const loading = document.createElement('div')\n loading.setAttribute('id', LOADING_ID)\n loading.setAttribute('data-weapp-web-loading', 'true')\n loading.setAttribute('hidden', 'true')\n loading.setAttribute('role', 'status')\n loading.setAttribute('aria-live', 'polite')\n document.body.append(loading)\n return loading\n}\n\nexport function setLoadingVisible(\n loading: HTMLElement,\n visible: boolean,\n title: string,\n mask: boolean,\n) {\n if (visible) {\n loading.removeAttribute('hidden')\n }\n else {\n loading.setAttribute('hidden', 'true')\n }\n loading.textContent = title\n loading.setAttribute('style', [\n 'position: fixed',\n 'left: 50%',\n 'top: 45%',\n 'transform: translate(-50%, -50%)',\n 'min-width: 120px',\n 'max-width: min(560px, 90vw)',\n 'padding: 14px 18px',\n 'border-radius: 10px',\n 'background: rgba(17, 24, 39, 0.92)',\n 'color: #ffffff',\n 'font-size: 14px',\n 'line-height: 1.5',\n 'text-align: center',\n `pointer-events: ${mask ? 'auto' : 'none'}`,\n 'z-index: 2147483647',\n `opacity: ${visible ? '1' : '0'}`,\n `box-shadow: ${mask ? '0 0 0 99999px rgba(0, 0, 0, 0.28)' : 'none'}`,\n ].join(';'))\n}\n\nexport function resolveActionSheetSelection(itemList: string[]) {\n const runtimeGlobal = globalThis as Record<string, unknown>\n const preset = runtimeGlobal[WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY]\n if (typeof preset === 'function') {\n const result = preset(itemList)\n if (Number.isInteger(result) && result >= 0 && result < itemList.length) {\n return result\n }\n }\n if (Number.isInteger(preset) && (preset as number) >= 0 && (preset as number) < itemList.length) {\n return preset as number\n }\n const { prompt } = getGlobalDialogHandlers()\n if (typeof prompt === 'function') {\n const lines = itemList.map((item, index) => `[${index}] ${item}`)\n const input = prompt(['请选择操作:', ...lines].join('\\n'), '0')\n if (input === null) {\n return null\n }\n const parsed = Number.parseInt(String(input), 10)\n if (Number.isInteger(parsed) && parsed >= 0 && parsed < itemList.length) {\n return parsed\n }\n }\n return 0\n}\n\nexport function resolveModalSelection(options?: {\n title?: string\n content?: string\n showCancel?: boolean\n}) {\n const title = options?.title?.trim() ?? ''\n const content = options?.content?.trim() ?? ''\n const message = [title, content].filter(Boolean).join('\\n\\n') || ' '\n const showCancel = options?.showCancel !== false\n const { confirm, alert } = getGlobalDialogHandlers()\n\n let confirmed = true\n if (showCancel) {\n if (typeof confirm === 'function') {\n confirmed = confirm(message)\n }\n }\n else if (typeof alert === 'function') {\n alert(message)\n }\n\n return {\n confirm: confirmed,\n cancel: !confirmed,\n }\n}\n\nexport function normalizeActionSheetItems(itemList: unknown) {\n if (!Array.isArray(itemList)) {\n return []\n }\n return itemList.map(item => String(item ?? '').trim()).filter(Boolean)\n}\n"],"mappings":"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"}