@signaltree/core 7.6.1 → 8.0.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/README.md +6 -0
- package/package.json +1 -1
- package/src/lib/utils.d.ts +20 -1
package/README.md
CHANGED
|
@@ -661,6 +661,12 @@ All enhancers are exported directly from `@signaltree/core`:
|
|
|
661
661
|
- `devTools()` - Redux DevTools auto-connect, path actions, and time-travel dispatch
|
|
662
662
|
- `withTimeTravel()` - Undo/redo functionality
|
|
663
663
|
|
|
664
|
+
**DevTools connection model**
|
|
665
|
+
|
|
666
|
+
`devTools()` connects to the Redux DevTools browser extension via `window.__REDUX_DEVTOOLS_EXTENSION__.connect(...)`. That means **each SignalTree instance you enhance with `devTools()` will show up as its own DevTools “instance”.**
|
|
667
|
+
|
|
668
|
+
If you want a single unified DevTools view, prefer a **single global tree** composed from domain slices, and apply `devTools()` once at the root. See the Architecture Guide (Category C: Feature-scoped / composed sub-trees) for patterns that keep code modular without fragmenting runtime state.
|
|
669
|
+
|
|
664
670
|
**Presets:**
|
|
665
671
|
|
|
666
672
|
- `createDevTree()` - Pre-configured development setup
|
package/package.json
CHANGED
package/src/lib/utils.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { WritableSignal } from '@angular/core';
|
|
2
|
-
import { deepEqual, isBuiltInObject, parsePath } from '@signaltree/shared';
|
|
3
2
|
export { deepEqual };
|
|
4
3
|
export { deepEqual as equal };
|
|
5
4
|
export { isBuiltInObject };
|
|
@@ -11,6 +10,26 @@ export interface MemoryManager {
|
|
|
11
10
|
dispose(): void;
|
|
12
11
|
}
|
|
13
12
|
import type { NodeAccessor, TreeNode } from './types';
|
|
13
|
+
|
|
14
|
+
// Inlined from @signaltree/shared (internal package)
|
|
15
|
+
declare function deepEqual<T>(a: T, b: T): boolean;
|
|
16
|
+
declare function deepClone<T>(obj: T): T;
|
|
17
|
+
declare function isBuiltInObject(value: unknown): boolean;
|
|
18
|
+
declare function parsePath(path: string): string[];
|
|
19
|
+
declare function matchPath(path: string[], pattern: string[]): boolean;
|
|
20
|
+
declare function mergeDeep<T>(target: T, source: unknown): T;
|
|
21
|
+
declare function snapshotsEqual<T>(a: T, b: T): boolean;
|
|
22
|
+
declare function getChanges<T>(prev: T, next: T): unknown;
|
|
23
|
+
declare class LRUCache<K, V> {
|
|
24
|
+
constructor(maxSize: number);
|
|
25
|
+
get(key: K): V | undefined;
|
|
26
|
+
set(key: K, value: V): void;
|
|
27
|
+
has(key: K): boolean;
|
|
28
|
+
delete(key: K): boolean;
|
|
29
|
+
clear(): void;
|
|
30
|
+
get size(): number;
|
|
31
|
+
}
|
|
32
|
+
declare const DEFAULT_PATH_CACHE_SIZE: number;
|
|
14
33
|
export declare function isNodeAccessor(value: unknown): value is NodeAccessor<unknown>;
|
|
15
34
|
export declare function isAnySignal(value: unknown): boolean;
|
|
16
35
|
export declare function toWritableSignal<T>(node: NodeAccessor<T>, injector?: unknown): WritableSignal<T>;
|