@signaltree/core 3.1.0 → 4.0.2

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 (101) hide show
  1. package/package.json +7 -2
  2. package/src/enhancers/batching/index.d.ts +0 -1
  3. package/src/enhancers/batching/index.js +0 -1
  4. package/src/enhancers/batching/jest.config.d.ts +0 -15
  5. package/src/enhancers/batching/jest.config.js +0 -21
  6. package/src/enhancers/batching/lib/batching.d.ts +0 -16
  7. package/src/enhancers/batching/lib/batching.js +0 -155
  8. package/src/enhancers/batching/test-setup.d.ts +0 -1
  9. package/src/enhancers/batching/test-setup.js +0 -5
  10. package/src/enhancers/computed/index.d.ts +0 -1
  11. package/src/enhancers/computed/index.js +0 -1
  12. package/src/enhancers/computed/jest.config.d.ts +0 -15
  13. package/src/enhancers/computed/jest.config.js +0 -21
  14. package/src/enhancers/computed/lib/computed.d.ts +0 -12
  15. package/src/enhancers/computed/lib/computed.js +0 -18
  16. package/src/enhancers/devtools/index.d.ts +0 -1
  17. package/src/enhancers/devtools/index.js +0 -1
  18. package/src/enhancers/devtools/jest.config.d.ts +0 -15
  19. package/src/enhancers/devtools/jest.config.js +0 -21
  20. package/src/enhancers/devtools/lib/devtools.d.ts +0 -77
  21. package/src/enhancers/devtools/lib/devtools.js +0 -278
  22. package/src/enhancers/devtools/test-setup.d.ts +0 -1
  23. package/src/enhancers/devtools/test-setup.js +0 -5
  24. package/src/enhancers/entities/index.d.ts +0 -1
  25. package/src/enhancers/entities/index.js +0 -1
  26. package/src/enhancers/entities/jest.config.d.ts +0 -15
  27. package/src/enhancers/entities/jest.config.js +0 -21
  28. package/src/enhancers/entities/lib/entities.d.ts +0 -22
  29. package/src/enhancers/entities/lib/entities.js +0 -110
  30. package/src/enhancers/entities/test-setup.d.ts +0 -1
  31. package/src/enhancers/entities/test-setup.js +0 -5
  32. package/src/enhancers/index.d.ts +0 -3
  33. package/src/enhancers/index.js +0 -84
  34. package/src/enhancers/memoization/index.d.ts +0 -1
  35. package/src/enhancers/memoization/index.js +0 -1
  36. package/src/enhancers/memoization/jest.config.d.ts +0 -15
  37. package/src/enhancers/memoization/jest.config.js +0 -21
  38. package/src/enhancers/memoization/lib/memoization.d.ts +0 -65
  39. package/src/enhancers/memoization/lib/memoization.js +0 -391
  40. package/src/enhancers/memoization/test-setup.d.ts +0 -1
  41. package/src/enhancers/memoization/test-setup.js +0 -5
  42. package/src/enhancers/middleware/index.d.ts +0 -2
  43. package/src/enhancers/middleware/index.js +0 -2
  44. package/src/enhancers/middleware/jest.config.d.ts +0 -15
  45. package/src/enhancers/middleware/jest.config.js +0 -21
  46. package/src/enhancers/middleware/lib/async-helpers.d.ts +0 -8
  47. package/src/enhancers/middleware/lib/async-helpers.js +0 -85
  48. package/src/enhancers/middleware/lib/middleware.d.ts +0 -11
  49. package/src/enhancers/middleware/lib/middleware.js +0 -179
  50. package/src/enhancers/middleware/test-setup.d.ts +0 -1
  51. package/src/enhancers/middleware/test-setup.js +0 -5
  52. package/src/enhancers/presets/index.d.ts +0 -1
  53. package/src/enhancers/presets/index.js +0 -1
  54. package/src/enhancers/presets/jest.config.d.ts +0 -15
  55. package/src/enhancers/presets/jest.config.js +0 -21
  56. package/src/enhancers/presets/lib/presets.d.ts +0 -11
  57. package/src/enhancers/presets/lib/presets.js +0 -102
  58. package/src/enhancers/presets/test-setup.d.ts +0 -1
  59. package/src/enhancers/presets/test-setup.js +0 -5
  60. package/src/enhancers/serialization/constants.d.ts +0 -14
  61. package/src/enhancers/serialization/constants.js +0 -14
  62. package/src/enhancers/serialization/index.d.ts +0 -2
  63. package/src/enhancers/serialization/index.js +0 -2
  64. package/src/enhancers/serialization/jest.config.d.ts +0 -15
  65. package/src/enhancers/serialization/jest.config.js +0 -21
  66. package/src/enhancers/serialization/lib/serialization.d.ts +0 -59
  67. package/src/enhancers/serialization/lib/serialization.js +0 -668
  68. package/src/enhancers/serialization/test-setup.d.ts +0 -1
  69. package/src/enhancers/serialization/test-setup.js +0 -5
  70. package/src/enhancers/time-travel/index.d.ts +0 -1
  71. package/src/enhancers/time-travel/index.js +0 -1
  72. package/src/enhancers/time-travel/jest.config.d.ts +0 -15
  73. package/src/enhancers/time-travel/jest.config.js +0 -21
  74. package/src/enhancers/time-travel/lib/time-travel.d.ts +0 -36
  75. package/src/enhancers/time-travel/lib/time-travel.js +0 -192
  76. package/src/enhancers/time-travel/lib/utils.d.ts +0 -1
  77. package/src/enhancers/time-travel/lib/utils.js +0 -1
  78. package/src/enhancers/time-travel/test-setup.d.ts +0 -1
  79. package/src/enhancers/time-travel/test-setup.js +0 -5
  80. package/src/enhancers/types.d.ts +0 -105
  81. package/src/enhancers/types.js +0 -0
  82. package/src/index.d.ts +0 -16
  83. package/src/index.js +0 -15
  84. package/src/lib/constants.d.ts +0 -42
  85. package/src/lib/constants.js +0 -61
  86. package/src/lib/memory/memory-manager.d.ts +0 -30
  87. package/src/lib/memory/memory-manager.js +0 -166
  88. package/src/lib/performance/diff-engine.d.ts +0 -33
  89. package/src/lib/performance/diff-engine.js +0 -156
  90. package/src/lib/performance/path-index.d.ts +0 -25
  91. package/src/lib/performance/path-index.js +0 -154
  92. package/src/lib/performance/update-engine.d.ts +0 -32
  93. package/src/lib/performance/update-engine.js +0 -193
  94. package/src/lib/security/security-validator.d.ts +0 -33
  95. package/src/lib/security/security-validator.js +0 -139
  96. package/src/lib/signal-tree.d.ts +0 -8
  97. package/src/lib/signal-tree.js +0 -665
  98. package/src/lib/types.d.ts +0 -164
  99. package/src/lib/types.js +0 -9
  100. package/src/lib/utils.d.ts +0 -27
  101. package/src/lib/utils.js +0 -286
@@ -1,179 +0,0 @@
1
- const middlewareMap = new WeakMap();
2
- export function withMiddleware(middlewares = []) {
3
- return (tree) => {
4
- middlewareMap.set(tree, [...middlewares]);
5
- const originalTreeCall = tree.bind(tree);
6
- const enhancedTree = function (...args) {
7
- if (args.length === 0) {
8
- return originalTreeCall();
9
- }
10
- else {
11
- const action = 'UPDATE';
12
- const currentState = originalTreeCall();
13
- const treeMiddlewares = middlewareMap.get(tree) || [];
14
- let updateResult;
15
- if (args.length === 1) {
16
- const arg = args[0];
17
- if (typeof arg === 'function') {
18
- updateResult = arg(currentState);
19
- }
20
- else {
21
- updateResult = arg;
22
- }
23
- }
24
- else {
25
- return;
26
- }
27
- for (const middleware of treeMiddlewares) {
28
- if (middleware.before &&
29
- !middleware.before(action, updateResult, currentState)) {
30
- return;
31
- }
32
- }
33
- const previousState = currentState;
34
- if (args.length === 1) {
35
- const arg = args[0];
36
- if (typeof arg === 'function') {
37
- originalTreeCall(arg);
38
- }
39
- else {
40
- originalTreeCall(arg);
41
- }
42
- }
43
- const newState = originalTreeCall();
44
- for (const middleware of treeMiddlewares) {
45
- if (middleware.after) {
46
- middleware.after(action, updateResult, previousState, newState);
47
- }
48
- }
49
- }
50
- };
51
- Object.setPrototypeOf(enhancedTree, Object.getPrototypeOf(tree));
52
- Object.assign(enhancedTree, tree);
53
- if ('state' in tree) {
54
- Object.defineProperty(enhancedTree, 'state', {
55
- value: tree.state,
56
- enumerable: false,
57
- configurable: true,
58
- });
59
- }
60
- if ('$' in tree) {
61
- Object.defineProperty(enhancedTree, '$', {
62
- value: tree['$'],
63
- enumerable: false,
64
- configurable: true,
65
- });
66
- }
67
- enhancedTree.addTap = (middleware) => {
68
- const treeMiddlewares = middlewareMap.get(tree) || [];
69
- const existingIndex = treeMiddlewares.findIndex((m) => m.id === middleware.id);
70
- if (existingIndex >= 0) {
71
- treeMiddlewares[existingIndex] = middleware;
72
- }
73
- else {
74
- treeMiddlewares.push(middleware);
75
- }
76
- middlewareMap.set(tree, treeMiddlewares);
77
- };
78
- enhancedTree.removeTap = (id) => {
79
- const treeMiddlewares = middlewareMap.get(tree) || [];
80
- const filtered = treeMiddlewares.filter((m) => m.id !== id);
81
- middlewareMap.set(tree, filtered);
82
- };
83
- const originalBatchUpdate = tree.batchUpdate;
84
- if (originalBatchUpdate) {
85
- enhancedTree.batchUpdate = (updater) => {
86
- const action = 'BATCH_UPDATE';
87
- const currentState = originalTreeCall();
88
- const updateResult = updater(currentState);
89
- const treeMiddlewares = middlewareMap.get(tree) || [];
90
- for (const middleware of treeMiddlewares) {
91
- if (middleware.before &&
92
- !middleware.before(action, updateResult, currentState)) {
93
- return;
94
- }
95
- }
96
- const previousState = currentState;
97
- originalBatchUpdate.call(tree, updater);
98
- const newState = originalTreeCall();
99
- for (const middleware of treeMiddlewares) {
100
- if (middleware.after) {
101
- middleware.after(action, updateResult, previousState, newState);
102
- }
103
- }
104
- };
105
- }
106
- const originalDestroy = tree.destroy;
107
- enhancedTree.destroy = () => {
108
- middlewareMap.delete(tree);
109
- if (originalDestroy) {
110
- originalDestroy.call(tree);
111
- }
112
- };
113
- return enhancedTree;
114
- };
115
- }
116
- export function createLoggingMiddleware(treeName) {
117
- return {
118
- id: 'logging',
119
- before: (action, payload, state) => {
120
- console.group(`🏪 ${treeName}: ${action}`);
121
- console.log('Previous state:', state);
122
- console.log('Payload:', typeof payload === 'function' ? 'Function' : payload);
123
- return true;
124
- },
125
- after: (action, payload, state, newState) => {
126
- console.log('New state:', newState);
127
- console.groupEnd();
128
- },
129
- };
130
- }
131
- export function createPerformanceMiddleware() {
132
- return {
133
- id: 'performance',
134
- before: (action) => {
135
- console.time(`Tree update: ${action}`);
136
- return true;
137
- },
138
- after: (action) => {
139
- console.timeEnd(`Tree update: ${action}`);
140
- },
141
- };
142
- }
143
- export function createValidationMiddleware(validator) {
144
- return {
145
- id: 'validation',
146
- after: (action, payload, state, newState) => {
147
- const error = validator(newState);
148
- if (error) {
149
- console.error(`Validation failed after ${action}:`, error);
150
- }
151
- },
152
- };
153
- }
154
- export function createPersistenceMiddleware(config) {
155
- const { key, storage = localStorage, debounceMs = 1000, actions = ['UPDATE', 'BATCH_UPDATE'], } = config;
156
- let timeoutId;
157
- const debouncedSave = (state) => {
158
- if (timeoutId) {
159
- clearTimeout(timeoutId);
160
- }
161
- timeoutId = setTimeout(() => {
162
- try {
163
- storage.setItem(key, JSON.stringify(state));
164
- console.log(`💾 State auto-saved to ${key}`);
165
- }
166
- catch (error) {
167
- console.error('Failed to save state:', error);
168
- }
169
- }, debounceMs);
170
- };
171
- return {
172
- id: 'persistence',
173
- after: (action, payload, state, newState) => {
174
- if (actions.includes(action)) {
175
- debouncedSave(newState);
176
- }
177
- },
178
- };
179
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
2
- setupZoneTestEnv({
3
- errorOnUnknownElements: true,
4
- errorOnUnknownProperties: true,
5
- });
@@ -1 +0,0 @@
1
- export * from './lib/presets';
@@ -1 +0,0 @@
1
- export * from './lib/presets';
@@ -1,15 +0,0 @@
1
- declare const _default: {
2
- displayName: string;
3
- preset: string;
4
- setupFilesAfterEnv: string[];
5
- coverageDirectory: string;
6
- transform: {
7
- '^.+\\.(ts|mjs|js|html)$': (string | {
8
- tsconfig: string;
9
- stringifyContentPathRegex: string;
10
- })[];
11
- };
12
- transformIgnorePatterns: string[];
13
- snapshotSerializers: string[];
14
- };
15
- export default _default;
@@ -1,21 +0,0 @@
1
- export default {
2
- displayName: 'presets',
3
- preset: '../../../jest.preset.js',
4
- setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
5
- coverageDirectory: '../../../coverage/packages/core/enhancers/presets',
6
- transform: {
7
- '^.+\\.(ts|mjs|js|html)$': [
8
- 'jest-preset-angular',
9
- {
10
- tsconfig: '<rootDir>/tsconfig.spec.json',
11
- stringifyContentPathRegex: '\\.(html|svg)$',
12
- },
13
- ],
14
- },
15
- transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
16
- snapshotSerializers: [
17
- 'jest-preset-angular/build/serializers/no-ng-attributes',
18
- 'jest-preset-angular/build/serializers/ng-snapshot',
19
- 'jest-preset-angular/build/serializers/html-comment',
20
- ],
21
- };
@@ -1,11 +0,0 @@
1
- import type { TreeConfig } from '../../../lib/types';
2
- export type TreePreset = 'basic' | 'performance' | 'development' | 'production';
3
- export declare const TREE_PRESETS: Record<TreePreset, Partial<TreeConfig>>;
4
- export declare function createPresetConfig(preset: TreePreset, overrides?: Partial<TreeConfig>): TreeConfig;
5
- export declare function validatePreset(preset: TreePreset): boolean;
6
- export declare function getAvailablePresets(): TreePreset[];
7
- export declare function combinePresets(presets: TreePreset[], overrides?: Partial<TreeConfig>): TreeConfig;
8
- export declare function createDevTree(overrides?: Partial<TreeConfig>): {
9
- readonly config: TreeConfig;
10
- readonly enhancer: (tree: unknown) => unknown;
11
- };
@@ -1,102 +0,0 @@
1
- import { composeEnhancers } from '../../../lib/utils';
2
- export const TREE_PRESETS = {
3
- basic: {
4
- batchUpdates: false,
5
- useMemoization: false,
6
- trackPerformance: false,
7
- enableTimeTravel: false,
8
- enableDevTools: false,
9
- debugMode: false,
10
- },
11
- performance: {
12
- batchUpdates: true,
13
- useMemoization: true,
14
- trackPerformance: false,
15
- enableTimeTravel: false,
16
- enableDevTools: false,
17
- debugMode: false,
18
- useShallowComparison: true,
19
- maxCacheSize: 200,
20
- },
21
- development: {
22
- batchUpdates: true,
23
- useMemoization: true,
24
- trackPerformance: true,
25
- enableTimeTravel: true,
26
- enableDevTools: true,
27
- debugMode: true,
28
- maxCacheSize: 100,
29
- },
30
- production: {
31
- batchUpdates: true,
32
- useMemoization: true,
33
- trackPerformance: false,
34
- enableTimeTravel: false,
35
- enableDevTools: false,
36
- debugMode: false,
37
- useShallowComparison: true,
38
- maxCacheSize: 200,
39
- },
40
- };
41
- export function createPresetConfig(preset, overrides = {}) {
42
- const baseConfig = TREE_PRESETS[preset];
43
- return {
44
- ...baseConfig,
45
- ...overrides,
46
- };
47
- }
48
- export function validatePreset(preset) {
49
- if (!TREE_PRESETS[preset]) {
50
- throw new Error(`Invalid preset: ${preset}. Valid presets are: ${Object.keys(TREE_PRESETS).join(', ')}`);
51
- }
52
- return true;
53
- }
54
- export function getAvailablePresets() {
55
- return Object.keys(TREE_PRESETS);
56
- }
57
- export function combinePresets(presets, overrides = {}) {
58
- let combined = {};
59
- for (const preset of presets) {
60
- validatePreset(preset);
61
- combined = { ...combined, ...TREE_PRESETS[preset] };
62
- }
63
- return { ...combined, ...overrides };
64
- }
65
- export function createDevTree(overrides = {}) {
66
- const config = createPresetConfig('development', overrides);
67
- const enhancers = [];
68
- function tryRequire(id) {
69
- const maybeReq = globalThis.require;
70
- if (typeof maybeReq !== 'function')
71
- return undefined;
72
- try {
73
- return maybeReq(id);
74
- }
75
- catch {
76
- return undefined;
77
- }
78
- }
79
- try {
80
- const mod = tryRequire('@signaltree/devtools');
81
- const withDevtools = mod && (mod.withDevtools ?? mod.withDevTools ?? mod.default ?? mod);
82
- if (typeof withDevtools === 'function')
83
- enhancers.push(withDevtools);
84
- }
85
- catch (e) {
86
- void e;
87
- }
88
- try {
89
- const mod = tryRequire('@signaltree/time-travel');
90
- const withTimeTravel = mod && (mod.withTimeTravel ?? mod.default ?? mod);
91
- if (typeof withTimeTravel === 'function')
92
- enhancers.push(withTimeTravel);
93
- }
94
- catch (e) {
95
- void e;
96
- }
97
- const composed = composeEnhancers(...enhancers);
98
- return {
99
- config,
100
- enhancer: composed,
101
- };
102
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- import { setupZoneTestEnv } from 'jest-preset-angular/setup-env/zone';
2
- setupZoneTestEnv({
3
- errorOnUnknownElements: true,
4
- errorOnUnknownProperties: true,
5
- });
@@ -1,14 +0,0 @@
1
- export declare const TYPE_MARKERS: {
2
- readonly DATE: "§d";
3
- readonly REGEXP: "§r";
4
- readonly MAP: "§m";
5
- readonly SET: "§s";
6
- readonly UNDEFINED: "§u";
7
- readonly NAN: "§n";
8
- readonly INFINITY: "§i";
9
- readonly NEG_INFINITY: "§-i";
10
- readonly BIGINT: "§b";
11
- readonly SYMBOL: "§y";
12
- readonly FUNCTION: "§f";
13
- readonly CIRCULAR: "§c";
14
- };
@@ -1,14 +0,0 @@
1
- export const TYPE_MARKERS = {
2
- DATE: '§d',
3
- REGEXP: '§r',
4
- MAP: '§m',
5
- SET: '§s',
6
- UNDEFINED: '§u',
7
- NAN: '§n',
8
- INFINITY: '§i',
9
- NEG_INFINITY: '§-i',
10
- BIGINT: '§b',
11
- SYMBOL: '§y',
12
- FUNCTION: '§f',
13
- CIRCULAR: '§c',
14
- };
@@ -1,2 +0,0 @@
1
- export * from './lib/serialization';
2
- export * from './constants';
@@ -1,2 +0,0 @@
1
- export * from './lib/serialization';
2
- export * from './constants';
@@ -1,15 +0,0 @@
1
- declare const _default: {
2
- displayName: string;
3
- preset: string;
4
- setupFilesAfterEnv: string[];
5
- coverageDirectory: string;
6
- transform: {
7
- '^.+\\.(ts|mjs|js|html)$': (string | {
8
- tsconfig: string;
9
- stringifyContentPathRegex: string;
10
- })[];
11
- };
12
- transformIgnorePatterns: string[];
13
- snapshotSerializers: string[];
14
- };
15
- export default _default;
@@ -1,21 +0,0 @@
1
- export default {
2
- displayName: 'serialization',
3
- preset: '../../../jest.preset.js',
4
- setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
5
- coverageDirectory: '../../../coverage/packages/core/enhancers/serialization',
6
- transform: {
7
- '^.+\\.(ts|mjs|js|html)$': [
8
- 'jest-preset-angular',
9
- {
10
- tsconfig: '<rootDir>/tsconfig.spec.json',
11
- stringifyContentPathRegex: '\\.(html|svg)$',
12
- },
13
- ],
14
- },
15
- transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
16
- snapshotSerializers: [
17
- 'jest-preset-angular/build/serializers/no-ng-attributes',
18
- 'jest-preset-angular/build/serializers/ng-snapshot',
19
- 'jest-preset-angular/build/serializers/html-comment',
20
- ],
21
- };
@@ -1,59 +0,0 @@
1
- import type { SignalTree } from '../../../lib/types';
2
- import type { EnhancerWithMeta } from '../../../lib/types';
3
- export interface SerializationConfig {
4
- includeMetadata?: boolean;
5
- replacer?: (key: string, value: unknown) => unknown;
6
- reviver?: (key: string, value: unknown) => unknown;
7
- preserveTypes?: boolean;
8
- maxDepth?: number;
9
- handleCircular?: boolean;
10
- }
11
- export interface SerializedState<T = unknown> {
12
- data: T;
13
- metadata?: {
14
- timestamp: number;
15
- version: string;
16
- appVersion?: string;
17
- types?: Record<string, string>;
18
- circularRefs?: Array<{
19
- path: string;
20
- targetPath: string;
21
- }>;
22
- nodeMap?: Record<string, 'b' | 'r'>;
23
- };
24
- }
25
- export interface SerializableSignalTree<T> extends SignalTree<T> {
26
- $: any;
27
- serialize(config?: SerializationConfig): string;
28
- deserialize(json: string, config?: SerializationConfig): void;
29
- toJSON(): T;
30
- fromJSON(data: T, metadata?: SerializedState<T>['metadata']): void;
31
- snapshot(): SerializedState<T>;
32
- restore(snapshot: SerializedState<T>): void;
33
- }
34
- export interface PersistenceMethods {
35
- save(): Promise<void>;
36
- load(): Promise<void>;
37
- clear(): Promise<void>;
38
- __flushAutoSave?: () => Promise<void>;
39
- }
40
- export declare function withSerialization<T extends Record<string, unknown> = Record<string, unknown>>(defaultConfig?: SerializationConfig): EnhancerWithMeta<SignalTree<T>, SerializableSignalTree<T>>;
41
- export declare function enableSerialization<T extends Record<string, unknown> = Record<string, unknown>>(): EnhancerWithMeta<SignalTree<T>, SerializableSignalTree<T>>;
42
- export interface StorageAdapter {
43
- getItem(key: string): string | null | Promise<string | null>;
44
- setItem(key: string, value: string): void | Promise<void>;
45
- removeItem(key: string): void | Promise<void>;
46
- }
47
- export interface PersistenceConfig extends SerializationConfig {
48
- key: string;
49
- storage?: StorageAdapter;
50
- autoSave?: boolean;
51
- debounceMs?: number;
52
- autoLoad?: boolean;
53
- skipCache?: boolean;
54
- }
55
- export declare function withPersistence<T extends Record<string, unknown> = Record<string, unknown>>(config: PersistenceConfig): EnhancerWithMeta<SignalTree<T>, SerializableSignalTree<T> & PersistenceMethods>;
56
- export declare function createStorageAdapter(getItem: (key: string) => string | null | Promise<string | null>, setItem: (key: string, value: string) => void | Promise<void>, removeItem: (key: string) => void | Promise<void>): StorageAdapter;
57
- export declare function createIndexedDBAdapter(dbName?: string, storeName?: string): StorageAdapter;
58
- export declare function applySerialization<T extends Record<string, unknown>>(tree: SignalTree<T>): SerializableSignalTree<T>;
59
- export declare function applyPersistence<T extends Record<string, unknown>>(tree: SignalTree<T>, cfg: PersistenceConfig): SerializableSignalTree<T> & PersistenceMethods;