sia-reactor 0.0.24 → 0.0.25

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.
package/README.md CHANGED
@@ -156,21 +156,20 @@ reactor.core.player.volume = 100; // re-assign core if desired
156
156
  All methods are available on `Reactor` instances or objects wrapped in `reactive()`.
157
157
 
158
158
  #### **Mediators (Synchronous Gatekeepers)**
159
- - **`set(path, callback, options)`**: Intercept memory writes. Return a value to modify it, or return `TERMINATOR` to block the write entirely.
160
- - **`get(path, callback, options)`**: Intercept and format data during retrieval.
161
- - **`delete(path, callback, options)`**: Intercept property deletion.
159
+ - **`set(path, callback, options)` <-> `noset(path, callback)`**: Intercept memory writes. Return a value to modify it, or return `TERMINATOR` to block the write entirely.
160
+ - **`get(path, callback, options)` <-> `noget(path, callback)`**: Intercept and format data during retrieval.
161
+ - **`delete(path, callback, options)` <-> `nodelete(path, callback)`**: Intercept property deletion.
162
162
 
163
163
  #### **Watchers (Synchronous Observers)**
164
- - **`watch(path, callback, options)`**: Fires instantly after a mutation. Use strictly for critical internal engine syncing on leaf paths preferably, sees only direct operations.
164
+ - **`watch(path, callback, options)` <-> `nowatch(path, callback)`**: Fires instantly after a mutation. Use strictly for critical internal engine syncing on leaf paths preferably, sees only direct operations.
165
165
 
166
166
  #### **Listeners (Asynchronous/Batched UI Observers)**
167
- - **`on(path, callback, options)`**: Attach DOM-style event listeners that respect `depth`. Supports `{ capture: true, depth: 1, once: true, immediate: true }`.
168
- - **`once(path, callback, options)`**: Fires once and self-destructs.
169
- - **`off(path, callback, options)`**: Removes a listener.
167
+ - **`on(path, callback, options)` <-> `off(path, callback, options)`**: Attach DOM-style event listeners that respect `depth`. Supports `{ capture: true, depth: 1, once: true, immediate: true }`.
168
+ - **`once(path, callback, options)`**: Fires once and self-destructs, others have too: `sonce(...)`, `gonce(...)`, `donce(...)`, `wonce(...)`.
170
169
 
171
170
  #### **Lifecycle & Utilities**
172
171
  - **`tick(path)`**: Forces a synchronous flush of the batch queue for a specific path.
173
- - **`stall(task)` / `nostall(task)`**: Manually stall the queue to wait for calculations before rendering.
172
+ - **`stall(task)` <-> `nostall(task)`**: Manually stall the queue to wait for calculations before rendering.
174
173
  - **`snapshot(raw)`**: Generates a strict, structurally-shared, un-proxied clone of the current state tree.
175
174
  - **`use(new ReactorModule(config), id)`**: Allows extended behaviour with external logic.
176
175
  - **`reset()`**: Clears all records bringing everything back to a clean slate.
@@ -178,18 +177,18 @@ All methods are available on `Reactor` instances or objects wrapped in `reactive
178
177
 
179
178
  ### Memory & Granular Control Flags
180
179
 
181
- You can wrap properties in special flags *before* initializing the reactor to dictate exactly how the Proxy treats them.
180
+ You can wrap properties in special flags *before* initializing the reactor to dictate exactly how the Proxy treats them. e.g. `reactive(volatile(intent({ behavior: "auto" })))`, e.t.c.
182
181
 
183
- - **`inert(obj)` / `live(obj)`**: Tells the proxy to completely ignore an object. It will not be deeply tracked.
184
- - **`intent(obj)` / `state(obj)`**: Marks an object as rejectable. Allows listeners to call `e.reject()` during the Capture phase.
185
- - **`volatile(obj)` / `stable(obj)`**: Forces the reactor to fire event waves even if the new value is identical to the old value (bypassing the Proxy's unchanged performance check).
182
+ - **`intent(obj)` <-> `state(obj)`**: Marks an object as rejectable. Allows listeners to call `e.reject()` during the Capture phase.
183
+ - **`inert(obj)` <-> `live(obj)`**: Tells the proxy to completely ignore an object. It will not be deeply tracked.
184
+ - **`volatile(obj)` <-> `stable(obj)`**: Forces the reactor to fire event waves even if the new value is identical to the old value (bypassing the Proxy's unchanged performance check).
186
185
 
187
186
  ```javascript
188
187
  import { reactive, intent, volatile, inert } from "sia-reactor";
189
188
 
190
189
  const data = reactive({
191
190
  apiResponse: inert({ heavy: "data" }), // Proxy won't traverse this
192
- userWish: intent({ flying: false }), // Can be rejected by a Higher Power
191
+ userWish: intent({ flying: false }), // Can be rejected by a Handler or a Higher Power
193
192
  trigger: volatile({ clickCount: 0 }) // Fires events even if set to 0 again
194
193
  });
195
194
  ```
@@ -1,8 +1,8 @@
1
- import { d as Reactive } from './index-CDRimfvj.cjs';
2
- import { m as TimeTravelModule } from './timeTravel-CVgE6N0I.cjs';
1
+ import { d as Reactive } from './index-CB-IiZIB.cjs';
2
+ import { m as TimeTravelModule } from './timeTravel-CEc3grUE.cjs';
3
3
 
4
4
  /** Reactive options for the TimeTravel overlay instance. */
5
- interface TimeTravelConfig {
5
+ interface TimeTravelOverlayConfig {
6
6
  /** Header text shown at the top of the overlay panel. */
7
7
  title: string;
8
8
  /** Accent color used to derive panel theme variables. */
@@ -22,7 +22,7 @@ interface TimeTravelConfig {
22
22
  declare class TimeTravelOverlay {
23
23
  static count: number;
24
24
  index: number;
25
- config: TimeTravelConfig;
25
+ config: TimeTravelOverlayConfig;
26
26
  readonly state: Reactive<{
27
27
  open: boolean;
28
28
  import: string;
@@ -35,8 +35,8 @@ declare class TimeTravelOverlay {
35
35
  * @param time TimeTravel module instance that owns timeline operations.
36
36
  * @param build Optional initial overlay config overrides.
37
37
  */
38
- constructor(time: TimeTravelModule, build?: Partial<TimeTravelConfig>);
38
+ constructor(time: TimeTravelModule, build?: Partial<TimeTravelOverlayConfig>);
39
39
  destroy(): void;
40
40
  }
41
41
 
42
- export { type TimeTravelConfig as T, TimeTravelOverlay as a };
42
+ export { TimeTravelOverlay as T, type TimeTravelOverlayConfig as a };
@@ -1,8 +1,8 @@
1
- import { d as Reactive } from './index-CDRimfvj.js';
2
- import { m as TimeTravelModule } from './timeTravel-Cb8MHdYz.js';
1
+ import { d as Reactive } from './index-CB-IiZIB.js';
2
+ import { m as TimeTravelModule } from './timeTravel-D7NiYqdD.js';
3
3
 
4
4
  /** Reactive options for the TimeTravel overlay instance. */
5
- interface TimeTravelConfig {
5
+ interface TimeTravelOverlayConfig {
6
6
  /** Header text shown at the top of the overlay panel. */
7
7
  title: string;
8
8
  /** Accent color used to derive panel theme variables. */
@@ -22,7 +22,7 @@ interface TimeTravelConfig {
22
22
  declare class TimeTravelOverlay {
23
23
  static count: number;
24
24
  index: number;
25
- config: TimeTravelConfig;
25
+ config: TimeTravelOverlayConfig;
26
26
  readonly state: Reactive<{
27
27
  open: boolean;
28
28
  import: string;
@@ -35,8 +35,8 @@ declare class TimeTravelOverlay {
35
35
  * @param time TimeTravel module instance that owns timeline operations.
36
36
  * @param build Optional initial overlay config overrides.
37
37
  */
38
- constructor(time: TimeTravelModule, build?: Partial<TimeTravelConfig>);
38
+ constructor(time: TimeTravelModule, build?: Partial<TimeTravelOverlayConfig>);
39
39
  destroy(): void;
40
40
  }
41
41
 
42
- export { type TimeTravelConfig as T, TimeTravelOverlay as a };
42
+ export { TimeTravelOverlay as T, type TimeTravelOverlayConfig as a };
@@ -1,7 +1,7 @@
1
- import { E as EffectOptions, R as Reactor, d as Reactive, v as ReactorBuild, D as DeepReadonly, W as WildPaths, e as PathValue } from '../index-CDRimfvj.cjs';
1
+ import { E as EffectOptions, R as Reactor, d as Reactive, v as ReactorBuild, D as DeepReadonly, W as WildPaths, e as PathValue } from '../index-CB-IiZIB.cjs';
2
2
  import { useLayoutEffect } from 'react';
3
- import { m as TimeTravelModule } from '../timeTravel-CVgE6N0I.cjs';
4
- import { T as TimeTravelConfig } from '../TimeTravelOverlay-XwZju4iS.cjs';
3
+ import { m as TimeTravelModule } from '../timeTravel-CEc3grUE.cjs';
4
+ import { a as TimeTravelOverlayConfig } from '../TimeTravelOverlay-Bz2v9hov.cjs';
5
5
 
6
6
  /**
7
7
  * Subscribes a component to desired Reactor state and returns it.
@@ -132,7 +132,7 @@ declare function usePath<T extends object, P extends WildPaths<T>>(target: T | R
132
132
  declare const useISOLayoutEffect: typeof useLayoutEffect;
133
133
 
134
134
  /** React props for controlling the vanilla TimeTravel overlay. */
135
- interface TimeTravelOverlayProps extends Partial<TimeTravelConfig> {
135
+ interface TimeTravelOverlayProps extends Partial<TimeTravelOverlayConfig> {
136
136
  /** Module instance controlled by this overlay bridge. */
137
137
  time: TimeTravelModule;
138
138
  }
@@ -1,7 +1,7 @@
1
- import { E as EffectOptions, R as Reactor, d as Reactive, v as ReactorBuild, D as DeepReadonly, W as WildPaths, e as PathValue } from '../index-CDRimfvj.js';
1
+ import { E as EffectOptions, R as Reactor, d as Reactive, v as ReactorBuild, D as DeepReadonly, W as WildPaths, e as PathValue } from '../index-CB-IiZIB.js';
2
2
  import { useLayoutEffect } from 'react';
3
- import { m as TimeTravelModule } from '../timeTravel-Cb8MHdYz.js';
4
- import { T as TimeTravelConfig } from '../TimeTravelOverlay-BdJMMcX9.js';
3
+ import { m as TimeTravelModule } from '../timeTravel-D7NiYqdD.js';
4
+ import { a as TimeTravelOverlayConfig } from '../TimeTravelOverlay-CvTDJWpP.js';
5
5
 
6
6
  /**
7
7
  * Subscribes a component to desired Reactor state and returns it.
@@ -132,7 +132,7 @@ declare function usePath<T extends object, P extends WildPaths<T>>(target: T | R
132
132
  declare const useISOLayoutEffect: typeof useLayoutEffect;
133
133
 
134
134
  /** React props for controlling the vanilla TimeTravel overlay. */
135
- interface TimeTravelOverlayProps extends Partial<TimeTravelConfig> {
135
+ interface TimeTravelOverlayProps extends Partial<TimeTravelOverlayConfig> {
136
136
  /** Module instance controlled by this overlay bridge. */
137
137
  time: TimeTravelModule;
138
138
  }
@@ -2,10 +2,10 @@ import {
2
2
  Autotracker,
3
3
  TimeTravelOverlay,
4
4
  withTracker
5
- } from "../chunk-6V5NR37Q.js";
5
+ } from "../chunk-MWC3R7QL.js";
6
6
  import {
7
7
  getReactor
8
- } from "../chunk-4FES5IIH.js";
8
+ } from "../chunk-3UHI7CNE.js";
9
9
  import "../chunk-5A44QFT6.js";
10
10
  import "../chunk-P37ADJMM.js";
11
11
  import {
@@ -1,7 +1,7 @@
1
- import { E as EffectOptions } from '../index-CDRimfvj.cjs';
2
- export { A as Autotracker, w as withTracker } from '../index-CDRimfvj.cjs';
3
- export { T as TimeTravelConfig, a as TimeTravelOverlay } from '../TimeTravelOverlay-XwZju4iS.cjs';
4
- import '../timeTravel-CVgE6N0I.cjs';
1
+ import { E as EffectOptions } from '../index-CB-IiZIB.cjs';
2
+ export { A as Autotracker, w as withTracker } from '../index-CB-IiZIB.cjs';
3
+ export { T as TimeTravelOverlay, a as TimeTravelOverlayConfig } from '../TimeTravelOverlay-Bz2v9hov.cjs';
4
+ import '../timeTravel-CEc3grUE.cjs';
5
5
 
6
6
  /**
7
7
  * Runs a reactive side effect in vanilla JavaScript.
@@ -1,7 +1,7 @@
1
- import { E as EffectOptions } from '../index-CDRimfvj.js';
2
- export { A as Autotracker, w as withTracker } from '../index-CDRimfvj.js';
3
- export { T as TimeTravelConfig, a as TimeTravelOverlay } from '../TimeTravelOverlay-BdJMMcX9.js';
4
- import '../timeTravel-Cb8MHdYz.js';
1
+ import { E as EffectOptions } from '../index-CB-IiZIB.js';
2
+ export { A as Autotracker, w as withTracker } from '../index-CB-IiZIB.js';
3
+ export { T as TimeTravelOverlay, a as TimeTravelOverlayConfig } from '../TimeTravelOverlay-CvTDJWpP.js';
4
+ import '../timeTravel-D7NiYqdD.js';
5
5
 
6
6
  /**
7
7
  * Runs a reactive side effect in vanilla JavaScript.
@@ -3,8 +3,8 @@ import {
3
3
  TimeTravelOverlay,
4
4
  effect,
5
5
  withTracker
6
- } from "../chunk-6V5NR37Q.js";
7
- import "../chunk-4FES5IIH.js";
6
+ } from "../chunk-MWC3R7QL.js";
7
+ import "../chunk-3UHI7CNE.js";
8
8
  import "../chunk-5A44QFT6.js";
9
9
  import "../chunk-P37ADJMM.js";
10
10
  import "../chunk-EZ4VRGYI.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  reactive
3
- } from "./chunk-4FES5IIH.js";
3
+ } from "./chunk-3UHI7CNE.js";
4
4
  import {
5
5
  createEl,
6
6
  formatKeyForDisplay,
@@ -19,7 +19,7 @@ type Paths<T, S extends string = ".", D extends number = MaxDepth> = [D] extends
19
19
  : T extends NoTraverse
20
20
  ? never
21
21
  : T extends readonly (infer U)[]
22
- ? `${Extract<keyof T, number>}` | `${Extract<keyof T, number>}${S}${Paths<U, S, PrevDepth[D]>}`
22
+ ? `${Extract<keyof T, number>}` | `${Extract<keyof T, number>}${S}${Paths<U, S, PrevDepth[D]>}` // or just `${number}`
23
23
  : {
24
24
  [K in keyof T & (string | number)]: T[K] extends Primitive
25
25
  ? `${K}`
@@ -36,7 +36,8 @@ type ChildPaths<
36
36
  > = Extract<
37
37
  Paths<T, S, AddDepth<PathDepth<P, S>, D>>,
38
38
  `${P extends "*" ? "" : P}${P extends "*" ? "" : S}${string}`
39
- >;
39
+ > &
40
+ Paths<T, S>; // bundlers can shutup and just believe
40
41
 
41
42
  /** Leaf key name extracted from a path. */
42
43
  type PathKey<T, P extends string = Paths<T>, S extends string = "."> = P extends "*"
@@ -212,7 +213,7 @@ type DeepReadonly<T, D extends number = MaxDepth> = [D] extends [0]
212
213
 
213
214
  /** Config for defining recursive limits for all parts of the application */
214
215
  interface DepthConfig {
215
- max: 11; // 19 is observed bundler recursive limit for state trees
216
+ max: 11; // 19 is observed bundler recursive limit for state trees so, raise amm!!!
216
217
  prev: [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];
217
218
  next: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
218
219
  }
@@ -356,24 +357,6 @@ type Reactive<T extends object, P extends ReactivePreferences | undefined = unde
356
357
  * const state = reactive(rtr);
357
358
  */
358
359
  declare function reactive<T extends object, const P extends ReactivePreferences | undefined = undefined>(target: T, build?: ReactorBuild<T>, preferences?: P): T extends Reactive<infer O, infer P> ? T : Reactive<T, P>;
359
- /**
360
- * Marks an object as inert so it is skipped by proxy mediation.
361
- * @param target Object to mark.
362
- * @returns The same object with inert typing.
363
- */
364
- declare function inert<T extends object>(target: T): Inert<T>;
365
- /**
366
- * Removes the inert marker from an object.
367
- * @param target Object to unmark.
368
- * @returns The same object with live typing.
369
- */
370
- declare function live<T extends object>(target: T): Live<T>;
371
- /**
372
- * Checks whether an object is marked as inert.
373
- * @param target Object to test.
374
- * @returns `true` when inert.
375
- */
376
- declare function isInert<T extends object>(target?: T): target is Inert<T>;
377
360
  /**
378
361
  * Marks an object as intent (rejectable).
379
362
  * @param target Object to mark.
@@ -392,6 +375,24 @@ declare function state<T extends object>(target: T): State<T>;
392
375
  * @returns `true` when marked as intent.
393
376
  */
394
377
  declare function isIntent<T extends object>(target?: T): target is Intent<T>;
378
+ /**
379
+ * Marks an object as inert so it is skipped by proxy mediation.
380
+ * @param target Object to mark.
381
+ * @returns The same object with inert typing.
382
+ */
383
+ declare function inert<T extends object>(target: T): Inert<T>;
384
+ /**
385
+ * Removes the inert marker from an object.
386
+ * @param target Object to unmark.
387
+ * @returns The same object with live typing.
388
+ */
389
+ declare function live<T extends object>(target: T): Live<T>;
390
+ /**
391
+ * Checks whether an object is marked as inert.
392
+ * @param target Object to test.
393
+ * @returns `true` when inert.
394
+ */
395
+ declare function isInert<T extends object>(target?: T): target is Inert<T>;
395
396
  /**
396
397
  * Marks an object as volatile (indiffable enabled).
397
398
  * @param target Object to mark.
@@ -557,9 +558,11 @@ type Watcher<T, P extends WildPaths<T> = WildPaths<T>> = (
557
558
  ) => void;
558
559
 
559
560
  /** Listener callback (batched/asynchronous by default). */
560
- type Listener<T, P extends WildPaths<T> = WildPaths<T>, D extends number = MaxDepth> = (
561
- event: REvent<T, P, D>
562
- ) => void;
561
+ type Listener<
562
+ T extends object,
563
+ P extends WildPaths<T> = WildPaths<T>,
564
+ D extends number = MaxDepth
565
+ > = (event: REvent<T, P, D>) => void;
563
566
 
564
567
  // ===========================================================================
565
568
  // ENGINE RECORDS (Internal Storage)
@@ -19,7 +19,7 @@ type Paths<T, S extends string = ".", D extends number = MaxDepth> = [D] extends
19
19
  : T extends NoTraverse
20
20
  ? never
21
21
  : T extends readonly (infer U)[]
22
- ? `${Extract<keyof T, number>}` | `${Extract<keyof T, number>}${S}${Paths<U, S, PrevDepth[D]>}`
22
+ ? `${Extract<keyof T, number>}` | `${Extract<keyof T, number>}${S}${Paths<U, S, PrevDepth[D]>}` // or just `${number}`
23
23
  : {
24
24
  [K in keyof T & (string | number)]: T[K] extends Primitive
25
25
  ? `${K}`
@@ -36,7 +36,8 @@ type ChildPaths<
36
36
  > = Extract<
37
37
  Paths<T, S, AddDepth<PathDepth<P, S>, D>>,
38
38
  `${P extends "*" ? "" : P}${P extends "*" ? "" : S}${string}`
39
- >;
39
+ > &
40
+ Paths<T, S>; // bundlers can shutup and just believe
40
41
 
41
42
  /** Leaf key name extracted from a path. */
42
43
  type PathKey<T, P extends string = Paths<T>, S extends string = "."> = P extends "*"
@@ -212,7 +213,7 @@ type DeepReadonly<T, D extends number = MaxDepth> = [D] extends [0]
212
213
 
213
214
  /** Config for defining recursive limits for all parts of the application */
214
215
  interface DepthConfig {
215
- max: 11; // 19 is observed bundler recursive limit for state trees
216
+ max: 11; // 19 is observed bundler recursive limit for state trees so, raise amm!!!
216
217
  prev: [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];
217
218
  next: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
218
219
  }
@@ -356,24 +357,6 @@ type Reactive<T extends object, P extends ReactivePreferences | undefined = unde
356
357
  * const state = reactive(rtr);
357
358
  */
358
359
  declare function reactive<T extends object, const P extends ReactivePreferences | undefined = undefined>(target: T, build?: ReactorBuild<T>, preferences?: P): T extends Reactive<infer O, infer P> ? T : Reactive<T, P>;
359
- /**
360
- * Marks an object as inert so it is skipped by proxy mediation.
361
- * @param target Object to mark.
362
- * @returns The same object with inert typing.
363
- */
364
- declare function inert<T extends object>(target: T): Inert<T>;
365
- /**
366
- * Removes the inert marker from an object.
367
- * @param target Object to unmark.
368
- * @returns The same object with live typing.
369
- */
370
- declare function live<T extends object>(target: T): Live<T>;
371
- /**
372
- * Checks whether an object is marked as inert.
373
- * @param target Object to test.
374
- * @returns `true` when inert.
375
- */
376
- declare function isInert<T extends object>(target?: T): target is Inert<T>;
377
360
  /**
378
361
  * Marks an object as intent (rejectable).
379
362
  * @param target Object to mark.
@@ -392,6 +375,24 @@ declare function state<T extends object>(target: T): State<T>;
392
375
  * @returns `true` when marked as intent.
393
376
  */
394
377
  declare function isIntent<T extends object>(target?: T): target is Intent<T>;
378
+ /**
379
+ * Marks an object as inert so it is skipped by proxy mediation.
380
+ * @param target Object to mark.
381
+ * @returns The same object with inert typing.
382
+ */
383
+ declare function inert<T extends object>(target: T): Inert<T>;
384
+ /**
385
+ * Removes the inert marker from an object.
386
+ * @param target Object to unmark.
387
+ * @returns The same object with live typing.
388
+ */
389
+ declare function live<T extends object>(target: T): Live<T>;
390
+ /**
391
+ * Checks whether an object is marked as inert.
392
+ * @param target Object to test.
393
+ * @returns `true` when inert.
394
+ */
395
+ declare function isInert<T extends object>(target?: T): target is Inert<T>;
395
396
  /**
396
397
  * Marks an object as volatile (indiffable enabled).
397
398
  * @param target Object to mark.
@@ -557,9 +558,11 @@ type Watcher<T, P extends WildPaths<T> = WildPaths<T>> = (
557
558
  ) => void;
558
559
 
559
560
  /** Listener callback (batched/asynchronous by default). */
560
- type Listener<T, P extends WildPaths<T> = WildPaths<T>, D extends number = MaxDepth> = (
561
- event: REvent<T, P, D>
562
- ) => void;
561
+ type Listener<
562
+ T extends object,
563
+ P extends WildPaths<T> = WildPaths<T>,
564
+ D extends number = MaxDepth
565
+ > = (event: REvent<T, P, D>) => void;
563
566
 
564
567
  // ===========================================================================
565
568
  // ENGINE RECORDS (Internal Storage)
package/dist/index.cjs CHANGED
@@ -886,15 +886,6 @@ function reactive(target, build, preferences = NIL) {
886
886
  descriptors["__Reactor__"] = { value: rtr, ...locks };
887
887
  return Object.defineProperties(rtr.core, descriptors), rtr.core;
888
888
  }
889
- function inert(target) {
890
- return getRaw(target)[INERTIA] = true, target;
891
- }
892
- function live(target) {
893
- return delete getRaw(target)[INERTIA], target;
894
- }
895
- function isInert(target = NIL) {
896
- return !!getRaw(target)[INERTIA];
897
- }
898
889
  function intent(target) {
899
890
  return getRaw(target)[REJECTABLE] = true, target;
900
891
  }
@@ -904,6 +895,15 @@ function state(target) {
904
895
  function isIntent(target = NIL) {
905
896
  return !!getRaw(target)[REJECTABLE];
906
897
  }
898
+ function inert(target) {
899
+ return getRaw(target)[INERTIA] = true, target;
900
+ }
901
+ function live(target) {
902
+ return delete getRaw(target)[INERTIA], target;
903
+ }
904
+ function isInert(target = NIL) {
905
+ return !!getRaw(target)[INERTIA];
906
+ }
907
907
  function volatile(target) {
908
908
  return getRaw(target)[INDIFFABLE] = true, target;
909
909
  }
package/dist/index.d.cts CHANGED
@@ -1 +1 @@
1
- export { x as AddDepth, C as CTX, y as ChildPaths, z as DeepKeys, G as DeepMerge, H as DeepPartial, D as DeepReadonly, J as DeepRequired, K as Deleter, L as DeleterRecord, M as DepthConfig, N as DirectPayload, O as EVT_OPTS, E as EffectOptions, Q as Getter, S as GetterRecord, T as INDIFFABLE, U as INERTIA, I as Inert, V as Intent, X as Listener, Y as ListenerOptions, Z as ListenerOptionsTuple, _ as ListenerRecord, $ as Live, a0 as MaxDepth, a1 as NIL, a2 as NOOP, a3 as NextDepth, a4 as NoTraverse, a5 as PathBranch, a6 as PathBranchValue, a7 as PathDepth, a8 as PathKey, a9 as PathLeaf, e as PathValue, P as Paths, aa as Payload, ab as PrevDepth, ac as Primitive, ad as RAW, ae as REJECTABLE, a as REvent, af as RTR_BATCH, ag as RTR_LOG, d as Reactive, ah as ReactivePreferences, R as Reactor, v as ReactorBuild, ai as ReactorEvent, aj as SSVERSION, ak as Setter, al as SetterRecord, am as Stable, an as State, ao as StrictPathKey, ap as SubtractDepth, aq as SyncOptions, ar as SyncOptionsTuple, as as TERMINATOR, at as Target, au as Unflatten, av as UnionToIntersection, aw as UpdatePayload, ax as VERSION, ay as Volatile, az as Watcher, aA as WatcherRecord, W as WildPaths, aB as getRaw, aC as getSnapshotVersion, aD as getVersion, aE as inert, aF as intent, aG as isInert, aH as isIntent, aI as isVolatile, aJ as live, aK as methods, aL as reactive, aM as stable, aN as state, aO as volatile } from './index-CDRimfvj.cjs';
1
+ export { x as AddDepth, C as CTX, y as ChildPaths, z as DeepKeys, G as DeepMerge, H as DeepPartial, D as DeepReadonly, J as DeepRequired, K as Deleter, L as DeleterRecord, M as DepthConfig, N as DirectPayload, O as EVT_OPTS, E as EffectOptions, Q as Getter, S as GetterRecord, T as INDIFFABLE, U as INERTIA, I as Inert, V as Intent, X as Listener, Y as ListenerOptions, Z as ListenerOptionsTuple, _ as ListenerRecord, $ as Live, a0 as MaxDepth, a1 as NIL, a2 as NOOP, a3 as NextDepth, a4 as NoTraverse, a5 as PathBranch, a6 as PathBranchValue, a7 as PathDepth, a8 as PathKey, a9 as PathLeaf, e as PathValue, P as Paths, aa as Payload, ab as PrevDepth, ac as Primitive, ad as RAW, ae as REJECTABLE, a as REvent, af as RTR_BATCH, ag as RTR_LOG, d as Reactive, ah as ReactivePreferences, R as Reactor, v as ReactorBuild, ai as ReactorEvent, aj as SSVERSION, ak as Setter, al as SetterRecord, am as Stable, an as State, ao as StrictPathKey, ap as SubtractDepth, aq as SyncOptions, ar as SyncOptionsTuple, as as TERMINATOR, at as Target, au as Unflatten, av as UnionToIntersection, aw as UpdatePayload, ax as VERSION, ay as Volatile, az as Watcher, aA as WatcherRecord, W as WildPaths, aB as getRaw, aC as getSnapshotVersion, aD as getVersion, aE as inert, aF as intent, aG as isInert, aH as isIntent, aI as isVolatile, aJ as live, aK as methods, aL as reactive, aM as stable, aN as state, aO as volatile } from './index-CB-IiZIB.cjs';
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { x as AddDepth, C as CTX, y as ChildPaths, z as DeepKeys, G as DeepMerge, H as DeepPartial, D as DeepReadonly, J as DeepRequired, K as Deleter, L as DeleterRecord, M as DepthConfig, N as DirectPayload, O as EVT_OPTS, E as EffectOptions, Q as Getter, S as GetterRecord, T as INDIFFABLE, U as INERTIA, I as Inert, V as Intent, X as Listener, Y as ListenerOptions, Z as ListenerOptionsTuple, _ as ListenerRecord, $ as Live, a0 as MaxDepth, a1 as NIL, a2 as NOOP, a3 as NextDepth, a4 as NoTraverse, a5 as PathBranch, a6 as PathBranchValue, a7 as PathDepth, a8 as PathKey, a9 as PathLeaf, e as PathValue, P as Paths, aa as Payload, ab as PrevDepth, ac as Primitive, ad as RAW, ae as REJECTABLE, a as REvent, af as RTR_BATCH, ag as RTR_LOG, d as Reactive, ah as ReactivePreferences, R as Reactor, v as ReactorBuild, ai as ReactorEvent, aj as SSVERSION, ak as Setter, al as SetterRecord, am as Stable, an as State, ao as StrictPathKey, ap as SubtractDepth, aq as SyncOptions, ar as SyncOptionsTuple, as as TERMINATOR, at as Target, au as Unflatten, av as UnionToIntersection, aw as UpdatePayload, ax as VERSION, ay as Volatile, az as Watcher, aA as WatcherRecord, W as WildPaths, aB as getRaw, aC as getSnapshotVersion, aD as getVersion, aE as inert, aF as intent, aG as isInert, aH as isIntent, aI as isVolatile, aJ as live, aK as methods, aL as reactive, aM as stable, aN as state, aO as volatile } from './index-CDRimfvj.js';
1
+ export { x as AddDepth, C as CTX, y as ChildPaths, z as DeepKeys, G as DeepMerge, H as DeepPartial, D as DeepReadonly, J as DeepRequired, K as Deleter, L as DeleterRecord, M as DepthConfig, N as DirectPayload, O as EVT_OPTS, E as EffectOptions, Q as Getter, S as GetterRecord, T as INDIFFABLE, U as INERTIA, I as Inert, V as Intent, X as Listener, Y as ListenerOptions, Z as ListenerOptionsTuple, _ as ListenerRecord, $ as Live, a0 as MaxDepth, a1 as NIL, a2 as NOOP, a3 as NextDepth, a4 as NoTraverse, a5 as PathBranch, a6 as PathBranchValue, a7 as PathDepth, a8 as PathKey, a9 as PathLeaf, e as PathValue, P as Paths, aa as Payload, ab as PrevDepth, ac as Primitive, ad as RAW, ae as REJECTABLE, a as REvent, af as RTR_BATCH, ag as RTR_LOG, d as Reactive, ah as ReactivePreferences, R as Reactor, v as ReactorBuild, ai as ReactorEvent, aj as SSVERSION, ak as Setter, al as SetterRecord, am as Stable, an as State, ao as StrictPathKey, ap as SubtractDepth, aq as SyncOptions, ar as SyncOptionsTuple, as as TERMINATOR, at as Target, au as Unflatten, av as UnionToIntersection, aw as UpdatePayload, ax as VERSION, ay as Volatile, az as Watcher, aA as WatcherRecord, W as WildPaths, aB as getRaw, aC as getSnapshotVersion, aD as getVersion, aE as inert, aF as intent, aG as isInert, aH as isIntent, aI as isVolatile, aJ as live, aK as methods, aL as reactive, aM as stable, aN as state, aO as volatile } from './index-CB-IiZIB.js';
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  stable,
16
16
  state,
17
17
  volatile
18
- } from "./chunk-4FES5IIH.js";
18
+ } from "./chunk-3UHI7CNE.js";
19
19
  import {
20
20
  CTX,
21
21
  EVT_OPTS,
@@ -1,7 +1,7 @@
1
- import { P as Paths, I as Inert, F as FanoutTuple, B as BaseReactorModule, R as Reactor, a as REvent } from './index-CDRimfvj.cjs';
2
- export { b as ReactorModuleConstructor, c as ReactorModuleId } from './index-CDRimfvj.cjs';
3
- import { S as StorageAdapter, A as AsyncStorageAdapter, a as StorageAdapterConstructor, b as AsyncStorageAdapterConstructor } from './timeTravel-CVgE6N0I.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-CVgE6N0I.cjs';
1
+ import { P as Paths, I as Inert, F as FanoutTuple, B as BaseReactorModule, R as Reactor, a as REvent } from './index-CB-IiZIB.cjs';
2
+ export { b as ReactorModuleConstructor, c as ReactorModuleId } from './index-CB-IiZIB.cjs';
3
+ import { S as StorageAdapter, A as AsyncStorageAdapter, a as StorageAdapterConstructor, b as AsyncStorageAdapterConstructor } from './timeTravel-CEc3grUE.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-CEc3grUE.cjs';
5
5
 
6
6
  interface PersistConfig<T extends object, P extends Paths<T> = Paths<T>> {
7
7
  /** Whether the persistence is disabled and cleared */
package/dist/modules.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { P as Paths, I as Inert, F as FanoutTuple, B as BaseReactorModule, R as Reactor, a as REvent } from './index-CDRimfvj.js';
2
- export { b as ReactorModuleConstructor, c as ReactorModuleId } from './index-CDRimfvj.js';
3
- import { S as StorageAdapter, A as AsyncStorageAdapter, a as StorageAdapterConstructor, b as AsyncStorageAdapterConstructor } from './timeTravel-Cb8MHdYz.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-Cb8MHdYz.js';
1
+ import { P as Paths, I as Inert, F as FanoutTuple, B as BaseReactorModule, R as Reactor, a as REvent } from './index-CB-IiZIB.js';
2
+ export { b as ReactorModuleConstructor, c as ReactorModuleId } from './index-CB-IiZIB.js';
3
+ import { S as StorageAdapter, A as AsyncStorageAdapter, a as StorageAdapterConstructor, b as AsyncStorageAdapterConstructor } from './timeTravel-D7NiYqdD.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-D7NiYqdD.js';
5
5
 
6
6
  interface PersistConfig<T extends object, P extends Paths<T> = Paths<T>> {
7
7
  /** Whether the persistence is disabled and cleared */
package/dist/modules.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getReactor,
3
3
  reactive
4
- } from "./chunk-4FES5IIH.js";
4
+ } from "./chunk-3UHI7CNE.js";
5
5
  import {
6
6
  clamp,
7
7
  guardAllMethods,
package/dist/super.d.ts CHANGED
@@ -19,7 +19,7 @@ type Paths<T, S extends string = ".", D extends number = MaxDepth> = [D] extends
19
19
  : T extends NoTraverse
20
20
  ? never
21
21
  : T extends readonly (infer U)[]
22
- ? `${Extract<keyof T, number>}` | `${Extract<keyof T, number>}${S}${Paths<U, S, PrevDepth[D]>}`
22
+ ? `${Extract<keyof T, number>}` | `${Extract<keyof T, number>}${S}${Paths<U, S, PrevDepth[D]>}` // or just `${number}`
23
23
  : {
24
24
  [K in keyof T & (string | number)]: T[K] extends Primitive
25
25
  ? `${K}`
@@ -36,7 +36,8 @@ type ChildPaths<
36
36
  > = Extract<
37
37
  Paths<T, S, AddDepth<PathDepth<P, S>, D>>,
38
38
  `${P extends "*" ? "" : P}${P extends "*" ? "" : S}${string}`
39
- >;
39
+ > &
40
+ Paths<T, S>; // bundlers can shutup and just believe
40
41
 
41
42
  /** Leaf key name extracted from a path. */
42
43
  type PathKey<T, P extends string = Paths<T>, S extends string = "."> = P extends "*"
@@ -212,7 +213,7 @@ type DeepReadonly<T, D extends number = MaxDepth> = [D] extends [0]
212
213
 
213
214
  /** Config for defining recursive limits for all parts of the application */
214
215
  interface DepthConfig {
215
- max: 11; // 19 is observed bundler recursive limit for state trees
216
+ max: 11; // 19 is observed bundler recursive limit for state trees so, raise amm!!!
216
217
  prev: [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19];
217
218
  next: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20];
218
219
  }
@@ -356,24 +357,6 @@ type Reactive<T extends object, P extends ReactivePreferences | undefined = unde
356
357
  * const state = reactive(rtr);
357
358
  */
358
359
  declare function reactive<T extends object, const P extends ReactivePreferences | undefined = undefined>(target: T, build?: ReactorBuild<T>, preferences?: P): T extends Reactive<infer O, infer P> ? T : Reactive<T, P>;
359
- /**
360
- * Marks an object as inert so it is skipped by proxy mediation.
361
- * @param target Object to mark.
362
- * @returns The same object with inert typing.
363
- */
364
- declare function inert<T extends object>(target: T): Inert<T>;
365
- /**
366
- * Removes the inert marker from an object.
367
- * @param target Object to unmark.
368
- * @returns The same object with live typing.
369
- */
370
- declare function live<T extends object>(target: T): Live<T>;
371
- /**
372
- * Checks whether an object is marked as inert.
373
- * @param target Object to test.
374
- * @returns `true` when inert.
375
- */
376
- declare function isInert<T extends object>(target?: T): target is Inert<T>;
377
360
  /**
378
361
  * Marks an object as intent (rejectable).
379
362
  * @param target Object to mark.
@@ -392,6 +375,24 @@ declare function state<T extends object>(target: T): State<T>;
392
375
  * @returns `true` when marked as intent.
393
376
  */
394
377
  declare function isIntent<T extends object>(target?: T): target is Intent<T>;
378
+ /**
379
+ * Marks an object as inert so it is skipped by proxy mediation.
380
+ * @param target Object to mark.
381
+ * @returns The same object with inert typing.
382
+ */
383
+ declare function inert<T extends object>(target: T): Inert<T>;
384
+ /**
385
+ * Removes the inert marker from an object.
386
+ * @param target Object to unmark.
387
+ * @returns The same object with live typing.
388
+ */
389
+ declare function live<T extends object>(target: T): Live<T>;
390
+ /**
391
+ * Checks whether an object is marked as inert.
392
+ * @param target Object to test.
393
+ * @returns `true` when inert.
394
+ */
395
+ declare function isInert<T extends object>(target?: T): target is Inert<T>;
395
396
  /**
396
397
  * Marks an object as volatile (indiffable enabled).
397
398
  * @param target Object to mark.
@@ -557,9 +558,11 @@ type Watcher<T, P extends WildPaths<T> = WildPaths<T>> = (
557
558
  ) => void;
558
559
 
559
560
  /** Listener callback (batched/asynchronous by default). */
560
- type Listener<T, P extends WildPaths<T> = WildPaths<T>, D extends number = MaxDepth> = (
561
- event: REvent<T, P, D>
562
- ) => void;
561
+ type Listener<
562
+ T extends object,
563
+ P extends WildPaths<T> = WildPaths<T>,
564
+ D extends number = MaxDepth
565
+ > = (event: REvent<T, P, D>) => void;
563
566
 
564
567
  // ===========================================================================
565
568
  // ENGINE RECORDS (Internal Storage)
@@ -1443,7 +1446,7 @@ interface IndexedDBAdapterConfig extends StorageAdapterConfig, IDBTransactionOpt
1443
1446
  dbName: string;
1444
1447
  /** Database version tag to use during creation or retrieval. */
1445
1448
  version: number;
1446
- /** First store is default during operations if none provided */
1449
+ /** First store is default during operations if none is provided, i.e. ["VAULT", "TEMP"] -> clear(store = "VAULT") {} */
1447
1450
  stores: string[];
1448
1451
  /** return a preffered instance or `throw` to prevent accessing the database */
1449
1452
  onidb: () => any;
@@ -1743,7 +1746,7 @@ interface HistoryEntry<T extends object = any, P extends Paths<T> = Paths<T>> {
1743
1746
  /** For multi-reactor management, identifies who the entry belongs to */
1744
1747
  rid: ReactorModuleId;
1745
1748
  }
1746
- interface TimeTravelConfig$1<T extends object, P extends Paths<T> = Paths<T>> {
1749
+ interface TimeTravelConfig<T extends object, P extends Paths<T> = Paths<T>> {
1747
1750
  /** Specific paths only, no "*"; instead don't pass anything */
1748
1751
  paths: P[];
1749
1752
  /** Maximum number of history entries to keep (Memory Cap), you lose replaying Sessions or the Genesis */
@@ -1769,14 +1772,14 @@ interface TimeTravelState<T extends object, P extends Paths<T> = Paths<T>> {
1769
1772
  * Allows history from single or multiple reactors to be recorded and replayed in a synchronized manner, even if they have different shapes.
1770
1773
  * If paired with async persistence, `use()` or `setup()` this module after hydration where applicable to avoid recording restore waves.
1771
1774
  */
1772
- declare class TimeTravelModule<T extends object = any, P extends Paths<T> = Paths<T>> extends BaseReactorModule<T, TimeTravelConfig$1<T, P>, TimeTravelState<T, P>> {
1775
+ declare class TimeTravelModule<T extends object = any, P extends Paths<T> = Paths<T>> extends BaseReactorModule<T, TimeTravelConfig<T, P>, TimeTravelState<T, P>> {
1773
1776
  static readonly moduleName: string;
1774
1777
  protected lastTimestamp: number;
1775
1778
  protected playbackTimeoutId: number;
1776
- constructor(config?: Partial<TimeTravelConfig$1<T, P>>, rtr?: Reactor<T>);
1779
+ constructor(config?: Partial<TimeTravelConfig<T, P>>, rtr?: Reactor<T>);
1777
1780
  wire(): void;
1778
1781
  protected onAttach(rtr: Reactor<any>, rid: ReactorModuleId): void;
1779
- protected handlePaths({ value: paths, oldValue: prevs }: REvent<TimeTravelConfig$1<T, P>, "paths">): void;
1782
+ protected handlePaths({ value: paths, oldValue: prevs }: REvent<TimeTravelConfig<T, P>, "paths">): void;
1780
1783
  /** Chronicling the lifecycle of the system, Captures the essence of every mutation wave that bubbles up. */
1781
1784
  protected record(e: REvent<any, P>, rid?: ReactorModuleId): void;
1782
1785
  /** Clears timeline history and resets playhead/genesis to the current reactor state. */
@@ -1802,7 +1805,7 @@ declare class TimeTravelModule<T extends object = any, P extends Paths<T> = Path
1802
1805
  /** Imports a session from a JSON string, allowing you to replay or analyze past states. */
1803
1806
  import(json: string, reviver?: JSONReviver): void;
1804
1807
  }
1805
- declare const TIME_TRAVEL_MODULE_BUILD: Partial<TimeTravelConfig$1<any>>;
1808
+ declare const TIME_TRAVEL_MODULE_BUILD: Partial<TimeTravelConfig<any>>;
1806
1809
 
1807
1810
  type modules_AsyncStorageAdapter<Config extends StorageAdapterConfig = StorageAdapterConfig> = AsyncStorageAdapter<Config>;
1808
1811
  declare const modules_AsyncStorageAdapter: typeof AsyncStorageAdapter;
@@ -1841,11 +1844,12 @@ declare const modules_StorageAdapter: typeof StorageAdapter;
1841
1844
  type modules_StorageAdapterConfig = StorageAdapterConfig;
1842
1845
  type modules_StorageAdapterConstructor<Config extends StorageAdapterConfig = StorageAdapterConfig> = StorageAdapterConstructor<Config>;
1843
1846
  declare const modules_TIME_TRAVEL_MODULE_BUILD: typeof TIME_TRAVEL_MODULE_BUILD;
1847
+ type modules_TimeTravelConfig<T extends object, P extends Paths<T> = Paths<T>> = TimeTravelConfig<T, P>;
1844
1848
  type modules_TimeTravelModule<T extends object = any, P extends Paths<T> = Paths<T>> = TimeTravelModule<T, P>;
1845
1849
  declare const modules_TimeTravelModule: typeof TimeTravelModule;
1846
1850
  type modules_TimeTravelState<T extends object, P extends Paths<T> = Paths<T>> = TimeTravelState<T, P>;
1847
1851
  declare namespace modules {
1848
- export { modules_AsyncStorageAdapter as AsyncStorageAdapter, type modules_AsyncStorageAdapterConstructor as AsyncStorageAdapterConstructor, modules_BaseReactorModule as BaseReactorModule, modules_BaseStorageAdapter as BaseStorageAdapter, modules_COOKIE_ADAPTER_BUILD as COOKIE_ADAPTER_BUILD, modules_CookieAdapter as CookieAdapter, type modules_CookieAdapterConfig as CookieAdapterConfig, type modules_CookieOptions as CookieOptions, type modules_HistoryEntry as HistoryEntry, modules_INDEXED_DB_ADAPTER_BUILD as INDEXED_DB_ADAPTER_BUILD, modules_IndexedDBAdapter as IndexedDBAdapter, type modules_IndexedDBAdapterConfig as IndexedDBAdapterConfig, type modules_JSONReplacer as JSONReplacer, type modules_JSONReviver as JSONReviver, modules_LocalStorageAdapter as LocalStorageAdapter, modules_MemoryAdapter as MemoryAdapter, type modules_MemoryAdapterConfig as MemoryAdapterConfig, modules_PERSIST_MODULE_BUILD as PERSIST_MODULE_BUILD, type modules_PersistConfig as PersistConfig, modules_PersistModule as PersistModule, type modules_ReactorModuleConstructor as ReactorModuleConstructor, type modules_ReactorModuleId as ReactorModuleId, modules_SessionStorageAdapter as SessionStorageAdapter, modules_StorageAdapter as StorageAdapter, type modules_StorageAdapterConfig as StorageAdapterConfig, type modules_StorageAdapterConstructor as StorageAdapterConstructor, modules_TIME_TRAVEL_MODULE_BUILD as TIME_TRAVEL_MODULE_BUILD, type TimeTravelConfig$1 as TimeTravelConfig, modules_TimeTravelModule as TimeTravelModule, type modules_TimeTravelState as TimeTravelState };
1852
+ export { modules_AsyncStorageAdapter as AsyncStorageAdapter, type modules_AsyncStorageAdapterConstructor as AsyncStorageAdapterConstructor, modules_BaseReactorModule as BaseReactorModule, modules_BaseStorageAdapter as BaseStorageAdapter, modules_COOKIE_ADAPTER_BUILD as COOKIE_ADAPTER_BUILD, modules_CookieAdapter as CookieAdapter, type modules_CookieAdapterConfig as CookieAdapterConfig, type modules_CookieOptions as CookieOptions, type modules_HistoryEntry as HistoryEntry, modules_INDEXED_DB_ADAPTER_BUILD as INDEXED_DB_ADAPTER_BUILD, modules_IndexedDBAdapter as IndexedDBAdapter, type modules_IndexedDBAdapterConfig as IndexedDBAdapterConfig, type modules_JSONReplacer as JSONReplacer, type modules_JSONReviver as JSONReviver, modules_LocalStorageAdapter as LocalStorageAdapter, modules_MemoryAdapter as MemoryAdapter, type modules_MemoryAdapterConfig as MemoryAdapterConfig, modules_PERSIST_MODULE_BUILD as PERSIST_MODULE_BUILD, type modules_PersistConfig as PersistConfig, modules_PersistModule as PersistModule, type modules_ReactorModuleConstructor as ReactorModuleConstructor, type modules_ReactorModuleId as ReactorModuleId, modules_SessionStorageAdapter as SessionStorageAdapter, modules_StorageAdapter as StorageAdapter, type modules_StorageAdapterConfig as StorageAdapterConfig, type modules_StorageAdapterConstructor as StorageAdapterConstructor, modules_TIME_TRAVEL_MODULE_BUILD as TIME_TRAVEL_MODULE_BUILD, type modules_TimeTravelConfig as TimeTravelConfig, modules_TimeTravelModule as TimeTravelModule, type modules_TimeTravelState as TimeTravelState };
1849
1853
  }
1850
1854
 
1851
1855
  /**
@@ -1861,7 +1865,7 @@ declare namespace modules {
1861
1865
  declare function effect(callback: () => void, options?: EffectOptions): () => void;
1862
1866
 
1863
1867
  /** Reactive options for the TimeTravel overlay instance. */
1864
- interface TimeTravelConfig {
1868
+ interface TimeTravelOverlayConfig {
1865
1869
  /** Header text shown at the top of the overlay panel. */
1866
1870
  title: string;
1867
1871
  /** Accent color used to derive panel theme variables. */
@@ -1881,7 +1885,7 @@ interface TimeTravelConfig {
1881
1885
  declare class TimeTravelOverlay {
1882
1886
  static count: number;
1883
1887
  index: number;
1884
- config: TimeTravelConfig;
1888
+ config: TimeTravelOverlayConfig;
1885
1889
  readonly state: Reactive<{
1886
1890
  open: boolean;
1887
1891
  import: string;
@@ -1894,19 +1898,19 @@ declare class TimeTravelOverlay {
1894
1898
  * @param time TimeTravel module instance that owns timeline operations.
1895
1899
  * @param build Optional initial overlay config overrides.
1896
1900
  */
1897
- constructor(time: TimeTravelModule, build?: Partial<TimeTravelConfig>);
1901
+ constructor(time: TimeTravelModule, build?: Partial<TimeTravelOverlayConfig>);
1898
1902
  destroy(): void;
1899
1903
  }
1900
1904
 
1901
1905
  type vanilla_Autotracker<T extends object> = Autotracker<T>;
1902
1906
  declare const vanilla_Autotracker: typeof Autotracker;
1903
- type vanilla_TimeTravelConfig = TimeTravelConfig;
1904
1907
  type vanilla_TimeTravelOverlay = TimeTravelOverlay;
1905
1908
  declare const vanilla_TimeTravelOverlay: typeof TimeTravelOverlay;
1909
+ type vanilla_TimeTravelOverlayConfig = TimeTravelOverlayConfig;
1906
1910
  declare const vanilla_effect: typeof effect;
1907
1911
  declare const vanilla_withTracker: typeof withTracker;
1908
1912
  declare namespace vanilla {
1909
- export { vanilla_Autotracker as Autotracker, type vanilla_TimeTravelConfig as TimeTravelConfig, vanilla_TimeTravelOverlay as TimeTravelOverlay, vanilla_effect as effect, vanilla_withTracker as withTracker };
1913
+ export { vanilla_Autotracker as Autotracker, vanilla_TimeTravelOverlay as TimeTravelOverlay, type vanilla_TimeTravelOverlayConfig as TimeTravelOverlayConfig, vanilla_effect as effect, vanilla_withTracker as withTracker };
1910
1914
  }
1911
1915
 
1912
1916
  declare const adapters: {
@@ -950,15 +950,6 @@ var sia = (() => {
950
950
  descriptors["__Reactor__"] = { value: rtr, ...locks };
951
951
  return Object.defineProperties(rtr.core, descriptors), rtr.core;
952
952
  }
953
- function inert(target) {
954
- return getRaw(target)[INERTIA] = true, target;
955
- }
956
- function live(target) {
957
- return delete getRaw(target)[INERTIA], target;
958
- }
959
- function isInert(target = NIL) {
960
- return !!getRaw(target)[INERTIA];
961
- }
962
953
  function intent(target) {
963
954
  return getRaw(target)[REJECTABLE] = true, target;
964
955
  }
@@ -968,6 +959,15 @@ var sia = (() => {
968
959
  function isIntent(target = NIL) {
969
960
  return !!getRaw(target)[REJECTABLE];
970
961
  }
962
+ function inert(target) {
963
+ return getRaw(target)[INERTIA] = true, target;
964
+ }
965
+ function live(target) {
966
+ return delete getRaw(target)[INERTIA], target;
967
+ }
968
+ function isInert(target = NIL) {
969
+ return !!getRaw(target)[INERTIA];
970
+ }
971
971
  function volatile(target) {
972
972
  return getRaw(target)[INDIFFABLE] = true, target;
973
973
  }
@@ -1,4 +1,4 @@
1
- import { P as Paths, e as PathValue, a as REvent, c as ReactorModuleId, B as BaseReactorModule, R as Reactor } from './index-CDRimfvj.js';
1
+ import { P as Paths, e as PathValue, a as REvent, c as ReactorModuleId, B as BaseReactorModule, R as Reactor } from './index-CB-IiZIB.cjs';
2
2
 
3
3
  type JSONReplacer = ((this: any, key: string, value: any) => any) | (number | string)[] | null;
4
4
  type JSONReviver = ((this: any, key: string, value: any) => any) | undefined;
@@ -34,7 +34,7 @@ interface IndexedDBAdapterConfig extends StorageAdapterConfig, IDBTransactionOpt
34
34
  dbName: string;
35
35
  /** Database version tag to use during creation or retrieval. */
36
36
  version: number;
37
- /** First store is default during operations if none provided */
37
+ /** First store is default during operations if none is provided, i.e. ["VAULT", "TEMP"] -> clear(store = "VAULT") {} */
38
38
  stores: string[];
39
39
  /** return a preffered instance or `throw` to prevent accessing the database */
40
40
  onidb: () => any;
@@ -1,4 +1,4 @@
1
- import { P as Paths, e as PathValue, a as REvent, c as ReactorModuleId, B as BaseReactorModule, R as Reactor } from './index-CDRimfvj.cjs';
1
+ import { P as Paths, e as PathValue, a as REvent, c as ReactorModuleId, B as BaseReactorModule, R as Reactor } from './index-CB-IiZIB.js';
2
2
 
3
3
  type JSONReplacer = ((this: any, key: string, value: any) => any) | (number | string)[] | null;
4
4
  type JSONReviver = ((this: any, key: string, value: any) => any) | undefined;
@@ -34,7 +34,7 @@ interface IndexedDBAdapterConfig extends StorageAdapterConfig, IDBTransactionOpt
34
34
  dbName: string;
35
35
  /** Database version tag to use during creation or retrieval. */
36
36
  version: number;
37
- /** First store is default during operations if none provided */
37
+ /** First store is default during operations if none is provided, i.e. ["VAULT", "TEMP"] -> clear(store = "VAULT") {} */
38
38
  stores: string[];
39
39
  /** return a preffered instance or `throw` to prevent accessing the database */
40
40
  onidb: () => any;
package/dist/utils.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { F as FanoutTuple, f as arrRegex, g as canHandle, h as deepClone, i as deleteAny, j as fanout, k as fanoutOptsArr, l as getAny, m as getTrailRecords, n as inAny, o as isObj, p as isPOJO, q as mergeObjs, r as nuke, s as parseAnyObj, t as parseEvtOpts, u as setAny } from './index-CDRimfvj.cjs';
1
+ export { F as FanoutTuple, f as arrRegex, g as canHandle, h as deepClone, i as deleteAny, j as fanout, k as fanoutOptsArr, l as getAny, m as getTrailRecords, n as inAny, o as isObj, p as isPOJO, q as mergeObjs, r as nuke, s as parseAnyObj, t as parseEvtOpts, u as setAny } from './index-CB-IiZIB.cjs';
2
2
 
3
3
  declare function clamp(min: number | undefined, val: number, max?: number): number;
4
4
 
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { F as FanoutTuple, f as arrRegex, g as canHandle, h as deepClone, i as deleteAny, j as fanout, k as fanoutOptsArr, l as getAny, m as getTrailRecords, n as inAny, o as isObj, p as isPOJO, q as mergeObjs, r as nuke, s as parseAnyObj, t as parseEvtOpts, u as setAny } from './index-CDRimfvj.js';
1
+ export { F as FanoutTuple, f as arrRegex, g as canHandle, h as deepClone, i as deleteAny, j as fanout, k as fanoutOptsArr, l as getAny, m as getTrailRecords, n as inAny, o as isObj, p as isPOJO, q as mergeObjs, r as nuke, s as parseAnyObj, t as parseEvtOpts, u as setAny } from './index-CB-IiZIB.js';
2
2
 
3
3
  declare function clamp(min: number | undefined, val: number, max?: number): number;
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sia-reactor",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
4
4
  "description": "The Programmable Data DOM. A high-performance State Intent Architecture (S.I.A.) Engine with zero-allocation loops, event propagation, and structural sharing.",
5
5
  "author": "Oketade Oluwatobiloba <tobioketade007@gmail.com>",
6
6
  "license": "MIT",
@@ -717,15 +717,6 @@ function reactive(target, build, preferences = NIL) {
717
717
  descriptors["__Reactor__"] = { value: rtr, ...locks };
718
718
  return Object.defineProperties(rtr.core, descriptors), rtr.core;
719
719
  }
720
- function inert(target) {
721
- return getRaw(target)[INERTIA] = true, target;
722
- }
723
- function live(target) {
724
- return delete getRaw(target)[INERTIA], target;
725
- }
726
- function isInert(target = NIL) {
727
- return !!getRaw(target)[INERTIA];
728
- }
729
720
  function intent(target) {
730
721
  return getRaw(target)[REJECTABLE] = true, target;
731
722
  }
@@ -735,6 +726,15 @@ function state(target) {
735
726
  function isIntent(target = NIL) {
736
727
  return !!getRaw(target)[REJECTABLE];
737
728
  }
729
+ function inert(target) {
730
+ return getRaw(target)[INERTIA] = true, target;
731
+ }
732
+ function live(target) {
733
+ return delete getRaw(target)[INERTIA], target;
734
+ }
735
+ function isInert(target = NIL) {
736
+ return !!getRaw(target)[INERTIA];
737
+ }
738
738
  function volatile(target) {
739
739
  return getRaw(target)[INDIFFABLE] = true, target;
740
740
  }
@@ -762,12 +762,12 @@ export {
762
762
  Reactor,
763
763
  methods,
764
764
  reactive,
765
- inert,
766
- live,
767
- isInert,
768
765
  intent,
769
766
  state,
770
767
  isIntent,
768
+ inert,
769
+ live,
770
+ isInert,
771
771
  volatile,
772
772
  stable,
773
773
  isVolatile,