@vlian/framework 1.2.25 → 1.2.38

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 (319) hide show
  1. package/dist/analytics.umd.js +208 -2395
  2. package/dist/analytics.umd.js.map +1 -1
  3. package/dist/core/Test.cjs +2 -2
  4. package/dist/core/Test.cjs.map +1 -1
  5. package/dist/core/Test.js +1 -1
  6. package/dist/core/Test.js.map +1 -1
  7. package/dist/core/config/ConfigLoader.cjs +7 -7
  8. package/dist/core/config/ConfigLoader.cjs.map +1 -1
  9. package/dist/core/config/ConfigLoader.js +1 -1
  10. package/dist/core/config/ConfigLoader.js.map +1 -1
  11. package/dist/core/error/ErrorBoundary.cjs +6 -6
  12. package/dist/core/error/ErrorBoundary.cjs.map +1 -1
  13. package/dist/core/error/ErrorBoundary.d.ts +1 -1
  14. package/dist/core/error/ErrorBoundary.js +2 -2
  15. package/dist/core/error/ErrorBoundary.js.map +1 -1
  16. package/dist/core/error/ErrorHandler.cjs +19 -19
  17. package/dist/core/error/ErrorHandler.cjs.map +1 -1
  18. package/dist/core/error/ErrorHandler.d.ts +2 -2
  19. package/dist/core/error/ErrorHandler.js +2 -2
  20. package/dist/core/error/ErrorHandler.js.map +1 -1
  21. package/dist/core/event/AppEventBus.cjs +5 -5
  22. package/dist/core/event/AppEventBus.cjs.map +1 -1
  23. package/dist/core/event/AppEventBus.js +1 -1
  24. package/dist/core/event/AppEventBus.js.map +1 -1
  25. package/dist/core/initialization/InitializationErrorThrower.cjs.map +1 -1
  26. package/dist/core/initialization/InitializationErrorThrower.js.map +1 -1
  27. package/dist/core/initialization/initialization.cjs +3 -3
  28. package/dist/core/initialization/initialization.cjs.map +1 -1
  29. package/dist/core/initialization/initialization.d.ts +1 -1
  30. package/dist/core/initialization/initialization.js +1 -1
  31. package/dist/core/initialization/initialization.js.map +1 -1
  32. package/dist/core/initialization/initializationErrorState.cjs +2 -2
  33. package/dist/core/initialization/initializationErrorState.cjs.map +1 -1
  34. package/dist/core/initialization/initializationErrorState.d.ts +1 -1
  35. package/dist/core/initialization/initializationErrorState.js +1 -1
  36. package/dist/core/initialization/initializationErrorState.js.map +1 -1
  37. package/dist/core/kernel/defaultAdapters.cjs +14 -13
  38. package/dist/core/kernel/defaultAdapters.cjs.map +1 -1
  39. package/dist/core/kernel/defaultAdapters.js +2 -1
  40. package/dist/core/kernel/defaultAdapters.js.map +1 -1
  41. package/dist/core/kernel/types.d.ts +1 -1
  42. package/dist/core/kernel/types.js.map +1 -1
  43. package/dist/core/router/RouterManager.cjs +9 -9
  44. package/dist/core/router/RouterManager.cjs.map +1 -1
  45. package/dist/core/router/RouterManager.js +1 -1
  46. package/dist/core/router/RouterManager.js.map +1 -1
  47. package/dist/core/router/adapter/AdapterManager.cjs +10 -10
  48. package/dist/core/router/adapter/AdapterManager.cjs.map +1 -1
  49. package/dist/core/router/adapter/AdapterManager.js +1 -1
  50. package/dist/core/router/adapter/AdapterManager.js.map +1 -1
  51. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +4 -4
  52. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +1 -1
  53. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -1
  54. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +1 -1
  55. package/dist/core/router/dynamic/DynamicRouteManager.cjs +8 -8
  56. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +1 -1
  57. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -1
  58. package/dist/core/router/dynamic/DynamicRouteManager.js.map +1 -1
  59. package/dist/core/router/errors/RouterError.cjs +4 -4
  60. package/dist/core/router/errors/RouterError.cjs.map +1 -1
  61. package/dist/core/router/errors/RouterError.d.ts +1 -1
  62. package/dist/core/router/errors/RouterError.js +1 -1
  63. package/dist/core/router/errors/RouterError.js.map +1 -1
  64. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +8 -8
  65. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +1 -1
  66. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -1
  67. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +1 -1
  68. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +11 -11
  69. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +1 -1
  70. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -1
  71. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +1 -1
  72. package/dist/core/router/middleware/auth.cjs +4 -4
  73. package/dist/core/router/middleware/auth.cjs.map +1 -1
  74. package/dist/core/router/middleware/auth.js +1 -1
  75. package/dist/core/router/middleware/auth.js.map +1 -1
  76. package/dist/core/router/monitoring/RouterMonitoring.cjs +2 -2
  77. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -1
  78. package/dist/core/router/monitoring/RouterMonitoring.js +2 -2
  79. package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -1
  80. package/dist/core/router/navigation/RouterNavigation.cjs +7 -7
  81. package/dist/core/router/navigation/RouterNavigation.cjs.map +1 -1
  82. package/dist/core/router/navigation/RouterNavigation.js +1 -1
  83. package/dist/core/router/navigation/RouterNavigation.js.map +1 -1
  84. package/dist/core/router/performance/RouteCache.cjs +7 -7
  85. package/dist/core/router/performance/RouteCache.cjs.map +1 -1
  86. package/dist/core/router/performance/RouteCache.js +1 -1
  87. package/dist/core/router/performance/RouteCache.js.map +1 -1
  88. package/dist/core/router/performance/RoutePreloader.cjs +6 -6
  89. package/dist/core/router/performance/RoutePreloader.cjs.map +1 -1
  90. package/dist/core/router/performance/RoutePreloader.js +1 -1
  91. package/dist/core/router/performance/RoutePreloader.js.map +1 -1
  92. package/dist/core/router/plugin/RouterPluginManager.cjs +8 -8
  93. package/dist/core/router/plugin/RouterPluginManager.cjs.map +1 -1
  94. package/dist/core/router/plugin/RouterPluginManager.js +1 -1
  95. package/dist/core/router/plugin/RouterPluginManager.js.map +1 -1
  96. package/dist/core/router/utils/adapters/react-router/transform.cjs +6 -2
  97. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -1
  98. package/dist/core/router/utils/adapters/react-router/transform.js +5 -1
  99. package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -1
  100. package/dist/core/router/utils/transform.cjs +13 -12
  101. package/dist/core/router/utils/transform.cjs.map +1 -1
  102. package/dist/core/router/utils/transform.js +2 -1
  103. package/dist/core/router/utils/transform.js.map +1 -1
  104. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -2
  105. package/dist/core/router/validation/RouterConfigValidator.cjs.map +1 -1
  106. package/dist/core/router/validation/RouterConfigValidator.js +1 -1
  107. package/dist/core/router/validation/RouterConfigValidator.js.map +1 -1
  108. package/dist/core/router/version/RouteVersionManager.cjs +6 -6
  109. package/dist/core/router/version/RouteVersionManager.cjs.map +1 -1
  110. package/dist/core/router/version/RouteVersionManager.js +1 -1
  111. package/dist/core/router/version/RouteVersionManager.js.map +1 -1
  112. package/dist/core/splash/SplashScreen.cjs +4 -4
  113. package/dist/core/splash/SplashScreen.cjs.map +1 -1
  114. package/dist/core/splash/SplashScreen.js +1 -1
  115. package/dist/core/splash/SplashScreen.js.map +1 -1
  116. package/dist/core/startup/initializeServices.cjs +15 -15
  117. package/dist/core/startup/initializeServices.cjs.map +1 -1
  118. package/dist/core/startup/initializeServices.d.ts +2 -2
  119. package/dist/core/startup/initializeServices.js +3 -3
  120. package/dist/core/startup/initializeServices.js.map +1 -1
  121. package/dist/core/startup/performanceTracker.cjs.map +1 -1
  122. package/dist/core/startup/performanceTracker.d.ts +1 -1
  123. package/dist/core/startup/performanceTracker.js.map +1 -1
  124. package/dist/core/startup/renderApp.cjs +3 -3
  125. package/dist/core/startup/renderApp.cjs.map +1 -1
  126. package/dist/core/startup/renderApp.d.ts +1 -1
  127. package/dist/core/startup/renderApp.js +2 -2
  128. package/dist/core/startup/renderApp.js.map +1 -1
  129. package/dist/core/startup/startApp.cjs +24 -24
  130. package/dist/core/startup/startApp.cjs.map +1 -1
  131. package/dist/core/startup/startApp.js +5 -5
  132. package/dist/core/startup/startApp.js.map +1 -1
  133. package/dist/core/types.d.ts +3 -3
  134. package/dist/core/types.js.map +1 -1
  135. package/dist/index.cjs +15 -2
  136. package/dist/index.cjs.map +1 -1
  137. package/dist/index.d.ts +6 -4
  138. package/dist/index.js +5 -4
  139. package/dist/index.js.map +1 -1
  140. package/dist/index.umd.js +2150 -23125
  141. package/dist/index.umd.js.map +1 -1
  142. package/dist/kernel/constants.cjs +67 -0
  143. package/dist/kernel/constants.cjs.map +1 -0
  144. package/dist/kernel/constants.d.ts +5 -0
  145. package/dist/kernel/constants.js +43 -0
  146. package/dist/kernel/constants.js.map +1 -0
  147. package/dist/kernel/index.cjs +40 -0
  148. package/dist/kernel/index.cjs.map +1 -0
  149. package/dist/kernel/index.d.ts +3 -0
  150. package/dist/kernel/index.js +4 -0
  151. package/dist/kernel/index.js.map +1 -0
  152. package/dist/kernel/kernel.cjs +296 -0
  153. package/dist/kernel/kernel.cjs.map +1 -0
  154. package/dist/kernel/kernel.d.ts +40 -0
  155. package/dist/kernel/kernel.js +272 -0
  156. package/dist/kernel/kernel.js.map +1 -0
  157. package/dist/kernel/manager/cacheManager.cjs +46 -0
  158. package/dist/kernel/manager/cacheManager.cjs.map +1 -0
  159. package/dist/kernel/manager/cacheManager.d.ts +6 -0
  160. package/dist/kernel/manager/cacheManager.js +36 -0
  161. package/dist/kernel/manager/cacheManager.js.map +1 -0
  162. package/dist/kernel/manager/i18nManager.cjs +68 -0
  163. package/dist/kernel/manager/i18nManager.cjs.map +1 -0
  164. package/dist/kernel/manager/i18nManager.d.ts +8 -0
  165. package/dist/kernel/manager/i18nManager.js +58 -0
  166. package/dist/kernel/manager/i18nManager.js.map +1 -0
  167. package/dist/kernel/manager/index.cjs +30 -0
  168. package/dist/kernel/manager/index.cjs.map +1 -0
  169. package/dist/kernel/manager/index.d.ts +4 -0
  170. package/dist/kernel/manager/index.js +6 -0
  171. package/dist/kernel/manager/index.js.map +1 -0
  172. package/dist/kernel/manager/loggerManager.cjs +70 -0
  173. package/dist/kernel/manager/loggerManager.cjs.map +1 -0
  174. package/dist/kernel/manager/loggerManager.d.ts +14 -0
  175. package/dist/kernel/manager/loggerManager.js +60 -0
  176. package/dist/kernel/manager/loggerManager.js.map +1 -0
  177. package/dist/kernel/manager/persistence.cjs +93 -0
  178. package/dist/kernel/manager/persistence.cjs.map +1 -0
  179. package/dist/kernel/manager/persistence.d.ts +3 -0
  180. package/dist/kernel/manager/persistence.js +75 -0
  181. package/dist/kernel/manager/persistence.js.map +1 -0
  182. package/dist/kernel/manager/themeManager.cjs +85 -0
  183. package/dist/kernel/manager/themeManager.cjs.map +1 -0
  184. package/dist/kernel/manager/themeManager.d.ts +9 -0
  185. package/dist/kernel/manager/themeManager.js +75 -0
  186. package/dist/kernel/manager/themeManager.js.map +1 -0
  187. package/dist/kernel/types.cjs +6 -0
  188. package/dist/kernel/types.cjs.map +1 -0
  189. package/dist/kernel/types.d.ts +72 -0
  190. package/dist/kernel/types.js +3 -0
  191. package/dist/kernel/types.js.map +1 -0
  192. package/dist/library/storage/encryption.cjs +12 -13
  193. package/dist/library/storage/encryption.cjs.map +1 -1
  194. package/dist/library/storage/encryption.js +1 -2
  195. package/dist/library/storage/encryption.js.map +1 -1
  196. package/dist/request/adapter.d.ts +1 -0
  197. package/dist/request/core.d.ts +1 -0
  198. package/dist/request/index.d.ts +1 -42
  199. package/dist/request/plugin/csrfPlugin.d.ts +2 -2
  200. package/dist/request/plugin/queue.d.ts +2 -2
  201. package/dist/request/plugin.d.ts +1 -0
  202. package/dist/request/runtime.d.ts +1 -0
  203. package/dist/request/types.d.ts +1 -394
  204. package/dist/request/utils.d.ts +1 -0
  205. package/dist/state.umd.js +1 -1
  206. package/dist/utils/csrf.cjs +13 -152
  207. package/dist/utils/csrf.cjs.map +1 -1
  208. package/dist/utils/csrf.d.ts +1 -72
  209. package/dist/utils/csrf.js +1 -142
  210. package/dist/utils/csrf.js.map +1 -1
  211. package/dist/utils/errors/ErrorCodes.cjs +6 -76
  212. package/dist/utils/errors/ErrorCodes.cjs.map +1 -1
  213. package/dist/utils/errors/ErrorCodes.d.ts +1 -45
  214. package/dist/utils/errors/ErrorCodes.js +1 -84
  215. package/dist/utils/errors/ErrorCodes.js.map +1 -1
  216. package/dist/utils/errors.cjs +53 -326
  217. package/dist/utils/errors.cjs.map +1 -1
  218. package/dist/utils/errors.d.ts +19 -172
  219. package/dist/utils/errors.js +16 -352
  220. package/dist/utils/errors.js.map +1 -1
  221. package/dist/utils/logger.cjs +5 -374
  222. package/dist/utils/logger.cjs.map +1 -1
  223. package/dist/utils/logger.d.ts +2 -189
  224. package/dist/utils/logger.js +1 -379
  225. package/dist/utils/logger.js.map +1 -1
  226. package/dist/utils/logger.types.cjs +3 -12
  227. package/dist/utils/logger.types.cjs.map +1 -1
  228. package/dist/utils/logger.types.d.ts +2 -57
  229. package/dist/utils/logger.types.js +1 -10
  230. package/dist/utils/logger.types.js.map +1 -1
  231. package/dist/utils/monitoring.cjs +11 -302
  232. package/dist/utils/monitoring.cjs.map +1 -1
  233. package/dist/utils/monitoring.d.ts +1 -163
  234. package/dist/utils/monitoring.js +1 -294
  235. package/dist/utils/monitoring.js.map +1 -1
  236. package/dist/utils/performance.cjs +5 -352
  237. package/dist/utils/performance.cjs.map +1 -1
  238. package/dist/utils/performance.d.ts +2 -246
  239. package/dist/utils/performance.js +1 -354
  240. package/dist/utils/performance.js.map +1 -1
  241. package/dist/utils/resourceLoader.cjs +5 -303
  242. package/dist/utils/resourceLoader.cjs.map +1 -1
  243. package/dist/utils/resourceLoader.d.ts +2 -130
  244. package/dist/utils/resourceLoader.js +1 -305
  245. package/dist/utils/resourceLoader.js.map +1 -1
  246. package/dist/utils/runtimeSecurity.cjs +2 -140
  247. package/dist/utils/runtimeSecurity.cjs.map +1 -1
  248. package/dist/utils/runtimeSecurity.d.ts +2 -104
  249. package/dist/utils/runtimeSecurity.js +1 -141
  250. package/dist/utils/runtimeSecurity.js.map +1 -1
  251. package/dist/utils/security.cjs +3 -314
  252. package/dist/utils/security.cjs.map +1 -1
  253. package/dist/utils/security.d.ts +2 -80
  254. package/dist/utils/security.js +1 -311
  255. package/dist/utils/security.js.map +1 -1
  256. package/dist/utils/traceId.cjs +10 -111
  257. package/dist/utils/traceId.cjs.map +1 -1
  258. package/dist/utils/traceId.d.ts +1 -63
  259. package/dist/utils/traceId.js +1 -116
  260. package/dist/utils/traceId.js.map +1 -1
  261. package/dist/utils/validation.cjs +3 -173
  262. package/dist/utils/validation.cjs.map +1 -1
  263. package/dist/utils/validation.d.ts +2 -110
  264. package/dist/utils/validation.js +1 -175
  265. package/dist/utils/validation.js.map +1 -1
  266. package/package.json +15 -24
  267. package/dist/lazy/index.cjs +0 -104
  268. package/dist/lazy/index.cjs.map +0 -1
  269. package/dist/lazy/index.d.ts +0 -19
  270. package/dist/lazy/index.js +0 -24
  271. package/dist/lazy/index.js.map +0 -1
  272. package/dist/request/adapter/RequestAdapter.cjs +0 -78
  273. package/dist/request/adapter/RequestAdapter.cjs.map +0 -1
  274. package/dist/request/adapter/axiosAdapter.cjs +0 -164
  275. package/dist/request/adapter/axiosAdapter.cjs.map +0 -1
  276. package/dist/request/adapter/fetchAdapter.cjs +0 -134
  277. package/dist/request/adapter/fetchAdapter.cjs.map +0 -1
  278. package/dist/request/adapter/index.cjs +0 -80
  279. package/dist/request/adapter/index.cjs.map +0 -1
  280. package/dist/request/adapter/kyAdapter.cjs +0 -191
  281. package/dist/request/adapter/kyAdapter.cjs.map +0 -1
  282. package/dist/request/adapter/undiciAdapter.cjs +0 -213
  283. package/dist/request/adapter/undiciAdapter.cjs.map +0 -1
  284. package/dist/request/core/RequestClient.cjs +0 -558
  285. package/dist/request/core/RequestClient.cjs.map +0 -1
  286. package/dist/request/core/index.cjs +0 -15
  287. package/dist/request/core/index.cjs.map +0 -1
  288. package/dist/request/index.cjs +0 -149
  289. package/dist/request/index.cjs.map +0 -1
  290. package/dist/request/plugin/RequestPlugin.cjs +0 -218
  291. package/dist/request/plugin/RequestPlugin.cjs.map +0 -1
  292. package/dist/request/plugin/cache.cjs +0 -269
  293. package/dist/request/plugin/cache.cjs.map +0 -1
  294. package/dist/request/plugin/csrfPlugin.cjs +0 -40
  295. package/dist/request/plugin/csrfPlugin.cjs.map +0 -1
  296. package/dist/request/plugin/index.cjs +0 -53
  297. package/dist/request/plugin/index.cjs.map +0 -1
  298. package/dist/request/plugin/monitoring.cjs +0 -216
  299. package/dist/request/plugin/monitoring.cjs.map +0 -1
  300. package/dist/request/plugin/queue.cjs +0 -140
  301. package/dist/request/plugin/queue.cjs.map +0 -1
  302. package/dist/request/plugin/retry.cjs +0 -98
  303. package/dist/request/plugin/retry.cjs.map +0 -1
  304. package/dist/request/plugin/validation.cjs +0 -121
  305. package/dist/request/plugin/validation.cjs.map +0 -1
  306. package/dist/request/runtime/RequestContext.cjs +0 -77
  307. package/dist/request/runtime/RequestContext.cjs.map +0 -1
  308. package/dist/request/runtime/index.cjs +0 -32
  309. package/dist/request/runtime/index.cjs.map +0 -1
  310. package/dist/request/types.cjs +0 -112
  311. package/dist/request/types.cjs.map +0 -1
  312. package/dist/request/utils/RequestQueueManager.cjs +0 -168
  313. package/dist/request/utils/RequestQueueManager.cjs.map +0 -1
  314. package/dist/request/utils/dependencyCheck.cjs +0 -237
  315. package/dist/request/utils/dependencyCheck.cjs.map +0 -1
  316. package/dist/request/utils/index.cjs +0 -30
  317. package/dist/request/utils/index.cjs.map +0 -1
  318. package/dist/request.umd.js +0 -5392
  319. package/dist/request.umd.js.map +0 -1
@@ -19,7 +19,7 @@ _export(exports, {
19
19
  return getAdapterManager;
20
20
  }
21
21
  });
22
- const _utils = require("../../../utils");
22
+ const _logger = require("@vlian/logger");
23
23
  const _errors = require("../errors");
24
24
  function _define_property(obj, key, value) {
25
25
  if (key in obj) {
@@ -56,7 +56,7 @@ let AdapterManager = class AdapterManager {
56
56
  };
57
57
  // 注册适配器
58
58
  this.adapters.set(registration.name, adapterRegistration);
59
- _utils.logger.debug(`路由适配器已注册: ${registration.name}`);
59
+ _logger.logger.debug(`路由适配器已注册: ${registration.name}`);
60
60
  // 如果没有默认适配器,设置为第一个注册的适配器
61
61
  if (!this.defaultAdapterName) {
62
62
  this.defaultAdapterName = registration.name;
@@ -80,7 +80,7 @@ let AdapterManager = class AdapterManager {
80
80
  */ unregister(name) {
81
81
  if (this.adapters.has(name)) {
82
82
  this.adapters.delete(name);
83
- _utils.logger.debug(`路由适配器已取消注册: ${name}`);
83
+ _logger.logger.debug(`路由适配器已取消注册: ${name}`);
84
84
  // 如果取消的是默认适配器,重置默认适配器
85
85
  if (this.defaultAdapterName === name) {
86
86
  const firstAdapter = Array.from(this.adapters.keys())[0];
@@ -119,10 +119,10 @@ let AdapterManager = class AdapterManager {
119
119
  }
120
120
  // 初始化适配器
121
121
  await adapter.initialize(config);
122
- _utils.logger.info(`路由适配器已创建并初始化: ${adapterName}`);
122
+ _logger.logger.info(`路由适配器已创建并初始化: ${adapterName}`);
123
123
  return adapter;
124
124
  } catch (error) {
125
- _utils.logger.error(`创建路由适配器失败: ${adapterName}`, error);
125
+ _logger.logger.error(`创建路由适配器失败: ${adapterName}`, error);
126
126
  const errorContext = {
127
127
  adapterName
128
128
  };
@@ -142,11 +142,11 @@ let AdapterManager = class AdapterManager {
142
142
  try {
143
143
  this.currentAdapter.destroy();
144
144
  } catch (error) {
145
- _utils.logger.warn('销毁旧适配器失败', error);
145
+ _logger.logger.warn('销毁旧适配器失败', error);
146
146
  }
147
147
  }
148
148
  this.currentAdapter = adapter;
149
- _utils.logger.debug(`当前路由适配器已设置: ${adapter.name}`);
149
+ _logger.logger.debug(`当前路由适配器已设置: ${adapter.name}`);
150
150
  }
151
151
  /**
152
152
  * 获取当前适配器
@@ -164,7 +164,7 @@ let AdapterManager = class AdapterManager {
164
164
  throw new Error(`适配器不存在: ${name}`);
165
165
  }
166
166
  this.defaultAdapterName = name;
167
- _utils.logger.debug(`默认路由适配器已设置: ${name}`);
167
+ _logger.logger.debug(`默认路由适配器已设置: ${name}`);
168
168
  }
169
169
  /**
170
170
  * 获取默认适配器名称
@@ -203,13 +203,13 @@ let AdapterManager = class AdapterManager {
203
203
  try {
204
204
  this.currentAdapter.destroy();
205
205
  } catch (error) {
206
- _utils.logger.warn('销毁适配器失败', error);
206
+ _logger.logger.warn('销毁适配器失败', error);
207
207
  }
208
208
  }
209
209
  this.adapters.clear();
210
210
  this.currentAdapter = null;
211
211
  this.defaultAdapterName = null;
212
- _utils.logger.debug('所有路由适配器已清空');
212
+ _logger.logger.debug('所有路由适配器已清空');
213
213
  }
214
214
  /**
215
215
  * 获取适配器数量
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/router/adapter/AdapterManager.ts"],"sourcesContent":["/**\n * 路由适配器管理器\n * 负责管理路由适配器的注册、创建和切换\n */\n\nimport { logger } from '../../../utils';\nimport type { IRouterAdapter, AdapterRegistration, RouterAdapterConfig } from './types';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 路由适配器管理器\n */\nexport class AdapterManager {\n private adapters: Map<string, AdapterRegistration> = new Map();\n private currentAdapter: IRouterAdapter | null = null;\n private defaultAdapterName: string | null = null;\n\n /**\n * 注册适配器\n * \n * @param registration - 适配器注册信息\n * @returns 取消注册函数\n */\n register(registration: AdapterRegistration): () => void {\n // 验证适配器\n if (!registration.name) {\n throw new Error('适配器必须提供名称');\n }\n\n if (!registration.factory || typeof registration.factory !== 'function') {\n throw new Error('适配器必须提供工厂函数');\n }\n\n // 设置默认值\n const adapterRegistration: AdapterRegistration = {\n priority: 100,\n enabled: true,\n ...registration,\n };\n\n // 注册适配器\n this.adapters.set(registration.name, adapterRegistration);\n\n logger.debug(`路由适配器已注册: ${registration.name}`);\n\n // 如果没有默认适配器,设置为第一个注册的适配器\n if (!this.defaultAdapterName) {\n this.defaultAdapterName = registration.name;\n }\n\n // 返回取消注册函数\n return () => {\n this.unregister(registration.name);\n };\n }\n\n /**\n * 批量注册适配器\n * \n * @param registrations - 适配器注册信息数组\n */\n registerBatch(registrations: AdapterRegistration[]): void {\n registrations.forEach((registration) => this.register(registration));\n }\n\n /**\n * 取消注册适配器\n * \n * @param name - 适配器名称\n */\n unregister(name: string): void {\n if (this.adapters.has(name)) {\n this.adapters.delete(name);\n logger.debug(`路由适配器已取消注册: ${name}`);\n\n // 如果取消的是默认适配器,重置默认适配器\n if (this.defaultAdapterName === name) {\n const firstAdapter = Array.from(this.adapters.keys())[0];\n this.defaultAdapterName = firstAdapter || null;\n }\n }\n }\n\n /**\n * 创建适配器实例\n * \n * @param name - 适配器名称(可选,使用默认适配器)\n * @param config - 适配器配置\n * @returns 适配器实例\n */\n async createAdapter(\n config: RouterAdapterConfig,\n name?: string\n ): Promise<IRouterAdapter> {\n const adapterName = name || this.defaultAdapterName;\n\n if (!adapterName) {\n throw new RouterError(\n '没有可用的路由适配器',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n const registration = this.adapters.get(adapterName);\n\n if (!registration) {\n throw new RouterError(\n `路由适配器不存在: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n if (!registration.enabled) {\n throw new RouterError(\n `路由适配器已禁用: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n try {\n // 创建适配器实例\n const adapter = await registration.factory(config);\n\n // 验证适配器\n if (!adapter || typeof adapter.initialize !== 'function') {\n throw new Error('适配器实例无效');\n }\n\n // 初始化适配器\n await adapter.initialize(config);\n\n logger.info(`路由适配器已创建并初始化: ${adapterName}`);\n\n return adapter;\n } catch (error) {\n logger.error(`创建路由适配器失败: ${adapterName}`, error);\n const errorContext: Record<string, unknown> = { adapterName };\n if (error instanceof Error) {\n errorContext.originalError = error;\n }\n throw new RouterError(\n `创建路由适配器失败: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n error instanceof Error ? error : undefined,\n errorContext\n );\n }\n }\n\n /**\n * 设置当前适配器\n * \n * @param adapter - 适配器实例\n */\n setCurrentAdapter(adapter: IRouterAdapter): void {\n // 销毁旧的适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁旧适配器失败', error);\n }\n }\n\n this.currentAdapter = adapter;\n logger.debug(`当前路由适配器已设置: ${adapter.name}`);\n }\n\n /**\n * 获取当前适配器\n * \n * @returns 当前适配器实例,如果不存在返回 null\n */\n getCurrentAdapter(): IRouterAdapter | null {\n return this.currentAdapter;\n }\n\n /**\n * 设置默认适配器\n * \n * @param name - 适配器名称\n */\n setDefaultAdapter(name: string): void {\n if (!this.adapters.has(name)) {\n throw new Error(`适配器不存在: ${name}`);\n }\n\n this.defaultAdapterName = name;\n logger.debug(`默认路由适配器已设置: ${name}`);\n }\n\n /**\n * 获取默认适配器名称\n * \n * @returns 默认适配器名称\n */\n getDefaultAdapterName(): string | null {\n return this.defaultAdapterName;\n }\n\n /**\n * 获取所有适配器\n * \n * @returns 适配器注册信息数组\n */\n getAllAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values());\n }\n\n /**\n * 获取启用的适配器\n * \n * @returns 启用的适配器注册信息数组\n */\n getEnabledAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values()).filter((a) => a.enabled !== false);\n }\n\n /**\n * 获取适配器\n * \n * @param name - 适配器名称\n * @returns 适配器注册信息,如果不存在返回 undefined\n */\n getAdapter(name: string): AdapterRegistration | undefined {\n return this.adapters.get(name);\n }\n\n /**\n * 清空所有适配器\n */\n clear(): void {\n // 销毁当前适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁适配器失败', error);\n }\n }\n\n this.adapters.clear();\n this.currentAdapter = null;\n this.defaultAdapterName = null;\n logger.debug('所有路由适配器已清空');\n }\n\n /**\n * 获取适配器数量\n * \n * @returns 适配器数量\n */\n getCount(): number {\n return this.adapters.size;\n }\n}\n\n/**\n * 获取路由适配器管理器单例\n */\nlet adapterManagerInstance: AdapterManager | null = null;\n\nexport function getAdapterManager(): AdapterManager {\n if (!adapterManagerInstance) {\n adapterManagerInstance = new AdapterManager();\n }\n return adapterManagerInstance;\n}\n"],"names":["AdapterManager","getAdapterManager","register","registration","name","Error","factory","adapterRegistration","priority","enabled","adapters","set","logger","debug","defaultAdapterName","unregister","registerBatch","registrations","forEach","has","delete","firstAdapter","Array","from","keys","createAdapter","config","adapterName","RouterError","RouterErrorCode","ROUTER_NOT_INITIALIZED","get","ROUTER_CONFIG_ERROR","undefined","adapter","initialize","info","error","errorContext","originalError","setCurrentAdapter","currentAdapter","destroy","warn","getCurrentAdapter","setDefaultAdapter","getDefaultAdapterName","getAllAdapters","values","getEnabledAdapters","filter","a","getAdapter","clear","getCount","size","Map","adapterManagerInstance"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/core/router/adapter/AdapterManager.ts"],"sourcesContent":["/**\n * 路由适配器管理器\n * 负责管理路由适配器的注册、创建和切换\n */\n\nimport { logger } from '@vlian/logger';\nimport type { IRouterAdapter, AdapterRegistration, RouterAdapterConfig } from './types';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 路由适配器管理器\n */\nexport class AdapterManager {\n private adapters: Map<string, AdapterRegistration> = new Map();\n private currentAdapter: IRouterAdapter | null = null;\n private defaultAdapterName: string | null = null;\n\n /**\n * 注册适配器\n * \n * @param registration - 适配器注册信息\n * @returns 取消注册函数\n */\n register(registration: AdapterRegistration): () => void {\n // 验证适配器\n if (!registration.name) {\n throw new Error('适配器必须提供名称');\n }\n\n if (!registration.factory || typeof registration.factory !== 'function') {\n throw new Error('适配器必须提供工厂函数');\n }\n\n // 设置默认值\n const adapterRegistration: AdapterRegistration = {\n priority: 100,\n enabled: true,\n ...registration,\n };\n\n // 注册适配器\n this.adapters.set(registration.name, adapterRegistration);\n\n logger.debug(`路由适配器已注册: ${registration.name}`);\n\n // 如果没有默认适配器,设置为第一个注册的适配器\n if (!this.defaultAdapterName) {\n this.defaultAdapterName = registration.name;\n }\n\n // 返回取消注册函数\n return () => {\n this.unregister(registration.name);\n };\n }\n\n /**\n * 批量注册适配器\n * \n * @param registrations - 适配器注册信息数组\n */\n registerBatch(registrations: AdapterRegistration[]): void {\n registrations.forEach((registration) => this.register(registration));\n }\n\n /**\n * 取消注册适配器\n * \n * @param name - 适配器名称\n */\n unregister(name: string): void {\n if (this.adapters.has(name)) {\n this.adapters.delete(name);\n logger.debug(`路由适配器已取消注册: ${name}`);\n\n // 如果取消的是默认适配器,重置默认适配器\n if (this.defaultAdapterName === name) {\n const firstAdapter = Array.from(this.adapters.keys())[0];\n this.defaultAdapterName = firstAdapter || null;\n }\n }\n }\n\n /**\n * 创建适配器实例\n * \n * @param name - 适配器名称(可选,使用默认适配器)\n * @param config - 适配器配置\n * @returns 适配器实例\n */\n async createAdapter(\n config: RouterAdapterConfig,\n name?: string\n ): Promise<IRouterAdapter> {\n const adapterName = name || this.defaultAdapterName;\n\n if (!adapterName) {\n throw new RouterError(\n '没有可用的路由适配器',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n const registration = this.adapters.get(adapterName);\n\n if (!registration) {\n throw new RouterError(\n `路由适配器不存在: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n if (!registration.enabled) {\n throw new RouterError(\n `路由适配器已禁用: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n try {\n // 创建适配器实例\n const adapter = await registration.factory(config);\n\n // 验证适配器\n if (!adapter || typeof adapter.initialize !== 'function') {\n throw new Error('适配器实例无效');\n }\n\n // 初始化适配器\n await adapter.initialize(config);\n\n logger.info(`路由适配器已创建并初始化: ${adapterName}`);\n\n return adapter;\n } catch (error) {\n logger.error(`创建路由适配器失败: ${adapterName}`, error);\n const errorContext: Record<string, unknown> = { adapterName };\n if (error instanceof Error) {\n errorContext.originalError = error;\n }\n throw new RouterError(\n `创建路由适配器失败: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n error instanceof Error ? error : undefined,\n errorContext\n );\n }\n }\n\n /**\n * 设置当前适配器\n * \n * @param adapter - 适配器实例\n */\n setCurrentAdapter(adapter: IRouterAdapter): void {\n // 销毁旧的适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁旧适配器失败', error);\n }\n }\n\n this.currentAdapter = adapter;\n logger.debug(`当前路由适配器已设置: ${adapter.name}`);\n }\n\n /**\n * 获取当前适配器\n * \n * @returns 当前适配器实例,如果不存在返回 null\n */\n getCurrentAdapter(): IRouterAdapter | null {\n return this.currentAdapter;\n }\n\n /**\n * 设置默认适配器\n * \n * @param name - 适配器名称\n */\n setDefaultAdapter(name: string): void {\n if (!this.adapters.has(name)) {\n throw new Error(`适配器不存在: ${name}`);\n }\n\n this.defaultAdapterName = name;\n logger.debug(`默认路由适配器已设置: ${name}`);\n }\n\n /**\n * 获取默认适配器名称\n * \n * @returns 默认适配器名称\n */\n getDefaultAdapterName(): string | null {\n return this.defaultAdapterName;\n }\n\n /**\n * 获取所有适配器\n * \n * @returns 适配器注册信息数组\n */\n getAllAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values());\n }\n\n /**\n * 获取启用的适配器\n * \n * @returns 启用的适配器注册信息数组\n */\n getEnabledAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values()).filter((a) => a.enabled !== false);\n }\n\n /**\n * 获取适配器\n * \n * @param name - 适配器名称\n * @returns 适配器注册信息,如果不存在返回 undefined\n */\n getAdapter(name: string): AdapterRegistration | undefined {\n return this.adapters.get(name);\n }\n\n /**\n * 清空所有适配器\n */\n clear(): void {\n // 销毁当前适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁适配器失败', error);\n }\n }\n\n this.adapters.clear();\n this.currentAdapter = null;\n this.defaultAdapterName = null;\n logger.debug('所有路由适配器已清空');\n }\n\n /**\n * 获取适配器数量\n * \n * @returns 适配器数量\n */\n getCount(): number {\n return this.adapters.size;\n }\n}\n\n/**\n * 获取路由适配器管理器单例\n */\nlet adapterManagerInstance: AdapterManager | null = null;\n\nexport function getAdapterManager(): AdapterManager {\n if (!adapterManagerInstance) {\n adapterManagerInstance = new AdapterManager();\n }\n return adapterManagerInstance;\n}\n"],"names":["AdapterManager","getAdapterManager","register","registration","name","Error","factory","adapterRegistration","priority","enabled","adapters","set","logger","debug","defaultAdapterName","unregister","registerBatch","registrations","forEach","has","delete","firstAdapter","Array","from","keys","createAdapter","config","adapterName","RouterError","RouterErrorCode","ROUTER_NOT_INITIALIZED","get","ROUTER_CONFIG_ERROR","undefined","adapter","initialize","info","error","errorContext","originalError","setCurrentAdapter","currentAdapter","destroy","warn","getCurrentAdapter","setDefaultAdapter","getDefaultAdapterName","getAllAdapters","values","getEnabledAdapters","filter","a","getAdapter","clear","getCount","size","Map","adapterManagerInstance"],"mappings":"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"}
@@ -14,7 +14,7 @@ function _define_property(obj, key, value) {
14
14
  /**
15
15
  * 路由适配器管理器
16
16
  * 负责管理路由适配器的注册、创建和切换
17
- */ import { logger } from "../../../utils";
17
+ */ import { logger } from "@vlian/logger";
18
18
  import { RouterError, RouterErrorCode } from "../errors";
19
19
  /**
20
20
  * 路由适配器管理器
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/router/adapter/AdapterManager.ts"],"sourcesContent":["/**\n * 路由适配器管理器\n * 负责管理路由适配器的注册、创建和切换\n */\n\nimport { logger } from '../../../utils';\nimport type { IRouterAdapter, AdapterRegistration, RouterAdapterConfig } from './types';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 路由适配器管理器\n */\nexport class AdapterManager {\n private adapters: Map<string, AdapterRegistration> = new Map();\n private currentAdapter: IRouterAdapter | null = null;\n private defaultAdapterName: string | null = null;\n\n /**\n * 注册适配器\n * \n * @param registration - 适配器注册信息\n * @returns 取消注册函数\n */\n register(registration: AdapterRegistration): () => void {\n // 验证适配器\n if (!registration.name) {\n throw new Error('适配器必须提供名称');\n }\n\n if (!registration.factory || typeof registration.factory !== 'function') {\n throw new Error('适配器必须提供工厂函数');\n }\n\n // 设置默认值\n const adapterRegistration: AdapterRegistration = {\n priority: 100,\n enabled: true,\n ...registration,\n };\n\n // 注册适配器\n this.adapters.set(registration.name, adapterRegistration);\n\n logger.debug(`路由适配器已注册: ${registration.name}`);\n\n // 如果没有默认适配器,设置为第一个注册的适配器\n if (!this.defaultAdapterName) {\n this.defaultAdapterName = registration.name;\n }\n\n // 返回取消注册函数\n return () => {\n this.unregister(registration.name);\n };\n }\n\n /**\n * 批量注册适配器\n * \n * @param registrations - 适配器注册信息数组\n */\n registerBatch(registrations: AdapterRegistration[]): void {\n registrations.forEach((registration) => this.register(registration));\n }\n\n /**\n * 取消注册适配器\n * \n * @param name - 适配器名称\n */\n unregister(name: string): void {\n if (this.adapters.has(name)) {\n this.adapters.delete(name);\n logger.debug(`路由适配器已取消注册: ${name}`);\n\n // 如果取消的是默认适配器,重置默认适配器\n if (this.defaultAdapterName === name) {\n const firstAdapter = Array.from(this.adapters.keys())[0];\n this.defaultAdapterName = firstAdapter || null;\n }\n }\n }\n\n /**\n * 创建适配器实例\n * \n * @param name - 适配器名称(可选,使用默认适配器)\n * @param config - 适配器配置\n * @returns 适配器实例\n */\n async createAdapter(\n config: RouterAdapterConfig,\n name?: string\n ): Promise<IRouterAdapter> {\n const adapterName = name || this.defaultAdapterName;\n\n if (!adapterName) {\n throw new RouterError(\n '没有可用的路由适配器',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n const registration = this.adapters.get(adapterName);\n\n if (!registration) {\n throw new RouterError(\n `路由适配器不存在: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n if (!registration.enabled) {\n throw new RouterError(\n `路由适配器已禁用: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n try {\n // 创建适配器实例\n const adapter = await registration.factory(config);\n\n // 验证适配器\n if (!adapter || typeof adapter.initialize !== 'function') {\n throw new Error('适配器实例无效');\n }\n\n // 初始化适配器\n await adapter.initialize(config);\n\n logger.info(`路由适配器已创建并初始化: ${adapterName}`);\n\n return adapter;\n } catch (error) {\n logger.error(`创建路由适配器失败: ${adapterName}`, error);\n const errorContext: Record<string, unknown> = { adapterName };\n if (error instanceof Error) {\n errorContext.originalError = error;\n }\n throw new RouterError(\n `创建路由适配器失败: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n error instanceof Error ? error : undefined,\n errorContext\n );\n }\n }\n\n /**\n * 设置当前适配器\n * \n * @param adapter - 适配器实例\n */\n setCurrentAdapter(adapter: IRouterAdapter): void {\n // 销毁旧的适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁旧适配器失败', error);\n }\n }\n\n this.currentAdapter = adapter;\n logger.debug(`当前路由适配器已设置: ${adapter.name}`);\n }\n\n /**\n * 获取当前适配器\n * \n * @returns 当前适配器实例,如果不存在返回 null\n */\n getCurrentAdapter(): IRouterAdapter | null {\n return this.currentAdapter;\n }\n\n /**\n * 设置默认适配器\n * \n * @param name - 适配器名称\n */\n setDefaultAdapter(name: string): void {\n if (!this.adapters.has(name)) {\n throw new Error(`适配器不存在: ${name}`);\n }\n\n this.defaultAdapterName = name;\n logger.debug(`默认路由适配器已设置: ${name}`);\n }\n\n /**\n * 获取默认适配器名称\n * \n * @returns 默认适配器名称\n */\n getDefaultAdapterName(): string | null {\n return this.defaultAdapterName;\n }\n\n /**\n * 获取所有适配器\n * \n * @returns 适配器注册信息数组\n */\n getAllAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values());\n }\n\n /**\n * 获取启用的适配器\n * \n * @returns 启用的适配器注册信息数组\n */\n getEnabledAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values()).filter((a) => a.enabled !== false);\n }\n\n /**\n * 获取适配器\n * \n * @param name - 适配器名称\n * @returns 适配器注册信息,如果不存在返回 undefined\n */\n getAdapter(name: string): AdapterRegistration | undefined {\n return this.adapters.get(name);\n }\n\n /**\n * 清空所有适配器\n */\n clear(): void {\n // 销毁当前适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁适配器失败', error);\n }\n }\n\n this.adapters.clear();\n this.currentAdapter = null;\n this.defaultAdapterName = null;\n logger.debug('所有路由适配器已清空');\n }\n\n /**\n * 获取适配器数量\n * \n * @returns 适配器数量\n */\n getCount(): number {\n return this.adapters.size;\n }\n}\n\n/**\n * 获取路由适配器管理器单例\n */\nlet adapterManagerInstance: AdapterManager | null = null;\n\nexport function getAdapterManager(): AdapterManager {\n if (!adapterManagerInstance) {\n adapterManagerInstance = new AdapterManager();\n }\n return adapterManagerInstance;\n}\n"],"names":["logger","RouterError","RouterErrorCode","AdapterManager","register","registration","name","Error","factory","adapterRegistration","priority","enabled","adapters","set","debug","defaultAdapterName","unregister","registerBatch","registrations","forEach","has","delete","firstAdapter","Array","from","keys","createAdapter","config","adapterName","ROUTER_NOT_INITIALIZED","get","ROUTER_CONFIG_ERROR","undefined","adapter","initialize","info","error","errorContext","originalError","setCurrentAdapter","currentAdapter","destroy","warn","getCurrentAdapter","setDefaultAdapter","getDefaultAdapterName","getAllAdapters","values","getEnabledAdapters","filter","a","getAdapter","clear","getCount","size","Map","adapterManagerInstance","getAdapterManager"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/core/router/adapter/AdapterManager.ts"],"sourcesContent":["/**\n * 路由适配器管理器\n * 负责管理路由适配器的注册、创建和切换\n */\n\nimport { logger } from '@vlian/logger';\nimport type { IRouterAdapter, AdapterRegistration, RouterAdapterConfig } from './types';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 路由适配器管理器\n */\nexport class AdapterManager {\n private adapters: Map<string, AdapterRegistration> = new Map();\n private currentAdapter: IRouterAdapter | null = null;\n private defaultAdapterName: string | null = null;\n\n /**\n * 注册适配器\n * \n * @param registration - 适配器注册信息\n * @returns 取消注册函数\n */\n register(registration: AdapterRegistration): () => void {\n // 验证适配器\n if (!registration.name) {\n throw new Error('适配器必须提供名称');\n }\n\n if (!registration.factory || typeof registration.factory !== 'function') {\n throw new Error('适配器必须提供工厂函数');\n }\n\n // 设置默认值\n const adapterRegistration: AdapterRegistration = {\n priority: 100,\n enabled: true,\n ...registration,\n };\n\n // 注册适配器\n this.adapters.set(registration.name, adapterRegistration);\n\n logger.debug(`路由适配器已注册: ${registration.name}`);\n\n // 如果没有默认适配器,设置为第一个注册的适配器\n if (!this.defaultAdapterName) {\n this.defaultAdapterName = registration.name;\n }\n\n // 返回取消注册函数\n return () => {\n this.unregister(registration.name);\n };\n }\n\n /**\n * 批量注册适配器\n * \n * @param registrations - 适配器注册信息数组\n */\n registerBatch(registrations: AdapterRegistration[]): void {\n registrations.forEach((registration) => this.register(registration));\n }\n\n /**\n * 取消注册适配器\n * \n * @param name - 适配器名称\n */\n unregister(name: string): void {\n if (this.adapters.has(name)) {\n this.adapters.delete(name);\n logger.debug(`路由适配器已取消注册: ${name}`);\n\n // 如果取消的是默认适配器,重置默认适配器\n if (this.defaultAdapterName === name) {\n const firstAdapter = Array.from(this.adapters.keys())[0];\n this.defaultAdapterName = firstAdapter || null;\n }\n }\n }\n\n /**\n * 创建适配器实例\n * \n * @param name - 适配器名称(可选,使用默认适配器)\n * @param config - 适配器配置\n * @returns 适配器实例\n */\n async createAdapter(\n config: RouterAdapterConfig,\n name?: string\n ): Promise<IRouterAdapter> {\n const adapterName = name || this.defaultAdapterName;\n\n if (!adapterName) {\n throw new RouterError(\n '没有可用的路由适配器',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n const registration = this.adapters.get(adapterName);\n\n if (!registration) {\n throw new RouterError(\n `路由适配器不存在: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n if (!registration.enabled) {\n throw new RouterError(\n `路由适配器已禁用: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { adapterName }\n );\n }\n\n try {\n // 创建适配器实例\n const adapter = await registration.factory(config);\n\n // 验证适配器\n if (!adapter || typeof adapter.initialize !== 'function') {\n throw new Error('适配器实例无效');\n }\n\n // 初始化适配器\n await adapter.initialize(config);\n\n logger.info(`路由适配器已创建并初始化: ${adapterName}`);\n\n return adapter;\n } catch (error) {\n logger.error(`创建路由适配器失败: ${adapterName}`, error);\n const errorContext: Record<string, unknown> = { adapterName };\n if (error instanceof Error) {\n errorContext.originalError = error;\n }\n throw new RouterError(\n `创建路由适配器失败: ${adapterName}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n error instanceof Error ? error : undefined,\n errorContext\n );\n }\n }\n\n /**\n * 设置当前适配器\n * \n * @param adapter - 适配器实例\n */\n setCurrentAdapter(adapter: IRouterAdapter): void {\n // 销毁旧的适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁旧适配器失败', error);\n }\n }\n\n this.currentAdapter = adapter;\n logger.debug(`当前路由适配器已设置: ${adapter.name}`);\n }\n\n /**\n * 获取当前适配器\n * \n * @returns 当前适配器实例,如果不存在返回 null\n */\n getCurrentAdapter(): IRouterAdapter | null {\n return this.currentAdapter;\n }\n\n /**\n * 设置默认适配器\n * \n * @param name - 适配器名称\n */\n setDefaultAdapter(name: string): void {\n if (!this.adapters.has(name)) {\n throw new Error(`适配器不存在: ${name}`);\n }\n\n this.defaultAdapterName = name;\n logger.debug(`默认路由适配器已设置: ${name}`);\n }\n\n /**\n * 获取默认适配器名称\n * \n * @returns 默认适配器名称\n */\n getDefaultAdapterName(): string | null {\n return this.defaultAdapterName;\n }\n\n /**\n * 获取所有适配器\n * \n * @returns 适配器注册信息数组\n */\n getAllAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values());\n }\n\n /**\n * 获取启用的适配器\n * \n * @returns 启用的适配器注册信息数组\n */\n getEnabledAdapters(): AdapterRegistration[] {\n return Array.from(this.adapters.values()).filter((a) => a.enabled !== false);\n }\n\n /**\n * 获取适配器\n * \n * @param name - 适配器名称\n * @returns 适配器注册信息,如果不存在返回 undefined\n */\n getAdapter(name: string): AdapterRegistration | undefined {\n return this.adapters.get(name);\n }\n\n /**\n * 清空所有适配器\n */\n clear(): void {\n // 销毁当前适配器\n if (this.currentAdapter && this.currentAdapter.destroy) {\n try {\n this.currentAdapter.destroy();\n } catch (error) {\n logger.warn('销毁适配器失败', error);\n }\n }\n\n this.adapters.clear();\n this.currentAdapter = null;\n this.defaultAdapterName = null;\n logger.debug('所有路由适配器已清空');\n }\n\n /**\n * 获取适配器数量\n * \n * @returns 适配器数量\n */\n getCount(): number {\n return this.adapters.size;\n }\n}\n\n/**\n * 获取路由适配器管理器单例\n */\nlet adapterManagerInstance: AdapterManager | null = null;\n\nexport function getAdapterManager(): AdapterManager {\n if (!adapterManagerInstance) {\n adapterManagerInstance = new AdapterManager();\n }\n return adapterManagerInstance;\n}\n"],"names":["logger","RouterError","RouterErrorCode","AdapterManager","register","registration","name","Error","factory","adapterRegistration","priority","enabled","adapters","set","debug","defaultAdapterName","unregister","registerBatch","registrations","forEach","has","delete","firstAdapter","Array","from","keys","createAdapter","config","adapterName","ROUTER_NOT_INITIALIZED","get","ROUTER_CONFIG_ERROR","undefined","adapter","initialize","info","error","errorContext","originalError","setCurrentAdapter","currentAdapter","destroy","warn","getCurrentAdapter","setDefaultAdapter","getDefaultAdapterName","getAllAdapters","values","getEnabledAdapters","filter","a","getAdapter","clear","getCount","size","Map","adapterManagerInstance","getAdapterManager"],"mappings":"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"}
@@ -21,7 +21,7 @@ _export(exports, {
21
21
  const _reactrouterdom = require("react-router-dom");
22
22
  const _transform = require("../../utils/adapters/react-router/transform");
23
23
  const _transform1 = require("../../utils/transform");
24
- const _utils = require("../../../../utils");
24
+ const _logger = require("@vlian/logger");
25
25
  function _define_property(obj, key, value) {
26
26
  if (key in obj) {
27
27
  Object.defineProperty(obj, key, {
@@ -53,7 +53,7 @@ let ReactRouterAdapter = class ReactRouterAdapter {
53
53
  } else {
54
54
  throw new Error(`不支持的路由模式: ${mode}`);
55
55
  }
56
- _utils.logger.debug('React Router 适配器初始化完成');
56
+ _logger.logger.debug('React Router 适配器初始化完成');
57
57
  }
58
58
  /**
59
59
  * 挂载到应用实例
@@ -63,7 +63,7 @@ let ReactRouterAdapter = class ReactRouterAdapter {
63
63
  }
64
64
  // React Router 适配器通过 RouterProvider 挂载
65
65
  // 实际的挂载逻辑在 renderApp 中处理
66
- _utils.logger.debug('React Router 适配器已挂载');
66
+ _logger.logger.debug('React Router 适配器已挂载');
67
67
  }
68
68
  /**
69
69
  * 导航到指定路径
@@ -113,7 +113,7 @@ let ReactRouterAdapter = class ReactRouterAdapter {
113
113
  * 销毁适配器
114
114
  */ destroy() {
115
115
  this.router = null;
116
- _utils.logger.debug('React Router 适配器已销毁');
116
+ _logger.logger.debug('React Router 适配器已销毁');
117
117
  }
118
118
  constructor(){
119
119
  _define_property(this, "name", 'react-router');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/core/router/adapter/react-router/ReactRouterAdapter.ts"],"sourcesContent":["/**\n * React Router 适配器实现\n */\n\nimport type { IRouterAdapter, RouterAdapterConfig } from '../types';\nimport type { RouteLocation, NavigateOptions } from '../../types';\nimport type { AppInstance } from '../../../startup/AppInstance';\nimport { createBrowserRouter, createHashRouter, createMemoryRouter } from 'react-router-dom';\nimport { transformRoutesToReactRoutes } from '../../utils/adapters/react-router/transform';\nimport { transformRoutes } from '../../utils/transform';\nimport { logger } from '../../../../utils';\n\n/**\n * React Router 适配器\n */\nexport class ReactRouterAdapter implements IRouterAdapter {\n readonly name = 'react-router';\n readonly version = '6.0.0';\n\n private router: ReturnType<typeof createBrowserRouter> | null = null;\n\n /**\n * 初始化适配器\n */\n async initialize(config: RouterAdapterConfig): Promise<void> {\n\n // 转换路由配置\n const transformResult = await transformRoutes(config.routes);\n const reactRoutes = await transformRoutesToReactRoutes(\n transformResult.routes,\n transformResult,\n config.defaultRouteErrorComponent,\n config.defaultRouteLoadingComponent,\n Boolean((config.options as { hydrationData?: unknown } | undefined)?.hydrationData),\n );\n\n // 创建路由实例\n const mode = config.mode || 'browser';\n if (mode === 'browser') {\n this.router = createBrowserRouter(reactRoutes, config.options as any);\n } else if (mode === 'hash') {\n this.router = createHashRouter(reactRoutes, config.options as any);\n } else if (mode === 'memory') {\n this.router = createMemoryRouter(reactRoutes, config.options as any);\n } else {\n throw new Error(`不支持的路由模式: ${mode}`);\n }\n\n logger.debug('React Router 适配器初始化完成');\n }\n\n /**\n * 挂载到应用实例\n */\n mount(_app: AppInstance): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n // React Router 适配器通过 RouterProvider 挂载\n // 实际的挂载逻辑在 renderApp 中处理\n logger.debug('React Router 适配器已挂载');\n }\n\n /**\n * 导航到指定路径\n */\n navigate(to: string, options?: NavigateOptions): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n if (options?.replace) {\n this.router.navigate(to, { replace: true, state: options.state });\n } else {\n this.router.navigate(to, { state: options?.state });\n }\n }\n\n /**\n * 获取当前路由信息\n */\n getCurrentRoute(): RouteLocation {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n const state = this.router.state;\n const location = state.location;\n\n // 解析查询参数\n const query: Record<string, unknown> = {};\n if (location.search) {\n const params = new URLSearchParams(location.search);\n params.forEach((value, key) => {\n query[key] = value;\n });\n }\n\n return {\n path: location.pathname + location.hash,\n query,\n params: location.state as Record<string, unknown> | undefined,\n };\n }\n\n /**\n * 获取路由实例(用于 RouterProvider)\n */\n getRouter(): ReturnType<typeof createBrowserRouter> | null {\n return this.router;\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n this.router = null;\n logger.debug('React Router 适配器已销毁');\n }\n}\n\n/**\n * 创建 React Router 适配器工厂函数\n */\nexport function createReactRouterAdapter(): (_config: RouterAdapterConfig) => IRouterAdapter {\n return (_config: RouterAdapterConfig) => {\n return new ReactRouterAdapter();\n };\n}\n"],"names":["ReactRouterAdapter","createReactRouterAdapter","initialize","config","transformResult","transformRoutes","routes","reactRoutes","transformRoutesToReactRoutes","defaultRouteErrorComponent","defaultRouteLoadingComponent","Boolean","options","hydrationData","mode","router","createBrowserRouter","createHashRouter","createMemoryRouter","Error","logger","debug","mount","_app","navigate","to","replace","state","getCurrentRoute","location","query","search","params","URLSearchParams","forEach","value","key","path","pathname","hash","getRouter","destroy","name","version","_config"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QAaYA;eAAAA;;QA8GGC;eAAAA;;;gCAtH0D;2BAC7B;4BACb;uBACT;;;;;;;;;;;;;;AAKhB,IAAA,AAAMD,qBAAN,MAAMA;IAMX;;GAEC,GACD,MAAME,WAAWC,MAA2B,EAAiB;QAE3D,SAAS;QACT,MAAMC,kBAAkB,MAAMC,IAAAA,2BAAe,EAACF,OAAOG,MAAM;QAC3D,MAAMC,cAAc,MAAMC,IAAAA,uCAA4B,EACpDJ,gBAAgBE,MAAM,EACtBF,iBACAD,OAAOM,0BAA0B,EACjCN,OAAOO,4BAA4B,EACnCC,QAASR,OAAOS,OAAO,EAA8CC;QAGvE,SAAS;QACT,MAAMC,OAAOX,OAAOW,IAAI,IAAI;QAC5B,IAAIA,SAAS,WAAW;YACtB,IAAI,CAACC,MAAM,GAAGC,IAAAA,mCAAmB,EAACT,aAAaJ,OAAOS,OAAO;QAC/D,OAAO,IAAIE,SAAS,QAAQ;YAC1B,IAAI,CAACC,MAAM,GAAGE,IAAAA,gCAAgB,EAACV,aAAaJ,OAAOS,OAAO;QAC5D,OAAO,IAAIE,SAAS,UAAU;YAC5B,IAAI,CAACC,MAAM,GAAGG,IAAAA,kCAAkB,EAACX,aAAaJ,OAAOS,OAAO;QAC9D,OAAO;YACL,MAAM,IAAIO,MAAM,CAAC,UAAU,EAAEL,MAAM;QACrC;QAEAM,aAAM,CAACC,KAAK,CAAC;IACf;IAEA;;GAEC,GACDC,MAAMC,IAAiB,EAAQ;QAC7B,IAAI,CAAC,IAAI,CAACR,MAAM,EAAE;YAChB,MAAM,IAAII,MAAM;QAClB;QAEA,uCAAuC;QACvC,yBAAyB;QACzBC,aAAM,CAACC,KAAK,CAAC;IACf;IAEA;;GAEC,GACDG,SAASC,EAAU,EAAEb,OAAyB,EAAQ;QACpD,IAAI,CAAC,IAAI,CAACG,MAAM,EAAE;YAChB,MAAM,IAAII,MAAM;QAClB;QAEA,IAAIP,SAASc,SAAS;YACpB,IAAI,CAACX,MAAM,CAACS,QAAQ,CAACC,IAAI;gBAAEC,SAAS;gBAAMC,OAAOf,QAAQe,KAAK;YAAC;QACjE,OAAO;YACL,IAAI,CAACZ,MAAM,CAACS,QAAQ,CAACC,IAAI;gBAAEE,OAAOf,SAASe;YAAM;QACnD;IACF;IAEA;;GAEC,GACDC,kBAAiC;QAC/B,IAAI,CAAC,IAAI,CAACb,MAAM,EAAE;YAChB,MAAM,IAAII,MAAM;QAClB;QAEA,MAAMQ,QAAQ,IAAI,CAACZ,MAAM,CAACY,KAAK;QAC/B,MAAME,WAAWF,MAAME,QAAQ;QAE/B,SAAS;QACT,MAAMC,QAAiC,CAAC;QACxC,IAAID,SAASE,MAAM,EAAE;YACnB,MAAMC,SAAS,IAAIC,gBAAgBJ,SAASE,MAAM;YAClDC,OAAOE,OAAO,CAAC,CAACC,OAAOC;gBACrBN,KAAK,CAACM,IAAI,GAAGD;YACf;QACF;QAEA,OAAO;YACLE,MAAMR,SAASS,QAAQ,GAAGT,SAASU,IAAI;YACvCT;YACAE,QAAQH,SAASF,KAAK;QACxB;IACF;IAEA;;GAEC,GACDa,YAA2D;QACzD,OAAO,IAAI,CAACzB,MAAM;IACpB;IAEA;;GAEC,GACD0B,UAAgB;QACd,IAAI,CAAC1B,MAAM,GAAG;QACdK,aAAM,CAACC,KAAK,CAAC;IACf;;QAvGA,uBAASqB,QAAO;QAChB,uBAASC,WAAU;QAEnB,uBAAQ5B,UAAwD;;AAqGlE;AAKO,SAASd;IACd,OAAO,CAAC2C;QACN,OAAO,IAAI5C;IACb;AACF"}
1
+ {"version":3,"sources":["../../../../../src/core/router/adapter/react-router/ReactRouterAdapter.ts"],"sourcesContent":["/**\n * React Router 适配器实现\n */\n\nimport type { IRouterAdapter, RouterAdapterConfig } from '../types';\nimport type { RouteLocation, NavigateOptions } from '../../types';\nimport type { AppInstance } from '../../../startup/AppInstance';\nimport { createBrowserRouter, createHashRouter, createMemoryRouter } from 'react-router-dom';\nimport { transformRoutesToReactRoutes } from '../../utils/adapters/react-router/transform';\nimport { transformRoutes } from '../../utils/transform';\nimport { logger } from '@vlian/logger';\n\n/**\n * React Router 适配器\n */\nexport class ReactRouterAdapter implements IRouterAdapter {\n readonly name = 'react-router';\n readonly version = '6.0.0';\n\n private router: ReturnType<typeof createBrowserRouter> | null = null;\n\n /**\n * 初始化适配器\n */\n async initialize(config: RouterAdapterConfig): Promise<void> {\n\n // 转换路由配置\n const transformResult = await transformRoutes(config.routes);\n const reactRoutes = await transformRoutesToReactRoutes(\n transformResult.routes,\n transformResult,\n config.defaultRouteErrorComponent,\n config.defaultRouteLoadingComponent,\n Boolean((config.options as { hydrationData?: unknown } | undefined)?.hydrationData),\n );\n\n // 创建路由实例\n const mode = config.mode || 'browser';\n if (mode === 'browser') {\n this.router = createBrowserRouter(reactRoutes, config.options as any);\n } else if (mode === 'hash') {\n this.router = createHashRouter(reactRoutes, config.options as any);\n } else if (mode === 'memory') {\n this.router = createMemoryRouter(reactRoutes, config.options as any);\n } else {\n throw new Error(`不支持的路由模式: ${mode}`);\n }\n\n logger.debug('React Router 适配器初始化完成');\n }\n\n /**\n * 挂载到应用实例\n */\n mount(_app: AppInstance): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n // React Router 适配器通过 RouterProvider 挂载\n // 实际的挂载逻辑在 renderApp 中处理\n logger.debug('React Router 适配器已挂载');\n }\n\n /**\n * 导航到指定路径\n */\n navigate(to: string, options?: NavigateOptions): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n if (options?.replace) {\n this.router.navigate(to, { replace: true, state: options.state });\n } else {\n this.router.navigate(to, { state: options?.state });\n }\n }\n\n /**\n * 获取当前路由信息\n */\n getCurrentRoute(): RouteLocation {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n const state = this.router.state;\n const location = state.location;\n\n // 解析查询参数\n const query: Record<string, unknown> = {};\n if (location.search) {\n const params = new URLSearchParams(location.search);\n params.forEach((value, key) => {\n query[key] = value;\n });\n }\n\n return {\n path: location.pathname + location.hash,\n query,\n params: location.state as Record<string, unknown> | undefined,\n };\n }\n\n /**\n * 获取路由实例(用于 RouterProvider)\n */\n getRouter(): ReturnType<typeof createBrowserRouter> | null {\n return this.router;\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n this.router = null;\n logger.debug('React Router 适配器已销毁');\n }\n}\n\n/**\n * 创建 React Router 适配器工厂函数\n */\nexport function createReactRouterAdapter(): (_config: RouterAdapterConfig) => IRouterAdapter {\n return (_config: RouterAdapterConfig) => {\n return new ReactRouterAdapter();\n };\n}\n"],"names":["ReactRouterAdapter","createReactRouterAdapter","initialize","config","transformResult","transformRoutes","routes","reactRoutes","transformRoutesToReactRoutes","defaultRouteErrorComponent","defaultRouteLoadingComponent","Boolean","options","hydrationData","mode","router","createBrowserRouter","createHashRouter","createMemoryRouter","Error","logger","debug","mount","_app","navigate","to","replace","state","getCurrentRoute","location","query","search","params","URLSearchParams","forEach","value","key","path","pathname","hash","getRouter","destroy","name","version","_config"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QAaYA;eAAAA;;QA8GGC;eAAAA;;;gCAtH0D;2BAC7B;4BACb;wBACT;;;;;;;;;;;;;;AAKhB,IAAA,AAAMD,qBAAN,MAAMA;IAMX;;GAEC,GACD,MAAME,WAAWC,MAA2B,EAAiB;QAE3D,SAAS;QACT,MAAMC,kBAAkB,MAAMC,IAAAA,2BAAe,EAACF,OAAOG,MAAM;QAC3D,MAAMC,cAAc,MAAMC,IAAAA,uCAA4B,EACpDJ,gBAAgBE,MAAM,EACtBF,iBACAD,OAAOM,0BAA0B,EACjCN,OAAOO,4BAA4B,EACnCC,QAASR,OAAOS,OAAO,EAA8CC;QAGvE,SAAS;QACT,MAAMC,OAAOX,OAAOW,IAAI,IAAI;QAC5B,IAAIA,SAAS,WAAW;YACtB,IAAI,CAACC,MAAM,GAAGC,IAAAA,mCAAmB,EAACT,aAAaJ,OAAOS,OAAO;QAC/D,OAAO,IAAIE,SAAS,QAAQ;YAC1B,IAAI,CAACC,MAAM,GAAGE,IAAAA,gCAAgB,EAACV,aAAaJ,OAAOS,OAAO;QAC5D,OAAO,IAAIE,SAAS,UAAU;YAC5B,IAAI,CAACC,MAAM,GAAGG,IAAAA,kCAAkB,EAACX,aAAaJ,OAAOS,OAAO;QAC9D,OAAO;YACL,MAAM,IAAIO,MAAM,CAAC,UAAU,EAAEL,MAAM;QACrC;QAEAM,cAAM,CAACC,KAAK,CAAC;IACf;IAEA;;GAEC,GACDC,MAAMC,IAAiB,EAAQ;QAC7B,IAAI,CAAC,IAAI,CAACR,MAAM,EAAE;YAChB,MAAM,IAAII,MAAM;QAClB;QAEA,uCAAuC;QACvC,yBAAyB;QACzBC,cAAM,CAACC,KAAK,CAAC;IACf;IAEA;;GAEC,GACDG,SAASC,EAAU,EAAEb,OAAyB,EAAQ;QACpD,IAAI,CAAC,IAAI,CAACG,MAAM,EAAE;YAChB,MAAM,IAAII,MAAM;QAClB;QAEA,IAAIP,SAASc,SAAS;YACpB,IAAI,CAACX,MAAM,CAACS,QAAQ,CAACC,IAAI;gBAAEC,SAAS;gBAAMC,OAAOf,QAAQe,KAAK;YAAC;QACjE,OAAO;YACL,IAAI,CAACZ,MAAM,CAACS,QAAQ,CAACC,IAAI;gBAAEE,OAAOf,SAASe;YAAM;QACnD;IACF;IAEA;;GAEC,GACDC,kBAAiC;QAC/B,IAAI,CAAC,IAAI,CAACb,MAAM,EAAE;YAChB,MAAM,IAAII,MAAM;QAClB;QAEA,MAAMQ,QAAQ,IAAI,CAACZ,MAAM,CAACY,KAAK;QAC/B,MAAME,WAAWF,MAAME,QAAQ;QAE/B,SAAS;QACT,MAAMC,QAAiC,CAAC;QACxC,IAAID,SAASE,MAAM,EAAE;YACnB,MAAMC,SAAS,IAAIC,gBAAgBJ,SAASE,MAAM;YAClDC,OAAOE,OAAO,CAAC,CAACC,OAAOC;gBACrBN,KAAK,CAACM,IAAI,GAAGD;YACf;QACF;QAEA,OAAO;YACLE,MAAMR,SAASS,QAAQ,GAAGT,SAASU,IAAI;YACvCT;YACAE,QAAQH,SAASF,KAAK;QACxB;IACF;IAEA;;GAEC,GACDa,YAA2D;QACzD,OAAO,IAAI,CAACzB,MAAM;IACpB;IAEA;;GAEC,GACD0B,UAAgB;QACd,IAAI,CAAC1B,MAAM,GAAG;QACdK,cAAM,CAACC,KAAK,CAAC;IACf;;QAvGA,uBAASqB,QAAO;QAChB,uBAASC,WAAU;QAEnB,uBAAQ5B,UAAwD;;AAqGlE;AAKO,SAASd;IACd,OAAO,CAAC2C;QACN,OAAO,IAAI5C;IACb;AACF"}
@@ -16,7 +16,7 @@
16
16
  import { createBrowserRouter, createHashRouter, createMemoryRouter } from "react-router-dom";
17
17
  import { transformRoutesToReactRoutes } from "../../utils/adapters/react-router/transform";
18
18
  import { transformRoutes } from "../../utils/transform";
19
- import { logger } from "../../../../utils";
19
+ import { logger } from "@vlian/logger";
20
20
  /**
21
21
  * React Router 适配器
22
22
  */ export class ReactRouterAdapter {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/core/router/adapter/react-router/ReactRouterAdapter.ts"],"sourcesContent":["/**\n * React Router 适配器实现\n */\n\nimport type { IRouterAdapter, RouterAdapterConfig } from '../types';\nimport type { RouteLocation, NavigateOptions } from '../../types';\nimport type { AppInstance } from '../../../startup/AppInstance';\nimport { createBrowserRouter, createHashRouter, createMemoryRouter } from 'react-router-dom';\nimport { transformRoutesToReactRoutes } from '../../utils/adapters/react-router/transform';\nimport { transformRoutes } from '../../utils/transform';\nimport { logger } from '../../../../utils';\n\n/**\n * React Router 适配器\n */\nexport class ReactRouterAdapter implements IRouterAdapter {\n readonly name = 'react-router';\n readonly version = '6.0.0';\n\n private router: ReturnType<typeof createBrowserRouter> | null = null;\n\n /**\n * 初始化适配器\n */\n async initialize(config: RouterAdapterConfig): Promise<void> {\n\n // 转换路由配置\n const transformResult = await transformRoutes(config.routes);\n const reactRoutes = await transformRoutesToReactRoutes(\n transformResult.routes,\n transformResult,\n config.defaultRouteErrorComponent,\n config.defaultRouteLoadingComponent,\n Boolean((config.options as { hydrationData?: unknown } | undefined)?.hydrationData),\n );\n\n // 创建路由实例\n const mode = config.mode || 'browser';\n if (mode === 'browser') {\n this.router = createBrowserRouter(reactRoutes, config.options as any);\n } else if (mode === 'hash') {\n this.router = createHashRouter(reactRoutes, config.options as any);\n } else if (mode === 'memory') {\n this.router = createMemoryRouter(reactRoutes, config.options as any);\n } else {\n throw new Error(`不支持的路由模式: ${mode}`);\n }\n\n logger.debug('React Router 适配器初始化完成');\n }\n\n /**\n * 挂载到应用实例\n */\n mount(_app: AppInstance): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n // React Router 适配器通过 RouterProvider 挂载\n // 实际的挂载逻辑在 renderApp 中处理\n logger.debug('React Router 适配器已挂载');\n }\n\n /**\n * 导航到指定路径\n */\n navigate(to: string, options?: NavigateOptions): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n if (options?.replace) {\n this.router.navigate(to, { replace: true, state: options.state });\n } else {\n this.router.navigate(to, { state: options?.state });\n }\n }\n\n /**\n * 获取当前路由信息\n */\n getCurrentRoute(): RouteLocation {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n const state = this.router.state;\n const location = state.location;\n\n // 解析查询参数\n const query: Record<string, unknown> = {};\n if (location.search) {\n const params = new URLSearchParams(location.search);\n params.forEach((value, key) => {\n query[key] = value;\n });\n }\n\n return {\n path: location.pathname + location.hash,\n query,\n params: location.state as Record<string, unknown> | undefined,\n };\n }\n\n /**\n * 获取路由实例(用于 RouterProvider)\n */\n getRouter(): ReturnType<typeof createBrowserRouter> | null {\n return this.router;\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n this.router = null;\n logger.debug('React Router 适配器已销毁');\n }\n}\n\n/**\n * 创建 React Router 适配器工厂函数\n */\nexport function createReactRouterAdapter(): (_config: RouterAdapterConfig) => IRouterAdapter {\n return (_config: RouterAdapterConfig) => {\n return new ReactRouterAdapter();\n };\n}\n"],"names":["createBrowserRouter","createHashRouter","createMemoryRouter","transformRoutesToReactRoutes","transformRoutes","logger","ReactRouterAdapter","initialize","config","transformResult","routes","reactRoutes","defaultRouteErrorComponent","defaultRouteLoadingComponent","Boolean","options","hydrationData","mode","router","Error","debug","mount","_app","navigate","to","replace","state","getCurrentRoute","location","query","search","params","URLSearchParams","forEach","value","key","path","pathname","hash","getRouter","destroy","name","version","createReactRouterAdapter","_config"],"mappings":"AAAA;;CAEC;;;;;;;;;;;;;AAKD,SAASA,mBAAmB,EAAEC,gBAAgB,EAAEC,kBAAkB,QAAQ,mBAAmB;AAC7F,SAASC,4BAA4B,QAAQ,8CAA8C;AAC3F,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SAASC,MAAM,QAAQ,oBAAoB;AAE3C;;CAEC,GACD,OAAO,MAAMC;IAMX;;GAEC,GACD,MAAMC,WAAWC,MAA2B,EAAiB;QAE3D,SAAS;QACT,MAAMC,kBAAkB,MAAML,gBAAgBI,OAAOE,MAAM;QAC3D,MAAMC,cAAc,MAAMR,6BACxBM,gBAAgBC,MAAM,EACtBD,iBACAD,OAAOI,0BAA0B,EACjCJ,OAAOK,4BAA4B,EACnCC,QAASN,OAAOO,OAAO,EAA8CC;QAGvE,SAAS;QACT,MAAMC,OAAOT,OAAOS,IAAI,IAAI;QAC5B,IAAIA,SAAS,WAAW;YACtB,IAAI,CAACC,MAAM,GAAGlB,oBAAoBW,aAAaH,OAAOO,OAAO;QAC/D,OAAO,IAAIE,SAAS,QAAQ;YAC1B,IAAI,CAACC,MAAM,GAAGjB,iBAAiBU,aAAaH,OAAOO,OAAO;QAC5D,OAAO,IAAIE,SAAS,UAAU;YAC5B,IAAI,CAACC,MAAM,GAAGhB,mBAAmBS,aAAaH,OAAOO,OAAO;QAC9D,OAAO;YACL,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEF,MAAM;QACrC;QAEAZ,OAAOe,KAAK,CAAC;IACf;IAEA;;GAEC,GACDC,MAAMC,IAAiB,EAAQ;QAC7B,IAAI,CAAC,IAAI,CAACJ,MAAM,EAAE;YAChB,MAAM,IAAIC,MAAM;QAClB;QAEA,uCAAuC;QACvC,yBAAyB;QACzBd,OAAOe,KAAK,CAAC;IACf;IAEA;;GAEC,GACDG,SAASC,EAAU,EAAET,OAAyB,EAAQ;QACpD,IAAI,CAAC,IAAI,CAACG,MAAM,EAAE;YAChB,MAAM,IAAIC,MAAM;QAClB;QAEA,IAAIJ,SAASU,SAAS;YACpB,IAAI,CAACP,MAAM,CAACK,QAAQ,CAACC,IAAI;gBAAEC,SAAS;gBAAMC,OAAOX,QAAQW,KAAK;YAAC;QACjE,OAAO;YACL,IAAI,CAACR,MAAM,CAACK,QAAQ,CAACC,IAAI;gBAAEE,OAAOX,SAASW;YAAM;QACnD;IACF;IAEA;;GAEC,GACDC,kBAAiC;QAC/B,IAAI,CAAC,IAAI,CAACT,MAAM,EAAE;YAChB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAMO,QAAQ,IAAI,CAACR,MAAM,CAACQ,KAAK;QAC/B,MAAME,WAAWF,MAAME,QAAQ;QAE/B,SAAS;QACT,MAAMC,QAAiC,CAAC;QACxC,IAAID,SAASE,MAAM,EAAE;YACnB,MAAMC,SAAS,IAAIC,gBAAgBJ,SAASE,MAAM;YAClDC,OAAOE,OAAO,CAAC,CAACC,OAAOC;gBACrBN,KAAK,CAACM,IAAI,GAAGD;YACf;QACF;QAEA,OAAO;YACLE,MAAMR,SAASS,QAAQ,GAAGT,SAASU,IAAI;YACvCT;YACAE,QAAQH,SAASF,KAAK;QACxB;IACF;IAEA;;GAEC,GACDa,YAA2D;QACzD,OAAO,IAAI,CAACrB,MAAM;IACpB;IAEA;;GAEC,GACDsB,UAAgB;QACd,IAAI,CAACtB,MAAM,GAAG;QACdb,OAAOe,KAAK,CAAC;IACf;;QAvGA,uBAASqB,QAAO;QAChB,uBAASC,WAAU;QAEnB,uBAAQxB,UAAwD;;AAqGlE;AAEA;;CAEC,GACD,OAAO,SAASyB;IACd,OAAO,CAACC;QACN,OAAO,IAAItC;IACb;AACF"}
1
+ {"version":3,"sources":["../../../../../src/core/router/adapter/react-router/ReactRouterAdapter.ts"],"sourcesContent":["/**\n * React Router 适配器实现\n */\n\nimport type { IRouterAdapter, RouterAdapterConfig } from '../types';\nimport type { RouteLocation, NavigateOptions } from '../../types';\nimport type { AppInstance } from '../../../startup/AppInstance';\nimport { createBrowserRouter, createHashRouter, createMemoryRouter } from 'react-router-dom';\nimport { transformRoutesToReactRoutes } from '../../utils/adapters/react-router/transform';\nimport { transformRoutes } from '../../utils/transform';\nimport { logger } from '@vlian/logger';\n\n/**\n * React Router 适配器\n */\nexport class ReactRouterAdapter implements IRouterAdapter {\n readonly name = 'react-router';\n readonly version = '6.0.0';\n\n private router: ReturnType<typeof createBrowserRouter> | null = null;\n\n /**\n * 初始化适配器\n */\n async initialize(config: RouterAdapterConfig): Promise<void> {\n\n // 转换路由配置\n const transformResult = await transformRoutes(config.routes);\n const reactRoutes = await transformRoutesToReactRoutes(\n transformResult.routes,\n transformResult,\n config.defaultRouteErrorComponent,\n config.defaultRouteLoadingComponent,\n Boolean((config.options as { hydrationData?: unknown } | undefined)?.hydrationData),\n );\n\n // 创建路由实例\n const mode = config.mode || 'browser';\n if (mode === 'browser') {\n this.router = createBrowserRouter(reactRoutes, config.options as any);\n } else if (mode === 'hash') {\n this.router = createHashRouter(reactRoutes, config.options as any);\n } else if (mode === 'memory') {\n this.router = createMemoryRouter(reactRoutes, config.options as any);\n } else {\n throw new Error(`不支持的路由模式: ${mode}`);\n }\n\n logger.debug('React Router 适配器初始化完成');\n }\n\n /**\n * 挂载到应用实例\n */\n mount(_app: AppInstance): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n // React Router 适配器通过 RouterProvider 挂载\n // 实际的挂载逻辑在 renderApp 中处理\n logger.debug('React Router 适配器已挂载');\n }\n\n /**\n * 导航到指定路径\n */\n navigate(to: string, options?: NavigateOptions): void {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n if (options?.replace) {\n this.router.navigate(to, { replace: true, state: options.state });\n } else {\n this.router.navigate(to, { state: options?.state });\n }\n }\n\n /**\n * 获取当前路由信息\n */\n getCurrentRoute(): RouteLocation {\n if (!this.router) {\n throw new Error('适配器未初始化');\n }\n\n const state = this.router.state;\n const location = state.location;\n\n // 解析查询参数\n const query: Record<string, unknown> = {};\n if (location.search) {\n const params = new URLSearchParams(location.search);\n params.forEach((value, key) => {\n query[key] = value;\n });\n }\n\n return {\n path: location.pathname + location.hash,\n query,\n params: location.state as Record<string, unknown> | undefined,\n };\n }\n\n /**\n * 获取路由实例(用于 RouterProvider)\n */\n getRouter(): ReturnType<typeof createBrowserRouter> | null {\n return this.router;\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n this.router = null;\n logger.debug('React Router 适配器已销毁');\n }\n}\n\n/**\n * 创建 React Router 适配器工厂函数\n */\nexport function createReactRouterAdapter(): (_config: RouterAdapterConfig) => IRouterAdapter {\n return (_config: RouterAdapterConfig) => {\n return new ReactRouterAdapter();\n };\n}\n"],"names":["createBrowserRouter","createHashRouter","createMemoryRouter","transformRoutesToReactRoutes","transformRoutes","logger","ReactRouterAdapter","initialize","config","transformResult","routes","reactRoutes","defaultRouteErrorComponent","defaultRouteLoadingComponent","Boolean","options","hydrationData","mode","router","Error","debug","mount","_app","navigate","to","replace","state","getCurrentRoute","location","query","search","params","URLSearchParams","forEach","value","key","path","pathname","hash","getRouter","destroy","name","version","createReactRouterAdapter","_config"],"mappings":"AAAA;;CAEC;;;;;;;;;;;;;AAKD,SAASA,mBAAmB,EAAEC,gBAAgB,EAAEC,kBAAkB,QAAQ,mBAAmB;AAC7F,SAASC,4BAA4B,QAAQ,8CAA8C;AAC3F,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SAASC,MAAM,QAAQ,gBAAgB;AAEvC;;CAEC,GACD,OAAO,MAAMC;IAMX;;GAEC,GACD,MAAMC,WAAWC,MAA2B,EAAiB;QAE3D,SAAS;QACT,MAAMC,kBAAkB,MAAML,gBAAgBI,OAAOE,MAAM;QAC3D,MAAMC,cAAc,MAAMR,6BACxBM,gBAAgBC,MAAM,EACtBD,iBACAD,OAAOI,0BAA0B,EACjCJ,OAAOK,4BAA4B,EACnCC,QAASN,OAAOO,OAAO,EAA8CC;QAGvE,SAAS;QACT,MAAMC,OAAOT,OAAOS,IAAI,IAAI;QAC5B,IAAIA,SAAS,WAAW;YACtB,IAAI,CAACC,MAAM,GAAGlB,oBAAoBW,aAAaH,OAAOO,OAAO;QAC/D,OAAO,IAAIE,SAAS,QAAQ;YAC1B,IAAI,CAACC,MAAM,GAAGjB,iBAAiBU,aAAaH,OAAOO,OAAO;QAC5D,OAAO,IAAIE,SAAS,UAAU;YAC5B,IAAI,CAACC,MAAM,GAAGhB,mBAAmBS,aAAaH,OAAOO,OAAO;QAC9D,OAAO;YACL,MAAM,IAAII,MAAM,CAAC,UAAU,EAAEF,MAAM;QACrC;QAEAZ,OAAOe,KAAK,CAAC;IACf;IAEA;;GAEC,GACDC,MAAMC,IAAiB,EAAQ;QAC7B,IAAI,CAAC,IAAI,CAACJ,MAAM,EAAE;YAChB,MAAM,IAAIC,MAAM;QAClB;QAEA,uCAAuC;QACvC,yBAAyB;QACzBd,OAAOe,KAAK,CAAC;IACf;IAEA;;GAEC,GACDG,SAASC,EAAU,EAAET,OAAyB,EAAQ;QACpD,IAAI,CAAC,IAAI,CAACG,MAAM,EAAE;YAChB,MAAM,IAAIC,MAAM;QAClB;QAEA,IAAIJ,SAASU,SAAS;YACpB,IAAI,CAACP,MAAM,CAACK,QAAQ,CAACC,IAAI;gBAAEC,SAAS;gBAAMC,OAAOX,QAAQW,KAAK;YAAC;QACjE,OAAO;YACL,IAAI,CAACR,MAAM,CAACK,QAAQ,CAACC,IAAI;gBAAEE,OAAOX,SAASW;YAAM;QACnD;IACF;IAEA;;GAEC,GACDC,kBAAiC;QAC/B,IAAI,CAAC,IAAI,CAACT,MAAM,EAAE;YAChB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAMO,QAAQ,IAAI,CAACR,MAAM,CAACQ,KAAK;QAC/B,MAAME,WAAWF,MAAME,QAAQ;QAE/B,SAAS;QACT,MAAMC,QAAiC,CAAC;QACxC,IAAID,SAASE,MAAM,EAAE;YACnB,MAAMC,SAAS,IAAIC,gBAAgBJ,SAASE,MAAM;YAClDC,OAAOE,OAAO,CAAC,CAACC,OAAOC;gBACrBN,KAAK,CAACM,IAAI,GAAGD;YACf;QACF;QAEA,OAAO;YACLE,MAAMR,SAASS,QAAQ,GAAGT,SAASU,IAAI;YACvCT;YACAE,QAAQH,SAASF,KAAK;QACxB;IACF;IAEA;;GAEC,GACDa,YAA2D;QACzD,OAAO,IAAI,CAACrB,MAAM;IACpB;IAEA;;GAEC,GACDsB,UAAgB;QACd,IAAI,CAACtB,MAAM,GAAG;QACdb,OAAOe,KAAK,CAAC;IACf;;QAvGA,uBAASqB,QAAO;QAChB,uBAASC,WAAU;QAEnB,uBAAQxB,UAAwD;;AAqGlE;AAEA;;CAEC,GACD,OAAO,SAASyB;IACd,OAAO,CAACC;QACN,OAAO,IAAItC;IACb;AACF"}
@@ -19,7 +19,7 @@ _export(exports, {
19
19
  return getDynamicRouteManager;
20
20
  }
21
21
  });
22
- const _utils = require("../../../utils");
22
+ const _logger = require("@vlian/logger");
23
23
  const _RouterManager = require("../RouterManager");
24
24
  const _transform = require("../utils/transform");
25
25
  const _errors = require("../errors");
@@ -68,7 +68,7 @@ let DynamicRouteManager = class DynamicRouteManager {
68
68
  ]);
69
69
  // 更新版本号
70
70
  this.routeVersion++;
71
- _utils.logger.info(`路由已注册: ${routes.length} 个路由到命名空间 "${ns}"`);
71
+ _logger.logger.info(`路由已注册: ${routes.length} 个路由到命名空间 "${ns}"`);
72
72
  // 返回取消注册函数
73
73
  return async ()=>{
74
74
  await this.unregister(routes.map((r)=>r.name), ns);
@@ -85,7 +85,7 @@ let DynamicRouteManager = class DynamicRouteManager {
85
85
  // 过滤掉要取消注册的路由
86
86
  const filteredRoutes = routes.filter((r)=>!routeNames.includes(r.name));
87
87
  if (filteredRoutes.length === routes.length) {
88
- _utils.logger.warn(`未找到要取消注册的路由: ${routeNames.join(', ')}`);
88
+ _logger.logger.warn(`未找到要取消注册的路由: ${routeNames.join(', ')}`);
89
89
  return;
90
90
  }
91
91
  // 更新注册表
@@ -96,7 +96,7 @@ let DynamicRouteManager = class DynamicRouteManager {
96
96
  }
97
97
  // 更新版本号
98
98
  this.routeVersion++;
99
- _utils.logger.info(`路由已取消注册: ${routeNames.length} 个路由从命名空间 "${ns}"`);
99
+ _logger.logger.info(`路由已取消注册: ${routeNames.length} 个路由从命名空间 "${ns}"`);
100
100
  }
101
101
  /**
102
102
  * 获取指定命名空间的路由
@@ -124,14 +124,14 @@ let DynamicRouteManager = class DynamicRouteManager {
124
124
  const ns = namespace || 'default';
125
125
  this.registeredRoutes.delete(ns);
126
126
  this.routeVersion++;
127
- _utils.logger.info(`路由命名空间已清空: "${ns}"`);
127
+ _logger.logger.info(`路由命名空间已清空: "${ns}"`);
128
128
  }
129
129
  /**
130
130
  * 清空所有路由
131
131
  */ clearAll() {
132
132
  this.registeredRoutes.clear();
133
133
  this.routeVersion++;
134
- _utils.logger.info('所有路由已清空');
134
+ _logger.logger.info('所有路由已清空');
135
135
  }
136
136
  /**
137
137
  * 获取路由版本号
@@ -166,7 +166,7 @@ let DynamicRouteManager = class DynamicRouteManager {
166
166
  allRoutes.push(...routes);
167
167
  });
168
168
  if (allRoutes.length === 0) {
169
- _utils.logger.warn('没有已注册的路由,无法重新加载');
169
+ _logger.logger.warn('没有已注册的路由,无法重新加载');
170
170
  return;
171
171
  }
172
172
  // 转换路由
@@ -175,7 +175,7 @@ let DynamicRouteManager = class DynamicRouteManager {
175
175
  // 重新创建路由实例
176
176
  // 注意:这里需要获取原始配置的模式和选项
177
177
  // 由于当前架构限制,这里只是示例实现
178
- _utils.logger.info('路由重新加载完成');
178
+ _logger.logger.info('路由重新加载完成');
179
179
  }
180
180
  constructor(){
181
181
  _define_property(this, "registeredRoutes", new Map());
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/router/dynamic/DynamicRouteManager.ts"],"sourcesContent":["/**\n * 路由动态注册管理器\n * 支持运行时动态注册和卸载路由\n */\n\nimport { logger } from '../../../utils';\nimport type { RouteConfig } from '../types';\nimport { getRouterManager } from '../RouterManager';\nimport { transformRoutes } from '../utils/transform';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 动态路由注册管理器\n */\nexport class DynamicRouteManager {\n private registeredRoutes: Map<string, RouteConfig[]> = new Map();\n private routeVersion: number = 0;\n\n /**\n * 注册路由\n * \n * @param routes - 要注册的路由配置\n * @param namespace - 路由命名空间(可选,用于分组管理)\n * @returns 取消注册函数\n */\n async register(\n routes: RouteConfig[],\n namespace?: string\n ): Promise<() => Promise<void>> {\n const ns = namespace || 'default';\n\n // 验证路由配置\n if (!Array.isArray(routes) || routes.length === 0) {\n throw new RouterError(\n '路由配置必须是非空数组',\n RouterErrorCode.ROUTER_CONFIG_ERROR\n );\n }\n\n // 检查路由名称是否冲突\n const existingRoutes = this.registeredRoutes.get(ns) || [];\n const existingNames = new Set(existingRoutes.map((r) => r.name));\n const newNames = routes.map((r) => r.name);\n const conflicts = newNames.filter((name) => existingNames.has(name));\n\n if (conflicts.length > 0) {\n throw new RouterError(\n `路由名称冲突: ${conflicts.join(', ')}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { conflicts, namespace: ns }\n );\n }\n\n // 添加到注册表\n const currentRoutes = this.registeredRoutes.get(ns) || [];\n this.registeredRoutes.set(ns, [...currentRoutes, ...routes]);\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(`路由已注册: ${routes.length} 个路由到命名空间 \"${ns}\"`);\n\n // 返回取消注册函数\n return async () => {\n await this.unregister(routes.map((r) => r.name), ns);\n };\n }\n\n /**\n * 取消注册路由\n * \n * @param routeNames - 要取消注册的路由名称数组\n * @param namespace - 路由命名空间(可选)\n */\n async unregister(routeNames: string[], namespace?: string): Promise<void> {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n\n // 过滤掉要取消注册的路由\n const filteredRoutes = routes.filter((r) => !routeNames.includes(r.name));\n\n if (filteredRoutes.length === routes.length) {\n logger.warn(`未找到要取消注册的路由: ${routeNames.join(', ')}`);\n return;\n }\n\n // 更新注册表\n if (filteredRoutes.length === 0) {\n this.registeredRoutes.delete(ns);\n } else {\n this.registeredRoutes.set(ns, filteredRoutes);\n }\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(\n `路由已取消注册: ${routeNames.length} 个路由从命名空间 \"${ns}\"`\n );\n }\n\n /**\n * 获取指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n * @returns 路由配置数组\n */\n getRoutes(namespace?: string): RouteConfig[] {\n const ns = namespace || 'default';\n return [...(this.registeredRoutes.get(ns) || [])];\n }\n\n /**\n * 获取所有路由\n * \n * @returns 所有命名空间的路由配置\n */\n getAllRoutes(): Map<string, RouteConfig[]> {\n return new Map(this.registeredRoutes);\n }\n\n /**\n * 清空指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n */\n clear(namespace?: string): void {\n const ns = namespace || 'default';\n this.registeredRoutes.delete(ns);\n this.routeVersion++;\n logger.info(`路由命名空间已清空: \"${ns}\"`);\n }\n\n /**\n * 清空所有路由\n */\n clearAll(): void {\n this.registeredRoutes.clear();\n this.routeVersion++;\n logger.info('所有路由已清空');\n }\n\n /**\n * 获取路由版本号\n * \n * @returns 路由版本号\n */\n getVersion(): number {\n return this.routeVersion;\n }\n\n /**\n * 检查路由是否已注册\n * \n * @param routeName - 路由名称\n * @param namespace - 路由命名空间(可选)\n * @returns 如果已注册返回 true,否则返回 false\n */\n isRegistered(routeName: string, namespace?: string): boolean {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n return routes.some((r) => r.name === routeName);\n }\n\n /**\n * 重新加载路由\n * \n * 注意:此方法会重新初始化路由管理器,需要谨慎使用\n */\n async reload(): Promise<void> {\n const routerManager = getRouterManager();\n if (!routerManager.isInitialized()) {\n throw new RouterError(\n '路由管理器未初始化',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n // 获取所有路由\n const allRoutes: RouteConfig[] = [];\n this.registeredRoutes.forEach((routes) => {\n allRoutes.push(...routes);\n });\n\n if (allRoutes.length === 0) {\n logger.warn('没有已注册的路由,无法重新加载');\n return;\n }\n\n // 转换路由\n await transformRoutes(allRoutes);\n // const reactRoutes = await transformRoutesToReactRoutes(result.routes, result);\n\n // 重新创建路由实例\n // 注意:这里需要获取原始配置的模式和选项\n // 由于当前架构限制,这里只是示例实现\n logger.info('路由重新加载完成');\n }\n}\n\n/**\n * 获取动态路由管理器单例\n */\nlet dynamicRouteManagerInstance: DynamicRouteManager | null = null;\n\nexport function getDynamicRouteManager(): DynamicRouteManager {\n if (!dynamicRouteManagerInstance) {\n dynamicRouteManagerInstance = new DynamicRouteManager();\n }\n return dynamicRouteManagerInstance;\n}\n"],"names":["DynamicRouteManager","getDynamicRouteManager","register","routes","namespace","ns","Array","isArray","length","RouterError","RouterErrorCode","ROUTER_CONFIG_ERROR","existingRoutes","registeredRoutes","get","existingNames","Set","map","r","name","newNames","conflicts","filter","has","join","undefined","currentRoutes","set","routeVersion","logger","info","unregister","routeNames","filteredRoutes","includes","warn","delete","getRoutes","getAllRoutes","Map","clear","clearAll","getVersion","isRegistered","routeName","some","reload","routerManager","getRouterManager","isInitialized","ROUTER_NOT_INITIALIZED","allRoutes","forEach","push","transformRoutes","dynamicRouteManagerInstance"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/core/router/dynamic/DynamicRouteManager.ts"],"sourcesContent":["/**\n * 路由动态注册管理器\n * 支持运行时动态注册和卸载路由\n */\n\nimport { logger } from '@vlian/logger';\nimport type { RouteConfig } from '../types';\nimport { getRouterManager } from '../RouterManager';\nimport { transformRoutes } from '../utils/transform';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 动态路由注册管理器\n */\nexport class DynamicRouteManager {\n private registeredRoutes: Map<string, RouteConfig[]> = new Map();\n private routeVersion: number = 0;\n\n /**\n * 注册路由\n * \n * @param routes - 要注册的路由配置\n * @param namespace - 路由命名空间(可选,用于分组管理)\n * @returns 取消注册函数\n */\n async register(\n routes: RouteConfig[],\n namespace?: string\n ): Promise<() => Promise<void>> {\n const ns = namespace || 'default';\n\n // 验证路由配置\n if (!Array.isArray(routes) || routes.length === 0) {\n throw new RouterError(\n '路由配置必须是非空数组',\n RouterErrorCode.ROUTER_CONFIG_ERROR\n );\n }\n\n // 检查路由名称是否冲突\n const existingRoutes = this.registeredRoutes.get(ns) || [];\n const existingNames = new Set(existingRoutes.map((r) => r.name));\n const newNames = routes.map((r) => r.name);\n const conflicts = newNames.filter((name) => existingNames.has(name));\n\n if (conflicts.length > 0) {\n throw new RouterError(\n `路由名称冲突: ${conflicts.join(', ')}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { conflicts, namespace: ns }\n );\n }\n\n // 添加到注册表\n const currentRoutes = this.registeredRoutes.get(ns) || [];\n this.registeredRoutes.set(ns, [...currentRoutes, ...routes]);\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(`路由已注册: ${routes.length} 个路由到命名空间 \"${ns}\"`);\n\n // 返回取消注册函数\n return async () => {\n await this.unregister(routes.map((r) => r.name), ns);\n };\n }\n\n /**\n * 取消注册路由\n * \n * @param routeNames - 要取消注册的路由名称数组\n * @param namespace - 路由命名空间(可选)\n */\n async unregister(routeNames: string[], namespace?: string): Promise<void> {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n\n // 过滤掉要取消注册的路由\n const filteredRoutes = routes.filter((r) => !routeNames.includes(r.name));\n\n if (filteredRoutes.length === routes.length) {\n logger.warn(`未找到要取消注册的路由: ${routeNames.join(', ')}`);\n return;\n }\n\n // 更新注册表\n if (filteredRoutes.length === 0) {\n this.registeredRoutes.delete(ns);\n } else {\n this.registeredRoutes.set(ns, filteredRoutes);\n }\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(\n `路由已取消注册: ${routeNames.length} 个路由从命名空间 \"${ns}\"`\n );\n }\n\n /**\n * 获取指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n * @returns 路由配置数组\n */\n getRoutes(namespace?: string): RouteConfig[] {\n const ns = namespace || 'default';\n return [...(this.registeredRoutes.get(ns) || [])];\n }\n\n /**\n * 获取所有路由\n * \n * @returns 所有命名空间的路由配置\n */\n getAllRoutes(): Map<string, RouteConfig[]> {\n return new Map(this.registeredRoutes);\n }\n\n /**\n * 清空指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n */\n clear(namespace?: string): void {\n const ns = namespace || 'default';\n this.registeredRoutes.delete(ns);\n this.routeVersion++;\n logger.info(`路由命名空间已清空: \"${ns}\"`);\n }\n\n /**\n * 清空所有路由\n */\n clearAll(): void {\n this.registeredRoutes.clear();\n this.routeVersion++;\n logger.info('所有路由已清空');\n }\n\n /**\n * 获取路由版本号\n * \n * @returns 路由版本号\n */\n getVersion(): number {\n return this.routeVersion;\n }\n\n /**\n * 检查路由是否已注册\n * \n * @param routeName - 路由名称\n * @param namespace - 路由命名空间(可选)\n * @returns 如果已注册返回 true,否则返回 false\n */\n isRegistered(routeName: string, namespace?: string): boolean {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n return routes.some((r) => r.name === routeName);\n }\n\n /**\n * 重新加载路由\n * \n * 注意:此方法会重新初始化路由管理器,需要谨慎使用\n */\n async reload(): Promise<void> {\n const routerManager = getRouterManager();\n if (!routerManager.isInitialized()) {\n throw new RouterError(\n '路由管理器未初始化',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n // 获取所有路由\n const allRoutes: RouteConfig[] = [];\n this.registeredRoutes.forEach((routes) => {\n allRoutes.push(...routes);\n });\n\n if (allRoutes.length === 0) {\n logger.warn('没有已注册的路由,无法重新加载');\n return;\n }\n\n // 转换路由\n await transformRoutes(allRoutes);\n // const reactRoutes = await transformRoutesToReactRoutes(result.routes, result);\n\n // 重新创建路由实例\n // 注意:这里需要获取原始配置的模式和选项\n // 由于当前架构限制,这里只是示例实现\n logger.info('路由重新加载完成');\n }\n}\n\n/**\n * 获取动态路由管理器单例\n */\nlet dynamicRouteManagerInstance: DynamicRouteManager | null = null;\n\nexport function getDynamicRouteManager(): DynamicRouteManager {\n if (!dynamicRouteManagerInstance) {\n dynamicRouteManagerInstance = new DynamicRouteManager();\n }\n return dynamicRouteManagerInstance;\n}\n"],"names":["DynamicRouteManager","getDynamicRouteManager","register","routes","namespace","ns","Array","isArray","length","RouterError","RouterErrorCode","ROUTER_CONFIG_ERROR","existingRoutes","registeredRoutes","get","existingNames","Set","map","r","name","newNames","conflicts","filter","has","join","undefined","currentRoutes","set","routeVersion","logger","info","unregister","routeNames","filteredRoutes","includes","warn","delete","getRoutes","getAllRoutes","Map","clear","clearAll","getVersion","isRegistered","routeName","some","reload","routerManager","getRouterManager","isInitialized","ROUTER_NOT_INITIALIZED","allRoutes","forEach","push","transformRoutes","dynamicRouteManagerInstance"],"mappings":"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"}
@@ -14,7 +14,7 @@ function _define_property(obj, key, value) {
14
14
  /**
15
15
  * 路由动态注册管理器
16
16
  * 支持运行时动态注册和卸载路由
17
- */ import { logger } from "../../../utils";
17
+ */ import { logger } from "@vlian/logger";
18
18
  import { getRouterManager } from "../RouterManager";
19
19
  import { transformRoutes } from "../utils/transform";
20
20
  import { RouterError, RouterErrorCode } from "../errors";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/router/dynamic/DynamicRouteManager.ts"],"sourcesContent":["/**\n * 路由动态注册管理器\n * 支持运行时动态注册和卸载路由\n */\n\nimport { logger } from '../../../utils';\nimport type { RouteConfig } from '../types';\nimport { getRouterManager } from '../RouterManager';\nimport { transformRoutes } from '../utils/transform';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 动态路由注册管理器\n */\nexport class DynamicRouteManager {\n private registeredRoutes: Map<string, RouteConfig[]> = new Map();\n private routeVersion: number = 0;\n\n /**\n * 注册路由\n * \n * @param routes - 要注册的路由配置\n * @param namespace - 路由命名空间(可选,用于分组管理)\n * @returns 取消注册函数\n */\n async register(\n routes: RouteConfig[],\n namespace?: string\n ): Promise<() => Promise<void>> {\n const ns = namespace || 'default';\n\n // 验证路由配置\n if (!Array.isArray(routes) || routes.length === 0) {\n throw new RouterError(\n '路由配置必须是非空数组',\n RouterErrorCode.ROUTER_CONFIG_ERROR\n );\n }\n\n // 检查路由名称是否冲突\n const existingRoutes = this.registeredRoutes.get(ns) || [];\n const existingNames = new Set(existingRoutes.map((r) => r.name));\n const newNames = routes.map((r) => r.name);\n const conflicts = newNames.filter((name) => existingNames.has(name));\n\n if (conflicts.length > 0) {\n throw new RouterError(\n `路由名称冲突: ${conflicts.join(', ')}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { conflicts, namespace: ns }\n );\n }\n\n // 添加到注册表\n const currentRoutes = this.registeredRoutes.get(ns) || [];\n this.registeredRoutes.set(ns, [...currentRoutes, ...routes]);\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(`路由已注册: ${routes.length} 个路由到命名空间 \"${ns}\"`);\n\n // 返回取消注册函数\n return async () => {\n await this.unregister(routes.map((r) => r.name), ns);\n };\n }\n\n /**\n * 取消注册路由\n * \n * @param routeNames - 要取消注册的路由名称数组\n * @param namespace - 路由命名空间(可选)\n */\n async unregister(routeNames: string[], namespace?: string): Promise<void> {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n\n // 过滤掉要取消注册的路由\n const filteredRoutes = routes.filter((r) => !routeNames.includes(r.name));\n\n if (filteredRoutes.length === routes.length) {\n logger.warn(`未找到要取消注册的路由: ${routeNames.join(', ')}`);\n return;\n }\n\n // 更新注册表\n if (filteredRoutes.length === 0) {\n this.registeredRoutes.delete(ns);\n } else {\n this.registeredRoutes.set(ns, filteredRoutes);\n }\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(\n `路由已取消注册: ${routeNames.length} 个路由从命名空间 \"${ns}\"`\n );\n }\n\n /**\n * 获取指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n * @returns 路由配置数组\n */\n getRoutes(namespace?: string): RouteConfig[] {\n const ns = namespace || 'default';\n return [...(this.registeredRoutes.get(ns) || [])];\n }\n\n /**\n * 获取所有路由\n * \n * @returns 所有命名空间的路由配置\n */\n getAllRoutes(): Map<string, RouteConfig[]> {\n return new Map(this.registeredRoutes);\n }\n\n /**\n * 清空指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n */\n clear(namespace?: string): void {\n const ns = namespace || 'default';\n this.registeredRoutes.delete(ns);\n this.routeVersion++;\n logger.info(`路由命名空间已清空: \"${ns}\"`);\n }\n\n /**\n * 清空所有路由\n */\n clearAll(): void {\n this.registeredRoutes.clear();\n this.routeVersion++;\n logger.info('所有路由已清空');\n }\n\n /**\n * 获取路由版本号\n * \n * @returns 路由版本号\n */\n getVersion(): number {\n return this.routeVersion;\n }\n\n /**\n * 检查路由是否已注册\n * \n * @param routeName - 路由名称\n * @param namespace - 路由命名空间(可选)\n * @returns 如果已注册返回 true,否则返回 false\n */\n isRegistered(routeName: string, namespace?: string): boolean {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n return routes.some((r) => r.name === routeName);\n }\n\n /**\n * 重新加载路由\n * \n * 注意:此方法会重新初始化路由管理器,需要谨慎使用\n */\n async reload(): Promise<void> {\n const routerManager = getRouterManager();\n if (!routerManager.isInitialized()) {\n throw new RouterError(\n '路由管理器未初始化',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n // 获取所有路由\n const allRoutes: RouteConfig[] = [];\n this.registeredRoutes.forEach((routes) => {\n allRoutes.push(...routes);\n });\n\n if (allRoutes.length === 0) {\n logger.warn('没有已注册的路由,无法重新加载');\n return;\n }\n\n // 转换路由\n await transformRoutes(allRoutes);\n // const reactRoutes = await transformRoutesToReactRoutes(result.routes, result);\n\n // 重新创建路由实例\n // 注意:这里需要获取原始配置的模式和选项\n // 由于当前架构限制,这里只是示例实现\n logger.info('路由重新加载完成');\n }\n}\n\n/**\n * 获取动态路由管理器单例\n */\nlet dynamicRouteManagerInstance: DynamicRouteManager | null = null;\n\nexport function getDynamicRouteManager(): DynamicRouteManager {\n if (!dynamicRouteManagerInstance) {\n dynamicRouteManagerInstance = new DynamicRouteManager();\n }\n return dynamicRouteManagerInstance;\n}\n"],"names":["logger","getRouterManager","transformRoutes","RouterError","RouterErrorCode","DynamicRouteManager","register","routes","namespace","ns","Array","isArray","length","ROUTER_CONFIG_ERROR","existingRoutes","registeredRoutes","get","existingNames","Set","map","r","name","newNames","conflicts","filter","has","join","undefined","currentRoutes","set","routeVersion","info","unregister","routeNames","filteredRoutes","includes","warn","delete","getRoutes","getAllRoutes","Map","clear","clearAll","getVersion","isRegistered","routeName","some","reload","routerManager","isInitialized","ROUTER_NOT_INITIALIZED","allRoutes","forEach","push","dynamicRouteManagerInstance","getDynamicRouteManager"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/core/router/dynamic/DynamicRouteManager.ts"],"sourcesContent":["/**\n * 路由动态注册管理器\n * 支持运行时动态注册和卸载路由\n */\n\nimport { logger } from '@vlian/logger';\nimport type { RouteConfig } from '../types';\nimport { getRouterManager } from '../RouterManager';\nimport { transformRoutes } from '../utils/transform';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 动态路由注册管理器\n */\nexport class DynamicRouteManager {\n private registeredRoutes: Map<string, RouteConfig[]> = new Map();\n private routeVersion: number = 0;\n\n /**\n * 注册路由\n * \n * @param routes - 要注册的路由配置\n * @param namespace - 路由命名空间(可选,用于分组管理)\n * @returns 取消注册函数\n */\n async register(\n routes: RouteConfig[],\n namespace?: string\n ): Promise<() => Promise<void>> {\n const ns = namespace || 'default';\n\n // 验证路由配置\n if (!Array.isArray(routes) || routes.length === 0) {\n throw new RouterError(\n '路由配置必须是非空数组',\n RouterErrorCode.ROUTER_CONFIG_ERROR\n );\n }\n\n // 检查路由名称是否冲突\n const existingRoutes = this.registeredRoutes.get(ns) || [];\n const existingNames = new Set(existingRoutes.map((r) => r.name));\n const newNames = routes.map((r) => r.name);\n const conflicts = newNames.filter((name) => existingNames.has(name));\n\n if (conflicts.length > 0) {\n throw new RouterError(\n `路由名称冲突: ${conflicts.join(', ')}`,\n RouterErrorCode.ROUTER_CONFIG_ERROR,\n undefined,\n undefined,\n { conflicts, namespace: ns }\n );\n }\n\n // 添加到注册表\n const currentRoutes = this.registeredRoutes.get(ns) || [];\n this.registeredRoutes.set(ns, [...currentRoutes, ...routes]);\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(`路由已注册: ${routes.length} 个路由到命名空间 \"${ns}\"`);\n\n // 返回取消注册函数\n return async () => {\n await this.unregister(routes.map((r) => r.name), ns);\n };\n }\n\n /**\n * 取消注册路由\n * \n * @param routeNames - 要取消注册的路由名称数组\n * @param namespace - 路由命名空间(可选)\n */\n async unregister(routeNames: string[], namespace?: string): Promise<void> {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n\n // 过滤掉要取消注册的路由\n const filteredRoutes = routes.filter((r) => !routeNames.includes(r.name));\n\n if (filteredRoutes.length === routes.length) {\n logger.warn(`未找到要取消注册的路由: ${routeNames.join(', ')}`);\n return;\n }\n\n // 更新注册表\n if (filteredRoutes.length === 0) {\n this.registeredRoutes.delete(ns);\n } else {\n this.registeredRoutes.set(ns, filteredRoutes);\n }\n\n // 更新版本号\n this.routeVersion++;\n\n logger.info(\n `路由已取消注册: ${routeNames.length} 个路由从命名空间 \"${ns}\"`\n );\n }\n\n /**\n * 获取指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n * @returns 路由配置数组\n */\n getRoutes(namespace?: string): RouteConfig[] {\n const ns = namespace || 'default';\n return [...(this.registeredRoutes.get(ns) || [])];\n }\n\n /**\n * 获取所有路由\n * \n * @returns 所有命名空间的路由配置\n */\n getAllRoutes(): Map<string, RouteConfig[]> {\n return new Map(this.registeredRoutes);\n }\n\n /**\n * 清空指定命名空间的路由\n * \n * @param namespace - 路由命名空间(可选)\n */\n clear(namespace?: string): void {\n const ns = namespace || 'default';\n this.registeredRoutes.delete(ns);\n this.routeVersion++;\n logger.info(`路由命名空间已清空: \"${ns}\"`);\n }\n\n /**\n * 清空所有路由\n */\n clearAll(): void {\n this.registeredRoutes.clear();\n this.routeVersion++;\n logger.info('所有路由已清空');\n }\n\n /**\n * 获取路由版本号\n * \n * @returns 路由版本号\n */\n getVersion(): number {\n return this.routeVersion;\n }\n\n /**\n * 检查路由是否已注册\n * \n * @param routeName - 路由名称\n * @param namespace - 路由命名空间(可选)\n * @returns 如果已注册返回 true,否则返回 false\n */\n isRegistered(routeName: string, namespace?: string): boolean {\n const ns = namespace || 'default';\n const routes = this.registeredRoutes.get(ns) || [];\n return routes.some((r) => r.name === routeName);\n }\n\n /**\n * 重新加载路由\n * \n * 注意:此方法会重新初始化路由管理器,需要谨慎使用\n */\n async reload(): Promise<void> {\n const routerManager = getRouterManager();\n if (!routerManager.isInitialized()) {\n throw new RouterError(\n '路由管理器未初始化',\n RouterErrorCode.ROUTER_NOT_INITIALIZED\n );\n }\n\n // 获取所有路由\n const allRoutes: RouteConfig[] = [];\n this.registeredRoutes.forEach((routes) => {\n allRoutes.push(...routes);\n });\n\n if (allRoutes.length === 0) {\n logger.warn('没有已注册的路由,无法重新加载');\n return;\n }\n\n // 转换路由\n await transformRoutes(allRoutes);\n // const reactRoutes = await transformRoutesToReactRoutes(result.routes, result);\n\n // 重新创建路由实例\n // 注意:这里需要获取原始配置的模式和选项\n // 由于当前架构限制,这里只是示例实现\n logger.info('路由重新加载完成');\n }\n}\n\n/**\n * 获取动态路由管理器单例\n */\nlet dynamicRouteManagerInstance: DynamicRouteManager | null = null;\n\nexport function getDynamicRouteManager(): DynamicRouteManager {\n if (!dynamicRouteManagerInstance) {\n dynamicRouteManagerInstance = new DynamicRouteManager();\n }\n return dynamicRouteManagerInstance;\n}\n"],"names":["logger","getRouterManager","transformRoutes","RouterError","RouterErrorCode","DynamicRouteManager","register","routes","namespace","ns","Array","isArray","length","ROUTER_CONFIG_ERROR","existingRoutes","registeredRoutes","get","existingNames","Set","map","r","name","newNames","conflicts","filter","has","join","undefined","currentRoutes","set","routeVersion","info","unregister","routeNames","filteredRoutes","includes","warn","delete","getRoutes","getAllRoutes","Map","clear","clearAll","getVersion","isRegistered","routeName","some","reload","routerManager","isInitialized","ROUTER_NOT_INITIALIZED","allRoutes","forEach","push","dynamicRouteManagerInstance","getDynamicRouteManager"],"mappings":"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"}
@@ -21,7 +21,7 @@ _export(exports, {
21
21
  return createRouterError;
22
22
  }
23
23
  });
24
- const _errors = require("../../../utils/errors");
24
+ const _utils = require("@vlian/utils");
25
25
  var RouterErrorCode = /*#__PURE__*/ function(RouterErrorCode) {
26
26
  /**
27
27
  * 路由未初始化
@@ -46,9 +46,9 @@ var RouterErrorCode = /*#__PURE__*/ function(RouterErrorCode) {
46
46
  */ RouterErrorCode["ROUTE_TRANSFORM_FAILED"] = "ROUTE_TRANSFORM_FAILED";
47
47
  return RouterErrorCode;
48
48
  }({});
49
- let RouterError = class RouterError extends _errors.FrameworkError {
50
- constructor(message, code, severity = _errors.ErrorSeverity.MEDIUM, cause, context){
51
- super(message, _errors.ErrorType.RUNTIME, severity, {
49
+ let RouterError = class RouterError extends _utils.FrameworkError {
50
+ constructor(message, code, severity = _utils.ErrorSeverity.MEDIUM, cause, context){
51
+ super(message, _utils.ErrorType.RUNTIME, severity, {
52
52
  code,
53
53
  originalError: cause,
54
54
  context: context || {}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/router/errors/RouterError.ts"],"sourcesContent":["/**\n * 路由错误类型定义\n */\n\nimport { FrameworkError, ErrorSeverity, ErrorType } from '../../../utils/errors';\n\n/**\n * 路由错误代码\n */\nexport enum RouterErrorCode {\n /**\n * 路由未初始化\n */\n ROUTER_NOT_INITIALIZED = 'ROUTER_NOT_INITIALIZED',\n\n /**\n * 路由配置错误\n */\n ROUTER_CONFIG_ERROR = 'ROUTER_CONFIG_ERROR',\n\n /**\n * 路由未找到\n */\n ROUTE_NOT_FOUND = 'ROUTE_NOT_FOUND',\n\n /**\n * 路由导航失败\n */\n ROUTE_NAVIGATION_FAILED = 'ROUTE_NAVIGATION_FAILED',\n\n /**\n * 路由权限不足\n */\n ROUTE_PERMISSION_DENIED = 'ROUTE_PERMISSION_DENIED',\n\n /**\n * 路由组件加载失败\n */\n ROUTE_COMPONENT_LOAD_FAILED = 'ROUTE_COMPONENT_LOAD_FAILED',\n\n /**\n * 路由转换失败\n */\n ROUTE_TRANSFORM_FAILED = 'ROUTE_TRANSFORM_FAILED',\n}\n\n/**\n * 路由错误\n */\nexport class RouterError extends FrameworkError {\n constructor(\n message: string,\n code: RouterErrorCode,\n severity: ErrorSeverity = ErrorSeverity.MEDIUM,\n cause?: Error,\n context?: Record<string, unknown>\n ) {\n super(message, ErrorType.RUNTIME, severity, {\n code,\n originalError: cause,\n context: context || {},\n });\n this.name = 'RouterError';\n }\n}\n\n/**\n * 创建路由错误\n */\nexport function createRouterError(\n message: string,\n code: RouterErrorCode,\n severity?: ErrorSeverity,\n cause?: Error,\n context?: Record<string, unknown>\n): RouterError {\n return new RouterError(message, code, severity, cause, context);\n}\n"],"names":["RouterError","RouterErrorCode","createRouterError","FrameworkError","message","code","severity","ErrorSeverity","MEDIUM","cause","context","ErrorType","RUNTIME","originalError","name"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QA+CYA;eAAAA;;QAxCDC;eAAAA;;QA4DIC;eAAAA;;;wBAjEyC;AAKlD,IAAA,AAAKD,yCAAAA;IACV;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;WAjCSA;;AAwCL,IAAA,AAAMD,cAAN,MAAMA,oBAAoBG,sBAAc;IAC7C,YACEC,OAAe,EACfC,IAAqB,EACrBC,WAA0BC,qBAAa,CAACC,MAAM,EAC9CC,KAAa,EACbC,OAAiC,CACjC;QACA,KAAK,CAACN,SAASO,iBAAS,CAACC,OAAO,EAAEN,UAAU;YAC1CD;YACAQ,eAAeJ;YACfC,SAASA,WAAW,CAAC;QACvB;QACA,IAAI,CAACI,IAAI,GAAG;IACd;AACF;AAKO,SAASZ,kBACdE,OAAe,EACfC,IAAqB,EACrBC,QAAwB,EACxBG,KAAa,EACbC,OAAiC;IAEjC,OAAO,IAAIV,YAAYI,SAASC,MAAMC,UAAUG,OAAOC;AACzD"}
1
+ {"version":3,"sources":["../../../../src/core/router/errors/RouterError.ts"],"sourcesContent":["/**\n * 路由错误类型定义\n */\n\nimport { FrameworkError, ErrorSeverity, ErrorType } from '@vlian/utils';\n\n/**\n * 路由错误代码\n */\nexport enum RouterErrorCode {\n /**\n * 路由未初始化\n */\n ROUTER_NOT_INITIALIZED = 'ROUTER_NOT_INITIALIZED',\n\n /**\n * 路由配置错误\n */\n ROUTER_CONFIG_ERROR = 'ROUTER_CONFIG_ERROR',\n\n /**\n * 路由未找到\n */\n ROUTE_NOT_FOUND = 'ROUTE_NOT_FOUND',\n\n /**\n * 路由导航失败\n */\n ROUTE_NAVIGATION_FAILED = 'ROUTE_NAVIGATION_FAILED',\n\n /**\n * 路由权限不足\n */\n ROUTE_PERMISSION_DENIED = 'ROUTE_PERMISSION_DENIED',\n\n /**\n * 路由组件加载失败\n */\n ROUTE_COMPONENT_LOAD_FAILED = 'ROUTE_COMPONENT_LOAD_FAILED',\n\n /**\n * 路由转换失败\n */\n ROUTE_TRANSFORM_FAILED = 'ROUTE_TRANSFORM_FAILED',\n}\n\n/**\n * 路由错误\n */\nexport class RouterError extends FrameworkError {\n constructor(\n message: string,\n code: RouterErrorCode,\n severity: ErrorSeverity = ErrorSeverity.MEDIUM,\n cause?: Error,\n context?: Record<string, unknown>\n ) {\n super(message, ErrorType.RUNTIME, severity, {\n code,\n originalError: cause,\n context: context || {},\n });\n this.name = 'RouterError';\n }\n}\n\n/**\n * 创建路由错误\n */\nexport function createRouterError(\n message: string,\n code: RouterErrorCode,\n severity?: ErrorSeverity,\n cause?: Error,\n context?: Record<string, unknown>\n): RouterError {\n return new RouterError(message, code, severity, cause, context);\n}\n"],"names":["RouterError","RouterErrorCode","createRouterError","FrameworkError","message","code","severity","ErrorSeverity","MEDIUM","cause","context","ErrorType","RUNTIME","originalError","name"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QA+CYA;eAAAA;;QAxCDC;eAAAA;;QA4DIC;eAAAA;;;uBAjEyC;AAKlD,IAAA,AAAKD,yCAAAA;IACV;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;WAjCSA;;AAwCL,IAAA,AAAMD,cAAN,MAAMA,oBAAoBG,qBAAc;IAC7C,YACEC,OAAe,EACfC,IAAqB,EACrBC,WAA0BC,oBAAa,CAACC,MAAM,EAC9CC,KAAa,EACbC,OAAiC,CACjC;QACA,KAAK,CAACN,SAASO,gBAAS,CAACC,OAAO,EAAEN,UAAU;YAC1CD;YACAQ,eAAeJ;YACfC,SAASA,WAAW,CAAC;QACvB;QACA,IAAI,CAACI,IAAI,GAAG;IACd;AACF;AAKO,SAASZ,kBACdE,OAAe,EACfC,IAAqB,EACrBC,QAAwB,EACxBG,KAAa,EACbC,OAAiC;IAEjC,OAAO,IAAIV,YAAYI,SAASC,MAAMC,UAAUG,OAAOC;AACzD"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 路由错误类型定义
3
3
  */
4
- import { FrameworkError, ErrorSeverity } from '../../../utils/errors';
4
+ import { FrameworkError, ErrorSeverity } from '@vlian/utils';
5
5
  /**
6
6
  * 路由错误代码
7
7
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 路由错误类型定义
3
- */ import { FrameworkError, ErrorSeverity, ErrorType } from "../../../utils/errors";
3
+ */ import { FrameworkError, ErrorSeverity, ErrorType } from "@vlian/utils";
4
4
  /**
5
5
  * 路由错误代码
6
6
  */ export var RouterErrorCode = /*#__PURE__*/ function(RouterErrorCode) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/core/router/errors/RouterError.ts"],"sourcesContent":["/**\n * 路由错误类型定义\n */\n\nimport { FrameworkError, ErrorSeverity, ErrorType } from '../../../utils/errors';\n\n/**\n * 路由错误代码\n */\nexport enum RouterErrorCode {\n /**\n * 路由未初始化\n */\n ROUTER_NOT_INITIALIZED = 'ROUTER_NOT_INITIALIZED',\n\n /**\n * 路由配置错误\n */\n ROUTER_CONFIG_ERROR = 'ROUTER_CONFIG_ERROR',\n\n /**\n * 路由未找到\n */\n ROUTE_NOT_FOUND = 'ROUTE_NOT_FOUND',\n\n /**\n * 路由导航失败\n */\n ROUTE_NAVIGATION_FAILED = 'ROUTE_NAVIGATION_FAILED',\n\n /**\n * 路由权限不足\n */\n ROUTE_PERMISSION_DENIED = 'ROUTE_PERMISSION_DENIED',\n\n /**\n * 路由组件加载失败\n */\n ROUTE_COMPONENT_LOAD_FAILED = 'ROUTE_COMPONENT_LOAD_FAILED',\n\n /**\n * 路由转换失败\n */\n ROUTE_TRANSFORM_FAILED = 'ROUTE_TRANSFORM_FAILED',\n}\n\n/**\n * 路由错误\n */\nexport class RouterError extends FrameworkError {\n constructor(\n message: string,\n code: RouterErrorCode,\n severity: ErrorSeverity = ErrorSeverity.MEDIUM,\n cause?: Error,\n context?: Record<string, unknown>\n ) {\n super(message, ErrorType.RUNTIME, severity, {\n code,\n originalError: cause,\n context: context || {},\n });\n this.name = 'RouterError';\n }\n}\n\n/**\n * 创建路由错误\n */\nexport function createRouterError(\n message: string,\n code: RouterErrorCode,\n severity?: ErrorSeverity,\n cause?: Error,\n context?: Record<string, unknown>\n): RouterError {\n return new RouterError(message, code, severity, cause, context);\n}\n"],"names":["FrameworkError","ErrorSeverity","ErrorType","RouterErrorCode","RouterError","message","code","severity","MEDIUM","cause","context","RUNTIME","originalError","name","createRouterError"],"mappings":"AAAA;;CAEC,GAED,SAASA,cAAc,EAAEC,aAAa,EAAEC,SAAS,QAAQ,wBAAwB;AAEjF;;CAEC,GACD,OAAO,IAAA,AAAKC,yCAAAA;IACV;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;WAjCSA;MAmCX;AAED;;CAEC,GACD,OAAO,MAAMC,oBAAoBJ;IAC/B,YACEK,OAAe,EACfC,IAAqB,EACrBC,WAA0BN,cAAcO,MAAM,EAC9CC,KAAa,EACbC,OAAiC,CACjC;QACA,KAAK,CAACL,SAASH,UAAUS,OAAO,EAAEJ,UAAU;YAC1CD;YACAM,eAAeH;YACfC,SAASA,WAAW,CAAC;QACvB;QACA,IAAI,CAACG,IAAI,GAAG;IACd;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,kBACdT,OAAe,EACfC,IAAqB,EACrBC,QAAwB,EACxBE,KAAa,EACbC,OAAiC;IAEjC,OAAO,IAAIN,YAAYC,SAASC,MAAMC,UAAUE,OAAOC;AACzD"}
1
+ {"version":3,"sources":["../../../../src/core/router/errors/RouterError.ts"],"sourcesContent":["/**\n * 路由错误类型定义\n */\n\nimport { FrameworkError, ErrorSeverity, ErrorType } from '@vlian/utils';\n\n/**\n * 路由错误代码\n */\nexport enum RouterErrorCode {\n /**\n * 路由未初始化\n */\n ROUTER_NOT_INITIALIZED = 'ROUTER_NOT_INITIALIZED',\n\n /**\n * 路由配置错误\n */\n ROUTER_CONFIG_ERROR = 'ROUTER_CONFIG_ERROR',\n\n /**\n * 路由未找到\n */\n ROUTE_NOT_FOUND = 'ROUTE_NOT_FOUND',\n\n /**\n * 路由导航失败\n */\n ROUTE_NAVIGATION_FAILED = 'ROUTE_NAVIGATION_FAILED',\n\n /**\n * 路由权限不足\n */\n ROUTE_PERMISSION_DENIED = 'ROUTE_PERMISSION_DENIED',\n\n /**\n * 路由组件加载失败\n */\n ROUTE_COMPONENT_LOAD_FAILED = 'ROUTE_COMPONENT_LOAD_FAILED',\n\n /**\n * 路由转换失败\n */\n ROUTE_TRANSFORM_FAILED = 'ROUTE_TRANSFORM_FAILED',\n}\n\n/**\n * 路由错误\n */\nexport class RouterError extends FrameworkError {\n constructor(\n message: string,\n code: RouterErrorCode,\n severity: ErrorSeverity = ErrorSeverity.MEDIUM,\n cause?: Error,\n context?: Record<string, unknown>\n ) {\n super(message, ErrorType.RUNTIME, severity, {\n code,\n originalError: cause,\n context: context || {},\n });\n this.name = 'RouterError';\n }\n}\n\n/**\n * 创建路由错误\n */\nexport function createRouterError(\n message: string,\n code: RouterErrorCode,\n severity?: ErrorSeverity,\n cause?: Error,\n context?: Record<string, unknown>\n): RouterError {\n return new RouterError(message, code, severity, cause, context);\n}\n"],"names":["FrameworkError","ErrorSeverity","ErrorType","RouterErrorCode","RouterError","message","code","severity","MEDIUM","cause","context","RUNTIME","originalError","name","createRouterError"],"mappings":"AAAA;;CAEC,GAED,SAASA,cAAc,EAAEC,aAAa,EAAEC,SAAS,QAAQ,eAAe;AAExE;;CAEC,GACD,OAAO,IAAA,AAAKC,yCAAAA;IACV;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;IAGD;;GAEC;WAjCSA;MAmCX;AAED;;CAEC,GACD,OAAO,MAAMC,oBAAoBJ;IAC/B,YACEK,OAAe,EACfC,IAAqB,EACrBC,WAA0BN,cAAcO,MAAM,EAC9CC,KAAa,EACbC,OAAiC,CACjC;QACA,KAAK,CAACL,SAASH,UAAUS,OAAO,EAAEJ,UAAU;YAC1CD;YACAM,eAAeH;YACfC,SAASA,WAAW,CAAC;QACvB;QACA,IAAI,CAACG,IAAI,GAAG;IACd;AACF;AAEA;;CAEC,GACD,OAAO,SAASC,kBACdT,OAAe,EACfC,IAAqB,EACrBC,QAAwB,EACxBE,KAAa,EACbC,OAAiC;IAEjC,OAAO,IAAIN,YAAYC,SAASC,MAAMC,UAAUE,OAAOC;AACzD"}