@gravity-ui/data-source 0.9.0 → 0.10.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/core/types/DataSource.d.ts +8 -8
- package/build/cjs/core/types/DataSource.js.map +1 -1
- package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.d.ts +3 -0
- package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.js +35 -0
- package/build/cjs/react/components/AsyncBoundary/AsyncBoundary.js.map +1 -0
- package/build/cjs/react/components/AsyncBoundary/index.d.ts +3 -0
- package/build/cjs/react/components/AsyncBoundary/index.js +20 -0
- package/build/cjs/react/components/AsyncBoundary/index.js.map +1 -0
- package/build/cjs/react/components/AsyncBoundary/types.d.ts +13 -0
- package/build/cjs/react/components/AsyncBoundary/types.js +6 -0
- package/build/cjs/react/components/AsyncBoundary/types.js.map +1 -0
- package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.d.ts +3 -0
- package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.js +26 -0
- package/build/cjs/react/components/AsyncBoundary/withAsyncBoundary.js.map +1 -0
- package/build/cjs/react/components/EmptyView/EmptyView.d.ts +2 -0
- package/build/cjs/react/components/EmptyView/EmptyView.js +10 -0
- package/build/cjs/react/components/EmptyView/EmptyView.js.map +1 -0
- package/build/cjs/react/components/EmptyView/index.d.ts +1 -0
- package/build/cjs/react/components/EmptyView/index.js +13 -0
- package/build/cjs/react/components/EmptyView/index.js.map +1 -0
- package/build/cjs/react/components/types.d.ts +1 -1
- package/build/cjs/react/components/types.js.map +1 -1
- package/build/cjs/react/index.d.ts +5 -3
- package/build/cjs/react/index.js +27 -3
- package/build/cjs/react/index.js.map +1 -1
- package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.d.ts +3 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js +23 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js.map +1 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/index.d.ts +3 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/index.js +20 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/index.js.map +1 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/types.d.ts +8 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/types.js +6 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/types.js.map +1 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.d.ts +3 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js +26 -0
- package/build/cjs/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js.map +1 -0
- package/build/cjs/react-query/hooks/useSuspenseQueryData.d.ts +9 -0
- package/build/cjs/react-query/hooks/useSuspenseQueryData.js +22 -0
- package/build/cjs/react-query/hooks/useSuspenseQueryData.js.map +1 -0
- package/build/cjs/react-query/index.d.ts +2 -0
- package/build/cjs/react-query/index.js +35 -0
- package/build/cjs/react-query/index.js.map +1 -1
- package/build/esm/core/types/DataSource.d.ts +8 -8
- package/build/esm/core/types/DataSource.js.map +1 -1
- package/build/esm/react/components/AsyncBoundary/AsyncBoundary.d.ts +3 -0
- package/build/esm/react/components/AsyncBoundary/AsyncBoundary.js +28 -0
- package/build/esm/react/components/AsyncBoundary/AsyncBoundary.js.map +1 -0
- package/build/esm/react/components/AsyncBoundary/index.d.ts +3 -0
- package/build/esm/react/components/AsyncBoundary/index.js +3 -0
- package/build/esm/react/components/AsyncBoundary/index.js.map +1 -0
- package/build/esm/react/components/AsyncBoundary/types.d.ts +13 -0
- package/build/esm/react/components/AsyncBoundary/types.js +2 -0
- package/build/esm/react/components/AsyncBoundary/types.js.map +1 -0
- package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.d.ts +3 -0
- package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.js +19 -0
- package/build/esm/react/components/AsyncBoundary/withAsyncBoundary.js.map +1 -0
- package/build/esm/react/components/EmptyView/EmptyView.d.ts +2 -0
- package/build/esm/react/components/EmptyView/EmptyView.js +4 -0
- package/build/esm/react/components/EmptyView/EmptyView.js.map +1 -0
- package/build/esm/react/components/EmptyView/index.d.ts +1 -0
- package/build/esm/react/components/EmptyView/index.js +2 -0
- package/build/esm/react/components/EmptyView/index.js.map +1 -0
- package/build/esm/react/components/types.d.ts +1 -1
- package/build/esm/react/components/types.js.map +1 -1
- package/build/esm/react/index.d.ts +5 -3
- package/build/esm/react/index.js +4 -2
- package/build/esm/react/index.js.map +1 -1
- package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.d.ts +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js +16 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/QueryAsyncBoundary.js.map +1 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/index.d.ts +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/index.js +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/index.js.map +1 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/types.d.ts +8 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/types.js +2 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/types.js.map +1 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.d.ts +3 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js +19 -0
- package/build/esm/react-query/components/QueryAsyncBoundary/withQueryAsyncBoundary.js.map +1 -0
- package/build/esm/react-query/hooks/useSuspenseQueryData.d.ts +9 -0
- package/build/esm/react-query/hooks/useSuspenseQueryData.js +15 -0
- package/build/esm/react-query/hooks/useSuspenseQueryData.js.map +1 -0
- package/build/esm/react-query/index.d.ts +2 -0
- package/build/esm/react-query/index.js +2 -0
- package/build/esm/react-query/index.js.map +1 -1
- package/build/plugin/esbuild.d.mts +7 -0
- package/build/plugin/esbuild.mjs +6 -0
- package/build/plugin/factory-2tSt4Rte.mjs +513 -0
- package/build/plugin/index-mY40Sgl5.d.mts +24 -0
- package/build/plugin/index.d.mts +7 -0
- package/build/plugin/index.mjs +6 -0
- package/build/plugin/rollup.d.mts +6 -0
- package/build/plugin/rollup.mjs +6 -0
- package/build/plugin/rspack.d.mts +7 -0
- package/build/plugin/rspack.mjs +6 -0
- package/build/plugin/typings/client.d.ts +11 -0
- package/build/plugin/vite.d.mts +6 -0
- package/build/plugin/vite.mjs +6 -0
- package/build/plugin/webpack.d.mts +7 -0
- package/build/plugin/webpack.mjs +6 -0
- package/package.json +54 -5
- package/build/cjs/core/utils/__tests__/composeFullKey.test.js +0 -34
- package/build/cjs/core/utils/__tests__/composeFullKey.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/composeKey.test.js +0 -32
- package/build/cjs/core/utils/__tests__/composeKey.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/getError.test.js +0 -31
- package/build/cjs/core/utils/__tests__/getError.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/getStatus.test.js +0 -49
- package/build/cjs/core/utils/__tests__/getStatus.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/hasTag.test.js +0 -31
- package/build/cjs/core/utils/__tests__/hasTag.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/mergeStatuses.test.js +0 -25
- package/build/cjs/core/utils/__tests__/mergeStatuses.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/skipContext.test.js +0 -70
- package/build/cjs/core/utils/__tests__/skipContext.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/withCancellation.test.js +0 -106
- package/build/cjs/core/utils/__tests__/withCancellation.test.js.map +0 -1
- package/build/cjs/core/utils/__tests__/withCatch.test.js +0 -208
- package/build/cjs/core/utils/__tests__/withCatch.test.js.map +0 -1
- package/build/cjs/react/__tests__/DataManagerContext.test.js +0 -47
- package/build/cjs/react/__tests__/DataManagerContext.test.js.map +0 -1
- package/build/cjs/react/__tests__/withDataManager.test.js +0 -61
- package/build/cjs/react/__tests__/withDataManager.test.js.map +0 -1
- package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +0 -187
- package/build/cjs/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +0 -1
- package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js +0 -119
- package/build/cjs/react/components/DataLoader/__tests__/DataLoader.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js +0 -177
- package/build/cjs/react-query/__tests__/createQueryNormalizer.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js +0 -100
- package/build/cjs/react-query/__tests__/normalizationEdgeCases.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/subscriptions.test.js +0 -1180
- package/build/cjs/react-query/__tests__/subscriptions.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js +0 -659
- package/build/cjs/react-query/__tests__/threeLevelIntegration.test.js.map +0 -1
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js +0 -229
- package/build/cjs/react-query/__tests__/updateQueriesFromMutationData.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js +0 -55
- package/build/cjs/react-query/hooks/__tests__/useQueryContext.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js +0 -230
- package/build/cjs/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js +0 -97
- package/build/cjs/react-query/hooks/__tests__/useQueryData.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js +0 -77
- package/build/cjs/react-query/hooks/__tests__/useQueryResponses.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js +0 -79
- package/build/cjs/react-query/hooks/__tests__/useRefetchAll.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js +0 -117
- package/build/cjs/react-query/hooks/__tests__/useRefetchErrored.test.js.map +0 -1
- package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js +0 -156
- package/build/cjs/react-query/hooks/__tests__/useRefetchInterval.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +0 -295
- package/build/cjs/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js +0 -27
- package/build/cjs/react-query/utils/__tests__/formatNullableValue.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js +0 -76
- package/build/cjs/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js +0 -30
- package/build/cjs/react-query/utils/__tests__/normalizeStatus.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/notReachable.test.js +0 -35
- package/build/cjs/react-query/utils/__tests__/notReachable.test.js.map +0 -1
- package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js +0 -27
- package/build/cjs/react-query/utils/__tests__/parseNullableValue.test.js.map +0 -1
- package/build/cjs/setupTests.d.ts +0 -1
- package/build/cjs/setupTests.js +0 -4
- package/build/cjs/setupTests.js.map +0 -1
- package/build/esm/core/utils/__tests__/composeFullKey.test.js +0 -32
- package/build/esm/core/utils/__tests__/composeFullKey.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/composeKey.test.js +0 -30
- package/build/esm/core/utils/__tests__/composeKey.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/getError.test.js +0 -29
- package/build/esm/core/utils/__tests__/getError.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/getStatus.test.js +0 -47
- package/build/esm/core/utils/__tests__/getStatus.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/hasTag.test.js +0 -29
- package/build/esm/core/utils/__tests__/hasTag.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/mergeStatuses.test.js +0 -23
- package/build/esm/core/utils/__tests__/mergeStatuses.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/skipContext.test.js +0 -67
- package/build/esm/core/utils/__tests__/skipContext.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/withCancellation.test.js +0 -104
- package/build/esm/core/utils/__tests__/withCancellation.test.js.map +0 -1
- package/build/esm/core/utils/__tests__/withCatch.test.js +0 -205
- package/build/esm/core/utils/__tests__/withCatch.test.js.map +0 -1
- package/build/esm/react/__tests__/DataManagerContext.test.js +0 -44
- package/build/esm/react/__tests__/DataManagerContext.test.js.map +0 -1
- package/build/esm/react/__tests__/withDataManager.test.js +0 -58
- package/build/esm/react/__tests__/withDataManager.test.js.map +0 -1
- package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js +0 -184
- package/build/esm/react/components/DataInfiniteLoader/__tests__/DataInfiniteLoader.test.js.map +0 -1
- package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js +0 -116
- package/build/esm/react/components/DataLoader/__tests__/DataLoader.test.js.map +0 -1
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js +0 -174
- package/build/esm/react-query/__tests__/createQueryNormalizer.test.js.map +0 -1
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js +0 -98
- package/build/esm/react-query/__tests__/normalizationEdgeCases.test.js.map +0 -1
- package/build/esm/react-query/__tests__/subscriptions.test.js +0 -1176
- package/build/esm/react-query/__tests__/subscriptions.test.js.map +0 -1
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js +0 -656
- package/build/esm/react-query/__tests__/threeLevelIntegration.test.js.map +0 -1
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js +0 -227
- package/build/esm/react-query/__tests__/updateQueriesFromMutationData.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js +0 -52
- package/build/esm/react-query/hooks/__tests__/useQueryContext.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js +0 -227
- package/build/esm/react-query/hooks/__tests__/useQueryData.refetch.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryData.test.js +0 -95
- package/build/esm/react-query/hooks/__tests__/useQueryData.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js +0 -74
- package/build/esm/react-query/hooks/__tests__/useQueryResponses.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js +0 -77
- package/build/esm/react-query/hooks/__tests__/useRefetchAll.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js +0 -115
- package/build/esm/react-query/hooks/__tests__/useRefetchErrored.test.js.map +0 -1
- package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js +0 -154
- package/build/esm/react-query/hooks/__tests__/useRefetchInterval.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js +0 -292
- package/build/esm/react-query/utils/__tests__/checkMutationObjectsKeys.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js +0 -25
- package/build/esm/react-query/utils/__tests__/formatNullableValue.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js +0 -74
- package/build/esm/react-query/utils/__tests__/getProgressiveRefetch.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js +0 -28
- package/build/esm/react-query/utils/__tests__/normalizeStatus.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/notReachable.test.js +0 -33
- package/build/esm/react-query/utils/__tests__/notReachable.test.js.map +0 -1
- package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js +0 -25
- package/build/esm/react-query/utils/__tests__/parseNullableValue.test.js.map +0 -1
- package/build/esm/setupTests.d.ts +0 -1
- package/build/esm/setupTests.js +0 -2
- package/build/esm/setupTests.js.map +0 -1
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { composeFullKey } from '../composeFullKey';
|
|
2
|
-
import { composeKey } from '../composeKey';
|
|
3
|
-
describe('composeFullKey', function () {
|
|
4
|
-
var dataSource = {
|
|
5
|
-
name: 'test',
|
|
6
|
-
fetch: jest.fn()
|
|
7
|
-
};
|
|
8
|
-
var dataSourceWithTags = {
|
|
9
|
-
name: 'test',
|
|
10
|
-
fetch: jest.fn(),
|
|
11
|
-
tags: function tags() {
|
|
12
|
-
return ['tag1', 'tag2'];
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
it('should compose full key without tags', function () {
|
|
16
|
-
var params = {
|
|
17
|
-
id: 1
|
|
18
|
-
};
|
|
19
|
-
var result = composeFullKey(dataSource, params);
|
|
20
|
-
var key = composeKey(dataSource, params);
|
|
21
|
-
expect(result).toEqual(['test', key]);
|
|
22
|
-
});
|
|
23
|
-
it('should compose full key with tags', function () {
|
|
24
|
-
var params = {
|
|
25
|
-
id: 1
|
|
26
|
-
};
|
|
27
|
-
var result = composeFullKey(dataSourceWithTags, params);
|
|
28
|
-
var key = composeKey(dataSourceWithTags, params);
|
|
29
|
-
expect(result).toEqual(['test', 'tag1', 'tag2', key]);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
// #sourceMappingURL=composeFullKey.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["composeFullKey","composeKey","describe","dataSource","name","fetch","jest","fn","dataSourceWithTags","tags","it","params","id","result","key","expect","toEqual"],"sources":["composeFullKey.test.ts"],"sourcesContent":["import type {AnyDataSource} from '../../types/DataSource';\nimport {composeFullKey} from '../composeFullKey';\nimport {composeKey} from '../composeKey';\n\ndescribe('composeFullKey', () => {\n const dataSource: AnyDataSource = {\n name: 'test',\n fetch: jest.fn(),\n };\n\n const dataSourceWithTags: AnyDataSource = {\n name: 'test',\n fetch: jest.fn(),\n tags: () => ['tag1', 'tag2'],\n };\n\n it('should compose full key without tags', () => {\n const params = {id: 1};\n const result = composeFullKey(dataSource, params);\n const key = composeKey(dataSource, params);\n expect(result).toEqual(['test', key]);\n });\n\n it('should compose full key with tags', () => {\n const params = {id: 1};\n const result = composeFullKey(dataSourceWithTags, params);\n const key = composeKey(dataSourceWithTags, params);\n expect(result).toEqual(['test', 'tag1', 'tag2', key]);\n });\n});\n"],"mappings":"AACA,SAAQA,cAAc,QAAO,mBAAmB;AAChD,SAAQC,UAAU,QAAO,eAAe;AAExCC,QAAQ,CAAC,gBAAgB,EAAE,YAAM;EAC7B,IAAMC,UAAyB,GAAG;IAC9BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAEC,IAAI,CAACC,EAAE,CAAC;EACnB,CAAC;EAED,IAAMC,kBAAiC,GAAG;IACtCJ,IAAI,EAAE,MAAM;IACZC,KAAK,EAAEC,IAAI,CAACC,EAAE,CAAC,CAAC;IAChBE,IAAI,EAAE,SAANA,IAAIA,CAAA;MAAA,OAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAA;EAChC,CAAC;EAEDC,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMC,MAAM,GAAG;MAACC,EAAE,EAAE;IAAC,CAAC;IACtB,IAAMC,MAAM,GAAGb,cAAc,CAACG,UAAU,EAAEQ,MAAM,CAAC;IACjD,IAAMG,GAAG,GAAGb,UAAU,CAACE,UAAU,EAAEQ,MAAM,CAAC;IAC1CI,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC,CAAC,MAAM,EAAEF,GAAG,CAAC,CAAC;EACzC,CAAC,CAAC;EAEFJ,EAAE,CAAC,mCAAmC,EAAE,YAAM;IAC1C,IAAMC,MAAM,GAAG;MAACC,EAAE,EAAE;IAAC,CAAC;IACtB,IAAMC,MAAM,GAAGb,cAAc,CAACQ,kBAAkB,EAAEG,MAAM,CAAC;IACzD,IAAMG,GAAG,GAAGb,UAAU,CAACO,kBAAkB,EAAEG,MAAM,CAAC;IAClDI,MAAM,CAACF,MAAM,CAAC,CAACG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAEF,GAAG,CAAC,CAAC;EACzD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { idle } from '../../constants';
|
|
2
|
-
import { composeKey } from '../composeKey';
|
|
3
|
-
describe('composeKey', function () {
|
|
4
|
-
var dataSource = {
|
|
5
|
-
name: 'test',
|
|
6
|
-
fetch: jest.fn()
|
|
7
|
-
};
|
|
8
|
-
it('should compose key with idle params', function () {
|
|
9
|
-
var result = composeKey(dataSource, idle);
|
|
10
|
-
expect(result).toBe('test:idle');
|
|
11
|
-
});
|
|
12
|
-
it('should compose key with string param', function () {
|
|
13
|
-
var params = 'string';
|
|
14
|
-
var result = composeKey(dataSource, params);
|
|
15
|
-
expect(result).toBe('test("string")');
|
|
16
|
-
});
|
|
17
|
-
it('should compose key with object param', function () {
|
|
18
|
-
var params = {
|
|
19
|
-
id: 1
|
|
20
|
-
};
|
|
21
|
-
var result = composeKey(dataSource, params);
|
|
22
|
-
expect(result).toMatch(/^test\(.+\)$/);
|
|
23
|
-
});
|
|
24
|
-
it('should compose key with array param', function () {
|
|
25
|
-
var params = [1, 2, 3];
|
|
26
|
-
var result = composeKey(dataSource, params);
|
|
27
|
-
expect(result).toMatch(/^test\(.+\)$/);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
// #sourceMappingURL=composeKey.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["idle","composeKey","describe","dataSource","name","fetch","jest","fn","it","result","expect","toBe","params","id","toMatch"],"sources":["composeKey.test.ts"],"sourcesContent":["import {idle} from '../../constants';\nimport type {AnyDataSource} from '../../types/DataSource';\nimport {composeKey} from '../composeKey';\n\ndescribe('composeKey', () => {\n const dataSource: AnyDataSource = {\n name: 'test',\n fetch: jest.fn(),\n };\n\n it('should compose key with idle params', () => {\n const result = composeKey(dataSource, idle);\n expect(result).toBe('test:idle');\n });\n\n it('should compose key with string param', () => {\n const params = 'string';\n const result = composeKey(dataSource, params);\n expect(result).toBe('test(\"string\")');\n });\n\n it('should compose key with object param', () => {\n const params = {id: 1};\n const result = composeKey(dataSource, params);\n expect(result).toMatch(/^test\\(.+\\)$/);\n });\n\n it('should compose key with array param', () => {\n const params = [1, 2, 3];\n const result = composeKey(dataSource, params);\n expect(result).toMatch(/^test\\(.+\\)$/);\n });\n});\n"],"mappings":"AAAA,SAAQA,IAAI,QAAO,iBAAiB;AAEpC,SAAQC,UAAU,QAAO,eAAe;AAExCC,QAAQ,CAAC,YAAY,EAAE,YAAM;EACzB,IAAMC,UAAyB,GAAG;IAC9BC,IAAI,EAAE,MAAM;IACZC,KAAK,EAAEC,IAAI,CAACC,EAAE,CAAC;EACnB,CAAC;EAEDC,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC5C,IAAMC,MAAM,GAAGR,UAAU,CAACE,UAAU,EAAEH,IAAI,CAAC;IAC3CU,MAAM,CAACD,MAAM,CAAC,CAACE,IAAI,CAAC,WAAW,CAAC;EACpC,CAAC,CAAC;EAEFH,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMI,MAAM,GAAG,QAAQ;IACvB,IAAMH,MAAM,GAAGR,UAAU,CAACE,UAAU,EAAES,MAAM,CAAC;IAC7CF,MAAM,CAACD,MAAM,CAAC,CAACE,IAAI,CAAC,gBAAgB,CAAC;EACzC,CAAC,CAAC;EAEFH,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMI,MAAM,GAAG;MAACC,EAAE,EAAE;IAAC,CAAC;IACtB,IAAMJ,MAAM,GAAGR,UAAU,CAACE,UAAU,EAAES,MAAM,CAAC;IAC7CF,MAAM,CAACD,MAAM,CAAC,CAACK,OAAO,CAAC,cAAc,CAAC;EAC1C,CAAC,CAAC;EAEFN,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC5C,IAAMI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,IAAMH,MAAM,GAAGR,UAAU,CAACE,UAAU,EAAES,MAAM,CAAC;IAC7CF,MAAM,CAACD,MAAM,CAAC,CAACK,OAAO,CAAC,cAAc,CAAC;EAC1C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { getError } from '../getError';
|
|
2
|
-
describe('getError', function () {
|
|
3
|
-
it('should return null when no errors', function () {
|
|
4
|
-
var states = [{
|
|
5
|
-
error: null
|
|
6
|
-
}, {
|
|
7
|
-
error: null
|
|
8
|
-
}, {
|
|
9
|
-
error: null
|
|
10
|
-
}];
|
|
11
|
-
expect(getError(states)).toBeNull();
|
|
12
|
-
});
|
|
13
|
-
it('should return the first error found', function () {
|
|
14
|
-
var error1 = 'Error 1';
|
|
15
|
-
var error2 = 'Error 2';
|
|
16
|
-
var states = [{
|
|
17
|
-
error: null
|
|
18
|
-
}, {
|
|
19
|
-
error: error1
|
|
20
|
-
}, {
|
|
21
|
-
error: error2
|
|
22
|
-
}];
|
|
23
|
-
expect(getError(states)).toBe(error1);
|
|
24
|
-
});
|
|
25
|
-
it('should handle empty array', function () {
|
|
26
|
-
expect(getError([])).toBeNull();
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
// #sourceMappingURL=getError.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getError","describe","it","states","error","expect","toBeNull","error1","error2","toBe"],"sources":["getError.test.ts"],"sourcesContent":["import {getError} from '../getError';\n\ndescribe('getError', () => {\n it('should return null when no errors', () => {\n const states = [{error: null}, {error: null}, {error: null}];\n expect(getError(states)).toBeNull();\n });\n\n it('should return the first error found', () => {\n const error1 = 'Error 1';\n const error2 = 'Error 2';\n const states = [{error: null}, {error: error1}, {error: error2}];\n expect(getError(states)).toBe(error1);\n });\n\n it('should handle empty array', () => {\n expect(getError([])).toBeNull();\n });\n});\n"],"mappings":"AAAA,SAAQA,QAAQ,QAAO,aAAa;AAEpCC,QAAQ,CAAC,UAAU,EAAE,YAAM;EACvBC,EAAE,CAAC,mCAAmC,EAAE,YAAM;IAC1C,IAAMC,MAAM,GAAG,CAAC;MAACC,KAAK,EAAE;IAAI,CAAC,EAAE;MAACA,KAAK,EAAE;IAAI,CAAC,EAAE;MAACA,KAAK,EAAE;IAAI,CAAC,CAAC;IAC5DC,MAAM,CAACL,QAAQ,CAACG,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC;EACvC,CAAC,CAAC;EAEFJ,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC5C,IAAMK,MAAM,GAAG,SAAS;IACxB,IAAMC,MAAM,GAAG,SAAS;IACxB,IAAML,MAAM,GAAG,CAAC;MAACC,KAAK,EAAE;IAAI,CAAC,EAAE;MAACA,KAAK,EAAEG;IAAM,CAAC,EAAE;MAACH,KAAK,EAAEI;IAAM,CAAC,CAAC;IAChEH,MAAM,CAACL,QAAQ,CAACG,MAAM,CAAC,CAAC,CAACM,IAAI,CAACF,MAAM,CAAC;EACzC,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,YAAM;IAClCG,MAAM,CAACL,QAAQ,CAAC,EAAE,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC;EACnC,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { getStatus } from '../getStatus';
|
|
2
|
-
describe('getStatus', function () {
|
|
3
|
-
it('should return success when all statuses are success', function () {
|
|
4
|
-
var states = [{
|
|
5
|
-
status: 'success'
|
|
6
|
-
}, {
|
|
7
|
-
status: 'success'
|
|
8
|
-
}, {
|
|
9
|
-
status: 'success'
|
|
10
|
-
}];
|
|
11
|
-
expect(getStatus(states)).toBe('success');
|
|
12
|
-
});
|
|
13
|
-
it('should return loading when at least one status is loading', function () {
|
|
14
|
-
var states = [{
|
|
15
|
-
status: 'success'
|
|
16
|
-
}, {
|
|
17
|
-
status: 'loading'
|
|
18
|
-
}, {
|
|
19
|
-
status: 'success'
|
|
20
|
-
}];
|
|
21
|
-
expect(getStatus(states)).toBe('loading');
|
|
22
|
-
});
|
|
23
|
-
it('should return error when at least one status is error', function () {
|
|
24
|
-
var states = [{
|
|
25
|
-
status: 'success'
|
|
26
|
-
}, {
|
|
27
|
-
status: 'error'
|
|
28
|
-
}, {
|
|
29
|
-
status: 'success'
|
|
30
|
-
}];
|
|
31
|
-
expect(getStatus(states)).toBe('error');
|
|
32
|
-
});
|
|
33
|
-
it('should prioritize error over loading', function () {
|
|
34
|
-
var states = [{
|
|
35
|
-
status: 'loading'
|
|
36
|
-
}, {
|
|
37
|
-
status: 'error'
|
|
38
|
-
}, {
|
|
39
|
-
status: 'success'
|
|
40
|
-
}];
|
|
41
|
-
expect(getStatus(states)).toBe('error');
|
|
42
|
-
});
|
|
43
|
-
it('should handle empty array', function () {
|
|
44
|
-
expect(getStatus([])).toBe('success');
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
// #sourceMappingURL=getStatus.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getStatus","describe","it","states","status","expect","toBe"],"sources":["getStatus.test.ts"],"sourcesContent":["import type {DataLoaderStatus} from '../../types/DataLoaderStatus';\nimport {getStatus} from '../getStatus';\n\ndescribe('getStatus', () => {\n it('should return success when all statuses are success', () => {\n const states = [\n {status: 'success' as DataLoaderStatus},\n {status: 'success' as DataLoaderStatus},\n {status: 'success' as DataLoaderStatus},\n ];\n expect(getStatus(states)).toBe('success');\n });\n\n it('should return loading when at least one status is loading', () => {\n const states = [\n {status: 'success' as DataLoaderStatus},\n {status: 'loading' as DataLoaderStatus},\n {status: 'success' as DataLoaderStatus},\n ];\n expect(getStatus(states)).toBe('loading');\n });\n\n it('should return error when at least one status is error', () => {\n const states = [\n {status: 'success' as DataLoaderStatus},\n {status: 'error' as DataLoaderStatus},\n {status: 'success' as DataLoaderStatus},\n ];\n expect(getStatus(states)).toBe('error');\n });\n\n it('should prioritize error over loading', () => {\n const states = [\n {status: 'loading' as DataLoaderStatus},\n {status: 'error' as DataLoaderStatus},\n {status: 'success' as DataLoaderStatus},\n ];\n expect(getStatus(states)).toBe('error');\n });\n\n it('should handle empty array', () => {\n expect(getStatus([])).toBe('success');\n });\n});\n"],"mappings":"AACA,SAAQA,SAAS,QAAO,cAAc;AAEtCC,QAAQ,CAAC,WAAW,EAAE,YAAM;EACxBC,EAAE,CAAC,qDAAqD,EAAE,YAAM;IAC5D,IAAMC,MAAM,GAAG,CACX;MAACC,MAAM,EAAE;IAA6B,CAAC,EACvC;MAACA,MAAM,EAAE;IAA6B,CAAC,EACvC;MAACA,MAAM,EAAE;IAA6B,CAAC,CAC1C;IACDC,MAAM,CAACL,SAAS,CAACG,MAAM,CAAC,CAAC,CAACG,IAAI,CAAC,SAAS,CAAC;EAC7C,CAAC,CAAC;EAEFJ,EAAE,CAAC,2DAA2D,EAAE,YAAM;IAClE,IAAMC,MAAM,GAAG,CACX;MAACC,MAAM,EAAE;IAA6B,CAAC,EACvC;MAACA,MAAM,EAAE;IAA6B,CAAC,EACvC;MAACA,MAAM,EAAE;IAA6B,CAAC,CAC1C;IACDC,MAAM,CAACL,SAAS,CAACG,MAAM,CAAC,CAAC,CAACG,IAAI,CAAC,SAAS,CAAC;EAC7C,CAAC,CAAC;EAEFJ,EAAE,CAAC,uDAAuD,EAAE,YAAM;IAC9D,IAAMC,MAAM,GAAG,CACX;MAACC,MAAM,EAAE;IAA6B,CAAC,EACvC;MAACA,MAAM,EAAE;IAA2B,CAAC,EACrC;MAACA,MAAM,EAAE;IAA6B,CAAC,CAC1C;IACDC,MAAM,CAACL,SAAS,CAACG,MAAM,CAAC,CAAC,CAACG,IAAI,CAAC,OAAO,CAAC;EAC3C,CAAC,CAAC;EAEFJ,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMC,MAAM,GAAG,CACX;MAACC,MAAM,EAAE;IAA6B,CAAC,EACvC;MAACA,MAAM,EAAE;IAA2B,CAAC,EACrC;MAACA,MAAM,EAAE;IAA6B,CAAC,CAC1C;IACDC,MAAM,CAACL,SAAS,CAACG,MAAM,CAAC,CAAC,CAACG,IAAI,CAAC,OAAO,CAAC;EAC3C,CAAC,CAAC;EAEFJ,EAAE,CAAC,2BAA2B,EAAE,YAAM;IAClCG,MAAM,CAACL,SAAS,CAAC,EAAE,CAAC,CAAC,CAACM,IAAI,CAAC,SAAS,CAAC;EACzC,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { hasTag } from '../hasTag';
|
|
2
|
-
describe('hasTag', function () {
|
|
3
|
-
it('should return true when key contains tag', function () {
|
|
4
|
-
var key = ['dataSource', 'tag1', 'tag2', 'fullKey'];
|
|
5
|
-
var tag = 'tag1';
|
|
6
|
-
expect(hasTag(key, tag)).toBe(true);
|
|
7
|
-
});
|
|
8
|
-
it('should return false when key does not contain tag', function () {
|
|
9
|
-
var key = ['dataSource', 'tag1', 'tag2', 'fullKey'];
|
|
10
|
-
var tag = 'tag3';
|
|
11
|
-
expect(hasTag(key, tag)).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
it('should return false when tag is at first position (data source name)', function () {
|
|
14
|
-
var key = ['tag1', 'tag2', 'tag3', 'fullKey'];
|
|
15
|
-
var tag = 'tag1';
|
|
16
|
-
expect(hasTag(key, tag)).toBe(false);
|
|
17
|
-
});
|
|
18
|
-
it('should return false when tag is at last position (full key)', function () {
|
|
19
|
-
var key = ['dataSource', 'tag1', 'tag2', 'tag3'];
|
|
20
|
-
var tag = 'tag3';
|
|
21
|
-
expect(hasTag(key, tag)).toBe(false);
|
|
22
|
-
});
|
|
23
|
-
it('should return false when key is not an array', function () {
|
|
24
|
-
var key = 'not an array';
|
|
25
|
-
var tag = 'tag';
|
|
26
|
-
expect(hasTag(key, tag)).toBe(false);
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
// #sourceMappingURL=hasTag.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["hasTag","describe","it","key","tag","expect","toBe"],"sources":["hasTag.test.ts"],"sourcesContent":["import type {DataSourceKey, DataSourceTag} from '../../types/DataSource';\nimport {hasTag} from '../hasTag';\n\ndescribe('hasTag', () => {\n it('should return true when key contains tag', () => {\n const key: DataSourceKey = ['dataSource', 'tag1', 'tag2', 'fullKey'];\n const tag: DataSourceTag = 'tag1';\n expect(hasTag(key, tag)).toBe(true);\n });\n\n it('should return false when key does not contain tag', () => {\n const key: DataSourceKey = ['dataSource', 'tag1', 'tag2', 'fullKey'];\n const tag: DataSourceTag = 'tag3';\n expect(hasTag(key, tag)).toBe(false);\n });\n\n it('should return false when tag is at first position (data source name)', () => {\n const key: DataSourceKey = ['tag1', 'tag2', 'tag3', 'fullKey'];\n const tag: DataSourceTag = 'tag1';\n expect(hasTag(key, tag)).toBe(false);\n });\n\n it('should return false when tag is at last position (full key)', () => {\n const key: DataSourceKey = ['dataSource', 'tag1', 'tag2', 'tag3'];\n const tag: DataSourceTag = 'tag3';\n expect(hasTag(key, tag)).toBe(false);\n });\n\n it('should return false when key is not an array', () => {\n const key = 'not an array';\n const tag: DataSourceTag = 'tag';\n expect(hasTag(key as unknown as DataSourceKey, tag)).toBe(false);\n });\n});\n"],"mappings":"AACA,SAAQA,MAAM,QAAO,WAAW;AAEhCC,QAAQ,CAAC,QAAQ,EAAE,YAAM;EACrBC,EAAE,CAAC,0CAA0C,EAAE,YAAM;IACjD,IAAMC,GAAkB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;IACpE,IAAMC,GAAkB,GAAG,MAAM;IACjCC,MAAM,CAACL,MAAM,CAACG,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,IAAI,CAAC;EACvC,CAAC,CAAC;EAEFJ,EAAE,CAAC,mDAAmD,EAAE,YAAM;IAC1D,IAAMC,GAAkB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;IACpE,IAAMC,GAAkB,GAAG,MAAM;IACjCC,MAAM,CAACL,MAAM,CAACG,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,KAAK,CAAC;EACxC,CAAC,CAAC;EAEFJ,EAAE,CAAC,sEAAsE,EAAE,YAAM;IAC7E,IAAMC,GAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;IAC9D,IAAMC,GAAkB,GAAG,MAAM;IACjCC,MAAM,CAACL,MAAM,CAACG,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,KAAK,CAAC;EACxC,CAAC,CAAC;EAEFJ,EAAE,CAAC,6DAA6D,EAAE,YAAM;IACpE,IAAMC,GAAkB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACjE,IAAMC,GAAkB,GAAG,MAAM;IACjCC,MAAM,CAACL,MAAM,CAACG,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,KAAK,CAAC;EACxC,CAAC,CAAC;EAEFJ,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACrD,IAAMC,GAAG,GAAG,cAAc;IAC1B,IAAMC,GAAkB,GAAG,KAAK;IAChCC,MAAM,CAACL,MAAM,CAACG,GAAG,EAA8BC,GAAG,CAAC,CAAC,CAACE,IAAI,CAAC,KAAK,CAAC;EACpE,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { mergeStatuses } from '../mergeStatuses';
|
|
2
|
-
describe('mergeStatuses', function () {
|
|
3
|
-
it('should return success when all statuses are success', function () {
|
|
4
|
-
var statuses = ['success', 'success', 'success'];
|
|
5
|
-
expect(mergeStatuses(statuses)).toBe('success');
|
|
6
|
-
});
|
|
7
|
-
it('should return loading when at least one status is loading', function () {
|
|
8
|
-
var statuses = ['success', 'loading', 'success'];
|
|
9
|
-
expect(mergeStatuses(statuses)).toBe('loading');
|
|
10
|
-
});
|
|
11
|
-
it('should return error when at least one status is error', function () {
|
|
12
|
-
var statuses = ['success', 'error', 'success'];
|
|
13
|
-
expect(mergeStatuses(statuses)).toBe('error');
|
|
14
|
-
});
|
|
15
|
-
it('should prioritize error over loading', function () {
|
|
16
|
-
var statuses = ['loading', 'error', 'success'];
|
|
17
|
-
expect(mergeStatuses(statuses)).toBe('error');
|
|
18
|
-
});
|
|
19
|
-
it('should handle empty array', function () {
|
|
20
|
-
expect(mergeStatuses([])).toBe('success');
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
// #sourceMappingURL=mergeStatuses.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["mergeStatuses","describe","it","statuses","expect","toBe"],"sources":["mergeStatuses.test.ts"],"sourcesContent":["import type {DataLoaderStatus} from '../../types/DataLoaderStatus';\nimport {mergeStatuses} from '../mergeStatuses';\n\ndescribe('mergeStatuses', () => {\n it('should return success when all statuses are success', () => {\n const statuses: DataLoaderStatus[] = ['success', 'success', 'success'];\n expect(mergeStatuses(statuses)).toBe('success');\n });\n\n it('should return loading when at least one status is loading', () => {\n const statuses: DataLoaderStatus[] = ['success', 'loading', 'success'];\n expect(mergeStatuses(statuses)).toBe('loading');\n });\n\n it('should return error when at least one status is error', () => {\n const statuses: DataLoaderStatus[] = ['success', 'error', 'success'];\n expect(mergeStatuses(statuses)).toBe('error');\n });\n\n it('should prioritize error over loading', () => {\n const statuses: DataLoaderStatus[] = ['loading', 'error', 'success'];\n expect(mergeStatuses(statuses)).toBe('error');\n });\n\n it('should handle empty array', () => {\n expect(mergeStatuses([])).toBe('success');\n });\n});\n"],"mappings":"AACA,SAAQA,aAAa,QAAO,kBAAkB;AAE9CC,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC5BC,EAAE,CAAC,qDAAqD,EAAE,YAAM;IAC5D,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACtEC,MAAM,CAACJ,aAAa,CAACG,QAAQ,CAAC,CAAC,CAACE,IAAI,CAAC,SAAS,CAAC;EACnD,CAAC,CAAC;EAEFH,EAAE,CAAC,2DAA2D,EAAE,YAAM;IAClE,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACtEC,MAAM,CAACJ,aAAa,CAACG,QAAQ,CAAC,CAAC,CAACE,IAAI,CAAC,SAAS,CAAC;EACnD,CAAC,CAAC;EAEFH,EAAE,CAAC,uDAAuD,EAAE,YAAM;IAC9D,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;IACpEC,MAAM,CAACJ,aAAa,CAACG,QAAQ,CAAC,CAAC,CAACE,IAAI,CAAC,OAAO,CAAC;EACjD,CAAC,CAAC;EAEFH,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;IACpEC,MAAM,CAACJ,aAAa,CAACG,QAAQ,CAAC,CAAC,CAACE,IAAI,CAAC,OAAO,CAAC;EACjD,CAAC,CAAC;EAEFH,EAAE,CAAC,2BAA2B,EAAE,YAAM;IAClCE,MAAM,CAACJ,aAAa,CAAC,EAAE,CAAC,CAAC,CAACK,IAAI,CAAC,SAAS,CAAC;EAC7C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
-
import { skipContext } from '../skipContext';
|
|
4
|
-
describe('skipContext', function () {
|
|
5
|
-
it('should ignore context and query function context parameters', function () {
|
|
6
|
-
var mockFn = jest.fn(function (arg1, arg2) {
|
|
7
|
-
return "".concat(arg1, "-").concat(arg2);
|
|
8
|
-
});
|
|
9
|
-
var wrappedFn = skipContext(mockFn);
|
|
10
|
-
var result = wrappedFn('context', 'queryFnContext', 'hello', 42);
|
|
11
|
-
expect(mockFn).toHaveBeenCalledWith('hello', 42);
|
|
12
|
-
expect(result).toBe('hello-42');
|
|
13
|
-
});
|
|
14
|
-
it('should work with functions that have no parameters', function () {
|
|
15
|
-
var mockFn = jest.fn(function () {
|
|
16
|
-
return 'result';
|
|
17
|
-
});
|
|
18
|
-
var wrappedFn = skipContext(mockFn);
|
|
19
|
-
var result = wrappedFn('context', 'queryFnContext');
|
|
20
|
-
expect(mockFn).toHaveBeenCalledWith();
|
|
21
|
-
expect(result).toBe('result');
|
|
22
|
-
});
|
|
23
|
-
it('should work with async functions', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
24
|
-
var mockFn, wrappedFn, result;
|
|
25
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
26
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
27
|
-
case 0:
|
|
28
|
-
mockFn = jest.fn(/*#__PURE__*/function () {
|
|
29
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(arg) {
|
|
30
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
31
|
-
while (1) switch (_context.prev = _context.next) {
|
|
32
|
-
case 0:
|
|
33
|
-
return _context.abrupt("return", "async-".concat(arg));
|
|
34
|
-
case 1:
|
|
35
|
-
case "end":
|
|
36
|
-
return _context.stop();
|
|
37
|
-
}
|
|
38
|
-
}, _callee);
|
|
39
|
-
}));
|
|
40
|
-
return function (_x) {
|
|
41
|
-
return _ref2.apply(this, arguments);
|
|
42
|
-
};
|
|
43
|
-
}());
|
|
44
|
-
wrappedFn = skipContext(mockFn);
|
|
45
|
-
_context2.next = 4;
|
|
46
|
-
return wrappedFn('context', 'queryFnContext', 'test');
|
|
47
|
-
case 4:
|
|
48
|
-
result = _context2.sent;
|
|
49
|
-
expect(mockFn).toHaveBeenCalledWith('test');
|
|
50
|
-
expect(result).toBe('async-test');
|
|
51
|
-
case 7:
|
|
52
|
-
case "end":
|
|
53
|
-
return _context2.stop();
|
|
54
|
-
}
|
|
55
|
-
}, _callee2);
|
|
56
|
-
})));
|
|
57
|
-
it('should pass multiple arguments correctly', function () {
|
|
58
|
-
var mockFn = jest.fn(function (arg1, arg2, arg3) {
|
|
59
|
-
return "".concat(arg1, "-").concat(arg2, "-").concat(arg3);
|
|
60
|
-
});
|
|
61
|
-
var wrappedFn = skipContext(mockFn);
|
|
62
|
-
var result = wrappedFn('context', 'queryFnContext', 'hello', 42, true);
|
|
63
|
-
expect(mockFn).toHaveBeenCalledWith('hello', 42, true);
|
|
64
|
-
expect(result).toBe('hello-42-true');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
// #sourceMappingURL=skipContext.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["skipContext","describe","it","mockFn","jest","fn","arg1","arg2","concat","wrappedFn","result","expect","toHaveBeenCalledWith","toBe","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","wrap","_callee2$","_context2","prev","next","_ref2","_callee","arg","_callee$","_context","abrupt","stop","_x","apply","arguments","sent","arg3"],"sources":["skipContext.test.ts"],"sourcesContent":["import {skipContext} from '../skipContext';\n\ndescribe('skipContext', () => {\n it('should ignore context and query function context parameters', () => {\n const mockFn = jest.fn((arg1: string, arg2: number) => `${arg1}-${arg2}`);\n const wrappedFn = skipContext(mockFn);\n const result = wrappedFn('context', 'queryFnContext', 'hello', 42);\n expect(mockFn).toHaveBeenCalledWith('hello', 42);\n expect(result).toBe('hello-42');\n });\n\n it('should work with functions that have no parameters', () => {\n const mockFn = jest.fn(() => 'result');\n const wrappedFn = skipContext(mockFn);\n const result = wrappedFn('context', 'queryFnContext');\n expect(mockFn).toHaveBeenCalledWith();\n expect(result).toBe('result');\n });\n\n it('should work with async functions', async () => {\n const mockFn = jest.fn(async (arg: string) => `async-${arg}`);\n const wrappedFn = skipContext(mockFn);\n const result = await wrappedFn('context', 'queryFnContext', 'test');\n expect(mockFn).toHaveBeenCalledWith('test');\n expect(result).toBe('async-test');\n });\n\n it('should pass multiple arguments correctly', () => {\n const mockFn = jest.fn(\n (arg1: string, arg2: number, arg3: boolean) => `${arg1}-${arg2}-${arg3}`,\n );\n const wrappedFn = skipContext(mockFn);\n const result = wrappedFn('context', 'queryFnContext', 'hello', 42, true);\n expect(mockFn).toHaveBeenCalledWith('hello', 42, true);\n expect(result).toBe('hello-42-true');\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { isAbortable, isCancellable, withCancellation } from '../withCancellation';
|
|
2
|
-
describe('withCancellation', function () {
|
|
3
|
-
describe('isCancellable', function () {
|
|
4
|
-
it('should return true for objects with cancel method', function () {
|
|
5
|
-
var cancellable = {
|
|
6
|
-
cancel: jest.fn()
|
|
7
|
-
};
|
|
8
|
-
expect(isCancellable(cancellable)).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
it('should return false for null', function () {
|
|
11
|
-
expect(isCancellable(null)).toBe(false);
|
|
12
|
-
});
|
|
13
|
-
it('should return false for objects without cancel method', function () {
|
|
14
|
-
expect(isCancellable({})).toBe(false);
|
|
15
|
-
});
|
|
16
|
-
it('should return false for objects with invalid cancel method', function () {
|
|
17
|
-
expect(isCancellable({
|
|
18
|
-
cancel: 'not a function'
|
|
19
|
-
})).toBe(false);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
describe('isAbortable', function () {
|
|
23
|
-
it('should return true for objects with valid signal', function () {
|
|
24
|
-
var abortController = new AbortController();
|
|
25
|
-
var abortable = {
|
|
26
|
-
signal: abortController.signal
|
|
27
|
-
};
|
|
28
|
-
expect(isAbortable(abortable)).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
it('should return false for null', function () {
|
|
31
|
-
expect(isAbortable(null)).toBe(false);
|
|
32
|
-
});
|
|
33
|
-
it('should return false for objects without signal', function () {
|
|
34
|
-
expect(isAbortable({})).toBe(false);
|
|
35
|
-
});
|
|
36
|
-
it('should return false for objects with invalid signal', function () {
|
|
37
|
-
expect(isAbortable({
|
|
38
|
-
signal: {}
|
|
39
|
-
})).toBe(false);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('withCancellation', function () {
|
|
43
|
-
it('should add abort listener when fetch returns cancellable and context is abortable', function () {
|
|
44
|
-
var mockCancel = jest.fn();
|
|
45
|
-
var cancellable = {
|
|
46
|
-
cancel: mockCancel
|
|
47
|
-
};
|
|
48
|
-
var abortController = new AbortController();
|
|
49
|
-
var fetchContext = {
|
|
50
|
-
signal: abortController.signal
|
|
51
|
-
};
|
|
52
|
-
var mockFetch = jest.fn().mockReturnValue(cancellable);
|
|
53
|
-
var dataSource = {
|
|
54
|
-
name: 'test',
|
|
55
|
-
fetch: mockFetch
|
|
56
|
-
};
|
|
57
|
-
var wrappedFetch = withCancellation(dataSource.fetch);
|
|
58
|
-
var result = wrappedFetch({}, fetchContext, {});
|
|
59
|
-
expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});
|
|
60
|
-
expect(result).toBe(cancellable);
|
|
61
|
-
expect(mockCancel).not.toHaveBeenCalled();
|
|
62
|
-
|
|
63
|
-
// Simulate abort
|
|
64
|
-
abortController.abort();
|
|
65
|
-
expect(mockCancel).toHaveBeenCalled();
|
|
66
|
-
});
|
|
67
|
-
it('should not add abort listener when fetch returns non-cancellable', function () {
|
|
68
|
-
var abortController = new AbortController();
|
|
69
|
-
var fetchContext = {
|
|
70
|
-
signal: abortController.signal
|
|
71
|
-
};
|
|
72
|
-
var mockFetch = jest.fn().mockReturnValue('not cancellable');
|
|
73
|
-
var dataSource = {
|
|
74
|
-
name: 'test',
|
|
75
|
-
fetch: mockFetch
|
|
76
|
-
};
|
|
77
|
-
var wrappedFetch = withCancellation(dataSource.fetch);
|
|
78
|
-
var result = wrappedFetch({}, fetchContext, {});
|
|
79
|
-
expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});
|
|
80
|
-
expect(result).toBe('not cancellable');
|
|
81
|
-
|
|
82
|
-
// No error should occur when aborting
|
|
83
|
-
abortController.abort();
|
|
84
|
-
});
|
|
85
|
-
it('should not add abort listener when context is not abortable', function () {
|
|
86
|
-
var mockCancel = jest.fn();
|
|
87
|
-
var cancellable = {
|
|
88
|
-
cancel: mockCancel
|
|
89
|
-
};
|
|
90
|
-
var fetchContext = {};
|
|
91
|
-
var mockFetch = jest.fn().mockReturnValue(cancellable);
|
|
92
|
-
var dataSource = {
|
|
93
|
-
name: 'test',
|
|
94
|
-
fetch: mockFetch
|
|
95
|
-
};
|
|
96
|
-
var wrappedFetch = withCancellation(dataSource.fetch);
|
|
97
|
-
var result = wrappedFetch({}, fetchContext, {});
|
|
98
|
-
expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});
|
|
99
|
-
expect(result).toBe(cancellable);
|
|
100
|
-
expect(mockCancel).not.toHaveBeenCalled();
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
// #sourceMappingURL=withCancellation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isAbortable","isCancellable","withCancellation","describe","it","cancellable","cancel","jest","fn","expect","toBe","abortController","AbortController","abortable","signal","mockCancel","fetchContext","mockFetch","mockReturnValue","dataSource","name","fetch","wrappedFetch","result","toHaveBeenCalledWith","not","toHaveBeenCalled","abort"],"sources":["withCancellation.test.ts"],"sourcesContent":["import type {AnyDataSource} from '../../types/DataSource';\nimport type {Cancellable} from '../withCancellation';\nimport {isAbortable, isCancellable, withCancellation} from '../withCancellation';\n\ndescribe('withCancellation', () => {\n describe('isCancellable', () => {\n it('should return true for objects with cancel method', () => {\n const cancellable: Cancellable = {\n cancel: jest.fn(),\n };\n expect(isCancellable(cancellable)).toBe(true);\n });\n\n it('should return false for null', () => {\n expect(isCancellable(null)).toBe(false);\n });\n\n it('should return false for objects without cancel method', () => {\n expect(isCancellable({})).toBe(false);\n });\n\n it('should return false for objects with invalid cancel method', () => {\n expect(isCancellable({cancel: 'not a function'})).toBe(false);\n });\n });\n\n describe('isAbortable', () => {\n it('should return true for objects with valid signal', () => {\n const abortController = new AbortController();\n const abortable = {signal: abortController.signal};\n expect(isAbortable(abortable)).toBe(true);\n });\n\n it('should return false for null', () => {\n expect(isAbortable(null)).toBe(false);\n });\n\n it('should return false for objects without signal', () => {\n expect(isAbortable({})).toBe(false);\n });\n\n it('should return false for objects with invalid signal', () => {\n expect(isAbortable({signal: {}})).toBe(false);\n });\n });\n\n describe('withCancellation', () => {\n it('should add abort listener when fetch returns cancellable and context is abortable', () => {\n const mockCancel = jest.fn();\n const cancellable: Cancellable = {\n cancel: mockCancel,\n };\n\n const abortController = new AbortController();\n const fetchContext = {signal: abortController.signal};\n\n const mockFetch = jest.fn().mockReturnValue(cancellable);\n const dataSource: AnyDataSource = {\n name: 'test',\n fetch: mockFetch,\n };\n\n const wrappedFetch = withCancellation(dataSource.fetch);\n const result = wrappedFetch({}, fetchContext, {});\n\n expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});\n expect(result).toBe(cancellable);\n expect(mockCancel).not.toHaveBeenCalled();\n\n // Simulate abort\n abortController.abort();\n expect(mockCancel).toHaveBeenCalled();\n });\n\n it('should not add abort listener when fetch returns non-cancellable', () => {\n const abortController = new AbortController();\n const fetchContext = {signal: abortController.signal};\n\n const mockFetch = jest.fn().mockReturnValue('not cancellable');\n const dataSource: AnyDataSource = {\n name: 'test',\n fetch: mockFetch,\n };\n\n const wrappedFetch = withCancellation(dataSource.fetch);\n const result = wrappedFetch({}, fetchContext, {});\n\n expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});\n expect(result).toBe('not cancellable');\n\n // No error should occur when aborting\n abortController.abort();\n });\n\n it('should not add abort listener when context is not abortable', () => {\n const mockCancel = jest.fn();\n const cancellable: Cancellable = {\n cancel: mockCancel,\n };\n\n const fetchContext = {};\n\n const mockFetch = jest.fn().mockReturnValue(cancellable);\n const dataSource: AnyDataSource = {\n name: 'test',\n fetch: mockFetch,\n };\n\n const wrappedFetch = withCancellation(dataSource.fetch);\n const result = wrappedFetch({}, fetchContext, {});\n\n expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});\n expect(result).toBe(cancellable);\n expect(mockCancel).not.toHaveBeenCalled();\n });\n });\n});\n"],"mappings":"AAEA,SAAQA,WAAW,EAAEC,aAAa,EAAEC,gBAAgB,QAAO,qBAAqB;AAEhFC,QAAQ,CAAC,kBAAkB,EAAE,YAAM;EAC/BA,QAAQ,CAAC,eAAe,EAAE,YAAM;IAC5BC,EAAE,CAAC,mDAAmD,EAAE,YAAM;MAC1D,IAAMC,WAAwB,GAAG;QAC7BC,MAAM,EAAEC,IAAI,CAACC,EAAE,CAAC;MACpB,CAAC;MACDC,MAAM,CAACR,aAAa,CAACI,WAAW,CAAC,CAAC,CAACK,IAAI,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC;IAEFN,EAAE,CAAC,8BAA8B,EAAE,YAAM;MACrCK,MAAM,CAACR,aAAa,CAAC,IAAI,CAAC,CAAC,CAACS,IAAI,CAAC,KAAK,CAAC;IAC3C,CAAC,CAAC;IAEFN,EAAE,CAAC,uDAAuD,EAAE,YAAM;MAC9DK,MAAM,CAACR,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAACS,IAAI,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC;IAEFN,EAAE,CAAC,4DAA4D,EAAE,YAAM;MACnEK,MAAM,CAACR,aAAa,CAAC;QAACK,MAAM,EAAE;MAAgB,CAAC,CAAC,CAAC,CAACI,IAAI,CAAC,KAAK,CAAC;IACjE,CAAC,CAAC;EACN,CAAC,CAAC;EAEFP,QAAQ,CAAC,aAAa,EAAE,YAAM;IAC1BC,EAAE,CAAC,kDAAkD,EAAE,YAAM;MACzD,IAAMO,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;MAC7C,IAAMC,SAAS,GAAG;QAACC,MAAM,EAAEH,eAAe,CAACG;MAAM,CAAC;MAClDL,MAAM,CAACT,WAAW,CAACa,SAAS,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC,CAAC;IAEFN,EAAE,CAAC,8BAA8B,EAAE,YAAM;MACrCK,MAAM,CAACT,WAAW,CAAC,IAAI,CAAC,CAAC,CAACU,IAAI,CAAC,KAAK,CAAC;IACzC,CAAC,CAAC;IAEFN,EAAE,CAAC,gDAAgD,EAAE,YAAM;MACvDK,MAAM,CAACT,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,KAAK,CAAC;IACvC,CAAC,CAAC;IAEFN,EAAE,CAAC,qDAAqD,EAAE,YAAM;MAC5DK,MAAM,CAACT,WAAW,CAAC;QAACc,MAAM,EAAE,CAAC;MAAC,CAAC,CAAC,CAAC,CAACJ,IAAI,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC;EACN,CAAC,CAAC;EAEFP,QAAQ,CAAC,kBAAkB,EAAE,YAAM;IAC/BC,EAAE,CAAC,mFAAmF,EAAE,YAAM;MAC1F,IAAMW,UAAU,GAAGR,IAAI,CAACC,EAAE,CAAC,CAAC;MAC5B,IAAMH,WAAwB,GAAG;QAC7BC,MAAM,EAAES;MACZ,CAAC;MAED,IAAMJ,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;MAC7C,IAAMI,YAAY,GAAG;QAACF,MAAM,EAAEH,eAAe,CAACG;MAAM,CAAC;MAErD,IAAMG,SAAS,GAAGV,IAAI,CAACC,EAAE,CAAC,CAAC,CAACU,eAAe,CAACb,WAAW,CAAC;MACxD,IAAMc,UAAyB,GAAG;QAC9BC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAEJ;MACX,CAAC;MAED,IAAMK,YAAY,GAAGpB,gBAAgB,CAACiB,UAAU,CAACE,KAAK,CAAC;MACvD,IAAME,MAAM,GAAGD,YAAY,CAAC,CAAC,CAAC,EAAEN,YAAY,EAAE,CAAC,CAAC,CAAC;MAEjDP,MAAM,CAACQ,SAAS,CAAC,CAACO,oBAAoB,CAAC,CAAC,CAAC,EAAER,YAAY,EAAE,CAAC,CAAC,CAAC;MAC5DP,MAAM,CAACc,MAAM,CAAC,CAACb,IAAI,CAACL,WAAW,CAAC;MAChCI,MAAM,CAACM,UAAU,CAAC,CAACU,GAAG,CAACC,gBAAgB,CAAC,CAAC;;MAEzC;MACAf,eAAe,CAACgB,KAAK,CAAC,CAAC;MACvBlB,MAAM,CAACM,UAAU,CAAC,CAACW,gBAAgB,CAAC,CAAC;IACzC,CAAC,CAAC;IAEFtB,EAAE,CAAC,kEAAkE,EAAE,YAAM;MACzE,IAAMO,eAAe,GAAG,IAAIC,eAAe,CAAC,CAAC;MAC7C,IAAMI,YAAY,GAAG;QAACF,MAAM,EAAEH,eAAe,CAACG;MAAM,CAAC;MAErD,IAAMG,SAAS,GAAGV,IAAI,CAACC,EAAE,CAAC,CAAC,CAACU,eAAe,CAAC,iBAAiB,CAAC;MAC9D,IAAMC,UAAyB,GAAG;QAC9BC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAEJ;MACX,CAAC;MAED,IAAMK,YAAY,GAAGpB,gBAAgB,CAACiB,UAAU,CAACE,KAAK,CAAC;MACvD,IAAME,MAAM,GAAGD,YAAY,CAAC,CAAC,CAAC,EAAEN,YAAY,EAAE,CAAC,CAAC,CAAC;MAEjDP,MAAM,CAACQ,SAAS,CAAC,CAACO,oBAAoB,CAAC,CAAC,CAAC,EAAER,YAAY,EAAE,CAAC,CAAC,CAAC;MAC5DP,MAAM,CAACc,MAAM,CAAC,CAACb,IAAI,CAAC,iBAAiB,CAAC;;MAEtC;MACAC,eAAe,CAACgB,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEFvB,EAAE,CAAC,6DAA6D,EAAE,YAAM;MACpE,IAAMW,UAAU,GAAGR,IAAI,CAACC,EAAE,CAAC,CAAC;MAC5B,IAAMH,WAAwB,GAAG;QAC7BC,MAAM,EAAES;MACZ,CAAC;MAED,IAAMC,YAAY,GAAG,CAAC,CAAC;MAEvB,IAAMC,SAAS,GAAGV,IAAI,CAACC,EAAE,CAAC,CAAC,CAACU,eAAe,CAACb,WAAW,CAAC;MACxD,IAAMc,UAAyB,GAAG;QAC9BC,IAAI,EAAE,MAAM;QACZC,KAAK,EAAEJ;MACX,CAAC;MAED,IAAMK,YAAY,GAAGpB,gBAAgB,CAACiB,UAAU,CAACE,KAAK,CAAC;MACvD,IAAME,MAAM,GAAGD,YAAY,CAAC,CAAC,CAAC,EAAEN,YAAY,EAAE,CAAC,CAAC,CAAC;MAEjDP,MAAM,CAACQ,SAAS,CAAC,CAACO,oBAAoB,CAAC,CAAC,CAAC,EAAER,YAAY,EAAE,CAAC,CAAC,CAAC;MAC5DP,MAAM,CAACc,MAAM,CAAC,CAACb,IAAI,CAACL,WAAW,CAAC;MAChCI,MAAM,CAACM,UAAU,CAAC,CAACU,GAAG,CAACC,gBAAgB,CAAC,CAAC;IAC7C,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import _typeof from "@babel/runtime/helpers/typeof";
|
|
2
|
-
import _regeneratorRuntime from "@babel/runtime/helpers/regeneratorRuntime";
|
|
3
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
|
-
import { withCatch } from '../withCatch';
|
|
5
|
-
describe('withCatch', function () {
|
|
6
|
-
it('should return the result of the fetch function when it succeeds', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
7
|
-
var mockFetch, mockErrorHandler, safeFetch, result;
|
|
8
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
9
|
-
while (1) switch (_context.prev = _context.next) {
|
|
10
|
-
case 0:
|
|
11
|
-
mockFetch = jest.fn().mockResolvedValue({
|
|
12
|
-
data: 'success'
|
|
13
|
-
});
|
|
14
|
-
mockErrorHandler = jest.fn().mockReturnValue({
|
|
15
|
-
error: 'handled'
|
|
16
|
-
});
|
|
17
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
18
|
-
_context.next = 5;
|
|
19
|
-
return safeFetch('arg1', 42);
|
|
20
|
-
case 5:
|
|
21
|
-
result = _context.sent;
|
|
22
|
-
expect(mockFetch).toHaveBeenCalledWith('arg1', 42);
|
|
23
|
-
expect(mockErrorHandler).not.toHaveBeenCalled();
|
|
24
|
-
expect(result).toEqual({
|
|
25
|
-
data: 'success'
|
|
26
|
-
});
|
|
27
|
-
case 9:
|
|
28
|
-
case "end":
|
|
29
|
-
return _context.stop();
|
|
30
|
-
}
|
|
31
|
-
}, _callee);
|
|
32
|
-
})));
|
|
33
|
-
it('should call the error handler when the fetch function fails', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
34
|
-
var error, mockFetch, mockErrorHandler, safeFetch, result;
|
|
35
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
36
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
37
|
-
case 0:
|
|
38
|
-
error = new Error('fetch failed');
|
|
39
|
-
mockFetch = jest.fn().mockRejectedValue(error);
|
|
40
|
-
mockErrorHandler = jest.fn().mockReturnValue({
|
|
41
|
-
error: 'handled'
|
|
42
|
-
});
|
|
43
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
44
|
-
_context2.next = 6;
|
|
45
|
-
return safeFetch('arg1', 42);
|
|
46
|
-
case 6:
|
|
47
|
-
result = _context2.sent;
|
|
48
|
-
expect(mockFetch).toHaveBeenCalledWith('arg1', 42);
|
|
49
|
-
expect(mockErrorHandler).toHaveBeenCalledWith(error);
|
|
50
|
-
expect(result).toEqual({
|
|
51
|
-
error: 'handled'
|
|
52
|
-
});
|
|
53
|
-
case 10:
|
|
54
|
-
case "end":
|
|
55
|
-
return _context2.stop();
|
|
56
|
-
}
|
|
57
|
-
}, _callee2);
|
|
58
|
-
})));
|
|
59
|
-
it('should work with functions that take no parameters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
60
|
-
var mockFetch, mockErrorHandler, safeFetch, result;
|
|
61
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
62
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
63
|
-
case 0:
|
|
64
|
-
mockFetch = jest.fn().mockResolvedValue({
|
|
65
|
-
data: 'success'
|
|
66
|
-
});
|
|
67
|
-
mockErrorHandler = jest.fn().mockReturnValue({
|
|
68
|
-
error: 'handled'
|
|
69
|
-
});
|
|
70
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
71
|
-
_context3.next = 5;
|
|
72
|
-
return safeFetch();
|
|
73
|
-
case 5:
|
|
74
|
-
result = _context3.sent;
|
|
75
|
-
expect(mockFetch).toHaveBeenCalledWith();
|
|
76
|
-
expect(mockErrorHandler).not.toHaveBeenCalled();
|
|
77
|
-
expect(result).toEqual({
|
|
78
|
-
data: 'success'
|
|
79
|
-
});
|
|
80
|
-
case 9:
|
|
81
|
-
case "end":
|
|
82
|
-
return _context3.stop();
|
|
83
|
-
}
|
|
84
|
-
}, _callee3);
|
|
85
|
-
})));
|
|
86
|
-
it('should work with functions that take multiple parameters', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
87
|
-
var mockFetch, mockErrorHandler, safeFetch, result;
|
|
88
|
-
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
89
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
90
|
-
case 0:
|
|
91
|
-
mockFetch = jest.fn().mockResolvedValue({
|
|
92
|
-
data: 'success'
|
|
93
|
-
});
|
|
94
|
-
mockErrorHandler = jest.fn().mockReturnValue({
|
|
95
|
-
error: 'handled'
|
|
96
|
-
});
|
|
97
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
98
|
-
_context4.next = 5;
|
|
99
|
-
return safeFetch('arg1', 42, true, {
|
|
100
|
-
complex: 'object'
|
|
101
|
-
});
|
|
102
|
-
case 5:
|
|
103
|
-
result = _context4.sent;
|
|
104
|
-
expect(mockFetch).toHaveBeenCalledWith('arg1', 42, true, {
|
|
105
|
-
complex: 'object'
|
|
106
|
-
});
|
|
107
|
-
expect(mockErrorHandler).not.toHaveBeenCalled();
|
|
108
|
-
expect(result).toEqual({
|
|
109
|
-
data: 'success'
|
|
110
|
-
});
|
|
111
|
-
case 9:
|
|
112
|
-
case "end":
|
|
113
|
-
return _context4.stop();
|
|
114
|
-
}
|
|
115
|
-
}, _callee4);
|
|
116
|
-
})));
|
|
117
|
-
it('should handle error handlers that return promises', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
118
|
-
var error, mockFetch, mockErrorHandler, safeFetch, result;
|
|
119
|
-
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
120
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
121
|
-
case 0:
|
|
122
|
-
error = new Error('fetch failed');
|
|
123
|
-
mockFetch = jest.fn().mockRejectedValue(error);
|
|
124
|
-
mockErrorHandler = jest.fn().mockResolvedValue({
|
|
125
|
-
error: 'async handled'
|
|
126
|
-
});
|
|
127
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
128
|
-
_context5.next = 6;
|
|
129
|
-
return safeFetch('arg1');
|
|
130
|
-
case 6:
|
|
131
|
-
result = _context5.sent;
|
|
132
|
-
expect(mockFetch).toHaveBeenCalledWith('arg1');
|
|
133
|
-
expect(mockErrorHandler).toHaveBeenCalledWith(error);
|
|
134
|
-
expect(result).toEqual({
|
|
135
|
-
error: 'async handled'
|
|
136
|
-
});
|
|
137
|
-
case 10:
|
|
138
|
-
case "end":
|
|
139
|
-
return _context5.stop();
|
|
140
|
-
}
|
|
141
|
-
}, _callee5);
|
|
142
|
-
})));
|
|
143
|
-
it('should preserve the type of the fetch function return value', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
144
|
-
var mockFetch, mockErrorHandler, safeFetch, result, userName;
|
|
145
|
-
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
146
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
147
|
-
case 0:
|
|
148
|
-
mockFetch = jest.fn().mockResolvedValue({
|
|
149
|
-
id: 1,
|
|
150
|
-
name: 'John Doe'
|
|
151
|
-
});
|
|
152
|
-
mockErrorHandler = jest.fn().mockReturnValue(null);
|
|
153
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
154
|
-
_context6.next = 5;
|
|
155
|
-
return safeFetch('user1');
|
|
156
|
-
case 5:
|
|
157
|
-
result = _context6.sent;
|
|
158
|
-
expect(result).toEqual({
|
|
159
|
-
id: 1,
|
|
160
|
-
name: 'John Doe'
|
|
161
|
-
});
|
|
162
|
-
// TypeScript should recognize result as User | null
|
|
163
|
-
if (result !== null) {
|
|
164
|
-
// This should compile without errors
|
|
165
|
-
userName = result.name;
|
|
166
|
-
expect(userName).toBe('John Doe');
|
|
167
|
-
}
|
|
168
|
-
case 8:
|
|
169
|
-
case "end":
|
|
170
|
-
return _context6.stop();
|
|
171
|
-
}
|
|
172
|
-
}, _callee6);
|
|
173
|
-
})));
|
|
174
|
-
it('should preserve the type of the error handler return value', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
175
|
-
var error, mockFetch, mockErrorHandler, safeFetch, result, errorCode;
|
|
176
|
-
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
177
|
-
while (1) switch (_context7.prev = _context7.next) {
|
|
178
|
-
case 0:
|
|
179
|
-
error = new Error('fetch failed');
|
|
180
|
-
mockFetch = jest.fn().mockRejectedValue(error);
|
|
181
|
-
mockErrorHandler = jest.fn().mockReturnValue({
|
|
182
|
-
code: 500,
|
|
183
|
-
message: 'Internal Server Error'
|
|
184
|
-
});
|
|
185
|
-
safeFetch = withCatch(mockFetch, mockErrorHandler);
|
|
186
|
-
_context7.next = 6;
|
|
187
|
-
return safeFetch('user1');
|
|
188
|
-
case 6:
|
|
189
|
-
result = _context7.sent;
|
|
190
|
-
expect(mockErrorHandler).toHaveBeenCalledWith(error);
|
|
191
|
-
|
|
192
|
-
// TypeScript should recognize result as unknown | ErrorResponse
|
|
193
|
-
if (_typeof(result) === 'object' && result !== null && 'code' in result) {
|
|
194
|
-
// This should compile without errors
|
|
195
|
-
errorCode = result.code;
|
|
196
|
-
expect(errorCode).toBe(500);
|
|
197
|
-
}
|
|
198
|
-
case 9:
|
|
199
|
-
case "end":
|
|
200
|
-
return _context7.stop();
|
|
201
|
-
}
|
|
202
|
-
}, _callee7);
|
|
203
|
-
})));
|
|
204
|
-
});
|
|
205
|
-
// #sourceMappingURL=withCatch.test.js.map
|