synapse-storage 3.0.5 → 3.0.8
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 +37 -48
- package/dist/api.cjs +890 -1
- package/dist/api.js +859 -1
- package/dist/core.cjs +2420 -1
- package/dist/core.js +2387 -1
- package/dist/index.cjs +4179 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4124 -1
- package/dist/react.cjs +267 -1
- package/dist/react.js +238 -1
- package/dist/reactive.cjs +642 -1
- package/dist/reactive.js +603 -1
- package/dist/utils.cjs +600 -1
- package/dist/utils.js +573 -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
package/README.md
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
# Synapse
|
|
1
|
+
# Synapse Storage
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/js/synapse-storage)
|
|
4
|
+
[](https://bundlephobia.com/package/synapse-storage)
|
|
5
|
+
[](https://www.typescriptlang.org/)
|
|
2
6
|
|
|
3
7
|
Synapse — это набор инструментов для управления состоянием + API-клиент.
|
|
4
8
|
|
|
5
9
|
## Особенности
|
|
6
10
|
|
|
7
|
-
- **Не привязан к конкретному фреймворку**: Вы можете использовать Synapse в контексте любого фреймворка или независимо от него
|
|
11
|
+
- **Не привязан к конкретному фреймворку**: Вы можете использовать Synapse в контексте любого фреймворка или независимо от него
|
|
8
12
|
- **Разнообразные адаптеры хранилищ**: Выбирайте между Memory, LocalStorage или IndexedDB в зависимости от ваших потребностей
|
|
9
13
|
- **Различный способ получения данных**: Создавайте и комбинируйте селекторы для вычисляемых значений на основе состояния в стиле Redux или просто подписывайтесь на конкретное свойство в хранилище
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
14
|
+
- Возможность создания вычисляемых селекторов в стиле Redux
|
|
15
|
+
- Возможность прямой подписки на конкретное свойство в хранилище
|
|
16
|
+
- Возможность подписки на реактивное состояние
|
|
13
17
|
- **Надежный API-клиент**: Создайте удобный API-клиент для вашего приложения (похож на RTK Query)
|
|
14
18
|
- **Поддержка middleware**: Расширяйте функциональность с помощью пользовательских middleware
|
|
15
19
|
- **Система плагинов**: Используйте готовые или создавайте собственные плагины для расширения функциональности
|
|
@@ -25,69 +29,54 @@ Synapse — это набор инструментов для управлени
|
|
|
25
29
|
> [GitHub](https://github.com/Vlad92msk/) | [LinkedIn](https://www.linkedin.com/in/vlad-firsov/)
|
|
26
30
|
|
|
27
31
|
|
|
28
|
-
|
|
32
|
+
|
|
33
|
+
## 🎯 Модули и зависимости
|
|
34
|
+
|
|
35
|
+
Устанавливайте только те зависимости, которые вам нужны:
|
|
36
|
+
|
|
37
|
+
## 📦 Установка
|
|
29
38
|
|
|
30
39
|
```bash
|
|
31
40
|
npm install synapse-storage
|
|
32
|
-
# или
|
|
33
|
-
yarn add synapse-storage
|
|
34
|
-
# или
|
|
35
|
-
pnpm add synapse-storage
|
|
36
41
|
```
|
|
37
42
|
|
|
43
|
+
### Дополнительные зависимости (по необходимости)
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- ✅ Node.js ≥ 14.8.0 (минимальная версия с поддержкой top-level-await)
|
|
43
|
-
- ✅ Node.js ≥ 16.0.0 (рекомендуется для полной поддержки)
|
|
45
|
+
```bash
|
|
46
|
+
# Для реактивных возможностей
|
|
47
|
+
npm install rxjs
|
|
44
48
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- ✅ TypeScript ≥ 4.5 (улучшенная поддержка)
|
|
48
|
-
- ✅ TypeScript ≥ 5.0 (рекомендуется, полная поддержка)
|
|
49
|
+
# Для React интеграции
|
|
50
|
+
npm install react react-dom
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
- ❌ ES2021 или ниже (не поддерживает top-level-await)
|
|
52
|
+
# Все сразу для полного функционала
|
|
53
|
+
npm install synapse-storage rxjs react react-dom
|
|
54
|
+
```
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
- ✅ ESNext (рекомендуется)
|
|
57
|
-
- ✅ NodeNext
|
|
58
|
-
- ✅ ES2022
|
|
59
|
-
- ❌ CommonJS (не поддерживает top-level-await)
|
|
60
|
-
- ❌ AMD, UMD, System (не поддерживают top-level-await)
|
|
56
|
+
## 🚀 Быстрый старт
|
|
61
57
|
|
|
62
|
-
### Параметр `moduleResolution` в tsconfig.json
|
|
63
|
-
- ✅ bundler (для проектов использующих Vite, Webpack 5, esbuild)
|
|
64
|
-
- ✅ node16 или nodenext (для Node.js проектов)
|
|
65
|
-
- ✅ node (для совместимости со старыми проектами, не рекомендуется)
|
|
66
|
-
- ❓ classic (может работать с ограничениями)
|
|
67
58
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
59
|
+
| Модуль | Описание | Зависимости |
|
|
60
|
+
|--------|-----------------------|-------------|
|
|
61
|
+
| `synapse-storage/core` | Хранилища состояния | Нет |
|
|
62
|
+
| `synapse-storage/react` | Инструменты для React | React 18+ |
|
|
63
|
+
| `synapse-storage/reactive` | RxJS интеграция | RxJS 7.8.2+ |
|
|
64
|
+
| `synapse-storage/api` | HTTP клиент | Нет |
|
|
65
|
+
| `synapse-storage/utils` | Утилиты | Нет |
|
|
75
66
|
|
|
76
|
-
|
|
67
|
+
> **💡 Совет:** Импортируйте только нужные модули для оптимального размера бандла
|
|
77
68
|
|
|
69
|
+
### Минимальный tsconfig.json:
|
|
78
70
|
```json
|
|
79
71
|
{
|
|
80
72
|
"compilerOptions": {
|
|
81
73
|
"target": "ES2022",
|
|
82
|
-
"module": "
|
|
83
|
-
"moduleResolution": "bundler"
|
|
84
|
-
"esModuleInterop": true
|
|
74
|
+
"module": "ES2022",
|
|
75
|
+
"moduleResolution": "bundler"
|
|
85
76
|
}
|
|
86
77
|
}
|
|
87
78
|
```
|
|
88
|
-
|
|
89
|
-
## Быстрый старт
|
|
90
|
-
|
|
79
|
+
|
|
91
80
|
Импорты:
|
|
92
81
|
```typescript
|
|
93
82
|
// Инструменты создания и управления хранилищем
|