relay-runtime 0.0.0-main-2abce249 → 0.0.0-main-e78cd90a
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/index.js +1 -1
- package/lib/store/RelayReader.js +49 -55
- package/lib/store/RelayStoreUtils.js +1 -3
- package/lib/store/ResolverCache.js +29 -29
- package/lib/store/experimental-live-resolvers/LiveResolverCache.js +26 -26
- package/package.json +1 -1
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/RelayReader.js.flow +34 -52
- package/store/RelayStoreUtils.js.flow +1 -3
- package/store/ResolverCache.js.flow +36 -51
- package/store/experimental-live-resolvers/LiveResolverCache.js.flow +27 -50
package/index.js
CHANGED
package/lib/store/RelayReader.js
CHANGED
|
@@ -508,47 +508,18 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
508
508
|
// evaluating the resolver and it calls readFragment, or when checking if the
|
|
509
509
|
// inputs have changed since a previous evaluation:
|
|
510
510
|
|
|
511
|
-
var
|
|
512
|
-
var fragmentReaderSelector;
|
|
513
|
-
var fragmentMissingRequiredFields;
|
|
514
|
-
var previousMissingRequriedFields;
|
|
515
|
-
var currentResolverErrors = [];
|
|
516
|
-
var previousResolverErrors;
|
|
517
|
-
var fragmentSeenRecordIDs = new Set();
|
|
511
|
+
var snapshot;
|
|
518
512
|
|
|
519
513
|
var getDataForResolverFragment = function getDataForResolverFragment(singularReaderSelector) {
|
|
520
|
-
if (
|
|
514
|
+
if (snapshot != null) {
|
|
521
515
|
// It was already read when checking for input staleness; no need to read it again.
|
|
522
516
|
// Note that the variables like fragmentSeenRecordIDs in the outer closure will have
|
|
523
517
|
// already been set and will still be used in this case.
|
|
524
|
-
return
|
|
518
|
+
return snapshot.data;
|
|
525
519
|
}
|
|
526
520
|
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
try {
|
|
531
|
-
var _resolverFragmentData;
|
|
532
|
-
|
|
533
|
-
_this._seenRecords = fragmentSeenRecordIDs;
|
|
534
|
-
var resolverFragmentData = {};
|
|
535
|
-
previousMissingRequriedFields = _this._missingRequiredFields;
|
|
536
|
-
_this._missingRequiredFields = null;
|
|
537
|
-
previousResolverErrors = _this._resolverErrors;
|
|
538
|
-
_this._resolverErrors = [];
|
|
539
|
-
|
|
540
|
-
_this._createInlineDataOrResolverFragmentPointer(singularReaderSelector.node, record, resolverFragmentData);
|
|
541
|
-
|
|
542
|
-
fragmentMissingRequiredFields = _this._missingRequiredFields;
|
|
543
|
-
currentResolverErrors = _this._resolverErrors;
|
|
544
|
-
fragmentValue = (_resolverFragmentData = resolverFragmentData[FRAGMENTS_KEY]) === null || _resolverFragmentData === void 0 ? void 0 : _resolverFragmentData[fragment.name];
|
|
545
|
-
!(typeof fragmentValue === 'object' && fragmentValue !== null) ? process.env.NODE_ENV !== "production" ? invariant(false, "Expected reader data to contain a __fragments property with a property for the fragment named ".concat(fragment.name, ", but it is missing.")) : invariant(false) : void 0;
|
|
546
|
-
return fragmentValue;
|
|
547
|
-
} finally {
|
|
548
|
-
_this._seenRecords = existingSeenRecords;
|
|
549
|
-
_this._missingRequiredFields = previousMissingRequriedFields;
|
|
550
|
-
_this._resolverErrors = previousResolverErrors;
|
|
551
|
-
}
|
|
521
|
+
snapshot = read(_this._recordSource, singularReaderSelector, _this._resolverCache);
|
|
522
|
+
return snapshot.data;
|
|
552
523
|
};
|
|
553
524
|
|
|
554
525
|
var resolverContext = {
|
|
@@ -563,6 +534,7 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
563
534
|
};
|
|
564
535
|
return withResolverContext(resolverContext, function () {
|
|
565
536
|
var resolverResult = null;
|
|
537
|
+
var resolverError = null;
|
|
566
538
|
|
|
567
539
|
try {
|
|
568
540
|
// $FlowFixMe[prop-missing] - resolver module's type signature is a lie
|
|
@@ -572,23 +544,20 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
572
544
|
|
|
573
545
|
// `field.path` is typed as nullable while we rollout compiler changes.
|
|
574
546
|
var path = (_field$path = field.path) !== null && _field$path !== void 0 ? _field$path : '[UNKNOWN]';
|
|
575
|
-
|
|
547
|
+
resolverError = {
|
|
576
548
|
field: {
|
|
577
549
|
path: path,
|
|
578
550
|
owner: _this._fragmentName
|
|
579
551
|
},
|
|
580
552
|
error: e
|
|
581
|
-
}
|
|
553
|
+
};
|
|
582
554
|
}
|
|
583
555
|
|
|
584
556
|
return {
|
|
585
557
|
resolverResult: resolverResult,
|
|
586
|
-
|
|
587
|
-
fragmentValue: fragmentValue,
|
|
558
|
+
snapshot: snapshot,
|
|
588
559
|
resolverID: resolverID,
|
|
589
|
-
|
|
590
|
-
readerSelector: fragmentReaderSelector,
|
|
591
|
-
missingRequiredFields: fragmentMissingRequiredFields
|
|
560
|
+
error: resolverError
|
|
592
561
|
};
|
|
593
562
|
});
|
|
594
563
|
};
|
|
@@ -596,26 +565,51 @@ var RelayReader = /*#__PURE__*/function () {
|
|
|
596
565
|
var _this$_resolverCache$ = this._resolverCache.readFromCacheOrEvaluate(record, field, this._variables, evaluate, getDataForResolverFragment),
|
|
597
566
|
result = _this$_resolverCache$[0],
|
|
598
567
|
seenRecord = _this$_resolverCache$[1],
|
|
599
|
-
|
|
600
|
-
|
|
568
|
+
resolverError = _this$_resolverCache$[2],
|
|
569
|
+
cachedSnapshot = _this$_resolverCache$[3];
|
|
570
|
+
|
|
571
|
+
if (cachedSnapshot != null) {
|
|
572
|
+
if (cachedSnapshot.missingRequiredFields != null) {
|
|
573
|
+
this._addMissingRequiredFields(cachedSnapshot.missingRequiredFields);
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
if (cachedSnapshot.missingClientEdges != null) {
|
|
577
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(cachedSnapshot.missingClientEdges),
|
|
578
|
+
_step;
|
|
579
|
+
|
|
580
|
+
try {
|
|
581
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
582
|
+
var missing = _step.value;
|
|
601
583
|
|
|
602
|
-
|
|
603
|
-
|
|
584
|
+
this._missingClientEdges.push(missing);
|
|
585
|
+
}
|
|
586
|
+
} catch (err) {
|
|
587
|
+
_iterator.e(err);
|
|
588
|
+
} finally {
|
|
589
|
+
_iterator.f();
|
|
590
|
+
}
|
|
591
|
+
}
|
|
604
592
|
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
var resolverError = _step.value;
|
|
593
|
+
var _iterator2 = (0, _createForOfIteratorHelper2["default"])(cachedSnapshot.relayResolverErrors),
|
|
594
|
+
_step2;
|
|
608
595
|
|
|
609
|
-
|
|
596
|
+
try {
|
|
597
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
598
|
+
var error = _step2.value;
|
|
599
|
+
|
|
600
|
+
this._resolverErrors.push(error);
|
|
601
|
+
}
|
|
602
|
+
} catch (err) {
|
|
603
|
+
_iterator2.e(err);
|
|
604
|
+
} finally {
|
|
605
|
+
_iterator2.f();
|
|
610
606
|
}
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
} finally {
|
|
614
|
-
_iterator.f();
|
|
607
|
+
|
|
608
|
+
this._isMissingData = this._isMissingData || cachedSnapshot.isMissingData;
|
|
615
609
|
}
|
|
616
610
|
|
|
617
|
-
if (
|
|
618
|
-
this.
|
|
611
|
+
if (resolverError) {
|
|
612
|
+
this._resolverErrors.push(resolverError);
|
|
619
613
|
}
|
|
620
614
|
|
|
621
615
|
if (seenRecord != null) {
|
|
@@ -209,9 +209,7 @@ var RelayStoreUtils = {
|
|
|
209
209
|
IS_WITHIN_UNMATCHED_TYPE_REFINEMENT: '__isWithinUnmatchedTypeRefinement',
|
|
210
210
|
RELAY_RESOLVER_VALUE_KEY: '__resolverValue',
|
|
211
211
|
RELAY_RESOLVER_INVALIDATION_KEY: '__resolverValueMayBeInvalid',
|
|
212
|
-
|
|
213
|
-
RELAY_RESOLVER_READER_SELECTOR_KEY: '__resolverReaderSelector',
|
|
214
|
-
RELAY_RESOLVER_MISSING_REQUIRED_FIELDS_KEY: '__resolverMissingRequiredFields',
|
|
212
|
+
RELAY_RESOLVER_SNAPSHOT_KEY: '__resolverSnapshot',
|
|
215
213
|
RELAY_RESOLVER_ERROR_KEY: '__resolverError',
|
|
216
214
|
formatStorageKey: formatStorageKey,
|
|
217
215
|
getArgumentValue: getArgumentValue,
|
|
@@ -26,10 +26,8 @@ var RelayModernRecord = require('./RelayModernRecord');
|
|
|
26
26
|
|
|
27
27
|
var _require3 = require('./RelayStoreUtils'),
|
|
28
28
|
RELAY_RESOLVER_ERROR_KEY = _require3.RELAY_RESOLVER_ERROR_KEY,
|
|
29
|
-
RELAY_RESOLVER_INPUTS_KEY = _require3.RELAY_RESOLVER_INPUTS_KEY,
|
|
30
29
|
RELAY_RESOLVER_INVALIDATION_KEY = _require3.RELAY_RESOLVER_INVALIDATION_KEY,
|
|
31
|
-
|
|
32
|
-
RELAY_RESOLVER_READER_SELECTOR_KEY = _require3.RELAY_RESOLVER_READER_SELECTOR_KEY,
|
|
30
|
+
RELAY_RESOLVER_SNAPSHOT_KEY = _require3.RELAY_RESOLVER_SNAPSHOT_KEY,
|
|
33
31
|
RELAY_RESOLVER_VALUE_KEY = _require3.RELAY_RESOLVER_VALUE_KEY,
|
|
34
32
|
getStorageKey = _require3.getStorageKey;
|
|
35
33
|
|
|
@@ -50,10 +48,10 @@ var NoopResolverCache = /*#__PURE__*/function () {
|
|
|
50
48
|
|
|
51
49
|
var _evaluate = evaluate(),
|
|
52
50
|
resolverResult = _evaluate.resolverResult,
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
snapshot = _evaluate.snapshot,
|
|
52
|
+
error = _evaluate.error;
|
|
55
53
|
|
|
56
|
-
return [resolverResult, undefined,
|
|
54
|
+
return [resolverResult, undefined, error, snapshot];
|
|
57
55
|
};
|
|
58
56
|
|
|
59
57
|
_proto.invalidateDataIDs = function invalidateDataIDs(updatedDataIDs) {};
|
|
@@ -94,17 +92,15 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
94
92
|
var linkedRecord = linkedID == null ? null : recordSource.get(linkedID);
|
|
95
93
|
|
|
96
94
|
if (linkedRecord == null || this._isInvalid(linkedRecord, getDataForResolverFragment)) {
|
|
97
|
-
var _linkedID;
|
|
95
|
+
var _linkedID, _evaluationResult$sna;
|
|
98
96
|
|
|
99
97
|
// Cache miss; evaluate the selector and store the result in a new record:
|
|
100
98
|
linkedID = (_linkedID = linkedID) !== null && _linkedID !== void 0 ? _linkedID : generateClientID(recordID, storageKey);
|
|
101
99
|
linkedRecord = RelayModernRecord.create(linkedID, '__RELAY_RESOLVER__');
|
|
102
100
|
var evaluationResult = evaluate();
|
|
103
101
|
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_VALUE_KEY, evaluationResult.resolverResult);
|
|
104
|
-
RelayModernRecord.setValue(linkedRecord,
|
|
105
|
-
RelayModernRecord.setValue(linkedRecord,
|
|
106
|
-
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_MISSING_REQUIRED_FIELDS_KEY, evaluationResult.missingRequiredFields);
|
|
107
|
-
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_ERROR_KEY, evaluationResult.errors);
|
|
102
|
+
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_SNAPSHOT_KEY, evaluationResult.snapshot);
|
|
103
|
+
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_ERROR_KEY, evaluationResult.error);
|
|
108
104
|
recordSource.set(linkedID, linkedRecord); // Link the resolver value record to the resolver field of the record being read:
|
|
109
105
|
|
|
110
106
|
var nextRecord = RelayModernRecord.clone(record);
|
|
@@ -114,29 +110,32 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
114
110
|
var resolverID = evaluationResult.resolverID;
|
|
115
111
|
addDependencyEdge(this._resolverIDToRecordIDs, resolverID, linkedID);
|
|
116
112
|
addDependencyEdge(this._recordIDToResolverIDs, recordID, resolverID);
|
|
113
|
+
var seenRecordIds = (_evaluationResult$sna = evaluationResult.snapshot) === null || _evaluationResult$sna === void 0 ? void 0 : _evaluationResult$sna.seenRecords;
|
|
117
114
|
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
if (seenRecordIds != null) {
|
|
116
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(seenRecordIds),
|
|
117
|
+
_step;
|
|
120
118
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
try {
|
|
120
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
121
|
+
var seenRecordID = _step.value;
|
|
122
|
+
addDependencyEdge(this._recordIDToResolverIDs, seenRecordID, resolverID);
|
|
123
|
+
}
|
|
124
|
+
} catch (err) {
|
|
125
|
+
_iterator.e(err);
|
|
126
|
+
} finally {
|
|
127
|
+
_iterator.f();
|
|
125
128
|
}
|
|
126
|
-
} catch (err) {
|
|
127
|
-
_iterator.e(err);
|
|
128
|
-
} finally {
|
|
129
|
-
_iterator.f();
|
|
130
129
|
}
|
|
131
130
|
} // $FlowFixMe[incompatible-type] - will always be empty
|
|
132
131
|
|
|
133
132
|
|
|
134
|
-
var answer = linkedRecord[RELAY_RESOLVER_VALUE_KEY];
|
|
135
|
-
|
|
136
|
-
linkedRecord[
|
|
133
|
+
var answer = linkedRecord[RELAY_RESOLVER_VALUE_KEY]; // $FlowFixMe[incompatible-type] - casting mixed
|
|
134
|
+
|
|
135
|
+
var snapshot = linkedRecord[RELAY_RESOLVER_SNAPSHOT_KEY]; // $FlowFixMe[incompatible-type] - casting mixed
|
|
137
136
|
|
|
138
|
-
var
|
|
139
|
-
return [answer, linkedID,
|
|
137
|
+
var error = linkedRecord[RELAY_RESOLVER_ERROR_KEY];
|
|
138
|
+
return [answer, linkedID, error, snapshot];
|
|
140
139
|
};
|
|
141
140
|
|
|
142
141
|
_proto2.invalidateDataIDs = function invalidateDataIDs(updatedDataIDs) {
|
|
@@ -207,11 +206,12 @@ var RecordResolverCache = /*#__PURE__*/function () {
|
|
|
207
206
|
_proto2._isInvalid = function _isInvalid(record, getDataForResolverFragment) {
|
|
208
207
|
if (!RelayModernRecord.getValue(record, RELAY_RESOLVER_INVALIDATION_KEY)) {
|
|
209
208
|
return false;
|
|
210
|
-
}
|
|
209
|
+
} // $FlowFixMe[incompatible-type] - storing values in records is not typed
|
|
211
210
|
|
|
212
|
-
var originalInputs = RelayModernRecord.getValue(record, RELAY_RESOLVER_INPUTS_KEY); // $FlowFixMe[incompatible-type] - storing values in records is not typed
|
|
213
211
|
|
|
214
|
-
var
|
|
212
|
+
var snapshot = RelayModernRecord.getValue(record, RELAY_RESOLVER_SNAPSHOT_KEY);
|
|
213
|
+
var originalInputs = snapshot === null || snapshot === void 0 ? void 0 : snapshot.data;
|
|
214
|
+
var readerSelector = snapshot === null || snapshot === void 0 ? void 0 : snapshot.selector;
|
|
215
215
|
|
|
216
216
|
if (originalInputs == null || readerSelector == null) {
|
|
217
217
|
process.env.NODE_ENV !== "production" ? warning(false, 'Expected previous inputs and reader selector on resolver record with ID %s, but they were missing.', RelayModernRecord.getDataID(record)) : void 0;
|
|
@@ -29,10 +29,8 @@ var RelayRecordSource = require('../RelayRecordSource');
|
|
|
29
29
|
|
|
30
30
|
var _require3 = require('../RelayStoreUtils'),
|
|
31
31
|
RELAY_RESOLVER_ERROR_KEY = _require3.RELAY_RESOLVER_ERROR_KEY,
|
|
32
|
-
RELAY_RESOLVER_INPUTS_KEY = _require3.RELAY_RESOLVER_INPUTS_KEY,
|
|
33
32
|
RELAY_RESOLVER_INVALIDATION_KEY = _require3.RELAY_RESOLVER_INVALIDATION_KEY,
|
|
34
|
-
|
|
35
|
-
RELAY_RESOLVER_READER_SELECTOR_KEY = _require3.RELAY_RESOLVER_READER_SELECTOR_KEY,
|
|
33
|
+
RELAY_RESOLVER_SNAPSHOT_KEY = _require3.RELAY_RESOLVER_SNAPSHOT_KEY,
|
|
36
34
|
RELAY_RESOLVER_VALUE_KEY = _require3.RELAY_RESOLVER_VALUE_KEY,
|
|
37
35
|
getStorageKey = _require3.getStorageKey;
|
|
38
36
|
|
|
@@ -85,7 +83,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
85
83
|
var linkedRecord = linkedID == null ? null : recordSource.get(linkedID);
|
|
86
84
|
|
|
87
85
|
if (linkedRecord == null || this._isInvalid(linkedRecord, getDataForResolverFragment)) {
|
|
88
|
-
var _linkedID;
|
|
86
|
+
var _linkedID, _evaluationResult$sna;
|
|
89
87
|
|
|
90
88
|
// Cache miss; evaluate the selector and store the result in a new record:
|
|
91
89
|
linkedID = (_linkedID = linkedID) !== null && _linkedID !== void 0 ? _linkedID : generateClientID(recordID, storageKey);
|
|
@@ -105,10 +103,8 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
105
103
|
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_VALUE_KEY, evaluationResult.resolverResult);
|
|
106
104
|
}
|
|
107
105
|
|
|
108
|
-
RelayModernRecord.setValue(linkedRecord,
|
|
109
|
-
RelayModernRecord.setValue(linkedRecord,
|
|
110
|
-
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_MISSING_REQUIRED_FIELDS_KEY, evaluationResult.missingRequiredFields);
|
|
111
|
-
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_ERROR_KEY, evaluationResult.errors);
|
|
106
|
+
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_SNAPSHOT_KEY, evaluationResult.snapshot);
|
|
107
|
+
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_ERROR_KEY, evaluationResult.error);
|
|
112
108
|
recordSource.set(linkedID, linkedRecord); // Link the resolver value record to the resolver field of the record being read:
|
|
113
109
|
|
|
114
110
|
var nextRecord = RelayModernRecord.clone(record);
|
|
@@ -118,19 +114,22 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
118
114
|
var resolverID = evaluationResult.resolverID;
|
|
119
115
|
addDependencyEdge(this._resolverIDToRecordIDs, resolverID, linkedID);
|
|
120
116
|
addDependencyEdge(this._recordIDToResolverIDs, recordID, resolverID);
|
|
117
|
+
var seenRecordIds = (_evaluationResult$sna = evaluationResult.snapshot) === null || _evaluationResult$sna === void 0 ? void 0 : _evaluationResult$sna.seenRecords;
|
|
121
118
|
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
if (seenRecordIds != null) {
|
|
120
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(seenRecordIds),
|
|
121
|
+
_step;
|
|
124
122
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
try {
|
|
124
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
125
|
+
var seenRecordID = _step.value;
|
|
126
|
+
addDependencyEdge(this._recordIDToResolverIDs, seenRecordID, resolverID);
|
|
127
|
+
}
|
|
128
|
+
} catch (err) {
|
|
129
|
+
_iterator.e(err);
|
|
130
|
+
} finally {
|
|
131
|
+
_iterator.f();
|
|
129
132
|
}
|
|
130
|
-
} catch (err) {
|
|
131
|
-
_iterator.e(err);
|
|
132
|
-
} finally {
|
|
133
|
-
_iterator.f();
|
|
134
133
|
}
|
|
135
134
|
} else if (field.kind === RELAY_LIVE_RESOLVER && RelayModernRecord.getValue(linkedRecord, RELAY_RESOLVER_LIVE_STATE_DIRTY)) {
|
|
136
135
|
var _linkedID2;
|
|
@@ -152,12 +151,12 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
152
151
|
} // $FlowFixMe[incompatible-type] - will always be empty
|
|
153
152
|
|
|
154
153
|
|
|
155
|
-
var answer = linkedRecord[RELAY_RESOLVER_VALUE_KEY];
|
|
156
|
-
|
|
157
|
-
linkedRecord[
|
|
154
|
+
var answer = linkedRecord[RELAY_RESOLVER_VALUE_KEY]; // $FlowFixMe[incompatible-type] - casting mixed
|
|
155
|
+
|
|
156
|
+
var snapshot = linkedRecord[RELAY_RESOLVER_SNAPSHOT_KEY]; // $FlowFixMe[incompatible-type] - casting mixed
|
|
158
157
|
|
|
159
|
-
var
|
|
160
|
-
return [answer, linkedID,
|
|
158
|
+
var error = linkedRecord[RELAY_RESOLVER_ERROR_KEY];
|
|
159
|
+
return [answer, linkedID, error, snapshot];
|
|
161
160
|
} // Register a new Live State object in the store, subscribing to future
|
|
162
161
|
// updates.
|
|
163
162
|
;
|
|
@@ -288,11 +287,12 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
288
287
|
_proto._isInvalid = function _isInvalid(record, getDataForResolverFragment) {
|
|
289
288
|
if (!RelayModernRecord.getValue(record, RELAY_RESOLVER_INVALIDATION_KEY)) {
|
|
290
289
|
return false;
|
|
291
|
-
}
|
|
290
|
+
} // $FlowFixMe[incompatible-type] - storing values in records is not typed
|
|
292
291
|
|
|
293
|
-
var originalInputs = RelayModernRecord.getValue(record, RELAY_RESOLVER_INPUTS_KEY); // $FlowFixMe[incompatible-type] - storing values in records is not typed
|
|
294
292
|
|
|
295
|
-
var
|
|
293
|
+
var snapshot = RelayModernRecord.getValue(record, RELAY_RESOLVER_SNAPSHOT_KEY);
|
|
294
|
+
var originalInputs = snapshot === null || snapshot === void 0 ? void 0 : snapshot.data;
|
|
295
|
+
var readerSelector = snapshot === null || snapshot === void 0 ? void 0 : snapshot.selector;
|
|
296
296
|
|
|
297
297
|
if (originalInputs == null || readerSelector == null) {
|
|
298
298
|
process.env.NODE_ENV !== "production" ? warning(false, 'Expected previous inputs and reader selector on resolver record with ID %s, but they were missing.', RelayModernRecord.getDataID(record)) : void 0;
|