@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,188 +1 @@
1
- /**
2
- * 服务初始化模块
3
- * 负责初始化框架所需的各种服务
4
- */ import { logger } from "@vlian/logger";
5
- import { initMonitoring } from "@vlian/monitoring";
6
- import { PerformanceMonitor } from "@vlian/utils";
7
- import { storage } from "../../library";
8
- import { StateManager } from "../../state";
9
- import { AppEventBus } from "../event/AppEventBus";
10
- /**
11
- * 带重试的异步函数执行器
12
- */ async function withRetry(fn, config = {}, serviceName) {
13
- const maxRetries = config.maxRetries ?? 3;
14
- const retryDelay = config.retryDelay ?? 1000;
15
- const exponentialBackoff = config.exponentialBackoff ?? true;
16
- let lastError;
17
- for(let attempt = 0; attempt <= maxRetries; attempt++){
18
- try {
19
- return await fn();
20
- } catch (error) {
21
- lastError = error;
22
- if (attempt < maxRetries) {
23
- const delay = exponentialBackoff ? retryDelay * Math.pow(2, attempt) : retryDelay;
24
- logger.warn(`${serviceName} 初始化失败(尝试 ${attempt + 1}/${maxRetries + 1}),${delay}ms 后重试...`, error);
25
- await new Promise((resolve)=>setTimeout(resolve, delay));
26
- }
27
- }
28
- }
29
- logger.error(`${serviceName} 初始化失败,已重试 ${maxRetries} 次`);
30
- throw lastError;
31
- }
32
- /**
33
- * 初始化所有服务
34
- *
35
- * 优化:
36
- * 1. 区分关键服务和非关键服务
37
- * 2. 关键服务并行初始化,缩短首屏时间
38
- * 3. 非关键服务延迟到应用渲染后初始化,使用 requestIdleCallback 在空闲时初始化
39
- * 4. 实现服务初始化失败重试机制,提高启动成功率
40
- *
41
- * @param options - 启动配置选项
42
- * @returns 服务初始化结果
43
- */ export async function initializeServices(options = {}) {
44
- const startTime = performance.now();
45
- // 重试配置
46
- const retryConfig = {
47
- maxRetries: options.serviceRetry?.maxRetries ?? 3,
48
- retryDelay: options.serviceRetry?.retryDelay ?? 1000,
49
- exponentialBackoff: options.serviceRetry?.exponentialBackoff ?? true
50
- };
51
- // ========== 关键服务:必须在应用渲染前初始化 ==========
52
- // 这些服务是应用运行的基础,必须并行初始化完成
53
- // 1. 监控服务(必须最先初始化,因为其他服务可能依赖它)
54
- const monitoringPromise = withRetry(()=>Promise.resolve(initMonitoring({
55
- ...options.errorMonitor,
56
- onError: (error)=>{
57
- logger.error('监控服务捕获到错误:', error);
58
- options.errorMonitor?.onError?.(error);
59
- }
60
- })), retryConfig, '监控服务');
61
- // 2. 存储服务(关键服务,应用可能需要立即使用存储)
62
- const storagePromise = withRetry(()=>Promise.resolve().then(()=>{
63
- storage.initialize(options.storageOptions);
64
- return storage;
65
- }), retryConfig, '存储服务');
66
- // 3. 状态管理器(关键服务,应用状态管理的基础)
67
- const stateManagerPromise = withRetry(()=>Promise.resolve().then(()=>{
68
- if (options.stateManager !== undefined) {
69
- return new StateManager(options.stateManager);
70
- } else {
71
- // 默认初始化状态管理器
72
- return new StateManager({
73
- enableRegistry: true,
74
- defaultScope: 'app'
75
- });
76
- }
77
- }), retryConfig, '状态管理器');
78
- // 4. 事件总线(关键服务,用于应用内部通信)
79
- const eventBusPromise = withRetry(()=>Promise.resolve().then(()=>{
80
- const eventBusConfig = {
81
- enableTracking: options.eventBus?.enableTracking ?? process.env.NODE_ENV === 'development',
82
- maxHistorySize: options.eventBus?.maxHistorySize ?? 100,
83
- enableValidation: options.eventBus?.enableValidation ?? false,
84
- enablePerformanceMonitoring: options.eventBus?.enablePerformanceMonitoring ?? process.env.NODE_ENV === 'development',
85
- namespacePrefix: options.eventBus?.namespacePrefix,
86
- instanceId: options.eventBus?.instanceId,
87
- enableSecurityMode: options.eventBus?.enableSecurityMode ?? false,
88
- allowedSources: options.eventBus?.allowedSources
89
- };
90
- return new AppEventBus(eventBusConfig);
91
- }), retryConfig, '事件总线');
92
- // 并行执行关键服务初始化
93
- const [monitoring, , stateManager, eventBus] = await Promise.all([
94
- monitoringPromise,
95
- storagePromise,
96
- stateManagerPromise,
97
- eventBusPromise
98
- ]);
99
- logger.info('关键服务初始化完成');
100
- // 初始化性能监控(依赖监控服务,必须在监控服务初始化后)
101
- const performanceMonitor = new PerformanceMonitor({
102
- ...options.performanceMonitor,
103
- onReport: (metrics)=>{
104
- monitoring.reportPerformance(metrics);
105
- options.performanceMonitor?.onReport?.(metrics);
106
- }
107
- });
108
- // 在页面卸载时清理性能监控
109
- if (typeof window !== 'undefined') {
110
- const cleanupHandler = ()=>{
111
- performanceMonitor.disconnect();
112
- window.removeEventListener('beforeunload', cleanupHandler);
113
- };
114
- window.addEventListener('beforeunload', cleanupHandler);
115
- }
116
- const criticalServicesDuration = performance.now() - startTime;
117
- logger.debug(`关键服务初始化完成,耗时: ${criticalServicesDuration.toFixed(2)}ms`);
118
- // ========== 非关键服务:延迟到应用渲染后初始化 ==========
119
- // 这些服务不影响首屏渲染,可以在空闲时初始化
120
- /**
121
- * 延迟初始化非关键服务
122
- * 在应用渲染后调用,使用 requestIdleCallback 在空闲时初始化
123
- */ const initializeNonCriticalServices = async ()=>{
124
- const nonCriticalStartTime = performance.now();
125
- // 使用 requestIdleCallback 在浏览器空闲时初始化非关键服务
126
- // 如果不支持 requestIdleCallback,则使用 setTimeout 延迟执行
127
- const scheduleInit = (callback)=>{
128
- if (typeof window !== 'undefined' && 'requestIdleCallback' in window) {
129
- window.requestIdleCallback(callback, {
130
- timeout: 5000
131
- });
132
- } else {
133
- setTimeout(callback, 100);
134
- }
135
- };
136
- return new Promise((resolve)=>{
137
- scheduleInit(async ()=>{
138
- try {
139
- // 1. 分析服务(可选,非关键)
140
- if (options.analytics) {
141
- try {
142
- await withRetry(()=>import("../../utils/analytics").then(({ initAnalytics })=>{
143
- initAnalytics(options.analytics);
144
- return true;
145
- }), retryConfig, '分析服务');
146
- logger.debug('分析服务初始化完成');
147
- } catch (error) {
148
- logger.warn('分析服务初始化失败(不影响应用运行):', error);
149
- }
150
- }
151
- // 2. 运行时安全服务(可选,非关键)
152
- if (options.runtimeSecurity) {
153
- try {
154
- await withRetry(()=>import("../../utils/runtimeSecurity").then(({ RuntimeSecurity })=>{
155
- RuntimeSecurity.initialize(options.runtimeSecurity);
156
- return true;
157
- }), retryConfig, '运行时安全服务');
158
- logger.debug('运行时安全服务初始化完成');
159
- } catch (error) {
160
- logger.warn('运行时安全服务初始化失败(不影响应用运行):', error);
161
- }
162
- }
163
- const nonCriticalDuration = performance.now() - nonCriticalStartTime;
164
- logger.debug(`非关键服务初始化完成,耗时: ${nonCriticalDuration.toFixed(2)}ms`);
165
- } catch (error) {
166
- logger.warn('非关键服务初始化过程中出现错误:', error);
167
- } finally{
168
- resolve();
169
- }
170
- });
171
- });
172
- };
173
- // 记录关键服务初始化性能指标
174
- if (monitoring.reportPerformance) {
175
- monitoring.reportPerformance({
176
- serviceInitDuration: criticalServicesDuration
177
- });
178
- }
179
- return {
180
- monitoring,
181
- performanceMonitor,
182
- stateManager,
183
- eventBus,
184
- initializeNonCriticalServices
185
- };
186
- }
187
-
188
- //# sourceMappingURL=initializeServices.js.map
1
+ import{logger}from"@vlian/logger";import{initMonitoring}from"@vlian/monitoring";import{PerformanceMonitor}from"@vlian/utils";import{storage}from"../../library";import{StateManager}from"../../state";import{AppEventBus}from"../event/AppEventBus";async function withRetry(fn,config={},serviceName){const maxRetries=config.maxRetries??3;const retryDelay=config.retryDelay??1e3;const exponentialBackoff=config.exponentialBackoff??true;let lastError;for(let attempt=0;attempt<=maxRetries;attempt++){try{return await fn()}catch(error){lastError=error;if(attempt<maxRetries){const delay=exponentialBackoff?retryDelay*Math.pow(2,attempt):retryDelay;logger.warn(`${serviceName} 初始化失败(尝试 ${attempt+1}/${maxRetries+1}),${delay}ms 后重试...`,error);await new Promise(resolve=>setTimeout(resolve,delay))}}}logger.error(`${serviceName} 初始化失败,已重试 ${maxRetries} 次`);throw lastError}export async function initializeServices(options={}){const startTime=performance.now();const retryConfig={maxRetries:options.serviceRetry?.maxRetries??3,retryDelay:options.serviceRetry?.retryDelay??1e3,exponentialBackoff:options.serviceRetry?.exponentialBackoff??true};const monitoringPromise=withRetry(()=>Promise.resolve(initMonitoring({...options.errorMonitor,onError:error=>{logger.error("监控服务捕获到错误:",error);options.errorMonitor?.onError?.(error)}})),retryConfig,"监控服务");const storagePromise=withRetry(()=>Promise.resolve().then(()=>{storage.initialize(options.storageOptions);return storage}),retryConfig,"存储服务");const stateManagerPromise=withRetry(()=>Promise.resolve().then(()=>{if(options.stateManager!==undefined){return new StateManager(options.stateManager)}else{return new StateManager({enableRegistry:true,defaultScope:"app"})}}),retryConfig,"状态管理器");const eventBusPromise=withRetry(()=>Promise.resolve().then(()=>{const eventBusConfig={enableTracking:options.eventBus?.enableTracking??process.env.NODE_ENV==="development",maxHistorySize:options.eventBus?.maxHistorySize??100,enableValidation:options.eventBus?.enableValidation??false,enablePerformanceMonitoring:options.eventBus?.enablePerformanceMonitoring??process.env.NODE_ENV==="development",namespacePrefix:options.eventBus?.namespacePrefix,instanceId:options.eventBus?.instanceId,enableSecurityMode:options.eventBus?.enableSecurityMode??false,allowedSources:options.eventBus?.allowedSources};return new AppEventBus(eventBusConfig)}),retryConfig,"事件总线");const[monitoring,,stateManager,eventBus]=await Promise.all([monitoringPromise,storagePromise,stateManagerPromise,eventBusPromise]);logger.info("关键服务初始化完成");const performanceMonitor=new PerformanceMonitor({...options.performanceMonitor,onReport:metrics=>{monitoring.reportPerformance(metrics);options.performanceMonitor?.onReport?.(metrics)}});if(typeof window!=="undefined"){const cleanupHandler=()=>{performanceMonitor.disconnect();window.removeEventListener("beforeunload",cleanupHandler)};window.addEventListener("beforeunload",cleanupHandler)}const criticalServicesDuration=performance.now()-startTime;logger.debug(`关键服务初始化完成,耗时: ${criticalServicesDuration.toFixed(2)}ms`);const initializeNonCriticalServices=async()=>{const nonCriticalStartTime=performance.now();const scheduleInit=callback=>{if(typeof window!=="undefined"&&"requestIdleCallback"in window){window.requestIdleCallback(callback,{timeout:5e3})}else{setTimeout(callback,100)}};return new Promise(resolve=>{scheduleInit(async()=>{try{if(options.analytics){try{await withRetry(()=>import("../../utils/analytics").then(({initAnalytics})=>{initAnalytics(options.analytics);return true}),retryConfig,"分析服务");logger.debug("分析服务初始化完成")}catch(error){logger.warn("分析服务初始化失败(不影响应用运行):",error)}}if(options.runtimeSecurity){try{await withRetry(()=>import("../../utils/runtimeSecurity").then(({RuntimeSecurity})=>{RuntimeSecurity.initialize(options.runtimeSecurity);return true}),retryConfig,"运行时安全服务");logger.debug("运行时安全服务初始化完成")}catch(error){logger.warn("运行时安全服务初始化失败(不影响应用运行):",error)}}const nonCriticalDuration=performance.now()-nonCriticalStartTime;logger.debug(`非关键服务初始化完成,耗时: ${nonCriticalDuration.toFixed(2)}ms`)}catch(error){logger.warn("非关键服务初始化过程中出现错误:",error)}finally{resolve()}})})};if(monitoring.reportPerformance){monitoring.reportPerformance({serviceInitDuration:criticalServicesDuration})}return{monitoring,performanceMonitor,stateManager,eventBus,initializeNonCriticalServices}}
@@ -1,181 +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 PerformanceTracker () {
16
- return PerformanceTracker;
17
- },
18
- get STARTUP_METRIC_UNITS () {
19
- return STARTUP_METRIC_UNITS;
20
- }
21
- });
22
- function _define_property(obj, key, value) {
23
- if (key in obj) {
24
- Object.defineProperty(obj, key, {
25
- value: value,
26
- enumerable: true,
27
- configurable: true,
28
- writable: true
29
- });
30
- } else {
31
- obj[key] = value;
32
- }
33
- return obj;
34
- }
35
- const STARTUP_METRIC_UNITS = {
36
- /**
37
- * 毫秒单位
38
- */ ms: 'ms',
39
- /**
40
- * 无单位(分数)
41
- */ none: ''
42
- };
43
- let PerformanceTracker = class PerformanceTracker {
44
- /**
45
- * 记录服务初始化耗时
46
- */ recordServiceInit(duration) {
47
- this.metrics.serviceInitDuration = duration;
48
- }
49
- /**
50
- * 记录初始化耗时
51
- */ recordInitialization(duration) {
52
- this.metrics.initializationDuration = duration;
53
- }
54
- /**
55
- * 记录首次渲染耗时
56
- */ recordFirstRender(duration) {
57
- this.metrics.firstRenderDuration = duration;
58
- }
59
- /**
60
- * 记录总启动耗时
61
- */ recordTotalStartup(duration) {
62
- this.metrics.totalStartupDuration = duration;
63
- }
64
- /**
65
- * 收集Web Vitals指标
66
- */ collectWebVitals() {
67
- if (typeof window === 'undefined') {
68
- return;
69
- }
70
- // 收集FCP(首次内容绘制)
71
- if ('PerformanceObserver' in window) {
72
- try {
73
- const fcpObserver = new PerformanceObserver((list)=>{
74
- for (const entry of list.getEntries()){
75
- if (entry.name === 'first-contentful-paint') {
76
- this.metrics.fcp = entry.startTime;
77
- this.report();
78
- }
79
- }
80
- });
81
- fcpObserver.observe({
82
- entryTypes: [
83
- 'paint'
84
- ]
85
- });
86
- } catch (e) {
87
- // 忽略错误
88
- }
89
- }
90
- // 收集LCP(最大内容绘制)
91
- if ('PerformanceObserver' in window) {
92
- try {
93
- const lcpObserver = new PerformanceObserver((list)=>{
94
- const entries = list.getEntries();
95
- const lastEntry = entries[entries.length - 1];
96
- this.metrics.lcp = lastEntry.startTime;
97
- this.report();
98
- });
99
- lcpObserver.observe({
100
- entryTypes: [
101
- 'largest-contentful-paint'
102
- ]
103
- });
104
- } catch (e) {
105
- // 忽略错误
106
- }
107
- }
108
- // 收集FID(首次输入延迟)
109
- if ('PerformanceObserver' in window) {
110
- try {
111
- const fidObserver = new PerformanceObserver((list)=>{
112
- for (const entry of list.getEntries()){
113
- // PerformanceEventTiming 类型检查
114
- if ('processingStart' in entry && 'startTime' in entry) {
115
- const eventEntry = entry;
116
- this.metrics.fid = eventEntry.processingStart - eventEntry.startTime;
117
- this.report();
118
- }
119
- }
120
- });
121
- fidObserver.observe({
122
- entryTypes: [
123
- 'first-input'
124
- ]
125
- });
126
- } catch (e) {
127
- // 忽略错误
128
- }
129
- }
130
- // 收集CLS(累积布局偏移)
131
- if ('PerformanceObserver' in window) {
132
- try {
133
- let clsValue = 0;
134
- const clsObserver = new PerformanceObserver((list)=>{
135
- for (const entry of list.getEntries()){
136
- if (!entry.hadRecentInput) {
137
- clsValue += entry.value;
138
- }
139
- }
140
- this.metrics.cls = clsValue;
141
- this.report();
142
- });
143
- clsObserver.observe({
144
- entryTypes: [
145
- 'layout-shift'
146
- ]
147
- });
148
- } catch (e) {
149
- // 忽略错误
150
- }
151
- }
152
- }
153
- /**
154
- * 上报性能指标
155
- */ report() {
156
- if (this.monitoring.reportPerformance) {
157
- this.monitoring.reportPerformance(this.metrics);
158
- }
159
- }
160
- /**
161
- * 获取所有指标
162
- */ getMetrics() {
163
- return {
164
- ...this.metrics
165
- };
166
- }
167
- /**
168
- * 获取总启动耗时
169
- */ getTotalDuration() {
170
- return performance.now() - this.startTime;
171
- }
172
- constructor(monitoring){
173
- _define_property(this, "monitoring", void 0);
174
- _define_property(this, "metrics", {});
175
- _define_property(this, "startTime", void 0);
176
- this.monitoring = monitoring;
177
- this.startTime = performance.now();
178
- }
179
- };
180
-
181
- //# sourceMappingURL=performanceTracker.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 PerformanceTracker(){return PerformanceTracker},get STARTUP_METRIC_UNITS(){return STARTUP_METRIC_UNITS}});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}const STARTUP_METRIC_UNITS={ms:"ms",none:""};let PerformanceTracker=class PerformanceTracker{recordServiceInit(duration){this.metrics.serviceInitDuration=duration}recordInitialization(duration){this.metrics.initializationDuration=duration}recordFirstRender(duration){this.metrics.firstRenderDuration=duration}recordTotalStartup(duration){this.metrics.totalStartupDuration=duration}collectWebVitals(){if(typeof window==="undefined"){return}if("PerformanceObserver"in window){try{const fcpObserver=new PerformanceObserver(list=>{for(const entry of list.getEntries()){if(entry.name==="first-contentful-paint"){this.metrics.fcp=entry.startTime;this.report()}}});fcpObserver.observe({entryTypes:["paint"]})}catch(e){}}if("PerformanceObserver"in window){try{const lcpObserver=new PerformanceObserver(list=>{const entries=list.getEntries();const lastEntry=entries[entries.length-1];this.metrics.lcp=lastEntry.startTime;this.report()});lcpObserver.observe({entryTypes:["largest-contentful-paint"]})}catch(e){}}if("PerformanceObserver"in window){try{const fidObserver=new PerformanceObserver(list=>{for(const entry of list.getEntries()){if("processingStart"in entry&&"startTime"in entry){const eventEntry=entry;this.metrics.fid=eventEntry.processingStart-eventEntry.startTime;this.report()}}});fidObserver.observe({entryTypes:["first-input"]})}catch(e){}}if("PerformanceObserver"in window){try{let clsValue=0;const clsObserver=new PerformanceObserver(list=>{for(const entry of list.getEntries()){if(!entry.hadRecentInput){clsValue+=entry.value}}this.metrics.cls=clsValue;this.report()});clsObserver.observe({entryTypes:["layout-shift"]})}catch(e){}}}report(){if(this.monitoring.reportPerformance){this.monitoring.reportPerformance(this.metrics)}}getMetrics(){return{...this.metrics}}getTotalDuration(){return performance.now()-this.startTime}constructor(monitoring){_define_property(this,"monitoring",void 0);_define_property(this,"metrics",{});_define_property(this,"startTime",void 0);this.monitoring=monitoring;this.startTime=performance.now()}};
@@ -1,167 +1 @@
1
- /**
2
- * 性能追踪模块
3
- * 负责收集和上报启动性能指标
4
- */ function _define_property(obj, key, value) {
5
- if (key in obj) {
6
- Object.defineProperty(obj, key, {
7
- value: value,
8
- enumerable: true,
9
- configurable: true,
10
- writable: true
11
- });
12
- } else {
13
- obj[key] = value;
14
- }
15
- return obj;
16
- }
17
- /**
18
- * 启动性能指标单位常量
19
- */ export const STARTUP_METRIC_UNITS = {
20
- /**
21
- * 毫秒单位
22
- */ ms: 'ms',
23
- /**
24
- * 无单位(分数)
25
- */ none: ''
26
- };
27
- /**
28
- * 性能追踪器
29
- */ export class PerformanceTracker {
30
- /**
31
- * 记录服务初始化耗时
32
- */ recordServiceInit(duration) {
33
- this.metrics.serviceInitDuration = duration;
34
- }
35
- /**
36
- * 记录初始化耗时
37
- */ recordInitialization(duration) {
38
- this.metrics.initializationDuration = duration;
39
- }
40
- /**
41
- * 记录首次渲染耗时
42
- */ recordFirstRender(duration) {
43
- this.metrics.firstRenderDuration = duration;
44
- }
45
- /**
46
- * 记录总启动耗时
47
- */ recordTotalStartup(duration) {
48
- this.metrics.totalStartupDuration = duration;
49
- }
50
- /**
51
- * 收集Web Vitals指标
52
- */ collectWebVitals() {
53
- if (typeof window === 'undefined') {
54
- return;
55
- }
56
- // 收集FCP(首次内容绘制)
57
- if ('PerformanceObserver' in window) {
58
- try {
59
- const fcpObserver = new PerformanceObserver((list)=>{
60
- for (const entry of list.getEntries()){
61
- if (entry.name === 'first-contentful-paint') {
62
- this.metrics.fcp = entry.startTime;
63
- this.report();
64
- }
65
- }
66
- });
67
- fcpObserver.observe({
68
- entryTypes: [
69
- 'paint'
70
- ]
71
- });
72
- } catch (e) {
73
- // 忽略错误
74
- }
75
- }
76
- // 收集LCP(最大内容绘制)
77
- if ('PerformanceObserver' in window) {
78
- try {
79
- const lcpObserver = new PerformanceObserver((list)=>{
80
- const entries = list.getEntries();
81
- const lastEntry = entries[entries.length - 1];
82
- this.metrics.lcp = lastEntry.startTime;
83
- this.report();
84
- });
85
- lcpObserver.observe({
86
- entryTypes: [
87
- 'largest-contentful-paint'
88
- ]
89
- });
90
- } catch (e) {
91
- // 忽略错误
92
- }
93
- }
94
- // 收集FID(首次输入延迟)
95
- if ('PerformanceObserver' in window) {
96
- try {
97
- const fidObserver = new PerformanceObserver((list)=>{
98
- for (const entry of list.getEntries()){
99
- // PerformanceEventTiming 类型检查
100
- if ('processingStart' in entry && 'startTime' in entry) {
101
- const eventEntry = entry;
102
- this.metrics.fid = eventEntry.processingStart - eventEntry.startTime;
103
- this.report();
104
- }
105
- }
106
- });
107
- fidObserver.observe({
108
- entryTypes: [
109
- 'first-input'
110
- ]
111
- });
112
- } catch (e) {
113
- // 忽略错误
114
- }
115
- }
116
- // 收集CLS(累积布局偏移)
117
- if ('PerformanceObserver' in window) {
118
- try {
119
- let clsValue = 0;
120
- const clsObserver = new PerformanceObserver((list)=>{
121
- for (const entry of list.getEntries()){
122
- if (!entry.hadRecentInput) {
123
- clsValue += entry.value;
124
- }
125
- }
126
- this.metrics.cls = clsValue;
127
- this.report();
128
- });
129
- clsObserver.observe({
130
- entryTypes: [
131
- 'layout-shift'
132
- ]
133
- });
134
- } catch (e) {
135
- // 忽略错误
136
- }
137
- }
138
- }
139
- /**
140
- * 上报性能指标
141
- */ report() {
142
- if (this.monitoring.reportPerformance) {
143
- this.monitoring.reportPerformance(this.metrics);
144
- }
145
- }
146
- /**
147
- * 获取所有指标
148
- */ getMetrics() {
149
- return {
150
- ...this.metrics
151
- };
152
- }
153
- /**
154
- * 获取总启动耗时
155
- */ getTotalDuration() {
156
- return performance.now() - this.startTime;
157
- }
158
- constructor(monitoring){
159
- _define_property(this, "monitoring", void 0);
160
- _define_property(this, "metrics", {});
161
- _define_property(this, "startTime", void 0);
162
- this.monitoring = monitoring;
163
- this.startTime = performance.now();
164
- }
165
- }
166
-
167
- //# sourceMappingURL=performanceTracker.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}export const STARTUP_METRIC_UNITS={ms:"ms",none:""};export class PerformanceTracker{recordServiceInit(duration){this.metrics.serviceInitDuration=duration}recordInitialization(duration){this.metrics.initializationDuration=duration}recordFirstRender(duration){this.metrics.firstRenderDuration=duration}recordTotalStartup(duration){this.metrics.totalStartupDuration=duration}collectWebVitals(){if(typeof window==="undefined"){return}if("PerformanceObserver"in window){try{const fcpObserver=new PerformanceObserver(list=>{for(const entry of list.getEntries()){if(entry.name==="first-contentful-paint"){this.metrics.fcp=entry.startTime;this.report()}}});fcpObserver.observe({entryTypes:["paint"]})}catch(e){}}if("PerformanceObserver"in window){try{const lcpObserver=new PerformanceObserver(list=>{const entries=list.getEntries();const lastEntry=entries[entries.length-1];this.metrics.lcp=lastEntry.startTime;this.report()});lcpObserver.observe({entryTypes:["largest-contentful-paint"]})}catch(e){}}if("PerformanceObserver"in window){try{const fidObserver=new PerformanceObserver(list=>{for(const entry of list.getEntries()){if("processingStart"in entry&&"startTime"in entry){const eventEntry=entry;this.metrics.fid=eventEntry.processingStart-eventEntry.startTime;this.report()}}});fidObserver.observe({entryTypes:["first-input"]})}catch(e){}}if("PerformanceObserver"in window){try{let clsValue=0;const clsObserver=new PerformanceObserver(list=>{for(const entry of list.getEntries()){if(!entry.hadRecentInput){clsValue+=entry.value}}this.metrics.cls=clsValue;this.report()});clsObserver.observe({entryTypes:["layout-shift"]})}catch(e){}}}report(){if(this.monitoring.reportPerformance){this.monitoring.reportPerformance(this.metrics)}}getMetrics(){return{...this.metrics}}getTotalDuration(){return performance.now()-this.startTime}constructor(monitoring){_define_property(this,"monitoring",void 0);_define_property(this,"metrics",{});_define_property(this,"startTime",void 0);this.monitoring=monitoring;this.startTime=performance.now()}}