@apollo/client 3.9.0-beta.0 → 3.9.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/chatty-comics-yawn.md +8 -0
- package/.changeset/curvy-seas-hope.md +13 -0
- package/.changeset/late-rabbits-protect.md +7 -0
- package/.changeset/pink-apricots-yawn.md +5 -0
- package/.changeset/pre.json +8 -1
- package/.changeset/smooth-plums-shout.md +5 -0
- package/.changeset/spicy-drinks-camp.md +5 -0
- package/.changeset/wise-news-grab.md +7 -0
- package/CHANGELOG.md +51 -0
- package/apollo-client.cjs +60 -52
- package/apollo-client.cjs.map +1 -1
- package/apollo-client.min.cjs +1 -1
- package/cache/cache.cjs +2 -2
- package/cache/cache.cjs.map +1 -1
- package/cache/cache.cjs.native.js +2 -2
- package/cache/inmemory/readFromStore.js +2 -2
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/core/ApolloClient.d.ts +74 -1
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.js +8 -4
- package/core/ObservableQuery.js.map +1 -1
- package/core/core.cjs +11 -7
- package/core/core.cjs.map +1 -1
- package/core/core.cjs.native.js +11 -7
- package/dev/dev.cjs +1 -1
- package/dev/dev.cjs.map +1 -1
- package/dev/dev.cjs.native.js +1 -1
- package/link/http/checkFetcher.d.ts +1 -1
- package/link/http/checkFetcher.js.map +1 -1
- package/link/http/http.cjs +0 -3
- package/link/http/http.cjs.map +1 -1
- package/link/http/http.cjs.native.js +0 -3
- package/link/http/parseAndCheckHttpResponse.js +0 -4
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/http/selectHttpOptionsAndBody.d.ts +1 -1
- package/link/http/selectHttpOptionsAndBody.js.map +1 -1
- package/link/retry/retry.cjs +15 -74
- package/link/retry/retry.cjs.map +1 -1
- package/link/retry/retry.cjs.native.js +15 -74
- package/link/retry/retryLink.js +15 -93
- package/link/retry/retryLink.js.map +1 -1
- package/package.json +21 -21
- package/react/components/Mutation.d.ts +6 -0
- package/react/components/Mutation.js +6 -0
- package/react/components/Mutation.js.map +1 -1
- package/react/components/Query.d.ts +6 -0
- package/react/components/Query.js +6 -0
- package/react/components/Query.js.map +1 -1
- package/react/components/Subscription.d.ts +6 -0
- package/react/components/Subscription.js +6 -0
- package/react/components/Subscription.js.map +1 -1
- package/react/components/components.cjs.map +1 -1
- package/react/hoc/graphql.d.ts +5 -0
- package/react/hoc/graphql.js +5 -0
- package/react/hoc/graphql.js.map +1 -1
- package/react/hoc/hoc.cjs.map +1 -1
- package/react/hoc/mutation-hoc.d.ts +5 -0
- package/react/hoc/mutation-hoc.js +5 -0
- package/react/hoc/mutation-hoc.js.map +1 -1
- package/react/hoc/query-hoc.d.ts +5 -0
- package/react/hoc/query-hoc.js +5 -0
- package/react/hoc/query-hoc.js.map +1 -1
- package/react/hoc/subscription-hoc.d.ts +5 -0
- package/react/hoc/subscription-hoc.js +5 -0
- package/react/hoc/subscription-hoc.js.map +1 -1
- package/react/hoc/withApollo.d.ts +5 -0
- package/react/hoc/withApollo.js +5 -0
- package/react/hoc/withApollo.js.map +1 -1
- package/react/hooks/hooks.cjs +62 -322
- package/react/hooks/hooks.cjs.map +1 -1
- package/react/hooks/hooks.cjs.native.js +62 -322
- package/react/hooks/internal/index.d.ts +1 -0
- package/react/hooks/internal/index.js +1 -0
- package/react/hooks/internal/index.js.map +1 -1
- package/react/hooks/internal/useLazyRef.d.ts +3 -0
- package/react/hooks/internal/useLazyRef.js +10 -0
- package/react/hooks/internal/useLazyRef.js.map +1 -0
- package/react/hooks/useBackgroundQuery.d.ts +1 -1
- package/react/hooks/useBackgroundQuery.js +1 -3
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useFragment.js +20 -17
- package/react/hooks/useFragment.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +1 -1
- package/react/hooks/useLoadableQuery.js +1 -3
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.d.ts +1 -1
- package/react/hooks/useQueryRefHandlers.js +1 -1
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReadQuery.d.ts +1 -1
- package/react/hooks/useReadQuery.js +1 -1
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSuspenseQuery.js +1 -1
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/{cache → internal/cache}/QueryReference.d.ts +2 -2
- package/react/{cache → internal/cache}/QueryReference.js +2 -2
- package/react/internal/cache/QueryReference.js.map +1 -0
- package/react/{cache → internal/cache}/SuspenseCache.d.ts +1 -1
- package/react/{cache → internal/cache}/SuspenseCache.js +1 -1
- package/react/internal/cache/SuspenseCache.js.map +1 -0
- package/react/{cache → internal/cache}/getSuspenseCache.d.ts +3 -3
- package/react/internal/cache/getSuspenseCache.js.map +1 -0
- package/react/internal/cache/types.js.map +1 -0
- package/react/internal/index.d.ts +6 -0
- package/react/internal/index.js +3 -0
- package/react/internal/index.js.map +1 -0
- package/react/internal/internal.cjs +283 -0
- package/react/internal/internal.cjs.map +1 -0
- package/react/internal/internal.cjs.native.js +283 -0
- package/react/internal/package.json +8 -0
- package/react/parser/parser.cjs.map +1 -1
- package/react/query-preloader/createQueryPreloader.d.ts +1 -1
- package/react/query-preloader/createQueryPreloader.js +1 -1
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/react.cjs +3 -238
- package/react/react.cjs.map +1 -1
- package/react/react.cjs.native.js +3 -238
- package/react/types/types.d.ts +1 -1
- package/react/types/types.js.map +1 -1
- package/testing/core/core.cjs +5 -3
- package/testing/core/core.cjs.map +1 -1
- package/testing/core/core.cjs.native.js +5 -3
- package/testing/core/mocking/mockLink.js +9 -3
- package/testing/core/mocking/mockLink.js.map +1 -1
- package/testing/internal/ObservableStream.js +16 -8
- package/testing/internal/ObservableStream.js.map +1 -1
- package/testing/internal/scenarios/index.js +5 -3
- package/testing/internal/scenarios/index.js.map +1 -1
- package/testing/matchers/toBeDisposed.js +1 -1
- package/testing/matchers/toBeDisposed.js.map +1 -1
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
- package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
- package/utilities/caching/getMemoryInternals.js +2 -2
- package/utilities/caching/getMemoryInternals.js.map +1 -1
- package/utilities/caching/sizes.d.ts +109 -59
- package/utilities/caching/sizes.js.map +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/subscriptions/relay/relay.cjs.map +1 -1
- package/utilities/subscriptions/urql/urql.cjs.map +1 -1
- package/utilities/utilities.cjs.map +1 -1
- package/version.js +1 -1
- package/react/cache/QueryReference.js.map +0 -1
- package/react/cache/SuspenseCache.js.map +0 -1
- package/react/cache/getSuspenseCache.js.map +0 -1
- package/react/cache/index.d.ts +0 -3
- package/react/cache/index.js +0 -2
- package/react/cache/index.js.map +0 -1
- package/react/cache/types.js.map +0 -1
- /package/react/{cache → internal/cache}/getSuspenseCache.js +0 -0
- /package/react/{cache → internal/cache}/types.d.ts +0 -0
- /package/react/{cache → internal/cache}/types.js +0 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var trie = require('@wry/trie');
|
|
6
|
+
var utilities = require('../../utilities');
|
|
7
|
+
var tslib = require('tslib');
|
|
8
|
+
var equality = require('@wry/equality');
|
|
9
|
+
|
|
10
|
+
var QUERY_REFERENCE_SYMBOL = Symbol();
|
|
11
|
+
var PROMISE_SYMBOL = Symbol();
|
|
12
|
+
function wrapQueryRef(internalQueryRef) {
|
|
13
|
+
var _a;
|
|
14
|
+
var ref = (_a = {
|
|
15
|
+
toPromise: function () {
|
|
16
|
+
return getWrappedPromise(ref).then(function () { return ref; });
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
_a[QUERY_REFERENCE_SYMBOL] = internalQueryRef,
|
|
20
|
+
_a[PROMISE_SYMBOL] = internalQueryRef.promise,
|
|
21
|
+
_a);
|
|
22
|
+
return ref;
|
|
23
|
+
}
|
|
24
|
+
function getWrappedPromise(queryRef) {
|
|
25
|
+
var internalQueryRef = unwrapQueryRef(queryRef);
|
|
26
|
+
return internalQueryRef.promise.status === "fulfilled" ?
|
|
27
|
+
internalQueryRef.promise
|
|
28
|
+
: queryRef[PROMISE_SYMBOL];
|
|
29
|
+
}
|
|
30
|
+
function unwrapQueryRef(queryRef) {
|
|
31
|
+
return queryRef[QUERY_REFERENCE_SYMBOL];
|
|
32
|
+
}
|
|
33
|
+
function updateWrappedQueryRef(queryRef, promise) {
|
|
34
|
+
queryRef[PROMISE_SYMBOL] = promise;
|
|
35
|
+
}
|
|
36
|
+
var OBSERVED_CHANGED_OPTIONS = [
|
|
37
|
+
"canonizeResults",
|
|
38
|
+
"context",
|
|
39
|
+
"errorPolicy",
|
|
40
|
+
"fetchPolicy",
|
|
41
|
+
"refetchWritePolicy",
|
|
42
|
+
"returnPartialData",
|
|
43
|
+
];
|
|
44
|
+
var InternalQueryReference = (function () {
|
|
45
|
+
function InternalQueryReference(observable, options) {
|
|
46
|
+
var _this = this;
|
|
47
|
+
this.key = {};
|
|
48
|
+
this.listeners = new Set();
|
|
49
|
+
this.references = 0;
|
|
50
|
+
this.handleNext = this.handleNext.bind(this);
|
|
51
|
+
this.handleError = this.handleError.bind(this);
|
|
52
|
+
this.dispose = this.dispose.bind(this);
|
|
53
|
+
this.observable = observable;
|
|
54
|
+
if (options.onDispose) {
|
|
55
|
+
this.onDispose = options.onDispose;
|
|
56
|
+
}
|
|
57
|
+
this.setResult();
|
|
58
|
+
this.subscribeToQuery();
|
|
59
|
+
var startDisposeTimer = function () {
|
|
60
|
+
var _a;
|
|
61
|
+
if (!_this.references) {
|
|
62
|
+
_this.autoDisposeTimeoutId = setTimeout(_this.dispose, (_a = options.autoDisposeTimeoutMs) !== null && _a !== void 0 ? _a : 30000);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
this.promise.then(startDisposeTimer, startDisposeTimer);
|
|
66
|
+
}
|
|
67
|
+
Object.defineProperty(InternalQueryReference.prototype, "disposed", {
|
|
68
|
+
get: function () {
|
|
69
|
+
return this.subscription.closed;
|
|
70
|
+
},
|
|
71
|
+
enumerable: false,
|
|
72
|
+
configurable: true
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(InternalQueryReference.prototype, "watchQueryOptions", {
|
|
75
|
+
get: function () {
|
|
76
|
+
return this.observable.options;
|
|
77
|
+
},
|
|
78
|
+
enumerable: false,
|
|
79
|
+
configurable: true
|
|
80
|
+
});
|
|
81
|
+
InternalQueryReference.prototype.reinitialize = function () {
|
|
82
|
+
var observable = this.observable;
|
|
83
|
+
var originalFetchPolicy = this.watchQueryOptions.fetchPolicy;
|
|
84
|
+
try {
|
|
85
|
+
if (originalFetchPolicy !== "no-cache") {
|
|
86
|
+
observable.resetLastResults();
|
|
87
|
+
observable.silentSetOptions({ fetchPolicy: "cache-first" });
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
observable.silentSetOptions({ fetchPolicy: "standby" });
|
|
91
|
+
}
|
|
92
|
+
this.subscribeToQuery();
|
|
93
|
+
if (originalFetchPolicy === "no-cache") {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
observable.resetDiff();
|
|
97
|
+
this.setResult();
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
observable.silentSetOptions({ fetchPolicy: originalFetchPolicy });
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
InternalQueryReference.prototype.retain = function () {
|
|
104
|
+
var _this = this;
|
|
105
|
+
this.references++;
|
|
106
|
+
clearTimeout(this.autoDisposeTimeoutId);
|
|
107
|
+
var disposed = false;
|
|
108
|
+
return function () {
|
|
109
|
+
if (disposed) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
disposed = true;
|
|
113
|
+
_this.references--;
|
|
114
|
+
setTimeout(function () {
|
|
115
|
+
if (!_this.references) {
|
|
116
|
+
_this.dispose();
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
InternalQueryReference.prototype.didChangeOptions = function (watchQueryOptions) {
|
|
122
|
+
var _this = this;
|
|
123
|
+
return OBSERVED_CHANGED_OPTIONS.some(function (option) {
|
|
124
|
+
return !equality.equal(_this.watchQueryOptions[option], watchQueryOptions[option]);
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
InternalQueryReference.prototype.applyOptions = function (watchQueryOptions) {
|
|
128
|
+
var _a = this.watchQueryOptions, currentFetchPolicy = _a.fetchPolicy, currentCanonizeResults = _a.canonizeResults;
|
|
129
|
+
if (currentFetchPolicy === "standby" &&
|
|
130
|
+
currentFetchPolicy !== watchQueryOptions.fetchPolicy) {
|
|
131
|
+
this.initiateFetch(this.observable.reobserve(watchQueryOptions));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this.observable.silentSetOptions(watchQueryOptions);
|
|
135
|
+
if (currentCanonizeResults !== watchQueryOptions.canonizeResults) {
|
|
136
|
+
this.result = tslib.__assign(tslib.__assign({}, this.result), this.observable.getCurrentResult());
|
|
137
|
+
this.promise = utilities.createFulfilledPromise(this.result);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return this.promise;
|
|
141
|
+
};
|
|
142
|
+
InternalQueryReference.prototype.listen = function (listener) {
|
|
143
|
+
var _this = this;
|
|
144
|
+
this.listeners.add(listener);
|
|
145
|
+
return function () {
|
|
146
|
+
_this.listeners.delete(listener);
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
InternalQueryReference.prototype.refetch = function (variables) {
|
|
150
|
+
return this.initiateFetch(this.observable.refetch(variables));
|
|
151
|
+
};
|
|
152
|
+
InternalQueryReference.prototype.fetchMore = function (options) {
|
|
153
|
+
return this.initiateFetch(this.observable.fetchMore(options));
|
|
154
|
+
};
|
|
155
|
+
InternalQueryReference.prototype.dispose = function () {
|
|
156
|
+
this.subscription.unsubscribe();
|
|
157
|
+
this.onDispose();
|
|
158
|
+
};
|
|
159
|
+
InternalQueryReference.prototype.onDispose = function () {
|
|
160
|
+
};
|
|
161
|
+
InternalQueryReference.prototype.handleNext = function (result) {
|
|
162
|
+
var _a;
|
|
163
|
+
switch (this.promise.status) {
|
|
164
|
+
case "pending": {
|
|
165
|
+
if (result.data === void 0) {
|
|
166
|
+
result.data = this.result.data;
|
|
167
|
+
}
|
|
168
|
+
this.result = result;
|
|
169
|
+
(_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, result);
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
default: {
|
|
173
|
+
if (result.data === this.result.data) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (result.data === void 0) {
|
|
177
|
+
result.data = this.result.data;
|
|
178
|
+
}
|
|
179
|
+
this.result = result;
|
|
180
|
+
this.promise = utilities.createFulfilledPromise(result);
|
|
181
|
+
this.deliver(this.promise);
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
InternalQueryReference.prototype.handleError = function (error) {
|
|
187
|
+
var _a;
|
|
188
|
+
this.subscription.unsubscribe();
|
|
189
|
+
this.subscription = this.observable.resubscribeAfterError(this.handleNext, this.handleError);
|
|
190
|
+
switch (this.promise.status) {
|
|
191
|
+
case "pending": {
|
|
192
|
+
(_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
default: {
|
|
196
|
+
this.promise = utilities.createRejectedPromise(error);
|
|
197
|
+
this.deliver(this.promise);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
InternalQueryReference.prototype.deliver = function (promise) {
|
|
202
|
+
this.listeners.forEach(function (listener) { return listener(promise); });
|
|
203
|
+
};
|
|
204
|
+
InternalQueryReference.prototype.initiateFetch = function (returnedPromise) {
|
|
205
|
+
var _this = this;
|
|
206
|
+
this.promise = this.createPendingPromise();
|
|
207
|
+
this.promise.catch(function () { });
|
|
208
|
+
returnedPromise
|
|
209
|
+
.then(function (result) {
|
|
210
|
+
var _a;
|
|
211
|
+
if (_this.promise.status === "pending") {
|
|
212
|
+
_this.result = result;
|
|
213
|
+
(_a = _this.resolve) === null || _a === void 0 ? void 0 : _a.call(_this, result);
|
|
214
|
+
}
|
|
215
|
+
})
|
|
216
|
+
.catch(function () { });
|
|
217
|
+
return returnedPromise;
|
|
218
|
+
};
|
|
219
|
+
InternalQueryReference.prototype.subscribeToQuery = function () {
|
|
220
|
+
var _this = this;
|
|
221
|
+
this.subscription = this.observable
|
|
222
|
+
.filter(function (result) { return !equality.equal(result.data, {}) && !equality.equal(result, _this.result); })
|
|
223
|
+
.subscribe(this.handleNext, this.handleError);
|
|
224
|
+
};
|
|
225
|
+
InternalQueryReference.prototype.setResult = function () {
|
|
226
|
+
var result = this.observable.getCurrentResult(false);
|
|
227
|
+
if (equality.equal(result, this.result)) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
this.result = result;
|
|
231
|
+
this.promise =
|
|
232
|
+
(result.data &&
|
|
233
|
+
(!result.partial || this.watchQueryOptions.returnPartialData)) ?
|
|
234
|
+
utilities.createFulfilledPromise(result)
|
|
235
|
+
: this.createPendingPromise();
|
|
236
|
+
};
|
|
237
|
+
InternalQueryReference.prototype.createPendingPromise = function () {
|
|
238
|
+
var _this = this;
|
|
239
|
+
return utilities.wrapPromiseWithState(new Promise(function (resolve, reject) {
|
|
240
|
+
_this.resolve = resolve;
|
|
241
|
+
_this.reject = reject;
|
|
242
|
+
}));
|
|
243
|
+
};
|
|
244
|
+
return InternalQueryReference;
|
|
245
|
+
}());
|
|
246
|
+
|
|
247
|
+
var SuspenseCache = (function () {
|
|
248
|
+
function SuspenseCache(options) {
|
|
249
|
+
if (options === void 0) { options = Object.create(null); }
|
|
250
|
+
this.queryRefs = new trie.Trie(utilities.canUseWeakMap);
|
|
251
|
+
this.options = options;
|
|
252
|
+
}
|
|
253
|
+
SuspenseCache.prototype.getQueryRef = function (cacheKey, createObservable) {
|
|
254
|
+
var ref = this.queryRefs.lookupArray(cacheKey);
|
|
255
|
+
if (!ref.current) {
|
|
256
|
+
ref.current = new InternalQueryReference(createObservable(), {
|
|
257
|
+
autoDisposeTimeoutMs: this.options.autoDisposeTimeoutMs,
|
|
258
|
+
onDispose: function () {
|
|
259
|
+
delete ref.current;
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
return ref.current;
|
|
264
|
+
};
|
|
265
|
+
return SuspenseCache;
|
|
266
|
+
}());
|
|
267
|
+
|
|
268
|
+
var suspenseCacheSymbol = Symbol.for("apollo.suspenseCache");
|
|
269
|
+
function getSuspenseCache(client) {
|
|
270
|
+
var _a;
|
|
271
|
+
if (!client[suspenseCacheSymbol]) {
|
|
272
|
+
client[suspenseCacheSymbol] = new SuspenseCache((_a = client.defaultOptions.react) === null || _a === void 0 ? void 0 : _a.suspense);
|
|
273
|
+
}
|
|
274
|
+
return client[suspenseCacheSymbol];
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
exports.InternalQueryReference = InternalQueryReference;
|
|
278
|
+
exports.getSuspenseCache = getSuspenseCache;
|
|
279
|
+
exports.getWrappedPromise = getWrappedPromise;
|
|
280
|
+
exports.unwrapQueryRef = unwrapQueryRef;
|
|
281
|
+
exports.updateWrappedQueryRef = updateWrappedQueryRef;
|
|
282
|
+
exports.wrapQueryRef = wrapQueryRef;
|
|
283
|
+
//# sourceMappingURL=internal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.cjs","sources":["cache/QueryReference.js","cache/SuspenseCache.js","cache/getSuspenseCache.js"],"sourcesContent":["import { __assign } from \"tslib\";\nimport { equal } from \"@wry/equality\";\nimport { createFulfilledPromise, createRejectedPromise, } from \"../../../utilities/index.js\";\nimport { wrapPromiseWithState } from \"../../../utilities/index.js\";\nvar QUERY_REFERENCE_SYMBOL = Symbol();\nvar PROMISE_SYMBOL = Symbol();\nexport function wrapQueryRef(internalQueryRef) {\n var _a;\n var ref = (_a = {\n toPromise: function () {\n // We avoid resolving this promise with the query data because we want to\n // discourage using the server data directly from the queryRef. Instead,\n // the data should be accessed through `useReadQuery`. When the server\n // data is needed, its better to use `client.query()` directly.\n //\n // Here we resolve with the ref itself to make using this in React Router\n // or TanStack Router `loader` functions a bit more ergonomic e.g.\n //\n // function loader() {\n // return { queryRef: await preloadQuery(query).toPromise() }\n // }\n return getWrappedPromise(ref).then(function () { return ref; });\n }\n },\n _a[QUERY_REFERENCE_SYMBOL] = internalQueryRef,\n _a[PROMISE_SYMBOL] = internalQueryRef.promise,\n _a);\n return ref;\n}\nexport function getWrappedPromise(queryRef) {\n var internalQueryRef = unwrapQueryRef(queryRef);\n return internalQueryRef.promise.status === \"fulfilled\" ?\n internalQueryRef.promise\n : queryRef[PROMISE_SYMBOL];\n}\nexport function unwrapQueryRef(queryRef) {\n return queryRef[QUERY_REFERENCE_SYMBOL];\n}\nexport function updateWrappedQueryRef(queryRef, promise) {\n queryRef[PROMISE_SYMBOL] = promise;\n}\nvar OBSERVED_CHANGED_OPTIONS = [\n \"canonizeResults\",\n \"context\",\n \"errorPolicy\",\n \"fetchPolicy\",\n \"refetchWritePolicy\",\n \"returnPartialData\",\n];\nvar InternalQueryReference = /** @class */ (function () {\n function InternalQueryReference(observable, options) {\n var _this = this;\n this.key = {};\n this.listeners = new Set();\n this.references = 0;\n this.handleNext = this.handleNext.bind(this);\n this.handleError = this.handleError.bind(this);\n this.dispose = this.dispose.bind(this);\n this.observable = observable;\n if (options.onDispose) {\n this.onDispose = options.onDispose;\n }\n this.setResult();\n this.subscribeToQuery();\n // Start a timer that will automatically dispose of the query if the\n // suspended resource does not use this queryRef in the given time. This\n // helps prevent memory leaks when a component has unmounted before the\n // query has finished loading.\n var startDisposeTimer = function () {\n var _a;\n if (!_this.references) {\n _this.autoDisposeTimeoutId = setTimeout(_this.dispose, (_a = options.autoDisposeTimeoutMs) !== null && _a !== void 0 ? _a : 30000);\n }\n };\n // We wait until the request has settled to ensure we don't dispose of the\n // query ref before the request finishes, otherwise we would leave the\n // promise in a pending state rendering the suspense boundary indefinitely.\n this.promise.then(startDisposeTimer, startDisposeTimer);\n }\n Object.defineProperty(InternalQueryReference.prototype, \"disposed\", {\n get: function () {\n return this.subscription.closed;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InternalQueryReference.prototype, \"watchQueryOptions\", {\n get: function () {\n return this.observable.options;\n },\n enumerable: false,\n configurable: true\n });\n InternalQueryReference.prototype.reinitialize = function () {\n var observable = this.observable;\n var originalFetchPolicy = this.watchQueryOptions.fetchPolicy;\n try {\n if (originalFetchPolicy !== \"no-cache\") {\n observable.resetLastResults();\n observable.silentSetOptions({ fetchPolicy: \"cache-first\" });\n }\n else {\n observable.silentSetOptions({ fetchPolicy: \"standby\" });\n }\n this.subscribeToQuery();\n if (originalFetchPolicy === \"no-cache\") {\n return;\n }\n observable.resetDiff();\n this.setResult();\n }\n finally {\n observable.silentSetOptions({ fetchPolicy: originalFetchPolicy });\n }\n };\n InternalQueryReference.prototype.retain = function () {\n var _this = this;\n this.references++;\n clearTimeout(this.autoDisposeTimeoutId);\n var disposed = false;\n return function () {\n if (disposed) {\n return;\n }\n disposed = true;\n _this.references--;\n // Wait before fully disposing in case the app is running in strict mode.\n setTimeout(function () {\n if (!_this.references) {\n _this.dispose();\n }\n });\n };\n };\n InternalQueryReference.prototype.didChangeOptions = function (watchQueryOptions) {\n var _this = this;\n return OBSERVED_CHANGED_OPTIONS.some(function (option) {\n return !equal(_this.watchQueryOptions[option], watchQueryOptions[option]);\n });\n };\n InternalQueryReference.prototype.applyOptions = function (watchQueryOptions) {\n var _a = this.watchQueryOptions, currentFetchPolicy = _a.fetchPolicy, currentCanonizeResults = _a.canonizeResults;\n // \"standby\" is used when `skip` is set to `true`. Detect when we've\n // enabled the query (i.e. `skip` is `false`) to execute a network request.\n if (currentFetchPolicy === \"standby\" &&\n currentFetchPolicy !== watchQueryOptions.fetchPolicy) {\n this.initiateFetch(this.observable.reobserve(watchQueryOptions));\n }\n else {\n this.observable.silentSetOptions(watchQueryOptions);\n if (currentCanonizeResults !== watchQueryOptions.canonizeResults) {\n this.result = __assign(__assign({}, this.result), this.observable.getCurrentResult());\n this.promise = createFulfilledPromise(this.result);\n }\n }\n return this.promise;\n };\n InternalQueryReference.prototype.listen = function (listener) {\n var _this = this;\n this.listeners.add(listener);\n return function () {\n _this.listeners.delete(listener);\n };\n };\n InternalQueryReference.prototype.refetch = function (variables) {\n return this.initiateFetch(this.observable.refetch(variables));\n };\n InternalQueryReference.prototype.fetchMore = function (options) {\n return this.initiateFetch(this.observable.fetchMore(options));\n };\n InternalQueryReference.prototype.dispose = function () {\n this.subscription.unsubscribe();\n this.onDispose();\n };\n InternalQueryReference.prototype.onDispose = function () {\n // noop. overridable by options\n };\n InternalQueryReference.prototype.handleNext = function (result) {\n var _a;\n switch (this.promise.status) {\n case \"pending\": {\n // Maintain the last successful `data` value if the next result does not\n // have one.\n if (result.data === void 0) {\n result.data = this.result.data;\n }\n this.result = result;\n (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, result);\n break;\n }\n default: {\n // This occurs when switching to a result that is fully cached when this\n // class is instantiated. ObservableQuery will run reobserve when\n // subscribing, which delivers a result from the cache.\n if (result.data === this.result.data) {\n return;\n }\n // Maintain the last successful `data` value if the next result does not\n // have one.\n if (result.data === void 0) {\n result.data = this.result.data;\n }\n this.result = result;\n this.promise = createFulfilledPromise(result);\n this.deliver(this.promise);\n break;\n }\n }\n };\n InternalQueryReference.prototype.handleError = function (error) {\n var _a;\n this.subscription.unsubscribe();\n this.subscription = this.observable.resubscribeAfterError(this.handleNext, this.handleError);\n switch (this.promise.status) {\n case \"pending\": {\n (_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, error);\n break;\n }\n default: {\n this.promise = createRejectedPromise(error);\n this.deliver(this.promise);\n }\n }\n };\n InternalQueryReference.prototype.deliver = function (promise) {\n this.listeners.forEach(function (listener) { return listener(promise); });\n };\n InternalQueryReference.prototype.initiateFetch = function (returnedPromise) {\n var _this = this;\n this.promise = this.createPendingPromise();\n this.promise.catch(function () { });\n // If the data returned from the fetch is deeply equal to the data already\n // in the cache, `handleNext` will not be triggered leaving the promise we\n // created in a pending state forever. To avoid this situtation, we attempt\n // to resolve the promise if `handleNext` hasn't been run to ensure the\n // promise is resolved correctly.\n returnedPromise\n .then(function (result) {\n var _a;\n if (_this.promise.status === \"pending\") {\n _this.result = result;\n (_a = _this.resolve) === null || _a === void 0 ? void 0 : _a.call(_this, result);\n }\n })\n .catch(function () { });\n return returnedPromise;\n };\n InternalQueryReference.prototype.subscribeToQuery = function () {\n var _this = this;\n this.subscription = this.observable\n .filter(function (result) { return !equal(result.data, {}) && !equal(result, _this.result); })\n .subscribe(this.handleNext, this.handleError);\n };\n InternalQueryReference.prototype.setResult = function () {\n // Don't save this result as last result to prevent delivery of last result\n // when first subscribing\n var result = this.observable.getCurrentResult(false);\n if (equal(result, this.result)) {\n return;\n }\n this.result = result;\n this.promise =\n (result.data &&\n (!result.partial || this.watchQueryOptions.returnPartialData)) ?\n createFulfilledPromise(result)\n : this.createPendingPromise();\n };\n InternalQueryReference.prototype.createPendingPromise = function () {\n var _this = this;\n return wrapPromiseWithState(new Promise(function (resolve, reject) {\n _this.resolve = resolve;\n _this.reject = reject;\n }));\n };\n return InternalQueryReference;\n}());\nexport { InternalQueryReference };\n//# sourceMappingURL=QueryReference.js.map","import { Trie } from \"@wry/trie\";\nimport { canUseWeakMap } from \"../../../utilities/index.js\";\nimport { InternalQueryReference } from \"./QueryReference.js\";\nvar SuspenseCache = /** @class */ (function () {\n function SuspenseCache(options) {\n if (options === void 0) { options = Object.create(null); }\n this.queryRefs = new Trie(canUseWeakMap);\n this.options = options;\n }\n SuspenseCache.prototype.getQueryRef = function (cacheKey, createObservable) {\n var ref = this.queryRefs.lookupArray(cacheKey);\n if (!ref.current) {\n ref.current = new InternalQueryReference(createObservable(), {\n autoDisposeTimeoutMs: this.options.autoDisposeTimeoutMs,\n onDispose: function () {\n delete ref.current;\n },\n });\n }\n return ref.current;\n };\n return SuspenseCache;\n}());\nexport { SuspenseCache };\n//# sourceMappingURL=SuspenseCache.js.map","import { SuspenseCache } from \"./SuspenseCache.js\";\nvar suspenseCacheSymbol = Symbol.for(\"apollo.suspenseCache\");\nexport function getSuspenseCache(client) {\n var _a;\n if (!client[suspenseCacheSymbol]) {\n client[suspenseCacheSymbol] = new SuspenseCache((_a = client.defaultOptions.react) === null || _a === void 0 ? void 0 : _a.suspense);\n }\n return client[suspenseCacheSymbol];\n}\n//# sourceMappingURL=getSuspenseCache.js.map"],"names":["equal","__assign","createFulfilledPromise","createRejectedPromise","wrapPromiseWithState","Trie","canUseWeakMap"],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var trie = require('@wry/trie');
|
|
6
|
+
var utilities = require('../../utilities');
|
|
7
|
+
var tslib = require('tslib');
|
|
8
|
+
var equality = require('@wry/equality');
|
|
9
|
+
|
|
10
|
+
var QUERY_REFERENCE_SYMBOL = Symbol();
|
|
11
|
+
var PROMISE_SYMBOL = Symbol();
|
|
12
|
+
function wrapQueryRef(internalQueryRef) {
|
|
13
|
+
var _a;
|
|
14
|
+
var ref = (_a = {
|
|
15
|
+
toPromise: function () {
|
|
16
|
+
return getWrappedPromise(ref).then(function () { return ref; });
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
_a[QUERY_REFERENCE_SYMBOL] = internalQueryRef,
|
|
20
|
+
_a[PROMISE_SYMBOL] = internalQueryRef.promise,
|
|
21
|
+
_a);
|
|
22
|
+
return ref;
|
|
23
|
+
}
|
|
24
|
+
function getWrappedPromise(queryRef) {
|
|
25
|
+
var internalQueryRef = unwrapQueryRef(queryRef);
|
|
26
|
+
return internalQueryRef.promise.status === "fulfilled" ?
|
|
27
|
+
internalQueryRef.promise
|
|
28
|
+
: queryRef[PROMISE_SYMBOL];
|
|
29
|
+
}
|
|
30
|
+
function unwrapQueryRef(queryRef) {
|
|
31
|
+
return queryRef[QUERY_REFERENCE_SYMBOL];
|
|
32
|
+
}
|
|
33
|
+
function updateWrappedQueryRef(queryRef, promise) {
|
|
34
|
+
queryRef[PROMISE_SYMBOL] = promise;
|
|
35
|
+
}
|
|
36
|
+
var OBSERVED_CHANGED_OPTIONS = [
|
|
37
|
+
"canonizeResults",
|
|
38
|
+
"context",
|
|
39
|
+
"errorPolicy",
|
|
40
|
+
"fetchPolicy",
|
|
41
|
+
"refetchWritePolicy",
|
|
42
|
+
"returnPartialData",
|
|
43
|
+
];
|
|
44
|
+
var InternalQueryReference = (function () {
|
|
45
|
+
function InternalQueryReference(observable, options) {
|
|
46
|
+
var _this = this;
|
|
47
|
+
this.key = {};
|
|
48
|
+
this.listeners = new Set();
|
|
49
|
+
this.references = 0;
|
|
50
|
+
this.handleNext = this.handleNext.bind(this);
|
|
51
|
+
this.handleError = this.handleError.bind(this);
|
|
52
|
+
this.dispose = this.dispose.bind(this);
|
|
53
|
+
this.observable = observable;
|
|
54
|
+
if (options.onDispose) {
|
|
55
|
+
this.onDispose = options.onDispose;
|
|
56
|
+
}
|
|
57
|
+
this.setResult();
|
|
58
|
+
this.subscribeToQuery();
|
|
59
|
+
var startDisposeTimer = function () {
|
|
60
|
+
var _a;
|
|
61
|
+
if (!_this.references) {
|
|
62
|
+
_this.autoDisposeTimeoutId = setTimeout(_this.dispose, (_a = options.autoDisposeTimeoutMs) !== null && _a !== void 0 ? _a : 30000);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
this.promise.then(startDisposeTimer, startDisposeTimer);
|
|
66
|
+
}
|
|
67
|
+
Object.defineProperty(InternalQueryReference.prototype, "disposed", {
|
|
68
|
+
get: function () {
|
|
69
|
+
return this.subscription.closed;
|
|
70
|
+
},
|
|
71
|
+
enumerable: false,
|
|
72
|
+
configurable: true
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(InternalQueryReference.prototype, "watchQueryOptions", {
|
|
75
|
+
get: function () {
|
|
76
|
+
return this.observable.options;
|
|
77
|
+
},
|
|
78
|
+
enumerable: false,
|
|
79
|
+
configurable: true
|
|
80
|
+
});
|
|
81
|
+
InternalQueryReference.prototype.reinitialize = function () {
|
|
82
|
+
var observable = this.observable;
|
|
83
|
+
var originalFetchPolicy = this.watchQueryOptions.fetchPolicy;
|
|
84
|
+
try {
|
|
85
|
+
if (originalFetchPolicy !== "no-cache") {
|
|
86
|
+
observable.resetLastResults();
|
|
87
|
+
observable.silentSetOptions({ fetchPolicy: "cache-first" });
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
observable.silentSetOptions({ fetchPolicy: "standby" });
|
|
91
|
+
}
|
|
92
|
+
this.subscribeToQuery();
|
|
93
|
+
if (originalFetchPolicy === "no-cache") {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
observable.resetDiff();
|
|
97
|
+
this.setResult();
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
observable.silentSetOptions({ fetchPolicy: originalFetchPolicy });
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
InternalQueryReference.prototype.retain = function () {
|
|
104
|
+
var _this = this;
|
|
105
|
+
this.references++;
|
|
106
|
+
clearTimeout(this.autoDisposeTimeoutId);
|
|
107
|
+
var disposed = false;
|
|
108
|
+
return function () {
|
|
109
|
+
if (disposed) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
disposed = true;
|
|
113
|
+
_this.references--;
|
|
114
|
+
setTimeout(function () {
|
|
115
|
+
if (!_this.references) {
|
|
116
|
+
_this.dispose();
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
InternalQueryReference.prototype.didChangeOptions = function (watchQueryOptions) {
|
|
122
|
+
var _this = this;
|
|
123
|
+
return OBSERVED_CHANGED_OPTIONS.some(function (option) {
|
|
124
|
+
return !equality.equal(_this.watchQueryOptions[option], watchQueryOptions[option]);
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
InternalQueryReference.prototype.applyOptions = function (watchQueryOptions) {
|
|
128
|
+
var _a = this.watchQueryOptions, currentFetchPolicy = _a.fetchPolicy, currentCanonizeResults = _a.canonizeResults;
|
|
129
|
+
if (currentFetchPolicy === "standby" &&
|
|
130
|
+
currentFetchPolicy !== watchQueryOptions.fetchPolicy) {
|
|
131
|
+
this.initiateFetch(this.observable.reobserve(watchQueryOptions));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this.observable.silentSetOptions(watchQueryOptions);
|
|
135
|
+
if (currentCanonizeResults !== watchQueryOptions.canonizeResults) {
|
|
136
|
+
this.result = tslib.__assign(tslib.__assign({}, this.result), this.observable.getCurrentResult());
|
|
137
|
+
this.promise = utilities.createFulfilledPromise(this.result);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return this.promise;
|
|
141
|
+
};
|
|
142
|
+
InternalQueryReference.prototype.listen = function (listener) {
|
|
143
|
+
var _this = this;
|
|
144
|
+
this.listeners.add(listener);
|
|
145
|
+
return function () {
|
|
146
|
+
_this.listeners.delete(listener);
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
InternalQueryReference.prototype.refetch = function (variables) {
|
|
150
|
+
return this.initiateFetch(this.observable.refetch(variables));
|
|
151
|
+
};
|
|
152
|
+
InternalQueryReference.prototype.fetchMore = function (options) {
|
|
153
|
+
return this.initiateFetch(this.observable.fetchMore(options));
|
|
154
|
+
};
|
|
155
|
+
InternalQueryReference.prototype.dispose = function () {
|
|
156
|
+
this.subscription.unsubscribe();
|
|
157
|
+
this.onDispose();
|
|
158
|
+
};
|
|
159
|
+
InternalQueryReference.prototype.onDispose = function () {
|
|
160
|
+
};
|
|
161
|
+
InternalQueryReference.prototype.handleNext = function (result) {
|
|
162
|
+
var _a;
|
|
163
|
+
switch (this.promise.status) {
|
|
164
|
+
case "pending": {
|
|
165
|
+
if (result.data === void 0) {
|
|
166
|
+
result.data = this.result.data;
|
|
167
|
+
}
|
|
168
|
+
this.result = result;
|
|
169
|
+
(_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, result);
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
default: {
|
|
173
|
+
if (result.data === this.result.data) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (result.data === void 0) {
|
|
177
|
+
result.data = this.result.data;
|
|
178
|
+
}
|
|
179
|
+
this.result = result;
|
|
180
|
+
this.promise = utilities.createFulfilledPromise(result);
|
|
181
|
+
this.deliver(this.promise);
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
InternalQueryReference.prototype.handleError = function (error) {
|
|
187
|
+
var _a;
|
|
188
|
+
this.subscription.unsubscribe();
|
|
189
|
+
this.subscription = this.observable.resubscribeAfterError(this.handleNext, this.handleError);
|
|
190
|
+
switch (this.promise.status) {
|
|
191
|
+
case "pending": {
|
|
192
|
+
(_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, error);
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
default: {
|
|
196
|
+
this.promise = utilities.createRejectedPromise(error);
|
|
197
|
+
this.deliver(this.promise);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
InternalQueryReference.prototype.deliver = function (promise) {
|
|
202
|
+
this.listeners.forEach(function (listener) { return listener(promise); });
|
|
203
|
+
};
|
|
204
|
+
InternalQueryReference.prototype.initiateFetch = function (returnedPromise) {
|
|
205
|
+
var _this = this;
|
|
206
|
+
this.promise = this.createPendingPromise();
|
|
207
|
+
this.promise.catch(function () { });
|
|
208
|
+
returnedPromise
|
|
209
|
+
.then(function (result) {
|
|
210
|
+
var _a;
|
|
211
|
+
if (_this.promise.status === "pending") {
|
|
212
|
+
_this.result = result;
|
|
213
|
+
(_a = _this.resolve) === null || _a === void 0 ? void 0 : _a.call(_this, result);
|
|
214
|
+
}
|
|
215
|
+
})
|
|
216
|
+
.catch(function () { });
|
|
217
|
+
return returnedPromise;
|
|
218
|
+
};
|
|
219
|
+
InternalQueryReference.prototype.subscribeToQuery = function () {
|
|
220
|
+
var _this = this;
|
|
221
|
+
this.subscription = this.observable
|
|
222
|
+
.filter(function (result) { return !equality.equal(result.data, {}) && !equality.equal(result, _this.result); })
|
|
223
|
+
.subscribe(this.handleNext, this.handleError);
|
|
224
|
+
};
|
|
225
|
+
InternalQueryReference.prototype.setResult = function () {
|
|
226
|
+
var result = this.observable.getCurrentResult(false);
|
|
227
|
+
if (equality.equal(result, this.result)) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
this.result = result;
|
|
231
|
+
this.promise =
|
|
232
|
+
(result.data &&
|
|
233
|
+
(!result.partial || this.watchQueryOptions.returnPartialData)) ?
|
|
234
|
+
utilities.createFulfilledPromise(result)
|
|
235
|
+
: this.createPendingPromise();
|
|
236
|
+
};
|
|
237
|
+
InternalQueryReference.prototype.createPendingPromise = function () {
|
|
238
|
+
var _this = this;
|
|
239
|
+
return utilities.wrapPromiseWithState(new Promise(function (resolve, reject) {
|
|
240
|
+
_this.resolve = resolve;
|
|
241
|
+
_this.reject = reject;
|
|
242
|
+
}));
|
|
243
|
+
};
|
|
244
|
+
return InternalQueryReference;
|
|
245
|
+
}());
|
|
246
|
+
|
|
247
|
+
var SuspenseCache = (function () {
|
|
248
|
+
function SuspenseCache(options) {
|
|
249
|
+
if (options === void 0) { options = Object.create(null); }
|
|
250
|
+
this.queryRefs = new trie.Trie(utilities.canUseWeakMap);
|
|
251
|
+
this.options = options;
|
|
252
|
+
}
|
|
253
|
+
SuspenseCache.prototype.getQueryRef = function (cacheKey, createObservable) {
|
|
254
|
+
var ref = this.queryRefs.lookupArray(cacheKey);
|
|
255
|
+
if (!ref.current) {
|
|
256
|
+
ref.current = new InternalQueryReference(createObservable(), {
|
|
257
|
+
autoDisposeTimeoutMs: this.options.autoDisposeTimeoutMs,
|
|
258
|
+
onDispose: function () {
|
|
259
|
+
delete ref.current;
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
return ref.current;
|
|
264
|
+
};
|
|
265
|
+
return SuspenseCache;
|
|
266
|
+
}());
|
|
267
|
+
|
|
268
|
+
var suspenseCacheSymbol = Symbol.for("apollo.suspenseCache");
|
|
269
|
+
function getSuspenseCache(client) {
|
|
270
|
+
var _a;
|
|
271
|
+
if (!client[suspenseCacheSymbol]) {
|
|
272
|
+
client[suspenseCacheSymbol] = new SuspenseCache((_a = client.defaultOptions.react) === null || _a === void 0 ? void 0 : _a.suspense);
|
|
273
|
+
}
|
|
274
|
+
return client[suspenseCacheSymbol];
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
exports.InternalQueryReference = InternalQueryReference;
|
|
278
|
+
exports.getSuspenseCache = getSuspenseCache;
|
|
279
|
+
exports.getWrappedPromise = getWrappedPromise;
|
|
280
|
+
exports.unwrapQueryRef = unwrapQueryRef;
|
|
281
|
+
exports.updateWrappedQueryRef = updateWrappedQueryRef;
|
|
282
|
+
exports.wrapQueryRef = wrapQueryRef;
|
|
283
|
+
//# sourceMappingURL=internal.cjs.map
|