@vlian/framework 1.0.0

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 (795) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +130 -0
  3. package/dist/components/index.cjs +6 -0
  4. package/dist/components/index.cjs.map +1 -0
  5. package/dist/components/index.d.ts +2 -0
  6. package/dist/components/index.d.ts.map +1 -0
  7. package/dist/components/index.js +3 -0
  8. package/dist/components/index.js.map +1 -0
  9. package/dist/core/Test.cjs +66 -0
  10. package/dist/core/Test.cjs.map +1 -0
  11. package/dist/core/Test.d.ts +6 -0
  12. package/dist/core/Test.d.ts.map +1 -0
  13. package/dist/core/Test.js +15 -0
  14. package/dist/core/Test.js.map +1 -0
  15. package/dist/core/app/AppContext.cjs +344 -0
  16. package/dist/core/app/AppContext.cjs.map +1 -0
  17. package/dist/core/app/AppContext.d.ts +110 -0
  18. package/dist/core/app/AppContext.d.ts.map +1 -0
  19. package/dist/core/app/AppContext.js +333 -0
  20. package/dist/core/app/AppContext.js.map +1 -0
  21. package/dist/core/app/AppContext.types.cjs +6 -0
  22. package/dist/core/app/AppContext.types.cjs.map +1 -0
  23. package/dist/core/app/AppContext.types.d.ts +147 -0
  24. package/dist/core/app/AppContext.types.d.ts.map +1 -0
  25. package/dist/core/app/AppContext.types.js +5 -0
  26. package/dist/core/app/AppContext.types.js.map +1 -0
  27. package/dist/core/app/BasicLayout.cjs +89 -0
  28. package/dist/core/app/BasicLayout.cjs.map +1 -0
  29. package/dist/core/app/BasicLayout.d.ts +13 -0
  30. package/dist/core/app/BasicLayout.d.ts.map +1 -0
  31. package/dist/core/app/BasicLayout.js +39 -0
  32. package/dist/core/app/BasicLayout.js.map +1 -0
  33. package/dist/core/app/DefaultApp.cjs +201 -0
  34. package/dist/core/app/DefaultApp.cjs.map +1 -0
  35. package/dist/core/app/DefaultApp.d.ts +31 -0
  36. package/dist/core/app/DefaultApp.d.ts.map +1 -0
  37. package/dist/core/app/DefaultApp.js +192 -0
  38. package/dist/core/app/DefaultApp.js.map +1 -0
  39. package/dist/core/app/index.cjs +43 -0
  40. package/dist/core/app/index.cjs.map +1 -0
  41. package/dist/core/app/index.d.ts +9 -0
  42. package/dist/core/app/index.d.ts.map +1 -0
  43. package/dist/core/app/index.js +7 -0
  44. package/dist/core/app/index.js.map +1 -0
  45. package/dist/core/config/AppConfig.cjs +141 -0
  46. package/dist/core/config/AppConfig.cjs.map +1 -0
  47. package/dist/core/config/AppConfig.d.ts +89 -0
  48. package/dist/core/config/AppConfig.d.ts.map +1 -0
  49. package/dist/core/config/AppConfig.js +133 -0
  50. package/dist/core/config/AppConfig.js.map +1 -0
  51. package/dist/core/config/ConfigLoader.cjs +243 -0
  52. package/dist/core/config/ConfigLoader.cjs.map +1 -0
  53. package/dist/core/config/ConfigLoader.d.ts +103 -0
  54. package/dist/core/config/ConfigLoader.d.ts.map +1 -0
  55. package/dist/core/config/ConfigLoader.js +229 -0
  56. package/dist/core/config/ConfigLoader.js.map +1 -0
  57. package/dist/core/config/ConfigValidator.cjs +135 -0
  58. package/dist/core/config/ConfigValidator.cjs.map +1 -0
  59. package/dist/core/config/ConfigValidator.d.ts +85 -0
  60. package/dist/core/config/ConfigValidator.d.ts.map +1 -0
  61. package/dist/core/config/ConfigValidator.js +121 -0
  62. package/dist/core/config/ConfigValidator.js.map +1 -0
  63. package/dist/core/config/index.cjs +30 -0
  64. package/dist/core/config/index.cjs.map +1 -0
  65. package/dist/core/config/index.d.ts +7 -0
  66. package/dist/core/config/index.d.ts.map +1 -0
  67. package/dist/core/config/index.js +7 -0
  68. package/dist/core/config/index.js.map +1 -0
  69. package/dist/core/dev/DevTools.cjs +374 -0
  70. package/dist/core/dev/DevTools.cjs.map +1 -0
  71. package/dist/core/dev/DevTools.d.ts +47 -0
  72. package/dist/core/dev/DevTools.d.ts.map +1 -0
  73. package/dist/core/dev/DevTools.js +363 -0
  74. package/dist/core/dev/DevTools.js.map +1 -0
  75. package/dist/core/error/ErrorBoundary.cjs +331 -0
  76. package/dist/core/error/ErrorBoundary.cjs.map +1 -0
  77. package/dist/core/error/ErrorBoundary.d.ts +123 -0
  78. package/dist/core/error/ErrorBoundary.d.ts.map +1 -0
  79. package/dist/core/error/ErrorBoundary.js +327 -0
  80. package/dist/core/error/ErrorBoundary.js.map +1 -0
  81. package/dist/core/error/index.cjs +26 -0
  82. package/dist/core/error/index.cjs.map +1 -0
  83. package/dist/core/error/index.d.ts +6 -0
  84. package/dist/core/error/index.d.ts.map +1 -0
  85. package/dist/core/error/index.js +5 -0
  86. package/dist/core/error/index.js.map +1 -0
  87. package/dist/core/index.cjs +140 -0
  88. package/dist/core/index.cjs.map +1 -0
  89. package/dist/core/index.d.ts +53 -0
  90. package/dist/core/index.d.ts.map +1 -0
  91. package/dist/core/index.js +66 -0
  92. package/dist/core/index.js.map +1 -0
  93. package/dist/core/initialization/InitializationErrorThrower.cjs +77 -0
  94. package/dist/core/initialization/InitializationErrorThrower.cjs.map +1 -0
  95. package/dist/core/initialization/InitializationErrorThrower.d.ts +8 -0
  96. package/dist/core/initialization/InitializationErrorThrower.d.ts.map +1 -0
  97. package/dist/core/initialization/InitializationErrorThrower.js +30 -0
  98. package/dist/core/initialization/InitializationErrorThrower.js.map +1 -0
  99. package/dist/core/initialization/index.cjs +28 -0
  100. package/dist/core/initialization/index.cjs.map +1 -0
  101. package/dist/core/initialization/index.d.ts +8 -0
  102. package/dist/core/initialization/index.d.ts.map +1 -0
  103. package/dist/core/initialization/index.js +7 -0
  104. package/dist/core/initialization/index.js.map +1 -0
  105. package/dist/core/initialization/initialization.cjs +211 -0
  106. package/dist/core/initialization/initialization.cjs.map +1 -0
  107. package/dist/core/initialization/initialization.d.ts +127 -0
  108. package/dist/core/initialization/initialization.d.ts.map +1 -0
  109. package/dist/core/initialization/initialization.js +224 -0
  110. package/dist/core/initialization/initialization.js.map +1 -0
  111. package/dist/core/initialization/initializationErrorState.cjs +68 -0
  112. package/dist/core/initialization/initializationErrorState.cjs.map +1 -0
  113. package/dist/core/initialization/initializationErrorState.d.ts +36 -0
  114. package/dist/core/initialization/initializationErrorState.d.ts.map +1 -0
  115. package/dist/core/initialization/initializationErrorState.js +60 -0
  116. package/dist/core/initialization/initializationErrorState.js.map +1 -0
  117. package/dist/core/middleware.cjs +75 -0
  118. package/dist/core/middleware.cjs.map +1 -0
  119. package/dist/core/middleware.d.ts +37 -0
  120. package/dist/core/middleware.d.ts.map +1 -0
  121. package/dist/core/middleware.js +61 -0
  122. package/dist/core/middleware.js.map +1 -0
  123. package/dist/core/plugin/PluginEventBus.cjs +300 -0
  124. package/dist/core/plugin/PluginEventBus.cjs.map +1 -0
  125. package/dist/core/plugin/PluginEventBus.d.ts +170 -0
  126. package/dist/core/plugin/PluginEventBus.d.ts.map +1 -0
  127. package/dist/core/plugin/PluginEventBus.js +286 -0
  128. package/dist/core/plugin/PluginEventBus.js.map +1 -0
  129. package/dist/core/plugin/PluginSandbox.cjs +139 -0
  130. package/dist/core/plugin/PluginSandbox.cjs.map +1 -0
  131. package/dist/core/plugin/PluginSandbox.d.ts +102 -0
  132. package/dist/core/plugin/PluginSandbox.d.ts.map +1 -0
  133. package/dist/core/plugin/PluginSandbox.js +125 -0
  134. package/dist/core/plugin/PluginSandbox.js.map +1 -0
  135. package/dist/core/plugin.cjs +496 -0
  136. package/dist/core/plugin.cjs.map +1 -0
  137. package/dist/core/plugin.d.ts +221 -0
  138. package/dist/core/plugin.d.ts.map +1 -0
  139. package/dist/core/plugin.js +438 -0
  140. package/dist/core/plugin.js.map +1 -0
  141. package/dist/core/router/RouterManager.cjs +239 -0
  142. package/dist/core/router/RouterManager.cjs.map +1 -0
  143. package/dist/core/router/RouterManager.d.ts +83 -0
  144. package/dist/core/router/RouterManager.d.ts.map +1 -0
  145. package/dist/core/router/RouterManager.js +223 -0
  146. package/dist/core/router/RouterManager.js.map +1 -0
  147. package/dist/core/router/adapter/AdapterManager.cjs +237 -0
  148. package/dist/core/router/adapter/AdapterManager.cjs.map +1 -0
  149. package/dist/core/router/adapter/AdapterManager.d.ts +95 -0
  150. package/dist/core/router/adapter/AdapterManager.d.ts.map +1 -0
  151. package/dist/core/router/adapter/AdapterManager.js +221 -0
  152. package/dist/core/router/adapter/AdapterManager.js.map +1 -0
  153. package/dist/core/router/adapter/index.cjs +24 -0
  154. package/dist/core/router/adapter/index.cjs.map +1 -0
  155. package/dist/core/router/adapter/index.d.ts +7 -0
  156. package/dist/core/router/adapter/index.d.ts.map +1 -0
  157. package/dist/core/router/adapter/index.js +7 -0
  158. package/dist/core/router/adapter/index.js.map +1 -0
  159. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +130 -0
  160. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +1 -0
  161. package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts +44 -0
  162. package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts.map +1 -0
  163. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +116 -0
  164. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +1 -0
  165. package/dist/core/router/adapter/react-router/index.cjs +22 -0
  166. package/dist/core/router/adapter/react-router/index.cjs.map +1 -0
  167. package/dist/core/router/adapter/react-router/index.d.ts +5 -0
  168. package/dist/core/router/adapter/react-router/index.d.ts.map +1 -0
  169. package/dist/core/router/adapter/react-router/index.js +5 -0
  170. package/dist/core/router/adapter/react-router/index.js.map +1 -0
  171. package/dist/core/router/adapter/types.cjs +8 -0
  172. package/dist/core/router/adapter/types.cjs.map +1 -0
  173. package/dist/core/router/adapter/types.d.ts +112 -0
  174. package/dist/core/router/adapter/types.d.ts.map +1 -0
  175. package/dist/core/router/adapter/types.js +7 -0
  176. package/dist/core/router/adapter/types.js.map +1 -0
  177. package/dist/core/router/dev/RouterDevTools.cjs +410 -0
  178. package/dist/core/router/dev/RouterDevTools.cjs.map +1 -0
  179. package/dist/core/router/dev/RouterDevTools.d.ts +10 -0
  180. package/dist/core/router/dev/RouterDevTools.d.ts.map +1 -0
  181. package/dist/core/router/dev/RouterDevTools.js +363 -0
  182. package/dist/core/router/dev/RouterDevTools.js.map +1 -0
  183. package/dist/core/router/dev/index.cjs +22 -0
  184. package/dist/core/router/dev/index.cjs.map +1 -0
  185. package/dist/core/router/dev/index.d.ts +5 -0
  186. package/dist/core/router/dev/index.d.ts.map +1 -0
  187. package/dist/core/router/dev/index.js +5 -0
  188. package/dist/core/router/dev/index.js.map +1 -0
  189. package/dist/core/router/dynamic/DynamicRouteManager.cjs +195 -0
  190. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +1 -0
  191. package/dist/core/router/dynamic/DynamicRouteManager.d.ts +72 -0
  192. package/dist/core/router/dynamic/DynamicRouteManager.d.ts.map +1 -0
  193. package/dist/core/router/dynamic/DynamicRouteManager.js +179 -0
  194. package/dist/core/router/dynamic/DynamicRouteManager.js.map +1 -0
  195. package/dist/core/router/dynamic/index.cjs +22 -0
  196. package/dist/core/router/dynamic/index.cjs.map +1 -0
  197. package/dist/core/router/dynamic/index.d.ts +5 -0
  198. package/dist/core/router/dynamic/index.d.ts.map +1 -0
  199. package/dist/core/router/dynamic/index.js +5 -0
  200. package/dist/core/router/dynamic/index.js.map +1 -0
  201. package/dist/core/router/errors/RouterError.cjs +63 -0
  202. package/dist/core/router/errors/RouterError.cjs.map +1 -0
  203. package/dist/core/router/errors/RouterError.d.ts +48 -0
  204. package/dist/core/router/errors/RouterError.d.ts.map +1 -0
  205. package/dist/core/router/errors/RouterError.js +48 -0
  206. package/dist/core/router/errors/RouterError.js.map +1 -0
  207. package/dist/core/router/errors/index.cjs +22 -0
  208. package/dist/core/router/errors/index.cjs.map +1 -0
  209. package/dist/core/router/errors/index.d.ts +5 -0
  210. package/dist/core/router/errors/index.d.ts.map +1 -0
  211. package/dist/core/router/errors/index.js +5 -0
  212. package/dist/core/router/errors/index.js.map +1 -0
  213. package/dist/core/router/index.cjs +38 -0
  214. package/dist/core/router/index.cjs.map +1 -0
  215. package/dist/core/router/index.d.ts +17 -0
  216. package/dist/core/router/index.d.ts.map +1 -0
  217. package/dist/core/router/index.js +32 -0
  218. package/dist/core/router/index.js.map +1 -0
  219. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +146 -0
  220. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +1 -0
  221. package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts +57 -0
  222. package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts.map +1 -0
  223. package/dist/core/router/lifecycle/RouterLifecycleManager.js +130 -0
  224. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +1 -0
  225. package/dist/core/router/lifecycle/index.cjs +22 -0
  226. package/dist/core/router/lifecycle/index.cjs.map +1 -0
  227. package/dist/core/router/lifecycle/index.d.ts +5 -0
  228. package/dist/core/router/lifecycle/index.d.ts.map +1 -0
  229. package/dist/core/router/lifecycle/index.js +5 -0
  230. package/dist/core/router/lifecycle/index.js.map +1 -0
  231. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +175 -0
  232. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +1 -0
  233. package/dist/core/router/middleware/RouterMiddlewareManager.d.ts +61 -0
  234. package/dist/core/router/middleware/RouterMiddlewareManager.d.ts.map +1 -0
  235. package/dist/core/router/middleware/RouterMiddlewareManager.js +159 -0
  236. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +1 -0
  237. package/dist/core/router/middleware/auth.cjs +68 -0
  238. package/dist/core/router/middleware/auth.cjs.map +1 -0
  239. package/dist/core/router/middleware/auth.d.ts +55 -0
  240. package/dist/core/router/middleware/auth.d.ts.map +1 -0
  241. package/dist/core/router/middleware/auth.js +63 -0
  242. package/dist/core/router/middleware/auth.js.map +1 -0
  243. package/dist/core/router/middleware/index.cjs +24 -0
  244. package/dist/core/router/middleware/index.cjs.map +1 -0
  245. package/dist/core/router/middleware/index.d.ts +7 -0
  246. package/dist/core/router/middleware/index.d.ts.map +1 -0
  247. package/dist/core/router/middleware/index.js +7 -0
  248. package/dist/core/router/middleware/index.js.map +1 -0
  249. package/dist/core/router/middleware/types.cjs +8 -0
  250. package/dist/core/router/middleware/types.cjs.map +1 -0
  251. package/dist/core/router/middleware/types.d.ts +83 -0
  252. package/dist/core/router/middleware/types.d.ts.map +1 -0
  253. package/dist/core/router/middleware/types.js +7 -0
  254. package/dist/core/router/middleware/types.js.map +1 -0
  255. package/dist/core/router/monitoring/RouterMonitoring.cjs +229 -0
  256. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -0
  257. package/dist/core/router/monitoring/RouterMonitoring.d.ts +135 -0
  258. package/dist/core/router/monitoring/RouterMonitoring.d.ts.map +1 -0
  259. package/dist/core/router/monitoring/RouterMonitoring.js +213 -0
  260. package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -0
  261. package/dist/core/router/monitoring/index.cjs +22 -0
  262. package/dist/core/router/monitoring/index.cjs.map +1 -0
  263. package/dist/core/router/monitoring/index.d.ts +5 -0
  264. package/dist/core/router/monitoring/index.d.ts.map +1 -0
  265. package/dist/core/router/monitoring/index.js +5 -0
  266. package/dist/core/router/monitoring/index.js.map +1 -0
  267. package/dist/core/router/navigation/RouterNavigation.cjs +186 -0
  268. package/dist/core/router/navigation/RouterNavigation.cjs.map +1 -0
  269. package/dist/core/router/navigation/RouterNavigation.d.ts +41 -0
  270. package/dist/core/router/navigation/RouterNavigation.d.ts.map +1 -0
  271. package/dist/core/router/navigation/RouterNavigation.js +137 -0
  272. package/dist/core/router/navigation/RouterNavigation.js.map +1 -0
  273. package/dist/core/router/navigation/index.cjs +22 -0
  274. package/dist/core/router/navigation/index.cjs.map +1 -0
  275. package/dist/core/router/navigation/index.d.ts +5 -0
  276. package/dist/core/router/navigation/index.d.ts.map +1 -0
  277. package/dist/core/router/navigation/index.js +5 -0
  278. package/dist/core/router/navigation/index.js.map +1 -0
  279. package/dist/core/router/performance/RouteCache.cjs +286 -0
  280. package/dist/core/router/performance/RouteCache.cjs.map +1 -0
  281. package/dist/core/router/performance/RouteCache.d.ts +108 -0
  282. package/dist/core/router/performance/RouteCache.d.ts.map +1 -0
  283. package/dist/core/router/performance/RouteCache.js +270 -0
  284. package/dist/core/router/performance/RouteCache.js.map +1 -0
  285. package/dist/core/router/performance/RoutePreloader.cjs +227 -0
  286. package/dist/core/router/performance/RoutePreloader.cjs.map +1 -0
  287. package/dist/core/router/performance/RoutePreloader.d.ts +104 -0
  288. package/dist/core/router/performance/RoutePreloader.d.ts.map +1 -0
  289. package/dist/core/router/performance/RoutePreloader.js +210 -0
  290. package/dist/core/router/performance/RoutePreloader.js.map +1 -0
  291. package/dist/core/router/performance/index.cjs +23 -0
  292. package/dist/core/router/performance/index.cjs.map +1 -0
  293. package/dist/core/router/performance/index.d.ts +6 -0
  294. package/dist/core/router/performance/index.d.ts.map +1 -0
  295. package/dist/core/router/performance/index.js +6 -0
  296. package/dist/core/router/performance/index.js.map +1 -0
  297. package/dist/core/router/plugin/RouterPluginManager.cjs +264 -0
  298. package/dist/core/router/plugin/RouterPluginManager.cjs.map +1 -0
  299. package/dist/core/router/plugin/RouterPluginManager.d.ts +75 -0
  300. package/dist/core/router/plugin/RouterPluginManager.d.ts.map +1 -0
  301. package/dist/core/router/plugin/RouterPluginManager.js +248 -0
  302. package/dist/core/router/plugin/RouterPluginManager.js.map +1 -0
  303. package/dist/core/router/plugin/index.cjs +23 -0
  304. package/dist/core/router/plugin/index.cjs.map +1 -0
  305. package/dist/core/router/plugin/index.d.ts +6 -0
  306. package/dist/core/router/plugin/index.d.ts.map +1 -0
  307. package/dist/core/router/plugin/index.js +6 -0
  308. package/dist/core/router/plugin/index.js.map +1 -0
  309. package/dist/core/router/plugin/types.cjs +41 -0
  310. package/dist/core/router/plugin/types.cjs.map +1 -0
  311. package/dist/core/router/plugin/types.d.ts +154 -0
  312. package/dist/core/router/plugin/types.d.ts.map +1 -0
  313. package/dist/core/router/plugin/types.js +33 -0
  314. package/dist/core/router/plugin/types.js.map +1 -0
  315. package/dist/core/router/types.cjs +6 -0
  316. package/dist/core/router/types.cjs.map +1 -0
  317. package/dist/core/router/types.d.ts +439 -0
  318. package/dist/core/router/types.d.ts.map +1 -0
  319. package/dist/core/router/types.js +5 -0
  320. package/dist/core/router/types.js.map +1 -0
  321. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +139 -0
  322. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +1 -0
  323. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +3 -0
  324. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts.map +1 -0
  325. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +129 -0
  326. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +1 -0
  327. package/dist/core/router/utils/adapters/react-router/transform.cjs +261 -0
  328. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -0
  329. package/dist/core/router/utils/adapters/react-router/transform.d.ts +6 -0
  330. package/dist/core/router/utils/adapters/react-router/transform.d.ts.map +1 -0
  331. package/dist/core/router/utils/adapters/react-router/transform.js +246 -0
  332. package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -0
  333. package/dist/core/router/utils/transform.cjs +772 -0
  334. package/dist/core/router/utils/transform.cjs.map +1 -0
  335. package/dist/core/router/utils/transform.d.ts +349 -0
  336. package/dist/core/router/utils/transform.d.ts.map +1 -0
  337. package/dist/core/router/utils/transform.js +781 -0
  338. package/dist/core/router/utils/transform.js.map +1 -0
  339. package/dist/core/router/validation/RouterConfigValidator.cjs +85 -0
  340. package/dist/core/router/validation/RouterConfigValidator.cjs.map +1 -0
  341. package/dist/core/router/validation/RouterConfigValidator.d.ts +58 -0
  342. package/dist/core/router/validation/RouterConfigValidator.d.ts.map +1 -0
  343. package/dist/core/router/validation/RouterConfigValidator.js +77 -0
  344. package/dist/core/router/validation/RouterConfigValidator.js.map +1 -0
  345. package/dist/core/router/validation/index.cjs +23 -0
  346. package/dist/core/router/validation/index.cjs.map +1 -0
  347. package/dist/core/router/validation/index.d.ts +6 -0
  348. package/dist/core/router/validation/index.d.ts.map +1 -0
  349. package/dist/core/router/validation/index.js +6 -0
  350. package/dist/core/router/validation/index.js.map +1 -0
  351. package/dist/core/router/validation/schema.cjs +91 -0
  352. package/dist/core/router/validation/schema.cjs.map +1 -0
  353. package/dist/core/router/validation/schema.d.ts +82 -0
  354. package/dist/core/router/validation/schema.d.ts.map +1 -0
  355. package/dist/core/router/validation/schema.js +81 -0
  356. package/dist/core/router/validation/schema.js.map +1 -0
  357. package/dist/core/router/version/RouteVersionManager.cjs +207 -0
  358. package/dist/core/router/version/RouteVersionManager.cjs.map +1 -0
  359. package/dist/core/router/version/RouteVersionManager.d.ts +125 -0
  360. package/dist/core/router/version/RouteVersionManager.d.ts.map +1 -0
  361. package/dist/core/router/version/RouteVersionManager.js +191 -0
  362. package/dist/core/router/version/RouteVersionManager.js.map +1 -0
  363. package/dist/core/router/version/index.cjs +22 -0
  364. package/dist/core/router/version/index.cjs.map +1 -0
  365. package/dist/core/router/version/index.d.ts +5 -0
  366. package/dist/core/router/version/index.d.ts.map +1 -0
  367. package/dist/core/router/version/index.js +5 -0
  368. package/dist/core/router/version/index.js.map +1 -0
  369. package/dist/core/splash/SplashScreen.cjs +257 -0
  370. package/dist/core/splash/SplashScreen.cjs.map +1 -0
  371. package/dist/core/splash/SplashScreen.d.ts +15 -0
  372. package/dist/core/splash/SplashScreen.d.ts.map +1 -0
  373. package/dist/core/splash/SplashScreen.js +207 -0
  374. package/dist/core/splash/SplashScreen.js.map +1 -0
  375. package/dist/core/splash/index.cjs +24 -0
  376. package/dist/core/splash/index.cjs.map +1 -0
  377. package/dist/core/splash/index.d.ts +6 -0
  378. package/dist/core/splash/index.d.ts.map +1 -0
  379. package/dist/core/splash/index.js +6 -0
  380. package/dist/core/splash/index.js.map +1 -0
  381. package/dist/core/splash/splashScreenUtils.cjs +40 -0
  382. package/dist/core/splash/splashScreenUtils.cjs.map +1 -0
  383. package/dist/core/splash/splashScreenUtils.d.ts +8 -0
  384. package/dist/core/splash/splashScreenUtils.d.ts.map +1 -0
  385. package/dist/core/splash/splashScreenUtils.js +30 -0
  386. package/dist/core/splash/splashScreenUtils.js.map +1 -0
  387. package/dist/core/startup/AppInstance.cjs +233 -0
  388. package/dist/core/startup/AppInstance.cjs.map +1 -0
  389. package/dist/core/startup/AppInstance.d.ts +135 -0
  390. package/dist/core/startup/AppInstance.d.ts.map +1 -0
  391. package/dist/core/startup/AppInstance.js +218 -0
  392. package/dist/core/startup/AppInstance.js.map +1 -0
  393. package/dist/core/startup/environment.cjs +171 -0
  394. package/dist/core/startup/environment.cjs.map +1 -0
  395. package/dist/core/startup/environment.d.ts +88 -0
  396. package/dist/core/startup/environment.d.ts.map +1 -0
  397. package/dist/core/startup/environment.js +154 -0
  398. package/dist/core/startup/environment.js.map +1 -0
  399. package/dist/core/startup/index.cjs +25 -0
  400. package/dist/core/startup/index.cjs.map +1 -0
  401. package/dist/core/startup/index.d.ts +8 -0
  402. package/dist/core/startup/index.d.ts.map +1 -0
  403. package/dist/core/startup/index.js +8 -0
  404. package/dist/core/startup/index.js.map +1 -0
  405. package/dist/core/startup/initializeServices.cjs +166 -0
  406. package/dist/core/startup/initializeServices.cjs.map +1 -0
  407. package/dist/core/startup/initializeServices.d.ts +57 -0
  408. package/dist/core/startup/initializeServices.d.ts.map +1 -0
  409. package/dist/core/startup/initializeServices.js +124 -0
  410. package/dist/core/startup/initializeServices.js.map +1 -0
  411. package/dist/core/startup/performanceTracker.cjs +181 -0
  412. package/dist/core/startup/performanceTracker.cjs.map +1 -0
  413. package/dist/core/startup/performanceTracker.d.ts +105 -0
  414. package/dist/core/startup/performanceTracker.d.ts.map +1 -0
  415. package/dist/core/startup/performanceTracker.js +167 -0
  416. package/dist/core/startup/performanceTracker.js.map +1 -0
  417. package/dist/core/startup/renderApp.cjs +275 -0
  418. package/dist/core/startup/renderApp.cjs.map +1 -0
  419. package/dist/core/startup/renderApp.d.ts +71 -0
  420. package/dist/core/startup/renderApp.d.ts.map +1 -0
  421. package/dist/core/startup/renderApp.js +226 -0
  422. package/dist/core/startup/renderApp.js.map +1 -0
  423. package/dist/core/startup/startApp.cjs +151 -0
  424. package/dist/core/startup/startApp.cjs.map +1 -0
  425. package/dist/core/startup/startApp.d.ts +15 -0
  426. package/dist/core/startup/startApp.d.ts.map +1 -0
  427. package/dist/core/startup/startApp.js +147 -0
  428. package/dist/core/startup/startApp.js.map +1 -0
  429. package/dist/core/types.cjs +6 -0
  430. package/dist/core/types.cjs.map +1 -0
  431. package/dist/core/types.d.ts +461 -0
  432. package/dist/core/types.d.ts.map +1 -0
  433. package/dist/core/types.js +5 -0
  434. package/dist/core/types.js.map +1 -0
  435. package/dist/index.cjs +152 -0
  436. package/dist/index.cjs.map +1 -0
  437. package/dist/index.d.ts +13 -0
  438. package/dist/index.d.ts.map +1 -0
  439. package/dist/index.js +17 -0
  440. package/dist/index.js.map +1 -0
  441. package/dist/library/index.cjs +21 -0
  442. package/dist/library/index.cjs.map +1 -0
  443. package/dist/library/index.d.ts +3 -0
  444. package/dist/library/index.d.ts.map +1 -0
  445. package/dist/library/index.js +4 -0
  446. package/dist/library/index.js.map +1 -0
  447. package/dist/library/locale/index.cjs +56 -0
  448. package/dist/library/locale/index.cjs.map +1 -0
  449. package/dist/library/locale/index.d.ts +6 -0
  450. package/dist/library/locale/index.d.ts.map +1 -0
  451. package/dist/library/locale/index.js +30 -0
  452. package/dist/library/locale/index.js.map +1 -0
  453. package/dist/library/locale/langs/en-us/index.cjs +34 -0
  454. package/dist/library/locale/langs/en-us/index.cjs.map +1 -0
  455. package/dist/library/locale/langs/en-us/index.d.ts +4 -0
  456. package/dist/library/locale/langs/en-us/index.d.ts.map +1 -0
  457. package/dist/library/locale/langs/en-us/index.js +24 -0
  458. package/dist/library/locale/langs/en-us/index.js.map +1 -0
  459. package/dist/library/locale/langs/zh-cn/index.cjs +34 -0
  460. package/dist/library/locale/langs/zh-cn/index.cjs.map +1 -0
  461. package/dist/library/locale/langs/zh-cn/index.d.ts +4 -0
  462. package/dist/library/locale/langs/zh-cn/index.d.ts.map +1 -0
  463. package/dist/library/locale/langs/zh-cn/index.js +24 -0
  464. package/dist/library/locale/langs/zh-cn/index.js.map +1 -0
  465. package/dist/library/locale/types.cjs +6 -0
  466. package/dist/library/locale/types.cjs.map +1 -0
  467. package/dist/library/locale/types.d.ts +39 -0
  468. package/dist/library/locale/types.d.ts.map +1 -0
  469. package/dist/library/locale/types.js +3 -0
  470. package/dist/library/locale/types.js.map +1 -0
  471. package/dist/library/storage/cache.cjs +245 -0
  472. package/dist/library/storage/cache.cjs.map +1 -0
  473. package/dist/library/storage/cache.d.ts +58 -0
  474. package/dist/library/storage/cache.d.ts.map +1 -0
  475. package/dist/library/storage/cache.js +237 -0
  476. package/dist/library/storage/cache.js.map +1 -0
  477. package/dist/library/storage/encryption.cjs +150 -0
  478. package/dist/library/storage/encryption.cjs.map +1 -0
  479. package/dist/library/storage/encryption.d.ts +46 -0
  480. package/dist/library/storage/encryption.d.ts.map +1 -0
  481. package/dist/library/storage/encryption.js +142 -0
  482. package/dist/library/storage/encryption.js.map +1 -0
  483. package/dist/library/storage/index.cjs +126 -0
  484. package/dist/library/storage/index.cjs.map +1 -0
  485. package/dist/library/storage/index.d.ts +62 -0
  486. package/dist/library/storage/index.d.ts.map +1 -0
  487. package/dist/library/storage/index.js +106 -0
  488. package/dist/library/storage/index.js.map +1 -0
  489. package/dist/request/adapter/RequestAdapter.cjs +78 -0
  490. package/dist/request/adapter/RequestAdapter.cjs.map +1 -0
  491. package/dist/request/adapter/RequestAdapter.d.ts +86 -0
  492. package/dist/request/adapter/RequestAdapter.d.ts.map +1 -0
  493. package/dist/request/adapter/RequestAdapter.js +70 -0
  494. package/dist/request/adapter/RequestAdapter.js.map +1 -0
  495. package/dist/request/adapter/axiosAdapter.cjs +164 -0
  496. package/dist/request/adapter/axiosAdapter.cjs.map +1 -0
  497. package/dist/request/adapter/axiosAdapter.d.ts +11 -0
  498. package/dist/request/adapter/axiosAdapter.d.ts.map +1 -0
  499. package/dist/request/adapter/axiosAdapter.js +115 -0
  500. package/dist/request/adapter/axiosAdapter.js.map +1 -0
  501. package/dist/request/adapter/fetchAdapter.cjs +134 -0
  502. package/dist/request/adapter/fetchAdapter.cjs.map +1 -0
  503. package/dist/request/adapter/fetchAdapter.d.ts +11 -0
  504. package/dist/request/adapter/fetchAdapter.d.ts.map +1 -0
  505. package/dist/request/adapter/fetchAdapter.js +126 -0
  506. package/dist/request/adapter/fetchAdapter.js.map +1 -0
  507. package/dist/request/adapter/index.cjs +80 -0
  508. package/dist/request/adapter/index.cjs.map +1 -0
  509. package/dist/request/adapter/index.d.ts +10 -0
  510. package/dist/request/adapter/index.d.ts.map +1 -0
  511. package/dist/request/adapter/index.js +14 -0
  512. package/dist/request/adapter/index.js.map +1 -0
  513. package/dist/request/adapter/kyAdapter.cjs +191 -0
  514. package/dist/request/adapter/kyAdapter.cjs.map +1 -0
  515. package/dist/request/adapter/kyAdapter.d.ts +11 -0
  516. package/dist/request/adapter/kyAdapter.d.ts.map +1 -0
  517. package/dist/request/adapter/kyAdapter.js +142 -0
  518. package/dist/request/adapter/kyAdapter.js.map +1 -0
  519. package/dist/request/adapter/undiciAdapter.cjs +213 -0
  520. package/dist/request/adapter/undiciAdapter.cjs.map +1 -0
  521. package/dist/request/adapter/undiciAdapter.d.ts +11 -0
  522. package/dist/request/adapter/undiciAdapter.d.ts.map +1 -0
  523. package/dist/request/adapter/undiciAdapter.js +164 -0
  524. package/dist/request/adapter/undiciAdapter.js.map +1 -0
  525. package/dist/request/core/RequestClient.cjs +539 -0
  526. package/dist/request/core/RequestClient.cjs.map +1 -0
  527. package/dist/request/core/RequestClient.d.ts +127 -0
  528. package/dist/request/core/RequestClient.d.ts.map +1 -0
  529. package/dist/request/core/RequestClient.js +490 -0
  530. package/dist/request/core/RequestClient.js.map +1 -0
  531. package/dist/request/core/index.cjs +15 -0
  532. package/dist/request/core/index.cjs.map +1 -0
  533. package/dist/request/core/index.d.ts +6 -0
  534. package/dist/request/core/index.d.ts.map +1 -0
  535. package/dist/request/core/index.js +5 -0
  536. package/dist/request/core/index.js.map +1 -0
  537. package/dist/request/index.cjs +146 -0
  538. package/dist/request/index.cjs.map +1 -0
  539. package/dist/request/index.d.ts +43 -0
  540. package/dist/request/index.d.ts.map +1 -0
  541. package/dist/request/index.js +50 -0
  542. package/dist/request/index.js.map +1 -0
  543. package/dist/request/plugin/RequestPlugin.cjs +218 -0
  544. package/dist/request/plugin/RequestPlugin.cjs.map +1 -0
  545. package/dist/request/plugin/RequestPlugin.d.ts +171 -0
  546. package/dist/request/plugin/RequestPlugin.d.ts.map +1 -0
  547. package/dist/request/plugin/RequestPlugin.js +203 -0
  548. package/dist/request/plugin/RequestPlugin.js.map +1 -0
  549. package/dist/request/plugin/cache.cjs +269 -0
  550. package/dist/request/plugin/cache.cjs.map +1 -0
  551. package/dist/request/plugin/cache.d.ts +34 -0
  552. package/dist/request/plugin/cache.d.ts.map +1 -0
  553. package/dist/request/plugin/cache.js +264 -0
  554. package/dist/request/plugin/cache.js.map +1 -0
  555. package/dist/request/plugin/csrfPlugin.cjs +40 -0
  556. package/dist/request/plugin/csrfPlugin.cjs.map +1 -0
  557. package/dist/request/plugin/csrfPlugin.d.ts +22 -0
  558. package/dist/request/plugin/csrfPlugin.d.ts.map +1 -0
  559. package/dist/request/plugin/csrfPlugin.js +44 -0
  560. package/dist/request/plugin/csrfPlugin.js.map +1 -0
  561. package/dist/request/plugin/index.cjs +49 -0
  562. package/dist/request/plugin/index.cjs.map +1 -0
  563. package/dist/request/plugin/index.d.ts +11 -0
  564. package/dist/request/plugin/index.d.ts.map +1 -0
  565. package/dist/request/plugin/index.js +11 -0
  566. package/dist/request/plugin/index.js.map +1 -0
  567. package/dist/request/plugin/monitoring.cjs +216 -0
  568. package/dist/request/plugin/monitoring.cjs.map +1 -0
  569. package/dist/request/plugin/monitoring.d.ts +113 -0
  570. package/dist/request/plugin/monitoring.d.ts.map +1 -0
  571. package/dist/request/plugin/monitoring.js +205 -0
  572. package/dist/request/plugin/monitoring.js.map +1 -0
  573. package/dist/request/plugin/retry.cjs +98 -0
  574. package/dist/request/plugin/retry.cjs.map +1 -0
  575. package/dist/request/plugin/retry.d.ts +35 -0
  576. package/dist/request/plugin/retry.d.ts.map +1 -0
  577. package/dist/request/plugin/retry.js +93 -0
  578. package/dist/request/plugin/retry.js.map +1 -0
  579. package/dist/request/plugin/validation.cjs +121 -0
  580. package/dist/request/plugin/validation.cjs.map +1 -0
  581. package/dist/request/plugin/validation.d.ts +27 -0
  582. package/dist/request/plugin/validation.d.ts.map +1 -0
  583. package/dist/request/plugin/validation.js +116 -0
  584. package/dist/request/plugin/validation.js.map +1 -0
  585. package/dist/request/runtime/RequestContext.cjs +77 -0
  586. package/dist/request/runtime/RequestContext.cjs.map +1 -0
  587. package/dist/request/runtime/RequestContext.d.ts +51 -0
  588. package/dist/request/runtime/RequestContext.d.ts.map +1 -0
  589. package/dist/request/runtime/RequestContext.js +86 -0
  590. package/dist/request/runtime/RequestContext.js.map +1 -0
  591. package/dist/request/runtime/index.cjs +32 -0
  592. package/dist/request/runtime/index.cjs.map +1 -0
  593. package/dist/request/runtime/index.d.ts +5 -0
  594. package/dist/request/runtime/index.d.ts.map +1 -0
  595. package/dist/request/runtime/index.js +5 -0
  596. package/dist/request/runtime/index.js.map +1 -0
  597. package/dist/request/types.cjs +112 -0
  598. package/dist/request/types.cjs.map +1 -0
  599. package/dist/request/types.d.ts +395 -0
  600. package/dist/request/types.d.ts.map +1 -0
  601. package/dist/request/types.js +97 -0
  602. package/dist/request/types.js.map +1 -0
  603. package/dist/request/utils/dependencyCheck.cjs +237 -0
  604. package/dist/request/utils/dependencyCheck.cjs.map +1 -0
  605. package/dist/request/utils/dependencyCheck.d.ts +64 -0
  606. package/dist/request/utils/dependencyCheck.d.ts.map +1 -0
  607. package/dist/request/utils/dependencyCheck.js +192 -0
  608. package/dist/request/utils/dependencyCheck.js.map +1 -0
  609. package/dist/request/utils/index.cjs +26 -0
  610. package/dist/request/utils/index.cjs.map +1 -0
  611. package/dist/request/utils/index.d.ts +5 -0
  612. package/dist/request/utils/index.d.ts.map +1 -0
  613. package/dist/request/utils/index.js +5 -0
  614. package/dist/request/utils/index.js.map +1 -0
  615. package/dist/state/StateManager.cjs +168 -0
  616. package/dist/state/StateManager.cjs.map +1 -0
  617. package/dist/state/StateManager.d.ts +121 -0
  618. package/dist/state/StateManager.d.ts.map +1 -0
  619. package/dist/state/StateManager.js +160 -0
  620. package/dist/state/StateManager.js.map +1 -0
  621. package/dist/state/adapters/AdapterFactory.cjs +91 -0
  622. package/dist/state/adapters/AdapterFactory.cjs.map +1 -0
  623. package/dist/state/adapters/AdapterFactory.d.ts +52 -0
  624. package/dist/state/adapters/AdapterFactory.d.ts.map +1 -0
  625. package/dist/state/adapters/AdapterFactory.js +85 -0
  626. package/dist/state/adapters/AdapterFactory.js.map +1 -0
  627. package/dist/state/adapters/DefaultAdapter.cjs +77 -0
  628. package/dist/state/adapters/DefaultAdapter.cjs.map +1 -0
  629. package/dist/state/adapters/DefaultAdapter.d.ts +39 -0
  630. package/dist/state/adapters/DefaultAdapter.d.ts.map +1 -0
  631. package/dist/state/adapters/DefaultAdapter.js +71 -0
  632. package/dist/state/adapters/DefaultAdapter.js.map +1 -0
  633. package/dist/state/adapters/ReduxAdapter.cjs +445 -0
  634. package/dist/state/adapters/ReduxAdapter.cjs.map +1 -0
  635. package/dist/state/adapters/ReduxAdapter.d.ts +130 -0
  636. package/dist/state/adapters/ReduxAdapter.d.ts.map +1 -0
  637. package/dist/state/adapters/ReduxAdapter.js +439 -0
  638. package/dist/state/adapters/ReduxAdapter.js.map +1 -0
  639. package/dist/state/adapters/ZustandAdapter.cjs +71 -0
  640. package/dist/state/adapters/ZustandAdapter.cjs.map +1 -0
  641. package/dist/state/adapters/ZustandAdapter.d.ts +47 -0
  642. package/dist/state/adapters/ZustandAdapter.d.ts.map +1 -0
  643. package/dist/state/adapters/ZustandAdapter.js +70 -0
  644. package/dist/state/adapters/ZustandAdapter.js.map +1 -0
  645. package/dist/state/adapters/index.cjs +46 -0
  646. package/dist/state/adapters/index.cjs.map +1 -0
  647. package/dist/state/adapters/index.d.ts +9 -0
  648. package/dist/state/adapters/index.d.ts.map +1 -0
  649. package/dist/state/adapters/index.js +9 -0
  650. package/dist/state/adapters/index.js.map +1 -0
  651. package/dist/state/adapters/types.cjs +22 -0
  652. package/dist/state/adapters/types.cjs.map +1 -0
  653. package/dist/state/adapters/types.d.ts +5 -0
  654. package/dist/state/adapters/types.d.ts.map +1 -0
  655. package/dist/state/adapters/types.js +5 -0
  656. package/dist/state/adapters/types.js.map +1 -0
  657. package/dist/state/core/DerivedStateInstance.cjs +176 -0
  658. package/dist/state/core/DerivedStateInstance.cjs.map +1 -0
  659. package/dist/state/core/DerivedStateInstance.d.ts +101 -0
  660. package/dist/state/core/DerivedStateInstance.d.ts.map +1 -0
  661. package/dist/state/core/DerivedStateInstance.js +173 -0
  662. package/dist/state/core/DerivedStateInstance.js.map +1 -0
  663. package/dist/state/core/StateInstance.cjs +172 -0
  664. package/dist/state/core/StateInstance.cjs.map +1 -0
  665. package/dist/state/core/StateInstance.d.ts +86 -0
  666. package/dist/state/core/StateInstance.d.ts.map +1 -0
  667. package/dist/state/core/StateInstance.js +168 -0
  668. package/dist/state/core/StateInstance.js.map +1 -0
  669. package/dist/state/core/StateRegistry.cjs +112 -0
  670. package/dist/state/core/StateRegistry.cjs.map +1 -0
  671. package/dist/state/core/StateRegistry.d.ts +56 -0
  672. package/dist/state/core/StateRegistry.d.ts.map +1 -0
  673. package/dist/state/core/StateRegistry.js +106 -0
  674. package/dist/state/core/StateRegistry.js.map +1 -0
  675. package/dist/state/core/StateScope.cjs +139 -0
  676. package/dist/state/core/StateScope.cjs.map +1 -0
  677. package/dist/state/core/StateScope.d.ts +72 -0
  678. package/dist/state/core/StateScope.d.ts.map +1 -0
  679. package/dist/state/core/StateScope.js +133 -0
  680. package/dist/state/core/StateScope.js.map +1 -0
  681. package/dist/state/core/index.cjs +32 -0
  682. package/dist/state/core/index.cjs.map +1 -0
  683. package/dist/state/core/index.d.ts +8 -0
  684. package/dist/state/core/index.d.ts.map +1 -0
  685. package/dist/state/core/index.js +8 -0
  686. package/dist/state/core/index.js.map +1 -0
  687. package/dist/state/index.cjs +32 -0
  688. package/dist/state/index.cjs.map +1 -0
  689. package/dist/state/index.d.ts +9 -0
  690. package/dist/state/index.d.ts.map +1 -0
  691. package/dist/state/index.js +12 -0
  692. package/dist/state/index.js.map +1 -0
  693. package/dist/state/types.cjs +14 -0
  694. package/dist/state/types.cjs.map +1 -0
  695. package/dist/state/types.d.ts +231 -0
  696. package/dist/state/types.d.ts.map +1 -0
  697. package/dist/state/types.js +13 -0
  698. package/dist/state/types.js.map +1 -0
  699. package/dist/types.cjs +6 -0
  700. package/dist/types.cjs.map +1 -0
  701. package/dist/types.d.ts +6 -0
  702. package/dist/types.d.ts.map +1 -0
  703. package/dist/types.js +3 -0
  704. package/dist/types.js.map +1 -0
  705. package/dist/utils/analytics.cjs +219 -0
  706. package/dist/utils/analytics.cjs.map +1 -0
  707. package/dist/utils/analytics.d.ts +128 -0
  708. package/dist/utils/analytics.d.ts.map +1 -0
  709. package/dist/utils/analytics.js +204 -0
  710. package/dist/utils/analytics.js.map +1 -0
  711. package/dist/utils/configSecurity.cjs +184 -0
  712. package/dist/utils/configSecurity.cjs.map +1 -0
  713. package/dist/utils/configSecurity.d.ts +101 -0
  714. package/dist/utils/configSecurity.d.ts.map +1 -0
  715. package/dist/utils/configSecurity.js +176 -0
  716. package/dist/utils/configSecurity.js.map +1 -0
  717. package/dist/utils/csrf.cjs +159 -0
  718. package/dist/utils/csrf.cjs.map +1 -0
  719. package/dist/utils/csrf.d.ts +73 -0
  720. package/dist/utils/csrf.d.ts.map +1 -0
  721. package/dist/utils/csrf.js +144 -0
  722. package/dist/utils/csrf.js.map +1 -0
  723. package/dist/utils/errors/ErrorCodes.cjs +97 -0
  724. package/dist/utils/errors/ErrorCodes.cjs.map +1 -0
  725. package/dist/utils/errors/ErrorCodes.d.ts +46 -0
  726. package/dist/utils/errors/ErrorCodes.d.ts.map +1 -0
  727. package/dist/utils/errors/ErrorCodes.js +86 -0
  728. package/dist/utils/errors/ErrorCodes.js.map +1 -0
  729. package/dist/utils/errors.cjs +343 -0
  730. package/dist/utils/errors.cjs.map +1 -0
  731. package/dist/utils/errors.d.ts +179 -0
  732. package/dist/utils/errors.d.ts.map +1 -0
  733. package/dist/utils/errors.js +311 -0
  734. package/dist/utils/errors.js.map +1 -0
  735. package/dist/utils/index.cjs +137 -0
  736. package/dist/utils/index.cjs.map +1 -0
  737. package/dist/utils/index.d.ts +40 -0
  738. package/dist/utils/index.d.ts.map +1 -0
  739. package/dist/utils/index.js +48 -0
  740. package/dist/utils/index.js.map +1 -0
  741. package/dist/utils/logger.cjs +396 -0
  742. package/dist/utils/logger.cjs.map +1 -0
  743. package/dist/utils/logger.d.ts +190 -0
  744. package/dist/utils/logger.d.ts.map +1 -0
  745. package/dist/utils/logger.js +381 -0
  746. package/dist/utils/logger.js.map +1 -0
  747. package/dist/utils/logger.types.cjs +22 -0
  748. package/dist/utils/logger.types.cjs.map +1 -0
  749. package/dist/utils/logger.types.d.ts +58 -0
  750. package/dist/utils/logger.types.d.ts.map +1 -0
  751. package/dist/utils/logger.types.js +12 -0
  752. package/dist/utils/logger.types.js.map +1 -0
  753. package/dist/utils/monitoring.cjs +311 -0
  754. package/dist/utils/monitoring.cjs.map +1 -0
  755. package/dist/utils/monitoring.d.ts +164 -0
  756. package/dist/utils/monitoring.d.ts.map +1 -0
  757. package/dist/utils/monitoring.js +296 -0
  758. package/dist/utils/monitoring.js.map +1 -0
  759. package/dist/utils/performance.cjs +371 -0
  760. package/dist/utils/performance.cjs.map +1 -0
  761. package/dist/utils/performance.d.ts +247 -0
  762. package/dist/utils/performance.d.ts.map +1 -0
  763. package/dist/utils/performance.js +356 -0
  764. package/dist/utils/performance.js.map +1 -0
  765. package/dist/utils/resourceLoader.cjs +322 -0
  766. package/dist/utils/resourceLoader.cjs.map +1 -0
  767. package/dist/utils/resourceLoader.d.ts +131 -0
  768. package/dist/utils/resourceLoader.d.ts.map +1 -0
  769. package/dist/utils/resourceLoader.js +307 -0
  770. package/dist/utils/resourceLoader.js.map +1 -0
  771. package/dist/utils/runtimeSecurity.cjs +151 -0
  772. package/dist/utils/runtimeSecurity.cjs.map +1 -0
  773. package/dist/utils/runtimeSecurity.d.ts +105 -0
  774. package/dist/utils/runtimeSecurity.d.ts.map +1 -0
  775. package/dist/utils/runtimeSecurity.js +143 -0
  776. package/dist/utils/runtimeSecurity.js.map +1 -0
  777. package/dist/utils/security.cjs +332 -0
  778. package/dist/utils/security.cjs.map +1 -0
  779. package/dist/utils/security.d.ts +81 -0
  780. package/dist/utils/security.d.ts.map +1 -0
  781. package/dist/utils/security.js +313 -0
  782. package/dist/utils/security.js.map +1 -0
  783. package/dist/utils/traceId.cjs +140 -0
  784. package/dist/utils/traceId.cjs.map +1 -0
  785. package/dist/utils/traceId.d.ts +64 -0
  786. package/dist/utils/traceId.d.ts.map +1 -0
  787. package/dist/utils/traceId.js +118 -0
  788. package/dist/utils/traceId.js.map +1 -0
  789. package/dist/utils/validation.cjs +191 -0
  790. package/dist/utils/validation.cjs.map +1 -0
  791. package/dist/utils/validation.d.ts +111 -0
  792. package/dist/utils/validation.d.ts.map +1 -0
  793. package/dist/utils/validation.js +177 -0
  794. package/dist/utils/validation.js.map +1 -0
  795. package/package.json +98 -0
@@ -0,0 +1,81 @@
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
+ /**
27
+ * RouteConfig Schema
28
+ */ export const routeConfigSchema = z.lazy(()=>z.object({
29
+ layout: componentImportSchema.optional().nullable(),
30
+ page: componentImportSchema.optional().nullable(),
31
+ loading: componentImportSchema.optional().nullable(),
32
+ errors: componentImportSchema.optional().nullable(),
33
+ name: z.string().min(1, '路由名称不能为空'),
34
+ path: z.string().optional(),
35
+ isGroup: z.boolean().optional(),
36
+ enableRedirection: z.boolean().optional(),
37
+ handle: routeItemHandleSchema,
38
+ children: z.array(routeConfigSchema).optional()
39
+ }));
40
+ /**
41
+ * RouterConfig Schema
42
+ */ export const routerConfigSchema = z.object({
43
+ enabled: z.union([
44
+ z.boolean(),
45
+ z.literal('disabled')
46
+ ]).optional(),
47
+ routes: z.union([
48
+ z.array(routeConfigSchema),
49
+ z.function()
50
+ ]).optional(),
51
+ mode: z.enum([
52
+ 'browser',
53
+ 'hash',
54
+ 'memory'
55
+ ]).optional(),
56
+ options: z.any().optional(),
57
+ pathResolve: z.object({
58
+ basePath: z.string().optional(),
59
+ pathAliases: z.record(z.string(), z.string()).optional()
60
+ }).optional(),
61
+ transformOptions: z.any().optional()
62
+ });
63
+ /**
64
+ * 验证路由配置
65
+ *
66
+ * @param config - 要验证的路由配置
67
+ * @returns 验证后的路由配置
68
+ * @throws z.ZodError 如果配置验证失败
69
+ */ export function validateRouterConfig(config) {
70
+ return routerConfigSchema.parse(config);
71
+ }
72
+ /**
73
+ * 安全验证路由配置(不抛出异常)
74
+ *
75
+ * @param config - 要验证的路由配置
76
+ * @returns 验证结果
77
+ */ export function safeValidateRouterConfig(config) {
78
+ return routerConfigSchema.safeParse(config);
79
+ }
80
+
81
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/core/router/validation/schema.ts"],"sourcesContent":["/**\n * 路由配置验证 Schema(使用 Zod)\n */\n\nimport { z } from 'zod';\n\n/**\n * RouteItemHandle Schema\n */\nexport const routeItemHandleSchema = z.object({\n title: z.string().min(1, '路由标题不能为空'),\n i18nKey: z.string().optional(),\n order: z.number().int('排序值必须是整数'),\n icon: z.string().optional(),\n hideInMenu: z.boolean().optional(),\n hideFooter: z.boolean().optional(),\n keepAlive: z.boolean().optional(),\n needLogin: z.boolean().optional(),\n roles: z.array(z.string()).optional(),\n name: z.string().optional(),\n}).passthrough(); // 允许其他自定义字段\n\n/**\n * ComponentImport Schema\n * 可以是字符串路径或函数\n */\nexport const componentImportSchema = z.union([\n z.string().min(1, '组件路径不能为空'),\n z.function(),\n z.null(),\n]);\n\n/**\n * RouteConfig Schema\n */\nexport const routeConfigSchema: z.ZodType<any> = z.lazy(() =>\n z.object({\n layout: componentImportSchema.optional().nullable(),\n page: componentImportSchema.optional().nullable(),\n loading: componentImportSchema.optional().nullable(),\n errors: componentImportSchema.optional().nullable(),\n name: z.string().min(1, '路由名称不能为空'),\n path: z.string().optional(),\n isGroup: z.boolean().optional(),\n enableRedirection: z.boolean().optional(),\n handle: routeItemHandleSchema,\n children: z.array(routeConfigSchema).optional(),\n })\n);\n\n/**\n * RouterConfig Schema\n */\nexport const routerConfigSchema = z.object({\n enabled: z.union([z.boolean(), z.literal('disabled')]).optional(),\n routes: z\n .union([\n z.array(routeConfigSchema),\n z.function(),\n ])\n .optional(),\n mode: z.enum(['browser', 'hash', 'memory']).optional(),\n options: z.any().optional(), // react-router-dom 的选项类型较复杂,使用 any\n pathResolve: z\n .object({\n basePath: z.string().optional(),\n pathAliases: z.record(z.string(), z.string()).optional(),\n })\n .optional(),\n transformOptions: z.any().optional(), // TransformOptions 类型较复杂,使用 any\n});\n\n/**\n * 验证路由配置\n * \n * @param config - 要验证的路由配置\n * @returns 验证后的路由配置\n * @throws z.ZodError 如果配置验证失败\n */\nexport function validateRouterConfig(config: unknown) {\n return routerConfigSchema.parse(config);\n}\n\n/**\n * 安全验证路由配置(不抛出异常)\n * \n * @param config - 要验证的路由配置\n * @returns 验证结果\n */\nexport function safeValidateRouterConfig(config: unknown) {\n return routerConfigSchema.safeParse(config);\n}\n"],"names":["z","routeItemHandleSchema","object","title","string","min","i18nKey","optional","order","number","int","icon","hideInMenu","boolean","hideFooter","keepAlive","needLogin","roles","array","name","passthrough","componentImportSchema","union","function","null","routeConfigSchema","lazy","layout","nullable","page","loading","errors","path","isGroup","enableRedirection","handle","children","routerConfigSchema","enabled","literal","routes","mode","enum","options","any","pathResolve","basePath","pathAliases","record","transformOptions","validateRouterConfig","config","parse","safeValidateRouterConfig","safeParse"],"mappings":"AAAA;;CAEC,GAED,SAASA,CAAC,QAAQ,MAAM;AAExB;;CAEC,GACD,OAAO,MAAMC,wBAAwBD,EAAEE,MAAM,CAAC;IAC5CC,OAAOH,EAAEI,MAAM,GAAGC,GAAG,CAAC,GAAG;IACzBC,SAASN,EAAEI,MAAM,GAAGG,QAAQ;IAC5BC,OAAOR,EAAES,MAAM,GAAGC,GAAG,CAAC;IACtBC,MAAMX,EAAEI,MAAM,GAAGG,QAAQ;IACzBK,YAAYZ,EAAEa,OAAO,GAAGN,QAAQ;IAChCO,YAAYd,EAAEa,OAAO,GAAGN,QAAQ;IAChCQ,WAAWf,EAAEa,OAAO,GAAGN,QAAQ;IAC/BS,WAAWhB,EAAEa,OAAO,GAAGN,QAAQ;IAC/BU,OAAOjB,EAAEkB,KAAK,CAAClB,EAAEI,MAAM,IAAIG,QAAQ;IACnCY,MAAMnB,EAAEI,MAAM,GAAGG,QAAQ;AAC3B,GAAGa,WAAW,GAAG,CAAC,YAAY;AAE9B;;;CAGC,GACD,OAAO,MAAMC,wBAAwBrB,EAAEsB,KAAK,CAAC;IAC3CtB,EAAEI,MAAM,GAAGC,GAAG,CAAC,GAAG;IAClBL,EAAEuB,QAAQ;IACVvB,EAAEwB,IAAI;CACP,EAAE;AAEH;;CAEC,GACD,OAAO,MAAMC,oBAAoCzB,EAAE0B,IAAI,CAAC,IACtD1B,EAAEE,MAAM,CAAC;QACPyB,QAAQN,sBAAsBd,QAAQ,GAAGqB,QAAQ;QACjDC,MAAMR,sBAAsBd,QAAQ,GAAGqB,QAAQ;QAC/CE,SAAST,sBAAsBd,QAAQ,GAAGqB,QAAQ;QAClDG,QAAQV,sBAAsBd,QAAQ,GAAGqB,QAAQ;QACjDT,MAAMnB,EAAEI,MAAM,GAAGC,GAAG,CAAC,GAAG;QACxB2B,MAAMhC,EAAEI,MAAM,GAAGG,QAAQ;QACzB0B,SAASjC,EAAEa,OAAO,GAAGN,QAAQ;QAC7B2B,mBAAmBlC,EAAEa,OAAO,GAAGN,QAAQ;QACvC4B,QAAQlC;QACRmC,UAAUpC,EAAEkB,KAAK,CAACO,mBAAmBlB,QAAQ;IAC/C,IACA;AAEF;;CAEC,GACD,OAAO,MAAM8B,qBAAqBrC,EAAEE,MAAM,CAAC;IACzCoC,SAAStC,EAAEsB,KAAK,CAAC;QAACtB,EAAEa,OAAO;QAAIb,EAAEuC,OAAO,CAAC;KAAY,EAAEhC,QAAQ;IAC/DiC,QAAQxC,EACLsB,KAAK,CAAC;QACLtB,EAAEkB,KAAK,CAACO;QACRzB,EAAEuB,QAAQ;KACX,EACAhB,QAAQ;IACXkC,MAAMzC,EAAE0C,IAAI,CAAC;QAAC;QAAW;QAAQ;KAAS,EAAEnC,QAAQ;IACpDoC,SAAS3C,EAAE4C,GAAG,GAAGrC,QAAQ;IACzBsC,aAAa7C,EACVE,MAAM,CAAC;QACN4C,UAAU9C,EAAEI,MAAM,GAAGG,QAAQ;QAC7BwC,aAAa/C,EAAEgD,MAAM,CAAChD,EAAEI,MAAM,IAAIJ,EAAEI,MAAM,IAAIG,QAAQ;IACxD,GACCA,QAAQ;IACX0C,kBAAkBjD,EAAE4C,GAAG,GAAGrC,QAAQ;AACpC,GAAG;AAEH;;;;;;CAMC,GACD,OAAO,SAAS2C,qBAAqBC,MAAe;IAClD,OAAOd,mBAAmBe,KAAK,CAACD;AAClC;AAEA;;;;;CAKC,GACD,OAAO,SAASE,yBAAyBF,MAAe;IACtD,OAAOd,mBAAmBiB,SAAS,CAACH;AACtC"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * 路由版本管理器
3
+ * 支持路由版本控制和迁移
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ function _export(target, all) {
9
+ for(var name in all)Object.defineProperty(target, name, {
10
+ enumerable: true,
11
+ get: Object.getOwnPropertyDescriptor(all, name).get
12
+ });
13
+ }
14
+ _export(exports, {
15
+ get RouteVersionManager () {
16
+ return RouteVersionManager;
17
+ },
18
+ get getRouteVersionManager () {
19
+ return getRouteVersionManager;
20
+ }
21
+ });
22
+ const _utils = require("../../../utils");
23
+ const _errors = require("../errors");
24
+ function _define_property(obj, key, value) {
25
+ if (key in obj) {
26
+ Object.defineProperty(obj, key, {
27
+ value: value,
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true
31
+ });
32
+ } else {
33
+ obj[key] = value;
34
+ }
35
+ return obj;
36
+ }
37
+ let RouteVersionManager = class RouteVersionManager {
38
+ /**
39
+ * 注册路由版本
40
+ *
41
+ * @param version - 版本信息
42
+ */ registerVersion(version) {
43
+ // 验证版本号格式(简单的语义化版本检查)
44
+ if (!/^\d+\.\d+\.\d+/.test(version.version)) {
45
+ throw new Error(`无效的版本号格式: ${version.version}`);
46
+ }
47
+ this.versions.set(version.version, {
48
+ ...version,
49
+ createdAt: version.createdAt || Date.now()
50
+ });
51
+ _utils.logger.debug(`路由版本已注册: ${version.version}`);
52
+ }
53
+ /**
54
+ * 注册版本迁移函数
55
+ *
56
+ * @param fromVersion - 源版本
57
+ * @param toVersion - 目标版本
58
+ * @param migration - 迁移函数
59
+ */ registerMigration(fromVersion, toVersion, migration) {
60
+ const key = `${fromVersion}->${toVersion}`;
61
+ this.migrations.set(key, migration);
62
+ _utils.logger.debug(`路由版本迁移已注册: ${key}`);
63
+ }
64
+ /**
65
+ * 检查版本兼容性
66
+ *
67
+ * @param version - 要检查的版本
68
+ * @returns 是否兼容
69
+ */ checkCompatibility(version) {
70
+ const versionInfo = this.versions.get(version);
71
+ if (!versionInfo) {
72
+ return false;
73
+ }
74
+ // 如果明确标记为不兼容,返回 false
75
+ if (versionInfo.compatible === false) {
76
+ return false;
77
+ }
78
+ // 简单的版本兼容性检查(主版本号相同)
79
+ const currentMajor = parseInt(this.config.currentVersion.split('.')[0]);
80
+ const targetMajor = parseInt(version.split('.')[0]);
81
+ return currentMajor === targetMajor;
82
+ }
83
+ /**
84
+ * 迁移路由配置
85
+ *
86
+ * @param fromVersion - 源版本
87
+ * @param toVersion - 目标版本
88
+ * @param routes - 路由配置
89
+ * @returns 迁移后的路由配置
90
+ */ async migrate(fromVersion, toVersion, routes) {
91
+ if (fromVersion === toVersion) {
92
+ return routes;
93
+ }
94
+ const migrationKey = `${fromVersion}->${toVersion}`;
95
+ const migration = this.migrations.get(migrationKey);
96
+ if (!migration) {
97
+ // 如果没有直接迁移,尝试逐步迁移
98
+ return this.migrateStepwise(fromVersion, toVersion, routes);
99
+ }
100
+ try {
101
+ const migratedRoutes = await migration(fromVersion, toVersion, routes);
102
+ _utils.logger.info(`路由版本迁移完成: ${fromVersion} -> ${toVersion}`);
103
+ return migratedRoutes;
104
+ } catch (error) {
105
+ _utils.logger.error(`路由版本迁移失败: ${fromVersion} -> ${toVersion}`, error);
106
+ const errorContext = {
107
+ fromVersion,
108
+ toVersion
109
+ };
110
+ if (error instanceof Error) {
111
+ errorContext.originalError = error;
112
+ }
113
+ throw new _errors.RouterError(`路由版本迁移失败: ${fromVersion} -> ${toVersion}`, _errors.RouterErrorCode.ROUTE_TRANSFORM_FAILED, undefined, error instanceof Error ? error : undefined, errorContext);
114
+ }
115
+ }
116
+ /**
117
+ * 逐步迁移(通过中间版本)
118
+ */ async migrateStepwise(fromVersion, toVersion, routes) {
119
+ // 获取所有版本并按版本号排序
120
+ const allVersions = Array.from(this.versions.keys()).sort((a, b)=>{
121
+ const aParts = a.split('.').map(Number);
122
+ const bParts = b.split('.').map(Number);
123
+ for(let i = 0; i < 3; i++){
124
+ if (aParts[i] !== bParts[i]) {
125
+ return aParts[i] - bParts[i];
126
+ }
127
+ }
128
+ return 0;
129
+ });
130
+ // 找到从 fromVersion 到 toVersion 的路径
131
+ const fromIndex = allVersions.indexOf(fromVersion);
132
+ const toIndex = allVersions.indexOf(toVersion);
133
+ if (fromIndex === -1 || toIndex === -1) {
134
+ throw new Error(`无法找到版本迁移路径: ${fromVersion} -> ${toVersion}`);
135
+ }
136
+ let currentRoutes = routes;
137
+ const step = fromIndex < toIndex ? 1 : -1;
138
+ for(let i = fromIndex; i !== toIndex; i += step){
139
+ const currentVersion = allVersions[i];
140
+ const nextVersion = allVersions[i + step];
141
+ const migrationKey = `${currentVersion}->${nextVersion}`;
142
+ const migration = this.migrations.get(migrationKey);
143
+ if (migration) {
144
+ currentRoutes = await migration(currentVersion, nextVersion, currentRoutes);
145
+ } else {
146
+ // 如果没有迁移函数,直接使用当前路由(可能不兼容)
147
+ _utils.logger.warn(`缺少迁移函数: ${migrationKey},跳过迁移`);
148
+ }
149
+ }
150
+ return currentRoutes;
151
+ }
152
+ /**
153
+ * 获取版本信息
154
+ *
155
+ * @param version - 版本号
156
+ * @returns 版本信息,如果不存在返回 undefined
157
+ */ getVersion(version) {
158
+ return this.versions.get(version);
159
+ }
160
+ /**
161
+ * 获取所有版本
162
+ *
163
+ * @returns 版本信息数组
164
+ */ getAllVersions() {
165
+ return Array.from(this.versions.values());
166
+ }
167
+ /**
168
+ * 获取当前版本
169
+ *
170
+ * @returns 当前版本信息
171
+ */ getCurrentVersion() {
172
+ return this.versions.get(this.config.currentVersion);
173
+ }
174
+ /**
175
+ * 回滚到指定版本
176
+ *
177
+ * @param version - 目标版本
178
+ * @param routes - 当前路由配置
179
+ * @returns 回滚后的路由配置
180
+ */ async rollback(version, routes) {
181
+ return this.migrate(this.config.currentVersion, version, routes);
182
+ }
183
+ constructor(config){
184
+ _define_property(this, "versions", new Map());
185
+ _define_property(this, "migrations", new Map());
186
+ _define_property(this, "config", void 0);
187
+ this.config = {
188
+ enableVersionCheck: config.enableVersionCheck ?? true,
189
+ enableAutoMigration: config.enableAutoMigration ?? false,
190
+ currentVersion: config.currentVersion
191
+ };
192
+ }
193
+ };
194
+ /**
195
+ * 获取路由版本管理器单例
196
+ */ let versionManagerInstance = null;
197
+ function getRouteVersionManager(config) {
198
+ if (!versionManagerInstance && config) {
199
+ versionManagerInstance = new RouteVersionManager(config);
200
+ }
201
+ if (!versionManagerInstance) {
202
+ throw new Error('路由版本管理器未初始化,请先提供配置');
203
+ }
204
+ return versionManagerInstance;
205
+ }
206
+
207
+ //# sourceMappingURL=RouteVersionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/core/router/version/RouteVersionManager.ts"],"sourcesContent":["/**\n * 路由版本管理器\n * 支持路由版本控制和迁移\n */\n\nimport { logger } from '../../../utils';\nimport type { RouteConfig } from '../types';\nimport { RouterError, RouterErrorCode } from '../errors';\n\n/**\n * 路由版本信息\n */\nexport interface RouteVersion {\n /**\n * 版本号(语义化版本,如 \"1.0.0\")\n */\n version: string;\n\n /**\n * 路由配置\n */\n routes: RouteConfig[];\n\n /**\n * 创建时间\n */\n createdAt: number;\n\n /**\n * 描述\n */\n description?: string;\n\n /**\n * 是否兼容旧版本\n */\n compatible?: boolean;\n}\n\n/**\n * 版本迁移函数\n */\nexport type VersionMigration = (\n fromVersion: string,\n toVersion: string,\n routes: RouteConfig[]\n) => RouteConfig[] | Promise<RouteConfig[]>;\n\n/**\n * 路由版本管理器配置\n */\nexport interface RouteVersionManagerConfig {\n /**\n * 当前版本\n */\n currentVersion: string;\n\n /**\n * 是否启用版本检查\n * @default true\n */\n enableVersionCheck?: boolean;\n\n /**\n * 是否启用自动迁移\n * @default false\n */\n enableAutoMigration?: boolean;\n}\n\n/**\n * 路由版本管理器\n */\nexport class RouteVersionManager {\n private versions: Map<string, RouteVersion> = new Map();\n private migrations: Map<string, VersionMigration> = new Map();\n private config: Required<RouteVersionManagerConfig>;\n\n constructor(config: RouteVersionManagerConfig) {\n this.config = {\n enableVersionCheck: config.enableVersionCheck ?? true,\n enableAutoMigration: config.enableAutoMigration ?? false,\n currentVersion: config.currentVersion,\n };\n }\n\n /**\n * 注册路由版本\n * \n * @param version - 版本信息\n */\n registerVersion(version: RouteVersion): void {\n // 验证版本号格式(简单的语义化版本检查)\n if (!/^\\d+\\.\\d+\\.\\d+/.test(version.version)) {\n throw new Error(`无效的版本号格式: ${version.version}`);\n }\n\n this.versions.set(version.version, {\n ...version,\n createdAt: version.createdAt || Date.now(),\n });\n\n logger.debug(`路由版本已注册: ${version.version}`);\n }\n\n /**\n * 注册版本迁移函数\n * \n * @param fromVersion - 源版本\n * @param toVersion - 目标版本\n * @param migration - 迁移函数\n */\n registerMigration(\n fromVersion: string,\n toVersion: string,\n migration: VersionMigration\n ): void {\n const key = `${fromVersion}->${toVersion}`;\n this.migrations.set(key, migration);\n logger.debug(`路由版本迁移已注册: ${key}`);\n }\n\n /**\n * 检查版本兼容性\n * \n * @param version - 要检查的版本\n * @returns 是否兼容\n */\n checkCompatibility(version: string): boolean {\n const versionInfo = this.versions.get(version);\n if (!versionInfo) {\n return false;\n }\n\n // 如果明确标记为不兼容,返回 false\n if (versionInfo.compatible === false) {\n return false;\n }\n\n // 简单的版本兼容性检查(主版本号相同)\n const currentMajor = parseInt(this.config.currentVersion.split('.')[0]);\n const targetMajor = parseInt(version.split('.')[0]);\n\n return currentMajor === targetMajor;\n }\n\n /**\n * 迁移路由配置\n * \n * @param fromVersion - 源版本\n * @param toVersion - 目标版本\n * @param routes - 路由配置\n * @returns 迁移后的路由配置\n */\n async migrate(\n fromVersion: string,\n toVersion: string,\n routes: RouteConfig[]\n ): Promise<RouteConfig[]> {\n if (fromVersion === toVersion) {\n return routes;\n }\n\n const migrationKey = `${fromVersion}->${toVersion}`;\n const migration = this.migrations.get(migrationKey);\n\n if (!migration) {\n // 如果没有直接迁移,尝试逐步迁移\n return this.migrateStepwise(fromVersion, toVersion, routes);\n }\n\n try {\n const migratedRoutes = await migration(fromVersion, toVersion, routes);\n logger.info(`路由版本迁移完成: ${fromVersion} -> ${toVersion}`);\n return migratedRoutes;\n } catch (error) {\n logger.error(`路由版本迁移失败: ${fromVersion} -> ${toVersion}`, error);\n const errorContext: Record<string, unknown> = { fromVersion, toVersion };\n if (error instanceof Error) {\n errorContext.originalError = error;\n }\n throw new RouterError(\n `路由版本迁移失败: ${fromVersion} -> ${toVersion}`,\n RouterErrorCode.ROUTE_TRANSFORM_FAILED,\n undefined,\n error instanceof Error ? error : undefined,\n errorContext\n );\n }\n }\n\n /**\n * 逐步迁移(通过中间版本)\n */\n private async migrateStepwise(\n fromVersion: string,\n toVersion: string,\n routes: RouteConfig[]\n ): Promise<RouteConfig[]> {\n // 获取所有版本并按版本号排序\n const allVersions = Array.from(this.versions.keys()).sort((a, b) => {\n const aParts = a.split('.').map(Number);\n const bParts = b.split('.').map(Number);\n for (let i = 0; i < 3; i++) {\n if (aParts[i] !== bParts[i]) {\n return aParts[i] - bParts[i];\n }\n }\n return 0;\n });\n\n // 找到从 fromVersion 到 toVersion 的路径\n const fromIndex = allVersions.indexOf(fromVersion);\n const toIndex = allVersions.indexOf(toVersion);\n\n if (fromIndex === -1 || toIndex === -1) {\n throw new Error(`无法找到版本迁移路径: ${fromVersion} -> ${toVersion}`);\n }\n\n let currentRoutes = routes;\n const step = fromIndex < toIndex ? 1 : -1;\n\n for (let i = fromIndex; i !== toIndex; i += step) {\n const currentVersion = allVersions[i];\n const nextVersion = allVersions[i + step];\n const migrationKey = `${currentVersion}->${nextVersion}`;\n const migration = this.migrations.get(migrationKey);\n\n if (migration) {\n currentRoutes = await migration(currentVersion, nextVersion, currentRoutes);\n } else {\n // 如果没有迁移函数,直接使用当前路由(可能不兼容)\n logger.warn(`缺少迁移函数: ${migrationKey},跳过迁移`);\n }\n }\n\n return currentRoutes;\n }\n\n /**\n * 获取版本信息\n * \n * @param version - 版本号\n * @returns 版本信息,如果不存在返回 undefined\n */\n getVersion(version: string): RouteVersion | undefined {\n return this.versions.get(version);\n }\n\n /**\n * 获取所有版本\n * \n * @returns 版本信息数组\n */\n getAllVersions(): RouteVersion[] {\n return Array.from(this.versions.values());\n }\n\n /**\n * 获取当前版本\n * \n * @returns 当前版本信息\n */\n getCurrentVersion(): RouteVersion | undefined {\n return this.versions.get(this.config.currentVersion);\n }\n\n /**\n * 回滚到指定版本\n * \n * @param version - 目标版本\n * @param routes - 当前路由配置\n * @returns 回滚后的路由配置\n */\n async rollback(version: string, routes: RouteConfig[]): Promise<RouteConfig[]> {\n return this.migrate(this.config.currentVersion, version, routes);\n }\n}\n\n/**\n * 获取路由版本管理器单例\n */\nlet versionManagerInstance: RouteVersionManager | null = null;\n\nexport function getRouteVersionManager(\n config?: RouteVersionManagerConfig\n): RouteVersionManager {\n if (!versionManagerInstance && config) {\n versionManagerInstance = new RouteVersionManager(config);\n }\n if (!versionManagerInstance) {\n throw new Error('路由版本管理器未初始化,请先提供配置');\n }\n return versionManagerInstance;\n}\n"],"names":["RouteVersionManager","getRouteVersionManager","registerVersion","version","test","Error","versions","set","createdAt","Date","now","logger","debug","registerMigration","fromVersion","toVersion","migration","key","migrations","checkCompatibility","versionInfo","get","compatible","currentMajor","parseInt","config","currentVersion","split","targetMajor","migrate","routes","migrationKey","migrateStepwise","migratedRoutes","info","error","errorContext","originalError","RouterError","RouterErrorCode","ROUTE_TRANSFORM_FAILED","undefined","allVersions","Array","from","keys","sort","a","b","aParts","map","Number","bParts","i","fromIndex","indexOf","toIndex","currentRoutes","step","nextVersion","warn","getVersion","getAllVersions","values","getCurrentVersion","rollback","Map","enableVersionCheck","enableAutoMigration","versionManagerInstance"],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * 路由版本管理器
3
+ * 支持路由版本控制和迁移
4
+ */
5
+ import type { RouteConfig } from '../types';
6
+ /**
7
+ * 路由版本信息
8
+ */
9
+ export interface RouteVersion {
10
+ /**
11
+ * 版本号(语义化版本,如 "1.0.0")
12
+ */
13
+ version: string;
14
+ /**
15
+ * 路由配置
16
+ */
17
+ routes: RouteConfig[];
18
+ /**
19
+ * 创建时间
20
+ */
21
+ createdAt: number;
22
+ /**
23
+ * 描述
24
+ */
25
+ description?: string;
26
+ /**
27
+ * 是否兼容旧版本
28
+ */
29
+ compatible?: boolean;
30
+ }
31
+ /**
32
+ * 版本迁移函数
33
+ */
34
+ export type VersionMigration = (fromVersion: string, toVersion: string, routes: RouteConfig[]) => RouteConfig[] | Promise<RouteConfig[]>;
35
+ /**
36
+ * 路由版本管理器配置
37
+ */
38
+ export interface RouteVersionManagerConfig {
39
+ /**
40
+ * 当前版本
41
+ */
42
+ currentVersion: string;
43
+ /**
44
+ * 是否启用版本检查
45
+ * @default true
46
+ */
47
+ enableVersionCheck?: boolean;
48
+ /**
49
+ * 是否启用自动迁移
50
+ * @default false
51
+ */
52
+ enableAutoMigration?: boolean;
53
+ }
54
+ /**
55
+ * 路由版本管理器
56
+ */
57
+ export declare class RouteVersionManager {
58
+ private versions;
59
+ private migrations;
60
+ private config;
61
+ constructor(config: RouteVersionManagerConfig);
62
+ /**
63
+ * 注册路由版本
64
+ *
65
+ * @param version - 版本信息
66
+ */
67
+ registerVersion(version: RouteVersion): void;
68
+ /**
69
+ * 注册版本迁移函数
70
+ *
71
+ * @param fromVersion - 源版本
72
+ * @param toVersion - 目标版本
73
+ * @param migration - 迁移函数
74
+ */
75
+ registerMigration(fromVersion: string, toVersion: string, migration: VersionMigration): void;
76
+ /**
77
+ * 检查版本兼容性
78
+ *
79
+ * @param version - 要检查的版本
80
+ * @returns 是否兼容
81
+ */
82
+ checkCompatibility(version: string): boolean;
83
+ /**
84
+ * 迁移路由配置
85
+ *
86
+ * @param fromVersion - 源版本
87
+ * @param toVersion - 目标版本
88
+ * @param routes - 路由配置
89
+ * @returns 迁移后的路由配置
90
+ */
91
+ migrate(fromVersion: string, toVersion: string, routes: RouteConfig[]): Promise<RouteConfig[]>;
92
+ /**
93
+ * 逐步迁移(通过中间版本)
94
+ */
95
+ private migrateStepwise;
96
+ /**
97
+ * 获取版本信息
98
+ *
99
+ * @param version - 版本号
100
+ * @returns 版本信息,如果不存在返回 undefined
101
+ */
102
+ getVersion(version: string): RouteVersion | undefined;
103
+ /**
104
+ * 获取所有版本
105
+ *
106
+ * @returns 版本信息数组
107
+ */
108
+ getAllVersions(): RouteVersion[];
109
+ /**
110
+ * 获取当前版本
111
+ *
112
+ * @returns 当前版本信息
113
+ */
114
+ getCurrentVersion(): RouteVersion | undefined;
115
+ /**
116
+ * 回滚到指定版本
117
+ *
118
+ * @param version - 目标版本
119
+ * @param routes - 当前路由配置
120
+ * @returns 回滚后的路由配置
121
+ */
122
+ rollback(version: string, routes: RouteConfig[]): Promise<RouteConfig[]>;
123
+ }
124
+ export declare function getRouteVersionManager(config?: RouteVersionManagerConfig): RouteVersionManager;
125
+ //# sourceMappingURL=RouteVersionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouteVersionManager.d.ts","sourceRoot":"","sources":["../../../../src/core/router/version/RouteVersionManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,MAAM,EAAE,WAAW,EAAE,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EAAE,KAClB,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,UAAU,CAA4C;IAC9D,OAAO,CAAC,MAAM,CAAsC;gBAExC,MAAM,EAAE,yBAAyB;IAQ7C;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAc5C;;;;;;OAMG;IACH,iBAAiB,CACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,gBAAgB,GAC1B,IAAI;IAMP;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAkB5C;;;;;;;OAOG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAiCzB;;OAEG;YACW,eAAe;IA6C7B;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIrD;;;;OAIG;IACH,cAAc,IAAI,YAAY,EAAE;IAIhC;;;;OAIG;IACH,iBAAiB,IAAI,YAAY,GAAG,SAAS;IAI7C;;;;;;OAMG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAG/E;AAOD,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,yBAAyB,GACjC,mBAAmB,CAQrB"}
@@ -0,0 +1,191 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ /**
15
+ * 路由版本管理器
16
+ * 支持路由版本控制和迁移
17
+ */ import { logger } from "../../../utils";
18
+ import { RouterError, RouterErrorCode } from "../errors";
19
+ /**
20
+ * 路由版本管理器
21
+ */ export class RouteVersionManager {
22
+ /**
23
+ * 注册路由版本
24
+ *
25
+ * @param version - 版本信息
26
+ */ registerVersion(version) {
27
+ // 验证版本号格式(简单的语义化版本检查)
28
+ if (!/^\d+\.\d+\.\d+/.test(version.version)) {
29
+ throw new Error(`无效的版本号格式: ${version.version}`);
30
+ }
31
+ this.versions.set(version.version, {
32
+ ...version,
33
+ createdAt: version.createdAt || Date.now()
34
+ });
35
+ logger.debug(`路由版本已注册: ${version.version}`);
36
+ }
37
+ /**
38
+ * 注册版本迁移函数
39
+ *
40
+ * @param fromVersion - 源版本
41
+ * @param toVersion - 目标版本
42
+ * @param migration - 迁移函数
43
+ */ registerMigration(fromVersion, toVersion, migration) {
44
+ const key = `${fromVersion}->${toVersion}`;
45
+ this.migrations.set(key, migration);
46
+ logger.debug(`路由版本迁移已注册: ${key}`);
47
+ }
48
+ /**
49
+ * 检查版本兼容性
50
+ *
51
+ * @param version - 要检查的版本
52
+ * @returns 是否兼容
53
+ */ checkCompatibility(version) {
54
+ const versionInfo = this.versions.get(version);
55
+ if (!versionInfo) {
56
+ return false;
57
+ }
58
+ // 如果明确标记为不兼容,返回 false
59
+ if (versionInfo.compatible === false) {
60
+ return false;
61
+ }
62
+ // 简单的版本兼容性检查(主版本号相同)
63
+ const currentMajor = parseInt(this.config.currentVersion.split('.')[0]);
64
+ const targetMajor = parseInt(version.split('.')[0]);
65
+ return currentMajor === targetMajor;
66
+ }
67
+ /**
68
+ * 迁移路由配置
69
+ *
70
+ * @param fromVersion - 源版本
71
+ * @param toVersion - 目标版本
72
+ * @param routes - 路由配置
73
+ * @returns 迁移后的路由配置
74
+ */ async migrate(fromVersion, toVersion, routes) {
75
+ if (fromVersion === toVersion) {
76
+ return routes;
77
+ }
78
+ const migrationKey = `${fromVersion}->${toVersion}`;
79
+ const migration = this.migrations.get(migrationKey);
80
+ if (!migration) {
81
+ // 如果没有直接迁移,尝试逐步迁移
82
+ return this.migrateStepwise(fromVersion, toVersion, routes);
83
+ }
84
+ try {
85
+ const migratedRoutes = await migration(fromVersion, toVersion, routes);
86
+ logger.info(`路由版本迁移完成: ${fromVersion} -> ${toVersion}`);
87
+ return migratedRoutes;
88
+ } catch (error) {
89
+ logger.error(`路由版本迁移失败: ${fromVersion} -> ${toVersion}`, error);
90
+ const errorContext = {
91
+ fromVersion,
92
+ toVersion
93
+ };
94
+ if (error instanceof Error) {
95
+ errorContext.originalError = error;
96
+ }
97
+ throw new RouterError(`路由版本迁移失败: ${fromVersion} -> ${toVersion}`, RouterErrorCode.ROUTE_TRANSFORM_FAILED, undefined, error instanceof Error ? error : undefined, errorContext);
98
+ }
99
+ }
100
+ /**
101
+ * 逐步迁移(通过中间版本)
102
+ */ async migrateStepwise(fromVersion, toVersion, routes) {
103
+ // 获取所有版本并按版本号排序
104
+ const allVersions = Array.from(this.versions.keys()).sort((a, b)=>{
105
+ const aParts = a.split('.').map(Number);
106
+ const bParts = b.split('.').map(Number);
107
+ for(let i = 0; i < 3; i++){
108
+ if (aParts[i] !== bParts[i]) {
109
+ return aParts[i] - bParts[i];
110
+ }
111
+ }
112
+ return 0;
113
+ });
114
+ // 找到从 fromVersion 到 toVersion 的路径
115
+ const fromIndex = allVersions.indexOf(fromVersion);
116
+ const toIndex = allVersions.indexOf(toVersion);
117
+ if (fromIndex === -1 || toIndex === -1) {
118
+ throw new Error(`无法找到版本迁移路径: ${fromVersion} -> ${toVersion}`);
119
+ }
120
+ let currentRoutes = routes;
121
+ const step = fromIndex < toIndex ? 1 : -1;
122
+ for(let i = fromIndex; i !== toIndex; i += step){
123
+ const currentVersion = allVersions[i];
124
+ const nextVersion = allVersions[i + step];
125
+ const migrationKey = `${currentVersion}->${nextVersion}`;
126
+ const migration = this.migrations.get(migrationKey);
127
+ if (migration) {
128
+ currentRoutes = await migration(currentVersion, nextVersion, currentRoutes);
129
+ } else {
130
+ // 如果没有迁移函数,直接使用当前路由(可能不兼容)
131
+ logger.warn(`缺少迁移函数: ${migrationKey},跳过迁移`);
132
+ }
133
+ }
134
+ return currentRoutes;
135
+ }
136
+ /**
137
+ * 获取版本信息
138
+ *
139
+ * @param version - 版本号
140
+ * @returns 版本信息,如果不存在返回 undefined
141
+ */ getVersion(version) {
142
+ return this.versions.get(version);
143
+ }
144
+ /**
145
+ * 获取所有版本
146
+ *
147
+ * @returns 版本信息数组
148
+ */ getAllVersions() {
149
+ return Array.from(this.versions.values());
150
+ }
151
+ /**
152
+ * 获取当前版本
153
+ *
154
+ * @returns 当前版本信息
155
+ */ getCurrentVersion() {
156
+ return this.versions.get(this.config.currentVersion);
157
+ }
158
+ /**
159
+ * 回滚到指定版本
160
+ *
161
+ * @param version - 目标版本
162
+ * @param routes - 当前路由配置
163
+ * @returns 回滚后的路由配置
164
+ */ async rollback(version, routes) {
165
+ return this.migrate(this.config.currentVersion, version, routes);
166
+ }
167
+ constructor(config){
168
+ _define_property(this, "versions", new Map());
169
+ _define_property(this, "migrations", new Map());
170
+ _define_property(this, "config", void 0);
171
+ this.config = {
172
+ enableVersionCheck: config.enableVersionCheck ?? true,
173
+ enableAutoMigration: config.enableAutoMigration ?? false,
174
+ currentVersion: config.currentVersion
175
+ };
176
+ }
177
+ }
178
+ /**
179
+ * 获取路由版本管理器单例
180
+ */ let versionManagerInstance = null;
181
+ export function getRouteVersionManager(config) {
182
+ if (!versionManagerInstance && config) {
183
+ versionManagerInstance = new RouteVersionManager(config);
184
+ }
185
+ if (!versionManagerInstance) {
186
+ throw new Error('路由版本管理器未初始化,请先提供配置');
187
+ }
188
+ return versionManagerInstance;
189
+ }
190
+
191
+ //# sourceMappingURL=RouteVersionManager.js.map