synapse-storage 2.1.0 → 3.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.
Files changed (246) hide show
  1. package/README.md +32 -13
  2. package/dist/_utils/index.js +3 -3
  3. package/dist/api/api.module.js +3 -3
  4. package/dist/api/example.js +2 -2
  5. package/dist/api/index.js +5 -5
  6. package/dist/api/utils/endpoint-headers.js +1 -1
  7. package/dist/api/utils/fetch-base-query.js +1 -1
  8. package/dist/core/index.js +2 -2
  9. package/dist/core/selector/index.js +1 -1
  10. package/dist/core/storage/adapters/base-storage.service.js +1 -1
  11. package/dist/core/storage/adapters/indexed-DB.service.js +2 -2
  12. package/dist/core/storage/adapters/indexed-DB.service.old.js +2 -2
  13. package/dist/core/storage/adapters/local-storage.service.js +2 -2
  14. package/dist/core/storage/adapters/memory-storage.service.js +2 -2
  15. package/dist/core/storage/index.js +9 -9
  16. package/dist/core/storage/middlewares/index.js +1 -1
  17. package/dist/core/storage/utils/cache.util.js +1 -1
  18. package/dist/index.js +5 -9
  19. package/dist/index.js.map +1 -1
  20. package/dist/react/hooks/index.js +2 -2
  21. package/dist/react/index.js +2 -2
  22. package/dist/react/utils/createSynapseCtx.d.ts +23 -13
  23. package/dist/react/utils/createSynapseCtx.d.ts.map +1 -1
  24. package/dist/react/utils/createSynapseCtx.js +11 -10
  25. package/dist/react/utils/createSynapseCtx.js.map +1 -1
  26. package/dist/react/utils/index.js +1 -1
  27. package/dist/reactive/dispatcher/index.js +2 -2
  28. package/dist/reactive/dispatcher/middlewares/index.js +1 -1
  29. package/dist/reactive/effects/effects.module.d.ts +13 -3
  30. package/dist/reactive/effects/effects.module.d.ts.map +1 -1
  31. package/dist/reactive/effects/effects.module.js +22 -8
  32. package/dist/reactive/effects/effects.module.js.map +1 -1
  33. package/dist/reactive/effects/index.js +1 -1
  34. package/dist/reactive/effects/utils/index.js +2 -2
  35. package/dist/reactive/index.js +2 -2
  36. package/dist/utils/createSynapse.d.ts +58 -18
  37. package/dist/utils/createSynapse.d.ts.map +1 -1
  38. package/dist/utils/createSynapse.js +4 -12
  39. package/dist/utils/createSynapse.js.map +1 -1
  40. package/dist/utils/index.d.ts +1 -1
  41. package/dist/utils/index.d.ts.map +1 -1
  42. package/dist/utils/index.js +1 -1
  43. package/dist/utils/index.js.map +1 -1
  44. package/package.json +2 -2
  45. package/dist/_examples/_example5.d.ts +0 -1
  46. package/dist/_examples/_example5.d.ts.map +0 -1
  47. package/dist/_examples/_example5.js +0 -184
  48. package/dist/_examples/_example5.js.map +0 -1
  49. package/dist/_examples/_example6.d.ts +0 -1
  50. package/dist/_examples/_example6.d.ts.map +0 -1
  51. package/dist/_examples/_example6.js +0 -168
  52. package/dist/_examples/_example6.js.map +0 -1
  53. package/dist/_examples/example1.d.ts +0 -1
  54. package/dist/_examples/example1.d.ts.map +0 -1
  55. package/dist/_examples/example1.js +0 -240
  56. package/dist/_examples/example1.js.map +0 -1
  57. package/dist/_examples/example2.d.ts +0 -1
  58. package/dist/_examples/example2.d.ts.map +0 -1
  59. package/dist/_examples/example2.js +0 -81
  60. package/dist/_examples/example2.js.map +0 -1
  61. package/dist/_examples/example3.d.ts +0 -1
  62. package/dist/_examples/example3.d.ts.map +0 -1
  63. package/dist/_examples/example3.js +0 -99
  64. package/dist/_examples/example3.js.map +0 -1
  65. package/dist/_examples/example4.d.ts +0 -1
  66. package/dist/_examples/example4.d.ts.map +0 -1
  67. package/dist/_examples/example4.js +0 -172
  68. package/dist/_examples/example4.js.map +0 -1
  69. package/dist/_examples/example5.d.ts +0 -1
  70. package/dist/_examples/example5.d.ts.map +0 -1
  71. package/dist/_examples/example5.js +0 -184
  72. package/dist/_examples/example5.js.map +0 -1
  73. package/dist/_examples/example6.d.ts +0 -1
  74. package/dist/_examples/example6.d.ts.map +0 -1
  75. package/dist/_examples/example6.js +0 -168
  76. package/dist/_examples/example6.js.map +0 -1
  77. package/dist/_examples/plugins.d.ts +0 -1
  78. package/dist/_examples/plugins.d.ts.map +0 -1
  79. package/dist/_examples/plugins.js +0 -176
  80. package/dist/_examples/plugins.js.map +0 -1
  81. package/dist/_examples/pokemons/PokemonList.d.ts +0 -5
  82. package/dist/_examples/pokemons/PokemonList.d.ts.map +0 -1
  83. package/dist/_examples/pokemons/PokemonList.js +0 -166
  84. package/dist/_examples/pokemons/PokemonList.js.map +0 -1
  85. package/dist/_examples/pokemons/api.d.ts +0 -8
  86. package/dist/_examples/pokemons/api.d.ts.map +0 -1
  87. package/dist/_examples/pokemons/api.js +0 -45
  88. package/dist/_examples/pokemons/api.js.map +0 -1
  89. package/dist/_examples/pokemons/app.config.d.ts +0 -15
  90. package/dist/_examples/pokemons/app.config.d.ts.map +0 -1
  91. package/dist/_examples/pokemons/app.config.js +0 -15
  92. package/dist/_examples/pokemons/app.config.js.map +0 -1
  93. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.d.ts +0 -9
  94. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.d.ts.map +0 -1
  95. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.js +0 -122
  96. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.js.map +0 -1
  97. package/dist/_examples/pokemons/effects/pokemon.effects.d.ts +0 -16
  98. package/dist/_examples/pokemons/effects/pokemon.effects.d.ts.map +0 -1
  99. package/dist/_examples/pokemons/effects/pokemon.effects.js +0 -39
  100. package/dist/_examples/pokemons/effects/pokemon.effects.js.map +0 -1
  101. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.d.ts +0 -4
  102. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.d.ts.map +0 -1
  103. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.js +0 -27
  104. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.js.map +0 -1
  105. package/dist/_examples/pokemons/pokemon.dispatcher.d.ts +0 -9
  106. package/dist/_examples/pokemons/pokemon.dispatcher.d.ts.map +0 -1
  107. package/dist/_examples/pokemons/pokemon.dispatcher.js +0 -122
  108. package/dist/_examples/pokemons/pokemon.dispatcher.js.map +0 -1
  109. package/dist/_examples/pokemons/pokemon.effects.d.ts +0 -5
  110. package/dist/_examples/pokemons/pokemon.effects.d.ts.map +0 -1
  111. package/dist/_examples/pokemons/pokemon.effects.js +0 -39
  112. package/dist/_examples/pokemons/pokemon.effects.js.map +0 -1
  113. package/dist/_examples/pokemons/pokemon.selectors.d.ts +0 -5
  114. package/dist/_examples/pokemons/pokemon.selectors.d.ts.map +0 -1
  115. package/dist/_examples/pokemons/pokemon.selectors.js +0 -10
  116. package/dist/_examples/pokemons/pokemon.selectors.js.map +0 -1
  117. package/dist/_examples/pokemons/pokemon.storage.d.ts +0 -3
  118. package/dist/_examples/pokemons/pokemon.storage.d.ts.map +0 -1
  119. package/dist/_examples/pokemons/pokemon.storage.js +0 -14
  120. package/dist/_examples/pokemons/pokemon.storage.js.map +0 -1
  121. package/dist/_examples/pokemons/pokemon1.selectors.d.ts +0 -5
  122. package/dist/_examples/pokemons/pokemon1.selectors.d.ts.map +0 -1
  123. package/dist/_examples/pokemons/pokemon1.selectors.js +0 -8
  124. package/dist/_examples/pokemons/pokemon1.selectors.js.map +0 -1
  125. package/dist/_examples/pokemons/pokenon.middlewares.d.ts +0 -4
  126. package/dist/_examples/pokemons/pokenon.middlewares.d.ts.map +0 -1
  127. package/dist/_examples/pokemons/pokenon.middlewares.js +0 -27
  128. package/dist/_examples/pokemons/pokenon.middlewares.js.map +0 -1
  129. package/dist/_examples/pokemons/selectors/pokemon.selectors.d.ts +0 -5
  130. package/dist/_examples/pokemons/selectors/pokemon.selectors.d.ts.map +0 -1
  131. package/dist/_examples/pokemons/selectors/pokemon.selectors.js +0 -10
  132. package/dist/_examples/pokemons/selectors/pokemon.selectors.js.map +0 -1
  133. package/dist/_examples/pokemons/selectors/pokemon1.selectors.d.ts +0 -5
  134. package/dist/_examples/pokemons/selectors/pokemon1.selectors.d.ts.map +0 -1
  135. package/dist/_examples/pokemons/selectors/pokemon1.selectors.js +0 -8
  136. package/dist/_examples/pokemons/selectors/pokemon1.selectors.js.map +0 -1
  137. package/dist/_examples/pokemons/storages/pokemon.storage.d.ts +0 -3
  138. package/dist/_examples/pokemons/storages/pokemon.storage.d.ts.map +0 -1
  139. package/dist/_examples/pokemons/storages/pokemon.storage.js +0 -14
  140. package/dist/_examples/pokemons/storages/pokemon.storage.js.map +0 -1
  141. package/dist/_examples/pokemons/store.d.ts +0 -1
  142. package/dist/_examples/pokemons/store.d.ts.map +0 -1
  143. package/dist/_examples/pokemons/store.js +0 -2
  144. package/dist/_examples/pokemons/store.js.map +0 -1
  145. package/dist/_examples/pokemons/store1.d.ts +0 -23
  146. package/dist/_examples/pokemons/store1.d.ts.map +0 -1
  147. package/dist/_examples/pokemons/store1.js +0 -35
  148. package/dist/_examples/pokemons/store1.js.map +0 -1
  149. package/dist/_examples/pokemons/store2.d.ts +0 -23
  150. package/dist/_examples/pokemons/store2.d.ts.map +0 -1
  151. package/dist/_examples/pokemons/store2.js +0 -34
  152. package/dist/_examples/pokemons/store2.js.map +0 -1
  153. package/dist/_examples/pokemons/types.d.ts +0 -26
  154. package/dist/_examples/pokemons/types.d.ts.map +0 -1
  155. package/dist/_examples/pokemons/types.js +0 -2
  156. package/dist/_examples/pokemons/types.js.map +0 -1
  157. package/dist/core/storage/adapters/idb.d.ts +0 -52
  158. package/dist/core/storage/adapters/idb.d.ts.map +0 -1
  159. package/dist/core/storage/adapters/idb.js +0 -528
  160. package/dist/core/storage/adapters/idb.js.map +0 -1
  161. package/dist/core/storage/adapters/indexed-DB.service1.d.ts +0 -38
  162. package/dist/core/storage/adapters/indexed-DB.service1.d.ts.map +0 -1
  163. package/dist/core/storage/adapters/indexed-DB.service1.js +0 -318
  164. package/dist/core/storage/adapters/indexed-DB.service1.js.map +0 -1
  165. package/dist/core/storage/adapters/indexed-DB.service2.d.ts +0 -61
  166. package/dist/core/storage/adapters/indexed-DB.service2.d.ts.map +0 -1
  167. package/dist/core/storage/adapters/indexed-DB.service2.js +0 -596
  168. package/dist/core/storage/adapters/indexed-DB.service2.js.map +0 -1
  169. package/dist/core/storage/factory/createSynapseStorage.factory.d.ts +0 -1
  170. package/dist/core/storage/factory/createSynapseStorage.factory.d.ts.map +0 -1
  171. package/dist/core/storage/factory/createSynapseStorage.factory.js +0 -2
  172. package/dist/core/storage/factory/createSynapseStorage.factory.js.map +0 -1
  173. package/dist/core/storage/factory/index.d.ts +0 -2
  174. package/dist/core/storage/factory/index.d.ts.map +0 -1
  175. package/dist/core/storage/factory/index.js +0 -2
  176. package/dist/core/storage/factory/index.js.map +0 -1
  177. package/dist/examples/_example5.d.ts +0 -1
  178. package/dist/examples/_example5.d.ts.map +0 -1
  179. package/dist/examples/_example5.js +0 -184
  180. package/dist/examples/_example5.js.map +0 -1
  181. package/dist/examples/_example6.d.ts +0 -1
  182. package/dist/examples/_example6.d.ts.map +0 -1
  183. package/dist/examples/_example6.js +0 -168
  184. package/dist/examples/_example6.js.map +0 -1
  185. package/dist/examples/plugins.d.ts +0 -1
  186. package/dist/examples/plugins.d.ts.map +0 -1
  187. package/dist/examples/plugins.js +0 -176
  188. package/dist/examples/plugins.js.map +0 -1
  189. package/dist/examples/pokemons/PokemonList.d.ts +0 -2
  190. package/dist/examples/pokemons/PokemonList.d.ts.map +0 -1
  191. package/dist/examples/pokemons/PokemonList.js +0 -110
  192. package/dist/examples/pokemons/PokemonList.js.map +0 -1
  193. package/dist/examples/pokemons/api.d.ts +0 -22
  194. package/dist/examples/pokemons/api.d.ts.map +0 -1
  195. package/dist/examples/pokemons/api.js +0 -43
  196. package/dist/examples/pokemons/api.js.map +0 -1
  197. package/dist/examples/pokemons/app.config.d.ts +0 -15
  198. package/dist/examples/pokemons/app.config.d.ts.map +0 -1
  199. package/dist/examples/pokemons/app.config.js +0 -15
  200. package/dist/examples/pokemons/app.config.js.map +0 -1
  201. package/dist/examples/pokemons/dispatchers/pokemon.dispatcher.js +0 -128
  202. package/dist/examples/pokemons/dispatchers/pokemon.dispatcher.js.map +0 -1
  203. package/dist/examples/pokemons/effects/pokemon.effects.d.ts +0 -16
  204. package/dist/examples/pokemons/effects/pokemon.effects.d.ts.map +0 -1
  205. package/dist/examples/pokemons/effects/pokemon.effects.js +0 -51
  206. package/dist/examples/pokemons/effects/pokemon.effects.js.map +0 -1
  207. package/dist/examples/pokemons/middlewares/pokenon.middlewares.d.ts +0 -4
  208. package/dist/examples/pokemons/middlewares/pokenon.middlewares.d.ts.map +0 -1
  209. package/dist/examples/pokemons/middlewares/pokenon.middlewares.js +0 -28
  210. package/dist/examples/pokemons/middlewares/pokenon.middlewares.js.map +0 -1
  211. package/dist/examples/pokemons/selectors/pokemon.selectors.d.ts +0 -13
  212. package/dist/examples/pokemons/selectors/pokemon.selectors.d.ts.map +0 -1
  213. package/dist/examples/pokemons/selectors/pokemon.selectors.js +0 -7
  214. package/dist/examples/pokemons/selectors/pokemon.selectors.js.map +0 -1
  215. package/dist/examples/pokemons/storages/pokemon.storage.d.ts +0 -5
  216. package/dist/examples/pokemons/storages/pokemon.storage.d.ts.map +0 -1
  217. package/dist/examples/pokemons/storages/pokemon.storage.js +0 -13
  218. package/dist/examples/pokemons/storages/pokemon.storage.js.map +0 -1
  219. package/dist/examples/pokemons/store.d.ts +0 -35
  220. package/dist/examples/pokemons/store.d.ts.map +0 -1
  221. package/dist/examples/pokemons/store.js +0 -21
  222. package/dist/examples/pokemons/store.js.map +0 -1
  223. package/dist/examples/pokemons/types.d.ts +0 -26
  224. package/dist/examples/pokemons/types.d.ts.map +0 -1
  225. package/dist/examples/pokemons/types.js +0 -2
  226. package/dist/examples/pokemons/types.js.map +0 -1
  227. package/dist/react/utils/createSynapse.d.ts +0 -47
  228. package/dist/react/utils/createSynapse.d.ts.map +0 -1
  229. package/dist/react/utils/createSynapse.js +0 -83
  230. package/dist/react/utils/createSynapse.js.map +0 -1
  231. package/dist/react/utils/createSynapseContext.d.ts +0 -29
  232. package/dist/react/utils/createSynapseContext.d.ts.map +0 -1
  233. package/dist/react/utils/createSynapseContext.js +0 -112
  234. package/dist/react/utils/createSynapseContext.js.map +0 -1
  235. package/dist/utils/chunk.util.d.ts +0 -8
  236. package/dist/utils/chunk.util.d.ts.map +0 -1
  237. package/dist/utils/chunk.util.js +0 -21
  238. package/dist/utils/chunk.util.js.map +0 -1
  239. package/dist/utils/deepMerge.util.d.ts +0 -2
  240. package/dist/utils/deepMerge.util.d.ts.map +0 -1
  241. package/dist/utils/deepMerge.util.js +0 -16
  242. package/dist/utils/deepMerge.util.js.map +0 -1
  243. package/dist/utils/flatMap.util.d.ts +0 -10
  244. package/dist/utils/flatMap.util.d.ts.map +0 -1
  245. package/dist/utils/flatMap.util.js +0 -23
  246. package/dist/utils/flatMap.util.js.map +0 -1
@@ -1,122 +0,0 @@
1
- import { createDispatcher, loggerDispatcherMiddleware } from 'synapse/reactive';
2
- import { createPokemonAlertMiddleware } from './middlewares/pokenon.middlewares';
3
- // Функция для создания диспетчера
4
- export function createPokemonDispatcher(storage) {
5
- // Создаем логгер middleware
6
- const loggerMiddleware = loggerDispatcherMiddleware({
7
- collapsed: true, // Сворачиваем группы в консоли для компактности
8
- colors: {
9
- title: '#3498db', // Кастомный синий цвет для заголовка
10
- },
11
- duration: true,
12
- diff: true,
13
- showFullState: true,
14
- });
15
- const alertM = createPokemonAlertMiddleware();
16
- return createDispatcher({
17
- storage,
18
- middlewares: [loggerMiddleware, alertM],
19
- }, (storage, { createWatcher, createAction }) => ({
20
- // Добавляем watcher для отслеживания текущего ID
21
- watchCurrentId: createWatcher({
22
- type: 'pokemon/currentIdChanged',
23
- selector: (state) => state.currentId,
24
- shouldTrigger: (prev, curr) => prev !== curr,
25
- meta: {
26
- description: 'Следит за изменениями ID текущего покемона',
27
- },
28
- }),
29
- // Watcher для отслеживания состояния загрузки
30
- watchLoadingState: createWatcher({
31
- type: 'pokemon/loadingStateChanged',
32
- selector: (state) => state.loading,
33
- }),
34
- // Загрузка покемона по ID
35
- loadPokemon: createAction({
36
- type: 'pokemon/loadPokemonIdl',
37
- action: async (id) => ({ id }),
38
- }),
39
- loadPokemonRequest: createAction({
40
- type: 'pokemon/loadPokemonRequest',
41
- action: async (id) => {
42
- await storage.update((state) => {
43
- state.loading = true;
44
- state.error = null;
45
- state.currentId = id;
46
- });
47
- return { id };
48
- },
49
- }),
50
- // Успешное получение данных
51
- success: createAction({
52
- type: 'pokemon/success',
53
- action: async ({ data }) => {
54
- await storage.update((state) => {
55
- state.currentPokemon = data;
56
- state.loading = false;
57
- state.error = null;
58
- });
59
- // Возвращаем данные покемона как payload
60
- return { data };
61
- },
62
- }),
63
- // Ошибка при получении данных
64
- failure: createAction({
65
- type: 'pokemon/failure',
66
- action: async (err) => {
67
- const errorMessage = err instanceof Error ? err.message : 'Unknown error';
68
- await storage.update((state) => {
69
- state.loading = false;
70
- state.error = errorMessage;
71
- });
72
- // Возвращаем ошибку как payload
73
- return { err };
74
- },
75
- }),
76
- // Перейти к следующему покемону
77
- next: createAction({
78
- type: 'pokemon/next',
79
- action: async () => {
80
- let newId = 1;
81
- await storage.update((state) => {
82
- newId = state.currentId + 1;
83
- if (newId > 151)
84
- newId = 1; // Ограничиваем первым поколением (1-151)
85
- state.currentId = newId;
86
- });
87
- return { id: newId };
88
- },
89
- }),
90
- // Перейти к предыдущему покемону
91
- prev: createAction({
92
- type: 'pokemon/prev',
93
- action: async () => {
94
- let newId = 1;
95
- await storage.update((state) => {
96
- newId = state.currentId - 1;
97
- if (newId < 1)
98
- newId = 151; // Ограничиваем первым поколением (1-151)
99
- state.currentId = newId;
100
- });
101
- console.log(`Action: Previous pokemon (ID ${newId})`);
102
- // Возвращаем новый id как payload
103
- return { id: newId };
104
- },
105
- }),
106
- showAlert: createAction({
107
- type: 'pokemon/showAlert',
108
- action: async (payload) => {
109
- // Используем глобальный alert для демонстрации
110
- alert(payload.message);
111
- // Здесь можно также обновить состояние для отображения alert в UI
112
- // например, добавить запись в массив alerts в state
113
- },
114
- meta: {
115
- description: 'Показывает оповещение пользователю',
116
- },
117
- }),
118
- }));
119
- // .use(logger)
120
- // .use(alertM)
121
- }
122
- //# sourceMappingURL=pokemon.dispatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.dispatcher.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare const navigationEffect: any;
2
- export declare const watchIdEffect: any;
3
- export declare const loadPokemonEffect: any;
4
- export declare const pokemonEffects: any;
5
- //# sourceMappingURL=pokemon.effects.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.effects.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.effects.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,KAW3B,CAAA;AAGF,eAAO,MAAM,aAAa,KAkBxB,CAAA;AAGF,eAAO,MAAM,iBAAiB,KAoC5B,CAAA;AAGF,eAAO,MAAM,cAAc,KAI1B,CAAA"}
@@ -1,39 +0,0 @@
1
- import { from, mapTo, of, tap } from 'rxjs';
2
- import { catchError, switchMap } from 'rxjs/operators';
3
- import { combineEffects, createEffect, ofType, ofTypes, selectorMap, validateMap } from 'synapse';
4
- // Эффект для навигации
5
- export const navigationEffect = createEffect((action$, state$, { pokemonDispatcher }, _, config) => action$.pipe(ofTypes([pokemonDispatcher.dispatch.next, pokemonDispatcher.dispatch.prev]), switchMap((action) => {
6
- const { id } = action.payload;
7
- return of(() => pokemonDispatcher.dispatch.loadPokemon(id));
8
- })));
9
- // Эффект для отслеживания изменений ID
10
- export const watchIdEffect = createEffect((action$, state$, { pokemonDispatcher }) => action$.pipe(ofType(pokemonDispatcher.watchers.watchCurrentId), selectorMap(state$, (state) => state.loading, (state) => state.currentId), tap(([action, [loading, currentId]]) => {
11
- // console.log(`ID покемона изменился на ${action.payload}`)
12
- // console.log('Статус загрузки:', loading)
13
- // console.log('ID в хранилище:', currentId)
14
- }), mapTo(null)));
15
- // Эффект для загрузки данных покемона
16
- export const loadPokemonEffect = createEffect((action$, state$, { pokemonDispatcher }, { pokemonApi }, config) => action$.pipe(ofType(pokemonDispatcher.dispatch.loadPokemon), selectorMap(state$, (state) => state.currentId), validateMap({
17
- apiCall: ([action, [currentId]]) => {
18
- const { id } = action.payload;
19
- return from(pokemonApi.fetchPokemonById.request({ id }).waitWithCallbacks({
20
- loading: (request) => {
21
- console.log('LOADING', request);
22
- pokemonDispatcher.dispatch.loadPokemonRequest(id);
23
- },
24
- // success: (data, request) => {
25
- // console.log('SUCCESS', request)
26
- // pokemonDispatcher.dispatch.success({ data })
27
- // },
28
- // error: (error, request) => {
29
- // console.log('ERROR', error, request)
30
- // pokemonDispatcher.dispatch.failure(error!)
31
- // },
32
- })).pipe(switchMap(({ data }) => {
33
- return of(pokemonDispatcher.dispatch.success({ data }));
34
- }), catchError((err) => of(pokemonDispatcher.dispatch.failure(err))));
35
- },
36
- })));
37
- // Объединяем все эффекты в один и экспортируем
38
- export const pokemonEffects = combineEffects(navigationEffect, watchIdEffect, loadPokemonEffect);
39
- //# sourceMappingURL=pokemon.effects.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.effects.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.effects.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { PokemonStorage } from './pokemon.storage';
2
- export declare const createPokemonSelectors: (storage: PokemonStorage) => {
3
- val1: any;
4
- };
5
- //# sourceMappingURL=pokemon.selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.selectors.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,eAAO,MAAM,sBAAsB,GAAI,SAAS,cAAc;;CAa7D,CAAA"}
@@ -1,10 +0,0 @@
1
- import { SelectorModule } from 'synapse';
2
- import { pokemon1Selectors } from './store2';
3
- export const createPokemonSelectors = (storage) => {
4
- const selectors = new SelectorModule(storage);
5
- const sprites = selectors.createSelector((state) => state.currentPokemon?.sprites);
6
- return ({
7
- val1: selectors.createSelector([sprites, pokemon1Selectors.front_default], (sprites, front_default) => [sprites, front_default]),
8
- });
9
- };
10
- //# sourceMappingURL=pokemon.selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.selectors.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAuB,EAAE,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CACzC,CAAA;IAED,OAAO,CAAC;QACN,IAAI,EAAE,SAAS,CAAC,cAAc,CAC5B,CAAC,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAC1C,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CACrD;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- export declare function createPokemonStorage(): Promise<any>;
2
- export type PokemonStorage = Awaited<ReturnType<typeof createPokemonStorage>>;
3
- //# sourceMappingURL=pokemon.storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.storage.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.storage.ts"],"names":[],"mappings":"AAKA,wBAAsB,oBAAoB,iBAUzC;AAGD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { MemoryStorage } from 'synapse/core';
2
- // Асинхронная функция для создания хранилища
3
- export async function createPokemonStorage() {
4
- return new MemoryStorage({
5
- name: 'pokemon-store',
6
- initialState: {
7
- currentPokemon: null,
8
- loading: true,
9
- error: null,
10
- currentId: 1,
11
- },
12
- }).initialize();
13
- }
14
- //# sourceMappingURL=pokemon.storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.storage.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon.storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAI5C,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,OAAO,IAAI,aAAa,CAAe;QACrC,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE;YACZ,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC;SACb;KACF,CAAC,CAAC,UAAU,EAAE,CAAA;AACjB,CAAC"}
@@ -1,5 +0,0 @@
1
- import { PokemonStorage } from './pokemon.storage';
2
- export declare const createPokemonSelectors1: (storage: PokemonStorage) => {
3
- front_default: any;
4
- };
5
- //# sourceMappingURL=pokemon1.selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon1.selectors.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon1.selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,eAAO,MAAM,uBAAuB,GAAI,SAAS,cAAc;;CAQ9D,CAAA"}
@@ -1,8 +0,0 @@
1
- import { SelectorModule } from 'synapse/core';
2
- export const createPokemonSelectors1 = (storage) => {
3
- const selectors = new SelectorModule(storage);
4
- return ({
5
- front_default: selectors.createSelector((state) => state.currentId),
6
- });
7
- };
8
- //# sourceMappingURL=pokemon1.selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon1.selectors.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokemon1.selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAuB,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAE7C,OAAO,CAAC;QACN,aAAa,EAAE,SAAS,CAAC,cAAc,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAC3B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- import { EnhancedMiddleware } from 'synapse/reactive';
2
- import { PokemonState } from './types';
3
- export declare const createPokemonAlertMiddleware: () => EnhancedMiddleware<PokemonState>;
4
- //# sourceMappingURL=pokenon.middlewares.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokenon.middlewares.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokenon.middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAItC,eAAO,MAAM,4BAA4B,QAAO,kBAAkB,CAAC,YAAY,CA0B9E,CAAA"}
@@ -1,27 +0,0 @@
1
- // Создадим счетчик инициализаций
2
- export const createPokemonAlertMiddleware = () => (api) => (next) => async (action) => {
3
- const result = await next(action);
4
- // Проверяем тип после выполнения
5
- if (action.type.includes('pokemon/next') || action.type.includes('pokemon/prev')) {
6
- const state = await api.getState();
7
- // Пробуем найти действие напрямую
8
- const alertAction = api.findActionByType('pokemon/showAlert');
9
- if (alertAction) {
10
- await alertAction({
11
- message: `Покемон переключен на ID: ${state.currentId}`,
12
- type: 'info',
13
- });
14
- }
15
- else {
16
- await api.dispatch({
17
- type: 'pokemon/showAlert',
18
- payload: {
19
- message: `Покемон переключен на ID: ${state.currentId}`,
20
- type: 'info',
21
- },
22
- });
23
- }
24
- }
25
- return result;
26
- };
27
- //# sourceMappingURL=pokenon.middlewares.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokenon.middlewares.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/pokenon.middlewares.ts"],"names":[],"mappings":"AAIA,iCAAiC;AACjC,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAqC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACtH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAA;IACjC,iCAAiC;IACjC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;QAElC,kCAAkC;QAClC,MAAM,WAAW,GAAG,GAAG,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAA;QAE7D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC;gBAChB,OAAO,EAAE,6BAA6B,KAAK,CAAC,SAAS,EAAE;gBACvD,IAAI,EAAE,MAAM;aACb,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC,QAAQ,CAAC;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACP,OAAO,EAAE,6BAA6B,KAAK,CAAC,SAAS,EAAE;oBACvD,IAAI,EAAE,MAAM;iBACb;aACF,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import { PokemonStorage } from '../storages/pokemon.storage';
2
- export declare const createPokemonSelectors: (storage: PokemonStorage) => {
3
- val1: import("../../../../dist/core").SelectorAPI<any[]>;
4
- };
5
- //# sourceMappingURL=pokemon.selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.selectors.d.ts","sourceRoot":"","sources":["../../../../src/_examples/pokemons/selectors/pokemon.selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAG5D,eAAO,MAAM,sBAAsB,GAAI,SAAS,cAAc;;CAa7D,CAAA"}
@@ -1,10 +0,0 @@
1
- import { SelectorModule } from '../../../../../synapse';
2
- import { pokemon1Selectors } from '../store2';
3
- export const createPokemonSelectors = (storage) => {
4
- const selectors = new SelectorModule(storage);
5
- const sprites = selectors.createSelector((state) => state.currentPokemon?.sprites);
6
- return ({
7
- val1: selectors.createSelector([sprites, pokemon1Selectors.front_default], (sprites, front_default) => [sprites, front_default]),
8
- });
9
- };
10
- //# sourceMappingURL=pokemon.selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.selectors.js","sourceRoot":"","sources":["../../../../src/_examples/pokemons/selectors/pokemon.selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAuB,EAAE,EAAE;IAChE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAE7C,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CACzC,CAAA;IAED,OAAO,CAAC;QACN,IAAI,EAAE,SAAS,CAAC,cAAc,CAC5B,CAAC,OAAO,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAC1C,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CACrD;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,5 +0,0 @@
1
- import { PokemonStorage } from '../storages/pokemon.storage';
2
- export declare const createPokemonSelectors1: (storage: PokemonStorage) => {
3
- front_default: any;
4
- };
5
- //# sourceMappingURL=pokemon1.selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon1.selectors.d.ts","sourceRoot":"","sources":["../../../../src/_examples/pokemons/selectors/pokemon1.selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,eAAO,MAAM,uBAAuB,GAAI,SAAS,cAAc;;CAQ9D,CAAA"}
@@ -1,8 +0,0 @@
1
- import { SelectorModule } from 'synapse/core';
2
- export const createPokemonSelectors1 = (storage) => {
3
- const selectors = new SelectorModule(storage);
4
- return ({
5
- front_default: selectors.createSelector((state) => state.currentId),
6
- });
7
- };
8
- //# sourceMappingURL=pokemon1.selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon1.selectors.js","sourceRoot":"","sources":["../../../../src/_examples/pokemons/selectors/pokemon1.selectors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAuB,EAAE,EAAE;IACjE,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;IAE7C,OAAO,CAAC;QACN,aAAa,EAAE,SAAS,CAAC,cAAc,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAC3B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- export declare function createPokemonStorage(): Promise<any>;
2
- export type PokemonStorage = Awaited<ReturnType<typeof createPokemonStorage>>;
3
- //# sourceMappingURL=pokemon.storage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.storage.d.ts","sourceRoot":"","sources":["../../../../src/_examples/pokemons/storages/pokemon.storage.ts"],"names":[],"mappings":"AAKA,wBAAsB,oBAAoB,iBAUzC;AAGD,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { MemoryStorage } from 'synapse/core';
2
- // Асинхронная функция для создания хранилища
3
- export async function createPokemonStorage() {
4
- return new MemoryStorage({
5
- name: 'pokemon-store',
6
- initialState: {
7
- currentPokemon: null,
8
- loading: true,
9
- error: null,
10
- currentId: 1,
11
- },
12
- }).initialize();
13
- }
14
- //# sourceMappingURL=pokemon.storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pokemon.storage.js","sourceRoot":"","sources":["../../../../src/_examples/pokemons/storages/pokemon.storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAI5C,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,OAAO,IAAI,aAAa,CAAe;QACrC,IAAI,EAAE,eAAe;QACrB,YAAY,EAAE;YACZ,cAAc,EAAE,IAAI;YACpB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC;SACb;KACF,CAAC,CAAC,UAAU,EAAE,CAAA;AACjB,CAAC"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/store.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/store.ts"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- export declare function initializeStore(): Promise<{
2
- storage: any;
3
- selectors: {
4
- val1: import("../../../dist").SelectorAPI<any[]>;
5
- };
6
- actions: any;
7
- state$: any;
8
- }>;
9
- export declare const pokemonStore: {
10
- storage: any;
11
- selectors: {
12
- val1: import("../../../dist").SelectorAPI<any[]>;
13
- };
14
- actions: any;
15
- state$: any;
16
- };
17
- export declare const pokemonStorage: any;
18
- export declare const pokemonState$: any;
19
- export declare const pokemonActions: any;
20
- export declare const pokemonSelectors: {
21
- val1: import("../../../dist").SelectorAPI<any[]>;
22
- };
23
- //# sourceMappingURL=store1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store1.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/store1.ts"],"names":[],"mappings":"AAUA,wBAAsB,eAAe;;;;;;;GAyBpC;AAED,eAAO,MAAM,YAAY;;;;;;;CAA0B,CAAA;AAGnD,eAAO,MAAM,cAAc,KAAuB,CAAA;AAClD,eAAO,MAAM,aAAa,KAAsB,CAAA;AAChD,eAAO,MAAM,cAAc,KAAuB,CAAA;AAClD,eAAO,MAAM,gBAAgB;;CAAyB,CAAA"}
@@ -1,35 +0,0 @@
1
- import { EffectsModule } from 'synapse/reactive';
2
- import { pokemonEndpoints } from './api.md';
3
- import { appConfig } from './app.config';
4
- import { createPokemonDispatcher } from './dispatchers/pokemon.dispatcher.md';
5
- import { pokemonEffects } from './effects/pokemon.effects';
6
- import { createPokemonSelectors } from './selectors/pokemon.selectors';
7
- import { createPokemonStorage } from './storages/pokemon.storage';
8
- // Асинхронная функция для инициализации хранилища
9
- export async function initializeStore() {
10
- // 1. Создаем хранилище
11
- const storage = await createPokemonStorage();
12
- const selectors = createPokemonSelectors(storage);
13
- // 2. Создаем диспетчер
14
- const dispatcher = createPokemonDispatcher(storage);
15
- // 3. Создаем модуль эффектов
16
- const effectsModule = new EffectsModule(storage, { pokemonDispatcher: dispatcher }, { pokemonApi: pokemonEndpoints }, appConfig);
17
- // 4. Добавляем объединенные эффекты
18
- effectsModule.add(pokemonEffects);
19
- // 5. Запускаем эффекты
20
- effectsModule.start();
21
- // 6. Возвращаем все, что нужно для работы с хранилищем
22
- return {
23
- storage,
24
- selectors,
25
- actions: dispatcher.dispatch,
26
- state$: effectsModule.state$,
27
- };
28
- }
29
- export const pokemonStore = await initializeStore();
30
- // Экспортируем отдельно хранилище и действия для удобства использования
31
- export const pokemonStorage = pokemonStore.storage;
32
- export const pokemonState$ = pokemonStore.state$;
33
- export const pokemonActions = pokemonStore.actions;
34
- export const pokemonSelectors = pokemonStore.selectors;
35
- //# sourceMappingURL=store1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store1.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/store1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAA;IAE5C,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAEjD,uBAAuB;IACvB,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAEnD,6BAA6B;IAC7B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAA;IAEhI,oCAAoC;IACpC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAEjC,uBAAuB;IACvB,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,uDAAuD;IACvD,OAAO;QACL,OAAO;QACP,SAAS;QACT,OAAO,EAAE,UAAU,CAAC,QAAQ;QAC5B,MAAM,EAAE,aAAa,CAAC,MAAM;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAA;AAEnD,wEAAwE;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAA;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAA;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAA;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAA"}
@@ -1,23 +0,0 @@
1
- export declare function initializeStore1(): Promise<{
2
- storage: any;
3
- selectors: {
4
- front_default: any;
5
- };
6
- actions: any;
7
- state$: any;
8
- }>;
9
- export declare const pokemonStore1: {
10
- storage: any;
11
- selectors: {
12
- front_default: any;
13
- };
14
- actions: any;
15
- state$: any;
16
- };
17
- export declare const pokemon1Storage: any;
18
- export declare const pokemon1State$: any;
19
- export declare const pokemon1Actions: any;
20
- export declare const pokemon1Selectors: {
21
- front_default: any;
22
- };
23
- //# sourceMappingURL=store2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store2.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/store2.ts"],"names":[],"mappings":"AASA,wBAAsB,gBAAgB;;;;;;;GAyBrC;AAED,eAAO,MAAM,aAAa;;;;;;;CAA2B,CAAA;AAGrD,eAAO,MAAM,eAAe,KAAwB,CAAA;AACpD,eAAO,MAAM,cAAc,KAAuB,CAAA;AAClD,eAAO,MAAM,eAAe,KAAwB,CAAA;AACpD,eAAO,MAAM,iBAAiB;;CAA0B,CAAA"}
@@ -1,34 +0,0 @@
1
- import { EffectsModule } from 'synapse';
2
- import { pokemonEndpoints } from './api.md';
3
- import { appConfig } from './app.config';
4
- import { createPokemonDispatcher } from './pokemon.dispatcher';
5
- import { createPokemonSelectors1 } from './selectors/pokemon1.selectors';
6
- import { createPokemonStorage } from './storages/pokemon.storage';
7
- // Асинхронная функция для инициализации хранилища
8
- export async function initializeStore1() {
9
- // 1. Создаем хранилище
10
- const storage = await createPokemonStorage();
11
- const selectors = createPokemonSelectors1(storage);
12
- // 2. Создаем диспетчер
13
- const dispatcher = createPokemonDispatcher(storage);
14
- // 3. Создаем модуль эффектов
15
- const effectsModule = new EffectsModule(storage, { pokemonDispatcher: dispatcher }, { pokemonApi: pokemonEndpoints }, appConfig);
16
- // 4. Добавляем объединенные эффекты
17
- // effectsModule.add(pokemonEffects)
18
- // 5. Запускаем эффекты
19
- effectsModule.start();
20
- // 6. Возвращаем все, что нужно для работы с хранилищем
21
- return {
22
- storage,
23
- selectors,
24
- actions: dispatcher.dispatch,
25
- state$: effectsModule.state$,
26
- };
27
- }
28
- export const pokemonStore1 = await initializeStore1();
29
- // Экспортируем отдельно хранилище и действия для удобства использования
30
- export const pokemon1Storage = pokemonStore1.storage;
31
- export const pokemon1State$ = pokemonStore1.state$;
32
- export const pokemon1Actions = pokemonStore1.actions;
33
- export const pokemon1Selectors = pokemonStore1.selectors;
34
- //# sourceMappingURL=store2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store2.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/store2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,kDAAkD;AAClD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAA;IAE5C,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAElD,uBAAuB;IACvB,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAEnD,6BAA6B;IAC7B,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,CAAC,CAAA;IAEhI,oCAAoC;IACpC,oCAAoC;IAEpC,uBAAuB;IACvB,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,uDAAuD;IACvD,OAAO;QACL,OAAO;QACP,SAAS;QACT,OAAO,EAAE,UAAU,CAAC,QAAQ;QAC5B,MAAM,EAAE,aAAa,CAAC,MAAM;KAC7B,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAA;AAErD,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAA;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAA;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAA;AACpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,SAAS,CAAA"}
@@ -1,26 +0,0 @@
1
- export interface Pokemon {
2
- id: number;
3
- name: string;
4
- types: Array<{
5
- type: {
6
- name: string;
7
- };
8
- }>;
9
- sprites: {
10
- front_default: string;
11
- other?: {
12
- 'official-artwork'?: {
13
- front_default?: string;
14
- };
15
- };
16
- };
17
- height: number;
18
- weight: number;
19
- }
20
- export interface PokemonState {
21
- currentPokemon: Pokemon | null | undefined;
22
- loading: boolean;
23
- error: string | null;
24
- currentId: number;
25
- }
26
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/_examples/pokemons/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAA;IACxC,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAA;QACrB,KAAK,CAAC,EAAE;YACN,kBAAkB,CAAC,EAAE;gBACnB,aAAa,CAAC,EAAE,MAAM,CAAA;aACvB,CAAA;SACF,CAAA;KACF,CAAA;IACD,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IAC1C,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CAClB"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/_examples/pokemons/types.ts"],"names":[],"mappings":""}