@gravity-ui/data-source 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +82 -0
- package/build/cjs/core/constants.d.ts +1 -0
- package/build/cjs/core/constants.js +8 -0
- package/build/cjs/core/constants.js.map +1 -0
- package/build/cjs/core/index.d.ts +13 -0
- package/build/cjs/core/index.js +81 -0
- package/build/cjs/core/index.js.map +1 -0
- package/build/cjs/core/types/DataLoaderStatus.d.ts +1 -0
- package/build/cjs/core/types/DataLoaderStatus.js +6 -0
- package/build/cjs/core/types/DataLoaderStatus.js.map +1 -0
- package/build/cjs/core/types/DataManger.d.ts +10 -0
- package/build/cjs/core/types/DataManger.js +6 -0
- package/build/cjs/core/types/DataManger.js.map +1 -0
- package/build/cjs/core/types/DataSource.d.ts +28 -0
- package/build/cjs/core/types/DataSource.js +6 -0
- package/build/cjs/core/types/DataSource.js.map +1 -0
- package/build/cjs/core/types/utils.d.ts +1 -0
- package/build/cjs/core/types/utils.js +6 -0
- package/build/cjs/core/types/utils.js.map +1 -0
- package/build/cjs/core/utils/composeFullKey.d.ts +2 -0
- package/build/cjs/core/utils/composeFullKey.js +15 -0
- package/build/cjs/core/utils/composeFullKey.js.map +1 -0
- package/build/cjs/core/utils/composeKey.d.ts +2 -0
- package/build/cjs/core/utils/composeKey.js +14 -0
- package/build/cjs/core/utils/composeKey.js.map +1 -0
- package/build/cjs/core/utils/getError.d.ts +3 -0
- package/build/cjs/core/utils/getError.js +14 -0
- package/build/cjs/core/utils/getError.js.map +1 -0
- package/build/cjs/core/utils/getStatus.d.ts +4 -0
- package/build/cjs/core/utils/getStatus.js +14 -0
- package/build/cjs/core/utils/getStatus.js.map +1 -0
- package/build/cjs/core/utils/hasTag.d.ts +2 -0
- package/build/cjs/core/utils/hasTag.js +18 -0
- package/build/cjs/core/utils/hasTag.js.map +1 -0
- package/build/cjs/core/utils/mergeStatuses.d.ts +2 -0
- package/build/cjs/core/utils/mergeStatuses.js +20 -0
- package/build/cjs/core/utils/mergeStatuses.js.map +1 -0
- package/build/cjs/core/utils/skipContext.d.ts +2 -0
- package/build/cjs/core/utils/skipContext.js +15 -0
- package/build/cjs/core/utils/skipContext.js.map +1 -0
- package/build/cjs/core/utils/withCancellation.d.ts +9 -0
- package/build/cjs/core/utils/withCancellation.js +26 -0
- package/build/cjs/core/utils/withCancellation.js.map +1 -0
- package/build/cjs/index.d.ts +3 -0
- package/build/cjs/index.js +39 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/react/DataManagerContext.d.ts +3 -0
- package/build/cjs/react/DataManagerContext.js +16 -0
- package/build/cjs/react/DataManagerContext.js.map +1 -0
- package/build/cjs/react/components/DataInfiniteLoader/DataInfiniteLoader.d.ts +3 -0
- package/build/cjs/react/components/DataInfiniteLoader/DataInfiniteLoader.js +48 -0
- package/build/cjs/react/components/DataInfiniteLoader/DataInfiniteLoader.js.map +1 -0
- package/build/cjs/react/components/DataInfiniteLoader/index.d.ts +2 -0
- package/build/cjs/react/components/DataInfiniteLoader/index.js +13 -0
- package/build/cjs/react/components/DataInfiniteLoader/index.js.map +1 -0
- package/build/cjs/react/components/DataInfiniteLoader/types.d.ts +19 -0
- package/build/cjs/react/components/DataInfiniteLoader/types.js +6 -0
- package/build/cjs/react/components/DataInfiniteLoader/types.js.map +1 -0
- package/build/cjs/react/components/DataLoader/DataLoader.d.ts +3 -0
- package/build/cjs/react/components/DataLoader/DataLoader.js +35 -0
- package/build/cjs/react/components/DataLoader/DataLoader.js.map +1 -0
- package/build/cjs/react/components/DataLoader/index.d.ts +2 -0
- package/build/cjs/react/components/DataLoader/index.js +13 -0
- package/build/cjs/react/components/DataLoader/index.js.map +1 -0
- package/build/cjs/react/components/DataLoader/types.d.ts +11 -0
- package/build/cjs/react/components/DataLoader/types.js +6 -0
- package/build/cjs/react/components/DataLoader/types.js.map +1 -0
- package/build/cjs/react/components/types.d.ts +9 -0
- package/build/cjs/react/components/types.js +6 -0
- package/build/cjs/react/components/types.js.map +1 -0
- package/build/cjs/react/index.d.ts +5 -0
- package/build/cjs/react/index.js +55 -0
- package/build/cjs/react/index.js.map +1 -0
- package/build/cjs/react/withDataManager.d.ts +6 -0
- package/build/cjs/react/withDataManager.js +22 -0
- package/build/cjs/react/withDataManager.js.map +1 -0
- package/build/cjs/react-query/ClientDataManager.d.ts +15 -0
- package/build/cjs/react-query/ClientDataManager.js +94 -0
- package/build/cjs/react-query/ClientDataManager.js.map +1 -0
- package/build/cjs/react-query/hooks/useQueryContext.d.ts +2 -0
- package/build/cjs/react-query/hooks/useQueryContext.js +18 -0
- package/build/cjs/react-query/hooks/useQueryContext.js.map +1 -0
- package/build/cjs/react-query/hooks/useQueryData.d.ts +3 -0
- package/build/cjs/react-query/hooks/useQueryData.js +26 -0
- package/build/cjs/react-query/hooks/useQueryData.js.map +1 -0
- package/build/cjs/react-query/hooks/useQueryResponses.d.ts +11 -0
- package/build/cjs/react-query/hooks/useQueryResponses.js +18 -0
- package/build/cjs/react-query/hooks/useQueryResponses.js.map +1 -0
- package/build/cjs/react-query/hooks/useRefetchAll.d.ts +3 -0
- package/build/cjs/react-query/hooks/useRefetchAll.js +21 -0
- package/build/cjs/react-query/hooks/useRefetchAll.js.map +1 -0
- package/build/cjs/react-query/hooks/useRefetchErrored.d.ts +4 -0
- package/build/cjs/react-query/hooks/useRefetchErrored.js +25 -0
- package/build/cjs/react-query/hooks/useRefetchErrored.js.map +1 -0
- package/build/cjs/react-query/impl/infinite/factory.d.ts +2 -0
- package/build/cjs/react-query/impl/infinite/factory.js +14 -0
- package/build/cjs/react-query/impl/infinite/factory.js.map +1 -0
- package/build/cjs/react-query/impl/infinite/hooks.d.ts +3 -0
- package/build/cjs/react-query/impl/infinite/hooks.js +17 -0
- package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -0
- package/build/cjs/react-query/impl/infinite/types.d.ts +18 -0
- package/build/cjs/react-query/impl/infinite/types.js +6 -0
- package/build/cjs/react-query/impl/infinite/types.js.map +1 -0
- package/build/cjs/react-query/impl/infinite/utils.d.ts +5 -0
- package/build/cjs/react-query/impl/infinite/utils.js +49 -0
- package/build/cjs/react-query/impl/infinite/utils.js.map +1 -0
- package/build/cjs/react-query/impl/plain/factory.d.ts +2 -0
- package/build/cjs/react-query/impl/plain/factory.js +14 -0
- package/build/cjs/react-query/impl/plain/factory.js.map +1 -0
- package/build/cjs/react-query/impl/plain/hooks.d.ts +3 -0
- package/build/cjs/react-query/impl/plain/hooks.js +17 -0
- package/build/cjs/react-query/impl/plain/hooks.js.map +1 -0
- package/build/cjs/react-query/impl/plain/types.d.ts +14 -0
- package/build/cjs/react-query/impl/plain/types.js +6 -0
- package/build/cjs/react-query/impl/plain/types.js.map +1 -0
- package/build/cjs/react-query/impl/plain/utils.d.ts +5 -0
- package/build/cjs/react-query/impl/plain/utils.js +28 -0
- package/build/cjs/react-query/impl/plain/utils.js.map +1 -0
- package/build/cjs/react-query/index.d.ts +15 -0
- package/build/cjs/react-query/index.js +83 -0
- package/build/cjs/react-query/index.js.map +1 -0
- package/build/cjs/react-query/types.d.ts +7 -0
- package/build/cjs/react-query/types.js +6 -0
- package/build/cjs/react-query/types.js.map +1 -0
- package/build/cjs/react-query/utils/normalizeStatus.d.ts +3 -0
- package/build/cjs/react-query/utils/normalizeStatus.js +13 -0
- package/build/cjs/react-query/utils/normalizeStatus.js.map +1 -0
- package/build/esm/core/constants.d.ts +1 -0
- package/build/esm/core/constants.js +2 -0
- package/build/esm/core/constants.js.map +1 -0
- package/build/esm/core/index.d.ts +13 -0
- package/build/esm/core/index.js +10 -0
- package/build/esm/core/index.js.map +1 -0
- package/build/esm/core/types/DataLoaderStatus.d.ts +1 -0
- package/build/esm/core/types/DataLoaderStatus.js +2 -0
- package/build/esm/core/types/DataLoaderStatus.js.map +1 -0
- package/build/esm/core/types/DataManger.d.ts +10 -0
- package/build/esm/core/types/DataManger.js +2 -0
- package/build/esm/core/types/DataManger.js.map +1 -0
- package/build/esm/core/types/DataSource.d.ts +28 -0
- package/build/esm/core/types/DataSource.js +2 -0
- package/build/esm/core/types/DataSource.js.map +1 -0
- package/build/esm/core/types/utils.d.ts +1 -0
- package/build/esm/core/types/utils.js +2 -0
- package/build/esm/core/types/utils.js.map +1 -0
- package/build/esm/core/utils/composeFullKey.d.ts +2 -0
- package/build/esm/core/utils/composeFullKey.js +8 -0
- package/build/esm/core/utils/composeFullKey.js.map +1 -0
- package/build/esm/core/utils/composeKey.d.ts +2 -0
- package/build/esm/core/utils/composeKey.js +7 -0
- package/build/esm/core/utils/composeKey.js.map +1 -0
- package/build/esm/core/utils/getError.d.ts +3 -0
- package/build/esm/core/utils/getError.js +8 -0
- package/build/esm/core/utils/getError.js.map +1 -0
- package/build/esm/core/utils/getStatus.d.ts +4 -0
- package/build/esm/core/utils/getStatus.js +8 -0
- package/build/esm/core/utils/getStatus.js.map +1 -0
- package/build/esm/core/utils/hasTag.d.ts +2 -0
- package/build/esm/core/utils/hasTag.js +12 -0
- package/build/esm/core/utils/hasTag.js.map +1 -0
- package/build/esm/core/utils/mergeStatuses.d.ts +2 -0
- package/build/esm/core/utils/mergeStatuses.js +14 -0
- package/build/esm/core/utils/mergeStatuses.js.map +1 -0
- package/build/esm/core/utils/skipContext.d.ts +2 -0
- package/build/esm/core/utils/skipContext.js +9 -0
- package/build/esm/core/utils/skipContext.js.map +1 -0
- package/build/esm/core/utils/withCancellation.d.ts +9 -0
- package/build/esm/core/utils/withCancellation.js +19 -0
- package/build/esm/core/utils/withCancellation.js.map +1 -0
- package/build/esm/index.d.ts +3 -0
- package/build/esm/index.js +4 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/react/DataManagerContext.d.ts +3 -0
- package/build/esm/react/DataManagerContext.js +10 -0
- package/build/esm/react/DataManagerContext.js.map +1 -0
- package/build/esm/react/components/DataInfiniteLoader/DataInfiniteLoader.d.ts +3 -0
- package/build/esm/react/components/DataInfiniteLoader/DataInfiniteLoader.js +41 -0
- package/build/esm/react/components/DataInfiniteLoader/DataInfiniteLoader.js.map +1 -0
- package/build/esm/react/components/DataInfiniteLoader/index.d.ts +2 -0
- package/build/esm/react/components/DataInfiniteLoader/index.js +2 -0
- package/build/esm/react/components/DataInfiniteLoader/index.js.map +1 -0
- package/build/esm/react/components/DataInfiniteLoader/types.d.ts +19 -0
- package/build/esm/react/components/DataInfiniteLoader/types.js +2 -0
- package/build/esm/react/components/DataInfiniteLoader/types.js.map +1 -0
- package/build/esm/react/components/DataLoader/DataLoader.d.ts +3 -0
- package/build/esm/react/components/DataLoader/DataLoader.js +28 -0
- package/build/esm/react/components/DataLoader/DataLoader.js.map +1 -0
- package/build/esm/react/components/DataLoader/index.d.ts +2 -0
- package/build/esm/react/components/DataLoader/index.js +2 -0
- package/build/esm/react/components/DataLoader/index.js.map +1 -0
- package/build/esm/react/components/DataLoader/types.d.ts +11 -0
- package/build/esm/react/components/DataLoader/types.js +2 -0
- package/build/esm/react/components/DataLoader/types.js.map +1 -0
- package/build/esm/react/components/types.d.ts +9 -0
- package/build/esm/react/components/types.js +2 -0
- package/build/esm/react/components/types.js.map +1 -0
- package/build/esm/react/index.d.ts +5 -0
- package/build/esm/react/index.js +5 -0
- package/build/esm/react/index.js.map +1 -0
- package/build/esm/react/withDataManager.d.ts +6 -0
- package/build/esm/react/withDataManager.js +15 -0
- package/build/esm/react/withDataManager.js.map +1 -0
- package/build/esm/react-query/ClientDataManager.d.ts +15 -0
- package/build/esm/react-query/ClientDataManager.js +87 -0
- package/build/esm/react-query/ClientDataManager.js.map +1 -0
- package/build/esm/react-query/hooks/useQueryContext.d.ts +2 -0
- package/build/esm/react-query/hooks/useQueryContext.js +12 -0
- package/build/esm/react-query/hooks/useQueryContext.js.map +1 -0
- package/build/esm/react-query/hooks/useQueryData.d.ts +3 -0
- package/build/esm/react-query/hooks/useQueryData.js +20 -0
- package/build/esm/react-query/hooks/useQueryData.js.map +1 -0
- package/build/esm/react-query/hooks/useQueryResponses.d.ts +11 -0
- package/build/esm/react-query/hooks/useQueryResponses.js +12 -0
- package/build/esm/react-query/hooks/useQueryResponses.js.map +1 -0
- package/build/esm/react-query/hooks/useRefetchAll.d.ts +3 -0
- package/build/esm/react-query/hooks/useRefetchAll.js +15 -0
- package/build/esm/react-query/hooks/useRefetchAll.js.map +1 -0
- package/build/esm/react-query/hooks/useRefetchErrored.d.ts +4 -0
- package/build/esm/react-query/hooks/useRefetchErrored.js +18 -0
- package/build/esm/react-query/hooks/useRefetchErrored.js.map +1 -0
- package/build/esm/react-query/impl/infinite/factory.d.ts +2 -0
- package/build/esm/react-query/impl/infinite/factory.js +7 -0
- package/build/esm/react-query/impl/infinite/factory.js.map +1 -0
- package/build/esm/react-query/impl/infinite/hooks.d.ts +3 -0
- package/build/esm/react-query/impl/infinite/hooks.js +11 -0
- package/build/esm/react-query/impl/infinite/hooks.js.map +1 -0
- package/build/esm/react-query/impl/infinite/types.d.ts +18 -0
- package/build/esm/react-query/impl/infinite/types.js +2 -0
- package/build/esm/react-query/impl/infinite/types.js.map +1 -0
- package/build/esm/react-query/impl/infinite/utils.d.ts +5 -0
- package/build/esm/react-query/impl/infinite/utils.js +42 -0
- package/build/esm/react-query/impl/infinite/utils.js.map +1 -0
- package/build/esm/react-query/impl/plain/factory.d.ts +2 -0
- package/build/esm/react-query/impl/plain/factory.js +7 -0
- package/build/esm/react-query/impl/plain/factory.js.map +1 -0
- package/build/esm/react-query/impl/plain/hooks.d.ts +3 -0
- package/build/esm/react-query/impl/plain/hooks.js +11 -0
- package/build/esm/react-query/impl/plain/hooks.js.map +1 -0
- package/build/esm/react-query/impl/plain/types.d.ts +14 -0
- package/build/esm/react-query/impl/plain/types.js +2 -0
- package/build/esm/react-query/impl/plain/types.js.map +1 -0
- package/build/esm/react-query/impl/plain/utils.d.ts +5 -0
- package/build/esm/react-query/impl/plain/utils.js +21 -0
- package/build/esm/react-query/impl/plain/utils.js.map +1 -0
- package/build/esm/react-query/index.d.ts +15 -0
- package/build/esm/react-query/index.js +12 -0
- package/build/esm/react-query/index.js.map +1 -0
- package/build/esm/react-query/types.d.ts +7 -0
- package/build/esm/react-query/types.js +2 -0
- package/build/esm/react-query/types.js.map +1 -0
- package/build/esm/react-query/utils/normalizeStatus.d.ts +3 -0
- package/build/esm/react-query/utils/normalizeStatus.js +7 -0
- package/build/esm/react-query/utils/normalizeStatus.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useRefetchAll","exports","states","useCallback","forEach","_ref","refetch","map","_ref2"],"sources":["useRefetchAll.ts"],"sourcesContent":["import {useCallback} from 'react';\n\nexport const useRefetchAll = (states: {refetch: Function}[]) => {\n return useCallback(\n () => states.forEach(({refetch}) => refetch()),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n states.map(({refetch}) => refetch),\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,IAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAIE,MAA6B,EAAK;EAC5D,OAAO,IAAAC,kBAAW,EACd;IAAA,OAAMD,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAA;MAAA,IAAEC,OAAO,GAAAD,IAAA,CAAPC,OAAO;MAAA,OAAMA,OAAO,CAAC,CAAC;IAAA,EAAC;EAAA;EAC9C;EACAJ,MAAM,CAACK,GAAG,CAAC,UAAAC,KAAA;IAAA,IAAEF,OAAO,GAAAE,KAAA,CAAPF,OAAO;IAAA,OAAMA,OAAO;EAAA,EACrC,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useRefetchErrored = void 0;
|
|
7
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
var useRefetchErrored = exports.useRefetchErrored = function useRefetchErrored(states) {
|
|
11
|
+
return (0, _react.useCallback)(function () {
|
|
12
|
+
return states.forEach(function (_ref) {
|
|
13
|
+
var error = _ref.error,
|
|
14
|
+
refetch = _ref.refetch;
|
|
15
|
+
return error && refetch();
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
|
+
states.reduce(function (acc, _ref2) {
|
|
20
|
+
var error = _ref2.error,
|
|
21
|
+
refetch = _ref2.refetch;
|
|
22
|
+
return [].concat((0, _toConsumableArray2.default)(acc), [error, refetch]);
|
|
23
|
+
}, []));
|
|
24
|
+
};
|
|
25
|
+
// #sourceMappingURL=useRefetchErrored.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_interopRequireDefault","e","__esModule","default","useRefetchErrored","exports","states","useCallback","forEach","_ref","error","refetch","reduce","acc","_ref2","concat","_toConsumableArray"],"sources":["useRefetchErrored.ts"],"sourcesContent":["import type {DependencyList} from 'react';\nimport {useCallback} from 'react';\n\nexport const useRefetchErrored = <TError>(states: {error: TError | null; refetch: Function}[]) => {\n return useCallback(\n () => states.forEach(({error, refetch}) => error && refetch()),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n states.reduce<DependencyList>((acc, {error, refetch}) => [...acc, error, refetch], []),\n );\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAAiC,SAAAC,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,IAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAYE,MAAmD,EAAK;EAC9F,OAAO,IAAAC,kBAAW,EACd;IAAA,OAAMD,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAA;MAAA,IAAEC,KAAK,GAAAD,IAAA,CAALC,KAAK;QAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;MAAA,OAAMD,KAAK,IAAIC,OAAO,CAAC,CAAC;IAAA,EAAC;EAAA;EAC9D;EACAL,MAAM,CAACM,MAAM,CAAiB,UAACC,GAAG,EAAAC,KAAA;IAAA,IAAGJ,KAAK,GAAAI,KAAA,CAALJ,KAAK;MAAEC,OAAO,GAAAG,KAAA,CAAPH,OAAO;IAAA,UAAAI,MAAA,KAAAC,2BAAA,EAAUH,GAAG,IAAEH,KAAK,EAAEC,OAAO;EAAA,CAAC,EAAE,EAAE,CACzF,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { InfiniteQueryDataSource } from './types';
|
|
2
|
+
export declare const makeInfiniteQueryDataSource: <TParams, TRequest, TResponse, TData, TError>(config: Omit<InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>, "type">) => InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makeInfiniteQueryDataSource = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var makeInfiniteQueryDataSource = exports.makeInfiniteQueryDataSource = function makeInfiniteQueryDataSource(config) {
|
|
10
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, {
|
|
11
|
+
type: 'infinite'
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
// #sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makeInfiniteQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {InfiniteQueryDataSource} from './types';\n\nexport const makeInfiniteQueryDataSource = <TParams, TRequest, TResponse, TData, TError>(\n config: Omit<InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError>, 'type'>,\n): InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> => ({\n ...config,\n type: 'infinite',\n});\n"],"mappings":";;;;;;;;AAEO,IAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,SAA9BA,2BAA2BA,CACpCE,MAA0F;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAEvFD,MAAM;IACTE,IAAI,EAAE;EAAU;AAAA,CAClB","ignoreList":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DataSourceContext, DataSourceOptions, DataSourceParams } from '../../../core';
|
|
2
|
+
import type { AnyInfiniteQueryDataSource } from './types';
|
|
3
|
+
export declare const useInfiniteQueryData: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => import("../../../core").DataSourceState<TDataSource>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useInfiniteQueryData = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
9
|
+
var _utils = require("./utils");
|
|
10
|
+
var useInfiniteQueryData = exports.useInfiniteQueryData = function useInfiniteQueryData(context, dataSource, params, options) {
|
|
11
|
+
var composedOptions = (0, _utils.composeOptions)(context, dataSource, params, options);
|
|
12
|
+
var result = (0, _reactQuery.useInfiniteQuery)(composedOptions);
|
|
13
|
+
return (0, _react.useMemo)(function () {
|
|
14
|
+
return (0, _utils.transformResult)(result);
|
|
15
|
+
}, [result]);
|
|
16
|
+
};
|
|
17
|
+
// #sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactQuery","_utils","useInfiniteQueryData","exports","context","dataSource","params","options","composedOptions","composeOptions","result","useInfiniteQuery","useMemo","transformResult"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {useInfiniteQuery} from '@tanstack/react-query';\n\nimport type {DataSourceContext, DataSourceOptions, DataSourceParams} from '../../../core';\n\nimport type {AnyInfiniteQueryDataSource} from './types';\nimport {composeOptions, transformResult} from './utils';\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n) => {\n const composedOptions = composeOptions(context, dataSource, params, options);\n const result = useInfiniteQuery(composedOptions);\n\n return useMemo(() => transformResult(result), [result]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAEO,IAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EACvC;EACD,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMG,MAAM,GAAG,IAAAC,4BAAgB,EAACH,eAAe,CAAC;EAEhD,OAAO,IAAAI,cAAO,EAAC;IAAA,OAAM,IAAAC,sBAAe,EAACH,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;AAC3D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryFunctionContext } from '@tanstack/react-query';
|
|
2
|
+
import type { Overwrite } from 'utility-types';
|
|
3
|
+
import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
|
|
4
|
+
import type { QueryDataSourceContext } from '../../types';
|
|
5
|
+
export type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, InfiniteQueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>>, ResultWrapper<InfiniteQueryObserverResult<ActualData<TData, TResponse>, TError>>, QueryFunctionContext<DataSourceKey, TParams>> & {
|
|
6
|
+
type: 'infinite';
|
|
7
|
+
next: (lastPage: TResponse, allPages: TResponse[]) => Partial<TParams> | undefined;
|
|
8
|
+
prev?: (firstPage: TResponse, allPages: TResponse[]) => Partial<TParams> | undefined;
|
|
9
|
+
};
|
|
10
|
+
export type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;
|
|
11
|
+
type ResultWrapper<T> = T extends InfiniteQueryObserverResult<infer TData> ? Overwrite<T, {
|
|
12
|
+
status: DataLoaderStatus;
|
|
13
|
+
data: TData;
|
|
14
|
+
}> & {
|
|
15
|
+
originalStatus: T['status'];
|
|
16
|
+
originalData: T['data'];
|
|
17
|
+
} : never;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types';\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>>,\n ResultWrapper<InfiniteQueryObserverResult<ActualData<TData, TResponse>, TError>>,\n QueryFunctionContext<DataSourceKey, TParams>\n> & {\n type: 'infinite';\n next: (lastPage: TResponse, allPages: TResponse[]) => Partial<TParams> | undefined;\n prev?: (firstPage: TResponse, allPages: TResponse[]) => Partial<TParams> | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<T> =\n T extends InfiniteQueryObserverResult<infer TData>\n ? Overwrite<T, {status: DataLoaderStatus; data: TData}> & {\n originalStatus: T['status'];\n originalData: T['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InfiniteQueryObserverOptions, InfiniteQueryObserverResult } from '@tanstack/react-query';
|
|
2
|
+
import { type DataSourceContext, type DataSourceData, type DataSourceError, type DataSourceOptions, type DataSourceParams, type DataSourceResponse, type DataSourceState } from '../../../core';
|
|
3
|
+
import type { AnyInfiniteQueryDataSource } from './types';
|
|
4
|
+
export declare const composeOptions: <TDataSource extends AnyInfiniteQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => InfiniteQueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>>;
|
|
5
|
+
export declare const transformResult: <TDataSource extends AnyInfiniteQueryDataSource>(result: InfiniteQueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>) => DataSourceState<TDataSource>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.transformResult = exports.composeOptions = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _core = require("../../../core");
|
|
9
|
+
var _normalizeStatus = require("../../utils/normalizeStatus");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
var EMPTY_ARRAY = [];
|
|
12
|
+
var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
13
|
+
var transformParams = dataSource.transformParams,
|
|
14
|
+
transformResponse = dataSource.transformResponse,
|
|
15
|
+
next = dataSource.next,
|
|
16
|
+
prev = dataSource.prev;
|
|
17
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, dataSource.options), {}, {
|
|
18
|
+
enabled: params !== _core.idle,
|
|
19
|
+
queryKey: (0, _core.composeFullKey)(dataSource, params),
|
|
20
|
+
queryFn: function queryFn(fetchContext) {
|
|
21
|
+
var _fetchContext$pagePar;
|
|
22
|
+
var actualParams = (_fetchContext$pagePar = fetchContext.pageParam) !== null && _fetchContext$pagePar !== void 0 ? _fetchContext$pagePar : params;
|
|
23
|
+
return dataSource.fetch(context, fetchContext, transformParams ? transformParams(actualParams) : actualParams);
|
|
24
|
+
},
|
|
25
|
+
select: transformResponse ? function (data) {
|
|
26
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
|
27
|
+
pages: data.pages.map(transformResponse)
|
|
28
|
+
});
|
|
29
|
+
} : undefined,
|
|
30
|
+
getNextPageParam: function getNextPageParam(lastPage, allPages) {
|
|
31
|
+
var nextParamsPatch = next(lastPage, allPages);
|
|
32
|
+
return nextParamsPatch ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), nextParamsPatch) : undefined;
|
|
33
|
+
},
|
|
34
|
+
getPreviousPageParam: prev ? function (firstPage, allPages) {
|
|
35
|
+
var prevParamsPatch = prev(firstPage, allPages);
|
|
36
|
+
return prevParamsPatch ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), prevParamsPatch) : undefined;
|
|
37
|
+
} : undefined
|
|
38
|
+
}, options);
|
|
39
|
+
};
|
|
40
|
+
var transformResult = exports.transformResult = function transformResult(result) {
|
|
41
|
+
var _result$data$pages$fl, _result$data;
|
|
42
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
|
|
43
|
+
status: (0, _normalizeStatus.normalizeStatus)(result.status, result.fetchStatus),
|
|
44
|
+
data: (_result$data$pages$fl = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.pages.flat()) !== null && _result$data$pages$fl !== void 0 ? _result$data$pages$fl : EMPTY_ARRAY,
|
|
45
|
+
originalStatus: result.status,
|
|
46
|
+
originalData: result.data
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
// #sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_normalizeStatus","_interopRequireDefault","e","__esModule","default","EMPTY_ARRAY","composeOptions","exports","context","dataSource","params","options","transformParams","transformResponse","next","prev","_objectSpread","enabled","idle","queryKey","composeFullKey","queryFn","fetchContext","_fetchContext$pagePar","actualParams","pageParam","fetch","select","data","pages","map","undefined","getNextPageParam","lastPage","allPages","nextParamsPatch","getPreviousPageParam","firstPage","prevParamsPatch","transformResult","result","_result$data$pages$fl","_result$data","status","normalizeStatus","fetchStatus","flat","originalStatus","originalData"],"sources":["utils.ts"],"sourcesContent":["import type {\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n} from '@tanstack/react-query';\n\nimport {\n type DataSourceContext,\n type DataSourceData,\n type DataSourceError,\n type DataSourceKey,\n type DataSourceOptions,\n type DataSourceParams,\n type DataSourceResponse,\n type DataSourceState,\n composeFullKey,\n idle,\n} from '../../../core';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyInfiniteQueryDataSource} from './types';\n\nconst EMPTY_ARRAY: unknown[] = [];\n\nexport const composeOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>\n> => {\n const {transformParams, transformResponse, next, prev} = dataSource;\n\n return {\n ...dataSource.options,\n enabled: params !== idle,\n queryKey: composeFullKey(dataSource, params),\n queryFn: (\n fetchContext: QueryFunctionContext<DataSourceKey, DataSourceParams<TDataSource>>,\n ) => {\n const actualParams = fetchContext.pageParam ?? params;\n\n return dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(actualParams) : actualParams,\n );\n },\n select: transformResponse\n ? (data) => ({...data, pages: data.pages.map(transformResponse)})\n : undefined,\n getNextPageParam: (lastPage, allPages) => {\n const nextParamsPatch = next(lastPage, allPages);\n\n return nextParamsPatch ? {...params, ...nextParamsPatch} : undefined;\n },\n getPreviousPageParam: prev\n ? (firstPage, allPages) => {\n const prevParamsPatch = prev(firstPage, allPages);\n\n return prevParamsPatch ? {...params, ...prevParamsPatch} : undefined;\n }\n : undefined,\n ...options,\n };\n};\n\nexport const transformResult = <TDataSource extends AnyInfiniteQueryDataSource>(\n result: InfiniteQueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>,\n) => {\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n data: result.data?.pages.flat() ?? EMPTY_ARRAY,\n originalStatus: result.status,\n originalData: result.data,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AAYA,IAAAC,gBAAA,GAAAD,OAAA;AAA2D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI3D,IAAMG,WAAsB,GAAG,EAAE;AAE1B,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EAMvC;EACD,IAAOC,eAAe,GAAmCH,UAAU,CAA5DG,eAAe;IAAEC,iBAAiB,GAAgBJ,UAAU,CAA3CI,iBAAiB;IAAEC,IAAI,GAAUL,UAAU,CAAxBK,IAAI;IAAEC,IAAI,GAAIN,UAAU,CAAlBM,IAAI;EAErD,WAAAC,sBAAA,MAAAA,sBAAA,MACOP,UAAU,CAACE,OAAO;IACrBM,OAAO,EAAEP,MAAM,KAAKQ,UAAI;IACxBC,QAAQ,EAAE,IAAAC,oBAAc,EAACX,UAAU,EAAEC,MAAM,CAAC;IAC5CW,OAAO,EAAE,SAATA,OAAOA,CACHC,YAAgF,EAC/E;MAAA,IAAAC,qBAAA;MACD,IAAMC,YAAY,IAAAD,qBAAA,GAAGD,YAAY,CAACG,SAAS,cAAAF,qBAAA,cAAAA,qBAAA,GAAIb,MAAM;MAErD,OAAOD,UAAU,CAACiB,KAAK,CACnBlB,OAAO,EACPc,YAAY,EACZV,eAAe,GAAGA,eAAe,CAACY,YAAY,CAAC,GAAGA,YACtD,CAAC;IACL,CAAC;IACDG,MAAM,EAAEd,iBAAiB,GACnB,UAACe,IAAI;MAAA,WAAAZ,sBAAA,MAAAA,sBAAA,MAAUY,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAACjB,iBAAiB;MAAC;IAAA,CAAE,GAC/DkB,SAAS;IACfC,gBAAgB,EAAE,SAAlBA,gBAAgBA,CAAGC,QAAQ,EAAEC,QAAQ,EAAK;MACtC,IAAMC,eAAe,GAAGrB,IAAI,CAACmB,QAAQ,EAAEC,QAAQ,CAAC;MAEhD,OAAOC,eAAe,OAAAnB,sBAAA,MAAAA,sBAAA,MAAON,MAAM,GAAKyB,eAAe,IAAIJ,SAAS;IACxE,CAAC;IACDK,oBAAoB,EAAErB,IAAI,GACpB,UAACsB,SAAS,EAAEH,QAAQ,EAAK;MACrB,IAAMI,eAAe,GAAGvB,IAAI,CAACsB,SAAS,EAAEH,QAAQ,CAAC;MAEjD,OAAOI,eAAe,OAAAtB,sBAAA,MAAAA,sBAAA,MAAON,MAAM,GAAK4B,eAAe,IAAIP,SAAS;IACxE,CAAC,GACDA;EAAS,GACZpB,OAAO;AAElB,CAAC;AAEM,IAAM4B,eAAe,GAAAhC,OAAA,CAAAgC,eAAA,GAAG,SAAlBA,eAAeA,CACxBC,MAA8F,EAC7F;EAAA,IAAAC,qBAAA,EAAAC,YAAA;EACD,WAAA1B,sBAAA,MAAAA,sBAAA,MACOwB,MAAM;IACTG,MAAM,EAAE,IAAAC,gCAAe,EAACJ,MAAM,CAACG,MAAM,EAAEH,MAAM,CAACK,WAAW,CAAC;IAC1DjB,IAAI,GAAAa,qBAAA,IAAAC,YAAA,GAAEF,MAAM,CAACZ,IAAI,cAAAc,YAAA,uBAAXA,YAAA,CAAab,KAAK,CAACiB,IAAI,CAAC,CAAC,cAAAL,qBAAA,cAAAA,qBAAA,GAAIpC,WAAW;IAC9C0C,cAAc,EAAEP,MAAM,CAACG,MAAM;IAC7BK,YAAY,EAAER,MAAM,CAACZ;EAAI;AAEjC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,2 @@
|
|
|
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>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.makePlainQueryDataSource = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
var makePlainQueryDataSource = exports.makePlainQueryDataSource = function makePlainQueryDataSource(config) {
|
|
10
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, config), {}, {
|
|
11
|
+
type: 'plain'
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
// #sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["makePlainQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {PlainQueryDataSource} from './types';\n\nexport const makePlainQueryDataSource = <TParams, TRequest, TResponse, TData, TError>(\n config: Omit<PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError>, 'type'>,\n): PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> => ({\n ...config,\n type: 'plain',\n});\n"],"mappings":";;;;;;;;AAEO,IAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,SAA3BA,wBAAwBA,CACjCE,MAAuF;EAAA,WAAAC,sBAAA,MAAAA,sBAAA,MAEpFD,MAAM;IACTE,IAAI,EAAE;EAAO;AAAA,CACf","ignoreList":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DataSourceContext, DataSourceOptions, DataSourceParams } from '../../../core';
|
|
2
|
+
import type { AnyPlainQueryDataSource } from './types';
|
|
3
|
+
export declare const usePlainQueryData: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => import("../../../core").DataSourceState<TDataSource>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.usePlainQueryData = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
9
|
+
var _utils = require("./utils");
|
|
10
|
+
var usePlainQueryData = exports.usePlainQueryData = function usePlainQueryData(context, dataSource, params, options) {
|
|
11
|
+
var composedOptions = (0, _utils.composeOptions)(context, dataSource, params, options);
|
|
12
|
+
var result = (0, _reactQuery.useQuery)(composedOptions);
|
|
13
|
+
return (0, _react.useMemo)(function () {
|
|
14
|
+
return (0, _utils.transformResult)(result);
|
|
15
|
+
}, [result]);
|
|
16
|
+
};
|
|
17
|
+
// #sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactQuery","_utils","usePlainQueryData","exports","context","dataSource","params","options","composedOptions","composeOptions","result","useQuery","useMemo","transformResult"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {useQuery} from '@tanstack/react-query';\n\nimport type {DataSourceContext, DataSourceOptions, DataSourceParams} from '../../../core';\n\nimport type {AnyPlainQueryDataSource} from './types';\nimport {composeOptions, transformResult} from './utils';\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n) => {\n const composedOptions = composeOptions(context, dataSource, params, options);\n const result = useQuery(composedOptions);\n\n return useMemo(() => transformResult(result), [result]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAEO,IAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EACvC;EACD,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMG,MAAM,GAAG,IAAAC,oBAAQ,EAACH,eAAe,CAAC;EAExC,OAAO,IAAAI,cAAO,EAAC;IAAA,OAAM,IAAAC,sBAAe,EAACH,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;AAC3D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { QueryFunctionContext, QueryObserverOptions, QueryObserverResult } from '@tanstack/react-query';
|
|
2
|
+
import type { Overwrite } from 'utility-types';
|
|
3
|
+
import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
|
|
4
|
+
import type { QueryDataSourceContext } from '../../types';
|
|
5
|
+
export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, QueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>>, ResultWrapper<QueryObserverResult<ActualData<TData, TResponse>, TError>>, QueryFunctionContext<DataSourceKey, unknown>> & {
|
|
6
|
+
type: 'plain';
|
|
7
|
+
};
|
|
8
|
+
export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;
|
|
9
|
+
type ResultWrapper<T> = T extends QueryObserverResult ? Overwrite<T, {
|
|
10
|
+
status: DataLoaderStatus;
|
|
11
|
+
}> & {
|
|
12
|
+
originalStatus: T['status'];
|
|
13
|
+
} : never;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n QueryFunctionContext,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types';\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverOptions<TResponse, TError, ActualData<TData, TResponse>>,\n ResultWrapper<QueryObserverResult<ActualData<TData, TResponse>, TError>>,\n QueryFunctionContext<DataSourceKey, unknown>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<T> = T extends QueryObserverResult\n ? Overwrite<T, {status: DataLoaderStatus}> & {originalStatus: T['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { QueryObserverOptions, QueryObserverResult } from '@tanstack/react-query';
|
|
2
|
+
import type { DataSourceContext, DataSourceData, DataSourceError, DataSourceOptions, DataSourceParams, DataSourceResponse, DataSourceState } from '../../../core';
|
|
3
|
+
import type { AnyPlainQueryDataSource } from './types';
|
|
4
|
+
export declare const composeOptions: <TDataSource extends AnyPlainQueryDataSource>(context: DataSourceContext<TDataSource>, dataSource: TDataSource, params: DataSourceParams<TDataSource>, options?: DataSourceOptions<TDataSource>) => QueryObserverOptions<DataSourceResponse<TDataSource>, DataSourceError<TDataSource>, DataSourceData<TDataSource>, DataSourceResponse<TDataSource>>;
|
|
5
|
+
export declare const transformResult: <TDataSource extends AnyPlainQueryDataSource>(result: QueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>) => DataSourceState<TDataSource>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.transformResult = exports.composeOptions = void 0;
|
|
7
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _core = require("../../../core");
|
|
9
|
+
var _normalizeStatus = require("../../utils/normalizeStatus");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
12
|
+
var transformParams = dataSource.transformParams;
|
|
13
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, dataSource.options), {}, {
|
|
14
|
+
enabled: params !== _core.idle,
|
|
15
|
+
queryKey: (0, _core.composeFullKey)(dataSource, params),
|
|
16
|
+
queryFn: function queryFn(fetchContext) {
|
|
17
|
+
return dataSource.fetch(context, fetchContext, transformParams ? transformParams(params) : params);
|
|
18
|
+
},
|
|
19
|
+
select: dataSource.transformResponse
|
|
20
|
+
}, options);
|
|
21
|
+
};
|
|
22
|
+
var transformResult = exports.transformResult = function transformResult(result) {
|
|
23
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, result), {}, {
|
|
24
|
+
status: (0, _normalizeStatus.normalizeStatus)(result.status, result.fetchStatus),
|
|
25
|
+
originalStatus: result.status
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
// #sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","_normalizeStatus","_interopRequireDefault","e","__esModule","default","composeOptions","exports","context","dataSource","params","options","transformParams","_objectSpread","enabled","idle","queryKey","composeFullKey","queryFn","fetchContext","fetch","select","transformResponse","transformResult","result","status","normalizeStatus","fetchStatus","originalStatus"],"sources":["utils.ts"],"sourcesContent":["import type {\n QueryFunctionContext,\n QueryObserverOptions,\n QueryObserverResult,\n} 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 DataSourceState,\n} from '../../../core';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyPlainQueryDataSource} from './types';\n\nexport const composeOptions = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: DataSourceOptions<TDataSource>,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>\n> => {\n const {transformParams} = dataSource;\n\n return {\n ...dataSource.options,\n enabled: params !== idle,\n queryKey: composeFullKey(dataSource, params),\n queryFn: (fetchContext: QueryFunctionContext<DataSourceKey, unknown>) =>\n dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n ),\n select: dataSource.transformResponse,\n ...options,\n };\n};\n\nexport const transformResult = <TDataSource extends AnyPlainQueryDataSource>(\n result: QueryObserverResult<DataSourceData<TDataSource>, DataSourceError<TDataSource>>,\n) => {\n return {\n ...result,\n status: normalizeStatus(result.status, result.fetchStatus),\n originalStatus: result.status,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;AAMA,IAAAA,KAAA,GAAAC,OAAA;AAWA,IAAAC,gBAAA,GAAAD,OAAA;AAA2D,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIpD,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAwC,EAMvC;EACD,IAAOC,eAAe,GAAIH,UAAU,CAA7BG,eAAe;EAEtB,WAAAC,sBAAA,MAAAA,sBAAA,MACOJ,UAAU,CAACE,OAAO;IACrBG,OAAO,EAAEJ,MAAM,KAAKK,UAAI;IACxBC,QAAQ,EAAE,IAAAC,oBAAc,EAACR,UAAU,EAAEC,MAAM,CAAC;IAC5CQ,OAAO,EAAE,SAATA,OAAOA,CAAGC,YAA0D;MAAA,OAChEV,UAAU,CAACW,KAAK,CACZZ,OAAO,EACPW,YAAY,EACZP,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;IAAA;IACLW,MAAM,EAAEZ,UAAU,CAACa;EAAiB,GACjCX,OAAO;AAElB,CAAC;AAEM,IAAMY,eAAe,GAAAhB,OAAA,CAAAgB,eAAA,GAAG,SAAlBA,eAAeA,CACxBC,MAAsF,EACrF;EACD,WAAAX,sBAAA,MAAAA,sBAAA,MACOW,MAAM;IACTC,MAAM,EAAE,IAAAC,gCAAe,EAACF,MAAM,CAACC,MAAM,EAAED,MAAM,CAACG,WAAW,CAAC;IAC1DC,cAAc,EAAEJ,MAAM,CAACC;EAAM;AAErC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type { QueryDataSourceContext, AnyQueryDataSource } from './types';
|
|
2
|
+
export { useQueryContext } from './hooks/useQueryContext';
|
|
3
|
+
export { useQueryData } from './hooks/useQueryData';
|
|
4
|
+
export { useQueryResponses } from './hooks/useQueryResponses';
|
|
5
|
+
export { useRefetchAll } from './hooks/useRefetchAll';
|
|
6
|
+
export { useRefetchErrored } from './hooks/useRefetchErrored';
|
|
7
|
+
export type { InfiniteQueryDataSource, AnyInfiniteQueryDataSource } from './impl/infinite/types';
|
|
8
|
+
export { makeInfiniteQueryDataSource } from './impl/infinite/factory';
|
|
9
|
+
export { composeOptions as composeInfiniteQueryOptions } from './impl/infinite/utils';
|
|
10
|
+
export type { PlainQueryDataSource, AnyPlainQueryDataSource } from './impl/plain/types';
|
|
11
|
+
export { makePlainQueryDataSource } from './impl/plain/factory';
|
|
12
|
+
export { composeOptions as composePlainQueryOptions } from './impl/plain/utils';
|
|
13
|
+
export { normalizeStatus } from './utils/normalizeStatus';
|
|
14
|
+
export type { ClientDataManagerConfig } from './ClientDataManager';
|
|
15
|
+
export { ClientDataManager } from './ClientDataManager';
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ClientDataManager", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _ClientDataManager.ClientDataManager;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "composeInfiniteQueryOptions", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _utils.composeOptions;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "composePlainQueryOptions", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _utils2.composeOptions;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "makeInfiniteQueryDataSource", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _factory.makeInfiniteQueryDataSource;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "makePlainQueryDataSource", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _factory2.makePlainQueryDataSource;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "normalizeStatus", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _normalizeStatus.normalizeStatus;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "useQueryContext", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _useQueryContext.useQueryContext;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "useQueryData", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _useQueryData.useQueryData;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "useQueryResponses", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _useQueryResponses.useQueryResponses;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "useRefetchAll", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _useRefetchAll.useRefetchAll;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "useRefetchErrored", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _useRefetchErrored.useRefetchErrored;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
var _useQueryContext = require("./hooks/useQueryContext");
|
|
73
|
+
var _useQueryData = require("./hooks/useQueryData");
|
|
74
|
+
var _useQueryResponses = require("./hooks/useQueryResponses");
|
|
75
|
+
var _useRefetchAll = require("./hooks/useRefetchAll");
|
|
76
|
+
var _useRefetchErrored = require("./hooks/useRefetchErrored");
|
|
77
|
+
var _factory = require("./impl/infinite/factory");
|
|
78
|
+
var _utils = require("./impl/infinite/utils");
|
|
79
|
+
var _factory2 = require("./impl/plain/factory");
|
|
80
|
+
var _utils2 = require("./impl/plain/utils");
|
|
81
|
+
var _normalizeStatus = require("./utils/normalizeStatus");
|
|
82
|
+
var _ClientDataManager = require("./ClientDataManager");
|
|
83
|
+
// #sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_useQueryContext","require","_useQueryData","_useQueryResponses","_useRefetchAll","_useRefetchErrored","_factory","_utils","_factory2","_utils2","_normalizeStatus","_ClientDataManager"],"sources":["index.ts"],"sourcesContent":["export type {QueryDataSourceContext, AnyQueryDataSource} 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';\n\nexport type {ClientDataManagerConfig} from './ClientDataManager';\nexport {ClientDataManager} from './ClientDataManager';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,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;AAGA,IAAAU,kBAAA,GAAAV,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { QueryClient } from '@tanstack/react-query';
|
|
2
|
+
import type { AnyInfiniteQueryDataSource } from './impl/infinite/types';
|
|
3
|
+
import type { AnyPlainQueryDataSource } from './impl/plain/types';
|
|
4
|
+
export interface QueryDataSourceContext {
|
|
5
|
+
queryClient: QueryClient;
|
|
6
|
+
}
|
|
7
|
+
export type AnyQueryDataSource = AnyPlainQueryDataSource | AnyInfiniteQueryDataSource;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["types.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,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.normalizeStatus = void 0;
|
|
7
|
+
var normalizeStatus = exports.normalizeStatus = function normalizeStatus(status, fetchStatus) {
|
|
8
|
+
if (status === 'loading' && fetchStatus === 'idle') {
|
|
9
|
+
return 'success';
|
|
10
|
+
}
|
|
11
|
+
return status;
|
|
12
|
+
};
|
|
13
|
+
// #sourceMappingURL=normalizeStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["normalizeStatus","exports","status","fetchStatus"],"sources":["normalizeStatus.ts"],"sourcesContent":["import type {FetchStatus, QueryStatus} from '@tanstack/react-query';\n\nimport type {DataLoaderStatus} from '../../core';\n\nexport const normalizeStatus = (\n status: QueryStatus,\n fetchStatus: FetchStatus,\n): DataLoaderStatus => {\n if (status === 'loading' && fetchStatus === 'idle') {\n return 'success';\n }\n\n return status;\n};\n"],"mappings":";;;;;;AAIO,IAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG,SAAlBA,eAAeA,CACxBE,MAAmB,EACnBC,WAAwB,EACL;EACnB,IAAID,MAAM,KAAK,SAAS,IAAIC,WAAW,KAAK,MAAM,EAAE;IAChD,OAAO,SAAS;EACpB;EAEA,OAAOD,MAAM;AACjB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const idle: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["idle","Symbol"],"sources":["constants.ts"],"sourcesContent":["export const idle = Symbol('idle');\n"],"mappings":"AAAA,OAAO,IAAMA,IAAI,GAAGC,MAAM,CAAC,MAAM,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type { DataSourceKey, DataSourceTag, DataSource, AnyDataSource, DataSourceContext, DataSourceParams, DataSourceRequest, DataSourceResponse, DataSourceData, DataSourceError, DataSourceOptions, DataSourceState, DataSourceFetchContext, ActualParams, ActualData, } from './types/DataSource';
|
|
2
|
+
export type { DataManager } from './types/DataManger';
|
|
3
|
+
export type { DataLoaderStatus } from './types/DataLoaderStatus';
|
|
4
|
+
export { idle } from './constants';
|
|
5
|
+
export { composeKey } from './utils/composeKey';
|
|
6
|
+
export { composeFullKey } from './utils/composeFullKey';
|
|
7
|
+
export { getError } from './utils/getError';
|
|
8
|
+
export { getStatus } from './utils/getStatus';
|
|
9
|
+
export { hasTag } from './utils/hasTag';
|
|
10
|
+
export { mergeStatuses } from './utils/mergeStatuses';
|
|
11
|
+
export { skipContext } from './utils/skipContext';
|
|
12
|
+
export type { Cancellable } from './utils/withCancellation';
|
|
13
|
+
export { isCancellable, isAbortable, withCancellation } from './utils/withCancellation';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { idle } from './constants';
|
|
2
|
+
export { composeKey } from './utils/composeKey';
|
|
3
|
+
export { composeFullKey } from './utils/composeFullKey';
|
|
4
|
+
export { getError } from './utils/getError';
|
|
5
|
+
export { getStatus } from './utils/getStatus';
|
|
6
|
+
export { hasTag } from './utils/hasTag';
|
|
7
|
+
export { mergeStatuses } from './utils/mergeStatuses';
|
|
8
|
+
export { skipContext } from './utils/skipContext';
|
|
9
|
+
export { isCancellable, isAbortable, withCancellation } from './utils/withCancellation';
|
|
10
|
+
// #sourceMappingURL=index.js.map
|
|
@@ -0,0 +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":"AAoBA,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
|
+
export type DataLoaderStatus = 'loading' | 'success' | 'error';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["DataLoaderStatus.ts"],"sourcesContent":["export type DataLoaderStatus = 'loading' | 'success' | 'error';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AnyDataSource, DataSourceParams, DataSourceTag } from './DataSource';
|
|
2
|
+
export interface DataManager {
|
|
3
|
+
invalidateTag(tag: DataSourceTag): Promise<void>;
|
|
4
|
+
invalidateTags(tags: DataSourceTag[]): Promise<void>;
|
|
5
|
+
invalidateSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
|
|
6
|
+
resetSource<TDataSource extends AnyDataSource>(dataSource: TDataSource): Promise<void>;
|
|
7
|
+
invalidateParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
|
|
8
|
+
resetParams<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
|
|
9
|
+
invalidateSourceTags<TDataSource extends AnyDataSource>(dataSource: TDataSource, params: DataSourceParams<TDataSource>): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { idle } from '../constants';
|
|
2
|
+
export type DataSourceKey = readonly unknown[];
|
|
3
|
+
export type DataSourceTag = string;
|
|
4
|
+
declare const errorHintSymbol: unique symbol;
|
|
5
|
+
declare const stateHintSymbol: unique symbol;
|
|
6
|
+
export interface DataSource<TContext, TParams, TRequest, TResponse, TData, TError, TOptions, TState, TFetchContext> {
|
|
7
|
+
readonly name: string;
|
|
8
|
+
fetch: (context: TContext, fetchContext: TFetchContext, request: TRequest) => Promise<TResponse> | TResponse;
|
|
9
|
+
tags?: (params: ActualParams<this, TParams, TRequest>) => DataSourceTag[];
|
|
10
|
+
transformParams?: (params: TParams) => TRequest;
|
|
11
|
+
transformResponse?: (response: TResponse) => TData;
|
|
12
|
+
[errorHintSymbol]?: TError;
|
|
13
|
+
options?: TOptions;
|
|
14
|
+
[stateHintSymbol]?: TState;
|
|
15
|
+
}
|
|
16
|
+
export type AnyDataSource = DataSource<any, any, any, any, any, any, any, any, any>;
|
|
17
|
+
export type DataSourceContext<TDataSource> = TDataSource extends DataSource<infer TContext, infer _TParams, infer _TRequest, infer _TResponse, infer _TData, infer _TError, infer _TOptions, infer _TState, infer _TFetchContext> ? TContext : never;
|
|
18
|
+
export type DataSourceParams<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer TParams, infer TRequest, infer _TResponse, infer _TData, infer _TError, infer _TOptions, infer _TState, infer _TFetchContext> ? ActualParams<TDataSource, TParams, TRequest> : never;
|
|
19
|
+
export type DataSourceRequest<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer TRequest, infer _TResponse, infer _TData, infer _TError, infer _TOptions, infer _TState, infer _TFetchContext> ? TRequest : never;
|
|
20
|
+
export type DataSourceResponse<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer _TRequest, infer TResponse, infer _TData, infer _TError, infer _TOptions, infer _TState, infer _TFetchContext> ? TResponse : never;
|
|
21
|
+
export type DataSourceData<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer _TRequest, infer TResponse, infer TData, infer _TError, infer _TOptions, infer _TState, infer _TFetchContext> ? ActualData<TData, TResponse> : never;
|
|
22
|
+
export type DataSourceError<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer _TRequest, infer _TResponse, infer _TData, infer TError, infer _TOptions, infer _TState, infer _TFetchContext> ? TError : never;
|
|
23
|
+
export type DataSourceOptions<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer _TRequest, infer _TResponse, infer _TData, infer _TError, infer TOptions, infer _TState, infer _TFetchContext> ? TOptions : never;
|
|
24
|
+
export type DataSourceState<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer _TRequest, infer _TResponse, infer _TData, infer _TError, infer _TOptions, infer TState, infer _TFetchContext> ? TState : never;
|
|
25
|
+
export type DataSourceFetchContext<TDataSource> = TDataSource extends DataSource<infer _TContenxt, infer _TParams, infer _TRequest, infer _TResponse, infer _TData, infer _TError, infer _TOptions, infer _TState, infer TFetchContext> ? TFetchContext : never;
|
|
26
|
+
export type ActualParams<TDataSource extends AnyDataSource, TParams, TRequest> = (unknown extends TParams ? TRequest : undefined extends TDataSource['transformParams'] ? TRequest : TParams) | typeof idle;
|
|
27
|
+
export type ActualData<TData, TResponse> = unknown extends TData ? TResponse : TData;
|
|
28
|
+
export {};
|