@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 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/ReduxAdapter.ts"],"sourcesContent":["/**\n * Redux Toolkit 适配器\n * \n * 将 Redux Toolkit store 映射到 Secra 状态抽象\n * \n * 使用说明:\n * 1. 需要安装 @reduxjs/toolkit 作为 peerDependency\n * 2. 每个状态实例对应一个 Redux slice\n * 3. 支持 Redux DevTools 集成(如果可用)\n * 4. 支持中间件和开发模式\n * \n * @example\n * ```typescript\n * import { ReduxAdapter } from '@vlian/framework/state';\n * \n * const adapter = new ReduxAdapter({ devMode: true });\n * const state = adapter.createInstance(0, { id: 'counter' });\n * \n * state.set(1);\n * console.log(state.get()); // 1\n * ```\n */\n\nimport type {\n IStateAdapter,\n IStateInstance,\n StateInstanceId,\n StateInstanceOptions,\n StateScope,\n StateSubscriber,\n StateUpdater,\n Unsubscribe,\n} from '../types';\n\n/**\n * Redux 相关类型定义(如果 Redux 不可用,这些类型将用于类型检查)\n */\ntype ReduxStore = {\n dispatch: (action: unknown) => unknown;\n getState: () => Record<string, unknown>;\n subscribe: (listener: () => void) => () => void;\n replaceReducer: (nextReducer: (state: unknown, action: unknown) => unknown) => void;\n};\n\ntype ReduxReducer = (state: unknown, action: unknown) => unknown;\n\ntype ReduxSlice = {\n name: string;\n reducer: (state: unknown, action: unknown) => unknown;\n actions: Record<string, (payload?: unknown) => { type: string; payload?: unknown }>;\n};\n\ntype ReduxSliceOptions = {\n name: string;\n initialState: unknown;\n reducers?: Record<string, (state: unknown, action: { payload?: unknown }) => unknown>;\n};\n\n/**\n * Redux 状态实例实现\n * \n * 将 Redux slice 映射到 IStateInstance 接口\n * \n * @template T - 状态值类型\n */\nclass ReduxStateInstance<T = unknown> implements IStateInstance<T> {\n /**\n * 状态实例标识符\n */\n private readonly id: StateInstanceId;\n\n /**\n * 状态作用域\n */\n private readonly scope?: StateScope;\n\n /**\n * Redux store 引用\n */\n private readonly store: ReduxStore;\n\n /**\n * Redux slice 名称(在 store 中的路径)\n */\n private readonly sliceName: string;\n\n /**\n * Redux slice actions\n */\n private readonly actions: ReduxSlice['actions'];\n\n /**\n * 订阅者集合\n */\n private readonly subscribers: Set<StateSubscriber<T>> = new Set();\n\n /**\n * Redux store 订阅取消函数\n */\n private unsubscribeStore?: () => void;\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 开发模式标志\n */\n private readonly devMode: boolean;\n\n /**\n * 中间件函数数组\n */\n private readonly middleware: Array<(value: unknown, previous: unknown) => unknown>;\n\n /**\n * 上一次的状态值(用于订阅通知)\n */\n private previousValue: T;\n\n /**\n * 构造函数\n * \n * @param store - Redux store 实例\n * @param sliceName - Redux slice 名称\n * @param actions - Redux slice actions\n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n */\n constructor(\n store: ReduxStore,\n sliceName: string,\n actions: ReduxSlice['actions'],\n initialValue: T,\n options: {\n id?: StateInstanceId;\n scope?: StateScope;\n devMode?: boolean;\n middleware?: Array<(value: unknown, previous: unknown) => unknown>;\n } = {},\n ) {\n this.store = store;\n this.sliceName = sliceName;\n this.actions = actions;\n this.id = options.id ?? Symbol('ReduxStateInstance');\n this.scope = options.scope;\n this.devMode = options.devMode ?? false;\n this.middleware = options.middleware ?? [];\n this.previousValue = initialValue;\n\n // 订阅 Redux store 变化\n this.unsubscribeStore = this.store.subscribe(() => {\n this.notifySubscribers();\n });\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Created: ${String(this.id)}`, {\n scope: this.scope,\n sliceName: this.sliceName,\n initialValue,\n });\n }\n }\n\n /**\n * 获取当前状态值\n */\n get(): T {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n\n const state = this.store.getState();\n return (state[this.sliceName] ?? this.previousValue) as T;\n }\n\n /**\n * 更新状态值\n */\n set(valueOrUpdater: T | StateUpdater<T>): void {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n\n const currentValue = this.get();\n let newValue: T;\n\n // 处理函数式更新\n if (typeof valueOrUpdater === 'function') {\n newValue = (valueOrUpdater as StateUpdater<T>)(currentValue);\n } else {\n newValue = valueOrUpdater;\n }\n\n // 应用中间件\n let processedValue = newValue;\n for (const middleware of this.middleware) {\n processedValue = middleware(processedValue, currentValue) as T;\n }\n\n // 如果值没有变化,跳过更新\n if (processedValue === currentValue) {\n return;\n }\n\n // 保存之前的值\n this.previousValue = currentValue;\n\n // 通过 Redux action 更新状态\n const action = this.actions.setValue(processedValue);\n this.store.dispatch(action);\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Updated: ${String(this.id)}`, {\n previous: currentValue,\n current: processedValue,\n action,\n });\n }\n }\n\n /**\n * 订阅状态变化\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n\n this.subscribers.add(subscriber);\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Subscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n\n // 返回取消订阅函数\n return () => {\n this.subscribers.delete(subscriber);\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Unsubscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n };\n }\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId {\n return this.id;\n }\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined {\n return this.scope;\n }\n\n /**\n * 销毁状态实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.destroyed = true;\n\n // 取消 Redux store 订阅\n if (this.unsubscribeStore) {\n this.unsubscribeStore();\n this.unsubscribeStore = undefined;\n }\n\n // 清理订阅者\n this.subscribers.clear();\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Destroyed: ${String(this.id)}`);\n }\n }\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 通知所有订阅者\n */\n private notifySubscribers(): void {\n if (this.destroyed) {\n return;\n }\n\n try {\n const currentValue = this.get();\n\n // 如果值没有变化,跳过通知\n if (currentValue === this.previousValue) {\n return;\n }\n\n const previousValue = this.previousValue;\n this.previousValue = currentValue;\n\n // 使用数组副本避免在迭代过程中修改集合\n const subscribers = Array.from(this.subscribers);\n\n for (const subscriber of subscribers) {\n try {\n subscriber(currentValue, previousValue);\n } catch (error) {\n console.error(`[ReduxStateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n } catch (error) {\n console.error(`[ReduxStateInstance] Error getting state for ${String(this.id)}:`, error);\n }\n }\n}\n\n/**\n * 动态 Reducer 管理器\n * \n * 用于管理动态添加和移除的 Redux reducer\n */\nclass DynamicReducerManager {\n /**\n * 当前 reducer 映射\n */\n private reducers: Map<string, ReduxReducer> = new Map();\n\n /**\n * 根 reducer 函数\n */\n private rootReducer: ReduxReducer;\n\n /**\n * 构造函数\n */\n constructor() {\n this.rootReducer = (state: unknown, action: unknown) => {\n const stateRecord = (state as Record<string, unknown>) ?? {};\n const newState: Record<string, unknown> = { ...stateRecord };\n\n // 处理每个 reducer\n for (const [key, reducer] of this.reducers.entries()) {\n newState[key] = reducer(stateRecord[key], action);\n }\n\n return newState;\n };\n }\n\n /**\n * 添加 reducer\n */\n addReducer(key: string, reducer: ReduxReducer): void {\n this.reducers.set(key, reducer);\n }\n\n /**\n * 移除 reducer\n */\n removeReducer(key: string): void {\n this.reducers.delete(key);\n }\n\n /**\n * 获取根 reducer\n */\n getRootReducer(): ReduxReducer {\n return this.rootReducer;\n }\n\n /**\n * 检查 reducer 是否存在\n */\n hasReducer(key: string): boolean {\n return this.reducers.has(key);\n }\n}\n\n/**\n * Redux Toolkit 适配器配置选项\n */\nexport interface ReduxAdapterOptions {\n /**\n * 是否启用开发模式\n */\n devMode?: boolean;\n\n /**\n * 自定义 Redux store(可选)\n * 如果不提供,将创建一个新的 store\n */\n store?: ReduxStore;\n\n /**\n * Redux store 配置选项(仅在创建新 store 时使用)\n */\n storeConfig?: {\n /**\n * 是否启用 Redux DevTools\n */\n devTools?: boolean;\n\n /**\n * Redux 中间件数组\n */\n middleware?: unknown[];\n };\n}\n\n/**\n * Redux Toolkit 适配器\n * \n * 将 Redux Toolkit store 映射到 Secra 状态抽象\n */\nexport class ReduxAdapter implements IStateAdapter {\n /**\n * 适配器名称\n */\n private readonly name = 'ReduxAdapter';\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 创建的状态实例集合\n */\n private readonly instances: Set<IStateInstance> = new Set();\n\n /**\n * Redux store 实例\n */\n private store: ReduxStore | null = null;\n\n /**\n * Redux slice 名称计数器(用于生成唯一的 slice 名称)\n */\n private sliceCounter = 0;\n\n /**\n * Redux slice 名称到状态实例的映射\n */\n private readonly sliceToInstance: Map<string, IStateInstance> = new Map();\n\n /**\n * 动态 reducer 管理器\n */\n private readonly reducerManager: DynamicReducerManager;\n\n /**\n * 是否启用开发模式\n */\n private readonly devMode: boolean;\n\n /**\n * 构造函数\n * \n * @param options - 适配器配置选项\n */\n constructor(options?: ReduxAdapterOptions) {\n this.devMode = options?.devMode ?? false;\n this.reducerManager = new DynamicReducerManager();\n this.store = options?.store ?? null;\n\n // 检查 Redux 是否可用\n this.checkReduxAvailable();\n }\n\n /**\n * 检查 Redux 是否可用\n */\n private checkReduxAvailable(): void {\n // 这里不抛出错误,允许延迟加载\n // 实际使用时会在 createInstance 时检查\n }\n\n /**\n * 获取或创建 Redux store\n */\n private getOrCreateStore(): ReduxStore {\n if (this.store) {\n return this.store;\n }\n\n // 尝试创建 Redux store\n try {\n // 动态导入 Redux Toolkit\n // 注意:这里使用类型断言,实际运行时需要确保 Redux 已安装\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { configureStore } = require('@reduxjs/toolkit') as {\n configureStore: (config: {\n reducer: ReduxReducer;\n devTools?: boolean;\n middleware?: unknown[];\n }) => ReduxStore;\n };\n\n this.store = configureStore({\n reducer: this.reducerManager.getRootReducer(),\n devTools: this.devMode,\n middleware: undefined, // 使用默认中间件\n });\n\n if (this.devMode) {\n console.debug('[ReduxAdapter] Redux store created');\n }\n\n return this.store;\n } catch (error) {\n throw new Error(\n 'ReduxAdapter requires @reduxjs/toolkit to be installed. ' +\n 'Please install it: npm install @reduxjs/toolkit\\n' +\n `Original error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n }\n\n /**\n * 创建 Redux slice\n */\n private createSlice<T>(sliceName: string, initialValue: T): ReduxSlice {\n try {\n // 动态导入 Redux Toolkit\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { createSlice } = require('@reduxjs/toolkit') as {\n createSlice: (options: ReduxSliceOptions) => ReduxSlice;\n };\n\n const slice = createSlice({\n name: sliceName,\n initialState: initialValue,\n reducers: {\n setValue: (_state: unknown, action: { payload?: unknown }) => {\n return action.payload ?? initialValue;\n },\n },\n }) as ReduxSlice;\n\n return slice;\n } catch (error) {\n throw new Error(\n 'ReduxAdapter requires @reduxjs/toolkit to be installed. ' +\n 'Please install it: npm install @reduxjs/toolkit\\n' +\n `Original error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n }\n\n /**\n * 创建状态实例\n */\n createInstance<T = unknown>(\n initialValue: T,\n options?: StateInstanceOptions,\n ): IStateInstance<T> {\n if (this.destroyed) {\n throw new Error('ReduxAdapter has been destroyed');\n }\n\n // 获取或创建 Redux store\n const store = this.getOrCreateStore();\n\n // 生成唯一的 slice 名称\n const sliceName = options?.id\n ? `secra_${String(options.id)}`\n : `secra_slice_${++this.sliceCounter}`;\n\n // 创建 Redux slice\n const slice = this.createSlice<T>(sliceName, initialValue);\n\n // 将 slice reducer 添加到动态 reducer 管理器\n if (!this.reducerManager.hasReducer(sliceName)) {\n this.reducerManager.addReducer(sliceName, slice.reducer);\n \n // 更新 store 的 reducer(使用 replaceReducer)\n store.replaceReducer(this.reducerManager.getRootReducer());\n }\n\n // 创建状态实例\n const instance = new ReduxStateInstance<T>(\n store,\n sliceName,\n slice.actions,\n initialValue,\n {\n id: options?.id,\n scope: options?.scope,\n devMode: options?.devMode ?? this.devMode,\n middleware: options?.middleware,\n }\n );\n\n this.instances.add(instance);\n this.sliceToInstance.set(sliceName, instance);\n\n if (this.devMode) {\n console.debug(`[ReduxAdapter] Created instance: ${String(instance.getId())}`, {\n sliceName,\n scope: options?.scope,\n });\n }\n\n return instance;\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n // 销毁所有创建的状态实例\n for (const instance of this.instances) {\n instance.destroy();\n }\n\n // 从 reducer 管理器中移除所有 reducer\n for (const sliceName of this.sliceToInstance.keys()) {\n this.reducerManager.removeReducer(sliceName);\n }\n\n // 更新 store 的 reducer\n if (this.store) {\n this.store.replaceReducer(this.reducerManager.getRootReducer());\n }\n\n this.instances.clear();\n this.sliceToInstance.clear();\n this.store = null;\n this.destroyed = true;\n\n if (this.devMode) {\n console.debug('[ReduxAdapter] Destroyed');\n }\n }\n\n /**\n * 获取适配器名称\n */\n getName(): string {\n return this.name;\n }\n}\n"],"names":["ReduxAdapter","ReduxStateInstance","get","destroyed","Error","String","id","state","store","getState","sliceName","previousValue","set","valueOrUpdater","currentValue","newValue","processedValue","middleware","action","actions","setValue","dispatch","devMode","console","debug","previous","current","subscribe","subscriber","subscribers","add","subscriberCount","size","delete","getId","getScope","scope","destroy","unsubscribeStore","undefined","clear","isDestroyed","notifySubscribers","Array","from","error","initialValue","options","Set","Symbol","DynamicReducerManager","addReducer","key","reducer","reducers","removeReducer","getRootReducer","rootReducer","hasReducer","has","Map","stateRecord","newState","entries","checkReduxAvailable","getOrCreateStore","configureStore","require","reducerManager","devTools","message","createSlice","slice","name","initialState","_state","payload","createInstance","sliceCounter","replaceReducer","instance","instances","sliceToInstance","keys","getName"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;CAqBC;;;;+BAsZYA;;;eAAAA;;;;;;;;;;;;;;;;AAjXb;;;;;;CAMC,GACD,IAAA,AAAMC,qBAAN,MAAMA;IAoGJ;;GAEC,GACDC,MAAS;QACP,IAAI,IAAI,CAACC,SAAS,EAAE;YAClB,MAAM,IAAIC,MAAM,CAAC,mBAAmB,EAAEC,OAAO,IAAI,CAACC,EAAE,EAAE,mBAAmB,CAAC;QAC5E;QAEA,MAAMC,QAAQ,IAAI,CAACC,KAAK,CAACC,QAAQ;QACjC,OAAQF,KAAK,CAAC,IAAI,CAACG,SAAS,CAAC,IAAI,IAAI,CAACC,aAAa;IACrD;IAEA;;GAEC,GACDC,IAAIC,cAAmC,EAAQ;QAC7C,IAAI,IAAI,CAACV,SAAS,EAAE;YAClB,MAAM,IAAIC,MAAM,CAAC,mBAAmB,EAAEC,OAAO,IAAI,CAACC,EAAE,EAAE,mBAAmB,CAAC;QAC5E;QAEA,MAAMQ,eAAe,IAAI,CAACZ,GAAG;QAC7B,IAAIa;QAEJ,UAAU;QACV,IAAI,OAAOF,mBAAmB,YAAY;YACxCE,WAAW,AAACF,eAAmCC;QACjD,OAAO;YACLC,WAAWF;QACb;QAEA,QAAQ;QACR,IAAIG,iBAAiBD;QACrB,KAAK,MAAME,cAAc,IAAI,CAACA,UAAU,CAAE;YACxCD,iBAAiBC,WAAWD,gBAAgBF;QAC9C;QAEA,eAAe;QACf,IAAIE,mBAAmBF,cAAc;YACnC;QACF;QAEA,SAAS;QACT,IAAI,CAACH,aAAa,GAAGG;QAErB,uBAAuB;QACvB,MAAMI,SAAS,IAAI,CAACC,OAAO,CAACC,QAAQ,CAACJ;QACrC,IAAI,CAACR,KAAK,CAACa,QAAQ,CAACH;QAEpB,IAAI,IAAI,CAACI,OAAO,EAAE;YAChBC,QAAQC,KAAK,CAAC,CAAC,8BAA8B,EAAEnB,OAAO,IAAI,CAACC,EAAE,GAAG,EAAE;gBAChEmB,UAAUX;gBACVY,SAASV;gBACTE;YACF;QACF;IACF;IAEA;;GAEC,GACDS,UAAUC,UAA8B,EAAe;QACrD,IAAI,IAAI,CAACzB,SAAS,EAAE;YAClB,MAAM,IAAIC,MAAM,CAAC,mBAAmB,EAAEC,OAAO,IAAI,CAACC,EAAE,EAAE,mBAAmB,CAAC;QAC5E;QAEA,IAAI,CAACuB,WAAW,CAACC,GAAG,CAACF;QAErB,IAAI,IAAI,CAACN,OAAO,EAAE;YAChBC,QAAQC,KAAK,CAAC,CAAC,iCAAiC,EAAEnB,OAAO,IAAI,CAACC,EAAE,GAAG,EAAE;gBACnEyB,iBAAiB,IAAI,CAACF,WAAW,CAACG,IAAI;YACxC;QACF;QAEA,WAAW;QACX,OAAO;YACL,IAAI,CAACH,WAAW,CAACI,MAAM,CAACL;YACxB,IAAI,IAAI,CAACN,OAAO,EAAE;gBAChBC,QAAQC,KAAK,CAAC,CAAC,mCAAmC,EAAEnB,OAAO,IAAI,CAACC,EAAE,GAAG,EAAE;oBACrEyB,iBAAiB,IAAI,CAACF,WAAW,CAACG,IAAI;gBACxC;YACF;QACF;IACF;IAEA;;GAEC,GACDE,QAAyB;QACvB,OAAO,IAAI,CAAC5B,EAAE;IAChB;IAEA;;GAEC,GACD6B,WAAmC;QACjC,OAAO,IAAI,CAACC,KAAK;IACnB;IAEA;;GAEC,GACDC,UAAgB;QACd,IAAI,IAAI,CAAClC,SAAS,EAAE;YAClB;QACF;QAEA,IAAI,CAACA,SAAS,GAAG;QAEjB,oBAAoB;QACpB,IAAI,IAAI,CAACmC,gBAAgB,EAAE;YACzB,IAAI,CAACA,gBAAgB;YACrB,IAAI,CAACA,gBAAgB,GAAGC;QAC1B;QAEA,QAAQ;QACR,IAAI,CAACV,WAAW,CAACW,KAAK;QAEtB,IAAI,IAAI,CAAClB,OAAO,EAAE;YAChBC,QAAQC,KAAK,CAAC,CAAC,gCAAgC,EAAEnB,OAAO,IAAI,CAACC,EAAE,GAAG;QACpE;IACF;IAEA;;GAEC,GACDmC,cAAuB;QACrB,OAAO,IAAI,CAACtC,SAAS;IACvB;IAEA;;GAEC,GACD,AAAQuC,oBAA0B;QAChC,IAAI,IAAI,CAACvC,SAAS,EAAE;YAClB;QACF;QAEA,IAAI;YACF,MAAMW,eAAe,IAAI,CAACZ,GAAG;YAE7B,eAAe;YACf,IAAIY,iBAAiB,IAAI,CAACH,aAAa,EAAE;gBACvC;YACF;YAEA,MAAMA,gBAAgB,IAAI,CAACA,aAAa;YACxC,IAAI,CAACA,aAAa,GAAGG;YAErB,qBAAqB;YACrB,MAAMe,cAAcc,MAAMC,IAAI,CAAC,IAAI,CAACf,WAAW;YAE/C,KAAK,MAAMD,cAAcC,YAAa;gBACpC,IAAI;oBACFD,WAAWd,cAAcH;gBAC3B,EAAE,OAAOkC,OAAO;oBACdtB,QAAQsB,KAAK,CAAC,CAAC,6CAA6C,EAAExC,OAAO,IAAI,CAACC,EAAE,EAAE,CAAC,CAAC,EAAEuC;gBACpF;YACF;QACF,EAAE,OAAOA,OAAO;YACdtB,QAAQsB,KAAK,CAAC,CAAC,6CAA6C,EAAExC,OAAO,IAAI,CAACC,EAAE,EAAE,CAAC,CAAC,EAAEuC;QACpF;IACF;IA7MA;;;;;;;;GAQC,GACD,YACErC,KAAiB,EACjBE,SAAiB,EACjBS,OAA8B,EAC9B2B,YAAe,EACfC,UAKI,CAAC,CAAC,CACN;QA3EF;;GAEC,GACD,uBAAiBzC,MAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiB8B,SAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiB5B,SAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiBE,aAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiBS,WAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiBU,eAAuC,IAAImB;QAE5D;;GAEC,GACD,uBAAQV,oBAAR,KAAA;QAEA;;GAEC,GACD,uBAAQnC,aAAY;QAEpB;;GAEC,GACD,uBAAiBmB,WAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiBL,cAAjB,KAAA;QAEA;;GAEC,GACD,uBAAQN,iBAAR,KAAA;QAuBE,IAAI,CAACH,KAAK,GAAGA;QACb,IAAI,CAACE,SAAS,GAAGA;QACjB,IAAI,CAACS,OAAO,GAAGA;QACf,IAAI,CAACb,EAAE,GAAGyC,QAAQzC,EAAE,IAAI2C,OAAO;QAC/B,IAAI,CAACb,KAAK,GAAGW,QAAQX,KAAK;QAC1B,IAAI,CAACd,OAAO,GAAGyB,QAAQzB,OAAO,IAAI;QAClC,IAAI,CAACL,UAAU,GAAG8B,QAAQ9B,UAAU,IAAI,EAAE;QAC1C,IAAI,CAACN,aAAa,GAAGmC;QAErB,oBAAoB;QACpB,IAAI,CAACR,gBAAgB,GAAG,IAAI,CAAC9B,KAAK,CAACmB,SAAS,CAAC;YAC3C,IAAI,CAACe,iBAAiB;QACxB;QAEA,IAAI,IAAI,CAACpB,OAAO,EAAE;YAChBC,QAAQC,KAAK,CAAC,CAAC,8BAA8B,EAAEnB,OAAO,IAAI,CAACC,EAAE,GAAG,EAAE;gBAChE8B,OAAO,IAAI,CAACA,KAAK;gBACjB1B,WAAW,IAAI,CAACA,SAAS;gBACzBoC;YACF;QACF;IACF;AAoKF;AAEA;;;;CAIC,GACD,IAAA,AAAMI,wBAAN,MAAMA;IA4BJ;;GAEC,GACDC,WAAWC,GAAW,EAAEC,OAAqB,EAAQ;QACnD,IAAI,CAACC,QAAQ,CAAC1C,GAAG,CAACwC,KAAKC;IACzB;IAEA;;GAEC,GACDE,cAAcH,GAAW,EAAQ;QAC/B,IAAI,CAACE,QAAQ,CAACrB,MAAM,CAACmB;IACvB;IAEA;;GAEC,GACDI,iBAA+B;QAC7B,OAAO,IAAI,CAACC,WAAW;IACzB;IAEA;;GAEC,GACDC,WAAWN,GAAW,EAAW;QAC/B,OAAO,IAAI,CAACE,QAAQ,CAACK,GAAG,CAACP;IAC3B;IA3CA;;GAEC,GACD,aAAc;QAbd;;GAEC,GACD,uBAAQE,YAAsC,IAAIM;QAElD;;GAEC,GACD,uBAAQH,eAAR,KAAA;QAME,IAAI,CAACA,WAAW,GAAG,CAAClD,OAAgBW;YAClC,MAAM2C,cAAc,AAACtD,SAAqC,CAAC;YAC3D,MAAMuD,WAAoC;gBAAE,GAAGD,WAAW;YAAC;YAE3D,eAAe;YACf,KAAK,MAAM,CAACT,KAAKC,QAAQ,IAAI,IAAI,CAACC,QAAQ,CAACS,OAAO,GAAI;gBACpDD,QAAQ,CAACV,IAAI,GAAGC,QAAQQ,WAAW,CAACT,IAAI,EAAElC;YAC5C;YAEA,OAAO4C;QACT;IACF;AA6BF;AAsCO,IAAA,AAAM9D,eAAN,MAAMA;IAuDX;;GAEC,GACD,AAAQgE,sBAA4B;IAClC,iBAAiB;IACjB,6BAA6B;IAC/B;IAEA;;GAEC,GACD,AAAQC,mBAA+B;QACrC,IAAI,IAAI,CAACzD,KAAK,EAAE;YACd,OAAO,IAAI,CAACA,KAAK;QACnB;QAEA,mBAAmB;QACnB,IAAI;YACF,qBAAqB;YACrB,kCAAkC;YAClC,iEAAiE;YACjE,MAAM,EAAE0D,cAAc,EAAE,GAAGC,QAAQ;YAQnC,IAAI,CAAC3D,KAAK,GAAG0D,eAAe;gBAC1Bb,SAAS,IAAI,CAACe,cAAc,CAACZ,cAAc;gBAC3Ca,UAAU,IAAI,CAAC/C,OAAO;gBACtBL,YAAYsB;YACd;YAEA,IAAI,IAAI,CAACjB,OAAO,EAAE;gBAChBC,QAAQC,KAAK,CAAC;YAChB;YAEA,OAAO,IAAI,CAAChB,KAAK;QACnB,EAAE,OAAOqC,OAAO;YACd,MAAM,IAAIzC,MACR,6DACA,sDACA,CAAC,gBAAgB,EAAEyC,iBAAiBzC,QAAQyC,MAAMyB,OAAO,GAAGjE,OAAOwC,QAAQ;QAE/E;IACF;IAEA;;GAEC,GACD,AAAQ0B,YAAe7D,SAAiB,EAAEoC,YAAe,EAAc;QACrE,IAAI;YACF,qBAAqB;YACrB,iEAAiE;YACjE,MAAM,EAAEyB,WAAW,EAAE,GAAGJ,QAAQ;YAIhC,MAAMK,QAAQD,YAAY;gBACxBE,MAAM/D;gBACNgE,cAAc5B;gBACdQ,UAAU;oBACRlC,UAAU,CAACuD,QAAiBzD;wBAC1B,OAAOA,OAAO0D,OAAO,IAAI9B;oBAC3B;gBACF;YACF;YAEA,OAAO0B;QACT,EAAE,OAAO3B,OAAO;YACd,MAAM,IAAIzC,MACR,6DACA,sDACA,CAAC,gBAAgB,EAAEyC,iBAAiBzC,QAAQyC,MAAMyB,OAAO,GAAGjE,OAAOwC,QAAQ;QAE/E;IACF;IAEA;;GAEC,GACDgC,eACE/B,YAAe,EACfC,OAA8B,EACX;QACnB,IAAI,IAAI,CAAC5C,SAAS,EAAE;YAClB,MAAM,IAAIC,MAAM;QAClB;QAEA,oBAAoB;QACpB,MAAMI,QAAQ,IAAI,CAACyD,gBAAgB;QAEnC,iBAAiB;QACjB,MAAMvD,YAAYqC,SAASzC,KACvB,CAAC,MAAM,EAAED,OAAO0C,QAAQzC,EAAE,GAAG,GAC7B,CAAC,YAAY,EAAE,EAAE,IAAI,CAACwE,YAAY,EAAE;QAExC,iBAAiB;QACjB,MAAMN,QAAQ,IAAI,CAACD,WAAW,CAAI7D,WAAWoC;QAE7C,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAACsB,cAAc,CAACV,UAAU,CAAChD,YAAY;YAC9C,IAAI,CAAC0D,cAAc,CAACjB,UAAU,CAACzC,WAAW8D,MAAMnB,OAAO;YAEvD,wCAAwC;YACxC7C,MAAMuE,cAAc,CAAC,IAAI,CAACX,cAAc,CAACZ,cAAc;QACzD;QAEA,SAAS;QACT,MAAMwB,WAAW,IAAI/E,mBACnBO,OACAE,WACA8D,MAAMrD,OAAO,EACb2B,cACA;YACExC,IAAIyC,SAASzC;YACb8B,OAAOW,SAASX;YAChBd,SAASyB,SAASzB,WAAW,IAAI,CAACA,OAAO;YACzCL,YAAY8B,SAAS9B;QACvB;QAGF,IAAI,CAACgE,SAAS,CAACnD,GAAG,CAACkD;QACnB,IAAI,CAACE,eAAe,CAACtE,GAAG,CAACF,WAAWsE;QAEpC,IAAI,IAAI,CAAC1D,OAAO,EAAE;YAChBC,QAAQC,KAAK,CAAC,CAAC,iCAAiC,EAAEnB,OAAO2E,SAAS9C,KAAK,KAAK,EAAE;gBAC5ExB;gBACA0B,OAAOW,SAASX;YAClB;QACF;QAEA,OAAO4C;IACT;IAEA;;GAEC,GACD3C,UAAgB;QACd,IAAI,IAAI,CAAClC,SAAS,EAAE;YAClB;QACF;QAEA,cAAc;QACd,KAAK,MAAM6E,YAAY,IAAI,CAACC,SAAS,CAAE;YACrCD,SAAS3C,OAAO;QAClB;QAEA,6BAA6B;QAC7B,KAAK,MAAM3B,aAAa,IAAI,CAACwE,eAAe,CAACC,IAAI,GAAI;YACnD,IAAI,CAACf,cAAc,CAACb,aAAa,CAAC7C;QACpC;QAEA,qBAAqB;QACrB,IAAI,IAAI,CAACF,KAAK,EAAE;YACd,IAAI,CAACA,KAAK,CAACuE,cAAc,CAAC,IAAI,CAACX,cAAc,CAACZ,cAAc;QAC9D;QAEA,IAAI,CAACyB,SAAS,CAACzC,KAAK;QACpB,IAAI,CAAC0C,eAAe,CAAC1C,KAAK;QAC1B,IAAI,CAAChC,KAAK,GAAG;QACb,IAAI,CAACL,SAAS,GAAG;QAEjB,IAAI,IAAI,CAACmB,OAAO,EAAE;YAChBC,QAAQC,KAAK,CAAC;QAChB;IACF;IAEA;;GAEC,GACD4D,UAAkB;QAChB,OAAO,IAAI,CAACX,IAAI;IAClB;IA7LA;;;;GAIC,GACD,YAAY1B,OAA6B,CAAE;QA7C3C;;GAEC,GACD,uBAAiB0B,QAAO;QAExB;;GAEC,GACD,uBAAQtE,aAAY;QAEpB;;GAEC,GACD,uBAAiB8E,aAAiC,IAAIjC;QAEtD;;GAEC,GACD,uBAAQxC,SAA2B;QAEnC;;GAEC,GACD,uBAAQsE,gBAAe;QAEvB;;GAEC,GACD,uBAAiBI,mBAA+C,IAAItB;QAEpE;;GAEC,GACD,uBAAiBQ,kBAAjB,KAAA;QAEA;;GAEC,GACD,uBAAiB9C,WAAjB,KAAA;QAQE,IAAI,CAACA,OAAO,GAAGyB,SAASzB,WAAW;QACnC,IAAI,CAAC8C,cAAc,GAAG,IAAIlB;QAC1B,IAAI,CAAC1C,KAAK,GAAGuC,SAASvC,SAAS;QAE/B,gBAAgB;QAChB,IAAI,CAACwD,mBAAmB;IAC1B;AAkLF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/ReduxAdapter.ts"],"sourcesContent":["/**\n * Redux Toolkit 适配器\n * \n * 将 Redux Toolkit store 映射到 Secra 状态抽象\n * \n * 使用说明:\n * 1. 需要安装 @reduxjs/toolkit 作为 peerDependency\n * 2. 每个状态实例对应一个 Redux slice\n * 3. 支持 Redux DevTools 集成(如果可用)\n * 4. 支持中间件和开发模式\n * \n * @example\n * ```typescript\n * import { ReduxAdapter } from '@vlian/framework/state';\n * \n * const adapter = new ReduxAdapter({ devMode: true });\n * const state = adapter.createInstance(0, { id: 'counter' });\n * \n * state.set(1);\n * console.log(state.get()); // 1\n * ```\n */\n\nimport type {\n IStateAdapter,\n IStateInstance,\n StateInstanceId,\n StateInstanceOptions,\n StateScope,\n StateSubscriber,\n StateUpdater,\n Unsubscribe,\n} from '../types';\n\n/**\n * Redux 相关类型定义(如果 Redux 不可用,这些类型将用于类型检查)\n */\ntype ReduxStore = {\n dispatch: (action: unknown) => unknown;\n getState: () => Record<string, unknown>;\n subscribe: (listener: () => void) => () => void;\n replaceReducer: (nextReducer: (state: unknown, action: unknown) => unknown) => void;\n};\n\ntype ReduxReducer = (state: unknown, action: unknown) => unknown;\n\ntype ReduxSlice = {\n name: string;\n reducer: (state: unknown, action: unknown) => unknown;\n actions: Record<string, (payload?: unknown) => { type: string; payload?: unknown }>;\n};\n\ntype ReduxSliceOptions = {\n name: string;\n initialState: unknown;\n reducers?: Record<string, (state: unknown, action: { payload?: unknown }) => unknown>;\n};\n\n/**\n * Redux 状态实例实现\n * \n * 将 Redux slice 映射到 IStateInstance 接口\n * \n * @template T - 状态值类型\n */\nclass ReduxStateInstance<T = unknown> implements IStateInstance<T> {\n /**\n * 状态实例标识符\n */\n private readonly id: StateInstanceId;\n\n /**\n * 状态作用域\n */\n private readonly scope?: StateScope;\n\n /**\n * Redux store 引用\n */\n private readonly store: ReduxStore;\n\n /**\n * Redux slice 名称(在 store 中的路径)\n */\n private readonly sliceName: string;\n\n /**\n * Redux slice actions\n */\n private readonly actions: ReduxSlice['actions'];\n\n /**\n * 订阅者集合\n */\n private readonly subscribers: Set<StateSubscriber<T>> = new Set();\n\n /**\n * Redux store 订阅取消函数\n */\n private unsubscribeStore?: () => void;\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 开发模式标志\n */\n private readonly devMode: boolean;\n\n /**\n * 中间件函数数组\n */\n private readonly middleware: Array<(value: unknown, previous: unknown) => unknown>;\n\n /**\n * 上一次的状态值(用于订阅通知)\n */\n private previousValue: T;\n\n /**\n * 构造函数\n * \n * @param store - Redux store 实例\n * @param sliceName - Redux slice 名称\n * @param actions - Redux slice actions\n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n */\n constructor(\n store: ReduxStore,\n sliceName: string,\n actions: ReduxSlice['actions'],\n initialValue: T,\n options: {\n id?: StateInstanceId;\n scope?: StateScope;\n devMode?: boolean;\n middleware?: Array<(value: unknown, previous: unknown) => unknown>;\n } = {},\n ) {\n this.store = store;\n this.sliceName = sliceName;\n this.actions = actions;\n this.id = options.id ?? Symbol('ReduxStateInstance');\n this.scope = options.scope;\n this.devMode = options.devMode ?? false;\n this.middleware = options.middleware ?? [];\n this.previousValue = initialValue;\n\n // 订阅 Redux store 变化\n this.unsubscribeStore = this.store.subscribe(() => {\n this.notifySubscribers();\n });\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Created: ${String(this.id)}`, {\n scope: this.scope,\n sliceName: this.sliceName,\n initialValue,\n });\n }\n }\n\n /**\n * 获取当前状态值\n */\n get(): T {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n\n const state = this.store.getState();\n return (state[this.sliceName] ?? this.previousValue) as T;\n }\n\n /**\n * 更新状态值\n */\n set(valueOrUpdater: T | StateUpdater<T>): void {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n\n const currentValue = this.get();\n let newValue: T;\n\n // 处理函数式更新\n if (typeof valueOrUpdater === 'function') {\n newValue = (valueOrUpdater as StateUpdater<T>)(currentValue);\n } else {\n newValue = valueOrUpdater;\n }\n\n // 应用中间件\n let processedValue = newValue;\n for (const middleware of this.middleware) {\n processedValue = middleware(processedValue, currentValue) as T;\n }\n\n // 如果值没有变化,跳过更新\n if (processedValue === currentValue) {\n return;\n }\n\n // 保存之前的值\n this.previousValue = currentValue;\n\n // 通过 Redux action 更新状态\n const action = this.actions.setValue(processedValue);\n this.store.dispatch(action);\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Updated: ${String(this.id)}`, {\n previous: currentValue,\n current: processedValue,\n action,\n });\n }\n }\n\n /**\n * 订阅状态变化\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n\n this.subscribers.add(subscriber);\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Subscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n\n // 返回取消订阅函数\n return () => {\n this.subscribers.delete(subscriber);\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Unsubscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n };\n }\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId {\n return this.id;\n }\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined {\n return this.scope;\n }\n\n /**\n * 销毁状态实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.destroyed = true;\n\n // 取消 Redux store 订阅\n if (this.unsubscribeStore) {\n this.unsubscribeStore();\n this.unsubscribeStore = undefined;\n }\n\n // 清理订阅者\n this.subscribers.clear();\n\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Destroyed: ${String(this.id)}`);\n }\n }\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 通知所有订阅者\n */\n private notifySubscribers(): void {\n if (this.destroyed) {\n return;\n }\n\n try {\n const currentValue = this.get();\n\n // 如果值没有变化,跳过通知\n if (currentValue === this.previousValue) {\n return;\n }\n\n const previousValue = this.previousValue;\n this.previousValue = currentValue;\n\n // 使用数组副本避免在迭代过程中修改集合\n const subscribers = Array.from(this.subscribers);\n\n for (const subscriber of subscribers) {\n try {\n subscriber(currentValue, previousValue);\n } catch (error) {\n console.error(`[ReduxStateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n } catch (error) {\n console.error(`[ReduxStateInstance] Error getting state for ${String(this.id)}:`, error);\n }\n }\n}\n\n/**\n * 动态 Reducer 管理器\n * \n * 用于管理动态添加和移除的 Redux reducer\n */\nclass DynamicReducerManager {\n /**\n * 当前 reducer 映射\n */\n private reducers: Map<string, ReduxReducer> = new Map();\n\n /**\n * 根 reducer 函数\n */\n private rootReducer: ReduxReducer;\n\n /**\n * 构造函数\n */\n constructor() {\n this.rootReducer = (state: unknown, action: unknown) => {\n const stateRecord = (state as Record<string, unknown>) ?? {};\n const newState: Record<string, unknown> = { ...stateRecord };\n\n // 处理每个 reducer\n for (const [key, reducer] of this.reducers.entries()) {\n newState[key] = reducer(stateRecord[key], action);\n }\n\n return newState;\n };\n }\n\n /**\n * 添加 reducer\n */\n addReducer(key: string, reducer: ReduxReducer): void {\n this.reducers.set(key, reducer);\n }\n\n /**\n * 移除 reducer\n */\n removeReducer(key: string): void {\n this.reducers.delete(key);\n }\n\n /**\n * 获取根 reducer\n */\n getRootReducer(): ReduxReducer {\n return this.rootReducer;\n }\n\n /**\n * 检查 reducer 是否存在\n */\n hasReducer(key: string): boolean {\n return this.reducers.has(key);\n }\n}\n\n/**\n * Redux Toolkit 适配器配置选项\n */\nexport interface ReduxAdapterOptions {\n /**\n * 是否启用开发模式\n */\n devMode?: boolean;\n\n /**\n * 自定义 Redux store(可选)\n * 如果不提供,将创建一个新的 store\n */\n store?: ReduxStore;\n\n /**\n * Redux store 配置选项(仅在创建新 store 时使用)\n */\n storeConfig?: {\n /**\n * 是否启用 Redux DevTools\n */\n devTools?: boolean;\n\n /**\n * Redux 中间件数组\n */\n middleware?: unknown[];\n };\n}\n\n/**\n * Redux Toolkit 适配器\n * \n * 将 Redux Toolkit store 映射到 Secra 状态抽象\n */\nexport class ReduxAdapter implements IStateAdapter {\n /**\n * 适配器名称\n */\n private readonly name = 'ReduxAdapter';\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 创建的状态实例集合\n */\n private readonly instances: Set<IStateInstance> = new Set();\n\n /**\n * Redux store 实例\n */\n private store: ReduxStore | null = null;\n\n /**\n * Redux slice 名称计数器(用于生成唯一的 slice 名称)\n */\n private sliceCounter = 0;\n\n /**\n * Redux slice 名称到状态实例的映射\n */\n private readonly sliceToInstance: Map<string, IStateInstance> = new Map();\n\n /**\n * 动态 reducer 管理器\n */\n private readonly reducerManager: DynamicReducerManager;\n\n /**\n * 是否启用开发模式\n */\n private readonly devMode: boolean;\n\n /**\n * 构造函数\n * \n * @param options - 适配器配置选项\n */\n constructor(options?: ReduxAdapterOptions) {\n this.devMode = options?.devMode ?? false;\n this.reducerManager = new DynamicReducerManager();\n this.store = options?.store ?? null;\n\n // 检查 Redux 是否可用\n this.checkReduxAvailable();\n }\n\n /**\n * 检查 Redux 是否可用\n */\n private checkReduxAvailable(): void {\n // 这里不抛出错误,允许延迟加载\n // 实际使用时会在 createInstance 时检查\n }\n\n /**\n * 获取或创建 Redux store\n */\n private getOrCreateStore(): ReduxStore {\n if (this.store) {\n return this.store;\n }\n\n // 尝试创建 Redux store\n try {\n // 动态导入 Redux Toolkit\n // 注意:这里使用类型断言,实际运行时需要确保 Redux 已安装\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { configureStore } = require('@reduxjs/toolkit') as {\n configureStore: (config: {\n reducer: ReduxReducer;\n devTools?: boolean;\n middleware?: unknown[];\n }) => ReduxStore;\n };\n\n this.store = configureStore({\n reducer: this.reducerManager.getRootReducer(),\n devTools: this.devMode,\n middleware: undefined, // 使用默认中间件\n });\n\n if (this.devMode) {\n console.debug('[ReduxAdapter] Redux store created');\n }\n\n return this.store;\n } catch (error) {\n throw new Error(\n 'ReduxAdapter requires @reduxjs/toolkit to be installed. ' +\n 'Please install it: npm install @reduxjs/toolkit\\n' +\n `Original error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n }\n\n /**\n * 创建 Redux slice\n */\n private createSlice<T>(sliceName: string, initialValue: T): ReduxSlice {\n try {\n // 动态导入 Redux Toolkit\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { createSlice } = require('@reduxjs/toolkit') as {\n createSlice: (options: ReduxSliceOptions) => ReduxSlice;\n };\n\n const slice = createSlice({\n name: sliceName,\n initialState: initialValue,\n reducers: {\n setValue: (_state: unknown, action: { payload?: unknown }) => {\n return action.payload ?? initialValue;\n },\n },\n }) as ReduxSlice;\n\n return slice;\n } catch (error) {\n throw new Error(\n 'ReduxAdapter requires @reduxjs/toolkit to be installed. ' +\n 'Please install it: npm install @reduxjs/toolkit\\n' +\n `Original error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n }\n\n /**\n * 创建状态实例\n */\n createInstance<T = unknown>(\n initialValue: T,\n options?: StateInstanceOptions,\n ): IStateInstance<T> {\n if (this.destroyed) {\n throw new Error('ReduxAdapter has been destroyed');\n }\n\n // 获取或创建 Redux store\n const store = this.getOrCreateStore();\n\n // 生成唯一的 slice 名称\n const sliceName = options?.id\n ? `secra_${String(options.id)}`\n : `secra_slice_${++this.sliceCounter}`;\n\n // 创建 Redux slice\n const slice = this.createSlice<T>(sliceName, initialValue);\n\n // 将 slice reducer 添加到动态 reducer 管理器\n if (!this.reducerManager.hasReducer(sliceName)) {\n this.reducerManager.addReducer(sliceName, slice.reducer);\n \n // 更新 store 的 reducer(使用 replaceReducer)\n store.replaceReducer(this.reducerManager.getRootReducer());\n }\n\n // 创建状态实例\n const instance = new ReduxStateInstance<T>(\n store,\n sliceName,\n slice.actions,\n initialValue,\n {\n id: options?.id,\n scope: options?.scope,\n devMode: options?.devMode ?? this.devMode,\n middleware: options?.middleware,\n }\n );\n\n this.instances.add(instance);\n this.sliceToInstance.set(sliceName, instance);\n\n if (this.devMode) {\n console.debug(`[ReduxAdapter] Created instance: ${String(instance.getId())}`, {\n sliceName,\n scope: options?.scope,\n });\n }\n\n return instance;\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n // 销毁所有创建的状态实例\n for (const instance of this.instances) {\n instance.destroy();\n }\n\n // 从 reducer 管理器中移除所有 reducer\n for (const sliceName of this.sliceToInstance.keys()) {\n this.reducerManager.removeReducer(sliceName);\n }\n\n // 更新 store 的 reducer\n if (this.store) {\n this.store.replaceReducer(this.reducerManager.getRootReducer());\n }\n\n this.instances.clear();\n this.sliceToInstance.clear();\n this.store = null;\n this.destroyed = true;\n\n if (this.devMode) {\n console.debug('[ReduxAdapter] Destroyed');\n }\n }\n\n /**\n * 获取适配器名称\n */\n getName(): string {\n return this.name;\n }\n}\n"],"names":["ReduxStateInstance","get","destroyed","Error","String","id","state","store","getState","sliceName","previousValue","set","valueOrUpdater","currentValue","newValue","processedValue","middleware","action","actions","setValue","dispatch","devMode","console","debug","previous","current","subscribe","subscriber","subscribers","add","subscriberCount","size","delete","getId","getScope","scope","destroy","unsubscribeStore","undefined","clear","isDestroyed","notifySubscribers","Array","from","error","initialValue","options","Set","Symbol","DynamicReducerManager","addReducer","key","reducer","reducers","removeReducer","getRootReducer","rootReducer","hasReducer","has","Map","stateRecord","newState","entries","ReduxAdapter","checkReduxAvailable","getOrCreateStore","configureStore","require","reducerManager","devTools","message","createSlice","slice","name","initialState","_state","payload","createInstance","sliceCounter","replaceReducer","instance","instances","sliceToInstance","keys","getName"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/ZustandAdapter.ts"],"sourcesContent":["/**\n * Zustand 适配器(占位实现)\n * \n * 这是一个适配器接口示例,展示如何将 Zustand 集成到 Secra 状态管理器\n * \n * ⚠️ 注意:这是一个占位实现,实际使用时需要安装 zustand 依赖\n */\n\nimport type {\n IStateAdapter,\n IStateInstance,\n StateInstanceOptions,\n} from '../types';\n\n/**\n * Zustand 适配器\n * \n * 将 Zustand store 映射到 Secra 状态抽象\n * \n * ⚠️ 这是一个占位实现,实际使用时需要:\n * 1. 安装 zustand\n * 2. 实现完整的 Zustand store 集成\n * 3. 将 Zustand store 的方法映射到 IStateInstance 接口\n */\nexport class ZustandAdapter implements IStateAdapter {\n /**\n * 适配器名称\n */\n private readonly name = 'ZustandAdapter';\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 创建的状态实例集合\n */\n private readonly instances: Set<IStateInstance> = new Set();\n\n /**\n * 创建状态实例\n * \n * ⚠️ 占位实现:实际使用时需要创建 Zustand store 并映射到 IStateInstance\n */\n createInstance<T>(\n _initialValue: T,\n _options?: StateInstanceOptions,\n ): IStateInstance<T> {\n if (this.destroyed) {\n throw new Error('Adapter has been destroyed');\n }\n\n throw new Error(\n 'ZustandAdapter is a placeholder implementation. ' +\n 'To use Zustand, you need to:\\n' +\n '1. Install zustand\\n' +\n '2. Implement a complete Zustand store integration\\n' +\n '3. Map Zustand store methods to IStateInstance interface\\n' +\n 'See docs/state-manager.md for implementation guide.'\n );\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n for (const instance of this.instances) {\n instance.destroy();\n }\n\n this.instances.clear();\n this.destroyed = true;\n }\n\n /**\n * 获取适配器名称\n */\n getName(): string {\n return this.name;\n }\n}\n"],"names":["ZustandAdapter","createInstance","_initialValue","_options","destroyed","Error","destroy","instance","instances","clear","getName","name","Set"],"mappings":"AAAA;;;;;;CAMC;;;;+BAkBYA;;;eAAAA;;;;;;;;;;;;;;;;AAAN,IAAA,AAAMA,iBAAN,MAAMA;IAgBX;;;;GAIC,GACDC,eACEC,aAAgB,EAChBC,QAA+B,EACZ;QACnB,IAAI,IAAI,CAACC,SAAS,EAAE;YAClB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAM,IAAIA,MACR,qDACA,mCACA,yBACA,wDACA,+DACA;IAEJ;IAEA;;GAEC,GACDC,UAAgB;QACd,IAAI,IAAI,CAACF,SAAS,EAAE;YAClB;QACF;QAEA,KAAK,MAAMG,YAAY,IAAI,CAACC,SAAS,CAAE;YACrCD,SAASD,OAAO;QAClB;QAEA,IAAI,CAACE,SAAS,CAACC,KAAK;QACpB,IAAI,CAACL,SAAS,GAAG;IACnB;IAEA;;GAEC,GACDM,UAAkB;QAChB,OAAO,IAAI,CAACC,IAAI;IAClB;;QA3DA;;GAEC,GACD,uBAAiBA,QAAO;QAExB;;GAEC,GACD,uBAAQP,aAAY;QAEpB;;GAEC,GACD,uBAAiBI,aAAiC,IAAII;;AA+CxD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/ZustandAdapter.ts"],"sourcesContent":["/**\n * Zustand 适配器(占位实现)\n * \n * 这是一个适配器接口示例,展示如何将 Zustand 集成到 Secra 状态管理器\n * \n * ⚠️ 注意:这是一个占位实现,实际使用时需要安装 zustand 依赖\n */\n\nimport type {\n IStateAdapter,\n IStateInstance,\n StateInstanceOptions,\n} from '../types';\n\n/**\n * Zustand 适配器\n * \n * 将 Zustand store 映射到 Secra 状态抽象\n * \n * ⚠️ 这是一个占位实现,实际使用时需要:\n * 1. 安装 zustand\n * 2. 实现完整的 Zustand store 集成\n * 3. 将 Zustand store 的方法映射到 IStateInstance 接口\n */\nexport class ZustandAdapter implements IStateAdapter {\n /**\n * 适配器名称\n */\n private readonly name = 'ZustandAdapter';\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 创建的状态实例集合\n */\n private readonly instances: Set<IStateInstance> = new Set();\n\n /**\n * 创建状态实例\n * \n * ⚠️ 占位实现:实际使用时需要创建 Zustand store 并映射到 IStateInstance\n */\n createInstance<T>(\n _initialValue: T,\n _options?: StateInstanceOptions,\n ): IStateInstance<T> {\n if (this.destroyed) {\n throw new Error('Adapter has been destroyed');\n }\n\n throw new Error(\n 'ZustandAdapter is a placeholder implementation. ' +\n 'To use Zustand, you need to:\\n' +\n '1. Install zustand\\n' +\n '2. Implement a complete Zustand store integration\\n' +\n '3. Map Zustand store methods to IStateInstance interface\\n' +\n 'See docs/state-manager.md for implementation guide.'\n );\n }\n\n /**\n * 销毁适配器\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n for (const instance of this.instances) {\n instance.destroy();\n }\n\n this.instances.clear();\n this.destroyed = true;\n }\n\n /**\n * 获取适配器名称\n */\n getName(): string {\n return this.name;\n }\n}\n"],"names":["ZustandAdapter","createInstance","_initialValue","_options","destroyed","Error","destroy","instance","instances","clear","getName","name","Set"],"mappings":"AAAA;;;;;;CAMC;;;;;;;;;;;;;AAQD;;;;;;;;;CASC,GACD,OAAO,MAAMA;IAgBX;;;;GAIC,GACDC,eACEC,aAAgB,EAChBC,QAA+B,EACZ;QACnB,IAAI,IAAI,CAACC,SAAS,EAAE;YAClB,MAAM,IAAIC,MAAM;QAClB;QAEA,MAAM,IAAIA,MACR,qDACA,mCACA,yBACA,wDACA,+DACA;IAEJ;IAEA;;GAEC,GACDC,UAAgB;QACd,IAAI,IAAI,CAACF,SAAS,EAAE;YAClB;QACF;QAEA,KAAK,MAAMG,YAAY,IAAI,CAACC,SAAS,CAAE;YACrCD,SAASD,OAAO;QAClB;QAEA,IAAI,CAACE,SAAS,CAACC,KAAK;QACpB,IAAI,CAACL,SAAS,GAAG;IACnB;IAEA;;GAEC,GACDM,UAAkB;QAChB,OAAO,IAAI,CAACC,IAAI;IAClB;;QA3DA;;GAEC,GACD,uBAAiBA,QAAO;QAExB;;GAEC,GACD,uBAAQP,aAAY;QAEpB;;GAEC,GACD,uBAAiBI,aAAiC,IAAII;;AA+CxD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/index.ts"],"sourcesContent":["/**\n * 状态适配器模块导出\n */\n\nexport { DefaultAdapter } from './DefaultAdapter';\nexport { AdapterFactory } from './AdapterFactory';\nexport { ReduxAdapter, type ReduxAdapterOptions } from './ReduxAdapter';\nexport { ZustandAdapter } from './ZustandAdapter';\nexport * from './types';\n"],"names":["AdapterFactory","DefaultAdapter","ReduxAdapter","ZustandAdapter"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QAGQA;eAAAA,8BAAc;;QADdC;eAAAA,8BAAc;;QAEdC;eAAAA,0BAAY;;QACZC;eAAAA,8BAAc;;;gCAHQ;gCACA;8BACwB;gCACxB;qBACjB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/index.ts"],"sourcesContent":["/**\n * 状态适配器模块导出\n */\n\nexport { DefaultAdapter } from './DefaultAdapter';\nexport { AdapterFactory } from './AdapterFactory';\nexport { ReduxAdapter, type ReduxAdapterOptions } from './ReduxAdapter';\nexport { ZustandAdapter } from './ZustandAdapter';\nexport * from './types';\n"],"names":["DefaultAdapter","AdapterFactory","ReduxAdapter","ZustandAdapter"],"mappings":"AAAA;;CAEC,GAED,SAASA,cAAc,QAAQ,mBAAmB;AAClD,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,YAAY,QAAkC,iBAAiB;AACxE,SAASC,cAAc,QAAQ,mBAAmB;AAClD,cAAc,UAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/types.ts"],"sourcesContent":["/**\n * 状态适配器类型定义\n */\n\nexport * from '../types';\n"],"names":[],"mappings":"AAAA;;CAEC;;;;qBAEa"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/adapters/types.ts"],"sourcesContent":["/**\n * 状态适配器类型定义\n */\n\nexport * from '../types';\n"],"names":[],"mappings":"AAAA;;CAEC,GAED,cAAc,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/DerivedStateInstance.ts"],"sourcesContent":["/**\n * 派生状态实例实现\n */\n\nimport type {\n IDerivedStateInstance,\n IStateInstance,\n DerivedStateConfig,\n StateInstanceId,\n StateScope,\n StateSubscriber,\n StateUpdater,\n Unsubscribe,\n} from '../types';\n\n/**\n * 派生状态实例\n * \n * 派生状态不直接存储值,而是基于依赖状态自动计算\n * \n * @template T - 派生状态值类型\n * @template D - 依赖状态实例数组类型\n */\nexport class DerivedStateInstance<T, D extends readonly IStateInstance[]>\n implements IDerivedStateInstance<T> {\n /**\n * 状态实例标识符\n */\n private readonly id: StateInstanceId;\n\n /**\n * 状态作用域\n */\n private readonly scope?: StateScope;\n\n /**\n * 派生状态配置\n */\n private readonly config: DerivedStateConfig<T, D>;\n\n /**\n * 当前派生值\n */\n private value!: T;\n\n /**\n * 订阅者集合\n */\n private readonly subscribers: Set<StateSubscriber<T>> = new Set();\n\n /**\n * 依赖状态的取消订阅函数数组\n */\n private readonly dependencyUnsubscribes: Unsubscribe[] = [];\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 是否正在重新计算\n */\n private recomputing = false;\n\n /**\n * 构造函数\n * \n * @param config - 派生状态配置\n * @param options - 状态实例配置选项\n */\n constructor(\n config: DerivedStateConfig<T, D>,\n options: {\n id?: StateInstanceId;\n scope?: StateScope;\n } = {},\n ) {\n this.config = config;\n this.id = options.id ?? Symbol('DerivedStateInstance');\n this.scope = options.scope;\n\n // 订阅所有依赖状态的变化\n this.setupDependencies();\n\n // 初始计算\n this.recompute();\n }\n\n /**\n * 获取当前状态值\n */\n get(): T {\n if (this.destroyed) {\n throw new Error(`DerivedStateInstance ${String(this.id)} has been destroyed`);\n }\n return this.value;\n }\n\n /**\n * 派生状态不支持直接设置值\n */\n set(_valueOrUpdater: T | StateUpdater<T>): void {\n throw new Error('Derived state cannot be set directly. Modify the dependency states instead.');\n }\n\n /**\n * 订阅状态变化\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe {\n if (this.destroyed) {\n throw new Error(`DerivedStateInstance ${String(this.id)} has been destroyed`);\n }\n\n this.subscribers.add(subscriber);\n\n // 返回取消订阅函数\n return () => {\n this.subscribers.delete(subscriber);\n };\n }\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId {\n return this.id;\n }\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined {\n return this.scope;\n }\n\n /**\n * 获取依赖的状态实例\n */\n getDependencies(): readonly IStateInstance[] {\n return this.config.dependencies;\n }\n\n /**\n * 手动重新计算派生状态\n */\n recompute(): void {\n if (this.destroyed || this.recomputing) {\n return;\n }\n\n this.recomputing = true;\n\n try {\n // 获取所有依赖状态的当前值\n const dependencyValues = this.config.dependencies.map((dep) => dep.get()) as {\n [K in keyof D]: D[K] extends IStateInstance<infer V> ? V : never;\n };\n\n // 计算新的派生值\n const newValue = this.config.derive(dependencyValues);\n\n // 检查值是否变化\n const hasChanged = this.config.equalityCheck\n ? !this.config.equalityCheck(this.value, newValue)\n : this.value !== newValue;\n\n if (hasChanged) {\n const previousValue = this.value;\n this.value = newValue;\n\n // 通知所有订阅者\n this.notifySubscribers(this.value, previousValue);\n }\n } catch (error) {\n console.error(`[DerivedStateInstance] Error recomputing ${String(this.id)}:`, error);\n } finally {\n this.recomputing = false;\n }\n }\n\n /**\n * 销毁状态实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.destroyed = true;\n\n // 取消所有依赖订阅\n for (const unsubscribe of this.dependencyUnsubscribes) {\n unsubscribe();\n }\n this.dependencyUnsubscribes.length = 0;\n\n // 清理订阅者\n this.subscribers.clear();\n }\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 设置依赖状态订阅\n */\n private setupDependencies(): void {\n for (const dependency of this.config.dependencies) {\n const unsubscribe = dependency.subscribe(() => {\n // 当依赖状态变化时,重新计算派生状态\n this.recompute();\n });\n this.dependencyUnsubscribes.push(unsubscribe);\n }\n }\n\n /**\n * 通知所有订阅者\n */\n private notifySubscribers(value: T, previous: T): void {\n const subscribers = Array.from(this.subscribers);\n \n for (const subscriber of subscribers) {\n try {\n subscriber(value, previous);\n } catch (error) {\n console.error(`[DerivedStateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n }\n}\n"],"names":["DerivedStateInstance","get","destroyed","Error","String","id","value","set","_valueOrUpdater","subscribe","subscriber","subscribers","add","delete","getId","getScope","scope","getDependencies","config","dependencies","recompute","recomputing","dependencyValues","map","dep","newValue","derive","hasChanged","equalityCheck","previousValue","notifySubscribers","error","console","destroy","unsubscribe","dependencyUnsubscribes","length","clear","isDestroyed","setupDependencies","dependency","push","previous","Array","from","options","Set","Symbol"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/DerivedStateInstance.ts"],"sourcesContent":["/**\n * 派生状态实例实现\n */\n\nimport type {\n IDerivedStateInstance,\n IStateInstance,\n DerivedStateConfig,\n StateInstanceId,\n StateScope,\n StateSubscriber,\n StateUpdater,\n Unsubscribe,\n} from '../types';\n\n/**\n * 派生状态实例\n * \n * 派生状态不直接存储值,而是基于依赖状态自动计算\n * \n * @template T - 派生状态值类型\n * @template D - 依赖状态实例数组类型\n */\nexport class DerivedStateInstance<T, D extends readonly IStateInstance[]>\n implements IDerivedStateInstance<T> {\n /**\n * 状态实例标识符\n */\n private readonly id: StateInstanceId;\n\n /**\n * 状态作用域\n */\n private readonly scope?: StateScope;\n\n /**\n * 派生状态配置\n */\n private readonly config: DerivedStateConfig<T, D>;\n\n /**\n * 当前派生值\n */\n private value!: T;\n\n /**\n * 订阅者集合\n */\n private readonly subscribers: Set<StateSubscriber<T>> = new Set();\n\n /**\n * 依赖状态的取消订阅函数数组\n */\n private readonly dependencyUnsubscribes: Unsubscribe[] = [];\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 是否正在重新计算\n */\n private recomputing = false;\n\n /**\n * 构造函数\n * \n * @param config - 派生状态配置\n * @param options - 状态实例配置选项\n */\n constructor(\n config: DerivedStateConfig<T, D>,\n options: {\n id?: StateInstanceId;\n scope?: StateScope;\n } = {},\n ) {\n this.config = config;\n this.id = options.id ?? Symbol('DerivedStateInstance');\n this.scope = options.scope;\n\n // 订阅所有依赖状态的变化\n this.setupDependencies();\n\n // 初始计算\n this.recompute();\n }\n\n /**\n * 获取当前状态值\n */\n get(): T {\n if (this.destroyed) {\n throw new Error(`DerivedStateInstance ${String(this.id)} has been destroyed`);\n }\n return this.value;\n }\n\n /**\n * 派生状态不支持直接设置值\n */\n set(_valueOrUpdater: T | StateUpdater<T>): void {\n throw new Error('Derived state cannot be set directly. Modify the dependency states instead.');\n }\n\n /**\n * 订阅状态变化\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe {\n if (this.destroyed) {\n throw new Error(`DerivedStateInstance ${String(this.id)} has been destroyed`);\n }\n\n this.subscribers.add(subscriber);\n\n // 返回取消订阅函数\n return () => {\n this.subscribers.delete(subscriber);\n };\n }\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId {\n return this.id;\n }\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined {\n return this.scope;\n }\n\n /**\n * 获取依赖的状态实例\n */\n getDependencies(): readonly IStateInstance[] {\n return this.config.dependencies;\n }\n\n /**\n * 手动重新计算派生状态\n */\n recompute(): void {\n if (this.destroyed || this.recomputing) {\n return;\n }\n\n this.recomputing = true;\n\n try {\n // 获取所有依赖状态的当前值\n const dependencyValues = this.config.dependencies.map((dep) => dep.get()) as {\n [K in keyof D]: D[K] extends IStateInstance<infer V> ? V : never;\n };\n\n // 计算新的派生值\n const newValue = this.config.derive(dependencyValues);\n\n // 检查值是否变化\n const hasChanged = this.config.equalityCheck\n ? !this.config.equalityCheck(this.value, newValue)\n : this.value !== newValue;\n\n if (hasChanged) {\n const previousValue = this.value;\n this.value = newValue;\n\n // 通知所有订阅者\n this.notifySubscribers(this.value, previousValue);\n }\n } catch (error) {\n console.error(`[DerivedStateInstance] Error recomputing ${String(this.id)}:`, error);\n } finally {\n this.recomputing = false;\n }\n }\n\n /**\n * 销毁状态实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.destroyed = true;\n\n // 取消所有依赖订阅\n for (const unsubscribe of this.dependencyUnsubscribes) {\n unsubscribe();\n }\n this.dependencyUnsubscribes.length = 0;\n\n // 清理订阅者\n this.subscribers.clear();\n }\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 设置依赖状态订阅\n */\n private setupDependencies(): void {\n for (const dependency of this.config.dependencies) {\n const unsubscribe = dependency.subscribe(() => {\n // 当依赖状态变化时,重新计算派生状态\n this.recompute();\n });\n this.dependencyUnsubscribes.push(unsubscribe);\n }\n }\n\n /**\n * 通知所有订阅者\n */\n private notifySubscribers(value: T, previous: T): void {\n const subscribers = Array.from(this.subscribers);\n \n for (const subscriber of subscribers) {\n try {\n subscriber(value, previous);\n } catch (error) {\n console.error(`[DerivedStateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n }\n}\n"],"names":["DerivedStateInstance","get","destroyed","Error","String","id","value","set","_valueOrUpdater","subscribe","subscriber","subscribers","add","delete","getId","getScope","scope","getDependencies","config","dependencies","recompute","recomputing","dependencyValues","map","dep","newValue","derive","hasChanged","equalityCheck","previousValue","notifySubscribers","error","console","destroy","unsubscribe","dependencyUnsubscribes","length","clear","isDestroyed","setupDependencies","dependency","push","previous","Array","from","options","Set","Symbol"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/StateInstance.ts"],"sourcesContent":["/**\n * 状态实例核心实现\n */\n\nimport type {\n IStateInstance,\n StateInstanceId,\n StateScope,\n StateSubscriber,\n StateUpdater,\n Unsubscribe,\n} from '../types';\n\n/**\n * 基础状态实例实现\n * \n * 这是一个通用的状态实例实现,不依赖任何外部状态管理库\n * \n * @template T - 状态值类型\n */\nexport class StateInstance<T = unknown> implements IStateInstance<T> {\n /**\n * 状态实例标识符\n */\n private readonly id: StateInstanceId;\n\n /**\n * 状态作用域\n */\n private readonly scope?: StateScope;\n\n /**\n * 当前状态值\n */\n private value: T;\n\n /**\n * 订阅者集合\n */\n private readonly subscribers: Set<StateSubscriber<T>> = new Set();\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 开发模式标志\n */\n private readonly devMode: boolean;\n\n /**\n * 中间件函数数组\n */\n private readonly middleware: Array<(value: unknown, previous: unknown) => unknown>;\n\n /**\n * 构造函数\n * \n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n */\n constructor(initialValue: T, options: {\n id?: StateInstanceId;\n scope?: StateScope;\n devMode?: boolean;\n middleware?: Array<(value: unknown, previous: unknown) => unknown>;\n } = {}) {\n this.value = initialValue;\n this.id = options.id ?? Symbol('StateInstance');\n this.scope = options.scope;\n this.devMode = options.devMode ?? false;\n this.middleware = options.middleware ?? [];\n\n if (this.devMode) {\n console.debug(`[StateInstance] Created: ${String(this.id)}`, {\n scope: this.scope,\n initialValue: this.value,\n });\n }\n }\n\n /**\n * 获取当前状态值\n */\n get(): T {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n return this.value;\n }\n\n /**\n * 更新状态值\n */\n set(valueOrUpdater: T | StateUpdater<T>): void {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n\n const previousValue = this.value;\n let newValue: T;\n\n // 处理函数式更新\n if (typeof valueOrUpdater === 'function') {\n newValue = (valueOrUpdater as StateUpdater<T>)(this.value);\n } else {\n newValue = valueOrUpdater;\n }\n\n // 应用中间件\n let processedValue = newValue;\n for (const middleware of this.middleware) {\n processedValue = middleware(processedValue, previousValue) as T;\n }\n\n // 如果值没有变化,跳过更新\n if (processedValue === this.value) {\n return;\n }\n\n this.value = processedValue;\n\n if (this.devMode) {\n console.debug(`[StateInstance] Updated: ${String(this.id)}`, {\n previous: previousValue,\n current: this.value,\n });\n }\n\n // 通知所有订阅者\n this.notifySubscribers(this.value, previousValue);\n }\n\n /**\n * 订阅状态变化\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n\n this.subscribers.add(subscriber);\n\n if (this.devMode) {\n console.debug(`[StateInstance] Subscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n\n // 返回取消订阅函数\n return () => {\n this.subscribers.delete(subscriber);\n if (this.devMode) {\n console.debug(`[StateInstance] Unsubscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n };\n }\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId {\n return this.id;\n }\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined {\n return this.scope;\n }\n\n /**\n * 销毁状态实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.destroyed = true;\n this.subscribers.clear();\n this.value = undefined as T;\n\n if (this.devMode) {\n console.debug(`[StateInstance] Destroyed: ${String(this.id)}`);\n }\n }\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 通知所有订阅者\n */\n private notifySubscribers(value: T, previous: T): void {\n // 使用数组副本避免在迭代过程中修改集合\n const subscribers = Array.from(this.subscribers);\n \n for (const subscriber of subscribers) {\n try {\n subscriber(value, previous);\n } catch (error) {\n console.error(`[StateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n }\n}\n"],"names":["StateInstance","get","destroyed","Error","String","id","value","set","valueOrUpdater","previousValue","newValue","processedValue","middleware","devMode","console","debug","previous","current","notifySubscribers","subscribe","subscriber","subscribers","add","subscriberCount","size","delete","getId","getScope","scope","destroy","clear","undefined","isDestroyed","Array","from","error","initialValue","options","Set","Symbol"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/StateInstance.ts"],"sourcesContent":["/**\n * 状态实例核心实现\n */\n\nimport type {\n IStateInstance,\n StateInstanceId,\n StateScope,\n StateSubscriber,\n StateUpdater,\n Unsubscribe,\n} from '../types';\n\n/**\n * 基础状态实例实现\n * \n * 这是一个通用的状态实例实现,不依赖任何外部状态管理库\n * \n * @template T - 状态值类型\n */\nexport class StateInstance<T = unknown> implements IStateInstance<T> {\n /**\n * 状态实例标识符\n */\n private readonly id: StateInstanceId;\n\n /**\n * 状态作用域\n */\n private readonly scope?: StateScope;\n\n /**\n * 当前状态值\n */\n private value: T;\n\n /**\n * 订阅者集合\n */\n private readonly subscribers: Set<StateSubscriber<T>> = new Set();\n\n /**\n * 是否已销毁\n */\n private destroyed = false;\n\n /**\n * 开发模式标志\n */\n private readonly devMode: boolean;\n\n /**\n * 中间件函数数组\n */\n private readonly middleware: Array<(value: unknown, previous: unknown) => unknown>;\n\n /**\n * 构造函数\n * \n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n */\n constructor(initialValue: T, options: {\n id?: StateInstanceId;\n scope?: StateScope;\n devMode?: boolean;\n middleware?: Array<(value: unknown, previous: unknown) => unknown>;\n } = {}) {\n this.value = initialValue;\n this.id = options.id ?? Symbol('StateInstance');\n this.scope = options.scope;\n this.devMode = options.devMode ?? false;\n this.middleware = options.middleware ?? [];\n\n if (this.devMode) {\n console.debug(`[StateInstance] Created: ${String(this.id)}`, {\n scope: this.scope,\n initialValue: this.value,\n });\n }\n }\n\n /**\n * 获取当前状态值\n */\n get(): T {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n return this.value;\n }\n\n /**\n * 更新状态值\n */\n set(valueOrUpdater: T | StateUpdater<T>): void {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n\n const previousValue = this.value;\n let newValue: T;\n\n // 处理函数式更新\n if (typeof valueOrUpdater === 'function') {\n newValue = (valueOrUpdater as StateUpdater<T>)(this.value);\n } else {\n newValue = valueOrUpdater;\n }\n\n // 应用中间件\n let processedValue = newValue;\n for (const middleware of this.middleware) {\n processedValue = middleware(processedValue, previousValue) as T;\n }\n\n // 如果值没有变化,跳过更新\n if (processedValue === this.value) {\n return;\n }\n\n this.value = processedValue;\n\n if (this.devMode) {\n console.debug(`[StateInstance] Updated: ${String(this.id)}`, {\n previous: previousValue,\n current: this.value,\n });\n }\n\n // 通知所有订阅者\n this.notifySubscribers(this.value, previousValue);\n }\n\n /**\n * 订阅状态变化\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n\n this.subscribers.add(subscriber);\n\n if (this.devMode) {\n console.debug(`[StateInstance] Subscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n\n // 返回取消订阅函数\n return () => {\n this.subscribers.delete(subscriber);\n if (this.devMode) {\n console.debug(`[StateInstance] Unsubscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size,\n });\n }\n };\n }\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId {\n return this.id;\n }\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined {\n return this.scope;\n }\n\n /**\n * 销毁状态实例\n */\n destroy(): void {\n if (this.destroyed) {\n return;\n }\n\n this.destroyed = true;\n this.subscribers.clear();\n this.value = undefined as T;\n\n if (this.devMode) {\n console.debug(`[StateInstance] Destroyed: ${String(this.id)}`);\n }\n }\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean {\n return this.destroyed;\n }\n\n /**\n * 通知所有订阅者\n */\n private notifySubscribers(value: T, previous: T): void {\n // 使用数组副本避免在迭代过程中修改集合\n const subscribers = Array.from(this.subscribers);\n \n for (const subscriber of subscribers) {\n try {\n subscriber(value, previous);\n } catch (error) {\n console.error(`[StateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n }\n}\n"],"names":["StateInstance","get","destroyed","Error","String","id","value","set","valueOrUpdater","previousValue","newValue","processedValue","middleware","devMode","console","debug","previous","current","notifySubscribers","subscribe","subscriber","subscribers","add","subscriberCount","size","delete","getId","getScope","scope","destroy","clear","undefined","isDestroyed","Array","from","error","initialValue","options","Set","Symbol"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/StateRegistry.ts"],"sourcesContent":["/**\n * 状态注册表实现\n */\n\nimport type {\n IStateRegistry,\n IStateInstance,\n StateInstanceId,\n StateScope,\n} from '../types';\nimport { StateScopeManager } from './StateScope';\n\n/**\n * 状态注册表\n * \n * 负责管理所有状态实例的注册、查询和销毁\n */\nexport class StateRegistry implements IStateRegistry {\n /**\n * 状态实例映射表(ID -> Instance)\n */\n private readonly instances: Map<StateInstanceId, IStateInstance> = new Map();\n\n /**\n * 作用域管理器\n */\n private readonly scopeManager: StateScopeManager;\n\n /**\n * 构造函数\n */\n constructor() {\n this.scopeManager = new StateScopeManager();\n }\n\n /**\n * 注册状态实例\n */\n register(instance: IStateInstance): void {\n const id = instance.getId();\n \n if (this.instances.has(id)) {\n console.warn(`[StateRegistry] Instance with id ${String(id)} already exists, replacing...`);\n }\n\n this.instances.set(id, instance);\n\n // 如果实例有作用域,注册到作用域管理器\n const scope = instance.getScope();\n if (scope) {\n this.scopeManager.register(instance, scope);\n }\n }\n\n /**\n * 注销状态实例\n */\n unregister(id: StateInstanceId): void {\n const instance = this.instances.get(id);\n if (!instance) {\n return;\n }\n\n // 从作用域管理器注销\n this.scopeManager.unregister(instance);\n\n // 销毁实例\n instance.destroy();\n\n // 从注册表移除\n this.instances.delete(id);\n }\n\n /**\n * 根据标识符获取状态实例\n */\n getInstance(id: StateInstanceId): IStateInstance | undefined {\n return this.instances.get(id);\n }\n\n /**\n * 根据作用域获取所有状态实例\n */\n getInstancesByScope(scope: StateScope): IStateInstance[] {\n return this.scopeManager.getInstances(scope);\n }\n\n /**\n * 获取所有状态实例\n */\n getAllInstances(): IStateInstance[] {\n return Array.from(this.instances.values());\n }\n\n /**\n * 销毁指定作用域的所有状态实例\n */\n destroyScope(scope: StateScope): void {\n const instances = this.scopeManager.getInstances(scope);\n \n // 销毁所有实例\n for (const instance of instances) {\n instance.destroy();\n this.instances.delete(instance.getId());\n }\n\n // 从作用域管理器清理\n this.scopeManager.destroyScope(scope);\n }\n\n /**\n * 销毁所有状态实例\n */\n destroyAll(): void {\n // 销毁所有实例\n for (const instance of this.instances.values()) {\n instance.destroy();\n }\n\n // 清理所有映射\n this.instances.clear();\n this.scopeManager.destroyAll();\n }\n\n /**\n * 获取注册表中的实例数量\n */\n size(): number {\n return this.instances.size;\n }\n}\n"],"names":["StateRegistry","register","instance","id","getId","instances","has","console","warn","String","set","scope","getScope","scopeManager","unregister","get","destroy","delete","getInstance","getInstancesByScope","getInstances","getAllInstances","Array","from","values","destroyScope","destroyAll","clear","size","Map","StateScopeManager"],"mappings":"AAAA;;CAEC;;;;+BAeYA;;;eAAAA;;;4BAPqB;;;;;;;;;;;;;;AAO3B,IAAA,AAAMA,gBAAN,MAAMA;IAkBX;;GAEC,GACDC,SAASC,QAAwB,EAAQ;QACvC,MAAMC,KAAKD,SAASE,KAAK;QAEzB,IAAI,IAAI,CAACC,SAAS,CAACC,GAAG,CAACH,KAAK;YAC1BI,QAAQC,IAAI,CAAC,CAAC,iCAAiC,EAAEC,OAAON,IAAI,6BAA6B,CAAC;QAC5F;QAEA,IAAI,CAACE,SAAS,CAACK,GAAG,CAACP,IAAID;QAEvB,qBAAqB;QACrB,MAAMS,QAAQT,SAASU,QAAQ;QAC/B,IAAID,OAAO;YACT,IAAI,CAACE,YAAY,CAACZ,QAAQ,CAACC,UAAUS;QACvC;IACF;IAEA;;GAEC,GACDG,WAAWX,EAAmB,EAAQ;QACpC,MAAMD,WAAW,IAAI,CAACG,SAAS,CAACU,GAAG,CAACZ;QACpC,IAAI,CAACD,UAAU;YACb;QACF;QAEA,YAAY;QACZ,IAAI,CAACW,YAAY,CAACC,UAAU,CAACZ;QAE7B,OAAO;QACPA,SAASc,OAAO;QAEhB,SAAS;QACT,IAAI,CAACX,SAAS,CAACY,MAAM,CAACd;IACxB;IAEA;;GAEC,GACDe,YAAYf,EAAmB,EAA8B;QAC3D,OAAO,IAAI,CAACE,SAAS,CAACU,GAAG,CAACZ;IAC5B;IAEA;;GAEC,GACDgB,oBAAoBR,KAAiB,EAAoB;QACvD,OAAO,IAAI,CAACE,YAAY,CAACO,YAAY,CAACT;IACxC;IAEA;;GAEC,GACDU,kBAAoC;QAClC,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAAClB,SAAS,CAACmB,MAAM;IACzC;IAEA;;GAEC,GACDC,aAAad,KAAiB,EAAQ;QACpC,MAAMN,YAAY,IAAI,CAACQ,YAAY,CAACO,YAAY,CAACT;QAEjD,SAAS;QACT,KAAK,MAAMT,YAAYG,UAAW;YAChCH,SAASc,OAAO;YAChB,IAAI,CAACX,SAAS,CAACY,MAAM,CAACf,SAASE,KAAK;QACtC;QAEA,YAAY;QACZ,IAAI,CAACS,YAAY,CAACY,YAAY,CAACd;IACjC;IAEA;;GAEC,GACDe,aAAmB;QACjB,SAAS;QACT,KAAK,MAAMxB,YAAY,IAAI,CAACG,SAAS,CAACmB,MAAM,GAAI;YAC9CtB,SAASc,OAAO;QAClB;QAEA,SAAS;QACT,IAAI,CAACX,SAAS,CAACsB,KAAK;QACpB,IAAI,CAACd,YAAY,CAACa,UAAU;IAC9B;IAEA;;GAEC,GACDE,OAAe;QACb,OAAO,IAAI,CAACvB,SAAS,CAACuB,IAAI;IAC5B;IArGA;;GAEC,GACD,aAAc;QAbd;;GAEC,GACD,uBAAiBvB,aAAkD,IAAIwB;QAEvE;;GAEC,GACD,uBAAiBhB,gBAAjB,KAAA;QAME,IAAI,CAACA,YAAY,GAAG,IAAIiB,6BAAiB;IAC3C;AAiGF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/StateRegistry.ts"],"sourcesContent":["/**\n * 状态注册表实现\n */\n\nimport type {\n IStateRegistry,\n IStateInstance,\n StateInstanceId,\n StateScope,\n} from '../types';\nimport { StateScopeManager } from './StateScope';\n\n/**\n * 状态注册表\n * \n * 负责管理所有状态实例的注册、查询和销毁\n */\nexport class StateRegistry implements IStateRegistry {\n /**\n * 状态实例映射表(ID -> Instance)\n */\n private readonly instances: Map<StateInstanceId, IStateInstance> = new Map();\n\n /**\n * 作用域管理器\n */\n private readonly scopeManager: StateScopeManager;\n\n /**\n * 构造函数\n */\n constructor() {\n this.scopeManager = new StateScopeManager();\n }\n\n /**\n * 注册状态实例\n */\n register(instance: IStateInstance): void {\n const id = instance.getId();\n \n if (this.instances.has(id)) {\n console.warn(`[StateRegistry] Instance with id ${String(id)} already exists, replacing...`);\n }\n\n this.instances.set(id, instance);\n\n // 如果实例有作用域,注册到作用域管理器\n const scope = instance.getScope();\n if (scope) {\n this.scopeManager.register(instance, scope);\n }\n }\n\n /**\n * 注销状态实例\n */\n unregister(id: StateInstanceId): void {\n const instance = this.instances.get(id);\n if (!instance) {\n return;\n }\n\n // 从作用域管理器注销\n this.scopeManager.unregister(instance);\n\n // 销毁实例\n instance.destroy();\n\n // 从注册表移除\n this.instances.delete(id);\n }\n\n /**\n * 根据标识符获取状态实例\n */\n getInstance(id: StateInstanceId): IStateInstance | undefined {\n return this.instances.get(id);\n }\n\n /**\n * 根据作用域获取所有状态实例\n */\n getInstancesByScope(scope: StateScope): IStateInstance[] {\n return this.scopeManager.getInstances(scope);\n }\n\n /**\n * 获取所有状态实例\n */\n getAllInstances(): IStateInstance[] {\n return Array.from(this.instances.values());\n }\n\n /**\n * 销毁指定作用域的所有状态实例\n */\n destroyScope(scope: StateScope): void {\n const instances = this.scopeManager.getInstances(scope);\n \n // 销毁所有实例\n for (const instance of instances) {\n instance.destroy();\n this.instances.delete(instance.getId());\n }\n\n // 从作用域管理器清理\n this.scopeManager.destroyScope(scope);\n }\n\n /**\n * 销毁所有状态实例\n */\n destroyAll(): void {\n // 销毁所有实例\n for (const instance of this.instances.values()) {\n instance.destroy();\n }\n\n // 清理所有映射\n this.instances.clear();\n this.scopeManager.destroyAll();\n }\n\n /**\n * 获取注册表中的实例数量\n */\n size(): number {\n return this.instances.size;\n }\n}\n"],"names":["StateScopeManager","StateRegistry","register","instance","id","getId","instances","has","console","warn","String","set","scope","getScope","scopeManager","unregister","get","destroy","delete","getInstance","getInstancesByScope","getInstances","getAllInstances","Array","from","values","destroyScope","destroyAll","clear","size","Map"],"mappings":"AAAA;;CAEC;;;;;;;;;;;;;AAQD,SAASA,iBAAiB,QAAQ,eAAe;AAEjD;;;;CAIC,GACD,OAAO,MAAMC;IAkBX;;GAEC,GACDC,SAASC,QAAwB,EAAQ;QACvC,MAAMC,KAAKD,SAASE,KAAK;QAEzB,IAAI,IAAI,CAACC,SAAS,CAACC,GAAG,CAACH,KAAK;YAC1BI,QAAQC,IAAI,CAAC,CAAC,iCAAiC,EAAEC,OAAON,IAAI,6BAA6B,CAAC;QAC5F;QAEA,IAAI,CAACE,SAAS,CAACK,GAAG,CAACP,IAAID;QAEvB,qBAAqB;QACrB,MAAMS,QAAQT,SAASU,QAAQ;QAC/B,IAAID,OAAO;YACT,IAAI,CAACE,YAAY,CAACZ,QAAQ,CAACC,UAAUS;QACvC;IACF;IAEA;;GAEC,GACDG,WAAWX,EAAmB,EAAQ;QACpC,MAAMD,WAAW,IAAI,CAACG,SAAS,CAACU,GAAG,CAACZ;QACpC,IAAI,CAACD,UAAU;YACb;QACF;QAEA,YAAY;QACZ,IAAI,CAACW,YAAY,CAACC,UAAU,CAACZ;QAE7B,OAAO;QACPA,SAASc,OAAO;QAEhB,SAAS;QACT,IAAI,CAACX,SAAS,CAACY,MAAM,CAACd;IACxB;IAEA;;GAEC,GACDe,YAAYf,EAAmB,EAA8B;QAC3D,OAAO,IAAI,CAACE,SAAS,CAACU,GAAG,CAACZ;IAC5B;IAEA;;GAEC,GACDgB,oBAAoBR,KAAiB,EAAoB;QACvD,OAAO,IAAI,CAACE,YAAY,CAACO,YAAY,CAACT;IACxC;IAEA;;GAEC,GACDU,kBAAoC;QAClC,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAAClB,SAAS,CAACmB,MAAM;IACzC;IAEA;;GAEC,GACDC,aAAad,KAAiB,EAAQ;QACpC,MAAMN,YAAY,IAAI,CAACQ,YAAY,CAACO,YAAY,CAACT;QAEjD,SAAS;QACT,KAAK,MAAMT,YAAYG,UAAW;YAChCH,SAASc,OAAO;YAChB,IAAI,CAACX,SAAS,CAACY,MAAM,CAACf,SAASE,KAAK;QACtC;QAEA,YAAY;QACZ,IAAI,CAACS,YAAY,CAACY,YAAY,CAACd;IACjC;IAEA;;GAEC,GACDe,aAAmB;QACjB,SAAS;QACT,KAAK,MAAMxB,YAAY,IAAI,CAACG,SAAS,CAACmB,MAAM,GAAI;YAC9CtB,SAASc,OAAO;QAClB;QAEA,SAAS;QACT,IAAI,CAACX,SAAS,CAACsB,KAAK;QACpB,IAAI,CAACd,YAAY,CAACa,UAAU;IAC9B;IAEA;;GAEC,GACDE,OAAe;QACb,OAAO,IAAI,CAACvB,SAAS,CAACuB,IAAI;IAC5B;IArGA;;GAEC,GACD,aAAc;QAbd;;GAEC,GACD,uBAAiBvB,aAAkD,IAAIwB;QAEvE;;GAEC,GACD,uBAAiBhB,gBAAjB,KAAA;QAME,IAAI,CAACA,YAAY,GAAG,IAAId;IAC1B;AAiGF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/StateScope.ts"],"sourcesContent":["/**\n * 状态作用域管理\n */\n\nimport type { StateScope } from '../types';\nimport type { IStateInstance } from '../types';\n\n/**\n * 状态作用域管理器\n * \n * 负责管理状态作用域的创建、销毁和查询\n */\nexport class StateScopeManager {\n /**\n * 作用域到状态实例的映射\n */\n private readonly scopeMap: Map<StateScope, Set<IStateInstance>> = new Map();\n\n /**\n * 状态实例到作用域的映射(用于快速查找)\n */\n private readonly instanceToScopeMap: Map<IStateInstance, StateScope> = new Map();\n\n /**\n * 注册状态实例到作用域\n * \n * @param instance - 状态实例\n * @param scope - 状态作用域\n */\n register(instance: IStateInstance, scope: StateScope): void {\n // 如果实例已经有作用域,先移除\n const existingScope = this.instanceToScopeMap.get(instance);\n if (existingScope) {\n this.unregister(instance);\n }\n\n // 添加到新作用域\n if (!this.scopeMap.has(scope)) {\n this.scopeMap.set(scope, new Set());\n }\n \n const instances = this.scopeMap.get(scope)!;\n instances.add(instance);\n this.instanceToScopeMap.set(instance, scope);\n }\n\n /**\n * 注销状态实例\n * \n * @param instance - 状态实例\n */\n unregister(instance: IStateInstance): void {\n const scope = this.instanceToScopeMap.get(instance);\n if (!scope) {\n return;\n }\n\n const instances = this.scopeMap.get(scope);\n if (instances) {\n instances.delete(instance);\n // 如果作用域为空,清理映射\n if (instances.size === 0) {\n this.scopeMap.delete(scope);\n }\n }\n\n this.instanceToScopeMap.delete(instance);\n }\n\n /**\n * 根据作用域获取所有状态实例\n * \n * @param scope - 状态作用域\n * @returns 状态实例数组\n */\n getInstances(scope: StateScope): IStateInstance[] {\n const instances = this.scopeMap.get(scope);\n return instances ? Array.from(instances) : [];\n }\n\n /**\n * 获取状态实例的作用域\n * \n * @param instance - 状态实例\n * @returns 状态作用域,如果不存在则返回 undefined\n */\n getScope(instance: IStateInstance): StateScope | undefined {\n return this.instanceToScopeMap.get(instance);\n }\n\n /**\n * 销毁指定作用域的所有状态实例\n * \n * @param scope - 状态作用域\n */\n destroyScope(scope: StateScope): void {\n const instances = this.scopeMap.get(scope);\n if (!instances) {\n return;\n }\n\n // 销毁所有实例\n for (const instance of instances) {\n instance.destroy();\n this.instanceToScopeMap.delete(instance);\n }\n\n // 清理作用域映射\n this.scopeMap.delete(scope);\n }\n\n /**\n * 销毁所有作用域和状态实例\n */\n destroyAll(): void {\n // 销毁所有实例\n for (const instances of this.scopeMap.values()) {\n for (const instance of instances) {\n instance.destroy();\n }\n }\n\n // 清理所有映射\n this.scopeMap.clear();\n this.instanceToScopeMap.clear();\n }\n\n /**\n * 获取所有作用域\n * \n * @returns 作用域数组\n */\n getAllScopes(): StateScope[] {\n return Array.from(this.scopeMap.keys());\n }\n\n /**\n * 获取作用域数量\n */\n getScopeCount(): number {\n return this.scopeMap.size;\n }\n\n /**\n * 获取总实例数量\n */\n getInstanceCount(): number {\n return this.instanceToScopeMap.size;\n }\n}\n"],"names":["StateScopeManager","register","instance","scope","existingScope","instanceToScopeMap","get","unregister","scopeMap","has","set","Set","instances","add","delete","size","getInstances","Array","from","getScope","destroyScope","destroy","destroyAll","values","clear","getAllScopes","keys","getScopeCount","getInstanceCount","Map"],"mappings":"AAAA;;CAEC;;;;+BAUYA;;;eAAAA;;;;;;;;;;;;;;;;AAAN,IAAA,AAAMA,oBAAN,MAAMA;IAWX;;;;;GAKC,GACDC,SAASC,QAAwB,EAAEC,KAAiB,EAAQ;QAC1D,iBAAiB;QACjB,MAAMC,gBAAgB,IAAI,CAACC,kBAAkB,CAACC,GAAG,CAACJ;QAClD,IAAIE,eAAe;YACjB,IAAI,CAACG,UAAU,CAACL;QAClB;QAEA,UAAU;QACV,IAAI,CAAC,IAAI,CAACM,QAAQ,CAACC,GAAG,CAACN,QAAQ;YAC7B,IAAI,CAACK,QAAQ,CAACE,GAAG,CAACP,OAAO,IAAIQ;QAC/B;QAEA,MAAMC,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpCS,UAAUC,GAAG,CAACX;QACd,IAAI,CAACG,kBAAkB,CAACK,GAAG,CAACR,UAAUC;IACxC;IAEA;;;;GAIC,GACDI,WAAWL,QAAwB,EAAQ;QACzC,MAAMC,QAAQ,IAAI,CAACE,kBAAkB,CAACC,GAAG,CAACJ;QAC1C,IAAI,CAACC,OAAO;YACV;QACF;QAEA,MAAMS,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpC,IAAIS,WAAW;YACbA,UAAUE,MAAM,CAACZ;YACjB,eAAe;YACf,IAAIU,UAAUG,IAAI,KAAK,GAAG;gBACxB,IAAI,CAACP,QAAQ,CAACM,MAAM,CAACX;YACvB;QACF;QAEA,IAAI,CAACE,kBAAkB,CAACS,MAAM,CAACZ;IACjC;IAEA;;;;;GAKC,GACDc,aAAab,KAAiB,EAAoB;QAChD,MAAMS,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpC,OAAOS,YAAYK,MAAMC,IAAI,CAACN,aAAa,EAAE;IAC/C;IAEA;;;;;GAKC,GACDO,SAASjB,QAAwB,EAA0B;QACzD,OAAO,IAAI,CAACG,kBAAkB,CAACC,GAAG,CAACJ;IACrC;IAEA;;;;GAIC,GACDkB,aAAajB,KAAiB,EAAQ;QACpC,MAAMS,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpC,IAAI,CAACS,WAAW;YACd;QACF;QAEA,SAAS;QACT,KAAK,MAAMV,YAAYU,UAAW;YAChCV,SAASmB,OAAO;YAChB,IAAI,CAAChB,kBAAkB,CAACS,MAAM,CAACZ;QACjC;QAEA,UAAU;QACV,IAAI,CAACM,QAAQ,CAACM,MAAM,CAACX;IACvB;IAEA;;GAEC,GACDmB,aAAmB;QACjB,SAAS;QACT,KAAK,MAAMV,aAAa,IAAI,CAACJ,QAAQ,CAACe,MAAM,GAAI;YAC9C,KAAK,MAAMrB,YAAYU,UAAW;gBAChCV,SAASmB,OAAO;YAClB;QACF;QAEA,SAAS;QACT,IAAI,CAACb,QAAQ,CAACgB,KAAK;QACnB,IAAI,CAACnB,kBAAkB,CAACmB,KAAK;IAC/B;IAEA;;;;GAIC,GACDC,eAA6B;QAC3B,OAAOR,MAAMC,IAAI,CAAC,IAAI,CAACV,QAAQ,CAACkB,IAAI;IACtC;IAEA;;GAEC,GACDC,gBAAwB;QACtB,OAAO,IAAI,CAACnB,QAAQ,CAACO,IAAI;IAC3B;IAEA;;GAEC,GACDa,mBAA2B;QACzB,OAAO,IAAI,CAACvB,kBAAkB,CAACU,IAAI;IACrC;;QAvIA;;GAEC,GACD,uBAAiBP,YAAiD,IAAIqB;QAEtE;;GAEC,GACD,uBAAiBxB,sBAAsD,IAAIwB;;AAgI7E"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/StateScope.ts"],"sourcesContent":["/**\n * 状态作用域管理\n */\n\nimport type { StateScope } from '../types';\nimport type { IStateInstance } from '../types';\n\n/**\n * 状态作用域管理器\n * \n * 负责管理状态作用域的创建、销毁和查询\n */\nexport class StateScopeManager {\n /**\n * 作用域到状态实例的映射\n */\n private readonly scopeMap: Map<StateScope, Set<IStateInstance>> = new Map();\n\n /**\n * 状态实例到作用域的映射(用于快速查找)\n */\n private readonly instanceToScopeMap: Map<IStateInstance, StateScope> = new Map();\n\n /**\n * 注册状态实例到作用域\n * \n * @param instance - 状态实例\n * @param scope - 状态作用域\n */\n register(instance: IStateInstance, scope: StateScope): void {\n // 如果实例已经有作用域,先移除\n const existingScope = this.instanceToScopeMap.get(instance);\n if (existingScope) {\n this.unregister(instance);\n }\n\n // 添加到新作用域\n if (!this.scopeMap.has(scope)) {\n this.scopeMap.set(scope, new Set());\n }\n \n const instances = this.scopeMap.get(scope)!;\n instances.add(instance);\n this.instanceToScopeMap.set(instance, scope);\n }\n\n /**\n * 注销状态实例\n * \n * @param instance - 状态实例\n */\n unregister(instance: IStateInstance): void {\n const scope = this.instanceToScopeMap.get(instance);\n if (!scope) {\n return;\n }\n\n const instances = this.scopeMap.get(scope);\n if (instances) {\n instances.delete(instance);\n // 如果作用域为空,清理映射\n if (instances.size === 0) {\n this.scopeMap.delete(scope);\n }\n }\n\n this.instanceToScopeMap.delete(instance);\n }\n\n /**\n * 根据作用域获取所有状态实例\n * \n * @param scope - 状态作用域\n * @returns 状态实例数组\n */\n getInstances(scope: StateScope): IStateInstance[] {\n const instances = this.scopeMap.get(scope);\n return instances ? Array.from(instances) : [];\n }\n\n /**\n * 获取状态实例的作用域\n * \n * @param instance - 状态实例\n * @returns 状态作用域,如果不存在则返回 undefined\n */\n getScope(instance: IStateInstance): StateScope | undefined {\n return this.instanceToScopeMap.get(instance);\n }\n\n /**\n * 销毁指定作用域的所有状态实例\n * \n * @param scope - 状态作用域\n */\n destroyScope(scope: StateScope): void {\n const instances = this.scopeMap.get(scope);\n if (!instances) {\n return;\n }\n\n // 销毁所有实例\n for (const instance of instances) {\n instance.destroy();\n this.instanceToScopeMap.delete(instance);\n }\n\n // 清理作用域映射\n this.scopeMap.delete(scope);\n }\n\n /**\n * 销毁所有作用域和状态实例\n */\n destroyAll(): void {\n // 销毁所有实例\n for (const instances of this.scopeMap.values()) {\n for (const instance of instances) {\n instance.destroy();\n }\n }\n\n // 清理所有映射\n this.scopeMap.clear();\n this.instanceToScopeMap.clear();\n }\n\n /**\n * 获取所有作用域\n * \n * @returns 作用域数组\n */\n getAllScopes(): StateScope[] {\n return Array.from(this.scopeMap.keys());\n }\n\n /**\n * 获取作用域数量\n */\n getScopeCount(): number {\n return this.scopeMap.size;\n }\n\n /**\n * 获取总实例数量\n */\n getInstanceCount(): number {\n return this.instanceToScopeMap.size;\n }\n}\n"],"names":["StateScopeManager","register","instance","scope","existingScope","instanceToScopeMap","get","unregister","scopeMap","has","set","Set","instances","add","delete","size","getInstances","Array","from","getScope","destroyScope","destroy","destroyAll","values","clear","getAllScopes","keys","getScopeCount","getInstanceCount","Map"],"mappings":"AAAA;;CAEC;;;;;;;;;;;;;AAKD;;;;CAIC,GACD,OAAO,MAAMA;IAWX;;;;;GAKC,GACDC,SAASC,QAAwB,EAAEC,KAAiB,EAAQ;QAC1D,iBAAiB;QACjB,MAAMC,gBAAgB,IAAI,CAACC,kBAAkB,CAACC,GAAG,CAACJ;QAClD,IAAIE,eAAe;YACjB,IAAI,CAACG,UAAU,CAACL;QAClB;QAEA,UAAU;QACV,IAAI,CAAC,IAAI,CAACM,QAAQ,CAACC,GAAG,CAACN,QAAQ;YAC7B,IAAI,CAACK,QAAQ,CAACE,GAAG,CAACP,OAAO,IAAIQ;QAC/B;QAEA,MAAMC,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpCS,UAAUC,GAAG,CAACX;QACd,IAAI,CAACG,kBAAkB,CAACK,GAAG,CAACR,UAAUC;IACxC;IAEA;;;;GAIC,GACDI,WAAWL,QAAwB,EAAQ;QACzC,MAAMC,QAAQ,IAAI,CAACE,kBAAkB,CAACC,GAAG,CAACJ;QAC1C,IAAI,CAACC,OAAO;YACV;QACF;QAEA,MAAMS,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpC,IAAIS,WAAW;YACbA,UAAUE,MAAM,CAACZ;YACjB,eAAe;YACf,IAAIU,UAAUG,IAAI,KAAK,GAAG;gBACxB,IAAI,CAACP,QAAQ,CAACM,MAAM,CAACX;YACvB;QACF;QAEA,IAAI,CAACE,kBAAkB,CAACS,MAAM,CAACZ;IACjC;IAEA;;;;;GAKC,GACDc,aAAab,KAAiB,EAAoB;QAChD,MAAMS,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpC,OAAOS,YAAYK,MAAMC,IAAI,CAACN,aAAa,EAAE;IAC/C;IAEA;;;;;GAKC,GACDO,SAASjB,QAAwB,EAA0B;QACzD,OAAO,IAAI,CAACG,kBAAkB,CAACC,GAAG,CAACJ;IACrC;IAEA;;;;GAIC,GACDkB,aAAajB,KAAiB,EAAQ;QACpC,MAAMS,YAAY,IAAI,CAACJ,QAAQ,CAACF,GAAG,CAACH;QACpC,IAAI,CAACS,WAAW;YACd;QACF;QAEA,SAAS;QACT,KAAK,MAAMV,YAAYU,UAAW;YAChCV,SAASmB,OAAO;YAChB,IAAI,CAAChB,kBAAkB,CAACS,MAAM,CAACZ;QACjC;QAEA,UAAU;QACV,IAAI,CAACM,QAAQ,CAACM,MAAM,CAACX;IACvB;IAEA;;GAEC,GACDmB,aAAmB;QACjB,SAAS;QACT,KAAK,MAAMV,aAAa,IAAI,CAACJ,QAAQ,CAACe,MAAM,GAAI;YAC9C,KAAK,MAAMrB,YAAYU,UAAW;gBAChCV,SAASmB,OAAO;YAClB;QACF;QAEA,SAAS;QACT,IAAI,CAACb,QAAQ,CAACgB,KAAK;QACnB,IAAI,CAACnB,kBAAkB,CAACmB,KAAK;IAC/B;IAEA;;;;GAIC,GACDC,eAA6B;QAC3B,OAAOR,MAAMC,IAAI,CAAC,IAAI,CAACV,QAAQ,CAACkB,IAAI;IACtC;IAEA;;GAEC,GACDC,gBAAwB;QACtB,OAAO,IAAI,CAACnB,QAAQ,CAACO,IAAI;IAC3B;IAEA;;GAEC,GACDa,mBAA2B;QACzB,OAAO,IAAI,CAACvB,kBAAkB,CAACU,IAAI;IACrC;;QAvIA;;GAEC,GACD,uBAAiBP,YAAiD,IAAIqB;QAEtE;;GAEC,GACD,uBAAiBxB,sBAAsD,IAAIwB;;AAgI7E"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/index.ts"],"sourcesContent":["/**\n * 状态管理器核心模块导出\n */\n\nexport { StateInstance } from './StateInstance';\nexport { StateScopeManager } from './StateScope';\nexport { StateRegistry } from './StateRegistry';\nexport { DerivedStateInstance } from './DerivedStateInstance';\n"],"names":["DerivedStateInstance","StateInstance","StateRegistry","StateScopeManager"],"mappings":"AAAA;;CAEC;;;;;;;;;;;QAKQA;eAAAA,0CAAoB;;QAHpBC;eAAAA,4BAAa;;QAEbC;eAAAA,4BAAa;;QADbC;eAAAA,6BAAiB;;;+BADI;4BACI;+BACJ;sCACO"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/core/index.ts"],"sourcesContent":["/**\n * 状态管理器核心模块导出\n */\n\nexport { StateInstance } from './StateInstance';\nexport { StateScopeManager } from './StateScope';\nexport { StateRegistry } from './StateRegistry';\nexport { DerivedStateInstance } from './DerivedStateInstance';\n"],"names":["StateInstance","StateScopeManager","StateRegistry","DerivedStateInstance"],"mappings":"AAAA;;CAEC,GAED,SAASA,aAAa,QAAQ,kBAAkB;AAChD,SAASC,iBAAiB,QAAQ,eAAe;AACjD,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,oBAAoB,QAAQ,yBAAyB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/state/index.ts"],"sourcesContent":["/**\n * 状态管理器模块统一导出\n */\n\n// 导出核心类型\nexport * from './types';\n\n// 导出核心实现\nexport * from './core';\n\n// 导出适配器\nexport * from './adapters';\n\n// 导出状态管理器\nexport { StateManager } from './StateManager';\nexport type { IStateManager } from './StateManager';\n"],"names":["StateManager"],"mappings":"AAAA;;CAEC,GAED,SAAS;;;;;+BAUAA;;;eAAAA,0BAAY;;;qBATP;qBAGA;qBAGA;8BAGe"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/state/index.ts"],"sourcesContent":["/**\n * 状态管理器模块统一导出\n */\n\n// 导出核心类型\nexport * from './types';\n\n// 导出核心实现\nexport * from './core';\n\n// 导出适配器\nexport * from './adapters';\n\n// 导出状态管理器\nexport { StateManager } from './StateManager';\nexport type { IStateManager } from './StateManager';\n"],"names":["StateManager"],"mappings":"AAAA;;CAEC,GAED,SAAS;AACT,cAAc,UAAU;AAExB,SAAS;AACT,cAAc,SAAS;AAEvB,QAAQ;AACR,cAAc,aAAa;AAE3B,UAAU;AACV,SAASA,YAAY,QAAQ,iBAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/state/types.ts"],"sourcesContent":["/**\n * 状态管理器类型定义\n */\n\n/**\n * 状态更新函数类型\n * \n * @template T - 状态值类型\n * @param current - 当前状态值\n * @returns 新的状态值\n */\nexport type StateUpdater<T> = (current: T) => T;\n\n/**\n * 状态订阅回调函数类型\n * \n * @template T - 状态值类型\n * @param value - 新的状态值\n * @param previous - 之前的状态值\n */\nexport type StateSubscriber<T> = (value: T, previous: T) => void;\n\n/**\n * 取消订阅函数类型\n */\nexport type Unsubscribe = () => void;\n\n/**\n * 状态作用域标识符\n */\nexport type StateScope = string | symbol;\n\n/**\n * 状态实例标识符\n */\nexport type StateInstanceId = string | symbol;\n\n/**\n * 状态实例配置选项\n */\nexport interface StateInstanceOptions {\n /**\n * 状态实例标识符\n */\n id?: StateInstanceId;\n \n /**\n * 状态作用域\n */\n scope?: StateScope;\n \n /**\n * 是否启用开发模式(用于调试)\n */\n devMode?: boolean;\n \n /**\n * 状态变更时的中间件函数\n */\n middleware?: Array<(value: unknown, previous: unknown) => unknown>;\n}\n\n/**\n * 状态实例核心接口\n * \n * 这是状态管理器的最小抽象接口,不绑定任何具体实现\n * \n * @template T - 状态值类型\n */\nexport interface IStateInstance<T = unknown> {\n /**\n * 获取当前状态值\n * \n * @returns 当前状态值\n */\n get(): T;\n\n /**\n * 更新状态值\n * \n * @param value - 新的状态值或更新函数\n */\n set(value: T | StateUpdater<T>): void;\n\n /**\n * 订阅状态变化\n * \n * @param subscriber - 订阅回调函数\n * @returns 取消订阅函数\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe;\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId;\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined;\n\n /**\n * 销毁状态实例,清理所有订阅和资源\n */\n destroy(): void;\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean;\n}\n\n/**\n * 状态适配器接口\n * \n * 适配器负责将外部状态库映射到 Secra 状态抽象\n * \n * @template T - 状态值类型\n */\nexport interface IStateAdapter {\n /**\n * 创建状态实例\n * \n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n * @returns 状态实例\n */\n createInstance<T>(initialValue: T, options?: StateInstanceOptions): IStateInstance<T>;\n\n /**\n * 销毁适配器,清理所有资源\n */\n destroy(): void;\n\n /**\n * 获取适配器名称(用于调试和日志)\n */\n getName(): string;\n}\n\n/**\n * 状态注册表接口\n */\nexport interface IStateRegistry {\n /**\n * 注册状态实例\n * \n * @param instance - 状态实例\n */\n register(instance: IStateInstance): void;\n\n /**\n * 注销状态实例\n * \n * @param id - 状态实例标识符\n */\n unregister(id: StateInstanceId): void;\n\n /**\n * 根据标识符获取状态实例\n * \n * @param id - 状态实例标识符\n * @returns 状态实例,如果不存在则返回 undefined\n */\n getInstance(id: StateInstanceId): IStateInstance | undefined;\n\n /**\n * 根据作用域获取所有状态实例\n * \n * @param scope - 状态作用域\n * @returns 状态实例数组\n */\n getInstancesByScope(scope: StateScope): IStateInstance[];\n\n /**\n * 获取所有状态实例\n * \n * @returns 状态实例数组\n */\n getAllInstances(): IStateInstance[];\n\n /**\n * 销毁指定作用域的所有状态实例\n * \n * @param scope - 状态作用域\n */\n destroyScope(scope: StateScope): void;\n\n /**\n * 销毁所有状态实例\n */\n destroyAll(): void;\n\n /**\n * 获取注册表中的实例数量\n */\n size(): number;\n}\n\n/**\n * 派生状态配置\n */\nexport interface DerivedStateConfig<T, D extends readonly IStateInstance[]> {\n /**\n * 依赖的状态实例数组\n */\n dependencies: D;\n\n /**\n * 派生函数,根据依赖状态计算派生状态\n * \n * @param values - 依赖状态的当前值数组\n * @returns 派生状态值\n */\n derive: (values: { [K in keyof D]: D[K] extends IStateInstance<infer V> ? V : never }) => T;\n\n /**\n * 是否启用相等性检查(避免不必要的更新)\n */\n equalityCheck?: (a: T, b: T) => boolean;\n}\n\n/**\n * 派生状态实例接口\n * \n * @template T - 派生状态值类型\n */\nexport interface IDerivedStateInstance<T = unknown> extends IStateInstance<T> {\n /**\n * 获取依赖的状态实例\n */\n getDependencies(): readonly IStateInstance[];\n\n /**\n * 手动重新计算派生状态\n */\n recompute(): void;\n}\n\n/**\n * 状态管理器配置选项\n */\nexport interface StateManagerOptions {\n /**\n * 默认状态适配器\n */\n defaultAdapter?: IStateAdapter;\n\n /**\n * 是否启用全局注册表\n */\n enableRegistry?: boolean;\n\n /**\n * 默认作用域\n */\n defaultScope?: StateScope;\n\n /**\n * 是否启用开发模式\n */\n devMode?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;CAEC,GAED;;;;;;CAMC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/state/types.ts"],"sourcesContent":["/**\n * 状态管理器类型定义\n */\n\n/**\n * 状态更新函数类型\n * \n * @template T - 状态值类型\n * @param current - 当前状态值\n * @returns 新的状态值\n */\nexport type StateUpdater<T> = (current: T) => T;\n\n/**\n * 状态订阅回调函数类型\n * \n * @template T - 状态值类型\n * @param value - 新的状态值\n * @param previous - 之前的状态值\n */\nexport type StateSubscriber<T> = (value: T, previous: T) => void;\n\n/**\n * 取消订阅函数类型\n */\nexport type Unsubscribe = () => void;\n\n/**\n * 状态作用域标识符\n */\nexport type StateScope = string | symbol;\n\n/**\n * 状态实例标识符\n */\nexport type StateInstanceId = string | symbol;\n\n/**\n * 状态实例配置选项\n */\nexport interface StateInstanceOptions {\n /**\n * 状态实例标识符\n */\n id?: StateInstanceId;\n \n /**\n * 状态作用域\n */\n scope?: StateScope;\n \n /**\n * 是否启用开发模式(用于调试)\n */\n devMode?: boolean;\n \n /**\n * 状态变更时的中间件函数\n */\n middleware?: Array<(value: unknown, previous: unknown) => unknown>;\n}\n\n/**\n * 状态实例核心接口\n * \n * 这是状态管理器的最小抽象接口,不绑定任何具体实现\n * \n * @template T - 状态值类型\n */\nexport interface IStateInstance<T = unknown> {\n /**\n * 获取当前状态值\n * \n * @returns 当前状态值\n */\n get(): T;\n\n /**\n * 更新状态值\n * \n * @param value - 新的状态值或更新函数\n */\n set(value: T | StateUpdater<T>): void;\n\n /**\n * 订阅状态变化\n * \n * @param subscriber - 订阅回调函数\n * @returns 取消订阅函数\n */\n subscribe(subscriber: StateSubscriber<T>): Unsubscribe;\n\n /**\n * 获取状态实例标识符\n */\n getId(): StateInstanceId;\n\n /**\n * 获取状态作用域\n */\n getScope(): StateScope | undefined;\n\n /**\n * 销毁状态实例,清理所有订阅和资源\n */\n destroy(): void;\n\n /**\n * 检查状态实例是否已销毁\n */\n isDestroyed(): boolean;\n}\n\n/**\n * 状态适配器接口\n * \n * 适配器负责将外部状态库映射到 Secra 状态抽象\n * \n * @template T - 状态值类型\n */\nexport interface IStateAdapter {\n /**\n * 创建状态实例\n * \n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n * @returns 状态实例\n */\n createInstance<T>(initialValue: T, options?: StateInstanceOptions): IStateInstance<T>;\n\n /**\n * 销毁适配器,清理所有资源\n */\n destroy(): void;\n\n /**\n * 获取适配器名称(用于调试和日志)\n */\n getName(): string;\n}\n\n/**\n * 状态注册表接口\n */\nexport interface IStateRegistry {\n /**\n * 注册状态实例\n * \n * @param instance - 状态实例\n */\n register(instance: IStateInstance): void;\n\n /**\n * 注销状态实例\n * \n * @param id - 状态实例标识符\n */\n unregister(id: StateInstanceId): void;\n\n /**\n * 根据标识符获取状态实例\n * \n * @param id - 状态实例标识符\n * @returns 状态实例,如果不存在则返回 undefined\n */\n getInstance(id: StateInstanceId): IStateInstance | undefined;\n\n /**\n * 根据作用域获取所有状态实例\n * \n * @param scope - 状态作用域\n * @returns 状态实例数组\n */\n getInstancesByScope(scope: StateScope): IStateInstance[];\n\n /**\n * 获取所有状态实例\n * \n * @returns 状态实例数组\n */\n getAllInstances(): IStateInstance[];\n\n /**\n * 销毁指定作用域的所有状态实例\n * \n * @param scope - 状态作用域\n */\n destroyScope(scope: StateScope): void;\n\n /**\n * 销毁所有状态实例\n */\n destroyAll(): void;\n\n /**\n * 获取注册表中的实例数量\n */\n size(): number;\n}\n\n/**\n * 派生状态配置\n */\nexport interface DerivedStateConfig<T, D extends readonly IStateInstance[]> {\n /**\n * 依赖的状态实例数组\n */\n dependencies: D;\n\n /**\n * 派生函数,根据依赖状态计算派生状态\n * \n * @param values - 依赖状态的当前值数组\n * @returns 派生状态值\n */\n derive: (values: { [K in keyof D]: D[K] extends IStateInstance<infer V> ? V : never }) => T;\n\n /**\n * 是否启用相等性检查(避免不必要的更新)\n */\n equalityCheck?: (a: T, b: T) => boolean;\n}\n\n/**\n * 派生状态实例接口\n * \n * @template T - 派生状态值类型\n */\nexport interface IDerivedStateInstance<T = unknown> extends IStateInstance<T> {\n /**\n * 获取依赖的状态实例\n */\n getDependencies(): readonly IStateInstance[];\n\n /**\n * 手动重新计算派生状态\n */\n recompute(): void;\n}\n\n/**\n * 状态管理器配置选项\n */\nexport interface StateManagerOptions {\n /**\n * 默认状态适配器\n */\n defaultAdapter?: IStateAdapter;\n\n /**\n * 是否启用全局注册表\n */\n enableRegistry?: boolean;\n\n /**\n * 默认作用域\n */\n defaultScope?: StateScope;\n\n /**\n * 是否启用开发模式\n */\n devMode?: boolean;\n}\n"],"names":[],"mappings":"AAAA;;CAEC,GAED;;;;;;CAMC,GAsOD;;CAEC,GACD,WAoBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"state.umd.js","sources":["state/core/StateInstance.js","state/core/StateScope.js","state/core/StateRegistry.js","state/core/DerivedStateInstance.js","state/adapters/DefaultAdapter.js","state/adapters/AdapterFactory.js","state/adapters/ReduxAdapter.js","state/adapters/ZustandAdapter.js","state/StateManager.js"],"sourcesContent":["/**\n * 状态实例核心实现\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * 基础状态实例实现\n * \n * 这是一个通用的状态实例实现,不依赖任何外部状态管理库\n * \n * @template T - 状态值类型\n */ export class StateInstance {\n /**\n * 获取当前状态值\n */ get() {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n return this.value;\n }\n /**\n * 更新状态值\n */ set(valueOrUpdater) {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n const previousValue = this.value;\n let newValue;\n // 处理函数式更新\n if (typeof valueOrUpdater === 'function') {\n newValue = valueOrUpdater(this.value);\n } else {\n newValue = valueOrUpdater;\n }\n // 应用中间件\n let processedValue = newValue;\n for (const middleware of this.middleware){\n processedValue = middleware(processedValue, previousValue);\n }\n // 如果值没有变化,跳过更新\n if (processedValue === this.value) {\n return;\n }\n this.value = processedValue;\n if (this.devMode) {\n console.debug(`[StateInstance] Updated: ${String(this.id)}`, {\n previous: previousValue,\n current: this.value\n });\n }\n // 通知所有订阅者\n this.notifySubscribers(this.value, previousValue);\n }\n /**\n * 订阅状态变化\n */ subscribe(subscriber) {\n if (this.destroyed) {\n throw new Error(`StateInstance ${String(this.id)} has been destroyed`);\n }\n this.subscribers.add(subscriber);\n if (this.devMode) {\n console.debug(`[StateInstance] Subscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size\n });\n }\n // 返回取消订阅函数\n return ()=>{\n this.subscribers.delete(subscriber);\n if (this.devMode) {\n console.debug(`[StateInstance] Unsubscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size\n });\n }\n };\n }\n /**\n * 获取状态实例标识符\n */ getId() {\n return this.id;\n }\n /**\n * 获取状态作用域\n */ getScope() {\n return this.scope;\n }\n /**\n * 销毁状态实例\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.subscribers.clear();\n this.value = undefined;\n if (this.devMode) {\n console.debug(`[StateInstance] Destroyed: ${String(this.id)}`);\n }\n }\n /**\n * 检查状态实例是否已销毁\n */ isDestroyed() {\n return this.destroyed;\n }\n /**\n * 通知所有订阅者\n */ notifySubscribers(value, previous) {\n // 使用数组副本避免在迭代过程中修改集合\n const subscribers = Array.from(this.subscribers);\n for (const subscriber of subscribers){\n try {\n subscriber(value, previous);\n } catch (error) {\n console.error(`[StateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n }\n /**\n * 构造函数\n * \n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n */ constructor(initialValue, options = {}){\n /**\n * 状态实例标识符\n */ _define_property(this, \"id\", void 0);\n /**\n * 状态作用域\n */ _define_property(this, \"scope\", void 0);\n /**\n * 当前状态值\n */ _define_property(this, \"value\", void 0);\n /**\n * 订阅者集合\n */ _define_property(this, \"subscribers\", new Set());\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n /**\n * 开发模式标志\n */ _define_property(this, \"devMode\", void 0);\n /**\n * 中间件函数数组\n */ _define_property(this, \"middleware\", void 0);\n this.value = initialValue;\n this.id = options.id ?? Symbol('StateInstance');\n this.scope = options.scope;\n this.devMode = options.devMode ?? false;\n this.middleware = options.middleware ?? [];\n if (this.devMode) {\n console.debug(`[StateInstance] Created: ${String(this.id)}`, {\n scope: this.scope,\n initialValue: this.value\n });\n }\n }\n}\n\n//# sourceMappingURL=StateInstance.js.map","/**\n * 状态作用域管理\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * 状态作用域管理器\n * \n * 负责管理状态作用域的创建、销毁和查询\n */ export class StateScopeManager {\n /**\n * 注册状态实例到作用域\n * \n * @param instance - 状态实例\n * @param scope - 状态作用域\n */ register(instance, scope) {\n // 如果实例已经有作用域,先移除\n const existingScope = this.instanceToScopeMap.get(instance);\n if (existingScope) {\n this.unregister(instance);\n }\n // 添加到新作用域\n if (!this.scopeMap.has(scope)) {\n this.scopeMap.set(scope, new Set());\n }\n const instances = this.scopeMap.get(scope);\n instances.add(instance);\n this.instanceToScopeMap.set(instance, scope);\n }\n /**\n * 注销状态实例\n * \n * @param instance - 状态实例\n */ unregister(instance) {\n const scope = this.instanceToScopeMap.get(instance);\n if (!scope) {\n return;\n }\n const instances = this.scopeMap.get(scope);\n if (instances) {\n instances.delete(instance);\n // 如果作用域为空,清理映射\n if (instances.size === 0) {\n this.scopeMap.delete(scope);\n }\n }\n this.instanceToScopeMap.delete(instance);\n }\n /**\n * 根据作用域获取所有状态实例\n * \n * @param scope - 状态作用域\n * @returns 状态实例数组\n */ getInstances(scope) {\n const instances = this.scopeMap.get(scope);\n return instances ? Array.from(instances) : [];\n }\n /**\n * 获取状态实例的作用域\n * \n * @param instance - 状态实例\n * @returns 状态作用域,如果不存在则返回 undefined\n */ getScope(instance) {\n return this.instanceToScopeMap.get(instance);\n }\n /**\n * 销毁指定作用域的所有状态实例\n * \n * @param scope - 状态作用域\n */ destroyScope(scope) {\n const instances = this.scopeMap.get(scope);\n if (!instances) {\n return;\n }\n // 销毁所有实例\n for (const instance of instances){\n instance.destroy();\n this.instanceToScopeMap.delete(instance);\n }\n // 清理作用域映射\n this.scopeMap.delete(scope);\n }\n /**\n * 销毁所有作用域和状态实例\n */ destroyAll() {\n // 销毁所有实例\n for (const instances of this.scopeMap.values()){\n for (const instance of instances){\n instance.destroy();\n }\n }\n // 清理所有映射\n this.scopeMap.clear();\n this.instanceToScopeMap.clear();\n }\n /**\n * 获取所有作用域\n * \n * @returns 作用域数组\n */ getAllScopes() {\n return Array.from(this.scopeMap.keys());\n }\n /**\n * 获取作用域数量\n */ getScopeCount() {\n return this.scopeMap.size;\n }\n /**\n * 获取总实例数量\n */ getInstanceCount() {\n return this.instanceToScopeMap.size;\n }\n constructor(){\n /**\n * 作用域到状态实例的映射\n */ _define_property(this, \"scopeMap\", new Map());\n /**\n * 状态实例到作用域的映射(用于快速查找)\n */ _define_property(this, \"instanceToScopeMap\", new Map());\n }\n}\n\n//# sourceMappingURL=StateScope.js.map","/**\n * 状态注册表实现\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport { StateScopeManager } from \"./StateScope\";\n/**\n * 状态注册表\n * \n * 负责管理所有状态实例的注册、查询和销毁\n */ export class StateRegistry {\n /**\n * 注册状态实例\n */ register(instance) {\n const id = instance.getId();\n if (this.instances.has(id)) {\n console.warn(`[StateRegistry] Instance with id ${String(id)} already exists, replacing...`);\n }\n this.instances.set(id, instance);\n // 如果实例有作用域,注册到作用域管理器\n const scope = instance.getScope();\n if (scope) {\n this.scopeManager.register(instance, scope);\n }\n }\n /**\n * 注销状态实例\n */ unregister(id) {\n const instance = this.instances.get(id);\n if (!instance) {\n return;\n }\n // 从作用域管理器注销\n this.scopeManager.unregister(instance);\n // 销毁实例\n instance.destroy();\n // 从注册表移除\n this.instances.delete(id);\n }\n /**\n * 根据标识符获取状态实例\n */ getInstance(id) {\n return this.instances.get(id);\n }\n /**\n * 根据作用域获取所有状态实例\n */ getInstancesByScope(scope) {\n return this.scopeManager.getInstances(scope);\n }\n /**\n * 获取所有状态实例\n */ getAllInstances() {\n return Array.from(this.instances.values());\n }\n /**\n * 销毁指定作用域的所有状态实例\n */ destroyScope(scope) {\n const instances = this.scopeManager.getInstances(scope);\n // 销毁所有实例\n for (const instance of instances){\n instance.destroy();\n this.instances.delete(instance.getId());\n }\n // 从作用域管理器清理\n this.scopeManager.destroyScope(scope);\n }\n /**\n * 销毁所有状态实例\n */ destroyAll() {\n // 销毁所有实例\n for (const instance of this.instances.values()){\n instance.destroy();\n }\n // 清理所有映射\n this.instances.clear();\n this.scopeManager.destroyAll();\n }\n /**\n * 获取注册表中的实例数量\n */ size() {\n return this.instances.size;\n }\n /**\n * 构造函数\n */ constructor(){\n /**\n * 状态实例映射表(ID -> Instance)\n */ _define_property(this, \"instances\", new Map());\n /**\n * 作用域管理器\n */ _define_property(this, \"scopeManager\", void 0);\n this.scopeManager = new StateScopeManager();\n }\n}\n\n//# sourceMappingURL=StateRegistry.js.map","/**\n * 派生状态实例实现\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * 派生状态实例\n * \n * 派生状态不直接存储值,而是基于依赖状态自动计算\n * \n * @template T - 派生状态值类型\n * @template D - 依赖状态实例数组类型\n */ export class DerivedStateInstance {\n /**\n * 获取当前状态值\n */ get() {\n if (this.destroyed) {\n throw new Error(`DerivedStateInstance ${String(this.id)} has been destroyed`);\n }\n return this.value;\n }\n /**\n * 派生状态不支持直接设置值\n */ set(_valueOrUpdater) {\n throw new Error('Derived state cannot be set directly. Modify the dependency states instead.');\n }\n /**\n * 订阅状态变化\n */ subscribe(subscriber) {\n if (this.destroyed) {\n throw new Error(`DerivedStateInstance ${String(this.id)} has been destroyed`);\n }\n this.subscribers.add(subscriber);\n // 返回取消订阅函数\n return ()=>{\n this.subscribers.delete(subscriber);\n };\n }\n /**\n * 获取状态实例标识符\n */ getId() {\n return this.id;\n }\n /**\n * 获取状态作用域\n */ getScope() {\n return this.scope;\n }\n /**\n * 获取依赖的状态实例\n */ getDependencies() {\n return this.config.dependencies;\n }\n /**\n * 手动重新计算派生状态\n */ recompute() {\n if (this.destroyed || this.recomputing) {\n return;\n }\n this.recomputing = true;\n try {\n // 获取所有依赖状态的当前值\n const dependencyValues = this.config.dependencies.map((dep)=>dep.get());\n // 计算新的派生值\n const newValue = this.config.derive(dependencyValues);\n // 检查值是否变化\n const hasChanged = this.config.equalityCheck ? !this.config.equalityCheck(this.value, newValue) : this.value !== newValue;\n if (hasChanged) {\n const previousValue = this.value;\n this.value = newValue;\n // 通知所有订阅者\n this.notifySubscribers(this.value, previousValue);\n }\n } catch (error) {\n console.error(`[DerivedStateInstance] Error recomputing ${String(this.id)}:`, error);\n } finally{\n this.recomputing = false;\n }\n }\n /**\n * 销毁状态实例\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n this.destroyed = true;\n // 取消所有依赖订阅\n for (const unsubscribe of this.dependencyUnsubscribes){\n unsubscribe();\n }\n this.dependencyUnsubscribes.length = 0;\n // 清理订阅者\n this.subscribers.clear();\n }\n /**\n * 检查状态实例是否已销毁\n */ isDestroyed() {\n return this.destroyed;\n }\n /**\n * 设置依赖状态订阅\n */ setupDependencies() {\n for (const dependency of this.config.dependencies){\n const unsubscribe = dependency.subscribe(()=>{\n // 当依赖状态变化时,重新计算派生状态\n this.recompute();\n });\n this.dependencyUnsubscribes.push(unsubscribe);\n }\n }\n /**\n * 通知所有订阅者\n */ notifySubscribers(value, previous) {\n const subscribers = Array.from(this.subscribers);\n for (const subscriber of subscribers){\n try {\n subscriber(value, previous);\n } catch (error) {\n console.error(`[DerivedStateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n }\n /**\n * 构造函数\n * \n * @param config - 派生状态配置\n * @param options - 状态实例配置选项\n */ constructor(config, options = {}){\n /**\n * 状态实例标识符\n */ _define_property(this, \"id\", void 0);\n /**\n * 状态作用域\n */ _define_property(this, \"scope\", void 0);\n /**\n * 派生状态配置\n */ _define_property(this, \"config\", void 0);\n /**\n * 当前派生值\n */ _define_property(this, \"value\", void 0);\n /**\n * 订阅者集合\n */ _define_property(this, \"subscribers\", new Set());\n /**\n * 依赖状态的取消订阅函数数组\n */ _define_property(this, \"dependencyUnsubscribes\", []);\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n /**\n * 是否正在重新计算\n */ _define_property(this, \"recomputing\", false);\n this.config = config;\n this.id = options.id ?? Symbol('DerivedStateInstance');\n this.scope = options.scope;\n // 订阅所有依赖状态的变化\n this.setupDependencies();\n // 初始计算\n this.recompute();\n }\n}\n\n//# sourceMappingURL=DerivedStateInstance.js.map","/**\n * 默认状态适配器\n * \n * 这是 Secra Framework 内置的默认状态适配器实现\n * 不依赖任何外部状态管理库,提供基础的状态管理能力\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport { StateInstance } from \"../core/StateInstance\";\n/**\n * 默认状态适配器\n * \n * 使用框架内置的 StateInstance 实现\n */ export class DefaultAdapter {\n /**\n * 创建状态实例\n */ createInstance(initialValue, options) {\n if (this.destroyed) {\n throw new Error('Adapter has been destroyed');\n }\n const instance = new StateInstance(initialValue, {\n id: options?.id,\n scope: options?.scope,\n devMode: options?.devMode,\n middleware: options?.middleware\n });\n this.instances.add(instance);\n return instance;\n }\n /**\n * 销毁适配器\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n // 销毁所有创建的状态实例\n for (const instance of this.instances){\n instance.destroy();\n }\n this.instances.clear();\n this.destroyed = true;\n }\n /**\n * 获取适配器名称\n */ getName() {\n return this.name;\n }\n constructor(){\n /**\n * 适配器名称\n */ _define_property(this, \"name\", 'DefaultAdapter');\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n /**\n * 创建的状态实例集合(用于销毁时清理)\n */ _define_property(this, \"instances\", new Set());\n }\n}\n\n//# sourceMappingURL=DefaultAdapter.js.map","/**\n * 状态适配器工厂\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport { DefaultAdapter } from \"./DefaultAdapter\";\n/**\n * 适配器工厂\n * \n * 负责创建和管理状态适配器实例\n */ export class AdapterFactory {\n /**\n * 获取默认适配器\n */ static getDefaultAdapter() {\n if (!this.defaultAdapter) {\n this.defaultAdapter = new DefaultAdapter();\n }\n return this.defaultAdapter;\n }\n /**\n * 创建适配器实例\n * \n * @param adapterName - 适配器名称,如果不提供则使用默认适配器\n * @returns 适配器实例\n */ static createAdapter(adapterName) {\n if (!adapterName) {\n return this.getDefaultAdapter();\n }\n const factory = this.customAdapters.get(adapterName);\n if (!factory) {\n throw new Error(`Adapter \"${adapterName}\" not found. Available adapters: ${Array.from(this.customAdapters.keys()).join(', ')}`);\n }\n return factory();\n }\n /**\n * 注册自定义适配器\n * \n * @param name - 适配器名称\n * @param factory - 适配器工厂函数\n */ static registerAdapter(name, factory) {\n if (this.customAdapters.has(name)) {\n console.warn(`[AdapterFactory] Adapter \"${name}\" already registered, replacing...`);\n }\n this.customAdapters.set(name, factory);\n }\n /**\n * 注销适配器\n * \n * @param name - 适配器名称\n */ static unregisterAdapter(name) {\n this.customAdapters.delete(name);\n }\n /**\n * 获取所有已注册的适配器名称\n */ static getRegisteredAdapters() {\n return Array.from(this.customAdapters.keys());\n }\n /**\n * 重置工厂(主要用于测试)\n */ static reset() {\n if (this.defaultAdapter) {\n this.defaultAdapter.destroy();\n this.defaultAdapter = null;\n }\n this.customAdapters.clear();\n }\n}\n/**\n * 默认适配器实例\n */ _define_property(AdapterFactory, \"defaultAdapter\", null);\n/**\n * 自定义适配器映射\n */ _define_property(AdapterFactory, \"customAdapters\", new Map());\n\n//# sourceMappingURL=AdapterFactory.js.map","/**\n * Redux Toolkit 适配器\n * \n * 将 Redux Toolkit store 映射到 Secra 状态抽象\n * \n * 使用说明:\n * 1. 需要安装 @reduxjs/toolkit 作为 peerDependency\n * 2. 每个状态实例对应一个 Redux slice\n * 3. 支持 Redux DevTools 集成(如果可用)\n * 4. 支持中间件和开发模式\n * \n * @example\n * ```typescript\n * import { ReduxAdapter } from '@vlian/framework/state';\n * \n * const adapter = new ReduxAdapter({ devMode: true });\n * const state = adapter.createInstance(0, { id: 'counter' });\n * \n * state.set(1);\n * console.log(state.get()); // 1\n * ```\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * Redux 状态实例实现\n * \n * 将 Redux slice 映射到 IStateInstance 接口\n * \n * @template T - 状态值类型\n */ let ReduxStateInstance = class ReduxStateInstance {\n /**\n * 获取当前状态值\n */ get() {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n const state = this.store.getState();\n return state[this.sliceName] ?? this.previousValue;\n }\n /**\n * 更新状态值\n */ set(valueOrUpdater) {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n const currentValue = this.get();\n let newValue;\n // 处理函数式更新\n if (typeof valueOrUpdater === 'function') {\n newValue = valueOrUpdater(currentValue);\n } else {\n newValue = valueOrUpdater;\n }\n // 应用中间件\n let processedValue = newValue;\n for (const middleware of this.middleware){\n processedValue = middleware(processedValue, currentValue);\n }\n // 如果值没有变化,跳过更新\n if (processedValue === currentValue) {\n return;\n }\n // 保存之前的值\n this.previousValue = currentValue;\n // 通过 Redux action 更新状态\n const action = this.actions.setValue(processedValue);\n this.store.dispatch(action);\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Updated: ${String(this.id)}`, {\n previous: currentValue,\n current: processedValue,\n action\n });\n }\n }\n /**\n * 订阅状态变化\n */ subscribe(subscriber) {\n if (this.destroyed) {\n throw new Error(`ReduxStateInstance ${String(this.id)} has been destroyed`);\n }\n this.subscribers.add(subscriber);\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Subscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size\n });\n }\n // 返回取消订阅函数\n return ()=>{\n this.subscribers.delete(subscriber);\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Unsubscribed: ${String(this.id)}`, {\n subscriberCount: this.subscribers.size\n });\n }\n };\n }\n /**\n * 获取状态实例标识符\n */ getId() {\n return this.id;\n }\n /**\n * 获取状态作用域\n */ getScope() {\n return this.scope;\n }\n /**\n * 销毁状态实例\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n this.destroyed = true;\n // 取消 Redux store 订阅\n if (this.unsubscribeStore) {\n this.unsubscribeStore();\n this.unsubscribeStore = undefined;\n }\n // 清理订阅者\n this.subscribers.clear();\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Destroyed: ${String(this.id)}`);\n }\n }\n /**\n * 检查状态实例是否已销毁\n */ isDestroyed() {\n return this.destroyed;\n }\n /**\n * 通知所有订阅者\n */ notifySubscribers() {\n if (this.destroyed) {\n return;\n }\n try {\n const currentValue = this.get();\n // 如果值没有变化,跳过通知\n if (currentValue === this.previousValue) {\n return;\n }\n const previousValue = this.previousValue;\n this.previousValue = currentValue;\n // 使用数组副本避免在迭代过程中修改集合\n const subscribers = Array.from(this.subscribers);\n for (const subscriber of subscribers){\n try {\n subscriber(currentValue, previousValue);\n } catch (error) {\n console.error(`[ReduxStateInstance] Error in subscriber for ${String(this.id)}:`, error);\n }\n }\n } catch (error) {\n console.error(`[ReduxStateInstance] Error getting state for ${String(this.id)}:`, error);\n }\n }\n /**\n * 构造函数\n * \n * @param store - Redux store 实例\n * @param sliceName - Redux slice 名称\n * @param actions - Redux slice actions\n * @param initialValue - 初始状态值\n * @param options - 状态实例配置选项\n */ constructor(store, sliceName, actions, initialValue, options = {}){\n /**\n * 状态实例标识符\n */ _define_property(this, \"id\", void 0);\n /**\n * 状态作用域\n */ _define_property(this, \"scope\", void 0);\n /**\n * Redux store 引用\n */ _define_property(this, \"store\", void 0);\n /**\n * Redux slice 名称(在 store 中的路径)\n */ _define_property(this, \"sliceName\", void 0);\n /**\n * Redux slice actions\n */ _define_property(this, \"actions\", void 0);\n /**\n * 订阅者集合\n */ _define_property(this, \"subscribers\", new Set());\n /**\n * Redux store 订阅取消函数\n */ _define_property(this, \"unsubscribeStore\", void 0);\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n /**\n * 开发模式标志\n */ _define_property(this, \"devMode\", void 0);\n /**\n * 中间件函数数组\n */ _define_property(this, \"middleware\", void 0);\n /**\n * 上一次的状态值(用于订阅通知)\n */ _define_property(this, \"previousValue\", void 0);\n this.store = store;\n this.sliceName = sliceName;\n this.actions = actions;\n this.id = options.id ?? Symbol('ReduxStateInstance');\n this.scope = options.scope;\n this.devMode = options.devMode ?? false;\n this.middleware = options.middleware ?? [];\n this.previousValue = initialValue;\n // 订阅 Redux store 变化\n this.unsubscribeStore = this.store.subscribe(()=>{\n this.notifySubscribers();\n });\n if (this.devMode) {\n console.debug(`[ReduxStateInstance] Created: ${String(this.id)}`, {\n scope: this.scope,\n sliceName: this.sliceName,\n initialValue\n });\n }\n }\n};\n/**\n * 动态 Reducer 管理器\n * \n * 用于管理动态添加和移除的 Redux reducer\n */ let DynamicReducerManager = class DynamicReducerManager {\n /**\n * 添加 reducer\n */ addReducer(key, reducer) {\n this.reducers.set(key, reducer);\n }\n /**\n * 移除 reducer\n */ removeReducer(key) {\n this.reducers.delete(key);\n }\n /**\n * 获取根 reducer\n */ getRootReducer() {\n return this.rootReducer;\n }\n /**\n * 检查 reducer 是否存在\n */ hasReducer(key) {\n return this.reducers.has(key);\n }\n /**\n * 构造函数\n */ constructor(){\n /**\n * 当前 reducer 映射\n */ _define_property(this, \"reducers\", new Map());\n /**\n * 根 reducer 函数\n */ _define_property(this, \"rootReducer\", void 0);\n this.rootReducer = (state, action)=>{\n const stateRecord = state ?? {};\n const newState = {\n ...stateRecord\n };\n // 处理每个 reducer\n for (const [key, reducer] of this.reducers.entries()){\n newState[key] = reducer(stateRecord[key], action);\n }\n return newState;\n };\n }\n};\n/**\n * Redux Toolkit 适配器\n * \n * 将 Redux Toolkit store 映射到 Secra 状态抽象\n */ export class ReduxAdapter {\n /**\n * 检查 Redux 是否可用\n */ checkReduxAvailable() {\n // 这里不抛出错误,允许延迟加载\n // 实际使用时会在 createInstance 时检查\n }\n /**\n * 获取或创建 Redux store\n */ getOrCreateStore() {\n if (this.store) {\n return this.store;\n }\n // 尝试创建 Redux store\n try {\n // 动态导入 Redux Toolkit\n // 注意:这里使用类型断言,实际运行时需要确保 Redux 已安装\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { configureStore } = require('@reduxjs/toolkit');\n this.store = configureStore({\n reducer: this.reducerManager.getRootReducer(),\n devTools: this.devMode,\n middleware: undefined\n });\n if (this.devMode) {\n console.debug('[ReduxAdapter] Redux store created');\n }\n return this.store;\n } catch (error) {\n throw new Error('ReduxAdapter requires @reduxjs/toolkit to be installed. ' + 'Please install it: npm install @reduxjs/toolkit\\n' + `Original error: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n /**\n * 创建 Redux slice\n */ createSlice(sliceName, initialValue) {\n try {\n // 动态导入 Redux Toolkit\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const { createSlice } = require('@reduxjs/toolkit');\n const slice = createSlice({\n name: sliceName,\n initialState: initialValue,\n reducers: {\n setValue: (_state, action)=>{\n return action.payload ?? initialValue;\n }\n }\n });\n return slice;\n } catch (error) {\n throw new Error('ReduxAdapter requires @reduxjs/toolkit to be installed. ' + 'Please install it: npm install @reduxjs/toolkit\\n' + `Original error: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n /**\n * 创建状态实例\n */ createInstance(initialValue, options) {\n if (this.destroyed) {\n throw new Error('ReduxAdapter has been destroyed');\n }\n // 获取或创建 Redux store\n const store = this.getOrCreateStore();\n // 生成唯一的 slice 名称\n const sliceName = options?.id ? `secra_${String(options.id)}` : `secra_slice_${++this.sliceCounter}`;\n // 创建 Redux slice\n const slice = this.createSlice(sliceName, initialValue);\n // 将 slice reducer 添加到动态 reducer 管理器\n if (!this.reducerManager.hasReducer(sliceName)) {\n this.reducerManager.addReducer(sliceName, slice.reducer);\n // 更新 store 的 reducer(使用 replaceReducer)\n store.replaceReducer(this.reducerManager.getRootReducer());\n }\n // 创建状态实例\n const instance = new ReduxStateInstance(store, sliceName, slice.actions, initialValue, {\n id: options?.id,\n scope: options?.scope,\n devMode: options?.devMode ?? this.devMode,\n middleware: options?.middleware\n });\n this.instances.add(instance);\n this.sliceToInstance.set(sliceName, instance);\n if (this.devMode) {\n console.debug(`[ReduxAdapter] Created instance: ${String(instance.getId())}`, {\n sliceName,\n scope: options?.scope\n });\n }\n return instance;\n }\n /**\n * 销毁适配器\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n // 销毁所有创建的状态实例\n for (const instance of this.instances){\n instance.destroy();\n }\n // 从 reducer 管理器中移除所有 reducer\n for (const sliceName of this.sliceToInstance.keys()){\n this.reducerManager.removeReducer(sliceName);\n }\n // 更新 store 的 reducer\n if (this.store) {\n this.store.replaceReducer(this.reducerManager.getRootReducer());\n }\n this.instances.clear();\n this.sliceToInstance.clear();\n this.store = null;\n this.destroyed = true;\n if (this.devMode) {\n console.debug('[ReduxAdapter] Destroyed');\n }\n }\n /**\n * 获取适配器名称\n */ getName() {\n return this.name;\n }\n /**\n * 构造函数\n * \n * @param options - 适配器配置选项\n */ constructor(options){\n /**\n * 适配器名称\n */ _define_property(this, \"name\", 'ReduxAdapter');\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n /**\n * 创建的状态实例集合\n */ _define_property(this, \"instances\", new Set());\n /**\n * Redux store 实例\n */ _define_property(this, \"store\", null);\n /**\n * Redux slice 名称计数器(用于生成唯一的 slice 名称)\n */ _define_property(this, \"sliceCounter\", 0);\n /**\n * Redux slice 名称到状态实例的映射\n */ _define_property(this, \"sliceToInstance\", new Map());\n /**\n * 动态 reducer 管理器\n */ _define_property(this, \"reducerManager\", void 0);\n /**\n * 是否启用开发模式\n */ _define_property(this, \"devMode\", void 0);\n this.devMode = options?.devMode ?? false;\n this.reducerManager = new DynamicReducerManager();\n this.store = options?.store ?? null;\n // 检查 Redux 是否可用\n this.checkReduxAvailable();\n }\n}\n\n//# sourceMappingURL=ReduxAdapter.js.map","/**\n * Zustand 适配器(占位实现)\n * \n * 这是一个适配器接口示例,展示如何将 Zustand 集成到 Secra 状态管理器\n * \n * ⚠️ 注意:这是一个占位实现,实际使用时需要安装 zustand 依赖\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n/**\n * Zustand 适配器\n * \n * 将 Zustand store 映射到 Secra 状态抽象\n * \n * ⚠️ 这是一个占位实现,实际使用时需要:\n * 1. 安装 zustand\n * 2. 实现完整的 Zustand store 集成\n * 3. 将 Zustand store 的方法映射到 IStateInstance 接口\n */ export class ZustandAdapter {\n /**\n * 创建状态实例\n * \n * ⚠️ 占位实现:实际使用时需要创建 Zustand store 并映射到 IStateInstance\n */ createInstance(_initialValue, _options) {\n if (this.destroyed) {\n throw new Error('Adapter has been destroyed');\n }\n throw new Error('ZustandAdapter is a placeholder implementation. ' + 'To use Zustand, you need to:\\n' + '1. Install zustand\\n' + '2. Implement a complete Zustand store integration\\n' + '3. Map Zustand store methods to IStateInstance interface\\n' + 'See docs/state-manager.md for implementation guide.');\n }\n /**\n * 销毁适配器\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n for (const instance of this.instances){\n instance.destroy();\n }\n this.instances.clear();\n this.destroyed = true;\n }\n /**\n * 获取适配器名称\n */ getName() {\n return this.name;\n }\n constructor(){\n /**\n * 适配器名称\n */ _define_property(this, \"name\", 'ZustandAdapter');\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n /**\n * 创建的状态实例集合\n */ _define_property(this, \"instances\", new Set());\n }\n}\n\n//# sourceMappingURL=ZustandAdapter.js.map","/**\n * 状态管理器主类\n * \n * 这是状态管理器的核心入口,提供统一的状态管理 API\n */ function _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport { AdapterFactory } from \"./adapters/AdapterFactory\";\nimport { StateRegistry } from \"./core/StateRegistry\";\nimport { DerivedStateInstance } from \"./core/DerivedStateInstance\";\n/**\n * 状态管理器实现\n */ export class StateManager {\n /**\n * 创建状态实例\n */ createState(initialValue, options) {\n if (this.destroyed) {\n throw new Error('StateManager has been destroyed');\n }\n // 合并默认作用域\n const mergedOptions = {\n ...options,\n scope: options?.scope ?? this.defaultScope,\n devMode: options?.devMode ?? this.devMode\n };\n // 使用适配器创建状态实例\n const instance = this.adapter.createInstance(initialValue, mergedOptions);\n // 如果启用了注册表,注册实例\n if (this.registry) {\n // 类型转换:注册表接受 IStateInstance<unknown>,但实际类型是 IStateInstance<T>\n this.registry.register(instance);\n }\n return instance;\n }\n /**\n * 创建派生状态\n */ createDerivedState(config, options) {\n if (this.destroyed) {\n throw new Error('StateManager has been destroyed');\n }\n const mergedOptions = {\n ...options,\n scope: options?.scope ?? this.defaultScope\n };\n const instance = new DerivedStateInstance(config, mergedOptions);\n // 如果启用了注册表,注册实例\n if (this.registry) {\n this.registry.register(instance);\n }\n return instance;\n }\n /**\n * 获取状态实例(如果启用了注册表)\n */ getState(id) {\n if (!this.registry) {\n throw new Error('Registry is not enabled. Enable it in StateManagerOptions.');\n }\n return this.registry.getInstance(id);\n }\n /**\n * 根据作用域获取所有状态实例\n */ getStatesByScope(scope) {\n if (!this.registry) {\n throw new Error('Registry is not enabled. Enable it in StateManagerOptions.');\n }\n return this.registry.getInstancesByScope(scope);\n }\n /**\n * 获取所有状态实例\n */ getAllStates() {\n if (!this.registry) {\n throw new Error('Registry is not enabled. Enable it in StateManagerOptions.');\n }\n return this.registry.getAllInstances();\n }\n /**\n * 销毁指定作用域的所有状态实例\n */ destroyScope(scope) {\n if (!this.registry) {\n throw new Error('Registry is not enabled. Enable it in StateManagerOptions.');\n }\n this.registry.destroyScope(scope);\n }\n /**\n * 销毁状态管理器\n */ destroy() {\n if (this.destroyed) {\n return;\n }\n this.destroyed = true;\n // 销毁注册表中的所有实例\n if (this.registry) {\n this.registry.destroyAll();\n }\n // 销毁适配器\n this.adapter.destroy();\n if (this.devMode) {\n console.debug('[StateManager] Destroyed');\n }\n }\n /**\n * 检查状态管理器是否已销毁\n */ isDestroyed() {\n return this.destroyed;\n }\n /**\n * 获取当前使用的适配器\n */ getAdapter() {\n return this.adapter;\n }\n /**\n * 获取注册表(如果启用)\n */ getRegistry() {\n return this.registry;\n }\n /**\n * 构造函数\n * \n * @param options - 状态管理器配置选项\n */ constructor(options = {}){\n /**\n * 默认适配器\n */ _define_property(this, \"adapter\", void 0);\n /**\n * 状态注册表(如果启用)\n */ _define_property(this, \"registry\", void 0);\n /**\n * 默认作用域\n */ _define_property(this, \"defaultScope\", void 0);\n /**\n * 是否启用开发模式\n */ _define_property(this, \"devMode\", void 0);\n /**\n * 是否已销毁\n */ _define_property(this, \"destroyed\", false);\n this.adapter = options.defaultAdapter ?? AdapterFactory.getDefaultAdapter();\n this.defaultScope = options.defaultScope;\n this.devMode = options.devMode ?? false;\n this.registry = options.enableRegistry !== false ? new StateRegistry() : null;\n if (this.devMode) {\n console.debug('[StateManager] Initialized', {\n adapter: this.adapter.getName(),\n registryEnabled: !!this.registry,\n defaultScope: this.defaultScope\n });\n }\n }\n}\n\n//# sourceMappingURL=StateManager.js.map"],"names":["_define_property"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":[],"mappings":""}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { StorageType } from '@vlian/utils';\nexport type StorageOptions = {\n prefix: string;\n defaultExpire: number;\n tableName?: string;\n type?: StorageType;\n};\n"],"names":[],"mappings":"AACA,WAKE"}