@gravity-ui/data-source 0.6.1 → 0.8.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 (278) hide show
  1. package/README.md +752 -15
  2. package/build/cjs/core/index.d.ts +3 -1
  3. package/build/cjs/core/index.js +7 -0
  4. package/build/cjs/core/index.js.map +1 -1
  5. package/build/cjs/core/types/DataManager.d.ts +5 -0
  6. package/build/cjs/core/types/DataManager.js.map +1 -1
  7. package/build/cjs/core/types/DataSource.d.ts +15 -19
  8. package/build/cjs/core/types/DataSource.js.map +1 -1
  9. package/build/cjs/core/types/Normalizer.d.ts +29 -0
  10. package/build/cjs/core/types/Normalizer.js +6 -0
  11. package/build/cjs/core/types/Normalizer.js.map +1 -0
  12. package/build/cjs/core/utils/__tests__/composeFullKey.test.js +34 -0
  13. package/build/cjs/core/utils/__tests__/composeFullKey.test.js.map +1 -0
  14. package/build/cjs/core/utils/__tests__/composeKey.test.js +32 -0
  15. package/build/cjs/core/utils/__tests__/composeKey.test.js.map +1 -0
  16. package/build/cjs/core/utils/__tests__/getError.test.js +31 -0
  17. package/build/cjs/core/utils/__tests__/getError.test.js.map +1 -0
  18. package/build/cjs/core/utils/__tests__/getStatus.test.js +49 -0
  19. package/build/cjs/core/utils/__tests__/getStatus.test.js.map +1 -0
  20. package/build/cjs/core/utils/__tests__/hasTag.test.js +31 -0
  21. package/build/cjs/core/utils/__tests__/hasTag.test.js.map +1 -0
  22. package/build/cjs/core/utils/__tests__/mergeStatuses.test.js +25 -0
  23. package/build/cjs/core/utils/__tests__/mergeStatuses.test.js.map +1 -0
  24. package/build/cjs/core/utils/__tests__/skipContext.test.js +70 -0
  25. package/build/cjs/core/utils/__tests__/skipContext.test.js.map +1 -0
  26. package/build/cjs/core/utils/__tests__/withCancellation.test.js +106 -0
  27. package/build/cjs/core/utils/__tests__/withCancellation.test.js.map +1 -0
  28. package/build/cjs/core/utils/__tests__/withCatch.test.js +208 -0
  29. package/build/cjs/core/utils/__tests__/withCatch.test.js.map +1 -0
  30. package/build/cjs/core/utils/withCatch.d.ts +26 -0
  31. package/build/cjs/core/utils/withCatch.js +37 -0
  32. package/build/cjs/core/utils/withCatch.js.map +1 -0
  33. package/build/cjs/react/DataManagerProvider.d.ts +7 -0
  34. package/build/cjs/react/DataManagerProvider.js +19 -0
  35. package/build/cjs/react/DataManagerProvider.js.map +1 -0
  36. package/build/cjs/react/__tests__/DataManagerContext.test.js +47 -0
  37. package/build/cjs/react/__tests__/DataManagerContext.test.js.map +1 -0
  38. package/build/cjs/react/__tests__/withDataManager.test.js +61 -0
  39. package/build/cjs/react/__tests__/withDataManager.test.js.map +1 -0
  40. package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +187 -0
  41. package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +1 -0
  42. package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js +119 -0
  43. package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js.map +1 -0
  44. package/build/cjs/react/index.d.ts +2 -0
  45. package/build/cjs/react/index.js +8 -0
  46. package/build/cjs/react/index.js.map +1 -1
  47. package/build/cjs/react/withDataManager.d.ts +1 -1
  48. package/build/cjs/react/withDataManager.js +3 -3
  49. package/build/cjs/react/withDataManager.js.map +1 -1
  50. package/build/cjs/react-query/ClientDataManager.d.ts +11 -2
  51. package/build/cjs/react-query/ClientDataManager.js +76 -9
  52. package/build/cjs/react-query/ClientDataManager.js.map +1 -1
  53. package/build/cjs/react-query/DataSourceProvider.d.ts +7 -0
  54. package/build/cjs/react-query/DataSourceProvider.js +35 -0
  55. package/build/cjs/react-query/DataSourceProvider.js.map +1 -0
  56. package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js +177 -0
  57. package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js.map +1 -0
  58. package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js +100 -0
  59. package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js.map +1 -0
  60. package/build/cjs/react-query/__tests__/subscriptions.test.js +1180 -0
  61. package/build/cjs/react-query/__tests__/subscriptions.test.js.map +1 -0
  62. package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +514 -0
  63. package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +1 -0
  64. package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js +229 -0
  65. package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js.map +1 -0
  66. package/build/cjs/react-query/constants.d.ts +2 -0
  67. package/build/cjs/react-query/constants.js +9 -0
  68. package/build/cjs/react-query/constants.js.map +1 -0
  69. package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js +55 -0
  70. package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js.map +1 -0
  71. package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +195 -0
  72. package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -0
  73. package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js +97 -0
  74. package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js.map +1 -0
  75. package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js +77 -0
  76. package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js.map +1 -0
  77. package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js +79 -0
  78. package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js.map +1 -0
  79. package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js +117 -0
  80. package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js.map +1 -0
  81. package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js +156 -0
  82. package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js.map +1 -0
  83. package/build/cjs/react-query/hooks/useRefetchInterval.d.ts +1 -1
  84. package/build/cjs/react-query/impl/infinite/factory.d.ts +1 -1
  85. package/build/cjs/react-query/impl/infinite/factory.js.map +1 -1
  86. package/build/cjs/react-query/impl/infinite/hooks.js +4 -1
  87. package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
  88. package/build/cjs/react-query/impl/infinite/types.d.ts +9 -9
  89. package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
  90. package/build/cjs/react-query/impl/infinite/utils.js +11 -22
  91. package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
  92. package/build/cjs/react-query/impl/plain/factory.d.ts +1 -1
  93. package/build/cjs/react-query/impl/plain/factory.js.map +1 -1
  94. package/build/cjs/react-query/impl/plain/hooks.js +4 -1
  95. package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
  96. package/build/cjs/react-query/impl/plain/types.d.ts +6 -6
  97. package/build/cjs/react-query/impl/plain/types.js.map +1 -1
  98. package/build/cjs/react-query/impl/plain/utils.js +12 -23
  99. package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
  100. package/build/cjs/react-query/index.d.ts +2 -0
  101. package/build/cjs/react-query/index.js +7 -0
  102. package/build/cjs/react-query/index.js.map +1 -1
  103. package/build/cjs/react-query/types/normalizer.d.ts +21 -0
  104. package/build/cjs/react-query/types/normalizer.js +6 -0
  105. package/build/cjs/react-query/types/normalizer.js.map +1 -0
  106. package/build/cjs/react-query/types/options.d.ts +12 -0
  107. package/build/cjs/react-query/types/options.js.map +1 -1
  108. package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js +27 -0
  109. package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js.map +1 -0
  110. package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js +76 -0
  111. package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +1 -0
  112. package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js +30 -0
  113. package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js.map +1 -0
  114. package/build/cjs/react-query/utils/__tests__/notReachable.test.js +35 -0
  115. package/build/cjs/react-query/utils/__tests__/notReachable.test.js.map +1 -0
  116. package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js +27 -0
  117. package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js.map +1 -0
  118. package/build/cjs/react-query/utils/formatNullableValue.d.ts +2 -0
  119. package/build/cjs/react-query/utils/formatNullableValue.js +17 -0
  120. package/build/cjs/react-query/utils/formatNullableValue.js.map +1 -0
  121. package/build/cjs/react-query/utils/getProgressiveRefetch.d.ts +2 -2
  122. package/build/cjs/react-query/utils/normalize.d.ts +22 -0
  123. package/build/cjs/react-query/utils/normalize.js +150 -0
  124. package/build/cjs/react-query/utils/normalize.js.map +1 -0
  125. package/build/cjs/react-query/utils/parseNullableValue.d.ts +2 -0
  126. package/build/cjs/react-query/utils/parseNullableValue.js +17 -0
  127. package/build/cjs/react-query/utils/parseNullableValue.js.map +1 -0
  128. package/build/cjs/react-query/utils/warn.d.ts +1 -0
  129. package/build/cjs/react-query/utils/warn.js +15 -0
  130. package/build/cjs/react-query/utils/warn.js.map +1 -0
  131. package/build/cjs/react-query/utils/warnDisabledRefetch.d.ts +1 -0
  132. package/build/cjs/react-query/utils/warnDisabledRefetch.js +11 -0
  133. package/build/cjs/react-query/utils/warnDisabledRefetch.js.map +1 -0
  134. package/build/cjs/setupTests.d.ts +1 -0
  135. package/build/cjs/setupTests.js +4 -0
  136. package/build/cjs/setupTests.js.map +1 -0
  137. package/build/esm/core/index.d.ts +3 -1
  138. package/build/esm/core/index.js +1 -0
  139. package/build/esm/core/index.js.map +1 -1
  140. package/build/esm/core/types/DataManager.d.ts +5 -0
  141. package/build/esm/core/types/DataManager.js.map +1 -1
  142. package/build/esm/core/types/DataSource.d.ts +15 -19
  143. package/build/esm/core/types/DataSource.js.map +1 -1
  144. package/build/esm/core/types/Normalizer.d.ts +29 -0
  145. package/build/esm/core/types/Normalizer.js +2 -0
  146. package/build/esm/core/types/Normalizer.js.map +1 -0
  147. package/build/esm/core/utils/__tests__/composeFullKey.test.js +32 -0
  148. package/build/esm/core/utils/__tests__/composeFullKey.test.js.map +1 -0
  149. package/build/esm/core/utils/__tests__/composeKey.test.js +30 -0
  150. package/build/esm/core/utils/__tests__/composeKey.test.js.map +1 -0
  151. package/build/esm/core/utils/__tests__/getError.test.js +29 -0
  152. package/build/esm/core/utils/__tests__/getError.test.js.map +1 -0
  153. package/build/esm/core/utils/__tests__/getStatus.test.js +47 -0
  154. package/build/esm/core/utils/__tests__/getStatus.test.js.map +1 -0
  155. package/build/esm/core/utils/__tests__/hasTag.test.js +29 -0
  156. package/build/esm/core/utils/__tests__/hasTag.test.js.map +1 -0
  157. package/build/esm/core/utils/__tests__/mergeStatuses.test.js +23 -0
  158. package/build/esm/core/utils/__tests__/mergeStatuses.test.js.map +1 -0
  159. package/build/esm/core/utils/__tests__/skipContext.test.js +67 -0
  160. package/build/esm/core/utils/__tests__/skipContext.test.js.map +1 -0
  161. package/build/esm/core/utils/__tests__/withCancellation.test.js +104 -0
  162. package/build/esm/core/utils/__tests__/withCancellation.test.js.map +1 -0
  163. package/build/esm/core/utils/__tests__/withCatch.test.js +205 -0
  164. package/build/esm/core/utils/__tests__/withCatch.test.js.map +1 -0
  165. package/build/esm/core/utils/withCatch.d.ts +26 -0
  166. package/build/esm/core/utils/withCatch.js +31 -0
  167. package/build/esm/core/utils/withCatch.js.map +1 -0
  168. package/build/esm/react/DataManagerProvider.d.ts +7 -0
  169. package/build/esm/react/DataManagerProvider.js +12 -0
  170. package/build/esm/react/DataManagerProvider.js.map +1 -0
  171. package/build/esm/react/__tests__/DataManagerContext.test.js +44 -0
  172. package/build/esm/react/__tests__/DataManagerContext.test.js.map +1 -0
  173. package/build/esm/react/__tests__/withDataManager.test.js +58 -0
  174. package/build/esm/react/__tests__/withDataManager.test.js.map +1 -0
  175. package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +184 -0
  176. package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +1 -0
  177. package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js +116 -0
  178. package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js.map +1 -0
  179. package/build/esm/react/index.d.ts +2 -0
  180. package/build/esm/react/index.js +1 -0
  181. package/build/esm/react/index.js.map +1 -1
  182. package/build/esm/react/withDataManager.d.ts +1 -1
  183. package/build/esm/react/withDataManager.js +3 -3
  184. package/build/esm/react/withDataManager.js.map +1 -1
  185. package/build/esm/react-query/ClientDataManager.d.ts +11 -2
  186. package/build/esm/react-query/ClientDataManager.js +70 -3
  187. package/build/esm/react-query/ClientDataManager.js.map +1 -1
  188. package/build/esm/react-query/DataSourceProvider.d.ts +7 -0
  189. package/build/esm/react-query/DataSourceProvider.js +28 -0
  190. package/build/esm/react-query/DataSourceProvider.js.map +1 -0
  191. package/build/esm/react-query/__tests__/createQueryNormalizer.test.js +174 -0
  192. package/build/esm/react-query/__tests__/createQueryNormalizer.test.js.map +1 -0
  193. package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js +98 -0
  194. package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js.map +1 -0
  195. package/build/esm/react-query/__tests__/subscriptions.test.js +1176 -0
  196. package/build/esm/react-query/__tests__/subscriptions.test.js.map +1 -0
  197. package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +511 -0
  198. package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +1 -0
  199. package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js +227 -0
  200. package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js.map +1 -0
  201. package/build/esm/react-query/constants.d.ts +2 -0
  202. package/build/esm/react-query/constants.js +3 -0
  203. package/build/esm/react-query/constants.js.map +1 -0
  204. package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js +52 -0
  205. package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js.map +1 -0
  206. package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +192 -0
  207. package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -0
  208. package/build/esm/react-query/hooks/__tests__/useQueryData.test.js +95 -0
  209. package/build/esm/react-query/hooks/__tests__/useQueryData.test.js.map +1 -0
  210. package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js +74 -0
  211. package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js.map +1 -0
  212. package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js +77 -0
  213. package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js.map +1 -0
  214. package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js +115 -0
  215. package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js.map +1 -0
  216. package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js +154 -0
  217. package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js.map +1 -0
  218. package/build/esm/react-query/hooks/useRefetchInterval.d.ts +1 -1
  219. package/build/esm/react-query/impl/infinite/factory.d.ts +1 -1
  220. package/build/esm/react-query/impl/infinite/factory.js.map +1 -1
  221. package/build/esm/react-query/impl/infinite/hooks.js +5 -2
  222. package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
  223. package/build/esm/react-query/impl/infinite/types.d.ts +9 -9
  224. package/build/esm/react-query/impl/infinite/types.js.map +1 -1
  225. package/build/esm/react-query/impl/infinite/utils.js +9 -20
  226. package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
  227. package/build/esm/react-query/impl/plain/factory.d.ts +1 -1
  228. package/build/esm/react-query/impl/plain/factory.js.map +1 -1
  229. package/build/esm/react-query/impl/plain/hooks.js +5 -2
  230. package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
  231. package/build/esm/react-query/impl/plain/types.d.ts +6 -6
  232. package/build/esm/react-query/impl/plain/types.js.map +1 -1
  233. package/build/esm/react-query/impl/plain/utils.js +10 -21
  234. package/build/esm/react-query/impl/plain/utils.js.map +1 -1
  235. package/build/esm/react-query/index.d.ts +2 -0
  236. package/build/esm/react-query/index.js +1 -0
  237. package/build/esm/react-query/index.js.map +1 -1
  238. package/build/esm/react-query/types/normalizer.d.ts +21 -0
  239. package/build/esm/react-query/types/normalizer.js +2 -0
  240. package/build/esm/react-query/types/normalizer.js.map +1 -0
  241. package/build/esm/react-query/types/options.d.ts +12 -0
  242. package/build/esm/react-query/types/options.js.map +1 -1
  243. package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js +25 -0
  244. package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js.map +1 -0
  245. package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js +74 -0
  246. package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +1 -0
  247. package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js +28 -0
  248. package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js.map +1 -0
  249. package/build/esm/react-query/utils/__tests__/notReachable.test.js +33 -0
  250. package/build/esm/react-query/utils/__tests__/notReachable.test.js.map +1 -0
  251. package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js +25 -0
  252. package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js.map +1 -0
  253. package/build/esm/react-query/utils/formatNullableValue.d.ts +2 -0
  254. package/build/esm/react-query/utils/formatNullableValue.js +11 -0
  255. package/build/esm/react-query/utils/formatNullableValue.js.map +1 -0
  256. package/build/esm/react-query/utils/getProgressiveRefetch.d.ts +2 -2
  257. package/build/esm/react-query/utils/normalize.d.ts +22 -0
  258. package/build/esm/react-query/utils/normalize.js +143 -0
  259. package/build/esm/react-query/utils/normalize.js.map +1 -0
  260. package/build/esm/react-query/utils/parseNullableValue.d.ts +2 -0
  261. package/build/esm/react-query/utils/parseNullableValue.js +11 -0
  262. package/build/esm/react-query/utils/parseNullableValue.js.map +1 -0
  263. package/build/esm/react-query/utils/warn.d.ts +1 -0
  264. package/build/esm/react-query/utils/warn.js +9 -0
  265. package/build/esm/react-query/utils/warn.js.map +1 -0
  266. package/build/esm/react-query/utils/warnDisabledRefetch.d.ts +1 -0
  267. package/build/esm/react-query/utils/warnDisabledRefetch.js +5 -0
  268. package/build/esm/react-query/utils/warnDisabledRefetch.js.map +1 -0
  269. package/build/esm/setupTests.d.ts +1 -0
  270. package/build/esm/setupTests.js +2 -0
  271. package/build/esm/setupTests.js.map +1 -0
  272. package/package.json +18 -13
  273. package/build/cjs/react-query/impl/utils.d.ts +0 -4
  274. package/build/cjs/react-query/impl/utils.js +0 -27
  275. package/build/cjs/react-query/impl/utils.js.map +0 -1
  276. package/build/esm/react-query/impl/utils.d.ts +0 -4
  277. package/build/esm/react-query/impl/utils.js +0 -21
  278. package/build/esm/react-query/impl/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_ClientDataManager","_DataSourceProvider","_useQueryData","_factory","_jsxRuntime","e","__esModule","default","describe","queryClient","dataManager","beforeEach","ClientDataManager","normalizerConfig","devLogging","afterEach","_dataManager$queryNor","queryNormalizer","unsubscribe","clear","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","customGetKey","customDataManager","queryKey","normalized","wrap","_callee2$","_context2","prev","next","jest","fn","obj","concat","id","getNormalizationObjectKey","subscribe","fetchQuery","queryFn","_queryFn","_callee","_callee$","_context","abrupt","name","stop","apply","arguments","normalize","getNormalizedData","expect","objects","toBeDefined","toHaveBeenCalled","_callee4","customGetArrayType","_callee4$","_context4","_ref3","arrayKey","getArrayType","_queryFn2","_callee3","_callee3$","_context3","items","_callee6","_callee6$","_context6","_queryFn3","_callee5","_callee5$","_context5","_callee8","_callee8$","_context8","_queryFn4","_callee7","_callee7$","_context7","toBeUndefined","_callee10","_callee10$","_context10","_queryFn5","_callee9","_callee9$","_context9","_callee12","wrapper","dataSource","_renderHook","result","_callee12$","_context12","_ref8","children","_jsx","DataSourceProvider","makePlainQueryDataSource","fetch","_fetch","_callee11","_callee11$","_context11","options","renderHook","useQueryData","waitFor","current","status","toBe","_callee15","dataSource1","dataSource2","_renderHook2","result1","_renderHook3","result2","_callee15$","_context15","_ref10","_fetch2","_callee13","_callee13$","_context13","_fetch3","_callee14","_callee14$","_context14","title","_callee16","dmWithOptimistic","initialData","data","_callee16$","_context16","optimistic","setQueryData","normalizer","setQuery","JSON","stringify","setNormalizedData","getQueryData","_callee17","dmWithOptimisticConfig","_callee17$","_context17","autoCalculateRollback","_callee18","dmWithInvalidate","_callee18$","_context18","invalidate","_callee19","dmWithBoth","_callee19$","_context19"],"sources":["threeLevelIntegration.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {QueryClient} from '@tanstack/react-query';\nimport {renderHook, waitFor} from '@testing-library/react';\n\nimport {ClientDataManager} from '../ClientDataManager';\nimport {DataSourceProvider} from '../DataSourceProvider';\nimport {useQueryData} from '../hooks/useQueryData';\nimport {makePlainQueryDataSource} from '../impl/plain/factory';\n\ndescribe('Normalization Configuration Integration', () => {\n let queryClient: QueryClient;\n let dataManager: ClientDataManager;\n\n beforeEach(() => {\n dataManager = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n },\n });\n queryClient = dataManager.queryClient;\n });\n\n afterEach(() => {\n dataManager.queryNormalizer?.unsubscribe();\n queryClient.clear();\n });\n\n describe('ClientDataManager configuration', () => {\n it('should use custom getNormalizationObjectKey from config', async () => {\n const customGetKey = jest.fn((obj) => `custom:${obj.id}`);\n\n const customDataManager = new ClientDataManager({\n normalizerConfig: {\n getNormalizationObjectKey: customGetKey,\n devLogging: false,\n },\n });\n\n customDataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n\n await customDataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'User 1'}],\n normalize: true,\n } as Parameters<typeof customDataManager.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n const normalized = customDataManager.queryNormalizer!.getNormalizedData();\n\n expect(normalized.objects['@@custom:1']).toBeDefined();\n expect(customGetKey).toHaveBeenCalled();\n\n customDataManager.queryNormalizer!.unsubscribe();\n customDataManager.queryClient.clear();\n });\n\n it('should use custom getArrayType from config', async () => {\n const customGetArrayType = jest.fn(({arrayKey}) => `custom:${arrayKey}`);\n\n const customDataManager = new ClientDataManager({\n normalizerConfig: {\n getArrayType: customGetArrayType,\n devLogging: false,\n },\n });\n\n customDataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['items'];\n\n await customDataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => ({\n items: [{id: '1', name: 'Item 1'}],\n }),\n normalize: true,\n } as Parameters<typeof customDataManager.queryClient.fetchQuery>[0] & {\n normalize: boolean;\n });\n\n expect(customGetArrayType).toHaveBeenCalled();\n\n customDataManager.queryNormalizer!.unsubscribe();\n customDataManager.queryClient.clear();\n });\n });\n\n describe('Query-level normalization control', () => {\n it('should normalize when query has normalize: true', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-normalized'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '1', name: 'User 1'}],\n normalize: true,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data SHOULD be normalized\n expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should NOT normalize when query has normalize: false', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-not-normalized'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '2', name: 'User 2'}],\n normalize: false,\n } as Parameters<typeof dataManager.queryClient.fetchQuery>[0] & {normalize: boolean});\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data should NOT be normalized\n expect(normalized.objects['@@2']).toBeUndefined();\n });\n\n it('should normalize by default when normalize option is not provided', async () => {\n dataManager.queryNormalizer!.subscribe();\n\n const queryKey = ['users-default'];\n\n await dataManager.queryClient.fetchQuery({\n queryKey,\n queryFn: async () => [{id: '3', name: 'User 3'}],\n });\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data SHOULD be normalized (default behavior is now true)\n expect(normalized.objects['@@3']).toBeDefined();\n });\n });\n\n describe('DataSourceProvider integration', () => {\n it('should auto-subscribe queryNormalizer on mount', async () => {\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManager}>{children}</DataSourceProvider>\n );\n\n const dataSource = makePlainQueryDataSource({\n name: 'users',\n fetch: async () => [{id: '1', name: 'User 1'}],\n options: {\n normalize: true,\n },\n });\n\n const {result} = renderHook(() => useQueryData(dataSource, {}), {wrapper});\n\n await waitFor(() => expect(result.current.status).toBe('success'));\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n // Data should be normalized because DataSourceProvider subscribes automatically\n expect(normalized.objects['@@1']).toBeDefined();\n });\n\n it('should work with multiple queries', async () => {\n const wrapper = ({children}: {children: React.ReactNode}) => (\n <DataSourceProvider dataManager={dataManager}>{children}</DataSourceProvider>\n );\n\n const dataSource1 = makePlainQueryDataSource({\n name: 'users',\n fetch: async () => [{id: '1', name: 'User 1'}],\n options: {\n normalize: true,\n },\n });\n\n const dataSource2 = makePlainQueryDataSource({\n name: 'posts',\n fetch: async () => [{id: '2', title: 'Post 1'}],\n options: {\n normalize: true,\n },\n });\n\n const {result: result1} = renderHook(() => useQueryData(dataSource1, {}), {wrapper});\n const {result: result2} = renderHook(() => useQueryData(dataSource2, {}), {wrapper});\n\n await waitFor(() => {\n expect(result1.current.status).toBe('success');\n expect(result2.current.status).toBe('success');\n });\n\n const normalized = dataManager.queryNormalizer!.getNormalizedData();\n\n expect(normalized.objects['@@1']).toBeDefined();\n expect(normalized.objects['@@2']).toBeDefined();\n });\n });\n\n describe('Optimistic updates configuration', () => {\n it('should enable optimistic updates when configured', async () => {\n const dmWithOptimistic = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n },\n });\n\n expect(dmWithOptimistic.queryNormalizer).toBeDefined();\n\n dmWithOptimistic.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [{id: '1', name: 'Old'}];\n\n dmWithOptimistic.queryClient.setQueryData(queryKey, initialData);\n dmWithOptimistic.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Manual optimistic update via setNormalizedData\n dmWithOptimistic.queryNormalizer!.setNormalizedData({id: '1', name: 'New'});\n\n const data = dmWithOptimistic.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(data[0].name).toBe('New');\n\n dmWithOptimistic.queryNormalizer!.unsubscribe();\n dmWithOptimistic.queryClient.clear();\n });\n\n it('should work with optimistic config object', async () => {\n const dmWithOptimisticConfig = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: {\n autoCalculateRollback: true,\n devLogging: false,\n },\n },\n });\n\n expect(dmWithOptimisticConfig.queryNormalizer).toBeDefined();\n expect(dmWithOptimisticConfig.normalizer).toBeDefined();\n\n dmWithOptimisticConfig.queryClient.clear();\n });\n });\n\n describe('Invalidate configuration', () => {\n it('should support invalidate option in global config', async () => {\n const dmWithInvalidate = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true,\n },\n });\n\n expect(dmWithInvalidate.queryNormalizer).toBeDefined();\n expect(dmWithInvalidate.normalizer).toBeDefined();\n\n dmWithInvalidate.queryClient.clear();\n });\n\n it('should support both optimistic and invalidate options', async () => {\n const dmWithBoth = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n invalidate: true,\n },\n });\n\n expect(dmWithBoth.queryNormalizer).toBeDefined();\n expect(dmWithBoth.normalizer).toBeDefined();\n\n dmWithBoth.queryClient.clear();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,229 @@
1
+ "use strict";
2
+
3
+ var _ClientDataManager = require("../ClientDataManager");
4
+ describe('updateQueriesFromMutationData', function () {
5
+ var dataManager;
6
+ beforeEach(function () {
7
+ dataManager = new _ClientDataManager.ClientDataManager({
8
+ defaultOptions: {
9
+ queries: {
10
+ retry: false
11
+ },
12
+ mutations: {
13
+ retry: false
14
+ }
15
+ },
16
+ normalizerConfig: {
17
+ devLogging: false
18
+ }
19
+ });
20
+ });
21
+ afterEach(function () {
22
+ dataManager.queryClient.clear();
23
+ });
24
+ it('should update query data based on normalized data', function () {
25
+ expect(dataManager.normalizer).toBeDefined();
26
+
27
+ // Set initial data in query
28
+ var queryKey = ['users'];
29
+ dataManager.queryClient.setQueryData(queryKey, [{
30
+ id: '1',
31
+ name: 'Old Name'
32
+ }]);
33
+
34
+ // Add query to normalizer
35
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
36
+ id: '1',
37
+ name: 'Old Name'
38
+ }]);
39
+
40
+ // Update data via mutation
41
+ var mutationData = {
42
+ id: '1',
43
+ name: 'New Name'
44
+ };
45
+ dataManager.optimisticUpdate(mutationData);
46
+
47
+ // Verify that data was updated
48
+ var updatedData = dataManager.queryClient.getQueryData(queryKey);
49
+ expect(updatedData).toBeDefined();
50
+ expect(updatedData[0].name).toBe('New Name');
51
+ });
52
+ it('should update multiple queries with the same object', function () {
53
+ expect(dataManager.normalizer).toBeDefined();
54
+ var queryKey1 = ['users'];
55
+ var queryKey2 = ['user', '1'];
56
+
57
+ // Set data in both queries
58
+ dataManager.queryClient.setQueryData(queryKey1, [{
59
+ id: '1',
60
+ name: 'User 1'
61
+ }]);
62
+ dataManager.queryClient.setQueryData(queryKey2, {
63
+ id: '1',
64
+ name: 'User 1'
65
+ });
66
+
67
+ // Add to normalizer
68
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey1), [{
69
+ id: '1',
70
+ name: 'User 1'
71
+ }]);
72
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey2), {
73
+ id: '1',
74
+ name: 'User 1'
75
+ });
76
+
77
+ // Update via mutation
78
+ var mutationData = {
79
+ id: '1',
80
+ name: 'Updated User'
81
+ };
82
+ dataManager.optimisticUpdate(mutationData);
83
+
84
+ // Check both queries
85
+ var data1 = dataManager.queryClient.getQueryData(queryKey1);
86
+ var data2 = dataManager.queryClient.getQueryData(queryKey2);
87
+ expect(data1[0].name).toBe('Updated User');
88
+ expect(data2.name).toBe('Updated User');
89
+ });
90
+ it('should preserve dataUpdatedAt on update', function () {
91
+ expect(dataManager.normalizer).toBeDefined();
92
+ var queryKey = ['users'];
93
+ var originalUpdatedAt = Date.now();
94
+
95
+ // Set initial data
96
+ dataManager.queryClient.setQueryData(queryKey, [{
97
+ id: '1',
98
+ name: 'Old'
99
+ }], {
100
+ updatedAt: originalUpdatedAt
101
+ });
102
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
103
+ id: '1',
104
+ name: 'Old'
105
+ }]);
106
+
107
+ // Update data
108
+ var mutationData = {
109
+ id: '1',
110
+ name: 'New'
111
+ };
112
+ dataManager.optimisticUpdate(mutationData);
113
+
114
+ // Verify that dataUpdatedAt was preserved
115
+ var cachedQuery = dataManager.queryClient.getQueryCache().find({
116
+ queryKey: queryKey
117
+ });
118
+ expect(cachedQuery === null || cachedQuery === void 0 ? void 0 : cachedQuery.state.dataUpdatedAt).toBe(originalUpdatedAt);
119
+ });
120
+ it('should preserve error state on update', function () {
121
+ expect(dataManager.normalizer).toBeDefined();
122
+ var queryKey = ['users'];
123
+ var error = new Error('Test error');
124
+
125
+ // Set initial data with error
126
+ dataManager.queryClient.setQueryData(queryKey, [{
127
+ id: '1',
128
+ name: 'Old'
129
+ }]);
130
+ var cachedQuery = dataManager.queryClient.getQueryCache().find({
131
+ queryKey: queryKey
132
+ });
133
+ cachedQuery === null || cachedQuery === void 0 || cachedQuery.setState({
134
+ error: error,
135
+ status: 'error'
136
+ });
137
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
138
+ id: '1',
139
+ name: 'Old'
140
+ }]);
141
+
142
+ // Update data
143
+ var mutationData = {
144
+ id: '1',
145
+ name: 'New'
146
+ };
147
+ dataManager.optimisticUpdate(mutationData);
148
+
149
+ // Verify that error and status were preserved
150
+ var updatedQuery = dataManager.queryClient.getQueryCache().find({
151
+ queryKey: queryKey
152
+ });
153
+ expect(updatedQuery === null || updatedQuery === void 0 ? void 0 : updatedQuery.state.error).toBe(error);
154
+ expect(updatedQuery === null || updatedQuery === void 0 ? void 0 : updatedQuery.state.status).toBe('error');
155
+ });
156
+ it('should preserve isInvalidated flag on update', function () {
157
+ expect(dataManager.normalizer).toBeDefined();
158
+ var queryKey = ['users'];
159
+
160
+ // Set initial data and invalidate
161
+ dataManager.queryClient.setQueryData(queryKey, [{
162
+ id: '1',
163
+ name: 'Old'
164
+ }]);
165
+ dataManager.queryClient.invalidateQueries({
166
+ queryKey: queryKey
167
+ });
168
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
169
+ id: '1',
170
+ name: 'Old'
171
+ }]);
172
+ var cachedQueryBefore = dataManager.queryClient.getQueryCache().find({
173
+ queryKey: queryKey
174
+ });
175
+ var isInvalidatedBefore = cachedQueryBefore === null || cachedQueryBefore === void 0 ? void 0 : cachedQueryBefore.state.isInvalidated;
176
+
177
+ // Update data
178
+ var mutationData = {
179
+ id: '1',
180
+ name: 'New'
181
+ };
182
+ dataManager.optimisticUpdate(mutationData);
183
+
184
+ // Verify that isInvalidated was preserved
185
+ var cachedQueryAfter = dataManager.queryClient.getQueryCache().find({
186
+ queryKey: queryKey
187
+ });
188
+ expect(cachedQueryAfter === null || cachedQueryAfter === void 0 ? void 0 : cachedQueryAfter.state.isInvalidated).toBe(isInvalidatedBefore);
189
+ });
190
+ it('should work correctly with nested objects', function () {
191
+ expect(dataManager.normalizer).toBeDefined();
192
+ var queryKey = ['posts'];
193
+ var initialData = [{
194
+ id: '1',
195
+ title: 'Post 1',
196
+ author: {
197
+ id: '10',
198
+ name: 'Author 1'
199
+ }
200
+ }];
201
+ dataManager.queryClient.setQueryData(queryKey, initialData);
202
+ dataManager.normalizer.setQuery(JSON.stringify(queryKey), initialData);
203
+
204
+ // Update author
205
+ var mutationData = {
206
+ id: '10',
207
+ name: 'Updated Author'
208
+ };
209
+ dataManager.optimisticUpdate(mutationData);
210
+
211
+ // Verify that author was updated
212
+ var data = dataManager.queryClient.getQueryData(queryKey);
213
+ expect(data[0].author.name).toBe('Updated Author');
214
+ });
215
+ it('should not throw if query is not in cache', function () {
216
+ expect(dataManager.normalizer).toBeDefined();
217
+ var mutationData = {
218
+ id: '1',
219
+ name: 'New'
220
+ };
221
+
222
+ // Don't add query to cache, only to normalizer
223
+ // This should not throw an error
224
+ expect(function () {
225
+ dataManager.optimisticUpdate(mutationData);
226
+ }).not.toThrow();
227
+ });
228
+ });
229
+ // #sourceMappingURL=updateQueriesFromMutationData.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ClientDataManager","require","describe","dataManager","beforeEach","ClientDataManager","defaultOptions","queries","retry","mutations","normalizerConfig","devLogging","afterEach","queryClient","clear","it","expect","normalizer","toBeDefined","queryKey","setQueryData","id","name","setQuery","JSON","stringify","mutationData","optimisticUpdate","updatedData","getQueryData","toBe","queryKey1","queryKey2","data1","data2","originalUpdatedAt","Date","now","updatedAt","cachedQuery","getQueryCache","find","state","dataUpdatedAt","error","Error","setState","status","updatedQuery","invalidateQueries","cachedQueryBefore","isInvalidatedBefore","isInvalidated","cachedQueryAfter","initialData","title","author","data","not","toThrow"],"sources":["updateQueriesFromMutationData.test.tsx"],"sourcesContent":["import type {Data} from '@normy/core';\n\nimport {ClientDataManager} from '../ClientDataManager';\n\ndescribe('updateQueriesFromMutationData', () => {\n let dataManager: ClientDataManager;\n\n beforeEach(() => {\n dataManager = new ClientDataManager({\n defaultOptions: {\n queries: {retry: false},\n mutations: {retry: false},\n },\n normalizerConfig: {\n devLogging: false,\n },\n });\n });\n\n afterEach(() => {\n dataManager.queryClient.clear();\n });\n\n it('should update query data based on normalized data', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n // Set initial data in query\n const queryKey = ['users'];\n dataManager.queryClient.setQueryData(queryKey, [{id: '1', name: 'Old Name'}]);\n\n // Add query to normalizer\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey), [{id: '1', name: 'Old Name'}]);\n\n // Update data via mutation\n const mutationData: Data = {id: '1', name: 'New Name'};\n\n dataManager.optimisticUpdate(mutationData);\n\n // Verify that data was updated\n const updatedData = dataManager.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n expect(updatedData).toBeDefined();\n expect(updatedData[0].name).toBe('New Name');\n });\n\n it('should update multiple queries with the same object', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n const queryKey1 = ['users'];\n const queryKey2 = ['user', '1'];\n\n // Set data in both queries\n dataManager.queryClient.setQueryData(queryKey1, [{id: '1', name: 'User 1'}]);\n dataManager.queryClient.setQueryData(queryKey2, {id: '1', name: 'User 1'});\n\n // Add to normalizer\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey1), [{id: '1', name: 'User 1'}]);\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey2), {id: '1', name: 'User 1'});\n\n // Update via mutation\n const mutationData: Data = {id: '1', name: 'Updated User'};\n dataManager.optimisticUpdate(mutationData);\n\n // Check both queries\n const data1 = dataManager.queryClient.getQueryData(queryKey1) as Array<{\n id: string;\n name: string;\n }>;\n const data2 = dataManager.queryClient.getQueryData(queryKey2) as {id: string; name: string};\n\n expect(data1[0].name).toBe('Updated User');\n expect(data2.name).toBe('Updated User');\n });\n\n it('should preserve dataUpdatedAt on update', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n const queryKey = ['users'];\n const originalUpdatedAt = Date.now();\n\n // Set initial data\n dataManager.queryClient.setQueryData(queryKey, [{id: '1', name: 'Old'}], {\n updatedAt: originalUpdatedAt,\n });\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey), [{id: '1', name: 'Old'}]);\n\n // Update data\n const mutationData: Data = {id: '1', name: 'New'};\n dataManager.optimisticUpdate(mutationData);\n\n // Verify that dataUpdatedAt was preserved\n const cachedQuery = dataManager.queryClient.getQueryCache().find({queryKey});\n expect(cachedQuery?.state.dataUpdatedAt).toBe(originalUpdatedAt);\n });\n\n it('should preserve error state on update', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n const queryKey = ['users'];\n const error = new Error('Test error');\n\n // Set initial data with error\n dataManager.queryClient.setQueryData(queryKey, [{id: '1', name: 'Old'}]);\n const cachedQuery = dataManager.queryClient.getQueryCache().find({queryKey});\n cachedQuery?.setState({error, status: 'error'});\n\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey), [{id: '1', name: 'Old'}]);\n\n // Update data\n const mutationData: Data = {id: '1', name: 'New'};\n dataManager.optimisticUpdate(mutationData);\n\n // Verify that error and status were preserved\n const updatedQuery = dataManager.queryClient.getQueryCache().find({queryKey});\n expect(updatedQuery?.state.error).toBe(error);\n expect(updatedQuery?.state.status).toBe('error');\n });\n\n it('should preserve isInvalidated flag on update', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n const queryKey = ['users'];\n\n // Set initial data and invalidate\n dataManager.queryClient.setQueryData(queryKey, [{id: '1', name: 'Old'}]);\n dataManager.queryClient.invalidateQueries({queryKey});\n\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey), [{id: '1', name: 'Old'}]);\n\n const cachedQueryBefore = dataManager.queryClient.getQueryCache().find({queryKey});\n const isInvalidatedBefore = cachedQueryBefore?.state.isInvalidated;\n\n // Update data\n const mutationData: Data = {id: '1', name: 'New'};\n dataManager.optimisticUpdate(mutationData);\n\n // Verify that isInvalidated was preserved\n const cachedQueryAfter = dataManager.queryClient.getQueryCache().find({queryKey});\n expect(cachedQueryAfter?.state.isInvalidated).toBe(isInvalidatedBefore);\n });\n\n it('should work correctly with nested objects', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n const queryKey = ['posts'];\n const initialData = [\n {\n id: '1',\n title: 'Post 1',\n author: {id: '10', name: 'Author 1'},\n },\n ];\n\n dataManager.queryClient.setQueryData(queryKey, initialData);\n dataManager.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Update author\n const mutationData: Data = {id: '10', name: 'Updated Author'};\n dataManager.optimisticUpdate(mutationData);\n\n // Verify that author was updated\n const data = dataManager.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n title: string;\n author: {id: string; name: string};\n }>;\n expect(data[0].author.name).toBe('Updated Author');\n });\n\n it('should not throw if query is not in cache', () => {\n expect(dataManager.normalizer).toBeDefined();\n\n const mutationData: Data = {id: '1', name: 'New'};\n\n // Don't add query to cache, only to normalizer\n // This should not throw an error\n expect(() => {\n dataManager.optimisticUpdate(mutationData);\n }).not.toThrow();\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare const undefinedSymbol: unique symbol;
2
+ export declare const nullSymbol: unique symbol;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.undefinedSymbol = exports.nullSymbol = void 0;
7
+ var undefinedSymbol = exports.undefinedSymbol = Symbol('undefined');
8
+ var nullSymbol = exports.nullSymbol = Symbol('null');
9
+ // #sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["undefinedSymbol","exports","Symbol","nullSymbol"],"sources":["constants.ts"],"sourcesContent":["export const undefinedSymbol = Symbol('undefined');\nexport const nullSymbol = Symbol('null');\n"],"mappings":";;;;;;AAAO,IAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGE,MAAM,CAAC,WAAW,CAAC;AAC3C,IAAMC,UAAU,GAAAF,OAAA,CAAAE,UAAA,GAAGD,MAAM,CAAC,MAAM,CAAC","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
4
+ var _reactQuery = require("@tanstack/react-query");
5
+ var _react = require("@testing-library/react");
6
+ var _useQueryContext = require("../useQueryContext");
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ jest.mock('@tanstack/react-query', function () {
9
+ var originalModule = jest.requireActual('@tanstack/react-query');
10
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalModule), {}, {
11
+ useQueryClient: jest.fn()
12
+ });
13
+ });
14
+ describe('useQueryContext', function () {
15
+ var mockQueryClient = new _reactQuery.QueryClient();
16
+ beforeEach(function () {
17
+ jest.clearAllMocks();
18
+ _reactQuery.useQueryClient.mockReturnValue(mockQueryClient);
19
+ });
20
+ it('should return context with queryClient', function () {
21
+ var _renderHook = (0, _react.renderHook)(function () {
22
+ return (0, _useQueryContext.useQueryContext)();
23
+ }),
24
+ result = _renderHook.result;
25
+ expect(result.current).toEqual({
26
+ queryClient: mockQueryClient
27
+ });
28
+ });
29
+ it('should memoize the context', function () {
30
+ var _renderHook2 = (0, _react.renderHook)(function () {
31
+ return (0, _useQueryContext.useQueryContext)();
32
+ }),
33
+ result = _renderHook2.result,
34
+ rerender = _renderHook2.rerender;
35
+ var firstResult = result.current;
36
+ rerender();
37
+ expect(result.current).toBe(firstResult);
38
+ });
39
+ it('should update context when queryClient changes', function () {
40
+ var _renderHook3 = (0, _react.renderHook)(function () {
41
+ return (0, _useQueryContext.useQueryContext)();
42
+ }),
43
+ result = _renderHook3.result,
44
+ rerender = _renderHook3.rerender;
45
+ var firstResult = result.current;
46
+ var newMockQueryClient = new _reactQuery.QueryClient();
47
+ _reactQuery.useQueryClient.mockReturnValue(newMockQueryClient);
48
+ rerender();
49
+ expect(result.current).not.toBe(firstResult);
50
+ expect(result.current).toEqual({
51
+ queryClient: newMockQueryClient
52
+ });
53
+ });
54
+ });
55
+ // #sourceMappingURL=useQueryContext.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactQuery","require","_react","_useQueryContext","_interopRequireDefault","e","__esModule","default","jest","mock","originalModule","requireActual","_objectSpread","useQueryClient","fn","describe","mockQueryClient","QueryClient","beforeEach","clearAllMocks","mockReturnValue","it","_renderHook","renderHook","useQueryContext","result","expect","current","toEqual","queryClient","_renderHook2","rerender","firstResult","toBe","_renderHook3","newMockQueryClient","not"],"sources":["useQueryContext.test.ts"],"sourcesContent":["import {QueryClient, useQueryClient} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {useQueryContext} from '../useQueryContext';\n\njest.mock('@tanstack/react-query', () => {\n const originalModule = jest.requireActual('@tanstack/react-query');\n return {\n ...originalModule,\n useQueryClient: jest.fn(),\n };\n});\n\ndescribe('useQueryContext', () => {\n const mockQueryClient = new QueryClient();\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n (useQueryClient as jest.Mock).mockReturnValue(mockQueryClient);\n });\n\n it('should return context with queryClient', () => {\n const {result} = renderHook(() => useQueryContext());\n\n expect(result.current).toEqual({queryClient: mockQueryClient});\n });\n\n it('should memoize the context', () => {\n const {result, rerender} = renderHook(() => useQueryContext());\n\n const firstResult = result.current;\n\n rerender();\n\n expect(result.current).toBe(firstResult);\n });\n\n it('should update context when queryClient changes', () => {\n const {result, rerender} = renderHook(() => useQueryContext());\n\n const firstResult = result.current;\n\n const newMockQueryClient = new QueryClient();\n\n (useQueryClient as jest.Mock).mockReturnValue(newMockQueryClient);\n\n rerender();\n\n expect(result.current).not.toBe(firstResult);\n expect(result.current).toEqual({queryClient: newMockQueryClient});\n });\n});\n"],"mappings":";;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AAAkD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElDG,IAAI,CAACC,IAAI,CAAC,uBAAuB,EAAE,YAAM;EACrC,IAAMC,cAAc,GAAGF,IAAI,CAACG,aAAa,CAAC,uBAAuB,CAAC;EAClE,WAAAC,sBAAA,MAAAA,sBAAA,MACOF,cAAc;IACjBG,cAAc,EAAEL,IAAI,CAACM,EAAE,CAAC;EAAC;AAEjC,CAAC,CAAC;AAEFC,QAAQ,CAAC,iBAAiB,EAAE,YAAM;EAC9B,IAAMC,eAAe,GAAG,IAAIC,uBAAW,CAAC,CAAC;EAEzCC,UAAU,CAAC,YAAM;IACbV,IAAI,CAACW,aAAa,CAAC,CAAC;IAEnBN,0BAAc,CAAeO,eAAe,CAACJ,eAAe,CAAC;EAClE,CAAC,CAAC;EAEFK,EAAE,CAAC,wCAAwC,EAAE,YAAM;IAC/C,IAAAC,WAAA,GAAiB,IAAAC,iBAAU,EAAC;QAAA,OAAM,IAAAC,gCAAe,EAAC,CAAC;MAAA,EAAC;MAA7CC,MAAM,GAAAH,WAAA,CAANG,MAAM;IAEbC,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACC,OAAO,CAAC;MAACC,WAAW,EAAEb;IAAe,CAAC,CAAC;EAClE,CAAC,CAAC;EAEFK,EAAE,CAAC,4BAA4B,EAAE,YAAM;IACnC,IAAAS,YAAA,GAA2B,IAAAP,iBAAU,EAAC;QAAA,OAAM,IAAAC,gCAAe,EAAC,CAAC;MAAA,EAAC;MAAvDC,MAAM,GAAAK,YAAA,CAANL,MAAM;MAAEM,QAAQ,GAAAD,YAAA,CAARC,QAAQ;IAEvB,IAAMC,WAAW,GAAGP,MAAM,CAACE,OAAO;IAElCI,QAAQ,CAAC,CAAC;IAEVL,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACM,IAAI,CAACD,WAAW,CAAC;EAC5C,CAAC,CAAC;EAEFX,EAAE,CAAC,gDAAgD,EAAE,YAAM;IACvD,IAAAa,YAAA,GAA2B,IAAAX,iBAAU,EAAC;QAAA,OAAM,IAAAC,gCAAe,EAAC,CAAC;MAAA,EAAC;MAAvDC,MAAM,GAAAS,YAAA,CAANT,MAAM;MAAEM,QAAQ,GAAAG,YAAA,CAARH,QAAQ;IAEvB,IAAMC,WAAW,GAAGP,MAAM,CAACE,OAAO;IAElC,IAAMQ,kBAAkB,GAAG,IAAIlB,uBAAW,CAAC,CAAC;IAE3CJ,0BAAc,CAAeO,eAAe,CAACe,kBAAkB,CAAC;IAEjEJ,QAAQ,CAAC,CAAC;IAEVL,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACS,GAAG,CAACH,IAAI,CAACD,WAAW,CAAC;IAC5CN,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACC,OAAO,CAAC;MAACC,WAAW,EAAEM;IAAkB,CAAC,CAAC;EACrE,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
4
+ var _reactQuery = require("@tanstack/react-query");
5
+ var _react = require("@testing-library/react");
6
+ var _core = require("../../../core");
7
+ var _warnDisabledRefetch = require("../../utils/warnDisabledRefetch");
8
+ var _useQueryContext = require("../useQueryContext");
9
+ var _useQueryData = require("../useQueryData");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ jest.mock('@tanstack/react-query', function () {
12
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, jest.requireActual('@tanstack/react-query')), {}, {
13
+ useQuery: jest.fn(),
14
+ useInfiniteQuery: jest.fn()
15
+ });
16
+ });
17
+ jest.mock('../useQueryContext');
18
+ jest.mock('../../utils/warnDisabledRefetch');
19
+ var mockUseQuery = _reactQuery.useQuery;
20
+ var mockUseInfiniteQuery = _reactQuery.useInfiniteQuery;
21
+ var mockWarnDisabledRefetch = _warnDisabledRefetch.warnDisabledRefetch;
22
+ describe('useQueryData refetch behavior', function () {
23
+ var mockQueryClient = new _reactQuery.QueryClient();
24
+ var mockContext = {
25
+ queryClient: mockQueryClient
26
+ };
27
+ beforeEach(function () {
28
+ jest.clearAllMocks();
29
+ _useQueryContext.useQueryContext.mockReturnValue(mockContext);
30
+ });
31
+ var createMockQueryResult = function createMockQueryResult() {
32
+ var refetch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : jest.fn();
33
+ return {
34
+ data: 'test-data',
35
+ error: null,
36
+ status: 'success',
37
+ fetchStatus: 'idle',
38
+ isLoading: false,
39
+ isError: false,
40
+ isSuccess: true,
41
+ isPending: false,
42
+ refetch: refetch,
43
+ dataUpdatedAt: Date.now(),
44
+ errorUpdatedAt: 0,
45
+ failureCount: 0,
46
+ failureReason: null,
47
+ isFetched: true,
48
+ isFetchedAfterMount: true,
49
+ isFetching: false,
50
+ isInitialLoading: false,
51
+ isLoadingError: false,
52
+ isPaused: false,
53
+ isPlaceholderData: false,
54
+ isPreviousData: false,
55
+ isRefetchError: false,
56
+ isRefetching: false,
57
+ isStale: false,
58
+ promise: Promise.resolve('test-data')
59
+ };
60
+ };
61
+ var createMockInfiniteResult = function createMockInfiniteResult() {
62
+ var refetch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : jest.fn();
63
+ return {
64
+ data: {
65
+ pages: [['item1'], ['item2']],
66
+ pageParams: [undefined, 'next-page']
67
+ },
68
+ error: null,
69
+ status: 'success',
70
+ fetchStatus: 'idle',
71
+ isLoading: false,
72
+ isError: false,
73
+ isSuccess: true,
74
+ isPending: false,
75
+ refetch: refetch,
76
+ hasNextPage: false,
77
+ hasPreviousPage: false,
78
+ fetchNextPage: jest.fn(),
79
+ fetchPreviousPage: jest.fn(),
80
+ isFetchingNextPage: false,
81
+ isFetchingPreviousPage: false,
82
+ dataUpdatedAt: Date.now(),
83
+ errorUpdatedAt: 0,
84
+ failureCount: 0,
85
+ failureReason: null,
86
+ isFetched: true,
87
+ isFetchedAfterMount: true,
88
+ isFetching: false,
89
+ isInitialLoading: false,
90
+ isLoadingError: false,
91
+ isPaused: false,
92
+ isPlaceholderData: false,
93
+ isPreviousData: false,
94
+ isRefetchError: false,
95
+ isRefetching: false,
96
+ isStale: false,
97
+ promise: Promise.resolve({
98
+ pages: [['item1'], ['item2']],
99
+ pageParams: [undefined, 'next-page']
100
+ })
101
+ };
102
+ };
103
+ describe('plain data source', function () {
104
+ var plainDataSource = {
105
+ type: 'plain',
106
+ name: 'test-plain',
107
+ fetch: jest.fn().mockResolvedValue({
108
+ data: 'test-data'
109
+ })
110
+ };
111
+ it('should use original refetch when no enabled option', function () {
112
+ var originalRefetch = jest.fn();
113
+ mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
114
+ var _renderHook = (0, _react.renderHook)(function () {
115
+ return (0, _useQueryData.useQueryData)(plainDataSource, {
116
+ id: 1
117
+ });
118
+ }),
119
+ result = _renderHook.result;
120
+ expect(result.current.refetch).toBe(originalRefetch);
121
+ expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
122
+ });
123
+ it('should use warnDisabledRefetch when enabled: false', function () {
124
+ var originalRefetch = jest.fn();
125
+ mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
126
+ var _renderHook2 = (0, _react.renderHook)(function () {
127
+ return (0, _useQueryData.useQueryData)(plainDataSource, {
128
+ id: 1
129
+ }, {
130
+ enabled: false
131
+ });
132
+ }),
133
+ result = _renderHook2.result;
134
+ expect(result.current.refetch).toBe(mockWarnDisabledRefetch);
135
+ expect(result.current.refetch).not.toBe(originalRefetch);
136
+ });
137
+ it('should use warnDisabledRefetch when params is idle', function () {
138
+ var originalRefetch = jest.fn();
139
+ mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
140
+ var _renderHook3 = (0, _react.renderHook)(function () {
141
+ return (0, _useQueryData.useQueryData)(plainDataSource, _core.idle);
142
+ }),
143
+ result = _renderHook3.result;
144
+ expect(result.current.refetch).toBe(mockWarnDisabledRefetch);
145
+ expect(result.current.refetch).not.toBe(originalRefetch);
146
+ });
147
+ });
148
+ describe('infinite data source', function () {
149
+ var infiniteDataSource = {
150
+ type: 'infinite',
151
+ name: 'test-infinite',
152
+ fetch: jest.fn().mockResolvedValue({
153
+ data: ['item1', 'item2']
154
+ }),
155
+ next: jest.fn()
156
+ };
157
+ it('should use original refetch when no enabled option', function () {
158
+ var originalRefetch = jest.fn();
159
+ mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
160
+ var _renderHook4 = (0, _react.renderHook)(function () {
161
+ return (0, _useQueryData.useQueryData)(infiniteDataSource, {
162
+ id: 1
163
+ });
164
+ }),
165
+ result = _renderHook4.result;
166
+ expect(result.current.refetch).toBe(originalRefetch);
167
+ expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
168
+ });
169
+ it('should use warnDisabledRefetch when enabled: false', function () {
170
+ var originalRefetch = jest.fn();
171
+ mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
172
+ var _renderHook5 = (0, _react.renderHook)(function () {
173
+ return (0, _useQueryData.useQueryData)(infiniteDataSource, {
174
+ id: 1
175
+ }, {
176
+ enabled: false
177
+ });
178
+ }),
179
+ result = _renderHook5.result;
180
+ expect(result.current.refetch).toBe(mockWarnDisabledRefetch);
181
+ expect(result.current.refetch).not.toBe(originalRefetch);
182
+ });
183
+ it('should use warnDisabledRefetch when params is idle', function () {
184
+ var originalRefetch = jest.fn();
185
+ mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
186
+ var _renderHook6 = (0, _react.renderHook)(function () {
187
+ return (0, _useQueryData.useQueryData)(infiniteDataSource, _core.idle);
188
+ }),
189
+ result = _renderHook6.result;
190
+ expect(result.current.refetch).toBe(mockWarnDisabledRefetch);
191
+ expect(result.current.refetch).not.toBe(originalRefetch);
192
+ });
193
+ });
194
+ });
195
+ // #sourceMappingURL=useQueryData.refetch.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactQuery","require","_react","_core","_warnDisabledRefetch","_useQueryContext","_useQueryData","_interopRequireDefault","e","__esModule","default","jest","mock","_objectSpread","requireActual","useQuery","fn","useInfiniteQuery","mockUseQuery","mockUseInfiniteQuery","mockWarnDisabledRefetch","warnDisabledRefetch","describe","mockQueryClient","QueryClient","mockContext","queryClient","beforeEach","clearAllMocks","useQueryContext","mockReturnValue","createMockQueryResult","refetch","arguments","length","undefined","data","error","status","fetchStatus","isLoading","isError","isSuccess","isPending","dataUpdatedAt","Date","now","errorUpdatedAt","failureCount","failureReason","isFetched","isFetchedAfterMount","isFetching","isInitialLoading","isLoadingError","isPaused","isPlaceholderData","isPreviousData","isRefetchError","isRefetching","isStale","promise","Promise","resolve","createMockInfiniteResult","pages","pageParams","hasNextPage","hasPreviousPage","fetchNextPage","fetchPreviousPage","isFetchingNextPage","isFetchingPreviousPage","plainDataSource","type","name","fetch","mockResolvedValue","it","originalRefetch","_renderHook","renderHook","useQueryData","id","result","expect","current","toBe","not","_renderHook2","enabled","_renderHook3","idle","infiniteDataSource","next","_renderHook4","_renderHook5","_renderHook6"],"sources":["useQueryData.refetch.test.ts"],"sourcesContent":["import {QueryClient, useInfiniteQuery, useQuery} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {idle} from '../../../core';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('@tanstack/react-query', () => ({\n ...jest.requireActual('@tanstack/react-query'),\n useQuery: jest.fn(),\n useInfiniteQuery: jest.fn(),\n}));\n\njest.mock('../useQueryContext');\njest.mock('../../utils/warnDisabledRefetch');\n\nconst mockUseQuery = useQuery as jest.MockedFunction<typeof useQuery>;\nconst mockUseInfiniteQuery = useInfiniteQuery as jest.MockedFunction<typeof useInfiniteQuery>;\nconst mockWarnDisabledRefetch = warnDisabledRefetch as jest.MockedFunction<\n typeof warnDisabledRefetch\n>;\n\ndescribe('useQueryData refetch behavior', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n });\n\n const createMockQueryResult = (refetch = jest.fn()) => ({\n data: 'test-data',\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve('test-data'),\n });\n\n const createMockInfiniteResult = (refetch = jest.fn()) => ({\n data: {pages: [['item1'], ['item2']], pageParams: [undefined, 'next-page']},\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n hasNextPage: false,\n hasPreviousPage: false,\n fetchNextPage: jest.fn(),\n fetchPreviousPage: jest.fn(),\n isFetchingNextPage: false,\n isFetchingPreviousPage: false,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve({\n pages: [['item1'], ['item2']],\n pageParams: [undefined, 'next-page'],\n }),\n });\n\n describe('plain data source', () => {\n const plainDataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test-plain',\n fetch: jest.fn().mockResolvedValue({data: 'test-data'}),\n };\n\n it('should use original refetch when no enabled option', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, {id: 1}));\n\n expect(result.current.refetch).toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(plainDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n\n describe('infinite data source', () => {\n const infiniteDataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test-infinite',\n fetch: jest.fn().mockResolvedValue({data: ['item1', 'item2']}),\n next: jest.fn(),\n };\n\n it('should use original refetch when no enabled option', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, {id: 1}));\n\n expect(result.current.refetch).toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(infiniteDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}