@apollo/client 4.3.0-rc.0 → 4.3.0-rc.2
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/CHANGELOG.md +112 -0
- package/__cjs/cache/core/cache.cjs +3 -3
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +3 -3
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +1 -1
- package/__cjs/cache/inmemory/entityStore.cjs +25 -10
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.cjs +12 -0
- package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.d.cts +2 -1
- package/__cjs/cache/inmemory/inMemoryCache.cjs +34 -22
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +3 -3
- package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
- package/__cjs/cache/inmemory/policies.cjs +7 -8
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +3 -4
- package/__cjs/cache/inmemory/readFromStore.cjs +3 -3
- package/__cjs/cache/inmemory/types.d.cts +3 -1
- package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
- package/__cjs/core/ApolloClient.cjs +14 -14
- package/__cjs/core/ObservableQuery.cjs +8 -8
- package/__cjs/core/QueryInfo.cjs +1 -1
- package/__cjs/core/QueryManager.cjs +12 -12
- package/__cjs/core/RefetchEventManager.cjs +3 -3
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +1 -1
- package/__cjs/core/types.d.cts +1 -1
- package/__cjs/incremental/handlers/graphql17Alpha9.cjs +1 -1
- package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
- package/__cjs/invariantErrorCodes.cjs +131 -116
- package/__cjs/link/core/ApolloLink.cjs +3 -3
- package/__cjs/link/http/checkFetcher.cjs +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
- package/__cjs/link/persisted-queries/index.cjs +2 -2
- package/__cjs/link/ws/index.cjs +1 -1
- package/__cjs/local-state/LocalState.cjs +11 -11
- package/__cjs/masking/maskDefinition.cjs +2 -2
- package/__cjs/masking/maskFragment.cjs +2 -2
- package/__cjs/masking/maskOperation.cjs +1 -1
- package/__cjs/masking/utils.cjs +3 -3
- package/__cjs/react/context/ApolloContext.cjs +1 -1
- package/__cjs/react/context/ApolloProvider.cjs +1 -1
- package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
- package/__cjs/react/hooks/useApolloClient.cjs +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.d.cts +2 -2
- package/__cjs/react/hooks/useLazyQuery.cjs +2 -2
- package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +15 -2
- package/__cjs/react/hooks/useSubscription.cjs +1 -1
- package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
- package/__cjs/react/hooks/useSubscription.d.cts +20 -1
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.d.cts +29 -29
- package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
- package/__cjs/react/internal/cache/QueryReference.cjs +1 -1
- package/__cjs/react/ssr/prerenderStatic.cjs +2 -2
- package/__cjs/react/types/types.documentation.d.cts +12 -1
- package/__cjs/testing/core/mocking/mockLink.cjs +4 -4
- package/__cjs/utilities/graphql/DocumentTransform.cjs +1 -1
- package/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs +45 -12
- package/__cjs/utilities/internal/coerceScalarFieldsToParsed.cjs.map +1 -1
- package/__cjs/utilities/internal/getFragmentDefinition.cjs +3 -3
- package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
- package/__cjs/utilities/internal/getFragmentFromSelection.cjs +1 -1
- package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +2 -2
- package/__cjs/utilities/internal/getMainDefinition.cjs +1 -1
- package/__cjs/utilities/internal/getQueryDefinition.cjs +1 -1
- package/__cjs/utilities/internal/index.cjs +6 -4
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +2 -1
- package/__cjs/utilities/internal/matchScalarList.cjs +12 -0
- package/__cjs/utilities/internal/matchScalarList.cjs.map +1 -0
- package/__cjs/utilities/internal/matchScalarList.d.cts +8 -0
- package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +1 -1
- package/__cjs/utilities/internal/shouldInclude.cjs +4 -4
- package/__cjs/utilities/internal/unwrapScalarType.cjs +12 -0
- package/__cjs/utilities/internal/unwrapScalarType.cjs.map +1 -0
- package/__cjs/utilities/internal/unwrapScalarType.d.cts +10 -0
- package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +1 -1
- package/__cjs/version.cjs +1 -1
- package/cache/core/cache.d.ts +3 -3
- package/cache/core/cache.js +3 -3
- package/cache/core/cache.js.map +1 -1
- package/cache/index.d.ts +1 -1
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.js +26 -11
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +2 -1
- package/cache/inmemory/helpers.js +11 -0
- package/cache/inmemory/helpers.js.map +1 -1
- package/cache/inmemory/inMemoryCache.d.ts +3 -3
- package/cache/inmemory/inMemoryCache.js +36 -24
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/key-extractor.js +1 -1
- package/cache/inmemory/policies.d.ts +3 -4
- package/cache/inmemory/policies.js +7 -8
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +3 -3
- package/cache/inmemory/types.d.ts +3 -1
- package/cache/inmemory/types.js.map +1 -1
- package/cache/inmemory/writeToStore.js +4 -4
- package/core/ApolloClient.js +14 -14
- package/core/ObservableQuery.js +8 -8
- package/core/QueryInfo.js +1 -1
- package/core/QueryManager.js +12 -12
- package/core/RefetchEventManager.js +3 -3
- package/core/index.d.ts +1 -1
- package/core/index.js.map +1 -1
- package/core/types.d.ts +1 -1
- package/core/types.js.map +1 -1
- package/incremental/handlers/graphql17Alpha9.js +1 -1
- package/incremental/handlers/notImplemented.js +1 -1
- package/invariantErrorCodes.js +131 -116
- package/link/core/ApolloLink.js +3 -3
- package/link/http/checkFetcher.js +1 -1
- package/link/http/parseAndCheckHttpResponse.js +1 -1
- package/link/persisted-queries/index.js +2 -2
- package/link/ws/index.js +1 -1
- package/local-state/LocalState.js +11 -11
- package/masking/maskDefinition.js +2 -2
- package/masking/maskFragment.js +2 -2
- package/masking/maskOperation.js +1 -1
- package/masking/utils.js +3 -3
- package/package.json +1 -1
- package/react/context/ApolloContext.js +1 -1
- package/react/context/ApolloProvider.js +1 -1
- package/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
- package/react/hooks/useApolloClient.js +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +2 -2
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useLazyQuery.js +2 -2
- package/react/hooks/useLoadableQuery.js +2 -2
- package/react/hooks/useQuery.d.ts +15 -2
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useSubscription.d.ts +20 -1
- package/react/hooks/useSubscription.js +1 -1
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseQuery.d.ts +29 -29
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks/useSyncExternalStore.js +1 -1
- package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +2 -2
- package/react/hooks-compiled/useApolloClient.js +1 -1
- package/react/hooks-compiled/useBackgroundQuery.d.ts +2 -2
- package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
- package/react/hooks-compiled/useLazyQuery.js +2 -2
- package/react/hooks-compiled/useLoadableQuery.js +2 -2
- package/react/hooks-compiled/useQuery.d.ts +15 -2
- package/react/hooks-compiled/useQuery.js.map +1 -1
- package/react/hooks-compiled/useSubscription.d.ts +20 -1
- package/react/hooks-compiled/useSubscription.js +1 -1
- package/react/hooks-compiled/useSubscription.js.map +1 -1
- package/react/hooks-compiled/useSuspenseQuery.d.ts +29 -29
- package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
- package/react/hooks-compiled/useSyncExternalStore.js +1 -1
- package/react/internal/cache/QueryReference.js +1 -1
- package/react/ssr/prerenderStatic.js +2 -2
- package/react/types/types.documentation.d.ts +12 -1
- package/react/types/types.documentation.js.map +1 -1
- package/testing/core/mocking/mockLink.js +4 -4
- package/utilities/graphql/DocumentTransform.js +1 -1
- package/utilities/internal/coerceScalarFieldsToParsed.js +40 -11
- package/utilities/internal/coerceScalarFieldsToParsed.js.map +1 -1
- package/utilities/internal/getFragmentDefinition.js +3 -3
- package/utilities/internal/getFragmentDefinition.js.map +1 -1
- package/utilities/internal/getFragmentFromSelection.js +1 -1
- package/utilities/internal/getFragmentQueryDocument.js +2 -2
- package/utilities/internal/getMainDefinition.js +1 -1
- package/utilities/internal/getQueryDefinition.js +1 -1
- package/utilities/internal/index.d.ts +2 -1
- package/utilities/internal/index.js +2 -1
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/matchScalarList.d.ts +8 -0
- package/utilities/internal/matchScalarList.js +9 -0
- package/utilities/internal/matchScalarList.js.map +1 -0
- package/utilities/internal/removeDirectivesFromDocument.js +1 -1
- package/utilities/internal/shouldInclude.js +4 -4
- package/utilities/internal/unwrapScalarType.d.ts +10 -0
- package/utilities/internal/unwrapScalarType.js +9 -0
- package/utilities/internal/unwrapScalarType.js.map +1 -0
- package/utilities/internal/valueToObjectRepresentation.js +1 -1
- package/version.js +1 -1
- package/__cjs/utilities/internal/getUnwrappedType.cjs +0 -20
- package/__cjs/utilities/internal/getUnwrappedType.cjs.map +0 -1
- package/__cjs/utilities/internal/getUnwrappedType.d.cts +0 -8
- package/utilities/internal/getUnwrappedType.d.ts +0 -8
- package/utilities/internal/getUnwrappedType.js +0 -17
- package/utilities/internal/getUnwrappedType.js.map +0 -1
|
@@ -95,7 +95,7 @@ export declare namespace useSuspenseQuery {
|
|
|
95
95
|
* @deprecated We recommend using `skipToken` in place of the `skip` option as
|
|
96
96
|
* it is more type-safe.
|
|
97
97
|
*
|
|
98
|
-
* This option is deprecated and
|
|
98
|
+
* This option is deprecated and will be removed in a future release.
|
|
99
99
|
* Please use [`skipToken`](https://www.apollographql.com/docs/react/api/react/hooks#skiptoken) instead of the `skip` option as it is more type-safe.
|
|
100
100
|
*
|
|
101
101
|
* @docGroup 1. Operation options
|
|
@@ -104,7 +104,7 @@ export declare namespace useSuspenseQuery {
|
|
|
104
104
|
* @example Recommended usage of `skipToken`:
|
|
105
105
|
*
|
|
106
106
|
* ```ts
|
|
107
|
-
* import { skipToken, useSuspenseQuery } from "@apollo/client";
|
|
107
|
+
* import { skipToken, useSuspenseQuery } from "@apollo/client/react";
|
|
108
108
|
*
|
|
109
109
|
* const { data } = useSuspenseQuery(
|
|
110
110
|
* query,
|
|
@@ -239,7 +239,7 @@ export declare namespace useSuspenseQuery {
|
|
|
239
239
|
*
|
|
240
240
|
* ```jsx
|
|
241
241
|
* import { Suspense } from "react";
|
|
242
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
242
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
243
243
|
*
|
|
244
244
|
* const listQuery = gql`
|
|
245
245
|
* query {
|
|
@@ -287,7 +287,7 @@ export declare namespace useSuspenseQuery {
|
|
|
287
287
|
*
|
|
288
288
|
* ```jsx
|
|
289
289
|
* import { Suspense } from "react";
|
|
290
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
290
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
291
291
|
*
|
|
292
292
|
* const listQuery = gql`
|
|
293
293
|
* query {
|
|
@@ -332,7 +332,7 @@ export declare namespace useSuspenseQuery {
|
|
|
332
332
|
*
|
|
333
333
|
* ```jsx
|
|
334
334
|
* import { Suspense } from "react";
|
|
335
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
335
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
336
336
|
*
|
|
337
337
|
* const listQuery = gql`
|
|
338
338
|
* query {
|
|
@@ -374,7 +374,7 @@ export declare namespace useSuspenseQuery {
|
|
|
374
374
|
*
|
|
375
375
|
* ```jsx
|
|
376
376
|
* import { Suspense } from "react";
|
|
377
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
377
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
378
378
|
*
|
|
379
379
|
* const listQuery = gql`
|
|
380
380
|
* query {
|
|
@@ -419,7 +419,7 @@ export declare namespace useSuspenseQuery {
|
|
|
419
419
|
*
|
|
420
420
|
* ```jsx
|
|
421
421
|
* import { Suspense } from "react";
|
|
422
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
422
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
423
423
|
*
|
|
424
424
|
* const listQuery = gql`
|
|
425
425
|
* query {
|
|
@@ -463,7 +463,7 @@ export declare namespace useSuspenseQuery {
|
|
|
463
463
|
*
|
|
464
464
|
* ```jsx
|
|
465
465
|
* import { Suspense } from "react";
|
|
466
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
466
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
467
467
|
*
|
|
468
468
|
* const listQuery = gql`
|
|
469
469
|
* query {
|
|
@@ -509,7 +509,7 @@ export declare namespace useSuspenseQuery {
|
|
|
509
509
|
*
|
|
510
510
|
* ```jsx
|
|
511
511
|
* import { Suspense } from "react";
|
|
512
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
512
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
513
513
|
*
|
|
514
514
|
* const listQuery = gql`
|
|
515
515
|
* query {
|
|
@@ -554,7 +554,7 @@ export declare namespace useSuspenseQuery {
|
|
|
554
554
|
*
|
|
555
555
|
* ```jsx
|
|
556
556
|
* import { Suspense } from "react";
|
|
557
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
557
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
558
558
|
*
|
|
559
559
|
* const listQuery = gql`
|
|
560
560
|
* query {
|
|
@@ -599,7 +599,7 @@ export declare namespace useSuspenseQuery {
|
|
|
599
599
|
*
|
|
600
600
|
* ```jsx
|
|
601
601
|
* import { Suspense } from "react";
|
|
602
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
602
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
603
603
|
*
|
|
604
604
|
* const listQuery = gql`
|
|
605
605
|
* query {
|
|
@@ -644,7 +644,7 @@ export declare namespace useSuspenseQuery {
|
|
|
644
644
|
*
|
|
645
645
|
* ```jsx
|
|
646
646
|
* import { Suspense } from "react";
|
|
647
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
647
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
648
648
|
*
|
|
649
649
|
* const listQuery = gql`
|
|
650
650
|
* query {
|
|
@@ -694,7 +694,7 @@ export declare namespace useSuspenseQuery {
|
|
|
694
694
|
*
|
|
695
695
|
* ```jsx
|
|
696
696
|
* import { Suspense } from "react";
|
|
697
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
697
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
698
698
|
*
|
|
699
699
|
* const listQuery = gql`
|
|
700
700
|
* query {
|
|
@@ -744,7 +744,7 @@ export declare namespace useSuspenseQuery {
|
|
|
744
744
|
*
|
|
745
745
|
* ```jsx
|
|
746
746
|
* import { Suspense } from "react";
|
|
747
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
747
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
748
748
|
*
|
|
749
749
|
* const listQuery = gql`
|
|
750
750
|
* query {
|
|
@@ -792,7 +792,7 @@ export declare namespace useSuspenseQuery {
|
|
|
792
792
|
*
|
|
793
793
|
* ```jsx
|
|
794
794
|
* import { Suspense } from "react";
|
|
795
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
795
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
796
796
|
*
|
|
797
797
|
* const listQuery = gql`
|
|
798
798
|
* query {
|
|
@@ -841,7 +841,7 @@ export declare namespace useSuspenseQuery {
|
|
|
841
841
|
*
|
|
842
842
|
* ```jsx
|
|
843
843
|
* import { Suspense } from "react";
|
|
844
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
844
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
845
845
|
*
|
|
846
846
|
* const listQuery = gql`
|
|
847
847
|
* query {
|
|
@@ -889,7 +889,7 @@ export declare namespace useSuspenseQuery {
|
|
|
889
889
|
*
|
|
890
890
|
* ```jsx
|
|
891
891
|
* import { Suspense } from "react";
|
|
892
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
892
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
893
893
|
*
|
|
894
894
|
* const listQuery = gql`
|
|
895
895
|
* query {
|
|
@@ -938,7 +938,7 @@ export declare namespace useSuspenseQuery {
|
|
|
938
938
|
*
|
|
939
939
|
* ```jsx
|
|
940
940
|
* import { Suspense } from "react";
|
|
941
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
941
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
942
942
|
*
|
|
943
943
|
* const listQuery = gql`
|
|
944
944
|
* query {
|
|
@@ -986,7 +986,7 @@ export declare namespace useSuspenseQuery {
|
|
|
986
986
|
*
|
|
987
987
|
* ```jsx
|
|
988
988
|
* import { Suspense } from "react";
|
|
989
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
989
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
990
990
|
*
|
|
991
991
|
* const listQuery = gql`
|
|
992
992
|
* query {
|
|
@@ -1034,7 +1034,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1034
1034
|
*
|
|
1035
1035
|
* ```jsx
|
|
1036
1036
|
* import { Suspense } from "react";
|
|
1037
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1037
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1038
1038
|
*
|
|
1039
1039
|
* const listQuery = gql`
|
|
1040
1040
|
* query {
|
|
@@ -1082,7 +1082,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1082
1082
|
*
|
|
1083
1083
|
* ```jsx
|
|
1084
1084
|
* import { Suspense } from "react";
|
|
1085
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1085
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1086
1086
|
*
|
|
1087
1087
|
* const listQuery = gql`
|
|
1088
1088
|
* query {
|
|
@@ -1130,7 +1130,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1130
1130
|
*
|
|
1131
1131
|
* ```jsx
|
|
1132
1132
|
* import { Suspense } from "react";
|
|
1133
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1133
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1134
1134
|
*
|
|
1135
1135
|
* const listQuery = gql`
|
|
1136
1136
|
* query {
|
|
@@ -1178,7 +1178,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1178
1178
|
*
|
|
1179
1179
|
* ```jsx
|
|
1180
1180
|
* import { Suspense } from "react";
|
|
1181
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1181
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1182
1182
|
*
|
|
1183
1183
|
* const listQuery = gql`
|
|
1184
1184
|
* query {
|
|
@@ -1221,7 +1221,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1221
1221
|
*
|
|
1222
1222
|
* ```jsx
|
|
1223
1223
|
* import { Suspense } from "react";
|
|
1224
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1224
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1225
1225
|
*
|
|
1226
1226
|
* const listQuery = gql`
|
|
1227
1227
|
* query {
|
|
@@ -1263,7 +1263,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1263
1263
|
*
|
|
1264
1264
|
* ```jsx
|
|
1265
1265
|
* import { Suspense } from "react";
|
|
1266
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1266
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1267
1267
|
*
|
|
1268
1268
|
* const listQuery = gql`
|
|
1269
1269
|
* query {
|
|
@@ -1305,7 +1305,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1305
1305
|
*
|
|
1306
1306
|
* ```jsx
|
|
1307
1307
|
* import { Suspense } from "react";
|
|
1308
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1308
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1309
1309
|
*
|
|
1310
1310
|
* const listQuery = gql`
|
|
1311
1311
|
* query {
|
|
@@ -1351,7 +1351,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1351
1351
|
*
|
|
1352
1352
|
* ```jsx
|
|
1353
1353
|
* import { Suspense } from "react";
|
|
1354
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1354
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1355
1355
|
*
|
|
1356
1356
|
* const listQuery = gql`
|
|
1357
1357
|
* query {
|
|
@@ -1393,7 +1393,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1393
1393
|
*
|
|
1394
1394
|
* ```jsx
|
|
1395
1395
|
* import { Suspense } from "react";
|
|
1396
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1396
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1397
1397
|
*
|
|
1398
1398
|
* const listQuery = gql`
|
|
1399
1399
|
* query {
|
|
@@ -1442,7 +1442,7 @@ export declare namespace useSuspenseQuery {
|
|
|
1442
1442
|
*
|
|
1443
1443
|
* ```jsx
|
|
1444
1444
|
* import { Suspense } from "react";
|
|
1445
|
-
* import { useSuspenseQuery } from "@apollo/client";
|
|
1445
|
+
* import { useSuspenseQuery } from "@apollo/client/react";
|
|
1446
1446
|
*
|
|
1447
1447
|
* const listQuery = gql`
|
|
1448
1448
|
* query {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSuspenseQuery.js","sourceRoot":"","sources":["../../../src/react/hooks/useSuspenseQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\n\nimport type {\n ApolloClient,\n DataState,\n DefaultContext,\n DocumentNode,\n ErrorLike,\n ErrorPolicy,\n GetDataState,\n MaybeMasked,\n ObservableQuery,\n OperationVariables,\n RefetchOn,\n RefetchWritePolicy,\n TypedDocumentNode,\n WatchQueryFetchPolicy,\n} from \"@apollo/client\";\nimport type { SubscribeToMoreFunction } from \"@apollo/client\";\nimport { NetworkStatus } from \"@apollo/client\";\nimport type {\n FetchMoreFunction,\n QueryKey,\n RefetchFunction,\n} from \"@apollo/client/react/internal\";\nimport { getSuspenseCache } from \"@apollo/client/react/internal\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport type {\n DocumentationTypes as UtilityDocumentationTypes,\n OptionWithFallback,\n Prettify,\n SignatureStyle,\n VariablesOption,\n} from \"@apollo/client/utilities/internal\";\nimport { variablesUnknownSymbol } from \"@apollo/client/utilities/internal\";\n\nimport type { SkipToken } from \"./constants.js\";\nimport { skipToken } from \"./constants.js\";\nimport {\n __use,\n useDeepMemo,\n useSuspenseHookCacheKey,\n wrapHook,\n} from \"./internal/index.js\";\nimport { validateSuspenseHookOptions } from \"./internal/validateSuspenseHookOptions.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\nexport declare namespace useSuspenseQuery {\n export type FetchPolicy = Extract<\n WatchQueryFetchPolicy,\n \"cache-first\" | \"network-only\" | \"no-cache\" | \"cache-and-network\"\n >;\n\n export namespace Base {\n export interface Options<\n TVariables extends OperationVariables = OperationVariables,\n > {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#returnPartialData:member} */\n returnPartialData?: boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchWritePolicy_suspense:member} */\n refetchWritePolicy?: RefetchWritePolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: FetchPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#queryKey:member} */\n queryKey?: string | number | any[];\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchOn:member} */\n refetchOn?: RefetchOn.Option;\n\n /**\n * {@inheritDoc @apollo/client!QueryOptionsDocumentation#skip_deprecated:member}\n *\n * @example Recommended usage of `skipToken`:\n *\n * ```ts\n * import { skipToken, useSuspenseQuery } from \"@apollo/client\";\n *\n * const { data } = useSuspenseQuery(\n * query,\n * id ? { variables: { id } } : skipToken\n * );\n * ```\n */\n skip?: boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#variables:member} */\n variables?: unknown;\n }\n }\n export type Options<\n TVariables extends OperationVariables = OperationVariables,\n > = Base.Options<TVariables> & VariablesOption<TVariables>;\n\n export namespace DocumentationTypes {\n namespace useSuspenseQuery {\n export interface Options<\n TVariables extends OperationVariables = OperationVariables,\n > extends Base.Options<TVariables> {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#variables:member} */\n variables?: TVariables;\n }\n }\n }\n\n export namespace Base {\n export interface Result<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n > {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#client:member} */\n client: ApolloClient;\n\n /** {@inheritDoc @apollo/client!QueryResultDocumentation#error:member} */\n error: ErrorLike | undefined;\n\n /**\n * {@inheritDoc @apollo/client!QueryResultDocumentation#fetchMore:member}\n *\n * @remarks\n * Calling this function will cause the component to re-suspend, unless the call site is wrapped in [`startTransition`](https://react.dev/reference/react/startTransition).\n */\n fetchMore: FetchMoreFunction<TData, TVariables>;\n\n /** {@inheritDoc @apollo/client!QueryResultDocumentation#networkStatus:member} */\n networkStatus: NetworkStatus;\n\n /**\n * {@inheritDoc @apollo/client!QueryResultDocumentation#refetch:member}\n *\n * @remarks\n * Calling this function will cause the component to re-suspend, unless the call site is wrapped in [`startTransition`](https://react.dev/reference/react/startTransition).\n */\n refetch: RefetchFunction<TData, TVariables, TErrorPolicy>;\n\n /** {@inheritDoc @apollo/client!QueryResultDocumentation#subscribeToMore:member} */\n subscribeToMore: SubscribeToMoreFunction<TData, TVariables>;\n }\n }\n export type Result<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TStates extends\n DataState<TData>[\"dataState\"] = DataState<TData>[\"dataState\"],\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n > = Base.Result<TData, TVariables, TErrorPolicy> &\n GetDataState<MaybeMasked<TData>, TStates>;\n\n export interface DefaultOptions\n extends ApolloClient.DefaultOptions.WatchQuery.Calculated {\n skip: false;\n }\n\n export type OptionsFor<\n TVariables extends OperationVariables,\n TOptions extends { variables?: unknown },\n > = useSuspenseQuery.Options<NoInfer<TVariables>> & {\n variables?: Prettify<\n TVariables & {\n // variables that are not part of `TVariables`\n [K in keyof TOptions[\"variables\"]]: K extends keyof TVariables ?\n TVariables[K]\n : never;\n }\n >;\n } & (Exclude<\n keyof Exclude<TOptions, SkipToken>,\n keyof useSuspenseQuery.Options<any>\n > extends infer InvalidOptionNames extends string ?\n [InvalidOptionNames] extends [never] ?\n unknown\n : { [K in InvalidOptionNames]: never }\n : never);\n\n export type ResultForOptions<\n TData,\n TVariables extends OperationVariables,\n TOptions extends\n | Record<string, never> // no options\n | Base.Options<TVariables>\n | SkipToken,\n > = Result<\n TData,\n TVariables,\n | \"complete\"\n | \"streaming\"\n | (TOptions extends any ?\n TOptions extends SkipToken ?\n \"empty\"\n : | (OptionWithFallback<\n TOptions,\n DefaultOptions,\n \"errorPolicy\"\n > extends \"none\" ?\n never\n : \"empty\")\n | (OptionWithFallback<TOptions, DefaultOptions, \"skip\"> extends (\n false\n ) ?\n never\n : \"empty\")\n | (OptionWithFallback<\n TOptions,\n DefaultOptions,\n \"returnPartialData\"\n > extends false ?\n never\n : \"partial\")\n : never)\n // special case, if only `SkipToken` is passed in (no union type),\n // then we want to still keep \"partial\" if `returnPartialData` is globally\n // set to `true` or `boolean` via defaultOptions\n | ([TOptions] extends [SkipToken] ?\n DefaultOptions extends { returnPartialData: false } ?\n never\n : \"partial\"\n : never),\n OptionWithFallback<TOptions, DefaultOptions, \"errorPolicy\"> & ErrorPolicy\n >;\n\n export namespace DocumentationTypes {\n namespace useSuspenseQuery {\n export interface Result<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n > extends Base.Result<TData, TVariables>,\n UtilityDocumentationTypes.DataState<TData> {}\n }\n }\n export namespace DocumentationTypes {\n export interface useSuspenseQuery {\n /**\n * For a detailed explanation of `useSuspenseQuery`, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).\n *\n * @example\n *\n * ```jsx\n * import { Suspense } from \"react\";\n * import { useSuspenseQuery } from \"@apollo/client\";\n *\n * const listQuery = gql`\n * query {\n * list {\n * id\n * }\n * }\n * `;\n *\n * function App() {\n * return (\n * <Suspense fallback={<Spinner />}>\n * <List />\n * </Suspense>\n * );\n * }\n *\n * function List() {\n * const { data } = useSuspenseQuery(listQuery);\n *\n * return (\n * <ol>\n * {data.list.map((item) => (\n * <Item key={item.id} id={item.id} />\n * ))}\n * </ol>\n * );\n * }\n * ```\n *\n * @param query - A GraphQL query document parsed into an AST by `gql`.\n * @param options - An optional object containing options for the query. Instead of passing a `useSuspenseQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useSuspenseQuery` hook from executing the query or suspending.\n */\n <\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useSuspenseQuery.Options<TVariables>\n ): useSuspenseQuery.Result<TData, TVariables>;\n }\n\n export interface useSuspenseQuery_Deprecated {\n /**\n * @deprecated Avoid manually specifying generic arguments on `useSuspenseQuery`.\n * Instead, rely on TypeScript's type inference along with a correctly typed `TypedDocumentNode` to get accurate types for your query results.\n *\n * {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)}\n */\n <\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useSuspenseQuery.Options<TVariables>\n ): useSuspenseQuery.Result<TData, TVariables>;\n }\n }\n\n export namespace Signatures {\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n export interface Classic {\n // _INFERENCE_ONLY_DO_NOT_SPECIFY is used to distinguish between inferred\n // generics arguments and explicit generic arguments so that we can\n // provide a `@deprecated` signature for explicit generic arguments. As\n // soon as a user provides a generic arg (e.g. useSuspenseQuery<TData>(query))`,\n // the overload falls through to the overloads without\n // _INFERENCE_ONLY_DO_NOT_SPECIFY.\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy: TErrorPolicy & (\"ignore\" | \"all\");\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"partial\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy: TErrorPolicy & (\"ignore\" | \"all\");\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n returnPartialData: true;\n errorPolicy?: TErrorPolicy;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"empty\" | \"streaming\" | \"partial\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy?: TErrorPolicy;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"partial\" | \"streaming\" | \"complete\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n errorPolicy?: TErrorPolicy;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy?: TErrorPolicy;\n })\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"empty\" | \"streaming\" | \"complete\" | \"partial\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n },\n ]\n : [\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n },\n ]\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n }),\n ]\n : [\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n }),\n ]\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n })\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy: \"ignore\" | \"all\";\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"partial\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy: \"ignore\" | \"all\";\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n returnPartialData: true;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"empty\" | \"streaming\" | \"partial\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"partial\" | \"streaming\" | \"complete\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n })\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"empty\" | \"streaming\" | \"complete\" | \"partial\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [options?: useSuspenseQuery.Options<NoInfer<TVariables>>]\n : [options: useSuspenseQuery.Options<NoInfer<TVariables>>]\n ): useSuspenseQuery.Result<TData, TVariables, \"complete\" | \"streaming\">;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [options?: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>]\n : [options: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>]\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n }\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n export interface Modern {\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n Options extends never,\n >(\n query: {} extends TVariables ?\n DocumentNode | TypedDocumentNode<TData, TVariables>\n : // this overload should only be accessible if all `TVariables` are optional\n never\n ): useSuspenseQuery.ResultForOptions<\n TData,\n TVariables,\n Record<string, never>\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n TOptions extends Base.Options<NoInfer<TVariables>>,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?: TOptions &\n useSuspenseQuery.OptionsFor<TVariables, TOptions>,\n ]\n : [\n options: TOptions &\n useSuspenseQuery.OptionsFor<TVariables, TOptions>,\n ]\n ): useSuspenseQuery.ResultForOptions<TData, TVariables, TOptions>;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n TOptions extends never,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n skipToken: SkipToken\n ): useSuspenseQuery.ResultForOptions<TData, TVariables, SkipToken>;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n TOptions extends Base.Options<NoInfer<TVariables>>,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?:\n | (TOptions & useSuspenseQuery.OptionsFor<TVariables, TOptions>)\n | SkipToken,\n ]\n : [\n options:\n | (TOptions & useSuspenseQuery.OptionsFor<TVariables, TOptions>)\n | SkipToken,\n ]\n ): useSuspenseQuery.ResultForOptions<\n TData,\n TVariables,\n TOptions | SkipToken\n >;\n }\n\n export type Evaluated = SignatureStyle extends \"classic\" ? Classic : Modern;\n }\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n export interface Signature extends Signatures.Evaluated {}\n}\n\nexport const useSuspenseQuery: useSuspenseQuery.Signature =\n function useSuspenseQuery<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"empty\" | \"streaming\" | \"complete\" | \"partial\"\n > {\n \"use no memo\";\n return wrapHook(\n \"useSuspenseQuery\",\n useSuspenseQuery_,\n useApolloClient(typeof options === \"object\" ? options.client : undefined)\n )(query, options ?? ({} as any));\n } as any;\n\nfunction useSuspenseQuery_<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | (SkipToken & Partial<useSuspenseQuery.Options<TVariables>>)\n | useSuspenseQuery.Options<TVariables>\n): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"partial\" | \"complete\" | \"streaming\" | \"empty\"\n> {\n const client = useApolloClient(options.client);\n const suspenseCache = getSuspenseCache(client);\n const watchQueryOptions = useWatchQueryOptions<any, any>({\n client,\n query,\n options,\n });\n const { fetchPolicy } = watchQueryOptions;\n const cacheKey = useSuspenseHookCacheKey(query, options);\n\n const queryRef = suspenseCache.getQueryRef(cacheKey, () =>\n client.watchQuery(watchQueryOptions)\n );\n\n let [current, setPromise] = React.useState<\n [QueryKey, Promise<ObservableQuery.Result<any>>]\n >([queryRef.key, queryRef.promise]);\n\n // This saves us a re-execution of the render function when a variable changed.\n if (current[0] !== queryRef.key) {\n // eslint-disable-next-line react-hooks/immutability\n current[0] = queryRef.key;\n // eslint-disable-next-line react-hooks/immutability\n current[1] = queryRef.promise;\n }\n let promise = current[1];\n\n if (queryRef.didChangeOptions(watchQueryOptions)) {\n // eslint-disable-next-line react-hooks/immutability\n current[1] = promise = queryRef.applyOptions(watchQueryOptions);\n }\n\n React.useEffect(() => {\n const dispose = queryRef.retain();\n\n const removeListener = queryRef.listen((promise) => {\n setPromise([queryRef.key, promise]);\n });\n\n return () => {\n removeListener();\n dispose();\n };\n }, [queryRef]);\n\n const skipResult = React.useMemo<ObservableQuery.Result<TData>>(() => {\n const error = queryRef.result.error;\n const complete = !!queryRef.result.data;\n\n return {\n loading: false,\n data: queryRef.result.data,\n dataState: queryRef.result.dataState,\n networkStatus: error ? NetworkStatus.error : NetworkStatus.ready,\n error,\n complete,\n partial: !complete,\n };\n }, [queryRef.result]);\n\n const result = fetchPolicy === \"standby\" ? skipResult : __use(promise);\n\n const fetchMore = React.useCallback(\n (\n options: ObservableQuery.FetchMoreOptions<unknown, OperationVariables>\n ) => {\n const promise = queryRef.fetchMore(options);\n setPromise([queryRef.key, queryRef.promise]);\n\n return promise;\n },\n [queryRef]\n ) as FetchMoreFunction<TData | undefined, TVariables>;\n\n const refetch: RefetchFunction<TData, TVariables> = React.useCallback(\n (variables) => {\n const promise = queryRef.refetch(variables);\n setPromise([queryRef.key, queryRef.promise]);\n\n return promise;\n },\n [queryRef]\n );\n\n // TODO: The internalQueryRef doesn't have TVariables' type information so we have to cast it here\n const subscribeToMore = queryRef.observable\n .subscribeToMore as SubscribeToMoreFunction<TData | undefined, TVariables>;\n\n return React.useMemo<\n useSuspenseQuery.Result<TData, TVariables, DataState<TData>[\"dataState\"]>\n >(() => {\n return {\n client,\n data: result.data,\n dataState: result.dataState,\n error: result.error,\n networkStatus: result.networkStatus,\n fetchMore,\n refetch,\n subscribeToMore,\n } as useSuspenseQuery.Result<\n TData,\n TVariables,\n DataState<TData>[\"dataState\"]\n >;\n }, [client, fetchMore, refetch, result, subscribeToMore]);\n}\n\ninterface UseWatchQueryOptionsHookOptions<\n TData,\n TVariables extends OperationVariables,\n> {\n client: ApolloClient;\n query: DocumentNode | TypedDocumentNode<TData, TVariables>;\n options: SkipToken | useSuspenseQuery.Options<TVariables>;\n}\n\nexport function useWatchQueryOptions<\n TData,\n TVariables extends OperationVariables,\n>({\n client,\n query,\n options,\n}: UseWatchQueryOptionsHookOptions<\n TData,\n TVariables\n>): ApolloClient.WatchQueryOptions<TData, TVariables> {\n return useDeepMemo<ApolloClient.WatchQueryOptions<TData, TVariables>>(() => {\n if (options === skipToken) {\n return {\n query,\n fetchPolicy: \"standby\",\n [variablesUnknownSymbol]: true,\n } as ApolloClient.WatchQueryOptions<TData, TVariables>;\n }\n\n const fetchPolicy =\n options.fetchPolicy ||\n client.defaultOptions.watchQuery?.fetchPolicy ||\n \"cache-first\";\n\n const watchQueryOptions: ApolloClient.WatchQueryOptions<TData, TVariables> =\n {\n ...options,\n fetchPolicy,\n query,\n notifyOnNetworkStatusChange: false,\n nextFetchPolicy: void 0,\n };\n\n if (__DEV__) {\n validateSuspenseHookOptions(watchQueryOptions);\n }\n\n // Assign the updated fetch policy after our validation since `standby` is\n // not a supported fetch policy on its own without the use of `skip`.\n if (options.skip) {\n watchQueryOptions.fetchPolicy = \"standby\";\n }\n\n return watchQueryOptions;\n }, [client, options, query]);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"useSuspenseQuery.js","sourceRoot":"","sources":["../../../src/react/hooks/useSuspenseQuery.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\n\nimport type {\n ApolloClient,\n DataState,\n DefaultContext,\n DocumentNode,\n ErrorLike,\n ErrorPolicy,\n GetDataState,\n MaybeMasked,\n ObservableQuery,\n OperationVariables,\n RefetchOn,\n RefetchWritePolicy,\n TypedDocumentNode,\n WatchQueryFetchPolicy,\n} from \"@apollo/client\";\nimport type { SubscribeToMoreFunction } from \"@apollo/client\";\nimport { NetworkStatus } from \"@apollo/client\";\nimport type {\n FetchMoreFunction,\n QueryKey,\n RefetchFunction,\n} from \"@apollo/client/react/internal\";\nimport { getSuspenseCache } from \"@apollo/client/react/internal\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport type {\n DocumentationTypes as UtilityDocumentationTypes,\n OptionWithFallback,\n Prettify,\n SignatureStyle,\n VariablesOption,\n} from \"@apollo/client/utilities/internal\";\nimport { variablesUnknownSymbol } from \"@apollo/client/utilities/internal\";\n\nimport type { SkipToken } from \"./constants.js\";\nimport { skipToken } from \"./constants.js\";\nimport {\n __use,\n useDeepMemo,\n useSuspenseHookCacheKey,\n wrapHook,\n} from \"./internal/index.js\";\nimport { validateSuspenseHookOptions } from \"./internal/validateSuspenseHookOptions.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\nexport declare namespace useSuspenseQuery {\n export type FetchPolicy = Extract<\n WatchQueryFetchPolicy,\n \"cache-first\" | \"network-only\" | \"no-cache\" | \"cache-and-network\"\n >;\n\n export namespace Base {\n export interface Options<\n TVariables extends OperationVariables = OperationVariables,\n > {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#returnPartialData:member} */\n returnPartialData?: boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchWritePolicy_suspense:member} */\n refetchWritePolicy?: RefetchWritePolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: FetchPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#queryKey:member} */\n queryKey?: string | number | any[];\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchOn:member} */\n refetchOn?: RefetchOn.Option;\n\n /**\n * {@inheritDoc @apollo/client!QueryOptionsDocumentation#skip_deprecated:member}\n *\n * @example Recommended usage of `skipToken`:\n *\n * ```ts\n * import { skipToken, useSuspenseQuery } from \"@apollo/client/react\";\n *\n * const { data } = useSuspenseQuery(\n * query,\n * id ? { variables: { id } } : skipToken\n * );\n * ```\n */\n skip?: boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#variables:member} */\n variables?: unknown;\n }\n }\n export type Options<\n TVariables extends OperationVariables = OperationVariables,\n > = Base.Options<TVariables> & VariablesOption<TVariables>;\n\n export namespace DocumentationTypes {\n namespace useSuspenseQuery {\n export interface Options<\n TVariables extends OperationVariables = OperationVariables,\n > extends Base.Options<TVariables> {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#variables:member} */\n variables?: TVariables;\n }\n }\n }\n\n export namespace Base {\n export interface Result<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n > {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#client:member} */\n client: ApolloClient;\n\n /** {@inheritDoc @apollo/client!QueryResultDocumentation#error:member} */\n error: ErrorLike | undefined;\n\n /**\n * {@inheritDoc @apollo/client!QueryResultDocumentation#fetchMore:member}\n *\n * @remarks\n * Calling this function will cause the component to re-suspend, unless the call site is wrapped in [`startTransition`](https://react.dev/reference/react/startTransition).\n */\n fetchMore: FetchMoreFunction<TData, TVariables>;\n\n /** {@inheritDoc @apollo/client!QueryResultDocumentation#networkStatus:member} */\n networkStatus: NetworkStatus;\n\n /**\n * {@inheritDoc @apollo/client!QueryResultDocumentation#refetch:member}\n *\n * @remarks\n * Calling this function will cause the component to re-suspend, unless the call site is wrapped in [`startTransition`](https://react.dev/reference/react/startTransition).\n */\n refetch: RefetchFunction<TData, TVariables, TErrorPolicy>;\n\n /** {@inheritDoc @apollo/client!QueryResultDocumentation#subscribeToMore:member} */\n subscribeToMore: SubscribeToMoreFunction<TData, TVariables>;\n }\n }\n export type Result<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TStates extends\n DataState<TData>[\"dataState\"] = DataState<TData>[\"dataState\"],\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n > = Base.Result<TData, TVariables, TErrorPolicy> &\n GetDataState<MaybeMasked<TData>, TStates>;\n\n export interface DefaultOptions\n extends ApolloClient.DefaultOptions.WatchQuery.Calculated {\n skip: false;\n }\n\n export type OptionsFor<\n TVariables extends OperationVariables,\n TOptions extends { variables?: unknown },\n > = useSuspenseQuery.Options<NoInfer<TVariables>> & {\n variables?: Prettify<\n TVariables & {\n // variables that are not part of `TVariables`\n [K in keyof TOptions[\"variables\"]]: K extends keyof TVariables ?\n TVariables[K]\n : never;\n }\n >;\n } & (Exclude<\n keyof Exclude<TOptions, SkipToken>,\n keyof useSuspenseQuery.Options<any>\n > extends infer InvalidOptionNames extends string ?\n [InvalidOptionNames] extends [never] ?\n unknown\n : { [K in InvalidOptionNames]: never }\n : never);\n\n export type ResultForOptions<\n TData,\n TVariables extends OperationVariables,\n TOptions extends\n | Record<string, never> // no options\n | Base.Options<TVariables>\n | SkipToken,\n > = Result<\n TData,\n TVariables,\n | \"complete\"\n | \"streaming\"\n | (TOptions extends any ?\n TOptions extends SkipToken ?\n \"empty\"\n : | (OptionWithFallback<\n TOptions,\n DefaultOptions,\n \"errorPolicy\"\n > extends \"none\" ?\n never\n : \"empty\")\n | (OptionWithFallback<TOptions, DefaultOptions, \"skip\"> extends (\n false\n ) ?\n never\n : \"empty\")\n | (OptionWithFallback<\n TOptions,\n DefaultOptions,\n \"returnPartialData\"\n > extends false ?\n never\n : \"partial\")\n : never)\n // special case, if only `SkipToken` is passed in (no union type),\n // then we want to still keep \"partial\" if `returnPartialData` is globally\n // set to `true` or `boolean` via defaultOptions\n | ([TOptions] extends [SkipToken] ?\n DefaultOptions extends { returnPartialData: false } ?\n never\n : \"partial\"\n : never),\n OptionWithFallback<TOptions, DefaultOptions, \"errorPolicy\"> & ErrorPolicy\n >;\n\n export namespace DocumentationTypes {\n namespace useSuspenseQuery {\n export interface Result<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n > extends Base.Result<TData, TVariables>,\n UtilityDocumentationTypes.DataState<TData> {}\n }\n }\n export namespace DocumentationTypes {\n export interface useSuspenseQuery {\n /**\n * For a detailed explanation of `useSuspenseQuery`, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).\n *\n * @example\n *\n * ```jsx\n * import { Suspense } from \"react\";\n * import { useSuspenseQuery } from \"@apollo/client/react\";\n *\n * const listQuery = gql`\n * query {\n * list {\n * id\n * }\n * }\n * `;\n *\n * function App() {\n * return (\n * <Suspense fallback={<Spinner />}>\n * <List />\n * </Suspense>\n * );\n * }\n *\n * function List() {\n * const { data } = useSuspenseQuery(listQuery);\n *\n * return (\n * <ol>\n * {data.list.map((item) => (\n * <Item key={item.id} id={item.id} />\n * ))}\n * </ol>\n * );\n * }\n * ```\n *\n * @param query - A GraphQL query document parsed into an AST by `gql`.\n * @param options - An optional object containing options for the query. Instead of passing a `useSuspenseQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useSuspenseQuery` hook from executing the query or suspending.\n */\n <\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useSuspenseQuery.Options<TVariables>\n ): useSuspenseQuery.Result<TData, TVariables>;\n }\n\n export interface useSuspenseQuery_Deprecated {\n /**\n * @deprecated Avoid manually specifying generic arguments on `useSuspenseQuery`.\n * Instead, rely on TypeScript's type inference along with a correctly typed `TypedDocumentNode` to get accurate types for your query results.\n *\n * {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)}\n */\n <\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useSuspenseQuery.Options<TVariables>\n ): useSuspenseQuery.Result<TData, TVariables>;\n }\n }\n\n export namespace Signatures {\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n export interface Classic {\n // _INFERENCE_ONLY_DO_NOT_SPECIFY is used to distinguish between inferred\n // generics arguments and explicit generic arguments so that we can\n // provide a `@deprecated` signature for explicit generic arguments. As\n // soon as a user provides a generic arg (e.g. useSuspenseQuery<TData>(query))`,\n // the overload falls through to the overloads without\n // _INFERENCE_ONLY_DO_NOT_SPECIFY.\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy: TErrorPolicy & (\"ignore\" | \"all\");\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"partial\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy: TErrorPolicy & (\"ignore\" | \"all\");\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n returnPartialData: true;\n errorPolicy?: TErrorPolicy;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"empty\" | \"streaming\" | \"partial\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy?: TErrorPolicy;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"partial\" | \"streaming\" | \"complete\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n errorPolicy?: TErrorPolicy;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy?: TErrorPolicy;\n })\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"empty\" | \"streaming\" | \"complete\" | \"partial\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n },\n ]\n : [\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n },\n ]\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n }),\n ]\n : [\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n }),\n ]\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n _INFERENCE_ONLY_DO_NOT_SPECIFY extends \"inferred\",\n TErrorPolicy extends ErrorPolicy | undefined = undefined,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy?: TErrorPolicy;\n })\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\",\n TErrorPolicy\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy: \"ignore\" | \"all\";\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"partial\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n errorPolicy: \"ignore\" | \"all\";\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n returnPartialData: true;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"empty\" | \"streaming\" | \"partial\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"partial\" | \"streaming\" | \"complete\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: useSuspenseQuery.Options<NoInfer<TVariables>> & {\n skip: boolean;\n }\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | SkipToken\n | (useSuspenseQuery.Options<NoInfer<TVariables>> & {\n returnPartialData: true;\n })\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"empty\" | \"streaming\" | \"complete\" | \"partial\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [options?: useSuspenseQuery.Options<NoInfer<TVariables>>]\n : [options: useSuspenseQuery.Options<NoInfer<TVariables>>]\n ): useSuspenseQuery.Result<TData, TVariables, \"complete\" | \"streaming\">;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [options?: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>]\n : [options: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>]\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery_Deprecated:call(1)} */\n <TData, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"complete\" | \"streaming\" | \"empty\"\n >;\n }\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n export interface Modern {\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n Options extends never,\n >(\n query: {} extends TVariables ?\n DocumentNode | TypedDocumentNode<TData, TVariables>\n : // this overload should only be accessible if all `TVariables` are optional\n never\n ): useSuspenseQuery.ResultForOptions<\n TData,\n TVariables,\n Record<string, never>\n >;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n TOptions extends Base.Options<NoInfer<TVariables>>,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?: TOptions &\n useSuspenseQuery.OptionsFor<TVariables, TOptions>,\n ]\n : [\n options: TOptions &\n useSuspenseQuery.OptionsFor<TVariables, TOptions>,\n ]\n ): useSuspenseQuery.ResultForOptions<TData, TVariables, TOptions>;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n TOptions extends never,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n skipToken: SkipToken\n ): useSuspenseQuery.ResultForOptions<TData, TVariables, SkipToken>;\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n <\n TData,\n TVariables extends OperationVariables,\n // this overload should never be manually defined, it should always be inferred\n TOptions extends Base.Options<NoInfer<TVariables>>,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: {} extends TVariables ?\n [\n options?:\n | (TOptions & useSuspenseQuery.OptionsFor<TVariables, TOptions>)\n | SkipToken,\n ]\n : [\n options:\n | (TOptions & useSuspenseQuery.OptionsFor<TVariables, TOptions>)\n | SkipToken,\n ]\n ): useSuspenseQuery.ResultForOptions<\n TData,\n TVariables,\n TOptions | SkipToken\n >;\n }\n\n export type Evaluated = SignatureStyle extends \"classic\" ? Classic : Modern;\n }\n\n /** {@inheritDoc @apollo/client/react!useSuspenseQuery.DocumentationTypes.useSuspenseQuery:call(1)} */\n export interface Signature extends Signatures.Evaluated {}\n}\n\nexport const useSuspenseQuery: useSuspenseQuery.Signature =\n function useSuspenseQuery<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: SkipToken | useSuspenseQuery.Options<NoInfer<TVariables>>\n ): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"empty\" | \"streaming\" | \"complete\" | \"partial\"\n > {\n \"use no memo\";\n return wrapHook(\n \"useSuspenseQuery\",\n useSuspenseQuery_,\n useApolloClient(typeof options === \"object\" ? options.client : undefined)\n )(query, options ?? ({} as any));\n } as any;\n\nfunction useSuspenseQuery_<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options:\n | (SkipToken & Partial<useSuspenseQuery.Options<TVariables>>)\n | useSuspenseQuery.Options<TVariables>\n): useSuspenseQuery.Result<\n TData,\n TVariables,\n \"partial\" | \"complete\" | \"streaming\" | \"empty\"\n> {\n const client = useApolloClient(options.client);\n const suspenseCache = getSuspenseCache(client);\n const watchQueryOptions = useWatchQueryOptions<any, any>({\n client,\n query,\n options,\n });\n const { fetchPolicy } = watchQueryOptions;\n const cacheKey = useSuspenseHookCacheKey(query, options);\n\n const queryRef = suspenseCache.getQueryRef(cacheKey, () =>\n client.watchQuery(watchQueryOptions)\n );\n\n let [current, setPromise] = React.useState<\n [QueryKey, Promise<ObservableQuery.Result<any>>]\n >([queryRef.key, queryRef.promise]);\n\n // This saves us a re-execution of the render function when a variable changed.\n if (current[0] !== queryRef.key) {\n // eslint-disable-next-line react-hooks/immutability\n current[0] = queryRef.key;\n // eslint-disable-next-line react-hooks/immutability\n current[1] = queryRef.promise;\n }\n let promise = current[1];\n\n if (queryRef.didChangeOptions(watchQueryOptions)) {\n // eslint-disable-next-line react-hooks/immutability\n current[1] = promise = queryRef.applyOptions(watchQueryOptions);\n }\n\n React.useEffect(() => {\n const dispose = queryRef.retain();\n\n const removeListener = queryRef.listen((promise) => {\n setPromise([queryRef.key, promise]);\n });\n\n return () => {\n removeListener();\n dispose();\n };\n }, [queryRef]);\n\n const skipResult = React.useMemo<ObservableQuery.Result<TData>>(() => {\n const error = queryRef.result.error;\n const complete = !!queryRef.result.data;\n\n return {\n loading: false,\n data: queryRef.result.data,\n dataState: queryRef.result.dataState,\n networkStatus: error ? NetworkStatus.error : NetworkStatus.ready,\n error,\n complete,\n partial: !complete,\n };\n }, [queryRef.result]);\n\n const result = fetchPolicy === \"standby\" ? skipResult : __use(promise);\n\n const fetchMore = React.useCallback(\n (\n options: ObservableQuery.FetchMoreOptions<unknown, OperationVariables>\n ) => {\n const promise = queryRef.fetchMore(options);\n setPromise([queryRef.key, queryRef.promise]);\n\n return promise;\n },\n [queryRef]\n ) as FetchMoreFunction<TData | undefined, TVariables>;\n\n const refetch: RefetchFunction<TData, TVariables> = React.useCallback(\n (variables) => {\n const promise = queryRef.refetch(variables);\n setPromise([queryRef.key, queryRef.promise]);\n\n return promise;\n },\n [queryRef]\n );\n\n // TODO: The internalQueryRef doesn't have TVariables' type information so we have to cast it here\n const subscribeToMore = queryRef.observable\n .subscribeToMore as SubscribeToMoreFunction<TData | undefined, TVariables>;\n\n return React.useMemo<\n useSuspenseQuery.Result<TData, TVariables, DataState<TData>[\"dataState\"]>\n >(() => {\n return {\n client,\n data: result.data,\n dataState: result.dataState,\n error: result.error,\n networkStatus: result.networkStatus,\n fetchMore,\n refetch,\n subscribeToMore,\n } as useSuspenseQuery.Result<\n TData,\n TVariables,\n DataState<TData>[\"dataState\"]\n >;\n }, [client, fetchMore, refetch, result, subscribeToMore]);\n}\n\ninterface UseWatchQueryOptionsHookOptions<\n TData,\n TVariables extends OperationVariables,\n> {\n client: ApolloClient;\n query: DocumentNode | TypedDocumentNode<TData, TVariables>;\n options: SkipToken | useSuspenseQuery.Options<TVariables>;\n}\n\nexport function useWatchQueryOptions<\n TData,\n TVariables extends OperationVariables,\n>({\n client,\n query,\n options,\n}: UseWatchQueryOptionsHookOptions<\n TData,\n TVariables\n>): ApolloClient.WatchQueryOptions<TData, TVariables> {\n return useDeepMemo<ApolloClient.WatchQueryOptions<TData, TVariables>>(() => {\n if (options === skipToken) {\n return {\n query,\n fetchPolicy: \"standby\",\n [variablesUnknownSymbol]: true,\n } as ApolloClient.WatchQueryOptions<TData, TVariables>;\n }\n\n const fetchPolicy =\n options.fetchPolicy ||\n client.defaultOptions.watchQuery?.fetchPolicy ||\n \"cache-first\";\n\n const watchQueryOptions: ApolloClient.WatchQueryOptions<TData, TVariables> =\n {\n ...options,\n fetchPolicy,\n query,\n notifyOnNetworkStatusChange: false,\n nextFetchPolicy: void 0,\n };\n\n if (__DEV__) {\n validateSuspenseHookOptions(watchQueryOptions);\n }\n\n // Assign the updated fetch policy after our validation since `standby` is\n // not a supported fetch policy on its own without the use of `skip`.\n if (options.skip) {\n watchQueryOptions.fetchPolicy = \"standby\";\n }\n\n return watchQueryOptions;\n }, [client, options, query]);\n}\n"]}
|
|
@@ -46,7 +46,7 @@ export const useSyncExternalStore = realHook ||
|
|
|
46
46
|
value !== getSnapshot()) {
|
|
47
47
|
didWarnUncachedGetSnapshot = true;
|
|
48
48
|
// DEVIATION: Using invariant.error instead of console.error directly.
|
|
49
|
-
invariant.error(
|
|
49
|
+
invariant.error(36);
|
|
50
50
|
}
|
|
51
51
|
// Because updates are synchronous, we don't queue them. Instead we force a
|
|
52
52
|
// re-render whenever the subscribed state changes by updating an some
|
|
@@ -12,11 +12,11 @@ function validateFetchPolicy(fetchPolicy = "cache-first") {
|
|
|
12
12
|
"no-cache",
|
|
13
13
|
"cache-and-network",
|
|
14
14
|
];
|
|
15
|
-
invariant(supportedFetchPolicies.includes(fetchPolicy),
|
|
15
|
+
invariant(supportedFetchPolicies.includes(fetchPolicy), 37, fetchPolicy);
|
|
16
16
|
}
|
|
17
17
|
function validatePartialDataReturn(fetchPolicy, returnPartialData) {
|
|
18
18
|
if (fetchPolicy === "no-cache" && returnPartialData) {
|
|
19
|
-
__DEV__ && invariant.warn(
|
|
19
|
+
__DEV__ && invariant.warn(38);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=validateSuspenseHookOptions.js.map
|
|
@@ -96,7 +96,7 @@ export declare namespace useBackgroundQuery {
|
|
|
96
96
|
* @deprecated We recommend using `skipToken` in place of the `skip` option as
|
|
97
97
|
* it is more type-safe.
|
|
98
98
|
*
|
|
99
|
-
* This option is deprecated and
|
|
99
|
+
* This option is deprecated and will be removed in a future release.
|
|
100
100
|
* Please use [`skipToken`](https://www.apollographql.com/docs/react/api/react/hooks#skiptoken) instead of the `skip` option as it is more type-safe.
|
|
101
101
|
*
|
|
102
102
|
* @docGroup 1. Operation options
|
|
@@ -105,7 +105,7 @@ export declare namespace useBackgroundQuery {
|
|
|
105
105
|
* @example Recommended usage of `skipToken`:
|
|
106
106
|
*
|
|
107
107
|
* ```ts
|
|
108
|
-
* import { skipToken, useBackgroundQuery } from "@apollo/client";
|
|
108
|
+
* import { skipToken, useBackgroundQuery } from "@apollo/client/react";
|
|
109
109
|
*
|
|
110
110
|
* const [queryRef] = useBackgroundQuery(
|
|
111
111
|
* query,
|