@vlian/framework 1.2.57 → 1.2.60

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 (685) hide show
  1. package/README.md +15 -3
  2. package/dist/analytics/index.cjs +1 -24
  3. package/dist/analytics/index.js +1 -3
  4. package/dist/analytics.umd.js +8 -208
  5. package/dist/components/LocaleSwitch.cjs +1 -118
  6. package/dist/components/LocaleSwitch.js +1 -103
  7. package/dist/components/ThemeSwitch.cjs +1 -117
  8. package/dist/components/ThemeSwitch.js +1 -102
  9. package/dist/components/index.cjs +1 -22
  10. package/dist/components/index.js +1 -4
  11. package/dist/components/persistence.cjs +1 -60
  12. package/dist/components/persistence.js +1 -39
  13. package/dist/core/Test.cjs +1 -66
  14. package/dist/core/Test.js +1 -15
  15. package/dist/core/app/AppContext.cjs +1 -350
  16. package/dist/core/app/AppContext.js +1 -339
  17. package/dist/core/app/AppContext.types.cjs +1 -6
  18. package/dist/core/app/AppContext.types.js +1 -5
  19. package/dist/core/app/BasicLayout.cjs +1 -124
  20. package/dist/core/app/BasicLayout.js +1 -74
  21. package/dist/core/app/DefaultApp.cjs +1 -152
  22. package/dist/core/app/DefaultApp.js +1 -143
  23. package/dist/core/app/index.cjs +1 -43
  24. package/dist/core/app/index.js +1 -7
  25. package/dist/core/config/AppConfig.cjs +1 -141
  26. package/dist/core/config/AppConfig.js +1 -133
  27. package/dist/core/config/ConfigLoader.cjs +1 -325
  28. package/dist/core/config/ConfigLoader.js +1 -311
  29. package/dist/core/config/ConfigValidator.cjs +2 -135
  30. package/dist/core/config/ConfigValidator.js +2 -121
  31. package/dist/core/config/index.cjs +1 -30
  32. package/dist/core/config/index.js +1 -7
  33. package/dist/core/dev/DevTools.cjs +1 -228
  34. package/dist/core/dev/DevTools.js +1 -210
  35. package/dist/core/error/ErrorBoundary.cjs +1 -403
  36. package/dist/core/error/ErrorBoundary.js +1 -399
  37. package/dist/core/error/ErrorHandler.cjs +1 -277
  38. package/dist/core/error/ErrorHandler.js +1 -261
  39. package/dist/core/error/index.cjs +1 -36
  40. package/dist/core/error/index.js +1 -6
  41. package/dist/core/event/AppEventBus.cjs +1 -446
  42. package/dist/core/event/AppEventBus.js +1 -438
  43. package/dist/core/event/frameworkEvents.cjs +1 -143
  44. package/dist/core/event/frameworkEvents.js +1 -135
  45. package/dist/core/event/hooks.cjs +1 -71
  46. package/dist/core/event/hooks.js +1 -95
  47. package/dist/core/event/index.cjs +1 -43
  48. package/dist/core/event/index.js +1 -10
  49. package/dist/core/event/types.cjs +1 -64
  50. package/dist/core/event/types.js +1 -56
  51. package/dist/core/event/useEventBus.cjs +1 -27
  52. package/dist/core/event/useEventBus.js +1 -39
  53. package/dist/core/index.cjs +1 -142
  54. package/dist/core/index.js +1 -69
  55. package/dist/core/initialization/InitializationErrorThrower.cjs +1 -77
  56. package/dist/core/initialization/InitializationErrorThrower.js +1 -30
  57. package/dist/core/initialization/index.cjs +1 -28
  58. package/dist/core/initialization/index.js +1 -7
  59. package/dist/core/initialization/initialization.cjs +1 -66
  60. package/dist/core/initialization/initialization.js +1 -78
  61. package/dist/core/initialization/initializationErrorState.cjs +1 -68
  62. package/dist/core/initialization/initializationErrorState.js +1 -60
  63. package/dist/core/kernel/defaultAdapters.cjs +1 -186
  64. package/dist/core/kernel/defaultAdapters.js +1 -176
  65. package/dist/core/kernel/errors.cjs +1 -71
  66. package/dist/core/kernel/errors.js +1 -53
  67. package/dist/core/kernel/index.cjs +1 -22
  68. package/dist/core/kernel/index.js +1 -4
  69. package/dist/core/kernel/startKernel.cjs +1 -202
  70. package/dist/core/kernel/startKernel.js +1 -192
  71. package/dist/core/kernel/types.cjs +1 -6
  72. package/dist/core/kernel/types.js +1 -3
  73. package/dist/core/middleware.cjs +1 -75
  74. package/dist/core/middleware.js +1 -61
  75. package/dist/core/plugin/PluginEventBus.cjs +1 -300
  76. package/dist/core/plugin/PluginEventBus.js +1 -286
  77. package/dist/core/plugin/PluginSandbox.cjs +1 -139
  78. package/dist/core/plugin/PluginSandbox.js +1 -125
  79. package/dist/core/plugin.cjs +1 -496
  80. package/dist/core/plugin.js +1 -438
  81. package/dist/core/router/RouterManager.cjs +1 -288
  82. package/dist/core/router/RouterManager.js +1 -272
  83. package/dist/core/router/adapter/AdapterManager.cjs +1 -237
  84. package/dist/core/router/adapter/AdapterManager.js +1 -221
  85. package/dist/core/router/adapter/index.cjs +1 -24
  86. package/dist/core/router/adapter/index.js +1 -7
  87. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -130
  88. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -116
  89. package/dist/core/router/adapter/react-router/index.cjs +1 -22
  90. package/dist/core/router/adapter/react-router/index.js +1 -5
  91. package/dist/core/router/adapter/types.cjs +1 -8
  92. package/dist/core/router/adapter/types.js +1 -7
  93. package/dist/core/router/dev/RouterDevTools.cjs +1 -262
  94. package/dist/core/router/dev/RouterDevTools.js +1 -211
  95. package/dist/core/router/dev/index.cjs +1 -22
  96. package/dist/core/router/dev/index.js +1 -5
  97. package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -195
  98. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -179
  99. package/dist/core/router/dynamic/index.cjs +1 -22
  100. package/dist/core/router/dynamic/index.js +1 -5
  101. package/dist/core/router/errors/RouterError.cjs +1 -63
  102. package/dist/core/router/errors/RouterError.js +1 -48
  103. package/dist/core/router/errors/index.cjs +1 -22
  104. package/dist/core/router/errors/index.js +1 -5
  105. package/dist/core/router/index.cjs +1 -38
  106. package/dist/core/router/index.js +1 -32
  107. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -146
  108. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -130
  109. package/dist/core/router/lifecycle/index.cjs +1 -22
  110. package/dist/core/router/lifecycle/index.js +1 -5
  111. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -195
  112. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -179
  113. package/dist/core/router/middleware/auth.cjs +1 -68
  114. package/dist/core/router/middleware/auth.js +1 -63
  115. package/dist/core/router/middleware/index.cjs +1 -24
  116. package/dist/core/router/middleware/index.js +1 -7
  117. package/dist/core/router/middleware/types.cjs +1 -8
  118. package/dist/core/router/middleware/types.js +1 -7
  119. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -229
  120. package/dist/core/router/monitoring/RouterMonitoring.js +1 -213
  121. package/dist/core/router/monitoring/index.cjs +1 -22
  122. package/dist/core/router/monitoring/index.js +1 -5
  123. package/dist/core/router/navigation/RouterNavigation.cjs +1 -241
  124. package/dist/core/router/navigation/RouterNavigation.js +1 -192
  125. package/dist/core/router/navigation/index.cjs +1 -22
  126. package/dist/core/router/navigation/index.js +1 -5
  127. package/dist/core/router/performance/RouteCache.cjs +1 -307
  128. package/dist/core/router/performance/RouteCache.js +1 -291
  129. package/dist/core/router/performance/RoutePreloader.cjs +1 -294
  130. package/dist/core/router/performance/RoutePreloader.js +1 -277
  131. package/dist/core/router/performance/index.cjs +1 -23
  132. package/dist/core/router/performance/index.js +1 -6
  133. package/dist/core/router/plugin/RouterPluginManager.cjs +1 -264
  134. package/dist/core/router/plugin/RouterPluginManager.js +1 -248
  135. package/dist/core/router/plugin/index.cjs +1 -23
  136. package/dist/core/router/plugin/index.js +1 -6
  137. package/dist/core/router/plugin/types.cjs +1 -41
  138. package/dist/core/router/plugin/types.js +1 -33
  139. package/dist/core/router/types.cjs +1 -6
  140. package/dist/core/router/types.js +1 -5
  141. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -131
  142. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -121
  143. package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -252
  144. package/dist/core/router/utils/adapters/react-router/transform.js +1 -242
  145. package/dist/core/router/utils/transform.cjs +1 -782
  146. package/dist/core/router/utils/transform.js +1 -791
  147. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -85
  148. package/dist/core/router/validation/RouterConfigValidator.js +2 -77
  149. package/dist/core/router/validation/index.cjs +1 -23
  150. package/dist/core/router/validation/index.js +1 -6
  151. package/dist/core/router/validation/schema.cjs +1 -161
  152. package/dist/core/router/validation/schema.js +1 -151
  153. package/dist/core/router/version/RouteVersionManager.cjs +1 -207
  154. package/dist/core/router/version/RouteVersionManager.js +1 -191
  155. package/dist/core/router/version/index.cjs +1 -22
  156. package/dist/core/router/version/index.js +1 -5
  157. package/dist/core/splash/SplashScreen.cjs +1 -343
  158. package/dist/core/splash/SplashScreen.js +1 -293
  159. package/dist/core/splash/index.cjs +1 -24
  160. package/dist/core/splash/index.js +1 -6
  161. package/dist/core/splash/splashScreenUtils.cjs +1 -40
  162. package/dist/core/splash/splashScreenUtils.js +1 -30
  163. package/dist/core/startup/AppInstance.cjs +1 -241
  164. package/dist/core/startup/AppInstance.js +1 -226
  165. package/dist/core/startup/environment.cjs +1 -171
  166. package/dist/core/startup/environment.js +1 -154
  167. package/dist/core/startup/index.cjs +1 -25
  168. package/dist/core/startup/index.js +1 -8
  169. package/dist/core/startup/initializeServices.cjs +1 -228
  170. package/dist/core/startup/initializeServices.js +1 -188
  171. package/dist/core/startup/performanceTracker.cjs +1 -181
  172. package/dist/core/startup/performanceTracker.js +1 -167
  173. package/dist/core/startup/renderApp.cjs +1 -316
  174. package/dist/core/startup/renderApp.js +1 -267
  175. package/dist/core/startup/startApp.cjs +1 -319
  176. package/dist/core/startup/startApp.js +1 -315
  177. package/dist/core/types.cjs +1 -6
  178. package/dist/core/types.js +1 -5
  179. package/dist/index.cjs +1 -54
  180. package/dist/index.js +1 -11
  181. package/dist/index.umd.cjs +1 -29
  182. package/dist/index.umd.js +362 -13233
  183. package/dist/kernel/constants.cjs +1 -67
  184. package/dist/kernel/constants.js +1 -43
  185. package/dist/kernel/index.cjs +1 -40
  186. package/dist/kernel/index.js +1 -4
  187. package/dist/kernel/kernel.cjs +1 -297
  188. package/dist/kernel/kernel.js +1 -273
  189. package/dist/kernel/manager/cacheManager.cjs +1 -48
  190. package/dist/kernel/manager/cacheManager.js +1 -38
  191. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -93
  192. package/dist/kernel/manager/i18n/I18nManager.js +1 -83
  193. package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -62
  194. package/dist/kernel/manager/i18n/i18n.persistence.js +1 -41
  195. package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -88
  196. package/dist/kernel/manager/i18n/i18n.schema.js +1 -64
  197. package/dist/kernel/manager/i18n/index.cjs +1 -13
  198. package/dist/kernel/manager/i18n/index.js +1 -3
  199. package/dist/kernel/manager/i18nManager.cjs +1 -13
  200. package/dist/kernel/manager/i18nManager.js +1 -3
  201. package/dist/kernel/manager/index.cjs +1 -30
  202. package/dist/kernel/manager/index.js +1 -6
  203. package/dist/kernel/manager/logger/LoggerManager.cjs +1 -109
  204. package/dist/kernel/manager/logger/LoggerManager.js +1 -99
  205. package/dist/kernel/manager/logger/index.cjs +1 -13
  206. package/dist/kernel/manager/logger/index.js +1 -3
  207. package/dist/kernel/manager/logger/logger.persistence.cjs +1 -64
  208. package/dist/kernel/manager/logger/logger.persistence.js +1 -43
  209. package/dist/kernel/manager/logger/logger.schema.cjs +1 -76
  210. package/dist/kernel/manager/logger/logger.schema.js +1 -55
  211. package/dist/kernel/manager/loggerManager.cjs +1 -13
  212. package/dist/kernel/manager/loggerManager.js +1 -3
  213. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -86
  214. package/dist/kernel/manager/theme/ThemeManager.js +1 -76
  215. package/dist/kernel/manager/theme/index.cjs +1 -13
  216. package/dist/kernel/manager/theme/index.js +1 -3
  217. package/dist/kernel/manager/theme/theme.dom.cjs +1 -63
  218. package/dist/kernel/manager/theme/theme.dom.js +1 -45
  219. package/dist/kernel/manager/theme/theme.persistence.cjs +1 -59
  220. package/dist/kernel/manager/theme/theme.persistence.js +1 -38
  221. package/dist/kernel/manager/theme/theme.schema.cjs +1 -124
  222. package/dist/kernel/manager/theme/theme.schema.js +1 -97
  223. package/dist/kernel/manager/themeManager.cjs +1 -13
  224. package/dist/kernel/manager/themeManager.js +1 -3
  225. package/dist/kernel/types.cjs +1 -6
  226. package/dist/kernel/types.js +1 -3
  227. package/dist/library/index.cjs +1 -21
  228. package/dist/library/index.js +1 -4
  229. package/dist/library/locale/index.cjs +1 -41
  230. package/dist/library/locale/index.js +1 -12
  231. package/dist/library/locale/langs/en-us/index.cjs +1 -34
  232. package/dist/library/locale/langs/en-us/index.js +1 -24
  233. package/dist/library/locale/langs/zh-cn/index.cjs +1 -34
  234. package/dist/library/locale/langs/zh-cn/index.js +1 -24
  235. package/dist/library/locale/types.cjs +1 -6
  236. package/dist/library/locale/types.js +1 -3
  237. package/dist/library/storage/cache.cjs +1 -245
  238. package/dist/library/storage/cache.js +1 -237
  239. package/dist/library/storage/encryption.cjs +1 -149
  240. package/dist/library/storage/encryption.js +1 -141
  241. package/dist/library/storage/index.cjs +1 -126
  242. package/dist/library/storage/index.js +1 -106
  243. package/dist/state/StateManager.cjs +1 -168
  244. package/dist/state/StateManager.js +1 -160
  245. package/dist/state/adapters/AdapterFactory.cjs +1 -91
  246. package/dist/state/adapters/AdapterFactory.js +1 -85
  247. package/dist/state/adapters/DefaultAdapter.cjs +1 -77
  248. package/dist/state/adapters/DefaultAdapter.js +1 -71
  249. package/dist/state/adapters/ReduxAdapter.cjs +1 -445
  250. package/dist/state/adapters/ReduxAdapter.js +1 -439
  251. package/dist/state/adapters/ZustandAdapter.cjs +1 -71
  252. package/dist/state/adapters/ZustandAdapter.js +1 -70
  253. package/dist/state/adapters/index.cjs +1 -46
  254. package/dist/state/adapters/index.js +1 -9
  255. package/dist/state/adapters/types.cjs +1 -22
  256. package/dist/state/adapters/types.js +1 -5
  257. package/dist/state/core/DerivedStateInstance.cjs +1 -176
  258. package/dist/state/core/DerivedStateInstance.js +1 -173
  259. package/dist/state/core/StateInstance.cjs +1 -172
  260. package/dist/state/core/StateInstance.js +1 -168
  261. package/dist/state/core/StateRegistry.cjs +1 -112
  262. package/dist/state/core/StateRegistry.js +1 -106
  263. package/dist/state/core/StateScope.cjs +1 -139
  264. package/dist/state/core/StateScope.js +1 -133
  265. package/dist/state/core/index.cjs +1 -32
  266. package/dist/state/core/index.js +1 -8
  267. package/dist/state/index.cjs +1 -32
  268. package/dist/state/index.js +1 -12
  269. package/dist/state/types.cjs +1 -14
  270. package/dist/state/types.js +1 -13
  271. package/dist/state.umd.js +22 -1395
  272. package/dist/types.cjs +1 -6
  273. package/dist/types.js +1 -3
  274. package/dist/utils/analytics.cjs +1 -219
  275. package/dist/utils/analytics.js +1 -204
  276. package/dist/utils/configSecurity.cjs +3 -184
  277. package/dist/utils/configSecurity.js +3 -176
  278. package/dist/utils/csrf.cjs +1 -20
  279. package/dist/utils/csrf.js +1 -3
  280. package/dist/utils/errors/ErrorCodes.cjs +1 -27
  281. package/dist/utils/errors/ErrorCodes.js +1 -3
  282. package/dist/utils/errors.cjs +1 -113
  283. package/dist/utils/errors.js +1 -18
  284. package/dist/utils/index.cjs +1 -137
  285. package/dist/utils/index.js +1 -48
  286. package/dist/utils/logger.cjs +1 -27
  287. package/dist/utils/logger.js +1 -3
  288. package/dist/utils/logger.types.cjs +1 -13
  289. package/dist/utils/logger.types.js +1 -3
  290. package/dist/utils/monitoring.cjs +1 -20
  291. package/dist/utils/monitoring.js +1 -3
  292. package/dist/utils/performance.cjs +1 -24
  293. package/dist/utils/performance.js +1 -3
  294. package/dist/utils/resourceLoader.cjs +1 -24
  295. package/dist/utils/resourceLoader.js +1 -3
  296. package/dist/utils/runtimeSecurity.cjs +1 -13
  297. package/dist/utils/runtimeSecurity.js +1 -3
  298. package/dist/utils/security.cjs +1 -21
  299. package/dist/utils/security.js +1 -3
  300. package/dist/utils/traceId.cjs +1 -39
  301. package/dist/utils/traceId.js +1 -3
  302. package/dist/utils/validation.cjs +1 -21
  303. package/dist/utils/validation.js +1 -3
  304. package/package.json +9 -6
  305. package/dist/analytics/index.cjs.map +0 -1
  306. package/dist/analytics/index.js.map +0 -1
  307. package/dist/analytics.umd.js.map +0 -1
  308. package/dist/components/LocaleSwitch.cjs.map +0 -1
  309. package/dist/components/LocaleSwitch.js.map +0 -1
  310. package/dist/components/ThemeSwitch.cjs.map +0 -1
  311. package/dist/components/ThemeSwitch.js.map +0 -1
  312. package/dist/components/index.cjs.map +0 -1
  313. package/dist/components/index.js.map +0 -1
  314. package/dist/components/persistence.cjs.map +0 -1
  315. package/dist/components/persistence.js.map +0 -1
  316. package/dist/core/Test.cjs.map +0 -1
  317. package/dist/core/Test.js.map +0 -1
  318. package/dist/core/app/AppContext.cjs.map +0 -1
  319. package/dist/core/app/AppContext.js.map +0 -1
  320. package/dist/core/app/AppContext.types.cjs.map +0 -1
  321. package/dist/core/app/AppContext.types.js.map +0 -1
  322. package/dist/core/app/BasicLayout.cjs.map +0 -1
  323. package/dist/core/app/BasicLayout.js.map +0 -1
  324. package/dist/core/app/DefaultApp.cjs.map +0 -1
  325. package/dist/core/app/DefaultApp.js.map +0 -1
  326. package/dist/core/app/index.cjs.map +0 -1
  327. package/dist/core/app/index.js.map +0 -1
  328. package/dist/core/config/AppConfig.cjs.map +0 -1
  329. package/dist/core/config/AppConfig.js.map +0 -1
  330. package/dist/core/config/ConfigLoader.cjs.map +0 -1
  331. package/dist/core/config/ConfigLoader.js.map +0 -1
  332. package/dist/core/config/ConfigValidator.cjs.map +0 -1
  333. package/dist/core/config/ConfigValidator.js.map +0 -1
  334. package/dist/core/config/index.cjs.map +0 -1
  335. package/dist/core/config/index.js.map +0 -1
  336. package/dist/core/dev/DevTools.cjs.map +0 -1
  337. package/dist/core/dev/DevTools.js.map +0 -1
  338. package/dist/core/error/ErrorBoundary.cjs.map +0 -1
  339. package/dist/core/error/ErrorBoundary.js.map +0 -1
  340. package/dist/core/error/ErrorHandler.cjs.map +0 -1
  341. package/dist/core/error/ErrorHandler.js.map +0 -1
  342. package/dist/core/error/index.cjs.map +0 -1
  343. package/dist/core/error/index.js.map +0 -1
  344. package/dist/core/event/AppEventBus.cjs.map +0 -1
  345. package/dist/core/event/AppEventBus.js.map +0 -1
  346. package/dist/core/event/frameworkEvents.cjs.map +0 -1
  347. package/dist/core/event/frameworkEvents.js.map +0 -1
  348. package/dist/core/event/hooks.cjs.map +0 -1
  349. package/dist/core/event/hooks.js.map +0 -1
  350. package/dist/core/event/index.cjs.map +0 -1
  351. package/dist/core/event/index.js.map +0 -1
  352. package/dist/core/event/types.cjs.map +0 -1
  353. package/dist/core/event/types.js.map +0 -1
  354. package/dist/core/event/useEventBus.cjs.map +0 -1
  355. package/dist/core/event/useEventBus.js.map +0 -1
  356. package/dist/core/index.cjs.map +0 -1
  357. package/dist/core/index.js.map +0 -1
  358. package/dist/core/initialization/InitializationErrorThrower.cjs.map +0 -1
  359. package/dist/core/initialization/InitializationErrorThrower.js.map +0 -1
  360. package/dist/core/initialization/index.cjs.map +0 -1
  361. package/dist/core/initialization/index.js.map +0 -1
  362. package/dist/core/initialization/initialization.cjs.map +0 -1
  363. package/dist/core/initialization/initialization.js.map +0 -1
  364. package/dist/core/initialization/initializationErrorState.cjs.map +0 -1
  365. package/dist/core/initialization/initializationErrorState.js.map +0 -1
  366. package/dist/core/kernel/defaultAdapters.cjs.map +0 -1
  367. package/dist/core/kernel/defaultAdapters.js.map +0 -1
  368. package/dist/core/kernel/errors.cjs.map +0 -1
  369. package/dist/core/kernel/errors.js.map +0 -1
  370. package/dist/core/kernel/index.cjs.map +0 -1
  371. package/dist/core/kernel/index.js.map +0 -1
  372. package/dist/core/kernel/startKernel.cjs.map +0 -1
  373. package/dist/core/kernel/startKernel.js.map +0 -1
  374. package/dist/core/kernel/types.cjs.map +0 -1
  375. package/dist/core/kernel/types.js.map +0 -1
  376. package/dist/core/middleware.cjs.map +0 -1
  377. package/dist/core/middleware.js.map +0 -1
  378. package/dist/core/plugin/PluginEventBus.cjs.map +0 -1
  379. package/dist/core/plugin/PluginEventBus.js.map +0 -1
  380. package/dist/core/plugin/PluginSandbox.cjs.map +0 -1
  381. package/dist/core/plugin/PluginSandbox.js.map +0 -1
  382. package/dist/core/plugin.cjs.map +0 -1
  383. package/dist/core/plugin.js.map +0 -1
  384. package/dist/core/router/RouterManager.cjs.map +0 -1
  385. package/dist/core/router/RouterManager.js.map +0 -1
  386. package/dist/core/router/adapter/AdapterManager.cjs.map +0 -1
  387. package/dist/core/router/adapter/AdapterManager.js.map +0 -1
  388. package/dist/core/router/adapter/index.cjs.map +0 -1
  389. package/dist/core/router/adapter/index.js.map +0 -1
  390. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +0 -1
  391. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +0 -1
  392. package/dist/core/router/adapter/react-router/index.cjs.map +0 -1
  393. package/dist/core/router/adapter/react-router/index.js.map +0 -1
  394. package/dist/core/router/adapter/types.cjs.map +0 -1
  395. package/dist/core/router/adapter/types.js.map +0 -1
  396. package/dist/core/router/dev/RouterDevTools.cjs.map +0 -1
  397. package/dist/core/router/dev/RouterDevTools.js.map +0 -1
  398. package/dist/core/router/dev/index.cjs.map +0 -1
  399. package/dist/core/router/dev/index.js.map +0 -1
  400. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +0 -1
  401. package/dist/core/router/dynamic/DynamicRouteManager.js.map +0 -1
  402. package/dist/core/router/dynamic/index.cjs.map +0 -1
  403. package/dist/core/router/dynamic/index.js.map +0 -1
  404. package/dist/core/router/errors/RouterError.cjs.map +0 -1
  405. package/dist/core/router/errors/RouterError.js.map +0 -1
  406. package/dist/core/router/errors/index.cjs.map +0 -1
  407. package/dist/core/router/errors/index.js.map +0 -1
  408. package/dist/core/router/index.cjs.map +0 -1
  409. package/dist/core/router/index.js.map +0 -1
  410. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +0 -1
  411. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +0 -1
  412. package/dist/core/router/lifecycle/index.cjs.map +0 -1
  413. package/dist/core/router/lifecycle/index.js.map +0 -1
  414. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +0 -1
  415. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +0 -1
  416. package/dist/core/router/middleware/auth.cjs.map +0 -1
  417. package/dist/core/router/middleware/auth.js.map +0 -1
  418. package/dist/core/router/middleware/index.cjs.map +0 -1
  419. package/dist/core/router/middleware/index.js.map +0 -1
  420. package/dist/core/router/middleware/types.cjs.map +0 -1
  421. package/dist/core/router/middleware/types.js.map +0 -1
  422. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +0 -1
  423. package/dist/core/router/monitoring/RouterMonitoring.js.map +0 -1
  424. package/dist/core/router/monitoring/index.cjs.map +0 -1
  425. package/dist/core/router/monitoring/index.js.map +0 -1
  426. package/dist/core/router/navigation/RouterNavigation.cjs.map +0 -1
  427. package/dist/core/router/navigation/RouterNavigation.js.map +0 -1
  428. package/dist/core/router/navigation/index.cjs.map +0 -1
  429. package/dist/core/router/navigation/index.js.map +0 -1
  430. package/dist/core/router/performance/RouteCache.cjs.map +0 -1
  431. package/dist/core/router/performance/RouteCache.js.map +0 -1
  432. package/dist/core/router/performance/RoutePreloader.cjs.map +0 -1
  433. package/dist/core/router/performance/RoutePreloader.js.map +0 -1
  434. package/dist/core/router/performance/index.cjs.map +0 -1
  435. package/dist/core/router/performance/index.js.map +0 -1
  436. package/dist/core/router/plugin/RouterPluginManager.cjs.map +0 -1
  437. package/dist/core/router/plugin/RouterPluginManager.js.map +0 -1
  438. package/dist/core/router/plugin/index.cjs.map +0 -1
  439. package/dist/core/router/plugin/index.js.map +0 -1
  440. package/dist/core/router/plugin/types.cjs.map +0 -1
  441. package/dist/core/router/plugin/types.js.map +0 -1
  442. package/dist/core/router/types.cjs.map +0 -1
  443. package/dist/core/router/types.js.map +0 -1
  444. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +0 -1
  445. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +0 -1
  446. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +0 -1
  447. package/dist/core/router/utils/adapters/react-router/transform.js.map +0 -1
  448. package/dist/core/router/utils/transform.cjs.map +0 -1
  449. package/dist/core/router/utils/transform.js.map +0 -1
  450. package/dist/core/router/validation/RouterConfigValidator.cjs.map +0 -1
  451. package/dist/core/router/validation/RouterConfigValidator.js.map +0 -1
  452. package/dist/core/router/validation/index.cjs.map +0 -1
  453. package/dist/core/router/validation/index.js.map +0 -1
  454. package/dist/core/router/validation/schema.cjs.map +0 -1
  455. package/dist/core/router/validation/schema.js.map +0 -1
  456. package/dist/core/router/version/RouteVersionManager.cjs.map +0 -1
  457. package/dist/core/router/version/RouteVersionManager.js.map +0 -1
  458. package/dist/core/router/version/index.cjs.map +0 -1
  459. package/dist/core/router/version/index.js.map +0 -1
  460. package/dist/core/splash/SplashScreen.cjs.map +0 -1
  461. package/dist/core/splash/SplashScreen.js.map +0 -1
  462. package/dist/core/splash/index.cjs.map +0 -1
  463. package/dist/core/splash/index.js.map +0 -1
  464. package/dist/core/splash/splashScreenUtils.cjs.map +0 -1
  465. package/dist/core/splash/splashScreenUtils.js.map +0 -1
  466. package/dist/core/startup/AppInstance.cjs.map +0 -1
  467. package/dist/core/startup/AppInstance.js.map +0 -1
  468. package/dist/core/startup/environment.cjs.map +0 -1
  469. package/dist/core/startup/environment.js.map +0 -1
  470. package/dist/core/startup/index.cjs.map +0 -1
  471. package/dist/core/startup/index.js.map +0 -1
  472. package/dist/core/startup/initializeServices.cjs.map +0 -1
  473. package/dist/core/startup/initializeServices.js.map +0 -1
  474. package/dist/core/startup/performanceTracker.cjs.map +0 -1
  475. package/dist/core/startup/performanceTracker.js.map +0 -1
  476. package/dist/core/startup/renderApp.cjs.map +0 -1
  477. package/dist/core/startup/renderApp.js.map +0 -1
  478. package/dist/core/startup/startApp.cjs.map +0 -1
  479. package/dist/core/startup/startApp.js.map +0 -1
  480. package/dist/core/types.cjs.map +0 -1
  481. package/dist/core/types.js.map +0 -1
  482. package/dist/index.cjs.map +0 -1
  483. package/dist/index.js.map +0 -1
  484. package/dist/index.umd.cjs.map +0 -1
  485. package/dist/index.umd.js.map +0 -1
  486. package/dist/kernel/constants.cjs.map +0 -1
  487. package/dist/kernel/constants.js.map +0 -1
  488. package/dist/kernel/index.cjs.map +0 -1
  489. package/dist/kernel/index.js.map +0 -1
  490. package/dist/kernel/kernel.cjs.map +0 -1
  491. package/dist/kernel/kernel.js.map +0 -1
  492. package/dist/kernel/manager/cacheManager.cjs.map +0 -1
  493. package/dist/kernel/manager/cacheManager.js.map +0 -1
  494. package/dist/kernel/manager/i18n/I18nManager.cjs.map +0 -1
  495. package/dist/kernel/manager/i18n/I18nManager.js.map +0 -1
  496. package/dist/kernel/manager/i18n/i18n.persistence.cjs.map +0 -1
  497. package/dist/kernel/manager/i18n/i18n.persistence.js.map +0 -1
  498. package/dist/kernel/manager/i18n/i18n.schema.cjs.map +0 -1
  499. package/dist/kernel/manager/i18n/i18n.schema.js.map +0 -1
  500. package/dist/kernel/manager/i18n/index.cjs.map +0 -1
  501. package/dist/kernel/manager/i18n/index.js.map +0 -1
  502. package/dist/kernel/manager/i18nManager.cjs.map +0 -1
  503. package/dist/kernel/manager/i18nManager.js.map +0 -1
  504. package/dist/kernel/manager/index.cjs.map +0 -1
  505. package/dist/kernel/manager/index.js.map +0 -1
  506. package/dist/kernel/manager/logger/LoggerManager.cjs.map +0 -1
  507. package/dist/kernel/manager/logger/LoggerManager.js.map +0 -1
  508. package/dist/kernel/manager/logger/index.cjs.map +0 -1
  509. package/dist/kernel/manager/logger/index.js.map +0 -1
  510. package/dist/kernel/manager/logger/logger.persistence.cjs.map +0 -1
  511. package/dist/kernel/manager/logger/logger.persistence.js.map +0 -1
  512. package/dist/kernel/manager/logger/logger.schema.cjs.map +0 -1
  513. package/dist/kernel/manager/logger/logger.schema.js.map +0 -1
  514. package/dist/kernel/manager/loggerManager.cjs.map +0 -1
  515. package/dist/kernel/manager/loggerManager.js.map +0 -1
  516. package/dist/kernel/manager/persistence.cjs +0 -78
  517. package/dist/kernel/manager/persistence.cjs.map +0 -1
  518. package/dist/kernel/manager/persistence.d.ts +0 -3
  519. package/dist/kernel/manager/persistence.js +0 -60
  520. package/dist/kernel/manager/persistence.js.map +0 -1
  521. package/dist/kernel/manager/theme/ThemeManager.cjs.map +0 -1
  522. package/dist/kernel/manager/theme/ThemeManager.js.map +0 -1
  523. package/dist/kernel/manager/theme/index.cjs.map +0 -1
  524. package/dist/kernel/manager/theme/index.js.map +0 -1
  525. package/dist/kernel/manager/theme/theme.dom.cjs.map +0 -1
  526. package/dist/kernel/manager/theme/theme.dom.js.map +0 -1
  527. package/dist/kernel/manager/theme/theme.persistence.cjs.map +0 -1
  528. package/dist/kernel/manager/theme/theme.persistence.js.map +0 -1
  529. package/dist/kernel/manager/theme/theme.schema.cjs.map +0 -1
  530. package/dist/kernel/manager/theme/theme.schema.js.map +0 -1
  531. package/dist/kernel/manager/themeManager.cjs.map +0 -1
  532. package/dist/kernel/manager/themeManager.js.map +0 -1
  533. package/dist/kernel/types.cjs.map +0 -1
  534. package/dist/kernel/types.js.map +0 -1
  535. package/dist/library/index.cjs.map +0 -1
  536. package/dist/library/index.js.map +0 -1
  537. package/dist/library/locale/index.cjs.map +0 -1
  538. package/dist/library/locale/index.js.map +0 -1
  539. package/dist/library/locale/langs/en-us/index.cjs.map +0 -1
  540. package/dist/library/locale/langs/en-us/index.js.map +0 -1
  541. package/dist/library/locale/langs/zh-cn/index.cjs.map +0 -1
  542. package/dist/library/locale/langs/zh-cn/index.js.map +0 -1
  543. package/dist/library/locale/types.cjs.map +0 -1
  544. package/dist/library/locale/types.js.map +0 -1
  545. package/dist/library/storage/cache.cjs.map +0 -1
  546. package/dist/library/storage/cache.js.map +0 -1
  547. package/dist/library/storage/encryption.cjs.map +0 -1
  548. package/dist/library/storage/encryption.js.map +0 -1
  549. package/dist/library/storage/index.cjs.map +0 -1
  550. package/dist/library/storage/index.js.map +0 -1
  551. package/dist/request/adapter/RequestAdapter.d.ts +0 -85
  552. package/dist/request/adapter/RequestAdapter.js +0 -70
  553. package/dist/request/adapter/RequestAdapter.js.map +0 -1
  554. package/dist/request/adapter/axiosAdapter.d.ts +0 -10
  555. package/dist/request/adapter/axiosAdapter.js +0 -115
  556. package/dist/request/adapter/axiosAdapter.js.map +0 -1
  557. package/dist/request/adapter/fetchAdapter.d.ts +0 -10
  558. package/dist/request/adapter/fetchAdapter.js +0 -126
  559. package/dist/request/adapter/fetchAdapter.js.map +0 -1
  560. package/dist/request/adapter/index.d.ts +0 -9
  561. package/dist/request/adapter/index.js +0 -14
  562. package/dist/request/adapter/index.js.map +0 -1
  563. package/dist/request/adapter/kyAdapter.d.ts +0 -10
  564. package/dist/request/adapter/kyAdapter.js +0 -142
  565. package/dist/request/adapter/kyAdapter.js.map +0 -1
  566. package/dist/request/adapter/undiciAdapter.d.ts +0 -10
  567. package/dist/request/adapter/undiciAdapter.js +0 -164
  568. package/dist/request/adapter/undiciAdapter.js.map +0 -1
  569. package/dist/request/adapter.d.ts +0 -1
  570. package/dist/request/core/RequestClient.d.ts +0 -134
  571. package/dist/request/core/RequestClient.js +0 -509
  572. package/dist/request/core/RequestClient.js.map +0 -1
  573. package/dist/request/core/index.d.ts +0 -5
  574. package/dist/request/core/index.js +0 -5
  575. package/dist/request/core/index.js.map +0 -1
  576. package/dist/request/core.d.ts +0 -1
  577. package/dist/request/index.d.ts +0 -1
  578. package/dist/request/index.js +0 -50
  579. package/dist/request/index.js.map +0 -1
  580. package/dist/request/plugin/RequestPlugin.d.ts +0 -170
  581. package/dist/request/plugin/RequestPlugin.js +0 -203
  582. package/dist/request/plugin/RequestPlugin.js.map +0 -1
  583. package/dist/request/plugin/cache.d.ts +0 -33
  584. package/dist/request/plugin/cache.js +0 -264
  585. package/dist/request/plugin/cache.js.map +0 -1
  586. package/dist/request/plugin/csrfPlugin.d.ts +0 -21
  587. package/dist/request/plugin/csrfPlugin.js +0 -44
  588. package/dist/request/plugin/csrfPlugin.js.map +0 -1
  589. package/dist/request/plugin/index.d.ts +0 -11
  590. package/dist/request/plugin/index.js +0 -12
  591. package/dist/request/plugin/index.js.map +0 -1
  592. package/dist/request/plugin/monitoring.d.ts +0 -112
  593. package/dist/request/plugin/monitoring.js +0 -205
  594. package/dist/request/plugin/monitoring.js.map +0 -1
  595. package/dist/request/plugin/queue.d.ts +0 -91
  596. package/dist/request/plugin/queue.js +0 -156
  597. package/dist/request/plugin/queue.js.map +0 -1
  598. package/dist/request/plugin/retry.d.ts +0 -34
  599. package/dist/request/plugin/retry.js +0 -93
  600. package/dist/request/plugin/retry.js.map +0 -1
  601. package/dist/request/plugin/validation.d.ts +0 -26
  602. package/dist/request/plugin/validation.js +0 -116
  603. package/dist/request/plugin/validation.js.map +0 -1
  604. package/dist/request/plugin.d.ts +0 -1
  605. package/dist/request/runtime/RequestContext.d.ts +0 -50
  606. package/dist/request/runtime/RequestContext.js +0 -86
  607. package/dist/request/runtime/RequestContext.js.map +0 -1
  608. package/dist/request/runtime/index.d.ts +0 -4
  609. package/dist/request/runtime/index.js +0 -5
  610. package/dist/request/runtime/index.js.map +0 -1
  611. package/dist/request/runtime.d.ts +0 -1
  612. package/dist/request/types.d.ts +0 -1
  613. package/dist/request/types.js +0 -97
  614. package/dist/request/types.js.map +0 -1
  615. package/dist/request/utils/RequestQueueManager.d.ts +0 -74
  616. package/dist/request/utils/RequestQueueManager.js +0 -160
  617. package/dist/request/utils/RequestQueueManager.js.map +0 -1
  618. package/dist/request/utils/dependencyCheck.d.ts +0 -63
  619. package/dist/request/utils/dependencyCheck.js +0 -192
  620. package/dist/request/utils/dependencyCheck.js.map +0 -1
  621. package/dist/request/utils/index.d.ts +0 -5
  622. package/dist/request/utils/index.js +0 -6
  623. package/dist/request/utils/index.js.map +0 -1
  624. package/dist/request/utils.d.ts +0 -1
  625. package/dist/state/StateManager.cjs.map +0 -1
  626. package/dist/state/StateManager.js.map +0 -1
  627. package/dist/state/adapters/AdapterFactory.cjs.map +0 -1
  628. package/dist/state/adapters/AdapterFactory.js.map +0 -1
  629. package/dist/state/adapters/DefaultAdapter.cjs.map +0 -1
  630. package/dist/state/adapters/DefaultAdapter.js.map +0 -1
  631. package/dist/state/adapters/ReduxAdapter.cjs.map +0 -1
  632. package/dist/state/adapters/ReduxAdapter.js.map +0 -1
  633. package/dist/state/adapters/ZustandAdapter.cjs.map +0 -1
  634. package/dist/state/adapters/ZustandAdapter.js.map +0 -1
  635. package/dist/state/adapters/index.cjs.map +0 -1
  636. package/dist/state/adapters/index.js.map +0 -1
  637. package/dist/state/adapters/types.cjs.map +0 -1
  638. package/dist/state/adapters/types.js.map +0 -1
  639. package/dist/state/core/DerivedStateInstance.cjs.map +0 -1
  640. package/dist/state/core/DerivedStateInstance.js.map +0 -1
  641. package/dist/state/core/StateInstance.cjs.map +0 -1
  642. package/dist/state/core/StateInstance.js.map +0 -1
  643. package/dist/state/core/StateRegistry.cjs.map +0 -1
  644. package/dist/state/core/StateRegistry.js.map +0 -1
  645. package/dist/state/core/StateScope.cjs.map +0 -1
  646. package/dist/state/core/StateScope.js.map +0 -1
  647. package/dist/state/core/index.cjs.map +0 -1
  648. package/dist/state/core/index.js.map +0 -1
  649. package/dist/state/index.cjs.map +0 -1
  650. package/dist/state/index.js.map +0 -1
  651. package/dist/state/types.cjs.map +0 -1
  652. package/dist/state/types.js.map +0 -1
  653. package/dist/state.umd.js.map +0 -1
  654. package/dist/types.cjs.map +0 -1
  655. package/dist/types.js.map +0 -1
  656. package/dist/utils/analytics.cjs.map +0 -1
  657. package/dist/utils/analytics.js.map +0 -1
  658. package/dist/utils/configSecurity.cjs.map +0 -1
  659. package/dist/utils/configSecurity.js.map +0 -1
  660. package/dist/utils/csrf.cjs.map +0 -1
  661. package/dist/utils/csrf.js.map +0 -1
  662. package/dist/utils/errors/ErrorCodes.cjs.map +0 -1
  663. package/dist/utils/errors/ErrorCodes.js.map +0 -1
  664. package/dist/utils/errors.cjs.map +0 -1
  665. package/dist/utils/errors.js.map +0 -1
  666. package/dist/utils/index.cjs.map +0 -1
  667. package/dist/utils/index.js.map +0 -1
  668. package/dist/utils/logger.cjs.map +0 -1
  669. package/dist/utils/logger.js.map +0 -1
  670. package/dist/utils/logger.types.cjs.map +0 -1
  671. package/dist/utils/logger.types.js.map +0 -1
  672. package/dist/utils/monitoring.cjs.map +0 -1
  673. package/dist/utils/monitoring.js.map +0 -1
  674. package/dist/utils/performance.cjs.map +0 -1
  675. package/dist/utils/performance.js.map +0 -1
  676. package/dist/utils/resourceLoader.cjs.map +0 -1
  677. package/dist/utils/resourceLoader.js.map +0 -1
  678. package/dist/utils/runtimeSecurity.cjs.map +0 -1
  679. package/dist/utils/runtimeSecurity.js.map +0 -1
  680. package/dist/utils/security.cjs.map +0 -1
  681. package/dist/utils/security.js.map +0 -1
  682. package/dist/utils/traceId.cjs.map +0 -1
  683. package/dist/utils/traceId.js.map +0 -1
  684. package/dist/utils/validation.cjs.map +0 -1
  685. package/dist/utils/validation.js.map +0 -1
@@ -1,291 +1 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- /**
15
- * 路由缓存管理器
16
- * 提供路由转换结果、匹配结果的缓存功能
17
- */ import { logger } from "@vlian/logger";
18
- /**
19
- * 路由缓存管理器
20
- */ export class RouteCache {
21
- /**
22
- * 初始化持久化缓存
23
- */ async initPersistence() {
24
- try {
25
- // 检查 IndexedDB 是否可用
26
- if (typeof window !== 'undefined' && 'indexedDB' in window) {
27
- this.persistenceEnabled = true;
28
- await this.loadFromPersistence();
29
- logger.debug('路由缓存持久化已启用');
30
- }
31
- } catch (error) {
32
- logger.warn('路由缓存持久化初始化失败', error);
33
- this.persistenceEnabled = false;
34
- }
35
- }
36
- /**
37
- * 从持久化存储加载缓存
38
- */ async loadFromPersistence() {
39
- try {
40
- // 这里可以实现从 IndexedDB 加载缓存的逻辑
41
- // 由于 IndexedDB 操作较复杂,这里先留空
42
- // 实际实现可以使用 idb 库或原生 IndexedDB API
43
- } catch (error) {
44
- logger.warn('从持久化存储加载缓存失败', error);
45
- }
46
- }
47
- /**
48
- * 保存到持久化存储
49
- */ async saveToPersistence(_key, _value) {
50
- if (!this.persistenceEnabled) {
51
- return;
52
- }
53
- try {
54
- // 这里可以实现保存到 IndexedDB 的逻辑
55
- // 实际实现可以使用 idb 库或原生 IndexedDB API
56
- } catch (error) {
57
- logger.warn('保存到持久化存储失败', error);
58
- }
59
- }
60
- /**
61
- * 生成缓存键
62
- */ generateKey(routes) {
63
- if (typeof routes === 'function') {
64
- // 对于函数,使用函数名或随机 ID
65
- return `fn_${routes.name || Math.random().toString(36).substring(7)}`;
66
- }
67
- // 对于数组,使用 JSON.stringify 生成键(注意:这可能会很慢)
68
- // 实际使用中可以考虑使用路由配置的哈希值
69
- try {
70
- const routesStr = JSON.stringify(routes, (_key, value)=>{
71
- // 过滤掉函数,避免序列化问题
72
- if (typeof value === 'function') {
73
- return '[Function]';
74
- }
75
- return value;
76
- });
77
- return `routes_${this.hashString(routesStr)}`;
78
- } catch (error) {
79
- // 如果序列化失败,使用随机键
80
- return `routes_${Math.random().toString(36).substring(7)}`;
81
- }
82
- }
83
- /**
84
- * 字符串哈希函数(简单实现)
85
- */ hashString(str) {
86
- let hash = 0;
87
- for(let i = 0; i < str.length; i++){
88
- const char = str.charCodeAt(i);
89
- hash = (hash << 5) - hash + char;
90
- hash = hash & hash; // 转换为 32 位整数
91
- }
92
- return Math.abs(hash).toString(36);
93
- }
94
- /**
95
- * 检查缓存项是否过期
96
- */ isExpired(item) {
97
- return Date.now() > item.expiresAt;
98
- }
99
- /**
100
- * 清理过期缓存
101
- */ cleanup() {
102
- // 清理转换结果缓存
103
- for (const [key, item] of this.cache.entries()){
104
- if (this.isExpired(item)) {
105
- this.cache.delete(key);
106
- }
107
- }
108
- // 清理匹配结果缓存
109
- for (const [key, item] of this.matchCache.entries()){
110
- if (this.isExpired(item)) {
111
- this.matchCache.delete(key);
112
- }
113
- }
114
- // 如果缓存超过最大大小,删除最久未访问的项(LRU)
115
- this.evictLRU();
116
- }
117
- /**
118
- * LRU 淘汰策略
119
- */ evictLRU() {
120
- // 清理转换结果缓存
121
- if (this.cache.size > this.config.maxSize) {
122
- const sorted = Array.from(this.cache.entries()).sort((a, b)=>a[1].lastAccessedAt - b[1].lastAccessedAt);
123
- const toDelete = sorted.slice(0, this.cache.size - this.config.maxSize);
124
- toDelete.forEach(([key])=>this.cache.delete(key));
125
- }
126
- // 清理匹配结果缓存
127
- if (this.matchCache.size > this.config.maxSize) {
128
- const sorted = Array.from(this.matchCache.entries()).sort((a, b)=>a[1].lastAccessedAt - b[1].lastAccessedAt);
129
- const toDelete = sorted.slice(0, this.matchCache.size - this.config.maxSize);
130
- toDelete.forEach(([key])=>this.matchCache.delete(key));
131
- }
132
- }
133
- /**
134
- * 启动定期清理
135
- */ startCleanupInterval() {
136
- if (this.cleanupTimer) {
137
- clearInterval(this.cleanupTimer);
138
- }
139
- // 每 1 分钟清理一次过期缓存
140
- this.cleanupTimer = setInterval(()=>{
141
- this.cleanup();
142
- }, 60 * 1000);
143
- }
144
- /**
145
- * 获取转换结果缓存
146
- */ get(routes) {
147
- const key = this.generateKey(routes);
148
- const item = this.cache.get(key);
149
- if (!item) {
150
- this.stats.transformMisses++;
151
- return null;
152
- }
153
- if (this.isExpired(item)) {
154
- this.cache.delete(key);
155
- this.stats.transformMisses++;
156
- return null;
157
- }
158
- // 更新访问信息
159
- item.lastAccessedAt = Date.now();
160
- item.accessCount++;
161
- this.stats.transformHits++;
162
- return item.value;
163
- }
164
- /**
165
- * 设置转换结果缓存
166
- */ set(routes, value) {
167
- const key = this.generateKey(routes);
168
- const now = Date.now();
169
- const item = {
170
- value,
171
- expiresAt: now + this.config.ttl,
172
- createdAt: now,
173
- accessCount: 0,
174
- lastAccessedAt: now
175
- };
176
- this.cache.set(key, item);
177
- // 保存到持久化存储
178
- if (this.persistenceEnabled) {
179
- this.saveToPersistence(key, value).catch((error)=>{
180
- logger.warn('保存缓存到持久化存储失败', error);
181
- });
182
- }
183
- // 检查是否需要淘汰
184
- this.evictLRU();
185
- }
186
- /**
187
- * 获取路由匹配缓存
188
- */ getMatch(path) {
189
- const item = this.matchCache.get(path);
190
- if (!item) {
191
- this.stats.matchMisses++;
192
- return undefined;
193
- }
194
- if (this.isExpired(item)) {
195
- this.matchCache.delete(path);
196
- this.stats.matchMisses++;
197
- return undefined;
198
- }
199
- // 更新访问信息
200
- item.lastAccessedAt = Date.now();
201
- item.accessCount++;
202
- this.stats.matchHits++;
203
- return item.value;
204
- }
205
- /**
206
- * 设置路由匹配缓存
207
- */ setMatch(path, route) {
208
- const now = Date.now();
209
- const item = {
210
- value: route,
211
- expiresAt: now + this.config.ttl,
212
- createdAt: now,
213
- accessCount: 0,
214
- lastAccessedAt: now
215
- };
216
- this.matchCache.set(path, item);
217
- // 检查是否需要淘汰
218
- this.evictLRU();
219
- }
220
- /**
221
- * 清空所有缓存
222
- */ clear() {
223
- this.cache.clear();
224
- this.matchCache.clear();
225
- this.stats = {
226
- transformHits: 0,
227
- transformMisses: 0,
228
- matchHits: 0,
229
- matchMisses: 0
230
- };
231
- logger.debug('路由缓存已清空');
232
- }
233
- /**
234
- * 销毁缓存实例并释放资源
235
- */ destroy() {
236
- this.clear();
237
- if (this.cleanupTimer) {
238
- clearInterval(this.cleanupTimer);
239
- this.cleanupTimer = null;
240
- }
241
- }
242
- /**
243
- * 获取缓存统计信息
244
- */ getStats() {
245
- const totalHits = this.stats.transformHits + this.stats.matchHits;
246
- const totalAccess = totalHits + this.stats.transformMisses + this.stats.matchMisses;
247
- const hitRate = totalAccess > 0 ? totalHits / totalAccess : 0;
248
- return {
249
- transformCacheSize: this.cache.size,
250
- matchCacheSize: this.matchCache.size,
251
- totalSize: this.cache.size + this.matchCache.size,
252
- hitRate
253
- };
254
- }
255
- constructor(config = {}){
256
- _define_property(this, "cache", new Map());
257
- _define_property(this, "matchCache", new Map());
258
- _define_property(this, "config", void 0);
259
- _define_property(this, "persistenceEnabled", false);
260
- _define_property(this, "cleanupTimer", null);
261
- _define_property(this, "stats", {
262
- transformHits: 0,
263
- transformMisses: 0,
264
- matchHits: 0,
265
- matchMisses: 0
266
- });
267
- this.config = {
268
- maxSize: config.maxSize ?? 50,
269
- ttl: config.ttl ?? 5 * 60 * 1000,
270
- enablePersistence: config.enablePersistence ?? false,
271
- persistenceKeyPrefix: config.persistenceKeyPrefix ?? 'router_cache_'
272
- };
273
- // 初始化持久化缓存
274
- if (this.config.enablePersistence && typeof window !== 'undefined' && 'indexedDB' in window) {
275
- this.initPersistence();
276
- }
277
- // 定期清理过期缓存
278
- this.startCleanupInterval();
279
- }
280
- }
281
- /**
282
- * 获取路由缓存管理器单例
283
- */ let routeCacheInstance = null;
284
- export function getRouteCache(config) {
285
- if (!routeCacheInstance) {
286
- routeCacheInstance = new RouteCache(config);
287
- }
288
- return routeCacheInstance;
289
- }
290
-
291
- //# sourceMappingURL=RouteCache.js.map
1
+ function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}import{logger}from"@vlian/logger";export class RouteCache{async initPersistence(){try{if(typeof window!=="undefined"&&"indexedDB"in window){this.persistenceEnabled=true;await this.loadFromPersistence();logger.debug("路由缓存持久化已启用")}}catch(error){logger.warn("路由缓存持久化初始化失败",error);this.persistenceEnabled=false}}async loadFromPersistence(){try{}catch(error){logger.warn("从持久化存储加载缓存失败",error)}}async saveToPersistence(_key,_value){if(!this.persistenceEnabled){return}try{}catch(error){logger.warn("保存到持久化存储失败",error)}}generateKey(routes){if(typeof routes==="function"){return`fn_${routes.name||Math.random().toString(36).substring(7)}`}try{const routesStr=JSON.stringify(routes,(_key,value)=>{if(typeof value==="function"){return"[Function]"}return value});return`routes_${this.hashString(routesStr)}`}catch(error){return`routes_${Math.random().toString(36).substring(7)}`}}hashString(str){let hash=0;for(let i=0;i<str.length;i++){const char=str.charCodeAt(i);hash=(hash<<5)-hash+char;hash=hash&hash}return Math.abs(hash).toString(36)}isExpired(item){return Date.now()>item.expiresAt}cleanup(){for(const[key,item]of this.cache.entries()){if(this.isExpired(item)){this.cache.delete(key)}}for(const[key,item]of this.matchCache.entries()){if(this.isExpired(item)){this.matchCache.delete(key)}}this.evictLRU()}evictLRU(){if(this.cache.size>this.config.maxSize){const sorted=Array.from(this.cache.entries()).sort((a,b)=>a[1].lastAccessedAt-b[1].lastAccessedAt);const toDelete=sorted.slice(0,this.cache.size-this.config.maxSize);toDelete.forEach(([key])=>this.cache.delete(key))}if(this.matchCache.size>this.config.maxSize){const sorted=Array.from(this.matchCache.entries()).sort((a,b)=>a[1].lastAccessedAt-b[1].lastAccessedAt);const toDelete=sorted.slice(0,this.matchCache.size-this.config.maxSize);toDelete.forEach(([key])=>this.matchCache.delete(key))}}startCleanupInterval(){if(this.cleanupTimer){clearInterval(this.cleanupTimer)}this.cleanupTimer=setInterval(()=>{this.cleanup()},60*1e3)}get(routes){const key=this.generateKey(routes);const item=this.cache.get(key);if(!item){this.stats.transformMisses++;return null}if(this.isExpired(item)){this.cache.delete(key);this.stats.transformMisses++;return null}item.lastAccessedAt=Date.now();item.accessCount++;this.stats.transformHits++;return item.value}set(routes,value){const key=this.generateKey(routes);const now=Date.now();const item={value,expiresAt:now+this.config.ttl,createdAt:now,accessCount:0,lastAccessedAt:now};this.cache.set(key,item);if(this.persistenceEnabled){this.saveToPersistence(key,value).catch(error=>{logger.warn("保存缓存到持久化存储失败",error)})}this.evictLRU()}getMatch(path){const item=this.matchCache.get(path);if(!item){this.stats.matchMisses++;return undefined}if(this.isExpired(item)){this.matchCache.delete(path);this.stats.matchMisses++;return undefined}item.lastAccessedAt=Date.now();item.accessCount++;this.stats.matchHits++;return item.value}setMatch(path,route){const now=Date.now();const item={value:route,expiresAt:now+this.config.ttl,createdAt:now,accessCount:0,lastAccessedAt:now};this.matchCache.set(path,item);this.evictLRU()}clear(){this.cache.clear();this.matchCache.clear();this.stats={transformHits:0,transformMisses:0,matchHits:0,matchMisses:0};logger.debug("路由缓存已清空")}destroy(){this.clear();if(this.cleanupTimer){clearInterval(this.cleanupTimer);this.cleanupTimer=null}}getStats(){const totalHits=this.stats.transformHits+this.stats.matchHits;const totalAccess=totalHits+this.stats.transformMisses+this.stats.matchMisses;const hitRate=totalAccess>0?totalHits/totalAccess:0;return{transformCacheSize:this.cache.size,matchCacheSize:this.matchCache.size,totalSize:this.cache.size+this.matchCache.size,hitRate}}constructor(config={}){_define_property(this,"cache",new Map);_define_property(this,"matchCache",new Map);_define_property(this,"config",void 0);_define_property(this,"persistenceEnabled",false);_define_property(this,"cleanupTimer",null);_define_property(this,"stats",{transformHits:0,transformMisses:0,matchHits:0,matchMisses:0});this.config={maxSize:config.maxSize??50,ttl:config.ttl??5*60*1e3,enablePersistence:config.enablePersistence??false,persistenceKeyPrefix:config.persistenceKeyPrefix??"router_cache_"};if(this.config.enablePersistence&&typeof window!=="undefined"&&"indexedDB"in window){this.initPersistence()}this.startCleanupInterval()}}let routeCacheInstance=null;export function getRouteCache(config){if(!routeCacheInstance){routeCacheInstance=new RouteCache(config)}return routeCacheInstance}
@@ -1,294 +1 @@
1
- /**
2
- * 路由预加载管理器
3
- * 提供路由组件的预加载功能
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- function _export(target, all) {
9
- for(var name in all)Object.defineProperty(target, name, {
10
- enumerable: true,
11
- get: Object.getOwnPropertyDescriptor(all, name).get
12
- });
13
- }
14
- _export(exports, {
15
- get PreloadStrategy () {
16
- return PreloadStrategy;
17
- },
18
- get RoutePreloader () {
19
- return RoutePreloader;
20
- },
21
- get getRoutePreloader () {
22
- return getRoutePreloader;
23
- }
24
- });
25
- const _logger = require("@vlian/logger");
26
- function _define_property(obj, key, value) {
27
- if (key in obj) {
28
- Object.defineProperty(obj, key, {
29
- value: value,
30
- enumerable: true,
31
- configurable: true,
32
- writable: true
33
- });
34
- } else {
35
- obj[key] = value;
36
- }
37
- return obj;
38
- }
39
- var PreloadStrategy = /*#__PURE__*/ function(PreloadStrategy) {
40
- /**
41
- * 不预加载
42
- */ PreloadStrategy["NONE"] = "none";
43
- /**
44
- * 预加载当前路由的下一级路由
45
- */ PreloadStrategy["NEXT_LEVEL"] = "next-level";
46
- /**
47
- * 预加载所有路由
48
- */ PreloadStrategy["ALL"] = "all";
49
- /**
50
- * 预加载可见路由(根据路由配置的优先级)
51
- */ PreloadStrategy["VISIBLE"] = "visible";
52
- return PreloadStrategy;
53
- }({});
54
- let RoutePreloader = class RoutePreloader {
55
- /**
56
- * 更新预加载配置
57
- */ updateConfig(config = {}) {
58
- this.config = {
59
- strategy: config.strategy ?? "none",
60
- delay: config.delay ?? 1000,
61
- priorityThreshold: config.priorityThreshold ?? 10,
62
- timeout: config.timeout ?? 5000
63
- };
64
- }
65
- shouldRegister(priority) {
66
- if (this.config.strategy === "none") {
67
- return false;
68
- }
69
- if (this.config.strategy === "visible" && priority > this.config.priorityThreshold) {
70
- return false;
71
- }
72
- return true;
73
- }
74
- registerTask(key, importFn, routeName, priority) {
75
- if (!this.shouldRegister(priority)) {
76
- return;
77
- }
78
- this.tasks.set(key, {
79
- importFn,
80
- routeName,
81
- priority,
82
- status: 'pending'
83
- });
84
- }
85
- /**
86
- * 注册路由用于预加载
87
- */ registerRoute(route) {
88
- if (!route.page && !route.layout) {
89
- return;
90
- }
91
- const priority = route.handle?.order ?? 999;
92
- // 注册页面组件
93
- if (route.page && typeof route.page === 'function') {
94
- this.registerTask(`${route.name}_page`, route.page, route.name, priority);
95
- }
96
- // 注册布局组件
97
- if (route.layout && typeof route.layout === 'function') {
98
- this.registerTask(`${route.name}_layout`, route.layout, route.name, priority);
99
- }
100
- // 递归注册子路由
101
- if (route.children) {
102
- route.children.forEach((child)=>this.registerRoute(child));
103
- }
104
- }
105
- /**
106
- * 注册多个路由
107
- */ registerRoutes(routes, resolvers) {
108
- const priorityByPath = new Map();
109
- const nameByPath = new Map();
110
- const collectPriority = (route)=>{
111
- const priority = route.handle?.order ?? 999;
112
- const routeName = route.name;
113
- const record = (value)=>{
114
- if (typeof value !== 'string') {
115
- return;
116
- }
117
- if (!priorityByPath.has(value) || (priorityByPath.get(value) ?? 999) > priority) {
118
- priorityByPath.set(value, priority);
119
- nameByPath.set(value, routeName);
120
- }
121
- };
122
- record(route.page);
123
- record(route.layout);
124
- record(route.error ?? route.errors);
125
- record(route.loading);
126
- route.children?.forEach(collectPriority);
127
- };
128
- routes.forEach(collectPriority);
129
- routes.forEach((route)=>this.registerRoute(route));
130
- if (!resolvers) {
131
- return;
132
- }
133
- const registerResolverMap = (map, type)=>{
134
- for (const [path, importFn] of map.entries()){
135
- const routeName = nameByPath.get(path) ?? path;
136
- const priority = priorityByPath.get(path) ?? 999;
137
- this.registerTask(`${routeName}_${type}_${path}`, importFn, routeName, priority);
138
- }
139
- };
140
- registerResolverMap(resolvers.pages, 'page');
141
- registerResolverMap(resolvers.layouts, 'layout');
142
- registerResolverMap(resolvers.errors, 'error');
143
- registerResolverMap(resolvers.loadings, 'loading');
144
- }
145
- /**
146
- * 预加载指定路由
147
- */ async preloadRoute(routeName) {
148
- const tasks = Array.from(this.tasks.values()).filter((task)=>task.routeName === routeName && task.status === 'pending');
149
- if (tasks.length === 0) {
150
- return;
151
- }
152
- await Promise.all(tasks.map((task)=>this.preloadTask(task)));
153
- }
154
- /**
155
- * 预加载任务
156
- */ async preloadTask(task) {
157
- if (task.status !== 'pending') {
158
- return;
159
- }
160
- task.status = 'loading';
161
- task.startTime = Date.now();
162
- let timeoutId = null;
163
- try {
164
- // 设置超时
165
- const timeoutPromise = new Promise((_, reject)=>{
166
- timeoutId = setTimeout(()=>reject(new Error('预加载超时')), this.config.timeout);
167
- });
168
- // 执行预加载
169
- await Promise.race([
170
- task.importFn(),
171
- timeoutPromise
172
- ]);
173
- task.status = 'loaded';
174
- const duration = Date.now() - (task.startTime || 0);
175
- _logger.logger.debug(`路由组件预加载成功: ${task.routeName} (${duration}ms)`);
176
- } catch (error) {
177
- task.status = 'failed';
178
- _logger.logger.warn(`路由组件预加载失败: ${task.routeName}`, error);
179
- } finally{
180
- if (timeoutId) {
181
- clearTimeout(timeoutId);
182
- }
183
- }
184
- }
185
- /**
186
- * 开始预加载(根据策略)
187
- */ startPreload() {
188
- if (this.config.strategy === "none") {
189
- return;
190
- }
191
- this.stopPreload();
192
- // 延迟预加载,避免影响初始渲染
193
- this.preloadTimer = setTimeout(()=>{
194
- const browserWindow = typeof window !== 'undefined' ? window : undefined;
195
- if (browserWindow?.requestIdleCallback) {
196
- this.idleHandle = browserWindow.requestIdleCallback(()=>{
197
- this.executePreload();
198
- });
199
- return;
200
- }
201
- this.executePreload();
202
- }, this.config.delay);
203
- }
204
- /**
205
- * 执行预加载
206
- */ async executePreload() {
207
- const tasks = Array.from(this.tasks.values()).filter((task)=>task.status === 'pending').sort((a, b)=>a.priority - b.priority);
208
- if (tasks.length === 0) {
209
- return;
210
- }
211
- _logger.logger.debug(`开始预加载 ${tasks.length} 个路由组件`);
212
- // 根据策略决定预加载哪些任务
213
- let tasksToPreload = [];
214
- switch(this.config.strategy){
215
- case "all":
216
- tasksToPreload = tasks;
217
- break;
218
- case "next-level":
219
- // 只预加载优先级最低的(最可能访问的)
220
- tasksToPreload = tasks.slice(0, Math.min(5, tasks.length));
221
- break;
222
- case "visible":
223
- tasksToPreload = tasks.filter((task)=>task.priority <= this.config.priorityThreshold);
224
- break;
225
- default:
226
- return;
227
- }
228
- // 并行预加载(限制并发数)
229
- const concurrency = 3;
230
- for(let i = 0; i < tasksToPreload.length; i += concurrency){
231
- const batch = tasksToPreload.slice(i, i + concurrency);
232
- await Promise.all(batch.map((task)=>this.preloadTask(task)));
233
- }
234
- _logger.logger.debug('路由组件预加载完成');
235
- }
236
- /**
237
- * 停止预加载
238
- */ stopPreload() {
239
- const browserWindow = typeof window !== 'undefined' ? window : undefined;
240
- if (this.preloadTimer) {
241
- clearTimeout(this.preloadTimer);
242
- this.preloadTimer = null;
243
- }
244
- if (this.idleHandle !== null && browserWindow?.cancelIdleCallback) {
245
- browserWindow.cancelIdleCallback(this.idleHandle);
246
- this.idleHandle = null;
247
- }
248
- }
249
- /**
250
- * 清空所有任务
251
- */ clear() {
252
- this.tasks.clear();
253
- this.stopPreload();
254
- _logger.logger.debug('路由预加载任务已清空');
255
- }
256
- /**
257
- * 获取预加载统计信息
258
- */ getStats() {
259
- const stats = {
260
- total: this.tasks.size,
261
- pending: 0,
262
- loading: 0,
263
- loaded: 0,
264
- failed: 0
265
- };
266
- for (const task of this.tasks.values()){
267
- stats[task.status]++;
268
- }
269
- return stats;
270
- }
271
- constructor(config = {}){
272
- _define_property(this, "tasks", new Map());
273
- _define_property(this, "config", void 0);
274
- _define_property(this, "preloadTimer", null);
275
- _define_property(this, "idleHandle", null);
276
- this.config = {
277
- strategy: config.strategy ?? "none",
278
- delay: config.delay ?? 1000,
279
- priorityThreshold: config.priorityThreshold ?? 10,
280
- timeout: config.timeout ?? 5000
281
- };
282
- }
283
- };
284
- /**
285
- * 获取路由预加载管理器单例
286
- */ let routePreloaderInstance = null;
287
- function getRoutePreloader(config) {
288
- if (!routePreloaderInstance) {
289
- routePreloaderInstance = new RoutePreloader(config);
290
- }
291
- return routePreloaderInstance;
292
- }
293
-
294
- //# sourceMappingURL=RoutePreloader.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get PreloadStrategy(){return PreloadStrategy},get RoutePreloader(){return RoutePreloader},get getRoutePreloader(){return getRoutePreloader}});const _logger=require("@vlian/logger");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var PreloadStrategy=/*#__PURE__*/function(PreloadStrategy){PreloadStrategy["NONE"]="none";PreloadStrategy["NEXT_LEVEL"]="next-level";PreloadStrategy["ALL"]="all";PreloadStrategy["VISIBLE"]="visible";return PreloadStrategy}({});let RoutePreloader=class RoutePreloader{updateConfig(config={}){this.config={strategy:config.strategy??"none",delay:config.delay??1e3,priorityThreshold:config.priorityThreshold??10,timeout:config.timeout??5e3}}shouldRegister(priority){if(this.config.strategy==="none"){return false}if(this.config.strategy==="visible"&&priority>this.config.priorityThreshold){return false}return true}registerTask(key,importFn,routeName,priority){if(!this.shouldRegister(priority)){return}this.tasks.set(key,{importFn,routeName,priority,status:"pending"})}registerRoute(route){if(!route.page&&!route.layout){return}const priority=route.handle?.order??999;if(route.page&&typeof route.page==="function"){this.registerTask(`${route.name}_page`,route.page,route.name,priority)}if(route.layout&&typeof route.layout==="function"){this.registerTask(`${route.name}_layout`,route.layout,route.name,priority)}if(route.children){route.children.forEach(child=>this.registerRoute(child))}}registerRoutes(routes,resolvers){const priorityByPath=new Map;const nameByPath=new Map;const collectPriority=route=>{const priority=route.handle?.order??999;const routeName=route.name;const record=value=>{if(typeof value!=="string"){return}if(!priorityByPath.has(value)||(priorityByPath.get(value)??999)>priority){priorityByPath.set(value,priority);nameByPath.set(value,routeName)}};record(route.page);record(route.layout);record(route.error??route.errors);record(route.loading);route.children?.forEach(collectPriority)};routes.forEach(collectPriority);routes.forEach(route=>this.registerRoute(route));if(!resolvers){return}const registerResolverMap=(map,type)=>{for(const[path,importFn]of map.entries()){const routeName=nameByPath.get(path)??path;const priority=priorityByPath.get(path)??999;this.registerTask(`${routeName}_${type}_${path}`,importFn,routeName,priority)}};registerResolverMap(resolvers.pages,"page");registerResolverMap(resolvers.layouts,"layout");registerResolverMap(resolvers.errors,"error");registerResolverMap(resolvers.loadings,"loading")}async preloadRoute(routeName){const tasks=Array.from(this.tasks.values()).filter(task=>task.routeName===routeName&&task.status==="pending");if(tasks.length===0){return}await Promise.all(tasks.map(task=>this.preloadTask(task)))}async preloadTask(task){if(task.status!=="pending"){return}task.status="loading";task.startTime=Date.now();let timeoutId=null;try{const timeoutPromise=new Promise((_,reject)=>{timeoutId=setTimeout(()=>reject(new Error("预加载超时")),this.config.timeout)});await Promise.race([task.importFn(),timeoutPromise]);task.status="loaded";const duration=Date.now()-(task.startTime||0);_logger.logger.debug(`路由组件预加载成功: ${task.routeName} (${duration}ms)`)}catch(error){task.status="failed";_logger.logger.warn(`路由组件预加载失败: ${task.routeName}`,error)}finally{if(timeoutId){clearTimeout(timeoutId)}}}startPreload(){if(this.config.strategy==="none"){return}this.stopPreload();this.preloadTimer=setTimeout(()=>{const browserWindow=typeof window!=="undefined"?window:undefined;if(browserWindow?.requestIdleCallback){this.idleHandle=browserWindow.requestIdleCallback(()=>{this.executePreload()});return}this.executePreload()},this.config.delay)}async executePreload(){const tasks=Array.from(this.tasks.values()).filter(task=>task.status==="pending").sort((a,b)=>a.priority-b.priority);if(tasks.length===0){return}_logger.logger.debug(`开始预加载 ${tasks.length} 个路由组件`);let tasksToPreload=[];switch(this.config.strategy){case"all":tasksToPreload=tasks;break;case"next-level":tasksToPreload=tasks.slice(0,Math.min(5,tasks.length));break;case"visible":tasksToPreload=tasks.filter(task=>task.priority<=this.config.priorityThreshold);break;default:return}const concurrency=3;for(let i=0;i<tasksToPreload.length;i+=concurrency){const batch=tasksToPreload.slice(i,i+concurrency);await Promise.all(batch.map(task=>this.preloadTask(task)))}_logger.logger.debug("路由组件预加载完成")}stopPreload(){const browserWindow=typeof window!=="undefined"?window:undefined;if(this.preloadTimer){clearTimeout(this.preloadTimer);this.preloadTimer=null}if(this.idleHandle!==null&&browserWindow?.cancelIdleCallback){browserWindow.cancelIdleCallback(this.idleHandle);this.idleHandle=null}}clear(){this.tasks.clear();this.stopPreload();_logger.logger.debug("路由预加载任务已清空")}getStats(){const stats={total:this.tasks.size,pending:0,loading:0,loaded:0,failed:0};for(const task of this.tasks.values()){stats[task.status]++}return stats}constructor(config={}){_define_property(this,"tasks",new Map);_define_property(this,"config",void 0);_define_property(this,"preloadTimer",null);_define_property(this,"idleHandle",null);this.config={strategy:config.strategy??"none",delay:config.delay??1e3,priorityThreshold:config.priorityThreshold??10,timeout:config.timeout??5e3}}};let routePreloaderInstance=null;function getRoutePreloader(config){if(!routePreloaderInstance){routePreloaderInstance=new RoutePreloader(config)}return routePreloaderInstance}