@apollo/client 3.10.7 → 3.11.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.changeset/angry-ravens-mate.md +5 -0
- package/.changeset/angry-seals-jog.md +5 -0
- package/.changeset/chilly-dots-shake.md +5 -0
- package/.changeset/clever-bikes-admire.md +5 -0
- package/.changeset/flat-onions-guess.md +5 -0
- package/.changeset/fluffy-badgers-rush.md +5 -0
- package/.changeset/little-suits-return.md +5 -0
- package/.changeset/nasty-olives-act.md +5 -0
- package/.changeset/pink-ants-remember.md +16 -0
- package/.changeset/pre.json +24 -0
- package/.changeset/slimy-balloons-cheat.md +5 -0
- package/.changeset/slimy-berries-yawn.md +14 -0
- package/.changeset/tasty-chairs-dress.md +5 -0
- package/.changeset/thin-lies-begin.md +5 -0
- package/.changeset/unlucky-birds-press.md +5 -0
- package/.changeset/weak-ads-develop.md +5 -0
- package/CHANGELOG.md +66 -4
- package/apollo-client.cjs +501 -410
- package/apollo-client.cjs.map +1 -1
- package/apollo-client.min.cjs +1 -1
- package/cache/core/types/common.d.ts +1 -1
- package/cache/core/types/common.js.map +1 -1
- package/core/ApolloClient.d.ts +24 -2
- package/core/ApolloClient.js +9 -8
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.js +5 -1
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +2 -2
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +1 -1
- package/core/QueryManager.js +5 -4
- package/core/QueryManager.js.map +1 -1
- package/core/core.cjs +18 -11
- package/core/core.cjs.map +1 -1
- package/core/core.cjs.native.js +18 -11
- package/core/types.d.ts +2 -2
- package/core/types.js.map +1 -1
- package/core/watchQueryOptions.d.ts +4 -0
- package/core/watchQueryOptions.js.map +1 -1
- package/dev/dev.cjs +40 -34
- package/dev/dev.cjs.map +1 -1
- package/dev/dev.cjs.native.js +40 -34
- package/errors/errors.cjs +4 -0
- package/errors/errors.cjs.map +1 -1
- package/errors/errors.cjs.native.js +4 -0
- package/errors/index.d.ts +18 -3
- package/errors/index.js +7 -2
- package/errors/index.js.map +1 -1
- package/invariantErrorCodes.js +41 -34
- package/link/core/types.d.ts +6 -4
- package/link/core/types.js.map +1 -1
- package/link/error/index.d.ts +4 -4
- package/link/error/index.js.map +1 -1
- package/link/persisted-queries/index.d.ts +3 -3
- package/link/persisted-queries/index.js.map +1 -1
- package/link/subscriptions/index.js +1 -0
- package/link/subscriptions/index.js.map +1 -1
- package/link/subscriptions/subscriptions.cjs.map +1 -1
- package/package.json +29 -29
- package/react/hooks/hooks.cjs +445 -368
- package/react/hooks/hooks.cjs.map +1 -1
- package/react/hooks/hooks.cjs.native.js +445 -368
- package/react/hooks/internal/wrapHook.d.ts +2 -0
- package/react/hooks/internal/wrapHook.js.map +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +15 -1
- package/react/hooks/useBackgroundQuery.js +5 -1
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useLazyQuery.js +54 -12
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +7 -1
- package/react/hooks/useLoadableQuery.js +5 -1
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useQuery.d.ts +34 -47
- package/react/hooks/useQuery.js +387 -388
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.d.ts +7 -1
- package/react/hooks/useQueryRefHandlers.js +5 -1
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useSubscription.d.ts +13 -10
- package/react/hooks/useSubscription.js +130 -98
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseQuery.js +3 -3
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks/useSyncExternalStore.js +1 -1
- package/react/internal/cache/QueryReference.js +1 -1
- package/react/internal/internal.cjs +2 -2
- package/react/internal/internal.cjs.map +1 -1
- package/react/internal/internal.cjs.native.js +2 -2
- package/react/parser/index.js +5 -5
- package/react/parser/parser.cjs +5 -5
- package/react/parser/parser.cjs.map +1 -1
- package/react/parser/parser.cjs.native.js +5 -5
- package/react/query-preloader/createQueryPreloader.js +5 -1
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/react.cjs +12 -1
- package/react/react.cjs.map +1 -1
- package/react/react.cjs.native.js +12 -1
- package/react/types/types.d.ts +19 -0
- package/react/types/types.documentation.d.ts +10 -0
- package/react/types/types.documentation.js.map +1 -1
- package/react/types/types.js.map +1 -1
- package/testing/core/core.cjs +6 -5
- package/testing/core/core.cjs.map +1 -1
- package/testing/core/core.cjs.native.js +6 -5
- package/testing/core/mocking/mockLink.js +8 -7
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/testing/experimental/createSchemaFetch.d.ts +2 -0
- package/testing/experimental/createSchemaFetch.js +12 -1
- package/testing/experimental/createSchemaFetch.js.map +1 -1
- package/testing/experimental/createTestSchema.d.ts +2 -0
- package/testing/experimental/createTestSchema.js +2 -0
- package/testing/experimental/createTestSchema.js.map +1 -1
- package/testing/experimental/experimental.cjs +5 -1
- package/testing/experimental/experimental.cjs.map +1 -1
- package/testing/experimental/experimental.cjs.native.js +5 -1
- package/testing/internal/disposables/enableFakeTimers.d.ts +7 -0
- package/testing/internal/disposables/enableFakeTimers.js +16 -0
- package/testing/internal/disposables/enableFakeTimers.js.map +1 -0
- package/testing/internal/disposables/index.d.ts +1 -0
- package/testing/internal/disposables/index.js +1 -0
- package/testing/internal/disposables/index.js.map +1 -1
- package/utilities/common/errorHandling.d.ts +1 -1
- package/utilities/globals/globals.cjs +1 -1
- package/utilities/globals/globals.cjs.map +1 -1
- package/utilities/globals/globals.cjs.native.js +1 -1
- package/utilities/graphql/DocumentTransform.js +1 -1
- package/utilities/graphql/directives.js +4 -4
- package/utilities/graphql/fragments.js +3 -3
- package/utilities/graphql/getFromAST.js +8 -8
- package/utilities/graphql/storeUtils.js +1 -1
- package/utilities/graphql/transform.js +2 -2
- package/utilities/utilities.cjs +19 -19
- package/utilities/utilities.cjs.map +1 -1
- package/utilities/utilities.cjs.native.js +19 -19
- package/version.js +1 -1
package/apollo-client.cjs
CHANGED
|
@@ -31,7 +31,7 @@ function _interopNamespace(e) {
|
|
|
31
31
|
var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
|
|
32
32
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
33
|
|
|
34
|
-
var version = "3.
|
|
34
|
+
var version = "3.11.0-rc.0";
|
|
35
35
|
|
|
36
36
|
function maybe(thunk) {
|
|
37
37
|
try {
|
|
@@ -145,7 +145,7 @@ function shouldInclude(_a, variables) {
|
|
|
145
145
|
if (ifArgument.value.kind === "Variable") {
|
|
146
146
|
evaledValue =
|
|
147
147
|
variables && variables[ifArgument.value.name.value];
|
|
148
|
-
invariant(evaledValue !== void 0,
|
|
148
|
+
invariant(evaledValue !== void 0, 69, directive.name.value);
|
|
149
149
|
}
|
|
150
150
|
else {
|
|
151
151
|
evaledValue = ifArgument.value.value;
|
|
@@ -180,12 +180,12 @@ function getInclusionDirectives(directives) {
|
|
|
180
180
|
return;
|
|
181
181
|
var directiveArguments = directive.arguments;
|
|
182
182
|
var directiveName = directive.name.value;
|
|
183
|
-
invariant(directiveArguments && directiveArguments.length === 1,
|
|
183
|
+
invariant(directiveArguments && directiveArguments.length === 1, 70, directiveName);
|
|
184
184
|
var ifArgument = directiveArguments[0];
|
|
185
|
-
invariant(ifArgument.name && ifArgument.name.value === "if",
|
|
185
|
+
invariant(ifArgument.name && ifArgument.name.value === "if", 71, directiveName);
|
|
186
186
|
var ifValue = ifArgument.value;
|
|
187
187
|
invariant(ifValue &&
|
|
188
|
-
(ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"),
|
|
188
|
+
(ifValue.kind === "Variable" || ifValue.kind === "BooleanValue"), 72, directiveName);
|
|
189
189
|
result.push({ directive: directive, ifArgument: ifArgument });
|
|
190
190
|
});
|
|
191
191
|
}
|
|
@@ -213,7 +213,7 @@ function getFragmentQueryDocument(document, fragmentName) {
|
|
|
213
213
|
document.definitions.forEach(function (definition) {
|
|
214
214
|
if (definition.kind === "OperationDefinition") {
|
|
215
215
|
throw newInvariantError(
|
|
216
|
-
|
|
216
|
+
73,
|
|
217
217
|
definition.operation,
|
|
218
218
|
definition.name ? " named '".concat(definition.name.value, "'") : ""
|
|
219
219
|
);
|
|
@@ -223,7 +223,7 @@ function getFragmentQueryDocument(document, fragmentName) {
|
|
|
223
223
|
}
|
|
224
224
|
});
|
|
225
225
|
if (typeof actualFragmentName === "undefined") {
|
|
226
|
-
invariant(fragments.length === 1,
|
|
226
|
+
invariant(fragments.length === 1, 74, fragments.length);
|
|
227
227
|
actualFragmentName = fragments[0].name.value;
|
|
228
228
|
}
|
|
229
229
|
var query = tslib.__assign(tslib.__assign({}, document), { definitions: tslib.__spreadArray([
|
|
@@ -264,7 +264,7 @@ function getFragmentFromSelection(selection, fragmentMap) {
|
|
|
264
264
|
return fragmentMap(fragmentName);
|
|
265
265
|
}
|
|
266
266
|
var fragment = fragmentMap && fragmentMap[fragmentName];
|
|
267
|
-
invariant(fragment,
|
|
267
|
+
invariant(fragment, 75, fragmentName);
|
|
268
268
|
return fragment || null;
|
|
269
269
|
}
|
|
270
270
|
default:
|
|
@@ -515,7 +515,7 @@ function valueToObjectRepresentation(argObj, name, value, variables) {
|
|
|
515
515
|
argObj[name.value] = null;
|
|
516
516
|
}
|
|
517
517
|
else {
|
|
518
|
-
throw newInvariantError(
|
|
518
|
+
throw newInvariantError(84, name.value, value.kind);
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
521
|
function storeKeyNameFromField(field, variables) {
|
|
@@ -649,16 +649,16 @@ function isInlineFragment(selection) {
|
|
|
649
649
|
}
|
|
650
650
|
|
|
651
651
|
function checkDocument(doc) {
|
|
652
|
-
invariant(doc && doc.kind === "Document",
|
|
652
|
+
invariant(doc && doc.kind === "Document", 76);
|
|
653
653
|
var operations = doc.definitions
|
|
654
654
|
.filter(function (d) { return d.kind !== "FragmentDefinition"; })
|
|
655
655
|
.map(function (definition) {
|
|
656
656
|
if (definition.kind !== "OperationDefinition") {
|
|
657
|
-
throw newInvariantError(
|
|
657
|
+
throw newInvariantError(77, definition.kind);
|
|
658
658
|
}
|
|
659
659
|
return definition;
|
|
660
660
|
});
|
|
661
|
-
invariant(operations.length <= 1,
|
|
661
|
+
invariant(operations.length <= 1, 78, operations.length);
|
|
662
662
|
return doc;
|
|
663
663
|
}
|
|
664
664
|
function getOperationDefinition(doc) {
|
|
@@ -681,14 +681,14 @@ function getFragmentDefinitions(doc) {
|
|
|
681
681
|
}
|
|
682
682
|
function getQueryDefinition(doc) {
|
|
683
683
|
var queryDef = getOperationDefinition(doc);
|
|
684
|
-
invariant(queryDef && queryDef.operation === "query",
|
|
684
|
+
invariant(queryDef && queryDef.operation === "query", 79);
|
|
685
685
|
return queryDef;
|
|
686
686
|
}
|
|
687
687
|
function getFragmentDefinition(doc) {
|
|
688
|
-
invariant(doc.kind === "Document",
|
|
689
|
-
invariant(doc.definitions.length <= 1,
|
|
688
|
+
invariant(doc.kind === "Document", 80);
|
|
689
|
+
invariant(doc.definitions.length <= 1, 81);
|
|
690
690
|
var fragmentDef = doc.definitions[0];
|
|
691
|
-
invariant(fragmentDef.kind === "FragmentDefinition",
|
|
691
|
+
invariant(fragmentDef.kind === "FragmentDefinition", 82);
|
|
692
692
|
return fragmentDef;
|
|
693
693
|
}
|
|
694
694
|
function getMainDefinition(queryDoc) {
|
|
@@ -711,7 +711,7 @@ function getMainDefinition(queryDoc) {
|
|
|
711
711
|
if (fragmentDefinition) {
|
|
712
712
|
return fragmentDefinition;
|
|
713
713
|
}
|
|
714
|
-
throw newInvariantError(
|
|
714
|
+
throw newInvariantError(83);
|
|
715
715
|
}
|
|
716
716
|
function getDefaultValues(definition) {
|
|
717
717
|
var defaultValues = Object.create(null);
|
|
@@ -762,7 +762,7 @@ var DocumentTransform = (function () {
|
|
|
762
762
|
makeCacheKey: function (document) {
|
|
763
763
|
var cacheKeys = _this.getCacheKey(document);
|
|
764
764
|
if (cacheKeys) {
|
|
765
|
-
invariant(Array.isArray(cacheKeys),
|
|
765
|
+
invariant(Array.isArray(cacheKeys), 68);
|
|
766
766
|
return stableCacheKeys_1.lookupArray(cacheKeys);
|
|
767
767
|
}
|
|
768
768
|
},
|
|
@@ -892,7 +892,7 @@ function removeDirectivesFromDocument(directives, doc) {
|
|
|
892
892
|
return getInUseByFragmentName(ancestor.name.value);
|
|
893
893
|
}
|
|
894
894
|
}
|
|
895
|
-
globalThis.__DEV__ !== false && invariant.error(
|
|
895
|
+
globalThis.__DEV__ !== false && invariant.error(85);
|
|
896
896
|
return null;
|
|
897
897
|
};
|
|
898
898
|
var operationCount = 0;
|
|
@@ -1944,6 +1944,10 @@ var ApolloError = (function (_super) {
|
|
|
1944
1944
|
_this.networkError = networkError || null;
|
|
1945
1945
|
_this.message = errorMessage || generateErrorMessage(_this);
|
|
1946
1946
|
_this.extraInfo = extraInfo;
|
|
1947
|
+
_this.cause =
|
|
1948
|
+
tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([
|
|
1949
|
+
networkError
|
|
1950
|
+
], (graphQLErrors || []), true), (protocolErrors || []), true), (clientErrors || []), true).find(function (e) { return !!e; }) || null;
|
|
1947
1951
|
_this.__proto__ = ApolloError.prototype;
|
|
1948
1952
|
return _this;
|
|
1949
1953
|
}
|
|
@@ -4920,6 +4924,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4920
4924
|
_this.queryManager = queryManager;
|
|
4921
4925
|
_this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);
|
|
4922
4926
|
_this.isTornDown = false;
|
|
4927
|
+
_this.subscribeToMore = _this.subscribeToMore.bind(_this);
|
|
4923
4928
|
var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
|
|
4924
4929
|
var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e,
|
|
4925
4930
|
_f = options.initialFetchPolicy,
|
|
@@ -5323,7 +5328,8 @@ var ObservableQuery = (function (_super) {
|
|
|
5323
5328
|
newOptions.variables &&
|
|
5324
5329
|
!equal.equal(newOptions.variables, oldVariables) &&
|
|
5325
5330
|
options.fetchPolicy !== "standby" &&
|
|
5326
|
-
options.fetchPolicy === oldFetchPolicy
|
|
5331
|
+
(options.fetchPolicy === oldFetchPolicy ||
|
|
5332
|
+
typeof options.nextFetchPolicy === "function")) {
|
|
5327
5333
|
this.applyNextFetchPolicy("variables-changed", options);
|
|
5328
5334
|
if (newNetworkStatus === void 0) {
|
|
5329
5335
|
newNetworkStatus = exports.NetworkStatus.setVariables;
|
|
@@ -6131,7 +6137,7 @@ var QueryManager = (function () {
|
|
|
6131
6137
|
this.broadcastQueries();
|
|
6132
6138
|
self = this;
|
|
6133
6139
|
return [2 , new Promise(function (resolve, reject) {
|
|
6134
|
-
return asyncMap(self.getObservableFromLink(mutation, tslib.__assign(tslib.__assign({}, context), { optimisticResponse: isOptimistic ? optimisticResponse : void 0 }), variables, false), function (result) {
|
|
6140
|
+
return asyncMap(self.getObservableFromLink(mutation, tslib.__assign(tslib.__assign({}, context), { optimisticResponse: isOptimistic ? optimisticResponse : void 0 }), variables, {}, false), function (result) {
|
|
6135
6141
|
if (graphQLResultHasError(result) && errorPolicy === "none") {
|
|
6136
6142
|
throw new ApolloError({
|
|
6137
6143
|
graphQLErrors: getGraphQLErrorsFromResult(result),
|
|
@@ -6551,11 +6557,11 @@ var QueryManager = (function () {
|
|
|
6551
6557
|
};
|
|
6552
6558
|
QueryManager.prototype.startGraphQLSubscription = function (_a) {
|
|
6553
6559
|
var _this = this;
|
|
6554
|
-
var query = _a.query, fetchPolicy = _a.fetchPolicy, _b = _a.errorPolicy, errorPolicy = _b === void 0 ? "none" : _b, variables = _a.variables, _c = _a.context, context = _c === void 0 ? {} : _c;
|
|
6560
|
+
var query = _a.query, fetchPolicy = _a.fetchPolicy, _b = _a.errorPolicy, errorPolicy = _b === void 0 ? "none" : _b, variables = _a.variables, _c = _a.context, context = _c === void 0 ? {} : _c, _d = _a.extensions, extensions = _d === void 0 ? {} : _d;
|
|
6555
6561
|
query = this.transform(query);
|
|
6556
6562
|
variables = this.getVariables(query, variables);
|
|
6557
6563
|
var makeObservable = function (variables) {
|
|
6558
|
-
return _this.getObservableFromLink(query, context, variables).map(function (result) {
|
|
6564
|
+
return _this.getObservableFromLink(query, context, variables, extensions).map(function (result) {
|
|
6559
6565
|
if (fetchPolicy !== "no-cache") {
|
|
6560
6566
|
if (shouldWriteResult(result, errorPolicy)) {
|
|
6561
6567
|
_this.cache.write({
|
|
@@ -6622,7 +6628,7 @@ var QueryManager = (function () {
|
|
|
6622
6628
|
QueryManager.prototype.getLocalState = function () {
|
|
6623
6629
|
return this.localState;
|
|
6624
6630
|
};
|
|
6625
|
-
QueryManager.prototype.getObservableFromLink = function (query, context, variables,
|
|
6631
|
+
QueryManager.prototype.getObservableFromLink = function (query, context, variables, extensions,
|
|
6626
6632
|
deduplication) {
|
|
6627
6633
|
var _this = this;
|
|
6628
6634
|
var _a;
|
|
@@ -6636,6 +6642,7 @@ var QueryManager = (function () {
|
|
|
6636
6642
|
variables: variables,
|
|
6637
6643
|
operationName: getOperationName(serverQuery) || void 0,
|
|
6638
6644
|
context: this.prepareContext(tslib.__assign(tslib.__assign({}, context), { forceFetch: !deduplication })),
|
|
6645
|
+
extensions: extensions,
|
|
6639
6646
|
};
|
|
6640
6647
|
context = operation.context;
|
|
6641
6648
|
if (deduplication) {
|
|
@@ -6961,10 +6968,7 @@ var ApolloClient = (function () {
|
|
|
6961
6968
|
throw newInvariantError(15);
|
|
6962
6969
|
}
|
|
6963
6970
|
var uri = options.uri, credentials = options.credentials, headers = options.headers, cache = options.cache, documentTransform = options.documentTransform, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b,
|
|
6964
|
-
|
|
6965
|
-
connectToDevTools = _c === void 0 ? typeof window === "object" &&
|
|
6966
|
-
!window.__APOLLO_CLIENT__ &&
|
|
6967
|
-
globalThis.__DEV__ !== false : _c, _d = options.queryDeduplication, queryDeduplication = _d === void 0 ? true : _d, defaultOptions = options.defaultOptions, defaultContext = options.defaultContext, _e = options.assumeImmutableResults, assumeImmutableResults = _e === void 0 ? cache.assumeImmutableResults : _e, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version;
|
|
6971
|
+
connectToDevTools = options.connectToDevTools, _c = options.queryDeduplication, queryDeduplication = _c === void 0 ? true : _c, defaultOptions = options.defaultOptions, defaultContext = options.defaultContext, _d = options.assumeImmutableResults, assumeImmutableResults = _d === void 0 ? cache.assumeImmutableResults : _d, resolvers = options.resolvers, typeDefs = options.typeDefs, fragmentMatcher = options.fragmentMatcher, clientAwarenessName = options.name, clientAwarenessVersion = options.version, devtools = options.devtools;
|
|
6968
6972
|
var link = options.link;
|
|
6969
6973
|
if (!link) {
|
|
6970
6974
|
link =
|
|
@@ -6976,6 +6980,13 @@ var ApolloClient = (function () {
|
|
|
6976
6980
|
this.queryDeduplication = queryDeduplication;
|
|
6977
6981
|
this.defaultOptions = defaultOptions || Object.create(null);
|
|
6978
6982
|
this.typeDefs = typeDefs;
|
|
6983
|
+
this.devtoolsConfig = tslib.__assign(tslib.__assign({}, devtools), { enabled: (devtools === null || devtools === void 0 ? void 0 : devtools.enabled) || connectToDevTools });
|
|
6984
|
+
if (this.devtoolsConfig.enabled === undefined) {
|
|
6985
|
+
this.devtoolsConfig.enabled =
|
|
6986
|
+
typeof window === "object" &&
|
|
6987
|
+
window.__APOLLO_CLIENT__ &&
|
|
6988
|
+
globalThis.__DEV__ !== false;
|
|
6989
|
+
}
|
|
6979
6990
|
if (ssrForceFetchDelay) {
|
|
6980
6991
|
setTimeout(function () { return (_this.disableNetworkFetches = false); }, ssrForceFetchDelay);
|
|
6981
6992
|
}
|
|
@@ -7021,7 +7032,7 @@ var ApolloClient = (function () {
|
|
|
7021
7032
|
}
|
|
7022
7033
|
: void 0,
|
|
7023
7034
|
});
|
|
7024
|
-
if (
|
|
7035
|
+
if (this.devtoolsConfig.enabled)
|
|
7025
7036
|
this.connectToDevTools();
|
|
7026
7037
|
}
|
|
7027
7038
|
ApolloClient.prototype.connectToDevTools = function () {
|
|
@@ -7279,7 +7290,7 @@ var useSyncExternalStore = realHook$1 ||
|
|
|
7279
7290
|
!didWarnUncachedGetSnapshot &&
|
|
7280
7291
|
value !== getSnapshot()) {
|
|
7281
7292
|
didWarnUncachedGetSnapshot = true;
|
|
7282
|
-
globalThis.__DEV__ !== false && invariant.error(
|
|
7293
|
+
globalThis.__DEV__ !== false && invariant.error(59);
|
|
7283
7294
|
}
|
|
7284
7295
|
var _a = React__namespace.useState({
|
|
7285
7296
|
inst: { value: value, getSnapshot: getSnapshot },
|
|
@@ -7347,7 +7358,7 @@ function parser(document) {
|
|
|
7347
7358
|
if (cached)
|
|
7348
7359
|
return cached;
|
|
7349
7360
|
var variables, type, name;
|
|
7350
|
-
invariant(!!document && !!document.kind,
|
|
7361
|
+
invariant(!!document && !!document.kind, 61, document);
|
|
7351
7362
|
var fragments = [];
|
|
7352
7363
|
var queries = [];
|
|
7353
7364
|
var mutations = [];
|
|
@@ -7375,10 +7386,10 @@ function parser(document) {
|
|
|
7375
7386
|
invariant(!fragments.length ||
|
|
7376
7387
|
queries.length ||
|
|
7377
7388
|
mutations.length ||
|
|
7378
|
-
subscriptions.length,
|
|
7389
|
+
subscriptions.length, 62);
|
|
7379
7390
|
invariant(
|
|
7380
7391
|
queries.length + mutations.length + subscriptions.length <= 1,
|
|
7381
|
-
|
|
7392
|
+
63,
|
|
7382
7393
|
document,
|
|
7383
7394
|
queries.length,
|
|
7384
7395
|
subscriptions.length,
|
|
@@ -7390,7 +7401,7 @@ function parser(document) {
|
|
|
7390
7401
|
var definitions = queries.length ? queries
|
|
7391
7402
|
: mutations.length ? mutations
|
|
7392
7403
|
: subscriptions;
|
|
7393
|
-
invariant(definitions.length === 1,
|
|
7404
|
+
invariant(definitions.length === 1, 64, document, definitions.length);
|
|
7394
7405
|
var definition = definitions[0];
|
|
7395
7406
|
variables = definition.variableDefinitions || [];
|
|
7396
7407
|
if (definition.name && definition.name.kind === "Name") {
|
|
@@ -7415,7 +7426,7 @@ function verifyDocumentType(document, type) {
|
|
|
7415
7426
|
var usedOperationName = operationName(operation.type);
|
|
7416
7427
|
invariant(
|
|
7417
7428
|
operation.type === type,
|
|
7418
|
-
|
|
7429
|
+
65,
|
|
7419
7430
|
requiredOperationName,
|
|
7420
7431
|
requiredOperationName,
|
|
7421
7432
|
usedOperationName
|
|
@@ -7433,7 +7444,7 @@ function useDeepMemo(memoFn, deps) {
|
|
|
7433
7444
|
var useIsomorphicLayoutEffect = canUseDOM ? React__namespace.useLayoutEffect : React__namespace.useEffect;
|
|
7434
7445
|
|
|
7435
7446
|
var Ctx;
|
|
7436
|
-
function noop() { }
|
|
7447
|
+
function noop$1() { }
|
|
7437
7448
|
function useRenderGuard() {
|
|
7438
7449
|
if (!Ctx) {
|
|
7439
7450
|
Ctx = React__namespace.createContext(null);
|
|
@@ -7442,7 +7453,7 @@ function useRenderGuard() {
|
|
|
7442
7453
|
function () {
|
|
7443
7454
|
var orig = console.error;
|
|
7444
7455
|
try {
|
|
7445
|
-
console.error = noop;
|
|
7456
|
+
console.error = noop$1;
|
|
7446
7457
|
React__namespace["useContext" ](Ctx);
|
|
7447
7458
|
return true;
|
|
7448
7459
|
}
|
|
@@ -7488,181 +7499,185 @@ function wrapHook(hookName, useHook, clientOrObsQuery) {
|
|
|
7488
7499
|
}
|
|
7489
7500
|
|
|
7490
7501
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
7502
|
+
var originalResult = Symbol();
|
|
7503
|
+
function noop() { }
|
|
7504
|
+
var lastWatchOptions = Symbol();
|
|
7491
7505
|
function useQuery(query, options) {
|
|
7492
7506
|
if (options === void 0) { options = Object.create(null); }
|
|
7493
7507
|
return wrapHook("useQuery", _useQuery, useApolloClient(options && options.client))(query, options);
|
|
7494
7508
|
}
|
|
7495
7509
|
function _useQuery(query, options) {
|
|
7496
|
-
|
|
7510
|
+
var _a = useQueryInternals(query, options), result = _a.result, obsQueryFields = _a.obsQueryFields;
|
|
7511
|
+
return React__namespace.useMemo(function () { return (tslib.__assign(tslib.__assign({}, result), obsQueryFields)); }, [result, obsQueryFields]);
|
|
7497
7512
|
}
|
|
7498
|
-
function useInternalState(client, query) {
|
|
7499
|
-
var forceUpdateState = React__namespace.useReducer(function (tick) { return tick + 1; }, 0)[1];
|
|
7513
|
+
function useInternalState(client, query, options, renderPromises, makeWatchQueryOptions) {
|
|
7500
7514
|
function createInternalState(previous) {
|
|
7501
|
-
|
|
7502
|
-
forceUpdateState: forceUpdateState,
|
|
7503
|
-
});
|
|
7504
|
-
}
|
|
7505
|
-
var _a = React__namespace.useState(createInternalState), state = _a[0], updateState = _a[1];
|
|
7506
|
-
if (client !== state.client || query !== state.query) {
|
|
7507
|
-
updateState((state = createInternalState(state)));
|
|
7508
|
-
}
|
|
7509
|
-
return state;
|
|
7510
|
-
}
|
|
7511
|
-
var InternalState = (function () {
|
|
7512
|
-
function InternalState(client, query, previous) {
|
|
7513
|
-
var _this = this;
|
|
7514
|
-
this.client = client;
|
|
7515
|
-
this.query = query;
|
|
7516
|
-
this.forceUpdate = function () { return _this.forceUpdateState(); };
|
|
7517
|
-
this.ssrDisabledResult = maybeDeepFreeze({
|
|
7518
|
-
loading: true,
|
|
7519
|
-
data: void 0,
|
|
7520
|
-
error: void 0,
|
|
7521
|
-
networkStatus: exports.NetworkStatus.loading,
|
|
7522
|
-
});
|
|
7523
|
-
this.skipStandbyResult = maybeDeepFreeze({
|
|
7524
|
-
loading: false,
|
|
7525
|
-
data: void 0,
|
|
7526
|
-
error: void 0,
|
|
7527
|
-
networkStatus: exports.NetworkStatus.ready,
|
|
7528
|
-
});
|
|
7529
|
-
this.toQueryResultCache = new (canUseWeakMap ? WeakMap : Map)();
|
|
7515
|
+
var _a;
|
|
7530
7516
|
verifyDocumentType(query, exports.DocumentType.Query);
|
|
7531
|
-
var
|
|
7532
|
-
|
|
7533
|
-
|
|
7534
|
-
|
|
7535
|
-
|
|
7517
|
+
var internalState = {
|
|
7518
|
+
client: client,
|
|
7519
|
+
query: query,
|
|
7520
|
+
observable:
|
|
7521
|
+
(renderPromises &&
|
|
7522
|
+
renderPromises.getSSRObservable(makeWatchQueryOptions())) ||
|
|
7523
|
+
client.watchQuery(getObsQueryOptions(void 0, client, options, makeWatchQueryOptions())),
|
|
7524
|
+
resultData: {
|
|
7525
|
+
previousData: (_a = previous === null || previous === void 0 ? void 0 : previous.resultData.current) === null || _a === void 0 ? void 0 : _a.data,
|
|
7526
|
+
},
|
|
7527
|
+
};
|
|
7528
|
+
return internalState;
|
|
7536
7529
|
}
|
|
7537
|
-
|
|
7538
|
-
|
|
7539
|
-
};
|
|
7540
|
-
InternalState.prototype.executeQuery = function (options) {
|
|
7541
|
-
var _this = this;
|
|
7542
|
-
var _a;
|
|
7543
|
-
if (options.query) {
|
|
7544
|
-
Object.assign(this, { query: options.query });
|
|
7545
|
-
}
|
|
7546
|
-
this.watchQueryOptions = this.createWatchQueryOptions((this.queryHookOptions = options));
|
|
7547
|
-
var concast = this.observable.reobserveAsConcast(this.getObsQueryOptions());
|
|
7548
|
-
this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
|
|
7549
|
-
this.result = void 0;
|
|
7550
|
-
this.forceUpdate();
|
|
7551
|
-
return new Promise(function (resolve) {
|
|
7552
|
-
var result;
|
|
7553
|
-
concast.subscribe({
|
|
7554
|
-
next: function (value) {
|
|
7555
|
-
result = value;
|
|
7556
|
-
},
|
|
7557
|
-
error: function () {
|
|
7558
|
-
resolve(_this.toQueryResult(_this.observable.getCurrentResult()));
|
|
7559
|
-
},
|
|
7560
|
-
complete: function () {
|
|
7561
|
-
resolve(_this.toQueryResult(result));
|
|
7562
|
-
},
|
|
7563
|
-
});
|
|
7564
|
-
});
|
|
7565
|
-
};
|
|
7566
|
-
InternalState.prototype.useQuery = function (options) {
|
|
7567
|
-
var _this = this;
|
|
7568
|
-
this.renderPromises = React__namespace.useContext(getApolloContext()).renderPromises;
|
|
7569
|
-
this.useOptions(options);
|
|
7570
|
-
var obsQuery = this.useObservableQuery();
|
|
7571
|
-
var result = useSyncExternalStore(
|
|
7572
|
-
React__namespace.useCallback(function (handleStoreChange) {
|
|
7573
|
-
if (_this.renderPromises) {
|
|
7574
|
-
return function () { };
|
|
7575
|
-
}
|
|
7576
|
-
_this.forceUpdate = handleStoreChange;
|
|
7577
|
-
var onNext = function () {
|
|
7578
|
-
var previousResult = _this.result;
|
|
7579
|
-
var result = obsQuery.getCurrentResult();
|
|
7580
|
-
if (previousResult &&
|
|
7581
|
-
previousResult.loading === result.loading &&
|
|
7582
|
-
previousResult.networkStatus === result.networkStatus &&
|
|
7583
|
-
equal.equal(previousResult.data, result.data)) {
|
|
7584
|
-
return;
|
|
7585
|
-
}
|
|
7586
|
-
_this.setResult(result);
|
|
7587
|
-
};
|
|
7588
|
-
var onError = function (error) {
|
|
7589
|
-
subscription.unsubscribe();
|
|
7590
|
-
subscription = obsQuery.resubscribeAfterError(onNext, onError);
|
|
7591
|
-
if (!hasOwnProperty.call(error, "graphQLErrors")) {
|
|
7592
|
-
throw error;
|
|
7593
|
-
}
|
|
7594
|
-
var previousResult = _this.result;
|
|
7595
|
-
if (!previousResult ||
|
|
7596
|
-
(previousResult && previousResult.loading) ||
|
|
7597
|
-
!equal.equal(error, previousResult.error)) {
|
|
7598
|
-
_this.setResult({
|
|
7599
|
-
data: (previousResult && previousResult.data),
|
|
7600
|
-
error: error,
|
|
7601
|
-
loading: false,
|
|
7602
|
-
networkStatus: exports.NetworkStatus.error,
|
|
7603
|
-
});
|
|
7604
|
-
}
|
|
7605
|
-
};
|
|
7606
|
-
var subscription = obsQuery.subscribe(onNext, onError);
|
|
7607
|
-
return function () {
|
|
7608
|
-
setTimeout(function () { return subscription.unsubscribe(); });
|
|
7609
|
-
_this.forceUpdate = function () { return _this.forceUpdateState(); };
|
|
7610
|
-
};
|
|
7611
|
-
}, [
|
|
7612
|
-
obsQuery,
|
|
7613
|
-
this.renderPromises,
|
|
7614
|
-
this.client.disableNetworkFetches,
|
|
7615
|
-
]), function () { return _this.getCurrentResult(); }, function () { return _this.getCurrentResult(); });
|
|
7616
|
-
this.unsafeHandlePartialRefetch(result);
|
|
7617
|
-
return this.toQueryResult(result);
|
|
7618
|
-
};
|
|
7619
|
-
InternalState.prototype.useOptions = function (options) {
|
|
7530
|
+
var _a = React__namespace.useState(createInternalState), internalState = _a[0], updateInternalState = _a[1];
|
|
7531
|
+
function onQueryExecuted(watchQueryOptions) {
|
|
7620
7532
|
var _a;
|
|
7621
|
-
var watchQueryOptions = this.createWatchQueryOptions((this.queryHookOptions = options));
|
|
7622
|
-
var currentWatchQueryOptions = this.watchQueryOptions;
|
|
7623
|
-
if (!equal.equal(watchQueryOptions, currentWatchQueryOptions)) {
|
|
7624
|
-
this.watchQueryOptions = watchQueryOptions;
|
|
7625
|
-
if (currentWatchQueryOptions && this.observable) {
|
|
7626
|
-
this.observable.reobserve(this.getObsQueryOptions());
|
|
7627
|
-
this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
|
|
7628
|
-
this.result = void 0;
|
|
7629
|
-
}
|
|
7630
|
-
}
|
|
7631
|
-
this.onCompleted =
|
|
7632
|
-
options.onCompleted || InternalState.prototype.onCompleted;
|
|
7633
|
-
this.onError = options.onError || InternalState.prototype.onError;
|
|
7634
|
-
if ((this.renderPromises || this.client.disableNetworkFetches) &&
|
|
7635
|
-
this.queryHookOptions.ssr === false &&
|
|
7636
|
-
!this.queryHookOptions.skip) {
|
|
7637
|
-
this.result = this.ssrDisabledResult;
|
|
7638
|
-
}
|
|
7639
|
-
else if (this.queryHookOptions.skip ||
|
|
7640
|
-
this.watchQueryOptions.fetchPolicy === "standby") {
|
|
7641
|
-
this.result = this.skipStandbyResult;
|
|
7642
|
-
}
|
|
7643
|
-
else if (this.result === this.ssrDisabledResult ||
|
|
7644
|
-
this.result === this.skipStandbyResult) {
|
|
7645
|
-
this.result = void 0;
|
|
7646
|
-
}
|
|
7647
|
-
};
|
|
7648
|
-
InternalState.prototype.getObsQueryOptions = function () {
|
|
7649
|
-
var toMerge = [];
|
|
7650
|
-
var globalDefaults = this.client.defaultOptions.watchQuery;
|
|
7651
|
-
if (globalDefaults)
|
|
7652
|
-
toMerge.push(globalDefaults);
|
|
7653
|
-
if (this.queryHookOptions.defaultOptions) {
|
|
7654
|
-
toMerge.push(this.queryHookOptions.defaultOptions);
|
|
7655
|
-
}
|
|
7656
|
-
toMerge.push(compact(this.observable && this.observable.options, this.watchQueryOptions));
|
|
7657
|
-
return toMerge.reduce(mergeOptions);
|
|
7658
|
-
};
|
|
7659
|
-
InternalState.prototype.createWatchQueryOptions = function (_a) {
|
|
7660
7533
|
var _b;
|
|
7661
|
-
|
|
7662
|
-
|
|
7663
|
-
|
|
7664
|
-
var
|
|
7665
|
-
|
|
7534
|
+
Object.assign(internalState.observable, (_a = {},
|
|
7535
|
+
_a[lastWatchOptions] = watchQueryOptions,
|
|
7536
|
+
_a));
|
|
7537
|
+
var resultData = internalState.resultData;
|
|
7538
|
+
updateInternalState(tslib.__assign(tslib.__assign({}, internalState), {
|
|
7539
|
+
query: watchQueryOptions.query, resultData: Object.assign(resultData, {
|
|
7540
|
+
previousData: ((_b = resultData.current) === null || _b === void 0 ? void 0 : _b.data) || resultData.previousData,
|
|
7541
|
+
current: undefined,
|
|
7542
|
+
}) }));
|
|
7543
|
+
}
|
|
7544
|
+
if (client !== internalState.client || query !== internalState.query) {
|
|
7545
|
+
var newInternalState = createInternalState(internalState);
|
|
7546
|
+
updateInternalState(newInternalState);
|
|
7547
|
+
return [newInternalState, onQueryExecuted];
|
|
7548
|
+
}
|
|
7549
|
+
return [internalState, onQueryExecuted];
|
|
7550
|
+
}
|
|
7551
|
+
function useQueryInternals(query, options) {
|
|
7552
|
+
var client = useApolloClient(options.client);
|
|
7553
|
+
var renderPromises = React__namespace.useContext(getApolloContext()).renderPromises;
|
|
7554
|
+
var isSyncSSR = !!renderPromises;
|
|
7555
|
+
var disableNetworkFetches = client.disableNetworkFetches;
|
|
7556
|
+
var ssrAllowed = options.ssr !== false && !options.skip;
|
|
7557
|
+
var partialRefetch = options.partialRefetch;
|
|
7558
|
+
var makeWatchQueryOptions = createMakeWatchQueryOptions(client, query, options, isSyncSSR);
|
|
7559
|
+
var _a = useInternalState(client, query, options, renderPromises, makeWatchQueryOptions), _b = _a[0], observable = _b.observable, resultData = _b.resultData, onQueryExecuted = _a[1];
|
|
7560
|
+
var watchQueryOptions = makeWatchQueryOptions(observable);
|
|
7561
|
+
useResubscribeIfNecessary(resultData,
|
|
7562
|
+
observable,
|
|
7563
|
+
client, options, watchQueryOptions);
|
|
7564
|
+
var obsQueryFields = React__namespace.useMemo(function () { return bindObservableMethods(observable); }, [observable]);
|
|
7565
|
+
useHandleSkip(resultData,
|
|
7566
|
+
observable, client, options, watchQueryOptions, disableNetworkFetches, isSyncSSR);
|
|
7567
|
+
useRegisterSSRObservable(observable, renderPromises, ssrAllowed);
|
|
7568
|
+
var result = useObservableSubscriptionResult(resultData, observable, client, disableNetworkFetches, partialRefetch, isSyncSSR, {
|
|
7569
|
+
onCompleted: options.onCompleted || noop,
|
|
7570
|
+
onError: options.onError || noop,
|
|
7571
|
+
});
|
|
7572
|
+
return {
|
|
7573
|
+
result: result,
|
|
7574
|
+
obsQueryFields: obsQueryFields,
|
|
7575
|
+
observable: observable,
|
|
7576
|
+
resultData: resultData,
|
|
7577
|
+
client: client,
|
|
7578
|
+
onQueryExecuted: onQueryExecuted,
|
|
7579
|
+
};
|
|
7580
|
+
}
|
|
7581
|
+
function useObservableSubscriptionResult(resultData, observable, client, disableNetworkFetches, partialRefetch, skipSubscribing, callbacks) {
|
|
7582
|
+
var callbackRef = React__namespace.useRef(callbacks);
|
|
7583
|
+
React__namespace.useEffect(function () {
|
|
7584
|
+
callbackRef.current = callbacks;
|
|
7585
|
+
});
|
|
7586
|
+
return useSyncExternalStore(React__namespace.useCallback(function (handleStoreChange) {
|
|
7587
|
+
if (skipSubscribing) {
|
|
7588
|
+
return function () { };
|
|
7589
|
+
}
|
|
7590
|
+
var onNext = function () {
|
|
7591
|
+
var previousResult = resultData.current;
|
|
7592
|
+
var result = observable.getCurrentResult();
|
|
7593
|
+
if (previousResult &&
|
|
7594
|
+
previousResult.loading === result.loading &&
|
|
7595
|
+
previousResult.networkStatus === result.networkStatus &&
|
|
7596
|
+
equal.equal(previousResult.data, result.data)) {
|
|
7597
|
+
return;
|
|
7598
|
+
}
|
|
7599
|
+
setResult(result, resultData, observable, client, partialRefetch, handleStoreChange, callbackRef.current);
|
|
7600
|
+
};
|
|
7601
|
+
var onError = function (error) {
|
|
7602
|
+
subscription.current.unsubscribe();
|
|
7603
|
+
subscription.current = observable.resubscribeAfterError(onNext, onError);
|
|
7604
|
+
if (!hasOwnProperty.call(error, "graphQLErrors")) {
|
|
7605
|
+
throw error;
|
|
7606
|
+
}
|
|
7607
|
+
var previousResult = resultData.current;
|
|
7608
|
+
if (!previousResult ||
|
|
7609
|
+
(previousResult && previousResult.loading) ||
|
|
7610
|
+
!equal.equal(error, previousResult.error)) {
|
|
7611
|
+
setResult({
|
|
7612
|
+
data: (previousResult && previousResult.data),
|
|
7613
|
+
error: error,
|
|
7614
|
+
loading: false,
|
|
7615
|
+
networkStatus: exports.NetworkStatus.error,
|
|
7616
|
+
}, resultData, observable, client, partialRefetch, handleStoreChange, callbackRef.current);
|
|
7617
|
+
}
|
|
7618
|
+
};
|
|
7619
|
+
var subscription = { current: observable.subscribe(onNext, onError) };
|
|
7620
|
+
return function () {
|
|
7621
|
+
setTimeout(function () { return subscription.current.unsubscribe(); });
|
|
7622
|
+
};
|
|
7623
|
+
}, [
|
|
7624
|
+
disableNetworkFetches,
|
|
7625
|
+
skipSubscribing,
|
|
7626
|
+
observable,
|
|
7627
|
+
resultData,
|
|
7628
|
+
partialRefetch,
|
|
7629
|
+
client,
|
|
7630
|
+
]), function () {
|
|
7631
|
+
return getCurrentResult(resultData, observable, callbackRef.current, partialRefetch, client);
|
|
7632
|
+
}, function () {
|
|
7633
|
+
return getCurrentResult(resultData, observable, callbackRef.current, partialRefetch, client);
|
|
7634
|
+
});
|
|
7635
|
+
}
|
|
7636
|
+
function useRegisterSSRObservable(observable, renderPromises, ssrAllowed) {
|
|
7637
|
+
if (renderPromises && ssrAllowed) {
|
|
7638
|
+
renderPromises.registerSSRObservable(observable);
|
|
7639
|
+
if (observable.getCurrentResult().loading) {
|
|
7640
|
+
renderPromises.addObservableQueryPromise(observable);
|
|
7641
|
+
}
|
|
7642
|
+
}
|
|
7643
|
+
}
|
|
7644
|
+
function useHandleSkip(
|
|
7645
|
+
resultData, observable, client, options, watchQueryOptions, disableNetworkFetches, isSyncSSR) {
|
|
7646
|
+
if ((isSyncSSR || disableNetworkFetches) &&
|
|
7647
|
+
options.ssr === false &&
|
|
7648
|
+
!options.skip) {
|
|
7649
|
+
resultData.current = toQueryResult(ssrDisabledResult, resultData.previousData, observable, client);
|
|
7650
|
+
}
|
|
7651
|
+
else if (options.skip || watchQueryOptions.fetchPolicy === "standby") {
|
|
7652
|
+
resultData.current = toQueryResult(skipStandbyResult, resultData.previousData, observable, client);
|
|
7653
|
+
}
|
|
7654
|
+
else if (
|
|
7655
|
+
resultData.current &&
|
|
7656
|
+
(resultData.current[originalResult] === ssrDisabledResult ||
|
|
7657
|
+
resultData.current[originalResult] === skipStandbyResult)) {
|
|
7658
|
+
resultData.current = void 0;
|
|
7659
|
+
}
|
|
7660
|
+
}
|
|
7661
|
+
function useResubscribeIfNecessary(
|
|
7662
|
+
resultData,
|
|
7663
|
+
observable, client, options, watchQueryOptions) {
|
|
7664
|
+
var _a;
|
|
7665
|
+
if (observable[lastWatchOptions] &&
|
|
7666
|
+
!equal.equal(observable[lastWatchOptions], watchQueryOptions)) {
|
|
7667
|
+
observable.reobserve(getObsQueryOptions(observable, client, options, watchQueryOptions));
|
|
7668
|
+
resultData.previousData =
|
|
7669
|
+
((_a = resultData.current) === null || _a === void 0 ? void 0 : _a.data) || resultData.previousData;
|
|
7670
|
+
resultData.current = void 0;
|
|
7671
|
+
}
|
|
7672
|
+
observable[lastWatchOptions] = watchQueryOptions;
|
|
7673
|
+
}
|
|
7674
|
+
function createMakeWatchQueryOptions(client, query, _a, isSyncSSR) {
|
|
7675
|
+
if (_a === void 0) { _a = {}; }
|
|
7676
|
+
var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; var defaultOptions = _a.defaultOptions,
|
|
7677
|
+
otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "defaultOptions"]);
|
|
7678
|
+
return function (observable) {
|
|
7679
|
+
var watchQueryOptions = Object.assign(otherOptions, { query: query });
|
|
7680
|
+
if (isSyncSSR &&
|
|
7666
7681
|
(watchQueryOptions.fetchPolicy === "network-only" ||
|
|
7667
7682
|
watchQueryOptions.fetchPolicy === "cache-and-network")) {
|
|
7668
7683
|
watchQueryOptions.fetchPolicy = "cache-first";
|
|
@@ -7671,117 +7686,119 @@ var InternalState = (function () {
|
|
|
7671
7686
|
watchQueryOptions.variables = {};
|
|
7672
7687
|
}
|
|
7673
7688
|
if (skip) {
|
|
7674
|
-
|
|
7675
|
-
|
|
7676
|
-
|
|
7677
|
-
|
|
7678
|
-
|
|
7689
|
+
watchQueryOptions.initialFetchPolicy =
|
|
7690
|
+
watchQueryOptions.initialFetchPolicy ||
|
|
7691
|
+
watchQueryOptions.fetchPolicy ||
|
|
7692
|
+
getDefaultFetchPolicy(defaultOptions, client.defaultOptions);
|
|
7693
|
+
watchQueryOptions.fetchPolicy = "standby";
|
|
7679
7694
|
}
|
|
7680
7695
|
else if (!watchQueryOptions.fetchPolicy) {
|
|
7681
7696
|
watchQueryOptions.fetchPolicy =
|
|
7682
|
-
(
|
|
7683
|
-
|
|
7697
|
+
(observable === null || observable === void 0 ? void 0 : observable.options.initialFetchPolicy) ||
|
|
7698
|
+
getDefaultFetchPolicy(defaultOptions, client.defaultOptions);
|
|
7684
7699
|
}
|
|
7685
7700
|
return watchQueryOptions;
|
|
7686
7701
|
};
|
|
7687
|
-
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
|
|
7695
|
-
|
|
7696
|
-
|
|
7697
|
-
|
|
7698
|
-
|
|
7699
|
-
|
|
7700
|
-
|
|
7701
|
-
|
|
7702
|
-
|
|
7703
|
-
|
|
7704
|
-
|
|
7705
|
-
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
|
|
7710
|
-
var
|
|
7711
|
-
|
|
7712
|
-
|
|
7713
|
-
if (
|
|
7714
|
-
|
|
7715
|
-
}
|
|
7716
|
-
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7727
|
-
|
|
7728
|
-
|
|
7729
|
-
|
|
7730
|
-
|
|
7731
|
-
|
|
7732
|
-
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
|
|
7740
|
-
|
|
7741
|
-
|
|
7742
|
-
|
|
7743
|
-
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
};
|
|
7748
|
-
|
|
7749
|
-
|
|
7750
|
-
|
|
7751
|
-
|
|
7752
|
-
|
|
7753
|
-
|
|
7754
|
-
|
|
7755
|
-
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
7779
|
-
|
|
7780
|
-
|
|
7781
|
-
|
|
7702
|
+
}
|
|
7703
|
+
function getObsQueryOptions(observable, client, queryHookOptions, watchQueryOptions) {
|
|
7704
|
+
var toMerge = [];
|
|
7705
|
+
var globalDefaults = client.defaultOptions.watchQuery;
|
|
7706
|
+
if (globalDefaults)
|
|
7707
|
+
toMerge.push(globalDefaults);
|
|
7708
|
+
if (queryHookOptions.defaultOptions) {
|
|
7709
|
+
toMerge.push(queryHookOptions.defaultOptions);
|
|
7710
|
+
}
|
|
7711
|
+
toMerge.push(compact(observable && observable.options, watchQueryOptions));
|
|
7712
|
+
return toMerge.reduce(mergeOptions);
|
|
7713
|
+
}
|
|
7714
|
+
function setResult(nextResult, resultData, observable, client, partialRefetch, forceUpdate, callbacks) {
|
|
7715
|
+
var previousResult = resultData.current;
|
|
7716
|
+
if (previousResult && previousResult.data) {
|
|
7717
|
+
resultData.previousData = previousResult.data;
|
|
7718
|
+
}
|
|
7719
|
+
resultData.current = toQueryResult(unsafeHandlePartialRefetch(nextResult, observable, partialRefetch), resultData.previousData, observable, client);
|
|
7720
|
+
forceUpdate();
|
|
7721
|
+
handleErrorOrCompleted(nextResult, previousResult === null || previousResult === void 0 ? void 0 : previousResult[originalResult], callbacks);
|
|
7722
|
+
}
|
|
7723
|
+
function handleErrorOrCompleted(result, previousResult, callbacks) {
|
|
7724
|
+
if (!result.loading) {
|
|
7725
|
+
var error_1 = toApolloError$1(result);
|
|
7726
|
+
Promise.resolve()
|
|
7727
|
+
.then(function () {
|
|
7728
|
+
if (error_1) {
|
|
7729
|
+
callbacks.onError(error_1);
|
|
7730
|
+
}
|
|
7731
|
+
else if (result.data &&
|
|
7732
|
+
(previousResult === null || previousResult === void 0 ? void 0 : previousResult.networkStatus) !== result.networkStatus &&
|
|
7733
|
+
result.networkStatus === exports.NetworkStatus.ready) {
|
|
7734
|
+
callbacks.onCompleted(result.data);
|
|
7735
|
+
}
|
|
7736
|
+
})
|
|
7737
|
+
.catch(function (error) {
|
|
7738
|
+
globalThis.__DEV__ !== false && invariant.warn(error);
|
|
7739
|
+
});
|
|
7740
|
+
}
|
|
7741
|
+
}
|
|
7742
|
+
function getCurrentResult(resultData, observable, callbacks, partialRefetch, client) {
|
|
7743
|
+
if (!resultData.current) {
|
|
7744
|
+
setResult(observable.getCurrentResult(), resultData, observable, client, partialRefetch, function () { }, callbacks);
|
|
7745
|
+
}
|
|
7746
|
+
return resultData.current;
|
|
7747
|
+
}
|
|
7748
|
+
function getDefaultFetchPolicy(queryHookDefaultOptions, clientDefaultOptions) {
|
|
7749
|
+
var _a;
|
|
7750
|
+
return ((queryHookDefaultOptions === null || queryHookDefaultOptions === void 0 ? void 0 : queryHookDefaultOptions.fetchPolicy) ||
|
|
7751
|
+
((_a = clientDefaultOptions === null || clientDefaultOptions === void 0 ? void 0 : clientDefaultOptions.watchQuery) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
|
|
7752
|
+
"cache-first");
|
|
7753
|
+
}
|
|
7754
|
+
function toApolloError$1(result) {
|
|
7755
|
+
return isNonEmptyArray(result.errors) ?
|
|
7756
|
+
new ApolloError({ graphQLErrors: result.errors })
|
|
7757
|
+
: result.error;
|
|
7758
|
+
}
|
|
7759
|
+
function toQueryResult(result, previousData, observable, client) {
|
|
7760
|
+
var data = result.data; result.partial; var resultWithoutPartial = tslib.__rest(result, ["data", "partial"]);
|
|
7761
|
+
var queryResult = tslib.__assign(tslib.__assign({ data: data }, resultWithoutPartial), { client: client, observable: observable, variables: observable.variables, called: result !== ssrDisabledResult && result !== skipStandbyResult, previousData: previousData });
|
|
7762
|
+
Object.defineProperty(queryResult, originalResult, { value: result });
|
|
7763
|
+
if (!queryResult.error && isNonEmptyArray(result.errors)) {
|
|
7764
|
+
queryResult.error = new ApolloError({ graphQLErrors: result.errors });
|
|
7765
|
+
}
|
|
7766
|
+
return queryResult;
|
|
7767
|
+
}
|
|
7768
|
+
function unsafeHandlePartialRefetch(result, observable, partialRefetch) {
|
|
7769
|
+
if (result.partial &&
|
|
7770
|
+
partialRefetch &&
|
|
7771
|
+
!result.loading &&
|
|
7772
|
+
(!result.data || Object.keys(result.data).length === 0) &&
|
|
7773
|
+
observable.options.fetchPolicy !== "cache-only") {
|
|
7774
|
+
observable.refetch();
|
|
7775
|
+
return tslib.__assign(tslib.__assign({}, result), { loading: true, networkStatus: exports.NetworkStatus.refetch });
|
|
7776
|
+
}
|
|
7777
|
+
return result;
|
|
7778
|
+
}
|
|
7779
|
+
var ssrDisabledResult = maybeDeepFreeze({
|
|
7780
|
+
loading: true,
|
|
7781
|
+
data: void 0,
|
|
7782
|
+
error: void 0,
|
|
7783
|
+
networkStatus: exports.NetworkStatus.loading,
|
|
7784
|
+
});
|
|
7785
|
+
var skipStandbyResult = maybeDeepFreeze({
|
|
7786
|
+
loading: false,
|
|
7787
|
+
data: void 0,
|
|
7788
|
+
error: void 0,
|
|
7789
|
+
networkStatus: exports.NetworkStatus.ready,
|
|
7790
|
+
});
|
|
7791
|
+
function bindObservableMethods(observable) {
|
|
7792
|
+
return {
|
|
7793
|
+
refetch: observable.refetch.bind(observable),
|
|
7794
|
+
reobserve: observable.reobserve.bind(observable),
|
|
7795
|
+
fetchMore: observable.fetchMore.bind(observable),
|
|
7796
|
+
updateQuery: observable.updateQuery.bind(observable),
|
|
7797
|
+
startPolling: observable.startPolling.bind(observable),
|
|
7798
|
+
stopPolling: observable.stopPolling.bind(observable),
|
|
7799
|
+
subscribeToMore: observable.subscribeToMore.bind(observable),
|
|
7782
7800
|
};
|
|
7783
|
-
|
|
7784
|
-
}());
|
|
7801
|
+
}
|
|
7785
7802
|
|
|
7786
7803
|
var EAGER_METHODS = [
|
|
7787
7804
|
"refetch",
|
|
@@ -7789,6 +7806,7 @@ var EAGER_METHODS = [
|
|
|
7789
7806
|
"fetchMore",
|
|
7790
7807
|
"updateQuery",
|
|
7791
7808
|
"startPolling",
|
|
7809
|
+
"stopPolling",
|
|
7792
7810
|
"subscribeToMore",
|
|
7793
7811
|
];
|
|
7794
7812
|
function useLazyQuery(query, options) {
|
|
@@ -7800,11 +7818,11 @@ function useLazyQuery(query, options) {
|
|
|
7800
7818
|
var document = (_a = merged === null || merged === void 0 ? void 0 : merged.query) !== null && _a !== void 0 ? _a : query;
|
|
7801
7819
|
optionsRef.current = options;
|
|
7802
7820
|
queryRef.current = document;
|
|
7803
|
-
var
|
|
7804
|
-
var useQueryResult =
|
|
7805
|
-
var initialFetchPolicy =
|
|
7806
|
-
|
|
7807
|
-
var forceUpdateState =
|
|
7821
|
+
var queryHookOptions = tslib.__assign(tslib.__assign({}, merged), { skip: !execOptionsRef.current });
|
|
7822
|
+
var _b = useQueryInternals(document, queryHookOptions), obsQueryFields = _b.obsQueryFields, useQueryResult = _b.result, client = _b.client, resultData = _b.resultData, observable = _b.observable, onQueryExecuted = _b.onQueryExecuted;
|
|
7823
|
+
var initialFetchPolicy = observable.options.initialFetchPolicy ||
|
|
7824
|
+
getDefaultFetchPolicy(queryHookOptions.defaultOptions, client.defaultOptions);
|
|
7825
|
+
var forceUpdateState = React__namespace.useReducer(function (tick) { return tick + 1; }, 0)[1];
|
|
7808
7826
|
var eagerMethods = React__namespace.useMemo(function () {
|
|
7809
7827
|
var eagerMethods = {};
|
|
7810
7828
|
var _loop_1 = function (key) {
|
|
@@ -7831,13 +7849,50 @@ function useLazyQuery(query, options) {
|
|
|
7831
7849
|
fetchPolicy: initialFetchPolicy,
|
|
7832
7850
|
};
|
|
7833
7851
|
var options = mergeOptions(optionsRef.current, tslib.__assign({ query: queryRef.current }, execOptionsRef.current));
|
|
7834
|
-
var promise =
|
|
7835
|
-
.executeQuery(tslib.__assign(tslib.__assign({}, options), { skip: false }))
|
|
7836
|
-
.then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
7852
|
+
var promise = executeQuery(resultData, observable, client, document, tslib.__assign(tslib.__assign({}, options), { skip: false }), onQueryExecuted).then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
7837
7853
|
promise.catch(function () { });
|
|
7838
7854
|
return promise;
|
|
7839
|
-
}, [
|
|
7840
|
-
|
|
7855
|
+
}, [
|
|
7856
|
+
client,
|
|
7857
|
+
document,
|
|
7858
|
+
eagerMethods,
|
|
7859
|
+
initialFetchPolicy,
|
|
7860
|
+
observable,
|
|
7861
|
+
resultData,
|
|
7862
|
+
onQueryExecuted,
|
|
7863
|
+
]);
|
|
7864
|
+
var executeRef = React__namespace.useRef(execute);
|
|
7865
|
+
useIsomorphicLayoutEffect(function () {
|
|
7866
|
+
executeRef.current = execute;
|
|
7867
|
+
});
|
|
7868
|
+
var stableExecute = React__namespace.useCallback(function () {
|
|
7869
|
+
var args = [];
|
|
7870
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
7871
|
+
args[_i] = arguments[_i];
|
|
7872
|
+
}
|
|
7873
|
+
return executeRef.current.apply(executeRef, args);
|
|
7874
|
+
}, []);
|
|
7875
|
+
return [stableExecute, result];
|
|
7876
|
+
}
|
|
7877
|
+
function executeQuery(resultData, observable, client, currentQuery, options, onQueryExecuted) {
|
|
7878
|
+
var query = options.query || currentQuery;
|
|
7879
|
+
var watchQueryOptions = createMakeWatchQueryOptions(client, query, options, false)(observable);
|
|
7880
|
+
var concast = observable.reobserveAsConcast(getObsQueryOptions(observable, client, options, watchQueryOptions));
|
|
7881
|
+
onQueryExecuted(watchQueryOptions);
|
|
7882
|
+
return new Promise(function (resolve) {
|
|
7883
|
+
var result;
|
|
7884
|
+
concast.subscribe({
|
|
7885
|
+
next: function (value) {
|
|
7886
|
+
result = value;
|
|
7887
|
+
},
|
|
7888
|
+
error: function () {
|
|
7889
|
+
resolve(toQueryResult(observable.getCurrentResult(), resultData.previousData, observable, client));
|
|
7890
|
+
},
|
|
7891
|
+
complete: function () {
|
|
7892
|
+
resolve(toQueryResult(result, resultData.previousData, observable, client));
|
|
7893
|
+
},
|
|
7894
|
+
});
|
|
7895
|
+
});
|
|
7841
7896
|
}
|
|
7842
7897
|
|
|
7843
7898
|
function useMutation(mutation, options) {
|
|
@@ -7952,89 +8007,67 @@ function useMutation(mutation, options) {
|
|
|
7952
8007
|
}
|
|
7953
8008
|
|
|
7954
8009
|
function useSubscription(subscription, options) {
|
|
8010
|
+
if (options === void 0) { options = Object.create(null); }
|
|
7955
8011
|
var hasIssuedDeprecationWarningRef = React__namespace.useRef(false);
|
|
7956
|
-
var client = useApolloClient(options
|
|
8012
|
+
var client = useApolloClient(options.client);
|
|
7957
8013
|
verifyDocumentType(subscription, exports.DocumentType.Subscription);
|
|
7958
|
-
var _a = React__namespace.useState({
|
|
7959
|
-
loading: !(options === null || options === void 0 ? void 0 : options.skip),
|
|
7960
|
-
error: void 0,
|
|
7961
|
-
data: void 0,
|
|
7962
|
-
variables: options === null || options === void 0 ? void 0 : options.variables,
|
|
7963
|
-
}), result = _a[0], setResult = _a[1];
|
|
7964
8014
|
if (!hasIssuedDeprecationWarningRef.current) {
|
|
7965
8015
|
hasIssuedDeprecationWarningRef.current = true;
|
|
7966
|
-
if (options
|
|
8016
|
+
if (options.onSubscriptionData) {
|
|
7967
8017
|
globalThis.__DEV__ !== false && invariant.warn(options.onData ? 52 : 53);
|
|
7968
8018
|
}
|
|
7969
|
-
if (options
|
|
8019
|
+
if (options.onSubscriptionComplete) {
|
|
7970
8020
|
globalThis.__DEV__ !== false && invariant.warn(options.onComplete ? 54 : 55);
|
|
7971
8021
|
}
|
|
7972
8022
|
}
|
|
7973
|
-
var
|
|
7974
|
-
|
|
7975
|
-
|
|
7976
|
-
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
|
|
7984
|
-
|
|
7985
|
-
|
|
7986
|
-
|
|
7987
|
-
|
|
7988
|
-
|
|
7989
|
-
|
|
7990
|
-
|
|
7991
|
-
|
|
7992
|
-
|
|
7993
|
-
|
|
7994
|
-
|
|
7995
|
-
|
|
7996
|
-
|
|
7997
|
-
|
|
7998
|
-
|
|
7999
|
-
|
|
8000
|
-
setResult({
|
|
8001
|
-
loading: false,
|
|
8002
|
-
data: void 0,
|
|
8003
|
-
error: void 0,
|
|
8004
|
-
variables: options === null || options === void 0 ? void 0 : options.variables,
|
|
8005
|
-
});
|
|
8006
|
-
setObservable(null);
|
|
8007
|
-
canResetObservableRef.current = false;
|
|
8008
|
-
}
|
|
8009
|
-
}
|
|
8010
|
-
else if ((shouldResubscribe !== false &&
|
|
8011
|
-
(client !== ref.current.client ||
|
|
8012
|
-
subscription !== ref.current.subscription ||
|
|
8013
|
-
(options === null || options === void 0 ? void 0 : options.fetchPolicy) !== ((_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.fetchPolicy) ||
|
|
8014
|
-
!(options === null || options === void 0 ? void 0 : options.skip) !== !((_c = ref.current.options) === null || _c === void 0 ? void 0 : _c.skip) ||
|
|
8015
|
-
!equal.equal(options === null || options === void 0 ? void 0 : options.variables, (_d = ref.current.options) === null || _d === void 0 ? void 0 : _d.variables))) ||
|
|
8016
|
-
canResetObservableRef.current) {
|
|
8017
|
-
setResult({
|
|
8018
|
-
loading: true,
|
|
8019
|
-
data: void 0,
|
|
8020
|
-
error: void 0,
|
|
8021
|
-
variables: options === null || options === void 0 ? void 0 : options.variables,
|
|
8022
|
-
});
|
|
8023
|
-
setObservable(client.subscribe({
|
|
8024
|
-
query: subscription,
|
|
8025
|
-
variables: options === null || options === void 0 ? void 0 : options.variables,
|
|
8026
|
-
fetchPolicy: options === null || options === void 0 ? void 0 : options.fetchPolicy,
|
|
8027
|
-
context: options === null || options === void 0 ? void 0 : options.context,
|
|
8028
|
-
}));
|
|
8029
|
-
canResetObservableRef.current = false;
|
|
8030
|
-
}
|
|
8031
|
-
Object.assign(ref.current, { client: client, subscription: subscription, options: options });
|
|
8032
|
-
}, [client, subscription, options, canResetObservableRef.current]);
|
|
8023
|
+
var skip = options.skip, fetchPolicy = options.fetchPolicy, errorPolicy = options.errorPolicy, shouldResubscribe = options.shouldResubscribe, context = options.context, extensions = options.extensions, ignoreResults = options.ignoreResults;
|
|
8024
|
+
var variables = useDeepMemo(function () { return options.variables; }, [options.variables]);
|
|
8025
|
+
var recreate = function () {
|
|
8026
|
+
return createSubscription(client, subscription, variables, fetchPolicy, errorPolicy, context, extensions);
|
|
8027
|
+
};
|
|
8028
|
+
var _a = React__namespace.useState(options.skip ? null : recreate), observable = _a[0], setObservable = _a[1];
|
|
8029
|
+
var recreateRef = React__namespace.useRef(recreate);
|
|
8030
|
+
useIsomorphicLayoutEffect(function () {
|
|
8031
|
+
recreateRef.current = recreate;
|
|
8032
|
+
});
|
|
8033
|
+
if (skip) {
|
|
8034
|
+
if (observable) {
|
|
8035
|
+
setObservable((observable = null));
|
|
8036
|
+
}
|
|
8037
|
+
}
|
|
8038
|
+
else if (!observable ||
|
|
8039
|
+
((client !== observable.__.client ||
|
|
8040
|
+
subscription !== observable.__.query ||
|
|
8041
|
+
fetchPolicy !== observable.__.fetchPolicy ||
|
|
8042
|
+
errorPolicy !== observable.__.errorPolicy ||
|
|
8043
|
+
!equal.equal(variables, observable.__.variables)) &&
|
|
8044
|
+
(typeof shouldResubscribe === "function" ?
|
|
8045
|
+
!!shouldResubscribe(options)
|
|
8046
|
+
: shouldResubscribe) !== false)) {
|
|
8047
|
+
setObservable((observable = recreate()));
|
|
8048
|
+
}
|
|
8049
|
+
var optionsRef = React__namespace.useRef(options);
|
|
8033
8050
|
React__namespace.useEffect(function () {
|
|
8051
|
+
optionsRef.current = options;
|
|
8052
|
+
});
|
|
8053
|
+
var fallbackLoading = !skip && !ignoreResults;
|
|
8054
|
+
var fallbackResult = React__namespace.useMemo(function () { return ({
|
|
8055
|
+
loading: fallbackLoading,
|
|
8056
|
+
error: void 0,
|
|
8057
|
+
data: void 0,
|
|
8058
|
+
variables: variables,
|
|
8059
|
+
}); }, [fallbackLoading, variables]);
|
|
8060
|
+
var ignoreResultsRef = React__namespace.useRef(ignoreResults);
|
|
8061
|
+
useIsomorphicLayoutEffect(function () {
|
|
8062
|
+
ignoreResultsRef.current = ignoreResults;
|
|
8063
|
+
});
|
|
8064
|
+
var ret = useSyncExternalStore(React__namespace.useCallback(function (update) {
|
|
8034
8065
|
if (!observable) {
|
|
8035
|
-
return;
|
|
8066
|
+
return function () { };
|
|
8036
8067
|
}
|
|
8037
8068
|
var subscriptionStopped = false;
|
|
8069
|
+
var variables = observable.__.variables;
|
|
8070
|
+
var client = observable.__.client;
|
|
8038
8071
|
var subscription = observable.subscribe({
|
|
8039
8072
|
next: function (fetchResult) {
|
|
8040
8073
|
var _a, _b;
|
|
@@ -8044,18 +8077,23 @@ function useSubscription(subscription, options) {
|
|
|
8044
8077
|
var result = {
|
|
8045
8078
|
loading: false,
|
|
8046
8079
|
data: fetchResult.data,
|
|
8047
|
-
error:
|
|
8048
|
-
variables:
|
|
8080
|
+
error: toApolloError$1(fetchResult),
|
|
8081
|
+
variables: variables,
|
|
8049
8082
|
};
|
|
8050
|
-
setResult(result);
|
|
8051
|
-
if (
|
|
8052
|
-
|
|
8083
|
+
observable.__.setResult(result);
|
|
8084
|
+
if (!ignoreResultsRef.current)
|
|
8085
|
+
update();
|
|
8086
|
+
if (result.error) {
|
|
8087
|
+
(_b = (_a = optionsRef.current).onError) === null || _b === void 0 ? void 0 : _b.call(_a, result.error);
|
|
8088
|
+
}
|
|
8089
|
+
else if (optionsRef.current.onData) {
|
|
8090
|
+
optionsRef.current.onData({
|
|
8053
8091
|
client: client,
|
|
8054
8092
|
data: result,
|
|
8055
8093
|
});
|
|
8056
8094
|
}
|
|
8057
|
-
else if (
|
|
8058
|
-
|
|
8095
|
+
else if (optionsRef.current.onSubscriptionData) {
|
|
8096
|
+
optionsRef.current.onSubscriptionData({
|
|
8059
8097
|
client: client,
|
|
8060
8098
|
subscriptionData: result,
|
|
8061
8099
|
});
|
|
@@ -8063,24 +8101,27 @@ function useSubscription(subscription, options) {
|
|
|
8063
8101
|
},
|
|
8064
8102
|
error: function (error) {
|
|
8065
8103
|
var _a, _b;
|
|
8104
|
+
error =
|
|
8105
|
+
error instanceof ApolloError ? error : (new ApolloError({ protocolErrors: [error] }));
|
|
8066
8106
|
if (!subscriptionStopped) {
|
|
8067
|
-
setResult({
|
|
8107
|
+
observable.__.setResult({
|
|
8068
8108
|
loading: false,
|
|
8069
8109
|
data: void 0,
|
|
8070
8110
|
error: error,
|
|
8071
|
-
variables:
|
|
8111
|
+
variables: variables,
|
|
8072
8112
|
});
|
|
8073
|
-
|
|
8113
|
+
if (!ignoreResultsRef.current)
|
|
8114
|
+
update();
|
|
8115
|
+
(_b = (_a = optionsRef.current).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);
|
|
8074
8116
|
}
|
|
8075
8117
|
},
|
|
8076
8118
|
complete: function () {
|
|
8077
|
-
var _a, _b;
|
|
8078
8119
|
if (!subscriptionStopped) {
|
|
8079
|
-
if (
|
|
8080
|
-
|
|
8120
|
+
if (optionsRef.current.onComplete) {
|
|
8121
|
+
optionsRef.current.onComplete();
|
|
8081
8122
|
}
|
|
8082
|
-
else if (
|
|
8083
|
-
|
|
8123
|
+
else if (optionsRef.current.onSubscriptionComplete) {
|
|
8124
|
+
optionsRef.current.onSubscriptionComplete();
|
|
8084
8125
|
}
|
|
8085
8126
|
}
|
|
8086
8127
|
},
|
|
@@ -8091,8 +8132,43 @@ function useSubscription(subscription, options) {
|
|
|
8091
8132
|
subscription.unsubscribe();
|
|
8092
8133
|
});
|
|
8093
8134
|
};
|
|
8094
|
-
}, [observable])
|
|
8095
|
-
|
|
8135
|
+
}, [observable]), function () {
|
|
8136
|
+
return observable && !skip && !ignoreResults ?
|
|
8137
|
+
observable.__.result
|
|
8138
|
+
: fallbackResult;
|
|
8139
|
+
});
|
|
8140
|
+
return React__namespace.useMemo(function () { return (tslib.__assign(tslib.__assign({}, ret), { restart: function () {
|
|
8141
|
+
invariant(!optionsRef.current.skip, 56);
|
|
8142
|
+
setObservable(recreateRef.current());
|
|
8143
|
+
} })); }, [ret]);
|
|
8144
|
+
}
|
|
8145
|
+
function createSubscription(client, query, variables, fetchPolicy, errorPolicy, context, extensions) {
|
|
8146
|
+
var options = {
|
|
8147
|
+
query: query,
|
|
8148
|
+
variables: variables,
|
|
8149
|
+
fetchPolicy: fetchPolicy,
|
|
8150
|
+
errorPolicy: errorPolicy,
|
|
8151
|
+
context: context,
|
|
8152
|
+
extensions: extensions,
|
|
8153
|
+
};
|
|
8154
|
+
var __ = tslib.__assign(tslib.__assign({}, options), { client: client, result: {
|
|
8155
|
+
loading: true,
|
|
8156
|
+
data: void 0,
|
|
8157
|
+
error: void 0,
|
|
8158
|
+
variables: variables,
|
|
8159
|
+
}, setResult: function (result) {
|
|
8160
|
+
__.result = result;
|
|
8161
|
+
} });
|
|
8162
|
+
var observable = null;
|
|
8163
|
+
return Object.assign(new zenObservableTs.Observable(function (observer) {
|
|
8164
|
+
if (!observable) {
|
|
8165
|
+
observable = client.subscribe(options);
|
|
8166
|
+
}
|
|
8167
|
+
var sub = observable.subscribe(observer);
|
|
8168
|
+
return function () { return sub.unsubscribe(); };
|
|
8169
|
+
}), {
|
|
8170
|
+
__: __,
|
|
8171
|
+
});
|
|
8096
8172
|
}
|
|
8097
8173
|
|
|
8098
8174
|
function useReactiveVar(rv) {
|
|
@@ -8164,7 +8240,7 @@ function wrapQueryRef(internalQueryRef) {
|
|
|
8164
8240
|
return ref;
|
|
8165
8241
|
}
|
|
8166
8242
|
function assertWrappedQueryRef(queryRef) {
|
|
8167
|
-
invariant(!queryRef || QUERY_REFERENCE_SYMBOL in queryRef,
|
|
8243
|
+
invariant(!queryRef || QUERY_REFERENCE_SYMBOL in queryRef, 60);
|
|
8168
8244
|
}
|
|
8169
8245
|
function getWrappedPromise(queryRef) {
|
|
8170
8246
|
var internalQueryRef = unwrapQueryRef(queryRef);
|
|
@@ -8508,7 +8584,7 @@ function _useSuspenseQuery(query, options) {
|
|
|
8508
8584
|
setPromise([queryRef.key, queryRef.promise]);
|
|
8509
8585
|
return promise;
|
|
8510
8586
|
}, [queryRef]);
|
|
8511
|
-
var subscribeToMore =
|
|
8587
|
+
var subscribeToMore = queryRef.observable.subscribeToMore;
|
|
8512
8588
|
return React__namespace.useMemo(function () {
|
|
8513
8589
|
return {
|
|
8514
8590
|
client: client,
|
|
@@ -8535,11 +8611,11 @@ function validateFetchPolicy(fetchPolicy) {
|
|
|
8535
8611
|
"no-cache",
|
|
8536
8612
|
"cache-and-network",
|
|
8537
8613
|
];
|
|
8538
|
-
invariant(supportedFetchPolicies.includes(fetchPolicy),
|
|
8614
|
+
invariant(supportedFetchPolicies.includes(fetchPolicy), 57, fetchPolicy);
|
|
8539
8615
|
}
|
|
8540
8616
|
function validatePartialDataReturn(fetchPolicy, returnPartialData) {
|
|
8541
8617
|
if (fetchPolicy === "no-cache" && returnPartialData) {
|
|
8542
|
-
globalThis.__DEV__ !== false && invariant.warn(
|
|
8618
|
+
globalThis.__DEV__ !== false && invariant.warn(58);
|
|
8543
8619
|
}
|
|
8544
8620
|
}
|
|
8545
8621
|
function toApolloError(result) {
|
|
@@ -8616,7 +8692,11 @@ function _useBackgroundQuery(query, options) {
|
|
|
8616
8692
|
React__namespace.useEffect(function () { return queryRef.softRetain(); }, [queryRef]);
|
|
8617
8693
|
return [
|
|
8618
8694
|
didFetchResult.current ? wrappedQueryRef : void 0,
|
|
8619
|
-
{
|
|
8695
|
+
{
|
|
8696
|
+
fetchMore: fetchMore,
|
|
8697
|
+
refetch: refetch,
|
|
8698
|
+
subscribeToMore: queryRef.observable.subscribeToMore,
|
|
8699
|
+
},
|
|
8620
8700
|
];
|
|
8621
8701
|
}
|
|
8622
8702
|
|
|
@@ -8673,10 +8753,14 @@ function useLoadableQuery(query, options) {
|
|
|
8673
8753
|
calledDuringRender,
|
|
8674
8754
|
client,
|
|
8675
8755
|
]);
|
|
8756
|
+
var subscribeToMore = React__namespace.useCallback(function (options) {
|
|
8757
|
+
invariant(internalQueryRef, 51);
|
|
8758
|
+
return internalQueryRef.observable.subscribeToMore(options);
|
|
8759
|
+
}, [internalQueryRef]);
|
|
8676
8760
|
var reset = React__namespace.useCallback(function () {
|
|
8677
8761
|
setQueryRef(null);
|
|
8678
8762
|
}, []);
|
|
8679
|
-
return [loadQuery, queryRef, { fetchMore: fetchMore, refetch: refetch, reset: reset }];
|
|
8763
|
+
return [loadQuery, queryRef, { fetchMore: fetchMore, refetch: refetch, reset: reset, subscribeToMore: subscribeToMore }];
|
|
8680
8764
|
}
|
|
8681
8765
|
|
|
8682
8766
|
function useQueryRefHandlers(queryRef) {
|
|
@@ -8707,7 +8791,11 @@ function _useQueryRefHandlers(queryRef) {
|
|
|
8707
8791
|
setWrappedQueryRef(wrapQueryRef(internalQueryRef));
|
|
8708
8792
|
return promise;
|
|
8709
8793
|
}, [internalQueryRef]);
|
|
8710
|
-
return {
|
|
8794
|
+
return {
|
|
8795
|
+
refetch: refetch,
|
|
8796
|
+
fetchMore: fetchMore,
|
|
8797
|
+
subscribeToMore: internalQueryRef.observable.subscribeToMore,
|
|
8798
|
+
};
|
|
8711
8799
|
}
|
|
8712
8800
|
|
|
8713
8801
|
function useReadQuery(queryRef) {
|
|
@@ -8742,6 +8830,9 @@ function _useReadQuery(queryRef) {
|
|
|
8742
8830
|
}
|
|
8743
8831
|
|
|
8744
8832
|
function createQueryPreloader(client) {
|
|
8833
|
+
return wrapHook("createQueryPreloader", _createQueryPreloader, client)(client);
|
|
8834
|
+
}
|
|
8835
|
+
var _createQueryPreloader = function (client) {
|
|
8745
8836
|
return function preloadQuery(query, options) {
|
|
8746
8837
|
var _a, _b;
|
|
8747
8838
|
if (options === void 0) { options = Object.create(null); }
|
|
@@ -8750,7 +8841,7 @@ function createQueryPreloader(client) {
|
|
|
8750
8841
|
});
|
|
8751
8842
|
return wrapQueryRef(queryRef);
|
|
8752
8843
|
};
|
|
8753
|
-
}
|
|
8844
|
+
};
|
|
8754
8845
|
|
|
8755
8846
|
exports.setLogVerbosity = tsInvariant.setVerbosity;
|
|
8756
8847
|
exports.Observable = zenObservableTs.Observable;
|