@gravity-ui/data-source 0.5.0 → 0.6.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.
- package/build/cjs/core/index.d.ts +1 -1
- package/build/cjs/core/index.js.map +1 -1
- package/build/cjs/core/types/DataManger.js.map +1 -1
- package/build/cjs/core/types/DataSource.d.ts +21 -17
- package/build/cjs/core/types/DataSource.js.map +1 -1
- package/build/cjs/core/utils/getError.js.map +1 -1
- package/build/cjs/core/utils/getStatus.js.map +1 -1
- package/build/cjs/core/utils/hasTag.js.map +1 -1
- package/build/cjs/core/utils/skipContext.d.ts +24 -0
- package/build/cjs/core/utils/skipContext.js +24 -0
- package/build/cjs/core/utils/skipContext.js.map +1 -1
- package/build/cjs/react-query/ClientDataManager.d.ts +4 -4
- package/build/cjs/react-query/ClientDataManager.js +3 -7
- package/build/cjs/react-query/ClientDataManager.js.map +1 -1
- package/build/cjs/react-query/hooks/useQueryContext.d.ts +1 -1
- package/build/cjs/react-query/hooks/useQueryContext.js.map +1 -1
- package/build/cjs/react-query/hooks/useQueryData.d.ts +1 -1
- package/build/cjs/react-query/hooks/useQueryData.js.map +1 -1
- package/build/cjs/react-query/hooks/useRefetchInterval.d.ts +7 -7
- package/build/cjs/react-query/hooks/useRefetchInterval.js +14 -14
- package/build/cjs/react-query/hooks/useRefetchInterval.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/factory.d.ts +1 -1
- package/build/cjs/react-query/impl/infinite/factory.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/hooks.d.ts +2 -4
- package/build/cjs/react-query/impl/infinite/hooks.js +24 -26
- package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/types.d.ts +11 -12
- package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/utils.js +44 -7
- package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
- package/build/cjs/react-query/impl/plain/factory.d.ts +1 -1
- package/build/cjs/react-query/impl/plain/factory.js.map +1 -1
- package/build/cjs/react-query/impl/plain/hooks.d.ts +2 -5
- package/build/cjs/react-query/impl/plain/hooks.js +20 -22
- package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/plain/types.d.ts +7 -6
- package/build/cjs/react-query/impl/plain/types.js.map +1 -1
- package/build/cjs/react-query/impl/plain/utils.js +42 -4
- package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
- package/build/cjs/react-query/impl/utils.d.ts +4 -0
- package/build/cjs/react-query/impl/utils.js +27 -0
- package/build/cjs/react-query/impl/utils.js.map +1 -0
- package/build/cjs/react-query/index.d.ts +3 -1
- package/build/cjs/react-query/index.js.map +1 -1
- package/build/cjs/react-query/types/options.d.ts +5 -0
- package/build/cjs/react-query/types/options.js +6 -0
- package/build/cjs/react-query/types/options.js.map +1 -0
- package/build/cjs/react-query/types/refetch-interval.d.ts +0 -7
- package/build/cjs/react-query/types/refetch-interval.js.map +1 -1
- package/build/cjs/react-query/utils/getProgressiveRefetch.d.ts +7 -2
- package/build/cjs/react-query/utils/getProgressiveRefetch.js +5 -4
- package/build/cjs/react-query/utils/getProgressiveRefetch.js.map +1 -1
- package/build/esm/core/index.d.ts +1 -1
- package/build/esm/core/index.js.map +1 -1
- package/build/esm/core/types/DataManger.js.map +1 -1
- package/build/esm/core/types/DataSource.d.ts +21 -17
- package/build/esm/core/types/DataSource.js.map +1 -1
- package/build/esm/core/utils/getError.js.map +1 -1
- package/build/esm/core/utils/getStatus.js.map +1 -1
- package/build/esm/core/utils/hasTag.js.map +1 -1
- package/build/esm/core/utils/skipContext.d.ts +24 -0
- package/build/esm/core/utils/skipContext.js +24 -0
- package/build/esm/core/utils/skipContext.js.map +1 -1
- package/build/esm/react-query/ClientDataManager.d.ts +4 -4
- package/build/esm/react-query/ClientDataManager.js +3 -7
- package/build/esm/react-query/ClientDataManager.js.map +1 -1
- package/build/esm/react-query/hooks/useQueryContext.d.ts +1 -1
- package/build/esm/react-query/hooks/useQueryContext.js.map +1 -1
- package/build/esm/react-query/hooks/useQueryData.d.ts +1 -1
- package/build/esm/react-query/hooks/useQueryData.js.map +1 -1
- package/build/esm/react-query/hooks/useRefetchInterval.d.ts +7 -7
- package/build/esm/react-query/hooks/useRefetchInterval.js +14 -14
- package/build/esm/react-query/hooks/useRefetchInterval.js.map +1 -1
- package/build/esm/react-query/impl/infinite/factory.d.ts +1 -1
- package/build/esm/react-query/impl/infinite/factory.js.map +1 -1
- package/build/esm/react-query/impl/infinite/hooks.d.ts +2 -4
- package/build/esm/react-query/impl/infinite/hooks.js +24 -25
- package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/esm/react-query/impl/infinite/types.d.ts +11 -12
- package/build/esm/react-query/impl/infinite/types.js.map +1 -1
- package/build/esm/react-query/impl/infinite/utils.js +44 -7
- package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
- package/build/esm/react-query/impl/plain/factory.d.ts +1 -1
- package/build/esm/react-query/impl/plain/factory.js.map +1 -1
- package/build/esm/react-query/impl/plain/hooks.d.ts +2 -5
- package/build/esm/react-query/impl/plain/hooks.js +20 -21
- package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
- package/build/esm/react-query/impl/plain/types.d.ts +7 -6
- package/build/esm/react-query/impl/plain/types.js.map +1 -1
- package/build/esm/react-query/impl/plain/utils.js +42 -4
- package/build/esm/react-query/impl/plain/utils.js.map +1 -1
- package/build/esm/react-query/impl/utils.d.ts +4 -0
- package/build/esm/react-query/impl/utils.js +21 -0
- package/build/esm/react-query/impl/utils.js.map +1 -0
- package/build/esm/react-query/index.d.ts +3 -1
- package/build/esm/react-query/index.js.map +1 -1
- package/build/esm/react-query/types/options.d.ts +5 -0
- package/build/esm/react-query/types/options.js +2 -0
- package/build/esm/react-query/types/options.js.map +1 -0
- package/build/esm/react-query/types/refetch-interval.d.ts +0 -7
- package/build/esm/react-query/types/refetch-interval.js.map +1 -1
- package/build/esm/react-query/utils/getProgressiveRefetch.d.ts +7 -2
- package/build/esm/react-query/utils/getProgressiveRefetch.js +5 -4
- package/build/esm/react-query/utils/getProgressiveRefetch.js.map +1 -1
- package/package.json +1 -1
- package/build/cjs/react-query/types/index.d.ts +0 -2
- package/build/cjs/react-query/types/index.js +0 -28
- package/build/cjs/react-query/types/index.js.map +0 -1
- package/build/esm/react-query/types/index.d.ts +0 -2
- package/build/esm/react-query/types/index.js +0 -3
- package/build/esm/react-query/types/index.js.map +0 -1
|
@@ -1,25 +1,62 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
4
|
import { skipToken } from '@tanstack/react-query';
|
|
3
5
|
import { composeFullKey, idle } from '../../../core';
|
|
6
|
+
import { formatNullableValue, parseNullableValue } from '../utils';
|
|
4
7
|
var EMPTY_OBJECT = {};
|
|
5
8
|
export var composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
6
9
|
var transformParams = dataSource.transformParams,
|
|
10
|
+
transformError = dataSource.transformError,
|
|
7
11
|
transformResponse = dataSource.transformResponse,
|
|
8
12
|
next = dataSource.next,
|
|
9
13
|
prev = dataSource.prev;
|
|
10
|
-
var queryFn = function
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
var queryFn = /*#__PURE__*/function () {
|
|
15
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fetchContext) {
|
|
16
|
+
var request, paginatedRequest, response;
|
|
17
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
18
|
+
while (1) switch (_context.prev = _context.next) {
|
|
19
|
+
case 0:
|
|
20
|
+
request = transformParams ? transformParams(params) : params;
|
|
21
|
+
paginatedRequest = _objectSpread(_objectSpread({}, request), fetchContext.pageParam);
|
|
22
|
+
_context.prev = 2;
|
|
23
|
+
_context.next = 5;
|
|
24
|
+
return dataSource.fetch(context, fetchContext, paginatedRequest);
|
|
25
|
+
case 5:
|
|
26
|
+
response = _context.sent;
|
|
27
|
+
return _context.abrupt("return", formatNullableValue(response));
|
|
28
|
+
case 9:
|
|
29
|
+
_context.prev = 9;
|
|
30
|
+
_context.t0 = _context["catch"](2);
|
|
31
|
+
if (transformError) {
|
|
32
|
+
_context.next = 13;
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
throw _context.t0;
|
|
36
|
+
case 13:
|
|
37
|
+
return _context.abrupt("return", formatNullableValue(transformError(_context.t0)));
|
|
38
|
+
case 14:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context.stop();
|
|
41
|
+
}
|
|
42
|
+
}, _callee, null, [[2, 9]]);
|
|
43
|
+
}));
|
|
44
|
+
return function queryFn(_x) {
|
|
45
|
+
return _ref.apply(this, arguments);
|
|
46
|
+
};
|
|
47
|
+
}();
|
|
48
|
+
var selectPage = function selectPage(response) {
|
|
49
|
+
var actualResponse = parseNullableValue(response);
|
|
50
|
+
return transformResponse ? transformResponse(actualResponse) : actualResponse;
|
|
14
51
|
};
|
|
15
52
|
return _objectSpread(_objectSpread({
|
|
16
53
|
queryKey: composeFullKey(dataSource, params),
|
|
17
54
|
queryFn: params === idle ? skipToken : queryFn,
|
|
18
|
-
select:
|
|
55
|
+
select: function select(data) {
|
|
19
56
|
return _objectSpread(_objectSpread({}, data), {}, {
|
|
20
|
-
pages: data.pages.map(
|
|
57
|
+
pages: data.pages.map(selectPage)
|
|
21
58
|
});
|
|
22
|
-
}
|
|
59
|
+
},
|
|
23
60
|
initialPageParam: EMPTY_OBJECT,
|
|
24
61
|
getNextPageParam: next,
|
|
25
62
|
getPreviousPageParam: prev
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["skipToken","composeFullKey","idle","EMPTY_OBJECT","composeOptions","context","dataSource","params","options","transformParams","transformResponse","next","prev","queryFn","fetchContext","request","paginatedRequest","_objectSpread","pageParam","fetch","queryKey","select","data","pages","map","
|
|
1
|
+
{"version":3,"names":["skipToken","composeFullKey","idle","formatNullableValue","parseNullableValue","EMPTY_OBJECT","composeOptions","context","dataSource","params","options","transformParams","transformError","transformResponse","next","prev","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","request","paginatedRequest","response","wrap","_callee$","_context","_objectSpread","pageParam","fetch","sent","abrupt","t0","stop","_x","apply","arguments","selectPage","actualResponse","queryKey","select","data","pages","map","initialPageParam","getNextPageParam","getPreviousPageParam"],"sources":["utils.ts"],"sourcesContent":["import {skipToken} from '@tanstack/react-query';\nimport type {InfiniteData, QueryFunctionContext} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../utils';\nimport {formatNullableValue, parseNullableValue} from '../utils';\n\nimport type {\n AnyInfiniteQueryDataSource,\n AnyPageParam,\n InfiniteQueryObserverExtendedOptions,\n} from './types';\n\nconst EMPTY_OBJECT = {};\n\nexport const composeOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n AnyPageParam\n> => {\n const {transformParams, transformError, transformResponse, next, prev} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey, AnyPageParam>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const request = transformParams ? transformParams(params) : params;\n const paginatedRequest = {...request, ...fetchContext.pageParam};\n\n try {\n const response = await dataSource.fetch(context, fetchContext, paginatedRequest);\n\n return formatNullableValue(response);\n } catch (error) {\n if (!transformError) {\n throw error;\n }\n\n return formatNullableValue(transformError(error));\n }\n };\n\n const selectPage = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response);\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: (data) => ({...data, pages: data.pages.map(selectPage)}),\n initialPageParam: EMPTY_OBJECT,\n getNextPageParam: next,\n getPreviousPageParam: prev,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;AAAA,SAAQA,SAAS,QAAO,uBAAuB;AAG/C,SAAQC,cAAc,EAAEC,IAAI,QAAO,eAAe;AAWlD,SAAQC,mBAAmB,EAAEC,kBAAkB,QAAO,UAAU;AAQhE,IAAMC,YAAY,GAAG,CAAC,CAAC;AAEvB,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAQhD;EACD,IAAOC,eAAe,GAAmDH,UAAU,CAA5EG,eAAe;IAAEC,cAAc,GAAmCJ,UAAU,CAA3DI,cAAc;IAAEC,iBAAiB,GAAgBL,UAAU,CAA3CK,iBAAiB;IAAEC,IAAI,GAAUN,UAAU,CAAxBM,IAAI;IAAEC,IAAI,GAAIP,UAAU,CAAlBO,IAAI;EAErE,IAAMC,OAAO;IAAA,IAAAC,IAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,QACZC,YAA+D;MAAA,IAAAC,OAAA,EAAAC,gBAAA,EAAAC,QAAA;MAAA,OAAAN,mBAAA,CAAAO,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAb,IAAA,GAAAa,QAAA,CAAAd,IAAA;UAAA;YAEzDS,OAAO,GAAGZ,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAAM;YAC5De,gBAAgB,GAAAK,aAAA,CAAAA,aAAA,KAAON,OAAO,GAAKD,YAAY,CAACQ,SAAS;YAAAF,QAAA,CAAAb,IAAA;YAAAa,QAAA,CAAAd,IAAA;YAAA,OAGpCN,UAAU,CAACuB,KAAK,CAACxB,OAAO,EAAEe,YAAY,EAAEE,gBAAgB,CAAC;UAAA;YAA1EC,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAEP9B,mBAAmB,CAACsB,QAAQ,CAAC;UAAA;YAAAG,QAAA,CAAAb,IAAA;YAAAa,QAAA,CAAAM,EAAA,GAAAN,QAAA;YAAA,IAE/BhB,cAAc;cAAAgB,QAAA,CAAAd,IAAA;cAAA;YAAA;YAAA,MAAAc,QAAA,CAAAM,EAAA;UAAA;YAAA,OAAAN,QAAA,CAAAK,MAAA,WAIZ9B,mBAAmB,CAACS,cAAc,CAAAgB,QAAA,CAAAM,EAAM,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAN,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAd,OAAA;IAAA,CAExD;IAAA,gBAjBKL,OAAOA,CAAAoB,EAAA;MAAA,OAAAnB,IAAA,CAAAoB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAiBZ;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CACZd,QAAsF,EACxD;IAC9B,IAAMe,cAAc,GAAGpC,kBAAkB,CAACqB,QAAQ,CAAC;IAEnD,OAAOZ,iBAAiB,GAAGA,iBAAiB,CAAC2B,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,OAAAX,aAAA,CAAAA,aAAA;IACIY,QAAQ,EAAExC,cAAc,CAACO,UAAU,EAAEC,MAAM,CAAC;IAC5CO,OAAO,EAAEP,MAAM,KAAKP,IAAI,GAAGF,SAAS,GAAGgB,OAAO;IAC9C0B,MAAM,EAAE,SAARA,MAAMA,CAAGC,IAAI;MAAA,OAAAd,aAAA,CAAAA,aAAA,KAAUc,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAACN,UAAU;MAAC;IAAA,CAAE;IAChEO,gBAAgB,EAAEzC,YAAY;IAC9B0C,gBAAgB,EAAEjC,IAAI;IACtBkC,oBAAoB,EAAEjC;EAAI,GACvBP,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PlainQueryDataSource } from './types';
|
|
2
|
-
export declare const makePlainQueryDataSource: <TParams, TRequest, TResponse, TData, TError>(config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>, "type">) => PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>;
|
|
2
|
+
export declare const makePlainQueryDataSource: <TParams, TRequest, TResponse, TData, TError, TErrorResponse>(config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError, TErrorResponse>, "type">) => PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError, TErrorResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["makePlainQueryDataSource","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {PlainQueryDataSource} from './types';\n\nexport const makePlainQueryDataSource =
|
|
1
|
+
{"version":3,"names":["makePlainQueryDataSource","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {PlainQueryDataSource} from './types';\n\nexport const makePlainQueryDataSource = <\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n TErrorResponse,\n>(\n config: Omit<\n PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError, TErrorResponse>,\n 'type'\n >,\n): PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError, TErrorResponse> => ({\n ...config,\n type: 'plain',\n});\n"],"mappings":";AAEA,OAAO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAQjCC,MAGC;EAAA,OAAAC,aAAA,CAAAA,aAAA,KAEED,MAAM;IACTE,IAAI,EAAE;EAAO;AAAA,CACf","ignoreList":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
import type { AnyQueryDataSource } from '../../types';
|
|
4
|
-
import type { AnyPlainQueryDataSource, QueryObserverExtendedOptions } from './types';
|
|
1
|
+
import type { DataSourceContext, DataSourceOptions, DataSourceParams, DataSourceState } from '../../../core';
|
|
2
|
+
import type { AnyPlainQueryDataSource } from './types';
|
|
5
3
|
export declare const usePlainQueryData: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => DataSourceState<TDataSource>;
|
|
6
|
-
export declare function useQueryDataOptions<TDataSource extends AnyQueryDataSource>(composedOptions: QueryObserverExtendedOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>, DataSourceKey>): QueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>, DataSourceKey>;
|
|
@@ -1,30 +1,29 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
-
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["queryFn", "refetchInterval"];
|
|
4
4
|
import { useQuery } from '@tanstack/react-query';
|
|
5
5
|
import { useRefetchInterval } from '../../hooks/useRefetchInterval';
|
|
6
6
|
import { normalizeStatus } from '../../utils/normalizeStatus';
|
|
7
7
|
import { composeOptions } from './utils';
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return _objectSpread(_objectSpread({}, result), {}, {
|
|
13
|
-
status: normalizeStatus(result.status, result.fetchStatus),
|
|
14
|
-
originalStatus: result.status
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
export function useQueryDataOptions(composedOptions) {
|
|
18
|
-
var _ref = composedOptions || {},
|
|
19
|
-
refetchIntervalOption = _ref.refetchInterval,
|
|
20
|
-
queryFnOption = _ref.queryFn,
|
|
21
|
-
restOptions = _objectWithoutProperties(_ref, _excluded);
|
|
8
|
+
var usePlainQueryDataOptions = function usePlainQueryDataOptions(composedOptions) {
|
|
9
|
+
var queryFnOption = composedOptions.queryFn,
|
|
10
|
+
refetchIntervalOption = composedOptions.refetchInterval,
|
|
11
|
+
restOptions = _objectWithoutProperties(composedOptions, _excluded);
|
|
22
12
|
var _useRefetchInterval = useRefetchInterval(refetchIntervalOption, queryFnOption),
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
queryFn = _useRefetchInterval.queryFn,
|
|
14
|
+
refetchInterval = _useRefetchInterval.refetchInterval;
|
|
25
15
|
return _objectSpread(_objectSpread({}, restOptions), {}, {
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
queryFn: queryFn,
|
|
17
|
+
refetchInterval: refetchInterval
|
|
28
18
|
});
|
|
29
|
-
}
|
|
19
|
+
};
|
|
20
|
+
export var usePlainQueryData = function usePlainQueryData(context, dataSource, params, options) {
|
|
21
|
+
var extendedOptions = composeOptions(context, dataSource, params, options);
|
|
22
|
+
var composedOptions = usePlainQueryDataOptions(extendedOptions);
|
|
23
|
+
var state = useQuery(composedOptions);
|
|
24
|
+
return _objectSpread(_objectSpread({}, state), {}, {
|
|
25
|
+
status: normalizeStatus(state.status, state.fetchStatus),
|
|
26
|
+
originalStatus: state.status
|
|
27
|
+
});
|
|
28
|
+
};
|
|
30
29
|
// #sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useQuery","useRefetchInterval","normalizeStatus","composeOptions","
|
|
1
|
+
{"version":3,"names":["useQuery","useRefetchInterval","normalizeStatus","composeOptions","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","_objectSpread","usePlainQueryData","context","dataSource","params","options","extendedOptions","state","status","fetchStatus","originalStatus"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, 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';\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 return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;AAAA,SAAmCA,QAAQ,QAAO,uBAAuB;AAYzE,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAG3D,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,GAAmCZ,kBAAkB,CAACO,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,GAAGrB,QAAQ,CAACK,eAAe,CAAC;EAEvC,OAAAS,aAAA,CAAAA,aAAA,KACOO,KAAK;IACRC,MAAM,EAAEpB,eAAe,CAACmB,KAAK,CAACC,MAAM,EAAED,KAAK,CAACE,WAAW,CAAC;IACxDC,cAAc,EAAEH,KAAK,CAACC;EAAM;AAEpC,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { DefaultError, QueryFunctionContext, QueryKey, QueryObserverOptions, QueryObserverResult } from '@tanstack/react-query';
|
|
2
2
|
import type { Overwrite } from 'utility-types';
|
|
3
|
-
import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
export type
|
|
3
|
+
import type { ActualData, ActualResponse, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
|
|
4
|
+
import type { QueryDataSourceContext } from '../../types/base';
|
|
5
|
+
import type { QueryDataAdditionalOptions } from '../../types/options';
|
|
6
|
+
export type QueryObserverExtendedOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = Overwrite<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>>;
|
|
7
|
+
export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError, TErrorResponse> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, TErrorResponse, QueryObserverExtendedOptions<ActualResponse<NoInfer<TResponse>, NoInfer<TErrorResponse>>, NoInfer<TError>, ActualData<NoInfer<TResponse>, NoInfer<TData>, NoInfer<TErrorResponse>>, ActualResponse<NoInfer<TResponse>, NoInfer<TErrorResponse>>, DataSourceKey>, ResultWrapper<QueryObserverResult<ActualData<NoInfer<TResponse>, NoInfer<TData>, NoInfer<TErrorResponse>>, NoInfer<TError>>, NoInfer<TResponse>, NoInfer<TData>, NoInfer<TError>, NoInfer<TErrorResponse>>, QueryFunctionContext<DataSourceKey>> & {
|
|
7
8
|
type: 'plain';
|
|
8
9
|
};
|
|
9
|
-
export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;
|
|
10
|
-
type ResultWrapper<TResult, TResponse, TData, TError> = TResult extends QueryObserverResult<ActualData<TData,
|
|
10
|
+
export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any, any>;
|
|
11
|
+
type ResultWrapper<TResult, TResponse, TData, TError, TErrorResponse> = TResult extends QueryObserverResult<ActualData<TResponse, TData, TErrorResponse>, TError> ? Overwrite<TResult, {
|
|
11
12
|
status: DataLoaderStatus;
|
|
12
13
|
}> & {
|
|
13
14
|
originalStatus: TResult['status'];
|
|
@@ -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 {Overwrite} from 'utility-types';\n\nimport type {ActualData
|
|
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 {Overwrite} from 'utility-types';\n\nimport type {\n ActualData,\n ActualResponse,\n DataLoaderStatus,\n DataSource,\n DataSourceKey,\n} 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> = Overwrite<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>\n>;\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError, TErrorResponse> =\n DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n TErrorResponse,\n QueryObserverExtendedOptions<\n ActualResponse<NoInfer<TResponse>, NoInfer<TErrorResponse>>,\n NoInfer<TError>,\n ActualData<NoInfer<TResponse>, NoInfer<TData>, NoInfer<TErrorResponse>>,\n ActualResponse<NoInfer<TResponse>, NoInfer<TErrorResponse>>,\n DataSourceKey\n >,\n ResultWrapper<\n QueryObserverResult<\n ActualData<NoInfer<TResponse>, NoInfer<TData>, NoInfer<TErrorResponse>>,\n NoInfer<TError>\n >,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>,\n NoInfer<TErrorResponse>\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, any>;\n\ntype ResultWrapper<TResult, TResponse, TData, TError, TErrorResponse> =\n TResult extends QueryObserverResult<ActualData<TResponse, TData, TErrorResponse>, TError>\n ? Overwrite<TResult, {status: DataLoaderStatus}> & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,15 +1,53 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
4
|
import { skipToken } from '@tanstack/react-query';
|
|
3
5
|
import { composeFullKey, idle } from '../../../core';
|
|
6
|
+
import { formatNullableValue, parseNullableValue } from '../utils';
|
|
4
7
|
export var composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
5
|
-
var transformParams = dataSource.transformParams
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
var transformParams = dataSource.transformParams,
|
|
9
|
+
transformResponse = dataSource.transformResponse,
|
|
10
|
+
transformError = dataSource.transformError;
|
|
11
|
+
var queryFn = /*#__PURE__*/function () {
|
|
12
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fetchContext) {
|
|
13
|
+
var response;
|
|
14
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
15
|
+
while (1) switch (_context.prev = _context.next) {
|
|
16
|
+
case 0:
|
|
17
|
+
_context.prev = 0;
|
|
18
|
+
_context.next = 3;
|
|
19
|
+
return dataSource.fetch(context, fetchContext, transformParams ? transformParams(params) : params);
|
|
20
|
+
case 3:
|
|
21
|
+
response = _context.sent;
|
|
22
|
+
return _context.abrupt("return", formatNullableValue(response));
|
|
23
|
+
case 7:
|
|
24
|
+
_context.prev = 7;
|
|
25
|
+
_context.t0 = _context["catch"](0);
|
|
26
|
+
if (transformError) {
|
|
27
|
+
_context.next = 11;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
throw _context.t0;
|
|
31
|
+
case 11:
|
|
32
|
+
return _context.abrupt("return", formatNullableValue(transformError(_context.t0)));
|
|
33
|
+
case 12:
|
|
34
|
+
case "end":
|
|
35
|
+
return _context.stop();
|
|
36
|
+
}
|
|
37
|
+
}, _callee, null, [[0, 7]]);
|
|
38
|
+
}));
|
|
39
|
+
return function queryFn(_x) {
|
|
40
|
+
return _ref.apply(this, arguments);
|
|
41
|
+
};
|
|
42
|
+
}();
|
|
43
|
+
var select = function select(response) {
|
|
44
|
+
var actualResponse = parseNullableValue(response);
|
|
45
|
+
return transformResponse ? transformResponse(actualResponse) : actualResponse;
|
|
8
46
|
};
|
|
9
47
|
return _objectSpread(_objectSpread({
|
|
10
48
|
queryKey: composeFullKey(dataSource, params),
|
|
11
49
|
queryFn: params === idle ? skipToken : queryFn,
|
|
12
|
-
select:
|
|
50
|
+
select: select
|
|
13
51
|
}, dataSource.options), options);
|
|
14
52
|
};
|
|
15
53
|
// #sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["skipToken","composeFullKey","idle","composeOptions","context","dataSource","params","options","transformParams","queryFn","fetchContext","fetch","
|
|
1
|
+
{"version":3,"names":["skipToken","composeFullKey","idle","formatNullableValue","parseNullableValue","composeOptions","context","dataSource","params","options","transformParams","transformResponse","transformError","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","response","wrap","_callee$","_context","prev","next","fetch","sent","abrupt","t0","stop","_x","apply","arguments","select","actualResponse","_objectSpread","queryKey"],"sources":["utils.ts"],"sourcesContent":["import {type QueryFunctionContext, skipToken} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../utils';\nimport {formatNullableValue, parseNullableValue} from '../utils';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\n\nexport const composeOptions = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {transformParams, transformResponse, transformError} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n try {\n const response = await dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n );\n\n return formatNullableValue(response);\n } catch (error) {\n if (!transformError) {\n throw error;\n }\n\n return formatNullableValue(transformError(error));\n }\n };\n\n const select = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response);\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;AAAA,SAAmCA,SAAS,QAAO,uBAAuB;AAE1E,SAAQC,cAAc,EAAEC,IAAI,QAAO,eAAe;AAWlD,SAAQC,mBAAmB,EAAEC,kBAAkB,QAAO,UAAU;AAIhE,OAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CACvBC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAOhD;EACD,IAAOC,eAAe,GAAuCH,UAAU,CAAhEG,eAAe;IAAEC,iBAAiB,GAAoBJ,UAAU,CAA/CI,iBAAiB;IAAEC,cAAc,GAAIL,UAAU,CAA5BK,cAAc;EAEzD,IAAMC,OAAO;IAAA,IAAAC,IAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,QACZC,YAAiD;MAAA,IAAAC,QAAA;MAAA,OAAAJ,mBAAA,CAAAK,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAGtBlB,UAAU,CAACmB,KAAK,CACnCpB,OAAO,EACPa,YAAY,EACZT,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;UAAA;YAJKY,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAMPzB,mBAAmB,CAACiB,QAAQ,CAAC;UAAA;YAAAG,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAM,EAAA,GAAAN,QAAA;YAAA,IAE/BX,cAAc;cAAAW,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,MAAAF,QAAA,CAAAM,EAAA;UAAA;YAAA,OAAAN,QAAA,CAAAK,MAAA,WAIZzB,mBAAmB,CAACS,cAAc,CAAAW,QAAA,CAAAM,EAAM,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAN,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAZ,OAAA;IAAA,CAExD;IAAA,gBAlBKL,OAAOA,CAAAkB,EAAA;MAAA,OAAAjB,IAAA,CAAAkB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAkBZ;EAED,IAAMC,MAAM,GAAG,SAATA,MAAMA,CACRd,QAAsF,EACxD;IAC9B,IAAMe,cAAc,GAAG/B,kBAAkB,CAACgB,QAAQ,CAAC;IAEnD,OAAOT,iBAAiB,GAAGA,iBAAiB,CAACwB,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA;IACIC,QAAQ,EAAEpC,cAAc,CAACM,UAAU,EAAEC,MAAM,CAAC;IAC5CK,OAAO,EAAEL,MAAM,KAAKN,IAAI,GAAGF,SAAS,GAAGa,OAAO;IAC9CqB,MAAM,EAANA;EAAM,GACH3B,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const undefinedSymbol: unique symbol;
|
|
2
|
+
export declare const nullSymbol: unique symbol;
|
|
3
|
+
export declare const formatNullableValue: <T>(value: T | undefined | null) => T | typeof undefinedSymbol | typeof nullSymbol;
|
|
4
|
+
export declare const parseNullableValue: <T>(value: T | typeof undefinedSymbol | typeof nullSymbol) => T | undefined | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export var undefinedSymbol = Symbol('undefined');
|
|
2
|
+
export var nullSymbol = Symbol('null');
|
|
3
|
+
export var formatNullableValue = function formatNullableValue(value) {
|
|
4
|
+
if (value === undefined) {
|
|
5
|
+
return undefinedSymbol;
|
|
6
|
+
}
|
|
7
|
+
if (value === null) {
|
|
8
|
+
return nullSymbol;
|
|
9
|
+
}
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
export var parseNullableValue = function parseNullableValue(value) {
|
|
13
|
+
if (value === undefinedSymbol) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
if (value === nullSymbol) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return value;
|
|
20
|
+
};
|
|
21
|
+
// #sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["undefinedSymbol","Symbol","nullSymbol","formatNullableValue","value","undefined","parseNullableValue"],"sources":["utils.ts"],"sourcesContent":["export const undefinedSymbol = Symbol('undefined');\nexport const nullSymbol = Symbol('null');\n\nexport const formatNullableValue = <T>(\n value: T | undefined | null,\n): T | typeof undefinedSymbol | typeof nullSymbol => {\n if (value === undefined) {\n return undefinedSymbol;\n }\n\n if (value === null) {\n return nullSymbol;\n }\n\n return value;\n};\n\nexport const parseNullableValue = <T>(\n value: T | typeof undefinedSymbol | typeof nullSymbol,\n): T | undefined | null => {\n if (value === undefinedSymbol) {\n return undefined;\n }\n\n if (value === nullSymbol) {\n return null;\n }\n\n return value;\n};\n"],"mappings":"AAAA,OAAO,IAAMA,eAAe,GAAGC,MAAM,CAAC,WAAW,CAAC;AAClD,OAAO,IAAMC,UAAU,GAAGD,MAAM,CAAC,MAAM,CAAC;AAExC,OAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAC5BC,KAA2B,EACsB;EACjD,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACrB,OAAOL,eAAe;EAC1B;EAEA,IAAII,KAAK,KAAK,IAAI,EAAE;IAChB,OAAOF,UAAU;EACrB;EAEA,OAAOE,KAAK;AAChB,CAAC;AAED,OAAO,IAAME,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC3BF,KAAqD,EAC9B;EACvB,IAAIA,KAAK,KAAKJ,eAAe,EAAE;IAC3B,OAAOK,SAAS;EACpB;EAEA,IAAID,KAAK,KAAKF,UAAU,EAAE;IACtB,OAAO,IAAI;EACf;EAEA,OAAOE,KAAK;AAChB,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export type { QueryDataSourceContext, AnyQueryDataSource
|
|
1
|
+
export type { QueryDataSourceContext, AnyQueryDataSource } from './types/base';
|
|
2
|
+
export type { RefetchIntervalFunction, RefetchInterval } from './types/refetch-interval';
|
|
2
3
|
export { useQueryContext } from './hooks/useQueryContext';
|
|
3
4
|
export { useQueryData } from './hooks/useQueryData';
|
|
4
5
|
export { useQueryResponses } from './hooks/useQueryResponses';
|
|
@@ -11,6 +12,7 @@ export type { PlainQueryDataSource, AnyPlainQueryDataSource } from './impl/plain
|
|
|
11
12
|
export { makePlainQueryDataSource } from './impl/plain/factory';
|
|
12
13
|
export { composeOptions as composePlainQueryOptions } from './impl/plain/utils';
|
|
13
14
|
export { normalizeStatus } from './utils/normalizeStatus';
|
|
15
|
+
export type { ProgressiveRefetchOptions } from './utils/getProgressiveRefetch';
|
|
14
16
|
export { getProgressiveRefetch } from './utils/getProgressiveRefetch';
|
|
15
17
|
export type { ClientDataManagerConfig } from './ClientDataManager';
|
|
16
18
|
export { ClientDataManager } from './ClientDataManager';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useQueryContext","useQueryData","useQueryResponses","useRefetchAll","useRefetchErrored","makeInfiniteQueryDataSource","composeOptions","composeInfiniteQueryOptions","makePlainQueryDataSource","composePlainQueryOptions","normalizeStatus","getProgressiveRefetch","ClientDataManager"],"sources":["index.ts"],"sourcesContent":["export type {
|
|
1
|
+
{"version":3,"names":["useQueryContext","useQueryData","useQueryResponses","useRefetchAll","useRefetchErrored","makeInfiniteQueryDataSource","composeOptions","composeInfiniteQueryOptions","makePlainQueryDataSource","composePlainQueryOptions","normalizeStatus","getProgressiveRefetch","ClientDataManager"],"sources":["index.ts"],"sourcesContent":["export type {QueryDataSourceContext, AnyQueryDataSource} from './types/base';\nexport type {RefetchIntervalFunction, RefetchInterval} from './types/refetch-interval';\n\nexport {useQueryContext} from './hooks/useQueryContext';\nexport {useQueryData} from './hooks/useQueryData';\nexport {useQueryResponses} from './hooks/useQueryResponses';\nexport {useRefetchAll} from './hooks/useRefetchAll';\nexport {useRefetchErrored} from './hooks/useRefetchErrored';\n\nexport type {InfiniteQueryDataSource, AnyInfiniteQueryDataSource} from './impl/infinite/types';\nexport {makeInfiniteQueryDataSource} from './impl/infinite/factory';\nexport {composeOptions as composeInfiniteQueryOptions} from './impl/infinite/utils';\n\nexport type {PlainQueryDataSource, AnyPlainQueryDataSource} from './impl/plain/types';\nexport {makePlainQueryDataSource} from './impl/plain/factory';\nexport {composeOptions as composePlainQueryOptions} from './impl/plain/utils';\n\nexport {normalizeStatus} from './utils/normalizeStatus';\nexport type {ProgressiveRefetchOptions} from './utils/getProgressiveRefetch';\nexport {getProgressiveRefetch} from './utils/getProgressiveRefetch';\n\nexport type {ClientDataManagerConfig} from './ClientDataManager';\nexport {ClientDataManager} from './ClientDataManager';\n"],"mappings":"AAGA,SAAQA,eAAe,QAAO,yBAAyB;AACvD,SAAQC,YAAY,QAAO,sBAAsB;AACjD,SAAQC,iBAAiB,QAAO,2BAA2B;AAC3D,SAAQC,aAAa,QAAO,uBAAuB;AACnD,SAAQC,iBAAiB,QAAO,2BAA2B;AAG3D,SAAQC,2BAA2B,QAAO,yBAAyB;AACnE,SAAQC,cAAc,IAAIC,2BAA2B,QAAO,uBAAuB;AAGnF,SAAQC,wBAAwB,QAAO,sBAAsB;AAC7D,SAAQF,cAAc,IAAIG,wBAAwB,QAAO,oBAAoB;AAE7E,SAAQC,eAAe,QAAO,yBAAyB;AAEvD,SAAQC,qBAAqB,QAAO,+BAA+B;AAGnE,SAAQC,iBAAiB,QAAO,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DefaultError, QueryKey } from '@tanstack/react-query';
|
|
2
|
+
import type { RefetchInterval } from './refetch-interval';
|
|
3
|
+
export interface QueryDataAdditionalOptions<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
|
|
4
|
+
refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;
|
|
5
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["options.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {RefetchInterval} from './refetch-interval';\n\nexport interface QueryDataAdditionalOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
import type { DefaultError, Query, QueryKey } from '@tanstack/react-query';
|
|
2
2
|
export type RefetchIntervalFunction<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = (query: Query<TQueryFnData, TError, TQueryData, TQueryKey>, count: number) => number | false | undefined;
|
|
3
3
|
export type RefetchInterval<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = number | false | RefetchIntervalFunction<TQueryFnData, TError, TQueryData, TQueryKey>;
|
|
4
|
-
export interface ProgressiveRefetchInterval {
|
|
5
|
-
minInterval: number;
|
|
6
|
-
maxInterval: number;
|
|
7
|
-
}
|
|
8
|
-
export interface QueryDataExtendedOptions<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
|
|
9
|
-
refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;
|
|
10
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["refetch-interval.ts"],"sourcesContent":["import type {DefaultError, Query, QueryKey} from '@tanstack/react-query';\n\nexport type RefetchIntervalFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n count: number,\n) => number | false | undefined;\n\nexport type RefetchInterval<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = number | false | RefetchIntervalFunction<TQueryFnData, TError, TQueryData, TQueryKey>;\n
|
|
1
|
+
{"version":3,"names":[],"sources":["refetch-interval.ts"],"sourcesContent":["import type {DefaultError, Query, QueryKey} from '@tanstack/react-query';\n\nexport type RefetchIntervalFunction<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = (\n query: Query<TQueryFnData, TError, TQueryData, TQueryKey>,\n count: number,\n) => number | false | undefined;\n\nexport type RefetchInterval<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = number | false | RefetchIntervalFunction<TQueryFnData, TError, TQueryData, TQueryKey>;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { QueryKey } from '@tanstack/react-query';
|
|
2
|
-
import type {
|
|
3
|
-
export
|
|
2
|
+
import type { RefetchIntervalFunction } from '../types/refetch-interval';
|
|
3
|
+
export interface ProgressiveRefetchOptions {
|
|
4
|
+
minInterval: number;
|
|
5
|
+
maxInterval: number;
|
|
6
|
+
multiplier?: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const getProgressiveRefetch: <TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>({ minInterval, maxInterval, multiplier, }: ProgressiveRefetchOptions) => RefetchIntervalFunction<TQueryFnData, TError, TData, TQueryKey>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
var BASE = 2;
|
|
2
1
|
export var getProgressiveRefetch = function getProgressiveRefetch(_ref) {
|
|
3
2
|
var minInterval = _ref.minInterval,
|
|
4
|
-
maxInterval = _ref.maxInterval
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
maxInterval = _ref.maxInterval,
|
|
4
|
+
_ref$multiplier = _ref.multiplier,
|
|
5
|
+
multiplier = _ref$multiplier === void 0 ? 2 : _ref$multiplier;
|
|
6
|
+
return function (_query, count) {
|
|
7
|
+
return Math.min(minInterval * Math.pow(multiplier, count), maxInterval);
|
|
7
8
|
};
|
|
8
9
|
};
|
|
9
10
|
// #sourceMappingURL=getProgressiveRefetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getProgressiveRefetch","_ref","minInterval","maxInterval","_ref$multiplier","multiplier","_query","count","Math","min","pow"],"sources":["getProgressiveRefetch.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {RefetchIntervalFunction} from '../types/refetch-interval';\n\nexport interface ProgressiveRefetchOptions {\n minInterval: number;\n maxInterval: number;\n multiplier?: number;\n}\n\nexport const getProgressiveRefetch = <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>({\n minInterval,\n maxInterval,\n multiplier = 2,\n}: ProgressiveRefetchOptions): RefetchIntervalFunction<TQueryFnData, TError, TData, TQueryKey> => {\n return (_query, count) => {\n return Math.min(minInterval * multiplier ** count, maxInterval);\n };\n};\n"],"mappings":"AAUA,OAAO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,IAAA,EASgE;EAAA,IAH9FC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,WAAW,GAAAF,IAAA,CAAXE,WAAW;IAAAC,eAAA,GAAAH,IAAA,CACXI,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;EAEd,OAAO,UAACE,MAAM,EAAEC,KAAK,EAAK;IACtB,OAAOC,IAAI,CAACC,GAAG,CAACP,WAAW,GAAAM,IAAA,CAAAE,GAAA,CAAGL,UAAU,EAAIE,KAAK,GAAEJ,WAAW,CAAC;EACnE,CAAC;AACL,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _base = require("./base");
|
|
7
|
-
Object.keys(_base).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _base[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _base[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
var _refetchInterval = require("./refetch-interval");
|
|
18
|
-
Object.keys(_refetchInterval).forEach(function (key) {
|
|
19
|
-
if (key === "default" || key === "__esModule") return;
|
|
20
|
-
if (key in exports && exports[key] === _refetchInterval[key]) return;
|
|
21
|
-
Object.defineProperty(exports, key, {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return _refetchInterval[key];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
// #sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_base","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_refetchInterval"],"sources":["index.ts"],"sourcesContent":["export * from './base';\nexport * from './refetch-interval';\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from './base';\nexport * from './refetch-interval';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,oBAAoB","ignoreList":[]}
|