@apollo/client 3.8.0-beta.3 → 3.8.0-beta.4

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.
Files changed (51) hide show
  1. package/apollo-client.cjs +64 -13
  2. package/apollo-client.cjs.map +1 -1
  3. package/apollo-client.min.cjs +1 -1
  4. package/core/core.cjs +1 -1
  5. package/core/core.cjs.map +1 -1
  6. package/core/core.cjs.native.js +1 -1
  7. package/dev/dev.cjs +1 -1
  8. package/dev/dev.cjs.map +1 -1
  9. package/dev/dev.cjs.native.js +1 -1
  10. package/link/batch-http/batchHttpLink.d.ts +1 -1
  11. package/link/batch-http/batchHttpLink.d.ts.map +1 -1
  12. package/link/batch-http/batchHttpLink.js.map +1 -1
  13. package/link/persisted-queries/index.d.ts +10 -4
  14. package/link/persisted-queries/index.d.ts.map +1 -1
  15. package/link/persisted-queries/index.js +25 -28
  16. package/link/persisted-queries/index.js.map +1 -1
  17. package/link/persisted-queries/persisted-queries.cjs +24 -27
  18. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  19. package/link/persisted-queries/persisted-queries.cjs.native.js +24 -27
  20. package/package.json +1 -1
  21. package/react/cache/QueryReference.d.ts +3 -1
  22. package/react/cache/QueryReference.d.ts.map +1 -1
  23. package/react/cache/QueryReference.js +12 -0
  24. package/react/cache/QueryReference.js.map +1 -1
  25. package/react/hooks/hooks.cjs +51 -12
  26. package/react/hooks/hooks.cjs.map +1 -1
  27. package/react/hooks/hooks.cjs.native.js +51 -12
  28. package/react/hooks/useBackgroundQuery.d.ts +6 -2
  29. package/react/hooks/useBackgroundQuery.d.ts.map +1 -1
  30. package/react/hooks/useBackgroundQuery.js +20 -3
  31. package/react/hooks/useBackgroundQuery.js.map +1 -1
  32. package/react/hooks/useSuspenseQuery.d.ts +12 -4
  33. package/react/hooks/useSuspenseQuery.d.ts.map +1 -1
  34. package/react/hooks/useSuspenseQuery.js +33 -10
  35. package/react/hooks/useSuspenseQuery.js.map +1 -1
  36. package/react/react.cjs +12 -0
  37. package/react/react.cjs.map +1 -1
  38. package/react/react.cjs.native.js +12 -0
  39. package/react/types/types.d.ts +1 -1
  40. package/react/types/types.d.ts.map +1 -1
  41. package/react/types/types.js.map +1 -1
  42. package/utilities/globals/globals.cjs +1 -1
  43. package/utilities/globals/globals.cjs.map +1 -1
  44. package/utilities/globals/globals.cjs.native.js +1 -1
  45. package/utilities/policies/pagination.d.ts.map +1 -1
  46. package/utilities/policies/pagination.js +3 -0
  47. package/utilities/policies/pagination.js.map +1 -1
  48. package/utilities/utilities.cjs +3 -0
  49. package/utilities/utilities.cjs.map +1 -1
  50. package/utilities/utilities.cjs.native.js +3 -0
  51. package/version.js +1 -1
@@ -11,30 +11,29 @@ var VERSION = 1;
11
11
  exports.PersistedQueryLink = void 0;
12
12
  (function (PersistedQueryLink) {
13
13
  })(exports.PersistedQueryLink || (exports.PersistedQueryLink = {}));
14
- function collectErrorsByMessage(graphQLErrors) {
15
- var collected = Object.create(null);
14
+ function processErrors(graphQLErrors) {
15
+ var byMessage = Object.create(null), byCode = Object.create(null);
16
16
  if (utilities.isNonEmptyArray(graphQLErrors)) {
17
- graphQLErrors.forEach(function (error) { return collected[error.message] = error; });
17
+ graphQLErrors.forEach(function (error) {
18
+ var _a;
19
+ byMessage[error.message] = error;
20
+ if (typeof ((_a = error.extensions) === null || _a === void 0 ? void 0 : _a.code) == "string")
21
+ byCode[error.extensions.code] = error;
22
+ });
18
23
  }
19
- return collected;
24
+ return {
25
+ persistedQueryNotSupported: !!(byMessage.PersistedQueryNotSupported || byCode.PERSISTED_QUERY_NOT_SUPPORTED),
26
+ persistedQueryNotFound: !!(byMessage.PersistedQueryNotFound || byCode.PERSISTED_QUERY_NOT_FOUND),
27
+ };
20
28
  }
21
29
  var defaultOptions = {
22
30
  disable: function (_a) {
23
- var graphQLErrors = _a.graphQLErrors, operation = _a.operation;
24
- var errorMessages = collectErrorsByMessage(graphQLErrors);
25
- if (errorMessages.PersistedQueryNotSupported) {
26
- return true;
27
- }
28
- if (errorMessages.PersistedQueryNotFound) {
29
- return false;
30
- }
31
- var response = operation.getContext().response;
32
- if (response &&
33
- response.status &&
34
- (response.status === 400 || response.status === 500)) {
35
- return true;
36
- }
37
- return false;
31
+ var meta = _a.meta;
32
+ return meta.persistedQueryNotSupported;
33
+ },
34
+ retry: function (_a) {
35
+ var meta = _a.meta;
36
+ return meta.persistedQueryNotSupported || meta.persistedQueryNotFound;
38
37
  },
39
38
  useGETForHashedQueries: false,
40
39
  };
@@ -45,9 +44,7 @@ var createPersistedQueryLink = function (options) {
45
44
  var hashesByQuery = new WeakMap();
46
45
  globals.invariant(options && (typeof options.sha256 === 'function' ||
47
46
  typeof options.generateHash === 'function'), 39);
48
- var _a = utilities.compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) {
49
- return Promise.resolve(sha256(utilities.print(query)));
50
- } : _b, disable = _a.disable, useGETForHashedQueries = _a.useGETForHashedQueries;
47
+ var _a = utilities.compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) { return Promise.resolve(sha256(utilities.print(query))); } : _b, disable = _a.disable, retry = _a.retry, useGETForHashedQueries = _a.useGETForHashedQueries;
51
48
  var supportsPersistedQueries = true;
52
49
  var getHashPromise = function (query) {
53
50
  return new Promise(function (resolve) { return resolve(generateHash(query)); });
@@ -69,7 +66,7 @@ var createPersistedQueryLink = function (options) {
69
66
  var retried = false;
70
67
  var originalFetchOptions;
71
68
  var setFetchOptions = false;
72
- var retry = function (_a, cb) {
69
+ var maybeRetry = function (_a, cb) {
73
70
  var response = _a.response, networkError = _a.networkError;
74
71
  if (!retried && ((response && response.errors) || networkError)) {
75
72
  retried = true;
@@ -93,10 +90,10 @@ var createPersistedQueryLink = function (options) {
93
90
  networkError: networkError,
94
91
  operation: operation,
95
92
  graphQLErrors: utilities.isNonEmptyArray(graphQLErrors) ? graphQLErrors : void 0,
93
+ meta: processErrors(graphQLErrors)
96
94
  };
97
95
  supportsPersistedQueries = !disable(disablePayload);
98
- if (collectErrorsByMessage(graphQLErrors).PersistedQueryNotFound ||
99
- !supportsPersistedQueries) {
96
+ if (retry(disablePayload)) {
100
97
  if (subscription)
101
98
  subscription.unsubscribe();
102
99
  operation.setContext({
@@ -119,10 +116,10 @@ var createPersistedQueryLink = function (options) {
119
116
  };
120
117
  var handler = {
121
118
  next: function (response) {
122
- retry({ response: response }, function () { return observer.next(response); });
119
+ maybeRetry({ response: response }, function () { return observer.next(response); });
123
120
  },
124
121
  error: function (networkError) {
125
- retry({ networkError: networkError }, function () { return observer.error(networkError); });
122
+ maybeRetry({ networkError: networkError }, function () { return observer.error(networkError); });
126
123
  },
127
124
  complete: observer.complete.bind(observer),
128
125
  };
@@ -1 +1 @@
1
- {"version":3,"file":"persisted-queries.cjs","sources":["index.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { invariant } from '../../utilities/globals';\nimport { print } from '../../utilities';\nimport { ApolloLink } from '../core';\nimport { Observable, compact, isNonEmptyArray, } from '../../utilities';\nexport var VERSION = 1;\nexport var PersistedQueryLink;\n(function (PersistedQueryLink) {\n ;\n ;\n ;\n})(PersistedQueryLink || (PersistedQueryLink = {}));\nfunction collectErrorsByMessage(graphQLErrors) {\n var collected = Object.create(null);\n if (isNonEmptyArray(graphQLErrors)) {\n graphQLErrors.forEach(function (error) { return collected[error.message] = error; });\n }\n return collected;\n}\nvar defaultOptions = {\n disable: function (_a) {\n var graphQLErrors = _a.graphQLErrors, operation = _a.operation;\n var errorMessages = collectErrorsByMessage(graphQLErrors);\n if (errorMessages.PersistedQueryNotSupported) {\n return true;\n }\n if (errorMessages.PersistedQueryNotFound) {\n return false;\n }\n var response = operation.getContext().response;\n if (response &&\n response.status &&\n (response.status === 400 || response.status === 500)) {\n return true;\n }\n return false;\n },\n useGETForHashedQueries: false,\n};\nfunction operationDefinesMutation(operation) {\n return operation.query.definitions.some(function (d) { return d.kind === 'OperationDefinition' && d.operation === 'mutation'; });\n}\nexport var createPersistedQueryLink = function (options) {\n var hashesByQuery = new WeakMap();\n invariant(options && (typeof options.sha256 === 'function' ||\n typeof options.generateHash === 'function'), 39);\n var _a = compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) {\n return Promise.resolve(sha256(print(query)));\n } : _b, disable = _a.disable, useGETForHashedQueries = _a.useGETForHashedQueries;\n var supportsPersistedQueries = true;\n var getHashPromise = function (query) {\n return new Promise(function (resolve) { return resolve(generateHash(query)); });\n };\n function getQueryHash(query) {\n if (!query || typeof query !== 'object') {\n return getHashPromise(query);\n }\n var hash = hashesByQuery.get(query);\n if (!hash)\n hashesByQuery.set(query, hash = getHashPromise(query));\n return hash;\n }\n return new ApolloLink(function (operation, forward) {\n invariant(forward, 40);\n var query = operation.query;\n return new Observable(function (observer) {\n var subscription;\n var retried = false;\n var originalFetchOptions;\n var setFetchOptions = false;\n var retry = function (_a, cb) {\n var response = _a.response, networkError = _a.networkError;\n if (!retried && ((response && response.errors) || networkError)) {\n retried = true;\n var graphQLErrors = [];\n var responseErrors = response && response.errors;\n if (isNonEmptyArray(responseErrors)) {\n graphQLErrors.push.apply(graphQLErrors, responseErrors);\n }\n var networkErrors = void 0;\n if (typeof (networkError === null || networkError === void 0 ? void 0 : networkError.result) !== 'string') {\n networkErrors =\n networkError &&\n networkError.result &&\n networkError.result.errors;\n }\n if (isNonEmptyArray(networkErrors)) {\n graphQLErrors.push.apply(graphQLErrors, networkErrors);\n }\n var disablePayload = {\n response: response,\n networkError: networkError,\n operation: operation,\n graphQLErrors: isNonEmptyArray(graphQLErrors) ? graphQLErrors : void 0,\n };\n supportsPersistedQueries = !disable(disablePayload);\n if (collectErrorsByMessage(graphQLErrors).PersistedQueryNotFound ||\n !supportsPersistedQueries) {\n if (subscription)\n subscription.unsubscribe();\n operation.setContext({\n http: {\n includeQuery: true,\n includeExtensions: supportsPersistedQueries,\n },\n fetchOptions: {\n method: 'POST',\n },\n });\n if (setFetchOptions) {\n operation.setContext({ fetchOptions: originalFetchOptions });\n }\n subscription = forward(operation).subscribe(handler);\n return;\n }\n }\n cb();\n };\n var handler = {\n next: function (response) {\n retry({ response: response }, function () { return observer.next(response); });\n },\n error: function (networkError) {\n retry({ networkError: networkError }, function () { return observer.error(networkError); });\n },\n complete: observer.complete.bind(observer),\n };\n operation.setContext({\n http: {\n includeQuery: !supportsPersistedQueries,\n includeExtensions: supportsPersistedQueries,\n },\n });\n if (useGETForHashedQueries &&\n supportsPersistedQueries &&\n !operationDefinesMutation(operation)) {\n operation.setContext(function (_a) {\n var _b = _a.fetchOptions, fetchOptions = _b === void 0 ? {} : _b;\n originalFetchOptions = fetchOptions;\n return {\n fetchOptions: __assign(__assign({}, fetchOptions), { method: 'GET' }),\n };\n });\n setFetchOptions = true;\n }\n if (supportsPersistedQueries) {\n getQueryHash(query).then(function (sha256Hash) {\n operation.extensions.persistedQuery = {\n version: VERSION,\n sha256Hash: sha256Hash,\n };\n subscription = forward(operation).subscribe(handler);\n }).catch(observer.error.bind(observer));\n ;\n }\n else {\n subscription = forward(operation).subscribe(handler);\n }\n return function () {\n if (subscription)\n subscription.unsubscribe();\n };\n });\n });\n};\n//# sourceMappingURL=index.js.map"],"names":["PersistedQueryLink","isNonEmptyArray","invariant","compact","print","ApolloLink","Observable","__assign"],"mappings":"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"}
1
+ {"version":3,"file":"persisted-queries.cjs","sources":["index.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { invariant } from '../../utilities/globals';\nimport { print } from '../../utilities';\nimport { ApolloLink } from '../core';\nimport { Observable, compact, isNonEmptyArray, } from '../../utilities';\nexport var VERSION = 1;\n;\nexport var PersistedQueryLink;\n(function (PersistedQueryLink) {\n ;\n ;\n})(PersistedQueryLink || (PersistedQueryLink = {}));\nfunction processErrors(graphQLErrors) {\n var byMessage = Object.create(null), byCode = Object.create(null);\n if (isNonEmptyArray(graphQLErrors)) {\n graphQLErrors.forEach(function (error) {\n var _a;\n byMessage[error.message] = error;\n if (typeof ((_a = error.extensions) === null || _a === void 0 ? void 0 : _a.code) == \"string\")\n byCode[error.extensions.code] = error;\n });\n }\n return {\n persistedQueryNotSupported: !!(byMessage.PersistedQueryNotSupported || byCode.PERSISTED_QUERY_NOT_SUPPORTED),\n persistedQueryNotFound: !!(byMessage.PersistedQueryNotFound || byCode.PERSISTED_QUERY_NOT_FOUND),\n };\n}\nvar defaultOptions = {\n disable: function (_a) {\n var meta = _a.meta;\n return meta.persistedQueryNotSupported;\n },\n retry: function (_a) {\n var meta = _a.meta;\n return meta.persistedQueryNotSupported || meta.persistedQueryNotFound;\n },\n useGETForHashedQueries: false,\n};\nfunction operationDefinesMutation(operation) {\n return operation.query.definitions.some(function (d) { return d.kind === 'OperationDefinition' && d.operation === 'mutation'; });\n}\nexport var createPersistedQueryLink = function (options) {\n var hashesByQuery = new WeakMap();\n invariant(options && (typeof options.sha256 === 'function' ||\n typeof options.generateHash === 'function'), 39);\n var _a = compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) { return Promise.resolve(sha256(print(query))); } : _b, disable = _a.disable, retry = _a.retry, useGETForHashedQueries = _a.useGETForHashedQueries;\n var supportsPersistedQueries = true;\n var getHashPromise = function (query) {\n return new Promise(function (resolve) { return resolve(generateHash(query)); });\n };\n function getQueryHash(query) {\n if (!query || typeof query !== 'object') {\n return getHashPromise(query);\n }\n var hash = hashesByQuery.get(query);\n if (!hash)\n hashesByQuery.set(query, hash = getHashPromise(query));\n return hash;\n }\n return new ApolloLink(function (operation, forward) {\n invariant(forward, 40);\n var query = operation.query;\n return new Observable(function (observer) {\n var subscription;\n var retried = false;\n var originalFetchOptions;\n var setFetchOptions = false;\n var maybeRetry = function (_a, cb) {\n var response = _a.response, networkError = _a.networkError;\n if (!retried && ((response && response.errors) || networkError)) {\n retried = true;\n var graphQLErrors = [];\n var responseErrors = response && response.errors;\n if (isNonEmptyArray(responseErrors)) {\n graphQLErrors.push.apply(graphQLErrors, responseErrors);\n }\n var networkErrors = void 0;\n if (typeof (networkError === null || networkError === void 0 ? void 0 : networkError.result) !== 'string') {\n networkErrors =\n networkError &&\n networkError.result &&\n networkError.result.errors;\n }\n if (isNonEmptyArray(networkErrors)) {\n graphQLErrors.push.apply(graphQLErrors, networkErrors);\n }\n var disablePayload = {\n response: response,\n networkError: networkError,\n operation: operation,\n graphQLErrors: isNonEmptyArray(graphQLErrors) ? graphQLErrors : void 0,\n meta: processErrors(graphQLErrors)\n };\n supportsPersistedQueries = !disable(disablePayload);\n if (retry(disablePayload)) {\n if (subscription)\n subscription.unsubscribe();\n operation.setContext({\n http: {\n includeQuery: true,\n includeExtensions: supportsPersistedQueries,\n },\n fetchOptions: {\n method: 'POST',\n },\n });\n if (setFetchOptions) {\n operation.setContext({ fetchOptions: originalFetchOptions });\n }\n subscription = forward(operation).subscribe(handler);\n return;\n }\n }\n cb();\n };\n var handler = {\n next: function (response) {\n maybeRetry({ response: response }, function () { return observer.next(response); });\n },\n error: function (networkError) {\n maybeRetry({ networkError: networkError }, function () { return observer.error(networkError); });\n },\n complete: observer.complete.bind(observer),\n };\n operation.setContext({\n http: {\n includeQuery: !supportsPersistedQueries,\n includeExtensions: supportsPersistedQueries,\n },\n });\n if (useGETForHashedQueries &&\n supportsPersistedQueries &&\n !operationDefinesMutation(operation)) {\n operation.setContext(function (_a) {\n var _b = _a.fetchOptions, fetchOptions = _b === void 0 ? {} : _b;\n originalFetchOptions = fetchOptions;\n return {\n fetchOptions: __assign(__assign({}, fetchOptions), { method: 'GET' }),\n };\n });\n setFetchOptions = true;\n }\n if (supportsPersistedQueries) {\n getQueryHash(query).then(function (sha256Hash) {\n operation.extensions.persistedQuery = {\n version: VERSION,\n sha256Hash: sha256Hash,\n };\n subscription = forward(operation).subscribe(handler);\n }).catch(observer.error.bind(observer));\n ;\n }\n else {\n subscription = forward(operation).subscribe(handler);\n }\n return function () {\n if (subscription)\n subscription.unsubscribe();\n };\n });\n });\n};\n//# sourceMappingURL=index.js.map"],"names":["PersistedQueryLink","isNonEmptyArray","invariant","compact","print","ApolloLink","Observable","__assign"],"mappings":"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"}
@@ -11,30 +11,29 @@ var VERSION = 1;
11
11
  exports.PersistedQueryLink = void 0;
12
12
  (function (PersistedQueryLink) {
13
13
  })(exports.PersistedQueryLink || (exports.PersistedQueryLink = {}));
14
- function collectErrorsByMessage(graphQLErrors) {
15
- var collected = Object.create(null);
14
+ function processErrors(graphQLErrors) {
15
+ var byMessage = Object.create(null), byCode = Object.create(null);
16
16
  if (utilities.isNonEmptyArray(graphQLErrors)) {
17
- graphQLErrors.forEach(function (error) { return collected[error.message] = error; });
17
+ graphQLErrors.forEach(function (error) {
18
+ var _a;
19
+ byMessage[error.message] = error;
20
+ if (typeof ((_a = error.extensions) === null || _a === void 0 ? void 0 : _a.code) == "string")
21
+ byCode[error.extensions.code] = error;
22
+ });
18
23
  }
19
- return collected;
24
+ return {
25
+ persistedQueryNotSupported: !!(byMessage.PersistedQueryNotSupported || byCode.PERSISTED_QUERY_NOT_SUPPORTED),
26
+ persistedQueryNotFound: !!(byMessage.PersistedQueryNotFound || byCode.PERSISTED_QUERY_NOT_FOUND),
27
+ };
20
28
  }
21
29
  var defaultOptions = {
22
30
  disable: function (_a) {
23
- var graphQLErrors = _a.graphQLErrors, operation = _a.operation;
24
- var errorMessages = collectErrorsByMessage(graphQLErrors);
25
- if (errorMessages.PersistedQueryNotSupported) {
26
- return true;
27
- }
28
- if (errorMessages.PersistedQueryNotFound) {
29
- return false;
30
- }
31
- var response = operation.getContext().response;
32
- if (response &&
33
- response.status &&
34
- (response.status === 400 || response.status === 500)) {
35
- return true;
36
- }
37
- return false;
31
+ var meta = _a.meta;
32
+ return meta.persistedQueryNotSupported;
33
+ },
34
+ retry: function (_a) {
35
+ var meta = _a.meta;
36
+ return meta.persistedQueryNotSupported || meta.persistedQueryNotFound;
38
37
  },
39
38
  useGETForHashedQueries: false,
40
39
  };
@@ -45,9 +44,7 @@ var createPersistedQueryLink = function (options) {
45
44
  var hashesByQuery = new WeakMap();
46
45
  globals.invariant(options && (typeof options.sha256 === 'function' ||
47
46
  typeof options.generateHash === 'function'), 39);
48
- var _a = utilities.compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) {
49
- return Promise.resolve(sha256(utilities.print(query)));
50
- } : _b, disable = _a.disable, useGETForHashedQueries = _a.useGETForHashedQueries;
47
+ var _a = utilities.compact(defaultOptions, options), sha256 = _a.sha256, _b = _a.generateHash, generateHash = _b === void 0 ? function (query) { return Promise.resolve(sha256(utilities.print(query))); } : _b, disable = _a.disable, retry = _a.retry, useGETForHashedQueries = _a.useGETForHashedQueries;
51
48
  var supportsPersistedQueries = true;
52
49
  var getHashPromise = function (query) {
53
50
  return new Promise(function (resolve) { return resolve(generateHash(query)); });
@@ -69,7 +66,7 @@ var createPersistedQueryLink = function (options) {
69
66
  var retried = false;
70
67
  var originalFetchOptions;
71
68
  var setFetchOptions = false;
72
- var retry = function (_a, cb) {
69
+ var maybeRetry = function (_a, cb) {
73
70
  var response = _a.response, networkError = _a.networkError;
74
71
  if (!retried && ((response && response.errors) || networkError)) {
75
72
  retried = true;
@@ -93,10 +90,10 @@ var createPersistedQueryLink = function (options) {
93
90
  networkError: networkError,
94
91
  operation: operation,
95
92
  graphQLErrors: utilities.isNonEmptyArray(graphQLErrors) ? graphQLErrors : void 0,
93
+ meta: processErrors(graphQLErrors)
96
94
  };
97
95
  supportsPersistedQueries = !disable(disablePayload);
98
- if (collectErrorsByMessage(graphQLErrors).PersistedQueryNotFound ||
99
- !supportsPersistedQueries) {
96
+ if (retry(disablePayload)) {
100
97
  if (subscription)
101
98
  subscription.unsubscribe();
102
99
  operation.setContext({
@@ -119,10 +116,10 @@ var createPersistedQueryLink = function (options) {
119
116
  };
120
117
  var handler = {
121
118
  next: function (response) {
122
- retry({ response: response }, function () { return observer.next(response); });
119
+ maybeRetry({ response: response }, function () { return observer.next(response); });
123
120
  },
124
121
  error: function (networkError) {
125
- retry({ networkError: networkError }, function () { return observer.error(networkError); });
122
+ maybeRetry({ networkError: networkError }, function () { return observer.error(networkError); });
126
123
  },
127
124
  complete: observer.complete.bind(observer),
128
125
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/client",
3
- "version": "3.8.0-beta.3",
3
+ "version": "3.8.0-beta.4",
4
4
  "description": "A fully-featured caching GraphQL client.",
5
5
  "private": false,
6
6
  "keywords": [
@@ -1,4 +1,4 @@
1
- import type { ApolloQueryResult, ObservableQuery, OperationVariables } from '../../core';
1
+ import type { ApolloQueryResult, ObservableQuery, OperationVariables, WatchQueryOptions } from '../../core';
2
2
  import type { CacheKey } from './types';
3
3
  type Listener<TData> = (promise: Promise<ApolloQueryResult<TData>>) => void;
4
4
  type FetchMoreOptions<TData> = Parameters<ObservableQuery<TData>['fetchMore']>[0];
@@ -21,9 +21,11 @@ export declare class QueryReference<TData = unknown> {
21
21
  private resolve;
22
22
  private reject;
23
23
  constructor(observable: ObservableQuery<TData>, options: QueryReferenceOptions);
24
+ get watchQueryOptions(): WatchQueryOptions<OperationVariables, TData>;
24
25
  listen(listener: Listener<TData>): () => void;
25
26
  refetch(variables: OperationVariables | undefined): Promise<ApolloQueryResult<TData>>;
26
27
  fetchMore(options: FetchMoreOptions<TData>): Promise<ApolloQueryResult<TData>>;
28
+ reobserve(watchQueryOptions: Partial<WatchQueryOptions<OperationVariables, TData>>): Promise<ApolloQueryResult<TData>>;
27
29
  dispose(): void;
28
30
  private onDispose;
29
31
  private handleNext;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryReference.d.ts","sourceRoot":"","sources":["../../../src/react/cache/QueryReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;AAE5E,KAAK,gBAAgB,CAAC,KAAK,IAAI,UAAU,CACvC,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CACpC,CAAC,CAAC,CAAC,CAAC;AAEL,UAAU,qBAAqB;IAC7B,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAc,CAAC,KAAK,GAAG,OAAO;IAClC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,SAAgB,GAAG,EAAE,QAAQ,CAAC;IAC9B,SAAgB,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5C,YAAY,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,MAAM,CAA2B;gBAGvC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,EAClC,OAAO,EAAE,qBAAqB;IA8ChC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IAahC,OAAO,CAAC,SAAS,EAAE,kBAAkB,GAAG,SAAS;IAUjD,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAQ1C,OAAO;IAKP,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"QueryReference.d.ts","sourceRoot":"","sources":["../../../src/react/cache/QueryReference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC;AAE5E,KAAK,gBAAgB,CAAC,KAAK,IAAI,UAAU,CACvC,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CACpC,CAAC,CAAC,CAAC,CAAC;AAEL,UAAU,qBAAqB;IAC7B,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,cAAc,CAAC,KAAK,GAAG,OAAO;IAClC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,SAAgB,GAAG,EAAE,QAAQ,CAAC;IAC9B,SAAgB,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5C,YAAY,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,MAAM,CAA2B;gBAGvC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,EAClC,OAAO,EAAE,qBAAqB;IA8ChC,IAAI,iBAAiB,iDAEpB;IAED,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IAahC,OAAO,CAAC,SAAS,EAAE,kBAAkB,GAAG,SAAS;IAUjD,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAQ1C,SAAS,CACP,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;IAS1E,OAAO;IAKP,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,UAAU;IA6BlB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,OAAO;CAGhB"}
@@ -37,6 +37,13 @@ var QueryReference = (function () {
37
37
  }
38
38
  this.autoDisposeTimeoutId = setTimeout(this.dispose, (_a = options.autoDisposeTimeoutMs) !== null && _a !== void 0 ? _a : 30000);
39
39
  }
40
+ Object.defineProperty(QueryReference.prototype, "watchQueryOptions", {
41
+ get: function () {
42
+ return this.observable.options;
43
+ },
44
+ enumerable: false,
45
+ configurable: true
46
+ });
40
47
  QueryReference.prototype.listen = function (listener) {
41
48
  var _this = this;
42
49
  clearTimeout(this.autoDisposeTimeoutId);
@@ -56,6 +63,11 @@ var QueryReference = (function () {
56
63
  this.promise = promise;
57
64
  return promise;
58
65
  };
66
+ QueryReference.prototype.reobserve = function (watchQueryOptions) {
67
+ var promise = this.observable.reobserve(watchQueryOptions);
68
+ this.promise = promise;
69
+ return promise;
70
+ };
59
71
  QueryReference.prototype.dispose = function () {
60
72
  this.subscription.unsubscribe();
61
73
  this.onDispose();
@@ -1 +1 @@
1
- {"version":3,"file":"QueryReference.js","sourceRoot":"","sources":["../../../src/react/cache/QueryReference.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ApolloError,\n ApolloQueryResult,\n ObservableQuery,\n OperationVariables,\n} from '../../core';\nimport { NetworkStatus, isNetworkRequestSettled } from '../../core';\nimport type { ObservableSubscription } from '../../utilities';\nimport { createFulfilledPromise, createRejectedPromise } from '../../utilities';\nimport type { CacheKey } from './types';\n\ntype Listener<TData> = (promise: Promise<ApolloQueryResult<TData>>) => void;\n\ntype FetchMoreOptions<TData> = Parameters<\n ObservableQuery<TData>['fetchMore']\n>[0];\n\ninterface QueryReferenceOptions {\n key: CacheKey;\n onDispose?: () => void;\n autoDisposeTimeoutMs?: number;\n}\n\nexport class QueryReference<TData = unknown> {\n public result: ApolloQueryResult<TData>;\n public readonly key: CacheKey;\n public readonly observable: ObservableQuery<TData>;\n\n public promiseCache?: Map<any[], Promise<ApolloQueryResult<TData>>>;\n public promise: Promise<ApolloQueryResult<TData>>;\n\n private subscription: ObservableSubscription;\n private listeners = new Set<Listener<TData>>();\n private autoDisposeTimeoutId: NodeJS.Timeout;\n private initialized = false;\n private refetching = false;\n\n private resolve: (result: ApolloQueryResult<TData>) => void;\n private reject: (error: unknown) => void;\n\n constructor(\n observable: ObservableQuery<TData>,\n options: QueryReferenceOptions\n ) {\n this.listen = this.listen.bind(this);\n this.handleNext = this.handleNext.bind(this);\n this.handleError = this.handleError.bind(this);\n this.dispose = this.dispose.bind(this);\n this.observable = observable;\n this.result = observable.getCurrentResult(false);\n this.key = options.key;\n\n if (options.onDispose) {\n this.onDispose = options.onDispose;\n }\n\n if (\n isNetworkRequestSettled(this.result.networkStatus) ||\n (this.result.data &&\n (!this.result.partial || this.observable.options.returnPartialData))\n ) {\n this.promise = createFulfilledPromise(this.result);\n this.initialized = true;\n this.refetching = false;\n }\n\n this.subscription = observable.subscribe({\n next: this.handleNext,\n error: this.handleError,\n });\n\n if (!this.promise) {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n // Start a timer that will automatically dispose of the query if the\n // suspended resource does not use this queryRef in the given time. This\n // helps prevent memory leaks when a component has unmounted before the\n // query has finished loading.\n this.autoDisposeTimeoutId = setTimeout(\n this.dispose,\n options.autoDisposeTimeoutMs ?? 30_000\n );\n }\n\n listen(listener: Listener<TData>) {\n // As soon as the component listens for updates, we know it has finished\n // suspending and is ready to receive updates, so we can remove the auto\n // dispose timer.\n clearTimeout(this.autoDisposeTimeoutId);\n\n this.listeners.add(listener);\n\n return () => {\n this.listeners.delete(listener);\n };\n }\n\n refetch(variables: OperationVariables | undefined) {\n this.refetching = true;\n\n const promise = this.observable.refetch(variables);\n\n this.promise = promise;\n\n return promise;\n }\n\n fetchMore(options: FetchMoreOptions<TData>) {\n const promise = this.observable.fetchMore<TData>(options);\n\n this.promise = promise;\n\n return promise;\n }\n\n dispose() {\n this.subscription.unsubscribe();\n this.onDispose();\n }\n\n private onDispose() {\n // noop. overridable by options\n }\n\n private handleNext(result: ApolloQueryResult<TData>) {\n if (!this.initialized || this.refetching) {\n if (!isNetworkRequestSettled(result.networkStatus)) {\n return;\n }\n\n // If we encounter an error with the new result after we have successfully\n // fetched a previous result, set the new result data to the last successful\n // result.\n if (this.result.data && result.data === void 0) {\n result.data = this.result.data;\n }\n\n this.initialized = true;\n this.refetching = false;\n this.result = result;\n this.resolve(result);\n return;\n }\n\n if (result.data === this.result.data) {\n return;\n }\n\n this.result = result;\n this.promise = createFulfilledPromise(result);\n this.deliver(this.promise);\n }\n\n private handleError(error: ApolloError) {\n const result = {\n ...this.result,\n error,\n networkStatus: NetworkStatus.error,\n };\n\n this.result = result;\n\n if (!this.initialized || this.refetching) {\n this.initialized = true;\n this.refetching = false;\n this.reject(error);\n return;\n }\n\n this.result = result;\n this.promise = result.data\n ? createFulfilledPromise(result)\n : createRejectedPromise(result);\n this.deliver(this.promise);\n }\n\n private deliver(promise: Promise<ApolloQueryResult<TData>>) {\n this.listeners.forEach((listener) => listener(promise));\n }\n}\n"]}
1
+ {"version":3,"file":"QueryReference.js","sourceRoot":"","sources":["../../../src/react/cache/QueryReference.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ApolloError,\n ApolloQueryResult,\n ObservableQuery,\n OperationVariables,\n WatchQueryOptions,\n} from '../../core';\nimport { NetworkStatus, isNetworkRequestSettled } from '../../core';\nimport type { ObservableSubscription } from '../../utilities';\nimport { createFulfilledPromise, createRejectedPromise } from '../../utilities';\nimport type { CacheKey } from './types';\n\ntype Listener<TData> = (promise: Promise<ApolloQueryResult<TData>>) => void;\n\ntype FetchMoreOptions<TData> = Parameters<\n ObservableQuery<TData>['fetchMore']\n>[0];\n\ninterface QueryReferenceOptions {\n key: CacheKey;\n onDispose?: () => void;\n autoDisposeTimeoutMs?: number;\n}\n\nexport class QueryReference<TData = unknown> {\n public result: ApolloQueryResult<TData>;\n public readonly key: CacheKey;\n public readonly observable: ObservableQuery<TData>;\n\n public promiseCache?: Map<any[], Promise<ApolloQueryResult<TData>>>;\n public promise: Promise<ApolloQueryResult<TData>>;\n\n private subscription: ObservableSubscription;\n private listeners = new Set<Listener<TData>>();\n private autoDisposeTimeoutId: NodeJS.Timeout;\n private initialized = false;\n private refetching = false;\n\n private resolve: (result: ApolloQueryResult<TData>) => void;\n private reject: (error: unknown) => void;\n\n constructor(\n observable: ObservableQuery<TData>,\n options: QueryReferenceOptions\n ) {\n this.listen = this.listen.bind(this);\n this.handleNext = this.handleNext.bind(this);\n this.handleError = this.handleError.bind(this);\n this.dispose = this.dispose.bind(this);\n this.observable = observable;\n this.result = observable.getCurrentResult(false);\n this.key = options.key;\n\n if (options.onDispose) {\n this.onDispose = options.onDispose;\n }\n\n if (\n isNetworkRequestSettled(this.result.networkStatus) ||\n (this.result.data &&\n (!this.result.partial || this.observable.options.returnPartialData))\n ) {\n this.promise = createFulfilledPromise(this.result);\n this.initialized = true;\n this.refetching = false;\n }\n\n this.subscription = observable.subscribe({\n next: this.handleNext,\n error: this.handleError,\n });\n\n if (!this.promise) {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n\n // Start a timer that will automatically dispose of the query if the\n // suspended resource does not use this queryRef in the given time. This\n // helps prevent memory leaks when a component has unmounted before the\n // query has finished loading.\n this.autoDisposeTimeoutId = setTimeout(\n this.dispose,\n options.autoDisposeTimeoutMs ?? 30_000\n );\n }\n\n get watchQueryOptions() {\n return this.observable.options;\n }\n\n listen(listener: Listener<TData>) {\n // As soon as the component listens for updates, we know it has finished\n // suspending and is ready to receive updates, so we can remove the auto\n // dispose timer.\n clearTimeout(this.autoDisposeTimeoutId);\n\n this.listeners.add(listener);\n\n return () => {\n this.listeners.delete(listener);\n };\n }\n\n refetch(variables: OperationVariables | undefined) {\n this.refetching = true;\n\n const promise = this.observable.refetch(variables);\n\n this.promise = promise;\n\n return promise;\n }\n\n fetchMore(options: FetchMoreOptions<TData>) {\n const promise = this.observable.fetchMore<TData>(options);\n\n this.promise = promise;\n\n return promise;\n }\n\n reobserve(\n watchQueryOptions: Partial<WatchQueryOptions<OperationVariables, TData>>\n ) {\n const promise = this.observable.reobserve(watchQueryOptions);\n\n this.promise = promise;\n\n return promise;\n }\n\n dispose() {\n this.subscription.unsubscribe();\n this.onDispose();\n }\n\n private onDispose() {\n // noop. overridable by options\n }\n\n private handleNext(result: ApolloQueryResult<TData>) {\n if (!this.initialized || this.refetching) {\n if (!isNetworkRequestSettled(result.networkStatus)) {\n return;\n }\n\n // If we encounter an error with the new result after we have successfully\n // fetched a previous result, set the new result data to the last successful\n // result.\n if (this.result.data && result.data === void 0) {\n result.data = this.result.data;\n }\n\n this.initialized = true;\n this.refetching = false;\n this.result = result;\n this.resolve(result);\n return;\n }\n\n if (result.data === this.result.data) {\n return;\n }\n\n this.result = result;\n this.promise = createFulfilledPromise(result);\n this.deliver(this.promise);\n }\n\n private handleError(error: ApolloError) {\n const result = {\n ...this.result,\n error,\n networkStatus: NetworkStatus.error,\n };\n\n this.result = result;\n\n if (!this.initialized || this.refetching) {\n this.initialized = true;\n this.refetching = false;\n this.reject(error);\n return;\n }\n\n this.result = result;\n this.promise = result.data\n ? createFulfilledPromise(result)\n : createRejectedPromise(result);\n this.deliver(this.promise);\n }\n\n private deliver(promise: Promise<ApolloQueryResult<TData>>) {\n this.listeners.forEach((listener) => listener(promise));\n }\n}\n"]}
@@ -759,15 +759,20 @@ function useSuspenseQuery(query, options) {
759
759
  if (options === void 0) { options = Object.create(null); }
760
760
  var client = useApolloClient(options.client);
761
761
  var suspenseCache = useSuspenseCache(options.suspenseCache);
762
- var watchQueryOptions = useWatchQueryOptions({ query: query, options: options });
763
- var variables = watchQueryOptions.variables;
762
+ var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
763
+ var fetchPolicy = watchQueryOptions.fetchPolicy, variables = watchQueryOptions.variables;
764
764
  var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
765
765
  var cacheKey = [client, query, cache.canonicalStringify(variables)].concat(queryKey);
766
766
  var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
767
767
  return client.watchQuery(watchQueryOptions);
768
768
  });
769
+ var currentFetchPolicy = queryRef.watchQueryOptions.fetchPolicy;
769
770
  var _b = React.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
770
771
  var promise = promiseCache.get(queryRef.key);
772
+ if (currentFetchPolicy === 'standby' && fetchPolicy !== currentFetchPolicy) {
773
+ promise = queryRef.reobserve({ fetchPolicy: fetchPolicy });
774
+ promiseCache.set(queryRef.key, promise);
775
+ }
771
776
  if (!promise) {
772
777
  promise = queryRef.promise;
773
778
  promiseCache.set(queryRef.key, promise);
@@ -780,7 +785,16 @@ function useSuspenseQuery(query, options) {
780
785
  });
781
786
  });
782
787
  }, [queryRef]);
783
- var result = __use(promise);
788
+ var skipResult = React.useMemo(function () {
789
+ var error = toApolloError(queryRef.result);
790
+ return {
791
+ loading: false,
792
+ data: queryRef.result.data,
793
+ networkStatus: error ? core.NetworkStatus.error : core.NetworkStatus.ready,
794
+ error: error,
795
+ };
796
+ }, [queryRef.result]);
797
+ var result = watchQueryOptions.fetchPolicy === 'standby' ? skipResult : __use(promise);
784
798
  var fetchMore = React.useCallback(function (options) {
785
799
  var promise = queryRef.fetchMore(options);
786
800
  setPromiseCache(function (previousPromiseCache) {
@@ -842,26 +856,40 @@ function useTrackedQueryRefs(queryRef) {
842
856
  });
843
857
  }
844
858
  function useWatchQueryOptions(_a) {
845
- var query = _a.query, options = _a.options;
846
- var watchQueryOptions = useDeepMemo(function () { return (tslib.__assign(tslib.__assign({}, options), { query: query, notifyOnNetworkStatusChange: false, nextFetchPolicy: void 0 })); }, [options, query]);
847
- if (globals.__DEV__) {
848
- validateOptions(watchQueryOptions);
849
- }
850
- return watchQueryOptions;
859
+ var client = _a.client, query = _a.query, options = _a.options;
860
+ return useDeepMemo(function () {
861
+ var _a;
862
+ var fetchPolicy = options.fetchPolicy ||
863
+ ((_a = client.defaultOptions.watchQuery) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
864
+ 'cache-first';
865
+ var watchQueryOptions = tslib.__assign(tslib.__assign({}, options), { fetchPolicy: fetchPolicy, query: query, notifyOnNetworkStatusChange: false, nextFetchPolicy: void 0 });
866
+ if (globals.__DEV__) {
867
+ validateOptions(watchQueryOptions);
868
+ }
869
+ if (options.skip) {
870
+ watchQueryOptions.fetchPolicy = 'standby';
871
+ }
872
+ return watchQueryOptions;
873
+ }, [client, options, query]);
851
874
  }
852
875
 
853
876
  function useBackgroundQuery(query, options) {
854
877
  if (options === void 0) { options = Object.create(null); }
855
878
  var suspenseCache = useSuspenseCache(options.suspenseCache);
856
879
  var client = useApolloClient(options.client);
857
- var watchQueryOptions = useWatchQueryOptions({ query: query, options: options });
858
- var variables = watchQueryOptions.variables;
880
+ var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
881
+ var fetchPolicy = watchQueryOptions.fetchPolicy, variables = watchQueryOptions.variables;
859
882
  var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
860
883
  var cacheKey = [client, query, cache.canonicalStringify(variables)].concat(queryKey);
861
884
  var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
862
885
  return client.watchQuery(watchQueryOptions);
863
886
  });
887
+ var currentFetchPolicy = queryRef.watchQueryOptions.fetchPolicy;
864
888
  var _b = React.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
889
+ if (currentFetchPolicy === 'standby' && fetchPolicy !== currentFetchPolicy) {
890
+ var promise = queryRef.reobserve({ fetchPolicy: fetchPolicy });
891
+ promiseCache.set(queryRef.key, promise);
892
+ }
865
893
  useTrackedQueryRefs(queryRef);
866
894
  var fetchMore = React.useCallback(function (options) {
867
895
  var promise = queryRef.fetchMore(options);
@@ -891,6 +919,15 @@ function useBackgroundQuery(query, options) {
891
919
  function useReadQuery(queryRef) {
892
920
  var _a = React.useState(0), forceUpdate = _a[1];
893
921
  globals.invariant(queryRef.promiseCache, 49);
922
+ var skipResult = React.useMemo(function () {
923
+ var error = toApolloError(queryRef.result);
924
+ return {
925
+ loading: false,
926
+ data: queryRef.result.data,
927
+ networkStatus: error ? core.NetworkStatus.error : core.NetworkStatus.ready,
928
+ error: error,
929
+ };
930
+ }, [queryRef.result]);
894
931
  var promise = queryRef.promiseCache.get(queryRef.key);
895
932
  if (!promise) {
896
933
  promise = queryRef.promise;
@@ -902,7 +939,9 @@ function useReadQuery(queryRef) {
902
939
  forceUpdate(function (prevState) { return prevState + 1; });
903
940
  });
904
941
  }, [queryRef]);
905
- var result = __use(promise);
942
+ var result = queryRef.watchQueryOptions.fetchPolicy === 'standby'
943
+ ? skipResult
944
+ : __use(promise);
906
945
  return React.useMemo(function () {
907
946
  return {
908
947
  data: result.data,