synapse-storage 3.0.5 → 3.0.7
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 +30 -64
- package/dist/api.cjs +890 -1
- package/dist/api.js +6 -1
- package/dist/core.cjs +2420 -1
- package/dist/core.js +2 -1
- package/dist/index.cjs +4179 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -1
- package/dist/react.cjs +267 -1
- package/dist/react.js +2 -1
- package/dist/reactive.cjs +642 -1
- package/dist/reactive.js +2 -1
- package/dist/utils.cjs +600 -1
- package/dist/utils.js +4 -1
- package/package.json +12 -7
- package/dist/api.d.cts +0 -365
- package/dist/chunk-22J2S57D.cjs +0 -1
- package/dist/chunk-4USKKL5R.js +0 -1
- package/dist/chunk-5X65PSGD.js +0 -1
- package/dist/chunk-635Q6YJZ.cjs +0 -1
- package/dist/chunk-6RNZVHSR.js +0 -1
- package/dist/chunk-FW5NGLPP.cjs +0 -1
- package/dist/chunk-IPUPRMZK.js +0 -1
- package/dist/chunk-NMDHQXMS.cjs +0 -1
- package/dist/chunk-S7X7IDBT.js +0 -1
- package/dist/chunk-UFBCZ25Y.cjs +0 -1
- package/dist/chunk-VSIVOWZF.cjs +0 -1
- package/dist/chunk-WC5TDS6C.cjs +0 -1
- package/dist/chunk-WQNH3LVB.js +0 -1
- package/dist/chunk-ZE2EJX2Y.js +0 -1
- package/dist/core.d.cts +0 -397
- package/dist/dispatcher.module-CdpmkplA.d.cts +0 -363
- package/dist/index.d.cts +0 -10
- package/dist/react.d.cts +0 -74
- package/dist/reactive.d.cts +0 -35
- package/dist/selector.interface-CA5y-kD_.d.cts +0 -63
- package/dist/storage.interface-Dl8SLUd1.d.cts +0 -128
- package/dist/utils.d.cts +0 -92
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
declare class StorageKey {
|
|
2
|
-
private readonly value;
|
|
3
|
-
private readonly isRawKey;
|
|
4
|
-
constructor(value: string, isRawKey?: boolean);
|
|
5
|
-
toString(): string;
|
|
6
|
-
toJSON(): string;
|
|
7
|
-
valueOf(): string;
|
|
8
|
-
isUnparseable(): boolean;
|
|
9
|
-
}
|
|
10
|
-
type StorageKeyType = string | StorageKey;
|
|
11
|
-
|
|
12
|
-
interface IndexedDBConfig {
|
|
13
|
-
dbName?: string;
|
|
14
|
-
dbVersion?: number;
|
|
15
|
-
storeName?: string;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
type StorageActionType = 'get' | 'set' | 'delete' | 'clear' | 'init' | 'keys' | 'update';
|
|
19
|
-
type StorageAction = {
|
|
20
|
-
type: StorageActionType;
|
|
21
|
-
key?: StorageKeyType;
|
|
22
|
-
value?: any;
|
|
23
|
-
metadata?: Record<string, any>;
|
|
24
|
-
source?: string;
|
|
25
|
-
timestamp?: number;
|
|
26
|
-
};
|
|
27
|
-
type MiddlewareAPI = {
|
|
28
|
-
dispatch: (action: StorageAction) => Promise<any>;
|
|
29
|
-
getState: () => Promise<Record<string, any>>;
|
|
30
|
-
storage: {
|
|
31
|
-
doGet: (key: StorageKeyType) => Promise<any>;
|
|
32
|
-
doSet: (key: StorageKeyType, value: any) => Promise<void>;
|
|
33
|
-
doUpdate: (updates: Array<{
|
|
34
|
-
key: StorageKeyType;
|
|
35
|
-
value: any;
|
|
36
|
-
}>) => Promise<void>;
|
|
37
|
-
doDelete: (key: StorageKeyType) => Promise<boolean>;
|
|
38
|
-
doClear: () => Promise<void>;
|
|
39
|
-
doKeys: () => Promise<string[]>;
|
|
40
|
-
notifySubscribers: (key: StorageKeyType, value: any) => void;
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
type NextFunction = (action: StorageAction) => Promise<any>;
|
|
44
|
-
type SetupEventsFunction = (api: MiddlewareAPI) => void;
|
|
45
|
-
type Middleware = {
|
|
46
|
-
name: string;
|
|
47
|
-
setup?: SetupEventsFunction;
|
|
48
|
-
cleanup?: () => Promise<void> | void;
|
|
49
|
-
reducer: (api: MiddlewareAPI) => (next: NextFunction) => (action: StorageAction) => Promise<any>;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
interface BatchingMiddlewareOptions {
|
|
53
|
-
batchSize?: number;
|
|
54
|
-
batchDelay?: number;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
interface ShallowCompareMiddlewareOptions {
|
|
58
|
-
segments?: string[];
|
|
59
|
-
comparator?: <T>(prev: T, next: T) => boolean;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
interface IStorage<T extends Record<string, any> = any> {
|
|
63
|
-
name: string;
|
|
64
|
-
get<R>(key: StorageKeyType): Promise<R | undefined>;
|
|
65
|
-
getState(): Promise<T>;
|
|
66
|
-
set<R>(key: StorageKeyType, value: R): Promise<void>;
|
|
67
|
-
update(updater: (state: T) => void): Promise<void>;
|
|
68
|
-
has(key: StorageKeyType): Promise<boolean>;
|
|
69
|
-
delete(key: StorageKeyType): Promise<void>;
|
|
70
|
-
clear(): Promise<void>;
|
|
71
|
-
keys(): Promise<string[]>;
|
|
72
|
-
destroy(): Promise<void>;
|
|
73
|
-
subscribeToAll(callback: (event: {
|
|
74
|
-
type: string;
|
|
75
|
-
changedPaths?: string[];
|
|
76
|
-
key?: StorageKeyType[] | StorageKeyType;
|
|
77
|
-
value?: any;
|
|
78
|
-
}) => void): VoidFunction;
|
|
79
|
-
initialize(): Promise<this>;
|
|
80
|
-
subscribe(key: StorageKeyType, callback: (value: any) => void): VoidFunction;
|
|
81
|
-
subscribe<R>(pathSelector: (state: T) => R, callback: (value: R) => void): VoidFunction;
|
|
82
|
-
}
|
|
83
|
-
declare enum StorageEvents {
|
|
84
|
-
STORAGE_UPDATE = "storage:update",
|
|
85
|
-
STORAGE_DELETE = "storage:delete",
|
|
86
|
-
STORAGE_PATCH = "storage:patch",
|
|
87
|
-
STORAGE_SELECT = "storage:select",
|
|
88
|
-
STORAGE_CLEAR = "storage:clear",
|
|
89
|
-
STORAGE_DESTROY = "storage:destroy"
|
|
90
|
-
}
|
|
91
|
-
interface StorageEvent<T = any> {
|
|
92
|
-
type: string;
|
|
93
|
-
payload?: T;
|
|
94
|
-
metadata?: Record<string, any>;
|
|
95
|
-
}
|
|
96
|
-
interface IEventEmitter {
|
|
97
|
-
emit(event: StorageEvent): Promise<void>;
|
|
98
|
-
}
|
|
99
|
-
interface ILogger {
|
|
100
|
-
debug(message: string, meta?: Record<string, any>): void;
|
|
101
|
-
info(message: string, meta?: Record<string, any>): void;
|
|
102
|
-
warn(message: string, meta?: Record<string, any>): void;
|
|
103
|
-
error(message: string, meta?: Record<string, any>): void;
|
|
104
|
-
}
|
|
105
|
-
interface DefaultMiddlewares {
|
|
106
|
-
batching: (options?: BatchingMiddlewareOptions) => Middleware;
|
|
107
|
-
shallowCompare: (options?: ShallowCompareMiddlewareOptions) => Middleware;
|
|
108
|
-
}
|
|
109
|
-
type GetDefaultMiddleware = () => DefaultMiddlewares;
|
|
110
|
-
type ConfigureMiddlewares = (getDefaultMiddleware: GetDefaultMiddleware) => Middleware[];
|
|
111
|
-
interface StorageConfig {
|
|
112
|
-
name: string;
|
|
113
|
-
initialState?: Record<string, any>;
|
|
114
|
-
middlewares?: ConfigureMiddlewares;
|
|
115
|
-
}
|
|
116
|
-
type StorageType = 'memory' | 'localStorage' | 'indexedDB';
|
|
117
|
-
interface MemoryStorageConfig extends StorageConfig {
|
|
118
|
-
type: 'memory';
|
|
119
|
-
}
|
|
120
|
-
interface LocalStorageConfig extends StorageConfig {
|
|
121
|
-
type: 'localStorage';
|
|
122
|
-
}
|
|
123
|
-
interface IndexedDBStorageConfig extends StorageConfig {
|
|
124
|
-
type: 'indexedDB';
|
|
125
|
-
options: IndexedDBConfig;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export { type BatchingMiddlewareOptions as B, type ConfigureMiddlewares as C, type DefaultMiddlewares as D, type GetDefaultMiddleware as G, type IStorage as I, type LocalStorageConfig as L, type Middleware as M, type NextFunction as N, type ShallowCompareMiddlewareOptions as S, type MiddlewareAPI as a, type StorageAction as b, type StorageKeyType as c, StorageEvents as d, type StorageEvent as e, type IEventEmitter as f, type ILogger as g, type StorageConfig as h, type StorageType as i, type MemoryStorageConfig as j, type IndexedDBStorageConfig as k, StorageKey as l };
|
package/dist/utils.d.cts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { I as ISelectorModule } from './selector.interface-CA5y-kD_.cjs';
|
|
3
|
-
import { I as IStorage } from './storage.interface-Dl8SLUd1.cjs';
|
|
4
|
-
import { m as ExternalStates, o as Effect } from './dispatcher.module-CdpmkplA.cjs';
|
|
5
|
-
|
|
6
|
-
type ExtractDispatchType<T> = T extends {
|
|
7
|
-
dispatch: infer D;
|
|
8
|
-
} ? D : never;
|
|
9
|
-
type StorageCreatorFunction<T extends Record<string, any>> = () => Promise<IStorage<T>>;
|
|
10
|
-
/**
|
|
11
|
-
* Базовая конфигурация хранилища
|
|
12
|
-
*/
|
|
13
|
-
type BaseSynapseConfig<TStore extends Record<string, any>, TSelectors = any, TExternalSelectors extends Record<string, any> = Record<string, any>> = ({
|
|
14
|
-
storage: IStorage<TStore>;
|
|
15
|
-
createStorageFn?: undefined;
|
|
16
|
-
} | {
|
|
17
|
-
storage?: undefined;
|
|
18
|
-
createStorageFn: StorageCreatorFunction<TStore>;
|
|
19
|
-
}) & {
|
|
20
|
-
externalSelectors?: TExternalSelectors;
|
|
21
|
-
createSelectorsFn?: (selectorModule: ISelectorModule<TStore>, externalSelectors: TExternalSelectors) => TSelectors;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Конфигурация с dispatcher и effects
|
|
25
|
-
*/
|
|
26
|
-
type CreateSynapseConfigWithEffects<TStore extends Record<string, any>, TSelectors = any, TDispatcher = any, TApi extends Record<string, any> = Record<string, never>, TConfig extends Record<string, any> = Record<string, never>, TExternalSelectors extends Record<string, any> = Record<string, any>> = BaseSynapseConfig<TStore, TSelectors, TExternalSelectors> & {
|
|
27
|
-
createDispatcherFn: (storage: IStorage<TStore>) => TDispatcher;
|
|
28
|
-
createEffectConfig: (dispatcher: TDispatcher) => {
|
|
29
|
-
dispatchers: Record<string, any>;
|
|
30
|
-
api?: TApi;
|
|
31
|
-
config?: TConfig;
|
|
32
|
-
externalStates?: ExternalStates;
|
|
33
|
-
};
|
|
34
|
-
effects?: Effect<TStore, any, TApi, TConfig, any>[];
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Конфигурация только с dispatcher
|
|
38
|
-
*/
|
|
39
|
-
type CreateSynapseConfigWithDispatcher<TStore extends Record<string, any>, TSelectors = any, TDispatcher = any, TExternalSelectors extends Record<string, any> = Record<string, any>> = BaseSynapseConfig<TStore, TSelectors, TExternalSelectors> & {
|
|
40
|
-
createDispatcherFn: (storage: IStorage<TStore>) => TDispatcher;
|
|
41
|
-
createEffectConfig?: never;
|
|
42
|
-
effects?: never;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Конфигурация без dispatcher
|
|
46
|
-
*/
|
|
47
|
-
type CreateSynapseConfigBasic<TStore extends Record<string, any>, TSelectors = any, TExternalSelectors extends Record<string, any> = Record<string, any>> = BaseSynapseConfig<TStore, TSelectors, TExternalSelectors> & {
|
|
48
|
-
createDispatcherFn?: never;
|
|
49
|
-
createEffectConfig?: never;
|
|
50
|
-
effects?: never;
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Результат с dispatcher и effects
|
|
54
|
-
*/
|
|
55
|
-
interface SynapseStoreWithEffects<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors, TActions> {
|
|
56
|
-
storage: TStorage;
|
|
57
|
-
selectors: TSelectors;
|
|
58
|
-
actions: TActions;
|
|
59
|
-
state$: Observable<TStore>;
|
|
60
|
-
dispatcher: any;
|
|
61
|
-
destroy: () => Promise<void>;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Результат только с dispatcher
|
|
65
|
-
*/
|
|
66
|
-
interface SynapseStoreWithDispatcher<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors, TActions> {
|
|
67
|
-
storage: TStorage;
|
|
68
|
-
selectors: TSelectors;
|
|
69
|
-
actions: TActions;
|
|
70
|
-
dispatcher: any;
|
|
71
|
-
destroy: () => Promise<void>;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Результат без dispatcher
|
|
75
|
-
*/
|
|
76
|
-
interface SynapseStoreBasic<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors> {
|
|
77
|
-
storage: TStorage;
|
|
78
|
-
selectors: TSelectors;
|
|
79
|
-
destroy: () => Promise<void>;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Union-тип для всех возможных результатов createSynapse
|
|
83
|
-
*/
|
|
84
|
-
type AnySynapseStore<TStore extends Record<string, any> = any, TStorage extends IStorage<TStore> = IStorage<any>, TSelectors = any, TActions = any> = SynapseStoreWithEffects<TStore, TStorage, TSelectors, TActions> | SynapseStoreWithDispatcher<TStore, TStorage, TSelectors, TActions> | SynapseStoreBasic<TStore, TStorage, TSelectors>;
|
|
85
|
-
/**
|
|
86
|
-
* Перегрузки функции createSynapse
|
|
87
|
-
*/
|
|
88
|
-
declare function createSynapse<TStore extends Record<string, any>, TSelectors = any, TDispatcher = any, TApi extends Record<string, any> = Record<string, never>, TConfig extends Record<string, any> = Record<string, never>, TExternalSelectors extends Record<string, any> = Record<string, any>, TStorage extends IStorage<TStore> = IStorage<TStore>>(config: CreateSynapseConfigWithEffects<TStore, TSelectors, TDispatcher, TApi, TConfig, TExternalSelectors>): Promise<SynapseStoreWithEffects<TStore, TStorage, TSelectors, ExtractDispatchType<TDispatcher>>>;
|
|
89
|
-
declare function createSynapse<TStore extends Record<string, any>, TSelectors = any, TDispatcher = any, TExternalSelectors extends Record<string, any> = Record<string, any>, TStorage extends IStorage<TStore> = IStorage<TStore>>(config: CreateSynapseConfigWithDispatcher<TStore, TSelectors, TDispatcher, TExternalSelectors>): Promise<SynapseStoreWithDispatcher<TStore, TStorage, TSelectors, ExtractDispatchType<TDispatcher>>>;
|
|
90
|
-
declare function createSynapse<TStore extends Record<string, any>, TSelectors = any, TExternalSelectors extends Record<string, any> = Record<string, any>, TStorage extends IStorage<TStore> = IStorage<TStore>>(config: CreateSynapseConfigBasic<TStore, TSelectors, TExternalSelectors>): Promise<SynapseStoreBasic<TStore, TStorage, TSelectors>>;
|
|
91
|
-
|
|
92
|
-
export { type AnySynapseStore, type SynapseStoreBasic, type SynapseStoreWithDispatcher, type SynapseStoreWithEffects, createSynapse };
|