@gravity-ui/data-source 0.8.2 → 0.9.1-alpha.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 (272) hide show
  1. package/build/cjs/core/types/DataSource.d.ts +8 -8
  2. package/build/cjs/core/types/DataSource.js.map +1 -1
  3. package/build/cjs/core/utils/withCatch.d.ts +4 -1
  4. package/build/cjs/core/utils/withCatch.js +2 -0
  5. package/build/cjs/core/utils/withCatch.js.map +1 -1
  6. package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.d.ts +3 -0
  7. package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.js +35 -0
  8. package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.js.map +1 -0
  9. package/build/cjs/react/components/AsyncBoundary/index.d.ts +3 -0
  10. package/build/cjs/react/components/AsyncBoundary/index.js +20 -0
  11. package/build/cjs/react/components/AsyncBoundary/index.js.map +1 -0
  12. package/build/cjs/react/components/AsyncBoundary/types.d.ts +13 -0
  13. package/build/cjs/react/components/AsyncBoundary/types.js +6 -0
  14. package/build/cjs/react/components/AsyncBoundary/types.js.map +1 -0
  15. package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.d.ts +3 -0
  16. package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.js +26 -0
  17. package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.js.map +1 -0
  18. package/build/cjs/react/components/EmptyView/EmptyView.d.ts +2 -0
  19. package/build/cjs/react/components/EmptyView/EmptyView.js +10 -0
  20. package/build/cjs/react/components/EmptyView/EmptyView.js.map +1 -0
  21. package/build/cjs/react/components/EmptyView/index.d.ts +1 -0
  22. package/build/cjs/react/components/EmptyView/index.js +13 -0
  23. package/build/cjs/react/components/EmptyView/index.js.map +1 -0
  24. package/build/cjs/react/components/types.d.ts +1 -1
  25. package/build/cjs/react/components/types.js.map +1 -1
  26. package/build/cjs/react/index.d.ts +5 -3
  27. package/build/cjs/react/index.js +27 -3
  28. package/build/cjs/react/index.js.map +1 -1
  29. package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.d.ts +3 -0
  30. package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js +23 -0
  31. package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js.map +1 -0
  32. package/build/cjs/react-query/components/QueryAsyncBoundary/index.d.ts +3 -0
  33. package/build/cjs/react-query/components/QueryAsyncBoundary/index.js +20 -0
  34. package/build/cjs/react-query/components/QueryAsyncBoundary/index.js.map +1 -0
  35. package/build/cjs/react-query/components/QueryAsyncBoundary/types.d.ts +8 -0
  36. package/build/cjs/react-query/components/QueryAsyncBoundary/types.js +6 -0
  37. package/build/cjs/react-query/components/QueryAsyncBoundary/types.js.map +1 -0
  38. package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.d.ts +3 -0
  39. package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js +26 -0
  40. package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js.map +1 -0
  41. package/build/cjs/react-query/hooks/useSuspenseQueryData.d.ts +9 -0
  42. package/build/cjs/react-query/hooks/useSuspenseQueryData.js +22 -0
  43. package/build/cjs/react-query/hooks/useSuspenseQueryData.js.map +1 -0
  44. package/build/cjs/react-query/impl/infinite/hooks.js +5 -1
  45. package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
  46. package/build/cjs/react-query/impl/infinite/types.d.ts +1 -0
  47. package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
  48. package/build/cjs/react-query/impl/plain/hooks.js +5 -1
  49. package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
  50. package/build/cjs/react-query/impl/plain/types.d.ts +1 -0
  51. package/build/cjs/react-query/impl/plain/types.js.map +1 -1
  52. package/build/cjs/react-query/index.d.ts +2 -0
  53. package/build/cjs/react-query/index.js +35 -0
  54. package/build/cjs/react-query/index.js.map +1 -1
  55. package/build/cjs/react-query/types/options.d.ts +5 -0
  56. package/build/cjs/react-query/types/options.js.map +1 -1
  57. package/build/cjs/react-query/utils/warn.d.ts +1 -0
  58. package/build/cjs/react-query/utils/warn.js +15 -0
  59. package/build/cjs/react-query/utils/warn.js.map +1 -0
  60. package/build/cjs/react-query/utils/warnDisabledRefetch.d.ts +1 -0
  61. package/build/cjs/react-query/utils/warnDisabledRefetch.js +27 -0
  62. package/build/cjs/react-query/utils/warnDisabledRefetch.js.map +1 -0
  63. package/build/cjs/react-query/utils/wrapRefetch.d.ts +2 -0
  64. package/build/cjs/react-query/utils/wrapRefetch.js +29 -0
  65. package/build/cjs/react-query/utils/wrapRefetch.js.map +1 -0
  66. package/build/esm/core/types/DataSource.d.ts +8 -8
  67. package/build/esm/core/types/DataSource.js.map +1 -1
  68. package/build/esm/core/utils/withCatch.d.ts +4 -1
  69. package/build/esm/core/utils/withCatch.js +2 -0
  70. package/build/esm/core/utils/withCatch.js.map +1 -1
  71. package/build/esm/react/components/AsyncBoundary/AsyncBoundary.d.ts +3 -0
  72. package/build/esm/react/components/AsyncBoundary/AsyncBoundary.js +28 -0
  73. package/build/esm/react/components/AsyncBoundary/AsyncBoundary.js.map +1 -0
  74. package/build/esm/react/components/AsyncBoundary/index.d.ts +3 -0
  75. package/build/esm/react/components/AsyncBoundary/index.js +3 -0
  76. package/build/esm/react/components/AsyncBoundary/index.js.map +1 -0
  77. package/build/esm/react/components/AsyncBoundary/types.d.ts +13 -0
  78. package/build/esm/react/components/AsyncBoundary/types.js +2 -0
  79. package/build/esm/react/components/AsyncBoundary/types.js.map +1 -0
  80. package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.d.ts +3 -0
  81. package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.js +19 -0
  82. package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.js.map +1 -0
  83. package/build/esm/react/components/EmptyView/EmptyView.d.ts +2 -0
  84. package/build/esm/react/components/EmptyView/EmptyView.js +4 -0
  85. package/build/esm/react/components/EmptyView/EmptyView.js.map +1 -0
  86. package/build/esm/react/components/EmptyView/index.d.ts +1 -0
  87. package/build/esm/react/components/EmptyView/index.js +2 -0
  88. package/build/esm/react/components/EmptyView/index.js.map +1 -0
  89. package/build/esm/react/components/types.d.ts +1 -1
  90. package/build/esm/react/components/types.js.map +1 -1
  91. package/build/esm/react/index.d.ts +5 -3
  92. package/build/esm/react/index.js +4 -2
  93. package/build/esm/react/index.js.map +1 -1
  94. package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.d.ts +3 -0
  95. package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js +16 -0
  96. package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js.map +1 -0
  97. package/build/esm/react-query/components/QueryAsyncBoundary/index.d.ts +3 -0
  98. package/build/esm/react-query/components/QueryAsyncBoundary/index.js +3 -0
  99. package/build/esm/react-query/components/QueryAsyncBoundary/index.js.map +1 -0
  100. package/build/esm/react-query/components/QueryAsyncBoundary/types.d.ts +8 -0
  101. package/build/esm/react-query/components/QueryAsyncBoundary/types.js +2 -0
  102. package/build/esm/react-query/components/QueryAsyncBoundary/types.js.map +1 -0
  103. package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.d.ts +3 -0
  104. package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js +19 -0
  105. package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js.map +1 -0
  106. package/build/esm/react-query/hooks/useSuspenseQueryData.d.ts +9 -0
  107. package/build/esm/react-query/hooks/useSuspenseQueryData.js +15 -0
  108. package/build/esm/react-query/hooks/useSuspenseQueryData.js.map +1 -0
  109. package/build/esm/react-query/impl/infinite/hooks.js +6 -2
  110. package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
  111. package/build/esm/react-query/impl/infinite/types.d.ts +1 -0
  112. package/build/esm/react-query/impl/infinite/types.js.map +1 -1
  113. package/build/esm/react-query/impl/plain/hooks.js +6 -2
  114. package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
  115. package/build/esm/react-query/impl/plain/types.d.ts +1 -0
  116. package/build/esm/react-query/impl/plain/types.js.map +1 -1
  117. package/build/esm/react-query/index.d.ts +2 -0
  118. package/build/esm/react-query/index.js +2 -0
  119. package/build/esm/react-query/index.js.map +1 -1
  120. package/build/esm/react-query/types/options.d.ts +5 -0
  121. package/build/esm/react-query/types/options.js.map +1 -1
  122. package/build/esm/react-query/utils/warn.d.ts +1 -0
  123. package/build/esm/react-query/utils/warn.js +9 -0
  124. package/build/esm/react-query/utils/warn.js.map +1 -0
  125. package/build/esm/react-query/utils/warnDisabledRefetch.d.ts +1 -0
  126. package/build/esm/react-query/utils/warnDisabledRefetch.js +20 -0
  127. package/build/esm/react-query/utils/warnDisabledRefetch.js.map +1 -0
  128. package/build/esm/react-query/utils/wrapRefetch.d.ts +2 -0
  129. package/build/esm/react-query/utils/wrapRefetch.js +22 -0
  130. package/build/esm/react-query/utils/wrapRefetch.js.map +1 -0
  131. package/build/plugin/esbuild.d.mts +7 -0
  132. package/build/plugin/esbuild.mjs +6 -0
  133. package/build/plugin/factory-2tSt4Rte.mjs +513 -0
  134. package/build/plugin/index-mY40Sgl5.d.mts +24 -0
  135. package/build/plugin/index.d.mts +7 -0
  136. package/build/plugin/index.mjs +6 -0
  137. package/build/plugin/rollup.d.mts +6 -0
  138. package/build/plugin/rollup.mjs +6 -0
  139. package/build/plugin/rspack.d.mts +7 -0
  140. package/build/plugin/rspack.mjs +6 -0
  141. package/build/plugin/typings/client.d.ts +11 -0
  142. package/build/plugin/vite.d.mts +6 -0
  143. package/build/plugin/vite.mjs +6 -0
  144. package/build/plugin/webpack.d.mts +7 -0
  145. package/build/plugin/webpack.mjs +6 -0
  146. package/package.json +54 -5
  147. package/build/cjs/core/utils/__tests__/composeFullKey.test.js +0 -34
  148. package/build/cjs/core/utils/__tests__/composeFullKey.test.js.map +0 -1
  149. package/build/cjs/core/utils/__tests__/composeKey.test.js +0 -32
  150. package/build/cjs/core/utils/__tests__/composeKey.test.js.map +0 -1
  151. package/build/cjs/core/utils/__tests__/getError.test.js +0 -31
  152. package/build/cjs/core/utils/__tests__/getError.test.js.map +0 -1
  153. package/build/cjs/core/utils/__tests__/getStatus.test.js +0 -49
  154. package/build/cjs/core/utils/__tests__/getStatus.test.js.map +0 -1
  155. package/build/cjs/core/utils/__tests__/hasTag.test.js +0 -31
  156. package/build/cjs/core/utils/__tests__/hasTag.test.js.map +0 -1
  157. package/build/cjs/core/utils/__tests__/mergeStatuses.test.js +0 -25
  158. package/build/cjs/core/utils/__tests__/mergeStatuses.test.js.map +0 -1
  159. package/build/cjs/core/utils/__tests__/skipContext.test.js +0 -70
  160. package/build/cjs/core/utils/__tests__/skipContext.test.js.map +0 -1
  161. package/build/cjs/core/utils/__tests__/withCancellation.test.js +0 -106
  162. package/build/cjs/core/utils/__tests__/withCancellation.test.js.map +0 -1
  163. package/build/cjs/core/utils/__tests__/withCatch.test.js +0 -208
  164. package/build/cjs/core/utils/__tests__/withCatch.test.js.map +0 -1
  165. package/build/cjs/react/__tests__/DataManagerContext.test.js +0 -47
  166. package/build/cjs/react/__tests__/DataManagerContext.test.js.map +0 -1
  167. package/build/cjs/react/__tests__/withDataManager.test.js +0 -61
  168. package/build/cjs/react/__tests__/withDataManager.test.js.map +0 -1
  169. package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +0 -187
  170. package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +0 -1
  171. package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js +0 -119
  172. package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js.map +0 -1
  173. package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js +0 -177
  174. package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js.map +0 -1
  175. package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js +0 -100
  176. package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js.map +0 -1
  177. package/build/cjs/react-query/__tests__/subscriptions.test.js +0 -1180
  178. package/build/cjs/react-query/__tests__/subscriptions.test.js.map +0 -1
  179. package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +0 -659
  180. package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +0 -1
  181. package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js +0 -229
  182. package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js.map +0 -1
  183. package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js +0 -55
  184. package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js.map +0 -1
  185. package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js +0 -97
  186. package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js.map +0 -1
  187. package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js +0 -77
  188. package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js.map +0 -1
  189. package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js +0 -79
  190. package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js.map +0 -1
  191. package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js +0 -117
  192. package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js.map +0 -1
  193. package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js +0 -156
  194. package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js.map +0 -1
  195. package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +0 -295
  196. package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +0 -1
  197. package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js +0 -27
  198. package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js.map +0 -1
  199. package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js +0 -76
  200. package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +0 -1
  201. package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js +0 -30
  202. package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js.map +0 -1
  203. package/build/cjs/react-query/utils/__tests__/notReachable.test.js +0 -35
  204. package/build/cjs/react-query/utils/__tests__/notReachable.test.js.map +0 -1
  205. package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js +0 -27
  206. package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js.map +0 -1
  207. package/build/cjs/setupTests.d.ts +0 -1
  208. package/build/cjs/setupTests.js +0 -4
  209. package/build/cjs/setupTests.js.map +0 -1
  210. package/build/esm/core/utils/__tests__/composeFullKey.test.js +0 -32
  211. package/build/esm/core/utils/__tests__/composeFullKey.test.js.map +0 -1
  212. package/build/esm/core/utils/__tests__/composeKey.test.js +0 -30
  213. package/build/esm/core/utils/__tests__/composeKey.test.js.map +0 -1
  214. package/build/esm/core/utils/__tests__/getError.test.js +0 -29
  215. package/build/esm/core/utils/__tests__/getError.test.js.map +0 -1
  216. package/build/esm/core/utils/__tests__/getStatus.test.js +0 -47
  217. package/build/esm/core/utils/__tests__/getStatus.test.js.map +0 -1
  218. package/build/esm/core/utils/__tests__/hasTag.test.js +0 -29
  219. package/build/esm/core/utils/__tests__/hasTag.test.js.map +0 -1
  220. package/build/esm/core/utils/__tests__/mergeStatuses.test.js +0 -23
  221. package/build/esm/core/utils/__tests__/mergeStatuses.test.js.map +0 -1
  222. package/build/esm/core/utils/__tests__/skipContext.test.js +0 -67
  223. package/build/esm/core/utils/__tests__/skipContext.test.js.map +0 -1
  224. package/build/esm/core/utils/__tests__/withCancellation.test.js +0 -104
  225. package/build/esm/core/utils/__tests__/withCancellation.test.js.map +0 -1
  226. package/build/esm/core/utils/__tests__/withCatch.test.js +0 -205
  227. package/build/esm/core/utils/__tests__/withCatch.test.js.map +0 -1
  228. package/build/esm/react/__tests__/DataManagerContext.test.js +0 -44
  229. package/build/esm/react/__tests__/DataManagerContext.test.js.map +0 -1
  230. package/build/esm/react/__tests__/withDataManager.test.js +0 -58
  231. package/build/esm/react/__tests__/withDataManager.test.js.map +0 -1
  232. package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +0 -184
  233. package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +0 -1
  234. package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js +0 -116
  235. package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js.map +0 -1
  236. package/build/esm/react-query/__tests__/createQueryNormalizer.test.js +0 -174
  237. package/build/esm/react-query/__tests__/createQueryNormalizer.test.js.map +0 -1
  238. package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js +0 -98
  239. package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js.map +0 -1
  240. package/build/esm/react-query/__tests__/subscriptions.test.js +0 -1176
  241. package/build/esm/react-query/__tests__/subscriptions.test.js.map +0 -1
  242. package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +0 -656
  243. package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +0 -1
  244. package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js +0 -227
  245. package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js.map +0 -1
  246. package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js +0 -52
  247. package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js.map +0 -1
  248. package/build/esm/react-query/hooks/__tests__/useQueryData.test.js +0 -95
  249. package/build/esm/react-query/hooks/__tests__/useQueryData.test.js.map +0 -1
  250. package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js +0 -74
  251. package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js.map +0 -1
  252. package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js +0 -77
  253. package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js.map +0 -1
  254. package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js +0 -115
  255. package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js.map +0 -1
  256. package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js +0 -154
  257. package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js.map +0 -1
  258. package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +0 -292
  259. package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +0 -1
  260. package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js +0 -25
  261. package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js.map +0 -1
  262. package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js +0 -74
  263. package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +0 -1
  264. package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js +0 -28
  265. package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js.map +0 -1
  266. package/build/esm/react-query/utils/__tests__/notReachable.test.js +0 -33
  267. package/build/esm/react-query/utils/__tests__/notReachable.test.js.map +0 -1
  268. package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js +0 -25
  269. package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js.map +0 -1
  270. package/build/esm/setupTests.d.ts +0 -1
  271. package/build/esm/setupTests.js +0 -2
  272. package/build/esm/setupTests.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","renderHook","waitFor","ClientDataManager","DataSourceProvider","useQueryData","makePlainQueryDataSource","jsx","_jsx","describe","queryClient","dataManager","beforeEach","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","fetch","_fetch","_callee11","_callee11$","_context11","options","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","_callee20","dm","_callee20$","_context20","update","_callee21","cache","invalidateSpy","_callee21$","_context21","getQueryCache","find","setState","fetchStatus","isInvalidated","spyOn","mockRestore","_callee22","originalGetQueriesToUpdate","_callee22$","_context22","email","age","getQueriesToUpdate","mockReturnValue"],"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 describe('ClientDataManager.update()', () => {\n it('should work with array of objects for optimistic update', async () => {\n const dm = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n optimistic: true,\n },\n });\n\n dm.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [\n {id: '1', name: 'User 1'},\n {id: '2', name: 'User 2'},\n ];\n\n dm.queryClient.setQueryData(queryKey, initialData);\n dm.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Update both objects\n dm.update([\n {id: '1', name: 'Updated 1'},\n {id: '2', name: 'Updated 2'},\n ]);\n\n const data = dm.queryClient.getQueryData(queryKey) as Array<{\n id: string;\n name: string;\n }>;\n\n expect(data[0].name).toBe('Updated 1');\n expect(data[1].name).toBe('Updated 2');\n\n dm.queryNormalizer!.unsubscribe();\n dm.queryClient.clear();\n });\n\n it('should call invalidateData when invalidate option is enabled', async () => {\n const dm = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true,\n },\n });\n\n dm.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n const initialData = [{id: '1', name: 'User 1'}];\n\n dm.queryClient.setQueryData(queryKey, initialData);\n dm.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Set query state to success so it can be invalidated\n const cache = dm.queryClient.getQueryCache().find({queryKey});\n cache?.setState({status: 'success', fetchStatus: 'idle', isInvalidated: false});\n\n const invalidateSpy = jest.spyOn(dm, 'invalidateData');\n\n dm.update({id: '1', name: 'Updated'});\n\n expect(invalidateSpy).toHaveBeenCalled();\n\n invalidateSpy.mockRestore();\n dm.queryNormalizer!.unsubscribe();\n dm.queryClient.clear();\n });\n\n it('should trigger refetch when mutation has fewer keys and normy returns empty queriesToUpdate', async () => {\n // checkMutationObjectsKeys is called only when getQueriesToUpdate returns []\n // This happens when normy can't compute a diff (e.g., structure mismatch)\n const dm = new ClientDataManager({\n normalizerConfig: {\n devLogging: false,\n invalidate: true, // Need to enable invalidate for refetch to work\n },\n });\n\n dm.queryNormalizer!.subscribe();\n\n const queryKey = ['users'];\n // Store data with more keys\n const initialData = [{id: '1', name: 'User 1', email: 'user@test.com', age: 25}];\n\n dm.queryClient.setQueryData(queryKey, initialData);\n dm.normalizer!.setQuery(JSON.stringify(queryKey), initialData);\n\n // Set query state to success so it can be invalidated\n const cache = dm.queryClient.getQueryCache().find({queryKey});\n cache?.setState({status: 'success', fetchStatus: 'idle', isInvalidated: false});\n\n // Mock getQueriesToUpdate to return empty array (simulating normy can't compute diff)\n const originalGetQueriesToUpdate = dm.normalizer!.getQueriesToUpdate;\n dm.normalizer!.getQueriesToUpdate = jest.fn().mockReturnValue([]);\n\n const invalidateSpy = jest.spyOn(dm.queryClient, 'invalidateQueries');\n\n // Update with fewer keys - should trigger refetch via checkMutationObjectsKeys\n dm.update({id: '1', name: 'Updated'});\n\n // Check if invalidation was triggered due to fewer keys\n expect(invalidateSpy).toHaveBeenCalled();\n\n // Restore mocks\n dm.normalizer!.getQueriesToUpdate = originalGetQueriesToUpdate;\n invalidateSpy.mockRestore();\n dm.queryNormalizer!.unsubscribe();\n dm.queryClient.clear();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,227 +0,0 @@
1
- import { ClientDataManager } from '../ClientDataManager';
2
- describe('updateQueriesFromMutationData', function () {
3
- var dataManager;
4
- beforeEach(function () {
5
- dataManager = new ClientDataManager({
6
- defaultOptions: {
7
- queries: {
8
- retry: false
9
- },
10
- mutations: {
11
- retry: false
12
- }
13
- },
14
- normalizerConfig: {
15
- devLogging: false
16
- }
17
- });
18
- });
19
- afterEach(function () {
20
- dataManager.queryClient.clear();
21
- });
22
- it('should update query data based on normalized data', function () {
23
- expect(dataManager.normalizer).toBeDefined();
24
-
25
- // Set initial data in query
26
- var queryKey = ['users'];
27
- dataManager.queryClient.setQueryData(queryKey, [{
28
- id: '1',
29
- name: 'Old Name'
30
- }]);
31
-
32
- // Add query to normalizer
33
- dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
34
- id: '1',
35
- name: 'Old Name'
36
- }]);
37
-
38
- // Update data via mutation
39
- var mutationData = {
40
- id: '1',
41
- name: 'New Name'
42
- };
43
- dataManager.optimisticUpdate(mutationData);
44
-
45
- // Verify that data was updated
46
- var updatedData = dataManager.queryClient.getQueryData(queryKey);
47
- expect(updatedData).toBeDefined();
48
- expect(updatedData[0].name).toBe('New Name');
49
- });
50
- it('should update multiple queries with the same object', function () {
51
- expect(dataManager.normalizer).toBeDefined();
52
- var queryKey1 = ['users'];
53
- var queryKey2 = ['user', '1'];
54
-
55
- // Set data in both queries
56
- dataManager.queryClient.setQueryData(queryKey1, [{
57
- id: '1',
58
- name: 'User 1'
59
- }]);
60
- dataManager.queryClient.setQueryData(queryKey2, {
61
- id: '1',
62
- name: 'User 1'
63
- });
64
-
65
- // Add to normalizer
66
- dataManager.normalizer.setQuery(JSON.stringify(queryKey1), [{
67
- id: '1',
68
- name: 'User 1'
69
- }]);
70
- dataManager.normalizer.setQuery(JSON.stringify(queryKey2), {
71
- id: '1',
72
- name: 'User 1'
73
- });
74
-
75
- // Update via mutation
76
- var mutationData = {
77
- id: '1',
78
- name: 'Updated User'
79
- };
80
- dataManager.optimisticUpdate(mutationData);
81
-
82
- // Check both queries
83
- var data1 = dataManager.queryClient.getQueryData(queryKey1);
84
- var data2 = dataManager.queryClient.getQueryData(queryKey2);
85
- expect(data1[0].name).toBe('Updated User');
86
- expect(data2.name).toBe('Updated User');
87
- });
88
- it('should preserve dataUpdatedAt on update', function () {
89
- expect(dataManager.normalizer).toBeDefined();
90
- var queryKey = ['users'];
91
- var originalUpdatedAt = Date.now();
92
-
93
- // Set initial data
94
- dataManager.queryClient.setQueryData(queryKey, [{
95
- id: '1',
96
- name: 'Old'
97
- }], {
98
- updatedAt: originalUpdatedAt
99
- });
100
- dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
101
- id: '1',
102
- name: 'Old'
103
- }]);
104
-
105
- // Update data
106
- var mutationData = {
107
- id: '1',
108
- name: 'New'
109
- };
110
- dataManager.optimisticUpdate(mutationData);
111
-
112
- // Verify that dataUpdatedAt was preserved
113
- var cachedQuery = dataManager.queryClient.getQueryCache().find({
114
- queryKey: queryKey
115
- });
116
- expect(cachedQuery === null || cachedQuery === void 0 ? void 0 : cachedQuery.state.dataUpdatedAt).toBe(originalUpdatedAt);
117
- });
118
- it('should preserve error state on update', function () {
119
- expect(dataManager.normalizer).toBeDefined();
120
- var queryKey = ['users'];
121
- var error = new Error('Test error');
122
-
123
- // Set initial data with error
124
- dataManager.queryClient.setQueryData(queryKey, [{
125
- id: '1',
126
- name: 'Old'
127
- }]);
128
- var cachedQuery = dataManager.queryClient.getQueryCache().find({
129
- queryKey: queryKey
130
- });
131
- cachedQuery === null || cachedQuery === void 0 || cachedQuery.setState({
132
- error: error,
133
- status: 'error'
134
- });
135
- dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
136
- id: '1',
137
- name: 'Old'
138
- }]);
139
-
140
- // Update data
141
- var mutationData = {
142
- id: '1',
143
- name: 'New'
144
- };
145
- dataManager.optimisticUpdate(mutationData);
146
-
147
- // Verify that error and status were preserved
148
- var updatedQuery = dataManager.queryClient.getQueryCache().find({
149
- queryKey: queryKey
150
- });
151
- expect(updatedQuery === null || updatedQuery === void 0 ? void 0 : updatedQuery.state.error).toBe(error);
152
- expect(updatedQuery === null || updatedQuery === void 0 ? void 0 : updatedQuery.state.status).toBe('error');
153
- });
154
- it('should preserve isInvalidated flag on update', function () {
155
- expect(dataManager.normalizer).toBeDefined();
156
- var queryKey = ['users'];
157
-
158
- // Set initial data and invalidate
159
- dataManager.queryClient.setQueryData(queryKey, [{
160
- id: '1',
161
- name: 'Old'
162
- }]);
163
- dataManager.queryClient.invalidateQueries({
164
- queryKey: queryKey
165
- });
166
- dataManager.normalizer.setQuery(JSON.stringify(queryKey), [{
167
- id: '1',
168
- name: 'Old'
169
- }]);
170
- var cachedQueryBefore = dataManager.queryClient.getQueryCache().find({
171
- queryKey: queryKey
172
- });
173
- var isInvalidatedBefore = cachedQueryBefore === null || cachedQueryBefore === void 0 ? void 0 : cachedQueryBefore.state.isInvalidated;
174
-
175
- // Update data
176
- var mutationData = {
177
- id: '1',
178
- name: 'New'
179
- };
180
- dataManager.optimisticUpdate(mutationData);
181
-
182
- // Verify that isInvalidated was preserved
183
- var cachedQueryAfter = dataManager.queryClient.getQueryCache().find({
184
- queryKey: queryKey
185
- });
186
- expect(cachedQueryAfter === null || cachedQueryAfter === void 0 ? void 0 : cachedQueryAfter.state.isInvalidated).toBe(isInvalidatedBefore);
187
- });
188
- it('should work correctly with nested objects', function () {
189
- expect(dataManager.normalizer).toBeDefined();
190
- var queryKey = ['posts'];
191
- var initialData = [{
192
- id: '1',
193
- title: 'Post 1',
194
- author: {
195
- id: '10',
196
- name: 'Author 1'
197
- }
198
- }];
199
- dataManager.queryClient.setQueryData(queryKey, initialData);
200
- dataManager.normalizer.setQuery(JSON.stringify(queryKey), initialData);
201
-
202
- // Update author
203
- var mutationData = {
204
- id: '10',
205
- name: 'Updated Author'
206
- };
207
- dataManager.optimisticUpdate(mutationData);
208
-
209
- // Verify that author was updated
210
- var data = dataManager.queryClient.getQueryData(queryKey);
211
- expect(data[0].author.name).toBe('Updated Author');
212
- });
213
- it('should not throw if query is not in cache', function () {
214
- expect(dataManager.normalizer).toBeDefined();
215
- var mutationData = {
216
- id: '1',
217
- name: 'New'
218
- };
219
-
220
- // Don't add query to cache, only to normalizer
221
- // This should not throw an error
222
- expect(function () {
223
- dataManager.optimisticUpdate(mutationData);
224
- }).not.toThrow();
225
- });
226
- });
227
- // #sourceMappingURL=updateQueriesFromMutationData.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ClientDataManager","describe","dataManager","beforeEach","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":[]}
@@ -1,52 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import { QueryClient, useQueryClient } from '@tanstack/react-query';
3
- import { renderHook } from '@testing-library/react';
4
- import { useQueryContext } from '../useQueryContext';
5
- jest.mock('@tanstack/react-query', function () {
6
- var originalModule = jest.requireActual('@tanstack/react-query');
7
- return _objectSpread(_objectSpread({}, originalModule), {}, {
8
- useQueryClient: jest.fn()
9
- });
10
- });
11
- describe('useQueryContext', function () {
12
- var mockQueryClient = new QueryClient();
13
- beforeEach(function () {
14
- jest.clearAllMocks();
15
- useQueryClient.mockReturnValue(mockQueryClient);
16
- });
17
- it('should return context with queryClient', function () {
18
- var _renderHook = renderHook(function () {
19
- return useQueryContext();
20
- }),
21
- result = _renderHook.result;
22
- expect(result.current).toEqual({
23
- queryClient: mockQueryClient
24
- });
25
- });
26
- it('should memoize the context', function () {
27
- var _renderHook2 = renderHook(function () {
28
- return useQueryContext();
29
- }),
30
- result = _renderHook2.result,
31
- rerender = _renderHook2.rerender;
32
- var firstResult = result.current;
33
- rerender();
34
- expect(result.current).toBe(firstResult);
35
- });
36
- it('should update context when queryClient changes', function () {
37
- var _renderHook3 = renderHook(function () {
38
- return useQueryContext();
39
- }),
40
- result = _renderHook3.result,
41
- rerender = _renderHook3.rerender;
42
- var firstResult = result.current;
43
- var newMockQueryClient = new QueryClient();
44
- useQueryClient.mockReturnValue(newMockQueryClient);
45
- rerender();
46
- expect(result.current).not.toBe(firstResult);
47
- expect(result.current).toEqual({
48
- queryClient: newMockQueryClient
49
- });
50
- });
51
- });
52
- // #sourceMappingURL=useQueryContext.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["QueryClient","useQueryClient","renderHook","useQueryContext","jest","mock","originalModule","requireActual","_objectSpread","fn","describe","mockQueryClient","beforeEach","clearAllMocks","mockReturnValue","it","_renderHook","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,SAAQA,WAAW,EAAEC,cAAc,QAAO,uBAAuB;AACjE,SAAQC,UAAU,QAAO,wBAAwB;AAEjD,SAAQC,eAAe,QAAO,oBAAoB;AAElDC,IAAI,CAACC,IAAI,CAAC,uBAAuB,EAAE,YAAM;EACrC,IAAMC,cAAc,GAAGF,IAAI,CAACG,aAAa,CAAC,uBAAuB,CAAC;EAClE,OAAAC,aAAA,CAAAA,aAAA,KACOF,cAAc;IACjBL,cAAc,EAAEG,IAAI,CAACK,EAAE,CAAC;EAAC;AAEjC,CAAC,CAAC;AAEFC,QAAQ,CAAC,iBAAiB,EAAE,YAAM;EAC9B,IAAMC,eAAe,GAAG,IAAIX,WAAW,CAAC,CAAC;EAEzCY,UAAU,CAAC,YAAM;IACbR,IAAI,CAACS,aAAa,CAAC,CAAC;IAEnBZ,cAAc,CAAea,eAAe,CAACH,eAAe,CAAC;EAClE,CAAC,CAAC;EAEFI,EAAE,CAAC,wCAAwC,EAAE,YAAM;IAC/C,IAAAC,WAAA,GAAiBd,UAAU,CAAC;QAAA,OAAMC,eAAe,CAAC,CAAC;MAAA,EAAC;MAA7Cc,MAAM,GAAAD,WAAA,CAANC,MAAM;IAEbC,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACC,OAAO,CAAC;MAACC,WAAW,EAAEV;IAAe,CAAC,CAAC;EAClE,CAAC,CAAC;EAEFI,EAAE,CAAC,4BAA4B,EAAE,YAAM;IACnC,IAAAO,YAAA,GAA2BpB,UAAU,CAAC;QAAA,OAAMC,eAAe,CAAC,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;EAEFT,EAAE,CAAC,gDAAgD,EAAE,YAAM;IACvD,IAAAW,YAAA,GAA2BxB,UAAU,CAAC;QAAA,OAAMC,eAAe,CAAC,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,IAAI3B,WAAW,CAAC,CAAC;IAE3CC,cAAc,CAAea,eAAe,CAACa,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":[]}
@@ -1,95 +0,0 @@
1
- import { QueryClient } from '@tanstack/react-query';
2
- import { renderHook } from '@testing-library/react';
3
- import { useInfiniteQueryData } from '../../impl/infinite/hooks';
4
- import { usePlainQueryData } from '../../impl/plain/hooks';
5
- import { notReachable } from '../../utils/notReachable';
6
- import { useQueryContext } from '../useQueryContext';
7
- import { useQueryData } from '../useQueryData';
8
- jest.mock('../useQueryContext');
9
- jest.mock('../../impl/plain/hooks');
10
- jest.mock('../../impl/infinite/hooks');
11
- jest.mock('../../utils/notReachable');
12
- describe('useQueryData', function () {
13
- var mockQueryClient = new QueryClient();
14
- var mockContext = {
15
- queryClient: mockQueryClient
16
- };
17
- var mockPlainState = {
18
- status: 'success',
19
- data: 'plain data'
20
- };
21
- var mockInfiniteState = {
22
- status: 'success',
23
- data: ['infinite data']
24
- };
25
- beforeEach(function () {
26
- jest.clearAllMocks();
27
- useQueryContext.mockReturnValue(mockContext);
28
- usePlainQueryData.mockReturnValue(mockPlainState);
29
- useInfiniteQueryData.mockReturnValue(mockInfiniteState);
30
- notReachable.mockReturnValue('not reachable');
31
- });
32
- it('should call usePlainQueryData for plain data source', function () {
33
- var dataSource = {
34
- type: 'plain',
35
- name: 'test',
36
- fetch: jest.fn()
37
- };
38
- var params = {
39
- id: 1
40
- };
41
- var options = {
42
- refetchInterval: 1000
43
- };
44
- var _renderHook = renderHook(function () {
45
- return useQueryData(dataSource, params, options);
46
- }),
47
- result = _renderHook.result;
48
- expect(useQueryContext).toHaveBeenCalled();
49
- expect(usePlainQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);
50
- expect(useInfiniteQueryData).not.toHaveBeenCalled();
51
- expect(result.current).toBe(mockPlainState);
52
- });
53
- it('should call useInfiniteQueryData for infinite data source', function () {
54
- var dataSource = {
55
- type: 'infinite',
56
- name: 'test',
57
- fetch: jest.fn(),
58
- next: jest.fn()
59
- };
60
- var params = {
61
- id: 1
62
- };
63
- var options = {
64
- refetchInterval: 1000
65
- };
66
- var _renderHook2 = renderHook(function () {
67
- return useQueryData(dataSource, params, options);
68
- }),
69
- result = _renderHook2.result;
70
- expect(useQueryContext).toHaveBeenCalled();
71
- expect(useInfiniteQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);
72
- expect(usePlainQueryData).not.toHaveBeenCalled();
73
- expect(result.current).toBe(mockInfiniteState);
74
- });
75
- it('should call notReachable for unknown data source type', function () {
76
- var dataSource = {
77
- type: 'unknown',
78
- name: 'test',
79
- fetch: jest.fn()
80
- };
81
- var params = {
82
- id: 1
83
- };
84
- notReachable.mockImplementation(function () {
85
- return 'not reachable';
86
- });
87
- renderHook(function () {
88
- return useQueryData(dataSource, params);
89
- });
90
- expect(usePlainQueryData).not.toHaveBeenCalled();
91
- expect(useInfiniteQueryData).not.toHaveBeenCalled();
92
- expect(notReachable).toHaveBeenCalledWith('unknown', expect.any(String));
93
- });
94
- });
95
- // #sourceMappingURL=useQueryData.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["QueryClient","renderHook","useInfiniteQueryData","usePlainQueryData","notReachable","useQueryContext","useQueryData","jest","mock","describe","mockQueryClient","mockContext","queryClient","mockPlainState","status","data","mockInfiniteState","beforeEach","clearAllMocks","mockReturnValue","it","dataSource","type","name","fetch","fn","params","id","options","refetchInterval","_renderHook","result","expect","toHaveBeenCalled","toHaveBeenCalledWith","not","current","toBe","next","_renderHook2","mockImplementation","any","String"],"sources":["useQueryData.test.ts"],"sourcesContent":["import {QueryClient} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {useInfiniteQueryData} from '../../impl/infinite/hooks';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport {usePlainQueryData} from '../../impl/plain/hooks';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport type {AnyQueryDataSource} from '../../types/base';\nimport {notReachable} from '../../utils/notReachable';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('../useQueryContext');\njest.mock('../../impl/plain/hooks');\njest.mock('../../impl/infinite/hooks');\njest.mock('../../utils/notReachable');\n\ndescribe('useQueryData', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n const mockPlainState = {status: 'success', data: 'plain data'};\n const mockInfiniteState = {status: 'success', data: ['infinite data']};\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n (usePlainQueryData as jest.Mock).mockReturnValue(mockPlainState);\n (useInfiniteQueryData as jest.Mock).mockReturnValue(mockInfiniteState);\n (notReachable as unknown as jest.Mock).mockReturnValue('not reachable');\n });\n\n it('should call usePlainQueryData for plain data source', () => {\n const dataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test',\n fetch: jest.fn(),\n };\n const params = {id: 1};\n const options = {refetchInterval: 1000};\n\n const {result} = renderHook(() => useQueryData(dataSource, params, options));\n\n expect(useQueryContext).toHaveBeenCalled();\n expect(usePlainQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);\n expect(useInfiniteQueryData).not.toHaveBeenCalled();\n expect(result.current).toBe(mockPlainState);\n });\n\n it('should call useInfiniteQueryData for infinite data source', () => {\n const dataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test',\n fetch: jest.fn(),\n next: jest.fn(),\n };\n const params = {id: 1};\n const options = {refetchInterval: 1000};\n\n const {result} = renderHook(() => useQueryData(dataSource, params, options));\n\n expect(useQueryContext).toHaveBeenCalled();\n expect(useInfiniteQueryData).toHaveBeenCalledWith(mockContext, dataSource, params, options);\n expect(usePlainQueryData).not.toHaveBeenCalled();\n expect(result.current).toBe(mockInfiniteState);\n });\n\n it('should call notReachable for unknown data source type', () => {\n const dataSource = {\n type: 'unknown',\n name: 'test',\n fetch: jest.fn(),\n } as unknown as AnyQueryDataSource;\n const params = {id: 1};\n\n (notReachable as unknown as jest.Mock).mockImplementation(() => {\n return 'not reachable';\n });\n\n renderHook(() => useQueryData(dataSource, params));\n\n expect(usePlainQueryData).not.toHaveBeenCalled();\n expect(useInfiniteQueryData).not.toHaveBeenCalled();\n expect(notReachable).toHaveBeenCalledWith('unknown', expect.any(String));\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,74 +0,0 @@
1
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
- import { renderHook } from '@testing-library/react';
3
- import { getError, getStatus } from '../../../core';
4
- import { useQueryResponses } from '../useQueryResponses';
5
- import { useRefetchAll } from '../useRefetchAll';
6
- import { useRefetchErrored } from '../useRefetchErrored';
7
- jest.mock('../useRefetchAll');
8
- jest.mock('../useRefetchErrored');
9
- jest.mock('../../../core', function () {
10
- var originalModule = jest.requireActual('../../../core');
11
- return _objectSpread(_objectSpread({}, originalModule), {}, {
12
- getStatus: jest.fn(),
13
- getError: jest.fn()
14
- });
15
- });
16
- describe('useQueryResponses', function () {
17
- var mockRefetchAll = jest.fn();
18
- var mockRefetchErrored = jest.fn();
19
- beforeEach(function () {
20
- jest.clearAllMocks();
21
- useRefetchAll.mockReturnValue(mockRefetchAll);
22
- useRefetchErrored.mockReturnValue(mockRefetchErrored);
23
- getStatus.mockReturnValue('success');
24
- getError.mockReturnValue(null);
25
- });
26
- it('should return combined status, error, and refetch functions', function () {
27
- var responses = [{
28
- status: 'loading',
29
- error: null,
30
- refetch: jest.fn()
31
- }, {
32
- status: 'success',
33
- error: null,
34
- refetch: jest.fn()
35
- }, {
36
- status: 'error',
37
- error: {
38
- message: 'Error'
39
- },
40
- refetch: jest.fn()
41
- }];
42
- var _renderHook = renderHook(function () {
43
- return useQueryResponses(responses);
44
- }),
45
- result = _renderHook.result;
46
- expect(getStatus).toHaveBeenCalledWith(responses);
47
- expect(getError).toHaveBeenCalledWith(responses);
48
- expect(useRefetchAll).toHaveBeenCalledWith(responses);
49
- expect(useRefetchErrored).toHaveBeenCalledWith(responses);
50
- expect(result.current).toEqual({
51
- status: 'success',
52
- error: null,
53
- refetch: mockRefetchAll,
54
- refetchErrored: mockRefetchErrored
55
- });
56
- });
57
- it('should handle empty responses array', function () {
58
- var _renderHook2 = renderHook(function () {
59
- return useQueryResponses([]);
60
- }),
61
- result = _renderHook2.result;
62
- expect(getStatus).toHaveBeenCalledWith([]);
63
- expect(getError).toHaveBeenCalledWith([]);
64
- expect(useRefetchAll).toHaveBeenCalledWith([]);
65
- expect(useRefetchErrored).toHaveBeenCalledWith([]);
66
- expect(result.current).toEqual({
67
- status: 'success',
68
- error: null,
69
- refetch: mockRefetchAll,
70
- refetchErrored: mockRefetchErrored
71
- });
72
- });
73
- });
74
- // #sourceMappingURL=useQueryResponses.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["renderHook","getError","getStatus","useQueryResponses","useRefetchAll","useRefetchErrored","jest","mock","originalModule","requireActual","_objectSpread","fn","describe","mockRefetchAll","mockRefetchErrored","beforeEach","clearAllMocks","mockReturnValue","it","responses","status","error","refetch","message","_renderHook","result","expect","toHaveBeenCalledWith","current","toEqual","refetchErrored","_renderHook2"],"sources":["useQueryResponses.test.ts"],"sourcesContent":["import {renderHook} from '@testing-library/react';\n\nimport {getError, getStatus} from '../../../core';\nimport type {DataLoaderStatus} from '../../../core/types/DataLoaderStatus';\nimport {useQueryResponses} from '../useQueryResponses';\nimport {useRefetchAll} from '../useRefetchAll';\nimport {useRefetchErrored} from '../useRefetchErrored';\n\njest.mock('../useRefetchAll');\njest.mock('../useRefetchErrored');\njest.mock('../../../core', () => {\n const originalModule = jest.requireActual('../../../core');\n return {\n ...originalModule,\n getStatus: jest.fn(),\n getError: jest.fn(),\n };\n});\n\ndescribe('useQueryResponses', () => {\n const mockRefetchAll = jest.fn();\n const mockRefetchErrored = jest.fn();\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n (useRefetchAll as jest.Mock).mockReturnValue(mockRefetchAll);\n (useRefetchErrored as jest.Mock).mockReturnValue(mockRefetchErrored);\n (getStatus as jest.Mock).mockReturnValue('success');\n (getError as jest.Mock).mockReturnValue(null);\n });\n\n it('should return combined status, error, and refetch functions', () => {\n const responses = [\n {status: 'loading' as DataLoaderStatus, error: null, refetch: jest.fn()},\n {status: 'success' as DataLoaderStatus, error: null, refetch: jest.fn()},\n {status: 'error' as DataLoaderStatus, error: {message: 'Error'}, refetch: jest.fn()},\n ];\n\n const {result} = renderHook(() => useQueryResponses(responses));\n\n expect(getStatus).toHaveBeenCalledWith(responses);\n expect(getError).toHaveBeenCalledWith(responses);\n expect(useRefetchAll).toHaveBeenCalledWith(responses);\n expect(useRefetchErrored).toHaveBeenCalledWith(responses);\n expect(result.current).toEqual({\n status: 'success',\n error: null,\n refetch: mockRefetchAll,\n refetchErrored: mockRefetchErrored,\n });\n });\n\n it('should handle empty responses array', () => {\n const {result} = renderHook(() => useQueryResponses([]));\n\n expect(getStatus).toHaveBeenCalledWith([]);\n expect(getError).toHaveBeenCalledWith([]);\n expect(useRefetchAll).toHaveBeenCalledWith([]);\n expect(useRefetchErrored).toHaveBeenCalledWith([]);\n expect(result.current).toEqual({\n status: 'success',\n error: null,\n refetch: mockRefetchAll,\n refetchErrored: mockRefetchErrored,\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}