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,240 +0,0 @@
1
- "use strict";
2
- // 'use client'
3
- //
4
- // import { useCallback, useState } from 'react'
5
- // import { ApiClient, ResponseFormat } from 'synapse'
6
- //
7
- // export interface PokemonListResponse {
8
- // count: number
9
- // next: string | null
10
- // previous: string | null
11
- // results: {
12
- // name: string
13
- // url: string
14
- // }[]
15
- // }
16
- //
17
- // export interface PokemonDetails {
18
- // id: number
19
- // name: string
20
- // height: number
21
- // weight: number
22
- // sprites: {
23
- // front_default: string
24
- // back_default: string
25
- // other?: {
26
- // 'official-artwork'?: {
27
- // front_default: string
28
- // }
29
- // }
30
- // }
31
- // types: {
32
- // slot: number
33
- // type: {
34
- // name: string
35
- // url: string
36
- // }
37
- // }[]
38
- // abilities: {
39
- // ability: {
40
- // name: string
41
- // url: string
42
- // }
43
- // is_hidden: boolean
44
- // slot: number
45
- // }[]
46
- // stats: {
47
- // base_stat: number
48
- // effort: number
49
- // stat: {
50
- // name: string
51
- // url: string
52
- // }
53
- // }[]
54
- // }
55
- //
56
- // export interface PokemonSearchParams {
57
- // limit?: number
58
- // offset?: number
59
- // }
60
- //
61
- // export const api = new ApiClient({
62
- // // Перечисляем заголовки которые будут добавлены в локину формирования ключа
63
- // cacheableHeaderKeys: ['X-Global-Header'],
64
- // storageType: 'localStorage',
65
- // storageOptions: {
66
- // name: 'pokemon-api-storage',
67
- // dbName: 'pokemon-api-cache',
68
- // storeName: 'requests',
69
- // dbVersion: 1,
70
- // },
71
- // // Или boolean или объект с настройками
72
- // cache: {
73
- // // Время жизни кэша в миллисекундах
74
- // ttl: 5 * 60 * 1000, // 5 минут
75
- // // Инвалидировать кэш при ошибке
76
- // invalidateOnError: true,
77
- // cleanup: {
78
- // // Включить периодическую очистку
79
- // enabled: true,
80
- // // Интервал очистки в миллисекундах
81
- // interval: 10 * 60 * 1000, // 10 минут
82
- // },
83
- // },
84
- // baseQuery: {
85
- // baseUrl: 'https://pokeapi.co/api/v2',
86
- // // Таймаут запроса в миллисекундах
87
- // timeout: 10000,
88
- // prepareHeaders: async (headers, context) => {
89
- // // Устанавливаем заголовки для тестирования
90
- // headers.set('X-Global-Header', 'global-value')
91
- // headers.set('X-BaseQuery-Header', 'basequery-value')
92
- //
93
- // // Можем получить значение из localStorage / cookies
94
- // const profileId = context.getFromStorage<string>('myProfileId')
95
- // const token = context.getCookie('myToken')
96
- //
97
- // // context.someParam - можно получить любые параметры которые передаем в свойство context при вызове метода
98
- // return headers
99
- // },
100
- // credentials: 'same-origin',
101
- // },
102
- // // Асинхронная фабрика по созданию эндпоинтов
103
- // endpoints: async (create) => ({
104
- // updatePokemonById: create<{ id: number }, PokemonDetails>({
105
- // // Можно отключить / уточнить для конкретного эндпоинта
106
- // cache: false,
107
- // // Исключить заголовки из формирования ключа
108
- // excludeCacheableHeaderKeys: [],
109
- // // Включить заголовки из формирования ключа
110
- // includeCacheableHeaderKeys: [],
111
- // // Дополнительные уточнения для форпмирования заголовков для конкретного эндпоинта
112
- // prepareHeaders: async (headers) => headers,
113
- // tags: [],
114
- // invalidatesTags: [],
115
- // // Значения в контексте могут быть те, которые передаем в свойство context при вызове метода
116
- // request: (id, context) => ({
117
- // path: `/pokemon/${id}`,
118
- // method: 'PUT',
119
- // body: {},
120
- // }),
121
- // }),
122
- // // Запрос деталей покемона по ID (с явно включенным кэшированием)
123
- // getPokemonById: create<{ id: number }, PokemonDetails>({
124
- // request: (params) => ({
125
- // path: `/pokemon/${params.id}`,
126
- // method: 'GET',
127
- // responseFormat: ResponseFormat.Json,
128
- // }),
129
- // tags: ['pokemon-details'],
130
- // }),
131
- // // Запрос списка покемонов (без кэширования)
132
- // getPokemonList: create<PokemonSearchParams, PokemonListResponse>({
133
- // request: (
134
- // params = {
135
- // limit: 20,
136
- // offset: 0,
137
- // },
138
- // ) => ({
139
- // path: '/pokemon',
140
- // method: 'GET',
141
- // query: params,
142
- // responseFormat: ResponseFormat.Json,
143
- // }),
144
- // }),
145
- // }),
146
- // })
147
- // // Инициализация
148
- // export const pokemonApi = await api.init()
149
- // // Демонтирование
150
- // // await pokemonApi.destroy()
151
- //
152
- // // Получение эндпоинтов
153
- // export const pokemonEndpoints = pokemonApi.getEndpoints()
154
- //
155
- // export function Example1() {
156
- // const [currentPokemon, setCurrentPokemon] = useState<PokemonDetails | undefined>(undefined)
157
- //
158
- // const onPokemon = useCallback(async (id: number) => {
159
- // // Создаем запрос
160
- // const request = pokemonEndpoints.getPokemonById.request(
161
- // { id },
162
- // {
163
- // // Можно передать дополнительные свойства в контекст
164
- // context: {
165
- // someKey: 'someValue',
166
- // },
167
- // // Можно отключить кэш для конкретного вызова
168
- // disableCache: true,
169
- // // Можно указать заголовки которые будут участвовать в формирование ключа (перетирают все остальные настройки)
170
- // cacheableHeaderKeys: ['header-key'],
171
- // // и тд...
172
- // // Некоторые аспекты еще буду дорабатывать
173
- // },
174
- // )
175
- //
176
- // // Создаем подписки
177
- // request.subscribe((state) => {
178
- // switch (state.status) {
179
- // case 'idle': {
180
- // console.log('запрос неактивен')
181
- // break
182
- // }
183
- // case 'loading': {
184
- // console.log('запрос loading')
185
- // break
186
- // }
187
- // case 'success': {
188
- // console.log('запрос success')
189
- // setCurrentPokemon(state.data)
190
- // break
191
- // }
192
- // case 'error': {
193
- // console.log('запрос error')
194
- // break
195
- // }
196
- // }
197
- // }, { autoUnsubscribe: true })
198
- //
199
- // // Вызываем запрос и получаем response
200
- // const response = await request.wait()
201
- // console.log('response', response)
202
- //
203
- // // Альтернативный вариант вместо подписок
204
- // request.waitWithCallbacks({
205
- // idle: (request) => {},
206
- // loading: (request) => {},
207
- // success: (data, request) => {},
208
- // error: (error, request) => {},
209
- // }).catch(console.error)
210
- // }, [])
211
- //
212
- // return (
213
- // <div style={{ display: 'flex', flexDirection: 'column' }}>
214
- // <h2>{currentPokemon?.name}</h2>
215
- // <img src={currentPokemon?.sprites.front_default} alt={currentPokemon?.name} />
216
- // <div>
217
- // Types:
218
- // {' '}
219
- // {currentPokemon?.types.map((t) => t.type.name).join(', ')}
220
- // </div>
221
- // <div>
222
- // <button
223
- // onClick={() => onPokemon((currentPokemon?.id || 0) + 1)}
224
- // >
225
- // Next
226
- // </button>
227
- // <span>
228
- // Pokemon #
229
- // {currentPokemon?.id}
230
- // </span>
231
- // <button
232
- // onClick={() => onPokemon((currentPokemon?.id || 0) - 1)}
233
- // >
234
- // Previous
235
- // </button>
236
- // </div>
237
- // </div>
238
- // )
239
- // }
240
- //# sourceMappingURL=example1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example1.js","sourceRoot":"","sources":["../../src/_examples/example1.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=example2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example2.d.ts","sourceRoot":"","sources":["../../src/_examples/example2.tsx"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- // 'use client'
3
- //
4
- // import { useEffect, useState } from 'react'
5
- // import { broadcastMiddleware, IndexedDBStorage, LocalStorage, MemoryStorage } from 'synapse'
6
- //
7
- // interface Counter {
8
- // value: number
9
- // }
10
- //
11
- // const counter1 = await new MemoryStorage<Counter>({
12
- // name: 'counter1',
13
- // initialState: { value: 1 },
14
- // }).initialize()
15
- //
16
- // const counter2 = await new IndexedDBStorage<Counter>({
17
- // name: 'counter2',
18
- // options: {
19
- // dbVersion: 2,
20
- // storeName: 'counter23',
21
- // dbName: 'counter23',
22
- // },
23
- // initialState: { value: 2 },
24
- // }).initialize()
25
- //
26
- // const counter3 = await new LocalStorage<Counter>({
27
- // name: 'counter3',
28
- // initialState: { value: 3 },
29
- // }).initialize()
30
- //
31
- // // Подписка на все изменения в данном хранилище
32
- // counter2.subscribeToAll((event) => {
33
- // const { key, type, value } = event
34
- // console.log('counter1.subscribeToAll', type, key, value)
35
- // })
36
- // // Подписка на конкретное значение (первый параметр - колбэк)
37
- // counter2.subscribe((s) => s.value, (event) => {
38
- // console.log('counter1.subscribe--1', event)
39
- // })
40
- // // Подписка на конкретное значение (первый параметр - путь до свойства)
41
- // counter2.subscribe('value', (event) => {
42
- // console.log('counter1.subscribe--2', event)
43
- // })
44
- //
45
- // // React компонент
46
- // export function TestCounter() {
47
- // const [counterValue1, setCounterValue1] = useState(0)
48
- // const [counterValue2, setCounterValue2] = useState(0)
49
- // const [counterValue3, setCounterValue3] = useState(0)
50
- //
51
- // useEffect(() => {
52
- // counter1.subscribe('value', setCounterValue1)
53
- // }, [])
54
- // useEffect(() => {
55
- // counter2.subscribe((s) => s.value, setCounterValue2)
56
- // }, [])
57
- // useEffect(() => {
58
- // counter3.subscribe((s) => s.value, setCounterValue3)
59
- // }, [])
60
- //
61
- // const updateCounter1 = async () => {
62
- // await counter1.update((state) => {
63
- // state.value++
64
- // })
65
- // }
66
- // const updateCounter2 = async () => {
67
- // await counter2.set('value', counterValue2 + 1)
68
- // }
69
- // const updateCounter3 = async () => {
70
- // await counter3.update((state) => state.value++)
71
- // }
72
- //
73
- // return (
74
- // <div style={{ display: 'flex', gap: '50px'}}>
75
- // <button onClick={updateCounter1}>{counterValue1}</button>
76
- // <button onClick={updateCounter2}>{counterValue2}</button>
77
- // <button onClick={updateCounter3}>{counterValue3}</button>
78
- // </div>
79
- // )
80
- // }
81
- //# sourceMappingURL=example2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example2.js","sourceRoot":"","sources":["../../src/_examples/example2.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,EAAE;AACF,8CAA8C;AAC9C,+FAA+F;AAC/F,EAAE;AACF,sBAAsB;AACtB,kBAAkB;AAClB,IAAI;AACJ,EAAE;AACF,sDAAsD;AACtD,sBAAsB;AACtB,gCAAgC;AAChC,kBAAkB;AAClB,EAAE;AACF,yDAAyD;AACzD,sBAAsB;AACtB,eAAe;AACf,oBAAoB;AACpB,8BAA8B;AAC9B,2BAA2B;AAC3B,OAAO;AACP,gCAAgC;AAChC,kBAAkB;AAClB,EAAE;AACF,qDAAqD;AACrD,sBAAsB;AACtB,gCAAgC;AAChC,kBAAkB;AAClB,EAAE;AACF,kDAAkD;AAClD,uCAAuC;AACvC,uCAAuC;AACvC,6DAA6D;AAC7D,KAAK;AACL,gEAAgE;AAChE,kDAAkD;AAClD,gDAAgD;AAChD,KAAK;AACL,0EAA0E;AAC1E,2CAA2C;AAC3C,gDAAgD;AAChD,KAAK;AACL,EAAE;AACF,qBAAqB;AACrB,kCAAkC;AAClC,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,EAAE;AACF,sBAAsB;AACtB,oDAAoD;AACpD,WAAW;AACX,sBAAsB;AACtB,2DAA2D;AAC3D,WAAW;AACX,sBAAsB;AACtB,2DAA2D;AAC3D,WAAW;AACX,EAAE;AACF,yCAAyC;AACzC,yCAAyC;AACzC,sBAAsB;AACtB,SAAS;AACT,MAAM;AACN,yCAAyC;AACzC,qDAAqD;AACrD,MAAM;AACN,yCAAyC;AACzC,sDAAsD;AACtD,MAAM;AACN,EAAE;AACF,aAAa;AACb,oDAAoD;AACpD,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,aAAa;AACb,MAAM;AACN,IAAI"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=example3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example3.d.ts","sourceRoot":"","sources":["../../src/_examples/example3.tsx"],"names":[],"mappings":""}
@@ -1,99 +0,0 @@
1
- "use strict";
2
- // 'use client'
3
- //
4
- // import { useEffect, useState } from 'react'
5
- // import { broadcastMiddleware, IndexedDBStorage, LocalStorage, MemoryStorage } from 'synapse'
6
- //
7
- // interface Counter {
8
- // value: number
9
- // }
10
- //
11
- // const counter1 = await new MemoryStorage<Counter>({
12
- // name: 'counter1',
13
- // initialState: { value: 1 },
14
- // middlewares: (getDefaultMiddleware) => {
15
- // const { shallowCompare, batching } = getDefaultMiddleware()
16
- // return [
17
- // broadcastMiddleware({
18
- // storageName: 'counter1',
19
- // storageType: 'memory',
20
- // }),
21
- // shallowCompare(),
22
- // batching(),
23
- // ]
24
- // },
25
- // }).initialize()
26
- //
27
- // const counter2 = await new IndexedDBStorage<Counter>({
28
- // name: 'counter2',
29
- // options: {
30
- // dbVersion: 2,
31
- // storeName: 'counter23',
32
- // dbName: 'counter23',
33
- // },
34
- // initialState: { value: 2 },
35
- // }).initialize()
36
- //
37
- // const counter3 = await new LocalStorage<Counter>({
38
- // name: 'counter3',
39
- // initialState: { value: 3 },
40
- // }).initialize()
41
- //
42
- // // Подписка на все изменения в данном хранилище
43
- // // counter1.subscribeToAll((event) => {
44
- // // const { key, type, value } = event
45
- // // console.log('counter1.subscribeToAll', type, key, value)
46
- // // })
47
- // // // Подписка на конкретное значение (первый параметр - колбэк)
48
- // // counter1.subscribe((s) => s.value, (event) => {
49
- // // console.log('counter1.subscribe--1', event)
50
- // // })
51
- // // // Подписка на конкретное значение (первый параметр - путь до свойства)
52
- // // counter1.subscribe('value', (event) => {
53
- // // console.log('counter1.subscribe--2', event)
54
- // // })
55
- //
56
- // // React компонент
57
- // export function TestCounter2() {
58
- // const [counterValue1, setCounterValue1] = useState(0)
59
- // const [counterValue2, setCounterValue2] = useState(0)
60
- // const [counterValue3, setCounterValue3] = useState(0)
61
- //
62
- // useEffect(() => {
63
- // const d = counter1.subscribe('value', (v) => {
64
- // console.log('ppppp')
65
- // setCounterValue1(v)
66
- // })
67
- //
68
- // return () => {
69
- // d()
70
- // }
71
- // }, [])
72
- // useEffect(() => {
73
- // counter2.subscribe((s) => s.value, setCounterValue2)
74
- // }, [])
75
- // useEffect(() => {
76
- // counter3.subscribe((s) => s.value, setCounterValue3)
77
- // }, [])
78
- //
79
- // const updateCounter1 = async () => {
80
- // await counter1.update((state) => {
81
- // state.value++
82
- // })
83
- // }
84
- // const updateCounter2 = async () => {
85
- // await counter2.set('value', counterValue2 + 1)
86
- // }
87
- // const updateCounter3 = async () => {
88
- // await counter3.update((state) => state.value++)
89
- // }
90
- //
91
- // return (
92
- // <div style={{ display: 'flex', gap: '50px' }}>
93
- // <button onClick={updateCounter1}>{counterValue1}</button>
94
- // <button onClick={updateCounter2}>{counterValue2}</button>
95
- // <button onClick={updateCounter3}>{counterValue3}</button>
96
- // </div>
97
- // )
98
- // }
99
- //# sourceMappingURL=example3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example3.js","sourceRoot":"","sources":["../../src/_examples/example3.tsx"],"names":[],"mappings":";AAAA,eAAe;AACf,EAAE;AACF,8CAA8C;AAC9C,+FAA+F;AAC/F,EAAE;AACF,sBAAsB;AACtB,kBAAkB;AAClB,IAAI;AACJ,EAAE;AACF,sDAAsD;AACtD,sBAAsB;AACtB,gCAAgC;AAChC,6CAA6C;AAC7C,kEAAkE;AAClE,eAAe;AACf,8BAA8B;AAC9B,mCAAmC;AACnC,iCAAiC;AACjC,YAAY;AACZ,0BAA0B;AAC1B,oBAAoB;AACpB,QAAQ;AACR,OAAO;AACP,kBAAkB;AAClB,EAAE;AACF,yDAAyD;AACzD,sBAAsB;AACtB,eAAe;AACf,oBAAoB;AACpB,8BAA8B;AAC9B,2BAA2B;AAC3B,OAAO;AACP,gCAAgC;AAChC,kBAAkB;AAClB,EAAE;AACF,qDAAqD;AACrD,sBAAsB;AACtB,gCAAgC;AAChC,kBAAkB;AAClB,EAAE;AACF,kDAAkD;AAClD,0CAA0C;AAC1C,0CAA0C;AAC1C,gEAAgE;AAChE,QAAQ;AACR,mEAAmE;AACnE,qDAAqD;AACrD,mDAAmD;AACnD,QAAQ;AACR,6EAA6E;AAC7E,8CAA8C;AAC9C,mDAAmD;AACnD,QAAQ;AACR,EAAE;AACF,qBAAqB;AACrB,mCAAmC;AACnC,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,EAAE;AACF,sBAAsB;AACtB,qDAAqD;AACrD,6BAA6B;AAC7B,4BAA4B;AAC5B,SAAS;AACT,EAAE;AACF,qBAAqB;AACrB,YAAY;AACZ,QAAQ;AACR,WAAW;AACX,sBAAsB;AACtB,2DAA2D;AAC3D,WAAW;AACX,sBAAsB;AACtB,2DAA2D;AAC3D,WAAW;AACX,EAAE;AACF,yCAAyC;AACzC,yCAAyC;AACzC,sBAAsB;AACtB,SAAS;AACT,MAAM;AACN,yCAAyC;AACzC,qDAAqD;AACrD,MAAM;AACN,yCAAyC;AACzC,sDAAsD;AACtD,MAAM;AACN,EAAE;AACF,aAAa;AACb,qDAAqD;AACrD,kEAAkE;AAClE,kEAAkE;AAClE,kEAAkE;AAClE,aAAa;AACb,MAAM;AACN,IAAI"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=example4.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example4.d.ts","sourceRoot":"","sources":["../../src/_examples/example4.tsx"],"names":[],"mappings":""}
@@ -1,172 +0,0 @@
1
- "use strict";
2
- // import React, { useEffect, useState } from 'react'
3
- // import { broadcastMiddleware, MemoryStorage } from 'synapse'
4
- //
5
- // // Типы данных
6
- // interface Counter {
7
- // value: number;
8
- // lastUpdated?: Date;
9
- // }
10
- //
11
- // // Создаем хранилища
12
- // const counter1 = await new MemoryStorage<Counter>({
13
- // name: 'counter1',
14
- // initialState: { value: 0 },
15
- // middlewares: () => [
16
- // broadcastMiddleware({
17
- // storageName: 'counter1',
18
- // storageType: 'memory',
19
- // }),
20
- // ],
21
- // }).initialize()
22
- //
23
- // const counter2 = await new MemoryStorage<Counter>({
24
- // name: 'counter2',
25
- // initialState: { value: 0 },
26
- // middlewares: (getDefaultMiddleware) => {
27
- // const { shallowCompare } = getDefaultMiddleware()
28
- // return [
29
- // shallowCompare(),
30
- // ]
31
- // },
32
- // }).initialize()
33
- //
34
- // counter1.subscribe((s) => s.value, (v) => {
35
- // console.log('1_1_1', v)
36
- // })
37
- //
38
- // const counter3 = await new MemoryStorage<Counter>({
39
- // name: 'counter3',
40
- // initialState: { value: 10 },
41
- // middlewares: (getDefaultMiddleware) => {
42
- // const { batching } = getDefaultMiddleware()
43
- // return [
44
- // batching({
45
- // batchSize: 4,
46
- // batchDelay: 200,
47
- // }),
48
- // ]
49
- // },
50
- // }).initialize()
51
- //
52
- // // Компонент для демонстрации работы middleware
53
- //
54
- // export const Example4 = React.memo(() => {
55
- // const [counter1Value, setCounter1Value] = useState(0)
56
- // const [counter2Value, setCounter2Value] = useState(0)
57
- // const [counter3Value, setCounter3Value] = useState(0)
58
- //
59
- // useEffect(() => {
60
- // // Подписываемся на изменения counter1
61
- // const unsubscribe1 = counter1.subscribe((s) => s.value, (v) => {
62
- // console.log('1')
63
- // setCounter1Value(v)
64
- // })
65
- //
66
- // // Отписываемся при размонтировании
67
- // return () => {
68
- // unsubscribe1()
69
- // }
70
- // }, [])
71
- //
72
- // useEffect(() => {
73
- // // Подписываемся на изменения counter1
74
- // const unsubscribe2 = counter2.subscribe((s) => s.value, (v) => {
75
- // console.log('2')
76
- // setCounter2Value(v)
77
- // })
78
- //
79
- // // Отписываемся при размонтировании
80
- // return () => {
81
- // unsubscribe2()
82
- // }
83
- // }, [])
84
- // useEffect(() => {
85
- // // Подписываемся на изменения counter1
86
- // const unsubscribe3 = counter3.subscribe((s) => s.value, (v) => {
87
- // console.log('3', v)
88
- // setCounter3Value(v)
89
- // })
90
- //
91
- // // Отписываемся при размонтировании
92
- // return () => {
93
- // unsubscribe3()
94
- // }
95
- // }, [])
96
- //
97
- // // Функции для обновления счетчиков
98
- // const updateCounter1 = async () => {
99
- // await counter1.update((state) => {
100
- // state.value++
101
- // })
102
- // }
103
- //
104
- // const updateCounter2 = async () => {
105
- // await counter2.update((state) => {
106
- // state.value = 100
107
- // })
108
- // await counter2.update((state) => {
109
- // state.value = 100
110
- // })
111
- // await counter2.update((state) => {
112
- // state.value = 100
113
- // })
114
- // }
115
- //
116
- // const updateCounter3 = async () => {
117
- // // Отправка нескольких обновлений подряд - должны быть объединены batching
118
- // await counter3.set('value', counter3Value + 1)
119
- // }
120
- //
121
- // return (
122
- // <div style={{ fontFamily: 'Arial', padding: '20px' }}>
123
- // <h2>Middleware Testing</h2>
124
- //
125
- // <div style={{ display: 'flex', gap: '20px', marginBottom: '20px' }}>
126
- // <div style={{ border: '1px solid #ccc', padding: '15px', borderRadius: '5px' }}>
127
- // <h3>Counter 1 (Both Middlewares)</h3>
128
- // <p>
129
- // Value:
130
- // {counter1Value}
131
- // </p>
132
- // <button
133
- // onClick={updateCounter1}
134
- // style={{ padding: '8px 15px', backgroundColor: '#4CAF50', color: 'white', border: 'none', borderRadius: '4px' }}
135
- // >
136
- // Increment
137
- // </button>
138
- // </div>
139
- //
140
- // <div style={{ border: '1px solid #ccc', padding: '15px', borderRadius: '5px' }}>
141
- // <h3>Counter 2 (ShallowCompare)</h3>
142
- // <p>
143
- // Value:
144
- // {counter2Value}
145
- // </p>
146
- // <button
147
- // onClick={updateCounter2}
148
- // style={{ padding: '8px 15px', backgroundColor: '#2196F3', color: 'white', border: 'none', borderRadius: '4px' }}
149
- // >
150
- // Update
151
- // </button>
152
- // <p><small>Every 3rd click tries to set the same value</small></p>
153
- // </div>
154
- //
155
- // <div style={{ border: '1px solid #ccc', padding: '15px', borderRadius: '5px' }}>
156
- // <h3>Counter 3 (Batching)</h3>
157
- // <p>
158
- // Value:
159
- // {counter3Value}
160
- // </p>
161
- // <button
162
- // onClick={updateCounter3}
163
- // style={{ padding: '8px 15px', backgroundColor: '#FF9800', color: 'white', border: 'none', borderRadius: '4px' }}
164
- // >
165
- // Batch Update
166
- // </button>
167
- // </div>
168
- // </div>
169
- // </div>
170
- // )
171
- // })
172
- //# sourceMappingURL=example4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example4.js","sourceRoot":"","sources":["../../src/_examples/example4.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=example5.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example5.d.ts","sourceRoot":"","sources":["../../src/_examples/example5.tsx"],"names":[],"mappings":""}