synapse-storage 2.1.1 → 3.0.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.
Files changed (233) hide show
  1. package/dist/_utils/index.js +3 -3
  2. package/dist/api/api.module.js +3 -3
  3. package/dist/api/example.js +2 -2
  4. package/dist/api/index.js +5 -5
  5. package/dist/api/utils/endpoint-headers.js +1 -1
  6. package/dist/api/utils/fetch-base-query.js +1 -1
  7. package/dist/core/index.js +2 -2
  8. package/dist/core/selector/index.js +1 -1
  9. package/dist/core/storage/adapters/base-storage.service.js +1 -1
  10. package/dist/core/storage/adapters/indexed-DB.service.js +2 -2
  11. package/dist/core/storage/adapters/indexed-DB.service.old.js +2 -2
  12. package/dist/core/storage/adapters/local-storage.service.js +2 -2
  13. package/dist/core/storage/adapters/memory-storage.service.js +2 -2
  14. package/dist/core/storage/index.js +9 -9
  15. package/dist/core/storage/middlewares/index.js +1 -1
  16. package/dist/core/storage/utils/cache.util.js +1 -1
  17. package/dist/index.js +5 -9
  18. package/dist/index.js.map +1 -1
  19. package/dist/react/hooks/index.js +2 -2
  20. package/dist/react/index.js +2 -2
  21. package/dist/react/utils/createSynapseCtx.d.ts.map +1 -1
  22. package/dist/react/utils/createSynapseCtx.js.map +1 -1
  23. package/dist/react/utils/index.js +1 -1
  24. package/dist/reactive/dispatcher/index.js +2 -2
  25. package/dist/reactive/dispatcher/middlewares/index.js +1 -1
  26. package/dist/reactive/effects/effects.module.js +1 -1
  27. package/dist/reactive/effects/index.js +1 -1
  28. package/dist/reactive/effects/utils/index.js +2 -2
  29. package/dist/reactive/index.js +2 -2
  30. package/dist/utils/index.js +1 -1
  31. package/package.json +2 -2
  32. package/dist/_examples/_example5.d.ts +0 -1
  33. package/dist/_examples/_example5.d.ts.map +0 -1
  34. package/dist/_examples/_example5.js +0 -184
  35. package/dist/_examples/_example5.js.map +0 -1
  36. package/dist/_examples/_example6.d.ts +0 -1
  37. package/dist/_examples/_example6.d.ts.map +0 -1
  38. package/dist/_examples/_example6.js +0 -168
  39. package/dist/_examples/_example6.js.map +0 -1
  40. package/dist/_examples/example1.d.ts +0 -1
  41. package/dist/_examples/example1.d.ts.map +0 -1
  42. package/dist/_examples/example1.js +0 -240
  43. package/dist/_examples/example1.js.map +0 -1
  44. package/dist/_examples/example2.d.ts +0 -1
  45. package/dist/_examples/example2.d.ts.map +0 -1
  46. package/dist/_examples/example2.js +0 -81
  47. package/dist/_examples/example2.js.map +0 -1
  48. package/dist/_examples/example3.d.ts +0 -1
  49. package/dist/_examples/example3.d.ts.map +0 -1
  50. package/dist/_examples/example3.js +0 -99
  51. package/dist/_examples/example3.js.map +0 -1
  52. package/dist/_examples/example4.d.ts +0 -1
  53. package/dist/_examples/example4.d.ts.map +0 -1
  54. package/dist/_examples/example4.js +0 -172
  55. package/dist/_examples/example4.js.map +0 -1
  56. package/dist/_examples/example5.d.ts +0 -1
  57. package/dist/_examples/example5.d.ts.map +0 -1
  58. package/dist/_examples/example5.js +0 -184
  59. package/dist/_examples/example5.js.map +0 -1
  60. package/dist/_examples/example6.d.ts +0 -1
  61. package/dist/_examples/example6.d.ts.map +0 -1
  62. package/dist/_examples/example6.js +0 -168
  63. package/dist/_examples/example6.js.map +0 -1
  64. package/dist/_examples/plugins.d.ts +0 -1
  65. package/dist/_examples/plugins.d.ts.map +0 -1
  66. package/dist/_examples/plugins.js +0 -176
  67. package/dist/_examples/plugins.js.map +0 -1
  68. package/dist/_examples/pokemons/PokemonList.d.ts +0 -5
  69. package/dist/_examples/pokemons/PokemonList.d.ts.map +0 -1
  70. package/dist/_examples/pokemons/PokemonList.js +0 -166
  71. package/dist/_examples/pokemons/PokemonList.js.map +0 -1
  72. package/dist/_examples/pokemons/api.d.ts +0 -8
  73. package/dist/_examples/pokemons/api.d.ts.map +0 -1
  74. package/dist/_examples/pokemons/api.js +0 -45
  75. package/dist/_examples/pokemons/api.js.map +0 -1
  76. package/dist/_examples/pokemons/app.config.d.ts +0 -15
  77. package/dist/_examples/pokemons/app.config.d.ts.map +0 -1
  78. package/dist/_examples/pokemons/app.config.js +0 -15
  79. package/dist/_examples/pokemons/app.config.js.map +0 -1
  80. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.d.ts +0 -9
  81. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.d.ts.map +0 -1
  82. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.js +0 -122
  83. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.js.map +0 -1
  84. package/dist/_examples/pokemons/effects/pokemon.effects.d.ts +0 -16
  85. package/dist/_examples/pokemons/effects/pokemon.effects.d.ts.map +0 -1
  86. package/dist/_examples/pokemons/effects/pokemon.effects.js +0 -39
  87. package/dist/_examples/pokemons/effects/pokemon.effects.js.map +0 -1
  88. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.d.ts +0 -4
  89. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.d.ts.map +0 -1
  90. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.js +0 -27
  91. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.js.map +0 -1
  92. package/dist/_examples/pokemons/pokemon.dispatcher.d.ts +0 -9
  93. package/dist/_examples/pokemons/pokemon.dispatcher.d.ts.map +0 -1
  94. package/dist/_examples/pokemons/pokemon.dispatcher.js +0 -122
  95. package/dist/_examples/pokemons/pokemon.dispatcher.js.map +0 -1
  96. package/dist/_examples/pokemons/pokemon.effects.d.ts +0 -5
  97. package/dist/_examples/pokemons/pokemon.effects.d.ts.map +0 -1
  98. package/dist/_examples/pokemons/pokemon.effects.js +0 -39
  99. package/dist/_examples/pokemons/pokemon.effects.js.map +0 -1
  100. package/dist/_examples/pokemons/pokemon.selectors.d.ts +0 -5
  101. package/dist/_examples/pokemons/pokemon.selectors.d.ts.map +0 -1
  102. package/dist/_examples/pokemons/pokemon.selectors.js +0 -10
  103. package/dist/_examples/pokemons/pokemon.selectors.js.map +0 -1
  104. package/dist/_examples/pokemons/pokemon.storage.d.ts +0 -3
  105. package/dist/_examples/pokemons/pokemon.storage.d.ts.map +0 -1
  106. package/dist/_examples/pokemons/pokemon.storage.js +0 -14
  107. package/dist/_examples/pokemons/pokemon.storage.js.map +0 -1
  108. package/dist/_examples/pokemons/pokemon1.selectors.d.ts +0 -5
  109. package/dist/_examples/pokemons/pokemon1.selectors.d.ts.map +0 -1
  110. package/dist/_examples/pokemons/pokemon1.selectors.js +0 -8
  111. package/dist/_examples/pokemons/pokemon1.selectors.js.map +0 -1
  112. package/dist/_examples/pokemons/pokenon.middlewares.d.ts +0 -4
  113. package/dist/_examples/pokemons/pokenon.middlewares.d.ts.map +0 -1
  114. package/dist/_examples/pokemons/pokenon.middlewares.js +0 -27
  115. package/dist/_examples/pokemons/pokenon.middlewares.js.map +0 -1
  116. package/dist/_examples/pokemons/selectors/pokemon.selectors.d.ts +0 -5
  117. package/dist/_examples/pokemons/selectors/pokemon.selectors.d.ts.map +0 -1
  118. package/dist/_examples/pokemons/selectors/pokemon.selectors.js +0 -10
  119. package/dist/_examples/pokemons/selectors/pokemon.selectors.js.map +0 -1
  120. package/dist/_examples/pokemons/selectors/pokemon1.selectors.d.ts +0 -5
  121. package/dist/_examples/pokemons/selectors/pokemon1.selectors.d.ts.map +0 -1
  122. package/dist/_examples/pokemons/selectors/pokemon1.selectors.js +0 -8
  123. package/dist/_examples/pokemons/selectors/pokemon1.selectors.js.map +0 -1
  124. package/dist/_examples/pokemons/storages/pokemon.storage.d.ts +0 -3
  125. package/dist/_examples/pokemons/storages/pokemon.storage.d.ts.map +0 -1
  126. package/dist/_examples/pokemons/storages/pokemon.storage.js +0 -14
  127. package/dist/_examples/pokemons/storages/pokemon.storage.js.map +0 -1
  128. package/dist/_examples/pokemons/store.d.ts +0 -1
  129. package/dist/_examples/pokemons/store.d.ts.map +0 -1
  130. package/dist/_examples/pokemons/store.js +0 -2
  131. package/dist/_examples/pokemons/store.js.map +0 -1
  132. package/dist/_examples/pokemons/store1.d.ts +0 -23
  133. package/dist/_examples/pokemons/store1.d.ts.map +0 -1
  134. package/dist/_examples/pokemons/store1.js +0 -35
  135. package/dist/_examples/pokemons/store1.js.map +0 -1
  136. package/dist/_examples/pokemons/store2.d.ts +0 -23
  137. package/dist/_examples/pokemons/store2.d.ts.map +0 -1
  138. package/dist/_examples/pokemons/store2.js +0 -34
  139. package/dist/_examples/pokemons/store2.js.map +0 -1
  140. package/dist/_examples/pokemons/types.d.ts +0 -26
  141. package/dist/_examples/pokemons/types.d.ts.map +0 -1
  142. package/dist/_examples/pokemons/types.js +0 -2
  143. package/dist/_examples/pokemons/types.js.map +0 -1
  144. package/dist/core/storage/adapters/idb.d.ts +0 -52
  145. package/dist/core/storage/adapters/idb.d.ts.map +0 -1
  146. package/dist/core/storage/adapters/idb.js +0 -528
  147. package/dist/core/storage/adapters/idb.js.map +0 -1
  148. package/dist/core/storage/adapters/indexed-DB.service1.d.ts +0 -38
  149. package/dist/core/storage/adapters/indexed-DB.service1.d.ts.map +0 -1
  150. package/dist/core/storage/adapters/indexed-DB.service1.js +0 -318
  151. package/dist/core/storage/adapters/indexed-DB.service1.js.map +0 -1
  152. package/dist/core/storage/adapters/indexed-DB.service2.d.ts +0 -61
  153. package/dist/core/storage/adapters/indexed-DB.service2.d.ts.map +0 -1
  154. package/dist/core/storage/adapters/indexed-DB.service2.js +0 -596
  155. package/dist/core/storage/adapters/indexed-DB.service2.js.map +0 -1
  156. package/dist/core/storage/factory/createSynapseStorage.factory.d.ts +0 -1
  157. package/dist/core/storage/factory/createSynapseStorage.factory.d.ts.map +0 -1
  158. package/dist/core/storage/factory/createSynapseStorage.factory.js +0 -2
  159. package/dist/core/storage/factory/createSynapseStorage.factory.js.map +0 -1
  160. package/dist/core/storage/factory/index.d.ts +0 -2
  161. package/dist/core/storage/factory/index.d.ts.map +0 -1
  162. package/dist/core/storage/factory/index.js +0 -2
  163. package/dist/core/storage/factory/index.js.map +0 -1
  164. package/dist/examples/_example5.d.ts +0 -1
  165. package/dist/examples/_example5.d.ts.map +0 -1
  166. package/dist/examples/_example5.js +0 -184
  167. package/dist/examples/_example5.js.map +0 -1
  168. package/dist/examples/_example6.d.ts +0 -1
  169. package/dist/examples/_example6.d.ts.map +0 -1
  170. package/dist/examples/_example6.js +0 -168
  171. package/dist/examples/_example6.js.map +0 -1
  172. package/dist/examples/plugins.d.ts +0 -1
  173. package/dist/examples/plugins.d.ts.map +0 -1
  174. package/dist/examples/plugins.js +0 -176
  175. package/dist/examples/plugins.js.map +0 -1
  176. package/dist/examples/pokemons/PokemonList.d.ts +0 -2
  177. package/dist/examples/pokemons/PokemonList.d.ts.map +0 -1
  178. package/dist/examples/pokemons/PokemonList.js +0 -110
  179. package/dist/examples/pokemons/PokemonList.js.map +0 -1
  180. package/dist/examples/pokemons/api.d.ts +0 -22
  181. package/dist/examples/pokemons/api.d.ts.map +0 -1
  182. package/dist/examples/pokemons/api.js +0 -43
  183. package/dist/examples/pokemons/api.js.map +0 -1
  184. package/dist/examples/pokemons/app.config.d.ts +0 -15
  185. package/dist/examples/pokemons/app.config.d.ts.map +0 -1
  186. package/dist/examples/pokemons/app.config.js +0 -15
  187. package/dist/examples/pokemons/app.config.js.map +0 -1
  188. package/dist/examples/pokemons/dispatchers/pokemon.dispatcher.js +0 -128
  189. package/dist/examples/pokemons/dispatchers/pokemon.dispatcher.js.map +0 -1
  190. package/dist/examples/pokemons/effects/pokemon.effects.d.ts +0 -16
  191. package/dist/examples/pokemons/effects/pokemon.effects.d.ts.map +0 -1
  192. package/dist/examples/pokemons/effects/pokemon.effects.js +0 -51
  193. package/dist/examples/pokemons/effects/pokemon.effects.js.map +0 -1
  194. package/dist/examples/pokemons/middlewares/pokenon.middlewares.d.ts +0 -4
  195. package/dist/examples/pokemons/middlewares/pokenon.middlewares.d.ts.map +0 -1
  196. package/dist/examples/pokemons/middlewares/pokenon.middlewares.js +0 -28
  197. package/dist/examples/pokemons/middlewares/pokenon.middlewares.js.map +0 -1
  198. package/dist/examples/pokemons/selectors/pokemon.selectors.d.ts +0 -13
  199. package/dist/examples/pokemons/selectors/pokemon.selectors.d.ts.map +0 -1
  200. package/dist/examples/pokemons/selectors/pokemon.selectors.js +0 -7
  201. package/dist/examples/pokemons/selectors/pokemon.selectors.js.map +0 -1
  202. package/dist/examples/pokemons/storages/pokemon.storage.d.ts +0 -5
  203. package/dist/examples/pokemons/storages/pokemon.storage.d.ts.map +0 -1
  204. package/dist/examples/pokemons/storages/pokemon.storage.js +0 -13
  205. package/dist/examples/pokemons/storages/pokemon.storage.js.map +0 -1
  206. package/dist/examples/pokemons/store.d.ts +0 -35
  207. package/dist/examples/pokemons/store.d.ts.map +0 -1
  208. package/dist/examples/pokemons/store.js +0 -21
  209. package/dist/examples/pokemons/store.js.map +0 -1
  210. package/dist/examples/pokemons/types.d.ts +0 -26
  211. package/dist/examples/pokemons/types.d.ts.map +0 -1
  212. package/dist/examples/pokemons/types.js +0 -2
  213. package/dist/examples/pokemons/types.js.map +0 -1
  214. package/dist/react/utils/createSynapse.d.ts +0 -47
  215. package/dist/react/utils/createSynapse.d.ts.map +0 -1
  216. package/dist/react/utils/createSynapse.js +0 -83
  217. package/dist/react/utils/createSynapse.js.map +0 -1
  218. package/dist/react/utils/createSynapseContext.d.ts +0 -29
  219. package/dist/react/utils/createSynapseContext.d.ts.map +0 -1
  220. package/dist/react/utils/createSynapseContext.js +0 -112
  221. package/dist/react/utils/createSynapseContext.js.map +0 -1
  222. package/dist/utils/chunk.util.d.ts +0 -8
  223. package/dist/utils/chunk.util.d.ts.map +0 -1
  224. package/dist/utils/chunk.util.js +0 -21
  225. package/dist/utils/chunk.util.js.map +0 -1
  226. package/dist/utils/deepMerge.util.d.ts +0 -2
  227. package/dist/utils/deepMerge.util.d.ts.map +0 -1
  228. package/dist/utils/deepMerge.util.js +0 -16
  229. package/dist/utils/deepMerge.util.js.map +0 -1
  230. package/dist/utils/flatMap.util.d.ts +0 -10
  231. package/dist/utils/flatMap.util.d.ts.map +0 -1
  232. package/dist/utils/flatMap.util.js +0 -23
  233. package/dist/utils/flatMap.util.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/examples/pokemons/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC1E,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,MAAM,CAAC,MAAM,EACX,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,gBAAgB,GAC5B,GAAG,MAAM,aAAa,CAAC;IACtB,eAAe,EAAE,oBAAoB;IACrC,kBAAkB,EAAE,uBAAuB;IAC3C,iBAAiB,EAAE,sBAAsB;IACzC,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnC,WAAW,EAAE;YACX,iBAAiB,EAAE,UAAU;SAC9B;QACD,GAAG,EAAE;YACH,UAAU,EAAE,gBAAgB;SAC7B;KACF,CAAC;IACF,OAAO,EAAE,CAAC,cAAc,CAAC;CAC1B,CAAC,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":""}
@@ -1,47 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { ISelectorModule, IStorage } from '../../core';
3
- import { Effect } from '../../reactive';
4
- export type ExtractPromiseType<T> = T extends Promise<infer U> ? U : T;
5
- export type ExtractStorageType<T> = T extends IStorage<infer U> ? U : never;
6
- export type ExtractDispatchType<T> = T extends {
7
- dispatch: infer D;
8
- } ? D : never;
9
- export type StorageCreatorFunction<T extends Record<string, any>> = () => Promise<IStorage<T>>;
10
- /**
11
- * Конфигурация хранилища
12
- */
13
- export type CreateSynapseConfig<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>> = ({
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
- createDispatcherFn?: (storage: IStorage<TStore>) => TDispatcher;
23
- createEffectConfig?: (dispatcher: TDispatcher) => {
24
- dispatchers: Record<string, any>;
25
- api?: TApi;
26
- config?: TConfig;
27
- };
28
- effects?: Effect<TStore, any, TApi, TConfig>[];
29
- };
30
- /**
31
- * Возвращаемый результат
32
- */
33
- export interface SynapseStore<TStore extends Record<string, any>, TStorage extends IStorage<TStore>, TSelectors = any, TActions = any> {
34
- storage: TStorage;
35
- selectors: TSelectors;
36
- actions: TActions;
37
- state$: Observable<TStore>;
38
- destroy: () => Promise<void>;
39
- }
40
- /**
41
- * Создает хранилище Synapse
42
- *
43
- * @param config Конфигурация для создания хранилища
44
- * @returns Promise, который разрешается в SynapseStore
45
- */
46
- 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>, TActions = ExtractDispatchType<TDispatcher>>(config: CreateSynapseConfig<TStore, TSelectors, TDispatcher, TApi, TConfig, TExternalSelectors>): Promise<SynapseStore<TStore, TStorage, TSelectors, TActions>>;
47
- //# sourceMappingURL=createSynapse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSynapse.d.ts","sourceRoot":"","sources":["../../../src/react/utils/createSynapse.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { SelectorModule } from '../../core';
3
- import { EffectsModule } from '../../reactive';
4
- /**
5
- * Создает хранилище Synapse
6
- *
7
- * @param config Конфигурация для создания хранилища
8
- * @returns Promise, который разрешается в SynapseStore
9
- */
10
- export async function createSynapse(config) {
11
- // Создаем и инициализируем хранилище
12
- const storageInstance = (config.createStorageFn ? await config.createStorageFn() : config.storage);
13
- // Создаем сборщики для последующей очистки
14
- const cleanupCallbacks = [];
15
- const result = {
16
- storage: storageInstance,
17
- selectors: {},
18
- actions: {},
19
- state$: new Observable(),
20
- destroy: async () => {
21
- for (const callback of cleanupCallbacks) {
22
- await callback();
23
- }
24
- },
25
- };
26
- cleanupCallbacks.push(() => storageInstance.destroy());
27
- let dispatcher;
28
- let selectorModule;
29
- let effectsModule;
30
- // Создаем модуль селекторов
31
- if (config.createSelectorsFn) {
32
- try {
33
- selectorModule = new SelectorModule(storageInstance);
34
- const externalSelectors = config.externalSelectors || {};
35
- result.selectors = config.createSelectorsFn(selectorModule, externalSelectors);
36
- if (typeof selectorModule.destroy === 'function') {
37
- cleanupCallbacks.push(() => selectorModule.destroy());
38
- }
39
- }
40
- catch (error) {
41
- console.error('Ошибка создания selectors:', error);
42
- }
43
- }
44
- // Создаем диспетчер
45
- if (config.createDispatcherFn) {
46
- dispatcher = config.createDispatcherFn(storageInstance);
47
- // @ts-ignore
48
- if (dispatcher && 'dispatch' in dispatcher) {
49
- result.actions = dispatcher.dispatch;
50
- if (typeof dispatcher.destroy === 'function') {
51
- cleanupCallbacks.push(() => dispatcher.destroy());
52
- }
53
- }
54
- }
55
- // Создаем и настраиваем модуль эффектов
56
- if (config.createEffectConfig && dispatcher) {
57
- try {
58
- const { dispatchers, api, config: effectConfig } = config.createEffectConfig(dispatcher);
59
- // Создаем модуль эффектов
60
- effectsModule = new EffectsModule(storageInstance, dispatchers, api, effectConfig);
61
- // Добавляем эффекты
62
- if (Array.isArray(config.effects)) {
63
- config.effects.forEach((effect) => {
64
- if (effectsModule)
65
- effectsModule.add(effect);
66
- });
67
- }
68
- // Запускаем модуль эффектов
69
- effectsModule.start();
70
- result.state$ = effectsModule.state$;
71
- // Добавляем очистку эффектов
72
- cleanupCallbacks.push(() => {
73
- if (effectsModule)
74
- effectsModule.stop();
75
- });
76
- }
77
- catch (error) {
78
- console.error('Ошибка создания модуля эффектов:', error);
79
- }
80
- }
81
- return result;
82
- }
83
- //# sourceMappingURL=createSynapse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSynapse.js","sourceRoot":"","sources":["../../../src/react/utils/createSynapse.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { ComponentType } from 'react';
2
- import { IStorage } from '../../core';
3
- import { createDispatcher, Dispatcher, Effect } from '../../reactive';
4
- import { Observable } from 'rxjs';
5
- type DispatchType<D> = D extends {
6
- dispatch: infer T;
7
- } ? T : never;
8
- interface CreateSynapseContextConfig<TStore extends Record<string, any>, TSelectors extends object, TDispatcher extends ReturnType<typeof createDispatcher>, TEffectDispatchersDep extends Record<string, Dispatcher<any, any>>, TEffectApiDep extends Record<string, any>, TEffectConfig extends Record<string, any> = Record<string, never>> {
9
- createStorageFn: () => Promise<IStorage<TStore>>;
10
- createSelectorsFn: (storage: IStorage<TStore>) => TSelectors;
11
- createDispatcherFn: (storage: IStorage<TStore>) => TDispatcher;
12
- effects?: Effect<TStore, TEffectDispatchersDep, TEffectApiDep, TEffectConfig> | Effect<TStore, TEffectDispatchersDep, TEffectApiDep, TEffectConfig>[];
13
- createEffectConfig: {
14
- dispatchers: (storage: IStorage<TStore>, dispatch: DispatchType<TDispatcher>) => TEffectDispatchersDep;
15
- api: TEffectApiDep;
16
- config?: TEffectConfig;
17
- };
18
- }
19
- export declare function createSynapseContext<TStore extends Record<string, any>, TSelectors extends object, TDispatcher extends ReturnType<typeof createDispatcher>, TEffectDispatchersDep extends Record<string, Dispatcher<any, any>>, TEffectApiDep extends Record<string, any>, TEffectConfig extends Record<string, any> = Record<string, never>>(config: CreateSynapseContextConfig<TStore, TSelectors, TDispatcher, TEffectDispatchersDep, TEffectApiDep, TEffectConfig>): {
20
- contextSynapse: <Props extends {}>(Component: ComponentType<Props>) => ({ contextProps, ...props }: Props & {
21
- contextProps?: Partial<TStore>;
22
- }) => import("react/jsx-runtime").JSX.Element | null;
23
- useSynapseStorage: () => IStorage<TStore>;
24
- useSynapseActions: () => DispatchType<TDispatcher>;
25
- useSynapseSelectors: () => TSelectors;
26
- useSynapseState$: () => Observable<TStore>;
27
- };
28
- export {};
29
- //# sourceMappingURL=createSynapseContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSynapseContext.d.ts","sourceRoot":"","sources":["../../../src/react/utils/createSynapseContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0D,MAAM,OAAO,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAiB,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAGlC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CAAC;AAGnE,UAAU,0BAA0B,CACpC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,UAAU,SAAS,MAAM,EACzB,WAAW,SAAS,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvD,qBAAqB,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAClE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEjE,eAAe,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,iBAAiB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;IAC7D,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;IACxJ,kBAAkB,EAAE;QAClB,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,KAAK,qBAAqB,CAAC;QACvG,GAAG,EAAE,aAAa,CAAC;QACnB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,CAAC;CACD;AAcD,wBAAgB,oBAAoB,CACpC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,UAAU,SAAS,MAAM,EACzB,WAAW,SAAS,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvD,qBAAqB,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAClE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACjE,MAAM,EAAE,0BAA0B,CACpC,MAAM,EACJ,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACf,aAAa,CACZ;qBAsCyB,KAAK,SAAS,EAAE,aAC3B,aAAa,CAAC,KAAK,CAAC,MAEE,4BAA4B,KAAK,GAAG;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE;;;;;EAyG1G"}
@@ -1,112 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useContext, useEffect, useRef, useState } from 'react';
3
- import { EffectsModule } from '../../reactive';
4
- export function createSynapseContext(config) {
5
- // Создаем контекст
6
- const SynapseContext = createContext(null);
7
- // Хуки для доступа к объектам из контекста
8
- const useSynapseStorage = () => {
9
- const context = useContext(SynapseContext);
10
- if (!context) {
11
- throw new Error('useSynapseStorage must be used within a contextSynapse component');
12
- }
13
- return context.storage;
14
- };
15
- const useSynapseActions = () => {
16
- const context = useContext(SynapseContext);
17
- if (!context) {
18
- throw new Error('useSynapseActions must be used within a contextSynapse component');
19
- }
20
- return context.actions;
21
- };
22
- const useSynapseSelectors = () => {
23
- const context = useContext(SynapseContext);
24
- if (!context) {
25
- throw new Error('useSynapseSelectors must be used within a contextSynapse component');
26
- }
27
- return context.selectors;
28
- };
29
- const useSynapseState$ = () => {
30
- const context = useContext(SynapseContext);
31
- if (!context) {
32
- throw new Error('useSynapseState$ must be used within a contextSynapse component');
33
- }
34
- return context.state$;
35
- };
36
- // Функция HOC для обертывания компонентов
37
- function contextSynapse(Component) {
38
- return function WrappedComponent({ contextProps, ...props }) {
39
- const storeRef = useRef(null);
40
- const [isInitialized, setIsInitialized] = useState(false);
41
- const effectsModuleRef = useRef(null);
42
- useEffect(() => {
43
- let mounted = true;
44
- const initialize = async () => {
45
- // 1. Создаем хранилище
46
- const storage = await config.createStorageFn();
47
- // Применяем contextProps, если они есть
48
- if (contextProps && Object.keys(contextProps).length > 0) {
49
- await storage.update(state => {
50
- Object.assign(state, contextProps);
51
- });
52
- }
53
- // 2. Создаем селекторы
54
- const selectors = config.createSelectorsFn(storage);
55
- // 3. Создаем диспетчер
56
- const dispatcher = config.createDispatcherFn(storage);
57
- // 4. Создаем параметры для модуля эффектов
58
- const dispatchers = config.createEffectConfig.dispatchers(storage,
59
- //@ts-ignore
60
- dispatcher.dispatch);
61
- // 5. Создаем модуль эффектов
62
- const effectsModule = new EffectsModule(storage, dispatchers, config.createEffectConfig.api, config.createEffectConfig.config);
63
- // 6. Добавляем эффекты, если они есть
64
- if (config.effects) {
65
- if (Array.isArray(config.effects)) {
66
- effectsModule.addEffects(config.effects);
67
- }
68
- else {
69
- effectsModule.add(config.effects);
70
- }
71
- }
72
- // 7. Запускаем эффекты
73
- effectsModule.start();
74
- effectsModuleRef.current = effectsModule;
75
- if (mounted) {
76
- // Сохраняем объекты в ref
77
- storeRef.current = {
78
- storage,
79
- selectors,
80
- //@ts-ignore
81
- actions: dispatcher.dispatch,
82
- state$: effectsModule.state$
83
- };
84
- setIsInitialized(true);
85
- }
86
- };
87
- initialize();
88
- return () => {
89
- mounted = false;
90
- // Очистка при размонтировании
91
- if (effectsModuleRef.current) {
92
- effectsModuleRef.current.stop();
93
- effectsModuleRef.current = null;
94
- }
95
- };
96
- }, []);
97
- if (!isInitialized || !storeRef.current) {
98
- return null;
99
- }
100
- return (_jsx(SynapseContext.Provider, { value: storeRef.current, children: _jsx(Component, { ...props }) }));
101
- };
102
- }
103
- // Возвращаем только функции и хуки
104
- return {
105
- contextSynapse,
106
- useSynapseStorage,
107
- useSynapseActions,
108
- useSynapseSelectors,
109
- useSynapseState$,
110
- };
111
- }
112
- //# sourceMappingURL=createSynapseContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createSynapseContext.js","sourceRoot":"","sources":["../../../src/react/utils/createSynapseContext.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAiB,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9F,OAAO,EAAoB,aAAa,EAAsB,MAAM,gBAAgB,CAAC;AAsCrF,MAAM,UAAU,oBAAoB,CAOlC,MAOD;IACC,mBAAmB;IACnB,MAAM,cAAc,GAAG,aAAa,CAAqE,IAAI,CAAC,CAAC;IAE/G,2CAA2C;IAC3C,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,OAAO,CAAC,SAAS,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC,CAAC;IAEF,0CAA0C;IAC1C,SAAS,cAAc,CACrB,SAA+B;QAE/B,OAAO,SAAS,gBAAgB,CAAC,EAAE,YAAY,EAAE,GAAG,KAAK,EAA8C;YACrG,MAAM,QAAQ,GAAG,MAAM,CAAqE,IAAI,CAAC,CAAC;YAClG,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAoF,IAAI,CAAC,CAAC;YAEzH,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,OAAO,GAAG,IAAI,CAAC;gBAEnB,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;oBAC5B,uBAAuB;oBACvB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;oBAE/C,wCAAwC;oBACxC,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzD,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;4BAC3B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;wBACrC,CAAC,CAAC,CAAC;oBACL,CAAC;oBAED,uBAAuB;oBACvB,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBAEpD,uBAAuB;oBACvB,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBAEtD,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CACvD,OAAO;oBACP,YAAY;oBACZ,UAAU,CAAC,QAAqC,CACjD,CAAC;oBAEF,6BAA6B;oBAC7B,MAAM,aAAa,GAAG,IAAI,aAAa,CAMrC,OAAO,EACL,WAAW,EACX,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAC7B,MAAM,CAAC,kBAAkB,CAAC,MAAM,CACnC,CAAC;oBAEF,sCAAsC;oBACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;4BAClC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACN,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBACpC,CAAC;oBACH,CAAC;oBAED,uBAAuB;oBACvB,aAAa,CAAC,KAAK,EAAE,CAAC;oBAEtB,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAAC;oBAEzC,IAAI,OAAO,EAAE,CAAC;wBACZ,0BAA0B;wBAC1B,QAAQ,CAAC,OAAO,GAAG;4BACjB,OAAO;4BACP,SAAS;4BACT,YAAY;4BACZ,OAAO,EAAE,UAAU,CAAC,QAAqC;4BACzD,MAAM,EAAE,aAAa,CAAC,MAAM;yBAC7B,CAAC;wBAEF,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC,CAAC;gBAEF,UAAU,EAAE,CAAC;gBAEb,OAAO,GAAG,EAAE;oBACV,OAAO,GAAG,KAAK,CAAC;oBAChB,8BAA8B;oBAC9B,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBAC7B,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAChC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;oBAClC,CAAC;gBACH,CAAC,CAAC;YACJ,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,YAC9C,KAAC,SAAS,OAAM,KAAa,GAAI,GACT,CAC3B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,OAAO;QACL,cAAc;QACd,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Разбивает массив на группы элементов указанного размера.
3
- * @param array - Массив для разбиения
4
- * @param size - Размер каждой группы
5
- * @returns Массив групп элементов
6
- */
7
- export declare function chunk<T>(array: T[], size?: number): T[][];
8
- //# sourceMappingURL=chunk.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.util.d.ts","sourceRoot":"","sources":["../../src/utils/chunk.util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,GAAE,MAAU,GAAG,CAAC,EAAE,EAAE,CAe5D"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Разбивает массив на группы элементов указанного размера.
3
- * @param array - Массив для разбиения
4
- * @param size - Размер каждой группы
5
- * @returns Массив групп элементов
6
- */
7
- export function chunk(array, size = 1) {
8
- if (size <= 0)
9
- throw new Error('Size must be greater than 0');
10
- if (!array || !array.length)
11
- return [];
12
- const result = [];
13
- const length = array.length;
14
- let index = 0;
15
- while (index < length) {
16
- result.push(array.slice(index, index + size));
17
- index += size;
18
- }
19
- return result;
20
- }
21
- //# sourceMappingURL=chunk.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk.util.js","sourceRoot":"","sources":["../../src/utils/chunk.util.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAI,KAAU,EAAE,OAAe,CAAC;IACnD,IAAI,IAAI,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAE7D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAEtC,MAAM,MAAM,GAAU,EAAE,CAAA;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,KAAK,GAAG,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAA;QAC7C,KAAK,IAAI,IAAI,CAAA;IACf,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const deepMerge: (target: any, source: any) => void;
2
- //# sourceMappingURL=deepMerge.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deepMerge.util.d.ts","sourceRoot":"","sources":["../../src/utils/deepMerge.util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,QAAQ,GAAG,EAAE,QAAQ,GAAG,SAajD,CAAA"}
@@ -1,16 +0,0 @@
1
- export const deepMerge = (target, source) => {
2
- for (const key in source) {
3
- if (Object.prototype.hasOwnProperty.call(source, key)) {
4
- if (typeof source[key] === 'object' && source[key] !== null && !Array.isArray(source[key])) {
5
- if (!target[key] || typeof target[key] !== 'object') {
6
- target[key] = {};
7
- }
8
- deepMerge(target[key], source[key]);
9
- }
10
- else {
11
- target[key] = source[key];
12
- }
13
- }
14
- }
15
- };
16
- //# sourceMappingURL=deepMerge.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deepMerge.util.js","sourceRoot":"","sources":["../../src/utils/deepMerge.util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAW,EAAE,MAAW,EAAE,EAAE;IACpD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACpD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;gBAClB,CAAC;gBACD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Создает новый массив, применяя функцию к каждому элементу массива,
3
- * а затем сглаживает результат на один уровень.
4
- *
5
- * @param array - Исходный массив
6
- * @param iteratee - Функция, применяемая к каждому элементу
7
- * @returns Новый сглаженный массив
8
- */
9
- export declare function flatMap<T, R>(array: T[], iteratee: (value: T, index: number, array: T[]) => R | R[]): R[];
10
- //# sourceMappingURL=flatMap.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatMap.util.d.ts","sourceRoot":"","sources":["../../src/utils/flatMap.util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAczG"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Создает новый массив, применяя функцию к каждому элементу массива,
3
- * а затем сглаживает результат на один уровень.
4
- *
5
- * @param array - Исходный массив
6
- * @param iteratee - Функция, применяемая к каждому элементу
7
- * @returns Новый сглаженный массив
8
- */
9
- export function flatMap(array, iteratee) {
10
- if (!array || !array.length)
11
- return [];
12
- return array.reduce((acc, value, index) => {
13
- const mapped = iteratee(value, index, array);
14
- if (Array.isArray(mapped)) {
15
- acc.push(...mapped);
16
- }
17
- else {
18
- acc.push(mapped);
19
- }
20
- return acc;
21
- }, []);
22
- }
23
- //# sourceMappingURL=flatMap.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flatMap.util.js","sourceRoot":"","sources":["../../src/utils/flatMap.util.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAO,KAAU,EAAE,QAA0D;IAClG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAEtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,KAAQ,EAAE,KAAa,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;QAE5C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC"}