@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,237 +1 @@
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
- * 多级缓存管理器(使用 LRU 策略)
16
- */ export class MultiLevelCache {
17
- /**
18
- * 将节点移到链表头部(最近使用)
19
- */ moveToHead(node) {
20
- const nodeAsUnknown = node;
21
- if (nodeAsUnknown === this.head) {
22
- return;
23
- }
24
- // 从当前位置移除
25
- if (node.prev) {
26
- node.prev.next = node.next;
27
- }
28
- if (node.next) {
29
- node.next.prev = node.prev;
30
- }
31
- if (nodeAsUnknown === this.tail) {
32
- this.tail = node.prev;
33
- }
34
- // 移到头部
35
- node.prev = null;
36
- node.next = this.head;
37
- if (this.head) {
38
- this.head.prev = nodeAsUnknown;
39
- }
40
- this.head = nodeAsUnknown;
41
- if (!this.tail) {
42
- this.tail = nodeAsUnknown;
43
- }
44
- }
45
- /**
46
- * 移除尾部节点(最久未使用)
47
- */ removeTail() {
48
- if (!this.tail) {
49
- return;
50
- }
51
- const key = this.tail.key;
52
- this.memoryCache.delete(key);
53
- if (this.tail.prev) {
54
- this.tail.prev.next = null;
55
- this.tail = this.tail.prev;
56
- } else {
57
- this.head = null;
58
- this.tail = null;
59
- }
60
- }
61
- /**
62
- * 获取缓存
63
- */ async get(key) {
64
- // 先检查内存缓存
65
- const node = this.memoryCache.get(key);
66
- if (node) {
67
- const item = node.value;
68
- if (item.expiresAt > Date.now()) {
69
- // 移到头部(最近使用)
70
- this.moveToHead(node);
71
- return item.data;
72
- } else {
73
- // 已过期,删除
74
- this.memoryCache.delete(key);
75
- if (node === this.head) {
76
- this.head = node.next;
77
- }
78
- if (node === this.tail) {
79
- this.tail = node.prev;
80
- }
81
- if (node.prev) {
82
- node.prev.next = node.next;
83
- }
84
- if (node.next) {
85
- node.next.prev = node.prev;
86
- }
87
- }
88
- }
89
- // 检查存储缓存
90
- try {
91
- const stored = await this.storage.get(key);
92
- if (stored) {
93
- const item = JSON.parse(stored);
94
- if (item.expiresAt > Date.now()) {
95
- // 更新内存缓存(使用 LRU)
96
- this.setInMemory(key, item);
97
- return item.data;
98
- } else {
99
- // 已过期,删除
100
- await this.storage.remove(key);
101
- }
102
- }
103
- } catch (error) {
104
- // 忽略解析错误
105
- }
106
- return null;
107
- }
108
- /**
109
- * 在内存中设置缓存(LRU)
110
- */ setInMemory(key, item) {
111
- let node = this.memoryCache.get(key);
112
- if (node) {
113
- // 更新现有节点
114
- node.value = item;
115
- this.moveToHead(node);
116
- } else {
117
- // 创建新节点
118
- node = {
119
- key,
120
- value: item,
121
- prev: null,
122
- next: this.head
123
- };
124
- if (this.head) {
125
- this.head.prev = node;
126
- }
127
- this.head = node;
128
- if (!this.tail) {
129
- this.tail = node;
130
- }
131
- this.memoryCache.set(key, node);
132
- // 如果超过最大大小,移除最久未使用的
133
- if (this.memoryCache.size > this.config.maxSize) {
134
- this.removeTail();
135
- }
136
- }
137
- }
138
- /**
139
- * 设置缓存
140
- */ async set(key, data, ttl) {
141
- const expiresAt = Date.now() + (ttl || this.config.defaultTTL);
142
- const item = {
143
- data,
144
- expiresAt,
145
- createdAt: Date.now()
146
- };
147
- // 更新内存缓存(使用 LRU)
148
- this.setInMemory(key, item);
149
- // 更新存储缓存
150
- try {
151
- await this.storage.set(key, item);
152
- } catch (error) {
153
- // 忽略存储错误
154
- }
155
- }
156
- /**
157
- * 删除缓存
158
- */ async delete(key) {
159
- const node = this.memoryCache.get(key);
160
- if (node) {
161
- // 从链表中移除
162
- if (node.prev) {
163
- node.prev.next = node.next;
164
- }
165
- if (node.next) {
166
- node.next.prev = node.prev;
167
- }
168
- if (node === this.head) {
169
- this.head = node.next;
170
- }
171
- if (node === this.tail) {
172
- this.tail = node.prev;
173
- }
174
- this.memoryCache.delete(key);
175
- }
176
- try {
177
- await this.storage.remove(key);
178
- } catch (error) {
179
- // 忽略删除错误
180
- }
181
- }
182
- /**
183
- * 清空缓存
184
- */ async clear() {
185
- this.memoryCache.clear();
186
- // 注意:这里不清空 storage,因为可能包含其他数据
187
- }
188
- /**
189
- * 清理过期项(优化版本:批量删除,减少 DOM 操作)
190
- */ async cleanup() {
191
- const now = Date.now();
192
- const keysToDelete = [];
193
- const nodesToRemove = [];
194
- // 批量收集需要删除的项
195
- for (const [key, node] of this.memoryCache.entries()){
196
- if (node.value.expiresAt <= now) {
197
- keysToDelete.push(key);
198
- nodesToRemove.push(node);
199
- }
200
- }
201
- // 批量删除(优化性能)
202
- if (keysToDelete.length > 0) {
203
- // 从链表中移除节点
204
- for (const node of nodesToRemove){
205
- if (node.prev) {
206
- node.prev.next = node.next;
207
- }
208
- if (node.next) {
209
- node.next.prev = node.prev;
210
- }
211
- if (node === this.head) {
212
- this.head = node.next;
213
- }
214
- if (node === this.tail) {
215
- this.tail = node.prev;
216
- }
217
- }
218
- // 批量删除 Map 中的项
219
- keysToDelete.forEach((key)=>this.memoryCache.delete(key));
220
- }
221
- // 注意:存储缓存的清理由存储系统自己处理(通过过期时间)
222
- }
223
- constructor(storage, config = {}){
224
- _define_property(this, "memoryCache", new Map());
225
- _define_property(this, "storage", void 0);
226
- _define_property(this, "config", void 0);
227
- _define_property(this, "head", null);
228
- _define_property(this, "tail", null);
229
- this.storage = storage;
230
- this.config = {
231
- defaultTTL: config.defaultTTL ?? 24 * 60 * 60 * 1000,
232
- maxSize: config.maxSize ?? 100
233
- };
234
- }
235
- }
236
-
237
- //# sourceMappingURL=cache.js.map
1
+ function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}export class MultiLevelCache{moveToHead(node){const nodeAsUnknown=node;if(nodeAsUnknown===this.head){return}if(node.prev){node.prev.next=node.next}if(node.next){node.next.prev=node.prev}if(nodeAsUnknown===this.tail){this.tail=node.prev}node.prev=null;node.next=this.head;if(this.head){this.head.prev=nodeAsUnknown}this.head=nodeAsUnknown;if(!this.tail){this.tail=nodeAsUnknown}}removeTail(){if(!this.tail){return}const key=this.tail.key;this.memoryCache.delete(key);if(this.tail.prev){this.tail.prev.next=null;this.tail=this.tail.prev}else{this.head=null;this.tail=null}}async get(key){const node=this.memoryCache.get(key);if(node){const item=node.value;if(item.expiresAt>Date.now()){this.moveToHead(node);return item.data}else{this.memoryCache.delete(key);if(node===this.head){this.head=node.next}if(node===this.tail){this.tail=node.prev}if(node.prev){node.prev.next=node.next}if(node.next){node.next.prev=node.prev}}}try{const stored=await this.storage.get(key);if(stored){const item=JSON.parse(stored);if(item.expiresAt>Date.now()){this.setInMemory(key,item);return item.data}else{await this.storage.remove(key)}}}catch(error){}return null}setInMemory(key,item){let node=this.memoryCache.get(key);if(node){node.value=item;this.moveToHead(node)}else{node={key,value:item,prev:null,next:this.head};if(this.head){this.head.prev=node}this.head=node;if(!this.tail){this.tail=node}this.memoryCache.set(key,node);if(this.memoryCache.size>this.config.maxSize){this.removeTail()}}}async set(key,data,ttl){const expiresAt=Date.now()+(ttl||this.config.defaultTTL);const item={data,expiresAt,createdAt:Date.now()};this.setInMemory(key,item);try{await this.storage.set(key,item)}catch(error){}}async delete(key){const node=this.memoryCache.get(key);if(node){if(node.prev){node.prev.next=node.next}if(node.next){node.next.prev=node.prev}if(node===this.head){this.head=node.next}if(node===this.tail){this.tail=node.prev}this.memoryCache.delete(key)}try{await this.storage.remove(key)}catch(error){}}async clear(){this.memoryCache.clear()}async cleanup(){const now=Date.now();const keysToDelete=[];const nodesToRemove=[];for(const[key,node]of this.memoryCache.entries()){if(node.value.expiresAt<=now){keysToDelete.push(key);nodesToRemove.push(node)}}if(keysToDelete.length>0){for(const node of nodesToRemove){if(node.prev){node.prev.next=node.next}if(node.next){node.next.prev=node.prev}if(node===this.head){this.head=node.next}if(node===this.tail){this.tail=node.prev}}keysToDelete.forEach(key=>this.memoryCache.delete(key))}}constructor(storage,config={}){_define_property(this,"memoryCache",new Map);_define_property(this,"storage",void 0);_define_property(this,"config",void 0);_define_property(this,"head",null);_define_property(this,"tail",null);this.storage=storage;this.config={defaultTTL:config.defaultTTL??24*60*60*1e3,maxSize:config.maxSize??100}}}
@@ -1,149 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EncryptionUtils", {
6
- enumerable: true,
7
- get: function() {
8
- return EncryptionUtils;
9
- }
10
- });
11
- const _utils = require("@vlian/utils");
12
- let EncryptionUtils = class EncryptionUtils {
13
- /**
14
- * 生成加密密钥
15
- */ static async generateKey() {
16
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
17
- throw new _utils.StorageError('加密功能需要浏览器支持 Web Crypto API');
18
- }
19
- try {
20
- return await window.crypto.subtle.generateKey({
21
- name: 'AES-GCM',
22
- length: 256
23
- }, true, [
24
- 'encrypt',
25
- 'decrypt'
26
- ]);
27
- } catch (error) {
28
- throw new _utils.StorageError('生成加密密钥失败', error instanceof Error ? error : undefined);
29
- }
30
- }
31
- /**
32
- * 使用 PBKDF2 派生密钥
33
- */ static async deriveKey(password, salt, iterations = 100000) {
34
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
35
- throw new _utils.StorageError('加密功能需要浏览器支持 Web Crypto API');
36
- }
37
- try {
38
- // 导入密码
39
- const encoder = new TextEncoder();
40
- const passwordKey = await window.crypto.subtle.importKey('raw', encoder.encode(password), 'PBKDF2', false, [
41
- 'deriveBits',
42
- 'deriveKey'
43
- ]);
44
- // 使用 PBKDF2 派生密钥
45
- // 确保 salt 是 BufferSource 类型(使用类型断言)
46
- const saltBuffer = salt instanceof Uint8Array ? salt : new Uint8Array(salt);
47
- return await window.crypto.subtle.deriveKey({
48
- name: 'PBKDF2',
49
- salt: saltBuffer,
50
- iterations: iterations,
51
- hash: 'SHA-256'
52
- }, passwordKey, {
53
- name: 'AES-GCM',
54
- length: 256
55
- }, false, [
56
- 'encrypt',
57
- 'decrypt'
58
- ]);
59
- } catch (error) {
60
- throw new _utils.StorageError('密钥派生失败', error instanceof Error ? error : undefined);
61
- }
62
- }
63
- /**
64
- * 从字符串导入密钥(使用 PBKDF2 派生)
65
- *
66
- * 注意:如果没有提供 salt,每次调用都会生成新的 salt,导致密钥不一致。
67
- * 建议在生产环境中使用固定的 salt 或从安全存储中获取。
68
- */ static async importKey(keyString, salt) {
69
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
70
- throw new _utils.StorageError('加密功能需要浏览器支持 Web Crypto API');
71
- }
72
- try {
73
- // 如果没有提供 salt,尝试从 sessionStorage 获取或生成一个固定的
74
- let keySalt = salt;
75
- if (!keySalt) {
76
- // 尝试从 sessionStorage 获取固定的 salt(用于当前会话)
77
- const saltKey = '__encryption_salt__';
78
- const storedSalt = sessionStorage.getItem(saltKey);
79
- if (storedSalt) {
80
- // 从存储中恢复 salt
81
- const saltArray = Uint8Array.from(JSON.parse(storedSalt));
82
- keySalt = saltArray;
83
- } else {
84
- // 生成新的 salt 并存储(用于当前会话)
85
- keySalt = window.crypto.getRandomValues(new Uint8Array(16));
86
- sessionStorage.setItem(saltKey, JSON.stringify(Array.from(keySalt)));
87
- }
88
- }
89
- // 使用 PBKDF2 派生密钥
90
- return await this.deriveKey(keyString, keySalt);
91
- } catch (error) {
92
- throw new _utils.StorageError('导入加密密钥失败', error instanceof Error ? error : undefined);
93
- }
94
- }
95
- /**
96
- * 加密数据
97
- */ static async encrypt(data, key) {
98
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
99
- throw new _utils.StorageError('加密功能需要浏览器支持 Web Crypto API');
100
- }
101
- try {
102
- const encoder = new TextEncoder();
103
- const dataBuffer = encoder.encode(data);
104
- // 生成随机 IV
105
- const iv = window.crypto.getRandomValues(new Uint8Array(12));
106
- const encrypted = await window.crypto.subtle.encrypt({
107
- name: 'AES-GCM',
108
- iv: iv
109
- }, key, dataBuffer);
110
- // 将 IV 和加密数据组合
111
- const combined = new Uint8Array(iv.length + encrypted.byteLength);
112
- combined.set(iv);
113
- combined.set(new Uint8Array(encrypted), iv.length);
114
- // 转换为 Base64
115
- return btoa(String.fromCharCode(...combined));
116
- } catch (error) {
117
- throw new _utils.StorageError('加密数据失败', error instanceof Error ? error : undefined);
118
- }
119
- }
120
- /**
121
- * 解密数据
122
- */ static async decrypt(encryptedData, key) {
123
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
124
- throw new _utils.StorageError('解密功能需要浏览器支持 Web Crypto API');
125
- }
126
- try {
127
- // 从 Base64 解码
128
- const combined = Uint8Array.from(atob(encryptedData), (c)=>c.charCodeAt(0));
129
- // 提取 IV 和加密数据
130
- const iv = combined.slice(0, 12);
131
- const encrypted = combined.slice(12);
132
- const decrypted = await window.crypto.subtle.decrypt({
133
- name: 'AES-GCM',
134
- iv: iv
135
- }, key, encrypted);
136
- const decoder = new TextDecoder();
137
- return decoder.decode(decrypted);
138
- } catch (error) {
139
- throw new _utils.StorageError('解密数据失败', error instanceof Error ? error : undefined);
140
- }
141
- }
142
- /**
143
- * 检查字段是否需要加密
144
- */ static shouldEncrypt(key) {
145
- return _utils.SecurityUtils.isSensitiveField(key);
146
- }
147
- };
148
-
149
- //# sourceMappingURL=encryption.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"EncryptionUtils",{enumerable:true,get:function(){return EncryptionUtils}});const _utils=require("@vlian/utils");let EncryptionUtils=class EncryptionUtils{static async generateKey(){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new _utils.StorageError("加密功能需要浏览器支持 Web Crypto API")}try{return await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},true,["encrypt","decrypt"])}catch(error){throw new _utils.StorageError("生成加密密钥失败",error instanceof Error?error:undefined)}}static async deriveKey(password,salt,iterations=1e5){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new _utils.StorageError("加密功能需要浏览器支持 Web Crypto API")}try{const encoder=new TextEncoder;const passwordKey=await window.crypto.subtle.importKey("raw",encoder.encode(password),"PBKDF2",false,["deriveBits","deriveKey"]);const saltBuffer=salt instanceof Uint8Array?salt:new Uint8Array(salt);return await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:saltBuffer,iterations:iterations,hash:"SHA-256"},passwordKey,{name:"AES-GCM",length:256},false,["encrypt","decrypt"])}catch(error){throw new _utils.StorageError("密钥派生失败",error instanceof Error?error:undefined)}}static async importKey(keyString,salt){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new _utils.StorageError("加密功能需要浏览器支持 Web Crypto API")}try{let keySalt=salt;if(!keySalt){const saltKey="__encryption_salt__";const storedSalt=sessionStorage.getItem(saltKey);if(storedSalt){const saltArray=Uint8Array.from(JSON.parse(storedSalt));keySalt=saltArray}else{keySalt=window.crypto.getRandomValues(new Uint8Array(16));sessionStorage.setItem(saltKey,JSON.stringify(Array.from(keySalt)))}}return await this.deriveKey(keyString,keySalt)}catch(error){throw new _utils.StorageError("导入加密密钥失败",error instanceof Error?error:undefined)}}static async encrypt(data,key){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new _utils.StorageError("加密功能需要浏览器支持 Web Crypto API")}try{const encoder=new TextEncoder;const dataBuffer=encoder.encode(data);const iv=window.crypto.getRandomValues(new Uint8Array(12));const encrypted=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:iv},key,dataBuffer);const combined=new Uint8Array(iv.length+encrypted.byteLength);combined.set(iv);combined.set(new Uint8Array(encrypted),iv.length);return btoa(String.fromCharCode(...combined))}catch(error){throw new _utils.StorageError("加密数据失败",error instanceof Error?error:undefined)}}static async decrypt(encryptedData,key){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new _utils.StorageError("解密功能需要浏览器支持 Web Crypto API")}try{const combined=Uint8Array.from(atob(encryptedData),c=>c.charCodeAt(0));const iv=combined.slice(0,12);const encrypted=combined.slice(12);const decrypted=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:iv},key,encrypted);const decoder=new TextDecoder;return decoder.decode(decrypted)}catch(error){throw new _utils.StorageError("解密数据失败",error instanceof Error?error:undefined)}}static shouldEncrypt(key){return _utils.SecurityUtils.isSensitiveField(key)}};
@@ -1,141 +1 @@
1
- import { SecurityUtils, StorageError } from "@vlian/utils";
2
- /**
3
- * 加密工具类
4
- */ export class EncryptionUtils {
5
- /**
6
- * 生成加密密钥
7
- */ static async generateKey() {
8
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
9
- throw new StorageError('加密功能需要浏览器支持 Web Crypto API');
10
- }
11
- try {
12
- return await window.crypto.subtle.generateKey({
13
- name: 'AES-GCM',
14
- length: 256
15
- }, true, [
16
- 'encrypt',
17
- 'decrypt'
18
- ]);
19
- } catch (error) {
20
- throw new StorageError('生成加密密钥失败', error instanceof Error ? error : undefined);
21
- }
22
- }
23
- /**
24
- * 使用 PBKDF2 派生密钥
25
- */ static async deriveKey(password, salt, iterations = 100000) {
26
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
27
- throw new StorageError('加密功能需要浏览器支持 Web Crypto API');
28
- }
29
- try {
30
- // 导入密码
31
- const encoder = new TextEncoder();
32
- const passwordKey = await window.crypto.subtle.importKey('raw', encoder.encode(password), 'PBKDF2', false, [
33
- 'deriveBits',
34
- 'deriveKey'
35
- ]);
36
- // 使用 PBKDF2 派生密钥
37
- // 确保 salt 是 BufferSource 类型(使用类型断言)
38
- const saltBuffer = salt instanceof Uint8Array ? salt : new Uint8Array(salt);
39
- return await window.crypto.subtle.deriveKey({
40
- name: 'PBKDF2',
41
- salt: saltBuffer,
42
- iterations: iterations,
43
- hash: 'SHA-256'
44
- }, passwordKey, {
45
- name: 'AES-GCM',
46
- length: 256
47
- }, false, [
48
- 'encrypt',
49
- 'decrypt'
50
- ]);
51
- } catch (error) {
52
- throw new StorageError('密钥派生失败', error instanceof Error ? error : undefined);
53
- }
54
- }
55
- /**
56
- * 从字符串导入密钥(使用 PBKDF2 派生)
57
- *
58
- * 注意:如果没有提供 salt,每次调用都会生成新的 salt,导致密钥不一致。
59
- * 建议在生产环境中使用固定的 salt 或从安全存储中获取。
60
- */ static async importKey(keyString, salt) {
61
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
62
- throw new StorageError('加密功能需要浏览器支持 Web Crypto API');
63
- }
64
- try {
65
- // 如果没有提供 salt,尝试从 sessionStorage 获取或生成一个固定的
66
- let keySalt = salt;
67
- if (!keySalt) {
68
- // 尝试从 sessionStorage 获取固定的 salt(用于当前会话)
69
- const saltKey = '__encryption_salt__';
70
- const storedSalt = sessionStorage.getItem(saltKey);
71
- if (storedSalt) {
72
- // 从存储中恢复 salt
73
- const saltArray = Uint8Array.from(JSON.parse(storedSalt));
74
- keySalt = saltArray;
75
- } else {
76
- // 生成新的 salt 并存储(用于当前会话)
77
- keySalt = window.crypto.getRandomValues(new Uint8Array(16));
78
- sessionStorage.setItem(saltKey, JSON.stringify(Array.from(keySalt)));
79
- }
80
- }
81
- // 使用 PBKDF2 派生密钥
82
- return await this.deriveKey(keyString, keySalt);
83
- } catch (error) {
84
- throw new StorageError('导入加密密钥失败', error instanceof Error ? error : undefined);
85
- }
86
- }
87
- /**
88
- * 加密数据
89
- */ static async encrypt(data, key) {
90
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
91
- throw new StorageError('加密功能需要浏览器支持 Web Crypto API');
92
- }
93
- try {
94
- const encoder = new TextEncoder();
95
- const dataBuffer = encoder.encode(data);
96
- // 生成随机 IV
97
- const iv = window.crypto.getRandomValues(new Uint8Array(12));
98
- const encrypted = await window.crypto.subtle.encrypt({
99
- name: 'AES-GCM',
100
- iv: iv
101
- }, key, dataBuffer);
102
- // 将 IV 和加密数据组合
103
- const combined = new Uint8Array(iv.length + encrypted.byteLength);
104
- combined.set(iv);
105
- combined.set(new Uint8Array(encrypted), iv.length);
106
- // 转换为 Base64
107
- return btoa(String.fromCharCode(...combined));
108
- } catch (error) {
109
- throw new StorageError('加密数据失败', error instanceof Error ? error : undefined);
110
- }
111
- }
112
- /**
113
- * 解密数据
114
- */ static async decrypt(encryptedData, key) {
115
- if (typeof window === 'undefined' || !window.crypto || !window.crypto.subtle) {
116
- throw new StorageError('解密功能需要浏览器支持 Web Crypto API');
117
- }
118
- try {
119
- // 从 Base64 解码
120
- const combined = Uint8Array.from(atob(encryptedData), (c)=>c.charCodeAt(0));
121
- // 提取 IV 和加密数据
122
- const iv = combined.slice(0, 12);
123
- const encrypted = combined.slice(12);
124
- const decrypted = await window.crypto.subtle.decrypt({
125
- name: 'AES-GCM',
126
- iv: iv
127
- }, key, encrypted);
128
- const decoder = new TextDecoder();
129
- return decoder.decode(decrypted);
130
- } catch (error) {
131
- throw new StorageError('解密数据失败', error instanceof Error ? error : undefined);
132
- }
133
- }
134
- /**
135
- * 检查字段是否需要加密
136
- */ static shouldEncrypt(key) {
137
- return SecurityUtils.isSensitiveField(key);
138
- }
139
- }
140
-
141
- //# sourceMappingURL=encryption.js.map
1
+ import{SecurityUtils,StorageError}from"@vlian/utils";export class EncryptionUtils{static async generateKey(){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new StorageError("加密功能需要浏览器支持 Web Crypto API")}try{return await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},true,["encrypt","decrypt"])}catch(error){throw new StorageError("生成加密密钥失败",error instanceof Error?error:undefined)}}static async deriveKey(password,salt,iterations=1e5){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new StorageError("加密功能需要浏览器支持 Web Crypto API")}try{const encoder=new TextEncoder;const passwordKey=await window.crypto.subtle.importKey("raw",encoder.encode(password),"PBKDF2",false,["deriveBits","deriveKey"]);const saltBuffer=salt instanceof Uint8Array?salt:new Uint8Array(salt);return await window.crypto.subtle.deriveKey({name:"PBKDF2",salt:saltBuffer,iterations:iterations,hash:"SHA-256"},passwordKey,{name:"AES-GCM",length:256},false,["encrypt","decrypt"])}catch(error){throw new StorageError("密钥派生失败",error instanceof Error?error:undefined)}}static async importKey(keyString,salt){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new StorageError("加密功能需要浏览器支持 Web Crypto API")}try{let keySalt=salt;if(!keySalt){const saltKey="__encryption_salt__";const storedSalt=sessionStorage.getItem(saltKey);if(storedSalt){const saltArray=Uint8Array.from(JSON.parse(storedSalt));keySalt=saltArray}else{keySalt=window.crypto.getRandomValues(new Uint8Array(16));sessionStorage.setItem(saltKey,JSON.stringify(Array.from(keySalt)))}}return await this.deriveKey(keyString,keySalt)}catch(error){throw new StorageError("导入加密密钥失败",error instanceof Error?error:undefined)}}static async encrypt(data,key){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new StorageError("加密功能需要浏览器支持 Web Crypto API")}try{const encoder=new TextEncoder;const dataBuffer=encoder.encode(data);const iv=window.crypto.getRandomValues(new Uint8Array(12));const encrypted=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:iv},key,dataBuffer);const combined=new Uint8Array(iv.length+encrypted.byteLength);combined.set(iv);combined.set(new Uint8Array(encrypted),iv.length);return btoa(String.fromCharCode(...combined))}catch(error){throw new StorageError("加密数据失败",error instanceof Error?error:undefined)}}static async decrypt(encryptedData,key){if(typeof window==="undefined"||!window.crypto||!window.crypto.subtle){throw new StorageError("解密功能需要浏览器支持 Web Crypto API")}try{const combined=Uint8Array.from(atob(encryptedData),c=>c.charCodeAt(0));const iv=combined.slice(0,12);const encrypted=combined.slice(12);const decrypted=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:iv},key,encrypted);const decoder=new TextDecoder;return decoder.decode(decrypted)}catch(error){throw new StorageError("解密数据失败",error instanceof Error?error:undefined)}}static shouldEncrypt(key){return SecurityUtils.isSensitiveField(key)}}
@@ -1,126 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get EncryptionUtils () {
13
- return _encryption.EncryptionUtils;
14
- },
15
- get MultiLevelCache () {
16
- return _cache.MultiLevelCache;
17
- },
18
- get storage () {
19
- return storage;
20
- }
21
- });
22
- const _utils = require("@vlian/utils");
23
- const _cache = require("./cache");
24
- const _encryption = require("./encryption");
25
- function _define_property(obj, key, value) {
26
- if (key in obj) {
27
- Object.defineProperty(obj, key, {
28
- value: value,
29
- enumerable: true,
30
- configurable: true,
31
- writable: true
32
- });
33
- } else {
34
- obj[key] = value;
35
- }
36
- return obj;
37
- }
38
- let Storage = class Storage {
39
- get local() {
40
- return this._local;
41
- }
42
- get session() {
43
- return this._session;
44
- }
45
- get indexedDB() {
46
- return this._indexedDB;
47
- }
48
- /**
49
- * 获取本地存储缓存
50
- */ get localCache() {
51
- return this._localCache;
52
- }
53
- /**
54
- * 获取会话存储缓存
55
- */ get sessionCache() {
56
- return this._sessionCache;
57
- }
58
- /**
59
- * 获取单例实例
60
- *
61
- * @returns Singleton 实例
62
- */ static getInstance() {
63
- if (!Storage.instance) {
64
- Storage.instance = new Storage();
65
- }
66
- return Storage.instance;
67
- }
68
- initialize(options) {
69
- const local = (0, _utils.createStorage)({
70
- type: 'local',
71
- prefix: options?.prefix || 'vlian',
72
- defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000
73
- });
74
- const session = (0, _utils.createStorage)({
75
- type: 'session',
76
- prefix: options?.prefix || 'vlian',
77
- defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000
78
- });
79
- const indexedDB = (0, _utils.createStorage)({
80
- type: 'indexedDB',
81
- prefix: options?.prefix || 'vlian',
82
- defaultExpire: options?.defaultExpire || 24 * 60 * 60 * 1000,
83
- dbName: options?.tableName
84
- });
85
- this._local = local;
86
- this._session = session;
87
- this._indexedDB = indexedDB;
88
- // 初始化缓存
89
- this.cacheEnabled = options?.cache?.enabled ?? false;
90
- if (this.cacheEnabled) {
91
- this._localCache = new _cache.MultiLevelCache(local, {
92
- defaultTTL: options?.cache?.defaultTTL,
93
- maxSize: options?.cache?.maxSize
94
- });
95
- this._sessionCache = new _cache.MultiLevelCache(session, {
96
- defaultTTL: options?.cache?.defaultTTL,
97
- maxSize: options?.cache?.maxSize
98
- });
99
- }
100
- }
101
- /**
102
- * 清理过期缓存
103
- */ async cleanupCache() {
104
- if (this._localCache) {
105
- await this._localCache.cleanup();
106
- }
107
- if (this._sessionCache) {
108
- await this._sessionCache.cleanup();
109
- }
110
- }
111
- /**
112
- * 私有构造函数,防止外部直接实例化
113
- */ constructor(){
114
- _define_property(this, "_local", void 0);
115
- _define_property(this, "_session", void 0);
116
- _define_property(this, "_indexedDB", void 0);
117
- _define_property(this, "_localCache", void 0);
118
- _define_property(this, "_sessionCache", void 0);
119
- _define_property(this, "cacheEnabled", false);
120
- // 私有构造函数
121
- }
122
- };
123
- _define_property(Storage, "instance", null);
124
- const storage = Storage.getInstance();
125
-
126
- //# sourceMappingURL=index.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 EncryptionUtils(){return _encryption.EncryptionUtils},get MultiLevelCache(){return _cache.MultiLevelCache},get storage(){return storage}});const _utils=require("@vlian/utils");const _cache=require("./cache");const _encryption=require("./encryption");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let Storage=class Storage{get local(){return this._local}get session(){return this._session}get indexedDB(){return this._indexedDB}get localCache(){return this._localCache}get sessionCache(){return this._sessionCache}static getInstance(){if(!Storage.instance){Storage.instance=new Storage}return Storage.instance}initialize(options){const local=(0,_utils.createStorage)({type:"local",prefix:options?.prefix||"vlian",defaultExpire:options?.defaultExpire||24*60*60*1e3});const session=(0,_utils.createStorage)({type:"session",prefix:options?.prefix||"vlian",defaultExpire:options?.defaultExpire||24*60*60*1e3});const indexedDB=(0,_utils.createStorage)({type:"indexedDB",prefix:options?.prefix||"vlian",defaultExpire:options?.defaultExpire||24*60*60*1e3,dbName:options?.tableName});this._local=local;this._session=session;this._indexedDB=indexedDB;this.cacheEnabled=options?.cache?.enabled??false;if(this.cacheEnabled){this._localCache=new _cache.MultiLevelCache(local,{defaultTTL:options?.cache?.defaultTTL,maxSize:options?.cache?.maxSize});this._sessionCache=new _cache.MultiLevelCache(session,{defaultTTL:options?.cache?.defaultTTL,maxSize:options?.cache?.maxSize})}}async cleanupCache(){if(this._localCache){await this._localCache.cleanup()}if(this._sessionCache){await this._sessionCache.cleanup()}}constructor(){_define_property(this,"_local",void 0);_define_property(this,"_session",void 0);_define_property(this,"_indexedDB",void 0);_define_property(this,"_localCache",void 0);_define_property(this,"_sessionCache",void 0);_define_property(this,"cacheEnabled",false)}};_define_property(Storage,"instance",null);const storage=Storage.getInstance();