@vlian/framework 1.2.62 → 1.2.63

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 (510) hide show
  1. package/dist/analytics.umd.js +1 -1
  2. package/dist/index.umd.js +1 -1
  3. package/dist/state.umd.js +1 -1
  4. package/package.json +21 -6
  5. package/dist/components/LocaleSwitch.cjs +0 -1
  6. package/dist/components/LocaleSwitch.d.ts +0 -21
  7. package/dist/components/LocaleSwitch.js +0 -1
  8. package/dist/components/ThemeSwitch.cjs +0 -1
  9. package/dist/components/ThemeSwitch.d.ts +0 -20
  10. package/dist/components/ThemeSwitch.js +0 -1
  11. package/dist/core/Test.cjs +0 -1
  12. package/dist/core/Test.d.ts +0 -5
  13. package/dist/core/Test.js +0 -1
  14. package/dist/core/app/AppContext.cjs +0 -1
  15. package/dist/core/app/AppContext.d.ts +0 -113
  16. package/dist/core/app/AppContext.js +0 -1
  17. package/dist/core/app/AppContext.types.cjs +0 -1
  18. package/dist/core/app/AppContext.types.d.ts +0 -146
  19. package/dist/core/app/AppContext.types.js +0 -1
  20. package/dist/core/app/BasicLayout.cjs +0 -1
  21. package/dist/core/app/BasicLayout.d.ts +0 -15
  22. package/dist/core/app/BasicLayout.js +0 -1
  23. package/dist/core/app/DefaultApp.cjs +0 -1
  24. package/dist/core/app/DefaultApp.d.ts +0 -10
  25. package/dist/core/app/DefaultApp.js +0 -1
  26. package/dist/core/app/index.cjs +0 -1
  27. package/dist/core/app/index.d.ts +0 -8
  28. package/dist/core/app/index.js +0 -1
  29. package/dist/core/config/AppConfig.cjs +0 -1
  30. package/dist/core/config/AppConfig.d.ts +0 -88
  31. package/dist/core/config/AppConfig.js +0 -1
  32. package/dist/core/config/ConfigLoader.cjs +0 -1
  33. package/dist/core/config/ConfigLoader.d.ts +0 -118
  34. package/dist/core/config/ConfigLoader.js +0 -1
  35. package/dist/core/config/ConfigValidator.cjs +0 -2
  36. package/dist/core/config/ConfigValidator.d.ts +0 -84
  37. package/dist/core/config/ConfigValidator.js +0 -2
  38. package/dist/core/config/index.cjs +0 -1
  39. package/dist/core/config/index.d.ts +0 -6
  40. package/dist/core/config/index.js +0 -1
  41. package/dist/core/dev/DevTools.cjs +0 -1
  42. package/dist/core/dev/DevTools.d.ts +0 -16
  43. package/dist/core/dev/DevTools.js +0 -1
  44. package/dist/core/error/ErrorBoundary.cjs +0 -1
  45. package/dist/core/error/ErrorBoundary.d.ts +0 -121
  46. package/dist/core/error/ErrorBoundary.js +0 -1
  47. package/dist/core/error/ErrorHandler.cjs +0 -1
  48. package/dist/core/error/ErrorHandler.d.ts +0 -171
  49. package/dist/core/error/ErrorHandler.js +0 -1
  50. package/dist/core/error/index.cjs +0 -1
  51. package/dist/core/error/index.d.ts +0 -7
  52. package/dist/core/error/index.js +0 -1
  53. package/dist/core/event/AppEventBus.cjs +0 -1
  54. package/dist/core/event/AppEventBus.d.ts +0 -178
  55. package/dist/core/event/AppEventBus.js +0 -1
  56. package/dist/core/event/frameworkEvents.cjs +0 -1
  57. package/dist/core/event/frameworkEvents.d.ts +0 -69
  58. package/dist/core/event/frameworkEvents.js +0 -1
  59. package/dist/core/event/hooks.cjs +0 -1
  60. package/dist/core/event/hooks.d.ts +0 -57
  61. package/dist/core/event/hooks.js +0 -1
  62. package/dist/core/event/index.cjs +0 -1
  63. package/dist/core/event/index.d.ts +0 -10
  64. package/dist/core/event/index.js +0 -1
  65. package/dist/core/event/types.cjs +0 -1
  66. package/dist/core/event/types.d.ts +0 -269
  67. package/dist/core/event/types.js +0 -1
  68. package/dist/core/event/useEventBus.cjs +0 -1
  69. package/dist/core/event/useEventBus.d.ts +0 -28
  70. package/dist/core/event/useEventBus.js +0 -1
  71. package/dist/core/index.cjs +0 -1
  72. package/dist/core/index.d.ts +0 -54
  73. package/dist/core/index.js +0 -1
  74. package/dist/core/initialization/InitializationErrorThrower.cjs +0 -1
  75. package/dist/core/initialization/InitializationErrorThrower.d.ts +0 -7
  76. package/dist/core/initialization/InitializationErrorThrower.js +0 -1
  77. package/dist/core/initialization/index.cjs +0 -1
  78. package/dist/core/initialization/index.d.ts +0 -7
  79. package/dist/core/initialization/index.js +0 -1
  80. package/dist/core/initialization/initialization.cjs +0 -1
  81. package/dist/core/initialization/initialization.d.ts +0 -69
  82. package/dist/core/initialization/initialization.js +0 -1
  83. package/dist/core/initialization/initializationErrorState.cjs +0 -1
  84. package/dist/core/initialization/initializationErrorState.d.ts +0 -35
  85. package/dist/core/initialization/initializationErrorState.js +0 -1
  86. package/dist/core/kernel/defaultAdapters.cjs +0 -1
  87. package/dist/core/kernel/defaultAdapters.d.ts +0 -2
  88. package/dist/core/kernel/defaultAdapters.js +0 -1
  89. package/dist/core/kernel/errors.cjs +0 -1
  90. package/dist/core/kernel/errors.d.ts +0 -18
  91. package/dist/core/kernel/errors.js +0 -1
  92. package/dist/core/kernel/index.cjs +0 -1
  93. package/dist/core/kernel/index.d.ts +0 -3
  94. package/dist/core/kernel/index.js +0 -1
  95. package/dist/core/kernel/startKernel.cjs +0 -1
  96. package/dist/core/kernel/startKernel.d.ts +0 -2
  97. package/dist/core/kernel/startKernel.js +0 -1
  98. package/dist/core/kernel/types.cjs +0 -1
  99. package/dist/core/kernel/types.d.ts +0 -114
  100. package/dist/core/kernel/types.js +0 -1
  101. package/dist/core/middleware.cjs +0 -1
  102. package/dist/core/middleware.d.ts +0 -36
  103. package/dist/core/middleware.js +0 -1
  104. package/dist/core/plugin/PluginEventBus.cjs +0 -1
  105. package/dist/core/plugin/PluginEventBus.d.ts +0 -169
  106. package/dist/core/plugin/PluginEventBus.js +0 -1
  107. package/dist/core/plugin/PluginSandbox.cjs +0 -1
  108. package/dist/core/plugin/PluginSandbox.d.ts +0 -101
  109. package/dist/core/plugin/PluginSandbox.js +0 -1
  110. package/dist/core/plugin.cjs +0 -1
  111. package/dist/core/plugin.d.ts +0 -224
  112. package/dist/core/plugin.js +0 -1
  113. package/dist/core/router/RouterManager.cjs +0 -1
  114. package/dist/core/router/RouterManager.d.ts +0 -87
  115. package/dist/core/router/RouterManager.js +0 -1
  116. package/dist/core/router/adapter/AdapterManager.cjs +0 -1
  117. package/dist/core/router/adapter/AdapterManager.d.ts +0 -94
  118. package/dist/core/router/adapter/AdapterManager.js +0 -1
  119. package/dist/core/router/adapter/index.cjs +0 -1
  120. package/dist/core/router/adapter/index.d.ts +0 -6
  121. package/dist/core/router/adapter/index.js +0 -1
  122. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +0 -1
  123. package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts +0 -43
  124. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +0 -1
  125. package/dist/core/router/adapter/react-router/index.cjs +0 -1
  126. package/dist/core/router/adapter/react-router/index.d.ts +0 -4
  127. package/dist/core/router/adapter/react-router/index.js +0 -1
  128. package/dist/core/router/adapter/types.cjs +0 -1
  129. package/dist/core/router/adapter/types.d.ts +0 -111
  130. package/dist/core/router/adapter/types.js +0 -1
  131. package/dist/core/router/dev/RouterDevTools.cjs +0 -1
  132. package/dist/core/router/dev/RouterDevTools.d.ts +0 -5
  133. package/dist/core/router/dev/RouterDevTools.js +0 -1
  134. package/dist/core/router/dev/index.cjs +0 -1
  135. package/dist/core/router/dev/index.d.ts +0 -4
  136. package/dist/core/router/dev/index.js +0 -1
  137. package/dist/core/router/dynamic/DynamicRouteManager.cjs +0 -1
  138. package/dist/core/router/dynamic/DynamicRouteManager.d.ts +0 -71
  139. package/dist/core/router/dynamic/DynamicRouteManager.js +0 -1
  140. package/dist/core/router/dynamic/index.cjs +0 -1
  141. package/dist/core/router/dynamic/index.d.ts +0 -4
  142. package/dist/core/router/dynamic/index.js +0 -1
  143. package/dist/core/router/errors/RouterError.cjs +0 -1
  144. package/dist/core/router/errors/RouterError.d.ts +0 -48
  145. package/dist/core/router/errors/RouterError.js +0 -1
  146. package/dist/core/router/errors/index.cjs +0 -1
  147. package/dist/core/router/errors/index.d.ts +0 -4
  148. package/dist/core/router/errors/index.js +0 -1
  149. package/dist/core/router/index.cjs +0 -1
  150. package/dist/core/router/index.d.ts +0 -16
  151. package/dist/core/router/index.js +0 -1
  152. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +0 -1
  153. package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts +0 -56
  154. package/dist/core/router/lifecycle/RouterLifecycleManager.js +0 -1
  155. package/dist/core/router/lifecycle/index.cjs +0 -1
  156. package/dist/core/router/lifecycle/index.d.ts +0 -4
  157. package/dist/core/router/lifecycle/index.js +0 -1
  158. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +0 -1
  159. package/dist/core/router/middleware/RouterMiddlewareManager.d.ts +0 -61
  160. package/dist/core/router/middleware/RouterMiddlewareManager.js +0 -1
  161. package/dist/core/router/middleware/auth.cjs +0 -1
  162. package/dist/core/router/middleware/auth.d.ts +0 -54
  163. package/dist/core/router/middleware/auth.js +0 -1
  164. package/dist/core/router/middleware/index.cjs +0 -1
  165. package/dist/core/router/middleware/index.d.ts +0 -6
  166. package/dist/core/router/middleware/index.js +0 -1
  167. package/dist/core/router/middleware/types.cjs +0 -1
  168. package/dist/core/router/middleware/types.d.ts +0 -82
  169. package/dist/core/router/middleware/types.js +0 -1
  170. package/dist/core/router/monitoring/RouterMonitoring.cjs +0 -1
  171. package/dist/core/router/monitoring/RouterMonitoring.d.ts +0 -134
  172. package/dist/core/router/monitoring/RouterMonitoring.js +0 -1
  173. package/dist/core/router/monitoring/index.cjs +0 -1
  174. package/dist/core/router/monitoring/index.d.ts +0 -4
  175. package/dist/core/router/monitoring/index.js +0 -1
  176. package/dist/core/router/navigation/RouterNavigation.cjs +0 -1
  177. package/dist/core/router/navigation/RouterNavigation.d.ts +0 -43
  178. package/dist/core/router/navigation/RouterNavigation.js +0 -1
  179. package/dist/core/router/navigation/index.cjs +0 -1
  180. package/dist/core/router/navigation/index.d.ts +0 -4
  181. package/dist/core/router/navigation/index.js +0 -1
  182. package/dist/core/router/performance/RouteCache.cjs +0 -1
  183. package/dist/core/router/performance/RouteCache.d.ts +0 -113
  184. package/dist/core/router/performance/RouteCache.js +0 -1
  185. package/dist/core/router/performance/RoutePreloader.cjs +0 -1
  186. package/dist/core/router/performance/RoutePreloader.d.ts +0 -111
  187. package/dist/core/router/performance/RoutePreloader.js +0 -1
  188. package/dist/core/router/performance/index.cjs +0 -1
  189. package/dist/core/router/performance/index.d.ts +0 -5
  190. package/dist/core/router/performance/index.js +0 -1
  191. package/dist/core/router/plugin/RouterPluginManager.cjs +0 -1
  192. package/dist/core/router/plugin/RouterPluginManager.d.ts +0 -74
  193. package/dist/core/router/plugin/RouterPluginManager.js +0 -1
  194. package/dist/core/router/plugin/index.cjs +0 -1
  195. package/dist/core/router/plugin/index.d.ts +0 -5
  196. package/dist/core/router/plugin/index.js +0 -1
  197. package/dist/core/router/plugin/types.cjs +0 -1
  198. package/dist/core/router/plugin/types.d.ts +0 -153
  199. package/dist/core/router/plugin/types.js +0 -1
  200. package/dist/core/router/types.cjs +0 -1
  201. package/dist/core/router/types.d.ts +0 -464
  202. package/dist/core/router/types.js +0 -1
  203. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -1
  204. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +0 -2
  205. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +0 -1
  206. package/dist/core/router/utils/adapters/react-router/transform.cjs +0 -1
  207. package/dist/core/router/utils/adapters/react-router/transform.d.ts +0 -5
  208. package/dist/core/router/utils/adapters/react-router/transform.js +0 -1
  209. package/dist/core/router/utils/transform.cjs +0 -1
  210. package/dist/core/router/utils/transform.d.ts +0 -348
  211. package/dist/core/router/utils/transform.js +0 -1
  212. package/dist/core/router/validation/RouterConfigValidator.cjs +0 -2
  213. package/dist/core/router/validation/RouterConfigValidator.d.ts +0 -121
  214. package/dist/core/router/validation/RouterConfigValidator.js +0 -2
  215. package/dist/core/router/validation/index.cjs +0 -1
  216. package/dist/core/router/validation/index.d.ts +0 -5
  217. package/dist/core/router/validation/index.js +0 -1
  218. package/dist/core/router/validation/schema.cjs +0 -1
  219. package/dist/core/router/validation/schema.d.ts +0 -180
  220. package/dist/core/router/validation/schema.js +0 -1
  221. package/dist/core/router/version/RouteVersionManager.cjs +0 -1
  222. package/dist/core/router/version/RouteVersionManager.d.ts +0 -124
  223. package/dist/core/router/version/RouteVersionManager.js +0 -1
  224. package/dist/core/router/version/index.cjs +0 -1
  225. package/dist/core/router/version/index.d.ts +0 -4
  226. package/dist/core/router/version/index.js +0 -1
  227. package/dist/core/splash/SplashScreen.cjs +0 -1
  228. package/dist/core/splash/SplashScreen.d.ts +0 -14
  229. package/dist/core/splash/SplashScreen.js +0 -1
  230. package/dist/core/splash/index.cjs +0 -1
  231. package/dist/core/splash/index.d.ts +0 -5
  232. package/dist/core/splash/index.js +0 -1
  233. package/dist/core/splash/splashScreenUtils.cjs +0 -1
  234. package/dist/core/splash/splashScreenUtils.d.ts +0 -7
  235. package/dist/core/splash/splashScreenUtils.js +0 -1
  236. package/dist/core/startup/AppInstance.cjs +0 -1
  237. package/dist/core/startup/AppInstance.d.ts +0 -138
  238. package/dist/core/startup/AppInstance.js +0 -1
  239. package/dist/core/startup/environment.cjs +0 -1
  240. package/dist/core/startup/environment.d.ts +0 -87
  241. package/dist/core/startup/environment.js +0 -1
  242. package/dist/core/startup/index.cjs +0 -1
  243. package/dist/core/startup/index.d.ts +0 -7
  244. package/dist/core/startup/index.js +0 -1
  245. package/dist/core/startup/initializeServices.cjs +0 -1
  246. package/dist/core/startup/initializeServices.d.ts +0 -68
  247. package/dist/core/startup/initializeServices.js +0 -1
  248. package/dist/core/startup/performanceTracker.cjs +0 -1
  249. package/dist/core/startup/performanceTracker.d.ts +0 -104
  250. package/dist/core/startup/performanceTracker.js +0 -1
  251. package/dist/core/startup/renderApp.cjs +0 -1
  252. package/dist/core/startup/renderApp.d.ts +0 -70
  253. package/dist/core/startup/renderApp.js +0 -1
  254. package/dist/core/startup/startApp.cjs +0 -1
  255. package/dist/core/startup/startApp.d.ts +0 -14
  256. package/dist/core/startup/startApp.js +0 -1
  257. package/dist/core/types.cjs +0 -1
  258. package/dist/core/types.d.ts +0 -501
  259. package/dist/core/types.js +0 -1
  260. package/dist/core-bak/Test.cjs +0 -1
  261. package/dist/core-bak/Test.d.ts +0 -5
  262. package/dist/core-bak/Test.js +0 -1
  263. package/dist/core-bak/app/AppContext.cjs +0 -1
  264. package/dist/core-bak/app/AppContext.d.ts +0 -113
  265. package/dist/core-bak/app/AppContext.js +0 -1
  266. package/dist/core-bak/app/AppContext.types.cjs +0 -1
  267. package/dist/core-bak/app/AppContext.types.d.ts +0 -146
  268. package/dist/core-bak/app/AppContext.types.js +0 -1
  269. package/dist/core-bak/app/BasicLayout.cjs +0 -1
  270. package/dist/core-bak/app/BasicLayout.d.ts +0 -15
  271. package/dist/core-bak/app/BasicLayout.js +0 -1
  272. package/dist/core-bak/app/DefaultApp.cjs +0 -1
  273. package/dist/core-bak/app/DefaultApp.d.ts +0 -10
  274. package/dist/core-bak/app/DefaultApp.js +0 -1
  275. package/dist/core-bak/app/index.cjs +0 -1
  276. package/dist/core-bak/app/index.d.ts +0 -8
  277. package/dist/core-bak/app/index.js +0 -1
  278. package/dist/core-bak/config/AppConfig.cjs +0 -1
  279. package/dist/core-bak/config/AppConfig.d.ts +0 -88
  280. package/dist/core-bak/config/AppConfig.js +0 -1
  281. package/dist/core-bak/config/ConfigLoader.cjs +0 -1
  282. package/dist/core-bak/config/ConfigLoader.d.ts +0 -118
  283. package/dist/core-bak/config/ConfigLoader.js +0 -1
  284. package/dist/core-bak/config/ConfigValidator.cjs +0 -2
  285. package/dist/core-bak/config/ConfigValidator.d.ts +0 -84
  286. package/dist/core-bak/config/ConfigValidator.js +0 -2
  287. package/dist/core-bak/config/index.cjs +0 -1
  288. package/dist/core-bak/config/index.d.ts +0 -6
  289. package/dist/core-bak/config/index.js +0 -1
  290. package/dist/core-bak/dev/DevTools.cjs +0 -1
  291. package/dist/core-bak/dev/DevTools.d.ts +0 -16
  292. package/dist/core-bak/dev/DevTools.js +0 -1
  293. package/dist/core-bak/error/ErrorBoundary.cjs +0 -1
  294. package/dist/core-bak/error/ErrorBoundary.d.ts +0 -121
  295. package/dist/core-bak/error/ErrorBoundary.js +0 -1
  296. package/dist/core-bak/error/ErrorHandler.cjs +0 -1
  297. package/dist/core-bak/error/ErrorHandler.d.ts +0 -171
  298. package/dist/core-bak/error/ErrorHandler.js +0 -1
  299. package/dist/core-bak/error/index.cjs +0 -1
  300. package/dist/core-bak/error/index.d.ts +0 -7
  301. package/dist/core-bak/error/index.js +0 -1
  302. package/dist/core-bak/event/AppEventBus.cjs +0 -1
  303. package/dist/core-bak/event/AppEventBus.d.ts +0 -178
  304. package/dist/core-bak/event/AppEventBus.js +0 -1
  305. package/dist/core-bak/event/frameworkEvents.cjs +0 -1
  306. package/dist/core-bak/event/frameworkEvents.d.ts +0 -69
  307. package/dist/core-bak/event/frameworkEvents.js +0 -1
  308. package/dist/core-bak/event/hooks.cjs +0 -1
  309. package/dist/core-bak/event/hooks.d.ts +0 -57
  310. package/dist/core-bak/event/hooks.js +0 -1
  311. package/dist/core-bak/event/index.cjs +0 -1
  312. package/dist/core-bak/event/index.d.ts +0 -10
  313. package/dist/core-bak/event/index.js +0 -1
  314. package/dist/core-bak/event/types.cjs +0 -1
  315. package/dist/core-bak/event/types.d.ts +0 -269
  316. package/dist/core-bak/event/types.js +0 -1
  317. package/dist/core-bak/event/useEventBus.cjs +0 -1
  318. package/dist/core-bak/event/useEventBus.d.ts +0 -28
  319. package/dist/core-bak/event/useEventBus.js +0 -1
  320. package/dist/core-bak/index.cjs +0 -1
  321. package/dist/core-bak/index.d.ts +0 -54
  322. package/dist/core-bak/index.js +0 -1
  323. package/dist/core-bak/initialization/InitializationErrorThrower.cjs +0 -1
  324. package/dist/core-bak/initialization/InitializationErrorThrower.d.ts +0 -7
  325. package/dist/core-bak/initialization/InitializationErrorThrower.js +0 -1
  326. package/dist/core-bak/initialization/index.cjs +0 -1
  327. package/dist/core-bak/initialization/index.d.ts +0 -7
  328. package/dist/core-bak/initialization/index.js +0 -1
  329. package/dist/core-bak/initialization/initialization.cjs +0 -1
  330. package/dist/core-bak/initialization/initialization.d.ts +0 -69
  331. package/dist/core-bak/initialization/initialization.js +0 -1
  332. package/dist/core-bak/initialization/initializationErrorState.cjs +0 -1
  333. package/dist/core-bak/initialization/initializationErrorState.d.ts +0 -35
  334. package/dist/core-bak/initialization/initializationErrorState.js +0 -1
  335. package/dist/core-bak/kernel/defaultAdapters.cjs +0 -1
  336. package/dist/core-bak/kernel/defaultAdapters.d.ts +0 -2
  337. package/dist/core-bak/kernel/defaultAdapters.js +0 -1
  338. package/dist/core-bak/kernel/errors.cjs +0 -1
  339. package/dist/core-bak/kernel/errors.d.ts +0 -18
  340. package/dist/core-bak/kernel/errors.js +0 -1
  341. package/dist/core-bak/kernel/index.cjs +0 -1
  342. package/dist/core-bak/kernel/index.d.ts +0 -3
  343. package/dist/core-bak/kernel/index.js +0 -1
  344. package/dist/core-bak/kernel/startKernel.cjs +0 -1
  345. package/dist/core-bak/kernel/startKernel.d.ts +0 -2
  346. package/dist/core-bak/kernel/startKernel.js +0 -1
  347. package/dist/core-bak/kernel/types.cjs +0 -1
  348. package/dist/core-bak/kernel/types.d.ts +0 -114
  349. package/dist/core-bak/kernel/types.js +0 -1
  350. package/dist/core-bak/middleware.cjs +0 -1
  351. package/dist/core-bak/middleware.d.ts +0 -36
  352. package/dist/core-bak/middleware.js +0 -1
  353. package/dist/core-bak/plugin/PluginEventBus.cjs +0 -1
  354. package/dist/core-bak/plugin/PluginEventBus.d.ts +0 -169
  355. package/dist/core-bak/plugin/PluginEventBus.js +0 -1
  356. package/dist/core-bak/plugin/PluginSandbox.cjs +0 -1
  357. package/dist/core-bak/plugin/PluginSandbox.d.ts +0 -101
  358. package/dist/core-bak/plugin/PluginSandbox.js +0 -1
  359. package/dist/core-bak/plugin.cjs +0 -1
  360. package/dist/core-bak/plugin.d.ts +0 -224
  361. package/dist/core-bak/plugin.js +0 -1
  362. package/dist/core-bak/router/RouterManager.cjs +0 -1
  363. package/dist/core-bak/router/RouterManager.d.ts +0 -87
  364. package/dist/core-bak/router/RouterManager.js +0 -1
  365. package/dist/core-bak/router/adapter/AdapterManager.cjs +0 -1
  366. package/dist/core-bak/router/adapter/AdapterManager.d.ts +0 -94
  367. package/dist/core-bak/router/adapter/AdapterManager.js +0 -1
  368. package/dist/core-bak/router/adapter/index.cjs +0 -1
  369. package/dist/core-bak/router/adapter/index.d.ts +0 -6
  370. package/dist/core-bak/router/adapter/index.js +0 -1
  371. package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.cjs +0 -1
  372. package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.d.ts +0 -43
  373. package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.js +0 -1
  374. package/dist/core-bak/router/adapter/react-router/index.cjs +0 -1
  375. package/dist/core-bak/router/adapter/react-router/index.d.ts +0 -4
  376. package/dist/core-bak/router/adapter/react-router/index.js +0 -1
  377. package/dist/core-bak/router/adapter/types.cjs +0 -1
  378. package/dist/core-bak/router/adapter/types.d.ts +0 -111
  379. package/dist/core-bak/router/adapter/types.js +0 -1
  380. package/dist/core-bak/router/dev/RouterDevTools.cjs +0 -1
  381. package/dist/core-bak/router/dev/RouterDevTools.d.ts +0 -5
  382. package/dist/core-bak/router/dev/RouterDevTools.js +0 -1
  383. package/dist/core-bak/router/dev/index.cjs +0 -1
  384. package/dist/core-bak/router/dev/index.d.ts +0 -4
  385. package/dist/core-bak/router/dev/index.js +0 -1
  386. package/dist/core-bak/router/dynamic/DynamicRouteManager.cjs +0 -1
  387. package/dist/core-bak/router/dynamic/DynamicRouteManager.d.ts +0 -71
  388. package/dist/core-bak/router/dynamic/DynamicRouteManager.js +0 -1
  389. package/dist/core-bak/router/dynamic/index.cjs +0 -1
  390. package/dist/core-bak/router/dynamic/index.d.ts +0 -4
  391. package/dist/core-bak/router/dynamic/index.js +0 -1
  392. package/dist/core-bak/router/errors/RouterError.cjs +0 -1
  393. package/dist/core-bak/router/errors/RouterError.d.ts +0 -48
  394. package/dist/core-bak/router/errors/RouterError.js +0 -1
  395. package/dist/core-bak/router/errors/index.cjs +0 -1
  396. package/dist/core-bak/router/errors/index.d.ts +0 -4
  397. package/dist/core-bak/router/errors/index.js +0 -1
  398. package/dist/core-bak/router/index.cjs +0 -1
  399. package/dist/core-bak/router/index.d.ts +0 -16
  400. package/dist/core-bak/router/index.js +0 -1
  401. package/dist/core-bak/router/lifecycle/RouterLifecycleManager.cjs +0 -1
  402. package/dist/core-bak/router/lifecycle/RouterLifecycleManager.d.ts +0 -56
  403. package/dist/core-bak/router/lifecycle/RouterLifecycleManager.js +0 -1
  404. package/dist/core-bak/router/lifecycle/index.cjs +0 -1
  405. package/dist/core-bak/router/lifecycle/index.d.ts +0 -4
  406. package/dist/core-bak/router/lifecycle/index.js +0 -1
  407. package/dist/core-bak/router/middleware/RouterMiddlewareManager.cjs +0 -1
  408. package/dist/core-bak/router/middleware/RouterMiddlewareManager.d.ts +0 -61
  409. package/dist/core-bak/router/middleware/RouterMiddlewareManager.js +0 -1
  410. package/dist/core-bak/router/middleware/auth.cjs +0 -1
  411. package/dist/core-bak/router/middleware/auth.d.ts +0 -54
  412. package/dist/core-bak/router/middleware/auth.js +0 -1
  413. package/dist/core-bak/router/middleware/index.cjs +0 -1
  414. package/dist/core-bak/router/middleware/index.d.ts +0 -6
  415. package/dist/core-bak/router/middleware/index.js +0 -1
  416. package/dist/core-bak/router/middleware/types.cjs +0 -1
  417. package/dist/core-bak/router/middleware/types.d.ts +0 -82
  418. package/dist/core-bak/router/middleware/types.js +0 -1
  419. package/dist/core-bak/router/monitoring/RouterMonitoring.cjs +0 -1
  420. package/dist/core-bak/router/monitoring/RouterMonitoring.d.ts +0 -134
  421. package/dist/core-bak/router/monitoring/RouterMonitoring.js +0 -1
  422. package/dist/core-bak/router/monitoring/index.cjs +0 -1
  423. package/dist/core-bak/router/monitoring/index.d.ts +0 -4
  424. package/dist/core-bak/router/monitoring/index.js +0 -1
  425. package/dist/core-bak/router/navigation/RouterNavigation.cjs +0 -1
  426. package/dist/core-bak/router/navigation/RouterNavigation.d.ts +0 -43
  427. package/dist/core-bak/router/navigation/RouterNavigation.js +0 -1
  428. package/dist/core-bak/router/navigation/index.cjs +0 -1
  429. package/dist/core-bak/router/navigation/index.d.ts +0 -4
  430. package/dist/core-bak/router/navigation/index.js +0 -1
  431. package/dist/core-bak/router/performance/RouteCache.cjs +0 -1
  432. package/dist/core-bak/router/performance/RouteCache.d.ts +0 -113
  433. package/dist/core-bak/router/performance/RouteCache.js +0 -1
  434. package/dist/core-bak/router/performance/RoutePreloader.cjs +0 -1
  435. package/dist/core-bak/router/performance/RoutePreloader.d.ts +0 -111
  436. package/dist/core-bak/router/performance/RoutePreloader.js +0 -1
  437. package/dist/core-bak/router/performance/index.cjs +0 -1
  438. package/dist/core-bak/router/performance/index.d.ts +0 -5
  439. package/dist/core-bak/router/performance/index.js +0 -1
  440. package/dist/core-bak/router/plugin/RouterPluginManager.cjs +0 -1
  441. package/dist/core-bak/router/plugin/RouterPluginManager.d.ts +0 -74
  442. package/dist/core-bak/router/plugin/RouterPluginManager.js +0 -1
  443. package/dist/core-bak/router/plugin/index.cjs +0 -1
  444. package/dist/core-bak/router/plugin/index.d.ts +0 -5
  445. package/dist/core-bak/router/plugin/index.js +0 -1
  446. package/dist/core-bak/router/plugin/types.cjs +0 -1
  447. package/dist/core-bak/router/plugin/types.d.ts +0 -153
  448. package/dist/core-bak/router/plugin/types.js +0 -1
  449. package/dist/core-bak/router/types.cjs +0 -1
  450. package/dist/core-bak/router/types.d.ts +0 -464
  451. package/dist/core-bak/router/types.js +0 -1
  452. package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -1
  453. package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +0 -2
  454. package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.js +0 -1
  455. package/dist/core-bak/router/utils/adapters/react-router/transform.cjs +0 -1
  456. package/dist/core-bak/router/utils/adapters/react-router/transform.d.ts +0 -5
  457. package/dist/core-bak/router/utils/adapters/react-router/transform.js +0 -1
  458. package/dist/core-bak/router/utils/transform.cjs +0 -1
  459. package/dist/core-bak/router/utils/transform.d.ts +0 -348
  460. package/dist/core-bak/router/utils/transform.js +0 -1
  461. package/dist/core-bak/router/validation/RouterConfigValidator.cjs +0 -2
  462. package/dist/core-bak/router/validation/RouterConfigValidator.d.ts +0 -121
  463. package/dist/core-bak/router/validation/RouterConfigValidator.js +0 -2
  464. package/dist/core-bak/router/validation/index.cjs +0 -1
  465. package/dist/core-bak/router/validation/index.d.ts +0 -5
  466. package/dist/core-bak/router/validation/index.js +0 -1
  467. package/dist/core-bak/router/validation/schema.cjs +0 -1
  468. package/dist/core-bak/router/validation/schema.d.ts +0 -180
  469. package/dist/core-bak/router/validation/schema.js +0 -1
  470. package/dist/core-bak/router/version/RouteVersionManager.cjs +0 -1
  471. package/dist/core-bak/router/version/RouteVersionManager.d.ts +0 -124
  472. package/dist/core-bak/router/version/RouteVersionManager.js +0 -1
  473. package/dist/core-bak/router/version/index.cjs +0 -1
  474. package/dist/core-bak/router/version/index.d.ts +0 -4
  475. package/dist/core-bak/router/version/index.js +0 -1
  476. package/dist/core-bak/splash/SplashScreen.cjs +0 -1
  477. package/dist/core-bak/splash/SplashScreen.d.ts +0 -14
  478. package/dist/core-bak/splash/SplashScreen.js +0 -1
  479. package/dist/core-bak/splash/index.cjs +0 -1
  480. package/dist/core-bak/splash/index.d.ts +0 -5
  481. package/dist/core-bak/splash/index.js +0 -1
  482. package/dist/core-bak/splash/splashScreenUtils.cjs +0 -1
  483. package/dist/core-bak/splash/splashScreenUtils.d.ts +0 -7
  484. package/dist/core-bak/splash/splashScreenUtils.js +0 -1
  485. package/dist/core-bak/startup/AppInstance.cjs +0 -1
  486. package/dist/core-bak/startup/AppInstance.d.ts +0 -138
  487. package/dist/core-bak/startup/AppInstance.js +0 -1
  488. package/dist/core-bak/startup/environment.cjs +0 -1
  489. package/dist/core-bak/startup/environment.d.ts +0 -87
  490. package/dist/core-bak/startup/environment.js +0 -1
  491. package/dist/core-bak/startup/index.cjs +0 -1
  492. package/dist/core-bak/startup/index.d.ts +0 -7
  493. package/dist/core-bak/startup/index.js +0 -1
  494. package/dist/core-bak/startup/initializeServices.cjs +0 -1
  495. package/dist/core-bak/startup/initializeServices.d.ts +0 -68
  496. package/dist/core-bak/startup/initializeServices.js +0 -1
  497. package/dist/core-bak/startup/performanceTracker.cjs +0 -1
  498. package/dist/core-bak/startup/performanceTracker.d.ts +0 -104
  499. package/dist/core-bak/startup/performanceTracker.js +0 -1
  500. package/dist/core-bak/startup/renderApp.cjs +0 -1
  501. package/dist/core-bak/startup/renderApp.d.ts +0 -70
  502. package/dist/core-bak/startup/renderApp.js +0 -1
  503. package/dist/core-bak/startup/startApp.cjs +0 -1
  504. package/dist/core-bak/startup/startApp.d.ts +0 -14
  505. package/dist/core-bak/startup/startApp.js +0 -1
  506. package/dist/core-bak/types.cjs +0 -1
  507. package/dist/core-bak/types.d.ts +0 -501
  508. package/dist/core-bak/types.js +0 -1
  509. package/dist/index.umd.cjs +0 -1
  510. package/dist/index.umd.d.ts +0 -7
@@ -1 +0,0 @@
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 ErrorBoundary(){return ErrorBoundary},get useErrorHandler(){return useErrorHandler},get withErrorBoundary(){return withErrorBoundary}});const _jsxruntime=require("react/jsx-runtime");const _react=/*#__PURE__*/_interop_require_wildcard(require("react"));const _reacterrorboundary=require("react-error-boundary");const _logger=require("@vlian/logger");const _utils=require("@vlian/utils");const _initialization=require("../initialization");const _ErrorHandler=require("./ErrorHandler");function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={__proto__:null};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}function ErrorBoundary({children,fallback,onError,showInConsole=true,resetKeys,onReset,onResetKeysChange}){const retryCountRef=(0,_react.useRef)(0);const errorHandler=(0,_react.useMemo)(()=>(0,_ErrorHandler.getDefaultErrorHandler)(),[]);const handleError=(0,_react.useCallback)(async(error,errorInfo)=>{const normalizedError=_utils.errorUtils.normalizeError(error);const reactErrorInfo={componentStack:errorInfo.componentStack||""};const handleResult=await errorHandler.handleError(normalizedError,{componentStack:reactErrorInfo.componentStack,source:"ErrorBoundary"});if(!handleResult.handled){_logger.logger.error("错误边界捕获到错误:",{error:normalizedError.toJSON(),errorInfo:{componentStack:reactErrorInfo.componentStack}})}if(onError){onError(normalizedError,reactErrorInfo)}if(showInConsole){console.error("错误边界捕获到错误:",normalizedError);console.error("错误信息:",reactErrorInfo)}},[errorHandler,onError,showInConsole]);const handleReset=()=>{_initialization.initializationErrorState.clearError();if(onReset){onReset()}};const DefaultFallbackComponent=_react.default.memo(({error,resetErrorBoundary})=>{const normalizedError=_utils.errorUtils.normalizeError(error);const[retryCount,setRetryCount]=(0,_react.useState)(retryCountRef.current);const[showDetails,setShowDetails]=(0,_react.useState)(false);(0,_react.useEffect)(()=>{setRetryCount(retryCountRef.current)},[]);const handleRetry=(0,_react.useCallback)(()=>{const newCount=retryCount+1;retryCountRef.current=newCount;setRetryCount(newCount);handleReset();resetErrorBoundary()},[retryCount,resetErrorBoundary]);const handleReload=(0,_react.useCallback)(()=>{window.location.reload()},[]);const userFriendlyMessage=(0,_react.useMemo)(()=>{if(normalizedError.code==="NETWORK_ERROR"){return"网络连接失败,请检查您的网络设置后再尝试"}if(normalizedError.code==="TIMEOUT_ERROR"){return"请求超时,请稍后再尝试"}if(normalizedError.code==="VALIDATION_ERROR"){return"数据验证失败,请检查输入内容"}return"应用运行时发生了错误,请稍后再尝试"},[normalizedError.code]);const extraButtons=(0,_react.useMemo)(()=>{const buttons=[(0,_jsxruntime.jsx)("button",{onClick:handleRetry,"aria-label":"重试加载应用",style:{border:"none",background:"var(--app-primary-color, #2f80ed)",color:"#fff",borderRadius:6,padding:"8px 14px",cursor:"pointer"},children:"重试"},"retry"),(0,_jsxruntime.jsx)("button",{onClick:()=>setShowDetails(!showDetails),"aria-label":showDetails?"隐藏错误详情":"显示错误详情",style:{border:"1px solid #cfd7df",background:"#fff",color:"#1f2933",borderRadius:6,padding:"8px 14px",cursor:"pointer"},children:showDetails?"隐藏详情":"查看详情"},"details")];if(retryCount>=1){buttons.push((0,_jsxruntime.jsx)("button",{onClick:handleReload,"aria-label":"刷新页面",style:{border:"1px solid #cfd7df",background:"#fff",color:"#1f2933",borderRadius:6,padding:"8px 14px",cursor:"pointer"},children:"刷新页面"},"reload"))}return buttons},[retryCount,handleRetry,handleReload,showDetails]);return(0,_jsxruntime.jsxs)("div",{role:"alert","aria-live":"assertive","aria-atomic":"true",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"100vh",padding:"24px"},children:[(0,_jsxruntime.jsxs)("div",{style:{maxWidth:580,width:"100%",textAlign:"center",border:"1px solid #dde5ec",borderRadius:10,padding:24,background:"#fff"},children:[(0,_jsxruntime.jsx)("div",{style:{fontSize:40,lineHeight:"44px"},children:"⚠️"}),(0,_jsxruntime.jsx)("h2",{style:{margin:"8px 0 4px"},children:"出错了"}),(0,_jsxruntime.jsx)("p",{style:{marginTop:0,color:"#52606d"},children:userFriendlyMessage}),(0,_jsxruntime.jsx)("div",{style:{display:"flex",gap:8,justifyContent:"center",flexWrap:"wrap"},children:extraButtons})]}),showDetails&&(0,_jsxruntime.jsxs)("div",{style:{marginTop:24,padding:16,backgroundColor:"#f5f5f5",borderRadius:4,maxWidth:800,width:"100%",maxHeight:400,overflow:"auto"},children:[(0,_jsxruntime.jsx)("div",{style:{marginBottom:8,fontWeight:"bold"},children:"错误详情:"}),(0,_jsxruntime.jsxs)("div",{style:{fontFamily:"monospace",fontSize:12},children:[(0,_jsxruntime.jsxs)("div",{children:[(0,_jsxruntime.jsx)("strong",{children:"错误类型:"}),normalizedError.name]}),(0,_jsxruntime.jsxs)("div",{children:[(0,_jsxruntime.jsx)("strong",{children:"错误代码:"}),normalizedError.code]}),(0,_jsxruntime.jsxs)("div",{children:[(0,_jsxruntime.jsx)("strong",{children:"错误信息:"}),normalizedError.message]}),normalizedError.stack&&(0,_jsxruntime.jsxs)("div",{style:{marginTop:8},children:[(0,_jsxruntime.jsx)("strong",{children:"堆栈信息:"}),(0,_jsxruntime.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:normalizedError.stack})]})]})]})]})});DefaultFallbackComponent.displayName="DefaultFallbackComponent";const defaultFallback=({error,resetErrorBoundary})=>{return(0,_jsxruntime.jsx)(DefaultFallbackComponent,{error:error,resetErrorBoundary:resetErrorBoundary})};const fallbackRender=fallback?({error,resetErrorBoundary})=>{const normalizedError=_utils.errorUtils.normalizeError(error);return fallback(normalizedError,()=>{handleReset();resetErrorBoundary()})}:defaultFallback;const handleResetWithCount=()=>{retryCountRef.current=0;handleReset()};const handleResetKeysChange=(prevKeys,nextKeys)=>{retryCountRef.current=0;if(onResetKeysChange){onResetKeysChange(prevKeys,nextKeys)}};const errorBoundaryProps={fallbackRender,onError:handleError,onReset:handleResetWithCount,resetKeys,onResetKeysChange:handleResetKeysChange};return(0,_jsxruntime.jsx)(_reacterrorboundary.ErrorBoundary,{...errorBoundaryProps,children:children})}function withErrorBoundary(Component,errorBoundaryProps){const WrappedComponent=props=>{return(0,_jsxruntime.jsx)(ErrorBoundary,{...errorBoundaryProps,children:(0,_jsxruntime.jsx)(Component,{...props})})};WrappedComponent.displayName=`withErrorBoundary(${Component.displayName||Component.name||"Component"})`;return WrappedComponent}function useErrorHandler(){return error=>{_initialization.initializationErrorState.setError(error)}}
@@ -1,121 +0,0 @@
1
- import React, { type ReactNode, type ErrorInfo } from 'react';
2
- import type { FrameworkError } from '@vlian/utils';
3
- /**
4
- * 错误边界组件属性
5
- */
6
- export interface ErrorBoundaryProps {
7
- /**
8
- * 子组件
9
- */
10
- children: ReactNode;
11
- /**
12
- * 错误回退 UI(函数形式)
13
- *
14
- * 如果不提供,将使用默认错误 UI(框架内置实现,居中显示)。
15
- * 如果提供,将使用自定义的错误 UI。
16
- *
17
- * @param error - 标准化后的框架错误对象
18
- * @param resetError - 重置错误边界的函数,调用后可以尝试重新渲染子组件
19
- * @returns 错误 UI 的 React 节点
20
- *
21
- * @example
22
- * ```tsx
23
- * <ErrorBoundary
24
- * fallback={(error, reset) => (
25
- * <div>
26
- * <h2>自定义错误标题</h2>
27
- * <p>{error.message}</p>
28
- * <button onClick={reset}>重试</button>
29
- * </div>
30
- * )}
31
- * >
32
- * <App />
33
- * </ErrorBoundary>
34
- * ```
35
- */
36
- fallback?: (error: FrameworkError, resetError: () => void) => ReactNode;
37
- /**
38
- * 错误回调
39
- */
40
- onError?: (error: FrameworkError, errorInfo: ErrorInfo) => void;
41
- /**
42
- * 是否在控制台显示错误
43
- */
44
- showInConsole?: boolean;
45
- /**
46
- * 重置键数组,当这些值变化时自动重置错误边界
47
- */
48
- resetKeys?: Array<string | number>;
49
- /**
50
- * 重置错误时的回调
51
- */
52
- onReset?: () => void;
53
- /**
54
- * 重置键变化时的回调
55
- */
56
- onResetKeysChange?: (prevKeys: Array<string | number> | undefined, nextKeys: Array<string | number> | undefined) => void;
57
- }
58
- /**
59
- * 错误边界组件
60
- *
61
- * 基于 react-error-boundary 实现,集成了框架的错误处理系统
62
- * 用于捕获 React 组件树中的错误,防止整个应用崩溃
63
- *
64
- * 默认使用框架内置错误 UI,居中显示。
65
- * 可以通过 fallback 属性自定义错误 UI。
66
- *
67
- * @example
68
- * ```tsx
69
- * // 使用默认错误 UI(推荐)
70
- * <ErrorBoundary>
71
- * <App />
72
- * </ErrorBoundary>
73
- *
74
- * // 自定义错误 UI
75
- * <ErrorBoundary
76
- * fallback={(error, reset) => (
77
- * <div>
78
- * <h1>出错了</h1>
79
- * <p>{error.message}</p>
80
- * <button onClick={reset}>重试</button>
81
- * </div>
82
- * )}
83
- * >
84
- * <App />
85
- * </ErrorBoundary>
86
- * ```
87
- */
88
- export declare function ErrorBoundary({ children, fallback, onError, showInConsole, resetKeys, onReset, onResetKeysChange, }: ErrorBoundaryProps): ReactNode;
89
- /**
90
- * 带错误边界的 HOC
91
- */
92
- export declare function withErrorBoundary<P extends object>(Component: React.ComponentType<P>, errorBoundaryProps?: Omit<ErrorBoundaryProps, 'children'>): React.ComponentType<P>;
93
- /**
94
- * 使用错误处理器的 Hook
95
- *
96
- * 用于在函数组件中处理异步错误
97
- *
98
- * 注意:这个 Hook 需要配合 ErrorBoundary 使用。当调用返回的错误处理函数时,
99
- * 错误会被设置到初始化错误状态,然后通过 InitializationErrorThrower 组件抛出。
100
- *
101
- * @example
102
- * ```tsx
103
- * import { useErrorHandler } from '@vlian/framework';
104
- *
105
- * function MyComponent() {
106
- * const handleError = useErrorHandler();
107
- *
108
- * useEffect(() => {
109
- * async function fetchData() {
110
- * try {
111
- * await someAsyncOperation();
112
- * } catch (error) {
113
- * handleError(error);
114
- * }
115
- * }
116
- * fetchData();
117
- * }, [handleError]);
118
- * }
119
- * ```
120
- */
121
- export declare function useErrorHandler(): (error: unknown) => void;
@@ -1 +0,0 @@
1
- import{jsx as _jsx,jsxs as _jsxs}from"react/jsx-runtime";import React,{useState,useRef,useEffect,useCallback,useMemo}from"react";import{ErrorBoundary as ReactErrorBoundary}from"react-error-boundary";import{logger}from"@vlian/logger";import{errorUtils}from"@vlian/utils";import{initializationErrorState}from"../initialization";import{getDefaultErrorHandler}from"./ErrorHandler";export function ErrorBoundary({children,fallback,onError,showInConsole=true,resetKeys,onReset,onResetKeysChange}){const retryCountRef=useRef(0);const errorHandler=useMemo(()=>getDefaultErrorHandler(),[]);const handleError=useCallback(async(error,errorInfo)=>{const normalizedError=errorUtils.normalizeError(error);const reactErrorInfo={componentStack:errorInfo.componentStack||""};const handleResult=await errorHandler.handleError(normalizedError,{componentStack:reactErrorInfo.componentStack,source:"ErrorBoundary"});if(!handleResult.handled){logger.error("错误边界捕获到错误:",{error:normalizedError.toJSON(),errorInfo:{componentStack:reactErrorInfo.componentStack}})}if(onError){onError(normalizedError,reactErrorInfo)}if(showInConsole){console.error("错误边界捕获到错误:",normalizedError);console.error("错误信息:",reactErrorInfo)}},[errorHandler,onError,showInConsole]);const handleReset=()=>{initializationErrorState.clearError();if(onReset){onReset()}};const DefaultFallbackComponent=React.memo(({error,resetErrorBoundary})=>{const normalizedError=errorUtils.normalizeError(error);const[retryCount,setRetryCount]=useState(retryCountRef.current);const[showDetails,setShowDetails]=useState(false);useEffect(()=>{setRetryCount(retryCountRef.current)},[]);const handleRetry=useCallback(()=>{const newCount=retryCount+1;retryCountRef.current=newCount;setRetryCount(newCount);handleReset();resetErrorBoundary()},[retryCount,resetErrorBoundary]);const handleReload=useCallback(()=>{window.location.reload()},[]);const userFriendlyMessage=useMemo(()=>{if(normalizedError.code==="NETWORK_ERROR"){return"网络连接失败,请检查您的网络设置后再尝试"}if(normalizedError.code==="TIMEOUT_ERROR"){return"请求超时,请稍后再尝试"}if(normalizedError.code==="VALIDATION_ERROR"){return"数据验证失败,请检查输入内容"}return"应用运行时发生了错误,请稍后再尝试"},[normalizedError.code]);const extraButtons=useMemo(()=>{const buttons=[_jsx("button",{onClick:handleRetry,"aria-label":"重试加载应用",style:{border:"none",background:"var(--app-primary-color, #2f80ed)",color:"#fff",borderRadius:6,padding:"8px 14px",cursor:"pointer"},children:"重试"},"retry"),_jsx("button",{onClick:()=>setShowDetails(!showDetails),"aria-label":showDetails?"隐藏错误详情":"显示错误详情",style:{border:"1px solid #cfd7df",background:"#fff",color:"#1f2933",borderRadius:6,padding:"8px 14px",cursor:"pointer"},children:showDetails?"隐藏详情":"查看详情"},"details")];if(retryCount>=1){buttons.push(_jsx("button",{onClick:handleReload,"aria-label":"刷新页面",style:{border:"1px solid #cfd7df",background:"#fff",color:"#1f2933",borderRadius:6,padding:"8px 14px",cursor:"pointer"},children:"刷新页面"},"reload"))}return buttons},[retryCount,handleRetry,handleReload,showDetails]);return _jsxs("div",{role:"alert","aria-live":"assertive","aria-atomic":"true",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"100vh",padding:"24px"},children:[_jsxs("div",{style:{maxWidth:580,width:"100%",textAlign:"center",border:"1px solid #dde5ec",borderRadius:10,padding:24,background:"#fff"},children:[_jsx("div",{style:{fontSize:40,lineHeight:"44px"},children:"⚠️"}),_jsx("h2",{style:{margin:"8px 0 4px"},children:"出错了"}),_jsx("p",{style:{marginTop:0,color:"#52606d"},children:userFriendlyMessage}),_jsx("div",{style:{display:"flex",gap:8,justifyContent:"center",flexWrap:"wrap"},children:extraButtons})]}),showDetails&&_jsxs("div",{style:{marginTop:24,padding:16,backgroundColor:"#f5f5f5",borderRadius:4,maxWidth:800,width:"100%",maxHeight:400,overflow:"auto"},children:[_jsx("div",{style:{marginBottom:8,fontWeight:"bold"},children:"错误详情:"}),_jsxs("div",{style:{fontFamily:"monospace",fontSize:12},children:[_jsxs("div",{children:[_jsx("strong",{children:"错误类型:"}),normalizedError.name]}),_jsxs("div",{children:[_jsx("strong",{children:"错误代码:"}),normalizedError.code]}),_jsxs("div",{children:[_jsx("strong",{children:"错误信息:"}),normalizedError.message]}),normalizedError.stack&&_jsxs("div",{style:{marginTop:8},children:[_jsx("strong",{children:"堆栈信息:"}),_jsx("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word"},children:normalizedError.stack})]})]})]})]})});DefaultFallbackComponent.displayName="DefaultFallbackComponent";const defaultFallback=({error,resetErrorBoundary})=>{return _jsx(DefaultFallbackComponent,{error:error,resetErrorBoundary:resetErrorBoundary})};const fallbackRender=fallback?({error,resetErrorBoundary})=>{const normalizedError=errorUtils.normalizeError(error);return fallback(normalizedError,()=>{handleReset();resetErrorBoundary()})}:defaultFallback;const handleResetWithCount=()=>{retryCountRef.current=0;handleReset()};const handleResetKeysChange=(prevKeys,nextKeys)=>{retryCountRef.current=0;if(onResetKeysChange){onResetKeysChange(prevKeys,nextKeys)}};const errorBoundaryProps={fallbackRender,onError:handleError,onReset:handleResetWithCount,resetKeys,onResetKeysChange:handleResetKeysChange};return _jsx(ReactErrorBoundary,{...errorBoundaryProps,children:children})}export function withErrorBoundary(Component,errorBoundaryProps){const WrappedComponent=props=>{return _jsx(ErrorBoundary,{...errorBoundaryProps,children:_jsx(Component,{...props})})};WrappedComponent.displayName=`withErrorBoundary(${Component.displayName||Component.name||"Component"})`;return WrappedComponent}export function useErrorHandler(){return error=>{initializationErrorState.setError(error)}}
@@ -1 +0,0 @@
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 ErrorHandler(){return ErrorHandler},get ErrorHandlingStrategy(){return ErrorHandlingStrategy},get getDefaultErrorHandler(){return getDefaultErrorHandler},get setDefaultErrorHandler(){return setDefaultErrorHandler}});const _logger=require("@vlian/logger");const _utils=require("@vlian/utils");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 ErrorHandlingStrategy=/*#__PURE__*/function(ErrorHandlingStrategy){ErrorHandlingStrategy["LOG"]="LOG";ErrorHandlingStrategy["REPORT"]="REPORT";ErrorHandlingStrategy["RECOVER"]="RECOVER";ErrorHandlingStrategy["FALLBACK"]="FALLBACK";ErrorHandlingStrategy["IGNORE"]="IGNORE";return ErrorHandlingStrategy}({});let ErrorHandler=class ErrorHandler{setMonitoring(monitoring){this.monitoring=monitoring}async handleError(error,context){const normalizedError=_utils.errorUtils.normalizeError(error);const errorWithContext=context?new _utils.FrameworkError(normalizedError.message,normalizedError.type,normalizedError.severity,{code:normalizedError.code,originalError:normalizedError.originalError,context:{...normalizedError.context,...context},recoverable:normalizedError.recoverable}):normalizedError;const strategies=this.determineStrategies(errorWithContext);const handled=await this.executeStrategies(errorWithContext,strategies);let recoveredValue;let recoverable=false;if(handled&&errorWithContext.recoverable&&this.config.recoveryOptions){const recoveryResult=await this.attemptRecovery(errorWithContext);recoverable=recoveryResult.recoverable;recoveredValue=recoveryResult.value}return{handled,recoverable,recoveredValue,strategies,error:errorWithContext}}determineStrategies(error){if(this.config.typeStrategies[error.type]){return this.config.typeStrategies[error.type]}if(this.config.severityStrategies[error.severity]){return this.config.severityStrategies[error.severity]}return this.config.defaultStrategies}async executeStrategies(error,strategies){let handled=false;for(const strategy of strategies){try{switch(strategy){case"LOG":this.logError(error);handled=true;break;case"REPORT":await this.reportError(error);handled=true;break;case"RECOVER":handled=true;break;case"FALLBACK":handled=true;break;case"IGNORE":handled=true;break}}catch(strategyError){_logger.logger.warn(`错误处理策略 ${strategy} 执行失败:`,strategyError)}}return handled}logError(error){const errorInfo=_utils.errorUtils.extractErrorInfo(error);switch(error.severity){case _utils.ErrorSeverity.CRITICAL:case _utils.ErrorSeverity.HIGH:_logger.logger.error("错误:",errorInfo);break;case _utils.ErrorSeverity.MEDIUM:_logger.logger.warn("警告:",errorInfo);break;case _utils.ErrorSeverity.LOW:_logger.logger.info("信息:",errorInfo);break}if(this.config.showDetailedErrorsInDev&&process.env.NODE_ENV==="development"){const detailedError=_utils.errorUtils.formatErrorForDev(error);console.error(detailedError)}}async reportError(error){if(!this.monitoring){_logger.logger.debug("监控服务未配置,跳过错误上报");return}try{this.monitoring.captureError(error,{severity:error.severity,type:error.type,code:error.code,context:error.context})}catch(reportError){_logger.logger.warn("错误上报失败:",reportError)}}async attemptRecovery(error){const options=this.config.recoveryOptions;if(!options){return{recoverable:false}}const maxRetries=options.maxRetries??3;const retryDelay=options.retryDelay??1e3;const exponentialBackoff=options.exponentialBackoff??true;const shouldRetry=options.shouldRetry??(()=>true);if(options.fallback){try{const fallbackValue=await Promise.resolve(options.fallback());_logger.logger.info("错误已通过降级方案恢复");return{recoverable:true,value:fallbackValue}}catch(fallbackError){_logger.logger.warn("降级方案执行失败:",fallbackError)}}if(error.recoverable&&shouldRetry(error,0)){for(let attempt=0;attempt<maxRetries;attempt++){if(!shouldRetry(error,attempt)){break}const delay=exponentialBackoff?retryDelay*Math.pow(2,attempt):retryDelay;_logger.logger.debug(`错误恢复重试 ${attempt+1}/${maxRetries},${delay}ms 后重试...`);await new Promise(resolve=>setTimeout(resolve,delay))}}return{recoverable:error.recoverable}}static create(config){return new ErrorHandler(config)}constructor(config={}){_define_property(this,"config",void 0);_define_property(this,"monitoring",void 0);this.monitoring=config.monitoring;this.config={defaultStrategies:config.defaultStrategies??["LOG","REPORT"],severityStrategies:config.severityStrategies??{},typeStrategies:config.typeStrategies??{},recoveryOptions:config.recoveryOptions??{},showDetailedErrorsInDev:config.showDetailedErrorsInDev??true}}};let defaultErrorHandler=null;function getDefaultErrorHandler(){if(!defaultErrorHandler){defaultErrorHandler=new ErrorHandler}return defaultErrorHandler}function setDefaultErrorHandler(handler){defaultErrorHandler=handler}
@@ -1,171 +0,0 @@
1
- /**
2
- * 统一错误处理器
3
- *
4
- * 优化:
5
- * 1. 统一错误处理策略:记录、上报、恢复、降级
6
- * 2. 错误分类:致命、可恢复、警告
7
- * 3. 错误恢复机制:自动重试、降级方案
8
- */
9
- import { ErrorSeverity, ErrorType, FrameworkError } from '@vlian/utils';
10
- import type { MonitoringService } from '@vlian/monitoring';
11
- /**
12
- * 错误处理策略
13
- */
14
- export declare enum ErrorHandlingStrategy {
15
- /**
16
- * 记录错误(日志)
17
- */
18
- LOG = "LOG",
19
- /**
20
- * 上报错误(监控服务)
21
- */
22
- REPORT = "REPORT",
23
- /**
24
- * 尝试恢复错误
25
- */
26
- RECOVER = "RECOVER",
27
- /**
28
- * 降级处理
29
- */
30
- FALLBACK = "FALLBACK",
31
- /**
32
- * 忽略错误
33
- */
34
- IGNORE = "IGNORE"
35
- }
36
- /**
37
- * 错误恢复选项
38
- */
39
- export interface ErrorRecoveryOptions {
40
- /**
41
- * 最大重试次数
42
- * @default 3
43
- */
44
- maxRetries?: number;
45
- /**
46
- * 重试延迟(毫秒)
47
- * @default 1000
48
- */
49
- retryDelay?: number;
50
- /**
51
- * 是否启用指数退避
52
- * @default true
53
- */
54
- exponentialBackoff?: boolean;
55
- /**
56
- * 重试条件函数
57
- */
58
- shouldRetry?: (error: unknown, attempt: number) => boolean;
59
- /**
60
- * 降级方案函数
61
- */
62
- fallback?: () => Promise<unknown> | unknown;
63
- }
64
- /**
65
- * 错误处理配置
66
- */
67
- export interface ErrorHandlerConfig {
68
- /**
69
- * 监控服务实例(可选)
70
- */
71
- monitoring?: MonitoringService;
72
- /**
73
- * 默认错误处理策略
74
- * @default [ErrorHandlingStrategy.LOG, ErrorHandlingStrategy.REPORT]
75
- */
76
- defaultStrategies?: ErrorHandlingStrategy[];
77
- /**
78
- * 错误严重程度对应的处理策略
79
- */
80
- severityStrategies?: Partial<Record<ErrorSeverity, ErrorHandlingStrategy[]>>;
81
- /**
82
- * 错误类型对应的处理策略
83
- */
84
- typeStrategies?: Partial<Record<ErrorType, ErrorHandlingStrategy[]>>;
85
- /**
86
- * 错误恢复选项
87
- */
88
- recoveryOptions?: ErrorRecoveryOptions;
89
- /**
90
- * 是否在开发环境显示详细错误信息
91
- * @default true
92
- */
93
- showDetailedErrorsInDev?: boolean;
94
- }
95
- /**
96
- * 错误处理结果
97
- */
98
- export interface ErrorHandleResult {
99
- /**
100
- * 是否已处理
101
- */
102
- handled: boolean;
103
- /**
104
- * 是否可恢复
105
- */
106
- recoverable: boolean;
107
- /**
108
- * 恢复后的结果(如果已恢复)
109
- */
110
- recoveredValue?: unknown;
111
- /**
112
- * 使用的处理策略
113
- */
114
- strategies: ErrorHandlingStrategy[];
115
- /**
116
- * 错误信息
117
- */
118
- error: FrameworkError;
119
- }
120
- /**
121
- * 统一错误处理器
122
- */
123
- export declare class ErrorHandler {
124
- private config;
125
- private monitoring?;
126
- constructor(config?: ErrorHandlerConfig);
127
- /**
128
- * 设置监控服务
129
- */
130
- setMonitoring(monitoring: MonitoringService): void;
131
- /**
132
- * 处理错误
133
- *
134
- * @param error - 错误对象
135
- * @param context - 错误上下文
136
- * @returns 错误处理结果
137
- */
138
- handleError(error: unknown, context?: Record<string, unknown>): Promise<ErrorHandleResult>;
139
- /**
140
- * 确定错误处理策略
141
- */
142
- private determineStrategies;
143
- /**
144
- * 执行处理策略
145
- */
146
- private executeStrategies;
147
- /**
148
- * 记录错误
149
- */
150
- private logError;
151
- /**
152
- * 上报错误
153
- */
154
- private reportError;
155
- /**
156
- * 尝试恢复错误
157
- */
158
- private attemptRecovery;
159
- /**
160
- * 创建错误处理器的便捷方法
161
- */
162
- static create(config?: ErrorHandlerConfig): ErrorHandler;
163
- }
164
- /**
165
- * 获取默认错误处理器
166
- */
167
- export declare function getDefaultErrorHandler(): ErrorHandler;
168
- /**
169
- * 设置默认错误处理器
170
- */
171
- export declare function setDefaultErrorHandler(handler: ErrorHandler): void;
@@ -1 +0,0 @@
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";import{errorUtils,ErrorSeverity,FrameworkError}from"@vlian/utils";export var ErrorHandlingStrategy=/*#__PURE__*/function(ErrorHandlingStrategy){ErrorHandlingStrategy["LOG"]="LOG";ErrorHandlingStrategy["REPORT"]="REPORT";ErrorHandlingStrategy["RECOVER"]="RECOVER";ErrorHandlingStrategy["FALLBACK"]="FALLBACK";ErrorHandlingStrategy["IGNORE"]="IGNORE";return ErrorHandlingStrategy}({});export class ErrorHandler{setMonitoring(monitoring){this.monitoring=monitoring}async handleError(error,context){const normalizedError=errorUtils.normalizeError(error);const errorWithContext=context?new FrameworkError(normalizedError.message,normalizedError.type,normalizedError.severity,{code:normalizedError.code,originalError:normalizedError.originalError,context:{...normalizedError.context,...context},recoverable:normalizedError.recoverable}):normalizedError;const strategies=this.determineStrategies(errorWithContext);const handled=await this.executeStrategies(errorWithContext,strategies);let recoveredValue;let recoverable=false;if(handled&&errorWithContext.recoverable&&this.config.recoveryOptions){const recoveryResult=await this.attemptRecovery(errorWithContext);recoverable=recoveryResult.recoverable;recoveredValue=recoveryResult.value}return{handled,recoverable,recoveredValue,strategies,error:errorWithContext}}determineStrategies(error){if(this.config.typeStrategies[error.type]){return this.config.typeStrategies[error.type]}if(this.config.severityStrategies[error.severity]){return this.config.severityStrategies[error.severity]}return this.config.defaultStrategies}async executeStrategies(error,strategies){let handled=false;for(const strategy of strategies){try{switch(strategy){case"LOG":this.logError(error);handled=true;break;case"REPORT":await this.reportError(error);handled=true;break;case"RECOVER":handled=true;break;case"FALLBACK":handled=true;break;case"IGNORE":handled=true;break}}catch(strategyError){logger.warn(`错误处理策略 ${strategy} 执行失败:`,strategyError)}}return handled}logError(error){const errorInfo=errorUtils.extractErrorInfo(error);switch(error.severity){case ErrorSeverity.CRITICAL:case ErrorSeverity.HIGH:logger.error("错误:",errorInfo);break;case ErrorSeverity.MEDIUM:logger.warn("警告:",errorInfo);break;case ErrorSeverity.LOW:logger.info("信息:",errorInfo);break}if(this.config.showDetailedErrorsInDev&&process.env.NODE_ENV==="development"){const detailedError=errorUtils.formatErrorForDev(error);console.error(detailedError)}}async reportError(error){if(!this.monitoring){logger.debug("监控服务未配置,跳过错误上报");return}try{this.monitoring.captureError(error,{severity:error.severity,type:error.type,code:error.code,context:error.context})}catch(reportError){logger.warn("错误上报失败:",reportError)}}async attemptRecovery(error){const options=this.config.recoveryOptions;if(!options){return{recoverable:false}}const maxRetries=options.maxRetries??3;const retryDelay=options.retryDelay??1e3;const exponentialBackoff=options.exponentialBackoff??true;const shouldRetry=options.shouldRetry??(()=>true);if(options.fallback){try{const fallbackValue=await Promise.resolve(options.fallback());logger.info("错误已通过降级方案恢复");return{recoverable:true,value:fallbackValue}}catch(fallbackError){logger.warn("降级方案执行失败:",fallbackError)}}if(error.recoverable&&shouldRetry(error,0)){for(let attempt=0;attempt<maxRetries;attempt++){if(!shouldRetry(error,attempt)){break}const delay=exponentialBackoff?retryDelay*Math.pow(2,attempt):retryDelay;logger.debug(`错误恢复重试 ${attempt+1}/${maxRetries},${delay}ms 后重试...`);await new Promise(resolve=>setTimeout(resolve,delay))}}return{recoverable:error.recoverable}}static create(config){return new ErrorHandler(config)}constructor(config={}){_define_property(this,"config",void 0);_define_property(this,"monitoring",void 0);this.monitoring=config.monitoring;this.config={defaultStrategies:config.defaultStrategies??["LOG","REPORT"],severityStrategies:config.severityStrategies??{},typeStrategies:config.typeStrategies??{},recoveryOptions:config.recoveryOptions??{},showDetailedErrorsInDev:config.showDetailedErrorsInDev??true}}}let defaultErrorHandler=null;export function getDefaultErrorHandler(){if(!defaultErrorHandler){defaultErrorHandler=new ErrorHandler}return defaultErrorHandler}export function setDefaultErrorHandler(handler){defaultErrorHandler=handler}
@@ -1 +0,0 @@
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 ErrorBoundary(){return _ErrorBoundary.ErrorBoundary},get ErrorHandler(){return _ErrorHandler.ErrorHandler},get getDefaultErrorHandler(){return _ErrorHandler.getDefaultErrorHandler},get setDefaultErrorHandler(){return _ErrorHandler.setDefaultErrorHandler},get useErrorHandler(){return _ErrorBoundary.useErrorHandler},get withErrorBoundary(){return _ErrorBoundary.withErrorBoundary}});const _ErrorBoundary=require("./ErrorBoundary");const _ErrorHandler=require("./ErrorHandler");
@@ -1,7 +0,0 @@
1
- /**
2
- * 错误处理模块统一导出
3
- */
4
- export { ErrorBoundary, withErrorBoundary, useErrorHandler } from './ErrorBoundary';
5
- export type { ErrorBoundaryProps } from './ErrorBoundary';
6
- export { ErrorHandler, getDefaultErrorHandler, setDefaultErrorHandler } from './ErrorHandler';
7
- export type { ErrorHandlingStrategy, ErrorHandlerConfig, ErrorHandleResult, ErrorRecoveryOptions, } from './ErrorHandler';
@@ -1 +0,0 @@
1
- export{ErrorBoundary,withErrorBoundary,useErrorHandler}from"./ErrorBoundary";export{ErrorHandler,getDefaultErrorHandler,setDefaultErrorHandler}from"./ErrorHandler";
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"AppEventBus",{enumerable:true,get:function(){return AppEventBus}});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}let AppEventBus=class AppEventBus{on(event,listener,options={}){const fullEventName=this.getFullEventName(event);const listenerId=Symbol(`listener_${++this.listenerIdCounter}`);const listenerWithOptions={listener:listener,options:{priority:options.priority??100,once:options.once??false,namespace:options.namespace??this.config.namespacePrefix,async:options.async??true},id:listenerId};if(!this.listeners.has(fullEventName)){this.listeners.set(fullEventName,new Set)}const listeners=this.listeners.get(fullEventName);listeners.add(listenerWithOptions);const sortedListeners=Array.from(listeners).sort((a,b)=>a.options.priority-b.options.priority);this.listeners.set(fullEventName,new Set(sortedListeners));return()=>{const currentListeners=this.listeners.get(fullEventName);if(currentListeners){currentListeners.delete(listenerWithOptions);if(currentListeners.size===0){this.listeners.delete(fullEventName)}}}}off(event,listener){const fullEventName=this.getFullEventName(event);const listeners=this.listeners.get(fullEventName);if(!listeners){return}if(listener){for(const item of listeners){if(item.listener===listener){listeners.delete(item);break}}}else{listeners.clear()}if(listeners.size===0){this.listeners.delete(fullEventName)}}once(event,listener,options){return this.on(event,listener,{...options,once:true})}async emit(event,data,metadata){const fullEventName=this.getFullEventName(event);const startTime=this.config.enablePerformanceMonitoring?performance.now():0;if(this.config.enableValidation&&!this.config.validator(fullEventName,data)){_logger.logger.warn(`事件 ${fullEventName} 验证失败,已忽略`);return}if(this.config.enableSecurityMode&&metadata?.source){if(!this.config.allowedSources.includes(metadata.source)){_logger.logger.warn(`事件 ${fullEventName} 的来源 ${metadata.source} 不在白名单中,已忽略`);return}}const eventMetadata={source:metadata?.source,timestamp:metadata?.timestamp??Date.now(),eventId:metadata?.eventId??`event_${++this.eventCounter}`,priority:metadata?.priority??0,instanceId:metadata?.instanceId??this.config.instanceId,namespace:metadata?.namespace??this.config.namespacePrefix,...metadata};const eventWrapper={data:data,metadata:eventMetadata};if(this.middlewares.length>0){let middlewareIndex=0;let nextCalled=false;const executeMiddleware=async()=>{if(middlewareIndex<this.middlewares.length){nextCalled=false;const currentIndex=middlewareIndex;const middleware=this.middlewares[middlewareIndex++];const next=async()=>{nextCalled=true;if(currentIndex<this.middlewares.length-1){await executeMiddleware()}};await Promise.resolve(middleware(fullEventName,data,eventMetadata,next));if(!nextCalled){return}}};await executeMiddleware();if(!nextCalled&&this.middlewares.length>0){return}}const listeners=this.listeners.get(fullEventName);if(this.config.enableTracking){const executionTime=this.config.enablePerformanceMonitoring?performance.now()-startTime:undefined;this.recordEventHistory(fullEventName,data,eventMetadata,executionTime)}if(!listeners||listeners.size===0){this.updateStats(fullEventName,0);return}const executionPromises=[];const listenersToRemove=[];for(const listenerWithOptions of listeners){const executeListener=async()=>{try{if(listenerWithOptions.options.async){await Promise.resolve(listenerWithOptions.listener(eventWrapper.data,eventWrapper.metadata))}else{listenerWithOptions.listener(eventWrapper.data,eventWrapper.metadata)}if(listenerWithOptions.options.once){listenersToRemove.push(listenerWithOptions)}}catch(error){_logger.logger.error(`事件 ${fullEventName} 的监听器执行失败:`,error)}};executionPromises.push(executeListener())}await Promise.allSettled(executionPromises);for(const listenerToRemove of listenersToRemove){listeners.delete(listenerToRemove)}if(listeners.size===0){this.listeners.delete(fullEventName)}const executionTime=this.config.enablePerformanceMonitoring?performance.now()-startTime:0;this.updateStats(fullEventName,executionTime,listeners.size)}emitSync(event,data,metadata){this.emit(event,data,metadata).catch(error=>{_logger.logger.error(`同步发布事件 ${event} 失败:`,error)})}use(middleware){this.middlewares.push(middleware);return()=>{const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}}clear(){this.listeners.clear()}clearHistory(){this.eventHistory=[]}listenerCount(event){if(event){const fullEventName=this.getFullEventName(event);return this.listeners.get(fullEventName)?.size||0}let count=0;for(const listeners of this.listeners.values()){count+=listeners.size}return count}eventNames(){return Array.from(this.listeners.keys())}getEventHistory(event,limit){if(!this.config.enableTracking){return[]}let history=this.eventHistory;if(event){const fullEventName=this.getFullEventName(event);history=history.filter(h=>h.event===fullEventName)}if(limit){history=history.slice(-limit)}return[...history]}getStats(event){if(event){const fullEventName=this.getFullEventName(event);return this.stats.get(fullEventName)||{event:fullEventName,count:0,avgExecutionTime:0,listenerCount:0,lastTriggered:0}}return new Map(this.stats)}getConfig(){return{...this.config}}updateConfig(config){this.config={...this.config,...config}}destroy(){this.clear();this.clearHistory();this.middlewares=[];this.stats.clear()}getFullEventName(event){if(this.config.namespacePrefix){return`${this.config.namespacePrefix}${event}`}return event}recordEventHistory(event,data,metadata,executionTime){this.eventHistory.push({event,data,metadata,executionTime});if(this.eventHistory.length>this.config.maxHistorySize){this.eventHistory.shift()}}updateStats(event,executionTime,listenerCount=0){if(!this.config.enablePerformanceMonitoring){return}const existingStats=this.stats.get(event);if(existingStats){const totalTime=existingStats.avgExecutionTime*existingStats.count+executionTime;const newCount=existingStats.count+1;this.stats.set(event,{...existingStats,count:newCount,avgExecutionTime:totalTime/newCount,listenerCount,lastTriggered:Date.now()})}else{this.stats.set(event,{event,count:1,avgExecutionTime:executionTime,listenerCount,lastTriggered:Date.now()})}}constructor(config={}){_define_property(this,"listeners",new Map);_define_property(this,"eventHistory",[]);_define_property(this,"middlewares",[]);_define_property(this,"stats",new Map);_define_property(this,"config",void 0);_define_property(this,"eventCounter",0);_define_property(this,"listenerIdCounter",0);this.config={enableTracking:config.enableTracking??process.env.NODE_ENV==="development",maxHistorySize:config.maxHistorySize??100,enableValidation:config.enableValidation??false,validator:config.validator??(()=>true),enablePerformanceMonitoring:config.enablePerformanceMonitoring??process.env.NODE_ENV==="development",namespacePrefix:config.namespacePrefix??"",instanceId:config.instanceId,enableSecurityMode:config.enableSecurityMode??false,allowedSources:config.allowedSources??[]}}};
@@ -1,178 +0,0 @@
1
- /**
2
- * 应用级事件总线
3
- * 提供高性能、类型安全、可观测的事件通信能力
4
- */
5
- import type { EventListener, EventMetadata, EventMiddleware, EventListenerOptions, AppEventBusConfig, EventStats } from './types';
6
- /**
7
- * 事件历史记录
8
- */
9
- interface EventHistoryRecord {
10
- event: string;
11
- data: unknown;
12
- metadata: EventMetadata;
13
- executionTime?: number;
14
- }
15
- /**
16
- * 应用事件总线
17
- */
18
- export declare class AppEventBus {
19
- /**
20
- * 事件监听器映射表
21
- * 使用 Map + Set 结构提高性能
22
- */
23
- private listeners;
24
- /**
25
- * 事件历史记录
26
- */
27
- private eventHistory;
28
- /**
29
- * 事件中间件列表
30
- */
31
- private middlewares;
32
- /**
33
- * 事件统计信息
34
- */
35
- private stats;
36
- /**
37
- * 配置
38
- */
39
- private config;
40
- /**
41
- * 事件计数器(用于生成唯一事件ID)
42
- */
43
- private eventCounter;
44
- /**
45
- * 监听器ID计数器
46
- */
47
- private listenerIdCounter;
48
- constructor(config?: AppEventBusConfig);
49
- /**
50
- * 订阅事件
51
- *
52
- * @param event - 事件名称
53
- * @param listener - 事件监听器
54
- * @param options - 监听器选项
55
- * @returns 取消订阅函数
56
- *
57
- * @example
58
- * ```typescript
59
- * const unsubscribe = eventBus.on('user:login', (data, metadata) => {
60
- * console.log('用户登录:', data);
61
- * });
62
- *
63
- * // 取消订阅
64
- * unsubscribe();
65
- * ```
66
- */
67
- on<T = unknown>(event: string, listener: EventListener<T>, options?: EventListenerOptions): () => void;
68
- /**
69
- * 取消订阅事件
70
- *
71
- * @param event - 事件名称
72
- * @param listener - 事件监听器(可选,不提供则取消该事件的所有监听器)
73
- */
74
- off<T = unknown>(event: string, listener?: EventListener<T>): void;
75
- /**
76
- * 一次性订阅事件
77
- *
78
- * @param event - 事件名称
79
- * @param listener - 事件监听器
80
- * @param options - 监听器选项
81
- */
82
- once<T = unknown>(event: string, listener: EventListener<T>, options?: Omit<EventListenerOptions, 'once'>): () => void;
83
- /**
84
- * 发布事件
85
- *
86
- * @param event - 事件名称
87
- * @param data - 事件数据
88
- * @param metadata - 事件元数据(可选)
89
- *
90
- * @example
91
- * ```typescript
92
- * await eventBus.emit('user:login', {
93
- * userId: '123',
94
- * username: 'john',
95
- * });
96
- * ```
97
- */
98
- emit<T = unknown>(event: string, data?: T, metadata?: Partial<EventMetadata>): Promise<void>;
99
- /**
100
- * 同步发布事件(不等待异步监听器完成)
101
- *
102
- * @param event - 事件名称
103
- * @param data - 事件数据
104
- * @param metadata - 事件元数据(可选)
105
- */
106
- emitSync<T = unknown>(event: string, data?: T, metadata?: Partial<EventMetadata>): void;
107
- /**
108
- * 注册事件中间件
109
- *
110
- * @param middleware - 中间件函数
111
- * @returns 取消注册函数
112
- *
113
- * @example
114
- * ```typescript
115
- * const unsubscribe = eventBus.use((event, data, metadata, next) => {
116
- * console.log('事件触发:', event);
117
- * return next();
118
- * });
119
- * ```
120
- */
121
- use(middleware: EventMiddleware): () => void;
122
- /**
123
- * 清空所有事件监听器
124
- */
125
- clear(): void;
126
- /**
127
- * 清空事件历史记录
128
- */
129
- clearHistory(): void;
130
- /**
131
- * 获取事件监听器数量
132
- *
133
- * @param event - 事件名称(可选,不提供则返回所有事件的监听器总数)
134
- */
135
- listenerCount(event?: string): number;
136
- /**
137
- * 获取所有事件名称
138
- */
139
- eventNames(): string[];
140
- /**
141
- * 获取事件历史记录
142
- *
143
- * @param event - 事件名称(可选,如果提供则只返回该事件的历史)
144
- * @param limit - 限制返回的记录数
145
- */
146
- getEventHistory(event?: string, limit?: number): EventHistoryRecord[];
147
- /**
148
- * 获取事件统计信息
149
- *
150
- * @param event - 事件名称(可选,不提供则返回所有事件的统计)
151
- */
152
- getStats(event?: string): EventStats | Map<string, EventStats>;
153
- /**
154
- * 获取配置
155
- */
156
- getConfig(): AppEventBusConfig;
157
- /**
158
- * 更新配置
159
- */
160
- updateConfig(config: Partial<AppEventBusConfig>): void;
161
- /**
162
- * 销毁事件总线(清理所有资源)
163
- */
164
- destroy(): void;
165
- /**
166
- * 获取完整事件名称(包含命名空间前缀)
167
- */
168
- private getFullEventName;
169
- /**
170
- * 记录事件历史
171
- */
172
- private recordEventHistory;
173
- /**
174
- * 更新统计信息
175
- */
176
- private updateStats;
177
- }
178
- export {};
@@ -1 +0,0 @@
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 AppEventBus{on(event,listener,options={}){const fullEventName=this.getFullEventName(event);const listenerId=Symbol(`listener_${++this.listenerIdCounter}`);const listenerWithOptions={listener:listener,options:{priority:options.priority??100,once:options.once??false,namespace:options.namespace??this.config.namespacePrefix,async:options.async??true},id:listenerId};if(!this.listeners.has(fullEventName)){this.listeners.set(fullEventName,new Set)}const listeners=this.listeners.get(fullEventName);listeners.add(listenerWithOptions);const sortedListeners=Array.from(listeners).sort((a,b)=>a.options.priority-b.options.priority);this.listeners.set(fullEventName,new Set(sortedListeners));return()=>{const currentListeners=this.listeners.get(fullEventName);if(currentListeners){currentListeners.delete(listenerWithOptions);if(currentListeners.size===0){this.listeners.delete(fullEventName)}}}}off(event,listener){const fullEventName=this.getFullEventName(event);const listeners=this.listeners.get(fullEventName);if(!listeners){return}if(listener){for(const item of listeners){if(item.listener===listener){listeners.delete(item);break}}}else{listeners.clear()}if(listeners.size===0){this.listeners.delete(fullEventName)}}once(event,listener,options){return this.on(event,listener,{...options,once:true})}async emit(event,data,metadata){const fullEventName=this.getFullEventName(event);const startTime=this.config.enablePerformanceMonitoring?performance.now():0;if(this.config.enableValidation&&!this.config.validator(fullEventName,data)){logger.warn(`事件 ${fullEventName} 验证失败,已忽略`);return}if(this.config.enableSecurityMode&&metadata?.source){if(!this.config.allowedSources.includes(metadata.source)){logger.warn(`事件 ${fullEventName} 的来源 ${metadata.source} 不在白名单中,已忽略`);return}}const eventMetadata={source:metadata?.source,timestamp:metadata?.timestamp??Date.now(),eventId:metadata?.eventId??`event_${++this.eventCounter}`,priority:metadata?.priority??0,instanceId:metadata?.instanceId??this.config.instanceId,namespace:metadata?.namespace??this.config.namespacePrefix,...metadata};const eventWrapper={data:data,metadata:eventMetadata};if(this.middlewares.length>0){let middlewareIndex=0;let nextCalled=false;const executeMiddleware=async()=>{if(middlewareIndex<this.middlewares.length){nextCalled=false;const currentIndex=middlewareIndex;const middleware=this.middlewares[middlewareIndex++];const next=async()=>{nextCalled=true;if(currentIndex<this.middlewares.length-1){await executeMiddleware()}};await Promise.resolve(middleware(fullEventName,data,eventMetadata,next));if(!nextCalled){return}}};await executeMiddleware();if(!nextCalled&&this.middlewares.length>0){return}}const listeners=this.listeners.get(fullEventName);if(this.config.enableTracking){const executionTime=this.config.enablePerformanceMonitoring?performance.now()-startTime:undefined;this.recordEventHistory(fullEventName,data,eventMetadata,executionTime)}if(!listeners||listeners.size===0){this.updateStats(fullEventName,0);return}const executionPromises=[];const listenersToRemove=[];for(const listenerWithOptions of listeners){const executeListener=async()=>{try{if(listenerWithOptions.options.async){await Promise.resolve(listenerWithOptions.listener(eventWrapper.data,eventWrapper.metadata))}else{listenerWithOptions.listener(eventWrapper.data,eventWrapper.metadata)}if(listenerWithOptions.options.once){listenersToRemove.push(listenerWithOptions)}}catch(error){logger.error(`事件 ${fullEventName} 的监听器执行失败:`,error)}};executionPromises.push(executeListener())}await Promise.allSettled(executionPromises);for(const listenerToRemove of listenersToRemove){listeners.delete(listenerToRemove)}if(listeners.size===0){this.listeners.delete(fullEventName)}const executionTime=this.config.enablePerformanceMonitoring?performance.now()-startTime:0;this.updateStats(fullEventName,executionTime,listeners.size)}emitSync(event,data,metadata){this.emit(event,data,metadata).catch(error=>{logger.error(`同步发布事件 ${event} 失败:`,error)})}use(middleware){this.middlewares.push(middleware);return()=>{const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}}clear(){this.listeners.clear()}clearHistory(){this.eventHistory=[]}listenerCount(event){if(event){const fullEventName=this.getFullEventName(event);return this.listeners.get(fullEventName)?.size||0}let count=0;for(const listeners of this.listeners.values()){count+=listeners.size}return count}eventNames(){return Array.from(this.listeners.keys())}getEventHistory(event,limit){if(!this.config.enableTracking){return[]}let history=this.eventHistory;if(event){const fullEventName=this.getFullEventName(event);history=history.filter(h=>h.event===fullEventName)}if(limit){history=history.slice(-limit)}return[...history]}getStats(event){if(event){const fullEventName=this.getFullEventName(event);return this.stats.get(fullEventName)||{event:fullEventName,count:0,avgExecutionTime:0,listenerCount:0,lastTriggered:0}}return new Map(this.stats)}getConfig(){return{...this.config}}updateConfig(config){this.config={...this.config,...config}}destroy(){this.clear();this.clearHistory();this.middlewares=[];this.stats.clear()}getFullEventName(event){if(this.config.namespacePrefix){return`${this.config.namespacePrefix}${event}`}return event}recordEventHistory(event,data,metadata,executionTime){this.eventHistory.push({event,data,metadata,executionTime});if(this.eventHistory.length>this.config.maxHistorySize){this.eventHistory.shift()}}updateStats(event,executionTime,listenerCount=0){if(!this.config.enablePerformanceMonitoring){return}const existingStats=this.stats.get(event);if(existingStats){const totalTime=existingStats.avgExecutionTime*existingStats.count+executionTime;const newCount=existingStats.count+1;this.stats.set(event,{...existingStats,count:newCount,avgExecutionTime:totalTime/newCount,listenerCount,lastTriggered:Date.now()})}else{this.stats.set(event,{event,count:1,avgExecutionTime:executionTime,listenerCount,lastTriggered:Date.now()})}}constructor(config={}){_define_property(this,"listeners",new Map);_define_property(this,"eventHistory",[]);_define_property(this,"middlewares",[]);_define_property(this,"stats",new Map);_define_property(this,"config",void 0);_define_property(this,"eventCounter",0);_define_property(this,"listenerIdCounter",0);this.config={enableTracking:config.enableTracking??process.env.NODE_ENV==="development",maxHistorySize:config.maxHistorySize??100,enableValidation:config.enableValidation??false,validator:config.validator??(()=>true),enablePerformanceMonitoring:config.enablePerformanceMonitoring??process.env.NODE_ENV==="development",namespacePrefix:config.namespacePrefix??"",instanceId:config.instanceId,enableSecurityMode:config.enableSecurityMode??false,allowedSources:config.allowedSources??[]}}}
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"FrameworkEventManager",{enumerable:true,get:function(){return FrameworkEventManager}});const _types=require("./types");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}let FrameworkEventManager=class FrameworkEventManager{emitAppStart(instanceId){this.eventBus.emitSync(_types.FrameworkEventType.APP_START,{instanceId})}emitAppStarted(instanceId,duration){this.eventBus.emitSync(_types.FrameworkEventType.APP_STARTED,{instanceId,duration})}emitAppInitStart(instanceId){this.eventBus.emitSync(_types.FrameworkEventType.APP_INIT_START,{instanceId})}emitAppInitComplete(instanceId,context,duration){this.eventBus.emitSync(_types.FrameworkEventType.APP_INIT_COMPLETE,{instanceId,context,duration})}emitAppInitError(instanceId,error){this.eventBus.emitSync(_types.FrameworkEventType.APP_INIT_ERROR,{instanceId,error})}emitAppRenderStart(instanceId){this.eventBus.emitSync(_types.FrameworkEventType.APP_RENDER_START,{instanceId})}emitAppRenderComplete(instanceId,duration){this.eventBus.emitSync(_types.FrameworkEventType.APP_RENDER_COMPLETE,{instanceId,duration})}emitRouteChange(from,to,params){this.eventBus.emitSync(_types.FrameworkEventType.ROUTE_CHANGE,{from,to,params})}emitRouteNavigateStart(to,options){this.eventBus.emitSync(_types.FrameworkEventType.ROUTE_NAVIGATE_START,{to,options})}emitRouteNavigateComplete(to,duration){this.eventBus.emitSync(_types.FrameworkEventType.ROUTE_NAVIGATE_COMPLETE,{to,duration})}emitErrorOccurred(error,context){this.eventBus.emitSync(_types.FrameworkEventType.ERROR_OCCURRED,{error,context})}emitInstanceCreated(instanceId){this.eventBus.emitSync(_types.FrameworkEventType.INSTANCE_CREATED,{instanceId})}emitInstanceDestroyed(instanceId){this.eventBus.emitSync(_types.FrameworkEventType.INSTANCE_DESTROYED,{instanceId})}emitPerformanceUpdate(metrics){this.eventBus.emitSync(_types.FrameworkEventType.PERFORMANCE_UPDATE,{metrics})}constructor(eventBus){_define_property(this,"eventBus",void 0);this.eventBus=eventBus}};
@@ -1,69 +0,0 @@
1
- /**
2
- * 框架生命周期事件集成
3
- * 自动在框架关键节点触发事件
4
- */
5
- import type { AppEventBus } from './AppEventBus';
6
- import type { InitializationContext } from '../initialization';
7
- /**
8
- * 框架事件管理器
9
- */
10
- export declare class FrameworkEventManager {
11
- private eventBus;
12
- constructor(eventBus: AppEventBus);
13
- /**
14
- * 触发应用启动事件
15
- */
16
- emitAppStart(instanceId?: string): void;
17
- /**
18
- * 触发应用启动完成事件
19
- */
20
- emitAppStarted(instanceId: string, duration: number): void;
21
- /**
22
- * 触发应用初始化开始事件
23
- */
24
- emitAppInitStart(instanceId?: string): void;
25
- /**
26
- * 触发应用初始化完成事件
27
- */
28
- emitAppInitComplete(instanceId: string, context: InitializationContext, duration: number): void;
29
- /**
30
- * 触发应用初始化错误事件
31
- */
32
- emitAppInitError(instanceId: string, error: Error): void;
33
- /**
34
- * 触发应用渲染开始事件
35
- */
36
- emitAppRenderStart(instanceId?: string): void;
37
- /**
38
- * 触发应用渲染完成事件
39
- */
40
- emitAppRenderComplete(instanceId: string, duration: number): void;
41
- /**
42
- * 触发路由变化事件
43
- */
44
- emitRouteChange(from: string, to: string, params?: Record<string, unknown>): void;
45
- /**
46
- * 触发路由导航开始事件
47
- */
48
- emitRouteNavigateStart(to: string, options?: unknown): void;
49
- /**
50
- * 触发路由导航完成事件
51
- */
52
- emitRouteNavigateComplete(to: string, duration: number): void;
53
- /**
54
- * 触发错误发生事件
55
- */
56
- emitErrorOccurred(error: Error, context?: unknown): void;
57
- /**
58
- * 触发实例创建事件
59
- */
60
- emitInstanceCreated(instanceId: string): void;
61
- /**
62
- * 触发实例销毁事件
63
- */
64
- emitInstanceDestroyed(instanceId: string): void;
65
- /**
66
- * 触发性能指标更新事件
67
- */
68
- emitPerformanceUpdate(metrics: Record<string, number>): void;
69
- }
@@ -1 +0,0 @@
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{FrameworkEventType}from"./types";export class FrameworkEventManager{emitAppStart(instanceId){this.eventBus.emitSync(FrameworkEventType.APP_START,{instanceId})}emitAppStarted(instanceId,duration){this.eventBus.emitSync(FrameworkEventType.APP_STARTED,{instanceId,duration})}emitAppInitStart(instanceId){this.eventBus.emitSync(FrameworkEventType.APP_INIT_START,{instanceId})}emitAppInitComplete(instanceId,context,duration){this.eventBus.emitSync(FrameworkEventType.APP_INIT_COMPLETE,{instanceId,context,duration})}emitAppInitError(instanceId,error){this.eventBus.emitSync(FrameworkEventType.APP_INIT_ERROR,{instanceId,error})}emitAppRenderStart(instanceId){this.eventBus.emitSync(FrameworkEventType.APP_RENDER_START,{instanceId})}emitAppRenderComplete(instanceId,duration){this.eventBus.emitSync(FrameworkEventType.APP_RENDER_COMPLETE,{instanceId,duration})}emitRouteChange(from,to,params){this.eventBus.emitSync(FrameworkEventType.ROUTE_CHANGE,{from,to,params})}emitRouteNavigateStart(to,options){this.eventBus.emitSync(FrameworkEventType.ROUTE_NAVIGATE_START,{to,options})}emitRouteNavigateComplete(to,duration){this.eventBus.emitSync(FrameworkEventType.ROUTE_NAVIGATE_COMPLETE,{to,duration})}emitErrorOccurred(error,context){this.eventBus.emitSync(FrameworkEventType.ERROR_OCCURRED,{error,context})}emitInstanceCreated(instanceId){this.eventBus.emitSync(FrameworkEventType.INSTANCE_CREATED,{instanceId})}emitInstanceDestroyed(instanceId){this.eventBus.emitSync(FrameworkEventType.INSTANCE_DESTROYED,{instanceId})}emitPerformanceUpdate(metrics){this.eventBus.emitSync(FrameworkEventType.PERFORMANCE_UPDATE,{metrics})}constructor(eventBus){_define_property(this,"eventBus",void 0);this.eventBus=eventBus}}