@gravity-ui/data-source 0.8.1 → 0.9.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 (39) hide show
  1. package/build/cjs/core/utils/withCatch.d.ts +4 -1
  2. package/build/cjs/core/utils/withCatch.js +2 -0
  3. package/build/cjs/core/utils/withCatch.js.map +1 -1
  4. package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +59 -24
  5. package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -1
  6. package/build/cjs/react-query/impl/infinite/hooks.js +2 -1
  7. package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
  8. package/build/cjs/react-query/impl/infinite/types.d.ts +1 -0
  9. package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
  10. package/build/cjs/react-query/impl/plain/hooks.js +2 -1
  11. package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
  12. package/build/cjs/react-query/impl/plain/types.d.ts +1 -0
  13. package/build/cjs/react-query/impl/plain/types.js.map +1 -1
  14. package/build/cjs/react-query/utils/warnDisabledRefetch.d.ts +1 -1
  15. package/build/cjs/react-query/utils/warnDisabledRefetch.js +19 -3
  16. package/build/cjs/react-query/utils/warnDisabledRefetch.js.map +1 -1
  17. package/build/cjs/react-query/utils/wrapRefetch.d.ts +2 -0
  18. package/build/cjs/react-query/utils/wrapRefetch.js +29 -0
  19. package/build/cjs/react-query/utils/wrapRefetch.js.map +1 -0
  20. package/build/esm/core/utils/withCatch.d.ts +4 -1
  21. package/build/esm/core/utils/withCatch.js +2 -0
  22. package/build/esm/core/utils/withCatch.js.map +1 -1
  23. package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +59 -24
  24. package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -1
  25. package/build/esm/react-query/impl/infinite/hooks.js +2 -1
  26. package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
  27. package/build/esm/react-query/impl/infinite/types.d.ts +1 -0
  28. package/build/esm/react-query/impl/infinite/types.js.map +1 -1
  29. package/build/esm/react-query/impl/plain/hooks.js +2 -1
  30. package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
  31. package/build/esm/react-query/impl/plain/types.d.ts +1 -0
  32. package/build/esm/react-query/impl/plain/types.js.map +1 -1
  33. package/build/esm/react-query/utils/warnDisabledRefetch.d.ts +1 -1
  34. package/build/esm/react-query/utils/warnDisabledRefetch.js +18 -3
  35. package/build/esm/react-query/utils/warnDisabledRefetch.js.map +1 -1
  36. package/build/esm/react-query/utils/wrapRefetch.d.ts +2 -0
  37. package/build/esm/react-query/utils/wrapRefetch.js +22 -0
  38. package/build/esm/react-query/utils/wrapRefetch.js.map +1 -0
  39. package/package.json +1 -1
@@ -23,4 +23,7 @@
23
23
  * (error) => ({ error: true, message: error.message })
24
24
  * );
25
25
  */
26
- export declare function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(fetchFn: (...args: TArgs) => Promise<TFetchReturnType>, onCatchFn: (reason: unknown) => TCatchReturnType): (...args: TArgs) => Promise<TFetchReturnType | TCatchReturnType>;
26
+ export declare function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(fetchFn: (...args: TArgs) => Promise<TFetchReturnType>, onCatchFn: (reason: unknown) => TCatchReturnType): (...args: TArgs) => Promise<WithCatchMergedReturn<TFetchReturnType, TCatchReturnType>>;
27
+ /** If success is array-typed, an inferred `() => []` handler (`never[]`) is merged into the success type. */
28
+ type WithCatchMergedReturn<TSuccess, TCatch> = [TCatch] extends [never] ? TSuccess : [TSuccess] extends [readonly unknown[]] ? TCatch extends readonly never[] ? TSuccess : TSuccess | TCatch : TSuccess | TCatch;
29
+ export {};
@@ -34,4 +34,6 @@ function withCatch(fetchFn, onCatchFn) {
34
34
  return fetchFn.apply(void 0, arguments)["catch"](onCatchFn);
35
35
  };
36
36
  }
37
+
38
+ /** If success is array-typed, an inferred `() => []` handler (`never[]`) is merged into the success type. */
37
39
  // #sourceMappingURL=withCatch.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withCatch","fetchFn","onCatchFn","apply","arguments"],"sources":["withCatch.ts"],"sourcesContent":["/**\n * Creates a wrapper around a function that safely handles errors using a provided error handler.\n *\n * This utility function enhances a Promise-returning function by adding standardized error handling.\n * It catches any errors thrown by the original function and processes them through the provided\n * error handler, allowing for consistent error management across the application.\n *\n * @template TArgs - The argument types of the original function\n * @template TFetchReturnType - The return type of the original function's Promise\n * @template TCatchReturnType - The return type of the error handler function\n *\n * @param fetchFn - The original function that returns a Promise\n * @param onCatchFn - The error handler function that processes any caught errors\n *\n * @returns A new function with the same signature as the original function,\n * but with error handling applied. The returned function will resolve to either\n * the successful result of the original function or the result of the error handler.\n *\n * @example\n * // Basic usage with a string parameter\n * const fetchUser = withCatch(\n * someFetchFunction,\n * (error) => ({ error: true, message: error.message })\n * );\n */\nexport function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(\n fetchFn: (...args: TArgs) => Promise<TFetchReturnType>,\n onCatchFn: (reason: unknown) => TCatchReturnType,\n): (...args: TArgs) => Promise<TFetchReturnType | TCatchReturnType> {\n return (...args) => {\n return fetchFn(...args).catch(onCatchFn) as Promise<TFetchReturnType | TCatchReturnType>;\n };\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,SAASA,CACrBC,OAAsD,EACtDC,SAAgD,EACgB;EAChE,OAAO,YAAa;IAChB,OAAOD,OAAO,CAAAE,KAAA,SAAAC,SAAQ,CAAC,SAAM,CAACF,SAAS,CAAC;EAC5C,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["withCatch","fetchFn","onCatchFn","apply","arguments"],"sources":["withCatch.ts"],"sourcesContent":["/**\n * Creates a wrapper around a function that safely handles errors using a provided error handler.\n *\n * This utility function enhances a Promise-returning function by adding standardized error handling.\n * It catches any errors thrown by the original function and processes them through the provided\n * error handler, allowing for consistent error management across the application.\n *\n * @template TArgs - The argument types of the original function\n * @template TFetchReturnType - The return type of the original function's Promise\n * @template TCatchReturnType - The return type of the error handler function\n *\n * @param fetchFn - The original function that returns a Promise\n * @param onCatchFn - The error handler function that processes any caught errors\n *\n * @returns A new function with the same signature as the original function,\n * but with error handling applied. The returned function will resolve to either\n * the successful result of the original function or the result of the error handler.\n *\n * @example\n * // Basic usage with a string parameter\n * const fetchUser = withCatch(\n * someFetchFunction,\n * (error) => ({ error: true, message: error.message })\n * );\n */\nexport function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(\n fetchFn: (...args: TArgs) => Promise<TFetchReturnType>,\n onCatchFn: (reason: unknown) => TCatchReturnType,\n): (...args: TArgs) => Promise<WithCatchMergedReturn<TFetchReturnType, TCatchReturnType>> {\n return (...args) => {\n return fetchFn(...args).catch(onCatchFn) as Promise<\n WithCatchMergedReturn<TFetchReturnType, TCatchReturnType>\n >;\n };\n}\n\n/** If success is array-typed, an inferred `() => []` handler (`never[]`) is merged into the success type. */\ntype WithCatchMergedReturn<TSuccess, TCatch> = [TCatch] extends [never]\n ? TSuccess\n : [TSuccess] extends [readonly unknown[]]\n ? TCatch extends readonly never[]\n ? TSuccess\n : TSuccess | TCatch\n : TSuccess | TCatch;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,SAASA,CACrBC,OAAsD,EACtDC,SAAgD,EACsC;EACtF,OAAO,YAAa;IAChB,OAAOD,OAAO,CAAAE,KAAA,SAAAC,SAAQ,CAAC,SAAM,CAACF,SAAS,CAAC;EAG5C,CAAC;AACL;;AAEA","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
4
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
3
5
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
4
6
  var _reactQuery = require("@tanstack/react-query");
5
7
  var _react = require("@testing-library/react");
@@ -108,18 +110,33 @@ describe('useQueryData refetch behavior', function () {
108
110
  data: 'test-data'
109
111
  })
110
112
  };
111
- it('should use original refetch when no enabled option', function () {
112
- var originalRefetch = jest.fn();
113
- mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
114
- var _renderHook = (0, _react.renderHook)(function () {
115
- return (0, _useQueryData.useQueryData)(plainDataSource, {
116
- id: 1
117
- });
118
- }),
119
- result = _renderHook.result;
120
- expect(result.current.refetch).toBe(originalRefetch);
121
- expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
122
- });
113
+ it('should wrap refetch when no enabled option', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
114
+ var originalRefetch, _renderHook, result;
115
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
116
+ while (1) switch (_context.prev = _context.next) {
117
+ case 0:
118
+ originalRefetch = jest.fn().mockResolvedValue({
119
+ data: 'test',
120
+ status: 'success'
121
+ });
122
+ mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
123
+ _renderHook = (0, _react.renderHook)(function () {
124
+ return (0, _useQueryData.useQueryData)(plainDataSource, {
125
+ id: 1
126
+ });
127
+ }), result = _renderHook.result;
128
+ expect(result.current.refetch).not.toBe(originalRefetch);
129
+ expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
130
+ _context.next = 7;
131
+ return result.current.refetch();
132
+ case 7:
133
+ expect(originalRefetch).toHaveBeenCalledTimes(1);
134
+ case 8:
135
+ case "end":
136
+ return _context.stop();
137
+ }
138
+ }, _callee);
139
+ })));
123
140
  it('should use warnDisabledRefetch when enabled: false', function () {
124
141
  var originalRefetch = jest.fn();
125
142
  mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
@@ -154,18 +171,36 @@ describe('useQueryData refetch behavior', function () {
154
171
  }),
155
172
  next: jest.fn()
156
173
  };
157
- it('should use original refetch when no enabled option', function () {
158
- var originalRefetch = jest.fn();
159
- mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
160
- var _renderHook4 = (0, _react.renderHook)(function () {
161
- return (0, _useQueryData.useQueryData)(infiniteDataSource, {
162
- id: 1
163
- });
164
- }),
165
- result = _renderHook4.result;
166
- expect(result.current.refetch).toBe(originalRefetch);
167
- expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
168
- });
174
+ it('should wrap refetch when no enabled option', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
175
+ var originalRefetch, _renderHook4, result;
176
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
177
+ while (1) switch (_context2.prev = _context2.next) {
178
+ case 0:
179
+ originalRefetch = jest.fn().mockResolvedValue({
180
+ data: {
181
+ pages: [],
182
+ pageParams: []
183
+ },
184
+ status: 'success'
185
+ });
186
+ mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
187
+ _renderHook4 = (0, _react.renderHook)(function () {
188
+ return (0, _useQueryData.useQueryData)(infiniteDataSource, {
189
+ id: 1
190
+ });
191
+ }), result = _renderHook4.result;
192
+ expect(result.current.refetch).not.toBe(originalRefetch);
193
+ expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
194
+ _context2.next = 7;
195
+ return result.current.refetch();
196
+ case 7:
197
+ expect(originalRefetch).toHaveBeenCalledTimes(1);
198
+ case 8:
199
+ case "end":
200
+ return _context2.stop();
201
+ }
202
+ }, _callee2);
203
+ })));
169
204
  it('should use warnDisabledRefetch when enabled: false', function () {
170
205
  var originalRefetch = jest.fn();
171
206
  mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
@@ -1 +1 @@
1
- {"version":3,"names":["_reactQuery","require","_react","_core","_warnDisabledRefetch","_useQueryContext","_useQueryData","_interopRequireDefault","e","__esModule","default","jest","mock","_objectSpread","requireActual","useQuery","fn","useInfiniteQuery","mockUseQuery","mockUseInfiniteQuery","mockWarnDisabledRefetch","warnDisabledRefetch","describe","mockQueryClient","QueryClient","mockContext","queryClient","beforeEach","clearAllMocks","useQueryContext","mockReturnValue","createMockQueryResult","refetch","arguments","length","undefined","data","error","status","fetchStatus","isLoading","isError","isSuccess","isPending","dataUpdatedAt","Date","now","errorUpdatedAt","failureCount","failureReason","isFetched","isFetchedAfterMount","isFetching","isInitialLoading","isLoadingError","isPaused","isPlaceholderData","isPreviousData","isRefetchError","isRefetching","isStale","promise","Promise","resolve","createMockInfiniteResult","pages","pageParams","hasNextPage","hasPreviousPage","fetchNextPage","fetchPreviousPage","isFetchingNextPage","isFetchingPreviousPage","plainDataSource","type","name","fetch","mockResolvedValue","it","originalRefetch","_renderHook","renderHook","useQueryData","id","result","expect","current","toBe","not","_renderHook2","enabled","_renderHook3","idle","infiniteDataSource","next","_renderHook4","_renderHook5","_renderHook6"],"sources":["useQueryData.refetch.test.ts"],"sourcesContent":["import {QueryClient, useInfiniteQuery, useQuery} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {idle} from '../../../core';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('@tanstack/react-query', () => ({\n ...jest.requireActual('@tanstack/react-query'),\n useQuery: jest.fn(),\n useInfiniteQuery: jest.fn(),\n}));\n\njest.mock('../useQueryContext');\njest.mock('../../utils/warnDisabledRefetch');\n\nconst mockUseQuery = useQuery as jest.MockedFunction<typeof useQuery>;\nconst mockUseInfiniteQuery = useInfiniteQuery as jest.MockedFunction<typeof useInfiniteQuery>;\nconst mockWarnDisabledRefetch = warnDisabledRefetch as jest.MockedFunction<\n typeof warnDisabledRefetch\n>;\n\ndescribe('useQueryData refetch behavior', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n });\n\n const createMockQueryResult = (refetch = jest.fn()) => ({\n data: 'test-data',\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve('test-data'),\n });\n\n const createMockInfiniteResult = (refetch = jest.fn()) => ({\n data: {pages: [['item1'], ['item2']], pageParams: [undefined, 'next-page']},\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n hasNextPage: false,\n hasPreviousPage: false,\n fetchNextPage: jest.fn(),\n fetchPreviousPage: jest.fn(),\n isFetchingNextPage: false,\n isFetchingPreviousPage: false,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve({\n pages: [['item1'], ['item2']],\n pageParams: [undefined, 'next-page'],\n }),\n });\n\n describe('plain data source', () => {\n const plainDataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test-plain',\n fetch: jest.fn().mockResolvedValue({data: 'test-data'}),\n };\n\n it('should use original refetch when no enabled option', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, {id: 1}));\n\n expect(result.current.refetch).toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(plainDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n\n describe('infinite data source', () => {\n const infiniteDataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test-infinite',\n fetch: jest.fn().mockResolvedValue({data: ['item1', 'item2']}),\n next: jest.fn(),\n };\n\n it('should use original refetch when no enabled option', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, {id: 1}));\n\n expect(result.current.refetch).toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(infiniteDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_react","_core","_warnDisabledRefetch","_useQueryContext","_useQueryData","_interopRequireDefault","e","__esModule","default","jest","mock","_objectSpread","requireActual","useQuery","fn","useInfiniteQuery","mockUseQuery","mockUseInfiniteQuery","mockWarnDisabledRefetch","warnDisabledRefetch","describe","mockQueryClient","QueryClient","mockContext","queryClient","beforeEach","clearAllMocks","useQueryContext","mockReturnValue","createMockQueryResult","refetch","arguments","length","undefined","data","error","status","fetchStatus","isLoading","isError","isSuccess","isPending","dataUpdatedAt","Date","now","errorUpdatedAt","failureCount","failureReason","isFetched","isFetchedAfterMount","isFetching","isInitialLoading","isLoadingError","isPaused","isPlaceholderData","isPreviousData","isRefetchError","isRefetching","isStale","promise","Promise","resolve","createMockInfiniteResult","pages","pageParams","hasNextPage","hasPreviousPage","fetchNextPage","fetchPreviousPage","isFetchingNextPage","isFetchingPreviousPage","plainDataSource","type","name","fetch","mockResolvedValue","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee","originalRefetch","_renderHook","result","wrap","_callee$","_context","prev","next","renderHook","useQueryData","id","expect","current","not","toBe","toHaveBeenCalledTimes","stop","_renderHook2","enabled","_renderHook3","idle","infiniteDataSource","_callee2","_renderHook4","_callee2$","_context2","_renderHook5","_renderHook6"],"sources":["useQueryData.refetch.test.ts"],"sourcesContent":["import {QueryClient, useInfiniteQuery, useQuery} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {idle} from '../../../core';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('@tanstack/react-query', () => ({\n ...jest.requireActual('@tanstack/react-query'),\n useQuery: jest.fn(),\n useInfiniteQuery: jest.fn(),\n}));\n\njest.mock('../useQueryContext');\njest.mock('../../utils/warnDisabledRefetch');\n\nconst mockUseQuery = useQuery as jest.MockedFunction<typeof useQuery>;\nconst mockUseInfiniteQuery = useInfiniteQuery as jest.MockedFunction<typeof useInfiniteQuery>;\nconst mockWarnDisabledRefetch = warnDisabledRefetch as jest.MockedFunction<\n typeof warnDisabledRefetch\n>;\n\ndescribe('useQueryData refetch behavior', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n });\n\n const createMockQueryResult = (refetch = jest.fn()) => ({\n data: 'test-data',\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve('test-data'),\n });\n\n const createMockInfiniteResult = (refetch = jest.fn()) => ({\n data: {pages: [['item1'], ['item2']], pageParams: [undefined, 'next-page']},\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n hasNextPage: false,\n hasPreviousPage: false,\n fetchNextPage: jest.fn(),\n fetchPreviousPage: jest.fn(),\n isFetchingNextPage: false,\n isFetchingPreviousPage: false,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve({\n pages: [['item1'], ['item2']],\n pageParams: [undefined, 'next-page'],\n }),\n });\n\n describe('plain data source', () => {\n const plainDataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test-plain',\n fetch: jest.fn().mockResolvedValue({data: 'test-data'}),\n };\n\n it('should wrap refetch when no enabled option', async () => {\n const originalRefetch = jest.fn().mockResolvedValue({data: 'test', status: 'success'});\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, {id: 1}));\n\n expect(result.current.refetch).not.toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n\n await result.current.refetch();\n expect(originalRefetch).toHaveBeenCalledTimes(1);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(plainDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n\n describe('infinite data source', () => {\n const infiniteDataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test-infinite',\n fetch: jest.fn().mockResolvedValue({data: ['item1', 'item2']}),\n next: jest.fn(),\n };\n\n it('should wrap refetch when no enabled option', async () => {\n const originalRefetch = jest.fn().mockResolvedValue({\n data: {pages: [], pageParams: []},\n status: 'success',\n });\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, {id: 1}));\n\n expect(result.current.refetch).not.toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n\n await result.current.refetch();\n expect(originalRefetch).toHaveBeenCalledTimes(1);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(infiniteDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n});\n"],"mappings":";;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AAGA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAA4C,SAAAM,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5CG,IAAI,CAACC,IAAI,CAAC,uBAAuB,EAAE;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAC5BF,IAAI,CAACG,aAAa,CAAC,uBAAuB,CAAC;IAC9CC,QAAQ,EAAEJ,IAAI,CAACK,EAAE,CAAC,CAAC;IACnBC,gBAAgB,EAAEN,IAAI,CAACK,EAAE,CAAC;EAAC;AAAA,CAC7B,CAAC;AAEHL,IAAI,CAACC,IAAI,CAAC,oBAAoB,CAAC;AAC/BD,IAAI,CAACC,IAAI,CAAC,iCAAiC,CAAC;AAE5C,IAAMM,YAAY,GAAGH,oBAAgD;AACrE,IAAMI,oBAAoB,GAAGF,4BAAgE;AAC7F,IAAMG,uBAAuB,GAAGC,wCAE/B;AAEDC,QAAQ,CAAC,+BAA+B,EAAE,YAAM;EAC5C,IAAMC,eAAe,GAAG,IAAIC,uBAAW,CAAC,CAAC;EACzC,IAAMC,WAAW,GAAG;IAACC,WAAW,EAAEH;EAAe,CAAC;EAElDI,UAAU,CAAC,YAAM;IACbhB,IAAI,CAACiB,aAAa,CAAC,CAAC;IACnBC,gCAAe,CAAeC,eAAe,CAACL,WAAW,CAAC;EAC/D,CAAC,CAAC;EAEF,IAAMM,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAA;IAAA,IAAIC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGtB,IAAI,CAACK,EAAE,CAAC,CAAC;IAAA,OAAM;MACpDoB,IAAI,EAAE,WAAW;MACjBC,KAAK,EAAE,IAAI;MACXC,MAAM,EAAE,SAAkB;MAC1BC,WAAW,EAAE,MAAe;MAC5BC,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,KAAK;MACdC,SAAS,EAAE,IAAI;MACfC,SAAS,EAAE,KAAK;MAChBX,OAAO,EAAPA,OAAO;MACPY,aAAa,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACzBC,cAAc,EAAE,CAAC;MACjBC,YAAY,EAAE,CAAC;MACfC,aAAa,EAAE,IAAI;MACnBC,SAAS,EAAE,IAAI;MACfC,mBAAmB,EAAE,IAAI;MACzBC,UAAU,EAAE,KAAK;MACjBC,gBAAgB,EAAE,KAAK;MACvBC,cAAc,EAAE,KAAK;MACrBC,QAAQ,EAAE,KAAK;MACfC,iBAAiB,EAAE,KAAK;MACxBC,cAAc,EAAE,KAAK;MACrBC,cAAc,EAAE,KAAK;MACrBC,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,KAAK;MACdC,OAAO,EAAEC,OAAO,CAACC,OAAO,CAAC,WAAW;IACxC,CAAC;EAAA,CAAC;EAEF,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA;IAAA,IAAIhC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGtB,IAAI,CAACK,EAAE,CAAC,CAAC;IAAA,OAAM;MACvDoB,IAAI,EAAE;QAAC6B,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAAEC,UAAU,EAAE,CAAC/B,SAAS,EAAE,WAAW;MAAC,CAAC;MAC3EE,KAAK,EAAE,IAAI;MACXC,MAAM,EAAE,SAAkB;MAC1BC,WAAW,EAAE,MAAe;MAC5BC,SAAS,EAAE,KAAK;MAChBC,OAAO,EAAE,KAAK;MACdC,SAAS,EAAE,IAAI;MACfC,SAAS,EAAE,KAAK;MAChBX,OAAO,EAAPA,OAAO;MACPmC,WAAW,EAAE,KAAK;MAClBC,eAAe,EAAE,KAAK;MACtBC,aAAa,EAAE1D,IAAI,CAACK,EAAE,CAAC,CAAC;MACxBsD,iBAAiB,EAAE3D,IAAI,CAACK,EAAE,CAAC,CAAC;MAC5BuD,kBAAkB,EAAE,KAAK;MACzBC,sBAAsB,EAAE,KAAK;MAC7B5B,aAAa,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACzBC,cAAc,EAAE,CAAC;MACjBC,YAAY,EAAE,CAAC;MACfC,aAAa,EAAE,IAAI;MACnBC,SAAS,EAAE,IAAI;MACfC,mBAAmB,EAAE,IAAI;MACzBC,UAAU,EAAE,KAAK;MACjBC,gBAAgB,EAAE,KAAK;MACvBC,cAAc,EAAE,KAAK;MACrBC,QAAQ,EAAE,KAAK;MACfC,iBAAiB,EAAE,KAAK;MACxBC,cAAc,EAAE,KAAK;MACrBC,cAAc,EAAE,KAAK;MACrBC,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,KAAK;MACdC,OAAO,EAAEC,OAAO,CAACC,OAAO,CAAC;QACrBE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7BC,UAAU,EAAE,CAAC/B,SAAS,EAAE,WAAW;MACvC,CAAC;IACL,CAAC;EAAA,CAAC;EAEFb,QAAQ,CAAC,mBAAmB,EAAE,YAAM;IAChC,IAAMmD,eAAwC,GAAG;MAC7CC,IAAI,EAAE,OAAO;MACbC,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAEjE,IAAI,CAACK,EAAE,CAAC,CAAC,CAAC6D,iBAAiB,CAAC;QAACzC,IAAI,EAAE;MAAW,CAAC;IAC1D,CAAC;IAED0C,EAAE,CAAC,4CAA4C,mBAAAC,0BAAA,mBAAAC,4BAAA,IAAAC,IAAA,CAAE,SAAAC,QAAA;MAAA,IAAAC,eAAA,EAAAC,WAAA,EAAAC,MAAA;MAAA,WAAAL,4BAAA,IAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YACvCP,eAAe,GAAGxE,IAAI,CAACK,EAAE,CAAC,CAAC,CAAC6D,iBAAiB,CAAC;cAACzC,IAAI,EAAE,MAAM;cAAEE,MAAM,EAAE;YAAS,CAAC,CAAC;YACtFpB,YAAY,CAACY,eAAe,CAACC,qBAAqB,CAACoD,eAAe,CAAQ,CAAC;YAACC,WAAA,GAE3D,IAAAO,iBAAU,EAAC;cAAA,OAAM,IAAAC,0BAAY,EAACnB,eAAe,EAAE;gBAACoB,EAAE,EAAE;cAAC,CAAC,CAAC;YAAA,EAAC,EAAlER,MAAM,GAAAD,WAAA,CAANC,MAAM;YAEbS,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAACd,eAAe,CAAC;YACxDW,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAAC7E,uBAAuB,CAAC;YAACoE,QAAA,CAAAE,IAAA;YAAA,OAE3DL,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAAC;UAAA;YAC9B8D,MAAM,CAACX,eAAe,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAV,QAAA,CAAAW,IAAA;QAAA;MAAA,GAAAjB,OAAA;IAAA,CACpD,GAAC;IAEFJ,EAAE,CAAC,oDAAoD,EAAE,YAAM;MAC3D,IAAMK,eAAe,GAAGxE,IAAI,CAACK,EAAE,CAAC,CAAC;MACjCE,YAAY,CAACY,eAAe,CAACC,qBAAqB,CAACoD,eAAe,CAAQ,CAAC;MAE3E,IAAAiB,YAAA,GAAiB,IAAAT,iBAAU,EAAC;UAAA,OACxB,IAAAC,0BAAY,EAACnB,eAAe,EAAE;YAACoB,EAAE,EAAE;UAAC,CAAC,EAAE;YAACQ,OAAO,EAAE;UAAK,CAAC,CAAC;QAAA,CAC5D,CAAC;QAFMhB,MAAM,GAAAe,YAAA,CAANf,MAAM;MAIbS,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACiE,IAAI,CAAC7E,uBAAuB,CAAC;MAC5D0E,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAACd,eAAe,CAAC;IAC5D,CAAC,CAAC;IAEFL,EAAE,CAAC,oDAAoD,EAAE,YAAM;MAC3D,IAAMK,eAAe,GAAGxE,IAAI,CAACK,EAAE,CAAC,CAAC;MACjCE,YAAY,CAACY,eAAe,CAACC,qBAAqB,CAACoD,eAAe,CAAQ,CAAC;MAE3E,IAAAmB,YAAA,GAAiB,IAAAX,iBAAU,EAAC;UAAA,OAAM,IAAAC,0BAAY,EAACnB,eAAe,EAAE8B,UAAI,CAAC;QAAA,EAAC;QAA/DlB,MAAM,GAAAiB,YAAA,CAANjB,MAAM;MAEbS,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACiE,IAAI,CAAC7E,uBAAuB,CAAC;MAC5D0E,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAACd,eAAe,CAAC;IAC5D,CAAC,CAAC;EACN,CAAC,CAAC;EAEF7D,QAAQ,CAAC,sBAAsB,EAAE,YAAM;IACnC,IAAMkF,kBAA8C,GAAG;MACnD9B,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAEjE,IAAI,CAACK,EAAE,CAAC,CAAC,CAAC6D,iBAAiB,CAAC;QAACzC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO;MAAC,CAAC,CAAC;MAC9DsD,IAAI,EAAE/E,IAAI,CAACK,EAAE,CAAC;IAClB,CAAC;IAED8D,EAAE,CAAC,4CAA4C,mBAAAC,0BAAA,mBAAAC,4BAAA,IAAAC,IAAA,CAAE,SAAAwB,SAAA;MAAA,IAAAtB,eAAA,EAAAuB,YAAA,EAAArB,MAAA;MAAA,WAAAL,4BAAA,IAAAM,IAAA,UAAAqB,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAnB,IAAA,GAAAmB,SAAA,CAAAlB,IAAA;UAAA;YACvCP,eAAe,GAAGxE,IAAI,CAACK,EAAE,CAAC,CAAC,CAAC6D,iBAAiB,CAAC;cAChDzC,IAAI,EAAE;gBAAC6B,KAAK,EAAE,EAAE;gBAAEC,UAAU,EAAE;cAAE,CAAC;cACjC5B,MAAM,EAAE;YACZ,CAAC,CAAC;YACFnB,oBAAoB,CAACW,eAAe,CAACkC,wBAAwB,CAACmB,eAAe,CAAQ,CAAC;YAACuB,YAAA,GAEtE,IAAAf,iBAAU,EAAC;cAAA,OAAM,IAAAC,0BAAY,EAACY,kBAAkB,EAAE;gBAACX,EAAE,EAAE;cAAC,CAAC,CAAC;YAAA,EAAC,EAArER,MAAM,GAAAqB,YAAA,CAANrB,MAAM;YAEbS,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAACd,eAAe,CAAC;YACxDW,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAAC7E,uBAAuB,CAAC;YAACwF,SAAA,CAAAlB,IAAA;YAAA,OAE3DL,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAAC;UAAA;YAC9B8D,MAAM,CAACX,eAAe,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAU,SAAA,CAAAT,IAAA;QAAA;MAAA,GAAAM,QAAA;IAAA,CACpD,GAAC;IAEF3B,EAAE,CAAC,oDAAoD,EAAE,YAAM;MAC3D,IAAMK,eAAe,GAAGxE,IAAI,CAACK,EAAE,CAAC,CAAC;MACjCG,oBAAoB,CAACW,eAAe,CAACkC,wBAAwB,CAACmB,eAAe,CAAQ,CAAC;MAEtF,IAAA0B,YAAA,GAAiB,IAAAlB,iBAAU,EAAC;UAAA,OACxB,IAAAC,0BAAY,EAACY,kBAAkB,EAAE;YAACX,EAAE,EAAE;UAAC,CAAC,EAAE;YAACQ,OAAO,EAAE;UAAK,CAAC,CAAC;QAAA,CAC/D,CAAC;QAFMhB,MAAM,GAAAwB,YAAA,CAANxB,MAAM;MAIbS,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACiE,IAAI,CAAC7E,uBAAuB,CAAC;MAC5D0E,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAACd,eAAe,CAAC;IAC5D,CAAC,CAAC;IAEFL,EAAE,CAAC,oDAAoD,EAAE,YAAM;MAC3D,IAAMK,eAAe,GAAGxE,IAAI,CAACK,EAAE,CAAC,CAAC;MACjCG,oBAAoB,CAACW,eAAe,CAACkC,wBAAwB,CAACmB,eAAe,CAAQ,CAAC;MAEtF,IAAA2B,YAAA,GAAiB,IAAAnB,iBAAU,EAAC;UAAA,OAAM,IAAAC,0BAAY,EAACY,kBAAkB,EAAED,UAAI,CAAC;QAAA,EAAC;QAAlElB,MAAM,GAAAyB,YAAA,CAANzB,MAAM;MAEbS,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACiE,IAAI,CAAC7E,uBAAuB,CAAC;MAC5D0E,MAAM,CAACT,MAAM,CAACU,OAAO,CAAC/D,OAAO,CAAC,CAACgE,GAAG,CAACC,IAAI,CAACd,eAAe,CAAC;IAC5D,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
@@ -11,6 +11,7 @@ var _reactQuery = require("@tanstack/react-query");
11
11
  var _useRefetchInterval2 = require("../../hooks/useRefetchInterval");
12
12
  var _normalizeStatus = require("../../utils/normalizeStatus");
13
13
  var _warnDisabledRefetch = require("../../utils/warnDisabledRefetch");
14
+ var _wrapRefetch = require("../../utils/wrapRefetch");
14
15
  var _utils = require("./utils");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  var _excluded = ["queryFn", "refetchInterval"];
@@ -40,7 +41,7 @@ var useInfiniteQueryData = exports.useInfiniteQueryData = function useInfiniteQu
40
41
  data: transformedData,
41
42
  originalStatus: state.status,
42
43
  originalData: state.data,
43
- refetch: isDisabled ? _warnDisabledRefetch.warnDisabledRefetch : state.refetch
44
+ refetch: isDisabled ? _warnDisabledRefetch.warnDisabledRefetch : (0, _wrapRefetch.wrapRefetch)(state.refetch)
44
45
  });
45
46
  };
46
47
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactQuery","_useRefetchInterval2","_normalizeStatus","_warnDisabledRefetch","_utils","_interopRequireDefault","e","__esModule","default","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","useInfiniteQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useInfiniteQuery","transformedData","useMemo","_state$data$pages$fla","_state$data","data","pages","flat","isDisabled","enabled","skipToken","status","normalizeStatus","fetchStatus","originalStatus","originalData","refetch","warnDisabledRefetch"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {skipToken, useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAGA,IAAAK,MAAA,GAAAL,OAAA;AAAsC,SAAAM,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAEtC,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,OAAAC,iCAAA,EACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmC,IAAAC,uCAAkB,EAACN,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,WAAAM,sBAAA,MAAAA,sBAAA,MAAWL,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAEM,IAAMO,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMhB,eAAe,GAAGD,2BAA2B,CAACkB,eAAe,CAAC;EACpE,IAAME,KAAK,GAAG,IAAAC,4BAAgB,EAACpB,eAAe,CAAC;EAE/C,IAAMqB,eAAe,GAAG,IAAAC,cAAO,EAC3B;IAAA,IAAAC,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAML,KAAK,CAACM,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACJ,KAAK,CAACM,IAAI,CACf,CAAC;EAED,IAAMG,UAAU,GAAG5B,eAAe,CAAC6B,OAAO,KAAK,KAAK,IAAI7B,eAAe,CAACE,OAAO,KAAK4B,qBAAS;EAE7F,WAAApB,sBAAA,MAAAA,sBAAA,MACOS,KAAK;IACRY,MAAM,EAAE,IAAAC,gCAAe,EAACb,KAAK,CAACY,MAAM,EAAEZ,KAAK,CAACc,WAAW,CAAC;IACxDR,IAAI,EAAEJ,eAAe;IACrBa,cAAc,EAAEf,KAAK,CAACY,MAAM;IAC5BI,YAAY,EAAEhB,KAAK,CAACM,IAAI;IACxBW,OAAO,EAAER,UAAU,GAAGS,wCAAmB,GAAGlB,KAAK,CAACiB;EAAO;AAEjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactQuery","_useRefetchInterval2","_normalizeStatus","_warnDisabledRefetch","_wrapRefetch","_utils","_interopRequireDefault","e","__esModule","default","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","useInfiniteQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useInfiniteQuery","transformedData","useMemo","_state$data$pages$fla","_state$data","data","pages","flat","isDisabled","enabled","skipToken","status","normalizeStatus","fetchStatus","originalStatus","originalData","refetch","warnDisabledRefetch","wrapRefetch"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {skipToken, useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {wrapRefetch} from '../../utils/wrapRefetch';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n refetch: isDisabled ? warnDisabledRefetch : wrapRefetch(state.refetch),\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAGA,IAAAM,MAAA,GAAAN,OAAA;AAAsC,SAAAO,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAEtC,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,OAAAC,iCAAA,EACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmC,IAAAC,uCAAkB,EAACN,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,WAAAM,sBAAA,MAAAA,sBAAA,MAAWL,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAEM,IAAMO,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMhB,eAAe,GAAGD,2BAA2B,CAACkB,eAAe,CAAC;EACpE,IAAME,KAAK,GAAG,IAAAC,4BAAgB,EAACpB,eAAe,CAAC;EAE/C,IAAMqB,eAAe,GAAG,IAAAC,cAAO,EAC3B;IAAA,IAAAC,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAML,KAAK,CAACM,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACJ,KAAK,CAACM,IAAI,CACf,CAAC;EAED,IAAMG,UAAU,GAAG5B,eAAe,CAAC6B,OAAO,KAAK,KAAK,IAAI7B,eAAe,CAACE,OAAO,KAAK4B,qBAAS;EAE7F,WAAApB,sBAAA,MAAAA,sBAAA,MACOS,KAAK;IACRY,MAAM,EAAE,IAAAC,gCAAe,EAACb,KAAK,CAACY,MAAM,EAAEZ,KAAK,CAACc,WAAW,CAAC;IACxDR,IAAI,EAAEJ,eAAe;IACrBa,cAAc,EAAEf,KAAK,CAACY,MAAM;IAC5BI,YAAY,EAAEhB,KAAK,CAACM,IAAI;IACxBW,OAAO,EAAER,UAAU,GAAGS,wCAAmB,GAAG,IAAAC,wBAAW,EAACnB,KAAK,CAACiB,OAAO;EAAC;AAE9E,CAAC","ignoreList":[]}
@@ -14,6 +14,7 @@ export type AnyPageParam = Partial<any>;
14
14
  type ResultWrapper<TResult, TRequest, TResponse, TData, TError> = TResult extends InfiniteQueryObserverResult<InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>, TError> ? Overwrite<TResult, {
15
15
  status: DataLoaderStatus;
16
16
  data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;
17
+ refetch: () => Promise<void>;
17
18
  }> & {
18
19
  originalStatus: TResult['status'];
19
20
  originalData: TResult['data'];
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n QueryKey,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type InfiniteQueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Assign<\n InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >\n>;\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TResponse>,\n DataSourceKey,\n Partial<NoInfer<TRequest>>\n >,\n ResultWrapper<\n InfiniteQueryObserverResult<\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TError>\n >,\n NoInfer<TRequest>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey, Partial<NoInfer<TRequest>>>\n> & {\n type: 'infinite';\n next: (\n lastPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n prev?: (\n firstPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\n// It is used instead of `Partial<DataSourceRequest<TDataSource>>` because TS can't calculate type\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPageParam = Partial<any>;\n\ntype ResultWrapper<TResult, TRequest, TResponse, TData, TError> =\n TResult extends InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;\n }\n > & {\n originalStatus: TResult['status'];\n originalData: TResult['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n QueryKey,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type InfiniteQueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Assign<\n InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >\n>;\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TResponse>,\n DataSourceKey,\n Partial<NoInfer<TRequest>>\n >,\n ResultWrapper<\n InfiniteQueryObserverResult<\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TError>\n >,\n NoInfer<TRequest>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey, Partial<NoInfer<TRequest>>>\n> & {\n type: 'infinite';\n next: (\n lastPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n prev?: (\n firstPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\n// It is used instead of `Partial<DataSourceRequest<TDataSource>>` because TS can't calculate type\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPageParam = Partial<any>;\n\ntype ResultWrapper<TResult, TRequest, TResponse, TData, TError> =\n TResult extends InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;\n refetch: () => Promise<void>;\n }\n > & {\n originalStatus: TResult['status'];\n originalData: TResult['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -10,6 +10,7 @@ var _reactQuery = require("@tanstack/react-query");
10
10
  var _useRefetchInterval2 = require("../../hooks/useRefetchInterval");
11
11
  var _normalizeStatus = require("../../utils/normalizeStatus");
12
12
  var _warnDisabledRefetch = require("../../utils/warnDisabledRefetch");
13
+ var _wrapRefetch = require("../../utils/wrapRefetch");
13
14
  var _utils = require("./utils");
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  var _excluded = ["queryFn", "refetchInterval"];
@@ -33,7 +34,7 @@ var usePlainQueryData = exports.usePlainQueryData = function usePlainQueryData(c
33
34
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
34
35
  status: (0, _normalizeStatus.normalizeStatus)(state.status, state.fetchStatus),
35
36
  originalStatus: state.status,
36
- refetch: isDisabled ? _warnDisabledRefetch.warnDisabledRefetch : state.refetch
37
+ refetch: isDisabled ? _warnDisabledRefetch.warnDisabledRefetch : (0, _wrapRefetch.wrapRefetch)(state.refetch)
37
38
  });
38
39
  };
39
40
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactQuery","require","_useRefetchInterval2","_normalizeStatus","_warnDisabledRefetch","_utils","_interopRequireDefault","e","__esModule","default","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","usePlainQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useQuery","isDisabled","enabled","skipToken","status","normalizeStatus","fetchStatus","originalStatus","refetch","warnDisabledRefetch"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAYA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAGA,IAAAI,MAAA,GAAAJ,OAAA;AAAsC,SAAAK,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAEtC,IAAMG,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,OAAAC,iCAAA,EACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmC,IAAAC,uCAAkB,EAACN,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,WAAAM,sBAAA,MAAAA,sBAAA,MAAWL,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAEM,IAAMO,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMhB,eAAe,GAAGD,wBAAwB,CAACkB,eAAe,CAAC;EACjE,IAAME,KAAK,GAAG,IAAAC,oBAAQ,EAACpB,eAAe,CAAC;EAEvC,IAAMqB,UAAU,GAAGrB,eAAe,CAACsB,OAAO,KAAK,KAAK,IAAItB,eAAe,CAACE,OAAO,KAAKqB,qBAAS;EAE7F,WAAAb,sBAAA,MAAAA,sBAAA,MACOS,KAAK;IACRK,MAAM,EAAE,IAAAC,gCAAe,EAACN,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACO,WAAW,CAAC;IACxDC,cAAc,EAAER,KAAK,CAACK,MAAM;IAC5BI,OAAO,EAAEP,UAAU,GAAGQ,wCAAmB,GAAGV,KAAK,CAACS;EAAO;AAEjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactQuery","require","_useRefetchInterval2","_normalizeStatus","_warnDisabledRefetch","_wrapRefetch","_utils","_interopRequireDefault","e","__esModule","default","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","usePlainQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useQuery","isDisabled","enabled","skipToken","status","normalizeStatus","fetchStatus","originalStatus","refetch","warnDisabledRefetch","wrapRefetch"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {wrapRefetch} from '../../utils/wrapRefetch';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n refetch: isDisabled ? warnDisabledRefetch : wrapRefetch(state.refetch),\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAYA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAGA,IAAAK,MAAA,GAAAL,OAAA;AAAsC,SAAAM,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAEtC,IAAMG,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,OAAAC,iCAAA,EACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmC,IAAAC,uCAAkB,EAACN,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,WAAAM,sBAAA,MAAAA,sBAAA,MAAWL,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAEM,IAAMO,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMhB,eAAe,GAAGD,wBAAwB,CAACkB,eAAe,CAAC;EACjE,IAAME,KAAK,GAAG,IAAAC,oBAAQ,EAACpB,eAAe,CAAC;EAEvC,IAAMqB,UAAU,GAAGrB,eAAe,CAACsB,OAAO,KAAK,KAAK,IAAItB,eAAe,CAACE,OAAO,KAAKqB,qBAAS;EAE7F,WAAAb,sBAAA,MAAAA,sBAAA,MACOS,KAAK;IACRK,MAAM,EAAE,IAAAC,gCAAe,EAACN,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACO,WAAW,CAAC;IACxDC,cAAc,EAAER,KAAK,CAACK,MAAM;IAC5BI,OAAO,EAAEP,UAAU,GAAGQ,wCAAmB,GAAG,IAAAC,wBAAW,EAACX,KAAK,CAACS,OAAO;EAAC;AAE9E,CAAC","ignoreList":[]}
@@ -10,6 +10,7 @@ export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> =
10
10
  export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;
11
11
  type ResultWrapper<TResult, TResponse, TData, TError> = TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError> ? Overwrite<TResult, {
12
12
  status: DataLoaderStatus;
13
+ refetch: () => Promise<void>;
13
14
  }> & {
14
15
  originalStatus: TResult['status'];
15
16
  } : never;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n QueryFunctionContext,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type QueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = Assign<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>\n>;\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n ActualData<NoInfer<TData>, NoInfer<TResponse>>,\n NoInfer<TResponse>,\n DataSourceKey\n >,\n ResultWrapper<\n QueryObserverResult<ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TError>>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<TResult, TResponse, TData, TError> =\n TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError>\n ? Overwrite<TResult, {status: DataLoaderStatus}> & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n QueryFunctionContext,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type QueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = Assign<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>\n>;\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n ActualData<NoInfer<TData>, NoInfer<TResponse>>,\n NoInfer<TResponse>,\n DataSourceKey\n >,\n ResultWrapper<\n QueryObserverResult<ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TError>>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<TResult, TResponse, TData, TError> =\n TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError>\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n refetch: () => Promise<void>;\n }\n > & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- export declare const warnDisabledRefetch: () => void;
1
+ export declare const warnDisabledRefetch: () => Promise<void>;
@@ -4,8 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.warnDisabledRefetch = void 0;
7
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
8
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
7
9
  var _warn = require("./warn");
8
- var warnDisabledRefetch = exports.warnDisabledRefetch = function warnDisabledRefetch() {
9
- (0, _warn.warn)('Disabled refetch is called');
10
- };
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ var warnDisabledRefetch = exports.warnDisabledRefetch = /*#__PURE__*/function () {
12
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
13
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ (0, _warn.warn)('Disabled refetch is called');
17
+ case 1:
18
+ case "end":
19
+ return _context.stop();
20
+ }
21
+ }, _callee);
22
+ }));
23
+ return function warnDisabledRefetch() {
24
+ return _ref.apply(this, arguments);
25
+ };
26
+ }();
11
27
  // #sourceMappingURL=warnDisabledRefetch.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_warn","require","warnDisabledRefetch","exports","warn"],"sources":["warnDisabledRefetch.ts"],"sourcesContent":["import {warn} from './warn';\n\nexport const warnDisabledRefetch = () => {\n warn('Disabled refetch is called');\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EACrC,IAAAE,UAAI,EAAC,4BAA4B,CAAC;AACtC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_warn","require","_interopRequireDefault","e","__esModule","default","warnDisabledRefetch","exports","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","warn","stop","apply","arguments"],"sources":["warnDisabledRefetch.ts"],"sourcesContent":["import {warn} from './warn';\n\nexport const warnDisabledRefetch = async (): Promise<void> => {\n warn('Disabled refetch is called');\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAA2B,SAAAC,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpB,IAAMG,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA;EAAA,IAAAE,IAAA,OAAAC,0BAAA,mBAAAC,4BAAA,IAAAC,IAAA,CAAG,SAAAC,QAAA;IAAA,WAAAF,4BAAA,IAAAG,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC/B,IAAAC,UAAI,EAAC,4BAA4B,CAAC;QAAC;QAAA;UAAA,OAAAH,QAAA,CAAAI,IAAA;MAAA;IAAA,GAAAP,OAAA;EAAA,CACtC;EAAA,gBAFYN,mBAAmBA,CAAA;IAAA,OAAAE,IAAA,CAAAY,KAAA,OAAAC,SAAA;EAAA;AAAA,GAE/B","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
2
+ export declare function wrapRefetch<TData, TError>(refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<TData, TError>>): (options?: RefetchOptions) => Promise<void>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.wrapRefetch = wrapRefetch;
7
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
8
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function wrapRefetch(refetch) {
11
+ return /*#__PURE__*/function () {
12
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(options) {
13
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _context.next = 2;
17
+ return refetch(options);
18
+ case 2:
19
+ case "end":
20
+ return _context.stop();
21
+ }
22
+ }, _callee);
23
+ }));
24
+ return function (_x) {
25
+ return _ref.apply(this, arguments);
26
+ };
27
+ }();
28
+ }
29
+ // #sourceMappingURL=wrapRefetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wrapRefetch","refetch","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","options","wrap","_callee$","_context","prev","next","stop","_x","apply","arguments"],"sources":["wrapRefetch.ts"],"sourcesContent":["import type {QueryObserverResult, RefetchOptions} from '@tanstack/react-query';\n\nexport function wrapRefetch<TData, TError>(\n refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<TData, TError>>,\n): (options?: RefetchOptions) => Promise<void> {\n return async (options?: RefetchOptions) => {\n await refetch(options);\n };\n}\n"],"mappings":";;;;;;;;;AAEO,SAASA,WAAWA,CACvBC,OAAkF,EACvC;EAC3C;IAAA,IAAAC,IAAA,OAAAC,0BAAA,mBAAAC,4BAAA,IAAAC,IAAA,CAAO,SAAAC,QAAOC,OAAwB;MAAA,WAAAH,4BAAA,IAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAC5BX,OAAO,CAACM,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAG,IAAA;QAAA;MAAA,GAAAP,OAAA;IAAA,CACzB;IAAA,iBAAAQ,EAAA;MAAA,OAAAZ,IAAA,CAAAa,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL","ignoreList":[]}
@@ -23,4 +23,7 @@
23
23
  * (error) => ({ error: true, message: error.message })
24
24
  * );
25
25
  */
26
- export declare function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(fetchFn: (...args: TArgs) => Promise<TFetchReturnType>, onCatchFn: (reason: unknown) => TCatchReturnType): (...args: TArgs) => Promise<TFetchReturnType | TCatchReturnType>;
26
+ export declare function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(fetchFn: (...args: TArgs) => Promise<TFetchReturnType>, onCatchFn: (reason: unknown) => TCatchReturnType): (...args: TArgs) => Promise<WithCatchMergedReturn<TFetchReturnType, TCatchReturnType>>;
27
+ /** If success is array-typed, an inferred `() => []` handler (`never[]`) is merged into the success type. */
28
+ type WithCatchMergedReturn<TSuccess, TCatch> = [TCatch] extends [never] ? TSuccess : [TSuccess] extends [readonly unknown[]] ? TCatch extends readonly never[] ? TSuccess : TSuccess | TCatch : TSuccess | TCatch;
29
+ export {};
@@ -28,4 +28,6 @@ export function withCatch(fetchFn, onCatchFn) {
28
28
  return fetchFn.apply(void 0, arguments)["catch"](onCatchFn);
29
29
  };
30
30
  }
31
+
32
+ /** If success is array-typed, an inferred `() => []` handler (`never[]`) is merged into the success type. */
31
33
  // #sourceMappingURL=withCatch.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withCatch","fetchFn","onCatchFn","apply","arguments"],"sources":["withCatch.ts"],"sourcesContent":["/**\n * Creates a wrapper around a function that safely handles errors using a provided error handler.\n *\n * This utility function enhances a Promise-returning function by adding standardized error handling.\n * It catches any errors thrown by the original function and processes them through the provided\n * error handler, allowing for consistent error management across the application.\n *\n * @template TArgs - The argument types of the original function\n * @template TFetchReturnType - The return type of the original function's Promise\n * @template TCatchReturnType - The return type of the error handler function\n *\n * @param fetchFn - The original function that returns a Promise\n * @param onCatchFn - The error handler function that processes any caught errors\n *\n * @returns A new function with the same signature as the original function,\n * but with error handling applied. The returned function will resolve to either\n * the successful result of the original function or the result of the error handler.\n *\n * @example\n * // Basic usage with a string parameter\n * const fetchUser = withCatch(\n * someFetchFunction,\n * (error) => ({ error: true, message: error.message })\n * );\n */\nexport function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(\n fetchFn: (...args: TArgs) => Promise<TFetchReturnType>,\n onCatchFn: (reason: unknown) => TCatchReturnType,\n): (...args: TArgs) => Promise<TFetchReturnType | TCatchReturnType> {\n return (...args) => {\n return fetchFn(...args).catch(onCatchFn) as Promise<TFetchReturnType | TCatchReturnType>;\n };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CACrBC,OAAsD,EACtDC,SAAgD,EACgB;EAChE,OAAO,YAAa;IAChB,OAAOD,OAAO,CAAAE,KAAA,SAAAC,SAAQ,CAAC,SAAM,CAACF,SAAS,CAAC;EAC5C,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["withCatch","fetchFn","onCatchFn","apply","arguments"],"sources":["withCatch.ts"],"sourcesContent":["/**\n * Creates a wrapper around a function that safely handles errors using a provided error handler.\n *\n * This utility function enhances a Promise-returning function by adding standardized error handling.\n * It catches any errors thrown by the original function and processes them through the provided\n * error handler, allowing for consistent error management across the application.\n *\n * @template TArgs - The argument types of the original function\n * @template TFetchReturnType - The return type of the original function's Promise\n * @template TCatchReturnType - The return type of the error handler function\n *\n * @param fetchFn - The original function that returns a Promise\n * @param onCatchFn - The error handler function that processes any caught errors\n *\n * @returns A new function with the same signature as the original function,\n * but with error handling applied. The returned function will resolve to either\n * the successful result of the original function or the result of the error handler.\n *\n * @example\n * // Basic usage with a string parameter\n * const fetchUser = withCatch(\n * someFetchFunction,\n * (error) => ({ error: true, message: error.message })\n * );\n */\nexport function withCatch<TArgs extends unknown[], TFetchReturnType, TCatchReturnType>(\n fetchFn: (...args: TArgs) => Promise<TFetchReturnType>,\n onCatchFn: (reason: unknown) => TCatchReturnType,\n): (...args: TArgs) => Promise<WithCatchMergedReturn<TFetchReturnType, TCatchReturnType>> {\n return (...args) => {\n return fetchFn(...args).catch(onCatchFn) as Promise<\n WithCatchMergedReturn<TFetchReturnType, TCatchReturnType>\n >;\n };\n}\n\n/** If success is array-typed, an inferred `() => []` handler (`never[]`) is merged into the success type. */\ntype WithCatchMergedReturn<TSuccess, TCatch> = [TCatch] extends [never]\n ? TSuccess\n : [TSuccess] extends [readonly unknown[]]\n ? TCatch extends readonly never[]\n ? TSuccess\n : TSuccess | TCatch\n : TSuccess | TCatch;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CACrBC,OAAsD,EACtDC,SAAgD,EACsC;EACtF,OAAO,YAAa;IAChB,OAAOD,OAAO,CAAAE,KAAA,SAAAC,SAAQ,CAAC,SAAM,CAACF,SAAS,CAAC;EAG5C,CAAC;AACL;;AAEA","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
3
  import _objectSpread from "@babel/runtime/helpers/objectSpread2";
2
4
  import { QueryClient, useInfiniteQuery, useQuery } from '@tanstack/react-query';
3
5
  import { renderHook } from '@testing-library/react';
@@ -105,18 +107,33 @@ describe('useQueryData refetch behavior', function () {
105
107
  data: 'test-data'
106
108
  })
107
109
  };
108
- it('should use original refetch when no enabled option', function () {
109
- var originalRefetch = jest.fn();
110
- mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
111
- var _renderHook = renderHook(function () {
112
- return useQueryData(plainDataSource, {
113
- id: 1
114
- });
115
- }),
116
- result = _renderHook.result;
117
- expect(result.current.refetch).toBe(originalRefetch);
118
- expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
119
- });
110
+ it('should wrap refetch when no enabled option', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
111
+ var originalRefetch, _renderHook, result;
112
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
113
+ while (1) switch (_context.prev = _context.next) {
114
+ case 0:
115
+ originalRefetch = jest.fn().mockResolvedValue({
116
+ data: 'test',
117
+ status: 'success'
118
+ });
119
+ mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
120
+ _renderHook = renderHook(function () {
121
+ return useQueryData(plainDataSource, {
122
+ id: 1
123
+ });
124
+ }), result = _renderHook.result;
125
+ expect(result.current.refetch).not.toBe(originalRefetch);
126
+ expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
127
+ _context.next = 7;
128
+ return result.current.refetch();
129
+ case 7:
130
+ expect(originalRefetch).toHaveBeenCalledTimes(1);
131
+ case 8:
132
+ case "end":
133
+ return _context.stop();
134
+ }
135
+ }, _callee);
136
+ })));
120
137
  it('should use warnDisabledRefetch when enabled: false', function () {
121
138
  var originalRefetch = jest.fn();
122
139
  mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch));
@@ -151,18 +168,36 @@ describe('useQueryData refetch behavior', function () {
151
168
  }),
152
169
  next: jest.fn()
153
170
  };
154
- it('should use original refetch when no enabled option', function () {
155
- var originalRefetch = jest.fn();
156
- mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
157
- var _renderHook4 = renderHook(function () {
158
- return useQueryData(infiniteDataSource, {
159
- id: 1
160
- });
161
- }),
162
- result = _renderHook4.result;
163
- expect(result.current.refetch).toBe(originalRefetch);
164
- expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
165
- });
171
+ it('should wrap refetch when no enabled option', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
172
+ var originalRefetch, _renderHook4, result;
173
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
174
+ while (1) switch (_context2.prev = _context2.next) {
175
+ case 0:
176
+ originalRefetch = jest.fn().mockResolvedValue({
177
+ data: {
178
+ pages: [],
179
+ pageParams: []
180
+ },
181
+ status: 'success'
182
+ });
183
+ mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
184
+ _renderHook4 = renderHook(function () {
185
+ return useQueryData(infiniteDataSource, {
186
+ id: 1
187
+ });
188
+ }), result = _renderHook4.result;
189
+ expect(result.current.refetch).not.toBe(originalRefetch);
190
+ expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);
191
+ _context2.next = 7;
192
+ return result.current.refetch();
193
+ case 7:
194
+ expect(originalRefetch).toHaveBeenCalledTimes(1);
195
+ case 8:
196
+ case "end":
197
+ return _context2.stop();
198
+ }
199
+ }, _callee2);
200
+ })));
166
201
  it('should use warnDisabledRefetch when enabled: false', function () {
167
202
  var originalRefetch = jest.fn();
168
203
  mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch));
@@ -1 +1 @@
1
- {"version":3,"names":["QueryClient","useInfiniteQuery","useQuery","renderHook","idle","warnDisabledRefetch","useQueryContext","useQueryData","jest","mock","_objectSpread","requireActual","fn","mockUseQuery","mockUseInfiniteQuery","mockWarnDisabledRefetch","describe","mockQueryClient","mockContext","queryClient","beforeEach","clearAllMocks","mockReturnValue","createMockQueryResult","refetch","arguments","length","undefined","data","error","status","fetchStatus","isLoading","isError","isSuccess","isPending","dataUpdatedAt","Date","now","errorUpdatedAt","failureCount","failureReason","isFetched","isFetchedAfterMount","isFetching","isInitialLoading","isLoadingError","isPaused","isPlaceholderData","isPreviousData","isRefetchError","isRefetching","isStale","promise","Promise","resolve","createMockInfiniteResult","pages","pageParams","hasNextPage","hasPreviousPage","fetchNextPage","fetchPreviousPage","isFetchingNextPage","isFetchingPreviousPage","plainDataSource","type","name","fetch","mockResolvedValue","it","originalRefetch","_renderHook","id","result","expect","current","toBe","not","_renderHook2","enabled","_renderHook3","infiniteDataSource","next","_renderHook4","_renderHook5","_renderHook6"],"sources":["useQueryData.refetch.test.ts"],"sourcesContent":["import {QueryClient, useInfiniteQuery, useQuery} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {idle} from '../../../core';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('@tanstack/react-query', () => ({\n ...jest.requireActual('@tanstack/react-query'),\n useQuery: jest.fn(),\n useInfiniteQuery: jest.fn(),\n}));\n\njest.mock('../useQueryContext');\njest.mock('../../utils/warnDisabledRefetch');\n\nconst mockUseQuery = useQuery as jest.MockedFunction<typeof useQuery>;\nconst mockUseInfiniteQuery = useInfiniteQuery as jest.MockedFunction<typeof useInfiniteQuery>;\nconst mockWarnDisabledRefetch = warnDisabledRefetch as jest.MockedFunction<\n typeof warnDisabledRefetch\n>;\n\ndescribe('useQueryData refetch behavior', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n });\n\n const createMockQueryResult = (refetch = jest.fn()) => ({\n data: 'test-data',\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve('test-data'),\n });\n\n const createMockInfiniteResult = (refetch = jest.fn()) => ({\n data: {pages: [['item1'], ['item2']], pageParams: [undefined, 'next-page']},\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n hasNextPage: false,\n hasPreviousPage: false,\n fetchNextPage: jest.fn(),\n fetchPreviousPage: jest.fn(),\n isFetchingNextPage: false,\n isFetchingPreviousPage: false,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve({\n pages: [['item1'], ['item2']],\n pageParams: [undefined, 'next-page'],\n }),\n });\n\n describe('plain data source', () => {\n const plainDataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test-plain',\n fetch: jest.fn().mockResolvedValue({data: 'test-data'}),\n };\n\n it('should use original refetch when no enabled option', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, {id: 1}));\n\n expect(result.current.refetch).toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(plainDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n\n describe('infinite data source', () => {\n const infiniteDataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test-infinite',\n fetch: jest.fn().mockResolvedValue({data: ['item1', 'item2']}),\n next: jest.fn(),\n };\n\n it('should use original refetch when no enabled option', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, {id: 1}));\n\n expect(result.current.refetch).toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(infiniteDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["QueryClient","useInfiniteQuery","useQuery","renderHook","idle","warnDisabledRefetch","useQueryContext","useQueryData","jest","mock","_objectSpread","requireActual","fn","mockUseQuery","mockUseInfiniteQuery","mockWarnDisabledRefetch","describe","mockQueryClient","mockContext","queryClient","beforeEach","clearAllMocks","mockReturnValue","createMockQueryResult","refetch","arguments","length","undefined","data","error","status","fetchStatus","isLoading","isError","isSuccess","isPending","dataUpdatedAt","Date","now","errorUpdatedAt","failureCount","failureReason","isFetched","isFetchedAfterMount","isFetching","isInitialLoading","isLoadingError","isPaused","isPlaceholderData","isPreviousData","isRefetchError","isRefetching","isStale","promise","Promise","resolve","createMockInfiniteResult","pages","pageParams","hasNextPage","hasPreviousPage","fetchNextPage","fetchPreviousPage","isFetchingNextPage","isFetchingPreviousPage","plainDataSource","type","name","fetch","mockResolvedValue","it","_asyncToGenerator","_regeneratorRuntime","mark","_callee","originalRefetch","_renderHook","result","wrap","_callee$","_context","prev","next","id","expect","current","not","toBe","toHaveBeenCalledTimes","stop","_renderHook2","enabled","_renderHook3","infiniteDataSource","_callee2","_renderHook4","_callee2$","_context2","_renderHook5","_renderHook6"],"sources":["useQueryData.refetch.test.ts"],"sourcesContent":["import {QueryClient, useInfiniteQuery, useQuery} from '@tanstack/react-query';\nimport {renderHook} from '@testing-library/react';\n\nimport {idle} from '../../../core';\nimport type {AnyInfiniteQueryDataSource} from '../../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../../impl/plain/types';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {useQueryContext} from '../useQueryContext';\nimport {useQueryData} from '../useQueryData';\n\njest.mock('@tanstack/react-query', () => ({\n ...jest.requireActual('@tanstack/react-query'),\n useQuery: jest.fn(),\n useInfiniteQuery: jest.fn(),\n}));\n\njest.mock('../useQueryContext');\njest.mock('../../utils/warnDisabledRefetch');\n\nconst mockUseQuery = useQuery as jest.MockedFunction<typeof useQuery>;\nconst mockUseInfiniteQuery = useInfiniteQuery as jest.MockedFunction<typeof useInfiniteQuery>;\nconst mockWarnDisabledRefetch = warnDisabledRefetch as jest.MockedFunction<\n typeof warnDisabledRefetch\n>;\n\ndescribe('useQueryData refetch behavior', () => {\n const mockQueryClient = new QueryClient();\n const mockContext = {queryClient: mockQueryClient};\n\n beforeEach(() => {\n jest.clearAllMocks();\n (useQueryContext as jest.Mock).mockReturnValue(mockContext);\n });\n\n const createMockQueryResult = (refetch = jest.fn()) => ({\n data: 'test-data',\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve('test-data'),\n });\n\n const createMockInfiniteResult = (refetch = jest.fn()) => ({\n data: {pages: [['item1'], ['item2']], pageParams: [undefined, 'next-page']},\n error: null,\n status: 'success' as const,\n fetchStatus: 'idle' as const,\n isLoading: false,\n isError: false,\n isSuccess: true,\n isPending: false,\n refetch,\n hasNextPage: false,\n hasPreviousPage: false,\n fetchNextPage: jest.fn(),\n fetchPreviousPage: jest.fn(),\n isFetchingNextPage: false,\n isFetchingPreviousPage: false,\n dataUpdatedAt: Date.now(),\n errorUpdatedAt: 0,\n failureCount: 0,\n failureReason: null,\n isFetched: true,\n isFetchedAfterMount: true,\n isFetching: false,\n isInitialLoading: false,\n isLoadingError: false,\n isPaused: false,\n isPlaceholderData: false,\n isPreviousData: false,\n isRefetchError: false,\n isRefetching: false,\n isStale: false,\n promise: Promise.resolve({\n pages: [['item1'], ['item2']],\n pageParams: [undefined, 'next-page'],\n }),\n });\n\n describe('plain data source', () => {\n const plainDataSource: AnyPlainQueryDataSource = {\n type: 'plain',\n name: 'test-plain',\n fetch: jest.fn().mockResolvedValue({data: 'test-data'}),\n };\n\n it('should wrap refetch when no enabled option', async () => {\n const originalRefetch = jest.fn().mockResolvedValue({data: 'test', status: 'success'});\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, {id: 1}));\n\n expect(result.current.refetch).not.toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n\n await result.current.refetch();\n expect(originalRefetch).toHaveBeenCalledTimes(1);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(plainDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseQuery.mockReturnValue(createMockQueryResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(plainDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n\n describe('infinite data source', () => {\n const infiniteDataSource: AnyInfiniteQueryDataSource = {\n type: 'infinite',\n name: 'test-infinite',\n fetch: jest.fn().mockResolvedValue({data: ['item1', 'item2']}),\n next: jest.fn(),\n };\n\n it('should wrap refetch when no enabled option', async () => {\n const originalRefetch = jest.fn().mockResolvedValue({\n data: {pages: [], pageParams: []},\n status: 'success',\n });\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, {id: 1}));\n\n expect(result.current.refetch).not.toBe(originalRefetch);\n expect(result.current.refetch).not.toBe(mockWarnDisabledRefetch);\n\n await result.current.refetch();\n expect(originalRefetch).toHaveBeenCalledTimes(1);\n });\n\n it('should use warnDisabledRefetch when enabled: false', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() =>\n useQueryData(infiniteDataSource, {id: 1}, {enabled: false}),\n );\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n\n it('should use warnDisabledRefetch when params is idle', () => {\n const originalRefetch = jest.fn();\n mockUseInfiniteQuery.mockReturnValue(createMockInfiniteResult(originalRefetch) as any);\n\n const {result} = renderHook(() => useQueryData(infiniteDataSource, idle));\n\n expect(result.current.refetch).toBe(mockWarnDisabledRefetch);\n expect(result.current.refetch).not.toBe(originalRefetch);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { skipToken, useInfiniteQuery } from '@tanstack/react-query';
6
6
  import { useRefetchInterval } from '../../hooks/useRefetchInterval';
7
7
  import { normalizeStatus } from '../../utils/normalizeStatus';
8
8
  import { warnDisabledRefetch } from '../../utils/warnDisabledRefetch';
9
+ import { wrapRefetch } from '../../utils/wrapRefetch';
9
10
  import { composeOptions } from './utils';
10
11
  var useInfiniteQueryDataOptions = function useInfiniteQueryDataOptions(composedOptions) {
11
12
  var queryFnOption = composedOptions.queryFn,
@@ -33,7 +34,7 @@ export var useInfiniteQueryData = function useInfiniteQueryData(context, dataSou
33
34
  data: transformedData,
34
35
  originalStatus: state.status,
35
36
  originalData: state.data,
36
- refetch: isDisabled ? warnDisabledRefetch : state.refetch
37
+ refetch: isDisabled ? warnDisabledRefetch : wrapRefetch(state.refetch)
37
38
  });
38
39
  };
39
40
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","skipToken","useInfiniteQuery","useRefetchInterval","normalizeStatus","warnDisabledRefetch","composeOptions","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","useInfiniteQueryData","context","dataSource","params","options","extendedOptions","state","transformedData","_state$data$pages$fla","_state$data","data","pages","flat","isDisabled","enabled","status","fetchStatus","originalStatus","originalData","refetch"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {skipToken, useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAQA,OAAO,QAAO,OAAO;AAE7B,SAAQC,SAAS,EAAEC,gBAAgB,QAAO,uBAAuB;AAcjE,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,mBAAmB,QAAO,iCAAiC;AAGnE,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCb,kBAAkB,CAACQ,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC7BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,2BAA2B,CAACgB,eAAe,CAAC;EACpE,IAAMC,KAAK,GAAGtB,gBAAgB,CAACM,eAAe,CAAC;EAE/C,IAAMiB,eAAe,GAAGzB,OAAO,CAC3B;IAAA,IAAA0B,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAMH,KAAK,CAACI,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACF,KAAK,CAACI,IAAI,CACf,CAAC;EAED,IAAMG,UAAU,GAAGvB,eAAe,CAACwB,OAAO,KAAK,KAAK,IAAIxB,eAAe,CAACE,OAAO,KAAKT,SAAS;EAE7F,OAAAgB,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRS,MAAM,EAAE7B,eAAe,CAACoB,KAAK,CAACS,MAAM,EAAET,KAAK,CAACU,WAAW,CAAC;IACxDN,IAAI,EAAEH,eAAe;IACrBU,cAAc,EAAEX,KAAK,CAACS,MAAM;IAC5BG,YAAY,EAAEZ,KAAK,CAACI,IAAI;IACxBS,OAAO,EAAEN,UAAU,GAAG1B,mBAAmB,GAAGmB,KAAK,CAACa;EAAO;AAEjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","skipToken","useInfiniteQuery","useRefetchInterval","normalizeStatus","warnDisabledRefetch","wrapRefetch","composeOptions","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","useInfiniteQueryData","context","dataSource","params","options","extendedOptions","state","transformedData","_state$data$pages$fla","_state$data","data","pages","flat","isDisabled","enabled","status","fetchStatus","originalStatus","originalData","refetch"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {skipToken, useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {wrapRefetch} from '../../utils/wrapRefetch';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n refetch: isDisabled ? warnDisabledRefetch : wrapRefetch(state.refetch),\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAQA,OAAO,QAAO,OAAO;AAE7B,SAAQC,SAAS,EAAEC,gBAAgB,QAAO,uBAAuB;AAcjE,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,mBAAmB,QAAO,iCAAiC;AACnE,SAAQC,WAAW,QAAO,yBAAyB;AAGnD,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCd,kBAAkB,CAACS,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC7BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,2BAA2B,CAACgB,eAAe,CAAC;EACpE,IAAMC,KAAK,GAAGvB,gBAAgB,CAACO,eAAe,CAAC;EAE/C,IAAMiB,eAAe,GAAG1B,OAAO,CAC3B;IAAA,IAAA2B,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAMH,KAAK,CAACI,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACF,KAAK,CAACI,IAAI,CACf,CAAC;EAED,IAAMG,UAAU,GAAGvB,eAAe,CAACwB,OAAO,KAAK,KAAK,IAAIxB,eAAe,CAACE,OAAO,KAAKV,SAAS;EAE7F,OAAAiB,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRS,MAAM,EAAE9B,eAAe,CAACqB,KAAK,CAACS,MAAM,EAAET,KAAK,CAACU,WAAW,CAAC;IACxDN,IAAI,EAAEH,eAAe;IACrBU,cAAc,EAAEX,KAAK,CAACS,MAAM;IAC5BG,YAAY,EAAEZ,KAAK,CAACI,IAAI;IACxBS,OAAO,EAAEN,UAAU,GAAG3B,mBAAmB,GAAGC,WAAW,CAACmB,KAAK,CAACa,OAAO;EAAC;AAE9E,CAAC","ignoreList":[]}
@@ -14,6 +14,7 @@ export type AnyPageParam = Partial<any>;
14
14
  type ResultWrapper<TResult, TRequest, TResponse, TData, TError> = TResult extends InfiniteQueryObserverResult<InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>, TError> ? Overwrite<TResult, {
15
15
  status: DataLoaderStatus;
16
16
  data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;
17
+ refetch: () => Promise<void>;
17
18
  }> & {
18
19
  originalStatus: TResult['status'];
19
20
  originalData: TResult['data'];
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n QueryKey,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type InfiniteQueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Assign<\n InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >\n>;\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TResponse>,\n DataSourceKey,\n Partial<NoInfer<TRequest>>\n >,\n ResultWrapper<\n InfiniteQueryObserverResult<\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TError>\n >,\n NoInfer<TRequest>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey, Partial<NoInfer<TRequest>>>\n> & {\n type: 'infinite';\n next: (\n lastPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n prev?: (\n firstPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\n// It is used instead of `Partial<DataSourceRequest<TDataSource>>` because TS can't calculate type\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPageParam = Partial<any>;\n\ntype ResultWrapper<TResult, TRequest, TResponse, TData, TError> =\n TResult extends InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;\n }\n > & {\n originalStatus: TResult['status'];\n originalData: TResult['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n QueryKey,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type InfiniteQueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Assign<\n InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >\n>;\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TResponse>,\n DataSourceKey,\n Partial<NoInfer<TRequest>>\n >,\n ResultWrapper<\n InfiniteQueryObserverResult<\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TError>\n >,\n NoInfer<TRequest>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey, Partial<NoInfer<TRequest>>>\n> & {\n type: 'infinite';\n next: (\n lastPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n prev?: (\n firstPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\n// It is used instead of `Partial<DataSourceRequest<TDataSource>>` because TS can't calculate type\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPageParam = Partial<any>;\n\ntype ResultWrapper<TResult, TRequest, TResponse, TData, TError> =\n TResult extends InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;\n refetch: () => Promise<void>;\n }\n > & {\n originalStatus: TResult['status'];\n originalData: TResult['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -5,6 +5,7 @@ import { skipToken, useQuery } from '@tanstack/react-query';
5
5
  import { useRefetchInterval } from '../../hooks/useRefetchInterval';
6
6
  import { normalizeStatus } from '../../utils/normalizeStatus';
7
7
  import { warnDisabledRefetch } from '../../utils/warnDisabledRefetch';
8
+ import { wrapRefetch } from '../../utils/wrapRefetch';
8
9
  import { composeOptions } from './utils';
9
10
  var usePlainQueryDataOptions = function usePlainQueryDataOptions(composedOptions) {
10
11
  var queryFnOption = composedOptions.queryFn,
@@ -26,7 +27,7 @@ export var usePlainQueryData = function usePlainQueryData(context, dataSource, p
26
27
  return _objectSpread(_objectSpread({}, state), {}, {
27
28
  status: normalizeStatus(state.status, state.fetchStatus),
28
29
  originalStatus: state.status,
29
- refetch: isDisabled ? warnDisabledRefetch : state.refetch
30
+ refetch: isDisabled ? warnDisabledRefetch : wrapRefetch(state.refetch)
30
31
  });
31
32
  };
32
33
  // #sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["skipToken","useQuery","useRefetchInterval","normalizeStatus","warnDisabledRefetch","composeOptions","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","usePlainQueryData","context","dataSource","params","options","extendedOptions","state","isDisabled","enabled","status","fetchStatus","originalStatus","refetch"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAmCA,SAAS,EAAEC,QAAQ,QAAO,uBAAuB;AAYpF,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,mBAAmB,QAAO,iCAAiC;AAGnE,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCb,kBAAkB,CAACQ,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,wBAAwB,CAACgB,eAAe,CAAC;EACjE,IAAMC,KAAK,GAAGtB,QAAQ,CAACM,eAAe,CAAC;EAEvC,IAAMiB,UAAU,GAAGjB,eAAe,CAACkB,OAAO,KAAK,KAAK,IAAIlB,eAAe,CAACE,OAAO,KAAKT,SAAS;EAE7F,OAAAgB,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRG,MAAM,EAAEvB,eAAe,CAACoB,KAAK,CAACG,MAAM,EAAEH,KAAK,CAACI,WAAW,CAAC;IACxDC,cAAc,EAAEL,KAAK,CAACG,MAAM;IAC5BG,OAAO,EAAEL,UAAU,GAAGpB,mBAAmB,GAAGmB,KAAK,CAACM;EAAO;AAEjE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["skipToken","useQuery","useRefetchInterval","normalizeStatus","warnDisabledRefetch","wrapRefetch","composeOptions","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","usePlainQueryData","context","dataSource","params","options","extendedOptions","state","isDisabled","enabled","status","fetchStatus","originalStatus","refetch"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\nimport {wrapRefetch} from '../../utils/wrapRefetch';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n refetch: isDisabled ? warnDisabledRefetch : wrapRefetch(state.refetch),\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAmCA,SAAS,EAAEC,QAAQ,QAAO,uBAAuB;AAYpF,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAC3D,SAAQC,mBAAmB,QAAO,iCAAiC;AACnE,SAAQC,WAAW,QAAO,yBAAyB;AAGnD,SAAQC,cAAc,QAAO,SAAS;AAEtC,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,GAAAC,wBAAA,CACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmCd,kBAAkB,CAACS,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,OAAAK,aAAA,CAAAA,aAAA,KAAWJ,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAED,OAAO,IAAMM,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGjB,cAAc,CAACa,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMd,eAAe,GAAGD,wBAAwB,CAACgB,eAAe,CAAC;EACjE,IAAMC,KAAK,GAAGvB,QAAQ,CAACO,eAAe,CAAC;EAEvC,IAAMiB,UAAU,GAAGjB,eAAe,CAACkB,OAAO,KAAK,KAAK,IAAIlB,eAAe,CAACE,OAAO,KAAKV,SAAS;EAE7F,OAAAiB,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRG,MAAM,EAAExB,eAAe,CAACqB,KAAK,CAACG,MAAM,EAAEH,KAAK,CAACI,WAAW,CAAC;IACxDC,cAAc,EAAEL,KAAK,CAACG,MAAM;IAC5BG,OAAO,EAAEL,UAAU,GAAGrB,mBAAmB,GAAGC,WAAW,CAACmB,KAAK,CAACM,OAAO;EAAC;AAE9E,CAAC","ignoreList":[]}
@@ -10,6 +10,7 @@ export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> =
10
10
  export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;
11
11
  type ResultWrapper<TResult, TResponse, TData, TError> = TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError> ? Overwrite<TResult, {
12
12
  status: DataLoaderStatus;
13
+ refetch: () => Promise<void>;
13
14
  }> & {
14
15
  originalStatus: TResult['status'];
15
16
  } : never;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n QueryFunctionContext,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type QueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = Assign<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>\n>;\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n ActualData<NoInfer<TData>, NoInfer<TResponse>>,\n NoInfer<TResponse>,\n DataSourceKey\n >,\n ResultWrapper<\n QueryObserverResult<ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TError>>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<TResult, TResponse, TData, TError> =\n TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError>\n ? Overwrite<TResult, {status: DataLoaderStatus}> & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n QueryFunctionContext,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type QueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = Assign<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>\n>;\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n ActualData<NoInfer<TData>, NoInfer<TResponse>>,\n NoInfer<TResponse>,\n DataSourceKey\n >,\n ResultWrapper<\n QueryObserverResult<ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TError>>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<TResult, TResponse, TData, TError> =\n TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError>\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n refetch: () => Promise<void>;\n }\n > & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- export declare const warnDisabledRefetch: () => void;
1
+ export declare const warnDisabledRefetch: () => Promise<void>;
@@ -1,5 +1,20 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
1
3
  import { warn } from './warn';
2
- export var warnDisabledRefetch = function warnDisabledRefetch() {
3
- warn('Disabled refetch is called');
4
- };
4
+ export var warnDisabledRefetch = /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
6
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
7
+ while (1) switch (_context.prev = _context.next) {
8
+ case 0:
9
+ warn('Disabled refetch is called');
10
+ case 1:
11
+ case "end":
12
+ return _context.stop();
13
+ }
14
+ }, _callee);
15
+ }));
16
+ return function warnDisabledRefetch() {
17
+ return _ref.apply(this, arguments);
18
+ };
19
+ }();
5
20
  // #sourceMappingURL=warnDisabledRefetch.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["warn","warnDisabledRefetch"],"sources":["warnDisabledRefetch.ts"],"sourcesContent":["import {warn} from './warn';\n\nexport const warnDisabledRefetch = () => {\n warn('Disabled refetch is called');\n};\n"],"mappings":"AAAA,SAAQA,IAAI,QAAO,QAAQ;AAE3B,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EACrCD,IAAI,CAAC,4BAA4B,CAAC;AACtC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["warn","warnDisabledRefetch","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","arguments"],"sources":["warnDisabledRefetch.ts"],"sourcesContent":["import {warn} from './warn';\n\nexport const warnDisabledRefetch = async (): Promise<void> => {\n warn('Disabled refetch is called');\n};\n"],"mappings":";;AAAA,SAAQA,IAAI,QAAO,QAAQ;AAE3B,OAAO,IAAMC,mBAAmB;EAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAAA;IAAA,OAAAF,mBAAA,GAAAG,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC/BX,IAAI,CAAC,4BAA4B,CAAC;QAAC;QAAA;UAAA,OAAAS,QAAA,CAAAG,IAAA;MAAA;IAAA,GAAAN,OAAA;EAAA,CACtC;EAAA,gBAFYL,mBAAmBA,CAAA;IAAA,OAAAC,IAAA,CAAAW,KAAA,OAAAC,SAAA;EAAA;AAAA,GAE/B","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import type { QueryObserverResult, RefetchOptions } from '@tanstack/react-query';
2
+ export declare function wrapRefetch<TData, TError>(refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<TData, TError>>): (options?: RefetchOptions) => Promise<void>;
@@ -0,0 +1,22 @@
1
+ import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ export function wrapRefetch(refetch) {
4
+ return /*#__PURE__*/function () {
5
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(options) {
6
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
7
+ while (1) switch (_context.prev = _context.next) {
8
+ case 0:
9
+ _context.next = 2;
10
+ return refetch(options);
11
+ case 2:
12
+ case "end":
13
+ return _context.stop();
14
+ }
15
+ }, _callee);
16
+ }));
17
+ return function (_x) {
18
+ return _ref.apply(this, arguments);
19
+ };
20
+ }();
21
+ }
22
+ // #sourceMappingURL=wrapRefetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["wrapRefetch","refetch","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","options","wrap","_callee$","_context","prev","next","stop","_x","apply","arguments"],"sources":["wrapRefetch.ts"],"sourcesContent":["import type {QueryObserverResult, RefetchOptions} from '@tanstack/react-query';\n\nexport function wrapRefetch<TData, TError>(\n refetch: (options?: RefetchOptions) => Promise<QueryObserverResult<TData, TError>>,\n): (options?: RefetchOptions) => Promise<void> {\n return async (options?: RefetchOptions) => {\n await refetch(options);\n };\n}\n"],"mappings":";;AAEA,OAAO,SAASA,WAAWA,CACvBC,OAAkF,EACvC;EAC3C;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAO,SAAAC,QAAOC,OAAwB;MAAA,OAAAH,mBAAA,GAAAI,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAC5BX,OAAO,CAACM,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAG,IAAA;QAAA;MAAA,GAAAP,OAAA;IAAA,CACzB;IAAA,iBAAAQ,EAAA;MAAA,OAAAZ,IAAA,CAAAa,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/data-source",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "A wrapper around data fetching",
5
5
  "keywords": [
6
6
  "data-fetching",