@apollo/client 3.6.2 → 3.6.5
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/apollo-client.cjs +164 -105
- package/apollo-client.cjs.map +1 -1
- package/apollo-client.min.cjs +1 -1
- package/cache/cache.cjs +9 -10
- package/cache/cache.cjs.map +1 -1
- package/cache/cache.cjs.native.js +2288 -0
- package/cache/inmemory/readFromStore.d.ts.map +1 -1
- package/cache/inmemory/readFromStore.js +10 -11
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/core/ApolloClient.d.ts.map +1 -1
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts.map +1 -1
- package/core/ObservableQuery.js +5 -3
- package/core/ObservableQuery.js.map +1 -1
- package/core/core.cjs +5 -3
- package/core/core.cjs.map +1 -1
- package/core/core.cjs.native.js +2141 -0
- package/errors/errors.cjs.native.js +48 -0
- package/invariantErrorCodes.js +1 -1
- package/link/batch/batch.cjs.native.js +161 -0
- package/link/batch-http/batch-http.cjs.native.js +127 -0
- package/link/context/context.cjs.native.js +38 -0
- package/link/core/core.cjs.native.js +121 -0
- package/link/error/error.cjs.native.js +90 -0
- package/link/http/http.cjs.native.js +320 -0
- package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -1
- package/link/http/selectHttpOptionsAndBody.js.map +1 -1
- package/link/persisted-queries/persisted-queries.cjs.native.js +174 -0
- package/link/retry/retry.cjs.native.js +170 -0
- package/link/schema/schema.cjs.native.js +56 -0
- package/link/subscriptions/subscriptions.cjs.native.js +45 -0
- package/link/utils/utils.cjs.native.js +115 -0
- package/link/ws/ws.cjs.native.js +28 -0
- package/main.cjs.native.js +16 -0
- package/package.json +16 -17
- package/react/components/components.cjs.native.js +79 -0
- package/react/context/context.cjs.native.js +67 -0
- package/react/hoc/hoc.cjs.native.js +325 -0
- package/react/hooks/hooks.cjs +168 -99
- package/react/hooks/hooks.cjs.map +1 -1
- package/react/hooks/hooks.cjs.native.js +612 -0
- package/react/hooks/useLazyQuery.d.ts.map +1 -1
- package/react/hooks/useLazyQuery.js +12 -23
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useMutation.js +7 -7
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +6 -2
- package/react/hooks/useQuery.d.ts.map +1 -1
- package/react/hooks/useQuery.js +52 -40
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useSubscription.d.ts.map +1 -1
- package/react/hooks/useSubscription.js +17 -7
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSyncExternalStore.d.ts +4 -0
- package/react/hooks/useSyncExternalStore.d.ts.map +1 -0
- package/react/hooks/useSyncExternalStore.js +48 -0
- package/react/hooks/useSyncExternalStore.js.map +1 -0
- package/react/parser/parser.cjs.native.js +103 -0
- package/react/react.cjs.native.js +22 -0
- package/react/ssr/ssr.cjs.native.js +150 -0
- package/testing/core/core.cjs.native.js +288 -0
- package/testing/testing.cjs.native.js +58 -0
- package/utilities/common/canUse.d.ts +2 -0
- package/utilities/common/canUse.d.ts.map +1 -1
- package/utilities/common/canUse.js +6 -2
- package/utilities/common/canUse.js.map +1 -1
- package/utilities/common/mergeDeep.d.ts.map +1 -1
- package/utilities/common/mergeDeep.js +8 -11
- package/utilities/common/mergeDeep.js.map +1 -1
- package/utilities/common/mergeOptions.d.ts +1 -1
- package/utilities/common/mergeOptions.d.ts.map +1 -1
- package/utilities/common/mergeOptions.js +1 -1
- package/utilities/common/mergeOptions.js.map +1 -1
- package/utilities/globals/globals.cjs.native.js +56 -0
- package/utilities/observables/Concast.d.ts.map +1 -1
- package/utilities/observables/Concast.js +5 -2
- package/utilities/observables/Concast.js.map +1 -1
- package/utilities/policies/pagination.d.ts.map +1 -1
- package/utilities/policies/pagination.js +9 -7
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/utilities.cjs +30 -23
- package/utilities/utilities.cjs.map +1 -1
- package/utilities/utilities.cjs.native.js +1281 -0
- package/version.js +1 -1
package/apollo-client.cjs
CHANGED
|
@@ -13,7 +13,6 @@ var context = require('@wry/context');
|
|
|
13
13
|
var trie = require('@wry/trie');
|
|
14
14
|
var graphqlTag = require('graphql-tag');
|
|
15
15
|
var React = require('react');
|
|
16
|
-
var index_js = require('use-sync-external-store/shim/index.js');
|
|
17
16
|
|
|
18
17
|
function _interopNamespace(e) {
|
|
19
18
|
if (e && e.__esModule) return e;
|
|
@@ -762,18 +761,15 @@ var DeepMerger = (function () {
|
|
|
762
761
|
};
|
|
763
762
|
DeepMerger.prototype.shallowCopyForMerge = function (value) {
|
|
764
763
|
if (isNonNullObject(value)) {
|
|
765
|
-
if (this.pastCopies.has(value)) {
|
|
766
|
-
if (
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
else {
|
|
774
|
-
value = tslib.__assign({ __proto__: Object.getPrototypeOf(value) }, value);
|
|
764
|
+
if (!this.pastCopies.has(value)) {
|
|
765
|
+
if (Array.isArray(value)) {
|
|
766
|
+
value = value.slice(0);
|
|
767
|
+
}
|
|
768
|
+
else {
|
|
769
|
+
value = tslib.__assign({ __proto__: Object.getPrototypeOf(value) }, value);
|
|
770
|
+
}
|
|
771
|
+
this.pastCopies.add(value);
|
|
775
772
|
}
|
|
776
|
-
this.pastCopies.add(value);
|
|
777
773
|
}
|
|
778
774
|
return value;
|
|
779
775
|
};
|
|
@@ -899,11 +895,14 @@ function asyncMap(observable, mapFn, catchFn) {
|
|
|
899
895
|
});
|
|
900
896
|
}
|
|
901
897
|
|
|
902
|
-
var canUseWeakMap = typeof WeakMap === 'function' &&
|
|
903
|
-
navigator.product
|
|
898
|
+
var canUseWeakMap = typeof WeakMap === 'function' &&
|
|
899
|
+
maybe(function () { return navigator.product; }) !== 'ReactNative';
|
|
904
900
|
var canUseWeakSet = typeof WeakSet === 'function';
|
|
905
901
|
var canUseSymbol = typeof Symbol === 'function' &&
|
|
906
902
|
typeof Symbol.for === 'function';
|
|
903
|
+
var canUseDOM = typeof maybe(function () { return window.document.createElement; }) === "function";
|
|
904
|
+
var usingJSDOM = maybe(function () { return navigator.userAgent.indexOf("jsdom") >= 0; }) || false;
|
|
905
|
+
var canUseLayoutEffect = canUseDOM && !usingJSDOM;
|
|
907
906
|
|
|
908
907
|
function fixObservableSubclass(subclass) {
|
|
909
908
|
function set(key) {
|
|
@@ -951,9 +950,12 @@ var Concast = (function (_super) {
|
|
|
951
950
|
}
|
|
952
951
|
},
|
|
953
952
|
complete: function () {
|
|
954
|
-
|
|
953
|
+
var sub = _this.sub;
|
|
954
|
+
if (sub !== null) {
|
|
955
955
|
var value = _this.sources.shift();
|
|
956
956
|
if (!value) {
|
|
957
|
+
if (sub)
|
|
958
|
+
setTimeout(function () { return sub.unsubscribe(); });
|
|
957
959
|
_this.sub = null;
|
|
958
960
|
if (_this.latest &&
|
|
959
961
|
_this.latest[0] === "next") {
|
|
@@ -1021,7 +1023,7 @@ var Concast = (function (_super) {
|
|
|
1021
1023
|
if (this.observers.delete(observer) &&
|
|
1022
1024
|
--this.addCount < 1 &&
|
|
1023
1025
|
!quietly) {
|
|
1024
|
-
this.handlers.
|
|
1026
|
+
this.handlers.complete();
|
|
1025
1027
|
}
|
|
1026
1028
|
};
|
|
1027
1029
|
Concast.prototype.cleanup = function (callback) {
|
|
@@ -1090,7 +1092,7 @@ function stringifyForDisplay(value) {
|
|
|
1090
1092
|
|
|
1091
1093
|
function mergeOptions(defaults, options) {
|
|
1092
1094
|
return compact(defaults, options, options.variables && {
|
|
1093
|
-
variables: tslib.__assign(tslib.__assign({}, defaults.variables), options.variables),
|
|
1095
|
+
variables: tslib.__assign(tslib.__assign({}, (defaults && defaults.variables)), options.variables),
|
|
1094
1096
|
});
|
|
1095
1097
|
}
|
|
1096
1098
|
|
|
@@ -1298,7 +1300,7 @@ var concat = ApolloLink.concat;
|
|
|
1298
1300
|
|
|
1299
1301
|
var execute = ApolloLink.execute;
|
|
1300
1302
|
|
|
1301
|
-
var version = '3.6.
|
|
1303
|
+
var version = '3.6.5';
|
|
1302
1304
|
|
|
1303
1305
|
var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
|
|
1304
1306
|
function parseAndCheckHttpResponse(operations) {
|
|
@@ -2391,7 +2393,6 @@ var StoreReader = (function () {
|
|
|
2391
2393
|
var policies = this.config.cache.policies;
|
|
2392
2394
|
variables = tslib.__assign(tslib.__assign({}, getDefaultValues(getQueryDefinition(query))), variables);
|
|
2393
2395
|
var rootRef = makeReference(rootId);
|
|
2394
|
-
var merger = new DeepMerger;
|
|
2395
2396
|
var execResult = this.executeSelectionSet({
|
|
2396
2397
|
selectionSet: getMainDefinition(query).selectionSet,
|
|
2397
2398
|
objectOrReference: rootRef,
|
|
@@ -2404,9 +2405,6 @@ var StoreReader = (function () {
|
|
|
2404
2405
|
varString: canonicalStringify(variables),
|
|
2405
2406
|
canonizeResults: canonizeResults,
|
|
2406
2407
|
fragmentMap: createFragmentMap(getFragmentDefinitions(query)),
|
|
2407
|
-
merge: function (a, b) {
|
|
2408
|
-
return merger.merge(a, b);
|
|
2409
|
-
},
|
|
2410
2408
|
},
|
|
2411
2409
|
});
|
|
2412
2410
|
var missing;
|
|
@@ -2445,17 +2443,18 @@ var StoreReader = (function () {
|
|
|
2445
2443
|
}
|
|
2446
2444
|
var variables = context.variables, policies = context.policies, store = context.store;
|
|
2447
2445
|
var typename = store.getFieldValue(objectOrReference, "__typename");
|
|
2448
|
-
var
|
|
2446
|
+
var objectsToMerge = [];
|
|
2449
2447
|
var missing;
|
|
2448
|
+
var missingMerger = new DeepMerger();
|
|
2450
2449
|
if (this.config.addTypename &&
|
|
2451
2450
|
typeof typename === "string" &&
|
|
2452
2451
|
!policies.rootIdsByTypename[typename]) {
|
|
2453
|
-
|
|
2452
|
+
objectsToMerge.push({ __typename: typename });
|
|
2454
2453
|
}
|
|
2455
2454
|
function handleMissing(result, resultName) {
|
|
2456
2455
|
var _a;
|
|
2457
2456
|
if (result.missing) {
|
|
2458
|
-
missing =
|
|
2457
|
+
missing = missingMerger.merge(missing, (_a = {}, _a[resultName] = result.missing, _a));
|
|
2459
2458
|
}
|
|
2460
2459
|
return result.result;
|
|
2461
2460
|
}
|
|
@@ -2474,7 +2473,7 @@ var StoreReader = (function () {
|
|
|
2474
2473
|
var resultName = resultKeyNameFromField(selection);
|
|
2475
2474
|
if (fieldValue === void 0) {
|
|
2476
2475
|
if (!addTypenameToDocument.added(selection)) {
|
|
2477
|
-
missing =
|
|
2476
|
+
missing = missingMerger.merge(missing, (_a = {},
|
|
2478
2477
|
_a[resultName] = "Can't find field '".concat(selection.name.value, "' on ").concat(isReference(objectOrReference)
|
|
2479
2478
|
? objectOrReference.__ref + " object"
|
|
2480
2479
|
: "object " + JSON.stringify(objectOrReference, null, 2)),
|
|
@@ -2503,7 +2502,7 @@ var StoreReader = (function () {
|
|
|
2503
2502
|
}), resultName);
|
|
2504
2503
|
}
|
|
2505
2504
|
if (fieldValue !== void 0) {
|
|
2506
|
-
|
|
2505
|
+
objectsToMerge.push((_b = {}, _b[resultName] = fieldValue, _b));
|
|
2507
2506
|
}
|
|
2508
2507
|
}
|
|
2509
2508
|
else {
|
|
@@ -2513,6 +2512,7 @@ var StoreReader = (function () {
|
|
|
2513
2512
|
}
|
|
2514
2513
|
}
|
|
2515
2514
|
});
|
|
2515
|
+
var result = mergeDeepArray(objectsToMerge);
|
|
2516
2516
|
var finalResult = { result: result, missing: missing };
|
|
2517
2517
|
var frozen = context.canonizeResults
|
|
2518
2518
|
? this.canon.admit(finalResult)
|
|
@@ -2526,10 +2526,11 @@ var StoreReader = (function () {
|
|
|
2526
2526
|
var _this = this;
|
|
2527
2527
|
var field = _a.field, array = _a.array, enclosingRef = _a.enclosingRef, context = _a.context;
|
|
2528
2528
|
var missing;
|
|
2529
|
+
var missingMerger = new DeepMerger();
|
|
2529
2530
|
function handleMissing(childResult, i) {
|
|
2530
2531
|
var _a;
|
|
2531
2532
|
if (childResult.missing) {
|
|
2532
|
-
missing =
|
|
2533
|
+
missing = missingMerger.merge(missing, (_a = {}, _a[i] = childResult.missing, _a));
|
|
2533
2534
|
}
|
|
2534
2535
|
return childResult.result;
|
|
2535
2536
|
}
|
|
@@ -3948,7 +3949,9 @@ var ObservableQuery = (function (_super) {
|
|
|
3948
3949
|
_this.queryInfo = queryInfo;
|
|
3949
3950
|
_this.queryManager = queryManager;
|
|
3950
3951
|
_this.isTornDown = false;
|
|
3951
|
-
|
|
3952
|
+
var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
|
|
3953
|
+
var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? (fetchPolicy === "standby" ? defaultFetchPolicy : fetchPolicy) : _f;
|
|
3954
|
+
_this.options = tslib.__assign(tslib.__assign({}, options), { initialFetchPolicy: initialFetchPolicy, fetchPolicy: fetchPolicy });
|
|
3952
3955
|
_this.queryId = queryInfo.queryId || queryManager.generateQueryId();
|
|
3953
3956
|
var opDef = getOperationDefinition(_this.query);
|
|
3954
3957
|
_this.queryName = opDef && opDef.name && opDef.name.value;
|
|
@@ -4300,7 +4303,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4300
4303
|
newNetworkStatus === exports.NetworkStatus.poll;
|
|
4301
4304
|
var oldVariables = this.options.variables;
|
|
4302
4305
|
var oldFetchPolicy = this.options.fetchPolicy;
|
|
4303
|
-
var mergedOptions =
|
|
4306
|
+
var mergedOptions = compact(this.options, newOptions || {});
|
|
4304
4307
|
var options = useDisposableConcast
|
|
4305
4308
|
? mergedOptions
|
|
4306
4309
|
: assign(this.options, mergedOptions);
|
|
@@ -6034,6 +6037,51 @@ function useApolloClient(override) {
|
|
|
6034
6037
|
return client;
|
|
6035
6038
|
}
|
|
6036
6039
|
|
|
6040
|
+
var didWarnUncachedGetSnapshot = false;
|
|
6041
|
+
var uSESKey = "useSyncExternalStore";
|
|
6042
|
+
var realHook = React__namespace[uSESKey];
|
|
6043
|
+
var useSyncExternalStore = realHook || (function (subscribe, getSnapshot, getServerSnapshot) {
|
|
6044
|
+
var value = getSnapshot();
|
|
6045
|
+
if (__DEV__ &&
|
|
6046
|
+
!didWarnUncachedGetSnapshot &&
|
|
6047
|
+
value !== getSnapshot()) {
|
|
6048
|
+
didWarnUncachedGetSnapshot = true;
|
|
6049
|
+
__DEV__ && tsInvariant.invariant.error('The result of getSnapshot should be cached to avoid an infinite loop');
|
|
6050
|
+
}
|
|
6051
|
+
var _a = React__namespace.useState({ inst: { value: value, getSnapshot: getSnapshot } }), inst = _a[0].inst, forceUpdate = _a[1];
|
|
6052
|
+
if (canUseLayoutEffect) {
|
|
6053
|
+
React__namespace.useLayoutEffect(function () {
|
|
6054
|
+
Object.assign(inst, { value: value, getSnapshot: getSnapshot });
|
|
6055
|
+
if (checkIfSnapshotChanged(inst)) {
|
|
6056
|
+
forceUpdate({ inst: inst });
|
|
6057
|
+
}
|
|
6058
|
+
}, [subscribe, value, getSnapshot]);
|
|
6059
|
+
}
|
|
6060
|
+
else {
|
|
6061
|
+
Object.assign(inst, { value: value, getSnapshot: getSnapshot });
|
|
6062
|
+
}
|
|
6063
|
+
React__namespace.useEffect(function () {
|
|
6064
|
+
if (checkIfSnapshotChanged(inst)) {
|
|
6065
|
+
forceUpdate({ inst: inst });
|
|
6066
|
+
}
|
|
6067
|
+
return subscribe(function handleStoreChange() {
|
|
6068
|
+
if (checkIfSnapshotChanged(inst)) {
|
|
6069
|
+
forceUpdate({ inst: inst });
|
|
6070
|
+
}
|
|
6071
|
+
});
|
|
6072
|
+
}, [subscribe]);
|
|
6073
|
+
return value;
|
|
6074
|
+
});
|
|
6075
|
+
function checkIfSnapshotChanged(_a) {
|
|
6076
|
+
var value = _a.value, getSnapshot = _a.getSnapshot;
|
|
6077
|
+
try {
|
|
6078
|
+
return value !== getSnapshot();
|
|
6079
|
+
}
|
|
6080
|
+
catch (_b) {
|
|
6081
|
+
return true;
|
|
6082
|
+
}
|
|
6083
|
+
}
|
|
6084
|
+
|
|
6037
6085
|
exports.DocumentType = void 0;
|
|
6038
6086
|
(function (DocumentType) {
|
|
6039
6087
|
DocumentType[DocumentType["Query"] = 0] = "Query";
|
|
@@ -6137,7 +6185,7 @@ function useInternalState(client, query) {
|
|
|
6137
6185
|
if (!stateRef.current ||
|
|
6138
6186
|
client !== stateRef.current.client ||
|
|
6139
6187
|
query !== stateRef.current.query) {
|
|
6140
|
-
stateRef.current = new InternalState(client, query);
|
|
6188
|
+
stateRef.current = new InternalState(client, query, stateRef.current);
|
|
6141
6189
|
}
|
|
6142
6190
|
var state = stateRef.current;
|
|
6143
6191
|
var _a = React.useState(0); _a[0]; var setTick = _a[1];
|
|
@@ -6147,9 +6195,11 @@ function useInternalState(client, query) {
|
|
|
6147
6195
|
return state;
|
|
6148
6196
|
}
|
|
6149
6197
|
var InternalState = (function () {
|
|
6150
|
-
function InternalState(client, query) {
|
|
6198
|
+
function InternalState(client, query, previous) {
|
|
6151
6199
|
this.client = client;
|
|
6152
6200
|
this.query = query;
|
|
6201
|
+
this.asyncResolveFns = new Set();
|
|
6202
|
+
this.optionsToIgnoreOnce = new (canUseWeakSet ? WeakSet : Set)();
|
|
6153
6203
|
this.ssrDisabledResult = maybeDeepFreeze({
|
|
6154
6204
|
loading: true,
|
|
6155
6205
|
data: void 0,
|
|
@@ -6164,15 +6214,29 @@ var InternalState = (function () {
|
|
|
6164
6214
|
});
|
|
6165
6215
|
this.toQueryResultCache = new (canUseWeakMap ? WeakMap : Map)();
|
|
6166
6216
|
verifyDocumentType(query, exports.DocumentType.Query);
|
|
6217
|
+
var previousResult = previous && previous.result;
|
|
6218
|
+
var previousData = previousResult && previousResult.data;
|
|
6219
|
+
if (previousData) {
|
|
6220
|
+
this.previousData = previousData;
|
|
6221
|
+
}
|
|
6167
6222
|
}
|
|
6168
6223
|
InternalState.prototype.forceUpdate = function () {
|
|
6224
|
+
__DEV__ && tsInvariant.invariant.warn("Calling default no-op implementation of InternalState#forceUpdate");
|
|
6225
|
+
};
|
|
6226
|
+
InternalState.prototype.asyncUpdate = function () {
|
|
6227
|
+
var _this = this;
|
|
6228
|
+
return new Promise(function (resolve) {
|
|
6229
|
+
_this.asyncResolveFns.add(resolve);
|
|
6230
|
+
_this.optionsToIgnoreOnce.add(_this.watchQueryOptions);
|
|
6231
|
+
_this.forceUpdate();
|
|
6232
|
+
});
|
|
6169
6233
|
};
|
|
6170
6234
|
InternalState.prototype.useQuery = function (options) {
|
|
6171
6235
|
var _this = this;
|
|
6172
6236
|
this.renderPromises = React.useContext(getApolloContext()).renderPromises;
|
|
6173
6237
|
this.useOptions(options);
|
|
6174
6238
|
var obsQuery = this.useObservableQuery();
|
|
6175
|
-
var result =
|
|
6239
|
+
var result = useSyncExternalStore(React.useCallback(function () {
|
|
6176
6240
|
if (_this.renderPromises) {
|
|
6177
6241
|
return function () { };
|
|
6178
6242
|
}
|
|
@@ -6220,15 +6284,22 @@ var InternalState = (function () {
|
|
|
6220
6284
|
this.client.disableNetworkFetches,
|
|
6221
6285
|
]), function () { return _this.getCurrentResult(); }, function () { return _this.getCurrentResult(); });
|
|
6222
6286
|
this.unsafeHandlePartialRefetch(result);
|
|
6223
|
-
|
|
6287
|
+
var queryResult = this.toQueryResult(result);
|
|
6288
|
+
if (!queryResult.loading && this.asyncResolveFns.size) {
|
|
6289
|
+
this.asyncResolveFns.forEach(function (resolve) { return resolve(queryResult); });
|
|
6290
|
+
this.asyncResolveFns.clear();
|
|
6291
|
+
}
|
|
6292
|
+
return queryResult;
|
|
6224
6293
|
};
|
|
6225
6294
|
InternalState.prototype.useOptions = function (options) {
|
|
6226
6295
|
var _a;
|
|
6227
6296
|
var watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
|
|
6228
6297
|
var currentWatchQueryOptions = this.watchQueryOptions;
|
|
6229
|
-
if (
|
|
6298
|
+
if (this.optionsToIgnoreOnce.has(currentWatchQueryOptions) ||
|
|
6299
|
+
!equality.equal(watchQueryOptions, currentWatchQueryOptions)) {
|
|
6230
6300
|
this.watchQueryOptions = watchQueryOptions;
|
|
6231
6301
|
if (currentWatchQueryOptions && this.observable) {
|
|
6302
|
+
this.optionsToIgnoreOnce.delete(currentWatchQueryOptions);
|
|
6232
6303
|
this.observable.reobserve(watchQueryOptions);
|
|
6233
6304
|
this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
|
|
6234
6305
|
this.result = void 0;
|
|
@@ -6237,7 +6308,8 @@ var InternalState = (function () {
|
|
|
6237
6308
|
this.onCompleted = options.onCompleted || InternalState.prototype.onCompleted;
|
|
6238
6309
|
this.onError = options.onError || InternalState.prototype.onError;
|
|
6239
6310
|
if ((this.renderPromises || this.client.disableNetworkFetches) &&
|
|
6240
|
-
this.queryHookOptions.ssr === false
|
|
6311
|
+
this.queryHookOptions.ssr === false &&
|
|
6312
|
+
!this.queryHookOptions.skip) {
|
|
6241
6313
|
this.result = this.ssrDisabledResult;
|
|
6242
6314
|
}
|
|
6243
6315
|
else if (this.queryHookOptions.skip ||
|
|
@@ -6250,51 +6322,38 @@ var InternalState = (function () {
|
|
|
6250
6322
|
}
|
|
6251
6323
|
};
|
|
6252
6324
|
InternalState.prototype.createWatchQueryOptions = function (_a) {
|
|
6325
|
+
var _b;
|
|
6253
6326
|
if (_a === void 0) { _a = {}; }
|
|
6254
|
-
var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.displayName;
|
|
6255
|
-
var
|
|
6256
|
-
var globalDefaults = this.client.defaultOptions.watchQuery;
|
|
6257
|
-
if (globalDefaults)
|
|
6258
|
-
toMerge.push(globalDefaults);
|
|
6259
|
-
if (defaultOptions)
|
|
6260
|
-
toMerge.push(defaultOptions);
|
|
6261
|
-
var latestOptions = this.observable && this.observable.options;
|
|
6262
|
-
if (latestOptions && toMerge.length) {
|
|
6263
|
-
var defaults_1 = toMerge.reduce(mergeOptions, Object.create(null));
|
|
6264
|
-
toMerge.length = 1;
|
|
6265
|
-
toMerge[0] = defaults_1;
|
|
6266
|
-
Object.keys(defaults_1).forEach(function (defaultOptionName) {
|
|
6267
|
-
var currentOptionValue = latestOptions[defaultOptionName];
|
|
6268
|
-
if (hasOwnProperty.call(latestOptions, defaultOptionName) &&
|
|
6269
|
-
!equality.equal(defaults_1[defaultOptionName], currentOptionValue)) {
|
|
6270
|
-
defaults_1[defaultOptionName] = defaultOptionName === "variables"
|
|
6271
|
-
? tslib.__assign(tslib.__assign({}, defaults_1.variables), currentOptionValue) : currentOptionValue;
|
|
6272
|
-
}
|
|
6273
|
-
});
|
|
6274
|
-
}
|
|
6275
|
-
toMerge.push(otherOptions);
|
|
6276
|
-
var merged = toMerge.reduce(mergeOptions, Object.create(null));
|
|
6277
|
-
var watchQueryOptions = Object.assign(merged, { query: this.query });
|
|
6327
|
+
var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.displayName; _a.defaultOptions; var otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "displayName", "defaultOptions"]);
|
|
6328
|
+
var watchQueryOptions = Object.assign(otherOptions, { query: this.query });
|
|
6278
6329
|
if (this.renderPromises &&
|
|
6279
6330
|
(watchQueryOptions.fetchPolicy === 'network-only' ||
|
|
6280
6331
|
watchQueryOptions.fetchPolicy === 'cache-and-network')) {
|
|
6281
6332
|
watchQueryOptions.fetchPolicy = 'cache-first';
|
|
6282
6333
|
}
|
|
6283
|
-
|
|
6284
|
-
watchQueryOptions.
|
|
6334
|
+
if (!watchQueryOptions.variables) {
|
|
6335
|
+
watchQueryOptions.variables = {};
|
|
6285
6336
|
}
|
|
6286
6337
|
if (skip) {
|
|
6287
|
-
var
|
|
6338
|
+
var _c = watchQueryOptions.fetchPolicy, fetchPolicy = _c === void 0 ? this.getDefaultFetchPolicy() : _c, _d = watchQueryOptions.initialFetchPolicy, initialFetchPolicy = _d === void 0 ? fetchPolicy : _d;
|
|
6288
6339
|
Object.assign(watchQueryOptions, {
|
|
6289
6340
|
initialFetchPolicy: initialFetchPolicy,
|
|
6290
6341
|
fetchPolicy: 'standby',
|
|
6291
6342
|
});
|
|
6292
6343
|
}
|
|
6293
|
-
if (!watchQueryOptions.
|
|
6294
|
-
watchQueryOptions.
|
|
6344
|
+
else if (!watchQueryOptions.fetchPolicy) {
|
|
6345
|
+
watchQueryOptions.fetchPolicy =
|
|
6346
|
+
((_b = this.observable) === null || _b === void 0 ? void 0 : _b.options.initialFetchPolicy) ||
|
|
6347
|
+
this.getDefaultFetchPolicy();
|
|
6295
6348
|
}
|
|
6296
6349
|
return watchQueryOptions;
|
|
6297
6350
|
};
|
|
6351
|
+
InternalState.prototype.getDefaultFetchPolicy = function () {
|
|
6352
|
+
var _a, _b;
|
|
6353
|
+
return (((_a = this.queryHookOptions.defaultOptions) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
|
|
6354
|
+
((_b = this.client.defaultOptions.watchQuery) === null || _b === void 0 ? void 0 : _b.fetchPolicy) ||
|
|
6355
|
+
"cache-first");
|
|
6356
|
+
};
|
|
6298
6357
|
InternalState.prototype.onCompleted = function (data) { };
|
|
6299
6358
|
InternalState.prototype.onError = function (error) { };
|
|
6300
6359
|
InternalState.prototype.useObservableQuery = function () {
|
|
@@ -6302,7 +6361,7 @@ var InternalState = (function () {
|
|
|
6302
6361
|
this.renderPromises
|
|
6303
6362
|
&& this.renderPromises.getSSRObservable(this.watchQueryOptions)
|
|
6304
6363
|
|| this.observable
|
|
6305
|
-
|| this.client.watchQuery(
|
|
6364
|
+
|| this.client.watchQuery(mergeOptions(this.queryHookOptions.defaultOptions, this.watchQueryOptions));
|
|
6306
6365
|
this.obsQueryFields = React.useMemo(function () { return ({
|
|
6307
6366
|
refetch: obsQuery.refetch.bind(obsQuery),
|
|
6308
6367
|
reobserve: obsQuery.reobserve.bind(obsQuery),
|
|
@@ -6312,11 +6371,11 @@ var InternalState = (function () {
|
|
|
6312
6371
|
stopPolling: obsQuery.stopPolling.bind(obsQuery),
|
|
6313
6372
|
subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery),
|
|
6314
6373
|
}); }, [obsQuery]);
|
|
6315
|
-
|
|
6374
|
+
var ssrAllowed = !(this.queryHookOptions.ssr === false ||
|
|
6375
|
+
this.queryHookOptions.skip);
|
|
6376
|
+
if (this.renderPromises && ssrAllowed) {
|
|
6316
6377
|
this.renderPromises.registerSSRObservable(obsQuery);
|
|
6317
|
-
|
|
6318
|
-
this.queryHookOptions.skip);
|
|
6319
|
-
if (ssrAllowed && obsQuery.getCurrentResult().loading) {
|
|
6378
|
+
if (obsQuery.getCurrentResult().loading) {
|
|
6320
6379
|
this.renderPromises.addObservableQueryPromise(obsQuery);
|
|
6321
6380
|
}
|
|
6322
6381
|
}
|
|
@@ -6385,12 +6444,12 @@ var EAGER_METHODS = [
|
|
|
6385
6444
|
function useLazyQuery(query, options) {
|
|
6386
6445
|
var internalState = useInternalState(useApolloClient(options && options.client), query);
|
|
6387
6446
|
var execOptionsRef = React.useRef();
|
|
6388
|
-
var
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6447
|
+
var merged = execOptionsRef.current
|
|
6448
|
+
? mergeOptions(options, execOptionsRef.current)
|
|
6449
|
+
: options;
|
|
6450
|
+
var useQueryResult = internalState.useQuery(tslib.__assign(tslib.__assign({}, merged), { skip: !execOptionsRef.current }));
|
|
6451
|
+
var initialFetchPolicy = useQueryResult.observable.options.initialFetchPolicy ||
|
|
6452
|
+
internalState.getDefaultFetchPolicy();
|
|
6394
6453
|
var result = Object.assign(useQueryResult, {
|
|
6395
6454
|
called: !!execOptionsRef.current,
|
|
6396
6455
|
});
|
|
@@ -6414,22 +6473,12 @@ function useLazyQuery(query, options) {
|
|
|
6414
6473
|
}, []);
|
|
6415
6474
|
Object.assign(result, eagerMethods);
|
|
6416
6475
|
var execute = React.useCallback(function (executeOptions) {
|
|
6417
|
-
|
|
6476
|
+
execOptionsRef.current = executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
|
|
6418
6477
|
fetchPolicy: initialFetchPolicy,
|
|
6419
|
-
}
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
var _a = result.observable.options.errorPolicy, errorPolicy = _a === void 0 ? "none" : _a;
|
|
6424
|
-
if (errorPolicy === "none") {
|
|
6425
|
-
throw apolloQueryResult.error || new ApolloError({
|
|
6426
|
-
graphQLErrors: apolloQueryResult.errors,
|
|
6427
|
-
});
|
|
6428
|
-
}
|
|
6429
|
-
}
|
|
6430
|
-
return internalState.toQueryResult(apolloQueryResult);
|
|
6431
|
-
}).then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
6432
|
-
internalState.forceUpdate();
|
|
6478
|
+
};
|
|
6479
|
+
var promise = internalState
|
|
6480
|
+
.asyncUpdate()
|
|
6481
|
+
.then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
6433
6482
|
promise.catch(function () { });
|
|
6434
6483
|
return promise;
|
|
6435
6484
|
}, []);
|
|
@@ -6471,7 +6520,7 @@ function useMutation(mutation, options) {
|
|
|
6471
6520
|
var mutationId = ++ref.current.mutationId;
|
|
6472
6521
|
var clientOptions = mergeOptions(baseOptions, executeOptions);
|
|
6473
6522
|
return client.mutate(clientOptions).then(function (response) {
|
|
6474
|
-
var _a, _b;
|
|
6523
|
+
var _a, _b, _c;
|
|
6475
6524
|
var data = response.data, errors = response.errors;
|
|
6476
6525
|
var error = errors && errors.length > 0
|
|
6477
6526
|
? new ApolloError({ graphQLErrors: errors })
|
|
@@ -6489,11 +6538,11 @@ function useMutation(mutation, options) {
|
|
|
6489
6538
|
setResult(ref.current.result = result_1);
|
|
6490
6539
|
}
|
|
6491
6540
|
}
|
|
6492
|
-
(_a =
|
|
6493
|
-
(
|
|
6541
|
+
(_b = (_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onCompleted) === null || _b === void 0 ? void 0 : _b.call(_a, response.data);
|
|
6542
|
+
(_c = executeOptions.onCompleted) === null || _c === void 0 ? void 0 : _c.call(executeOptions, response.data);
|
|
6494
6543
|
return response;
|
|
6495
6544
|
}).catch(function (error) {
|
|
6496
|
-
var _a, _b;
|
|
6545
|
+
var _a, _b, _c, _d;
|
|
6497
6546
|
if (mutationId === ref.current.mutationId &&
|
|
6498
6547
|
ref.current.isMounted) {
|
|
6499
6548
|
var result_2 = {
|
|
@@ -6507,9 +6556,9 @@ function useMutation(mutation, options) {
|
|
|
6507
6556
|
setResult(ref.current.result = result_2);
|
|
6508
6557
|
}
|
|
6509
6558
|
}
|
|
6510
|
-
if (
|
|
6511
|
-
(
|
|
6512
|
-
(
|
|
6559
|
+
if (((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError) || clientOptions.onError) {
|
|
6560
|
+
(_c = (_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.onError) === null || _c === void 0 ? void 0 : _c.call(_b, error);
|
|
6561
|
+
(_d = executeOptions.onError) === null || _d === void 0 ? void 0 : _d.call(executeOptions, error);
|
|
6513
6562
|
return { data: void 0, errors: error };
|
|
6514
6563
|
}
|
|
6515
6564
|
throw error;
|
|
@@ -6547,6 +6596,12 @@ function useSubscription(subscription, options) {
|
|
|
6547
6596
|
context: options === null || options === void 0 ? void 0 : options.context,
|
|
6548
6597
|
});
|
|
6549
6598
|
}), observable = _b[0], setObservable = _b[1];
|
|
6599
|
+
var canResetObservableRef = React.useRef(false);
|
|
6600
|
+
React.useEffect(function () {
|
|
6601
|
+
return function () {
|
|
6602
|
+
canResetObservableRef.current = true;
|
|
6603
|
+
};
|
|
6604
|
+
}, []);
|
|
6550
6605
|
var ref = React.useRef({ client: client, subscription: subscription, options: options });
|
|
6551
6606
|
React.useEffect(function () {
|
|
6552
6607
|
var _a, _b, _c, _d;
|
|
@@ -6555,7 +6610,7 @@ function useSubscription(subscription, options) {
|
|
|
6555
6610
|
shouldResubscribe = !!shouldResubscribe(options);
|
|
6556
6611
|
}
|
|
6557
6612
|
if (options === null || options === void 0 ? void 0 : options.skip) {
|
|
6558
|
-
if (!(options === null || options === void 0 ? void 0 : options.skip) !== !((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.skip)) {
|
|
6613
|
+
if (!(options === null || options === void 0 ? void 0 : options.skip) !== !((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.skip) || canResetObservableRef.current) {
|
|
6559
6614
|
setResult({
|
|
6560
6615
|
loading: false,
|
|
6561
6616
|
data: void 0,
|
|
@@ -6563,13 +6618,16 @@ function useSubscription(subscription, options) {
|
|
|
6563
6618
|
variables: options === null || options === void 0 ? void 0 : options.variables,
|
|
6564
6619
|
});
|
|
6565
6620
|
setObservable(null);
|
|
6621
|
+
canResetObservableRef.current = false;
|
|
6566
6622
|
}
|
|
6567
6623
|
}
|
|
6568
|
-
else if (shouldResubscribe !== false &&
|
|
6569
|
-
|
|
6570
|
-
|
|
6571
|
-
|
|
6572
|
-
|
|
6624
|
+
else if ((shouldResubscribe !== false &&
|
|
6625
|
+
(client !== ref.current.client ||
|
|
6626
|
+
subscription !== ref.current.subscription ||
|
|
6627
|
+
(options === null || options === void 0 ? void 0 : options.fetchPolicy) !== ((_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.fetchPolicy) ||
|
|
6628
|
+
!(options === null || options === void 0 ? void 0 : options.skip) !== !((_c = ref.current.options) === null || _c === void 0 ? void 0 : _c.skip) ||
|
|
6629
|
+
!equality.equal(options === null || options === void 0 ? void 0 : options.variables, (_d = ref.current.options) === null || _d === void 0 ? void 0 : _d.variables))) ||
|
|
6630
|
+
canResetObservableRef.current) {
|
|
6573
6631
|
setResult({
|
|
6574
6632
|
loading: true,
|
|
6575
6633
|
data: void 0,
|
|
@@ -6582,9 +6640,10 @@ function useSubscription(subscription, options) {
|
|
|
6582
6640
|
fetchPolicy: options === null || options === void 0 ? void 0 : options.fetchPolicy,
|
|
6583
6641
|
context: options === null || options === void 0 ? void 0 : options.context,
|
|
6584
6642
|
}));
|
|
6643
|
+
canResetObservableRef.current = false;
|
|
6585
6644
|
}
|
|
6586
6645
|
Object.assign(ref.current, { client: client, subscription: subscription, options: options });
|
|
6587
|
-
}, [client, subscription, options]);
|
|
6646
|
+
}, [client, subscription, options, canResetObservableRef.current]);
|
|
6588
6647
|
React.useEffect(function () {
|
|
6589
6648
|
if (!observable) {
|
|
6590
6649
|
return;
|