@veams/status-quo 1.10.0 → 1.12.0
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/.turbo/turbo-build.log +14 -12
- package/CHANGELOG.md +2 -0
- package/README.md +43 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -6
- package/dist/index.js.map +1 -1
- package/dist/observable/index.d.ts +5 -0
- package/dist/observable/index.js +6 -0
- package/dist/observable/index.js.map +1 -0
- package/dist/react/hooks/__tests__/state-selector.spec.js +103 -0
- package/dist/react/hooks/__tests__/state-selector.spec.js.map +1 -1
- package/dist/react/hooks/state-subscription-selector.js +46 -34
- package/dist/react/hooks/state-subscription-selector.js.map +1 -1
- package/dist/signals/index.d.ts +5 -0
- package/dist/signals/index.js +6 -0
- package/dist/signals/index.js.map +1 -0
- package/dist/store/__tests__/native-state-handler.spec.js +62 -0
- package/dist/store/__tests__/native-state-handler.spec.js.map +1 -1
- package/dist/store/base-state-handler.d.ts +22 -0
- package/dist/store/base-state-handler.js +76 -0
- package/dist/store/base-state-handler.js.map +1 -1
- package/dist/store/index.d.ts +0 -2
- package/dist/store/index.js +0 -4
- package/dist/store/index.js.map +1 -1
- package/dist/types/types.d.ts +2 -0
- package/package.json +15 -1
- package/src/index.ts +0 -6
- package/src/observable/index.ts +5 -0
- package/src/react/hooks/__tests__/state-selector.spec.tsx +160 -1
- package/src/react/hooks/state-subscription-selector.tsx +54 -40
- package/src/signals/index.ts +5 -0
- package/src/store/__tests__/native-state-handler.spec.ts +80 -0
- package/src/store/base-state-handler.ts +88 -0
- package/src/store/index.ts +0 -4
- package/src/types/types.ts +4 -0
- package/dist/hooks/__tests__/state-provider.spec.d.ts +0 -4
- package/dist/hooks/__tests__/state-provider.spec.js +0 -179
- package/dist/hooks/__tests__/state-provider.spec.js.map +0 -1
- package/dist/hooks/__tests__/state-selector.spec.d.ts +0 -4
- package/dist/hooks/__tests__/state-selector.spec.js +0 -499
- package/dist/hooks/__tests__/state-selector.spec.js.map +0 -1
- package/dist/hooks/__tests__/state-singleton.spec.d.ts +0 -4
- package/dist/hooks/__tests__/state-singleton.spec.js +0 -96
- package/dist/hooks/__tests__/state-singleton.spec.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -6
- package/dist/hooks/index.js +0 -7
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/state-actions.d.ts +0 -2
- package/dist/hooks/state-actions.js +0 -5
- package/dist/hooks/state-actions.js.map +0 -1
- package/dist/hooks/state-factory.d.ts +0 -7
- package/dist/hooks/state-factory.js +0 -13
- package/dist/hooks/state-factory.js.map +0 -1
- package/dist/hooks/state-handler.d.ts +0 -2
- package/dist/hooks/state-handler.js +0 -9
- package/dist/hooks/state-handler.js.map +0 -1
- package/dist/hooks/state-provider.d.ts +0 -14
- package/dist/hooks/state-provider.js +0 -24
- package/dist/hooks/state-provider.js.map +0 -1
- package/dist/hooks/state-singleton.d.ts +0 -6
- package/dist/hooks/state-singleton.js +0 -7
- package/dist/hooks/state-singleton.js.map +0 -1
- package/dist/hooks/state-subscription-selector.d.ts +0 -3
- package/dist/hooks/state-subscription-selector.js +0 -63
- package/dist/hooks/state-subscription-selector.js.map +0 -1
- package/dist/hooks/state-subscription.d.ts +0 -9
- package/dist/hooks/state-subscription.js +0 -53
- package/dist/hooks/state-subscription.js.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
>
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
>
|
|
12
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
> @veams/status-quo@1.10.0 build
|
|
4
|
+
> cross-env NODE_ENV=production npm-run-all compile
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
> @veams/status-quo@1.10.0 compile
|
|
8
|
+
> npm-run-all bundle:ts
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
> @veams/status-quo@1.10.0 bundle:ts
|
|
12
|
+
> tsc --project tsconfig.json
|
|
13
|
+
|
|
14
|
+
⠙[1G[0K⠙[1G[0K⠙[1G[0K
|
package/CHANGELOG.md
CHANGED
|
@@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
11
11
|
- `StateProvider` for sharing one handler instance across a scoped React subtree.
|
|
12
12
|
- `useProvidedStateHandler()`, `useProvidedStateActions()`, and `useProvidedStateSubscription()` for provider-scoped composition.
|
|
13
13
|
- `setupStatusQuo({ devTools: { enabled } })` for global Redux DevTools defaults.
|
|
14
|
+
- Ref-counted `connect()`/`disconnect()` lifecycle support on `BaseStateHandler`, with `onConnect()`/`onDisconnect()` hooks for external effects.
|
|
14
15
|
|
|
15
16
|
### Changed
|
|
16
17
|
- The library is now **zero-dependency** when only `NativeStateHandler` is used (`rxjs` and `@preact/signals-core` are peer dependencies).
|
|
@@ -19,6 +20,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
19
20
|
- `ObservableStateHandler#getObservable(options?)` is now the canonical API for the full state stream.
|
|
20
21
|
- `ObservableStateHandler#getObservableItem(key)` is now the canonical API for keyed item streams.
|
|
21
22
|
- `makeStateSingleton()` now keeps singleton instances alive by default unless `destroyOnNoConsumers: true` is set.
|
|
23
|
+
- React state subscriptions now call handler `connect()` after commit and defer `disconnect()` until the last subscriber has unmounted.
|
|
22
24
|
|
|
23
25
|
### Removed
|
|
24
26
|
- React hook and provider exports from the root `@veams/status-quo` entrypoint in favor of `@veams/status-quo/react`.
|
package/README.md
CHANGED
|
@@ -105,12 +105,14 @@ setupStatusQuo({
|
|
|
105
105
|
|
|
106
106
|
StatusQuo provides three handler implementations with the same public interface:
|
|
107
107
|
|
|
108
|
-
- `NativeStateHandler` (**Zero dependency**, plain JS)
|
|
109
|
-
- `ObservableStateHandler` (RxJS-backed)
|
|
110
|
-
- `SignalStateHandler` (Signals-backed)
|
|
108
|
+
- `NativeStateHandler` (**Zero dependency**, plain JS) — `import { NativeStateHandler } from '@veams/status-quo'`
|
|
109
|
+
- `ObservableStateHandler` (RxJS-backed) — `import { ObservableStateHandler } from '@veams/status-quo/observable'`
|
|
110
|
+
- `SignalStateHandler` (Signals-backed) — `import { SignalStateHandler } from '@veams/status-quo/signals'`
|
|
111
111
|
|
|
112
112
|
All are built on `BaseStateHandler`, which provides the shared lifecycle and devtools support.
|
|
113
113
|
|
|
114
|
+
The RxJS and Signals handlers live in dedicated subpaths to avoid pulling in their peer dependencies when you are only using `NativeStateHandler`.
|
|
115
|
+
|
|
114
116
|
## Hooks
|
|
115
117
|
|
|
116
118
|
The React layer lives under `@veams/status-quo/react`.
|
|
@@ -228,6 +230,7 @@ Use only the slice you need. RxJS makes multi-source composition powerful and de
|
|
|
228
230
|
|
|
229
231
|
```ts
|
|
230
232
|
import { combineLatest } from 'rxjs';
|
|
233
|
+
import { SignalStateHandler } from '@veams/status-quo/signals';
|
|
231
234
|
|
|
232
235
|
// RxJS: combine handler streams (RxJS shines here)
|
|
233
236
|
class AppSignalStore extends SignalStateHandler<AppState, AppActions> {
|
|
@@ -236,7 +239,9 @@ class AppSignalStore extends SignalStateHandler<AppState, AppActions> {
|
|
|
236
239
|
|
|
237
240
|
constructor() {
|
|
238
241
|
super({ initialState: { counter: 0, cardTitle: '' }});
|
|
242
|
+
}
|
|
239
243
|
|
|
244
|
+
protected override onConnect(): void {
|
|
240
245
|
this.subscriptions.push(
|
|
241
246
|
combineLatest([
|
|
242
247
|
this.counter$,
|
|
@@ -249,11 +254,11 @@ class AppSignalStore extends SignalStateHandler<AppState, AppActions> {
|
|
|
249
254
|
})
|
|
250
255
|
)
|
|
251
256
|
}
|
|
252
|
-
|
|
253
257
|
}
|
|
254
258
|
|
|
255
259
|
// Signals: combine derived values via computed + bindSubscribable
|
|
256
260
|
import { computed } from '@preact/signals-core';
|
|
261
|
+
import { SignalStateHandler } from '@veams/status-quo/signals';
|
|
257
262
|
|
|
258
263
|
class AppSignalStore extends SignalStateHandler<AppState, AppActions> {
|
|
259
264
|
private counter = CounterSignalHandler.getInstance();
|
|
@@ -265,7 +270,9 @@ class AppSignalStore extends SignalStateHandler<AppState, AppActions> {
|
|
|
265
270
|
|
|
266
271
|
constructor() {
|
|
267
272
|
super({ initialState: { counter: 0, cardTitle: '' }});
|
|
273
|
+
}
|
|
268
274
|
|
|
275
|
+
protected override onConnect(): void {
|
|
269
276
|
this.bindSubscribable(
|
|
270
277
|
{ subscribe: this.combined.subscribe.bind(this.combined), getSnapshot: () => this.combined.value },
|
|
271
278
|
(nextState) => this.setState(nextState, 'sync-combined')
|
|
@@ -380,7 +387,7 @@ Creates one handler instance per component mount and returns it.
|
|
|
380
387
|
|
|
381
388
|
- `factory`: function returning a `StateSubscriptionHandler`
|
|
382
389
|
- `params`: optional factory params tuple
|
|
383
|
-
- lifecycle note: params are applied when the handler instance is created for that mount
|
|
390
|
+
- lifecycle note: params are applied when the handler instance is created for that mount; external effects should start in `connect()`/`onConnect()`, not in the constructor
|
|
384
391
|
|
|
385
392
|
```ts
|
|
386
393
|
import { useStateHandler } from '@veams/status-quo/react';
|
|
@@ -438,6 +445,7 @@ const actions = useProvidedStateActions<UserState, UserActions>();
|
|
|
438
445
|
### `useStateSubscription(source, selector?, isEqual?)`
|
|
439
446
|
|
|
440
447
|
Subscribes to either a handler instance or a singleton and returns `[selectedState, actions]`.
|
|
448
|
+
When the source exposes `connect()`/`disconnect()`, the hook connects after the first committed subscriber mounts and defers disconnect until the last subscriber has unmounted.
|
|
441
449
|
|
|
442
450
|
- `source`: `StateSubscriptionHandler` or `StateSingleton`
|
|
443
451
|
- When you use local state, `source` is the handler instance returned by `useStateHandler()`.
|
|
@@ -581,6 +589,8 @@ setupStatusQuo({
|
|
|
581
589
|
Override it per handler when needed:
|
|
582
590
|
|
|
583
591
|
```ts
|
|
592
|
+
import { ObservableStateHandler } from '@veams/status-quo/observable';
|
|
593
|
+
|
|
584
594
|
class CounterStore extends ObservableStateHandler<CounterState, CounterActions> {
|
|
585
595
|
constructor() {
|
|
586
596
|
super({
|
|
@@ -623,6 +633,8 @@ Required interface implemented by all handlers.
|
|
|
623
633
|
interface StateSubscriptionHandler<V, A> {
|
|
624
634
|
subscribe(listener: () => void): () => void;
|
|
625
635
|
subscribe(listener: (value: V) => void): () => void;
|
|
636
|
+
connect?: () => void;
|
|
637
|
+
disconnect?: () => void;
|
|
626
638
|
getSnapshot: () => V;
|
|
627
639
|
destroy: () => void;
|
|
628
640
|
getInitialState: () => V;
|
|
@@ -646,11 +658,22 @@ Public methods:
|
|
|
646
658
|
- `getState(): S`
|
|
647
659
|
- `getSnapshot(): S`
|
|
648
660
|
- `setState(next: Partial<S>, actionName = 'change'): void`
|
|
661
|
+
- `connect(): void`
|
|
662
|
+
- `disconnect(): void`
|
|
649
663
|
- `subscribe(listener: () => void): () => void` (abstract)
|
|
650
664
|
- `subscribe(listener: (value: S) => void): () => void` (abstract)
|
|
651
665
|
- `destroy(): void`
|
|
652
666
|
- `getActions(): A` (abstract)
|
|
653
667
|
|
|
668
|
+
Lifecycle:
|
|
669
|
+
|
|
670
|
+
- Constructors should create the initial snapshot only.
|
|
671
|
+
- `connect()` is ref-counted and calls `onConnect()` once when the first consumer connects.
|
|
672
|
+
- `disconnect()` decrements the ref count, calls `onDisconnect()` after the last consumer disconnects, then clears managed subscriptions.
|
|
673
|
+
- `destroy()` is final cleanup and closes any active connection.
|
|
674
|
+
|
|
675
|
+
Use `onConnect()` for external effects: query observers, router listeners, DOM listeners, timers, intervals, and handler-to-handler subscriptions that should only be live while mounted consumers exist. Keep pure initial state shaping, option normalization, and dependency assignment in the constructor.
|
|
676
|
+
|
|
654
677
|
Tracked subscription state:
|
|
655
678
|
|
|
656
679
|
- `subscriptions: Array<{ unsubscribe: () => void }>`
|
|
@@ -661,6 +684,8 @@ Protected helpers:
|
|
|
661
684
|
|
|
662
685
|
- `getStateValue(): S` (abstract)
|
|
663
686
|
- `setStateValue(next: S): void` (abstract)
|
|
687
|
+
- `onConnect(): void`
|
|
688
|
+
- `onDisconnect(): void`
|
|
664
689
|
- `initDevTools(options?: { enabled?: boolean; namespace?: string }): void`
|
|
665
690
|
- `bindSubscribable<T>(subscriptionName: string, service: { subscribe: (listener: (value: T) => void) => () => void; getSnapshot?: () => T }, onChange: (value: T) => void, selector?: (value: T) => T, isEqual?: (current: T, next: T) => boolean): void`
|
|
666
691
|
- `bindSubscribable<T, Sel>(subscriptionName: string, service: { subscribe: (listener: (value: T) => void) => () => void; getSnapshot?: () => T }, onChange: (value: Sel) => void, selector: (value: T) => Sel, isEqual?: (current: Sel, next: Sel) => boolean): void`
|
|
@@ -711,6 +736,8 @@ Notes:
|
|
|
711
736
|
|
|
712
737
|
### `ObservableStateHandler<S, A>`
|
|
713
738
|
|
|
739
|
+
Import from `@veams/status-quo/observable`. Requires `rxjs` as a peer dependency.
|
|
740
|
+
|
|
714
741
|
RxJS-backed handler. Extends `BaseStateHandler`.
|
|
715
742
|
|
|
716
743
|
Constructor:
|
|
@@ -748,6 +775,8 @@ Notes:
|
|
|
748
775
|
|
|
749
776
|
### `SignalStateHandler<S, A>`
|
|
750
777
|
|
|
778
|
+
Import from `@veams/status-quo/signals`. Requires `@preact/signals-core` as a peer dependency.
|
|
779
|
+
|
|
751
780
|
Signals-backed handler. Extends `BaseStateHandler`.
|
|
752
781
|
|
|
753
782
|
Constructor:
|
|
@@ -840,6 +869,15 @@ Lifecycle behavior:
|
|
|
840
869
|
|
|
841
870
|
## Migration
|
|
842
871
|
|
|
872
|
+
From 1.x to 2.0:
|
|
873
|
+
|
|
874
|
+
`ObservableStateHandler` and `SignalStateHandler` are no longer exported from the main entry (`@veams/status-quo`). They now live in dedicated subpaths:
|
|
875
|
+
|
|
876
|
+
1. Replace `import { ObservableStateHandler } from '@veams/status-quo'` with `import { ObservableStateHandler } from '@veams/status-quo/observable'`.
|
|
877
|
+
2. Replace `import { SignalStateHandler } from '@veams/status-quo'` with `import { SignalStateHandler } from '@veams/status-quo/signals'`.
|
|
878
|
+
|
|
879
|
+
Everything else (`NativeStateHandler`, `makeStateSingleton`, `setupStatusQuo`, all types, `@veams/status-quo/react`, `@veams/status-quo/store`) is unchanged.
|
|
880
|
+
|
|
843
881
|
From pre-1.0 releases:
|
|
844
882
|
|
|
845
883
|
1. Rename `StateHandler` -> `ObservableStateHandler`.
|
package/dist/index.d.ts
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
* Exports core functionality for both store and React integration.
|
|
4
4
|
*/
|
|
5
5
|
import { setupStatusQuo } from './config/status-quo-config.js';
|
|
6
|
-
import { BaseStateHandler, makeStateSingleton, NativeStateHandler
|
|
6
|
+
import { BaseStateHandler, makeStateSingleton, NativeStateHandler } from './store/index.js';
|
|
7
7
|
import type { DevToolsOptions, GlobalDevToolsOptions, DistinctComparator, DistinctOptions, StatusQuoConfig } from './config/status-quo-config.js';
|
|
8
8
|
import type { StateSingleton, StateSingletonOptions } from './store/index.js';
|
|
9
9
|
import type { StateSubscriptionHandler } from './types/types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Core state management functions and classes.
|
|
12
12
|
*/
|
|
13
|
-
export { BaseStateHandler, makeStateSingleton, NativeStateHandler,
|
|
13
|
+
export { BaseStateHandler, makeStateSingleton, NativeStateHandler, setupStatusQuo, };
|
|
14
14
|
/**
|
|
15
15
|
* Type definitions for public API.
|
|
16
16
|
*/
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
// Import internal setup functions and core state handlers.
|
|
6
6
|
import { setupStatusQuo } from './config/status-quo-config.js';
|
|
7
|
-
import { BaseStateHandler, makeStateSingleton, NativeStateHandler,
|
|
7
|
+
import { BaseStateHandler, makeStateSingleton, NativeStateHandler, } from './store/index.js';
|
|
8
8
|
/**
|
|
9
9
|
* Core state management functions and classes.
|
|
10
10
|
*/
|
|
@@ -15,10 +15,6 @@ BaseStateHandler,
|
|
|
15
15
|
makeStateSingleton,
|
|
16
16
|
// Lightweight state handler using plain JavaScript.
|
|
17
17
|
NativeStateHandler,
|
|
18
|
-
// State handler powered by RxJS BehaviorSubjects.
|
|
19
|
-
ObservableStateHandler,
|
|
20
18
|
// Global configuration function for Status Quo.
|
|
21
|
-
setupStatusQuo,
|
|
22
|
-
// State handler powered by Preact Signals.
|
|
23
|
-
SignalStateHandler, };
|
|
19
|
+
setupStatusQuo, };
|
|
24
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAa1B;;GAEG;AACH,OAAO;AACL,8CAA8C;AAC9C,gBAAgB;AAChB,0DAA0D;AAC1D,kBAAkB;AAClB,oDAAoD;AACpD,kBAAkB;AAClB,gDAAgD;AAChD,cAAc,GACf,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subpath entry for the RxJS-based ObservableStateHandler.
|
|
3
|
+
* Import from '@veams/status-quo/observable' to avoid pulling rxjs into the main bundle.
|
|
4
|
+
*/
|
|
5
|
+
export { ObservableStateHandler } from '../store/observable-state-handler.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observable/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -54,6 +54,10 @@ class TestStateHandler {
|
|
|
54
54
|
this.listeners.forEach((listener) => listener(nextState));
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
+
class LifecycleTestStateHandler extends TestStateHandler {
|
|
58
|
+
connect = jest.fn();
|
|
59
|
+
disconnect = jest.fn();
|
|
60
|
+
}
|
|
57
61
|
class CounterStateHandler {
|
|
58
62
|
initialState;
|
|
59
63
|
state;
|
|
@@ -414,6 +418,105 @@ describe('Selector hooks', () => {
|
|
|
414
418
|
counter: 1,
|
|
415
419
|
});
|
|
416
420
|
});
|
|
421
|
+
it('useStateSubscription should connect after commit and defer disconnect cleanup', async () => {
|
|
422
|
+
const stateHandler = new LifecycleTestStateHandler({
|
|
423
|
+
user: { name: 'Ada' },
|
|
424
|
+
counter: 0,
|
|
425
|
+
});
|
|
426
|
+
const createStateHandler = jest.fn(() => stateHandler);
|
|
427
|
+
const renderConnectCallCounts = [];
|
|
428
|
+
const renderSpy = jest.fn(() => {
|
|
429
|
+
renderConnectCallCounts.push(stateHandler.connect.mock.calls.length);
|
|
430
|
+
});
|
|
431
|
+
const actionsReadySpy = jest.fn();
|
|
432
|
+
act(() => {
|
|
433
|
+
root.render(React.createElement(FullSubscriptionConsumer, { createStateHandler: createStateHandler, onRender: renderSpy, onActionsReady: actionsReadySpy }));
|
|
434
|
+
});
|
|
435
|
+
expect(renderConnectCallCounts).toStrictEqual([0]);
|
|
436
|
+
expect(stateHandler.connect).toHaveBeenCalledTimes(1);
|
|
437
|
+
expect(stateHandler.disconnect).not.toHaveBeenCalled();
|
|
438
|
+
expect(stateHandler.destroy).not.toHaveBeenCalled();
|
|
439
|
+
act(() => {
|
|
440
|
+
root.render(React.createElement(React.Fragment, null));
|
|
441
|
+
});
|
|
442
|
+
expect(stateHandler.disconnect).not.toHaveBeenCalled();
|
|
443
|
+
expect(stateHandler.destroy).not.toHaveBeenCalled();
|
|
444
|
+
await act(async () => {
|
|
445
|
+
await new Promise((resolve) => {
|
|
446
|
+
setTimeout(resolve, 0);
|
|
447
|
+
});
|
|
448
|
+
});
|
|
449
|
+
expect(stateHandler.disconnect).toHaveBeenCalledTimes(1);
|
|
450
|
+
expect(stateHandler.destroy).toHaveBeenCalledTimes(1);
|
|
451
|
+
});
|
|
452
|
+
it('useStateSubscription should keep the connection through immediate resubscription', async () => {
|
|
453
|
+
const stateHandler = new LifecycleTestStateHandler({
|
|
454
|
+
user: { name: 'Ada' },
|
|
455
|
+
counter: 0,
|
|
456
|
+
});
|
|
457
|
+
const createStateHandler = jest.fn(() => stateHandler);
|
|
458
|
+
const renderSpy = jest.fn();
|
|
459
|
+
const actionsReadySpy = jest.fn();
|
|
460
|
+
act(() => {
|
|
461
|
+
root.render(React.createElement(FullSubscriptionConsumer, { createStateHandler: createStateHandler, onRender: renderSpy, onActionsReady: actionsReadySpy }));
|
|
462
|
+
});
|
|
463
|
+
act(() => {
|
|
464
|
+
root.render(React.createElement(React.Fragment, null));
|
|
465
|
+
});
|
|
466
|
+
act(() => {
|
|
467
|
+
root.render(React.createElement(FullSubscriptionConsumer, { createStateHandler: createStateHandler, onRender: renderSpy, onActionsReady: actionsReadySpy }));
|
|
468
|
+
});
|
|
469
|
+
await act(async () => {
|
|
470
|
+
await new Promise((resolve) => {
|
|
471
|
+
setTimeout(resolve, 0);
|
|
472
|
+
});
|
|
473
|
+
});
|
|
474
|
+
expect(stateHandler.connect).toHaveBeenCalledTimes(1);
|
|
475
|
+
expect(stateHandler.disconnect).not.toHaveBeenCalled();
|
|
476
|
+
expect(stateHandler.destroy).not.toHaveBeenCalled();
|
|
477
|
+
act(() => {
|
|
478
|
+
root.render(React.createElement(React.Fragment, null));
|
|
479
|
+
});
|
|
480
|
+
await act(async () => {
|
|
481
|
+
await new Promise((resolve) => {
|
|
482
|
+
setTimeout(resolve, 0);
|
|
483
|
+
});
|
|
484
|
+
});
|
|
485
|
+
expect(stateHandler.disconnect).toHaveBeenCalledTimes(1);
|
|
486
|
+
expect(stateHandler.destroy).toHaveBeenCalledTimes(1);
|
|
487
|
+
});
|
|
488
|
+
it('useStateSubscription should disconnect only after the last consumer unsubscribes', async () => {
|
|
489
|
+
const stateHandler = new LifecycleTestStateHandler({
|
|
490
|
+
user: { name: 'Ada' },
|
|
491
|
+
counter: 0,
|
|
492
|
+
});
|
|
493
|
+
const createStateHandler = jest.fn(() => stateHandler);
|
|
494
|
+
const firstRenderSpy = jest.fn();
|
|
495
|
+
const secondRenderSpy = jest.fn();
|
|
496
|
+
const actionsReadySpy = jest.fn();
|
|
497
|
+
const Consumers = ({ showSecond }) => (React.createElement(React.Fragment, null,
|
|
498
|
+
React.createElement(FullSubscriptionConsumer, { createStateHandler: createStateHandler, onRender: firstRenderSpy, onActionsReady: actionsReadySpy }),
|
|
499
|
+
showSecond && (React.createElement(FullSubscriptionConsumer, { createStateHandler: createStateHandler, onRender: secondRenderSpy, onActionsReady: actionsReadySpy }))));
|
|
500
|
+
act(() => {
|
|
501
|
+
root.render(React.createElement(Consumers, { showSecond: true }));
|
|
502
|
+
});
|
|
503
|
+
expect(stateHandler.connect).toHaveBeenCalledTimes(1);
|
|
504
|
+
act(() => {
|
|
505
|
+
root.render(React.createElement(Consumers, { showSecond: false }));
|
|
506
|
+
});
|
|
507
|
+
expect(stateHandler.disconnect).not.toHaveBeenCalled();
|
|
508
|
+
expect(stateHandler.destroy).not.toHaveBeenCalled();
|
|
509
|
+
act(() => {
|
|
510
|
+
root.render(React.createElement(React.Fragment, null));
|
|
511
|
+
});
|
|
512
|
+
await act(async () => {
|
|
513
|
+
await new Promise((resolve) => {
|
|
514
|
+
setTimeout(resolve, 0);
|
|
515
|
+
});
|
|
516
|
+
});
|
|
517
|
+
expect(stateHandler.disconnect).toHaveBeenCalledTimes(1);
|
|
518
|
+
expect(stateHandler.destroy).toHaveBeenCalledTimes(1);
|
|
519
|
+
});
|
|
417
520
|
it('useStateSingleton selector should keep singleton alive while consumers exist', () => {
|
|
418
521
|
const stateHandler = new TestStateHandler({
|
|
419
522
|
user: { name: 'Ada' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-selector.spec.js","sourceRoot":"","sources":["../../../../src/react/hooks/__tests__/state-selector.spec.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state-selector.spec.js","sourceRoot":"","sources":["../../../../src/react/hooks/__tests__/state-selector.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { useCallback, useRef, useSyncExternalStore } from 'react';
|
|
6
6
|
import { createSelectorCache, selectWithCache } from '../../utils/selector-cache.js';
|
|
7
|
-
// Global map to track deferred
|
|
8
|
-
const
|
|
7
|
+
// Global map to track deferred lifecycle status for each state handler instance.
|
|
8
|
+
const deferredLifecycleMap = new WeakMap();
|
|
9
9
|
/**
|
|
10
|
-
* Returns the deferred
|
|
10
|
+
* Returns the deferred lifecycle status for a given state handler instance.
|
|
11
11
|
* Initializes the status if it does not already exist.
|
|
12
12
|
*/
|
|
13
|
-
function
|
|
13
|
+
function getDeferredLifecycleState(stateSubscriptionHandler) {
|
|
14
14
|
// Retrieve the existing status from the map.
|
|
15
|
-
const existingState =
|
|
15
|
+
const existingState = deferredLifecycleMap.get(stateSubscriptionHandler);
|
|
16
16
|
// If status already exists, return it.
|
|
17
17
|
if (existingState) {
|
|
18
18
|
return existingState;
|
|
@@ -22,7 +22,7 @@ function getDeferredDestroyState(stateSubscriptionHandler) {
|
|
|
22
22
|
refCount: 0,
|
|
23
23
|
timeoutId: null,
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
deferredLifecycleMap.set(stateSubscriptionHandler, nextState);
|
|
26
26
|
return nextState;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
@@ -53,15 +53,17 @@ destroyOnCleanup = true) {
|
|
|
53
53
|
const selectorCache = selectorCacheRef.current;
|
|
54
54
|
// Subscription function to be used by useSyncExternalStore.
|
|
55
55
|
const subscribe = useCallback((listener) => {
|
|
56
|
-
// Access the deferred
|
|
56
|
+
// Access the deferred lifecycle status for this handler.
|
|
57
57
|
const sharedStateSubscriptionHandler = stateSubscriptionHandler;
|
|
58
|
-
const
|
|
58
|
+
const deferredLifecycleState = getDeferredLifecycleState(sharedStateSubscriptionHandler);
|
|
59
|
+
const hadPendingCleanup = deferredLifecycleState.timeoutId !== null;
|
|
60
|
+
const wasIdle = deferredLifecycleState.refCount === 0;
|
|
59
61
|
// Increment the consumer reference count.
|
|
60
|
-
|
|
61
|
-
// If a pending
|
|
62
|
-
if (
|
|
63
|
-
clearTimeout(
|
|
64
|
-
|
|
62
|
+
deferredLifecycleState.refCount += 1;
|
|
63
|
+
// If a pending cleanup timeout is scheduled, cancel it.
|
|
64
|
+
if (deferredLifecycleState.timeoutId) {
|
|
65
|
+
clearTimeout(deferredLifecycleState.timeoutId);
|
|
66
|
+
deferredLifecycleState.timeoutId = null;
|
|
65
67
|
}
|
|
66
68
|
// Subscribe to the state handler.
|
|
67
69
|
const unsubscribe = stateSubscriptionHandler.subscribe(() => {
|
|
@@ -71,41 +73,51 @@ destroyOnCleanup = true) {
|
|
|
71
73
|
// Notify React to re-trigger a getSnapshot call.
|
|
72
74
|
listener();
|
|
73
75
|
});
|
|
76
|
+
if (wasIdle && !hadPendingCleanup) {
|
|
77
|
+
stateSubscriptionHandler.connect?.();
|
|
78
|
+
}
|
|
74
79
|
// Return an unsubscribe function to be called by React.
|
|
75
80
|
return () => {
|
|
76
81
|
// Execute the handler's unsubscribe method.
|
|
77
82
|
unsubscribe();
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
// Retrieve the current destruction status.
|
|
83
|
-
const activeDeferredDestroyState = deferredDestroyMap.get(sharedStateSubscriptionHandler);
|
|
83
|
+
// Retrieve the current lifecycle status.
|
|
84
|
+
const activeDeferredLifecycleState = deferredLifecycleMap.get(sharedStateSubscriptionHandler);
|
|
84
85
|
// If no status is found, stop here.
|
|
85
|
-
if (!
|
|
86
|
+
if (!activeDeferredLifecycleState) {
|
|
86
87
|
return;
|
|
87
88
|
}
|
|
88
89
|
// Decrement the consumer reference count.
|
|
89
|
-
|
|
90
|
-
// If there are still active consumers,
|
|
91
|
-
if (
|
|
90
|
+
activeDeferredLifecycleState.refCount -= 1;
|
|
91
|
+
// If there are still active consumers, keep the handler connected.
|
|
92
|
+
if (activeDeferredLifecycleState.refCount > 0) {
|
|
92
93
|
return;
|
|
93
94
|
}
|
|
94
95
|
// Reset the reference count to zero.
|
|
95
|
-
|
|
96
|
-
// Schedule deferred
|
|
97
|
-
|
|
96
|
+
activeDeferredLifecycleState.refCount = 0;
|
|
97
|
+
// Schedule deferred cleanup to allow for potential immediate re-subscriptions.
|
|
98
|
+
activeDeferredLifecycleState.timeoutId = setTimeout(() => {
|
|
98
99
|
// Check if the handler still has no consumers after the timeout.
|
|
99
|
-
const
|
|
100
|
-
// If consumers have reappeared,
|
|
101
|
-
if (!
|
|
100
|
+
const pendingDeferredLifecycleState = deferredLifecycleMap.get(sharedStateSubscriptionHandler);
|
|
101
|
+
// If consumers have reappeared, keep the handler connected.
|
|
102
|
+
if (!pendingDeferredLifecycleState || pendingDeferredLifecycleState.refCount > 0) {
|
|
102
103
|
return;
|
|
103
104
|
}
|
|
104
|
-
// Clear the pending timeout and
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
// Clear the pending timeout and disconnect the state handler.
|
|
106
|
+
pendingDeferredLifecycleState.timeoutId = null;
|
|
107
|
+
try {
|
|
108
|
+
stateSubscriptionHandler.disconnect?.();
|
|
109
|
+
}
|
|
110
|
+
finally {
|
|
111
|
+
if (destroyOnCleanup) {
|
|
112
|
+
try {
|
|
113
|
+
stateSubscriptionHandler.destroy();
|
|
114
|
+
}
|
|
115
|
+
finally {
|
|
116
|
+
// Remove the status from the global map after final destruction.
|
|
117
|
+
deferredLifecycleMap.delete(sharedStateSubscriptionHandler);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
109
121
|
}, 0);
|
|
110
122
|
};
|
|
111
123
|
}, [destroyOnCleanup, stateSubscriptionHandler]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-subscription-selector.js","sourceRoot":"","sources":["../../../src/react/hooks/state-subscription-selector.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AA+CrF,
|
|
1
|
+
{"version":3,"file":"state-subscription-selector.js","sourceRoot":"","sources":["../../../src/react/hooks/state-subscription-selector.tsx"],"names":[],"mappings":"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"}
|