synapse-storage 2.1.0 → 2.1.1
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 +32 -13
- package/dist/react/utils/createSynapseCtx.d.ts +23 -13
- package/dist/react/utils/createSynapseCtx.d.ts.map +1 -1
- package/dist/react/utils/createSynapseCtx.js +11 -10
- package/dist/react/utils/createSynapseCtx.js.map +1 -1
- package/dist/reactive/effects/effects.module.d.ts +13 -3
- package/dist/reactive/effects/effects.module.d.ts.map +1 -1
- package/dist/reactive/effects/effects.module.js +21 -7
- package/dist/reactive/effects/effects.module.js.map +1 -1
- package/dist/utils/createSynapse.d.ts +58 -18
- package/dist/utils/createSynapse.d.ts.map +1 -1
- package/dist/utils/createSynapse.js +4 -12
- package/dist/utils/createSynapse.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ Synapse — это набор инструментов для управлени
|
|
|
17
17
|
|
|
18
18
|
## Автор
|
|
19
19
|
|
|
20
|
-
**Владислав** — Senior Frontend Developer (React, TypeScript)
|
|
20
|
+
**Владислав** — Senior Frontend Developer (React, TypeScript)÷
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
> ### 🔎 Нахожусь в поиске новых карьерных возможностей!
|
|
@@ -178,10 +178,10 @@ function Counter() {
|
|
|
178
178
|
);
|
|
179
179
|
}
|
|
180
180
|
```
|
|
181
|
-
Более подробные примеры можно найти в
|
|
181
|
+
Более подробные примеры можно найти в examples:
|
|
182
|
+
- расширенный пример комплексного использования, включая реактивный подход (full-example)
|
|
182
183
|
- пример использования api-client(api-example.md)
|
|
183
184
|
- пример комбинированного использования хранилищ всех типов, демонтсрация возможностей подписок и работы базовых middlewares(base-storage-example.md)
|
|
184
|
-
- расширенный пример комплексного использования, включая реактивный подход (pokemons)
|
|
185
185
|
|
|
186
186
|
|
|
187
187
|
## Адаптеры хранилищ
|
|
@@ -459,7 +459,8 @@ import {
|
|
|
459
459
|
ofTypes, // Слушает несколько событий
|
|
460
460
|
createEffect, // Функция создания эффекта
|
|
461
461
|
combineEffects, // Объединяет несколько эффектов в один
|
|
462
|
-
selectorMap, // Выбор частей состояния с помощью селекторов
|
|
462
|
+
selectorMap, // Выбор частей состояния с помощью селекторов (возвращает массив)
|
|
463
|
+
selectorObject, // Выбор частей состояния с помощью селекторов (возвращает объект)
|
|
463
464
|
validateMap // Оператор для удобной работы с запросом
|
|
464
465
|
} from 'synapse-storage/reactive'
|
|
465
466
|
import { pokemonEndpoints } from '../api.md'
|
|
@@ -498,9 +499,10 @@ export const watchIdEffect = createEffect<
|
|
|
498
499
|
>((action$, state$, externalStorages, { pokemonDispatcher }) =>
|
|
499
500
|
action$.pipe(
|
|
500
501
|
ofType(pokemonDispatcher.watchers.watchCurrentId),
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
502
|
+
withLatestFrom(
|
|
503
|
+
selectorMap(state$,
|
|
504
|
+
//... selectors
|
|
505
|
+
),
|
|
504
506
|
),
|
|
505
507
|
// tap(([action, [loading, currentId]]) => {...}),
|
|
506
508
|
mapTo(null),
|
|
@@ -526,10 +528,17 @@ export const loadPokemonEffect = createEffect<
|
|
|
526
528
|
// Я использую отдельный action loadPokemon который уведомляет о намерении сделать запрос
|
|
527
529
|
// Для того, чтобы не устанавливать loading сразу
|
|
528
530
|
ofType(pokemonDispatcher.dispatch.loadPokemon),
|
|
529
|
-
|
|
530
|
-
|
|
531
|
+
withLatestFrom(
|
|
532
|
+
selectorMap(state$, (s) => s.currentId, (s) => s.currentId), // |
|
|
533
|
+
selectorMap(pokemon1State$, (s) => s.currentId, (s) => s.currentId), // | получает поток и селекторы, возвращает массив с результатами
|
|
534
|
+
selectorMap(pokemon1State$, (s) => s.currentId), // |
|
|
535
|
+
selectorObject(state$, { // |
|
|
536
|
+
currentId: (s) => s.currentId, // | получает поток и возвращает объект с результатами (для каждого свойства вызывается функция с состояниеме этого потого потока)
|
|
537
|
+
name: (s) => s.currentPokemon?.sprites, // |
|
|
538
|
+
}),
|
|
539
|
+
),
|
|
531
540
|
validateMap({
|
|
532
|
-
apiCall: ([action, [currentId], [
|
|
541
|
+
apiCall: ([action, [currentId], [externalId, externalId2], [external2Id], externalData]) => {
|
|
533
542
|
const { id } = action.payload
|
|
534
543
|
|
|
535
544
|
return from(
|
|
@@ -782,6 +791,11 @@ export const userInfoSynapse = await createSynapse({
|
|
|
782
791
|
api: {
|
|
783
792
|
userInfoAPi: userInfoEndpoints,
|
|
784
793
|
},
|
|
794
|
+
// Внешние состояния ввиде потоков, которые хотим использовать в эффектах
|
|
795
|
+
externalStates: {
|
|
796
|
+
pokemonState$: pokemon1State$,
|
|
797
|
+
core$: coreSynapseIDB.state$,
|
|
798
|
+
},
|
|
785
799
|
}),
|
|
786
800
|
// Эффекты которые будут запущены для этого synapse
|
|
787
801
|
effects: [userInfoEffects],
|
|
@@ -802,9 +816,14 @@ export const {
|
|
|
802
816
|
useSynapseState$: useUserInfoSynapseState$,
|
|
803
817
|
useSynapseStorage: useUserInfoSynapseStorage,
|
|
804
818
|
cleanupSynapse: useUserInfoCleanupSynapse,
|
|
805
|
-
} = createSynapseCtx(
|
|
806
|
-
|
|
807
|
-
|
|
819
|
+
} = createSynapseCtx(
|
|
820
|
+
// Передаем сам Synapse
|
|
821
|
+
userInfoSynapse,
|
|
822
|
+
{
|
|
823
|
+
loadingComponent: <div>loading</div>, // Передаем компонент, который будет отображаться пока идет загрузка инициализация
|
|
824
|
+
// mergeFn: // Функция слияния переданных параметров в initialState (по умолчанию выполняется глубокая копия)
|
|
825
|
+
},
|
|
826
|
+
)
|
|
808
827
|
```
|
|
809
828
|
|
|
810
829
|
Вы можете связывать Synapse между собой
|
|
@@ -1,30 +1,40 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { IStorage } from '../../core';
|
|
4
|
-
import {
|
|
4
|
+
import { SynapseStoreBasic, SynapseStoreWithDispatcher, SynapseStoreWithEffects } from '../../utils';
|
|
5
5
|
interface Options<TStore extends Record<string, any>> {
|
|
6
6
|
loadingComponent?: any;
|
|
7
7
|
mergeFn?: (target: TStore, source: Record<string, any>) => void;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* @param synapseStore - Хранилище, созданное функцией createSynapse
|
|
13
|
-
* @param options
|
|
14
|
-
* @returns Объект с функцией HOC и хуками для доступа к хранилищу
|
|
10
|
+
* Перегрузки для createSynapseCtx в зависимости от типа хранилища
|
|
15
11
|
*/
|
|
16
|
-
export declare function createSynapseCtx<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors
|
|
17
|
-
contextSynapse: <SelfComponentProps, PublicContextProps = Record<string, any>>(Component: ComponentType<SelfComponentProps>) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}): any;
|
|
21
|
-
displayName: string;
|
|
22
|
-
};
|
|
12
|
+
export declare function createSynapseCtx<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors, TActions>(synapseStorePromise: Promise<SynapseStoreWithEffects<TStore, TStorage, TSelectors, TActions>> | SynapseStoreWithEffects<TStore, TStorage, TSelectors, TActions>, options?: Options<TStore>): {
|
|
13
|
+
contextSynapse: <SelfComponentProps, PublicContextProps = Record<string, any>>(Component: ComponentType<SelfComponentProps>) => ComponentType<SelfComponentProps & {
|
|
14
|
+
contextProps?: PublicContextProps;
|
|
15
|
+
}>;
|
|
23
16
|
useSynapseStorage: () => TStorage;
|
|
24
17
|
useSynapseSelectors: () => TSelectors;
|
|
25
18
|
useSynapseActions: () => TActions;
|
|
26
19
|
useSynapseState$: () => Observable<TStore>;
|
|
27
20
|
cleanupSynapse: () => Promise<void>;
|
|
28
21
|
};
|
|
22
|
+
export declare function createSynapseCtx<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors, TActions>(synapseStorePromise: Promise<SynapseStoreWithDispatcher<TStore, TStorage, TSelectors, TActions>> | SynapseStoreWithDispatcher<TStore, TStorage, TSelectors, TActions>, options?: Options<TStore>): {
|
|
23
|
+
contextSynapse: <SelfComponentProps, PublicContextProps = Record<string, any>>(Component: ComponentType<SelfComponentProps>) => ComponentType<SelfComponentProps & {
|
|
24
|
+
contextProps?: PublicContextProps;
|
|
25
|
+
}>;
|
|
26
|
+
useSynapseStorage: () => TStorage;
|
|
27
|
+
useSynapseSelectors: () => TSelectors;
|
|
28
|
+
useSynapseActions: () => TActions;
|
|
29
|
+
cleanupSynapse: () => Promise<void>;
|
|
30
|
+
};
|
|
31
|
+
export declare function createSynapseCtx<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors>(synapseStorePromise: Promise<SynapseStoreBasic<TStore, TStorage, TSelectors>> | SynapseStoreBasic<TStore, TStorage, TSelectors>, options?: Options<TStore>): {
|
|
32
|
+
contextSynapse: <SelfComponentProps, PublicContextProps = Record<string, any>>(Component: ComponentType<SelfComponentProps>) => ComponentType<SelfComponentProps & {
|
|
33
|
+
contextProps?: PublicContextProps;
|
|
34
|
+
}>;
|
|
35
|
+
useSynapseStorage: () => TStorage;
|
|
36
|
+
useSynapseSelectors: () => TSelectors;
|
|
37
|
+
cleanupSynapse: () => Promise<void>;
|
|
38
|
+
};
|
|
29
39
|
export {};
|
|
30
40
|
//# sourceMappingURL=createSynapseCtx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSynapseCtx.d.ts","sourceRoot":"","sources":["../../../src/react/utils/createSynapseCtx.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6E,MAAM,OAAO,CAAA;AAChH,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAGjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createSynapseCtx.d.ts","sourceRoot":"","sources":["../../../src/react/utils/createSynapseCtx.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,7 @@ import { createContext, useContext, useEffect, useRef, useState } from 'react';
|
|
|
3
3
|
import { deepMerge } from '../../_utils';
|
|
4
4
|
const ERROR_HOOK_MESSAGE = 'useSynapseActions необходимо использовать внутри компонента contextSynapse';
|
|
5
5
|
const ERROR_CONTEXT_INIT = 'Ошибка при инициализации контекста:';
|
|
6
|
-
|
|
7
|
-
* Создает React-контекст и хуки для удобного использования хранилища Synapse в React-компонентах
|
|
8
|
-
*
|
|
9
|
-
* @param synapseStore - Хранилище, созданное функцией createSynapse
|
|
10
|
-
* @param options
|
|
11
|
-
* @returns Объект с функцией HOC и хуками для доступа к хранилищу
|
|
12
|
-
*/
|
|
13
|
-
// Модифицированный createSynapseCtx.tsx
|
|
6
|
+
// Основная реализация
|
|
14
7
|
export function createSynapseCtx(synapseStorePromise, options) {
|
|
15
8
|
const { loadingComponent = null, mergeFn = deepMerge } = options || {};
|
|
16
9
|
// Храним ссылку на store
|
|
@@ -40,17 +33,25 @@ export function createSynapseCtx(synapseStorePromise, options) {
|
|
|
40
33
|
throw new Error(ERROR_HOOK_MESSAGE);
|
|
41
34
|
return context.selectors;
|
|
42
35
|
};
|
|
36
|
+
// Условный хук для actions (только если есть dispatcher)
|
|
43
37
|
const useSynapseActions = () => {
|
|
44
38
|
const context = useContext(SynapseContext);
|
|
45
39
|
if (!context)
|
|
46
40
|
throw new Error(ERROR_HOOK_MESSAGE);
|
|
47
|
-
|
|
41
|
+
if ('actions' in context) {
|
|
42
|
+
return context.actions;
|
|
43
|
+
}
|
|
44
|
+
throw new Error('useSynapseActions: actions недоступны для этого типа хранилища. Убедитесь, что передана функция createDispatcherFn при создании хранилища.');
|
|
48
45
|
};
|
|
46
|
+
// Условный хук для state$ (только если есть effects)
|
|
49
47
|
const useSynapseState$ = () => {
|
|
50
48
|
const context = useContext(SynapseContext);
|
|
51
49
|
if (!context)
|
|
52
50
|
throw new Error(ERROR_HOOK_MESSAGE);
|
|
53
|
-
|
|
51
|
+
if ('state$' in context) {
|
|
52
|
+
return context.state$;
|
|
53
|
+
}
|
|
54
|
+
throw new Error('useSynapseState$: state$ недоступен для этого типа хранилища. Убедитесь, что переданы функции createDispatcherFn и createEffectConfig при создании хранилища.');
|
|
54
55
|
};
|
|
55
56
|
/**
|
|
56
57
|
* Декоратор для обертывания компонентов в контекст Synapse
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSynapseCtx.js","sourceRoot":"","sources":["../../../src/react/utils/createSynapseCtx.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAiB,aAAa,EAAqB,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAIxC,MAAM,kBAAkB,GAAG,4EAA4E,CAAA;AACvG,MAAM,kBAAkB,GAAG,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"createSynapseCtx.js","sourceRoot":"","sources":["../../../src/react/utils/createSynapseCtx.tsx"],"names":[],"mappings":"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"}
|
|
@@ -54,13 +54,23 @@ export declare function ofTypes<T extends DispatchFunction<any, any>[]>(actionFn
|
|
|
54
54
|
*/
|
|
55
55
|
export declare function ofTypesWaitAll<T extends DispatchFunction<any, any>[]>(actionFns: [...T]): (source$: Observable<Action>) => Observable<{ [K in keyof T]: TypedAction<ExtractResultType<T[K]>>; }>;
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Создает Observable с выбранными данными из состояния
|
|
58
58
|
* @param state$ Поток состояния
|
|
59
59
|
* @param selectors Селекторы для выбора частей состояния
|
|
60
|
+
* @returns Observable с массивом выбранных значений
|
|
60
61
|
*/
|
|
61
|
-
export declare function selectorMap<
|
|
62
|
+
export declare function selectorMap<TState, TResults extends any[]>(state$: Observable<TState>, ...selectors: {
|
|
62
63
|
[K in keyof TResults]: (state: TState) => TResults[K];
|
|
63
|
-
}):
|
|
64
|
+
}): Observable<TResults>;
|
|
65
|
+
/**
|
|
66
|
+
* Создает именованный объект вместо массива
|
|
67
|
+
* @param state$ Поток состояния
|
|
68
|
+
* @param selectors Объект с селекторами
|
|
69
|
+
* @returns Observable с объектом выбранных значений
|
|
70
|
+
*/
|
|
71
|
+
export declare function selectorObject<TState, TResult extends Record<string, any>>(state$: Observable<TState>, selectors: {
|
|
72
|
+
[K in keyof TResult]: (state: TState) => TResult[K];
|
|
73
|
+
}): Observable<TResult>;
|
|
64
74
|
/**
|
|
65
75
|
* Оператор validateMap для валидации данных и условного вызова API
|
|
66
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.module.d.ts","sourceRoot":"","sources":["../../../src/reactive/effects/effects.module.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"effects.module.d.ts","sourceRoot":"","sources":["../../../src/reactive/effects/effects.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { combineLatest, merge, Observable, of, pipe, Subject } from 'rxjs';
|
|
2
|
-
import { catchError, filter, map, share, switchMap, take
|
|
2
|
+
import { catchError, filter, map, share, switchMap, take } from 'rxjs/operators';
|
|
3
3
|
import { chunkRequestConsistent, chunkRequestParallel } from './utils';
|
|
4
4
|
/**
|
|
5
5
|
* Оператор для фильтрации действий по типу с сохранением типа payload
|
|
@@ -60,16 +60,30 @@ export function ofTypesWaitAll(actionFns) {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* Создает Observable с выбранными данными из состояния
|
|
64
64
|
* @param state$ Поток состояния
|
|
65
65
|
* @param selectors Селекторы для выбора частей состояния
|
|
66
|
+
* @returns Observable с массивом выбранных значений
|
|
66
67
|
*/
|
|
67
68
|
export function selectorMap(state$, ...selectors) {
|
|
68
|
-
return (
|
|
69
|
-
return
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
69
|
+
return state$.pipe(map((state) => {
|
|
70
|
+
return selectors.map((selector) => selector(state));
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Создает именованный объект вместо массива
|
|
75
|
+
* @param state$ Поток состояния
|
|
76
|
+
* @param selectors Объект с селекторами
|
|
77
|
+
* @returns Observable с объектом выбранных значений
|
|
78
|
+
*/
|
|
79
|
+
export function selectorObject(state$, selectors) {
|
|
80
|
+
return state$.pipe(map((state) => {
|
|
81
|
+
const result = {};
|
|
82
|
+
for (const [key, selector] of Object.entries(selectors)) {
|
|
83
|
+
result[key] = selector(state);
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}));
|
|
73
87
|
}
|
|
74
88
|
/**
|
|
75
89
|
* Оператор validateMap для валидации данных и условного вызова API
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effects.module.js","sourceRoot":"","sources":["../../../src/reactive/effects/effects.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAoB,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"effects.module.js","sourceRoot":"","sources":["../../../src/reactive/effects/effects.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { ISelectorModule, IStorage } from '../core';
|
|
3
3
|
import { Effect, ExternalStates } from '../reactive';
|
|
4
4
|
export type ExtractPromiseType<T> = T extends Promise<infer U> ? U : T;
|
|
5
5
|
export type ExtractStorageType<T> = T extends IStorage<infer U> ? U : never;
|
|
@@ -8,9 +8,9 @@ export type ExtractDispatchType<T> = T extends {
|
|
|
8
8
|
} ? D : never;
|
|
9
9
|
export type StorageCreatorFunction<T extends Record<string, any>> = () => Promise<IStorage<T>>;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Базовая конфигурация хранилища
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
type BaseSynapseConfig<TStore extends Record<string, any>, TSelectors = any, TExternalSelectors extends Record<string, any> = Record<string, any>> = ({
|
|
14
14
|
storage: IStorage<TStore>;
|
|
15
15
|
createStorageFn?: undefined;
|
|
16
16
|
} | {
|
|
@@ -19,34 +19,74 @@ export type CreateSynapseConfig<TStore extends Record<string, any>, TSelectors =
|
|
|
19
19
|
}) & {
|
|
20
20
|
externalSelectors?: TExternalSelectors;
|
|
21
21
|
createSelectorsFn?: (selectorModule: ISelectorModule<TStore>, externalSelectors: TExternalSelectors) => TSelectors;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Конфигурация с dispatcher и effects
|
|
25
|
+
*/
|
|
26
|
+
export 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) => {
|
|
24
29
|
dispatchers: Record<string, any>;
|
|
25
|
-
externalStates?: TExternalStates;
|
|
26
30
|
api?: TApi;
|
|
27
31
|
config?: TConfig;
|
|
32
|
+
externalStates?: ExternalStates;
|
|
28
33
|
};
|
|
29
|
-
effects?: Effect<TStore, any, TApi, TConfig>[];
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
effects?: Effect<TStore, any, TApi, TConfig, any>[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Конфигурация только с dispatcher
|
|
38
|
+
*/
|
|
39
|
+
export 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;
|
|
33
43
|
};
|
|
34
44
|
/**
|
|
35
|
-
*
|
|
45
|
+
* Конфигурация без dispatcher
|
|
36
46
|
*/
|
|
37
|
-
export
|
|
47
|
+
export 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
|
+
export interface SynapseStoreWithEffects<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors, TActions> {
|
|
38
56
|
storage: TStorage;
|
|
39
57
|
selectors: TSelectors;
|
|
40
58
|
actions: TActions;
|
|
41
59
|
state$: Observable<TStore>;
|
|
60
|
+
dispatcher: any;
|
|
42
61
|
destroy: () => Promise<void>;
|
|
43
|
-
dispatcher: TDispatcher;
|
|
44
62
|
}
|
|
45
63
|
/**
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
64
|
+
* Результат только с dispatcher
|
|
65
|
+
*/
|
|
66
|
+
export 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
|
+
export 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
|
+
export 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
|
|
50
87
|
*/
|
|
51
|
-
export 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>,
|
|
88
|
+
export 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
|
+
export 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
|
+
export 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
|
+
export {};
|
|
52
92
|
//# sourceMappingURL=createSynapse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSynapse.d.ts","sourceRoot":"","sources":["../../src/utils/createSynapse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"createSynapse.d.ts","sourceRoot":"","sources":["../../src/utils/createSynapse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
1
|
import { SelectorModule } from '../core';
|
|
3
2
|
import { EffectsModule } from '../reactive';
|
|
4
|
-
|
|
5
|
-
* Создает хранилище Synapse
|
|
6
|
-
*
|
|
7
|
-
* @param config Конфигурация для создания хранилища
|
|
8
|
-
* @returns Promise, который разрешается в SynapseStore
|
|
9
|
-
*/
|
|
3
|
+
// Основная реализация
|
|
10
4
|
export async function createSynapse(config) {
|
|
11
5
|
// Создаем и инициализируем хранилище
|
|
12
6
|
const storageInstance = (config.createStorageFn ? await config.createStorageFn() : config.storage);
|
|
@@ -15,9 +9,6 @@ export async function createSynapse(config) {
|
|
|
15
9
|
const result = {
|
|
16
10
|
storage: storageInstance,
|
|
17
11
|
selectors: {},
|
|
18
|
-
actions: {},
|
|
19
|
-
state$: new Observable(),
|
|
20
|
-
dispatcher: undefined,
|
|
21
12
|
destroy: async () => {
|
|
22
13
|
for (const callback of cleanupCallbacks) {
|
|
23
14
|
await callback();
|
|
@@ -31,7 +22,7 @@ export async function createSynapse(config) {
|
|
|
31
22
|
// Создаем модуль селекторов
|
|
32
23
|
if (config.createSelectorsFn) {
|
|
33
24
|
try {
|
|
34
|
-
selectorModule = new SelectorModule(storageInstance
|
|
25
|
+
selectorModule = new SelectorModule(storageInstance);
|
|
35
26
|
const externalSelectors = config.externalSelectors || {};
|
|
36
27
|
result.selectors = config.createSelectorsFn(selectorModule, externalSelectors);
|
|
37
28
|
if (typeof selectorModule.destroy === 'function') {
|
|
@@ -60,10 +51,11 @@ export async function createSynapse(config) {
|
|
|
60
51
|
const { dispatchers, api, config: effectConfig, externalStates } = config.createEffectConfig(dispatcher);
|
|
61
52
|
// Получаем внешние состояния из конфигурации эффектов
|
|
62
53
|
const effectExternalStates = externalStates || {};
|
|
63
|
-
// Создаем модуль эффектов
|
|
54
|
+
// Создаем модуль эффектов с внешними состояниями
|
|
64
55
|
effectsModule = new EffectsModule(storageInstance, effectExternalStates, dispatchers, api, effectConfig);
|
|
65
56
|
// Добавляем эффекты
|
|
66
57
|
if (Array.isArray(config.effects)) {
|
|
58
|
+
// @ts-ignore
|
|
67
59
|
config.effects.forEach((effect) => {
|
|
68
60
|
if (effectsModule)
|
|
69
61
|
effectsModule.add(effect);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createSynapse.js","sourceRoot":"","sources":["../../src/utils/createSynapse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createSynapse.js","sourceRoot":"","sources":["../../src/utils/createSynapse.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createSynapse, type
|
|
1
|
+
export { type AnySynapseStore, createSynapse, type SynapseStoreBasic, type SynapseStoreWithDispatcher, type SynapseStoreWithEffects } from './createSynapse';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,0BAA0B,EAAE,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAyF,MAAM,iBAAiB,CAAA"}
|