sia-reactor 0.0.21 → 0.0.23

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 (38) hide show
  1. package/README.md +115 -89
  2. package/dist/{TimeTravelOverlay-DxqJL0Zk.d.ts → TimeTravelOverlay-Dglcwpg-.d.ts} +9 -8
  3. package/dist/{TimeTravelOverlay-CJv-S_Km.d.cts → TimeTravelOverlay-OjklzuCD.d.cts} +9 -8
  4. package/dist/adapters/react.cjs +74 -91
  5. package/dist/adapters/react.d.cts +23 -22
  6. package/dist/adapters/react.d.ts +23 -22
  7. package/dist/adapters/react.js +3 -3
  8. package/dist/adapters/vanilla.cjs +74 -91
  9. package/dist/adapters/vanilla.d.cts +4 -4
  10. package/dist/adapters/vanilla.d.ts +4 -4
  11. package/dist/adapters/vanilla.js +3 -3
  12. package/dist/{chunk-TFLYCXK4.js → chunk-5JNWC7Z4.js} +14 -13
  13. package/dist/{chunk-DP74DVRT.js → chunk-MKL3JUPO.js} +55 -15
  14. package/dist/{chunk-2WBPGSRL.js → chunk-MSTHQVNK.js} +61 -78
  15. package/dist/{index-Oie9hhE8.d.cts → index-m0aAWxhX.d.cts} +330 -218
  16. package/dist/{index-Oie9hhE8.d.ts → index-m0aAWxhX.d.ts} +330 -218
  17. package/dist/index.cjs +69 -89
  18. package/dist/index.d.cts +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +2 -4
  21. package/dist/{plugins.cjs → modules.cjs} +464 -195
  22. package/dist/modules.d.cts +52 -0
  23. package/dist/modules.d.ts +52 -0
  24. package/dist/modules.js +619 -0
  25. package/dist/super.d.ts +642 -298
  26. package/dist/super.global.js +481 -210
  27. package/dist/timeTravel-DExvNb04.d.ts +352 -0
  28. package/dist/timeTravel-DctvcHVt.d.cts +352 -0
  29. package/dist/utils.cjs +59 -14
  30. package/dist/utils.d.cts +1 -1
  31. package/dist/utils.d.ts +1 -1
  32. package/dist/utils.js +7 -1
  33. package/package.json +6 -6
  34. package/dist/plugins.d.cts +0 -112
  35. package/dist/plugins.d.ts +0 -112
  36. package/dist/plugins.js +0 -370
  37. package/dist/timeTravel-B1vedDQc.d.ts +0 -76
  38. package/dist/timeTravel-WpgWmKu-.d.cts +0 -76
@@ -0,0 +1,52 @@
1
+ import { P as Paths, I as Inert, F as FanoutTuple, B as BaseReactorModule, R as Reactor, a as REvent } from './index-m0aAWxhX.cjs';
2
+ export { b as ReactorModuleConstructor, c as ReactorModuleId } from './index-m0aAWxhX.cjs';
3
+ import { S as StorageAdapter, A as AsyncStorageAdapter, a as StorageAdapterConstructor, b as AsyncStorageAdapterConstructor } from './timeTravel-DctvcHVt.cjs';
4
+ export { B as BaseStorageAdapter, C as COOKIE_ADAPTER_BUILD, c as CookieAdapter, d as CookieAdapterConfig, e as CookieOptions, H as HistoryEntry, I as INDEXED_DB_ADAPTER_BUILD, f as IndexedDBAdapter, g as IndexedDBAdapterConfig, J as JSONReplacer, h as JSONReviver, L as LocalStorageAdapter, M as MemoryAdapter, i as MemoryAdapterConfig, j as SessionStorageAdapter, k as StorageAdapterConfig, T as TIME_TRAVEL_MODULE_BUILD, l as TimeTravelConfig, m as TimeTravelModule, n as TimeTravelState } from './timeTravel-DctvcHVt.cjs';
5
+
6
+ interface PersistConfig<T extends object> {
7
+ /** Whether the persistence is disabled and cleared */
8
+ disabled: boolean;
9
+ /** The key under which to store the persisted data */
10
+ key: string;
11
+ /** Specific paths only, no "*"; instead don't pass anything */
12
+ paths: Paths<T>[];
13
+ /** Storage adapter class or instance to use, can satisfy `instanceof` or just definition, cast to `any` if the latter */
14
+ adapter: Inert<StorageAdapter> | Inert<AsyncStorageAdapter> | Inert<StorageAdapterConstructor> | Inert<AsyncStorageAdapterConstructor>;
15
+ /** Throttle time for saving changes */
16
+ throttle: number;
17
+ /** Fan out restored hydration writes so listeners/effects catch up, defaults to `true` if async for predictability */
18
+ fanout: boolean | FanoutTuple;
19
+ /** - `false`: persist live proxied roots (fastest, adapter must handle proxies).
20
+ * - `true`,`"auto"`: persist via `Reactor.snapshot()` but `true` force-enables `Reactor.config.referenceTracking`+`Reactor.config.smartCloning` for better performance. */
21
+ useSnapshot: boolean | "auto";
22
+ }
23
+ interface PersistState {
24
+ /** Whether the persisted data has been loaded. */
25
+ hydrated: boolean;
26
+ }
27
+ /**
28
+ * - The Storage Manager.
29
+ * - Configurable storage adapters for maximum flexibility (localStorage, sessionStorage, IndexedDB, cookies, custom server persisters, etc.)
30
+ * Path-based persistence for fine-grained control over what gets persisted across single or multiple reactors, merges into a single serialized state tree.
31
+ * When using async adapters, listen to `state.hydrated` (preferably `once`) before the setup of modules that should ignore hydration waves.
32
+ */
33
+ declare class PersistModule<T extends object = any> extends BaseReactorModule<T, PersistConfig<T>, PersistState> {
34
+ static readonly moduleName: string;
35
+ adapter: StorageAdapter | AsyncStorageAdapter;
36
+ protected hydrateSeq: number;
37
+ protected saveTimeoutId: number;
38
+ get payload(): Record<string, any> | undefined;
39
+ constructor(config?: Partial<PersistConfig<T>>, rtr?: Reactor<T>);
40
+ wire(): void;
41
+ protected onAttach(rtr: Reactor<any>): void;
42
+ protected handleAdapter({ value }: REvent<PersistConfig<T>, "adapter">): Promise<void>;
43
+ protected handleDisabled({ value }: REvent<PersistConfig<T>, "disabled">): void;
44
+ protected handlePaths({ value: paths, oldValue: prevs }: REvent<PersistConfig<T>, "paths">): void;
45
+ protected handleSave(e: REvent<any, any>): void;
46
+ /** Clears persisted payload for this module instance and drops any pending save. */
47
+ clear(): void;
48
+ protected onDestroy(): void;
49
+ }
50
+ declare const PERSIST_MODULE_BUILD: Partial<PersistConfig<any>>;
51
+
52
+ export { AsyncStorageAdapter, AsyncStorageAdapterConstructor, BaseReactorModule, PERSIST_MODULE_BUILD, type PersistConfig, PersistModule, StorageAdapter, StorageAdapterConstructor };
@@ -0,0 +1,52 @@
1
+ import { P as Paths, I as Inert, F as FanoutTuple, B as BaseReactorModule, R as Reactor, a as REvent } from './index-m0aAWxhX.js';
2
+ export { b as ReactorModuleConstructor, c as ReactorModuleId } from './index-m0aAWxhX.js';
3
+ import { S as StorageAdapter, A as AsyncStorageAdapter, a as StorageAdapterConstructor, b as AsyncStorageAdapterConstructor } from './timeTravel-DExvNb04.js';
4
+ export { B as BaseStorageAdapter, C as COOKIE_ADAPTER_BUILD, c as CookieAdapter, d as CookieAdapterConfig, e as CookieOptions, H as HistoryEntry, I as INDEXED_DB_ADAPTER_BUILD, f as IndexedDBAdapter, g as IndexedDBAdapterConfig, J as JSONReplacer, h as JSONReviver, L as LocalStorageAdapter, M as MemoryAdapter, i as MemoryAdapterConfig, j as SessionStorageAdapter, k as StorageAdapterConfig, T as TIME_TRAVEL_MODULE_BUILD, l as TimeTravelConfig, m as TimeTravelModule, n as TimeTravelState } from './timeTravel-DExvNb04.js';
5
+
6
+ interface PersistConfig<T extends object> {
7
+ /** Whether the persistence is disabled and cleared */
8
+ disabled: boolean;
9
+ /** The key under which to store the persisted data */
10
+ key: string;
11
+ /** Specific paths only, no "*"; instead don't pass anything */
12
+ paths: Paths<T>[];
13
+ /** Storage adapter class or instance to use, can satisfy `instanceof` or just definition, cast to `any` if the latter */
14
+ adapter: Inert<StorageAdapter> | Inert<AsyncStorageAdapter> | Inert<StorageAdapterConstructor> | Inert<AsyncStorageAdapterConstructor>;
15
+ /** Throttle time for saving changes */
16
+ throttle: number;
17
+ /** Fan out restored hydration writes so listeners/effects catch up, defaults to `true` if async for predictability */
18
+ fanout: boolean | FanoutTuple;
19
+ /** - `false`: persist live proxied roots (fastest, adapter must handle proxies).
20
+ * - `true`,`"auto"`: persist via `Reactor.snapshot()` but `true` force-enables `Reactor.config.referenceTracking`+`Reactor.config.smartCloning` for better performance. */
21
+ useSnapshot: boolean | "auto";
22
+ }
23
+ interface PersistState {
24
+ /** Whether the persisted data has been loaded. */
25
+ hydrated: boolean;
26
+ }
27
+ /**
28
+ * - The Storage Manager.
29
+ * - Configurable storage adapters for maximum flexibility (localStorage, sessionStorage, IndexedDB, cookies, custom server persisters, etc.)
30
+ * Path-based persistence for fine-grained control over what gets persisted across single or multiple reactors, merges into a single serialized state tree.
31
+ * When using async adapters, listen to `state.hydrated` (preferably `once`) before the setup of modules that should ignore hydration waves.
32
+ */
33
+ declare class PersistModule<T extends object = any> extends BaseReactorModule<T, PersistConfig<T>, PersistState> {
34
+ static readonly moduleName: string;
35
+ adapter: StorageAdapter | AsyncStorageAdapter;
36
+ protected hydrateSeq: number;
37
+ protected saveTimeoutId: number;
38
+ get payload(): Record<string, any> | undefined;
39
+ constructor(config?: Partial<PersistConfig<T>>, rtr?: Reactor<T>);
40
+ wire(): void;
41
+ protected onAttach(rtr: Reactor<any>): void;
42
+ protected handleAdapter({ value }: REvent<PersistConfig<T>, "adapter">): Promise<void>;
43
+ protected handleDisabled({ value }: REvent<PersistConfig<T>, "disabled">): void;
44
+ protected handlePaths({ value: paths, oldValue: prevs }: REvent<PersistConfig<T>, "paths">): void;
45
+ protected handleSave(e: REvent<any, any>): void;
46
+ /** Clears persisted payload for this module instance and drops any pending save. */
47
+ clear(): void;
48
+ protected onDestroy(): void;
49
+ }
50
+ declare const PERSIST_MODULE_BUILD: Partial<PersistConfig<any>>;
51
+
52
+ export { AsyncStorageAdapter, AsyncStorageAdapterConstructor, BaseReactorModule, PERSIST_MODULE_BUILD, type PersistConfig, PersistModule, StorageAdapter, StorageAdapterConstructor };