@gravity-ui/data-source 0.3.0 → 0.5.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 -0
- package/build/cjs/core/index.js.map +1 -1
- package/build/cjs/core/types/DataManagerOptions.d.ts +10 -0
- package/build/cjs/core/types/DataManagerOptions.js +6 -0
- package/build/cjs/core/types/DataManagerOptions.js.map +1 -0
- package/build/cjs/core/types/DataManger.d.ts +6 -5
- package/build/cjs/core/types/DataManger.js.map +1 -1
- package/build/cjs/react-query/ClientDataManager.d.ts +8 -5
- package/build/cjs/react-query/ClientDataManager.js +39 -15
- package/build/cjs/react-query/ClientDataManager.js.map +1 -1
- package/build/cjs/react-query/hooks/useQueryData.js.map +1 -1
- package/build/cjs/react-query/hooks/useRefetchInterval.d.ts +7 -0
- package/build/cjs/react-query/hooks/useRefetchInterval.js +33 -0
- package/build/cjs/react-query/hooks/useRefetchInterval.js.map +1 -0
- package/build/cjs/react-query/impl/infinite/hooks.d.ts +4 -2
- package/build/cjs/react-query/impl/infinite/hooks.js +33 -2
- package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/types.d.ts +5 -2
- package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/utils.d.ts +4 -5
- package/build/cjs/react-query/impl/infinite/utils.js +1 -12
- package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
- package/build/cjs/react-query/impl/plain/hooks.d.ts +5 -2
- package/build/cjs/react-query/impl/plain/hooks.js +26 -2
- package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/plain/types.d.ts +4 -3
- package/build/cjs/react-query/impl/plain/types.js.map +1 -1
- package/build/cjs/react-query/impl/plain/utils.d.ts +3 -5
- package/build/cjs/react-query/impl/plain/utils.js +1 -8
- package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
- package/build/cjs/react-query/index.d.ts +2 -1
- package/build/cjs/react-query/index.js +7 -0
- package/build/cjs/react-query/index.js.map +1 -1
- package/build/cjs/react-query/{types.d.ts → types/base.d.ts} +2 -2
- package/build/cjs/react-query/{types.js → types/base.js} +1 -1
- package/build/cjs/react-query/types/base.js.map +1 -0
- package/build/cjs/react-query/types/index.d.ts +2 -0
- package/build/cjs/react-query/types/index.js +28 -0
- package/build/cjs/react-query/types/index.js.map +1 -0
- package/build/cjs/react-query/types/refetch-interval.d.ts +10 -0
- package/build/cjs/react-query/types/refetch-interval.js +6 -0
- package/build/cjs/react-query/types/refetch-interval.js.map +1 -0
- package/build/cjs/react-query/utils/getProgressiveRefetch.d.ts +3 -0
- package/build/cjs/react-query/utils/getProgressiveRefetch.js +15 -0
- package/build/cjs/react-query/utils/getProgressiveRefetch.js.map +1 -0
- package/build/esm/core/index.d.ts +1 -0
- package/build/esm/core/index.js.map +1 -1
- package/build/esm/core/types/DataManagerOptions.d.ts +10 -0
- package/build/esm/core/types/DataManagerOptions.js +2 -0
- package/build/esm/core/types/DataManagerOptions.js.map +1 -0
- package/build/esm/core/types/DataManger.d.ts +6 -5
- package/build/esm/core/types/DataManger.js.map +1 -1
- package/build/esm/react-query/ClientDataManager.d.ts +8 -5
- package/build/esm/react-query/ClientDataManager.js +39 -15
- package/build/esm/react-query/ClientDataManager.js.map +1 -1
- package/build/esm/react-query/hooks/useQueryData.js.map +1 -1
- package/build/esm/react-query/hooks/useRefetchInterval.d.ts +7 -0
- package/build/esm/react-query/hooks/useRefetchInterval.js +26 -0
- package/build/esm/react-query/hooks/useRefetchInterval.js.map +1 -0
- package/build/esm/react-query/impl/infinite/hooks.d.ts +4 -2
- package/build/esm/react-query/impl/infinite/hooks.js +32 -3
- package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/esm/react-query/impl/infinite/types.d.ts +5 -2
- package/build/esm/react-query/impl/infinite/types.js.map +1 -1
- package/build/esm/react-query/impl/infinite/utils.d.ts +4 -5
- package/build/esm/react-query/impl/infinite/utils.js +0 -11
- package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
- package/build/esm/react-query/impl/plain/hooks.d.ts +5 -2
- package/build/esm/react-query/impl/plain/hooks.js +25 -3
- package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
- package/build/esm/react-query/impl/plain/types.d.ts +4 -3
- package/build/esm/react-query/impl/plain/types.js.map +1 -1
- package/build/esm/react-query/impl/plain/utils.d.ts +3 -5
- package/build/esm/react-query/impl/plain/utils.js +0 -7
- package/build/esm/react-query/impl/plain/utils.js.map +1 -1
- package/build/esm/react-query/index.d.ts +2 -1
- package/build/esm/react-query/index.js +1 -0
- package/build/esm/react-query/index.js.map +1 -1
- package/build/esm/react-query/{types.d.ts → types/base.d.ts} +2 -2
- package/build/esm/react-query/types/base.js +2 -0
- package/build/esm/react-query/types/base.js.map +1 -0
- package/build/esm/react-query/types/index.d.ts +2 -0
- package/build/esm/react-query/types/index.js +3 -0
- package/build/esm/react-query/types/index.js.map +1 -0
- package/build/esm/react-query/types/refetch-interval.d.ts +10 -0
- package/build/esm/react-query/types/refetch-interval.js +2 -0
- package/build/esm/react-query/types/refetch-interval.js.map +1 -0
- package/build/esm/react-query/utils/getProgressiveRefetch.d.ts +3 -0
- package/build/esm/react-query/utils/getProgressiveRefetch.js +9 -0
- package/build/esm/react-query/utils/getProgressiveRefetch.js.map +1 -0
- package/package.json +1 -1
- package/build/cjs/react-query/types.js.map +0 -1
- package/build/esm/react-query/types.js +0 -2
- package/build/esm/react-query/types.js.map +0 -1
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
export declare const composeOptions: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => QueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>, DataSourceKey>;
|
|
5
|
-
export declare const transformResult: <TDataSource extends AnyPlainQueryDataSource>(result: QueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>) => DataSourceState<TDataSource>;
|
|
1
|
+
import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceKey, DataSourceOptions, DataSourceParams, DataSourceResponse } from '../../../core';
|
|
2
|
+
import type { AnyPlainQueryDataSource, QueryObserverExtendedOptions } from './types';
|
|
3
|
+
export declare const composeOptions: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => QueryObserverExtendedOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>, DataSourceKey>;
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.composeOptions = void 0;
|
|
7
7
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
8
|
var _reactQuery = require("@tanstack/react-query");
|
|
9
9
|
var _core = require("../../../core");
|
|
10
|
-
var _normalizeStatus = require("../../utils/normalizeStatus");
|
|
11
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
11
|
var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
13
12
|
var transformParams = dataSource.transformParams;
|
|
@@ -20,10 +19,4 @@ var composeOptions = exports.composeOptions = function composeOptions(context, d
|
|
|
20
19
|
select: dataSource.transformResponse
|
|
21
20
|
}, dataSource.options), options);
|
|
22
21
|
};
|
|
23
|
-
var transformResult = exports.transformResult = function transformResult(result) {
|
|
24
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
|
|
25
|
-
status: (0, _normalizeStatus.normalizeStatus)(result.status, result.fetchStatus),
|
|
26
|
-
originalStatus: result.status
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
22
|
// #sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactQuery","require","_core","
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_core","_interopRequireDefault","e","__esModule","default","composeOptions","exports","context","dataSource","params","options","transformParams","queryFn","fetchContext","fetch","_objectSpread","queryKey","composeFullKey","idle","skipToken","select","transformResponse"],"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';\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} = dataSource;\n\n const queryFn = (\n fetchContext: QueryFunctionContext<DataSourceKey>,\n ): DataSourceResponse<TDataSource> | Promise<DataSourceResponse<TDataSource>> => {\n return dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n );\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: dataSource.transformResponse,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAAkD,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAa3C,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAOhD;EACD,IAAOC,eAAe,GAAIH,UAAU,CAA7BG,eAAe;EAEtB,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CACTC,YAAiD,EAC4B;IAC7E,OAAOL,UAAU,CAACM,KAAK,CACnBP,OAAO,EACPM,YAAY,EACZF,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;EACL,CAAC;EAED,WAAAM,sBAAA,MAAAA,sBAAA;IACIC,QAAQ,EAAE,IAAAC,oBAAc,EAACT,UAAU,EAAEC,MAAM,CAAC;IAC5CG,OAAO,EAAEH,MAAM,KAAKS,UAAI,GAAGC,qBAAS,GAAGP,OAAO;IAC9CQ,MAAM,EAAEZ,UAAU,CAACa;EAAiB,GACjCb,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { QueryDataSourceContext, AnyQueryDataSource } from './types';
|
|
1
|
+
export type { QueryDataSourceContext, AnyQueryDataSource, ProgressiveRefetchInterval, RefetchInterval, RefetchIntervalFunction, } from './types';
|
|
2
2
|
export { useQueryContext } from './hooks/useQueryContext';
|
|
3
3
|
export { useQueryData } from './hooks/useQueryData';
|
|
4
4
|
export { useQueryResponses } from './hooks/useQueryResponses';
|
|
@@ -11,5 +11,6 @@ export type { PlainQueryDataSource, AnyPlainQueryDataSource } from './impl/plain
|
|
|
11
11
|
export { makePlainQueryDataSource } from './impl/plain/factory';
|
|
12
12
|
export { composeOptions as composePlainQueryOptions } from './impl/plain/utils';
|
|
13
13
|
export { normalizeStatus } from './utils/normalizeStatus';
|
|
14
|
+
export { getProgressiveRefetch } from './utils/getProgressiveRefetch';
|
|
14
15
|
export type { ClientDataManagerConfig } from './ClientDataManager';
|
|
15
16
|
export { ClientDataManager } from './ClientDataManager';
|
|
@@ -21,6 +21,12 @@ Object.defineProperty(exports, "composePlainQueryOptions", {
|
|
|
21
21
|
return _utils2.composeOptions;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "getProgressiveRefetch", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _getProgressiveRefetch.getProgressiveRefetch;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
24
30
|
Object.defineProperty(exports, "makeInfiniteQueryDataSource", {
|
|
25
31
|
enumerable: true,
|
|
26
32
|
get: function () {
|
|
@@ -79,5 +85,6 @@ var _utils = require("./impl/infinite/utils");
|
|
|
79
85
|
var _factory2 = require("./impl/plain/factory");
|
|
80
86
|
var _utils2 = require("./impl/plain/utils");
|
|
81
87
|
var _normalizeStatus = require("./utils/normalizeStatus");
|
|
88
|
+
var _getProgressiveRefetch = require("./utils/getProgressiveRefetch");
|
|
82
89
|
var _ClientDataManager = require("./ClientDataManager");
|
|
83
90
|
// #sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useQueryContext","require","_useQueryData","_useQueryResponses","_useRefetchAll","_useRefetchErrored","_factory","_utils","_factory2","_utils2","_normalizeStatus","_ClientDataManager"],"sources":["index.ts"],"sourcesContent":["export type {QueryDataSourceContext
|
|
1
|
+
{"version":3,"names":["_useQueryContext","require","_useQueryData","_useQueryResponses","_useRefetchAll","_useRefetchErrored","_factory","_utils","_factory2","_utils2","_normalizeStatus","_getProgressiveRefetch","_ClientDataManager"],"sources":["index.ts"],"sourcesContent":["export type {\n QueryDataSourceContext,\n AnyQueryDataSource,\n ProgressiveRefetchInterval,\n RefetchInterval,\n RefetchIntervalFunction,\n} from './types';\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 {getProgressiveRefetch} from './utils/getProgressiveRefetch';\n\nexport type {ClientDataManagerConfig} from './ClientDataManager';\nexport {ClientDataManager} from './ClientDataManager';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAGA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAGA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAEA,IAAAS,gBAAA,GAAAT,OAAA;AACA,IAAAU,sBAAA,GAAAV,OAAA;AAGA,IAAAW,kBAAA,GAAAX,OAAA","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { QueryClient } from '@tanstack/react-query';
|
|
2
|
-
import type { AnyInfiniteQueryDataSource } from '
|
|
3
|
-
import type { AnyPlainQueryDataSource } from '
|
|
2
|
+
import type { AnyInfiniteQueryDataSource } from '../impl/infinite/types';
|
|
3
|
+
import type { AnyPlainQueryDataSource } from '../impl/plain/types';
|
|
4
4
|
export interface QueryDataSourceContext {
|
|
5
5
|
queryClient: QueryClient;
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["base.ts"],"sourcesContent":["import type {QueryClient} from '@tanstack/react-query';\n\nimport type {AnyInfiniteQueryDataSource} from '../impl/infinite/types';\nimport type {AnyPlainQueryDataSource} from '../impl/plain/types';\n\nexport interface QueryDataSourceContext {\n queryClient: QueryClient;\n}\n\nexport type AnyQueryDataSource = AnyPlainQueryDataSource | AnyInfiniteQueryDataSource;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DefaultError, Query, QueryKey } from '@tanstack/react-query';
|
|
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
|
+
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
|
+
}
|
|
@@ -0,0 +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\nexport interface ProgressiveRefetchInterval {\n minInterval: number;\n maxInterval: number;\n}\n\nexport interface QueryDataExtendedOptions<\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":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { QueryKey } from '@tanstack/react-query';
|
|
2
|
+
import type { ProgressiveRefetchInterval, RefetchIntervalFunction } from '../types';
|
|
3
|
+
export declare const getProgressiveRefetch: <TQueryFnData = unknown, TError = Error, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>({ minInterval, maxInterval, }: ProgressiveRefetchInterval) => RefetchIntervalFunction<TQueryFnData, TError, TData, TQueryKey>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getProgressiveRefetch = void 0;
|
|
7
|
+
var BASE = 2;
|
|
8
|
+
var getProgressiveRefetch = exports.getProgressiveRefetch = function getProgressiveRefetch(_ref) {
|
|
9
|
+
var minInterval = _ref.minInterval,
|
|
10
|
+
maxInterval = _ref.maxInterval;
|
|
11
|
+
return function (_, queryRefetchCount) {
|
|
12
|
+
return Math.min(minInterval * Math.pow(BASE, queryRefetchCount), maxInterval);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
// #sourceMappingURL=getProgressiveRefetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BASE","getProgressiveRefetch","exports","_ref","minInterval","maxInterval","_","queryRefetchCount","Math","min","pow"],"sources":["getProgressiveRefetch.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {ProgressiveRefetchInterval, RefetchIntervalFunction} from '../types';\n\nconst BASE = 2;\n\nexport const getProgressiveRefetch = <\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>({\n minInterval,\n maxInterval,\n}: ProgressiveRefetchInterval): RefetchIntervalFunction<TQueryFnData, TError, TData, TQueryKey> => {\n return (_, queryRefetchCount) => {\n return Math.min(minInterval * BASE ** queryRefetchCount, maxInterval);\n };\n};\n"],"mappings":";;;;;;AAIA,IAAMA,IAAI,GAAG,CAAC;AAEP,IAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAAE,IAAA,EAQiE;EAAA,IAF/FC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IACXC,WAAW,GAAAF,IAAA,CAAXE,WAAW;EAEX,OAAO,UAACC,CAAC,EAAEC,iBAAiB,EAAK;IAC7B,OAAOC,IAAI,CAACC,GAAG,CAACL,WAAW,GAAAI,IAAA,CAAAE,GAAA,CAAGV,IAAI,EAAIO,iBAAiB,GAAEF,WAAW,CAAC;EACzE,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export type { DataSourceKey, DataSourceTag, DataSource, AnyDataSource, DataSourceContext, DataSourceParams, DataSourceRequest, DataSourceResponse, DataSourceData, DataSourceError, DataSourceOptions, DataSourceState, DataSourceFetchContext, ActualParams, ActualData, } from './types/DataSource';
|
|
2
2
|
export type { DataManager } from './types/DataManger';
|
|
3
3
|
export type { DataLoaderStatus } from './types/DataLoaderStatus';
|
|
4
|
+
export type { InvalidateRepeatOptions, InvalidateOptions } from './types/DataManagerOptions';
|
|
4
5
|
export { idle } from './constants';
|
|
5
6
|
export { composeKey } from './utils/composeKey';
|
|
6
7
|
export { composeFullKey } from './utils/composeFullKey';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["idle","composeKey","composeFullKey","getError","getStatus","hasTag","mergeStatuses","skipContext","isCancellable","isAbortable","withCancellation"],"sources":["index.ts"],"sourcesContent":["export type {\n DataSourceKey,\n DataSourceTag,\n DataSource,\n AnyDataSource,\n DataSourceContext,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceData,\n DataSourceError,\n DataSourceOptions,\n DataSourceState,\n DataSourceFetchContext,\n ActualParams,\n ActualData,\n} from './types/DataSource';\nexport type {DataManager} from './types/DataManger';\nexport type {DataLoaderStatus} from './types/DataLoaderStatus';\n\nexport {idle} from './constants';\n\nexport {composeKey} from './utils/composeKey';\nexport {composeFullKey} from './utils/composeFullKey';\nexport {getError} from './utils/getError';\nexport {getStatus} from './utils/getStatus';\nexport {hasTag} from './utils/hasTag';\nexport {mergeStatuses} from './utils/mergeStatuses';\nexport {skipContext} from './utils/skipContext';\nexport type {Cancellable} from './utils/withCancellation';\nexport {isCancellable, isAbortable, withCancellation} from './utils/withCancellation';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["idle","composeKey","composeFullKey","getError","getStatus","hasTag","mergeStatuses","skipContext","isCancellable","isAbortable","withCancellation"],"sources":["index.ts"],"sourcesContent":["export type {\n DataSourceKey,\n DataSourceTag,\n DataSource,\n AnyDataSource,\n DataSourceContext,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceData,\n DataSourceError,\n DataSourceOptions,\n DataSourceState,\n DataSourceFetchContext,\n ActualParams,\n ActualData,\n} from './types/DataSource';\nexport type {DataManager} from './types/DataManger';\nexport type {DataLoaderStatus} from './types/DataLoaderStatus';\nexport type {InvalidateRepeatOptions, InvalidateOptions} from './types/DataManagerOptions';\n\nexport {idle} from './constants';\n\nexport {composeKey} from './utils/composeKey';\nexport {composeFullKey} from './utils/composeFullKey';\nexport {getError} from './utils/getError';\nexport {getStatus} from './utils/getStatus';\nexport {hasTag} from './utils/hasTag';\nexport {mergeStatuses} from './utils/mergeStatuses';\nexport {skipContext} from './utils/skipContext';\nexport type {Cancellable} from './utils/withCancellation';\nexport {isCancellable, isAbortable, withCancellation} from './utils/withCancellation';\n"],"mappings":"AAqBA,SAAQA,IAAI,QAAO,aAAa;AAEhC,SAAQC,UAAU,QAAO,oBAAoB;AAC7C,SAAQC,cAAc,QAAO,wBAAwB;AACrD,SAAQC,QAAQ,QAAO,kBAAkB;AACzC,SAAQC,SAAS,QAAO,mBAAmB;AAC3C,SAAQC,MAAM,QAAO,gBAAgB;AACrC,SAAQC,aAAa,QAAO,uBAAuB;AACnD,SAAQC,WAAW,QAAO,qBAAqB;AAE/C,SAAQC,aAAa,EAAEC,WAAW,EAAEC,gBAAgB,QAAO,0BAA0B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["DataManagerOptions.ts"],"sourcesContent":["export interface InvalidateRepeatOptions {\n interval: number;\n /**\n * Number of repeated calls, not counting the first one\n */\n count: number;\n}\n\nexport interface InvalidateOptions {\n repeat?: InvalidateRepeatOptions;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { InvalidateOptions } from './DataManagerOptions';
|
|
1
2
|
import type { AnyDataSource, DataSourceParams, DataSourceTag } from './DataSource';
|
|
2
3
|
export interface DataManager {
|
|
3
|
-
invalidateTag(tag: DataSourceTag): Promise<void>;
|
|
4
|
-
invalidateTags(tags: DataSourceTag[]): Promise<void>;
|
|
5
|
-
invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
|
|
4
|
+
invalidateTag(tag: DataSourceTag, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
5
|
+
invalidateTags(tags: DataSourceTag[], invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
6
|
+
invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
6
7
|
resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
|
|
7
|
-
invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource
|
|
8
|
+
invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
8
9
|
resetParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
|
|
9
|
-
invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource
|
|
10
|
+
invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
10
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["DataManger.ts"],"sourcesContent":["import type {AnyDataSource, DataSourceParams, DataSourceTag} from './DataSource';\n\nexport interface DataManager {\n invalidateTag(tag: DataSourceTag): Promise<void>;\n invalidateTags(tags: DataSourceTag[]): Promise<void>;\n\n invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;\n\n resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;\n\n invalidateParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ): Promise<void>;\n\n resetParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ): Promise<void>;\n\n invalidateSourceTags<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["DataManger.ts"],"sourcesContent":["import type {InvalidateOptions} from './DataManagerOptions';\nimport type {AnyDataSource, DataSourceParams, DataSourceTag} from './DataSource';\n\nexport interface DataManager {\n invalidateTag(tag: DataSourceTag, invalidateOptions?: InvalidateOptions): Promise<void>;\n invalidateTags(tags: DataSourceTag[], invalidateOptions?: InvalidateOptions): Promise<void>;\n\n invalidateSource<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n invalidateOptions?: InvalidateOptions,\n ): Promise<void>;\n\n resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;\n\n invalidateParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n invalidateOptions?: InvalidateOptions,\n ): Promise<void>;\n\n resetParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ): Promise<void>;\n\n invalidateSourceTags<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n invalidateOptions?: InvalidateOptions,\n ): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import type { QueryClientConfig } from '@tanstack/react-query';
|
|
2
2
|
import { QueryClient } from '@tanstack/react-query';
|
|
3
3
|
import { type AnyDataSource, type DataManager, type DataSourceParams, type DataSourceTag } from '../core';
|
|
4
|
+
import type { InvalidateOptions } from '../core/types/DataManagerOptions';
|
|
4
5
|
export type ClientDataManagerConfig = QueryClientConfig;
|
|
5
6
|
export declare class ClientDataManager implements DataManager {
|
|
6
7
|
readonly queryClient: QueryClient;
|
|
7
8
|
constructor(conifg?: ClientDataManagerConfig);
|
|
8
|
-
invalidateTag(tag: DataSourceTag): Promise<void>;
|
|
9
|
-
invalidateTags(tags: DataSourceTag[]): Promise<void>;
|
|
10
|
-
invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
|
|
9
|
+
invalidateTag(tag: DataSourceTag, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
10
|
+
invalidateTags(tags: DataSourceTag[], invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
11
|
+
invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
11
12
|
resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
|
|
12
|
-
invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource
|
|
13
|
+
invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
13
14
|
resetParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
|
|
14
|
-
invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource
|
|
15
|
+
invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>, invalidateOptions?: InvalidateOptions): Promise<void>;
|
|
16
|
+
private invalidateQueries;
|
|
17
|
+
private repeatInvalidate;
|
|
15
18
|
}
|
|
@@ -22,33 +22,33 @@ export var ClientDataManager = /*#__PURE__*/function () {
|
|
|
22
22
|
}
|
|
23
23
|
return _createClass(ClientDataManager, [{
|
|
24
24
|
key: "invalidateTag",
|
|
25
|
-
value: function invalidateTag(tag) {
|
|
26
|
-
return this.
|
|
25
|
+
value: function invalidateTag(tag, invalidateOptions) {
|
|
26
|
+
return this.invalidateQueries({
|
|
27
27
|
predicate: function predicate(_ref) {
|
|
28
28
|
var queryKey = _ref.queryKey;
|
|
29
29
|
return hasTag(queryKey, tag);
|
|
30
30
|
}
|
|
31
|
-
});
|
|
31
|
+
}, invalidateOptions);
|
|
32
32
|
}
|
|
33
33
|
}, {
|
|
34
34
|
key: "invalidateTags",
|
|
35
|
-
value: function invalidateTags(tags) {
|
|
36
|
-
return this.
|
|
35
|
+
value: function invalidateTags(tags, invalidateOptions) {
|
|
36
|
+
return this.invalidateQueries({
|
|
37
37
|
predicate: function predicate(_ref2) {
|
|
38
38
|
var queryKey = _ref2.queryKey;
|
|
39
39
|
return tags.every(function (tag) {
|
|
40
40
|
return hasTag(queryKey, tag);
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
});
|
|
43
|
+
}, invalidateOptions);
|
|
44
44
|
}
|
|
45
45
|
}, {
|
|
46
46
|
key: "invalidateSource",
|
|
47
|
-
value: function invalidateSource(dataSource) {
|
|
48
|
-
return this.
|
|
47
|
+
value: function invalidateSource(dataSource, invalidateOptions) {
|
|
48
|
+
return this.invalidateQueries({
|
|
49
49
|
// First element is a data source name
|
|
50
50
|
queryKey: [dataSource.name]
|
|
51
|
-
});
|
|
51
|
+
}, invalidateOptions);
|
|
52
52
|
}
|
|
53
53
|
}, {
|
|
54
54
|
key: "resetSource",
|
|
@@ -60,11 +60,11 @@ export var ClientDataManager = /*#__PURE__*/function () {
|
|
|
60
60
|
}
|
|
61
61
|
}, {
|
|
62
62
|
key: "invalidateParams",
|
|
63
|
-
value: function invalidateParams(dataSource, params) {
|
|
64
|
-
return this.
|
|
63
|
+
value: function invalidateParams(dataSource, params, invalidateOptions) {
|
|
64
|
+
return this.invalidateQueries({
|
|
65
65
|
queryKey: composeFullKey(dataSource, params),
|
|
66
66
|
exact: true
|
|
67
|
-
});
|
|
67
|
+
}, invalidateOptions);
|
|
68
68
|
}
|
|
69
69
|
}, {
|
|
70
70
|
key: "resetParams",
|
|
@@ -76,11 +76,35 @@ export var ClientDataManager = /*#__PURE__*/function () {
|
|
|
76
76
|
}
|
|
77
77
|
}, {
|
|
78
78
|
key: "invalidateSourceTags",
|
|
79
|
-
value: function invalidateSourceTags(dataSource, params) {
|
|
80
|
-
return this.
|
|
79
|
+
value: function invalidateSourceTags(dataSource, params, invalidateOptions) {
|
|
80
|
+
return this.invalidateQueries({
|
|
81
81
|
// Last element is a full key
|
|
82
82
|
queryKey: composeFullKey(dataSource, params).slice(0, -1)
|
|
83
|
-
});
|
|
83
|
+
}, invalidateOptions);
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "invalidateQueries",
|
|
87
|
+
value: function invalidateQueries(filters, invalidateOptions) {
|
|
88
|
+
var _this = this;
|
|
89
|
+
var _ref3 = invalidateOptions || {},
|
|
90
|
+
repeat = _ref3.repeat;
|
|
91
|
+
var invalidate = function invalidate() {
|
|
92
|
+
return _this.queryClient.invalidateQueries(filters);
|
|
93
|
+
};
|
|
94
|
+
this.repeatInvalidate(invalidate, repeat);
|
|
95
|
+
return invalidate();
|
|
96
|
+
}
|
|
97
|
+
}, {
|
|
98
|
+
key: "repeatInvalidate",
|
|
99
|
+
value: function repeatInvalidate(invalidate, repeat) {
|
|
100
|
+
if (!repeat) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
var interval = repeat.interval,
|
|
104
|
+
count = repeat.count;
|
|
105
|
+
for (var i = 1; i <= count; i++) {
|
|
106
|
+
setTimeout(invalidate, interval * i);
|
|
107
|
+
}
|
|
84
108
|
}
|
|
85
109
|
}]);
|
|
86
110
|
}();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["QueryClient","composeFullKey","hasTag","ClientDataManager","_conifg$defaultOption","_conifg$defaultOption2","conifg","arguments","length","undefined","_classCallCheck","queryClient","_objectSpread","defaultOptions","queries","networkMode","mutations","_createClass","key","value","invalidateTag","tag","invalidateQueries","predicate","_ref","queryKey","invalidateTags","tags","_ref2","every","invalidateSource","dataSource","name","resetSource","resetQueries","invalidateParams","params","exact","resetParams","invalidateSourceTags","slice"],"sources":["ClientDataManager.ts"],"sourcesContent":["import type {QueryClientConfig} from '@tanstack/react-query';\nimport {QueryClient} from '@tanstack/react-query';\n\nimport {\n type AnyDataSource,\n type DataManager,\n type DataSourceParams,\n type DataSourceTag,\n composeFullKey,\n hasTag,\n} from '../core';\n\nexport type ClientDataManagerConfig = QueryClientConfig;\n\nexport class ClientDataManager implements DataManager {\n readonly queryClient: QueryClient;\n\n constructor(conifg: ClientDataManagerConfig = {}) {\n this.queryClient = new QueryClient({\n ...conifg,\n defaultOptions: {\n ...conifg.defaultOptions,\n queries: {\n networkMode: 'always',\n ...conifg.defaultOptions?.queries,\n },\n mutations: {\n networkMode: 'always',\n ...conifg.defaultOptions?.mutations,\n },\n },\n });\n }\n\n invalidateTag(tag: DataSourceTag) {\n return this.
|
|
1
|
+
{"version":3,"names":["QueryClient","composeFullKey","hasTag","ClientDataManager","_conifg$defaultOption","_conifg$defaultOption2","conifg","arguments","length","undefined","_classCallCheck","queryClient","_objectSpread","defaultOptions","queries","networkMode","mutations","_createClass","key","value","invalidateTag","tag","invalidateOptions","invalidateQueries","predicate","_ref","queryKey","invalidateTags","tags","_ref2","every","invalidateSource","dataSource","name","resetSource","resetQueries","invalidateParams","params","exact","resetParams","invalidateSourceTags","slice","filters","_this","_ref3","repeat","invalidate","repeatInvalidate","interval","count","i","setTimeout"],"sources":["ClientDataManager.ts"],"sourcesContent":["import type {InvalidateQueryFilters, QueryClientConfig} from '@tanstack/react-query';\nimport {QueryClient} from '@tanstack/react-query';\n\nimport {\n type AnyDataSource,\n type DataManager,\n type DataSourceParams,\n type DataSourceTag,\n composeFullKey,\n hasTag,\n} from '../core';\nimport type {InvalidateOptions, InvalidateRepeatOptions} from '../core/types/DataManagerOptions';\n\nexport type ClientDataManagerConfig = QueryClientConfig;\n\nexport class ClientDataManager implements DataManager {\n readonly queryClient: QueryClient;\n\n constructor(conifg: ClientDataManagerConfig = {}) {\n this.queryClient = new QueryClient({\n ...conifg,\n defaultOptions: {\n ...conifg.defaultOptions,\n queries: {\n networkMode: 'always',\n ...conifg.defaultOptions?.queries,\n },\n mutations: {\n networkMode: 'always',\n ...conifg.defaultOptions?.mutations,\n },\n },\n });\n }\n\n invalidateTag(tag: DataSourceTag, invalidateOptions?: InvalidateOptions) {\n return this.invalidateQueries(\n {\n predicate: ({queryKey}) => hasTag(queryKey, tag),\n },\n invalidateOptions,\n );\n }\n\n invalidateTags(tags: DataSourceTag[], invalidateOptions?: InvalidateOptions) {\n return this.invalidateQueries(\n {\n predicate: ({queryKey}) => tags.every((tag) => hasTag(queryKey, tag)),\n },\n invalidateOptions,\n );\n }\n\n invalidateSource<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n invalidateOptions?: InvalidateOptions,\n ) {\n return this.invalidateQueries(\n {\n // First element is a data source name\n queryKey: [dataSource.name],\n },\n invalidateOptions,\n );\n }\n\n resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource) {\n return this.queryClient.resetQueries({\n // First element is a data source name\n queryKey: [dataSource.name],\n });\n }\n\n invalidateParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n invalidateOptions?: InvalidateOptions,\n ) {\n return this.invalidateQueries(\n {\n queryKey: composeFullKey(dataSource, params),\n exact: true,\n },\n invalidateOptions,\n );\n }\n\n resetParams<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n ) {\n return this.queryClient.resetQueries({\n queryKey: composeFullKey(dataSource, params),\n exact: true,\n });\n }\n\n invalidateSourceTags<TDataSource extends AnyDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n invalidateOptions?: InvalidateOptions,\n ) {\n return this.invalidateQueries(\n {\n // Last element is a full key\n queryKey: composeFullKey(dataSource, params).slice(0, -1),\n },\n invalidateOptions,\n );\n }\n\n private invalidateQueries(\n filters: InvalidateQueryFilters,\n invalidateOptions?: InvalidateOptions,\n ) {\n const {repeat} = invalidateOptions || {};\n\n const invalidate = () => this.queryClient.invalidateQueries(filters);\n\n this.repeatInvalidate(invalidate, repeat);\n\n return invalidate();\n }\n\n private repeatInvalidate(invalidate: () => Promise<void>, repeat?: InvalidateRepeatOptions) {\n if (!repeat) {\n return;\n }\n const {interval, count} = repeat;\n\n for (let i = 1; i <= count; i++) {\n setTimeout(invalidate, interval * i);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useInfiniteQueryData","usePlainQueryData","notReachable","useQueryContext","useQueryData","dataSource","params","options","context","type","state","concat"],"sources":["useQueryData.ts"],"sourcesContent":["import type {DataSourceOptions, DataSourceParams, DataSourceState} from '../../core';\nimport {useInfiniteQueryData} from '../impl/infinite/hooks';\nimport type {AnyInfiniteQueryDataSource} from '../impl/infinite/types';\nimport {usePlainQueryData} from '../impl/plain/hooks';\nimport type {AnyQueryDataSource} from '../types';\nimport {notReachable} from '../utils/notReachable';\n\nimport {useQueryContext} from './useQueryContext';\n\nexport const useQueryData = <TDataSource extends AnyQueryDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const context = useQueryContext();\n\n const type = dataSource.type;\n let state: DataSourceState<AnyQueryDataSource> | undefined;\n\n // Do not change data source type in the same hook call\n if (type === 'plain') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = usePlainQueryData(context
|
|
1
|
+
{"version":3,"names":["useInfiniteQueryData","usePlainQueryData","notReachable","useQueryContext","useQueryData","dataSource","params","options","context","type","state","concat"],"sources":["useQueryData.ts"],"sourcesContent":["import type {DataSourceOptions, DataSourceParams, DataSourceState} from '../../core';\nimport {useInfiniteQueryData} from '../impl/infinite/hooks';\nimport type {AnyInfiniteQueryDataSource} from '../impl/infinite/types';\nimport {usePlainQueryData} from '../impl/plain/hooks';\nimport type {AnyPlainQueryDataSource} from '../impl/plain/types';\nimport type {AnyQueryDataSource} from '../types';\nimport {notReachable} from '../utils/notReachable';\n\nimport {useQueryContext} from './useQueryContext';\n\nexport const useQueryData = <TDataSource extends AnyQueryDataSource>(\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const context = useQueryContext();\n\n const type = dataSource.type;\n let state: DataSourceState<AnyQueryDataSource> | undefined;\n\n // Do not change data source type in the same hook call\n if (type === 'plain') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = usePlainQueryData(\n context,\n dataSource,\n params,\n options as Partial<DataSourceOptions<AnyPlainQueryDataSource>> | undefined,\n );\n } else if (type === 'infinite') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n state = useInfiniteQueryData(\n context,\n dataSource,\n params,\n // TS can't calculate types in this place\n options as Partial<DataSourceOptions<AnyInfiniteQueryDataSource>> | undefined,\n );\n } else {\n return notReachable(type, `Data Source type must be plain or infinite, got: ${type}`);\n }\n\n return state as DataSourceState<TDataSource>;\n};\n"],"mappings":"AACA,SAAQA,oBAAoB,QAAO,wBAAwB;AAE3D,SAAQC,iBAAiB,QAAO,qBAAqB;AAGrD,SAAQC,YAAY,QAAO,uBAAuB;AAElD,SAAQC,eAAe,QAAO,mBAAmB;AAEjD,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CACrBC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,OAAO,GAAGL,eAAe,CAAC,CAAC;EAEjC,IAAMM,IAAI,GAAGJ,UAAU,CAACI,IAAI;EAC5B,IAAIC,KAAsD;;EAE1D;EACA,IAAID,IAAI,KAAK,OAAO,EAAE;IAClB;IACAC,KAAK,GAAGT,iBAAiB,CACrBO,OAAO,EACPH,UAAU,EACVC,MAAM,EACNC,OACJ,CAAC;EACL,CAAC,MAAM,IAAIE,IAAI,KAAK,UAAU,EAAE;IAC5B;IACAC,KAAK,GAAGV,oBAAoB,CACxBQ,OAAO,EACPH,UAAU,EACVC,MAAM;IACN;IACAC,OACJ,CAAC;EACL,CAAC,MAAM;IACH,OAAOL,YAAY,CAACO,IAAI,sDAAAE,MAAA,CAAsDF,IAAI,CAAE,CAAC;EACzF;EAEA,OAAOC,KAAK;AAChB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Query, QueryFunction, SkipToken } from '@tanstack/react-query';
|
|
2
|
+
import type { DataSourceError, DataSourceKey, DataSourceResponse } from '../../core';
|
|
3
|
+
import type { AnyQueryDataSource, RefetchInterval } from '../types';
|
|
4
|
+
export declare const useRefetchInterval: <TDataSource extends AnyQueryDataSource, TQueryData, TPageParams>(refetchIntervalOption?: RefetchInterval<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, TQueryData, DataSourceKey>, queryFnOption?: QueryFunction<DataSourceResponse<TDataSource>, DataSourceKey, TPageParams> | SkipToken) => {
|
|
5
|
+
refetchInterval?: number | false | ((query: Query<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, TQueryData, DataSourceKey>) => number | false | undefined);
|
|
6
|
+
queryFn?: QueryFunction<DataSourceResponse<TDataSource>, DataSourceKey, TPageParams> | SkipToken;
|
|
7
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export var useRefetchInterval = function useRefetchInterval(refetchIntervalOption, queryFnOption) {
|
|
3
|
+
var count = React.useRef(0);
|
|
4
|
+
var queryFn = React.useMemo(function () {
|
|
5
|
+
if (typeof queryFnOption === 'function') {
|
|
6
|
+
return function (context) {
|
|
7
|
+
count.current++;
|
|
8
|
+
return queryFnOption(context);
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
return undefined;
|
|
12
|
+
}, [queryFnOption]);
|
|
13
|
+
var refetchInterval = React.useMemo(function () {
|
|
14
|
+
if (typeof refetchIntervalOption === 'function') {
|
|
15
|
+
return function (query) {
|
|
16
|
+
return refetchIntervalOption(query, count.current);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return refetchIntervalOption;
|
|
20
|
+
}, [refetchIntervalOption]);
|
|
21
|
+
return {
|
|
22
|
+
refetchInterval: refetchInterval,
|
|
23
|
+
queryFn: queryFn
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
// #sourceMappingURL=useRefetchInterval.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useRefetchInterval","refetchIntervalOption","queryFnOption","count","useRef","queryFn","useMemo","context","current","undefined","refetchInterval","query"],"sources":["useRefetchInterval.ts"],"sourcesContent":["import React from 'react';\n\nimport type {Query, QueryFunction, QueryFunctionContext, SkipToken} from '@tanstack/react-query';\n\nimport type {DataSourceError, DataSourceKey, DataSourceResponse} from '../../core';\nimport type {AnyQueryDataSource, RefetchInterval} from '../types';\n\nexport const useRefetchInterval = <TDataSource extends AnyQueryDataSource, TQueryData, TPageParams>(\n refetchIntervalOption?: RefetchInterval<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n TQueryData,\n DataSourceKey\n >,\n queryFnOption?:\n | QueryFunction<DataSourceResponse<TDataSource>, DataSourceKey, TPageParams>\n | SkipToken,\n): {\n refetchInterval?:\n | number\n | false\n | ((\n query: Query<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n TQueryData,\n DataSourceKey\n >,\n ) => number | false | undefined);\n queryFn?:\n | QueryFunction<DataSourceResponse<TDataSource>, DataSourceKey, TPageParams>\n | SkipToken;\n} => {\n const count = React.useRef<number>(0);\n\n const queryFn = React.useMemo(() => {\n if (typeof queryFnOption === 'function') {\n return (context: QueryFunctionContext<DataSourceKey, TPageParams>) => {\n count.current++;\n return queryFnOption(context);\n };\n }\n return undefined;\n }, [queryFnOption]);\n\n const refetchInterval = React.useMemo(() => {\n if (typeof refetchIntervalOption === 'function') {\n return (\n query: Query<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n TQueryData,\n DataSourceKey\n >,\n ) => {\n return refetchIntervalOption(query, count.current);\n };\n }\n return refetchIntervalOption;\n }, [refetchIntervalOption]);\n\n return {refetchInterval, queryFn};\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAOzB,OAAO,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAC3BC,qBAKC,EACDC,aAEe,EAgBd;EACD,IAAMC,KAAK,GAAGJ,KAAK,CAACK,MAAM,CAAS,CAAC,CAAC;EAErC,IAAMC,OAAO,GAAGN,KAAK,CAACO,OAAO,CAAC,YAAM;IAChC,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;MACrC,OAAO,UAACK,OAAyD,EAAK;QAClEJ,KAAK,CAACK,OAAO,EAAE;QACf,OAAON,aAAa,CAACK,OAAO,CAAC;MACjC,CAAC;IACL;IACA,OAAOE,SAAS;EACpB,CAAC,EAAE,CAACP,aAAa,CAAC,CAAC;EAEnB,IAAMQ,eAAe,GAAGX,KAAK,CAACO,OAAO,CAAC,YAAM;IACxC,IAAI,OAAOL,qBAAqB,KAAK,UAAU,EAAE;MAC7C,OAAO,UACHU,KAKC,EACA;QACD,OAAOV,qBAAqB,CAACU,KAAK,EAAER,KAAK,CAACK,OAAO,CAAC;MACtD,CAAC;IACL;IACA,OAAOP,qBAAqB;EAChC,CAAC,EAAE,CAACA,qBAAqB,CAAC,CAAC;EAE3B,OAAO;IAACS,eAAe,EAAfA,eAAe;IAAEL,OAAO,EAAPA;EAAO,CAAC;AACrC,CAAC","ignoreList":[]}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { InfiniteData, InfiniteQueryObserverOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceKey, DataSourceOptions, DataSourceParams, DataSourceResponse, DataSourceState } from '../../../core';
|
|
3
|
+
import type { AnyInfiniteQueryDataSource, AnyPageParam, InfiniteQueryObserverExtendedOptions } from './types';
|
|
3
4
|
export declare const useInfiniteQueryData: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: Partial<DataSourceOptions<TDataSource>>) => DataSourceState<TDataSource>;
|
|
5
|
+
export declare function useInfiniteQueryDataOptions<TDataSource extends AnyInfiniteQueryDataSource>(composedOptions: InfiniteQueryObserverExtendedOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, InfiniteData<DataSourceData<TDataSource>, AnyPageParam>, DataSourceResponse<TDataSource>, DataSourceKey, AnyPageParam>): InfiniteQueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, InfiniteData<DataSourceData<TDataSource>, AnyPageParam>, DataSourceResponse<TDataSource>, DataSourceKey, AnyPageParam>;
|
|
@@ -1,8 +1,37 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
+
var _excluded = ["refetchInterval", "queryFn"];
|
|
4
|
+
import { useMemo } from 'react';
|
|
1
5
|
import { useInfiniteQuery } from '@tanstack/react-query';
|
|
2
|
-
import {
|
|
6
|
+
import { useRefetchInterval } from '../../hooks/useRefetchInterval';
|
|
7
|
+
import { normalizeStatus } from '../../utils/normalizeStatus';
|
|
8
|
+
import { composeOptions } from './utils';
|
|
3
9
|
export var useInfiniteQueryData = function useInfiniteQueryData(context, dataSource, params, options) {
|
|
4
10
|
var composedOptions = composeOptions(context, dataSource, params, options);
|
|
5
|
-
var
|
|
6
|
-
|
|
11
|
+
var extendedOptions = useInfiniteQueryDataOptions(composedOptions);
|
|
12
|
+
var result = useInfiniteQuery(extendedOptions);
|
|
13
|
+
var transformedData = useMemo(function () {
|
|
14
|
+
var _result$data$pages$fl, _result$data;
|
|
15
|
+
return (_result$data$pages$fl = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.pages.flat(1)) !== null && _result$data$pages$fl !== void 0 ? _result$data$pages$fl : [];
|
|
16
|
+
}, [result.data]);
|
|
17
|
+
return _objectSpread(_objectSpread({}, result), {}, {
|
|
18
|
+
status: normalizeStatus(result.status, result.fetchStatus),
|
|
19
|
+
data: transformedData,
|
|
20
|
+
originalStatus: result.status,
|
|
21
|
+
originalData: result.data
|
|
22
|
+
});
|
|
7
23
|
};
|
|
24
|
+
export function useInfiniteQueryDataOptions(composedOptions) {
|
|
25
|
+
var _ref = composedOptions || {},
|
|
26
|
+
refetchIntervalOption = _ref.refetchInterval,
|
|
27
|
+
queryFnOption = _ref.queryFn,
|
|
28
|
+
restOptions = _objectWithoutProperties(_ref, _excluded);
|
|
29
|
+
var _useRefetchInterval = useRefetchInterval(refetchIntervalOption, queryFnOption),
|
|
30
|
+
refetchInterval = _useRefetchInterval.refetchInterval,
|
|
31
|
+
queryFn = _useRefetchInterval.queryFn;
|
|
32
|
+
return _objectSpread(_objectSpread({}, restOptions), {}, {
|
|
33
|
+
refetchInterval: refetchInterval,
|
|
34
|
+
queryFn: queryFn
|
|
35
|
+
});
|
|
36
|
+
}
|
|
8
37
|
// #sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useInfiniteQuery","
|
|
1
|
+
{"version":3,"names":["useMemo","useInfiniteQuery","useRefetchInterval","normalizeStatus","composeOptions","useInfiniteQueryData","context","dataSource","params","options","composedOptions","extendedOptions","useInfiniteQueryDataOptions","result","transformedData","_result$data$pages$fl","_result$data","data","pages","flat","_objectSpread","status","fetchStatus","originalStatus","originalData","_ref","refetchIntervalOption","refetchInterval","queryFnOption","queryFn","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {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 DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {\n AnyInfiniteQueryDataSource,\n AnyPageParam,\n InfiniteQueryObserverExtendedOptions,\n} from './types';\nimport {composeOptions} from './utils';\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 composedOptions = composeOptions(context, dataSource, params, options);\n\n const extendedOptions = useInfiniteQueryDataOptions(composedOptions);\n\n const result = useInfiniteQuery(extendedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => result.data?.pages.flat(1) ?? [],\n [result.data],\n );\n\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n data: transformedData,\n originalStatus: result.status,\n originalData: result.data,\n } as DataSourceState<TDataSource>;\n};\n\nexport function useInfiniteQueryDataOptions<TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n AnyPageParam\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n AnyPageParam\n> {\n const {\n refetchInterval: refetchIntervalOption,\n queryFn: queryFnOption,\n ...restOptions\n } = composedOptions || {};\n\n const {refetchInterval, queryFn} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, refetchInterval, queryFn};\n}\n"],"mappings":";;;AAAA,SAAQA,OAAO,QAAO,OAAO;AAE7B,SAAQC,gBAAgB,QAAO,uBAAuB;AAatD,SAAQC,kBAAkB,QAAO,gCAAgC;AACjE,SAAQC,eAAe,QAAO,6BAA6B;AAO3D,SAAQC,cAAc,QAAO,SAAS;AAEtC,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAC7BC,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAGN,cAAc,CAACE,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAE5E,IAAME,eAAe,GAAGC,2BAA2B,CAACF,eAAe,CAAC;EAEpE,IAAMG,MAAM,GAAGZ,gBAAgB,CAACU,eAAe,CAAC;EAEhD,IAAMG,eAAe,GAAGd,OAAO,CAC3B;IAAA,IAAAe,qBAAA,EAAAC,YAAA;IAAA,QAAAD,qBAAA,IAAAC,YAAA,GAAMH,MAAM,CAACI,IAAI,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACtC,CAACF,MAAM,CAACI,IAAI,CAChB,CAAC;EAED,OAAAG,aAAA,CAAAA,aAAA,KACOP,MAAM;IACTQ,MAAM,EAAElB,eAAe,CAACU,MAAM,CAACQ,MAAM,EAAER,MAAM,CAACS,WAAW,CAAC;IAC1DL,IAAI,EAAEH,eAAe;IACrBS,cAAc,EAAEV,MAAM,CAACQ,MAAM;IAC7BG,YAAY,EAAEX,MAAM,CAACI;EAAI;AAEjC,CAAC;AAED,OAAO,SAASL,2BAA2BA,CACvCF,eAOC,EAQH;EACE,IAAAe,IAAA,GAIIf,eAAe,IAAI,CAAC,CAAC;IAHJgB,qBAAqB,GAAAD,IAAA,CAAtCE,eAAe;IACNC,aAAa,GAAAH,IAAA,CAAtBI,OAAO;IACJC,WAAW,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EAGlB,IAAAC,mBAAA,GAAmC/B,kBAAkB,CAACwB,qBAAqB,EAAEE,aAAa,CAAC;IAApFD,eAAe,GAAAM,mBAAA,CAAfN,eAAe;IAAEE,OAAO,GAAAI,mBAAA,CAAPJ,OAAO;EAE/B,OAAAT,aAAA,CAAAA,aAAA,KAAWU,WAAW;IAAEH,eAAe,EAAfA,eAAe;IAAEE,OAAO,EAAPA;EAAO;AACpD","ignoreList":[]}
|