@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,208 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
4
- var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
5
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
- var _withCatch = require("../withCatch");
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- describe('withCatch', function () {
9
- it('should return the result of the fetch function when it succeeds', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
10
- var mockFetch, mockErrorHandler, safeFetch, result;
11
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
12
- while (1) switch (_context.prev = _context.next) {
13
- case 0:
14
- mockFetch = jest.fn().mockResolvedValue({
15
- data: 'success'
16
- });
17
- mockErrorHandler = jest.fn().mockReturnValue({
18
- error: 'handled'
19
- });
20
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
21
- _context.next = 5;
22
- return safeFetch('arg1', 42);
23
- case 5:
24
- result = _context.sent;
25
- expect(mockFetch).toHaveBeenCalledWith('arg1', 42);
26
- expect(mockErrorHandler).not.toHaveBeenCalled();
27
- expect(result).toEqual({
28
- data: 'success'
29
- });
30
- case 9:
31
- case "end":
32
- return _context.stop();
33
- }
34
- }, _callee);
35
- })));
36
- it('should call the error handler when the fetch function fails', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
37
- var error, mockFetch, mockErrorHandler, safeFetch, result;
38
- return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
39
- while (1) switch (_context2.prev = _context2.next) {
40
- case 0:
41
- error = new Error('fetch failed');
42
- mockFetch = jest.fn().mockRejectedValue(error);
43
- mockErrorHandler = jest.fn().mockReturnValue({
44
- error: 'handled'
45
- });
46
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
47
- _context2.next = 6;
48
- return safeFetch('arg1', 42);
49
- case 6:
50
- result = _context2.sent;
51
- expect(mockFetch).toHaveBeenCalledWith('arg1', 42);
52
- expect(mockErrorHandler).toHaveBeenCalledWith(error);
53
- expect(result).toEqual({
54
- error: 'handled'
55
- });
56
- case 10:
57
- case "end":
58
- return _context2.stop();
59
- }
60
- }, _callee2);
61
- })));
62
- it('should work with functions that take no parameters', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3() {
63
- var mockFetch, mockErrorHandler, safeFetch, result;
64
- return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
65
- while (1) switch (_context3.prev = _context3.next) {
66
- case 0:
67
- mockFetch = jest.fn().mockResolvedValue({
68
- data: 'success'
69
- });
70
- mockErrorHandler = jest.fn().mockReturnValue({
71
- error: 'handled'
72
- });
73
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
74
- _context3.next = 5;
75
- return safeFetch();
76
- case 5:
77
- result = _context3.sent;
78
- expect(mockFetch).toHaveBeenCalledWith();
79
- expect(mockErrorHandler).not.toHaveBeenCalled();
80
- expect(result).toEqual({
81
- data: 'success'
82
- });
83
- case 9:
84
- case "end":
85
- return _context3.stop();
86
- }
87
- }, _callee3);
88
- })));
89
- it('should work with functions that take multiple parameters', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee4() {
90
- var mockFetch, mockErrorHandler, safeFetch, result;
91
- return (0, _regeneratorRuntime2.default)().wrap(function _callee4$(_context4) {
92
- while (1) switch (_context4.prev = _context4.next) {
93
- case 0:
94
- mockFetch = jest.fn().mockResolvedValue({
95
- data: 'success'
96
- });
97
- mockErrorHandler = jest.fn().mockReturnValue({
98
- error: 'handled'
99
- });
100
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
101
- _context4.next = 5;
102
- return safeFetch('arg1', 42, true, {
103
- complex: 'object'
104
- });
105
- case 5:
106
- result = _context4.sent;
107
- expect(mockFetch).toHaveBeenCalledWith('arg1', 42, true, {
108
- complex: 'object'
109
- });
110
- expect(mockErrorHandler).not.toHaveBeenCalled();
111
- expect(result).toEqual({
112
- data: 'success'
113
- });
114
- case 9:
115
- case "end":
116
- return _context4.stop();
117
- }
118
- }, _callee4);
119
- })));
120
- it('should handle error handlers that return promises', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee5() {
121
- var error, mockFetch, mockErrorHandler, safeFetch, result;
122
- return (0, _regeneratorRuntime2.default)().wrap(function _callee5$(_context5) {
123
- while (1) switch (_context5.prev = _context5.next) {
124
- case 0:
125
- error = new Error('fetch failed');
126
- mockFetch = jest.fn().mockRejectedValue(error);
127
- mockErrorHandler = jest.fn().mockResolvedValue({
128
- error: 'async handled'
129
- });
130
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
131
- _context5.next = 6;
132
- return safeFetch('arg1');
133
- case 6:
134
- result = _context5.sent;
135
- expect(mockFetch).toHaveBeenCalledWith('arg1');
136
- expect(mockErrorHandler).toHaveBeenCalledWith(error);
137
- expect(result).toEqual({
138
- error: 'async handled'
139
- });
140
- case 10:
141
- case "end":
142
- return _context5.stop();
143
- }
144
- }, _callee5);
145
- })));
146
- it('should preserve the type of the fetch function return value', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee6() {
147
- var mockFetch, mockErrorHandler, safeFetch, result, userName;
148
- return (0, _regeneratorRuntime2.default)().wrap(function _callee6$(_context6) {
149
- while (1) switch (_context6.prev = _context6.next) {
150
- case 0:
151
- mockFetch = jest.fn().mockResolvedValue({
152
- id: 1,
153
- name: 'John Doe'
154
- });
155
- mockErrorHandler = jest.fn().mockReturnValue(null);
156
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
157
- _context6.next = 5;
158
- return safeFetch('user1');
159
- case 5:
160
- result = _context6.sent;
161
- expect(result).toEqual({
162
- id: 1,
163
- name: 'John Doe'
164
- });
165
- // TypeScript should recognize result as User | null
166
- if (result !== null) {
167
- // This should compile without errors
168
- userName = result.name;
169
- expect(userName).toBe('John Doe');
170
- }
171
- case 8:
172
- case "end":
173
- return _context6.stop();
174
- }
175
- }, _callee6);
176
- })));
177
- it('should preserve the type of the error handler return value', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee7() {
178
- var error, mockFetch, mockErrorHandler, safeFetch, result, errorCode;
179
- return (0, _regeneratorRuntime2.default)().wrap(function _callee7$(_context7) {
180
- while (1) switch (_context7.prev = _context7.next) {
181
- case 0:
182
- error = new Error('fetch failed');
183
- mockFetch = jest.fn().mockRejectedValue(error);
184
- mockErrorHandler = jest.fn().mockReturnValue({
185
- code: 500,
186
- message: 'Internal Server Error'
187
- });
188
- safeFetch = (0, _withCatch.withCatch)(mockFetch, mockErrorHandler);
189
- _context7.next = 6;
190
- return safeFetch('user1');
191
- case 6:
192
- result = _context7.sent;
193
- expect(mockErrorHandler).toHaveBeenCalledWith(error);
194
-
195
- // TypeScript should recognize result as unknown | ErrorResponse
196
- if ((0, _typeof2.default)(result) === 'object' && result !== null && 'code' in result) {
197
- // This should compile without errors
198
- errorCode = result.code;
199
- expect(errorCode).toBe(500);
200
- }
201
- case 9:
202
- case "end":
203
- return _context7.stop();
204
- }
205
- }, _callee7);
206
- })));
207
- });
208
- // #sourceMappingURL=withCatch.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_withCatch","require","_interopRequireDefault","e","__esModule","default","describe","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee","mockFetch","mockErrorHandler","safeFetch","result","wrap","_callee$","_context","prev","next","jest","fn","mockResolvedValue","data","mockReturnValue","error","withCatch","sent","expect","toHaveBeenCalledWith","not","toHaveBeenCalled","toEqual","stop","_callee2","_callee2$","_context2","Error","mockRejectedValue","_callee3","_callee3$","_context3","_callee4","_callee4$","_context4","complex","_callee5","_callee5$","_context5","_callee6","userName","_callee6$","_context6","id","name","toBe","_callee7","errorCode","_callee7$","_context7","code","message","_typeof"],"sources":["withCatch.test.ts"],"sourcesContent":["import {withCatch} from '../withCatch';\n\ndescribe('withCatch', () => {\n it('should return the result of the fetch function when it succeeds', async () => {\n const mockFetch = jest.fn().mockResolvedValue({data: 'success'});\n const mockErrorHandler = jest.fn().mockReturnValue({error: 'handled'});\n\n const safeFetch = withCatch(mockFetch, mockErrorHandler);\n const result = await safeFetch('arg1', 42);\n\n expect(mockFetch).toHaveBeenCalledWith('arg1', 42);\n expect(mockErrorHandler).not.toHaveBeenCalled();\n expect(result).toEqual({data: 'success'});\n });\n\n it('should call the error handler when the fetch function fails', async () => {\n const error = new Error('fetch failed');\n const mockFetch = jest.fn().mockRejectedValue(error);\n const mockErrorHandler = jest.fn().mockReturnValue({error: 'handled'});\n\n const safeFetch = withCatch(mockFetch, mockErrorHandler);\n const result = await safeFetch('arg1', 42);\n\n expect(mockFetch).toHaveBeenCalledWith('arg1', 42);\n expect(mockErrorHandler).toHaveBeenCalledWith(error);\n expect(result).toEqual({error: 'handled'});\n });\n\n it('should work with functions that take no parameters', async () => {\n const mockFetch = jest.fn().mockResolvedValue({data: 'success'});\n const mockErrorHandler = jest.fn().mockReturnValue({error: 'handled'});\n\n const safeFetch = withCatch(mockFetch, mockErrorHandler);\n const result = await safeFetch();\n\n expect(mockFetch).toHaveBeenCalledWith();\n expect(mockErrorHandler).not.toHaveBeenCalled();\n expect(result).toEqual({data: 'success'});\n });\n\n it('should work with functions that take multiple parameters', async () => {\n const mockFetch = jest.fn().mockResolvedValue({data: 'success'});\n const mockErrorHandler = jest.fn().mockReturnValue({error: 'handled'});\n\n const safeFetch = withCatch(mockFetch, mockErrorHandler);\n const result = await safeFetch('arg1', 42, true, {complex: 'object'});\n\n expect(mockFetch).toHaveBeenCalledWith('arg1', 42, true, {complex: 'object'});\n expect(mockErrorHandler).not.toHaveBeenCalled();\n expect(result).toEqual({data: 'success'});\n });\n\n it('should handle error handlers that return promises', async () => {\n const error = new Error('fetch failed');\n const mockFetch = jest.fn().mockRejectedValue(error);\n const mockErrorHandler = jest.fn().mockResolvedValue({error: 'async handled'});\n\n const safeFetch = withCatch(mockFetch, mockErrorHandler);\n const result = await safeFetch('arg1');\n\n expect(mockFetch).toHaveBeenCalledWith('arg1');\n expect(mockErrorHandler).toHaveBeenCalledWith(error);\n expect(result).toEqual({error: 'async handled'});\n });\n\n it('should preserve the type of the fetch function return value', async () => {\n interface User {\n id: number;\n name: string;\n }\n\n const mockFetch = jest.fn().mockResolvedValue({\n id: 1,\n name: 'John Doe',\n } as User);\n\n const mockErrorHandler = jest.fn().mockReturnValue(null);\n\n const safeFetch = withCatch<[string], User, null>(mockFetch, mockErrorHandler);\n const result = await safeFetch('user1');\n\n expect(result).toEqual({id: 1, name: 'John Doe'});\n // TypeScript should recognize result as User | null\n if (result !== null) {\n // This should compile without errors\n const userName = result.name;\n expect(userName).toBe('John Doe');\n }\n });\n\n it('should preserve the type of the error handler return value', async () => {\n interface ErrorResponse {\n code: number;\n message: string;\n }\n\n const error = new Error('fetch failed');\n const mockFetch = jest.fn<Promise<unknown>, [string]>().mockRejectedValue(error);\n\n const mockErrorHandler = jest.fn().mockReturnValue({\n code: 500,\n message: 'Internal Server Error',\n } as ErrorResponse);\n\n const safeFetch = withCatch<[string], unknown, ErrorResponse>(mockFetch, mockErrorHandler);\n const result = await safeFetch('user1');\n\n expect(mockErrorHandler).toHaveBeenCalledWith(error);\n\n // TypeScript should recognize result as unknown | ErrorResponse\n if (typeof result === 'object' && result !== null && 'code' in result) {\n // This should compile without errors\n const errorCode = (result as ErrorResponse).code;\n expect(errorCode).toBe(500);\n }\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- var _react = _interopRequireDefault(require("react"));
4
- var _react2 = require("@testing-library/react");
5
- var _DataManagerContext = require("../DataManagerContext");
6
- var _jsxRuntime = require("react/jsx-runtime");
7
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
- describe('useDataManager', function () {
9
- it('should return dataManager from context', function () {
10
- var mockDataManager = {
11
- normalizer: undefined,
12
- optimisticUpdate: jest.fn(),
13
- invalidateData: jest.fn(),
14
- invalidateTag: jest.fn(),
15
- invalidateTags: jest.fn(),
16
- invalidateSource: jest.fn(),
17
- resetSource: jest.fn(),
18
- invalidateParams: jest.fn(),
19
- resetParams: jest.fn(),
20
- invalidateSourceTags: jest.fn()
21
- };
22
- var wrapper = function wrapper(_ref) {
23
- var children = _ref.children;
24
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataManagerContext.DataManagerContext.Provider, {
25
- value: mockDataManager,
26
- children: children
27
- });
28
- };
29
- var _renderHook = (0, _react2.renderHook)(function () {
30
- return (0, _DataManagerContext.useDataManager)();
31
- }, {
32
- wrapper: wrapper
33
- }),
34
- result = _renderHook.result;
35
- expect(result.current).toBe(mockDataManager);
36
- });
37
- it('should throw an error when dataManager is not provided', function () {
38
- var consoleSpy = jest.spyOn(console, 'error').mockImplementation();
39
- expect(function () {
40
- (0, _react2.renderHook)(function () {
41
- return (0, _DataManagerContext.useDataManager)();
42
- });
43
- }).toThrow('DataManager is not provided by context. Use DataManagerContext.Provider to do it');
44
- consoleSpy.mockRestore();
45
- });
46
- });
47
- // #sourceMappingURL=DataManagerContext.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_DataManagerContext","_jsxRuntime","e","__esModule","default","describe","it","mockDataManager","normalizer","undefined","optimisticUpdate","jest","fn","invalidateData","invalidateTag","invalidateTags","invalidateSource","resetSource","invalidateParams","resetParams","invalidateSourceTags","wrapper","_ref","children","_jsx","DataManagerContext","Provider","value","_renderHook","renderHook","useDataManager","result","expect","current","toBe","consoleSpy","spyOn","console","mockImplementation","toThrow","mockRestore"],"sources":["DataManagerContext.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport {renderHook} from '@testing-library/react';\n\nimport type {DataManager} from '../../core';\nimport {DataManagerContext, useDataManager} from '../DataManagerContext';\n\ndescribe('useDataManager', () => {\n it('should return dataManager from context', () => {\n const mockDataManager: DataManager = {\n normalizer: undefined,\n optimisticUpdate: jest.fn(),\n invalidateData: jest.fn(),\n invalidateTag: jest.fn(),\n invalidateTags: jest.fn(),\n invalidateSource: jest.fn(),\n resetSource: jest.fn(),\n invalidateParams: jest.fn(),\n resetParams: jest.fn(),\n invalidateSourceTags: jest.fn(),\n };\n\n const wrapper: React.FC<{children: React.ReactNode}> = ({children}) => (\n <DataManagerContext.Provider value={mockDataManager}>\n {children}\n </DataManagerContext.Provider>\n );\n\n const {result} = renderHook(() => useDataManager(), {wrapper});\n\n expect(result.current).toBe(mockDataManager);\n });\n\n it('should throw an error when dataManager is not provided', () => {\n const consoleSpy = jest.spyOn(console, 'error').mockImplementation();\n\n expect(() => {\n renderHook(() => useDataManager());\n }).toThrow(\n 'DataManager is not provided by context. Use DataManagerContext.Provider to do it',\n );\n\n consoleSpy.mockRestore();\n });\n});\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,mBAAA,GAAAF,OAAA;AAAyE,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzEG,QAAQ,CAAC,gBAAgB,EAAE,YAAM;EAC7BC,EAAE,CAAC,wCAAwC,EAAE,YAAM;IAC/C,IAAMC,eAA4B,GAAG;MACjCC,UAAU,EAAEC,SAAS;MACrBC,gBAAgB,EAAEC,IAAI,CAACC,EAAE,CAAC,CAAC;MAC3BC,cAAc,EAAEF,IAAI,CAACC,EAAE,CAAC,CAAC;MACzBE,aAAa,EAAEH,IAAI,CAACC,EAAE,CAAC,CAAC;MACxBG,cAAc,EAAEJ,IAAI,CAACC,EAAE,CAAC,CAAC;MACzBI,gBAAgB,EAAEL,IAAI,CAACC,EAAE,CAAC,CAAC;MAC3BK,WAAW,EAAEN,IAAI,CAACC,EAAE,CAAC,CAAC;MACtBM,gBAAgB,EAAEP,IAAI,CAACC,EAAE,CAAC,CAAC;MAC3BO,WAAW,EAAER,IAAI,CAACC,EAAE,CAAC,CAAC;MACtBQ,oBAAoB,EAAET,IAAI,CAACC,EAAE,CAAC;IAClC,CAAC;IAED,IAAMS,OAA8C,GAAG,SAAjDA,OAA8CA,CAAAC,IAAA;MAAA,IAAKC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;MAAA,oBAC7D,IAAAC,eAAA,EAACC,sCAAkB,CAACC,QAAQ;QAACC,KAAK,EAAEpB,eAAgB;QAAAgB,QAAA,EAC/CA;MAAQ,CACgB,CAAC;IAAA,CACjC;IAED,IAAAK,WAAA,GAAiB,IAAAC,kBAAU,EAAC;QAAA,OAAM,IAAAC,kCAAc,EAAC,CAAC;MAAA,GAAE;QAACT,OAAO,EAAPA;MAAO,CAAC,CAAC;MAAvDU,MAAM,GAAAH,WAAA,CAANG,MAAM;IAEbC,MAAM,CAACD,MAAM,CAACE,OAAO,CAAC,CAACC,IAAI,CAAC3B,eAAe,CAAC;EAChD,CAAC,CAAC;EAEFD,EAAE,CAAC,wDAAwD,EAAE,YAAM;IAC/D,IAAM6B,UAAU,GAAGxB,IAAI,CAACyB,KAAK,CAACC,OAAO,EAAE,OAAO,CAAC,CAACC,kBAAkB,CAAC,CAAC;IAEpEN,MAAM,CAAC,YAAM;MACT,IAAAH,kBAAU,EAAC;QAAA,OAAM,IAAAC,kCAAc,EAAC,CAAC;MAAA,EAAC;IACtC,CAAC,CAAC,CAACS,OAAO,CACN,kFACJ,CAAC;IAEDJ,UAAU,CAACK,WAAW,CAAC,CAAC;EAC5B,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
4
- var _react = _interopRequireDefault(require("react"));
5
- var _react2 = require("@testing-library/react");
6
- var _DataManagerContext = require("../DataManagerContext");
7
- var _withDataManager = require("../withDataManager");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
- jest.mock('../DataManagerContext', function () {
11
- var originalModule = jest.requireActual('../DataManagerContext');
12
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, originalModule), {}, {
13
- useDataManager: jest.fn()
14
- });
15
- });
16
- describe('withDataManager', function () {
17
- var mockDataManager = {
18
- normalizer: undefined,
19
- optimisticUpdate: jest.fn(),
20
- invalidateData: jest.fn(),
21
- invalidateTag: jest.fn(),
22
- invalidateTags: jest.fn(),
23
- invalidateSource: jest.fn(),
24
- resetSource: jest.fn(),
25
- invalidateParams: jest.fn(),
26
- resetParams: jest.fn(),
27
- invalidateSourceTags: jest.fn()
28
- };
29
- beforeEach(function () {
30
- jest.clearAllMocks();
31
- _DataManagerContext.useDataManager.mockReturnValue(mockDataManager);
32
- });
33
- it('should pass dataManager to wrapped component', function () {
34
- var TestComponent = function TestComponent(_ref) {
35
- var dataManager = _ref.dataManager;
36
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
37
- "data-testid": "test-component",
38
- children: dataManager ? 'DataManager provided' : 'No DataManager'
39
- });
40
- };
41
- var WrappedComponent = (0, _withDataManager.withDataManager)(TestComponent);
42
- (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {}));
43
- expect(_react2.screen.getByTestId('test-component')).toHaveTextContent('DataManager provided');
44
- });
45
- it('should pass through additional props', function () {
46
- var TestComponent = function TestComponent(_ref2) {
47
- var dataManager = _ref2.dataManager,
48
- testProp = _ref2.testProp;
49
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
50
- "data-testid": "test-component",
51
- children: dataManager ? "DataManager provided, testProp: ".concat(testProp) : 'No DataManager'
52
- });
53
- };
54
- var WrappedComponent = (0, _withDataManager.withDataManager)(TestComponent);
55
- (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
56
- testProp: "test value"
57
- }));
58
- expect(_react2.screen.getByTestId('test-component')).toHaveTextContent('DataManager provided, testProp: test value');
59
- });
60
- });
61
- // #sourceMappingURL=withDataManager.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_DataManagerContext","_withDataManager","_jsxRuntime","e","__esModule","default","jest","mock","originalModule","requireActual","_objectSpread","useDataManager","fn","describe","mockDataManager","normalizer","undefined","optimisticUpdate","invalidateData","invalidateTag","invalidateTags","invalidateSource","resetSource","invalidateParams","resetParams","invalidateSourceTags","beforeEach","clearAllMocks","mockReturnValue","it","TestComponent","_ref","dataManager","_jsx","children","WrappedComponent","withDataManager","render","expect","screen","getByTestId","toHaveTextContent","_ref2","testProp","concat"],"sources":["withDataManager.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport {render, screen} from '@testing-library/react';\n\nimport type {DataManager} from '../../core';\nimport {useDataManager} from '../DataManagerContext';\nimport type {WithDataManagerProps} from '../withDataManager';\nimport {withDataManager} from '../withDataManager';\n\njest.mock('../DataManagerContext', () => {\n const originalModule = jest.requireActual('../DataManagerContext');\n return {\n ...originalModule,\n useDataManager: jest.fn(),\n };\n});\n\ndescribe('withDataManager', () => {\n const mockDataManager: DataManager = {\n normalizer: undefined,\n optimisticUpdate: jest.fn(),\n invalidateData: jest.fn(),\n invalidateTag: jest.fn(),\n invalidateTags: jest.fn(),\n invalidateSource: jest.fn(),\n resetSource: jest.fn(),\n invalidateParams: jest.fn(),\n resetParams: jest.fn(),\n invalidateSourceTags: jest.fn(),\n };\n\n beforeEach(() => {\n jest.clearAllMocks();\n\n (useDataManager as jest.Mock).mockReturnValue(mockDataManager);\n });\n\n it('should pass dataManager to wrapped component', () => {\n const TestComponent: React.FC<WithDataManagerProps> = ({dataManager}) => (\n <div data-testid=\"test-component\">\n {dataManager ? 'DataManager provided' : 'No DataManager'}\n </div>\n );\n const WrappedComponent = withDataManager(TestComponent);\n\n render(<WrappedComponent />);\n\n expect(screen.getByTestId('test-component')).toHaveTextContent('DataManager provided');\n });\n\n it('should pass through additional props', () => {\n const TestComponent: React.FC<WithDataManagerProps & {testProp: string}> = ({\n dataManager,\n testProp,\n }) => (\n <div data-testid=\"test-component\">\n {dataManager ? `DataManager provided, testProp: ${testProp}` : 'No DataManager'}\n </div>\n );\n const WrappedComponent = withDataManager(TestComponent);\n\n render(<WrappedComponent testProp=\"test value\" />);\n\n expect(screen.getByTestId('test-component')).toHaveTextContent(\n 'DataManager provided, testProp: test value',\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,187 +0,0 @@
1
- "use strict";
2
-
3
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
4
- var _react = _interopRequireDefault(require("react"));
5
- var _react2 = require("@testing-library/react");
6
- var _DataInfiniteLoader = require("../DataInfiniteLoader");
7
- var _jsxRuntime = require("react/jsx-runtime");
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- var MockLoadingView = function MockLoadingView() {
10
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
11
- "data-testid": "loading-view",
12
- children: "Loading..."
13
- });
14
- };
15
- var MockErrorView = function MockErrorView(_ref) {
16
- var error = _ref.error,
17
- action = _ref.action;
18
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
19
- "data-testid": "error-view",
20
- children: [error ? "Error: ".concat(error.message) : 'No error', action ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
21
- "data-testid": "error-action",
22
- onClick: action.handler,
23
- children: action.children || 'Retry'
24
- }) : null]
25
- });
26
- };
27
- var MockMoreView = function MockMoreView(_ref2) {
28
- var isLoading = _ref2.isLoading,
29
- onClick = _ref2.onClick;
30
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
31
- "data-testid": "more-view",
32
- children: isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
33
- "data-testid": "more-view-loading",
34
- children: "Loading more..."
35
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
36
- "data-testid": "more-view-button",
37
- onClick: onClick,
38
- children: "Load more"
39
- })
40
- });
41
- };
42
- describe('DataInfiniteLoader', function () {
43
- var renderDataInfiniteLoader = function renderDataInfiniteLoader() {
44
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
45
- var fetchNextPage = jest.fn();
46
- var defaultProps = {
47
- status: 'success',
48
- error: null,
49
- hasNextPage: true,
50
- fetchNextPage: fetchNextPage,
51
- isFetchingNextPage: false,
52
- LoadingView: MockLoadingView,
53
- ErrorView: MockErrorView,
54
- MoreView: MockMoreView,
55
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
56
- "data-testid": "content",
57
- children: "Content"
58
- })
59
- };
60
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_DataInfiniteLoader.DataInfiniteLoader, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultProps), props)))), {}, {
61
- fetchNextPage: fetchNextPage
62
- });
63
- };
64
- it('should render children and MoreView when status is success and hasNextPage is true', function () {
65
- renderDataInfiniteLoader({
66
- status: 'success',
67
- hasNextPage: true
68
- });
69
- expect(_react2.screen.getByTestId('content')).toBeInTheDocument();
70
- expect(_react2.screen.getByTestId('more-view')).toBeInTheDocument();
71
- expect(_react2.screen.queryByTestId('loading-view')).not.toBeInTheDocument();
72
- expect(_react2.screen.queryByTestId('error-view')).not.toBeInTheDocument();
73
- });
74
- it('should render only children when status is success and hasNextPage is false', function () {
75
- renderDataInfiniteLoader({
76
- status: 'success',
77
- hasNextPage: false
78
- });
79
- expect(_react2.screen.getByTestId('content')).toBeInTheDocument();
80
- expect(_react2.screen.queryByTestId('more-view')).not.toBeInTheDocument();
81
- expect(_react2.screen.queryByTestId('loading-view')).not.toBeInTheDocument();
82
- expect(_react2.screen.queryByTestId('error-view')).not.toBeInTheDocument();
83
- });
84
- it('should render LoadingView when status is loading', function () {
85
- renderDataInfiniteLoader({
86
- status: 'loading'
87
- });
88
- expect(_react2.screen.getByTestId('loading-view')).toBeInTheDocument();
89
- expect(_react2.screen.queryByTestId('content')).not.toBeInTheDocument();
90
- expect(_react2.screen.queryByTestId('more-view')).not.toBeInTheDocument();
91
- expect(_react2.screen.queryByTestId('error-view')).not.toBeInTheDocument();
92
- });
93
- it('should render ErrorView when status is error', function () {
94
- var error = new Error('Test error');
95
- renderDataInfiniteLoader({
96
- status: 'error',
97
- error: error
98
- });
99
- expect(_react2.screen.getByTestId('error-view')).toBeInTheDocument();
100
- expect(_react2.screen.queryByTestId('content')).not.toBeInTheDocument();
101
- expect(_react2.screen.queryByTestId('more-view')).not.toBeInTheDocument();
102
- expect(_react2.screen.queryByTestId('loading-view')).not.toBeInTheDocument();
103
- expect(_react2.screen.getByText(/Test error/)).toBeInTheDocument();
104
- });
105
- it('should call fetchNextPage when clicking on load more button', function () {
106
- var _renderDataInfiniteLo = renderDataInfiniteLoader({
107
- status: 'success',
108
- hasNextPage: true,
109
- isFetchingNextPage: false
110
- }),
111
- fetchNextPage = _renderDataInfiniteLo.fetchNextPage;
112
- _react2.fireEvent.click(_react2.screen.getByTestId('more-view-button'));
113
- expect(fetchNextPage).toHaveBeenCalledTimes(1);
114
- });
115
- it('should show loading state in MoreView when isFetchingNextPage is true', function () {
116
- renderDataInfiniteLoader({
117
- status: 'success',
118
- hasNextPage: true,
119
- isFetchingNextPage: true
120
- });
121
- expect(_react2.screen.getByTestId('more-view-loading')).toBeInTheDocument();
122
- expect(_react2.screen.queryByTestId('more-view-button')).not.toBeInTheDocument();
123
- });
124
- it('should pass errorAction to ErrorView', function () {
125
- var error = new Error('Test error');
126
- var errorAction = jest.fn();
127
- renderDataInfiniteLoader({
128
- status: 'error',
129
- error: error,
130
- errorAction: errorAction
131
- });
132
- expect(_react2.screen.getByTestId('error-action')).toBeInTheDocument();
133
- });
134
- it('should pass errorAction with custom children to ErrorView', function () {
135
- var error = new Error('Test error');
136
- var errorAction = {
137
- handler: jest.fn(),
138
- children: 'Custom action'
139
- };
140
- renderDataInfiniteLoader({
141
- status: 'error',
142
- error: error,
143
- errorAction: errorAction
144
- });
145
- expect(_react2.screen.getByText('Custom action')).toBeInTheDocument();
146
- });
147
- it('should pass loadingViewProps to LoadingView', function () {
148
- var LoadingView = jest.fn(MockLoadingView);
149
- var loadingViewProps = {
150
- customProp: 'test'
151
- };
152
- renderDataInfiniteLoader({
153
- status: 'loading',
154
- LoadingView: LoadingView,
155
- loadingViewProps: loadingViewProps
156
- });
157
- expect(LoadingView).toHaveBeenCalledWith(expect.objectContaining(loadingViewProps), undefined);
158
- });
159
- it('should pass errorViewProps to ErrorView', function () {
160
- var ErrorView = jest.fn(MockErrorView);
161
- var errorViewProps = {
162
- customProp: 'test'
163
- };
164
- var error = new Error('Test error');
165
- renderDataInfiniteLoader({
166
- status: 'error',
167
- error: error,
168
- ErrorView: ErrorView,
169
- errorViewProps: errorViewProps
170
- });
171
- expect(ErrorView).toHaveBeenCalledWith(expect.objectContaining(errorViewProps), undefined);
172
- });
173
- it('should pass moreViewProps to MoreView', function () {
174
- var MoreView = jest.fn(MockMoreView);
175
- var moreViewProps = {
176
- customProp: 'test'
177
- };
178
- renderDataInfiniteLoader({
179
- status: 'success',
180
- hasNextPage: true,
181
- MoreView: MoreView,
182
- moreViewProps: moreViewProps
183
- });
184
- expect(MoreView).toHaveBeenCalledWith(expect.objectContaining(moreViewProps), undefined);
185
- });
186
- });
187
- // #sourceMappingURL=DataInfiniteLoader.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_react2","_DataInfiniteLoader","_jsxRuntime","e","__esModule","default","MockLoadingView","_jsx","children","MockErrorView","_ref","error","action","_jsxs","concat","message","onClick","handler","MockMoreView","_ref2","isLoading","describe","renderDataInfiniteLoader","props","arguments","length","undefined","fetchNextPage","jest","fn","defaultProps","status","hasNextPage","isFetchingNextPage","LoadingView","ErrorView","MoreView","_objectSpread","render","DataInfiniteLoader","it","expect","screen","getByTestId","toBeInTheDocument","queryByTestId","not","Error","getByText","_renderDataInfiniteLo","fireEvent","click","toHaveBeenCalledTimes","errorAction","loadingViewProps","customProp","toHaveBeenCalledWith","objectContaining","errorViewProps","moreViewProps"],"sources":["DataInfiniteLoader.test.tsx"],"sourcesContent":["import React from 'react';\n\nimport {fireEvent, render, screen} from '@testing-library/react';\n\nimport type {ErrorViewProps} from '../../types';\nimport {DataInfiniteLoader} from '../DataInfiniteLoader';\nimport type {DataInfiniteLoaderProps, MoreViewProps} from '../types';\n\nconst MockLoadingView = () => <div data-testid=\"loading-view\">Loading...</div>;\nconst MockErrorView: React.FC<ErrorViewProps<Error>> = ({error, action}) => (\n <div data-testid=\"error-view\">\n {error ? `Error: ${error.message}` : 'No error'}\n {action ? (\n <button data-testid=\"error-action\" onClick={action.handler}>\n {action.children || 'Retry'}\n </button>\n ) : null}\n </div>\n);\nconst MockMoreView: React.FC<MoreViewProps> = ({isLoading, onClick}) => (\n <div data-testid=\"more-view\">\n {isLoading ? (\n <span data-testid=\"more-view-loading\">Loading more...</span>\n ) : (\n <button data-testid=\"more-view-button\" onClick={onClick}>\n Load more\n </button>\n )}\n </div>\n);\n\ndescribe('DataInfiniteLoader', () => {\n const renderDataInfiniteLoader = (props: Partial<DataInfiniteLoaderProps<Error>> = {}) => {\n const fetchNextPage = jest.fn();\n const defaultProps: DataInfiniteLoaderProps<Error> = {\n status: 'success',\n error: null,\n hasNextPage: true,\n fetchNextPage,\n isFetchingNextPage: false,\n LoadingView: MockLoadingView,\n ErrorView: MockErrorView,\n MoreView: MockMoreView,\n children: <div data-testid=\"content\">Content</div>,\n };\n\n return {\n ...render(<DataInfiniteLoader {...defaultProps} {...props} />),\n fetchNextPage,\n };\n };\n\n it('should render children and MoreView when status is success and hasNextPage is true', () => {\n renderDataInfiniteLoader({status: 'success', hasNextPage: true});\n expect(screen.getByTestId('content')).toBeInTheDocument();\n expect(screen.getByTestId('more-view')).toBeInTheDocument();\n expect(screen.queryByTestId('loading-view')).not.toBeInTheDocument();\n expect(screen.queryByTestId('error-view')).not.toBeInTheDocument();\n });\n\n it('should render only children when status is success and hasNextPage is false', () => {\n renderDataInfiniteLoader({status: 'success', hasNextPage: false});\n expect(screen.getByTestId('content')).toBeInTheDocument();\n expect(screen.queryByTestId('more-view')).not.toBeInTheDocument();\n expect(screen.queryByTestId('loading-view')).not.toBeInTheDocument();\n expect(screen.queryByTestId('error-view')).not.toBeInTheDocument();\n });\n\n it('should render LoadingView when status is loading', () => {\n renderDataInfiniteLoader({status: 'loading'});\n expect(screen.getByTestId('loading-view')).toBeInTheDocument();\n expect(screen.queryByTestId('content')).not.toBeInTheDocument();\n expect(screen.queryByTestId('more-view')).not.toBeInTheDocument();\n expect(screen.queryByTestId('error-view')).not.toBeInTheDocument();\n });\n\n it('should render ErrorView when status is error', () => {\n const error = new Error('Test error');\n renderDataInfiniteLoader({status: 'error', error});\n expect(screen.getByTestId('error-view')).toBeInTheDocument();\n expect(screen.queryByTestId('content')).not.toBeInTheDocument();\n expect(screen.queryByTestId('more-view')).not.toBeInTheDocument();\n expect(screen.queryByTestId('loading-view')).not.toBeInTheDocument();\n expect(screen.getByText(/Test error/)).toBeInTheDocument();\n });\n\n it('should call fetchNextPage when clicking on load more button', () => {\n const {fetchNextPage} = renderDataInfiniteLoader({\n status: 'success',\n hasNextPage: true,\n isFetchingNextPage: false,\n });\n fireEvent.click(screen.getByTestId('more-view-button'));\n expect(fetchNextPage).toHaveBeenCalledTimes(1);\n });\n\n it('should show loading state in MoreView when isFetchingNextPage is true', () => {\n renderDataInfiniteLoader({\n status: 'success',\n hasNextPage: true,\n isFetchingNextPage: true,\n });\n expect(screen.getByTestId('more-view-loading')).toBeInTheDocument();\n expect(screen.queryByTestId('more-view-button')).not.toBeInTheDocument();\n });\n\n it('should pass errorAction to ErrorView', () => {\n const error = new Error('Test error');\n const errorAction = jest.fn();\n renderDataInfiniteLoader({\n status: 'error',\n error,\n errorAction,\n });\n expect(screen.getByTestId('error-action')).toBeInTheDocument();\n });\n\n it('should pass errorAction with custom children to ErrorView', () => {\n const error = new Error('Test error');\n const errorAction = {\n handler: jest.fn(),\n children: 'Custom action',\n };\n renderDataInfiniteLoader({\n status: 'error',\n error,\n errorAction,\n });\n expect(screen.getByText('Custom action')).toBeInTheDocument();\n });\n\n it('should pass loadingViewProps to LoadingView', () => {\n const LoadingView = jest.fn(MockLoadingView);\n const loadingViewProps = {customProp: 'test'};\n renderDataInfiniteLoader({\n status: 'loading',\n LoadingView,\n loadingViewProps,\n });\n expect(LoadingView).toHaveBeenCalledWith(\n expect.objectContaining(loadingViewProps),\n undefined,\n );\n });\n\n it('should pass errorViewProps to ErrorView', () => {\n const ErrorView = jest.fn(MockErrorView);\n const errorViewProps = {customProp: 'test'};\n const error = new Error('Test error');\n renderDataInfiniteLoader({\n status: 'error',\n error,\n ErrorView,\n errorViewProps,\n });\n expect(ErrorView).toHaveBeenCalledWith(expect.objectContaining(errorViewProps), undefined);\n });\n\n it('should pass moreViewProps to MoreView', () => {\n const MoreView = jest.fn(MockMoreView);\n const moreViewProps = {customProp: 'test'};\n renderDataInfiniteLoader({\n status: 'success',\n hasNextPage: true,\n MoreView,\n moreViewProps,\n });\n expect(MoreView).toHaveBeenCalledWith(expect.objectContaining(moreViewProps), undefined);\n });\n});\n"],"mappings":";;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,mBAAA,GAAAF,OAAA;AAAyD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGzD,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAA;EAAA,oBAAS,IAAAC,eAAA;IAAK,eAAY,cAAc;IAAAC,QAAA,EAAC;EAAU,CAAK,CAAC;AAAA;AAC9E,IAAMC,aAA8C,GAAG,SAAjDA,aAA8CA,CAAAC,IAAA;EAAA,IAAKC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;EAAA,oBAClE,IAAAC,gBAAA;IAAK,eAAY,YAAY;IAAAL,QAAA,GACxBG,KAAK,aAAAG,MAAA,CAAaH,KAAK,CAACI,OAAO,IAAK,UAAU,EAC9CH,MAAM,gBACH,IAAAL,eAAA;MAAQ,eAAY,cAAc;MAACS,OAAO,EAAEJ,MAAM,CAACK,OAAQ;MAAAT,QAAA,EACtDI,MAAM,CAACJ,QAAQ,IAAI;IAAO,CACvB,CAAC,GACT,IAAI;EAAA,CACP,CAAC;AAAA,CACT;AACD,IAAMU,YAAqC,GAAG,SAAxCA,YAAqCA,CAAAC,KAAA;EAAA,IAAKC,SAAS,GAAAD,KAAA,CAATC,SAAS;IAAEJ,OAAO,GAAAG,KAAA,CAAPH,OAAO;EAAA,oBAC9D,IAAAT,eAAA;IAAK,eAAY,WAAW;IAAAC,QAAA,EACvBY,SAAS,gBACN,IAAAb,eAAA;MAAM,eAAY,mBAAmB;MAAAC,QAAA,EAAC;IAAe,CAAM,CAAC,gBAE5D,IAAAD,eAAA;MAAQ,eAAY,kBAAkB;MAACS,OAAO,EAAEA,OAAQ;MAAAR,QAAA,EAAC;IAEzD,CAAQ;EACX,CACA,CAAC;AAAA,CACT;AAEDa,QAAQ,CAAC,oBAAoB,EAAE,YAAM;EACjC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA,EAA4D;IAAA,IAAxDC,KAA8C,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IACjF,IAAMG,aAAa,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IAC/B,IAAMC,YAA4C,GAAG;MACjDC,MAAM,EAAE,SAAS;MACjBpB,KAAK,EAAE,IAAI;MACXqB,WAAW,EAAE,IAAI;MACjBL,aAAa,EAAbA,aAAa;MACbM,kBAAkB,EAAE,KAAK;MACzBC,WAAW,EAAE5B,eAAe;MAC5B6B,SAAS,EAAE1B,aAAa;MACxB2B,QAAQ,EAAElB,YAAY;MACtBV,QAAQ,eAAE,IAAAD,eAAA;QAAK,eAAY,SAAS;QAAAC,QAAA,EAAC;MAAO,CAAK;IACrD,CAAC;IAED,WAAA6B,sBAAA,MAAAA,sBAAA,MACO,IAAAC,cAAM,eAAC,IAAA/B,eAAA,EAACgC,sCAAkB,MAAAF,sBAAA,MAAAA,sBAAA,MAAKP,YAAY,GAAMP,KAAK,CAAG,CAAC,CAAC;MAC9DI,aAAa,EAAbA;IAAa;EAErB,CAAC;EAEDa,EAAE,CAAC,oFAAoF,EAAE,YAAM;IAC3FlB,wBAAwB,CAAC;MAACS,MAAM,EAAE,SAAS;MAAEC,WAAW,EAAE;IAAI,CAAC,CAAC;IAChES,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,SAAS,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;IACzDH,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,WAAW,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAC3DH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,cAAc,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IACpEH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,YAAY,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;EACtE,CAAC,CAAC;EAEFJ,EAAE,CAAC,6EAA6E,EAAE,YAAM;IACpFlB,wBAAwB,CAAC;MAACS,MAAM,EAAE,SAAS;MAAEC,WAAW,EAAE;IAAK,CAAC,CAAC;IACjES,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,SAAS,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;IACzDH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,WAAW,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IACjEH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,cAAc,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IACpEH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,YAAY,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;EACtE,CAAC,CAAC;EAEFJ,EAAE,CAAC,kDAAkD,EAAE,YAAM;IACzDlB,wBAAwB,CAAC;MAACS,MAAM,EAAE;IAAS,CAAC,CAAC;IAC7CU,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,cAAc,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAC9DH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,SAAS,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IAC/DH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,WAAW,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IACjEH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,YAAY,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;EACtE,CAAC,CAAC;EAEFJ,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACrD,IAAM7B,KAAK,GAAG,IAAIoC,KAAK,CAAC,YAAY,CAAC;IACrCzB,wBAAwB,CAAC;MAACS,MAAM,EAAE,OAAO;MAAEpB,KAAK,EAALA;IAAK,CAAC,CAAC;IAClD8B,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,YAAY,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;IAC5DH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,SAAS,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IAC/DH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,WAAW,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IACjEH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,cAAc,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;IACpEH,MAAM,CAACC,cAAM,CAACM,SAAS,CAAC,YAAY,CAAC,CAAC,CAACJ,iBAAiB,CAAC,CAAC;EAC9D,CAAC,CAAC;EAEFJ,EAAE,CAAC,6DAA6D,EAAE,YAAM;IACpE,IAAAS,qBAAA,GAAwB3B,wBAAwB,CAAC;QAC7CS,MAAM,EAAE,SAAS;QACjBC,WAAW,EAAE,IAAI;QACjBC,kBAAkB,EAAE;MACxB,CAAC,CAAC;MAJKN,aAAa,GAAAsB,qBAAA,CAAbtB,aAAa;IAKpBuB,iBAAS,CAACC,KAAK,CAACT,cAAM,CAACC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACvDF,MAAM,CAACd,aAAa,CAAC,CAACyB,qBAAqB,CAAC,CAAC,CAAC;EAClD,CAAC,CAAC;EAEFZ,EAAE,CAAC,uEAAuE,EAAE,YAAM;IAC9ElB,wBAAwB,CAAC;MACrBS,MAAM,EAAE,SAAS;MACjBC,WAAW,EAAE,IAAI;MACjBC,kBAAkB,EAAE;IACxB,CAAC,CAAC;IACFQ,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;IACnEH,MAAM,CAACC,cAAM,CAACG,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAACC,GAAG,CAACF,iBAAiB,CAAC,CAAC;EAC5E,CAAC,CAAC;EAEFJ,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAM7B,KAAK,GAAG,IAAIoC,KAAK,CAAC,YAAY,CAAC;IACrC,IAAMM,WAAW,GAAGzB,IAAI,CAACC,EAAE,CAAC,CAAC;IAC7BP,wBAAwB,CAAC;MACrBS,MAAM,EAAE,OAAO;MACfpB,KAAK,EAALA,KAAK;MACL0C,WAAW,EAAXA;IACJ,CAAC,CAAC;IACFZ,MAAM,CAACC,cAAM,CAACC,WAAW,CAAC,cAAc,CAAC,CAAC,CAACC,iBAAiB,CAAC,CAAC;EAClE,CAAC,CAAC;EAEFJ,EAAE,CAAC,2DAA2D,EAAE,YAAM;IAClE,IAAM7B,KAAK,GAAG,IAAIoC,KAAK,CAAC,YAAY,CAAC;IACrC,IAAMM,WAAW,GAAG;MAChBpC,OAAO,EAAEW,IAAI,CAACC,EAAE,CAAC,CAAC;MAClBrB,QAAQ,EAAE;IACd,CAAC;IACDc,wBAAwB,CAAC;MACrBS,MAAM,EAAE,OAAO;MACfpB,KAAK,EAALA,KAAK;MACL0C,WAAW,EAAXA;IACJ,CAAC,CAAC;IACFZ,MAAM,CAACC,cAAM,CAACM,SAAS,CAAC,eAAe,CAAC,CAAC,CAACJ,iBAAiB,CAAC,CAAC;EACjE,CAAC,CAAC;EAEFJ,EAAE,CAAC,6CAA6C,EAAE,YAAM;IACpD,IAAMN,WAAW,GAAGN,IAAI,CAACC,EAAE,CAACvB,eAAe,CAAC;IAC5C,IAAMgD,gBAAgB,GAAG;MAACC,UAAU,EAAE;IAAM,CAAC;IAC7CjC,wBAAwB,CAAC;MACrBS,MAAM,EAAE,SAAS;MACjBG,WAAW,EAAXA,WAAW;MACXoB,gBAAgB,EAAhBA;IACJ,CAAC,CAAC;IACFb,MAAM,CAACP,WAAW,CAAC,CAACsB,oBAAoB,CACpCf,MAAM,CAACgB,gBAAgB,CAACH,gBAAgB,CAAC,EACzC5B,SACJ,CAAC;EACL,CAAC,CAAC;EAEFc,EAAE,CAAC,yCAAyC,EAAE,YAAM;IAChD,IAAML,SAAS,GAAGP,IAAI,CAACC,EAAE,CAACpB,aAAa,CAAC;IACxC,IAAMiD,cAAc,GAAG;MAACH,UAAU,EAAE;IAAM,CAAC;IAC3C,IAAM5C,KAAK,GAAG,IAAIoC,KAAK,CAAC,YAAY,CAAC;IACrCzB,wBAAwB,CAAC;MACrBS,MAAM,EAAE,OAAO;MACfpB,KAAK,EAALA,KAAK;MACLwB,SAAS,EAATA,SAAS;MACTuB,cAAc,EAAdA;IACJ,CAAC,CAAC;IACFjB,MAAM,CAACN,SAAS,CAAC,CAACqB,oBAAoB,CAACf,MAAM,CAACgB,gBAAgB,CAACC,cAAc,CAAC,EAAEhC,SAAS,CAAC;EAC9F,CAAC,CAAC;EAEFc,EAAE,CAAC,uCAAuC,EAAE,YAAM;IAC9C,IAAMJ,QAAQ,GAAGR,IAAI,CAACC,EAAE,CAACX,YAAY,CAAC;IACtC,IAAMyC,aAAa,GAAG;MAACJ,UAAU,EAAE;IAAM,CAAC;IAC1CjC,wBAAwB,CAAC;MACrBS,MAAM,EAAE,SAAS;MACjBC,WAAW,EAAE,IAAI;MACjBI,QAAQ,EAARA,QAAQ;MACRuB,aAAa,EAAbA;IACJ,CAAC,CAAC;IACFlB,MAAM,CAACL,QAAQ,CAAC,CAACoB,oBAAoB,CAACf,MAAM,CAACgB,gBAAgB,CAACE,aAAa,CAAC,EAAEjC,SAAS,CAAC;EAC5F,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}