@gravity-ui/data-source 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +82 -0
  3. package/build/cjs/core/constants.d.ts +1 -0
  4. package/build/cjs/core/constants.js +8 -0
  5. package/build/cjs/core/constants.js.map +1 -0
  6. package/build/cjs/core/index.d.ts +13 -0
  7. package/build/cjs/core/index.js +81 -0
  8. package/build/cjs/core/index.js.map +1 -0
  9. package/build/cjs/core/types/DataLoaderStatus.d.ts +1 -0
  10. package/build/cjs/core/types/DataLoaderStatus.js +6 -0
  11. package/build/cjs/core/types/DataLoaderStatus.js.map +1 -0
  12. package/build/cjs/core/types/DataManger.d.ts +10 -0
  13. package/build/cjs/core/types/DataManger.js +6 -0
  14. package/build/cjs/core/types/DataManger.js.map +1 -0
  15. package/build/cjs/core/types/DataSource.d.ts +28 -0
  16. package/build/cjs/core/types/DataSource.js +6 -0
  17. package/build/cjs/core/types/DataSource.js.map +1 -0
  18. package/build/cjs/core/types/utils.d.ts +1 -0
  19. package/build/cjs/core/types/utils.js +6 -0
  20. package/build/cjs/core/types/utils.js.map +1 -0
  21. package/build/cjs/core/utils/composeFullKey.d.ts +2 -0
  22. package/build/cjs/core/utils/composeFullKey.js +15 -0
  23. package/build/cjs/core/utils/composeFullKey.js.map +1 -0
  24. package/build/cjs/core/utils/composeKey.d.ts +2 -0
  25. package/build/cjs/core/utils/composeKey.js +14 -0
  26. package/build/cjs/core/utils/composeKey.js.map +1 -0
  27. package/build/cjs/core/utils/getError.d.ts +3 -0
  28. package/build/cjs/core/utils/getError.js +14 -0
  29. package/build/cjs/core/utils/getError.js.map +1 -0
  30. package/build/cjs/core/utils/getStatus.d.ts +4 -0
  31. package/build/cjs/core/utils/getStatus.js +14 -0
  32. package/build/cjs/core/utils/getStatus.js.map +1 -0
  33. package/build/cjs/core/utils/hasTag.d.ts +2 -0
  34. package/build/cjs/core/utils/hasTag.js +18 -0
  35. package/build/cjs/core/utils/hasTag.js.map +1 -0
  36. package/build/cjs/core/utils/mergeStatuses.d.ts +2 -0
  37. package/build/cjs/core/utils/mergeStatuses.js +20 -0
  38. package/build/cjs/core/utils/mergeStatuses.js.map +1 -0
  39. package/build/cjs/core/utils/skipContext.d.ts +2 -0
  40. package/build/cjs/core/utils/skipContext.js +15 -0
  41. package/build/cjs/core/utils/skipContext.js.map +1 -0
  42. package/build/cjs/core/utils/withCancellation.d.ts +9 -0
  43. package/build/cjs/core/utils/withCancellation.js +26 -0
  44. package/build/cjs/core/utils/withCancellation.js.map +1 -0
  45. package/build/cjs/index.d.ts +3 -0
  46. package/build/cjs/index.js +39 -0
  47. package/build/cjs/index.js.map +1 -0
  48. package/build/cjs/react/DataManagerContext.d.ts +3 -0
  49. package/build/cjs/react/DataManagerContext.js +16 -0
  50. package/build/cjs/react/DataManagerContext.js.map +1 -0
  51. package/build/cjs/react/components/DataInfiniteLoader/DataInfiniteLoader.d.ts +3 -0
  52. package/build/cjs/react/components/DataInfiniteLoader/DataInfiniteLoader.js +48 -0
  53. package/build/cjs/react/components/DataInfiniteLoader/DataInfiniteLoader.js.map +1 -0
  54. package/build/cjs/react/components/DataInfiniteLoader/index.d.ts +2 -0
  55. package/build/cjs/react/components/DataInfiniteLoader/index.js +13 -0
  56. package/build/cjs/react/components/DataInfiniteLoader/index.js.map +1 -0
  57. package/build/cjs/react/components/DataInfiniteLoader/types.d.ts +19 -0
  58. package/build/cjs/react/components/DataInfiniteLoader/types.js +6 -0
  59. package/build/cjs/react/components/DataInfiniteLoader/types.js.map +1 -0
  60. package/build/cjs/react/components/DataLoader/DataLoader.d.ts +3 -0
  61. package/build/cjs/react/components/DataLoader/DataLoader.js +35 -0
  62. package/build/cjs/react/components/DataLoader/DataLoader.js.map +1 -0
  63. package/build/cjs/react/components/DataLoader/index.d.ts +2 -0
  64. package/build/cjs/react/components/DataLoader/index.js +13 -0
  65. package/build/cjs/react/components/DataLoader/index.js.map +1 -0
  66. package/build/cjs/react/components/DataLoader/types.d.ts +11 -0
  67. package/build/cjs/react/components/DataLoader/types.js +6 -0
  68. package/build/cjs/react/components/DataLoader/types.js.map +1 -0
  69. package/build/cjs/react/components/types.d.ts +9 -0
  70. package/build/cjs/react/components/types.js +6 -0
  71. package/build/cjs/react/components/types.js.map +1 -0
  72. package/build/cjs/react/index.d.ts +5 -0
  73. package/build/cjs/react/index.js +55 -0
  74. package/build/cjs/react/index.js.map +1 -0
  75. package/build/cjs/react/withDataManager.d.ts +6 -0
  76. package/build/cjs/react/withDataManager.js +22 -0
  77. package/build/cjs/react/withDataManager.js.map +1 -0
  78. package/build/cjs/react-query/ClientDataManager.d.ts +15 -0
  79. package/build/cjs/react-query/ClientDataManager.js +94 -0
  80. package/build/cjs/react-query/ClientDataManager.js.map +1 -0
  81. package/build/cjs/react-query/hooks/useQueryContext.d.ts +2 -0
  82. package/build/cjs/react-query/hooks/useQueryContext.js +18 -0
  83. package/build/cjs/react-query/hooks/useQueryContext.js.map +1 -0
  84. package/build/cjs/react-query/hooks/useQueryData.d.ts +3 -0
  85. package/build/cjs/react-query/hooks/useQueryData.js +26 -0
  86. package/build/cjs/react-query/hooks/useQueryData.js.map +1 -0
  87. package/build/cjs/react-query/hooks/useQueryResponses.d.ts +11 -0
  88. package/build/cjs/react-query/hooks/useQueryResponses.js +18 -0
  89. package/build/cjs/react-query/hooks/useQueryResponses.js.map +1 -0
  90. package/build/cjs/react-query/hooks/useRefetchAll.d.ts +3 -0
  91. package/build/cjs/react-query/hooks/useRefetchAll.js +21 -0
  92. package/build/cjs/react-query/hooks/useRefetchAll.js.map +1 -0
  93. package/build/cjs/react-query/hooks/useRefetchErrored.d.ts +4 -0
  94. package/build/cjs/react-query/hooks/useRefetchErrored.js +25 -0
  95. package/build/cjs/react-query/hooks/useRefetchErrored.js.map +1 -0
  96. package/build/cjs/react-query/impl/infinite/factory.d.ts +2 -0
  97. package/build/cjs/react-query/impl/infinite/factory.js +14 -0
  98. package/build/cjs/react-query/impl/infinite/factory.js.map +1 -0
  99. package/build/cjs/react-query/impl/infinite/hooks.d.ts +3 -0
  100. package/build/cjs/react-query/impl/infinite/hooks.js +17 -0
  101. package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -0
  102. package/build/cjs/react-query/impl/infinite/types.d.ts +18 -0
  103. package/build/cjs/react-query/impl/infinite/types.js +6 -0
  104. package/build/cjs/react-query/impl/infinite/types.js.map +1 -0
  105. package/build/cjs/react-query/impl/infinite/utils.d.ts +5 -0
  106. package/build/cjs/react-query/impl/infinite/utils.js +49 -0
  107. package/build/cjs/react-query/impl/infinite/utils.js.map +1 -0
  108. package/build/cjs/react-query/impl/plain/factory.d.ts +2 -0
  109. package/build/cjs/react-query/impl/plain/factory.js +14 -0
  110. package/build/cjs/react-query/impl/plain/factory.js.map +1 -0
  111. package/build/cjs/react-query/impl/plain/hooks.d.ts +3 -0
  112. package/build/cjs/react-query/impl/plain/hooks.js +17 -0
  113. package/build/cjs/react-query/impl/plain/hooks.js.map +1 -0
  114. package/build/cjs/react-query/impl/plain/types.d.ts +14 -0
  115. package/build/cjs/react-query/impl/plain/types.js +6 -0
  116. package/build/cjs/react-query/impl/plain/types.js.map +1 -0
  117. package/build/cjs/react-query/impl/plain/utils.d.ts +5 -0
  118. package/build/cjs/react-query/impl/plain/utils.js +28 -0
  119. package/build/cjs/react-query/impl/plain/utils.js.map +1 -0
  120. package/build/cjs/react-query/index.d.ts +15 -0
  121. package/build/cjs/react-query/index.js +83 -0
  122. package/build/cjs/react-query/index.js.map +1 -0
  123. package/build/cjs/react-query/types.d.ts +7 -0
  124. package/build/cjs/react-query/types.js +6 -0
  125. package/build/cjs/react-query/types.js.map +1 -0
  126. package/build/cjs/react-query/utils/normalizeStatus.d.ts +3 -0
  127. package/build/cjs/react-query/utils/normalizeStatus.js +13 -0
  128. package/build/cjs/react-query/utils/normalizeStatus.js.map +1 -0
  129. package/build/esm/core/constants.d.ts +1 -0
  130. package/build/esm/core/constants.js +2 -0
  131. package/build/esm/core/constants.js.map +1 -0
  132. package/build/esm/core/index.d.ts +13 -0
  133. package/build/esm/core/index.js +10 -0
  134. package/build/esm/core/index.js.map +1 -0
  135. package/build/esm/core/types/DataLoaderStatus.d.ts +1 -0
  136. package/build/esm/core/types/DataLoaderStatus.js +2 -0
  137. package/build/esm/core/types/DataLoaderStatus.js.map +1 -0
  138. package/build/esm/core/types/DataManger.d.ts +10 -0
  139. package/build/esm/core/types/DataManger.js +2 -0
  140. package/build/esm/core/types/DataManger.js.map +1 -0
  141. package/build/esm/core/types/DataSource.d.ts +28 -0
  142. package/build/esm/core/types/DataSource.js +2 -0
  143. package/build/esm/core/types/DataSource.js.map +1 -0
  144. package/build/esm/core/types/utils.d.ts +1 -0
  145. package/build/esm/core/types/utils.js +2 -0
  146. package/build/esm/core/types/utils.js.map +1 -0
  147. package/build/esm/core/utils/composeFullKey.d.ts +2 -0
  148. package/build/esm/core/utils/composeFullKey.js +8 -0
  149. package/build/esm/core/utils/composeFullKey.js.map +1 -0
  150. package/build/esm/core/utils/composeKey.d.ts +2 -0
  151. package/build/esm/core/utils/composeKey.js +7 -0
  152. package/build/esm/core/utils/composeKey.js.map +1 -0
  153. package/build/esm/core/utils/getError.d.ts +3 -0
  154. package/build/esm/core/utils/getError.js +8 -0
  155. package/build/esm/core/utils/getError.js.map +1 -0
  156. package/build/esm/core/utils/getStatus.d.ts +4 -0
  157. package/build/esm/core/utils/getStatus.js +8 -0
  158. package/build/esm/core/utils/getStatus.js.map +1 -0
  159. package/build/esm/core/utils/hasTag.d.ts +2 -0
  160. package/build/esm/core/utils/hasTag.js +12 -0
  161. package/build/esm/core/utils/hasTag.js.map +1 -0
  162. package/build/esm/core/utils/mergeStatuses.d.ts +2 -0
  163. package/build/esm/core/utils/mergeStatuses.js +14 -0
  164. package/build/esm/core/utils/mergeStatuses.js.map +1 -0
  165. package/build/esm/core/utils/skipContext.d.ts +2 -0
  166. package/build/esm/core/utils/skipContext.js +9 -0
  167. package/build/esm/core/utils/skipContext.js.map +1 -0
  168. package/build/esm/core/utils/withCancellation.d.ts +9 -0
  169. package/build/esm/core/utils/withCancellation.js +19 -0
  170. package/build/esm/core/utils/withCancellation.js.map +1 -0
  171. package/build/esm/index.d.ts +3 -0
  172. package/build/esm/index.js +4 -0
  173. package/build/esm/index.js.map +1 -0
  174. package/build/esm/react/DataManagerContext.d.ts +3 -0
  175. package/build/esm/react/DataManagerContext.js +10 -0
  176. package/build/esm/react/DataManagerContext.js.map +1 -0
  177. package/build/esm/react/components/DataInfiniteLoader/DataInfiniteLoader.d.ts +3 -0
  178. package/build/esm/react/components/DataInfiniteLoader/DataInfiniteLoader.js +41 -0
  179. package/build/esm/react/components/DataInfiniteLoader/DataInfiniteLoader.js.map +1 -0
  180. package/build/esm/react/components/DataInfiniteLoader/index.d.ts +2 -0
  181. package/build/esm/react/components/DataInfiniteLoader/index.js +2 -0
  182. package/build/esm/react/components/DataInfiniteLoader/index.js.map +1 -0
  183. package/build/esm/react/components/DataInfiniteLoader/types.d.ts +19 -0
  184. package/build/esm/react/components/DataInfiniteLoader/types.js +2 -0
  185. package/build/esm/react/components/DataInfiniteLoader/types.js.map +1 -0
  186. package/build/esm/react/components/DataLoader/DataLoader.d.ts +3 -0
  187. package/build/esm/react/components/DataLoader/DataLoader.js +28 -0
  188. package/build/esm/react/components/DataLoader/DataLoader.js.map +1 -0
  189. package/build/esm/react/components/DataLoader/index.d.ts +2 -0
  190. package/build/esm/react/components/DataLoader/index.js +2 -0
  191. package/build/esm/react/components/DataLoader/index.js.map +1 -0
  192. package/build/esm/react/components/DataLoader/types.d.ts +11 -0
  193. package/build/esm/react/components/DataLoader/types.js +2 -0
  194. package/build/esm/react/components/DataLoader/types.js.map +1 -0
  195. package/build/esm/react/components/types.d.ts +9 -0
  196. package/build/esm/react/components/types.js +2 -0
  197. package/build/esm/react/components/types.js.map +1 -0
  198. package/build/esm/react/index.d.ts +5 -0
  199. package/build/esm/react/index.js +5 -0
  200. package/build/esm/react/index.js.map +1 -0
  201. package/build/esm/react/withDataManager.d.ts +6 -0
  202. package/build/esm/react/withDataManager.js +15 -0
  203. package/build/esm/react/withDataManager.js.map +1 -0
  204. package/build/esm/react-query/ClientDataManager.d.ts +15 -0
  205. package/build/esm/react-query/ClientDataManager.js +87 -0
  206. package/build/esm/react-query/ClientDataManager.js.map +1 -0
  207. package/build/esm/react-query/hooks/useQueryContext.d.ts +2 -0
  208. package/build/esm/react-query/hooks/useQueryContext.js +12 -0
  209. package/build/esm/react-query/hooks/useQueryContext.js.map +1 -0
  210. package/build/esm/react-query/hooks/useQueryData.d.ts +3 -0
  211. package/build/esm/react-query/hooks/useQueryData.js +20 -0
  212. package/build/esm/react-query/hooks/useQueryData.js.map +1 -0
  213. package/build/esm/react-query/hooks/useQueryResponses.d.ts +11 -0
  214. package/build/esm/react-query/hooks/useQueryResponses.js +12 -0
  215. package/build/esm/react-query/hooks/useQueryResponses.js.map +1 -0
  216. package/build/esm/react-query/hooks/useRefetchAll.d.ts +3 -0
  217. package/build/esm/react-query/hooks/useRefetchAll.js +15 -0
  218. package/build/esm/react-query/hooks/useRefetchAll.js.map +1 -0
  219. package/build/esm/react-query/hooks/useRefetchErrored.d.ts +4 -0
  220. package/build/esm/react-query/hooks/useRefetchErrored.js +18 -0
  221. package/build/esm/react-query/hooks/useRefetchErrored.js.map +1 -0
  222. package/build/esm/react-query/impl/infinite/factory.d.ts +2 -0
  223. package/build/esm/react-query/impl/infinite/factory.js +7 -0
  224. package/build/esm/react-query/impl/infinite/factory.js.map +1 -0
  225. package/build/esm/react-query/impl/infinite/hooks.d.ts +3 -0
  226. package/build/esm/react-query/impl/infinite/hooks.js +11 -0
  227. package/build/esm/react-query/impl/infinite/hooks.js.map +1 -0
  228. package/build/esm/react-query/impl/infinite/types.d.ts +18 -0
  229. package/build/esm/react-query/impl/infinite/types.js +2 -0
  230. package/build/esm/react-query/impl/infinite/types.js.map +1 -0
  231. package/build/esm/react-query/impl/infinite/utils.d.ts +5 -0
  232. package/build/esm/react-query/impl/infinite/utils.js +42 -0
  233. package/build/esm/react-query/impl/infinite/utils.js.map +1 -0
  234. package/build/esm/react-query/impl/plain/factory.d.ts +2 -0
  235. package/build/esm/react-query/impl/plain/factory.js +7 -0
  236. package/build/esm/react-query/impl/plain/factory.js.map +1 -0
  237. package/build/esm/react-query/impl/plain/hooks.d.ts +3 -0
  238. package/build/esm/react-query/impl/plain/hooks.js +11 -0
  239. package/build/esm/react-query/impl/plain/hooks.js.map +1 -0
  240. package/build/esm/react-query/impl/plain/types.d.ts +14 -0
  241. package/build/esm/react-query/impl/plain/types.js +2 -0
  242. package/build/esm/react-query/impl/plain/types.js.map +1 -0
  243. package/build/esm/react-query/impl/plain/utils.d.ts +5 -0
  244. package/build/esm/react-query/impl/plain/utils.js +21 -0
  245. package/build/esm/react-query/impl/plain/utils.js.map +1 -0
  246. package/build/esm/react-query/index.d.ts +15 -0
  247. package/build/esm/react-query/index.js +12 -0
  248. package/build/esm/react-query/index.js.map +1 -0
  249. package/build/esm/react-query/types.d.ts +7 -0
  250. package/build/esm/react-query/types.js +2 -0
  251. package/build/esm/react-query/types.js.map +1 -0
  252. package/build/esm/react-query/utils/normalizeStatus.d.ts +3 -0
  253. package/build/esm/react-query/utils/normalizeStatus.js +7 -0
  254. package/build/esm/react-query/utils/normalizeStatus.js.map +1 -0
  255. package/package.json +67 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useDataManager = exports.DataManagerContext = void 0;
7
+ var _react = require("react");
8
+ var DataManagerContext = exports.DataManagerContext = /*#__PURE__*/(0, _react.createContext)(null);
9
+ var useDataManager = exports.useDataManager = function useDataManager() {
10
+ var dataManager = (0, _react.useContext)(DataManagerContext);
11
+ if (!dataManager) {
12
+ throw new Error('DataManager is not provied by context. Use DataManagerContext.Provider to do it');
13
+ }
14
+ return dataManager;
15
+ };
16
+ // #sourceMappingURL=DataManagerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","DataManagerContext","exports","createContext","useDataManager","dataManager","useContext","Error"],"sources":["DataManagerContext.ts"],"sourcesContent":["import {createContext, useContext} from 'react';\n\nimport type {DataManager} from '../core';\n\nexport const DataManagerContext = createContext<DataManager | null>(null);\n\nexport const useDataManager = () => {\n const dataManager = useContext(DataManagerContext);\n\n if (!dataManager) {\n throw new Error(\n 'DataManager is not provied by context. Use DataManagerContext.Provider to do it',\n );\n }\n\n return dataManager;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIO,IAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,oBAAa,EAAqB,IAAI,CAAC;AAElE,IAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAChC,IAAMC,WAAW,GAAG,IAAAC,iBAAU,EAACL,kBAAkB,CAAC;EAElD,IAAI,CAACI,WAAW,EAAE;IACd,MAAM,IAAIE,KAAK,CACX,iFACJ,CAAC;EACL;EAEA,OAAOF,WAAW;AACtB,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { DataInfiniteLoaderProps } from './types';
3
+ export declare const DataInfiniteLoader: <TError>({ status, error, errorAction: errorActionProp, hasNextPage, fetchNextPage, isFetchingNextPage, LoadingView, ErrorView, MoreView, children, }: DataInfiniteLoaderProps<TError>) => React.ReactNode;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DataInfiniteLoader = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ var DataInfiniteLoader = exports.DataInfiniteLoader = function DataInfiniteLoader(_ref) {
11
+ var status = _ref.status,
12
+ error = _ref.error,
13
+ errorActionProp = _ref.errorAction,
14
+ hasNextPage = _ref.hasNextPage,
15
+ fetchNextPage = _ref.fetchNextPage,
16
+ isFetchingNextPage = _ref.isFetchingNextPage,
17
+ LoadingView = _ref.LoadingView,
18
+ ErrorView = _ref.ErrorView,
19
+ MoreView = _ref.MoreView,
20
+ children = _ref.children;
21
+ var errorAction = _react.default.useMemo(function () {
22
+ return typeof errorActionProp === 'function' ? {
23
+ handler: errorActionProp
24
+ } : errorActionProp;
25
+ }, [errorActionProp]);
26
+ var content = _react.default.useMemo(function () {
27
+ if (status === 'loading') {
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LoadingView, {});
29
+ }
30
+ if (status === 'error') {
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ErrorView, {
32
+ error: error,
33
+ action: errorAction
34
+ });
35
+ }
36
+ if (status === 'success' && hasNextPage) {
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(MoreView, {
38
+ isLoading: isFetchingNextPage,
39
+ onClick: fetchNextPage
40
+ });
41
+ }
42
+ return null;
43
+ }, [status, hasNextPage, LoadingView, ErrorView, error, errorAction, MoreView, isFetchingNextPage, fetchNextPage]);
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
45
+ children: [status === 'success' ? children : null, content]
46
+ });
47
+ };
48
+ // #sourceMappingURL=DataInfiniteLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_jsxRuntime","e","__esModule","default","DataInfiniteLoader","exports","_ref","status","error","errorActionProp","errorAction","hasNextPage","fetchNextPage","isFetchingNextPage","LoadingView","ErrorView","MoreView","children","React","useMemo","handler","content","_jsx","action","isLoading","onClick","_jsxs","_Fragment"],"sources":["DataInfiniteLoader.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {ErrorViewProps} from '../types';\n\nimport type {DataInfiniteLoaderProps} from './types';\n\nexport const DataInfiniteLoader = <TError,>({\n status,\n error,\n errorAction: errorActionProp,\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n LoadingView,\n ErrorView,\n MoreView,\n children,\n}: DataInfiniteLoaderProps<TError>): React.ReactNode => {\n const errorAction = React.useMemo<ErrorViewProps<TError>['action']>(\n () =>\n typeof errorActionProp === 'function' ? {handler: errorActionProp} : errorActionProp,\n [errorActionProp],\n );\n\n const content = React.useMemo(() => {\n if (status === 'loading') {\n return <LoadingView />;\n }\n\n if (status === 'error') {\n return <ErrorView error={error} action={errorAction} />;\n }\n\n if (status === 'success' && hasNextPage) {\n return <MoreView isLoading={isFetchingNextPage} onClick={fetchNextPage} />;\n }\n\n return null;\n }, [\n status,\n hasNextPage,\n LoadingView,\n ErrorView,\n error,\n errorAction,\n MoreView,\n isFetchingNextPage,\n fetchNextPage,\n ]);\n\n return (\n <>\n {status === 'success' ? children : null}\n {content}\n </>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMnB,IAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,SAArBA,kBAAkBA,CAAAE,IAAA,EAWyB;EAAA,IAVpDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACQC,eAAe,GAAAH,IAAA,CAA5BI,WAAW;IACXC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,aAAa,GAAAN,IAAA,CAAbM,aAAa;IACbC,kBAAkB,GAAAP,IAAA,CAAlBO,kBAAkB;IAClBC,WAAW,GAAAR,IAAA,CAAXQ,WAAW;IACXC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTC,QAAQ,GAAAV,IAAA,CAARU,QAAQ;IACRC,QAAQ,GAAAX,IAAA,CAARW,QAAQ;EAER,IAAMP,WAAW,GAAGQ,cAAK,CAACC,OAAO,CAC7B;IAAA,OACI,OAAOV,eAAe,KAAK,UAAU,GAAG;MAACW,OAAO,EAAEX;IAAe,CAAC,GAAGA,eAAe;EAAA,GACxF,CAACA,eAAe,CACpB,CAAC;EAED,IAAMY,OAAO,GAAGH,cAAK,CAACC,OAAO,CAAC,YAAM;IAChC,IAAIZ,MAAM,KAAK,SAAS,EAAE;MACtB,oBAAO,IAAAe,eAAA,EAACR,WAAW,IAAE,CAAC;IAC1B;IAEA,IAAIP,MAAM,KAAK,OAAO,EAAE;MACpB,oBAAO,IAAAe,eAAA,EAACP,SAAS;QAACP,KAAK,EAAEA,KAAM;QAACe,MAAM,EAAEb;MAAY,CAAE,CAAC;IAC3D;IAEA,IAAIH,MAAM,KAAK,SAAS,IAAII,WAAW,EAAE;MACrC,oBAAO,IAAAW,eAAA,EAACN,QAAQ;QAACQ,SAAS,EAAEX,kBAAmB;QAACY,OAAO,EAAEb;MAAc,CAAE,CAAC;IAC9E;IAEA,OAAO,IAAI;EACf,CAAC,EAAE,CACCL,MAAM,EACNI,WAAW,EACXG,WAAW,EACXC,SAAS,EACTP,KAAK,EACLE,WAAW,EACXM,QAAQ,EACRH,kBAAkB,EAClBD,aAAa,CAChB,CAAC;EAEF,oBACI,IAAAc,gBAAA,EAAAC,oBAAA;IAAAV,QAAA,GACKV,MAAM,KAAK,SAAS,GAAGU,QAAQ,GAAG,IAAI,EACtCI,OAAO;EAAA,CACV,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export type { DataInfiniteLoaderProps } from './types';
2
+ export { DataInfiniteLoader } from './DataInfiniteLoader';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DataInfiniteLoader", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DataInfiniteLoader.DataInfiniteLoader;
10
+ }
11
+ });
12
+ var _DataInfiniteLoader = require("./DataInfiniteLoader");
13
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DataInfiniteLoader","require"],"sources":["index.ts"],"sourcesContent":["export type {DataInfiniteLoaderProps} from './types';\nexport {DataInfiniteLoader} from './DataInfiniteLoader';\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import type { ComponentType, ReactNode } from 'react';
2
+ import type { DataLoaderStatus } from '../../../core';
3
+ import type { ErrorAction, ErrorViewProps } from '../types';
4
+ export interface MoreViewProps {
5
+ isLoading: boolean;
6
+ onClick: () => void;
7
+ }
8
+ export interface DataInfiniteLoaderProps<TError> {
9
+ status: DataLoaderStatus;
10
+ error: TError | null;
11
+ errorAction?: ErrorAction | ErrorAction['handler'];
12
+ hasNextPage: boolean;
13
+ fetchNextPage: () => unknown;
14
+ isFetchingNextPage: boolean;
15
+ LoadingView: ComponentType;
16
+ ErrorView: ComponentType<ErrorViewProps<TError>>;
17
+ MoreView: ComponentType<MoreViewProps>;
18
+ children: ReactNode;
19
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ // #sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ComponentType, ReactNode} from 'react';\n\nimport type {DataLoaderStatus} from '../../../core';\nimport type {ErrorAction, ErrorViewProps} from '../types';\n\nexport interface MoreViewProps {\n isLoading: boolean;\n onClick: () => void;\n}\n\nexport interface DataInfiniteLoaderProps<TError> {\n status: DataLoaderStatus;\n error: TError | null;\n errorAction?: ErrorAction | ErrorAction['handler'];\n hasNextPage: boolean;\n fetchNextPage: () => unknown;\n isFetchingNextPage: boolean;\n LoadingView: ComponentType;\n ErrorView: ComponentType<ErrorViewProps<TError>>;\n MoreView: ComponentType<MoreViewProps>;\n children: ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { DataLoaderProps } from './types';
3
+ export declare const DataLoader: <TError>({ status, error, errorAction: errorActionProp, LoadingView, ErrorView, children, }: DataLoaderProps<TError>) => React.ReactNode;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DataLoader = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ var DataLoader = exports.DataLoader = function DataLoader(_ref) {
11
+ var status = _ref.status,
12
+ error = _ref.error,
13
+ errorActionProp = _ref.errorAction,
14
+ LoadingView = _ref.LoadingView,
15
+ ErrorView = _ref.ErrorView,
16
+ children = _ref.children;
17
+ var errorAction = _react.default.useMemo(function () {
18
+ return typeof errorActionProp === 'function' ? {
19
+ handler: errorActionProp
20
+ } : errorActionProp;
21
+ }, [errorActionProp]);
22
+ if (status === 'loading') {
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(LoadingView, {});
24
+ }
25
+ if (status === 'error') {
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ErrorView, {
27
+ error: error,
28
+ action: errorAction
29
+ });
30
+ }
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
32
+ children: children
33
+ });
34
+ };
35
+ // #sourceMappingURL=DataLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_jsxRuntime","e","__esModule","default","DataLoader","exports","_ref","status","error","errorActionProp","errorAction","LoadingView","ErrorView","children","React","useMemo","handler","_jsx","action","_Fragment"],"sources":["DataLoader.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {ErrorViewProps} from '../types';\n\nimport type {DataLoaderProps} from './types';\n\nexport const DataLoader = <TError,>({\n status,\n error,\n errorAction: errorActionProp,\n LoadingView,\n ErrorView,\n children,\n}: DataLoaderProps<TError>): React.ReactNode => {\n const errorAction = React.useMemo<ErrorViewProps<TError>['action']>(\n () =>\n typeof errorActionProp === 'function' ? {handler: errorActionProp} : errorActionProp,\n [errorActionProp],\n );\n\n if (status === 'loading') {\n return <LoadingView />;\n }\n\n if (status === 'error') {\n return <ErrorView error={error} action={errorAction} />;\n }\n\n return <>{children}</>;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMnB,IAAMG,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CAAAE,IAAA,EAOyB;EAAA,IAN5CC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACQC,eAAe,GAAAH,IAAA,CAA5BI,WAAW;IACXC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,SAAS,GAAAN,IAAA,CAATM,SAAS;IACTC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;EAER,IAAMH,WAAW,GAAGI,cAAK,CAACC,OAAO,CAC7B;IAAA,OACI,OAAON,eAAe,KAAK,UAAU,GAAG;MAACO,OAAO,EAAEP;IAAe,CAAC,GAAGA,eAAe;EAAA,GACxF,CAACA,eAAe,CACpB,CAAC;EAED,IAAIF,MAAM,KAAK,SAAS,EAAE;IACtB,oBAAO,IAAAU,eAAA,EAACN,WAAW,IAAE,CAAC;EAC1B;EAEA,IAAIJ,MAAM,KAAK,OAAO,EAAE;IACpB,oBAAO,IAAAU,eAAA,EAACL,SAAS;MAACJ,KAAK,EAAEA,KAAM;MAACU,MAAM,EAAER;IAAY,CAAE,CAAC;EAC3D;EAEA,oBAAO,IAAAO,eAAA,EAAAE,oBAAA;IAAAN,QAAA,EAAGA;EAAQ,CAAG,CAAC;AAC1B,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export type { DataLoaderProps } from './types';
2
+ export { DataLoader } from './DataLoader';
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "DataLoader", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _DataLoader.DataLoader;
10
+ }
11
+ });
12
+ var _DataLoader = require("./DataLoader");
13
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DataLoader","require"],"sources":["index.ts"],"sourcesContent":["export type {DataLoaderProps} from './types';\nexport {DataLoader} from './DataLoader';\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { ComponentType, ReactNode } from 'react';
2
+ import type { DataLoaderStatus } from '../../../core';
3
+ import type { ErrorAction, ErrorViewProps } from '../types';
4
+ export interface DataLoaderProps<TError> {
5
+ status: DataLoaderStatus;
6
+ error: TError | null;
7
+ errorAction?: ErrorAction | ErrorAction['handler'];
8
+ LoadingView: ComponentType;
9
+ ErrorView: ComponentType<ErrorViewProps<TError>>;
10
+ children: ReactNode;
11
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ // #sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ComponentType, ReactNode} from 'react';\n\nimport type {DataLoaderStatus} from '../../../core';\nimport type {ErrorAction, ErrorViewProps} from '../types';\n\nexport interface DataLoaderProps<TError> {\n status: DataLoaderStatus;\n error: TError | null;\n errorAction?: ErrorAction | ErrorAction['handler'];\n LoadingView: ComponentType;\n ErrorView: ComponentType<ErrorViewProps<TError>>;\n children: ReactNode;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface ErrorAction {
3
+ handler: () => unknown;
4
+ children?: ReactNode;
5
+ }
6
+ export interface ErrorViewProps<TError> {
7
+ error: TError | null;
8
+ action?: ErrorAction;
9
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ // #sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {ReactNode} from 'react';\n\nexport interface ErrorAction {\n handler: () => unknown;\n children?: ReactNode;\n}\n\nexport interface ErrorViewProps<TError> {\n error: TError | null;\n action?: ErrorAction;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export { DataManagerContext, useDataManager } from './DataManagerContext';
2
+ export type { WithDataManagerProps } from './withDataManager';
3
+ export { withDataManager } from './withDataManager';
4
+ export * from './components/DataLoader';
5
+ export * from './components/DataInfiniteLoader';
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ DataManagerContext: true,
8
+ useDataManager: true,
9
+ withDataManager: true
10
+ };
11
+ Object.defineProperty(exports, "DataManagerContext", {
12
+ enumerable: true,
13
+ get: function () {
14
+ return _DataManagerContext.DataManagerContext;
15
+ }
16
+ });
17
+ Object.defineProperty(exports, "useDataManager", {
18
+ enumerable: true,
19
+ get: function () {
20
+ return _DataManagerContext.useDataManager;
21
+ }
22
+ });
23
+ Object.defineProperty(exports, "withDataManager", {
24
+ enumerable: true,
25
+ get: function () {
26
+ return _withDataManager.withDataManager;
27
+ }
28
+ });
29
+ var _DataManagerContext = require("./DataManagerContext");
30
+ var _withDataManager = require("./withDataManager");
31
+ var _DataLoader = require("./components/DataLoader");
32
+ Object.keys(_DataLoader).forEach(function (key) {
33
+ if (key === "default" || key === "__esModule") return;
34
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
35
+ if (key in exports && exports[key] === _DataLoader[key]) return;
36
+ Object.defineProperty(exports, key, {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _DataLoader[key];
40
+ }
41
+ });
42
+ });
43
+ var _DataInfiniteLoader = require("./components/DataInfiniteLoader");
44
+ Object.keys(_DataInfiniteLoader).forEach(function (key) {
45
+ if (key === "default" || key === "__esModule") return;
46
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
47
+ if (key in exports && exports[key] === _DataInfiniteLoader[key]) return;
48
+ Object.defineProperty(exports, key, {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _DataInfiniteLoader[key];
52
+ }
53
+ });
54
+ });
55
+ // #sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_DataManagerContext","require","_withDataManager","_DataLoader","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_DataInfiniteLoader"],"sources":["index.ts"],"sourcesContent":["export {DataManagerContext, useDataManager} from './DataManagerContext';\n\nexport type {WithDataManagerProps} from './withDataManager';\nexport {withDataManager} from './withDataManager';\n\nexport * from './components/DataLoader';\nexport * from './components/DataInfiniteLoader';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAGA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAF,WAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,WAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,WAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,mBAAA,GAAAf,OAAA;AAAAG,MAAA,CAAAC,IAAA,CAAAW,mBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,mBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,mBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { DataManager } from '../core';
3
+ export interface WithDataManagerProps {
4
+ dataManager: DataManager;
5
+ }
6
+ export declare const withDataManager: <T extends WithDataManagerProps>(WrappedComponent: React.ComponentType<WithDataManagerProps>) => React.FC<T>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withDataManager = void 0;
7
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _DataManagerContext = require("./DataManagerContext");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ var withDataManager = exports.withDataManager = function withDataManager(WrappedComponent) {
13
+ var ComponentWithDataManager = function ComponentWithDataManager(props) {
14
+ var dataManager = (0, _DataManagerContext.useDataManager)();
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
16
+ dataManager: dataManager
17
+ }));
18
+ };
19
+ ComponentWithDataManager.displayName = "WithDataManager".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component');
20
+ return ComponentWithDataManager;
21
+ };
22
+ // #sourceMappingURL=withDataManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_DataManagerContext","_jsxRuntime","e","__esModule","default","withDataManager","exports","WrappedComponent","ComponentWithDataManager","props","dataManager","useDataManager","_jsx","_objectSpread","displayName","concat","name"],"sources":["withDataManager.tsx"],"sourcesContent":["import React from 'react';\n\nimport type {DataManager} from '../core';\n\nimport {useDataManager} from './DataManagerContext';\n\nexport interface WithDataManagerProps {\n dataManager: DataManager;\n}\n\nexport const withDataManager = <T extends WithDataManagerProps>(\n WrappedComponent: React.ComponentType<WithDataManagerProps>,\n) => {\n const ComponentWithDataManager: React.FC<T> = (props) => {\n const dataManager = useDataManager();\n\n return <WrappedComponent {...props} dataManager={dataManager} />;\n };\n\n ComponentWithDataManager.displayName = `WithDataManager${\n WrappedComponent.displayName || WrappedComponent.name || 'Component'\n }`;\n\n return ComponentWithDataManager;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,IAAAC,mBAAA,GAAAD,OAAA;AAAoD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM7C,IAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CACxBE,gBAA2D,EAC1D;EACD,IAAMC,wBAAqC,GAAG,SAAxCA,wBAAqCA,CAAIC,KAAK,EAAK;IACrD,IAAMC,WAAW,GAAG,IAAAC,kCAAc,EAAC,CAAC;IAEpC,oBAAO,IAAAC,eAAA,EAACL,gBAAgB,MAAAM,sBAAA,MAAAA,sBAAA,MAAKJ,KAAK;MAAEC,WAAW,EAAEA;IAAY,EAAE,CAAC;EACpE,CAAC;EAEDF,wBAAwB,CAACM,WAAW,qBAAAC,MAAA,CAChCR,gBAAgB,CAACO,WAAW,IAAIP,gBAAgB,CAACS,IAAI,IAAI,WAAW,CACtE;EAEF,OAAOR,wBAAwB;AACnC,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import type { QueryClientConfig } from '@tanstack/react-query';
2
+ import { QueryClient } from '@tanstack/react-query';
3
+ import { type AnyDataSource, type DataManager, type DataSourceParams, type DataSourceTag } from '../core';
4
+ export type ClientDataManagerConfig = QueryClientConfig;
5
+ export declare class ClientDataManager implements DataManager {
6
+ readonly queryClient: QueryClient;
7
+ constructor(conifg?: ClientDataManagerConfig);
8
+ invalidateTag(tag: DataSourceTag): Promise<void>;
9
+ invalidateTags(tags: DataSourceTag[]): Promise<void>;
10
+ invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
11
+ resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
12
+ invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
13
+ resetParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
14
+ invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
15
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ClientDataManager = void 0;
7
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _reactQuery = require("@tanstack/react-query");
11
+ var _core = require("../core");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ var ClientDataManager = exports.ClientDataManager = /*#__PURE__*/function () {
14
+ function ClientDataManager() {
15
+ var _conifg$defaultOption, _conifg$defaultOption2;
16
+ var conifg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
17
+ (0, _classCallCheck2.default)(this, ClientDataManager);
18
+ this.queryClient = void 0;
19
+ this.queryClient = new _reactQuery.QueryClient((0, _objectSpread2.default)((0, _objectSpread2.default)({}, conifg), {}, {
20
+ defaultOptions: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, conifg.defaultOptions), {}, {
21
+ queries: (0, _objectSpread2.default)({
22
+ networkMode: 'always'
23
+ }, (_conifg$defaultOption = conifg.defaultOptions) === null || _conifg$defaultOption === void 0 ? void 0 : _conifg$defaultOption.queries),
24
+ mutations: (0, _objectSpread2.default)({
25
+ networkMode: 'always'
26
+ }, (_conifg$defaultOption2 = conifg.defaultOptions) === null || _conifg$defaultOption2 === void 0 ? void 0 : _conifg$defaultOption2.mutations)
27
+ })
28
+ }));
29
+ }
30
+ return (0, _createClass2.default)(ClientDataManager, [{
31
+ key: "invalidateTag",
32
+ value: function invalidateTag(tag) {
33
+ return this.queryClient.invalidateQueries({
34
+ predicate: function predicate(_ref) {
35
+ var queryKey = _ref.queryKey;
36
+ return (0, _core.hasTag)(queryKey, tag);
37
+ }
38
+ });
39
+ }
40
+ }, {
41
+ key: "invalidateTags",
42
+ value: function invalidateTags(tags) {
43
+ return this.queryClient.invalidateQueries({
44
+ predicate: function predicate(_ref2) {
45
+ var queryKey = _ref2.queryKey;
46
+ return tags.every(function (tag) {
47
+ return (0, _core.hasTag)(queryKey, tag);
48
+ });
49
+ }
50
+ });
51
+ }
52
+ }, {
53
+ key: "invalidateSource",
54
+ value: function invalidateSource(dataSource) {
55
+ return this.queryClient.invalidateQueries({
56
+ // First element is a data source name
57
+ queryKey: [dataSource.name]
58
+ });
59
+ }
60
+ }, {
61
+ key: "resetSource",
62
+ value: function resetSource(dataSource) {
63
+ return this.queryClient.resetQueries({
64
+ // First element is a data source name
65
+ queryKey: [dataSource.name]
66
+ });
67
+ }
68
+ }, {
69
+ key: "invalidateParams",
70
+ value: function invalidateParams(dataSource, params) {
71
+ return this.queryClient.invalidateQueries({
72
+ queryKey: (0, _core.composeFullKey)(dataSource, params),
73
+ exact: true
74
+ });
75
+ }
76
+ }, {
77
+ key: "resetParams",
78
+ value: function resetParams(dataSource, params) {
79
+ return this.queryClient.resetQueries({
80
+ queryKey: (0, _core.composeFullKey)(dataSource, params),
81
+ exact: true
82
+ });
83
+ }
84
+ }, {
85
+ key: "invalidateSourceTags",
86
+ value: function invalidateSourceTags(dataSource, params) {
87
+ return this.queryClient.invalidateQueries({
88
+ // Last element is a full key
89
+ queryKey: (0, _core.composeFullKey)(dataSource, params).slice(0, -1)
90
+ });
91
+ }
92
+ }]);
93
+ }();
94
+ // #sourceMappingURL=ClientDataManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactQuery","require","_core","_interopRequireDefault","e","__esModule","default","ClientDataManager","exports","_conifg$defaultOption","_conifg$defaultOption2","conifg","arguments","length","undefined","_classCallCheck","queryClient","QueryClient","_objectSpread","defaultOptions","queries","networkMode","mutations","_createClass","key","value","invalidateTag","tag","invalidateQueries","predicate","_ref","queryKey","hasTag","invalidateTags","tags","_ref2","every","invalidateSource","dataSource","name","resetSource","resetQueries","invalidateParams","params","composeFullKey","exact","resetParams","invalidateSourceTags","slice"],"sources":["ClientDataManager.ts"],"sourcesContent":["import type {QueryClientConfig} from '@tanstack/react-query';\nimport {QueryClient} from '@tanstack/react-query';\n\nimport {\n type AnyDataSource,\n type DataManager,\n type DataSourceParams,\n type DataSourceTag,\n composeFullKey,\n hasTag,\n} from '../core';\n\nexport type ClientDataManagerConfig = QueryClientConfig;\n\nexport class ClientDataManager implements DataManager {\n readonly queryClient: QueryClient;\n\n constructor(conifg: ClientDataManagerConfig = {}) {\n this.queryClient = new QueryClient({\n ...conifg,\n defaultOptions: {\n ...conifg.defaultOptions,\n queries: {\n networkMode: 'always',\n ...conifg.defaultOptions?.queries,\n },\n mutations: {\n networkMode: 'always',\n ...conifg.defaultOptions?.mutations,\n },\n },\n });\n }\n\n invalidateTag(tag: DataSourceTag) {\n return this.queryClient.invalidateQueries({\n predicate: ({queryKey}) => hasTag(queryKey, tag),\n });\n }\n\n invalidateTags(tags: DataSourceTag[]) {\n return this.queryClient.invalidateQueries({\n predicate: ({queryKey}) => tags.every((tag) => hasTag(queryKey, tag)),\n });\n }\n\n invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource) {\n return this.queryClient.invalidateQueries({\n // First element is a data source name\n queryKey: [dataSource.name],\n });\n }\n\n resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource) {\n return this.queryClient.resetQueries({\n // First element is a data source name\n queryKey: [dataSource.name],\n });\n }\n\n invalidateParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ) {\n return this.queryClient.invalidateQueries({\n queryKey: composeFullKey(dataSource, params),\n exact: true,\n });\n }\n\n resetParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ) {\n return this.queryClient.resetQueries({\n queryKey: composeFullKey(dataSource, params),\n exact: true,\n });\n }\n\n invalidateSourceTags<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ) {\n return this.queryClient.invalidateQueries({\n // Last element is a full key\n queryKey: composeFullKey(dataSource, params).slice(0, -1),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { QueryDataSourceContext } from '../types';
2
+ export declare const useQueryContext: () => QueryDataSourceContext;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useQueryContext = void 0;
7
+ var _react = require("react");
8
+ var _reactQuery = require("@tanstack/react-query");
9
+ var useQueryContext = exports.useQueryContext = function useQueryContext() {
10
+ var queryClient = (0, _reactQuery.useQueryClient)();
11
+ var queryContext = (0, _react.useMemo)(function () {
12
+ return {
13
+ queryClient: queryClient
14
+ };
15
+ }, [queryClient]);
16
+ return queryContext;
17
+ };
18
+ // #sourceMappingURL=useQueryContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactQuery","useQueryContext","exports","queryClient","useQueryClient","queryContext","useMemo"],"sources":["useQueryContext.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {useQueryClient} from '@tanstack/react-query';\n\nimport type {QueryDataSourceContext} from '../types';\n\nexport const useQueryContext = (): QueryDataSourceContext => {\n const queryClient = useQueryClient();\n const queryContext = useMemo(() => ({queryClient}), [queryClient]);\n\n return queryContext;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAIO,IAAME,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CAAA,EAAiC;EACzD,IAAME,WAAW,GAAG,IAAAC,0BAAc,EAAC,CAAC;EACpC,IAAMC,YAAY,GAAG,IAAAC,cAAO,EAAC;IAAA,OAAO;MAACH,WAAW,EAAXA;IAAW,CAAC;EAAA,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAElE,OAAOE,YAAY;AACvB,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { DataSourceOptions, DataSourceParams, DataSourceState } from '../../core';
2
+ import type { AnyQueryDataSource } from '../types';
3
+ export declare const useQueryData: <TDataSource extends AnyQueryDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => DataSourceState<TDataSource>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useQueryData = void 0;
7
+ var _hooks = require("../impl/infinite/hooks");
8
+ var _hooks2 = require("../impl/plain/hooks");
9
+ var _useQueryContext = require("./useQueryContext");
10
+ var useQueryData = exports.useQueryData = function useQueryData(dataSource, params, options) {
11
+ var context = (0, _useQueryContext.useQueryContext)();
12
+ var state;
13
+
14
+ // Do not change data source type in the same hook call
15
+ if (dataSource.type === 'plain') {
16
+ // eslint-disable-next-line react-hooks/rules-of-hooks
17
+ state = (0, _hooks2.usePlainQueryData)(context, dataSource, params, options);
18
+ } else if (dataSource.type === 'infinite') {
19
+ // eslint-disable-next-line react-hooks/rules-of-hooks
20
+ state = (0, _hooks.useInfiniteQueryData)(context, dataSource, params, options);
21
+ } else {
22
+ throw new Error('Data Source type must be plain or infinite');
23
+ }
24
+ return state;
25
+ };
26
+ // #sourceMappingURL=useQueryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hooks","require","_hooks2","_useQueryContext","useQueryData","exports","dataSource","params","options","context","useQueryContext","state","type","usePlainQueryData","useInfiniteQueryData","Error"],"sources":["useQueryData.ts"],"sourcesContent":["import type {DataSourceOptions, DataSourceParams, DataSourceState} from '../../core';\nimport {useInfiniteQueryData} from '../impl/infinite/hooks';\nimport {usePlainQueryData} from '../impl/plain/hooks';\nimport type {AnyQueryDataSource} from '../types';\n\nimport {useQueryContext} from './useQueryContext';\n\nexport const useQueryData = <TDataSource extends AnyQueryDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n): DataSourceState<TDataSource> => {\n const context = useQueryContext();\n\n let state: DataSourceState<AnyQueryDataSource> | undefined;\n\n // Do not change data source type in the same hook call\n if (dataSource.type === 'plain') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = usePlainQueryData(context, dataSource, params, options);\n } else if (dataSource.type === 'infinite') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = useInfiniteQueryData(context, dataSource, params, options);\n } else {\n throw new Error('Data Source type must be plain or infinite');\n }\n\n return state as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAGA,IAAAE,gBAAA,GAAAF,OAAA;AAEO,IAAMG,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,SAAfA,YAAYA,CACrBE,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EACT;EAC/B,IAAMC,OAAO,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEjC,IAAIC,KAAsD;;EAE1D;EACA,IAAIL,UAAU,CAACM,IAAI,KAAK,OAAO,EAAE;IAC7B;IACAD,KAAK,GAAG,IAAAE,yBAAiB,EAACJ,OAAO,EAAEH,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACnE,CAAC,MAAM,IAAIF,UAAU,CAACM,IAAI,KAAK,UAAU,EAAE;IACvC;IACAD,KAAK,GAAG,IAAAG,2BAAoB,EAACL,OAAO,EAAEH,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACtE,CAAC,MAAM;IACH,MAAM,IAAIO,KAAK,CAAC,4CAA4C,CAAC;EACjE;EAEA,OAAOJ,KAAK;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { DataLoaderStatus } from '../../core';
2
+ export declare const useQueryResponses: <TError>(responses: {
3
+ status: DataLoaderStatus;
4
+ error: TError | null;
5
+ refetch: Function;
6
+ }[]) => {
7
+ status: DataLoaderStatus;
8
+ error: NonNullable<TError> | null;
9
+ refetch: () => void;
10
+ refetchErrored: () => void;
11
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useQueryResponses = void 0;
7
+ var _core = require("../../core");
8
+ var _useRefetchAll = require("./useRefetchAll");
9
+ var _useRefetchErrored = require("./useRefetchErrored");
10
+ var useQueryResponses = exports.useQueryResponses = function useQueryResponses(responses) {
11
+ return {
12
+ status: (0, _core.getStatus)(responses),
13
+ error: (0, _core.getError)(responses),
14
+ refetch: (0, _useRefetchAll.useRefetchAll)(responses),
15
+ refetchErrored: (0, _useRefetchErrored.useRefetchErrored)(responses)
16
+ };
17
+ };
18
+ // #sourceMappingURL=useQueryResponses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_useRefetchAll","_useRefetchErrored","useQueryResponses","exports","responses","status","getStatus","error","getError","refetch","useRefetchAll","refetchErrored","useRefetchErrored"],"sources":["useQueryResponses.ts"],"sourcesContent":["import type {DataLoaderStatus} from '../../core';\nimport {getError, getStatus} from '../../core';\n\nimport {useRefetchAll} from './useRefetchAll';\nimport {useRefetchErrored} from './useRefetchErrored';\n\nexport const useQueryResponses = <TError>(\n responses: {\n status: DataLoaderStatus;\n error: TError | null;\n refetch: Function;\n }[],\n) => {\n return {\n status: getStatus(responses),\n error: getError(responses),\n refetch: useRefetchAll(responses),\n refetchErrored: useRefetchErrored(responses),\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAEO,IAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,SAIG,EACF;EACD,OAAO;IACHC,MAAM,EAAE,IAAAC,eAAS,EAACF,SAAS,CAAC;IAC5BG,KAAK,EAAE,IAAAC,cAAQ,EAACJ,SAAS,CAAC;IAC1BK,OAAO,EAAE,IAAAC,4BAAa,EAACN,SAAS,CAAC;IACjCO,cAAc,EAAE,IAAAC,oCAAiB,EAACR,SAAS;EAC/C,CAAC;AACL,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare const useRefetchAll: (states: {
2
+ refetch: Function;
3
+ }[]) => () => void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRefetchAll = void 0;
7
+ var _react = require("react");
8
+ var useRefetchAll = exports.useRefetchAll = function useRefetchAll(states) {
9
+ return (0, _react.useCallback)(function () {
10
+ return states.forEach(function (_ref) {
11
+ var refetch = _ref.refetch;
12
+ return refetch();
13
+ });
14
+ },
15
+ // eslint-disable-next-line react-hooks/exhaustive-deps
16
+ states.map(function (_ref2) {
17
+ var refetch = _ref2.refetch;
18
+ return refetch;
19
+ }));
20
+ };
21
+ // #sourceMappingURL=useRefetchAll.js.map