reactjrx 1.142.3 → 1.142.4

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.
@@ -4,7 +4,12 @@ export declare const persistValue: ({ adapter, config, }: {
4
4
  adapter: Adapter;
5
5
  config: SignalPersistenceConfig<any>;
6
6
  }) => import('rxjs').Observable<unknown>;
7
- export declare function hydrateValueToSignal({ adapter, config, }: {
7
+ export declare function hydrateValueToSignal({ adapter, config, resetToDefault, }: {
8
8
  adapter: Adapter;
9
9
  config: SignalPersistenceConfig<any>;
10
+ /**
11
+ * When nothing usable is stored, reset the signal to its default instead of
12
+ * leaving its current value in place.
13
+ */
14
+ resetToDefault?: boolean;
10
15
  }): import('rxjs').Observable<unknown>;
@@ -17,13 +17,18 @@ type Entry = SignalPersistenceConfig<AnySignal>;
17
17
  * hydrate is logged and never persisted, and holds back that emission until
18
18
  * it is removed.
19
19
  */
20
- export declare function persistSignals({ entries$, onHydrated, adapter, }: {
20
+ export declare function persistSignals({ entries$, onHydrated, adapter, resetToDefault, }: {
21
21
  entries$: Observable<Entry[]>;
22
22
  /**
23
23
  * Called when `{ type: "hydrated" }` is emitted.
24
24
  */
25
25
  onHydrated?: () => void;
26
26
  adapter: Adapter;
27
+ /**
28
+ * When true, an entry with nothing usable stored goes back to its default
29
+ * instead of keeping its current value.
30
+ */
31
+ resetToDefault?: boolean;
27
32
  }): Observable<{
28
33
  type: "hydrated";
29
34
  }>;
@@ -22,8 +22,14 @@ export declare function usePersistSignals({ entries, onHydrated, adapter, }: {
22
22
  onHydrated?: () => void;
23
23
  /**
24
24
  * Passing a new adapter reference starts over: pending values are saved to
25
- * the previous adapter, then every entry is hydrated from the new one. Use a
26
- * stable reference to avoid infinite loop.
25
+ * the previous adapter, then every entry takes the value stored in the new
26
+ * one. When nothing is stored, or only an older version, the entry goes
27
+ * back to its default once the hook has had two different adapters, so it
28
+ * never carries another adapter's value over (another profile's, for
29
+ * example). Before that, including when the same adapter comes back after
30
+ * a gap without adapter, it keeps its current value. Adapters are compared
31
+ * by reference: a new object for the same storage counts as a different
32
+ * adapter. Use a stable reference to avoid infinite loop.
27
33
  */
28
34
  adapter?: Adapter;
29
35
  }): {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reactjrx",
3
3
  "private": false,
4
- "version": "1.142.3",
4
+ "version": "1.142.4",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"