relay-runtime 9.0.0 → 10.1.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/handlers/RelayDefaultHandlerProvider.js.flow +47 -0
- package/handlers/connection/ConnectionHandler.js.flow +549 -0
- package/handlers/connection/ConnectionInterface.js.flow +92 -0
- package/handlers/connection/MutationHandlers.js.flow +199 -0
- package/index.js +1 -1
- package/index.js.flow +335 -0
- package/lib/handlers/RelayDefaultHandlerProvider.js +20 -0
- package/lib/handlers/connection/ConnectionHandler.js +1 -3
- package/lib/handlers/connection/MutationHandlers.js +212 -0
- package/lib/index.js +14 -2
- package/lib/mutations/RelayDeclarativeMutationConfig.js +22 -45
- package/lib/mutations/RelayRecordProxy.js +1 -3
- package/lib/mutations/RelayRecordSourceMutator.js +1 -3
- package/lib/mutations/RelayRecordSourceProxy.js +1 -3
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +1 -3
- package/lib/mutations/commitMutation.js +2 -3
- package/lib/mutations/validateMutation.js +40 -9
- package/lib/network/RelayObservable.js +9 -9
- package/lib/network/RelayQueryResponseCache.js +8 -6
- package/lib/query/GraphQLTag.js +2 -1
- package/lib/query/PreloadableQueryRegistry.js +70 -0
- package/lib/query/fetchQuery.js +2 -3
- package/lib/query/fetchQueryInternal.js +5 -14
- package/lib/store/DataChecker.js +200 -71
- package/lib/store/RelayConcreteVariables.js +6 -2
- package/lib/store/RelayModernEnvironment.js +124 -65
- package/lib/store/RelayModernFragmentSpecResolver.js +19 -14
- package/lib/store/RelayModernOperationDescriptor.js +6 -5
- package/lib/store/RelayModernQueryExecutor.js +122 -73
- package/lib/store/RelayModernRecord.js +14 -9
- package/lib/store/RelayModernSelector.js +6 -2
- package/lib/store/RelayModernStore.js +281 -131
- package/lib/store/RelayOperationTracker.js +35 -78
- package/lib/store/RelayOptimisticRecordSource.js +7 -5
- package/lib/store/RelayPublishQueue.js +2 -4
- package/lib/store/RelayReader.js +304 -52
- package/lib/store/RelayRecordSource.js +1 -3
- package/lib/store/RelayRecordSourceMapImpl.js +13 -18
- package/lib/store/RelayReferenceMarker.js +125 -14
- package/lib/store/RelayResponseNormalizer.js +261 -66
- package/lib/store/RelayStoreReactFlightUtils.js +47 -0
- package/lib/store/RelayStoreUtils.js +1 -0
- package/lib/store/StoreInspector.js +8 -8
- package/lib/store/TypeID.js +28 -0
- package/lib/store/cloneRelayScalarHandleSourceField.js +44 -0
- package/lib/store/defaultRequiredFieldLogger.js +18 -0
- package/lib/store/normalizeRelayPayload.js +6 -2
- package/lib/store/readInlineData.js +1 -1
- package/lib/subscription/requestSubscription.js +4 -3
- package/lib/util/NormalizationNode.js +1 -5
- package/lib/util/RelayConcreteNode.js +11 -6
- package/lib/util/RelayError.js +39 -9
- package/lib/util/RelayFeatureFlags.js +6 -3
- package/lib/util/RelayReplaySubject.js +3 -3
- package/lib/util/createPayloadFor3DField.js +7 -2
- package/lib/util/getFragmentIdentifier.js +12 -3
- package/lib/util/getOperation.js +33 -0
- package/lib/util/getRequestIdentifier.js +2 -2
- package/lib/util/isEmptyObject.js +25 -0
- package/lib/util/recycleNodesInto.js +6 -7
- package/lib/util/reportMissingRequiredFields.js +48 -0
- package/mutations/RelayDeclarativeMutationConfig.js.flow +380 -0
- package/mutations/RelayRecordProxy.js.flow +165 -0
- package/mutations/RelayRecordSourceMutator.js.flow +238 -0
- package/mutations/RelayRecordSourceProxy.js.flow +164 -0
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +119 -0
- package/mutations/applyOptimisticMutation.js.flow +76 -0
- package/mutations/commitLocalUpdate.js.flow +24 -0
- package/mutations/commitMutation.js.flow +181 -0
- package/mutations/validateMutation.js.flow +242 -0
- package/network/ConvertToExecuteFunction.js.flow +49 -0
- package/network/RelayNetwork.js.flow +84 -0
- package/network/RelayNetworkTypes.js.flow +145 -0
- package/network/RelayObservable.js.flow +634 -0
- package/network/RelayQueryResponseCache.js.flow +111 -0
- package/package.json +2 -2
- package/query/GraphQLTag.js.flow +168 -0
- package/query/PreloadableQueryRegistry.js.flow +65 -0
- package/query/fetchQuery.js.flow +47 -0
- package/query/fetchQueryInternal.js.flow +343 -0
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/ClientID.js.flow +43 -0
- package/store/DataChecker.js.flow +568 -0
- package/store/RelayConcreteVariables.js.flow +96 -0
- package/store/RelayModernEnvironment.js.flow +571 -0
- package/store/RelayModernFragmentSpecResolver.js.flow +438 -0
- package/store/RelayModernOperationDescriptor.js.flow +92 -0
- package/store/RelayModernQueryExecutor.js.flow +1345 -0
- package/store/RelayModernRecord.js.flow +403 -0
- package/store/RelayModernSelector.js.flow +455 -0
- package/store/RelayModernStore.js.flow +858 -0
- package/store/RelayOperationTracker.js.flow +164 -0
- package/store/RelayOptimisticRecordSource.js.flow +119 -0
- package/store/RelayPublishQueue.js.flow +401 -0
- package/store/RelayReader.js.flow +638 -0
- package/store/RelayRecordSource.js.flow +29 -0
- package/store/RelayRecordSourceMapImpl.js.flow +87 -0
- package/store/RelayRecordState.js.flow +37 -0
- package/store/RelayReferenceMarker.js.flow +324 -0
- package/store/RelayResponseNormalizer.js.flow +791 -0
- package/store/RelayStoreReactFlightUtils.js.flow +64 -0
- package/store/RelayStoreTypes.js.flow +958 -0
- package/store/RelayStoreUtils.js.flow +219 -0
- package/store/StoreInspector.js.flow +171 -0
- package/store/TypeID.js.flow +28 -0
- package/store/ViewerPattern.js.flow +26 -0
- package/store/cloneRelayHandleSourceField.js.flow +66 -0
- package/store/cloneRelayScalarHandleSourceField.js.flow +62 -0
- package/store/createFragmentSpecResolver.js.flow +55 -0
- package/store/createRelayContext.js.flow +44 -0
- package/store/defaultGetDataID.js.flow +27 -0
- package/store/defaultRequiredFieldLogger.js.flow +23 -0
- package/store/hasOverlappingIDs.js.flow +34 -0
- package/store/isRelayModernEnvironment.js.flow +27 -0
- package/store/normalizeRelayPayload.js.flow +51 -0
- package/store/readInlineData.js.flow +75 -0
- package/subscription/requestSubscription.js.flow +103 -0
- package/util/JSResourceTypes.flow.js.flow +20 -0
- package/util/NormalizationNode.js.flow +213 -0
- package/util/ReaderNode.js.flow +227 -0
- package/util/RelayConcreteNode.js.flow +99 -0
- package/util/RelayDefaultHandleKey.js.flow +17 -0
- package/util/RelayError.js.flow +62 -0
- package/util/RelayFeatureFlags.js.flow +37 -0
- package/util/RelayProfiler.js.flow +284 -0
- package/util/RelayReplaySubject.js.flow +135 -0
- package/util/RelayRuntimeTypes.js.flow +72 -0
- package/util/createPayloadFor3DField.js.flow +43 -0
- package/util/deepFreeze.js.flow +36 -0
- package/util/generateID.js.flow +21 -0
- package/util/getFragmentIdentifier.js.flow +76 -0
- package/util/getOperation.js.flow +40 -0
- package/util/getRelayHandleKey.js.flow +41 -0
- package/util/getRequestIdentifier.js.flow +42 -0
- package/util/isEmptyObject.js.flow +25 -0
- package/util/isPromise.js.flow +21 -0
- package/util/isScalarAndEqual.js.flow +26 -0
- package/util/recycleNodesInto.js.flow +87 -0
- package/util/reportMissingRequiredFields.js.flow +51 -0
- package/util/resolveImmediate.js.flow +30 -0
- package/util/stableCopy.js.flow +35 -0
|
@@ -10,11 +10,15 @@
|
|
|
10
10
|
// flowlint ambiguous-object-type:error
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
14
|
+
|
|
15
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
+
|
|
17
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
18
|
+
|
|
13
19
|
var invariant = require("fbjs/lib/invariant");
|
|
14
20
|
|
|
15
|
-
var RelayOperationTracker =
|
|
16
|
-
/*#__PURE__*/
|
|
17
|
-
function () {
|
|
21
|
+
var RelayOperationTracker = /*#__PURE__*/function () {
|
|
18
22
|
function RelayOperationTracker() {
|
|
19
23
|
this._ownersToPendingOperations = new Map();
|
|
20
24
|
this._pendingOperationsToOwners = new Map();
|
|
@@ -34,12 +38,12 @@ function () {
|
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
var newlyAffectedOwners = new Set();
|
|
37
|
-
|
|
38
|
-
var
|
|
39
|
-
|
|
41
|
+
|
|
42
|
+
var _iterator = _createForOfIteratorHelper(affectedOwners),
|
|
43
|
+
_step;
|
|
40
44
|
|
|
41
45
|
try {
|
|
42
|
-
for (
|
|
46
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
43
47
|
var owner = _step.value;
|
|
44
48
|
|
|
45
49
|
var pendingOperationsAffectingOwner = this._ownersToPendingOperations.get(owner);
|
|
@@ -61,18 +65,9 @@ function () {
|
|
|
61
65
|
} // No new owners were affected by this operation, we may stop here
|
|
62
66
|
|
|
63
67
|
} catch (err) {
|
|
64
|
-
|
|
65
|
-
_iteratorError = err;
|
|
68
|
+
_iterator.e(err);
|
|
66
69
|
} finally {
|
|
67
|
-
|
|
68
|
-
if (!_iteratorNormalCompletion && _iterator["return"] != null) {
|
|
69
|
-
_iterator["return"]();
|
|
70
|
-
}
|
|
71
|
-
} finally {
|
|
72
|
-
if (_didIteratorError) {
|
|
73
|
-
throw _iteratorError;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
70
|
+
_iterator.f();
|
|
76
71
|
}
|
|
77
72
|
|
|
78
73
|
if (newlyAffectedOwners.size === 0) {
|
|
@@ -82,12 +77,12 @@ function () {
|
|
|
82
77
|
|
|
83
78
|
|
|
84
79
|
var ownersAffectedByOperation = this._pendingOperationsToOwners.get(pendingOperation) || new Set();
|
|
85
|
-
|
|
86
|
-
var
|
|
87
|
-
|
|
80
|
+
|
|
81
|
+
var _iterator2 = _createForOfIteratorHelper(newlyAffectedOwners),
|
|
82
|
+
_step2;
|
|
88
83
|
|
|
89
84
|
try {
|
|
90
|
-
for (
|
|
85
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
91
86
|
var _owner = _step2.value;
|
|
92
87
|
|
|
93
88
|
this._resolveOwnerResolvers(_owner);
|
|
@@ -95,18 +90,9 @@ function () {
|
|
|
95
90
|
ownersAffectedByOperation.add(_owner);
|
|
96
91
|
}
|
|
97
92
|
} catch (err) {
|
|
98
|
-
|
|
99
|
-
_iteratorError2 = err;
|
|
93
|
+
_iterator2.e(err);
|
|
100
94
|
} finally {
|
|
101
|
-
|
|
102
|
-
if (!_iteratorNormalCompletion2 && _iterator2["return"] != null) {
|
|
103
|
-
_iterator2["return"]();
|
|
104
|
-
}
|
|
105
|
-
} finally {
|
|
106
|
-
if (_didIteratorError2) {
|
|
107
|
-
throw _iteratorError2;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
95
|
+
_iterator2.f();
|
|
110
96
|
}
|
|
111
97
|
|
|
112
98
|
this._pendingOperationsToOwners.set(pendingOperation, ownersAffectedByOperation);
|
|
@@ -129,12 +115,12 @@ function () {
|
|
|
129
115
|
// and some other operations
|
|
130
116
|
|
|
131
117
|
var updatedOwners = new Set();
|
|
132
|
-
|
|
133
|
-
var
|
|
134
|
-
|
|
118
|
+
|
|
119
|
+
var _iterator3 = _createForOfIteratorHelper(affectedOwners),
|
|
120
|
+
_step3;
|
|
135
121
|
|
|
136
122
|
try {
|
|
137
|
-
for (
|
|
123
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
138
124
|
var owner = _step3.value;
|
|
139
125
|
|
|
140
126
|
var pendingOperationsAffectingOwner = this._ownersToPendingOperations.get(owner);
|
|
@@ -153,26 +139,16 @@ function () {
|
|
|
153
139
|
} // Complete subscriptions for all owners, affected by `pendingOperation`
|
|
154
140
|
|
|
155
141
|
} catch (err) {
|
|
156
|
-
|
|
157
|
-
_iteratorError3 = err;
|
|
142
|
+
_iterator3.e(err);
|
|
158
143
|
} finally {
|
|
159
|
-
|
|
160
|
-
if (!_iteratorNormalCompletion3 && _iterator3["return"] != null) {
|
|
161
|
-
_iterator3["return"]();
|
|
162
|
-
}
|
|
163
|
-
} finally {
|
|
164
|
-
if (_didIteratorError3) {
|
|
165
|
-
throw _iteratorError3;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
144
|
+
_iterator3.f();
|
|
168
145
|
}
|
|
169
146
|
|
|
170
|
-
var
|
|
171
|
-
|
|
172
|
-
var _iteratorError4 = undefined;
|
|
147
|
+
var _iterator4 = _createForOfIteratorHelper(completedOwners),
|
|
148
|
+
_step4;
|
|
173
149
|
|
|
174
150
|
try {
|
|
175
|
-
for (
|
|
151
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
176
152
|
var _owner2 = _step4.value;
|
|
177
153
|
|
|
178
154
|
this._resolveOwnerResolvers(_owner2);
|
|
@@ -182,44 +158,25 @@ function () {
|
|
|
182
158
|
// are affected by other operations
|
|
183
159
|
|
|
184
160
|
} catch (err) {
|
|
185
|
-
|
|
186
|
-
_iteratorError4 = err;
|
|
161
|
+
_iterator4.e(err);
|
|
187
162
|
} finally {
|
|
188
|
-
|
|
189
|
-
if (!_iteratorNormalCompletion4 && _iterator4["return"] != null) {
|
|
190
|
-
_iterator4["return"]();
|
|
191
|
-
}
|
|
192
|
-
} finally {
|
|
193
|
-
if (_didIteratorError4) {
|
|
194
|
-
throw _iteratorError4;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
163
|
+
_iterator4.f();
|
|
197
164
|
}
|
|
198
165
|
|
|
199
|
-
var
|
|
200
|
-
|
|
201
|
-
var _iteratorError5 = undefined;
|
|
166
|
+
var _iterator5 = _createForOfIteratorHelper(updatedOwners),
|
|
167
|
+
_step5;
|
|
202
168
|
|
|
203
169
|
try {
|
|
204
|
-
for (
|
|
170
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
205
171
|
var _owner3 = _step5.value;
|
|
206
172
|
|
|
207
173
|
this._resolveOwnerResolvers(_owner3);
|
|
208
174
|
} // Finally, remove pending operation
|
|
209
175
|
|
|
210
176
|
} catch (err) {
|
|
211
|
-
|
|
212
|
-
_iteratorError5 = err;
|
|
177
|
+
_iterator5.e(err);
|
|
213
178
|
} finally {
|
|
214
|
-
|
|
215
|
-
if (!_iteratorNormalCompletion5 && _iterator5["return"] != null) {
|
|
216
|
-
_iterator5["return"]();
|
|
217
|
-
}
|
|
218
|
-
} finally {
|
|
219
|
-
if (_didIteratorError5) {
|
|
220
|
-
throw _iteratorError5;
|
|
221
|
-
}
|
|
222
|
-
}
|
|
179
|
+
_iterator5.f();
|
|
223
180
|
}
|
|
224
181
|
|
|
225
182
|
this._pendingOperationsToOwners["delete"](pendingOperation);
|
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
16
20
|
|
|
17
21
|
var RelayRecordSource = require('./RelayRecordSource');
|
|
18
22
|
|
|
@@ -25,9 +29,7 @@ var UNPUBLISH_RECORD_SENTINEL = Object.freeze({
|
|
|
25
29
|
* shadow the base version of the record rather than updating/replacing them.
|
|
26
30
|
*/
|
|
27
31
|
|
|
28
|
-
var RelayOptimisticRecordSource =
|
|
29
|
-
/*#__PURE__*/
|
|
30
|
-
function () {
|
|
32
|
+
var RelayOptimisticRecordSource = /*#__PURE__*/function () {
|
|
31
33
|
function RelayOptimisticRecordSource(base) {
|
|
32
34
|
this._base = base;
|
|
33
35
|
this._sink = RelayRecordSource.create();
|
|
@@ -100,7 +102,7 @@ function () {
|
|
|
100
102
|
_proto.toJSON = function toJSON() {
|
|
101
103
|
var _this = this;
|
|
102
104
|
|
|
103
|
-
var merged = (
|
|
105
|
+
var merged = _objectSpread({}, this._base.toJSON());
|
|
104
106
|
|
|
105
107
|
this._sink.getRecordIDs().forEach(function (dataID) {
|
|
106
108
|
var record = _this.get(dataID);
|
|
@@ -37,9 +37,7 @@ var warning = require("fbjs/lib/warning");
|
|
|
37
37
|
* - Executes handlers for "handle" fields.
|
|
38
38
|
* - Reverts and reapplies pending optimistic updates.
|
|
39
39
|
*/
|
|
40
|
-
var RelayPublishQueue =
|
|
41
|
-
/*#__PURE__*/
|
|
42
|
-
function () {
|
|
40
|
+
var RelayPublishQueue = /*#__PURE__*/function () {
|
|
43
41
|
// True if the next `run()` should apply the backup and rerun all optimistic
|
|
44
42
|
// updates performing a rebase.
|
|
45
43
|
// Payloads to apply or Sources to publish to the store with the next `run()`.
|
|
@@ -148,7 +146,7 @@ function () {
|
|
|
148
146
|
|
|
149
147
|
_proto.run = function run(sourceOperation) {
|
|
150
148
|
if (process.env.NODE_ENV !== "production") {
|
|
151
|
-
process.env.NODE_ENV !== "production" ? warning(this._isRunning !== true, 'A store update was detected within another store update. Please ' +
|
|
149
|
+
process.env.NODE_ENV !== "production" ? warning(this._isRunning !== true, 'A store update was detected within another store update. Please ' + "make sure new store updates aren't being executed within an " + 'updater function for a different update.') : void 0;
|
|
152
150
|
this._isRunning = true;
|
|
153
151
|
}
|
|
154
152
|
|