synapse-storage 2.1.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 (448) hide show
  1. package/README.md +1038 -0
  2. package/dist/_examples/_example5.d.ts +1 -0
  3. package/dist/_examples/_example5.d.ts.map +1 -0
  4. package/dist/_examples/_example5.js +184 -0
  5. package/dist/_examples/_example5.js.map +1 -0
  6. package/dist/_examples/_example6.d.ts +1 -0
  7. package/dist/_examples/_example6.d.ts.map +1 -0
  8. package/dist/_examples/_example6.js +168 -0
  9. package/dist/_examples/_example6.js.map +1 -0
  10. package/dist/_examples/example1.d.ts +1 -0
  11. package/dist/_examples/example1.d.ts.map +1 -0
  12. package/dist/_examples/example1.js +240 -0
  13. package/dist/_examples/example1.js.map +1 -0
  14. package/dist/_examples/example2.d.ts +1 -0
  15. package/dist/_examples/example2.d.ts.map +1 -0
  16. package/dist/_examples/example2.js +81 -0
  17. package/dist/_examples/example2.js.map +1 -0
  18. package/dist/_examples/example3.d.ts +1 -0
  19. package/dist/_examples/example3.d.ts.map +1 -0
  20. package/dist/_examples/example3.js +99 -0
  21. package/dist/_examples/example3.js.map +1 -0
  22. package/dist/_examples/example4.d.ts +1 -0
  23. package/dist/_examples/example4.d.ts.map +1 -0
  24. package/dist/_examples/example4.js +172 -0
  25. package/dist/_examples/example4.js.map +1 -0
  26. package/dist/_examples/example5.d.ts +1 -0
  27. package/dist/_examples/example5.d.ts.map +1 -0
  28. package/dist/_examples/example5.js +184 -0
  29. package/dist/_examples/example5.js.map +1 -0
  30. package/dist/_examples/example6.d.ts +1 -0
  31. package/dist/_examples/example6.d.ts.map +1 -0
  32. package/dist/_examples/example6.js +168 -0
  33. package/dist/_examples/example6.js.map +1 -0
  34. package/dist/_examples/plugins.d.ts +1 -0
  35. package/dist/_examples/plugins.d.ts.map +1 -0
  36. package/dist/_examples/plugins.js +176 -0
  37. package/dist/_examples/plugins.js.map +1 -0
  38. package/dist/_examples/pokemons/PokemonList.d.ts +5 -0
  39. package/dist/_examples/pokemons/PokemonList.d.ts.map +1 -0
  40. package/dist/_examples/pokemons/PokemonList.js +166 -0
  41. package/dist/_examples/pokemons/PokemonList.js.map +1 -0
  42. package/dist/_examples/pokemons/api.d.ts +8 -0
  43. package/dist/_examples/pokemons/api.d.ts.map +1 -0
  44. package/dist/_examples/pokemons/api.js +45 -0
  45. package/dist/_examples/pokemons/api.js.map +1 -0
  46. package/dist/_examples/pokemons/app.config.d.ts +15 -0
  47. package/dist/_examples/pokemons/app.config.d.ts.map +1 -0
  48. package/dist/_examples/pokemons/app.config.js +15 -0
  49. package/dist/_examples/pokemons/app.config.js.map +1 -0
  50. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.d.ts +9 -0
  51. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.d.ts.map +1 -0
  52. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.js +122 -0
  53. package/dist/_examples/pokemons/dispatchers/pokemon.dispatcher.js.map +1 -0
  54. package/dist/_examples/pokemons/effects/pokemon.effects.d.ts +16 -0
  55. package/dist/_examples/pokemons/effects/pokemon.effects.d.ts.map +1 -0
  56. package/dist/_examples/pokemons/effects/pokemon.effects.js +39 -0
  57. package/dist/_examples/pokemons/effects/pokemon.effects.js.map +1 -0
  58. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.d.ts +4 -0
  59. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.d.ts.map +1 -0
  60. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.js +27 -0
  61. package/dist/_examples/pokemons/middlewares/pokenon.middlewares.js.map +1 -0
  62. package/dist/_examples/pokemons/pokemon.dispatcher.d.ts +9 -0
  63. package/dist/_examples/pokemons/pokemon.dispatcher.d.ts.map +1 -0
  64. package/dist/_examples/pokemons/pokemon.dispatcher.js +122 -0
  65. package/dist/_examples/pokemons/pokemon.dispatcher.js.map +1 -0
  66. package/dist/_examples/pokemons/pokemon.effects.d.ts +5 -0
  67. package/dist/_examples/pokemons/pokemon.effects.d.ts.map +1 -0
  68. package/dist/_examples/pokemons/pokemon.effects.js +39 -0
  69. package/dist/_examples/pokemons/pokemon.effects.js.map +1 -0
  70. package/dist/_examples/pokemons/pokemon.selectors.d.ts +5 -0
  71. package/dist/_examples/pokemons/pokemon.selectors.d.ts.map +1 -0
  72. package/dist/_examples/pokemons/pokemon.selectors.js +10 -0
  73. package/dist/_examples/pokemons/pokemon.selectors.js.map +1 -0
  74. package/dist/_examples/pokemons/pokemon.storage.d.ts +3 -0
  75. package/dist/_examples/pokemons/pokemon.storage.d.ts.map +1 -0
  76. package/dist/_examples/pokemons/pokemon.storage.js +14 -0
  77. package/dist/_examples/pokemons/pokemon.storage.js.map +1 -0
  78. package/dist/_examples/pokemons/pokemon1.selectors.d.ts +5 -0
  79. package/dist/_examples/pokemons/pokemon1.selectors.d.ts.map +1 -0
  80. package/dist/_examples/pokemons/pokemon1.selectors.js +8 -0
  81. package/dist/_examples/pokemons/pokemon1.selectors.js.map +1 -0
  82. package/dist/_examples/pokemons/pokenon.middlewares.d.ts +4 -0
  83. package/dist/_examples/pokemons/pokenon.middlewares.d.ts.map +1 -0
  84. package/dist/_examples/pokemons/pokenon.middlewares.js +27 -0
  85. package/dist/_examples/pokemons/pokenon.middlewares.js.map +1 -0
  86. package/dist/_examples/pokemons/selectors/pokemon.selectors.d.ts +5 -0
  87. package/dist/_examples/pokemons/selectors/pokemon.selectors.d.ts.map +1 -0
  88. package/dist/_examples/pokemons/selectors/pokemon.selectors.js +10 -0
  89. package/dist/_examples/pokemons/selectors/pokemon.selectors.js.map +1 -0
  90. package/dist/_examples/pokemons/selectors/pokemon1.selectors.d.ts +5 -0
  91. package/dist/_examples/pokemons/selectors/pokemon1.selectors.d.ts.map +1 -0
  92. package/dist/_examples/pokemons/selectors/pokemon1.selectors.js +8 -0
  93. package/dist/_examples/pokemons/selectors/pokemon1.selectors.js.map +1 -0
  94. package/dist/_examples/pokemons/storages/pokemon.storage.d.ts +3 -0
  95. package/dist/_examples/pokemons/storages/pokemon.storage.d.ts.map +1 -0
  96. package/dist/_examples/pokemons/storages/pokemon.storage.js +14 -0
  97. package/dist/_examples/pokemons/storages/pokemon.storage.js.map +1 -0
  98. package/dist/_examples/pokemons/store.d.ts +1 -0
  99. package/dist/_examples/pokemons/store.d.ts.map +1 -0
  100. package/dist/_examples/pokemons/store.js +2 -0
  101. package/dist/_examples/pokemons/store.js.map +1 -0
  102. package/dist/_examples/pokemons/store1.d.ts +23 -0
  103. package/dist/_examples/pokemons/store1.d.ts.map +1 -0
  104. package/dist/_examples/pokemons/store1.js +35 -0
  105. package/dist/_examples/pokemons/store1.js.map +1 -0
  106. package/dist/_examples/pokemons/store2.d.ts +23 -0
  107. package/dist/_examples/pokemons/store2.d.ts.map +1 -0
  108. package/dist/_examples/pokemons/store2.js +34 -0
  109. package/dist/_examples/pokemons/store2.js.map +1 -0
  110. package/dist/_examples/pokemons/types.d.ts +26 -0
  111. package/dist/_examples/pokemons/types.d.ts.map +1 -0
  112. package/dist/_examples/pokemons/types.js +2 -0
  113. package/dist/_examples/pokemons/types.js.map +1 -0
  114. package/dist/_utils/chunk.util.d.ts +8 -0
  115. package/dist/_utils/chunk.util.d.ts.map +1 -0
  116. package/dist/_utils/chunk.util.js +21 -0
  117. package/dist/_utils/chunk.util.js.map +1 -0
  118. package/dist/_utils/deepMerge.util.d.ts +2 -0
  119. package/dist/_utils/deepMerge.util.d.ts.map +1 -0
  120. package/dist/_utils/deepMerge.util.js +16 -0
  121. package/dist/_utils/deepMerge.util.js.map +1 -0
  122. package/dist/_utils/flatMap.util.d.ts +10 -0
  123. package/dist/_utils/flatMap.util.d.ts.map +1 -0
  124. package/dist/_utils/flatMap.util.js +23 -0
  125. package/dist/_utils/flatMap.util.js.map +1 -0
  126. package/dist/_utils/index.d.ts +4 -0
  127. package/dist/_utils/index.d.ts.map +1 -0
  128. package/dist/_utils/index.js +4 -0
  129. package/dist/_utils/index.js.map +1 -0
  130. package/dist/api/api.module.d.ts +38 -0
  131. package/dist/api/api.module.d.ts.map +1 -0
  132. package/dist/api/api.module.js +82 -0
  133. package/dist/api/api.module.js.map +1 -0
  134. package/dist/api/components/endpoint.d.ts +26 -0
  135. package/dist/api/components/endpoint.d.ts.map +1 -0
  136. package/dist/api/components/endpoint.js +253 -0
  137. package/dist/api/components/endpoint.js.map +1 -0
  138. package/dist/api/components/query-storage.d.ts +84 -0
  139. package/dist/api/components/query-storage.d.ts.map +1 -0
  140. package/dist/api/components/query-storage.js +221 -0
  141. package/dist/api/components/query-storage.js.map +1 -0
  142. package/dist/api/example.d.ts +83 -0
  143. package/dist/api/example.d.ts.map +1 -0
  144. package/dist/api/example.js +85 -0
  145. package/dist/api/example.js.map +1 -0
  146. package/dist/api/index.d.ts +4 -0
  147. package/dist/api/index.d.ts.map +1 -0
  148. package/dist/api/index.js +6 -0
  149. package/dist/api/index.js.map +1 -0
  150. package/dist/api/types/api.interface.d.ts +108 -0
  151. package/dist/api/types/api.interface.d.ts.map +1 -0
  152. package/dist/api/types/api.interface.js +19 -0
  153. package/dist/api/types/api.interface.js.map +1 -0
  154. package/dist/api/types/endpoint.interface.d.ts +116 -0
  155. package/dist/api/types/endpoint.interface.d.ts.map +1 -0
  156. package/dist/api/types/endpoint.interface.js +2 -0
  157. package/dist/api/types/endpoint.interface.js.map +1 -0
  158. package/dist/api/types/query.interface.d.ts +87 -0
  159. package/dist/api/types/query.interface.d.ts.map +1 -0
  160. package/dist/api/types/query.interface.js +2 -0
  161. package/dist/api/types/query.interface.js.map +1 -0
  162. package/dist/api/utils/api-helpers.d.ts +22 -0
  163. package/dist/api/utils/api-helpers.d.ts.map +1 -0
  164. package/dist/api/utils/api-helpers.js +44 -0
  165. package/dist/api/utils/api-helpers.js.map +1 -0
  166. package/dist/api/utils/create-header-context.d.ts +10 -0
  167. package/dist/api/utils/create-header-context.d.ts.map +1 -0
  168. package/dist/api/utils/create-header-context.js +36 -0
  169. package/dist/api/utils/create-header-context.js.map +1 -0
  170. package/dist/api/utils/endpoint-headers.d.ts +23 -0
  171. package/dist/api/utils/endpoint-headers.d.ts.map +1 -0
  172. package/dist/api/utils/endpoint-headers.js +57 -0
  173. package/dist/api/utils/endpoint-headers.js.map +1 -0
  174. package/dist/api/utils/fetch-base-query.d.ts +9 -0
  175. package/dist/api/utils/fetch-base-query.d.ts.map +1 -0
  176. package/dist/api/utils/fetch-base-query.js +181 -0
  177. package/dist/api/utils/fetch-base-query.js.map +1 -0
  178. package/dist/api/utils/file-utils.d.ts +43 -0
  179. package/dist/api/utils/file-utils.d.ts.map +1 -0
  180. package/dist/api/utils/file-utils.js +108 -0
  181. package/dist/api/utils/file-utils.js.map +1 -0
  182. package/dist/api/utils/get-cacheable-headers.d.ts +8 -0
  183. package/dist/api/utils/get-cacheable-headers.d.ts.map +1 -0
  184. package/dist/api/utils/get-cacheable-headers.js +21 -0
  185. package/dist/api/utils/get-cacheable-headers.js.map +1 -0
  186. package/dist/core/index.d.ts +3 -0
  187. package/dist/core/index.d.ts.map +1 -0
  188. package/dist/core/index.js +3 -0
  189. package/dist/core/index.js.map +1 -0
  190. package/dist/core/selector/index.d.ts +3 -0
  191. package/dist/core/selector/index.d.ts.map +1 -0
  192. package/dist/core/selector/index.js +2 -0
  193. package/dist/core/selector/index.js.map +1 -0
  194. package/dist/core/selector/selector.interface.d.ts +91 -0
  195. package/dist/core/selector/selector.interface.d.ts.map +1 -0
  196. package/dist/core/selector/selector.interface.js +2 -0
  197. package/dist/core/selector/selector.interface.js.map +1 -0
  198. package/dist/core/selector/selector.module.d.ts +29 -0
  199. package/dist/core/selector/selector.module.d.ts.map +1 -0
  200. package/dist/core/selector/selector.module.js +467 -0
  201. package/dist/core/selector/selector.module.js.map +1 -0
  202. package/dist/core/storage/adapters/base-storage.service.d.ts +65 -0
  203. package/dist/core/storage/adapters/base-storage.service.d.ts.map +1 -0
  204. package/dist/core/storage/adapters/base-storage.service.js +660 -0
  205. package/dist/core/storage/adapters/base-storage.service.js.map +1 -0
  206. package/dist/core/storage/adapters/idb.d.ts +52 -0
  207. package/dist/core/storage/adapters/idb.d.ts.map +1 -0
  208. package/dist/core/storage/adapters/idb.js +528 -0
  209. package/dist/core/storage/adapters/idb.js.map +1 -0
  210. package/dist/core/storage/adapters/indexed-DB.service.d.ts +63 -0
  211. package/dist/core/storage/adapters/indexed-DB.service.d.ts.map +1 -0
  212. package/dist/core/storage/adapters/indexed-DB.service.js +595 -0
  213. package/dist/core/storage/adapters/indexed-DB.service.js.map +1 -0
  214. package/dist/core/storage/adapters/indexed-DB.service.old.d.ts +38 -0
  215. package/dist/core/storage/adapters/indexed-DB.service.old.d.ts.map +1 -0
  216. package/dist/core/storage/adapters/indexed-DB.service.old.js +318 -0
  217. package/dist/core/storage/adapters/indexed-DB.service.old.js.map +1 -0
  218. package/dist/core/storage/adapters/indexed-DB.service1.d.ts +38 -0
  219. package/dist/core/storage/adapters/indexed-DB.service1.d.ts.map +1 -0
  220. package/dist/core/storage/adapters/indexed-DB.service1.js +318 -0
  221. package/dist/core/storage/adapters/indexed-DB.service1.js.map +1 -0
  222. package/dist/core/storage/adapters/indexed-DB.service2.d.ts +61 -0
  223. package/dist/core/storage/adapters/indexed-DB.service2.d.ts.map +1 -0
  224. package/dist/core/storage/adapters/indexed-DB.service2.js +596 -0
  225. package/dist/core/storage/adapters/indexed-DB.service2.js.map +1 -0
  226. package/dist/core/storage/adapters/local-storage.service.d.ts +21 -0
  227. package/dist/core/storage/adapters/local-storage.service.d.ts.map +1 -0
  228. package/dist/core/storage/adapters/local-storage.service.js +99 -0
  229. package/dist/core/storage/adapters/local-storage.service.js.map +1 -0
  230. package/dist/core/storage/adapters/memory-storage.service.d.ts +22 -0
  231. package/dist/core/storage/adapters/memory-storage.service.d.ts.map +1 -0
  232. package/dist/core/storage/adapters/memory-storage.service.js +99 -0
  233. package/dist/core/storage/adapters/memory-storage.service.js.map +1 -0
  234. package/dist/core/storage/adapters/path.utils.d.ts +5 -0
  235. package/dist/core/storage/adapters/path.utils.d.ts.map +1 -0
  236. package/dist/core/storage/adapters/path.utils.js +35 -0
  237. package/dist/core/storage/adapters/path.utils.js.map +1 -0
  238. package/dist/core/storage/factory/createSynapseStorage.factory.d.ts +1 -0
  239. package/dist/core/storage/factory/createSynapseStorage.factory.d.ts.map +1 -0
  240. package/dist/core/storage/factory/createSynapseStorage.factory.js +2 -0
  241. package/dist/core/storage/factory/createSynapseStorage.factory.js.map +1 -0
  242. package/dist/core/storage/factory/index.d.ts +2 -0
  243. package/dist/core/storage/factory/index.d.ts.map +1 -0
  244. package/dist/core/storage/factory/index.js +2 -0
  245. package/dist/core/storage/factory/index.js.map +1 -0
  246. package/dist/core/storage/index.d.ts +11 -0
  247. package/dist/core/storage/index.d.ts.map +1 -0
  248. package/dist/core/storage/index.js +12 -0
  249. package/dist/core/storage/index.js.map +1 -0
  250. package/dist/core/storage/middlewares/broadcast.middleware.d.ts +9 -0
  251. package/dist/core/storage/middlewares/broadcast.middleware.d.ts.map +1 -0
  252. package/dist/core/storage/middlewares/broadcast.middleware.js +115 -0
  253. package/dist/core/storage/middlewares/broadcast.middleware.js.map +1 -0
  254. package/dist/core/storage/middlewares/index.d.ts +4 -0
  255. package/dist/core/storage/middlewares/index.d.ts.map +1 -0
  256. package/dist/core/storage/middlewares/index.js +3 -0
  257. package/dist/core/storage/middlewares/index.js.map +1 -0
  258. package/dist/core/storage/middlewares/storage-batching.middleware.d.ts +7 -0
  259. package/dist/core/storage/middlewares/storage-batching.middleware.d.ts.map +1 -0
  260. package/dist/core/storage/middlewares/storage-batching.middleware.js +36 -0
  261. package/dist/core/storage/middlewares/storage-batching.middleware.js.map +1 -0
  262. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.d.ts +7 -0
  263. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.d.ts.map +1 -0
  264. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.js +46 -0
  265. package/dist/core/storage/middlewares/storage-shallow-compare.middleware.js.map +1 -0
  266. package/dist/core/storage/modules/plugin/plugin.interface.d.ts +201 -0
  267. package/dist/core/storage/modules/plugin/plugin.interface.d.ts.map +1 -0
  268. package/dist/core/storage/modules/plugin/plugin.interface.js +2 -0
  269. package/dist/core/storage/modules/plugin/plugin.interface.js.map +1 -0
  270. package/dist/core/storage/modules/plugin/plugin.service.d.ts +25 -0
  271. package/dist/core/storage/modules/plugin/plugin.service.d.ts.map +1 -0
  272. package/dist/core/storage/modules/plugin/plugin.service.js +186 -0
  273. package/dist/core/storage/modules/plugin/plugin.service.js.map +1 -0
  274. package/dist/core/storage/storage.interface.d.ts +70 -0
  275. package/dist/core/storage/storage.interface.d.ts.map +1 -0
  276. package/dist/core/storage/storage.interface.js +10 -0
  277. package/dist/core/storage/storage.interface.js.map +1 -0
  278. package/dist/core/storage/utils/batch.utils.d.ts +33 -0
  279. package/dist/core/storage/utils/batch.utils.d.ts.map +1 -0
  280. package/dist/core/storage/utils/batch.utils.js +88 -0
  281. package/dist/core/storage/utils/batch.utils.js.map +1 -0
  282. package/dist/core/storage/utils/broadcast.util.d.ts +48 -0
  283. package/dist/core/storage/utils/broadcast.util.d.ts.map +1 -0
  284. package/dist/core/storage/utils/broadcast.util.js +162 -0
  285. package/dist/core/storage/utils/broadcast.util.js.map +1 -0
  286. package/dist/core/storage/utils/cache.util.d.ts +33 -0
  287. package/dist/core/storage/utils/cache.util.d.ts.map +1 -0
  288. package/dist/core/storage/utils/cache.util.js +47 -0
  289. package/dist/core/storage/utils/cache.util.js.map +1 -0
  290. package/dist/core/storage/utils/middleware-module.d.ts +46 -0
  291. package/dist/core/storage/utils/middleware-module.d.ts.map +1 -0
  292. package/dist/core/storage/utils/middleware-module.js +109 -0
  293. package/dist/core/storage/utils/middleware-module.js.map +1 -0
  294. package/dist/core/storage/utils/storage-key.d.ts +11 -0
  295. package/dist/core/storage/utils/storage-key.d.ts.map +1 -0
  296. package/dist/core/storage/utils/storage-key.js +21 -0
  297. package/dist/core/storage/utils/storage-key.js.map +1 -0
  298. package/dist/core/storage/utils/storage.utils.d.ts +17 -0
  299. package/dist/core/storage/utils/storage.utils.d.ts.map +1 -0
  300. package/dist/core/storage/utils/storage.utils.js +57 -0
  301. package/dist/core/storage/utils/storage.utils.js.map +1 -0
  302. package/dist/examples/_example5.d.ts +1 -0
  303. package/dist/examples/_example5.d.ts.map +1 -0
  304. package/dist/examples/_example5.js +184 -0
  305. package/dist/examples/_example5.js.map +1 -0
  306. package/dist/examples/_example6.d.ts +1 -0
  307. package/dist/examples/_example6.d.ts.map +1 -0
  308. package/dist/examples/_example6.js +168 -0
  309. package/dist/examples/_example6.js.map +1 -0
  310. package/dist/examples/plugins.d.ts +1 -0
  311. package/dist/examples/plugins.d.ts.map +1 -0
  312. package/dist/examples/plugins.js +176 -0
  313. package/dist/examples/plugins.js.map +1 -0
  314. package/dist/examples/pokemons/PokemonList.d.ts +2 -0
  315. package/dist/examples/pokemons/PokemonList.d.ts.map +1 -0
  316. package/dist/examples/pokemons/PokemonList.js +110 -0
  317. package/dist/examples/pokemons/PokemonList.js.map +1 -0
  318. package/dist/examples/pokemons/api.d.ts +22 -0
  319. package/dist/examples/pokemons/api.d.ts.map +1 -0
  320. package/dist/examples/pokemons/api.js +43 -0
  321. package/dist/examples/pokemons/api.js.map +1 -0
  322. package/dist/examples/pokemons/app.config.d.ts +15 -0
  323. package/dist/examples/pokemons/app.config.d.ts.map +1 -0
  324. package/dist/examples/pokemons/app.config.js +15 -0
  325. package/dist/examples/pokemons/app.config.js.map +1 -0
  326. package/dist/examples/pokemons/dispatchers/pokemon.dispatcher.js +128 -0
  327. package/dist/examples/pokemons/dispatchers/pokemon.dispatcher.js.map +1 -0
  328. package/dist/examples/pokemons/effects/pokemon.effects.d.ts +16 -0
  329. package/dist/examples/pokemons/effects/pokemon.effects.d.ts.map +1 -0
  330. package/dist/examples/pokemons/effects/pokemon.effects.js +51 -0
  331. package/dist/examples/pokemons/effects/pokemon.effects.js.map +1 -0
  332. package/dist/examples/pokemons/middlewares/pokenon.middlewares.d.ts +4 -0
  333. package/dist/examples/pokemons/middlewares/pokenon.middlewares.d.ts.map +1 -0
  334. package/dist/examples/pokemons/middlewares/pokenon.middlewares.js +28 -0
  335. package/dist/examples/pokemons/middlewares/pokenon.middlewares.js.map +1 -0
  336. package/dist/examples/pokemons/selectors/pokemon.selectors.d.ts +13 -0
  337. package/dist/examples/pokemons/selectors/pokemon.selectors.d.ts.map +1 -0
  338. package/dist/examples/pokemons/selectors/pokemon.selectors.js +7 -0
  339. package/dist/examples/pokemons/selectors/pokemon.selectors.js.map +1 -0
  340. package/dist/examples/pokemons/storages/pokemon.storage.d.ts +5 -0
  341. package/dist/examples/pokemons/storages/pokemon.storage.d.ts.map +1 -0
  342. package/dist/examples/pokemons/storages/pokemon.storage.js +13 -0
  343. package/dist/examples/pokemons/storages/pokemon.storage.js.map +1 -0
  344. package/dist/examples/pokemons/store.d.ts +35 -0
  345. package/dist/examples/pokemons/store.d.ts.map +1 -0
  346. package/dist/examples/pokemons/store.js +21 -0
  347. package/dist/examples/pokemons/store.js.map +1 -0
  348. package/dist/examples/pokemons/types.d.ts +26 -0
  349. package/dist/examples/pokemons/types.d.ts.map +1 -0
  350. package/dist/examples/pokemons/types.js +2 -0
  351. package/dist/examples/pokemons/types.js.map +1 -0
  352. package/dist/index.d.ts +10 -0
  353. package/dist/index.d.ts.map +1 -0
  354. package/dist/index.js +18 -0
  355. package/dist/index.js.map +1 -0
  356. package/dist/react/hooks/index.d.ts +3 -0
  357. package/dist/react/hooks/index.d.ts.map +1 -0
  358. package/dist/react/hooks/index.js +3 -0
  359. package/dist/react/hooks/index.js.map +1 -0
  360. package/dist/react/hooks/useSelector.d.ts +22 -0
  361. package/dist/react/hooks/useSelector.d.ts.map +1 -0
  362. package/dist/react/hooks/useSelector.js +104 -0
  363. package/dist/react/hooks/useSelector.js.map +1 -0
  364. package/dist/react/hooks/useStorageSubscribe.d.ts +12 -0
  365. package/dist/react/hooks/useStorageSubscribe.d.ts.map +1 -0
  366. package/dist/react/hooks/useStorageSubscribe.js +49 -0
  367. package/dist/react/hooks/useStorageSubscribe.js.map +1 -0
  368. package/dist/react/index.d.ts +3 -0
  369. package/dist/react/index.d.ts.map +1 -0
  370. package/dist/react/index.js +3 -0
  371. package/dist/react/index.js.map +1 -0
  372. package/dist/react/utils/createSynapse.d.ts +47 -0
  373. package/dist/react/utils/createSynapse.d.ts.map +1 -0
  374. package/dist/react/utils/createSynapse.js +83 -0
  375. package/dist/react/utils/createSynapse.js.map +1 -0
  376. package/dist/react/utils/createSynapseContext.d.ts +29 -0
  377. package/dist/react/utils/createSynapseContext.d.ts.map +1 -0
  378. package/dist/react/utils/createSynapseContext.js +112 -0
  379. package/dist/react/utils/createSynapseContext.js.map +1 -0
  380. package/dist/react/utils/createSynapseCtx.d.ts +30 -0
  381. package/dist/react/utils/createSynapseCtx.d.ts.map +1 -0
  382. package/dist/react/utils/createSynapseCtx.js +124 -0
  383. package/dist/react/utils/createSynapseCtx.js.map +1 -0
  384. package/dist/react/utils/index.d.ts +2 -0
  385. package/dist/react/utils/index.d.ts.map +1 -0
  386. package/dist/react/utils/index.js +2 -0
  387. package/dist/react/utils/index.js.map +1 -0
  388. package/dist/reactive/dispatcher/dispatcher.module.d.ts +195 -0
  389. package/dist/reactive/dispatcher/dispatcher.module.d.ts.map +1 -0
  390. package/dist/reactive/dispatcher/dispatcher.module.js +288 -0
  391. package/dist/reactive/dispatcher/dispatcher.module.js.map +1 -0
  392. package/dist/reactive/dispatcher/index.d.ts +3 -0
  393. package/dist/reactive/dispatcher/index.d.ts.map +1 -0
  394. package/dist/reactive/dispatcher/index.js +3 -0
  395. package/dist/reactive/dispatcher/index.js.map +1 -0
  396. package/dist/reactive/dispatcher/middlewares/index.d.ts +2 -0
  397. package/dist/reactive/dispatcher/middlewares/index.d.ts.map +1 -0
  398. package/dist/reactive/dispatcher/middlewares/index.js +2 -0
  399. package/dist/reactive/dispatcher/middlewares/index.js.map +1 -0
  400. package/dist/reactive/dispatcher/middlewares/logger.middleware.d.ts +31 -0
  401. package/dist/reactive/dispatcher/middlewares/logger.middleware.d.ts.map +1 -0
  402. package/dist/reactive/dispatcher/middlewares/logger.middleware.js +126 -0
  403. package/dist/reactive/dispatcher/middlewares/logger.middleware.js.map +1 -0
  404. package/dist/reactive/effects/effects.module.d.ts +140 -0
  405. package/dist/reactive/effects/effects.module.d.ts.map +1 -0
  406. package/dist/reactive/effects/effects.module.js +263 -0
  407. package/dist/reactive/effects/effects.module.js.map +1 -0
  408. package/dist/reactive/effects/index.d.ts +2 -0
  409. package/dist/reactive/effects/index.d.ts.map +1 -0
  410. package/dist/reactive/effects/index.js +2 -0
  411. package/dist/reactive/effects/index.js.map +1 -0
  412. package/dist/reactive/effects/utils/chunkRequestConsistent.d.ts +12 -0
  413. package/dist/reactive/effects/utils/chunkRequestConsistent.d.ts.map +1 -0
  414. package/dist/reactive/effects/utils/chunkRequestConsistent.js +16 -0
  415. package/dist/reactive/effects/utils/chunkRequestConsistent.js.map +1 -0
  416. package/dist/reactive/effects/utils/chunkRequestParallel.d.ts +12 -0
  417. package/dist/reactive/effects/utils/chunkRequestParallel.d.ts.map +1 -0
  418. package/dist/reactive/effects/utils/chunkRequestParallel.js +13 -0
  419. package/dist/reactive/effects/utils/chunkRequestParallel.js.map +1 -0
  420. package/dist/reactive/effects/utils/index.d.ts +3 -0
  421. package/dist/reactive/effects/utils/index.d.ts.map +1 -0
  422. package/dist/reactive/effects/utils/index.js +3 -0
  423. package/dist/reactive/effects/utils/index.js.map +1 -0
  424. package/dist/reactive/index.d.ts +3 -0
  425. package/dist/reactive/index.d.ts.map +1 -0
  426. package/dist/reactive/index.js +3 -0
  427. package/dist/reactive/index.js.map +1 -0
  428. package/dist/utils/chunk.util.d.ts +8 -0
  429. package/dist/utils/chunk.util.d.ts.map +1 -0
  430. package/dist/utils/chunk.util.js +21 -0
  431. package/dist/utils/chunk.util.js.map +1 -0
  432. package/dist/utils/createSynapse.d.ts +52 -0
  433. package/dist/utils/createSynapse.d.ts.map +1 -0
  434. package/dist/utils/createSynapse.js +87 -0
  435. package/dist/utils/createSynapse.js.map +1 -0
  436. package/dist/utils/deepMerge.util.d.ts +2 -0
  437. package/dist/utils/deepMerge.util.d.ts.map +1 -0
  438. package/dist/utils/deepMerge.util.js +16 -0
  439. package/dist/utils/deepMerge.util.js.map +1 -0
  440. package/dist/utils/flatMap.util.d.ts +10 -0
  441. package/dist/utils/flatMap.util.d.ts.map +1 -0
  442. package/dist/utils/flatMap.util.js +23 -0
  443. package/dist/utils/flatMap.util.js.map +1 -0
  444. package/dist/utils/index.d.ts +2 -0
  445. package/dist/utils/index.d.ts.map +1 -0
  446. package/dist/utils/index.js +2 -0
  447. package/dist/utils/index.js.map +1 -0
  448. package/package.json +111 -0
@@ -0,0 +1,81 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=example3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example3.d.ts","sourceRoot":"","sources":["../../src/_examples/example3.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,99 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=example4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example4.d.ts","sourceRoot":"","sources":["../../src/_examples/example4.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example4.js","sourceRoot":"","sources":["../../src/_examples/example4.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=example5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example5.d.ts","sourceRoot":"","sources":["../../src/_examples/example5.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ // import React, { useState } from 'react'
3
+ // import { MemoryStorage, StoragePluginModule, ILogger } from 'synapse'
4
+ // import { LoggingPlugin, ValidationPlugin } from './plugins'
5
+ //
6
+ // // Типы данных
7
+ // interface User {
8
+ // name: string;
9
+ // age: number;
10
+ // }
11
+ //
12
+ // // Создаем модуль плагинов
13
+ // const plugins = new StoragePluginModule(undefined, console, 'demoStorage')
14
+ //
15
+ // // Создаем стейт для ошибок, чтобы компоненты могли получить к нему доступ
16
+ // const validationErrors: { [key: string]: string } = {}
17
+ //
18
+ // // Добавляем логирующий плагин
19
+ // await plugins.add(new LoggingPlugin({ logLevel: 'debug' }))
20
+ //
21
+ // // Добавляем плагин валидации с обработчиком ошибок
22
+ // const validation = new ValidationPlugin({
23
+ // throwOnInvalid: true, // Все равно генерировать ошибку
24
+ // onValidationError: (key, value, message) => {
25
+ // // Сохраняем ошибку в общем объекте
26
+ // validationErrors[key] = message
27
+ // console.error(`Validation error for ${key}: ${message}`, value)
28
+ // },
29
+ // })
30
+ //
31
+ // // Настраиваем правила валидации
32
+ // validation.addValidator('user', (value) => {
33
+ // // Сбрасываем ошибки при каждой валидации
34
+ // validationErrors.user = ''
35
+ //
36
+ // if (!value || typeof value !== 'object') {
37
+ // return { valid: false, message: 'User must be an object' }
38
+ // }
39
+ //
40
+ // if (!value.name || value.name.trim() === '') {
41
+ // return { valid: false, message: 'User must have a name' }
42
+ // }
43
+ //
44
+ // if (typeof value.age !== 'number' || value.age < 10) {
45
+ // return { valid: false, message: 'Возраст должен быть больше 10' }
46
+ // }
47
+ //
48
+ // return { valid: true }
49
+ // })
50
+ //
51
+ // await plugins.add(validation)
52
+ //
53
+ //
54
+ // // Создаем хранилище с плагинами
55
+ // const storage = await new MemoryStorage<{user?: User}>({
56
+ // name: 'demoStorage',
57
+ // initialState: { version: '1.0.0' },
58
+ // }, plugins).initialize()
59
+ //
60
+ // // Компонент для демонстрации
61
+ // export function Example5() {
62
+ // const [user, setUser] = useState<User | null>(null)
63
+ // const [name, setName] = useState('')
64
+ // const [age, setAge] = useState('')
65
+ // const [error, setError] = useState<string | null>(null)
66
+ // const [fieldErrors, setFieldErrors] = useState<{name?: string, age?: string}>({})
67
+ //
68
+ // // Функция для сохранения пользователя
69
+ // const saveUser = async () => {
70
+ // try {
71
+ // // Сбрасываем ошибки при каждой отправке
72
+ // setError(null)
73
+ // setFieldErrors({})
74
+ //
75
+ // const userData: User = {
76
+ // name,
77
+ // age: parseInt(age, 10) || 0, // Преобразуем в число или 0, если невалидно
78
+ // }
79
+ //
80
+ // await storage.set('user', userData)
81
+ // setUser(userData)
82
+ // console.log('User saved successfully')
83
+ // } catch (err) {
84
+ // // Получаем сообщение ошибки
85
+ // const errorMessage = err instanceof Error ? err.message : String(err)
86
+ //
87
+ // // Устанавливаем общую ошибку
88
+ // setError(errorMessage)
89
+ //
90
+ // // Определяем, какое поле вызвало ошибку и устанавливаем ошибку для него
91
+ // if (errorMessage.includes('name')) {
92
+ // setFieldErrors((prev) => ({ ...prev, name: 'Имя обязательно' }))
93
+ // }
94
+ //
95
+ // if (errorMessage.includes('возраст') || errorMessage.includes('больше 10')) {
96
+ // setFieldErrors((prev) => ({ ...prev, age: 'Возраст должен быть больше 10' }))
97
+ // }
98
+ //
99
+ // console.error('Error saving user:', errorMessage)
100
+ // }
101
+ // }
102
+ //
103
+ // return (
104
+ // <div style={{ fontFamily: 'Arial', padding: '20px' }}>
105
+ // <h2>Пример с валидацией</h2>
106
+ //
107
+ // {/* Если есть общая ошибка, показываем её */}
108
+ // {error && (
109
+ // <div style={{
110
+ // padding: '10px',
111
+ // backgroundColor: '#ffebee',
112
+ // color: '#d32f2f',
113
+ // borderRadius: '4px',
114
+ // marginBottom: '15px',
115
+ // }}
116
+ // >
117
+ // {error}
118
+ // </div>
119
+ // )}
120
+ //
121
+ // <div style={{ marginBottom: '20px' }}>
122
+ // <div style={{ marginBottom: '10px' }}>
123
+ // <label style={{ display: 'block', marginBottom: '5px' }}>Имя:</label>
124
+ // <input
125
+ // type="text"
126
+ // value={name}
127
+ // onChange={(e) => setName(e.target.value)}
128
+ // style={{
129
+ // padding: '8px',
130
+ // width: '250px',
131
+ // border: fieldErrors.name ? '1px solid #d32f2f' : '1px solid #ccc',
132
+ // }}
133
+ // />
134
+ // {fieldErrors.name && (
135
+ // <div style={{ color: '#d32f2f', fontSize: '14px', marginTop: '5px' }}>
136
+ // {fieldErrors.name}
137
+ // </div>
138
+ // )}
139
+ // </div>
140
+ //
141
+ // <div style={{ marginBottom: '15px' }}>
142
+ // <label style={{ display: 'block', marginBottom: '5px' }}>Возраст:</label>
143
+ // <input
144
+ // type="number"
145
+ // value={age}
146
+ // onChange={(e) => setAge(e.target.value)}
147
+ // style={{
148
+ // padding: '8px',
149
+ // width: '250px',
150
+ // border: fieldErrors.age ? '1px solid #d32f2f' : '1px solid #ccc',
151
+ // }}
152
+ // />
153
+ // {fieldErrors.age && (
154
+ // <div style={{ color: '#d32f2f', fontSize: '14px', marginTop: '5px' }}>
155
+ // {fieldErrors.age}
156
+ // </div>
157
+ // )}
158
+ // </div>
159
+ //
160
+ // <button
161
+ // onClick={saveUser}
162
+ // style={{
163
+ // padding: '10px 15px',
164
+ // backgroundColor: '#4CAF50',
165
+ // color: 'white',
166
+ // border: 'none',
167
+ // borderRadius: '4px',
168
+ // cursor: 'pointer',
169
+ // }}
170
+ // >
171
+ // Сохранить
172
+ // </button>
173
+ // </div>
174
+ //
175
+ // <div style={{ border: '1px solid #ddd', padding: '15px', borderRadius: '4px' }}>
176
+ // <h3>Текущие данные:</h3>
177
+ // <pre style={{ backgroundColor: '#f5f5f5', padding: '10px', borderRadius: '4px' }}>
178
+ // {user ? JSON.stringify(user, null, 2) : 'Нет данных'}
179
+ // </pre>
180
+ // </div>
181
+ // </div>
182
+ // )
183
+ // }
184
+ //# sourceMappingURL=example5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example5.js","sourceRoot":"","sources":["../../src/_examples/example5.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=example6.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example6.d.ts","sourceRoot":"","sources":["../../src/_examples/example6.tsx"],"names":[],"mappings":""}