@gravity-ui/data-source 0.6.1 → 0.8.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/README.md +752 -15
- package/build/cjs/core/index.d.ts +3 -1
- package/build/cjs/core/index.js +7 -0
- package/build/cjs/core/index.js.map +1 -1
- package/build/cjs/core/types/DataManager.d.ts +5 -0
- package/build/cjs/core/types/DataManager.js.map +1 -1
- package/build/cjs/core/types/DataSource.d.ts +15 -19
- package/build/cjs/core/types/DataSource.js.map +1 -1
- package/build/cjs/core/types/Normalizer.d.ts +29 -0
- package/build/cjs/core/types/Normalizer.js +6 -0
- package/build/cjs/core/types/Normalizer.js.map +1 -0
- package/build/cjs/core/utils/__tests__/composeFullKey.test.js +34 -0
- package/build/cjs/core/utils/__tests__/composeFullKey.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/composeKey.test.js +32 -0
- package/build/cjs/core/utils/__tests__/composeKey.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/getError.test.js +31 -0
- package/build/cjs/core/utils/__tests__/getError.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/getStatus.test.js +49 -0
- package/build/cjs/core/utils/__tests__/getStatus.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/hasTag.test.js +31 -0
- package/build/cjs/core/utils/__tests__/hasTag.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/mergeStatuses.test.js +25 -0
- package/build/cjs/core/utils/__tests__/mergeStatuses.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/skipContext.test.js +70 -0
- package/build/cjs/core/utils/__tests__/skipContext.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/withCancellation.test.js +106 -0
- package/build/cjs/core/utils/__tests__/withCancellation.test.js.map +1 -0
- package/build/cjs/core/utils/__tests__/withCatch.test.js +208 -0
- package/build/cjs/core/utils/__tests__/withCatch.test.js.map +1 -0
- package/build/cjs/core/utils/withCatch.d.ts +26 -0
- package/build/cjs/core/utils/withCatch.js +37 -0
- package/build/cjs/core/utils/withCatch.js.map +1 -0
- package/build/cjs/react/DataManagerProvider.d.ts +7 -0
- package/build/cjs/react/DataManagerProvider.js +19 -0
- package/build/cjs/react/DataManagerProvider.js.map +1 -0
- package/build/cjs/react/__tests__/DataManagerContext.test.js +47 -0
- package/build/cjs/react/__tests__/DataManagerContext.test.js.map +1 -0
- package/build/cjs/react/__tests__/withDataManager.test.js +61 -0
- package/build/cjs/react/__tests__/withDataManager.test.js.map +1 -0
- package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +187 -0
- package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +1 -0
- package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js +119 -0
- package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js.map +1 -0
- package/build/cjs/react/index.d.ts +2 -0
- package/build/cjs/react/index.js +8 -0
- package/build/cjs/react/index.js.map +1 -1
- package/build/cjs/react/withDataManager.d.ts +1 -1
- package/build/cjs/react/withDataManager.js +3 -3
- package/build/cjs/react/withDataManager.js.map +1 -1
- package/build/cjs/react-query/ClientDataManager.d.ts +11 -2
- package/build/cjs/react-query/ClientDataManager.js +76 -9
- package/build/cjs/react-query/ClientDataManager.js.map +1 -1
- package/build/cjs/react-query/DataSourceProvider.d.ts +7 -0
- package/build/cjs/react-query/DataSourceProvider.js +35 -0
- package/build/cjs/react-query/DataSourceProvider.js.map +1 -0
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js +177 -0
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js +100 -0
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/subscriptions.test.js +1180 -0
- package/build/cjs/react-query/__tests__/subscriptions.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +514 -0
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +1 -0
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js +229 -0
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js.map +1 -0
- package/build/cjs/react-query/constants.d.ts +2 -0
- package/build/cjs/react-query/constants.js +9 -0
- package/build/cjs/react-query/constants.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js +55 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +195 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js +97 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js +77 -0
- package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js +79 -0
- package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js +117 -0
- package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js.map +1 -0
- package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js +156 -0
- package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js.map +1 -0
- package/build/cjs/react-query/hooks/useRefetchInterval.d.ts +1 -1
- package/build/cjs/react-query/impl/infinite/factory.d.ts +1 -1
- package/build/cjs/react-query/impl/infinite/factory.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/hooks.js +4 -1
- package/build/cjs/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/types.d.ts +9 -9
- package/build/cjs/react-query/impl/infinite/types.js.map +1 -1
- package/build/cjs/react-query/impl/infinite/utils.js +11 -22
- package/build/cjs/react-query/impl/infinite/utils.js.map +1 -1
- package/build/cjs/react-query/impl/plain/factory.d.ts +1 -1
- package/build/cjs/react-query/impl/plain/factory.js.map +1 -1
- package/build/cjs/react-query/impl/plain/hooks.js +4 -1
- package/build/cjs/react-query/impl/plain/hooks.js.map +1 -1
- package/build/cjs/react-query/impl/plain/types.d.ts +6 -6
- package/build/cjs/react-query/impl/plain/types.js.map +1 -1
- package/build/cjs/react-query/impl/plain/utils.js +12 -23
- package/build/cjs/react-query/impl/plain/utils.js.map +1 -1
- package/build/cjs/react-query/index.d.ts +2 -0
- 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/normalizer.d.ts +21 -0
- package/build/cjs/react-query/types/normalizer.js +6 -0
- package/build/cjs/react-query/types/normalizer.js.map +1 -0
- package/build/cjs/react-query/types/options.d.ts +12 -0
- package/build/cjs/react-query/types/options.js.map +1 -1
- package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js +27 -0
- package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js.map +1 -0
- package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js +76 -0
- package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +1 -0
- package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js +30 -0
- package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js.map +1 -0
- package/build/cjs/react-query/utils/__tests__/notReachable.test.js +35 -0
- package/build/cjs/react-query/utils/__tests__/notReachable.test.js.map +1 -0
- package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js +27 -0
- package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js.map +1 -0
- package/build/cjs/react-query/utils/formatNullableValue.d.ts +2 -0
- package/build/cjs/react-query/utils/formatNullableValue.js +17 -0
- package/build/cjs/react-query/utils/formatNullableValue.js.map +1 -0
- package/build/cjs/react-query/utils/getProgressiveRefetch.d.ts +2 -2
- package/build/cjs/react-query/utils/normalize.d.ts +22 -0
- package/build/cjs/react-query/utils/normalize.js +150 -0
- package/build/cjs/react-query/utils/normalize.js.map +1 -0
- package/build/cjs/react-query/utils/parseNullableValue.d.ts +2 -0
- package/build/cjs/react-query/utils/parseNullableValue.js +17 -0
- package/build/cjs/react-query/utils/parseNullableValue.js.map +1 -0
- package/build/cjs/react-query/utils/warn.d.ts +1 -0
- package/build/cjs/react-query/utils/warn.js +15 -0
- package/build/cjs/react-query/utils/warn.js.map +1 -0
- package/build/cjs/react-query/utils/warnDisabledRefetch.d.ts +1 -0
- package/build/cjs/react-query/utils/warnDisabledRefetch.js +11 -0
- package/build/cjs/react-query/utils/warnDisabledRefetch.js.map +1 -0
- package/build/cjs/setupTests.d.ts +1 -0
- package/build/cjs/setupTests.js +4 -0
- package/build/cjs/setupTests.js.map +1 -0
- package/build/esm/core/index.d.ts +3 -1
- package/build/esm/core/index.js +1 -0
- package/build/esm/core/index.js.map +1 -1
- package/build/esm/core/types/DataManager.d.ts +5 -0
- package/build/esm/core/types/DataManager.js.map +1 -1
- package/build/esm/core/types/DataSource.d.ts +15 -19
- package/build/esm/core/types/DataSource.js.map +1 -1
- package/build/esm/core/types/Normalizer.d.ts +29 -0
- package/build/esm/core/types/Normalizer.js +2 -0
- package/build/esm/core/types/Normalizer.js.map +1 -0
- package/build/esm/core/utils/__tests__/composeFullKey.test.js +32 -0
- package/build/esm/core/utils/__tests__/composeFullKey.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/composeKey.test.js +30 -0
- package/build/esm/core/utils/__tests__/composeKey.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/getError.test.js +29 -0
- package/build/esm/core/utils/__tests__/getError.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/getStatus.test.js +47 -0
- package/build/esm/core/utils/__tests__/getStatus.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/hasTag.test.js +29 -0
- package/build/esm/core/utils/__tests__/hasTag.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/mergeStatuses.test.js +23 -0
- package/build/esm/core/utils/__tests__/mergeStatuses.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/skipContext.test.js +67 -0
- package/build/esm/core/utils/__tests__/skipContext.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/withCancellation.test.js +104 -0
- package/build/esm/core/utils/__tests__/withCancellation.test.js.map +1 -0
- package/build/esm/core/utils/__tests__/withCatch.test.js +205 -0
- package/build/esm/core/utils/__tests__/withCatch.test.js.map +1 -0
- package/build/esm/core/utils/withCatch.d.ts +26 -0
- package/build/esm/core/utils/withCatch.js +31 -0
- package/build/esm/core/utils/withCatch.js.map +1 -0
- package/build/esm/react/DataManagerProvider.d.ts +7 -0
- package/build/esm/react/DataManagerProvider.js +12 -0
- package/build/esm/react/DataManagerProvider.js.map +1 -0
- package/build/esm/react/__tests__/DataManagerContext.test.js +44 -0
- package/build/esm/react/__tests__/DataManagerContext.test.js.map +1 -0
- package/build/esm/react/__tests__/withDataManager.test.js +58 -0
- package/build/esm/react/__tests__/withDataManager.test.js.map +1 -0
- package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +184 -0
- package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +1 -0
- package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js +116 -0
- package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js.map +1 -0
- package/build/esm/react/index.d.ts +2 -0
- package/build/esm/react/index.js +1 -0
- package/build/esm/react/index.js.map +1 -1
- package/build/esm/react/withDataManager.d.ts +1 -1
- package/build/esm/react/withDataManager.js +3 -3
- package/build/esm/react/withDataManager.js.map +1 -1
- package/build/esm/react-query/ClientDataManager.d.ts +11 -2
- package/build/esm/react-query/ClientDataManager.js +70 -3
- package/build/esm/react-query/ClientDataManager.js.map +1 -1
- package/build/esm/react-query/DataSourceProvider.d.ts +7 -0
- package/build/esm/react-query/DataSourceProvider.js +28 -0
- package/build/esm/react-query/DataSourceProvider.js.map +1 -0
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js +174 -0
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js.map +1 -0
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js +98 -0
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js.map +1 -0
- package/build/esm/react-query/__tests__/subscriptions.test.js +1176 -0
- package/build/esm/react-query/__tests__/subscriptions.test.js.map +1 -0
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +511 -0
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +1 -0
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js +227 -0
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js.map +1 -0
- package/build/esm/react-query/constants.d.ts +2 -0
- package/build/esm/react-query/constants.js +3 -0
- package/build/esm/react-query/constants.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js +52 -0
- package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +192 -0
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useQueryData.test.js +95 -0
- package/build/esm/react-query/hooks/__tests__/useQueryData.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js +74 -0
- package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js +77 -0
- package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js +115 -0
- package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js.map +1 -0
- package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js +154 -0
- package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js.map +1 -0
- package/build/esm/react-query/hooks/useRefetchInterval.d.ts +1 -1
- package/build/esm/react-query/impl/infinite/factory.d.ts +1 -1
- package/build/esm/react-query/impl/infinite/factory.js.map +1 -1
- package/build/esm/react-query/impl/infinite/hooks.js +5 -2
- package/build/esm/react-query/impl/infinite/hooks.js.map +1 -1
- package/build/esm/react-query/impl/infinite/types.d.ts +9 -9
- package/build/esm/react-query/impl/infinite/types.js.map +1 -1
- package/build/esm/react-query/impl/infinite/utils.js +9 -20
- package/build/esm/react-query/impl/infinite/utils.js.map +1 -1
- package/build/esm/react-query/impl/plain/factory.d.ts +1 -1
- package/build/esm/react-query/impl/plain/factory.js.map +1 -1
- package/build/esm/react-query/impl/plain/hooks.js +5 -2
- package/build/esm/react-query/impl/plain/hooks.js.map +1 -1
- package/build/esm/react-query/impl/plain/types.d.ts +6 -6
- package/build/esm/react-query/impl/plain/types.js.map +1 -1
- package/build/esm/react-query/impl/plain/utils.js +10 -21
- package/build/esm/react-query/impl/plain/utils.js.map +1 -1
- package/build/esm/react-query/index.d.ts +2 -0
- 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/normalizer.d.ts +21 -0
- package/build/esm/react-query/types/normalizer.js +2 -0
- package/build/esm/react-query/types/normalizer.js.map +1 -0
- package/build/esm/react-query/types/options.d.ts +12 -0
- package/build/esm/react-query/types/options.js.map +1 -1
- package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js +25 -0
- package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js.map +1 -0
- package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js +74 -0
- package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +1 -0
- package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js +28 -0
- package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js.map +1 -0
- package/build/esm/react-query/utils/__tests__/notReachable.test.js +33 -0
- package/build/esm/react-query/utils/__tests__/notReachable.test.js.map +1 -0
- package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js +25 -0
- package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js.map +1 -0
- package/build/esm/react-query/utils/formatNullableValue.d.ts +2 -0
- package/build/esm/react-query/utils/formatNullableValue.js +11 -0
- package/build/esm/react-query/utils/formatNullableValue.js.map +1 -0
- package/build/esm/react-query/utils/getProgressiveRefetch.d.ts +2 -2
- package/build/esm/react-query/utils/normalize.d.ts +22 -0
- package/build/esm/react-query/utils/normalize.js +143 -0
- package/build/esm/react-query/utils/normalize.js.map +1 -0
- package/build/esm/react-query/utils/parseNullableValue.d.ts +2 -0
- package/build/esm/react-query/utils/parseNullableValue.js +11 -0
- package/build/esm/react-query/utils/parseNullableValue.js.map +1 -0
- package/build/esm/react-query/utils/warn.d.ts +1 -0
- package/build/esm/react-query/utils/warn.js +9 -0
- package/build/esm/react-query/utils/warn.js.map +1 -0
- package/build/esm/react-query/utils/warnDisabledRefetch.d.ts +1 -0
- package/build/esm/react-query/utils/warnDisabledRefetch.js +5 -0
- package/build/esm/react-query/utils/warnDisabledRefetch.js.map +1 -0
- package/build/esm/setupTests.d.ts +1 -0
- package/build/esm/setupTests.js +2 -0
- package/build/esm/setupTests.js.map +1 -0
- package/package.json +18 -13
- package/build/cjs/react-query/impl/utils.d.ts +0 -4
- package/build/cjs/react-query/impl/utils.js +0 -27
- package/build/cjs/react-query/impl/utils.js.map +0 -1
- package/build/esm/react-query/impl/utils.d.ts +0 -4
- package/build/esm/react-query/impl/utils.js +0 -21
- package/build/esm/react-query/impl/utils.js.map +0 -1
|
@@ -10,6 +10,7 @@ var _react = require("react");
|
|
|
10
10
|
var _reactQuery = require("@tanstack/react-query");
|
|
11
11
|
var _useRefetchInterval2 = require("../../hooks/useRefetchInterval");
|
|
12
12
|
var _normalizeStatus = require("../../utils/normalizeStatus");
|
|
13
|
+
var _warnDisabledRefetch = require("../../utils/warnDisabledRefetch");
|
|
13
14
|
var _utils = require("./utils");
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
16
|
var _excluded = ["queryFn", "refetchInterval"];
|
|
@@ -33,11 +34,13 @@ var useInfiniteQueryData = exports.useInfiniteQueryData = function useInfiniteQu
|
|
|
33
34
|
var _state$data$pages$fla, _state$data;
|
|
34
35
|
return (_state$data$pages$fla = (_state$data = state.data) === null || _state$data === void 0 ? void 0 : _state$data.pages.flat(1)) !== null && _state$data$pages$fla !== void 0 ? _state$data$pages$fla : [];
|
|
35
36
|
}, [state.data]);
|
|
37
|
+
var isDisabled = composedOptions.enabled === false || composedOptions.queryFn === _reactQuery.skipToken;
|
|
36
38
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
37
39
|
status: (0, _normalizeStatus.normalizeStatus)(state.status, state.fetchStatus),
|
|
38
40
|
data: transformedData,
|
|
39
41
|
originalStatus: state.status,
|
|
40
|
-
originalData: state.data
|
|
42
|
+
originalData: state.data,
|
|
43
|
+
refetch: isDisabled ? _warnDisabledRefetch.warnDisabledRefetch : state.refetch
|
|
41
44
|
});
|
|
42
45
|
};
|
|
43
46
|
// #sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactQuery","_useRefetchInterval2","_normalizeStatus","_utils","_interopRequireDefault","e","__esModule","default","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","useInfiniteQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useInfiniteQuery","transformedData","useMemo","_state$data$pages$fla","_state$data","data","pages","flat","status","normalizeStatus","fetchStatus","originalStatus","originalData"],"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 DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactQuery","_useRefetchInterval2","_normalizeStatus","_warnDisabledRefetch","_utils","_interopRequireDefault","e","__esModule","default","useInfiniteQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","useInfiniteQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useInfiniteQuery","transformedData","useMemo","_state$data$pages$fla","_state$data","data","pages","flat","isDisabled","enabled","skipToken","status","normalizeStatus","fetchStatus","originalStatus","originalData","refetch","warnDisabledRefetch"],"sources":["hooks.ts"],"sourcesContent":["import {useMemo} from 'react';\n\nimport {skipToken, useInfiniteQuery} from '@tanstack/react-query';\nimport type {InfiniteData, InfiniteQueryObserverOptions} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceRequest,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyInfiniteQueryDataSource, InfiniteQueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst useInfiniteQueryDataOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n composedOptions: InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n >,\n): InfiniteQueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, Partial<DataSourceRequest<TDataSource>>>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n Partial<DataSourceRequest<TDataSource>>\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const useInfiniteQueryData = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = useInfiniteQueryDataOptions(extendedOptions);\n const state = useInfiniteQuery(composedOptions);\n\n const transformedData = useMemo<DataSourceState<TDataSource>['data']>(\n () => state.data?.pages.flat(1) ?? [],\n [state.data],\n );\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n data: transformedData,\n originalStatus: state.status,\n originalData: state.data,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAcA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAGA,IAAAK,MAAA,GAAAL,OAAA;AAAsC,SAAAM,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAEtC,IAAMG,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC7BC,eAOC,EAQA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,OAAAC,iCAAA,EACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmC,IAAAC,uCAAkB,EAACN,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,WAAAM,sBAAA,MAAAA,sBAAA,MAAWL,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAEM,IAAMO,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAC7BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMhB,eAAe,GAAGD,2BAA2B,CAACkB,eAAe,CAAC;EACpE,IAAME,KAAK,GAAG,IAAAC,4BAAgB,EAACpB,eAAe,CAAC;EAE/C,IAAMqB,eAAe,GAAG,IAAAC,cAAO,EAC3B;IAAA,IAAAC,qBAAA,EAAAC,WAAA;IAAA,QAAAD,qBAAA,IAAAC,WAAA,GAAML,KAAK,CAACM,IAAI,cAAAD,WAAA,uBAAVA,WAAA,CAAYE,KAAK,CAACC,IAAI,CAAC,CAAC,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EAAA,GACrC,CAACJ,KAAK,CAACM,IAAI,CACf,CAAC;EAED,IAAMG,UAAU,GAAG5B,eAAe,CAAC6B,OAAO,KAAK,KAAK,IAAI7B,eAAe,CAACE,OAAO,KAAK4B,qBAAS;EAE7F,WAAApB,sBAAA,MAAAA,sBAAA,MACOS,KAAK;IACRY,MAAM,EAAE,IAAAC,gCAAe,EAACb,KAAK,CAACY,MAAM,EAAEZ,KAAK,CAACc,WAAW,CAAC;IACxDR,IAAI,EAAEJ,eAAe;IACrBa,cAAc,EAAEf,KAAK,CAACY,MAAM;IAC5BI,YAAY,EAAEhB,KAAK,CAACM,IAAI;IACxBW,OAAO,EAAER,UAAU,GAAGS,wCAAmB,GAAGlB,KAAK,CAACiB;EAAO;AAEjE,CAAC","ignoreList":[]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import type { DefaultError, InfiniteData, InfiniteQueryObserverOptions, InfiniteQueryObserverResult, QueryFunctionContext, QueryKey } from '@tanstack/react-query';
|
|
2
|
-
import type { Overwrite } from 'utility-types';
|
|
3
|
-
import type { ActualData,
|
|
2
|
+
import type { Assign, Overwrite } from 'utility-types';
|
|
3
|
+
import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
|
|
4
4
|
import type { QueryDataSourceContext } from '../../types/base';
|
|
5
5
|
import type { QueryDataAdditionalOptions } from '../../types/options';
|
|
6
|
-
export type InfiniteQueryObserverExtendedOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> =
|
|
7
|
-
export type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError
|
|
6
|
+
export type InfiniteQueryObserverExtendedOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown> = Assign<InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, QueryDataAdditionalOptions<TQueryFnData, TError, InfiniteData<TQueryData, TPageParam>, TQueryKey>>;
|
|
7
|
+
export type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, InfiniteQueryObserverExtendedOptions<NoInfer<TResponse>, NoInfer<TError>, InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>, NoInfer<TResponse>, DataSourceKey, Partial<NoInfer<TRequest>>>, ResultWrapper<InfiniteQueryObserverResult<InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>, NoInfer<TError>>, NoInfer<TRequest>, NoInfer<TResponse>, NoInfer<TData>, NoInfer<TError>>, QueryFunctionContext<DataSourceKey, Partial<NoInfer<TRequest>>>> & {
|
|
8
8
|
type: 'infinite';
|
|
9
|
-
next: (lastPage:
|
|
10
|
-
prev?: (firstPage:
|
|
9
|
+
next: (lastPage: NoInfer<TResponse>, allPages: NoInfer<TResponse>[]) => Partial<NoInfer<TRequest>> | null | undefined;
|
|
10
|
+
prev?: (firstPage: NoInfer<TResponse>, allPages: NoInfer<TResponse>[]) => Partial<NoInfer<TRequest>> | null | undefined;
|
|
11
11
|
};
|
|
12
|
-
export type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any
|
|
12
|
+
export type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;
|
|
13
13
|
export type AnyPageParam = Partial<any>;
|
|
14
|
-
type ResultWrapper<TResult, TRequest, TResponse, TData, TError
|
|
14
|
+
type ResultWrapper<TResult, TRequest, TResponse, TData, TError> = TResult extends InfiniteQueryObserverResult<InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>, TError> ? Overwrite<TResult, {
|
|
15
15
|
status: DataLoaderStatus;
|
|
16
|
-
data: Array<FlatArray<Array<ActualData<
|
|
16
|
+
data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;
|
|
17
17
|
}> & {
|
|
18
18
|
originalStatus: TResult['status'];
|
|
19
19
|
originalData: TResult['data'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n QueryKey,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryFunctionContext,\n QueryKey,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type InfiniteQueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = Assign<\n InfiniteQueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<\n TQueryFnData,\n TError,\n InfiniteData<TQueryData, TPageParam>,\n TQueryKey\n >\n>;\n\nexport type InfiniteQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n InfiniteQueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TResponse>,\n DataSourceKey,\n Partial<NoInfer<TRequest>>\n >,\n ResultWrapper<\n InfiniteQueryObserverResult<\n InfiniteData<ActualData<NoInfer<TData>, NoInfer<TResponse>>, Partial<TRequest>>,\n NoInfer<TError>\n >,\n NoInfer<TRequest>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey, Partial<NoInfer<TRequest>>>\n> & {\n type: 'infinite';\n next: (\n lastPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n prev?: (\n firstPage: NoInfer<TResponse>,\n allPages: NoInfer<TResponse>[],\n ) => Partial<NoInfer<TRequest>> | null | undefined;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyInfiniteQueryDataSource = InfiniteQueryDataSource<any, any, any, any, any>;\n\n// It is used instead of `Partial<DataSourceRequest<TDataSource>>` because TS can't calculate type\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPageParam = Partial<any>;\n\ntype ResultWrapper<TResult, TRequest, TResponse, TData, TError> =\n TResult extends InfiniteQueryObserverResult<\n InfiniteData<ActualData<TData, TResponse>, Partial<TRequest>>,\n TError\n >\n ? Overwrite<\n TResult,\n {\n status: DataLoaderStatus;\n data: Array<FlatArray<Array<ActualData<TData, TResponse>>, 1>>;\n }\n > & {\n originalStatus: TResult['status'];\n originalData: TResult['data'];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -4,56 +4,45 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.composeOptions = void 0;
|
|
7
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
7
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
10
|
var _reactQuery = require("@tanstack/react-query");
|
|
11
11
|
var _core = require("../../../core");
|
|
12
|
-
var
|
|
12
|
+
var _formatNullableValue = require("../../utils/formatNullableValue");
|
|
13
|
+
var _parseNullableValue = require("../../utils/parseNullableValue");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
var EMPTY_OBJECT = {};
|
|
15
16
|
var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
16
17
|
var transformParams = dataSource.transformParams,
|
|
17
|
-
transformError = dataSource.transformError,
|
|
18
18
|
transformResponse = dataSource.transformResponse,
|
|
19
19
|
next = dataSource.next,
|
|
20
20
|
prev = dataSource.prev;
|
|
21
21
|
var queryFn = /*#__PURE__*/function () {
|
|
22
|
-
var _ref = (0, _asyncToGenerator2.default)(
|
|
22
|
+
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(fetchContext) {
|
|
23
23
|
var request, paginatedRequest, response;
|
|
24
|
-
return
|
|
24
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
25
25
|
while (1) switch (_context.prev = _context.next) {
|
|
26
26
|
case 0:
|
|
27
27
|
request = transformParams ? transformParams(params) : params;
|
|
28
28
|
paginatedRequest = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, request), fetchContext.pageParam);
|
|
29
|
-
_context.
|
|
30
|
-
_context.next = 5;
|
|
29
|
+
_context.next = 4;
|
|
31
30
|
return dataSource.fetch(context, fetchContext, paginatedRequest);
|
|
32
|
-
case
|
|
31
|
+
case 4:
|
|
33
32
|
response = _context.sent;
|
|
34
|
-
return _context.abrupt("return", (0,
|
|
35
|
-
case
|
|
36
|
-
_context.prev = 9;
|
|
37
|
-
_context.t0 = _context["catch"](2);
|
|
38
|
-
if (transformError) {
|
|
39
|
-
_context.next = 13;
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
throw _context.t0;
|
|
43
|
-
case 13:
|
|
44
|
-
return _context.abrupt("return", (0, _utils.formatNullableValue)(transformError(_context.t0)));
|
|
45
|
-
case 14:
|
|
33
|
+
return _context.abrupt("return", (0, _formatNullableValue.formatNullableValue)(response));
|
|
34
|
+
case 6:
|
|
46
35
|
case "end":
|
|
47
36
|
return _context.stop();
|
|
48
37
|
}
|
|
49
|
-
}, _callee
|
|
38
|
+
}, _callee);
|
|
50
39
|
}));
|
|
51
40
|
return function queryFn(_x) {
|
|
52
41
|
return _ref.apply(this, arguments);
|
|
53
42
|
};
|
|
54
43
|
}();
|
|
55
44
|
var selectPage = function selectPage(response) {
|
|
56
|
-
var actualResponse = (0,
|
|
45
|
+
var actualResponse = (0, _parseNullableValue.parseNullableValue)(response);
|
|
57
46
|
return transformResponse ? transformResponse(actualResponse) : actualResponse;
|
|
58
47
|
};
|
|
59
48
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactQuery","require","_core","
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_core","_formatNullableValue","_parseNullableValue","_interopRequireDefault","e","__esModule","default","EMPTY_OBJECT","composeOptions","exports","context","dataSource","params","options","transformParams","transformResponse","next","prev","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","request","paginatedRequest","response","wrap","_callee$","_context","_objectSpread","pageParam","fetch","sent","abrupt","formatNullableValue","stop","_x","apply","arguments","selectPage","actualResponse","parseNullableValue","queryKey","composeFullKey","idle","skipToken","select","data","pages","map","initialPageParam","getNextPageParam","getPreviousPageParam"],"sources":["utils.ts"],"sourcesContent":["import {skipToken} from '@tanstack/react-query';\nimport type {InfiniteData, QueryFunctionContext} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../../utils/formatNullableValue';\nimport {parseNullableValue} from '../../utils/parseNullableValue';\n\nimport type {\n AnyInfiniteQueryDataSource,\n AnyPageParam,\n InfiniteQueryObserverExtendedOptions,\n} from './types';\n\nconst EMPTY_OBJECT = {};\n\nexport const composeOptions = <TDataSource extends AnyInfiniteQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): InfiniteQueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n InfiniteData<DataSourceData<TDataSource>, AnyPageParam>,\n DataSourceResponse<TDataSource>,\n DataSourceKey,\n AnyPageParam\n> => {\n const {transformParams, transformResponse, next, prev} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey, AnyPageParam>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const request = transformParams ? transformParams(params) : params;\n const paginatedRequest = {...request, ...fetchContext.pageParam};\n\n const response = await dataSource.fetch(context, fetchContext, paginatedRequest);\n\n return formatNullableValue(response);\n };\n\n const selectPage = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response) as DataSourceData<TDataSource>;\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select: (data) => ({...data, pages: data.pages.map(selectPage)}),\n initialPageParam: EMPTY_OBJECT,\n getNextPageParam: next,\n getPreviousPageParam: prev,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AAWA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAAiE,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQjE,IAAMG,YAAY,GAAG,CAAC,CAAC;AAEhB,IAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAQhD;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,IAAMC,OAAO;IAAA,IAAAC,IAAA,OAAAC,0BAAA,mBAAAC,4BAAA,IAAAC,IAAA,CAAG,SAAAC,QACZC,YAA+D;MAAA,IAAAC,OAAA,EAAAC,gBAAA,EAAAC,QAAA;MAAA,WAAAN,4BAAA,IAAAO,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAb,IAAA,GAAAa,QAAA,CAAAd,IAAA;UAAA;YAEzDS,OAAO,GAAGX,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAAM;YAC5Dc,gBAAgB,OAAAK,sBAAA,MAAAA,sBAAA,MAAON,OAAO,GAAKD,YAAY,CAACQ,SAAS;YAAAF,QAAA,CAAAd,IAAA;YAAA,OAExCL,UAAU,CAACsB,KAAK,CAACvB,OAAO,EAAEc,YAAY,EAAEE,gBAAgB,CAAC;UAAA;YAA1EC,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAEP,IAAAC,wCAAmB,EAACT,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAd,OAAA;IAAA,CACvC;IAAA,gBATKL,OAAOA,CAAAoB,EAAA;MAAA,OAAAnB,IAAA,CAAAoB,KAAA,OAAAC,SAAA;IAAA;EAAA,GASZ;EAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CACZd,QAAsF,EACxD;IAC9B,IAAMe,cAAc,GAAG,IAAAC,sCAAkB,EAAChB,QAAQ,CAAgC;IAElF,OAAOZ,iBAAiB,GAAGA,iBAAiB,CAAC2B,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,WAAAX,sBAAA,MAAAA,sBAAA;IACIa,QAAQ,EAAE,IAAAC,oBAAc,EAAClC,UAAU,EAAEC,MAAM,CAAC;IAC5CM,OAAO,EAAEN,MAAM,KAAKkC,UAAI,GAAGC,qBAAS,GAAG7B,OAAO;IAC9C8B,MAAM,EAAE,SAARA,MAAMA,CAAGC,IAAI;MAAA,WAAAlB,sBAAA,MAAAA,sBAAA,MAAUkB,IAAI;QAAEC,KAAK,EAAED,IAAI,CAACC,KAAK,CAACC,GAAG,CAACV,UAAU;MAAC;IAAA,CAAE;IAChEW,gBAAgB,EAAE7C,YAAY;IAC9B8C,gBAAgB,EAAErC,IAAI;IACtBsC,oBAAoB,EAAErC;EAAI,GACvBN,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PlainQueryDataSource } from './types';
|
|
2
|
-
export declare const makePlainQueryDataSource: <TParams, TRequest, TResponse, TData, TError
|
|
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>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["makePlainQueryDataSource","exports","config","_objectSpread","type"],"sources":["factory.ts"],"sourcesContent":["import type {PlainQueryDataSource} from './types';\n\nexport const makePlainQueryDataSource =
|
|
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":[]}
|
|
@@ -9,6 +9,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
9
9
|
var _reactQuery = require("@tanstack/react-query");
|
|
10
10
|
var _useRefetchInterval2 = require("../../hooks/useRefetchInterval");
|
|
11
11
|
var _normalizeStatus = require("../../utils/normalizeStatus");
|
|
12
|
+
var _warnDisabledRefetch = require("../../utils/warnDisabledRefetch");
|
|
12
13
|
var _utils = require("./utils");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
var _excluded = ["queryFn", "refetchInterval"];
|
|
@@ -28,9 +29,11 @@ var usePlainQueryData = exports.usePlainQueryData = function usePlainQueryData(c
|
|
|
28
29
|
var extendedOptions = (0, _utils.composeOptions)(context, dataSource, params, options);
|
|
29
30
|
var composedOptions = usePlainQueryDataOptions(extendedOptions);
|
|
30
31
|
var state = (0, _reactQuery.useQuery)(composedOptions);
|
|
32
|
+
var isDisabled = composedOptions.enabled === false || composedOptions.queryFn === _reactQuery.skipToken;
|
|
31
33
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
32
34
|
status: (0, _normalizeStatus.normalizeStatus)(state.status, state.fetchStatus),
|
|
33
|
-
originalStatus: state.status
|
|
35
|
+
originalStatus: state.status,
|
|
36
|
+
refetch: isDisabled ? _warnDisabledRefetch.warnDisabledRefetch : state.refetch
|
|
34
37
|
});
|
|
35
38
|
};
|
|
36
39
|
// #sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactQuery","require","_useRefetchInterval2","_normalizeStatus","_utils","_interopRequireDefault","e","__esModule","default","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","usePlainQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useQuery","status","normalizeStatus","fetchStatus","originalStatus"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAYA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_useRefetchInterval2","_normalizeStatus","_warnDisabledRefetch","_utils","_interopRequireDefault","e","__esModule","default","usePlainQueryDataOptions","composedOptions","queryFnOption","queryFn","refetchIntervalOption","refetchInterval","restOptions","_objectWithoutProperties","_excluded","_useRefetchInterval","useRefetchInterval","_objectSpread","usePlainQueryData","exports","context","dataSource","params","options","extendedOptions","composeOptions","state","useQuery","isDisabled","enabled","skipToken","status","normalizeStatus","fetchStatus","originalStatus","refetch","warnDisabledRefetch"],"sources":["hooks.ts"],"sourcesContent":["import {type QueryObserverOptions, skipToken, useQuery} from '@tanstack/react-query';\n\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n DataSourceState,\n} from '../../../core';\nimport {useRefetchInterval} from '../../hooks/useRefetchInterval';\nimport {normalizeStatus} from '../../utils/normalizeStatus';\nimport {warnDisabledRefetch} from '../../utils/warnDisabledRefetch';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\nimport {composeOptions} from './utils';\n\nconst usePlainQueryDataOptions = <TDataSource extends AnyPlainQueryDataSource>(\n composedOptions: QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n >,\n): QueryObserverOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {\n queryFn: queryFnOption,\n refetchInterval: refetchIntervalOption,\n ...restOptions\n } = composedOptions;\n\n const {queryFn, refetchInterval} = useRefetchInterval(refetchIntervalOption, queryFnOption);\n\n return {...restOptions, queryFn, refetchInterval};\n};\n\nexport const usePlainQueryData = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): DataSourceState<TDataSource> => {\n const extendedOptions = composeOptions(context, dataSource, params, options);\n const composedOptions = usePlainQueryDataOptions(extendedOptions);\n const state = useQuery(composedOptions);\n\n const isDisabled = composedOptions.enabled === false || composedOptions.queryFn === skipToken;\n\n return {\n ...state,\n status: normalizeStatus(state.status, state.fetchStatus),\n originalStatus: state.status,\n refetch: isDisabled ? warnDisabledRefetch : state.refetch,\n } as DataSourceState<TDataSource>;\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAYA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,oBAAA,GAAAH,OAAA;AAGA,IAAAI,MAAA,GAAAJ,OAAA;AAAsC,SAAAK,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;;AAEtC,IAAMG,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAC1BC,eAMC,EAOA;EACD,IACaC,aAAa,GAGtBD,eAAe,CAHfE,OAAO;IACUC,qBAAqB,GAEtCH,eAAe,CAFfI,eAAe;IACZC,WAAW,OAAAC,iCAAA,EACdN,eAAe,EAAAO,SAAA;EAEnB,IAAAC,mBAAA,GAAmC,IAAAC,uCAAkB,EAACN,qBAAqB,EAAEF,aAAa,CAAC;IAApFC,OAAO,GAAAM,mBAAA,CAAPN,OAAO;IAAEE,eAAe,GAAAI,mBAAA,CAAfJ,eAAe;EAE/B,WAAAM,sBAAA,MAAAA,sBAAA,MAAWL,WAAW;IAAEH,OAAO,EAAPA,OAAO;IAAEE,eAAe,EAAfA;EAAe;AACpD,CAAC;AAEM,IAAMO,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAC1BE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAClB;EAC/B,IAAMC,eAAe,GAAG,IAAAC,qBAAc,EAACL,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC5E,IAAMhB,eAAe,GAAGD,wBAAwB,CAACkB,eAAe,CAAC;EACjE,IAAME,KAAK,GAAG,IAAAC,oBAAQ,EAACpB,eAAe,CAAC;EAEvC,IAAMqB,UAAU,GAAGrB,eAAe,CAACsB,OAAO,KAAK,KAAK,IAAItB,eAAe,CAACE,OAAO,KAAKqB,qBAAS;EAE7F,WAAAb,sBAAA,MAAAA,sBAAA,MACOS,KAAK;IACRK,MAAM,EAAE,IAAAC,gCAAe,EAACN,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACO,WAAW,CAAC;IACxDC,cAAc,EAAER,KAAK,CAACK,MAAM;IAC5BI,OAAO,EAAEP,UAAU,GAAGQ,wCAAmB,GAAGV,KAAK,CAACS;EAAO;AAEjE,CAAC","ignoreList":[]}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { DefaultError, QueryFunctionContext, QueryKey, QueryObserverOptions, QueryObserverResult } from '@tanstack/react-query';
|
|
2
|
-
import type { Overwrite } from 'utility-types';
|
|
3
|
-
import type { ActualData,
|
|
2
|
+
import type { Assign, Overwrite } from 'utility-types';
|
|
3
|
+
import type { ActualData, DataLoaderStatus, DataSource, DataSourceKey } from '../../../core';
|
|
4
4
|
import type { QueryDataSourceContext } from '../../types/base';
|
|
5
5
|
import type { QueryDataAdditionalOptions } from '../../types/options';
|
|
6
|
-
export type QueryObserverExtendedOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> =
|
|
7
|
-
export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError
|
|
6
|
+
export type QueryObserverExtendedOptions<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never> = Assign<QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>, QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>>;
|
|
7
|
+
export type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<QueryDataSourceContext, TParams, TRequest, TResponse, TData, TError, QueryObserverExtendedOptions<NoInfer<TResponse>, NoInfer<TError>, ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TResponse>, DataSourceKey>, ResultWrapper<QueryObserverResult<ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TError>>, NoInfer<TResponse>, NoInfer<TData>, NoInfer<TError>>, QueryFunctionContext<DataSourceKey>> & {
|
|
8
8
|
type: 'plain';
|
|
9
9
|
};
|
|
10
|
-
export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any
|
|
11
|
-
type ResultWrapper<TResult, TResponse, TData, TError
|
|
10
|
+
export type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;
|
|
11
|
+
type ResultWrapper<TResult, TResponse, TData, TError> = TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError> ? Overwrite<TResult, {
|
|
12
12
|
status: DataLoaderStatus;
|
|
13
13
|
}> & {
|
|
14
14
|
originalStatus: TResult['status'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n QueryFunctionContext,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Overwrite} from 'utility-types';\n\nimport type {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type {\n DefaultError,\n QueryFunctionContext,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/react-query';\nimport type {Assign, Overwrite} from 'utility-types';\n\nimport type {ActualData, DataLoaderStatus, DataSource, DataSourceKey} from '../../../core';\nimport type {QueryDataSourceContext} from '../../types/base';\nimport type {QueryDataAdditionalOptions} from '../../types/options';\n\nexport type QueryObserverExtendedOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = never,\n> = Assign<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey, TPageParam>,\n QueryDataAdditionalOptions<TQueryFnData, TError, TQueryData, TQueryKey>\n>;\n\nexport type PlainQueryDataSource<TParams, TRequest, TResponse, TData, TError> = DataSource<\n QueryDataSourceContext,\n TParams,\n TRequest,\n TResponse,\n TData,\n TError,\n QueryObserverExtendedOptions<\n NoInfer<TResponse>,\n NoInfer<TError>,\n ActualData<NoInfer<TData>, NoInfer<TResponse>>,\n NoInfer<TResponse>,\n DataSourceKey\n >,\n ResultWrapper<\n QueryObserverResult<ActualData<NoInfer<TData>, NoInfer<TResponse>>, NoInfer<TError>>,\n NoInfer<TResponse>,\n NoInfer<TData>,\n NoInfer<TError>\n >,\n QueryFunctionContext<DataSourceKey>\n> & {\n type: 'plain';\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type AnyPlainQueryDataSource = PlainQueryDataSource<any, any, any, any, any>;\n\ntype ResultWrapper<TResult, TResponse, TData, TError> =\n TResult extends QueryObserverResult<ActualData<TData, TResponse>, TError>\n ? Overwrite<TResult, {status: DataLoaderStatus}> & {originalStatus: TResult['status']}\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -5,50 +5,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.composeOptions = void 0;
|
|
7
7
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
8
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
10
|
var _reactQuery = require("@tanstack/react-query");
|
|
11
11
|
var _core = require("../../../core");
|
|
12
|
-
var
|
|
12
|
+
var _formatNullableValue = require("../../utils/formatNullableValue");
|
|
13
|
+
var _parseNullableValue = require("../../utils/parseNullableValue");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
var composeOptions = exports.composeOptions = function composeOptions(context, dataSource, params, options) {
|
|
15
16
|
var transformParams = dataSource.transformParams,
|
|
16
|
-
transformResponse = dataSource.transformResponse
|
|
17
|
-
transformError = dataSource.transformError;
|
|
17
|
+
transformResponse = dataSource.transformResponse;
|
|
18
18
|
var queryFn = /*#__PURE__*/function () {
|
|
19
|
-
var _ref = (0, _asyncToGenerator2.default)(
|
|
19
|
+
var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(fetchContext) {
|
|
20
20
|
var response;
|
|
21
|
-
return
|
|
21
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
22
22
|
while (1) switch (_context.prev = _context.next) {
|
|
23
23
|
case 0:
|
|
24
|
-
_context.
|
|
25
|
-
_context.next = 3;
|
|
24
|
+
_context.next = 2;
|
|
26
25
|
return dataSource.fetch(context, fetchContext, transformParams ? transformParams(params) : params);
|
|
27
|
-
case
|
|
26
|
+
case 2:
|
|
28
27
|
response = _context.sent;
|
|
29
|
-
return _context.abrupt("return", (0,
|
|
30
|
-
case
|
|
31
|
-
_context.prev = 7;
|
|
32
|
-
_context.t0 = _context["catch"](0);
|
|
33
|
-
if (transformError) {
|
|
34
|
-
_context.next = 11;
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
throw _context.t0;
|
|
38
|
-
case 11:
|
|
39
|
-
return _context.abrupt("return", (0, _utils.formatNullableValue)(transformError(_context.t0)));
|
|
40
|
-
case 12:
|
|
28
|
+
return _context.abrupt("return", (0, _formatNullableValue.formatNullableValue)(response));
|
|
29
|
+
case 4:
|
|
41
30
|
case "end":
|
|
42
31
|
return _context.stop();
|
|
43
32
|
}
|
|
44
|
-
}, _callee
|
|
33
|
+
}, _callee);
|
|
45
34
|
}));
|
|
46
35
|
return function queryFn(_x) {
|
|
47
36
|
return _ref.apply(this, arguments);
|
|
48
37
|
};
|
|
49
38
|
}();
|
|
50
39
|
var select = function select(response) {
|
|
51
|
-
var actualResponse = (0,
|
|
40
|
+
var actualResponse = (0, _parseNullableValue.parseNullableValue)(response);
|
|
52
41
|
return transformResponse ? transformResponse(actualResponse) : actualResponse;
|
|
53
42
|
};
|
|
54
43
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactQuery","require","_core","
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_core","_formatNullableValue","_parseNullableValue","_interopRequireDefault","e","__esModule","default","composeOptions","exports","context","dataSource","params","options","transformParams","transformResponse","queryFn","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fetchContext","response","wrap","_callee$","_context","prev","next","fetch","sent","abrupt","formatNullableValue","stop","_x","apply","arguments","select","actualResponse","parseNullableValue","_objectSpread","queryKey","composeFullKey","idle","skipToken"],"sources":["utils.ts"],"sourcesContent":["import {type QueryFunctionContext, skipToken} from '@tanstack/react-query';\n\nimport {composeFullKey, idle} from '../../../core';\nimport type {\n DataSourceContext,\n DataSourceData,\n DataSourceError,\n DataSourceKey,\n DataSourceOptions,\n DataSourceParams,\n DataSourceResponse,\n} from '../../../core';\nimport type {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../../utils/formatNullableValue';\nimport {parseNullableValue} from '../../utils/parseNullableValue';\n\nimport type {AnyPlainQueryDataSource, QueryObserverExtendedOptions} from './types';\n\nexport const composeOptions = <TDataSource extends AnyPlainQueryDataSource>(\n context: DataSourceContext<TDataSource>,\n dataSource: TDataSource,\n params: DataSourceParams<TDataSource>,\n options?: Partial<DataSourceOptions<TDataSource>>,\n): QueryObserverExtendedOptions<\n DataSourceResponse<TDataSource>,\n DataSourceError<TDataSource>,\n DataSourceData<TDataSource>,\n DataSourceResponse<TDataSource>,\n DataSourceKey\n> => {\n const {transformParams, transformResponse} = dataSource;\n\n const queryFn = async (\n fetchContext: QueryFunctionContext<DataSourceKey>,\n ): Promise<DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol> => {\n const response = await dataSource.fetch(\n context,\n fetchContext,\n transformParams ? transformParams(params) : params,\n );\n\n return formatNullableValue(response);\n };\n\n const select = (\n response: DataSourceResponse<TDataSource> | typeof undefinedSymbol | typeof nullSymbol,\n ): DataSourceData<TDataSource> => {\n const actualResponse = parseNullableValue(response) as DataSourceData<TDataSource>;\n\n return transformResponse ? transformResponse(actualResponse) : actualResponse;\n };\n\n return {\n queryKey: composeFullKey(dataSource, params),\n queryFn: params === idle ? skipToken : queryFn,\n select,\n ...dataSource.options,\n ...options,\n };\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAWA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AAAiE,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI1D,IAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CACvBE,OAAuC,EACvCC,UAAuB,EACvBC,MAAqC,EACrCC,OAAiD,EAOhD;EACD,IAAOC,eAAe,GAAuBH,UAAU,CAAhDG,eAAe;IAAEC,iBAAiB,GAAIJ,UAAU,CAA/BI,iBAAiB;EAEzC,IAAMC,OAAO;IAAA,IAAAC,IAAA,OAAAC,0BAAA,mBAAAC,4BAAA,IAAAC,IAAA,CAAG,SAAAC,QACZC,YAAiD;MAAA,IAAAC,QAAA;MAAA,WAAAJ,4BAAA,IAAAK,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAE1BjB,UAAU,CAACkB,KAAK,CACnCnB,OAAO,EACPY,YAAY,EACZR,eAAe,GAAGA,eAAe,CAACF,MAAM,CAAC,GAAGA,MAChD,CAAC;UAAA;YAJKW,QAAQ,GAAAG,QAAA,CAAAI,IAAA;YAAA,OAAAJ,QAAA,CAAAK,MAAA,WAMP,IAAAC,wCAAmB,EAACT,QAAQ,CAAC;UAAA;UAAA;YAAA,OAAAG,QAAA,CAAAO,IAAA;QAAA;MAAA,GAAAZ,OAAA;IAAA,CACvC;IAAA,gBAVKL,OAAOA,CAAAkB,EAAA;MAAA,OAAAjB,IAAA,CAAAkB,KAAA,OAAAC,SAAA;IAAA;EAAA,GAUZ;EAED,IAAMC,MAAM,GAAG,SAATA,MAAMA,CACRd,QAAsF,EACxD;IAC9B,IAAMe,cAAc,GAAG,IAAAC,sCAAkB,EAAChB,QAAQ,CAAgC;IAElF,OAAOR,iBAAiB,GAAGA,iBAAiB,CAACuB,cAAc,CAAC,GAAGA,cAAc;EACjF,CAAC;EAED,WAAAE,sBAAA,MAAAA,sBAAA;IACIC,QAAQ,EAAE,IAAAC,oBAAc,EAAC/B,UAAU,EAAEC,MAAM,CAAC;IAC5CI,OAAO,EAAEJ,MAAM,KAAK+B,UAAI,GAAGC,qBAAS,GAAG5B,OAAO;IAC9CqB,MAAM,EAANA;EAAM,GACH1B,UAAU,CAACE,OAAO,GAClBA,OAAO;AAElB,CAAC","ignoreList":[]}
|
|
@@ -16,3 +16,5 @@ export type { ProgressiveRefetchOptions } from './utils/getProgressiveRefetch';
|
|
|
16
16
|
export { getProgressiveRefetch } from './utils/getProgressiveRefetch';
|
|
17
17
|
export type { ClientDataManagerConfig } from './ClientDataManager';
|
|
18
18
|
export { ClientDataManager } from './ClientDataManager';
|
|
19
|
+
export { DataSourceProvider } from './DataSourceProvider';
|
|
20
|
+
export type { QueryNormalizer } from './types/normalizer';
|
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "ClientDataManager", {
|
|
|
9
9
|
return _ClientDataManager.ClientDataManager;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "DataSourceProvider", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _DataSourceProvider.DataSourceProvider;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
Object.defineProperty(exports, "composeInfiniteQueryOptions", {
|
|
13
19
|
enumerable: true,
|
|
14
20
|
get: function () {
|
|
@@ -87,4 +93,5 @@ var _utils2 = require("./impl/plain/utils");
|
|
|
87
93
|
var _normalizeStatus = require("./utils/normalizeStatus");
|
|
88
94
|
var _getProgressiveRefetch = require("./utils/getProgressiveRefetch");
|
|
89
95
|
var _ClientDataManager = require("./ClientDataManager");
|
|
96
|
+
var _DataSourceProvider = require("./DataSourceProvider");
|
|
90
97
|
// #sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useQueryContext","require","_useQueryData","_useQueryResponses","_useRefetchAll","_useRefetchErrored","_factory","_utils","_factory2","_utils2","_normalizeStatus","_getProgressiveRefetch","_ClientDataManager"],"sources":["index.ts"],"sourcesContent":["export type {QueryDataSourceContext, AnyQueryDataSource} from './types/base';\nexport type {RefetchIntervalFunction, RefetchInterval} from './types/refetch-interval';\n\nexport {useQueryContext} from './hooks/useQueryContext';\nexport {useQueryData} from './hooks/useQueryData';\nexport {useQueryResponses} from './hooks/useQueryResponses';\nexport {useRefetchAll} from './hooks/useRefetchAll';\nexport {useRefetchErrored} from './hooks/useRefetchErrored';\n\nexport type {InfiniteQueryDataSource, AnyInfiniteQueryDataSource} from './impl/infinite/types';\nexport {makeInfiniteQueryDataSource} from './impl/infinite/factory';\nexport {composeOptions as composeInfiniteQueryOptions} from './impl/infinite/utils';\n\nexport type {PlainQueryDataSource, AnyPlainQueryDataSource} from './impl/plain/types';\nexport {makePlainQueryDataSource} from './impl/plain/factory';\nexport {composeOptions as composePlainQueryOptions} from './impl/plain/utils';\n\nexport {normalizeStatus} from './utils/normalizeStatus';\nexport type {ProgressiveRefetchOptions} from './utils/getProgressiveRefetch';\nexport {getProgressiveRefetch} from './utils/getProgressiveRefetch';\n\nexport type {ClientDataManagerConfig} from './ClientDataManager';\nexport {ClientDataManager} from './ClientDataManager';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_useQueryContext","require","_useQueryData","_useQueryResponses","_useRefetchAll","_useRefetchErrored","_factory","_utils","_factory2","_utils2","_normalizeStatus","_getProgressiveRefetch","_ClientDataManager","_DataSourceProvider"],"sources":["index.ts"],"sourcesContent":["export type {QueryDataSourceContext, AnyQueryDataSource} from './types/base';\nexport type {RefetchIntervalFunction, RefetchInterval} from './types/refetch-interval';\n\nexport {useQueryContext} from './hooks/useQueryContext';\nexport {useQueryData} from './hooks/useQueryData';\nexport {useQueryResponses} from './hooks/useQueryResponses';\nexport {useRefetchAll} from './hooks/useRefetchAll';\nexport {useRefetchErrored} from './hooks/useRefetchErrored';\n\nexport type {InfiniteQueryDataSource, AnyInfiniteQueryDataSource} from './impl/infinite/types';\nexport {makeInfiniteQueryDataSource} from './impl/infinite/factory';\nexport {composeOptions as composeInfiniteQueryOptions} from './impl/infinite/utils';\n\nexport type {PlainQueryDataSource, AnyPlainQueryDataSource} from './impl/plain/types';\nexport {makePlainQueryDataSource} from './impl/plain/factory';\nexport {composeOptions as composePlainQueryOptions} from './impl/plain/utils';\n\nexport {normalizeStatus} from './utils/normalizeStatus';\nexport type {ProgressiveRefetchOptions} from './utils/getProgressiveRefetch';\nexport {getProgressiveRefetch} from './utils/getProgressiveRefetch';\n\nexport type {ClientDataManagerConfig} from './ClientDataManager';\nexport {ClientDataManager} from './ClientDataManager';\n\nexport {DataSourceProvider} from './DataSourceProvider';\n\nexport type {QueryNormalizer} from './types/normalizer';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,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;AAEA,IAAAU,sBAAA,GAAAV,OAAA;AAGA,IAAAW,kBAAA,GAAAX,OAAA;AAEA,IAAAY,mBAAA,GAAAZ,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Data, NormalizedData } from '@normy/core/types/types';
|
|
2
|
+
export interface QueryNormalizer {
|
|
3
|
+
/** Get normalized data */
|
|
4
|
+
getNormalizedData: () => NormalizedData;
|
|
5
|
+
/** Set normalized data (for manual updates, WebSocket, etc.) */
|
|
6
|
+
setNormalizedData: (data: Data) => void;
|
|
7
|
+
/** Clear all normalized data */
|
|
8
|
+
clear: () => void;
|
|
9
|
+
/** Get object by ID */
|
|
10
|
+
getObjectById: <T extends Data>(id: string, exampleObject?: T) => T | undefined;
|
|
11
|
+
/** Get query fragment */
|
|
12
|
+
getQueryFragment: <T extends Data>(fragment: Data, exampleObject?: T) => T | undefined;
|
|
13
|
+
/** Get dependent queries by data */
|
|
14
|
+
getDependentQueries: (mutationData: Data) => ReadonlyArray<readonly unknown[]>;
|
|
15
|
+
/** Get dependent queries by IDs */
|
|
16
|
+
getDependentQueriesByIds: (ids: ReadonlyArray<string>) => ReadonlyArray<readonly unknown[]>;
|
|
17
|
+
/** Subscribe to QueryCache changes */
|
|
18
|
+
subscribe: () => void;
|
|
19
|
+
/** Unsubscribe from QueryCache changes */
|
|
20
|
+
unsubscribe: () => void;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["normalizer.ts"],"sourcesContent":["import type {Data, NormalizedData} from '@normy/core/types/types';\n\nexport interface QueryNormalizer {\n /** Get normalized data */\n getNormalizedData: () => NormalizedData;\n /** Set normalized data (for manual updates, WebSocket, etc.) */\n setNormalizedData: (data: Data) => void;\n /** Clear all normalized data */\n clear: () => void;\n /** Get object by ID */\n getObjectById: <T extends Data>(id: string, exampleObject?: T) => T | undefined;\n /** Get query fragment */\n getQueryFragment: <T extends Data>(fragment: Data, exampleObject?: T) => T | undefined;\n /** Get dependent queries by data */\n getDependentQueries: (mutationData: Data) => ReadonlyArray<readonly unknown[]>;\n /** Get dependent queries by IDs */\n getDependentQueriesByIds: (ids: ReadonlyArray<string>) => ReadonlyArray<readonly unknown[]>;\n /** Subscribe to QueryCache changes */\n subscribe: () => void;\n /** Unsubscribe from QueryCache changes */\n unsubscribe: () => void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import type { DefaultError, QueryKey } from '@tanstack/react-query';
|
|
2
|
+
import type { OptimisticConfig } from '../../core/types/Normalizer';
|
|
2
3
|
import type { RefetchInterval } from './refetch-interval';
|
|
3
4
|
export interface QueryDataAdditionalOptions<TQueryFnData = unknown, TError = DefaultError, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> {
|
|
4
5
|
refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated The use of the enabled option is deprecated.
|
|
8
|
+
* It is recommended to use idle as query parameters to control query state.
|
|
9
|
+
*/
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
/** Normalization configuration (enable/disable) */
|
|
12
|
+
normalize?: boolean;
|
|
13
|
+
/** Optimistic data update configuration */
|
|
14
|
+
optimistic?: boolean | OptimisticConfig;
|
|
15
|
+
/** Invalidate data configuration */
|
|
16
|
+
invalidate?: boolean;
|
|
5
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["options.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {RefetchInterval} from './refetch-interval';\n\nexport interface QueryDataAdditionalOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["options.ts"],"sourcesContent":["import type {DefaultError, QueryKey} from '@tanstack/react-query';\n\nimport type {OptimisticConfig} from '../../core/types/Normalizer';\n\nimport type {RefetchInterval} from './refetch-interval';\n\nexport interface QueryDataAdditionalOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> {\n refetchInterval?: RefetchInterval<TQueryFnData, TError, TQueryData, TQueryKey>;\n /**\n * @deprecated The use of the enabled option is deprecated.\n * It is recommended to use idle as query parameters to control query state.\n */\n enabled?: boolean;\n /** Normalization configuration (enable/disable) */\n normalize?: boolean;\n /** Optimistic data update configuration */\n optimistic?: boolean | OptimisticConfig;\n /** Invalidate data configuration */\n invalidate?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _constants = require("../../constants");
|
|
4
|
+
var _formatNullableValue = require("../formatNullableValue");
|
|
5
|
+
describe('formatNullableValue', function () {
|
|
6
|
+
it('should return undefinedSymbol for undefined', function () {
|
|
7
|
+
expect((0, _formatNullableValue.formatNullableValue)(undefined)).toBe(_constants.undefinedSymbol);
|
|
8
|
+
});
|
|
9
|
+
it('should return nullSymbol for null', function () {
|
|
10
|
+
expect((0, _formatNullableValue.formatNullableValue)(null)).toBe(_constants.nullSymbol);
|
|
11
|
+
});
|
|
12
|
+
it('should return the value for non-nullable values', function () {
|
|
13
|
+
expect((0, _formatNullableValue.formatNullableValue)(42)).toBe(42);
|
|
14
|
+
expect((0, _formatNullableValue.formatNullableValue)(0)).toBe(0);
|
|
15
|
+
expect((0, _formatNullableValue.formatNullableValue)('test')).toBe('test');
|
|
16
|
+
expect((0, _formatNullableValue.formatNullableValue)('')).toBe('');
|
|
17
|
+
expect((0, _formatNullableValue.formatNullableValue)(true)).toBe(true);
|
|
18
|
+
expect((0, _formatNullableValue.formatNullableValue)(false)).toBe(false);
|
|
19
|
+
var obj = {
|
|
20
|
+
a: 1
|
|
21
|
+
};
|
|
22
|
+
expect((0, _formatNullableValue.formatNullableValue)(obj)).toBe(obj);
|
|
23
|
+
var arr = [1, 2, 3];
|
|
24
|
+
expect((0, _formatNullableValue.formatNullableValue)(arr)).toBe(arr);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
// #sourceMappingURL=formatNullableValue.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_constants","require","_formatNullableValue","describe","it","expect","formatNullableValue","undefined","toBe","undefinedSymbol","nullSymbol","obj","a","arr"],"sources":["formatNullableValue.test.ts"],"sourcesContent":["import {nullSymbol, undefinedSymbol} from '../../constants';\nimport {formatNullableValue} from '../formatNullableValue';\n\ndescribe('formatNullableValue', () => {\n it('should return undefinedSymbol for undefined', () => {\n expect(formatNullableValue(undefined)).toBe(undefinedSymbol);\n });\n\n it('should return nullSymbol for null', () => {\n expect(formatNullableValue(null)).toBe(nullSymbol);\n });\n\n it('should return the value for non-nullable values', () => {\n expect(formatNullableValue(42)).toBe(42);\n expect(formatNullableValue(0)).toBe(0);\n expect(formatNullableValue('test')).toBe('test');\n expect(formatNullableValue('')).toBe('');\n expect(formatNullableValue(true)).toBe(true);\n expect(formatNullableValue(false)).toBe(false);\n\n const obj = {a: 1};\n expect(formatNullableValue(obj)).toBe(obj);\n\n const arr = [1, 2, 3];\n expect(formatNullableValue(arr)).toBe(arr);\n });\n});\n"],"mappings":";;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEAE,QAAQ,CAAC,qBAAqB,EAAE,YAAM;EAClCC,EAAE,CAAC,6CAA6C,EAAE,YAAM;IACpDC,MAAM,CAAC,IAAAC,wCAAmB,EAACC,SAAS,CAAC,CAAC,CAACC,IAAI,CAACC,0BAAe,CAAC;EAChE,CAAC,CAAC;EAEFL,EAAE,CAAC,mCAAmC,EAAE,YAAM;IAC1CC,MAAM,CAAC,IAAAC,wCAAmB,EAAC,IAAI,CAAC,CAAC,CAACE,IAAI,CAACE,qBAAU,CAAC;EACtD,CAAC,CAAC;EAEFN,EAAE,CAAC,iDAAiD,EAAE,YAAM;IACxDC,MAAM,CAAC,IAAAC,wCAAmB,EAAC,EAAE,CAAC,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC;IACxCH,MAAM,CAAC,IAAAC,wCAAmB,EAAC,CAAC,CAAC,CAAC,CAACE,IAAI,CAAC,CAAC,CAAC;IACtCH,MAAM,CAAC,IAAAC,wCAAmB,EAAC,MAAM,CAAC,CAAC,CAACE,IAAI,CAAC,MAAM,CAAC;IAChDH,MAAM,CAAC,IAAAC,wCAAmB,EAAC,EAAE,CAAC,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC;IACxCH,MAAM,CAAC,IAAAC,wCAAmB,EAAC,IAAI,CAAC,CAAC,CAACE,IAAI,CAAC,IAAI,CAAC;IAC5CH,MAAM,CAAC,IAAAC,wCAAmB,EAAC,KAAK,CAAC,CAAC,CAACE,IAAI,CAAC,KAAK,CAAC;IAE9C,IAAMG,GAAG,GAAG;MAACC,CAAC,EAAE;IAAC,CAAC;IAClBP,MAAM,CAAC,IAAAC,wCAAmB,EAACK,GAAG,CAAC,CAAC,CAACH,IAAI,CAACG,GAAG,CAAC;IAE1C,IAAME,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrBR,MAAM,CAAC,IAAAC,wCAAmB,EAACO,GAAG,CAAC,CAAC,CAACL,IAAI,CAACK,GAAG,CAAC;EAC9C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|