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 @@
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":""}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ // import React, { useEffect, useState } from 'react'
3
+ // import { IndexedDBStorage, LocalStorage, MemoryStorage, SelectorModule } from 'synapse'
4
+ //
5
+ // interface Counter {
6
+ // value: number;
7
+ // lastUpdated?: Date;
8
+ // }
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
+ // const counter1Selector = new SelectorModule<Counter>(counter1, console)
32
+ // const counter2Selector = new SelectorModule(counter2)
33
+ // const counter3Selector = new SelectorModule(counter3)
34
+ //
35
+ // const counter1ValueSelector = counter1Selector.createSelector((s) => s.value)
36
+ // const counter2ValueSelector = counter2Selector.createSelector((s) => s.value)
37
+ // const counter3ValueSelector = counter3Selector.createSelector((s) => s.value)
38
+ //
39
+ // const sum = counter3Selector.createSelector(
40
+ // [counter1ValueSelector, counter2ValueSelector, counter3ValueSelector],
41
+ // (a, b, c) => a + b + c,
42
+ // )
43
+ //
44
+ // sum.subscribe({
45
+ // notify: (value) => {
46
+ // console.log('sum-notify', value)
47
+ // },
48
+ // })
49
+ //
50
+ // counter1ValueSelector.subscribe({
51
+ // notify: (value) => {
52
+ // console.log('counter1ValueUnsubscribe', value)
53
+ // },
54
+ // })
55
+ //
56
+ // counter2ValueSelector.subscribe({
57
+ // notify: async (value) => {
58
+ // console.log('counter2ValueUnsubscribe', value)
59
+ // },
60
+ // })
61
+ //
62
+ // // Компонент для демонстрации работы middleware
63
+ //
64
+ // export const Example6 = React.memo(() => {
65
+ // const [counter1Value, setCounter1Value] = useState(0)
66
+ // const [counter2Value, setCounter2Value] = useState(0)
67
+ // const [counter3Value, setCounter3Value] = useState(0)
68
+ //
69
+ // useEffect(() => {
70
+ // sum.select().then((r) => {
71
+ // console.log('result', r)
72
+ // })
73
+ // const a = sum.select().then((r) => r)
74
+ // console.log('a', a)
75
+ // }, [])
76
+ //
77
+ // useEffect(() => {
78
+ // // Подписываемся на изменения counter1
79
+ // const unsubscribe1 = counter1.subscribe((s) => s.value, setCounter1Value)
80
+ // return () => {
81
+ // unsubscribe1()
82
+ // }
83
+ // }, [])
84
+ //
85
+ // useEffect(() => {
86
+ // // Подписываемся на изменения counter1
87
+ // const unsubscribe2 = counter2.subscribe((s) => s.value, setCounter2Value)
88
+ // return () => {
89
+ // unsubscribe2()
90
+ // }
91
+ // }, [])
92
+ // useEffect(() => {
93
+ // // Подписываемся на изменения counter1
94
+ // const unsubscribe3 = counter3.subscribe((s) => s.value, setCounter3Value)
95
+ // return () => {
96
+ // unsubscribe3()
97
+ // }
98
+ // }, [])
99
+ //
100
+ // // Функции для обновления счетчиков
101
+ // const updateCounter1 = async () => {
102
+ // await counter1.update((state) => {
103
+ // state.value++
104
+ // })
105
+ // }
106
+ //
107
+ // const updateCounter2 = async () => {
108
+ // await counter2.update((state) => {
109
+ // state.value++
110
+ // })
111
+ // }
112
+ //
113
+ // const updateCounter3 = async () => {
114
+ // await counter3.set('value', counter3Value + 1)
115
+ // }
116
+ //
117
+ // return (
118
+ // <div style={{ fontFamily: 'Arial', padding: '20px' }}>
119
+ // <h2>Middleware Testing</h2>
120
+ //
121
+ // <div style={{ display: 'flex', gap: '20px', marginBottom: '20px' }}>
122
+ // <div style={{ border: '1px solid #ccc', padding: '15px', borderRadius: '5px' }}>
123
+ // <h3>Counter 1 (Both Middlewares)</h3>
124
+ // <p>
125
+ // Value:
126
+ // {counter1Value}
127
+ // </p>
128
+ // <button
129
+ // onClick={updateCounter1}
130
+ // style={{ padding: '8px 15px', backgroundColor: '#4CAF50', color: 'white', border: 'none', borderRadius: '4px' }}
131
+ // >
132
+ // Increment
133
+ // </button>
134
+ // </div>
135
+ //
136
+ // <div style={{ border: '1px solid #ccc', padding: '15px', borderRadius: '5px' }}>
137
+ // <h3>Counter 2 (ShallowCompare)</h3>
138
+ // <p>
139
+ // Value:
140
+ // {counter2Value}
141
+ // </p>
142
+ // <button
143
+ // onClick={updateCounter2}
144
+ // style={{ padding: '8px 15px', backgroundColor: '#2196F3', color: 'white', border: 'none', borderRadius: '4px' }}
145
+ // >
146
+ // Update
147
+ // </button>
148
+ // <p><small>Every 3rd click tries to set the same value</small></p>
149
+ // </div>
150
+ //
151
+ // <div style={{ border: '1px solid #ccc', padding: '15px', borderRadius: '5px' }}>
152
+ // <h3>Counter 3 (Batching)</h3>
153
+ // <p>
154
+ // Value:
155
+ // {counter3Value}
156
+ // </p>
157
+ // <button
158
+ // onClick={updateCounter3}
159
+ // style={{ padding: '8px 15px', backgroundColor: '#FF9800', color: 'white', border: 'none', borderRadius: '4px' }}
160
+ // >
161
+ // Batch Update
162
+ // </button>
163
+ // </div>
164
+ // </div>
165
+ // </div>
166
+ // )
167
+ // })
168
+ //# sourceMappingURL=_example6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_example6.js","sourceRoot":"","sources":["../../src/_examples/_example6.tsx"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,0FAA0F;AAC1F,EAAE;AACF,sBAAsB;AACtB,mBAAmB;AACnB,wBAAwB;AACxB,IAAI;AACJ,EAAE;AACF,uBAAuB;AACvB,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,0EAA0E;AAC1E,wDAAwD;AACxD,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,EAAE;AACF,+CAA+C;AAC/C,2EAA2E;AAC3E,4BAA4B;AAC5B,IAAI;AACJ,EAAE;AACF,kBAAkB;AAClB,yBAAyB;AACzB,uCAAuC;AACvC,OAAO;AACP,KAAK;AACL,EAAE;AACF,oCAAoC;AACpC,yBAAyB;AACzB,qDAAqD;AACrD,OAAO;AACP,KAAK;AACL,EAAE;AACF,oCAAoC;AACpC,+BAA+B;AAC/B,qDAAqD;AACrD,OAAO;AACP,KAAK;AACL,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,6CAA6C;AAC7C,0DAA0D;AAC1D,0DAA0D;AAC1D,0DAA0D;AAC1D,EAAE;AACF,sBAAsB;AACtB,iCAAiC;AACjC,iCAAiC;AACjC,SAAS;AACT,4CAA4C;AAC5C,0BAA0B;AAC1B,WAAW;AACX,EAAE;AACF,sBAAsB;AACtB,6CAA6C;AAC7C,gFAAgF;AAChF,qBAAqB;AACrB,uBAAuB;AACvB,QAAQ;AACR,WAAW;AACX,EAAE;AACF,sBAAsB;AACtB,6CAA6C;AAC7C,gFAAgF;AAChF,qBAAqB;AACrB,uBAAuB;AACvB,QAAQ;AACR,WAAW;AACX,sBAAsB;AACtB,6CAA6C;AAC7C,gFAAgF;AAChF,qBAAqB;AACrB,uBAAuB;AACvB,QAAQ;AACR,WAAW;AACX,EAAE;AACF,wCAAwC;AACxC,yCAAyC;AACzC,yCAAyC;AACzC,sBAAsB;AACtB,SAAS;AACT,MAAM;AACN,EAAE;AACF,yCAAyC;AACzC,yCAAyC;AACzC,sBAAsB;AACtB,SAAS;AACT,MAAM;AACN,EAAE;AACF,yCAAyC;AACzC,qDAAqD;AACrD,MAAM;AACN,EAAE;AACF,aAAa;AACb,6DAA6D;AAC7D,oCAAoC;AACpC,EAAE;AACF,6EAA6E;AAC7E,2FAA2F;AAC3F,kDAAkD;AAClD,gBAAgB;AAChB,qBAAqB;AACrB,8BAA8B;AAC9B,iBAAiB;AACjB,oBAAoB;AACpB,uCAAuC;AACvC,+HAA+H;AAC/H,cAAc;AACd,wBAAwB;AACxB,sBAAsB;AACtB,iBAAiB;AACjB,EAAE;AACF,2FAA2F;AAC3F,gDAAgD;AAChD,gBAAgB;AAChB,qBAAqB;AACrB,8BAA8B;AAC9B,iBAAiB;AACjB,oBAAoB;AACpB,uCAAuC;AACvC,+HAA+H;AAC/H,cAAc;AACd,qBAAqB;AACrB,sBAAsB;AACtB,8EAA8E;AAC9E,iBAAiB;AACjB,EAAE;AACF,2FAA2F;AAC3F,0CAA0C;AAC1C,gBAAgB;AAChB,qBAAqB;AACrB,8BAA8B;AAC9B,iBAAiB;AACjB,oBAAoB;AACpB,uCAAuC;AACvC,+HAA+H;AAC/H,cAAc;AACd,2BAA2B;AAC3B,sBAAsB;AACtB,iBAAiB;AACjB,eAAe;AACf,aAAa;AACb,MAAM;AACN,KAAK"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=example1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example1.d.ts","sourceRoot":"","sources":["../../src/_examples/example1.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,240 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example1.js","sourceRoot":"","sources":["../../src/_examples/example1.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=example2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example2.d.ts","sourceRoot":"","sources":["../../src/_examples/example2.tsx"],"names":[],"mappings":""}