relay-runtime 0.0.0-main-1decb243 → 0.0.0-main-c52ed92a
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/experimental.js +1 -1
- package/index.js +1 -1
- package/lib/experimental.js +3 -3
- package/lib/handlers/RelayDefaultHandlerProvider.js +12 -12
- package/lib/handlers/connection/ConnectionHandler.js +17 -17
- package/lib/handlers/connection/ConnectionInterface.js +10 -10
- package/lib/handlers/connection/MutationHandlers.js +16 -16
- package/lib/index.js +61 -61
- package/lib/multi-actor-environment/ActorIdentifier.js +5 -5
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +8 -8
- package/lib/multi-actor-environment/ActorUtils.js +4 -4
- package/lib/multi-actor-environment/MultiActorEnvironment.js +12 -12
- package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
- package/lib/multi-actor-environment/index.js +3 -3
- package/lib/mutations/RelayDeclarativeMutationConfig.js +26 -26
- package/lib/mutations/RelayRecordProxy.js +9 -9
- package/lib/mutations/RelayRecordSourceMutator.js +7 -7
- package/lib/mutations/RelayRecordSourceProxy.js +12 -12
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +9 -9
- package/lib/mutations/applyOptimisticMutation.js +9 -9
- package/lib/mutations/commitLocalUpdate.js +1 -1
- package/lib/mutations/commitMutation.js +15 -15
- package/lib/mutations/createUpdatableProxy.js +13 -13
- package/lib/mutations/readUpdatableFragment.js +6 -6
- package/lib/mutations/readUpdatableQuery.js +3 -3
- package/lib/mutations/validateMutation.js +9 -7
- package/lib/network/ConvertToExecuteFunction.js +2 -2
- package/lib/network/RelayNetwork.js +8 -8
- package/lib/network/RelayNetworkTypes.js +1 -1
- package/lib/network/RelayObservable.js +23 -22
- package/lib/network/RelayQueryResponseCache.js +5 -5
- package/lib/network/wrapNetworkWithLogObserver.js +8 -8
- package/lib/query/GraphQLTag.js +16 -16
- package/lib/query/PreloadableQueryRegistry.js +1 -1
- package/lib/query/fetchQuery.js +13 -13
- package/lib/query/fetchQueryInternal.js +8 -8
- package/lib/query/fetchQuery_DEPRECATED.js +5 -5
- package/lib/store/ClientID.js +7 -7
- package/lib/store/DataChecker.js +29 -25
- package/lib/store/OperationExecutor.js +87 -87
- package/lib/store/RelayConcreteVariables.js +6 -6
- package/lib/store/RelayExperimentalGraphResponseHandler.js +12 -12
- package/lib/store/RelayExperimentalGraphResponseTransform.js +16 -16
- package/lib/store/RelayModernEnvironment.js +21 -21
- package/lib/store/RelayModernFragmentSpecResolver.js +16 -16
- package/lib/store/RelayModernOperationDescriptor.js +6 -6
- package/lib/store/RelayModernRecord.js +23 -23
- package/lib/store/RelayModernSelector.js +23 -23
- package/lib/store/RelayModernStore.js +35 -35
- package/lib/store/RelayOperationTracker.js +3 -3
- package/lib/store/RelayOptimisticRecordSource.js +8 -8
- package/lib/store/RelayPublishQueue.js +22 -22
- package/lib/store/RelayReader.js +48 -50
- package/lib/store/RelayRecordSource.js +3 -3
- package/lib/store/RelayRecordState.js +4 -4
- package/lib/store/RelayReferenceMarker.js +18 -14
- package/lib/store/RelayResponseNormalizer.js +40 -36
- package/lib/store/RelayStoreSubscriptions.js +8 -8
- package/lib/store/RelayStoreTypes.js +1 -1
- package/lib/store/RelayStoreUtils.js +40 -35
- package/lib/store/ResolverCache.js +16 -16
- package/lib/store/ResolverFragments.js +6 -6
- package/lib/store/StoreInspector.js +16 -16
- package/lib/store/TypeID.js +3 -3
- package/lib/store/ViewerPattern.js +5 -5
- package/lib/store/cloneRelayHandleSourceField.js +6 -6
- package/lib/store/cloneRelayScalarHandleSourceField.js +6 -6
- package/lib/store/createFragmentSpecResolver.js +3 -3
- package/lib/store/createRelayContext.js +4 -4
- package/lib/store/defaultGetDataID.js +2 -2
- package/lib/store/defaultRequiredFieldLogger.js +3 -3
- package/lib/store/experimental-live-resolvers/LiveResolverCache.js +33 -33
- package/lib/store/experimental-live-resolvers/LiveResolverStore.js +36 -36
- package/lib/store/experimental-live-resolvers/LiveResolverSuspenseSentinel.js +1 -1
- package/lib/store/experimental-live-resolvers/getOutputTypeRecordIDs.js +5 -5
- package/lib/store/experimental-live-resolvers/isLiveStateValue.js +2 -2
- package/lib/store/experimental-live-resolvers/resolverDataInjector.js +6 -6
- package/lib/store/experimental-live-resolvers/weakObjectWrapper.js +6 -6
- package/lib/store/hasOverlappingIDs.js +1 -1
- package/lib/store/hasSignificantOverlappingIDs.js +3 -3
- package/lib/store/isRelayModernEnvironment.js +2 -2
- package/lib/store/normalizeResponse.js +1 -1
- package/lib/store/readInlineData.js +6 -6
- package/lib/subscription/requestSubscription.js +9 -9
- package/lib/util/JSResourceTypes.flow.js +1 -1
- package/lib/util/NormalizationNode.js +1 -1
- package/lib/util/ReaderNode.js +1 -1
- package/lib/util/RelayConcreteNode.js +36 -36
- package/lib/util/RelayDefaultHandleKey.js +2 -2
- package/lib/util/RelayError.js +3 -3
- package/lib/util/RelayFeatureFlags.js +1 -1
- package/lib/util/RelayProfiler.js +1 -1
- package/lib/util/RelayReplaySubject.js +10 -10
- package/lib/util/RelayRuntimeTypes.js +1 -1
- package/lib/util/StringInterner.js +3 -3
- package/lib/util/createPayloadFor3DField.js +2 -2
- package/lib/util/deepFreeze.js +3 -3
- package/lib/util/generateID.js +1 -1
- package/lib/util/getFragmentIdentifier.js +12 -12
- package/lib/util/getOperation.js +2 -2
- package/lib/util/getPaginationMetadata.js +6 -6
- package/lib/util/getPaginationVariables.js +9 -9
- package/lib/util/getPendingOperationsForFragment.js +5 -5
- package/lib/util/getRefetchMetadata.js +7 -7
- package/lib/util/getRelayHandleKey.js +4 -4
- package/lib/util/getRequestIdentifier.js +4 -4
- package/lib/util/getValueAtPath.js +5 -5
- package/lib/util/handlePotentialSnapshotErrors.js +6 -6
- package/lib/util/isEmptyObject.js +1 -1
- package/lib/util/isPromise.js +2 -2
- package/lib/util/isScalarAndEqual.js +2 -2
- package/lib/util/recycleNodesInto.js +6 -20
- package/lib/util/registerEnvironmentWithDevTools.js +2 -2
- package/lib/util/resolveImmediate.js +1 -1
- package/lib/util/stableCopy.js +2 -2
- package/lib/util/withDuration.js +2 -2
- package/lib/util/withProvidedVariables.js +3 -3
- package/mutations/validateMutation.js.flow +2 -0
- package/network/RelayObservable.js.flow +3 -2
- package/package.json +1 -1
- package/relay-runtime-experimental.js +2 -2
- package/relay-runtime-experimental.min.js +2 -2
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/DataChecker.js.flow +9 -1
- package/store/RelayModernSelector.js.flow +6 -3
- package/store/RelayReader.js.flow +7 -7
- package/store/RelayReferenceMarker.js.flow +6 -1
- package/store/RelayResponseNormalizer.js.flow +6 -1
- package/store/RelayStoreTypes.js.flow +7 -1
- package/store/RelayStoreUtils.js.flow +22 -7
- package/store/experimental-live-resolvers/resolverDataInjector.js.flow +1 -0
- package/store/experimental-live-resolvers/weakObjectWrapper.js.flow +1 -0
- package/util/NormalizationNode.js.flow +15 -2
- package/util/ReaderNode.js.flow +1 -1
- package/util/createPayloadFor3DField.js.flow +1 -0
- package/util/recycleNodesInto.js.flow +8 -30
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
@@ -18,32 +18,32 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
18
18
|
if (!Array.isArray(window.devtoolsFormatters)) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
console.info(
|
|
21
|
+
console.info('Make sure to select "Enable custom formatters" in the Chrome ' + 'Developer Tools settings, tab "Preferences" under the "Console" ' + 'section.');
|
|
22
22
|
(_window$devtoolsForma = window.devtoolsFormatters).push.apply(_window$devtoolsForma, (0, _toConsumableArray2["default"])(createFormatters()));
|
|
23
23
|
};
|
|
24
24
|
var createFormatters = function createFormatters() {
|
|
25
25
|
var listStyle = {
|
|
26
|
-
style:
|
|
26
|
+
style: 'list-style-type: none; padding: 0; margin: 0 0 0 12px; font-style: normal'
|
|
27
27
|
};
|
|
28
28
|
var keyStyle = {
|
|
29
|
-
style:
|
|
29
|
+
style: 'rgb(136, 19, 145)'
|
|
30
30
|
};
|
|
31
31
|
var nullStyle = {
|
|
32
|
-
style:
|
|
32
|
+
style: 'color: #777'
|
|
33
33
|
};
|
|
34
34
|
var reference = function reference(object, config) {
|
|
35
|
-
return object == null ? [
|
|
35
|
+
return object == null ? ['span', nullStyle, 'undefined'] : ['object', {
|
|
36
36
|
object: object,
|
|
37
37
|
config: config
|
|
38
38
|
}];
|
|
39
39
|
};
|
|
40
40
|
var renderRecordHeader = function renderRecordHeader(record) {
|
|
41
|
-
return [
|
|
42
|
-
style:
|
|
43
|
-
}, record.__typename, [
|
|
41
|
+
return ['span', {
|
|
42
|
+
style: 'font-style: italic'
|
|
43
|
+
}, record.__typename, ['span', nullStyle, ' {id: "', record.__id, '", …}']];
|
|
44
44
|
};
|
|
45
45
|
var isRecord = function isRecord(o) {
|
|
46
|
-
return o != null && typeof o.__id ===
|
|
46
|
+
return o != null && typeof o.__id === 'string';
|
|
47
47
|
};
|
|
48
48
|
var RecordEntry = function RecordEntry(key, value) {
|
|
49
49
|
this.key = key;
|
|
@@ -51,11 +51,11 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
51
51
|
};
|
|
52
52
|
var renderRecordEntries = function renderRecordEntries(record) {
|
|
53
53
|
var children = Object.keys(record).map(function (key) {
|
|
54
|
-
return [
|
|
54
|
+
return ['li', {}, ['object', {
|
|
55
55
|
object: new RecordEntry(key, record[key])
|
|
56
56
|
}]];
|
|
57
57
|
});
|
|
58
|
-
return [
|
|
58
|
+
return ['ol', listStyle].concat((0, _toConsumableArray2["default"])(children));
|
|
59
59
|
};
|
|
60
60
|
var recordFormatter = {
|
|
61
61
|
header: function header(obj) {
|
|
@@ -75,7 +75,7 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
75
75
|
header: function header(obj) {
|
|
76
76
|
if (obj instanceof RecordEntry) {
|
|
77
77
|
var value = isRecord(obj.value) ? renderRecordHeader(obj.value) : reference(obj.value);
|
|
78
|
-
return [
|
|
78
|
+
return ['span', keyStyle, obj.key, ': ', value];
|
|
79
79
|
}
|
|
80
80
|
return null;
|
|
81
81
|
},
|
|
@@ -99,8 +99,8 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
99
99
|
if (value == null) {
|
|
100
100
|
return value;
|
|
101
101
|
}
|
|
102
|
-
if (typeof value ===
|
|
103
|
-
if (typeof value.__ref ===
|
|
102
|
+
if (typeof value === 'object') {
|
|
103
|
+
if (typeof value.__ref === 'string') {
|
|
104
104
|
return getWrappedRecord(source, value.__ref);
|
|
105
105
|
}
|
|
106
106
|
if (Array.isArray(value.__refs)) {
|
|
@@ -115,7 +115,7 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
115
115
|
};
|
|
116
116
|
inspect = function inspect(environment, dataID) {
|
|
117
117
|
installDevtoolFormatters();
|
|
118
|
-
return getWrappedRecord(environment.getStore().getSource(), dataID !== null && dataID !== void 0 ? dataID :
|
|
118
|
+
return getWrappedRecord(environment.getStore().getSource(), dataID !== null && dataID !== void 0 ? dataID : 'client:root');
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
module.exports = {
|
package/lib/store/TypeID.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var _require = require(
|
|
3
|
+
var _require = require('./ClientID'),
|
|
4
4
|
generateClientID = _require.generateClientID;
|
|
5
|
-
var _require2 = require(
|
|
5
|
+
var _require2 = require('./RelayStoreUtils'),
|
|
6
6
|
ROOT_ID = _require2.ROOT_ID;
|
|
7
|
-
var VIEWER_ID = generateClientID(ROOT_ID,
|
|
8
|
-
var VIEWER_TYPE =
|
|
7
|
+
var VIEWER_ID = generateClientID(ROOT_ID, 'viewer');
|
|
8
|
+
var VIEWER_TYPE = 'Viewer';
|
|
9
9
|
module.exports = {
|
|
10
10
|
VIEWER_ID: VIEWER_ID,
|
|
11
11
|
VIEWER_TYPE: VIEWER_TYPE
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var _require = require(
|
|
3
|
+
var _require = require('../util/RelayConcreteNode'),
|
|
4
4
|
LINKED_FIELD = _require.LINKED_FIELD;
|
|
5
|
-
var _require2 = require(
|
|
5
|
+
var _require2 = require('./RelayStoreUtils'),
|
|
6
6
|
getHandleStorageKey = _require2.getHandleStorageKey;
|
|
7
7
|
var areEqual = require("fbjs/lib/areEqual");
|
|
8
|
-
var invariant = require(
|
|
8
|
+
var invariant = require('invariant');
|
|
9
9
|
function cloneRelayHandleSourceField(handleField, selections, variables) {
|
|
10
10
|
var sourceField = selections.find(function (source) {
|
|
11
11
|
return source.kind === LINKED_FIELD && source.name === handleField.name && source.alias === handleField.alias && areEqual(source.args, handleField.args);
|
|
12
12
|
});
|
|
13
|
-
!(sourceField && sourceField.kind === LINKED_FIELD) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
13
|
+
!(sourceField && sourceField.kind === LINKED_FIELD) ? process.env.NODE_ENV !== "production" ? invariant(false, 'cloneRelayHandleSourceField: Expected a corresponding source field for ' + 'handle `%s`.', handleField.handle) : invariant(false) : void 0;
|
|
14
14
|
var handleKey = getHandleStorageKey(handleField, variables);
|
|
15
15
|
return {
|
|
16
|
-
kind:
|
|
16
|
+
kind: 'LinkedField',
|
|
17
17
|
alias: sourceField.alias,
|
|
18
18
|
name: handleKey,
|
|
19
19
|
storageKey: handleKey,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var _require = require(
|
|
3
|
+
var _require = require('../util/RelayConcreteNode'),
|
|
4
4
|
SCALAR_FIELD = _require.SCALAR_FIELD;
|
|
5
|
-
var _require2 = require(
|
|
5
|
+
var _require2 = require('./RelayStoreUtils'),
|
|
6
6
|
getHandleStorageKey = _require2.getHandleStorageKey;
|
|
7
7
|
var areEqual = require("fbjs/lib/areEqual");
|
|
8
|
-
var invariant = require(
|
|
8
|
+
var invariant = require('invariant');
|
|
9
9
|
function cloneRelayScalarHandleSourceField(handleField, selections, variables) {
|
|
10
10
|
var sourceField = selections.find(function (source) {
|
|
11
11
|
return source.kind === SCALAR_FIELD && source.name === handleField.name && source.alias === handleField.alias && areEqual(source.args, handleField.args);
|
|
12
12
|
});
|
|
13
|
-
!(sourceField && sourceField.kind === SCALAR_FIELD) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
13
|
+
!(sourceField && sourceField.kind === SCALAR_FIELD) ? process.env.NODE_ENV !== "production" ? invariant(false, 'cloneRelayScalarHandleSourceField: Expected a corresponding source field for ' + 'handle `%s`.', handleField.handle) : invariant(false) : void 0;
|
|
14
14
|
var handleKey = getHandleStorageKey(handleField, variables);
|
|
15
15
|
return {
|
|
16
|
-
kind:
|
|
16
|
+
kind: 'ScalarField',
|
|
17
17
|
alias: sourceField.alias,
|
|
18
18
|
name: handleKey,
|
|
19
19
|
storageKey: handleKey,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var RelayModernFragmentSpecResolver = require(
|
|
3
|
+
var RelayModernFragmentSpecResolver = require('./RelayModernFragmentSpecResolver');
|
|
4
4
|
var warning = require("fbjs/lib/warning");
|
|
5
5
|
function createFragmentSpecResolver(context, containerName, fragments, props, rootIsQueryRenderer, callback) {
|
|
6
6
|
if (process.env.NODE_ENV !== "production") {
|
|
7
7
|
var fragmentNames = Object.keys(fragments);
|
|
8
8
|
fragmentNames.forEach(function (fragmentName) {
|
|
9
9
|
var propValue = props[fragmentName];
|
|
10
|
-
process.env.NODE_ENV !== "production" ? warning(propValue !== undefined,
|
|
10
|
+
process.env.NODE_ENV !== "production" ? warning(propValue !== undefined, 'createFragmentSpecResolver: Expected prop `%s` to be supplied to `%s`, but ' + 'got `undefined`. Pass an explicit `null` if this is intentional.', fragmentName, containerName) : void 0;
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
return new RelayModernFragmentSpecResolver(context, fragments, props, callback, rootIsQueryRenderer);
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
var invariant = require(
|
|
3
|
+
var invariant = require('invariant');
|
|
4
4
|
var relayContext;
|
|
5
5
|
var firstReact;
|
|
6
6
|
function createRelayContext(react) {
|
|
7
7
|
if (!relayContext) {
|
|
8
8
|
relayContext = react.createContext(null);
|
|
9
9
|
if (process.env.NODE_ENV !== "production") {
|
|
10
|
-
relayContext.displayName =
|
|
10
|
+
relayContext.displayName = 'RelayContext';
|
|
11
11
|
}
|
|
12
12
|
firstReact = react;
|
|
13
13
|
}
|
|
14
|
-
!(react === firstReact) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
14
|
+
!(react === firstReact) ? process.env.NODE_ENV !== "production" ? invariant(false, '[createRelayContext]: You are passing a different instance of React', react.version) : invariant(false) : void 0;
|
|
15
15
|
return relayContext;
|
|
16
16
|
}
|
|
17
17
|
module.exports = createRelayContext;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var defaultRequiredFieldLogger = function defaultRequiredFieldLogger(event) {
|
|
4
|
-
if (process.env.NODE_ENV !== "production" && event.kind ===
|
|
5
|
-
throw new Error(
|
|
4
|
+
if (process.env.NODE_ENV !== "production" && event.kind === 'missing_field.log') {
|
|
5
|
+
throw new Error('Relay Environment Configuration Error (dev only): `@required(action: LOG)` requires that the Relay Environment be configured with a `requiredFieldLogger`.');
|
|
6
6
|
}
|
|
7
7
|
};
|
|
8
8
|
module.exports = defaultRequiredFieldLogger;
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
4
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
5
|
-
var recycleNodesInto = require(
|
|
6
|
-
var _require = require(
|
|
5
|
+
var recycleNodesInto = require('../../util/recycleNodesInto');
|
|
6
|
+
var _require = require('../../util/RelayConcreteNode'),
|
|
7
7
|
RELAY_LIVE_RESOLVER = _require.RELAY_LIVE_RESOLVER;
|
|
8
|
-
var _require2 = require(
|
|
8
|
+
var _require2 = require('../ClientID'),
|
|
9
9
|
generateClientID = _require2.generateClientID,
|
|
10
10
|
generateClientObjectClientID = _require2.generateClientObjectClientID;
|
|
11
|
-
var RelayModernRecord = require(
|
|
12
|
-
var _require3 = require(
|
|
11
|
+
var RelayModernRecord = require('../RelayModernRecord');
|
|
12
|
+
var _require3 = require('../RelayModernSelector'),
|
|
13
13
|
createNormalizationSelector = _require3.createNormalizationSelector;
|
|
14
|
-
var RelayRecordSource = require(
|
|
15
|
-
var _require4 = require(
|
|
14
|
+
var RelayRecordSource = require('../RelayRecordSource');
|
|
15
|
+
var _require4 = require('../RelayResponseNormalizer'),
|
|
16
16
|
normalize = _require4.normalize;
|
|
17
|
-
var _require5 = require(
|
|
17
|
+
var _require5 = require('../RelayStoreUtils'),
|
|
18
18
|
RELAY_RESOLVER_ERROR_KEY = _require5.RELAY_RESOLVER_ERROR_KEY,
|
|
19
19
|
RELAY_RESOLVER_INVALIDATION_KEY = _require5.RELAY_RESOLVER_INVALIDATION_KEY,
|
|
20
20
|
RELAY_RESOLVER_OUTPUT_TYPE_RECORD_IDS = _require5.RELAY_RESOLVER_OUTPUT_TYPE_RECORD_IDS,
|
|
21
21
|
RELAY_RESOLVER_SNAPSHOT_KEY = _require5.RELAY_RESOLVER_SNAPSHOT_KEY,
|
|
22
22
|
RELAY_RESOLVER_VALUE_KEY = _require5.RELAY_RESOLVER_VALUE_KEY,
|
|
23
23
|
getStorageKey = _require5.getStorageKey;
|
|
24
|
-
var getOutputTypeRecordIDs = require(
|
|
25
|
-
var isLiveStateValue = require(
|
|
26
|
-
var _require6 = require(
|
|
24
|
+
var getOutputTypeRecordIDs = require('./getOutputTypeRecordIDs');
|
|
25
|
+
var isLiveStateValue = require('./isLiveStateValue');
|
|
26
|
+
var _require6 = require('./LiveResolverSuspenseSentinel'),
|
|
27
27
|
isSuspenseSentinel = _require6.isSuspenseSentinel;
|
|
28
|
-
var invariant = require(
|
|
28
|
+
var invariant = require('invariant');
|
|
29
29
|
var warning = require("fbjs/lib/warning");
|
|
30
|
-
var RELAY_RESOLVER_LIVE_STATE_SUBSCRIPTION_KEY =
|
|
31
|
-
var RELAY_RESOLVER_LIVE_STATE_VALUE =
|
|
32
|
-
var RELAY_RESOLVER_LIVE_STATE_DIRTY =
|
|
33
|
-
var RELAY_RESOLVER_RECORD_TYPENAME =
|
|
30
|
+
var RELAY_RESOLVER_LIVE_STATE_SUBSCRIPTION_KEY = '__resolverLiveStateSubscription';
|
|
31
|
+
var RELAY_RESOLVER_LIVE_STATE_VALUE = '__resolverLiveStateValue';
|
|
32
|
+
var RELAY_RESOLVER_LIVE_STATE_DIRTY = '__resolverLiveStateDirty';
|
|
33
|
+
var RELAY_RESOLVER_RECORD_TYPENAME = '__RELAY_RESOLVER__';
|
|
34
34
|
function addDependencyEdge(edges, from, to) {
|
|
35
35
|
var set = edges.get(from);
|
|
36
36
|
if (!set) {
|
|
@@ -69,20 +69,20 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
69
69
|
if (field.kind === RELAY_LIVE_RESOLVER) {
|
|
70
70
|
if (evaluationResult.resolverResult != null) {
|
|
71
71
|
if (process.env.NODE_ENV !== "production") {
|
|
72
|
-
!isLiveStateValue(evaluationResult.resolverResult) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
72
|
+
!isLiveStateValue(evaluationResult.resolverResult) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected the @live Relay Resolver backing the field "%s" to return a value ' + 'that implements LiveState. Did you mean to remove the @live annotation on this resolver?', field.path) : invariant(false) : void 0;
|
|
73
73
|
}
|
|
74
|
-
!(evaluationResult.error == null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
74
|
+
!(evaluationResult.error == null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Did not expect resolver to have both a value and an error.') : invariant(false) : void 0;
|
|
75
75
|
var liveState = evaluationResult.resolverResult;
|
|
76
76
|
updatedDataIDs = this._setLiveStateValue(linkedRecord, linkedID, liveState, field, variables);
|
|
77
77
|
} else {
|
|
78
78
|
if (process.env.NODE_ENV !== "production") {
|
|
79
79
|
var _evaluationResult$sna;
|
|
80
|
-
!(evaluationResult.error != null || ((_evaluationResult$sna = evaluationResult.snapshot) === null || _evaluationResult$sna === void 0 ? void 0 : _evaluationResult$sna.isMissingData)) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
80
|
+
!(evaluationResult.error != null || ((_evaluationResult$sna = evaluationResult.snapshot) === null || _evaluationResult$sna === void 0 ? void 0 : _evaluationResult$sna.isMissingData)) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected the @live Relay Resolver backing the field "%s" to return a value ' + 'that implements LiveState interface. The result for this field is `%s`, we also did not detect any errors, ' + 'or missing data during resolver execution. Did you mean to remove the @live annotation on this ' + 'resolver, or was there unexpected early return in the function?', field.path, String(evaluationResult.resolverResult)) : invariant(false) : void 0;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
} else {
|
|
84
84
|
if (process.env.NODE_ENV !== "production") {
|
|
85
|
-
!!isLiveStateValue(evaluationResult.resolverResult) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
85
|
+
!!isLiveStateValue(evaluationResult.resolverResult) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Unexpected LiveState value returned from the non-@live Relay Resolver backing the field "%s". Did you intend to add @live to this resolver?', field.path) : invariant(false) : void 0;
|
|
86
86
|
}
|
|
87
87
|
updatedDataIDs = this._setResolverValue(linkedRecord, evaluationResult.resolverResult, field, variables);
|
|
88
88
|
}
|
|
@@ -119,7 +119,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
119
119
|
linkedRecord = RelayModernRecord.clone(linkedRecord);
|
|
120
120
|
var _liveState = RelayModernRecord.getValue(linkedRecord, RELAY_RESOLVER_LIVE_STATE_VALUE);
|
|
121
121
|
if (!isLiveStateValue(_liveState)) {
|
|
122
|
-
!false ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
122
|
+
!false ? process.env.NODE_ENV !== "production" ? invariant(false, 'Unexpected LiveState value returned from Relay Resolver internal field `RELAY_RESOLVER_LIVE_STATE_VALUE`. ' + 'It is likely a bug in Relay, or a corrupt state of the relay store state ' + 'Field Path `%s`. Record `%s`.', field.path, JSON.stringify(linkedRecord)) : invariant(false) : void 0;
|
|
123
123
|
}
|
|
124
124
|
updatedDataIDs = this._setLiveResolverValue(linkedRecord, _liveState, field, variables);
|
|
125
125
|
RelayModernRecord.setValue(linkedRecord, RELAY_RESOLVER_LIVE_STATE_DIRTY, false);
|
|
@@ -138,7 +138,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
138
138
|
_proto.getLiveResolverPromise = function getLiveResolverPromise(liveStateID) {
|
|
139
139
|
var recordSource = this._getRecordSource();
|
|
140
140
|
var liveStateRecord = recordSource.get(liveStateID);
|
|
141
|
-
!(liveStateRecord != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
141
|
+
!(liveStateRecord != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected to find record for live resolver.') : invariant(false) : void 0;
|
|
142
142
|
var liveState = RelayModernRecord.getValue(liveStateRecord, RELAY_RESOLVER_LIVE_STATE_VALUE);
|
|
143
143
|
return new Promise(function (resolve) {
|
|
144
144
|
var unsubscribe = liveState.subscribe(function () {
|
|
@@ -171,7 +171,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
173
|
if (!RelayModernRecord.hasValue(currentRecord, RELAY_RESOLVER_LIVE_STATE_VALUE)) {
|
|
174
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
174
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Unexpected callback for a incomplete live resolver record (__id: `%s`). The record has missing live state value. ' + 'This is a no-op and indicates a memory leak, and possible bug in Relay Live Resolvers. ' + 'Possible cause: The original record was GC-ed, or was created with the optimistic record source.' + ' Record details: `%s`.', linkedID, JSON.stringify(currentRecord)) : void 0;
|
|
175
175
|
return;
|
|
176
176
|
}
|
|
177
177
|
var nextRecord = RelayModernRecord.clone(currentRecord);
|
|
@@ -193,7 +193,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
193
193
|
}
|
|
194
194
|
};
|
|
195
195
|
_proto.batchLiveStateUpdates = function batchLiveStateUpdates(callback) {
|
|
196
|
-
!!this._handlingBatch ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
196
|
+
!!this._handlingBatch ? process.env.NODE_ENV !== "production" ? invariant(false, 'Unexpected nested call to batchLiveStateUpdates.') : invariant(false) : void 0;
|
|
197
197
|
this._handlingBatch = true;
|
|
198
198
|
try {
|
|
199
199
|
callback();
|
|
@@ -226,7 +226,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
226
226
|
var nextOutputTypeRecordIDs = new Set();
|
|
227
227
|
var currentSource = this._getRecordSource();
|
|
228
228
|
if (normalizationInfo.plural) {
|
|
229
|
-
!Array.isArray(value) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
229
|
+
!Array.isArray(value) ? process.env.NODE_ENV !== "production" ? invariant(false, '_setResolverValue: Expected array value for plural @outputType resolver.') : invariant(false) : void 0;
|
|
230
230
|
resolverValue = [];
|
|
231
231
|
var nextSource = RelayRecordSource.create();
|
|
232
232
|
for (var ii = 0; ii < value.length; ii++) {
|
|
@@ -234,7 +234,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
234
234
|
if (currentValue == null) {
|
|
235
235
|
continue;
|
|
236
236
|
}
|
|
237
|
-
!(typeof currentValue ==
|
|
237
|
+
!(typeof currentValue == 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, '_setResolverValue: Expected object value as the payload for the @outputType resolver.') : invariant(false) : void 0;
|
|
238
238
|
var typename = getConcreteTypename(normalizationInfo, currentValue);
|
|
239
239
|
var outputTypeDataID = generateClientObjectClientID(typename, RelayModernRecord.getDataID(resolverRecord), ii);
|
|
240
240
|
var source = normalizeOutputTypeValue(outputTypeDataID, currentValue, variables, normalizationInfo, this._store.__getNormalizationOptions([field.path, String(ii)]), typename);
|
|
@@ -255,7 +255,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
255
255
|
}
|
|
256
256
|
updatedDataIDs = updateCurrentSource(currentSource, nextSource, prevOutputTypeRecordIDs);
|
|
257
257
|
} else {
|
|
258
|
-
!(typeof value ==
|
|
258
|
+
!(typeof value == 'object') ? process.env.NODE_ENV !== "production" ? invariant(false, '_setResolverValue: Expected object value as the payload for the @outputType resolver.') : invariant(false) : void 0;
|
|
259
259
|
var _typename = getConcreteTypename(normalizationInfo, value);
|
|
260
260
|
var _outputTypeDataID = generateClientObjectClientID(_typename, RelayModernRecord.getDataID(resolverRecord));
|
|
261
261
|
var _nextSource = normalizeOutputTypeValue(_outputTypeDataID, value, variables, normalizationInfo, this._store.__getNormalizationOptions([field.path]), _typename);
|
|
@@ -335,7 +335,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
335
335
|
_proto._markInvalidatedResolverRecord = function _markInvalidatedResolverRecord(dataID, recordSource) {
|
|
336
336
|
var record = recordSource.get(dataID);
|
|
337
337
|
if (!record) {
|
|
338
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
338
|
+
process.env.NODE_ENV !== "production" ? warning(false, 'Expected a resolver record with ID %s, but it was missing.', dataID) : void 0;
|
|
339
339
|
return;
|
|
340
340
|
}
|
|
341
341
|
var nextRecord = RelayModernRecord.clone(record);
|
|
@@ -350,7 +350,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
350
350
|
var originalInputs = snapshot === null || snapshot === void 0 ? void 0 : snapshot.data;
|
|
351
351
|
var readerSelector = snapshot === null || snapshot === void 0 ? void 0 : snapshot.selector;
|
|
352
352
|
if (originalInputs == null || readerSelector == null) {
|
|
353
|
-
process.env.NODE_ENV !== "production" ? warning(false,
|
|
353
|
+
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;
|
|
354
354
|
return true;
|
|
355
355
|
}
|
|
356
356
|
var _getDataForResolverFr = getDataForResolverFragment(readerSelector),
|
|
@@ -366,7 +366,7 @@ var LiveResolverCache = /*#__PURE__*/function () {
|
|
|
366
366
|
var recordSource = this._getRecordSource();
|
|
367
367
|
if (!recordSource.has(key)) {
|
|
368
368
|
var newRecord = RelayModernRecord.create(key, typeName);
|
|
369
|
-
RelayModernRecord.setValue(newRecord,
|
|
369
|
+
RelayModernRecord.setValue(newRecord, 'id', id);
|
|
370
370
|
recordSource.set(key, newRecord);
|
|
371
371
|
}
|
|
372
372
|
return key;
|
|
@@ -464,7 +464,7 @@ function updateCurrentSource(currentSource, nextSource, prevOutputTypeRecordIDs)
|
|
|
464
464
|
}
|
|
465
465
|
function expectRecord(source, recordID) {
|
|
466
466
|
var record = source.get(recordID);
|
|
467
|
-
!(record != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
467
|
+
!(record != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'Expected a record with ID `%s` to exist in the record source.', recordID) : invariant(false) : void 0;
|
|
468
468
|
return record;
|
|
469
469
|
}
|
|
470
470
|
function getUpdatedDataIDs(updatedRecords) {
|
|
@@ -473,7 +473,7 @@ function getUpdatedDataIDs(updatedRecords) {
|
|
|
473
473
|
function getConcreteTypename(normalizationInfo, currentValue) {
|
|
474
474
|
var _normalizationInfo$co;
|
|
475
475
|
var typename = (_normalizationInfo$co = normalizationInfo.concreteType) !== null && _normalizationInfo$co !== void 0 ? _normalizationInfo$co : currentValue.__typename;
|
|
476
|
-
!(typename != null) ? process.env.NODE_ENV !== "production" ? invariant(false,
|
|
476
|
+
!(typename != null) ? process.env.NODE_ENV !== "production" ? invariant(false, 'normalizationInfo.concreteType should not be null, or the value returned from the resolver should include a __typename field, ' + 'or the resolver should have a flow error. If not, this indicates a bug in Relay.') : invariant(false) : void 0;
|
|
477
477
|
return typename;
|
|
478
478
|
}
|
|
479
479
|
module.exports = {
|