@gravity-ui/data-source 0.9.0 → 0.9.1-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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gravity-ui/data-source",
|
|
3
|
-
"version": "0.9.0",
|
|
3
|
+
"version": "0.9.1-alpha.0",
|
|
4
4
|
"description": "A wrapper around data fetching",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"data-fetching",
|
|
@@ -19,31 +19,73 @@
|
|
|
19
19
|
"url": "https://github.com/gravity-ui/data-source/issues"
|
|
20
20
|
},
|
|
21
21
|
"engines": {
|
|
22
|
-
"node": ">=
|
|
23
|
-
"npm": ">=
|
|
22
|
+
"node": ">= 24",
|
|
23
|
+
"npm": ">= 11",
|
|
24
24
|
"yarn": "Please use npm instead of yarn to install dependencies",
|
|
25
25
|
"pnpm": "Please use npm instead of pnpm to install dependencies"
|
|
26
26
|
},
|
|
27
27
|
"main": "build/cjs/index.js",
|
|
28
28
|
"module": "build/esm/index.js",
|
|
29
29
|
"types": "build/esm/index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./build/esm/index.d.ts",
|
|
33
|
+
"import": "./build/esm/index.js",
|
|
34
|
+
"require": "./build/cjs/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./plugin": {
|
|
37
|
+
"types": "./build/plugin/index.d.mts",
|
|
38
|
+
"default": "./build/plugin/index.mjs"
|
|
39
|
+
},
|
|
40
|
+
"./plugin-webpack": {
|
|
41
|
+
"types": "./build/plugin/webpack.d.mts",
|
|
42
|
+
"default": "./build/plugin/webpack.mjs"
|
|
43
|
+
},
|
|
44
|
+
"./plugin-rspack": {
|
|
45
|
+
"types": "./build/plugin/rspack.d.mts",
|
|
46
|
+
"default": "./build/plugin/rspack.mjs"
|
|
47
|
+
},
|
|
48
|
+
"./plugin-vite": {
|
|
49
|
+
"types": "./build/plugin/vite.d.mts",
|
|
50
|
+
"default": "./build/plugin/vite.mjs"
|
|
51
|
+
},
|
|
52
|
+
"./plugin-rollup": {
|
|
53
|
+
"types": "./build/plugin/rollup.d.mts",
|
|
54
|
+
"default": "./build/plugin/rollup.mjs"
|
|
55
|
+
},
|
|
56
|
+
"./plugin-esbuild": {
|
|
57
|
+
"types": "./build/plugin/esbuild.d.mts",
|
|
58
|
+
"default": "./build/plugin/esbuild.mjs"
|
|
59
|
+
},
|
|
60
|
+
"./plugin-client": {
|
|
61
|
+
"types": "./build/plugin/typings/client.d.ts"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
30
64
|
"files": [
|
|
31
65
|
"build"
|
|
32
66
|
],
|
|
33
67
|
"sideEffects": false,
|
|
34
68
|
"scripts": {
|
|
35
|
-
"build": "NODE_ENV=production app-builder build",
|
|
69
|
+
"build": "NODE_ENV=production app-builder build && npm run build:plugin",
|
|
70
|
+
"build:plugin": "tsdown",
|
|
36
71
|
"clean": "rm -rf build",
|
|
37
72
|
"deps:ci": "npm ci",
|
|
38
73
|
"lint": "eslint .",
|
|
39
74
|
"lint:fix": "npm run lint -- --fix",
|
|
40
75
|
"prepare": "husky",
|
|
41
76
|
"prepublishOnly": "npm run build",
|
|
77
|
+
"storybook:build": "storybook build",
|
|
78
|
+
"storybook:dev": "storybook dev -p 6006 --no-open",
|
|
42
79
|
"test": "jest --passWithNoTests",
|
|
43
80
|
"typecheck": "tsc --noEmit"
|
|
44
81
|
},
|
|
45
82
|
"dependencies": {
|
|
46
83
|
"@normy/core": "^0.14.0",
|
|
84
|
+
"magic-string": "^0.30.21",
|
|
85
|
+
"oxc-parser": "^0.130.0",
|
|
86
|
+
"oxc-transform": "^0.130.0",
|
|
87
|
+
"react-error-boundary": "^6.1.1",
|
|
88
|
+
"unplugin": "^3.0.0",
|
|
47
89
|
"utility-types": "^3.11.0"
|
|
48
90
|
},
|
|
49
91
|
"devDependencies": {
|
|
@@ -51,8 +93,12 @@
|
|
|
51
93
|
"@commitlint/config-conventional": "^19.8.0",
|
|
52
94
|
"@gravity-ui/app-builder": "^0.22.0",
|
|
53
95
|
"@gravity-ui/eslint-config": "^3.3.0",
|
|
96
|
+
"@gravity-ui/illustrations": "^2.1.1",
|
|
54
97
|
"@gravity-ui/prettier-config": "^1.1.0",
|
|
55
98
|
"@gravity-ui/tsconfig": "^1.0.0",
|
|
99
|
+
"@gravity-ui/uikit": "^7.38.0",
|
|
100
|
+
"@storybook/addon-webpack5-compiler-swc": "^4.0.3",
|
|
101
|
+
"@storybook/react-webpack5": "^9.1.20",
|
|
56
102
|
"@swc/jest": "^0.2.37",
|
|
57
103
|
"@tanstack/react-query": "^5.71.1",
|
|
58
104
|
"@testing-library/dom": "^10.4.0",
|
|
@@ -65,7 +111,10 @@
|
|
|
65
111
|
"jest": "^29.7.0",
|
|
66
112
|
"jest-environment-jsdom": "^29.7.0",
|
|
67
113
|
"nano-staged": "^0.8.0",
|
|
68
|
-
"react": "^19.
|
|
114
|
+
"react": "^19.2.6",
|
|
115
|
+
"react-dom": "^19.2.6",
|
|
116
|
+
"storybook": "^9.1.20",
|
|
117
|
+
"tsdown": "^0.22.0"
|
|
69
118
|
},
|
|
70
119
|
"peerDependencies": {
|
|
71
120
|
"@tanstack/react-query": "^5.0.0",
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _composeFullKey = require("../composeFullKey");
|
|
4
|
-
var _composeKey = require("../composeKey");
|
|
5
|
-
describe('composeFullKey', function () {
|
|
6
|
-
var dataSource = {
|
|
7
|
-
name: 'test',
|
|
8
|
-
fetch: jest.fn()
|
|
9
|
-
};
|
|
10
|
-
var dataSourceWithTags = {
|
|
11
|
-
name: 'test',
|
|
12
|
-
fetch: jest.fn(),
|
|
13
|
-
tags: function tags() {
|
|
14
|
-
return ['tag1', 'tag2'];
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
it('should compose full key without tags', function () {
|
|
18
|
-
var params = {
|
|
19
|
-
id: 1
|
|
20
|
-
};
|
|
21
|
-
var result = (0, _composeFullKey.composeFullKey)(dataSource, params);
|
|
22
|
-
var key = (0, _composeKey.composeKey)(dataSource, params);
|
|
23
|
-
expect(result).toEqual(['test', key]);
|
|
24
|
-
});
|
|
25
|
-
it('should compose full key with tags', function () {
|
|
26
|
-
var params = {
|
|
27
|
-
id: 1
|
|
28
|
-
};
|
|
29
|
-
var result = (0, _composeFullKey.composeFullKey)(dataSourceWithTags, params);
|
|
30
|
-
var key = (0, _composeKey.composeKey)(dataSourceWithTags, params);
|
|
31
|
-
expect(result).toEqual(['test', 'tag1', 'tag2', key]);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
// #sourceMappingURL=composeFullKey.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_composeFullKey","require","_composeKey","describe","dataSource","name","fetch","jest","fn","dataSourceWithTags","tags","it","params","id","result","composeFullKey","key","composeKey","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,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEAE,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,GAAG,IAAAC,8BAAc,EAACX,UAAU,EAAEQ,MAAM,CAAC;IACjD,IAAMI,GAAG,GAAG,IAAAC,sBAAU,EAACb,UAAU,EAAEQ,MAAM,CAAC;IAC1CM,MAAM,CAACJ,MAAM,CAAC,CAACK,OAAO,CAAC,CAAC,MAAM,EAAEH,GAAG,CAAC,CAAC;EACzC,CAAC,CAAC;EAEFL,EAAE,CAAC,mCAAmC,EAAE,YAAM;IAC1C,IAAMC,MAAM,GAAG;MAACC,EAAE,EAAE;IAAC,CAAC;IACtB,IAAMC,MAAM,GAAG,IAAAC,8BAAc,EAACN,kBAAkB,EAAEG,MAAM,CAAC;IACzD,IAAMI,GAAG,GAAG,IAAAC,sBAAU,EAACR,kBAAkB,EAAEG,MAAM,CAAC;IAClDM,MAAM,CAACJ,MAAM,CAAC,CAACK,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAEH,GAAG,CAAC,CAAC;EACzD,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _constants = require("../../constants");
|
|
4
|
-
var _composeKey = require("../composeKey");
|
|
5
|
-
describe('composeKey', function () {
|
|
6
|
-
var dataSource = {
|
|
7
|
-
name: 'test',
|
|
8
|
-
fetch: jest.fn()
|
|
9
|
-
};
|
|
10
|
-
it('should compose key with idle params', function () {
|
|
11
|
-
var result = (0, _composeKey.composeKey)(dataSource, _constants.idle);
|
|
12
|
-
expect(result).toBe('test:idle');
|
|
13
|
-
});
|
|
14
|
-
it('should compose key with string param', function () {
|
|
15
|
-
var params = 'string';
|
|
16
|
-
var result = (0, _composeKey.composeKey)(dataSource, params);
|
|
17
|
-
expect(result).toBe('test("string")');
|
|
18
|
-
});
|
|
19
|
-
it('should compose key with object param', function () {
|
|
20
|
-
var params = {
|
|
21
|
-
id: 1
|
|
22
|
-
};
|
|
23
|
-
var result = (0, _composeKey.composeKey)(dataSource, params);
|
|
24
|
-
expect(result).toMatch(/^test\(.+\)$/);
|
|
25
|
-
});
|
|
26
|
-
it('should compose key with array param', function () {
|
|
27
|
-
var params = [1, 2, 3];
|
|
28
|
-
var result = (0, _composeKey.composeKey)(dataSource, params);
|
|
29
|
-
expect(result).toMatch(/^test\(.+\)$/);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
// #sourceMappingURL=composeKey.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_composeKey","describe","dataSource","name","fetch","jest","fn","it","result","composeKey","idle","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,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEAE,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,GAAG,IAAAC,sBAAU,EAACP,UAAU,EAAEQ,eAAI,CAAC;IAC3CC,MAAM,CAACH,MAAM,CAAC,CAACI,IAAI,CAAC,WAAW,CAAC;EACpC,CAAC,CAAC;EAEFL,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMM,MAAM,GAAG,QAAQ;IACvB,IAAML,MAAM,GAAG,IAAAC,sBAAU,EAACP,UAAU,EAAEW,MAAM,CAAC;IAC7CF,MAAM,CAACH,MAAM,CAAC,CAACI,IAAI,CAAC,gBAAgB,CAAC;EACzC,CAAC,CAAC;EAEFL,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMM,MAAM,GAAG;MAACC,EAAE,EAAE;IAAC,CAAC;IACtB,IAAMN,MAAM,GAAG,IAAAC,sBAAU,EAACP,UAAU,EAAEW,MAAM,CAAC;IAC7CF,MAAM,CAACH,MAAM,CAAC,CAACO,OAAO,CAAC,cAAc,CAAC;EAC1C,CAAC,CAAC;EAEFR,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC5C,IAAMM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxB,IAAML,MAAM,GAAG,IAAAC,sBAAU,EAACP,UAAU,EAAEW,MAAM,CAAC;IAC7CF,MAAM,CAACH,MAAM,CAAC,CAACO,OAAO,CAAC,cAAc,CAAC;EAC1C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _getError = require("../getError");
|
|
4
|
-
describe('getError', function () {
|
|
5
|
-
it('should return null when no errors', function () {
|
|
6
|
-
var states = [{
|
|
7
|
-
error: null
|
|
8
|
-
}, {
|
|
9
|
-
error: null
|
|
10
|
-
}, {
|
|
11
|
-
error: null
|
|
12
|
-
}];
|
|
13
|
-
expect((0, _getError.getError)(states)).toBeNull();
|
|
14
|
-
});
|
|
15
|
-
it('should return the first error found', function () {
|
|
16
|
-
var error1 = 'Error 1';
|
|
17
|
-
var error2 = 'Error 2';
|
|
18
|
-
var states = [{
|
|
19
|
-
error: null
|
|
20
|
-
}, {
|
|
21
|
-
error: error1
|
|
22
|
-
}, {
|
|
23
|
-
error: error2
|
|
24
|
-
}];
|
|
25
|
-
expect((0, _getError.getError)(states)).toBe(error1);
|
|
26
|
-
});
|
|
27
|
-
it('should handle empty array', function () {
|
|
28
|
-
expect((0, _getError.getError)([])).toBeNull();
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
// #sourceMappingURL=getError.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_getError","require","describe","it","states","error","expect","getError","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,IAAAA,SAAA,GAAAC,OAAA;AAEAC,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,CAAC,IAAAC,kBAAQ,EAACH,MAAM,CAAC,CAAC,CAACI,QAAQ,CAAC,CAAC;EACvC,CAAC,CAAC;EAEFL,EAAE,CAAC,qCAAqC,EAAE,YAAM;IAC5C,IAAMM,MAAM,GAAG,SAAS;IACxB,IAAMC,MAAM,GAAG,SAAS;IACxB,IAAMN,MAAM,GAAG,CAAC;MAACC,KAAK,EAAE;IAAI,CAAC,EAAE;MAACA,KAAK,EAAEI;IAAM,CAAC,EAAE;MAACJ,KAAK,EAAEK;IAAM,CAAC,CAAC;IAChEJ,MAAM,CAAC,IAAAC,kBAAQ,EAACH,MAAM,CAAC,CAAC,CAACO,IAAI,CAACF,MAAM,CAAC;EACzC,CAAC,CAAC;EAEFN,EAAE,CAAC,2BAA2B,EAAE,YAAM;IAClCG,MAAM,CAAC,IAAAC,kBAAQ,EAAC,EAAE,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACnC,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _getStatus = require("../getStatus");
|
|
4
|
-
describe('getStatus', function () {
|
|
5
|
-
it('should return success when all statuses are success', function () {
|
|
6
|
-
var states = [{
|
|
7
|
-
status: 'success'
|
|
8
|
-
}, {
|
|
9
|
-
status: 'success'
|
|
10
|
-
}, {
|
|
11
|
-
status: 'success'
|
|
12
|
-
}];
|
|
13
|
-
expect((0, _getStatus.getStatus)(states)).toBe('success');
|
|
14
|
-
});
|
|
15
|
-
it('should return loading when at least one status is loading', function () {
|
|
16
|
-
var states = [{
|
|
17
|
-
status: 'success'
|
|
18
|
-
}, {
|
|
19
|
-
status: 'loading'
|
|
20
|
-
}, {
|
|
21
|
-
status: 'success'
|
|
22
|
-
}];
|
|
23
|
-
expect((0, _getStatus.getStatus)(states)).toBe('loading');
|
|
24
|
-
});
|
|
25
|
-
it('should return error when at least one status is error', function () {
|
|
26
|
-
var states = [{
|
|
27
|
-
status: 'success'
|
|
28
|
-
}, {
|
|
29
|
-
status: 'error'
|
|
30
|
-
}, {
|
|
31
|
-
status: 'success'
|
|
32
|
-
}];
|
|
33
|
-
expect((0, _getStatus.getStatus)(states)).toBe('error');
|
|
34
|
-
});
|
|
35
|
-
it('should prioritize error over loading', function () {
|
|
36
|
-
var states = [{
|
|
37
|
-
status: 'loading'
|
|
38
|
-
}, {
|
|
39
|
-
status: 'error'
|
|
40
|
-
}, {
|
|
41
|
-
status: 'success'
|
|
42
|
-
}];
|
|
43
|
-
expect((0, _getStatus.getStatus)(states)).toBe('error');
|
|
44
|
-
});
|
|
45
|
-
it('should handle empty array', function () {
|
|
46
|
-
expect((0, _getStatus.getStatus)([])).toBe('success');
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
// #sourceMappingURL=getStatus.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_getStatus","require","describe","it","states","status","expect","getStatus","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,IAAAA,UAAA,GAAAC,OAAA;AAEAC,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,CAAC,IAAAC,oBAAS,EAACH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,SAAS,CAAC;EAC7C,CAAC,CAAC;EAEFL,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,CAAC,IAAAC,oBAAS,EAACH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,SAAS,CAAC;EAC7C,CAAC,CAAC;EAEFL,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,CAAC,IAAAC,oBAAS,EAACH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,OAAO,CAAC;EAC3C,CAAC,CAAC;EAEFL,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,CAAC,IAAAC,oBAAS,EAACH,MAAM,CAAC,CAAC,CAACI,IAAI,CAAC,OAAO,CAAC;EAC3C,CAAC,CAAC;EAEFL,EAAE,CAAC,2BAA2B,EAAE,YAAM;IAClCG,MAAM,CAAC,IAAAC,oBAAS,EAAC,EAAE,CAAC,CAAC,CAACC,IAAI,CAAC,SAAS,CAAC;EACzC,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _hasTag = require("../hasTag");
|
|
4
|
-
describe('hasTag', function () {
|
|
5
|
-
it('should return true when key contains tag', function () {
|
|
6
|
-
var key = ['dataSource', 'tag1', 'tag2', 'fullKey'];
|
|
7
|
-
var tag = 'tag1';
|
|
8
|
-
expect((0, _hasTag.hasTag)(key, tag)).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
it('should return false when key does not contain tag', function () {
|
|
11
|
-
var key = ['dataSource', 'tag1', 'tag2', 'fullKey'];
|
|
12
|
-
var tag = 'tag3';
|
|
13
|
-
expect((0, _hasTag.hasTag)(key, tag)).toBe(false);
|
|
14
|
-
});
|
|
15
|
-
it('should return false when tag is at first position (data source name)', function () {
|
|
16
|
-
var key = ['tag1', 'tag2', 'tag3', 'fullKey'];
|
|
17
|
-
var tag = 'tag1';
|
|
18
|
-
expect((0, _hasTag.hasTag)(key, tag)).toBe(false);
|
|
19
|
-
});
|
|
20
|
-
it('should return false when tag is at last position (full key)', function () {
|
|
21
|
-
var key = ['dataSource', 'tag1', 'tag2', 'tag3'];
|
|
22
|
-
var tag = 'tag3';
|
|
23
|
-
expect((0, _hasTag.hasTag)(key, tag)).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
it('should return false when key is not an array', function () {
|
|
26
|
-
var key = 'not an array';
|
|
27
|
-
var tag = 'tag';
|
|
28
|
-
expect((0, _hasTag.hasTag)(key, tag)).toBe(false);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
// #sourceMappingURL=hasTag.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_hasTag","require","describe","it","key","tag","expect","hasTag","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,IAAAA,OAAA,GAAAC,OAAA;AAEAC,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,CAAC,IAAAC,cAAM,EAACH,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,IAAI,CAAC;EACvC,CAAC,CAAC;EAEFL,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,CAAC,IAAAC,cAAM,EAACH,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,KAAK,CAAC;EACxC,CAAC,CAAC;EAEFL,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,CAAC,IAAAC,cAAM,EAACH,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,KAAK,CAAC;EACxC,CAAC,CAAC;EAEFL,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,CAAC,IAAAC,cAAM,EAACH,GAAG,EAAEC,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,KAAK,CAAC;EACxC,CAAC,CAAC;EAEFL,EAAE,CAAC,8CAA8C,EAAE,YAAM;IACrD,IAAMC,GAAG,GAAG,cAAc;IAC1B,IAAMC,GAAkB,GAAG,KAAK;IAChCC,MAAM,CAAC,IAAAC,cAAM,EAACH,GAAG,EAA8BC,GAAG,CAAC,CAAC,CAACG,IAAI,CAAC,KAAK,CAAC;EACpE,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _mergeStatuses = require("../mergeStatuses");
|
|
4
|
-
describe('mergeStatuses', function () {
|
|
5
|
-
it('should return success when all statuses are success', function () {
|
|
6
|
-
var statuses = ['success', 'success', 'success'];
|
|
7
|
-
expect((0, _mergeStatuses.mergeStatuses)(statuses)).toBe('success');
|
|
8
|
-
});
|
|
9
|
-
it('should return loading when at least one status is loading', function () {
|
|
10
|
-
var statuses = ['success', 'loading', 'success'];
|
|
11
|
-
expect((0, _mergeStatuses.mergeStatuses)(statuses)).toBe('loading');
|
|
12
|
-
});
|
|
13
|
-
it('should return error when at least one status is error', function () {
|
|
14
|
-
var statuses = ['success', 'error', 'success'];
|
|
15
|
-
expect((0, _mergeStatuses.mergeStatuses)(statuses)).toBe('error');
|
|
16
|
-
});
|
|
17
|
-
it('should prioritize error over loading', function () {
|
|
18
|
-
var statuses = ['loading', 'error', 'success'];
|
|
19
|
-
expect((0, _mergeStatuses.mergeStatuses)(statuses)).toBe('error');
|
|
20
|
-
});
|
|
21
|
-
it('should handle empty array', function () {
|
|
22
|
-
expect((0, _mergeStatuses.mergeStatuses)([])).toBe('success');
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
// #sourceMappingURL=mergeStatuses.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_mergeStatuses","require","describe","it","statuses","expect","mergeStatuses","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,IAAAA,cAAA,GAAAC,OAAA;AAEAC,QAAQ,CAAC,eAAe,EAAE,YAAM;EAC5BC,EAAE,CAAC,qDAAqD,EAAE,YAAM;IAC5D,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACtEC,MAAM,CAAC,IAAAC,4BAAa,EAACF,QAAQ,CAAC,CAAC,CAACG,IAAI,CAAC,SAAS,CAAC;EACnD,CAAC,CAAC;EAEFJ,EAAE,CAAC,2DAA2D,EAAE,YAAM;IAClE,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IACtEC,MAAM,CAAC,IAAAC,4BAAa,EAACF,QAAQ,CAAC,CAAC,CAACG,IAAI,CAAC,SAAS,CAAC;EACnD,CAAC,CAAC;EAEFJ,EAAE,CAAC,uDAAuD,EAAE,YAAM;IAC9D,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;IACpEC,MAAM,CAAC,IAAAC,4BAAa,EAACF,QAAQ,CAAC,CAAC,CAACG,IAAI,CAAC,OAAO,CAAC;EACjD,CAAC,CAAC;EAEFJ,EAAE,CAAC,sCAAsC,EAAE,YAAM;IAC7C,IAAMC,QAA4B,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;IACpEC,MAAM,CAAC,IAAAC,4BAAa,EAACF,QAAQ,CAAC,CAAC,CAACG,IAAI,CAAC,OAAO,CAAC;EACjD,CAAC,CAAC;EAEFJ,EAAE,CAAC,2BAA2B,EAAE,YAAM;IAClCE,MAAM,CAAC,IAAAC,4BAAa,EAAC,EAAE,CAAC,CAAC,CAACC,IAAI,CAAC,SAAS,CAAC;EAC7C,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
|
|
4
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
5
|
-
var _skipContext = require("../skipContext");
|
|
6
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
-
describe('skipContext', function () {
|
|
8
|
-
it('should ignore context and query function context parameters', function () {
|
|
9
|
-
var mockFn = jest.fn(function (arg1, arg2) {
|
|
10
|
-
return "".concat(arg1, "-").concat(arg2);
|
|
11
|
-
});
|
|
12
|
-
var wrappedFn = (0, _skipContext.skipContext)(mockFn);
|
|
13
|
-
var result = wrappedFn('context', 'queryFnContext', 'hello', 42);
|
|
14
|
-
expect(mockFn).toHaveBeenCalledWith('hello', 42);
|
|
15
|
-
expect(result).toBe('hello-42');
|
|
16
|
-
});
|
|
17
|
-
it('should work with functions that have no parameters', function () {
|
|
18
|
-
var mockFn = jest.fn(function () {
|
|
19
|
-
return 'result';
|
|
20
|
-
});
|
|
21
|
-
var wrappedFn = (0, _skipContext.skipContext)(mockFn);
|
|
22
|
-
var result = wrappedFn('context', 'queryFnContext');
|
|
23
|
-
expect(mockFn).toHaveBeenCalledWith();
|
|
24
|
-
expect(result).toBe('result');
|
|
25
|
-
});
|
|
26
|
-
it('should work with async functions', /*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2() {
|
|
27
|
-
var mockFn, wrappedFn, result;
|
|
28
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
|
|
29
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
30
|
-
case 0:
|
|
31
|
-
mockFn = jest.fn(/*#__PURE__*/function () {
|
|
32
|
-
var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(arg) {
|
|
33
|
-
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
34
|
-
while (1) switch (_context.prev = _context.next) {
|
|
35
|
-
case 0:
|
|
36
|
-
return _context.abrupt("return", "async-".concat(arg));
|
|
37
|
-
case 1:
|
|
38
|
-
case "end":
|
|
39
|
-
return _context.stop();
|
|
40
|
-
}
|
|
41
|
-
}, _callee);
|
|
42
|
-
}));
|
|
43
|
-
return function (_x) {
|
|
44
|
-
return _ref2.apply(this, arguments);
|
|
45
|
-
};
|
|
46
|
-
}());
|
|
47
|
-
wrappedFn = (0, _skipContext.skipContext)(mockFn);
|
|
48
|
-
_context2.next = 4;
|
|
49
|
-
return wrappedFn('context', 'queryFnContext', 'test');
|
|
50
|
-
case 4:
|
|
51
|
-
result = _context2.sent;
|
|
52
|
-
expect(mockFn).toHaveBeenCalledWith('test');
|
|
53
|
-
expect(result).toBe('async-test');
|
|
54
|
-
case 7:
|
|
55
|
-
case "end":
|
|
56
|
-
return _context2.stop();
|
|
57
|
-
}
|
|
58
|
-
}, _callee2);
|
|
59
|
-
})));
|
|
60
|
-
it('should pass multiple arguments correctly', function () {
|
|
61
|
-
var mockFn = jest.fn(function (arg1, arg2, arg3) {
|
|
62
|
-
return "".concat(arg1, "-").concat(arg2, "-").concat(arg3);
|
|
63
|
-
});
|
|
64
|
-
var wrappedFn = (0, _skipContext.skipContext)(mockFn);
|
|
65
|
-
var result = wrappedFn('context', 'queryFnContext', 'hello', 42, true);
|
|
66
|
-
expect(mockFn).toHaveBeenCalledWith('hello', 42, true);
|
|
67
|
-
expect(result).toBe('hello-42-true');
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
// #sourceMappingURL=skipContext.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_skipContext","require","_interopRequireDefault","e","__esModule","default","describe","it","mockFn","jest","fn","arg1","arg2","concat","wrappedFn","skipContext","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,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _withCancellation = require("../withCancellation");
|
|
4
|
-
describe('withCancellation', function () {
|
|
5
|
-
describe('isCancellable', function () {
|
|
6
|
-
it('should return true for objects with cancel method', function () {
|
|
7
|
-
var cancellable = {
|
|
8
|
-
cancel: jest.fn()
|
|
9
|
-
};
|
|
10
|
-
expect((0, _withCancellation.isCancellable)(cancellable)).toBe(true);
|
|
11
|
-
});
|
|
12
|
-
it('should return false for null', function () {
|
|
13
|
-
expect((0, _withCancellation.isCancellable)(null)).toBe(false);
|
|
14
|
-
});
|
|
15
|
-
it('should return false for objects without cancel method', function () {
|
|
16
|
-
expect((0, _withCancellation.isCancellable)({})).toBe(false);
|
|
17
|
-
});
|
|
18
|
-
it('should return false for objects with invalid cancel method', function () {
|
|
19
|
-
expect((0, _withCancellation.isCancellable)({
|
|
20
|
-
cancel: 'not a function'
|
|
21
|
-
})).toBe(false);
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
describe('isAbortable', function () {
|
|
25
|
-
it('should return true for objects with valid signal', function () {
|
|
26
|
-
var abortController = new AbortController();
|
|
27
|
-
var abortable = {
|
|
28
|
-
signal: abortController.signal
|
|
29
|
-
};
|
|
30
|
-
expect((0, _withCancellation.isAbortable)(abortable)).toBe(true);
|
|
31
|
-
});
|
|
32
|
-
it('should return false for null', function () {
|
|
33
|
-
expect((0, _withCancellation.isAbortable)(null)).toBe(false);
|
|
34
|
-
});
|
|
35
|
-
it('should return false for objects without signal', function () {
|
|
36
|
-
expect((0, _withCancellation.isAbortable)({})).toBe(false);
|
|
37
|
-
});
|
|
38
|
-
it('should return false for objects with invalid signal', function () {
|
|
39
|
-
expect((0, _withCancellation.isAbortable)({
|
|
40
|
-
signal: {}
|
|
41
|
-
})).toBe(false);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
describe('withCancellation', function () {
|
|
45
|
-
it('should add abort listener when fetch returns cancellable and context is abortable', function () {
|
|
46
|
-
var mockCancel = jest.fn();
|
|
47
|
-
var cancellable = {
|
|
48
|
-
cancel: mockCancel
|
|
49
|
-
};
|
|
50
|
-
var abortController = new AbortController();
|
|
51
|
-
var fetchContext = {
|
|
52
|
-
signal: abortController.signal
|
|
53
|
-
};
|
|
54
|
-
var mockFetch = jest.fn().mockReturnValue(cancellable);
|
|
55
|
-
var dataSource = {
|
|
56
|
-
name: 'test',
|
|
57
|
-
fetch: mockFetch
|
|
58
|
-
};
|
|
59
|
-
var wrappedFetch = (0, _withCancellation.withCancellation)(dataSource.fetch);
|
|
60
|
-
var result = wrappedFetch({}, fetchContext, {});
|
|
61
|
-
expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});
|
|
62
|
-
expect(result).toBe(cancellable);
|
|
63
|
-
expect(mockCancel).not.toHaveBeenCalled();
|
|
64
|
-
|
|
65
|
-
// Simulate abort
|
|
66
|
-
abortController.abort();
|
|
67
|
-
expect(mockCancel).toHaveBeenCalled();
|
|
68
|
-
});
|
|
69
|
-
it('should not add abort listener when fetch returns non-cancellable', function () {
|
|
70
|
-
var abortController = new AbortController();
|
|
71
|
-
var fetchContext = {
|
|
72
|
-
signal: abortController.signal
|
|
73
|
-
};
|
|
74
|
-
var mockFetch = jest.fn().mockReturnValue('not cancellable');
|
|
75
|
-
var dataSource = {
|
|
76
|
-
name: 'test',
|
|
77
|
-
fetch: mockFetch
|
|
78
|
-
};
|
|
79
|
-
var wrappedFetch = (0, _withCancellation.withCancellation)(dataSource.fetch);
|
|
80
|
-
var result = wrappedFetch({}, fetchContext, {});
|
|
81
|
-
expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});
|
|
82
|
-
expect(result).toBe('not cancellable');
|
|
83
|
-
|
|
84
|
-
// No error should occur when aborting
|
|
85
|
-
abortController.abort();
|
|
86
|
-
});
|
|
87
|
-
it('should not add abort listener when context is not abortable', function () {
|
|
88
|
-
var mockCancel = jest.fn();
|
|
89
|
-
var cancellable = {
|
|
90
|
-
cancel: mockCancel
|
|
91
|
-
};
|
|
92
|
-
var fetchContext = {};
|
|
93
|
-
var mockFetch = jest.fn().mockReturnValue(cancellable);
|
|
94
|
-
var dataSource = {
|
|
95
|
-
name: 'test',
|
|
96
|
-
fetch: mockFetch
|
|
97
|
-
};
|
|
98
|
-
var wrappedFetch = (0, _withCancellation.withCancellation)(dataSource.fetch);
|
|
99
|
-
var result = wrappedFetch({}, fetchContext, {});
|
|
100
|
-
expect(mockFetch).toHaveBeenCalledWith({}, fetchContext, {});
|
|
101
|
-
expect(result).toBe(cancellable);
|
|
102
|
-
expect(mockCancel).not.toHaveBeenCalled();
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
// #sourceMappingURL=withCancellation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_withCancellation","require","describe","it","cancellable","cancel","jest","fn","expect","isCancellable","toBe","abortController","AbortController","abortable","signal","isAbortable","mockCancel","fetchContext","mockFetch","mockReturnValue","dataSource","name","fetch","wrappedFetch","withCancellation","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":"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","ignoreList":[]}
|