@vlian/framework 1.2.57 → 1.2.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (685) hide show
  1. package/README.md +15 -3
  2. package/dist/analytics/index.cjs +1 -24
  3. package/dist/analytics/index.js +1 -3
  4. package/dist/analytics.umd.js +8 -208
  5. package/dist/components/LocaleSwitch.cjs +1 -118
  6. package/dist/components/LocaleSwitch.js +1 -103
  7. package/dist/components/ThemeSwitch.cjs +1 -117
  8. package/dist/components/ThemeSwitch.js +1 -102
  9. package/dist/components/index.cjs +1 -22
  10. package/dist/components/index.js +1 -4
  11. package/dist/components/persistence.cjs +1 -60
  12. package/dist/components/persistence.js +1 -39
  13. package/dist/core/Test.cjs +1 -66
  14. package/dist/core/Test.js +1 -15
  15. package/dist/core/app/AppContext.cjs +1 -350
  16. package/dist/core/app/AppContext.js +1 -339
  17. package/dist/core/app/AppContext.types.cjs +1 -6
  18. package/dist/core/app/AppContext.types.js +1 -5
  19. package/dist/core/app/BasicLayout.cjs +1 -124
  20. package/dist/core/app/BasicLayout.js +1 -74
  21. package/dist/core/app/DefaultApp.cjs +1 -152
  22. package/dist/core/app/DefaultApp.js +1 -143
  23. package/dist/core/app/index.cjs +1 -43
  24. package/dist/core/app/index.js +1 -7
  25. package/dist/core/config/AppConfig.cjs +1 -141
  26. package/dist/core/config/AppConfig.js +1 -133
  27. package/dist/core/config/ConfigLoader.cjs +1 -325
  28. package/dist/core/config/ConfigLoader.js +1 -311
  29. package/dist/core/config/ConfigValidator.cjs +2 -135
  30. package/dist/core/config/ConfigValidator.js +2 -121
  31. package/dist/core/config/index.cjs +1 -30
  32. package/dist/core/config/index.js +1 -7
  33. package/dist/core/dev/DevTools.cjs +1 -228
  34. package/dist/core/dev/DevTools.js +1 -210
  35. package/dist/core/error/ErrorBoundary.cjs +1 -403
  36. package/dist/core/error/ErrorBoundary.js +1 -399
  37. package/dist/core/error/ErrorHandler.cjs +1 -277
  38. package/dist/core/error/ErrorHandler.js +1 -261
  39. package/dist/core/error/index.cjs +1 -36
  40. package/dist/core/error/index.js +1 -6
  41. package/dist/core/event/AppEventBus.cjs +1 -446
  42. package/dist/core/event/AppEventBus.js +1 -438
  43. package/dist/core/event/frameworkEvents.cjs +1 -143
  44. package/dist/core/event/frameworkEvents.js +1 -135
  45. package/dist/core/event/hooks.cjs +1 -71
  46. package/dist/core/event/hooks.js +1 -95
  47. package/dist/core/event/index.cjs +1 -43
  48. package/dist/core/event/index.js +1 -10
  49. package/dist/core/event/types.cjs +1 -64
  50. package/dist/core/event/types.js +1 -56
  51. package/dist/core/event/useEventBus.cjs +1 -27
  52. package/dist/core/event/useEventBus.js +1 -39
  53. package/dist/core/index.cjs +1 -142
  54. package/dist/core/index.js +1 -69
  55. package/dist/core/initialization/InitializationErrorThrower.cjs +1 -77
  56. package/dist/core/initialization/InitializationErrorThrower.js +1 -30
  57. package/dist/core/initialization/index.cjs +1 -28
  58. package/dist/core/initialization/index.js +1 -7
  59. package/dist/core/initialization/initialization.cjs +1 -66
  60. package/dist/core/initialization/initialization.js +1 -78
  61. package/dist/core/initialization/initializationErrorState.cjs +1 -68
  62. package/dist/core/initialization/initializationErrorState.js +1 -60
  63. package/dist/core/kernel/defaultAdapters.cjs +1 -186
  64. package/dist/core/kernel/defaultAdapters.js +1 -176
  65. package/dist/core/kernel/errors.cjs +1 -71
  66. package/dist/core/kernel/errors.js +1 -53
  67. package/dist/core/kernel/index.cjs +1 -22
  68. package/dist/core/kernel/index.js +1 -4
  69. package/dist/core/kernel/startKernel.cjs +1 -202
  70. package/dist/core/kernel/startKernel.js +1 -192
  71. package/dist/core/kernel/types.cjs +1 -6
  72. package/dist/core/kernel/types.js +1 -3
  73. package/dist/core/middleware.cjs +1 -75
  74. package/dist/core/middleware.js +1 -61
  75. package/dist/core/plugin/PluginEventBus.cjs +1 -300
  76. package/dist/core/plugin/PluginEventBus.js +1 -286
  77. package/dist/core/plugin/PluginSandbox.cjs +1 -139
  78. package/dist/core/plugin/PluginSandbox.js +1 -125
  79. package/dist/core/plugin.cjs +1 -496
  80. package/dist/core/plugin.js +1 -438
  81. package/dist/core/router/RouterManager.cjs +1 -288
  82. package/dist/core/router/RouterManager.js +1 -272
  83. package/dist/core/router/adapter/AdapterManager.cjs +1 -237
  84. package/dist/core/router/adapter/AdapterManager.js +1 -221
  85. package/dist/core/router/adapter/index.cjs +1 -24
  86. package/dist/core/router/adapter/index.js +1 -7
  87. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -130
  88. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +1 -116
  89. package/dist/core/router/adapter/react-router/index.cjs +1 -22
  90. package/dist/core/router/adapter/react-router/index.js +1 -5
  91. package/dist/core/router/adapter/types.cjs +1 -8
  92. package/dist/core/router/adapter/types.js +1 -7
  93. package/dist/core/router/dev/RouterDevTools.cjs +1 -262
  94. package/dist/core/router/dev/RouterDevTools.js +1 -211
  95. package/dist/core/router/dev/index.cjs +1 -22
  96. package/dist/core/router/dev/index.js +1 -5
  97. package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -195
  98. package/dist/core/router/dynamic/DynamicRouteManager.js +1 -179
  99. package/dist/core/router/dynamic/index.cjs +1 -22
  100. package/dist/core/router/dynamic/index.js +1 -5
  101. package/dist/core/router/errors/RouterError.cjs +1 -63
  102. package/dist/core/router/errors/RouterError.js +1 -48
  103. package/dist/core/router/errors/index.cjs +1 -22
  104. package/dist/core/router/errors/index.js +1 -5
  105. package/dist/core/router/index.cjs +1 -38
  106. package/dist/core/router/index.js +1 -32
  107. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -146
  108. package/dist/core/router/lifecycle/RouterLifecycleManager.js +1 -130
  109. package/dist/core/router/lifecycle/index.cjs +1 -22
  110. package/dist/core/router/lifecycle/index.js +1 -5
  111. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -195
  112. package/dist/core/router/middleware/RouterMiddlewareManager.js +1 -179
  113. package/dist/core/router/middleware/auth.cjs +1 -68
  114. package/dist/core/router/middleware/auth.js +1 -63
  115. package/dist/core/router/middleware/index.cjs +1 -24
  116. package/dist/core/router/middleware/index.js +1 -7
  117. package/dist/core/router/middleware/types.cjs +1 -8
  118. package/dist/core/router/middleware/types.js +1 -7
  119. package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -229
  120. package/dist/core/router/monitoring/RouterMonitoring.js +1 -213
  121. package/dist/core/router/monitoring/index.cjs +1 -22
  122. package/dist/core/router/monitoring/index.js +1 -5
  123. package/dist/core/router/navigation/RouterNavigation.cjs +1 -241
  124. package/dist/core/router/navigation/RouterNavigation.js +1 -192
  125. package/dist/core/router/navigation/index.cjs +1 -22
  126. package/dist/core/router/navigation/index.js +1 -5
  127. package/dist/core/router/performance/RouteCache.cjs +1 -307
  128. package/dist/core/router/performance/RouteCache.js +1 -291
  129. package/dist/core/router/performance/RoutePreloader.cjs +1 -294
  130. package/dist/core/router/performance/RoutePreloader.js +1 -277
  131. package/dist/core/router/performance/index.cjs +1 -23
  132. package/dist/core/router/performance/index.js +1 -6
  133. package/dist/core/router/plugin/RouterPluginManager.cjs +1 -264
  134. package/dist/core/router/plugin/RouterPluginManager.js +1 -248
  135. package/dist/core/router/plugin/index.cjs +1 -23
  136. package/dist/core/router/plugin/index.js +1 -6
  137. package/dist/core/router/plugin/types.cjs +1 -41
  138. package/dist/core/router/plugin/types.js +1 -33
  139. package/dist/core/router/types.cjs +1 -6
  140. package/dist/core/router/types.js +1 -5
  141. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -131
  142. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +1 -121
  143. package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -252
  144. package/dist/core/router/utils/adapters/react-router/transform.js +1 -242
  145. package/dist/core/router/utils/transform.cjs +1 -782
  146. package/dist/core/router/utils/transform.js +1 -791
  147. package/dist/core/router/validation/RouterConfigValidator.cjs +2 -85
  148. package/dist/core/router/validation/RouterConfigValidator.js +2 -77
  149. package/dist/core/router/validation/index.cjs +1 -23
  150. package/dist/core/router/validation/index.js +1 -6
  151. package/dist/core/router/validation/schema.cjs +1 -161
  152. package/dist/core/router/validation/schema.js +1 -151
  153. package/dist/core/router/version/RouteVersionManager.cjs +1 -207
  154. package/dist/core/router/version/RouteVersionManager.js +1 -191
  155. package/dist/core/router/version/index.cjs +1 -22
  156. package/dist/core/router/version/index.js +1 -5
  157. package/dist/core/splash/SplashScreen.cjs +1 -343
  158. package/dist/core/splash/SplashScreen.js +1 -293
  159. package/dist/core/splash/index.cjs +1 -24
  160. package/dist/core/splash/index.js +1 -6
  161. package/dist/core/splash/splashScreenUtils.cjs +1 -40
  162. package/dist/core/splash/splashScreenUtils.js +1 -30
  163. package/dist/core/startup/AppInstance.cjs +1 -241
  164. package/dist/core/startup/AppInstance.js +1 -226
  165. package/dist/core/startup/environment.cjs +1 -171
  166. package/dist/core/startup/environment.js +1 -154
  167. package/dist/core/startup/index.cjs +1 -25
  168. package/dist/core/startup/index.js +1 -8
  169. package/dist/core/startup/initializeServices.cjs +1 -228
  170. package/dist/core/startup/initializeServices.js +1 -188
  171. package/dist/core/startup/performanceTracker.cjs +1 -181
  172. package/dist/core/startup/performanceTracker.js +1 -167
  173. package/dist/core/startup/renderApp.cjs +1 -316
  174. package/dist/core/startup/renderApp.js +1 -267
  175. package/dist/core/startup/startApp.cjs +1 -319
  176. package/dist/core/startup/startApp.js +1 -315
  177. package/dist/core/types.cjs +1 -6
  178. package/dist/core/types.js +1 -5
  179. package/dist/index.cjs +1 -54
  180. package/dist/index.js +1 -11
  181. package/dist/index.umd.cjs +1 -29
  182. package/dist/index.umd.js +362 -13233
  183. package/dist/kernel/constants.cjs +1 -67
  184. package/dist/kernel/constants.js +1 -43
  185. package/dist/kernel/index.cjs +1 -40
  186. package/dist/kernel/index.js +1 -4
  187. package/dist/kernel/kernel.cjs +1 -297
  188. package/dist/kernel/kernel.js +1 -273
  189. package/dist/kernel/manager/cacheManager.cjs +1 -48
  190. package/dist/kernel/manager/cacheManager.js +1 -38
  191. package/dist/kernel/manager/i18n/I18nManager.cjs +1 -93
  192. package/dist/kernel/manager/i18n/I18nManager.js +1 -83
  193. package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -62
  194. package/dist/kernel/manager/i18n/i18n.persistence.js +1 -41
  195. package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -88
  196. package/dist/kernel/manager/i18n/i18n.schema.js +1 -64
  197. package/dist/kernel/manager/i18n/index.cjs +1 -13
  198. package/dist/kernel/manager/i18n/index.js +1 -3
  199. package/dist/kernel/manager/i18nManager.cjs +1 -13
  200. package/dist/kernel/manager/i18nManager.js +1 -3
  201. package/dist/kernel/manager/index.cjs +1 -30
  202. package/dist/kernel/manager/index.js +1 -6
  203. package/dist/kernel/manager/logger/LoggerManager.cjs +1 -109
  204. package/dist/kernel/manager/logger/LoggerManager.js +1 -99
  205. package/dist/kernel/manager/logger/index.cjs +1 -13
  206. package/dist/kernel/manager/logger/index.js +1 -3
  207. package/dist/kernel/manager/logger/logger.persistence.cjs +1 -64
  208. package/dist/kernel/manager/logger/logger.persistence.js +1 -43
  209. package/dist/kernel/manager/logger/logger.schema.cjs +1 -76
  210. package/dist/kernel/manager/logger/logger.schema.js +1 -55
  211. package/dist/kernel/manager/loggerManager.cjs +1 -13
  212. package/dist/kernel/manager/loggerManager.js +1 -3
  213. package/dist/kernel/manager/theme/ThemeManager.cjs +1 -86
  214. package/dist/kernel/manager/theme/ThemeManager.js +1 -76
  215. package/dist/kernel/manager/theme/index.cjs +1 -13
  216. package/dist/kernel/manager/theme/index.js +1 -3
  217. package/dist/kernel/manager/theme/theme.dom.cjs +1 -63
  218. package/dist/kernel/manager/theme/theme.dom.js +1 -45
  219. package/dist/kernel/manager/theme/theme.persistence.cjs +1 -59
  220. package/dist/kernel/manager/theme/theme.persistence.js +1 -38
  221. package/dist/kernel/manager/theme/theme.schema.cjs +1 -124
  222. package/dist/kernel/manager/theme/theme.schema.js +1 -97
  223. package/dist/kernel/manager/themeManager.cjs +1 -13
  224. package/dist/kernel/manager/themeManager.js +1 -3
  225. package/dist/kernel/types.cjs +1 -6
  226. package/dist/kernel/types.js +1 -3
  227. package/dist/library/index.cjs +1 -21
  228. package/dist/library/index.js +1 -4
  229. package/dist/library/locale/index.cjs +1 -41
  230. package/dist/library/locale/index.js +1 -12
  231. package/dist/library/locale/langs/en-us/index.cjs +1 -34
  232. package/dist/library/locale/langs/en-us/index.js +1 -24
  233. package/dist/library/locale/langs/zh-cn/index.cjs +1 -34
  234. package/dist/library/locale/langs/zh-cn/index.js +1 -24
  235. package/dist/library/locale/types.cjs +1 -6
  236. package/dist/library/locale/types.js +1 -3
  237. package/dist/library/storage/cache.cjs +1 -245
  238. package/dist/library/storage/cache.js +1 -237
  239. package/dist/library/storage/encryption.cjs +1 -149
  240. package/dist/library/storage/encryption.js +1 -141
  241. package/dist/library/storage/index.cjs +1 -126
  242. package/dist/library/storage/index.js +1 -106
  243. package/dist/state/StateManager.cjs +1 -168
  244. package/dist/state/StateManager.js +1 -160
  245. package/dist/state/adapters/AdapterFactory.cjs +1 -91
  246. package/dist/state/adapters/AdapterFactory.js +1 -85
  247. package/dist/state/adapters/DefaultAdapter.cjs +1 -77
  248. package/dist/state/adapters/DefaultAdapter.js +1 -71
  249. package/dist/state/adapters/ReduxAdapter.cjs +1 -445
  250. package/dist/state/adapters/ReduxAdapter.js +1 -439
  251. package/dist/state/adapters/ZustandAdapter.cjs +1 -71
  252. package/dist/state/adapters/ZustandAdapter.js +1 -70
  253. package/dist/state/adapters/index.cjs +1 -46
  254. package/dist/state/adapters/index.js +1 -9
  255. package/dist/state/adapters/types.cjs +1 -22
  256. package/dist/state/adapters/types.js +1 -5
  257. package/dist/state/core/DerivedStateInstance.cjs +1 -176
  258. package/dist/state/core/DerivedStateInstance.js +1 -173
  259. package/dist/state/core/StateInstance.cjs +1 -172
  260. package/dist/state/core/StateInstance.js +1 -168
  261. package/dist/state/core/StateRegistry.cjs +1 -112
  262. package/dist/state/core/StateRegistry.js +1 -106
  263. package/dist/state/core/StateScope.cjs +1 -139
  264. package/dist/state/core/StateScope.js +1 -133
  265. package/dist/state/core/index.cjs +1 -32
  266. package/dist/state/core/index.js +1 -8
  267. package/dist/state/index.cjs +1 -32
  268. package/dist/state/index.js +1 -12
  269. package/dist/state/types.cjs +1 -14
  270. package/dist/state/types.js +1 -13
  271. package/dist/state.umd.js +22 -1395
  272. package/dist/types.cjs +1 -6
  273. package/dist/types.js +1 -3
  274. package/dist/utils/analytics.cjs +1 -219
  275. package/dist/utils/analytics.js +1 -204
  276. package/dist/utils/configSecurity.cjs +3 -184
  277. package/dist/utils/configSecurity.js +3 -176
  278. package/dist/utils/csrf.cjs +1 -20
  279. package/dist/utils/csrf.js +1 -3
  280. package/dist/utils/errors/ErrorCodes.cjs +1 -27
  281. package/dist/utils/errors/ErrorCodes.js +1 -3
  282. package/dist/utils/errors.cjs +1 -113
  283. package/dist/utils/errors.js +1 -18
  284. package/dist/utils/index.cjs +1 -137
  285. package/dist/utils/index.js +1 -48
  286. package/dist/utils/logger.cjs +1 -27
  287. package/dist/utils/logger.js +1 -3
  288. package/dist/utils/logger.types.cjs +1 -13
  289. package/dist/utils/logger.types.js +1 -3
  290. package/dist/utils/monitoring.cjs +1 -20
  291. package/dist/utils/monitoring.js +1 -3
  292. package/dist/utils/performance.cjs +1 -24
  293. package/dist/utils/performance.js +1 -3
  294. package/dist/utils/resourceLoader.cjs +1 -24
  295. package/dist/utils/resourceLoader.js +1 -3
  296. package/dist/utils/runtimeSecurity.cjs +1 -13
  297. package/dist/utils/runtimeSecurity.js +1 -3
  298. package/dist/utils/security.cjs +1 -21
  299. package/dist/utils/security.js +1 -3
  300. package/dist/utils/traceId.cjs +1 -39
  301. package/dist/utils/traceId.js +1 -3
  302. package/dist/utils/validation.cjs +1 -21
  303. package/dist/utils/validation.js +1 -3
  304. package/package.json +9 -6
  305. package/dist/analytics/index.cjs.map +0 -1
  306. package/dist/analytics/index.js.map +0 -1
  307. package/dist/analytics.umd.js.map +0 -1
  308. package/dist/components/LocaleSwitch.cjs.map +0 -1
  309. package/dist/components/LocaleSwitch.js.map +0 -1
  310. package/dist/components/ThemeSwitch.cjs.map +0 -1
  311. package/dist/components/ThemeSwitch.js.map +0 -1
  312. package/dist/components/index.cjs.map +0 -1
  313. package/dist/components/index.js.map +0 -1
  314. package/dist/components/persistence.cjs.map +0 -1
  315. package/dist/components/persistence.js.map +0 -1
  316. package/dist/core/Test.cjs.map +0 -1
  317. package/dist/core/Test.js.map +0 -1
  318. package/dist/core/app/AppContext.cjs.map +0 -1
  319. package/dist/core/app/AppContext.js.map +0 -1
  320. package/dist/core/app/AppContext.types.cjs.map +0 -1
  321. package/dist/core/app/AppContext.types.js.map +0 -1
  322. package/dist/core/app/BasicLayout.cjs.map +0 -1
  323. package/dist/core/app/BasicLayout.js.map +0 -1
  324. package/dist/core/app/DefaultApp.cjs.map +0 -1
  325. package/dist/core/app/DefaultApp.js.map +0 -1
  326. package/dist/core/app/index.cjs.map +0 -1
  327. package/dist/core/app/index.js.map +0 -1
  328. package/dist/core/config/AppConfig.cjs.map +0 -1
  329. package/dist/core/config/AppConfig.js.map +0 -1
  330. package/dist/core/config/ConfigLoader.cjs.map +0 -1
  331. package/dist/core/config/ConfigLoader.js.map +0 -1
  332. package/dist/core/config/ConfigValidator.cjs.map +0 -1
  333. package/dist/core/config/ConfigValidator.js.map +0 -1
  334. package/dist/core/config/index.cjs.map +0 -1
  335. package/dist/core/config/index.js.map +0 -1
  336. package/dist/core/dev/DevTools.cjs.map +0 -1
  337. package/dist/core/dev/DevTools.js.map +0 -1
  338. package/dist/core/error/ErrorBoundary.cjs.map +0 -1
  339. package/dist/core/error/ErrorBoundary.js.map +0 -1
  340. package/dist/core/error/ErrorHandler.cjs.map +0 -1
  341. package/dist/core/error/ErrorHandler.js.map +0 -1
  342. package/dist/core/error/index.cjs.map +0 -1
  343. package/dist/core/error/index.js.map +0 -1
  344. package/dist/core/event/AppEventBus.cjs.map +0 -1
  345. package/dist/core/event/AppEventBus.js.map +0 -1
  346. package/dist/core/event/frameworkEvents.cjs.map +0 -1
  347. package/dist/core/event/frameworkEvents.js.map +0 -1
  348. package/dist/core/event/hooks.cjs.map +0 -1
  349. package/dist/core/event/hooks.js.map +0 -1
  350. package/dist/core/event/index.cjs.map +0 -1
  351. package/dist/core/event/index.js.map +0 -1
  352. package/dist/core/event/types.cjs.map +0 -1
  353. package/dist/core/event/types.js.map +0 -1
  354. package/dist/core/event/useEventBus.cjs.map +0 -1
  355. package/dist/core/event/useEventBus.js.map +0 -1
  356. package/dist/core/index.cjs.map +0 -1
  357. package/dist/core/index.js.map +0 -1
  358. package/dist/core/initialization/InitializationErrorThrower.cjs.map +0 -1
  359. package/dist/core/initialization/InitializationErrorThrower.js.map +0 -1
  360. package/dist/core/initialization/index.cjs.map +0 -1
  361. package/dist/core/initialization/index.js.map +0 -1
  362. package/dist/core/initialization/initialization.cjs.map +0 -1
  363. package/dist/core/initialization/initialization.js.map +0 -1
  364. package/dist/core/initialization/initializationErrorState.cjs.map +0 -1
  365. package/dist/core/initialization/initializationErrorState.js.map +0 -1
  366. package/dist/core/kernel/defaultAdapters.cjs.map +0 -1
  367. package/dist/core/kernel/defaultAdapters.js.map +0 -1
  368. package/dist/core/kernel/errors.cjs.map +0 -1
  369. package/dist/core/kernel/errors.js.map +0 -1
  370. package/dist/core/kernel/index.cjs.map +0 -1
  371. package/dist/core/kernel/index.js.map +0 -1
  372. package/dist/core/kernel/startKernel.cjs.map +0 -1
  373. package/dist/core/kernel/startKernel.js.map +0 -1
  374. package/dist/core/kernel/types.cjs.map +0 -1
  375. package/dist/core/kernel/types.js.map +0 -1
  376. package/dist/core/middleware.cjs.map +0 -1
  377. package/dist/core/middleware.js.map +0 -1
  378. package/dist/core/plugin/PluginEventBus.cjs.map +0 -1
  379. package/dist/core/plugin/PluginEventBus.js.map +0 -1
  380. package/dist/core/plugin/PluginSandbox.cjs.map +0 -1
  381. package/dist/core/plugin/PluginSandbox.js.map +0 -1
  382. package/dist/core/plugin.cjs.map +0 -1
  383. package/dist/core/plugin.js.map +0 -1
  384. package/dist/core/router/RouterManager.cjs.map +0 -1
  385. package/dist/core/router/RouterManager.js.map +0 -1
  386. package/dist/core/router/adapter/AdapterManager.cjs.map +0 -1
  387. package/dist/core/router/adapter/AdapterManager.js.map +0 -1
  388. package/dist/core/router/adapter/index.cjs.map +0 -1
  389. package/dist/core/router/adapter/index.js.map +0 -1
  390. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +0 -1
  391. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +0 -1
  392. package/dist/core/router/adapter/react-router/index.cjs.map +0 -1
  393. package/dist/core/router/adapter/react-router/index.js.map +0 -1
  394. package/dist/core/router/adapter/types.cjs.map +0 -1
  395. package/dist/core/router/adapter/types.js.map +0 -1
  396. package/dist/core/router/dev/RouterDevTools.cjs.map +0 -1
  397. package/dist/core/router/dev/RouterDevTools.js.map +0 -1
  398. package/dist/core/router/dev/index.cjs.map +0 -1
  399. package/dist/core/router/dev/index.js.map +0 -1
  400. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +0 -1
  401. package/dist/core/router/dynamic/DynamicRouteManager.js.map +0 -1
  402. package/dist/core/router/dynamic/index.cjs.map +0 -1
  403. package/dist/core/router/dynamic/index.js.map +0 -1
  404. package/dist/core/router/errors/RouterError.cjs.map +0 -1
  405. package/dist/core/router/errors/RouterError.js.map +0 -1
  406. package/dist/core/router/errors/index.cjs.map +0 -1
  407. package/dist/core/router/errors/index.js.map +0 -1
  408. package/dist/core/router/index.cjs.map +0 -1
  409. package/dist/core/router/index.js.map +0 -1
  410. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +0 -1
  411. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +0 -1
  412. package/dist/core/router/lifecycle/index.cjs.map +0 -1
  413. package/dist/core/router/lifecycle/index.js.map +0 -1
  414. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +0 -1
  415. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +0 -1
  416. package/dist/core/router/middleware/auth.cjs.map +0 -1
  417. package/dist/core/router/middleware/auth.js.map +0 -1
  418. package/dist/core/router/middleware/index.cjs.map +0 -1
  419. package/dist/core/router/middleware/index.js.map +0 -1
  420. package/dist/core/router/middleware/types.cjs.map +0 -1
  421. package/dist/core/router/middleware/types.js.map +0 -1
  422. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +0 -1
  423. package/dist/core/router/monitoring/RouterMonitoring.js.map +0 -1
  424. package/dist/core/router/monitoring/index.cjs.map +0 -1
  425. package/dist/core/router/monitoring/index.js.map +0 -1
  426. package/dist/core/router/navigation/RouterNavigation.cjs.map +0 -1
  427. package/dist/core/router/navigation/RouterNavigation.js.map +0 -1
  428. package/dist/core/router/navigation/index.cjs.map +0 -1
  429. package/dist/core/router/navigation/index.js.map +0 -1
  430. package/dist/core/router/performance/RouteCache.cjs.map +0 -1
  431. package/dist/core/router/performance/RouteCache.js.map +0 -1
  432. package/dist/core/router/performance/RoutePreloader.cjs.map +0 -1
  433. package/dist/core/router/performance/RoutePreloader.js.map +0 -1
  434. package/dist/core/router/performance/index.cjs.map +0 -1
  435. package/dist/core/router/performance/index.js.map +0 -1
  436. package/dist/core/router/plugin/RouterPluginManager.cjs.map +0 -1
  437. package/dist/core/router/plugin/RouterPluginManager.js.map +0 -1
  438. package/dist/core/router/plugin/index.cjs.map +0 -1
  439. package/dist/core/router/plugin/index.js.map +0 -1
  440. package/dist/core/router/plugin/types.cjs.map +0 -1
  441. package/dist/core/router/plugin/types.js.map +0 -1
  442. package/dist/core/router/types.cjs.map +0 -1
  443. package/dist/core/router/types.js.map +0 -1
  444. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +0 -1
  445. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +0 -1
  446. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +0 -1
  447. package/dist/core/router/utils/adapters/react-router/transform.js.map +0 -1
  448. package/dist/core/router/utils/transform.cjs.map +0 -1
  449. package/dist/core/router/utils/transform.js.map +0 -1
  450. package/dist/core/router/validation/RouterConfigValidator.cjs.map +0 -1
  451. package/dist/core/router/validation/RouterConfigValidator.js.map +0 -1
  452. package/dist/core/router/validation/index.cjs.map +0 -1
  453. package/dist/core/router/validation/index.js.map +0 -1
  454. package/dist/core/router/validation/schema.cjs.map +0 -1
  455. package/dist/core/router/validation/schema.js.map +0 -1
  456. package/dist/core/router/version/RouteVersionManager.cjs.map +0 -1
  457. package/dist/core/router/version/RouteVersionManager.js.map +0 -1
  458. package/dist/core/router/version/index.cjs.map +0 -1
  459. package/dist/core/router/version/index.js.map +0 -1
  460. package/dist/core/splash/SplashScreen.cjs.map +0 -1
  461. package/dist/core/splash/SplashScreen.js.map +0 -1
  462. package/dist/core/splash/index.cjs.map +0 -1
  463. package/dist/core/splash/index.js.map +0 -1
  464. package/dist/core/splash/splashScreenUtils.cjs.map +0 -1
  465. package/dist/core/splash/splashScreenUtils.js.map +0 -1
  466. package/dist/core/startup/AppInstance.cjs.map +0 -1
  467. package/dist/core/startup/AppInstance.js.map +0 -1
  468. package/dist/core/startup/environment.cjs.map +0 -1
  469. package/dist/core/startup/environment.js.map +0 -1
  470. package/dist/core/startup/index.cjs.map +0 -1
  471. package/dist/core/startup/index.js.map +0 -1
  472. package/dist/core/startup/initializeServices.cjs.map +0 -1
  473. package/dist/core/startup/initializeServices.js.map +0 -1
  474. package/dist/core/startup/performanceTracker.cjs.map +0 -1
  475. package/dist/core/startup/performanceTracker.js.map +0 -1
  476. package/dist/core/startup/renderApp.cjs.map +0 -1
  477. package/dist/core/startup/renderApp.js.map +0 -1
  478. package/dist/core/startup/startApp.cjs.map +0 -1
  479. package/dist/core/startup/startApp.js.map +0 -1
  480. package/dist/core/types.cjs.map +0 -1
  481. package/dist/core/types.js.map +0 -1
  482. package/dist/index.cjs.map +0 -1
  483. package/dist/index.js.map +0 -1
  484. package/dist/index.umd.cjs.map +0 -1
  485. package/dist/index.umd.js.map +0 -1
  486. package/dist/kernel/constants.cjs.map +0 -1
  487. package/dist/kernel/constants.js.map +0 -1
  488. package/dist/kernel/index.cjs.map +0 -1
  489. package/dist/kernel/index.js.map +0 -1
  490. package/dist/kernel/kernel.cjs.map +0 -1
  491. package/dist/kernel/kernel.js.map +0 -1
  492. package/dist/kernel/manager/cacheManager.cjs.map +0 -1
  493. package/dist/kernel/manager/cacheManager.js.map +0 -1
  494. package/dist/kernel/manager/i18n/I18nManager.cjs.map +0 -1
  495. package/dist/kernel/manager/i18n/I18nManager.js.map +0 -1
  496. package/dist/kernel/manager/i18n/i18n.persistence.cjs.map +0 -1
  497. package/dist/kernel/manager/i18n/i18n.persistence.js.map +0 -1
  498. package/dist/kernel/manager/i18n/i18n.schema.cjs.map +0 -1
  499. package/dist/kernel/manager/i18n/i18n.schema.js.map +0 -1
  500. package/dist/kernel/manager/i18n/index.cjs.map +0 -1
  501. package/dist/kernel/manager/i18n/index.js.map +0 -1
  502. package/dist/kernel/manager/i18nManager.cjs.map +0 -1
  503. package/dist/kernel/manager/i18nManager.js.map +0 -1
  504. package/dist/kernel/manager/index.cjs.map +0 -1
  505. package/dist/kernel/manager/index.js.map +0 -1
  506. package/dist/kernel/manager/logger/LoggerManager.cjs.map +0 -1
  507. package/dist/kernel/manager/logger/LoggerManager.js.map +0 -1
  508. package/dist/kernel/manager/logger/index.cjs.map +0 -1
  509. package/dist/kernel/manager/logger/index.js.map +0 -1
  510. package/dist/kernel/manager/logger/logger.persistence.cjs.map +0 -1
  511. package/dist/kernel/manager/logger/logger.persistence.js.map +0 -1
  512. package/dist/kernel/manager/logger/logger.schema.cjs.map +0 -1
  513. package/dist/kernel/manager/logger/logger.schema.js.map +0 -1
  514. package/dist/kernel/manager/loggerManager.cjs.map +0 -1
  515. package/dist/kernel/manager/loggerManager.js.map +0 -1
  516. package/dist/kernel/manager/persistence.cjs +0 -78
  517. package/dist/kernel/manager/persistence.cjs.map +0 -1
  518. package/dist/kernel/manager/persistence.d.ts +0 -3
  519. package/dist/kernel/manager/persistence.js +0 -60
  520. package/dist/kernel/manager/persistence.js.map +0 -1
  521. package/dist/kernel/manager/theme/ThemeManager.cjs.map +0 -1
  522. package/dist/kernel/manager/theme/ThemeManager.js.map +0 -1
  523. package/dist/kernel/manager/theme/index.cjs.map +0 -1
  524. package/dist/kernel/manager/theme/index.js.map +0 -1
  525. package/dist/kernel/manager/theme/theme.dom.cjs.map +0 -1
  526. package/dist/kernel/manager/theme/theme.dom.js.map +0 -1
  527. package/dist/kernel/manager/theme/theme.persistence.cjs.map +0 -1
  528. package/dist/kernel/manager/theme/theme.persistence.js.map +0 -1
  529. package/dist/kernel/manager/theme/theme.schema.cjs.map +0 -1
  530. package/dist/kernel/manager/theme/theme.schema.js.map +0 -1
  531. package/dist/kernel/manager/themeManager.cjs.map +0 -1
  532. package/dist/kernel/manager/themeManager.js.map +0 -1
  533. package/dist/kernel/types.cjs.map +0 -1
  534. package/dist/kernel/types.js.map +0 -1
  535. package/dist/library/index.cjs.map +0 -1
  536. package/dist/library/index.js.map +0 -1
  537. package/dist/library/locale/index.cjs.map +0 -1
  538. package/dist/library/locale/index.js.map +0 -1
  539. package/dist/library/locale/langs/en-us/index.cjs.map +0 -1
  540. package/dist/library/locale/langs/en-us/index.js.map +0 -1
  541. package/dist/library/locale/langs/zh-cn/index.cjs.map +0 -1
  542. package/dist/library/locale/langs/zh-cn/index.js.map +0 -1
  543. package/dist/library/locale/types.cjs.map +0 -1
  544. package/dist/library/locale/types.js.map +0 -1
  545. package/dist/library/storage/cache.cjs.map +0 -1
  546. package/dist/library/storage/cache.js.map +0 -1
  547. package/dist/library/storage/encryption.cjs.map +0 -1
  548. package/dist/library/storage/encryption.js.map +0 -1
  549. package/dist/library/storage/index.cjs.map +0 -1
  550. package/dist/library/storage/index.js.map +0 -1
  551. package/dist/request/adapter/RequestAdapter.d.ts +0 -85
  552. package/dist/request/adapter/RequestAdapter.js +0 -70
  553. package/dist/request/adapter/RequestAdapter.js.map +0 -1
  554. package/dist/request/adapter/axiosAdapter.d.ts +0 -10
  555. package/dist/request/adapter/axiosAdapter.js +0 -115
  556. package/dist/request/adapter/axiosAdapter.js.map +0 -1
  557. package/dist/request/adapter/fetchAdapter.d.ts +0 -10
  558. package/dist/request/adapter/fetchAdapter.js +0 -126
  559. package/dist/request/adapter/fetchAdapter.js.map +0 -1
  560. package/dist/request/adapter/index.d.ts +0 -9
  561. package/dist/request/adapter/index.js +0 -14
  562. package/dist/request/adapter/index.js.map +0 -1
  563. package/dist/request/adapter/kyAdapter.d.ts +0 -10
  564. package/dist/request/adapter/kyAdapter.js +0 -142
  565. package/dist/request/adapter/kyAdapter.js.map +0 -1
  566. package/dist/request/adapter/undiciAdapter.d.ts +0 -10
  567. package/dist/request/adapter/undiciAdapter.js +0 -164
  568. package/dist/request/adapter/undiciAdapter.js.map +0 -1
  569. package/dist/request/adapter.d.ts +0 -1
  570. package/dist/request/core/RequestClient.d.ts +0 -134
  571. package/dist/request/core/RequestClient.js +0 -509
  572. package/dist/request/core/RequestClient.js.map +0 -1
  573. package/dist/request/core/index.d.ts +0 -5
  574. package/dist/request/core/index.js +0 -5
  575. package/dist/request/core/index.js.map +0 -1
  576. package/dist/request/core.d.ts +0 -1
  577. package/dist/request/index.d.ts +0 -1
  578. package/dist/request/index.js +0 -50
  579. package/dist/request/index.js.map +0 -1
  580. package/dist/request/plugin/RequestPlugin.d.ts +0 -170
  581. package/dist/request/plugin/RequestPlugin.js +0 -203
  582. package/dist/request/plugin/RequestPlugin.js.map +0 -1
  583. package/dist/request/plugin/cache.d.ts +0 -33
  584. package/dist/request/plugin/cache.js +0 -264
  585. package/dist/request/plugin/cache.js.map +0 -1
  586. package/dist/request/plugin/csrfPlugin.d.ts +0 -21
  587. package/dist/request/plugin/csrfPlugin.js +0 -44
  588. package/dist/request/plugin/csrfPlugin.js.map +0 -1
  589. package/dist/request/plugin/index.d.ts +0 -11
  590. package/dist/request/plugin/index.js +0 -12
  591. package/dist/request/plugin/index.js.map +0 -1
  592. package/dist/request/plugin/monitoring.d.ts +0 -112
  593. package/dist/request/plugin/monitoring.js +0 -205
  594. package/dist/request/plugin/monitoring.js.map +0 -1
  595. package/dist/request/plugin/queue.d.ts +0 -91
  596. package/dist/request/plugin/queue.js +0 -156
  597. package/dist/request/plugin/queue.js.map +0 -1
  598. package/dist/request/plugin/retry.d.ts +0 -34
  599. package/dist/request/plugin/retry.js +0 -93
  600. package/dist/request/plugin/retry.js.map +0 -1
  601. package/dist/request/plugin/validation.d.ts +0 -26
  602. package/dist/request/plugin/validation.js +0 -116
  603. package/dist/request/plugin/validation.js.map +0 -1
  604. package/dist/request/plugin.d.ts +0 -1
  605. package/dist/request/runtime/RequestContext.d.ts +0 -50
  606. package/dist/request/runtime/RequestContext.js +0 -86
  607. package/dist/request/runtime/RequestContext.js.map +0 -1
  608. package/dist/request/runtime/index.d.ts +0 -4
  609. package/dist/request/runtime/index.js +0 -5
  610. package/dist/request/runtime/index.js.map +0 -1
  611. package/dist/request/runtime.d.ts +0 -1
  612. package/dist/request/types.d.ts +0 -1
  613. package/dist/request/types.js +0 -97
  614. package/dist/request/types.js.map +0 -1
  615. package/dist/request/utils/RequestQueueManager.d.ts +0 -74
  616. package/dist/request/utils/RequestQueueManager.js +0 -160
  617. package/dist/request/utils/RequestQueueManager.js.map +0 -1
  618. package/dist/request/utils/dependencyCheck.d.ts +0 -63
  619. package/dist/request/utils/dependencyCheck.js +0 -192
  620. package/dist/request/utils/dependencyCheck.js.map +0 -1
  621. package/dist/request/utils/index.d.ts +0 -5
  622. package/dist/request/utils/index.js +0 -6
  623. package/dist/request/utils/index.js.map +0 -1
  624. package/dist/request/utils.d.ts +0 -1
  625. package/dist/state/StateManager.cjs.map +0 -1
  626. package/dist/state/StateManager.js.map +0 -1
  627. package/dist/state/adapters/AdapterFactory.cjs.map +0 -1
  628. package/dist/state/adapters/AdapterFactory.js.map +0 -1
  629. package/dist/state/adapters/DefaultAdapter.cjs.map +0 -1
  630. package/dist/state/adapters/DefaultAdapter.js.map +0 -1
  631. package/dist/state/adapters/ReduxAdapter.cjs.map +0 -1
  632. package/dist/state/adapters/ReduxAdapter.js.map +0 -1
  633. package/dist/state/adapters/ZustandAdapter.cjs.map +0 -1
  634. package/dist/state/adapters/ZustandAdapter.js.map +0 -1
  635. package/dist/state/adapters/index.cjs.map +0 -1
  636. package/dist/state/adapters/index.js.map +0 -1
  637. package/dist/state/adapters/types.cjs.map +0 -1
  638. package/dist/state/adapters/types.js.map +0 -1
  639. package/dist/state/core/DerivedStateInstance.cjs.map +0 -1
  640. package/dist/state/core/DerivedStateInstance.js.map +0 -1
  641. package/dist/state/core/StateInstance.cjs.map +0 -1
  642. package/dist/state/core/StateInstance.js.map +0 -1
  643. package/dist/state/core/StateRegistry.cjs.map +0 -1
  644. package/dist/state/core/StateRegistry.js.map +0 -1
  645. package/dist/state/core/StateScope.cjs.map +0 -1
  646. package/dist/state/core/StateScope.js.map +0 -1
  647. package/dist/state/core/index.cjs.map +0 -1
  648. package/dist/state/core/index.js.map +0 -1
  649. package/dist/state/index.cjs.map +0 -1
  650. package/dist/state/index.js.map +0 -1
  651. package/dist/state/types.cjs.map +0 -1
  652. package/dist/state/types.js.map +0 -1
  653. package/dist/state.umd.js.map +0 -1
  654. package/dist/types.cjs.map +0 -1
  655. package/dist/types.js.map +0 -1
  656. package/dist/utils/analytics.cjs.map +0 -1
  657. package/dist/utils/analytics.js.map +0 -1
  658. package/dist/utils/configSecurity.cjs.map +0 -1
  659. package/dist/utils/configSecurity.js.map +0 -1
  660. package/dist/utils/csrf.cjs.map +0 -1
  661. package/dist/utils/csrf.js.map +0 -1
  662. package/dist/utils/errors/ErrorCodes.cjs.map +0 -1
  663. package/dist/utils/errors/ErrorCodes.js.map +0 -1
  664. package/dist/utils/errors.cjs.map +0 -1
  665. package/dist/utils/errors.js.map +0 -1
  666. package/dist/utils/index.cjs.map +0 -1
  667. package/dist/utils/index.js.map +0 -1
  668. package/dist/utils/logger.cjs.map +0 -1
  669. package/dist/utils/logger.js.map +0 -1
  670. package/dist/utils/logger.types.cjs.map +0 -1
  671. package/dist/utils/logger.types.js.map +0 -1
  672. package/dist/utils/monitoring.cjs.map +0 -1
  673. package/dist/utils/monitoring.js.map +0 -1
  674. package/dist/utils/performance.cjs.map +0 -1
  675. package/dist/utils/performance.js.map +0 -1
  676. package/dist/utils/resourceLoader.cjs.map +0 -1
  677. package/dist/utils/resourceLoader.js.map +0 -1
  678. package/dist/utils/runtimeSecurity.cjs.map +0 -1
  679. package/dist/utils/runtimeSecurity.js.map +0 -1
  680. package/dist/utils/security.cjs.map +0 -1
  681. package/dist/utils/security.js.map +0 -1
  682. package/dist/utils/traceId.cjs.map +0 -1
  683. package/dist/utils/traceId.js.map +0 -1
  684. package/dist/utils/validation.cjs.map +0 -1
  685. package/dist/utils/validation.js.map +0 -1
@@ -1,85 +1,2 @@
1
- /**
2
- * 路由配置验证器
3
- * 使用 Zod 进行配置验证,并提供友好的错误信息
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "RouterConfigValidator", {
9
- enumerable: true,
10
- get: function() {
11
- return RouterConfigValidator;
12
- }
13
- });
14
- const _ConfigValidator = require("../../config/ConfigValidator");
15
- const _logger = require("@vlian/logger");
16
- const _schema = require("./schema");
17
- let RouterConfigValidator = class RouterConfigValidator {
18
- /**
19
- * 验证路由配置
20
- *
21
- * @param config - 要验证的路由配置
22
- * @returns 验证后的路由配置
23
- * @throws ConfigValidationError 如果配置验证失败
24
- */ static validate(config) {
25
- const result = (0, _schema.safeValidateRouterConfig)(config);
26
- if (!result.success) {
27
- // 构建友好的错误信息
28
- const errorMessages = result.error.issues.map((issue)=>{
29
- const path = issue.path.length > 0 ? issue.path.join('.') : 'root';
30
- return `路由配置项 "${path}": ${issue.message}`;
31
- });
32
- const friendlyMessage = `路由配置验证失败:\n${errorMessages.join('\n')}`;
33
- _logger.logger.error('路由配置验证失败', {
34
- errors: result.error.issues,
35
- config
36
- });
37
- throw new _ConfigValidator.ConfigValidationError(friendlyMessage, result.error);
38
- }
39
- return result.data;
40
- }
41
- /**
42
- * 安全验证路由配置(不抛出异常)
43
- *
44
- * @param config - 要验证的路由配置
45
- * @returns 验证结果
46
- */ static safeValidate(config) {
47
- return (0, _schema.safeValidateRouterConfig)(config);
48
- }
49
- /**
50
- * 验证路由配置并提供修复建议
51
- *
52
- * @param config - 要验证的路由配置
53
- * @returns 验证结果和修复建议
54
- */ static validateWithSuggestions(config) {
55
- const result = (0, _schema.safeValidateRouterConfig)(config);
56
- if (!result.success) {
57
- const suggestions = [];
58
- result.error.issues.forEach((issue)=>{
59
- const path = issue.path.join('.');
60
- // 根据错误类型提供修复建议
61
- if (issue.code === 'invalid_type') {
62
- const invalidTypeIssue = issue;
63
- suggestions.push(`配置项 "${path}" 类型错误: 期望 ${invalidTypeIssue.expected},实际 ${invalidTypeIssue.received}`);
64
- } else if (issue.code === 'too_small') {
65
- suggestions.push(`配置项 "${path}" 值太小: ${issue.message}`);
66
- } else if (issue.code === 'too_big') {
67
- suggestions.push(`配置项 "${path}" 值太大: ${issue.message}`);
68
- } else {
69
- suggestions.push(`配置项 "${path}": ${issue.message}`);
70
- }
71
- });
72
- return {
73
- success: false,
74
- errors: result.error.issues,
75
- suggestions
76
- };
77
- }
78
- return {
79
- success: true,
80
- data: result.data
81
- };
82
- }
83
- };
84
-
85
- //# sourceMappingURL=RouterConfigValidator.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"RouterConfigValidator",{enumerable:true,get:function(){return RouterConfigValidator}});const _ConfigValidator=require("../../config/ConfigValidator");const _logger=require("@vlian/logger");const _schema=require("./schema");let RouterConfigValidator=class RouterConfigValidator{static validate(config){const result=(0,_schema.safeValidateRouterConfig)(config);if(!result.success){const errorMessages=result.error.issues.map(issue=>{const path=issue.path.length>0?issue.path.join("."):"root";return`路由配置项 "${path}": ${issue.message}`});const friendlyMessage=`路由配置验证失败:
2
+ ${errorMessages.join("\n")}`;_logger.logger.error("路由配置验证失败",{errors:result.error.issues,config});throw new _ConfigValidator.ConfigValidationError(friendlyMessage,result.error)}return result.data}static safeValidate(config){return(0,_schema.safeValidateRouterConfig)(config)}static validateWithSuggestions(config){const result=(0,_schema.safeValidateRouterConfig)(config);if(!result.success){const suggestions=[];result.error.issues.forEach(issue=>{const path=issue.path.join(".");if(issue.code==="invalid_type"){const invalidTypeIssue=issue;suggestions.push(`配置项 "${path}" 类型错误: 期望 ${invalidTypeIssue.expected},实际 ${invalidTypeIssue.received}`)}else if(issue.code==="too_small"){suggestions.push(`配置项 "${path}" 值太小: ${issue.message}`)}else if(issue.code==="too_big"){suggestions.push(`配置项 "${path}" 值太大: ${issue.message}`)}else{suggestions.push(`配置项 "${path}": ${issue.message}`)}});return{success:false,errors:result.error.issues,suggestions}}return{success:true,data:result.data}}};
@@ -1,77 +1,2 @@
1
- /**
2
- * 路由配置验证器
3
- * 使用 Zod 进行配置验证,并提供友好的错误信息
4
- */ import { ConfigValidationError } from "../../config/ConfigValidator";
5
- import { logger } from "@vlian/logger";
6
- import { safeValidateRouterConfig } from "./schema";
7
- /**
8
- * 路由配置验证器
9
- */ export class RouterConfigValidator {
10
- /**
11
- * 验证路由配置
12
- *
13
- * @param config - 要验证的路由配置
14
- * @returns 验证后的路由配置
15
- * @throws ConfigValidationError 如果配置验证失败
16
- */ static validate(config) {
17
- const result = safeValidateRouterConfig(config);
18
- if (!result.success) {
19
- // 构建友好的错误信息
20
- const errorMessages = result.error.issues.map((issue)=>{
21
- const path = issue.path.length > 0 ? issue.path.join('.') : 'root';
22
- return `路由配置项 "${path}": ${issue.message}`;
23
- });
24
- const friendlyMessage = `路由配置验证失败:\n${errorMessages.join('\n')}`;
25
- logger.error('路由配置验证失败', {
26
- errors: result.error.issues,
27
- config
28
- });
29
- throw new ConfigValidationError(friendlyMessage, result.error);
30
- }
31
- return result.data;
32
- }
33
- /**
34
- * 安全验证路由配置(不抛出异常)
35
- *
36
- * @param config - 要验证的路由配置
37
- * @returns 验证结果
38
- */ static safeValidate(config) {
39
- return safeValidateRouterConfig(config);
40
- }
41
- /**
42
- * 验证路由配置并提供修复建议
43
- *
44
- * @param config - 要验证的路由配置
45
- * @returns 验证结果和修复建议
46
- */ static validateWithSuggestions(config) {
47
- const result = safeValidateRouterConfig(config);
48
- if (!result.success) {
49
- const suggestions = [];
50
- result.error.issues.forEach((issue)=>{
51
- const path = issue.path.join('.');
52
- // 根据错误类型提供修复建议
53
- if (issue.code === 'invalid_type') {
54
- const invalidTypeIssue = issue;
55
- suggestions.push(`配置项 "${path}" 类型错误: 期望 ${invalidTypeIssue.expected},实际 ${invalidTypeIssue.received}`);
56
- } else if (issue.code === 'too_small') {
57
- suggestions.push(`配置项 "${path}" 值太小: ${issue.message}`);
58
- } else if (issue.code === 'too_big') {
59
- suggestions.push(`配置项 "${path}" 值太大: ${issue.message}`);
60
- } else {
61
- suggestions.push(`配置项 "${path}": ${issue.message}`);
62
- }
63
- });
64
- return {
65
- success: false,
66
- errors: result.error.issues,
67
- suggestions
68
- };
69
- }
70
- return {
71
- success: true,
72
- data: result.data
73
- };
74
- }
75
- }
76
-
77
- //# sourceMappingURL=RouterConfigValidator.js.map
1
+ import{ConfigValidationError}from"../../config/ConfigValidator";import{logger}from"@vlian/logger";import{safeValidateRouterConfig}from"./schema";export class RouterConfigValidator{static validate(config){const result=safeValidateRouterConfig(config);if(!result.success){const errorMessages=result.error.issues.map(issue=>{const path=issue.path.length>0?issue.path.join("."):"root";return`路由配置项 "${path}": ${issue.message}`});const friendlyMessage=`路由配置验证失败:
2
+ ${errorMessages.join("\n")}`;logger.error("路由配置验证失败",{errors:result.error.issues,config});throw new ConfigValidationError(friendlyMessage,result.error)}return result.data}static safeValidate(config){return safeValidateRouterConfig(config)}static validateWithSuggestions(config){const result=safeValidateRouterConfig(config);if(!result.success){const suggestions=[];result.error.issues.forEach(issue=>{const path=issue.path.join(".");if(issue.code==="invalid_type"){const invalidTypeIssue=issue;suggestions.push(`配置项 "${path}" 类型错误: 期望 ${invalidTypeIssue.expected},实际 ${invalidTypeIssue.received}`)}else if(issue.code==="too_small"){suggestions.push(`配置项 "${path}" 值太小: ${issue.message}`)}else if(issue.code==="too_big"){suggestions.push(`配置项 "${path}" 值太大: ${issue.message}`)}else{suggestions.push(`配置项 "${path}": ${issue.message}`)}});return{success:false,errors:result.error.issues,suggestions}}return{success:true,data:result.data}}}
@@ -1,23 +1 @@
1
- /**
2
- * 路由配置验证模块入口
3
- */ "use strict";
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- _export_star(require("./schema"), exports);
8
- _export_star(require("./RouterConfigValidator"), exports);
9
- function _export_star(from, to) {
10
- Object.keys(from).forEach(function(k) {
11
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
12
- Object.defineProperty(to, k, {
13
- enumerable: true,
14
- get: function() {
15
- return from[k];
16
- }
17
- });
18
- }
19
- });
20
- return from;
21
- }
22
-
23
- //# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});_export_star(require("./schema"),exports);_export_star(require("./RouterConfigValidator"),exports);function _export_star(from,to){Object.keys(from).forEach(function(k){if(k!=="default"&&!Object.prototype.hasOwnProperty.call(to,k)){Object.defineProperty(to,k,{enumerable:true,get:function(){return from[k]}})}});return from}
@@ -1,6 +1 @@
1
- /**
2
- * 路由配置验证模块入口
3
- */ export * from "./schema";
4
- export * from "./RouterConfigValidator";
5
-
6
- //# sourceMappingURL=index.js.map
1
+ export*from"./schema";export*from"./RouterConfigValidator";
@@ -1,161 +1 @@
1
- /**
2
- * 路由配置验证 Schema(使用 Zod)
3
- */ "use strict";
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- function _export(target, all) {
8
- for(var name in all)Object.defineProperty(target, name, {
9
- enumerable: true,
10
- get: Object.getOwnPropertyDescriptor(all, name).get
11
- });
12
- }
13
- _export(exports, {
14
- get componentImportSchema () {
15
- return componentImportSchema;
16
- },
17
- get routeConfigSchema () {
18
- return routeConfigSchema;
19
- },
20
- get routeItemHandleSchema () {
21
- return routeItemHandleSchema;
22
- },
23
- get routerConfigSchema () {
24
- return routerConfigSchema;
25
- },
26
- get safeValidateRouterConfig () {
27
- return safeValidateRouterConfig;
28
- },
29
- get validateRouterConfig () {
30
- return validateRouterConfig;
31
- }
32
- });
33
- const _zod = require("zod");
34
- const routeItemHandleSchema = _zod.z.object({
35
- title: _zod.z.string().min(1, '路由标题不能为空'),
36
- i18nKey: _zod.z.string().optional(),
37
- order: _zod.z.number().int('排序值必须是整数'),
38
- icon: _zod.z.string().optional(),
39
- hideInMenu: _zod.z.boolean().optional(),
40
- hideFooter: _zod.z.boolean().optional(),
41
- keepAlive: _zod.z.boolean().optional(),
42
- needLogin: _zod.z.boolean().optional(),
43
- roles: _zod.z.array(_zod.z.string()).optional(),
44
- name: _zod.z.string().optional()
45
- }).passthrough(); // 允许其他自定义字段
46
- const componentImportSchema = _zod.z.union([
47
- _zod.z.string().min(1, '组件路径不能为空'),
48
- _zod.z.function(),
49
- _zod.z.null()
50
- ]);
51
- const routerOptionsSchema = _zod.z.object({
52
- basename: _zod.z.string().optional(),
53
- future: _zod.z.record(_zod.z.string(), _zod.z.union([
54
- _zod.z.boolean(),
55
- _zod.z.string(),
56
- _zod.z.number()
57
- ])).optional(),
58
- hydrationData: _zod.z.unknown().optional(),
59
- window: _zod.z.unknown().optional(),
60
- initialEntries: _zod.z.array(_zod.z.string()).optional(),
61
- initialIndex: _zod.z.number().int().nonnegative().optional()
62
- }).passthrough();
63
- const transformOptionsSchema = _zod.z.object({
64
- pathValidation: _zod.z.object({
65
- enablePathValidation: _zod.z.boolean().optional(),
66
- allowedPathPrefixes: _zod.z.array(_zod.z.string().min(1)).optional(),
67
- maxPathLength: _zod.z.number().int().positive().optional(),
68
- allowAbsolutePaths: _zod.z.boolean().optional()
69
- }).optional(),
70
- performance: _zod.z.object({
71
- enableCache: _zod.z.boolean().optional(),
72
- cacheTTL: _zod.z.number().int().positive().optional(),
73
- maxCacheSize: _zod.z.number().int().positive().optional(),
74
- maxRecursionDepth: _zod.z.number().int().positive().optional(),
75
- enableParallelProcessing: _zod.z.boolean().optional(),
76
- parallelBatchSize: _zod.z.number().int().positive().optional()
77
- }).optional(),
78
- enableDebugLog: _zod.z.boolean().optional()
79
- }).passthrough();
80
- const routeConfigSchema = _zod.z.lazy(()=>_zod.z.object({
81
- layout: componentImportSchema.optional().nullable(),
82
- page: componentImportSchema.optional().nullable(),
83
- loading: componentImportSchema.optional().nullable(),
84
- error: componentImportSchema.optional().nullable(),
85
- errors: componentImportSchema.optional().nullable(),
86
- name: _zod.z.string().min(1, '路由名称不能为空'),
87
- path: _zod.z.string().optional(),
88
- isGroup: _zod.z.boolean().optional(),
89
- enableRedirection: _zod.z.boolean().optional(),
90
- handle: routeItemHandleSchema,
91
- children: _zod.z.array(routeConfigSchema).optional()
92
- }));
93
- const routerConfigSchema = _zod.z.object({
94
- enabled: _zod.z.union([
95
- _zod.z.boolean(),
96
- _zod.z.literal('disabled')
97
- ]).optional(),
98
- routes: _zod.z.union([
99
- _zod.z.array(routeConfigSchema),
100
- _zod.z.function()
101
- ]).optional(),
102
- mode: _zod.z.enum([
103
- 'browser',
104
- 'hash',
105
- 'memory'
106
- ]).optional(),
107
- options: routerOptionsSchema.optional(),
108
- pathResolve: _zod.z.object({
109
- basePath: _zod.z.string().optional(),
110
- pathAliases: _zod.z.record(_zod.z.string(), _zod.z.string()).optional()
111
- }).optional(),
112
- transformOptions: transformOptionsSchema.optional(),
113
- preload: _zod.z.object({
114
- strategy: _zod.z.enum([
115
- 'none',
116
- 'next-level',
117
- 'all',
118
- 'visible'
119
- ]).optional(),
120
- delay: _zod.z.number().int().positive().optional(),
121
- priorityThreshold: _zod.z.number().int().nonnegative().optional(),
122
- timeout: _zod.z.number().int().positive().optional()
123
- }).optional(),
124
- enableHydrateFallback: _zod.z.boolean().optional()
125
- }).superRefine((config, ctx)=>{
126
- if (!Array.isArray(config.routes)) {
127
- return;
128
- }
129
- const routeNameMap = new Map();
130
- const walk = (routes, parentPath)=>{
131
- routes.forEach((route, index)=>{
132
- const currentPath = `${parentPath}[${index}]`;
133
- const existingPath = routeNameMap.get(route.name);
134
- if (existingPath) {
135
- ctx.addIssue({
136
- code: _zod.z.ZodIssueCode.custom,
137
- path: [
138
- 'routes',
139
- index,
140
- 'name'
141
- ],
142
- message: `路由名称重复: "${route.name}",首次定义位置 ${existingPath}`
143
- });
144
- } else {
145
- routeNameMap.set(route.name, currentPath);
146
- }
147
- if (Array.isArray(route.children) && route.children.length > 0) {
148
- walk(route.children, `${currentPath}.children`);
149
- }
150
- });
151
- };
152
- walk(config.routes, 'routes');
153
- });
154
- function validateRouterConfig(config) {
155
- return routerConfigSchema.parse(config);
156
- }
157
- function safeValidateRouterConfig(config) {
158
- return routerConfigSchema.safeParse(config);
159
- }
160
-
161
- //# sourceMappingURL=schema.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get componentImportSchema(){return componentImportSchema},get routeConfigSchema(){return routeConfigSchema},get routeItemHandleSchema(){return routeItemHandleSchema},get routerConfigSchema(){return routerConfigSchema},get safeValidateRouterConfig(){return safeValidateRouterConfig},get validateRouterConfig(){return validateRouterConfig}});const _zod=require("zod");const routeItemHandleSchema=_zod.z.object({title:_zod.z.string().min(1,"路由标题不能为空"),i18nKey:_zod.z.string().optional(),order:_zod.z.number().int("排序值必须是整数"),icon:_zod.z.string().optional(),hideInMenu:_zod.z.boolean().optional(),hideFooter:_zod.z.boolean().optional(),keepAlive:_zod.z.boolean().optional(),needLogin:_zod.z.boolean().optional(),roles:_zod.z.array(_zod.z.string()).optional(),name:_zod.z.string().optional()}).passthrough();const componentImportSchema=_zod.z.union([_zod.z.string().min(1,"组件路径不能为空"),_zod.z.function(),_zod.z.null()]);const routerOptionsSchema=_zod.z.object({basename:_zod.z.string().optional(),future:_zod.z.record(_zod.z.string(),_zod.z.union([_zod.z.boolean(),_zod.z.string(),_zod.z.number()])).optional(),hydrationData:_zod.z.unknown().optional(),window:_zod.z.unknown().optional(),initialEntries:_zod.z.array(_zod.z.string()).optional(),initialIndex:_zod.z.number().int().nonnegative().optional()}).passthrough();const transformOptionsSchema=_zod.z.object({pathValidation:_zod.z.object({enablePathValidation:_zod.z.boolean().optional(),allowedPathPrefixes:_zod.z.array(_zod.z.string().min(1)).optional(),maxPathLength:_zod.z.number().int().positive().optional(),allowAbsolutePaths:_zod.z.boolean().optional()}).optional(),performance:_zod.z.object({enableCache:_zod.z.boolean().optional(),cacheTTL:_zod.z.number().int().positive().optional(),maxCacheSize:_zod.z.number().int().positive().optional(),maxRecursionDepth:_zod.z.number().int().positive().optional(),enableParallelProcessing:_zod.z.boolean().optional(),parallelBatchSize:_zod.z.number().int().positive().optional()}).optional(),enableDebugLog:_zod.z.boolean().optional()}).passthrough();const routeConfigSchema=_zod.z.lazy(()=>_zod.z.object({layout:componentImportSchema.optional().nullable(),page:componentImportSchema.optional().nullable(),loading:componentImportSchema.optional().nullable(),error:componentImportSchema.optional().nullable(),errors:componentImportSchema.optional().nullable(),name:_zod.z.string().min(1,"路由名称不能为空"),path:_zod.z.string().optional(),isGroup:_zod.z.boolean().optional(),enableRedirection:_zod.z.boolean().optional(),handle:routeItemHandleSchema,children:_zod.z.array(routeConfigSchema).optional()}));const routerConfigSchema=_zod.z.object({enabled:_zod.z.union([_zod.z.boolean(),_zod.z.literal("disabled")]).optional(),routes:_zod.z.union([_zod.z.array(routeConfigSchema),_zod.z.function()]).optional(),mode:_zod.z.enum(["browser","hash","memory"]).optional(),options:routerOptionsSchema.optional(),pathResolve:_zod.z.object({basePath:_zod.z.string().optional(),pathAliases:_zod.z.record(_zod.z.string(),_zod.z.string()).optional()}).optional(),transformOptions:transformOptionsSchema.optional(),preload:_zod.z.object({strategy:_zod.z.enum(["none","next-level","all","visible"]).optional(),delay:_zod.z.number().int().positive().optional(),priorityThreshold:_zod.z.number().int().nonnegative().optional(),timeout:_zod.z.number().int().positive().optional()}).optional(),enableHydrateFallback:_zod.z.boolean().optional()}).superRefine((config,ctx)=>{if(!Array.isArray(config.routes)){return}const routeNameMap=new Map;const walk=(routes,parentPath)=>{routes.forEach((route,index)=>{const currentPath=`${parentPath}[${index}]`;const existingPath=routeNameMap.get(route.name);if(existingPath){ctx.addIssue({code:_zod.z.ZodIssueCode.custom,path:["routes",index,"name"],message:`路由名称重复: "${route.name}",首次定义位置 ${existingPath}`})}else{routeNameMap.set(route.name,currentPath)}if(Array.isArray(route.children)&&route.children.length>0){walk(route.children,`${currentPath}.children`)}})};walk(config.routes,"routes")});function validateRouterConfig(config){return routerConfigSchema.parse(config)}function safeValidateRouterConfig(config){return routerConfigSchema.safeParse(config)}
@@ -1,151 +1 @@
1
- /**
2
- * 路由配置验证 Schema(使用 Zod)
3
- */ import { z } from "zod";
4
- /**
5
- * RouteItemHandle Schema
6
- */ export const routeItemHandleSchema = z.object({
7
- title: z.string().min(1, '路由标题不能为空'),
8
- i18nKey: z.string().optional(),
9
- order: z.number().int('排序值必须是整数'),
10
- icon: z.string().optional(),
11
- hideInMenu: z.boolean().optional(),
12
- hideFooter: z.boolean().optional(),
13
- keepAlive: z.boolean().optional(),
14
- needLogin: z.boolean().optional(),
15
- roles: z.array(z.string()).optional(),
16
- name: z.string().optional()
17
- }).passthrough(); // 允许其他自定义字段
18
- /**
19
- * ComponentImport Schema
20
- * 可以是字符串路径或函数
21
- */ export const componentImportSchema = z.union([
22
- z.string().min(1, '组件路径不能为空'),
23
- z.function(),
24
- z.null()
25
- ]);
26
- const routerOptionsSchema = z.object({
27
- basename: z.string().optional(),
28
- future: z.record(z.string(), z.union([
29
- z.boolean(),
30
- z.string(),
31
- z.number()
32
- ])).optional(),
33
- hydrationData: z.unknown().optional(),
34
- window: z.unknown().optional(),
35
- initialEntries: z.array(z.string()).optional(),
36
- initialIndex: z.number().int().nonnegative().optional()
37
- }).passthrough();
38
- const transformOptionsSchema = z.object({
39
- pathValidation: z.object({
40
- enablePathValidation: z.boolean().optional(),
41
- allowedPathPrefixes: z.array(z.string().min(1)).optional(),
42
- maxPathLength: z.number().int().positive().optional(),
43
- allowAbsolutePaths: z.boolean().optional()
44
- }).optional(),
45
- performance: z.object({
46
- enableCache: z.boolean().optional(),
47
- cacheTTL: z.number().int().positive().optional(),
48
- maxCacheSize: z.number().int().positive().optional(),
49
- maxRecursionDepth: z.number().int().positive().optional(),
50
- enableParallelProcessing: z.boolean().optional(),
51
- parallelBatchSize: z.number().int().positive().optional()
52
- }).optional(),
53
- enableDebugLog: z.boolean().optional()
54
- }).passthrough();
55
- /**
56
- * RouteConfig Schema
57
- */ export const routeConfigSchema = z.lazy(()=>z.object({
58
- layout: componentImportSchema.optional().nullable(),
59
- page: componentImportSchema.optional().nullable(),
60
- loading: componentImportSchema.optional().nullable(),
61
- error: componentImportSchema.optional().nullable(),
62
- errors: componentImportSchema.optional().nullable(),
63
- name: z.string().min(1, '路由名称不能为空'),
64
- path: z.string().optional(),
65
- isGroup: z.boolean().optional(),
66
- enableRedirection: z.boolean().optional(),
67
- handle: routeItemHandleSchema,
68
- children: z.array(routeConfigSchema).optional()
69
- }));
70
- /**
71
- * RouterConfig Schema
72
- */ export const routerConfigSchema = z.object({
73
- enabled: z.union([
74
- z.boolean(),
75
- z.literal('disabled')
76
- ]).optional(),
77
- routes: z.union([
78
- z.array(routeConfigSchema),
79
- z.function()
80
- ]).optional(),
81
- mode: z.enum([
82
- 'browser',
83
- 'hash',
84
- 'memory'
85
- ]).optional(),
86
- options: routerOptionsSchema.optional(),
87
- pathResolve: z.object({
88
- basePath: z.string().optional(),
89
- pathAliases: z.record(z.string(), z.string()).optional()
90
- }).optional(),
91
- transformOptions: transformOptionsSchema.optional(),
92
- preload: z.object({
93
- strategy: z.enum([
94
- 'none',
95
- 'next-level',
96
- 'all',
97
- 'visible'
98
- ]).optional(),
99
- delay: z.number().int().positive().optional(),
100
- priorityThreshold: z.number().int().nonnegative().optional(),
101
- timeout: z.number().int().positive().optional()
102
- }).optional(),
103
- enableHydrateFallback: z.boolean().optional()
104
- }).superRefine((config, ctx)=>{
105
- if (!Array.isArray(config.routes)) {
106
- return;
107
- }
108
- const routeNameMap = new Map();
109
- const walk = (routes, parentPath)=>{
110
- routes.forEach((route, index)=>{
111
- const currentPath = `${parentPath}[${index}]`;
112
- const existingPath = routeNameMap.get(route.name);
113
- if (existingPath) {
114
- ctx.addIssue({
115
- code: z.ZodIssueCode.custom,
116
- path: [
117
- 'routes',
118
- index,
119
- 'name'
120
- ],
121
- message: `路由名称重复: "${route.name}",首次定义位置 ${existingPath}`
122
- });
123
- } else {
124
- routeNameMap.set(route.name, currentPath);
125
- }
126
- if (Array.isArray(route.children) && route.children.length > 0) {
127
- walk(route.children, `${currentPath}.children`);
128
- }
129
- });
130
- };
131
- walk(config.routes, 'routes');
132
- });
133
- /**
134
- * 验证路由配置
135
- *
136
- * @param config - 要验证的路由配置
137
- * @returns 验证后的路由配置
138
- * @throws z.ZodError 如果配置验证失败
139
- */ export function validateRouterConfig(config) {
140
- return routerConfigSchema.parse(config);
141
- }
142
- /**
143
- * 安全验证路由配置(不抛出异常)
144
- *
145
- * @param config - 要验证的路由配置
146
- * @returns 验证结果
147
- */ export function safeValidateRouterConfig(config) {
148
- return routerConfigSchema.safeParse(config);
149
- }
150
-
151
- //# sourceMappingURL=schema.js.map
1
+ import{z}from"zod";export const routeItemHandleSchema=z.object({title:z.string().min(1,"路由标题不能为空"),i18nKey:z.string().optional(),order:z.number().int("排序值必须是整数"),icon:z.string().optional(),hideInMenu:z.boolean().optional(),hideFooter:z.boolean().optional(),keepAlive:z.boolean().optional(),needLogin:z.boolean().optional(),roles:z.array(z.string()).optional(),name:z.string().optional()}).passthrough();export const componentImportSchema=z.union([z.string().min(1,"组件路径不能为空"),z.function(),z.null()]);const routerOptionsSchema=z.object({basename:z.string().optional(),future:z.record(z.string(),z.union([z.boolean(),z.string(),z.number()])).optional(),hydrationData:z.unknown().optional(),window:z.unknown().optional(),initialEntries:z.array(z.string()).optional(),initialIndex:z.number().int().nonnegative().optional()}).passthrough();const transformOptionsSchema=z.object({pathValidation:z.object({enablePathValidation:z.boolean().optional(),allowedPathPrefixes:z.array(z.string().min(1)).optional(),maxPathLength:z.number().int().positive().optional(),allowAbsolutePaths:z.boolean().optional()}).optional(),performance:z.object({enableCache:z.boolean().optional(),cacheTTL:z.number().int().positive().optional(),maxCacheSize:z.number().int().positive().optional(),maxRecursionDepth:z.number().int().positive().optional(),enableParallelProcessing:z.boolean().optional(),parallelBatchSize:z.number().int().positive().optional()}).optional(),enableDebugLog:z.boolean().optional()}).passthrough();export const routeConfigSchema=z.lazy(()=>z.object({layout:componentImportSchema.optional().nullable(),page:componentImportSchema.optional().nullable(),loading:componentImportSchema.optional().nullable(),error:componentImportSchema.optional().nullable(),errors:componentImportSchema.optional().nullable(),name:z.string().min(1,"路由名称不能为空"),path:z.string().optional(),isGroup:z.boolean().optional(),enableRedirection:z.boolean().optional(),handle:routeItemHandleSchema,children:z.array(routeConfigSchema).optional()}));export const routerConfigSchema=z.object({enabled:z.union([z.boolean(),z.literal("disabled")]).optional(),routes:z.union([z.array(routeConfigSchema),z.function()]).optional(),mode:z.enum(["browser","hash","memory"]).optional(),options:routerOptionsSchema.optional(),pathResolve:z.object({basePath:z.string().optional(),pathAliases:z.record(z.string(),z.string()).optional()}).optional(),transformOptions:transformOptionsSchema.optional(),preload:z.object({strategy:z.enum(["none","next-level","all","visible"]).optional(),delay:z.number().int().positive().optional(),priorityThreshold:z.number().int().nonnegative().optional(),timeout:z.number().int().positive().optional()}).optional(),enableHydrateFallback:z.boolean().optional()}).superRefine((config,ctx)=>{if(!Array.isArray(config.routes)){return}const routeNameMap=new Map;const walk=(routes,parentPath)=>{routes.forEach((route,index)=>{const currentPath=`${parentPath}[${index}]`;const existingPath=routeNameMap.get(route.name);if(existingPath){ctx.addIssue({code:z.ZodIssueCode.custom,path:["routes",index,"name"],message:`路由名称重复: "${route.name}",首次定义位置 ${existingPath}`})}else{routeNameMap.set(route.name,currentPath)}if(Array.isArray(route.children)&&route.children.length>0){walk(route.children,`${currentPath}.children`)}})};walk(config.routes,"routes")});export function validateRouterConfig(config){return routerConfigSchema.parse(config)}export function safeValidateRouterConfig(config){return routerConfigSchema.safeParse(config)}