relay-runtime 12.0.0 → 13.0.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/LICENSE +1 -1
- package/README.md +67 -0
- package/handlers/RelayDefaultHandlerProvider.js.flow +3 -3
- package/handlers/connection/ConnectionHandler.js.flow +9 -18
- package/handlers/connection/ConnectionInterface.js.flow +1 -1
- package/handlers/connection/MutationHandlers.js.flow +8 -12
- package/index.js +2 -2
- package/index.js.flow +43 -34
- package/lib/handlers/RelayDefaultHandlerProvider.js +1 -1
- package/lib/handlers/connection/ConnectionHandler.js +13 -19
- package/lib/handlers/connection/ConnectionInterface.js +1 -1
- package/lib/handlers/connection/MutationHandlers.js +4 -7
- package/lib/index.js +49 -46
- package/lib/multi-actor-environment/ActorIdentifier.js +1 -1
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +9 -5
- package/lib/multi-actor-environment/ActorUtils.js +1 -1
- package/lib/multi-actor-environment/MultiActorEnvironment.js +36 -23
- package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
- package/lib/multi-actor-environment/index.js +3 -3
- package/lib/mutations/RelayDeclarativeMutationConfig.js +5 -2
- package/lib/mutations/RelayRecordProxy.js +4 -3
- package/lib/mutations/RelayRecordSourceMutator.js +4 -3
- package/lib/mutations/RelayRecordSourceProxy.js +13 -5
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +13 -5
- package/lib/mutations/applyOptimisticMutation.js +7 -7
- package/lib/mutations/commitLocalUpdate.js +1 -1
- package/lib/mutations/commitMutation.js +16 -15
- package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +242 -0
- package/lib/mutations/validateMutation.js +7 -7
- package/lib/network/ConvertToExecuteFunction.js +3 -2
- package/lib/network/RelayNetwork.js +4 -3
- package/lib/network/RelayNetworkTypes.js +1 -1
- package/lib/network/RelayObservable.js +2 -4
- package/lib/network/RelayQueryResponseCache.js +3 -3
- package/lib/network/wrapNetworkWithLogObserver.js +3 -2
- package/lib/query/GraphQLTag.js +3 -2
- package/lib/query/PreloadableQueryRegistry.js +1 -1
- package/lib/query/fetchQuery.js +7 -6
- package/lib/query/fetchQueryInternal.js +1 -1
- package/lib/query/fetchQuery_DEPRECATED.js +3 -2
- package/lib/store/ClientID.js +8 -2
- package/lib/store/DataChecker.js +17 -18
- package/lib/store/OperationExecutor.js +14 -14
- package/lib/store/RelayConcreteVariables.js +7 -10
- package/lib/store/RelayExperimentalGraphResponseHandler.js +153 -0
- package/lib/store/RelayExperimentalGraphResponseTransform.js +391 -0
- package/lib/store/RelayModernEnvironment.js +67 -43
- package/lib/store/RelayModernFragmentSpecResolver.js +9 -9
- package/lib/store/RelayModernOperationDescriptor.js +3 -2
- package/lib/store/RelayModernRecord.js +13 -12
- package/lib/store/RelayModernSelector.js +15 -9
- package/lib/store/RelayModernStore.js +15 -16
- package/lib/store/RelayOperationTracker.js +1 -1
- package/lib/store/RelayOptimisticRecordSource.js +1 -1
- package/lib/store/RelayPublishQueue.js +12 -6
- package/lib/store/RelayReader.js +131 -40
- package/lib/store/RelayRecordSource.js +1 -1
- package/lib/store/RelayRecordState.js +1 -1
- package/lib/store/RelayReferenceMarker.js +11 -12
- package/lib/store/RelayResponseNormalizer.js +26 -23
- package/lib/store/RelayStoreReactFlightUtils.js +4 -4
- package/lib/store/RelayStoreSubscriptions.js +7 -5
- package/lib/store/RelayStoreTypes.js +1 -1
- package/lib/store/RelayStoreUtils.js +6 -6
- package/lib/store/ResolverCache.js +7 -7
- package/lib/store/ResolverFragments.js +12 -8
- package/lib/store/StoreInspector.js +1 -1
- package/lib/store/TypeID.js +1 -1
- package/lib/store/ViewerPattern.js +1 -1
- package/lib/store/cloneRelayHandleSourceField.js +6 -5
- package/lib/store/cloneRelayScalarHandleSourceField.js +6 -5
- package/lib/store/createFragmentSpecResolver.js +1 -1
- package/lib/store/createRelayContext.js +4 -2
- package/lib/store/defaultGetDataID.js +1 -1
- package/lib/store/defaultRequiredFieldLogger.js +1 -1
- package/lib/store/hasOverlappingIDs.js +1 -1
- package/lib/store/isRelayModernEnvironment.js +1 -1
- package/lib/store/normalizeRelayPayload.js +1 -1
- package/lib/store/readInlineData.js +7 -3
- package/lib/subscription/requestSubscription.js +4 -6
- 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 +2 -1
- package/lib/util/RelayDefaultHandleKey.js +1 -1
- package/lib/util/RelayError.js +1 -1
- package/lib/util/RelayFeatureFlags.js +8 -3
- package/lib/util/RelayProfiler.js +1 -1
- package/lib/util/RelayReplaySubject.js +1 -1
- package/lib/util/RelayRuntimeTypes.js +1 -7
- package/lib/util/StringInterner.js +71 -0
- package/lib/util/createPayloadFor3DField.js +1 -1
- package/lib/util/deepFreeze.js +1 -1
- package/lib/util/generateID.js +1 -1
- package/lib/util/getAllRootVariables.js +29 -0
- package/lib/util/getFragmentIdentifier.js +16 -8
- package/lib/util/getOperation.js +3 -2
- package/lib/util/getPaginationMetadata.js +1 -1
- package/lib/util/getPaginationVariables.js +3 -4
- package/lib/util/getPendingOperationsForFragment.js +1 -1
- package/lib/util/getRefetchMetadata.js +1 -1
- package/lib/util/getRelayHandleKey.js +3 -3
- package/lib/util/getRequestIdentifier.js +3 -3
- package/lib/util/getValueAtPath.js +1 -1
- package/lib/util/isEmptyObject.js +1 -1
- package/lib/util/isPromise.js +1 -1
- package/lib/util/isScalarAndEqual.js +1 -1
- package/lib/util/recycleNodesInto.js +1 -1
- package/lib/util/registerEnvironmentWithDevTools.js +1 -1
- package/lib/util/reportMissingRequiredFields.js +1 -1
- package/lib/util/resolveImmediate.js +1 -1
- package/lib/util/stableCopy.js +1 -1
- package/lib/util/withDuration.js +1 -1
- package/multi-actor-environment/ActorIdentifier.js.flow +1 -1
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +28 -20
- package/multi-actor-environment/ActorUtils.js.flow +3 -3
- package/multi-actor-environment/MultiActorEnvironment.js.flow +46 -25
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +28 -12
- package/multi-actor-environment/index.js.flow +2 -3
- package/mutations/RelayDeclarativeMutationConfig.js.flow +33 -28
- package/mutations/RelayRecordProxy.js.flow +5 -6
- package/mutations/RelayRecordSourceMutator.js.flow +5 -7
- package/mutations/RelayRecordSourceProxy.js.flow +20 -11
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +16 -6
- package/mutations/applyOptimisticMutation.js.flow +14 -15
- package/mutations/commitLocalUpdate.js.flow +2 -2
- package/mutations/commitMutation.js.flow +36 -49
- package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +318 -0
- package/mutations/validateMutation.js.flow +20 -18
- package/network/ConvertToExecuteFunction.js.flow +3 -3
- package/network/RelayNetwork.js.flow +5 -6
- package/network/RelayNetworkTypes.js.flow +1 -1
- package/network/RelayObservable.js.flow +2 -4
- package/network/RelayQueryResponseCache.js.flow +4 -4
- package/network/wrapNetworkWithLogObserver.js.flow +9 -9
- package/package.json +2 -2
- package/query/GraphQLTag.js.flow +11 -11
- package/query/PreloadableQueryRegistry.js.flow +5 -3
- package/query/fetchQuery.js.flow +19 -19
- package/query/fetchQueryInternal.js.flow +7 -10
- package/query/fetchQuery_DEPRECATED.js.flow +7 -7
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +3 -3
- package/store/ClientID.js.flow +10 -3
- package/store/DataChecker.js.flow +21 -30
- package/store/OperationExecutor.js.flow +55 -63
- package/store/RelayConcreteVariables.js.flow +5 -11
- package/store/RelayExperimentalGraphResponseHandler.js.flow +121 -0
- package/store/RelayExperimentalGraphResponseTransform.js.flow +470 -0
- package/store/RelayModernEnvironment.js.flow +57 -28
- package/store/RelayModernFragmentSpecResolver.js.flow +18 -20
- package/store/RelayModernOperationDescriptor.js.flow +11 -12
- package/store/RelayModernRecord.js.flow +20 -13
- package/store/RelayModernSelector.js.flow +25 -15
- package/store/RelayModernStore.js.flow +22 -26
- package/store/RelayOperationTracker.js.flow +12 -18
- package/store/RelayOptimisticRecordSource.js.flow +3 -3
- package/store/RelayPublishQueue.js.flow +43 -24
- package/store/RelayReader.js.flow +181 -68
- package/store/RelayRecordSource.js.flow +3 -3
- package/store/RelayRecordState.js.flow +1 -1
- package/store/RelayReferenceMarker.js.flow +13 -16
- package/store/RelayResponseNormalizer.js.flow +44 -42
- package/store/RelayStoreReactFlightUtils.js.flow +4 -5
- package/store/RelayStoreSubscriptions.js.flow +10 -9
- package/store/RelayStoreTypes.js.flow +73 -30
- package/store/RelayStoreUtils.js.flow +9 -10
- package/store/ResolverCache.js.flow +17 -15
- package/store/ResolverFragments.js.flow +18 -25
- package/store/StoreInspector.js.flow +3 -3
- package/store/TypeID.js.flow +2 -2
- package/store/ViewerPattern.js.flow +3 -3
- package/store/cloneRelayHandleSourceField.js.flow +6 -7
- package/store/cloneRelayScalarHandleSourceField.js.flow +6 -7
- package/store/createFragmentSpecResolver.js.flow +4 -5
- package/store/createRelayContext.js.flow +3 -3
- package/store/defaultGetDataID.js.flow +1 -1
- package/store/defaultRequiredFieldLogger.js.flow +1 -1
- package/store/hasOverlappingIDs.js.flow +1 -1
- package/store/isRelayModernEnvironment.js.flow +1 -1
- package/store/normalizeRelayPayload.js.flow +7 -8
- package/store/readInlineData.js.flow +8 -9
- package/subscription/requestSubscription.js.flow +16 -25
- package/util/JSResourceTypes.flow.js.flow +1 -1
- package/util/NormalizationNode.js.flow +1 -1
- package/util/ReaderNode.js.flow +10 -1
- package/util/RelayConcreteNode.js.flow +4 -1
- package/util/RelayDefaultHandleKey.js.flow +1 -1
- package/util/RelayError.js.flow +1 -1
- package/util/RelayFeatureFlags.js.flow +15 -5
- package/util/RelayProfiler.js.flow +1 -1
- package/util/RelayReplaySubject.js.flow +3 -4
- package/util/RelayRuntimeTypes.js.flow +70 -3
- package/util/StringInterner.js.flow +69 -0
- package/util/createPayloadFor3DField.js.flow +4 -4
- package/util/deepFreeze.js.flow +1 -1
- package/util/generateID.js.flow +1 -1
- package/util/getAllRootVariables.js.flow +36 -0
- package/util/getFragmentIdentifier.js.flow +28 -16
- package/util/getOperation.js.flow +3 -3
- package/util/getPaginationMetadata.js.flow +6 -11
- package/util/getPaginationVariables.js.flow +6 -10
- package/util/getPendingOperationsForFragment.js.flow +3 -3
- package/util/getRefetchMetadata.js.flow +8 -12
- package/util/getRelayHandleKey.js.flow +2 -3
- package/util/getRequestIdentifier.js.flow +4 -4
- package/util/getValueAtPath.js.flow +1 -1
- package/util/isEmptyObject.js.flow +1 -1
- package/util/isPromise.js.flow +1 -1
- package/util/isScalarAndEqual.js.flow +1 -1
- package/util/recycleNodesInto.js.flow +1 -1
- package/util/registerEnvironmentWithDevTools.js.flow +1 -1
- package/util/reportMissingRequiredFields.js.flow +1 -1
- package/util/resolveImmediate.js.flow +2 -2
- package/util/stableCopy.js.flow +1 -1
- package/util/withDuration.js.flow +1 -1
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*
|
|
8
|
+
* @emails oncall+relay
|
|
9
|
+
* @format
|
|
10
|
+
*/
|
|
11
|
+
// flowlint ambiguous-object-type:error
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
15
|
+
|
|
16
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
17
|
+
|
|
18
|
+
var _require = require('../query/GraphQLTag'),
|
|
19
|
+
getRequest = _require.getRequest;
|
|
20
|
+
|
|
21
|
+
var _require2 = require('../store/RelayStoreUtils'),
|
|
22
|
+
getArgumentValues = _require2.getArgumentValues;
|
|
23
|
+
|
|
24
|
+
var nonUpdatableKeys = ['id', '__id', '__typename'];
|
|
25
|
+
|
|
26
|
+
function readUpdatableQuery_EXPERIMENTAL(query, variables, proxy) {
|
|
27
|
+
// TODO assert that the concrete request is an updatable query
|
|
28
|
+
var request = getRequest(query);
|
|
29
|
+
var updatableProxy = {};
|
|
30
|
+
updateProxyFromSelections(updatableProxy, proxy.getRoot(), variables, request.fragment.selections, proxy);
|
|
31
|
+
|
|
32
|
+
if (process.env.NODE_ENV !== "production") {
|
|
33
|
+
Object.freeze(updatableProxy);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return updatableProxy;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function updateProxyFromSelections(mutableUpdatableProxy, recordProxy, queryVariables, selections, root) {
|
|
40
|
+
var _selection$alias, _selection$alias2;
|
|
41
|
+
|
|
42
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(selections),
|
|
43
|
+
_step;
|
|
44
|
+
|
|
45
|
+
try {
|
|
46
|
+
var _loop = function _loop() {
|
|
47
|
+
var selection = _step.value;
|
|
48
|
+
|
|
49
|
+
switch (selection.kind) {
|
|
50
|
+
case 'LinkedField':
|
|
51
|
+
// Linked fields are assignable if they contain fragment spreads or
|
|
52
|
+
// read-only otherwise.
|
|
53
|
+
var isAssignable = selection.selections.some(function (item) {
|
|
54
|
+
return item.kind === 'FragmentSpread';
|
|
55
|
+
});
|
|
56
|
+
var set = !isAssignable ? undefined : selection.plural ? createSetterForPluralLinkedField(selection, queryVariables, recordProxy, root) : createSetterForSingularLinkedField(selection, queryVariables, recordProxy, root);
|
|
57
|
+
var get = selection.plural ? createGetterForPluralLinkedField(selection, queryVariables, recordProxy, root) : createGetterForSingularLinkedField(selection, queryVariables, recordProxy, root);
|
|
58
|
+
Object.defineProperty(mutableUpdatableProxy, (_selection$alias = selection.alias) !== null && _selection$alias !== void 0 ? _selection$alias : selection.name, {
|
|
59
|
+
get: get,
|
|
60
|
+
set: set
|
|
61
|
+
});
|
|
62
|
+
break;
|
|
63
|
+
|
|
64
|
+
case 'ScalarField':
|
|
65
|
+
var scalarFieldName = (_selection$alias2 = selection.alias) !== null && _selection$alias2 !== void 0 ? _selection$alias2 : selection.name;
|
|
66
|
+
Object.defineProperty(mutableUpdatableProxy, scalarFieldName, {
|
|
67
|
+
get: function get() {
|
|
68
|
+
var _selection$args;
|
|
69
|
+
|
|
70
|
+
var variables = getArgumentValues((_selection$args = selection.args) !== null && _selection$args !== void 0 ? _selection$args : [], queryVariables); // Flow incorrect assumes that the return value for the get method must match
|
|
71
|
+
// the set parameter.
|
|
72
|
+
|
|
73
|
+
return recordProxy.getValue(selection.name, // $FlowFixMe[unclear-type] No good way to type these variables
|
|
74
|
+
variables // $FlowFixMe[unclear-type] Typed by the generated updatable query flow type
|
|
75
|
+
);
|
|
76
|
+
},
|
|
77
|
+
set: nonUpdatableKeys.includes(selection.name) ? undefined : // $FlowFixMe[unclear-type] Typed by the generated updatable query flow type
|
|
78
|
+
function (newValue) {
|
|
79
|
+
var _selection$args2;
|
|
80
|
+
|
|
81
|
+
var variables = getArgumentValues((_selection$args2 = selection.args) !== null && _selection$args2 !== void 0 ? _selection$args2 : [], queryVariables);
|
|
82
|
+
recordProxy.setValue(newValue, selection.name, // $FlowFixMe[unclear-type] No good way to type these variables
|
|
83
|
+
variables);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
break;
|
|
87
|
+
|
|
88
|
+
case 'InlineFragment':
|
|
89
|
+
if (recordProxy.getType() === selection.type) {
|
|
90
|
+
updateProxyFromSelections(mutableUpdatableProxy, recordProxy, queryVariables, selection.selections, root);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
break;
|
|
94
|
+
|
|
95
|
+
case 'ClientExtension':
|
|
96
|
+
updateProxyFromSelections(mutableUpdatableProxy, recordProxy, queryVariables, selection.selections, root);
|
|
97
|
+
break;
|
|
98
|
+
|
|
99
|
+
case 'FragmentSpread':
|
|
100
|
+
// Explicitly ignore
|
|
101
|
+
break;
|
|
102
|
+
|
|
103
|
+
default:
|
|
104
|
+
throw new Error('Encountered an unexpected ReaderSelection variant in RelayRecordSourceProxy. This indicates a bug in Relay.');
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
109
|
+
_loop();
|
|
110
|
+
}
|
|
111
|
+
} catch (err) {
|
|
112
|
+
_iterator.e(err);
|
|
113
|
+
} finally {
|
|
114
|
+
_iterator.f();
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function createSetterForPluralLinkedField(selection, queryVariables, recordProxy, root) {
|
|
119
|
+
return function set(newValue) {
|
|
120
|
+
var _selection$args3;
|
|
121
|
+
|
|
122
|
+
var variables = getArgumentValues((_selection$args3 = selection.args) !== null && _selection$args3 !== void 0 ? _selection$args3 : [], queryVariables);
|
|
123
|
+
|
|
124
|
+
if (newValue == null) {
|
|
125
|
+
// $FlowFixMe[unclear-type] No good way to type these variables
|
|
126
|
+
recordProxy.setValue(null, selection.name, variables);
|
|
127
|
+
} else {
|
|
128
|
+
var recordProxies = newValue.map(function (item) {
|
|
129
|
+
if (item == null) {
|
|
130
|
+
throw new Error('When assigning an array of items, none of the items should be null or undefined.');
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
var __id = item.__id;
|
|
134
|
+
|
|
135
|
+
if (__id == null) {
|
|
136
|
+
throw new Error('The __id field must be present on each item passed to the setter. This indicates a bug in Relay.');
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
var newValueRecord = root.get(__id);
|
|
140
|
+
|
|
141
|
+
if (newValueRecord == null) {
|
|
142
|
+
throw new Error("Did not find item with data id ".concat(__id, " in the store."));
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return newValueRecord;
|
|
146
|
+
});
|
|
147
|
+
recordProxy.setLinkedRecords(recordProxies, selection.name, // $FlowFixMe[unclear-type] No good way to type these variables
|
|
148
|
+
variables);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function createSetterForSingularLinkedField(selection, queryVariables, recordProxy, root) {
|
|
154
|
+
return function set(newValue) {
|
|
155
|
+
var _selection$args4;
|
|
156
|
+
|
|
157
|
+
var variables = getArgumentValues((_selection$args4 = selection.args) !== null && _selection$args4 !== void 0 ? _selection$args4 : [], queryVariables);
|
|
158
|
+
|
|
159
|
+
if (newValue == null) {
|
|
160
|
+
// $FlowFixMe[unclear-type] No good way to type these variables
|
|
161
|
+
recordProxy.setValue(null, selection.name, variables);
|
|
162
|
+
} else {
|
|
163
|
+
var __id = newValue.__id;
|
|
164
|
+
|
|
165
|
+
if (__id == null) {
|
|
166
|
+
throw new Error('The __id field must be present on the argument. This indicates a bug in Relay.');
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
var newValueRecord = root.get(__id);
|
|
170
|
+
|
|
171
|
+
if (newValueRecord == null) {
|
|
172
|
+
throw new Error("Did not find item with data id ".concat(__id, " in the store."));
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
recordProxy.setLinkedRecord(newValueRecord, selection.name, // $FlowFixMe[unclear-type] No good way to type these variables
|
|
176
|
+
variables);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
function createGetterForPluralLinkedField(selection, queryVariables, recordProxy, root) {
|
|
182
|
+
return function () {
|
|
183
|
+
var _selection$args5;
|
|
184
|
+
|
|
185
|
+
var variables = getArgumentValues((_selection$args5 = selection.args) !== null && _selection$args5 !== void 0 ? _selection$args5 : [], queryVariables);
|
|
186
|
+
var linkedRecords = recordProxy.getLinkedRecords(selection.name, // $FlowFixMe[unclear-type] No good way to type these variables
|
|
187
|
+
variables);
|
|
188
|
+
|
|
189
|
+
if (linkedRecords != null) {
|
|
190
|
+
return linkedRecords.map(function (linkedRecord) {
|
|
191
|
+
if (linkedRecord != null) {
|
|
192
|
+
var updatableProxy = {};
|
|
193
|
+
updateProxyFromSelections(updatableProxy, linkedRecord, queryVariables, selection.selections, root);
|
|
194
|
+
|
|
195
|
+
if (process.env.NODE_ENV !== "production") {
|
|
196
|
+
Object.freeze(updatableProxy);
|
|
197
|
+
} // Flow incorrect assumes that the return value for the get method must match
|
|
198
|
+
// the set parameter.
|
|
199
|
+
// $FlowFixMe[unclear-type] Typed by the generated updatable query flow type
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
return updatableProxy;
|
|
203
|
+
} else {
|
|
204
|
+
return linkedRecord;
|
|
205
|
+
} // $FlowFixMe[unclear-type] Typed by the generated updatable query flow type
|
|
206
|
+
|
|
207
|
+
});
|
|
208
|
+
} else {
|
|
209
|
+
return linkedRecords;
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function createGetterForSingularLinkedField(selection, queryVariables, recordProxy, root) {
|
|
215
|
+
return function () {
|
|
216
|
+
var _selection$args6;
|
|
217
|
+
|
|
218
|
+
var variables = getArgumentValues((_selection$args6 = selection.args) !== null && _selection$args6 !== void 0 ? _selection$args6 : [], queryVariables);
|
|
219
|
+
var linkedRecord = recordProxy.getLinkedRecord(selection.name, // $FlowFixMe[unclear-type] No good way to type these variables
|
|
220
|
+
variables);
|
|
221
|
+
|
|
222
|
+
if (linkedRecord != null) {
|
|
223
|
+
var updatableProxy = {};
|
|
224
|
+
updateProxyFromSelections(updatableProxy, linkedRecord, queryVariables, selection.selections, root);
|
|
225
|
+
|
|
226
|
+
if (process.env.NODE_ENV !== "production") {
|
|
227
|
+
Object.freeze(updatableProxy);
|
|
228
|
+
} // Flow incorrect assumes that the return value for the get method must match
|
|
229
|
+
// the set parameter.
|
|
230
|
+
// $FlowFixMe[unclear-type] Typed by the generated updatable query flow type
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
return updatableProxy;
|
|
234
|
+
} else {
|
|
235
|
+
return linkedRecord;
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
module.exports = {
|
|
241
|
+
readUpdatableQuery_EXPERIMENTAL: readUpdatableQuery_EXPERIMENTAL
|
|
242
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -14,16 +14,11 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
14
14
|
|
|
15
15
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
16
|
|
|
17
|
-
var warning = require("fbjs/lib/warning"); // $FlowFixMe[method-unbinding] added when improving typing for this parameters
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
21
|
-
|
|
22
17
|
var _require = require('../util/RelayConcreteNode'),
|
|
23
18
|
ACTOR_CHANGE = _require.ACTOR_CHANGE,
|
|
24
|
-
CONDITION = _require.CONDITION,
|
|
25
19
|
CLIENT_COMPONENT = _require.CLIENT_COMPONENT,
|
|
26
20
|
CLIENT_EXTENSION = _require.CLIENT_EXTENSION,
|
|
21
|
+
CONDITION = _require.CONDITION,
|
|
27
22
|
DEFER = _require.DEFER,
|
|
28
23
|
FLIGHT_FIELD = _require.FLIGHT_FIELD,
|
|
29
24
|
FRAGMENT_SPREAD = _require.FRAGMENT_SPREAD,
|
|
@@ -36,6 +31,11 @@ var _require = require('../util/RelayConcreteNode'),
|
|
|
36
31
|
STREAM = _require.STREAM,
|
|
37
32
|
TYPE_DISCRIMINATOR = _require.TYPE_DISCRIMINATOR;
|
|
38
33
|
|
|
34
|
+
var warning = require("fbjs/lib/warning");
|
|
35
|
+
|
|
36
|
+
// $FlowFixMe[method-unbinding] added when improving typing for this parameters
|
|
37
|
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
38
|
+
|
|
39
39
|
var validateMutation = function validateMutation() {};
|
|
40
40
|
|
|
41
41
|
if (process.env.NODE_ENV !== "production") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -11,10 +11,11 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
var RelayObservable = require('./RelayObservable');
|
|
14
|
-
|
|
15
14
|
/**
|
|
16
15
|
* Converts a FetchFunction into an ExecuteFunction for use by RelayNetwork.
|
|
17
16
|
*/
|
|
17
|
+
|
|
18
|
+
|
|
18
19
|
function convertFetch(fn) {
|
|
19
20
|
return function fetch(request, variables, cacheConfig, uploadables, logRequestInfo) {
|
|
20
21
|
var result = fn(request, variables, cacheConfig, uploadables, logRequestInfo); // Note: We allow FetchFunction to directly return Error to indicate
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -10,15 +10,16 @@
|
|
|
10
10
|
// flowlint ambiguous-object-type:error
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
var invariant = require('invariant');
|
|
14
|
-
|
|
15
13
|
var _require = require('./ConvertToExecuteFunction'),
|
|
16
14
|
convertFetch = _require.convertFetch;
|
|
17
15
|
|
|
16
|
+
var invariant = require('invariant');
|
|
18
17
|
/**
|
|
19
18
|
* Creates an implementation of the `Network` interface defined in
|
|
20
19
|
* `RelayNetworkTypes` given `fetch` and `subscribe` functions.
|
|
21
20
|
*/
|
|
21
|
+
|
|
22
|
+
|
|
22
23
|
function create(fetchFn, subscribe) {
|
|
23
24
|
// Convert to functions that returns RelayObservable.
|
|
24
25
|
var observeFetch = convertFetch(fetchFn);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -332,15 +332,13 @@ var RelayObservable = /*#__PURE__*/function () {
|
|
|
332
332
|
if (subscriptions.length === 0) {
|
|
333
333
|
sink.complete();
|
|
334
334
|
}
|
|
335
|
-
}
|
|
336
|
-
|
|
335
|
+
}
|
|
337
336
|
|
|
338
337
|
_this7.subscribe({
|
|
339
338
|
start: start,
|
|
340
339
|
next: function next(value) {
|
|
341
340
|
try {
|
|
342
341
|
if (!sink.closed) {
|
|
343
|
-
// $FlowFixMe[incompatible-call]
|
|
344
342
|
RelayObservable.from(fn(value)).subscribe({
|
|
345
343
|
start: start,
|
|
346
344
|
next: sink.next,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -14,10 +14,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
14
14
|
|
|
15
15
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
16
16
|
|
|
17
|
-
var invariant = require('invariant');
|
|
18
|
-
|
|
19
17
|
var stableCopy = require('../util/stableCopy');
|
|
20
18
|
|
|
19
|
+
var invariant = require('invariant');
|
|
20
|
+
|
|
21
21
|
/**
|
|
22
22
|
* A cache for storing query responses, featuring:
|
|
23
23
|
* - `get` with TTL
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
var generateID = require('../util/generateID');
|
|
14
|
-
|
|
15
14
|
/**
|
|
16
15
|
* Wraps the network with logging to ensure that network requests are
|
|
17
16
|
* always logged. Relying on each network callsite to be wrapped is
|
|
@@ -20,6 +19,8 @@ var generateID = require('../util/generateID');
|
|
|
20
19
|
* devtools will mutate the `env.__log` method, and the devtools rely
|
|
21
20
|
* on it to receive network events.
|
|
22
21
|
*/
|
|
22
|
+
|
|
23
|
+
|
|
23
24
|
function wrapNetworkWithLogObserver(env, network) {
|
|
24
25
|
return {
|
|
25
26
|
execute: function execute(params, variables, cacheConfig, uploadables) {
|
package/lib/query/GraphQLTag.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -14,7 +14,8 @@ var RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
|
14
14
|
|
|
15
15
|
var invariant = require('invariant');
|
|
16
16
|
|
|
17
|
-
var warning = require("fbjs/lib/warning");
|
|
17
|
+
var warning = require("fbjs/lib/warning"); // The type of a graphql`...` tagged template expression.
|
|
18
|
+
|
|
18
19
|
|
|
19
20
|
/**
|
|
20
21
|
* Runtime function to correspond to the `graphql` tagged template function.
|
package/lib/query/fetchQuery.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -17,18 +17,17 @@ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/obje
|
|
|
17
17
|
|
|
18
18
|
var RelayObservable = require('../network/RelayObservable');
|
|
19
19
|
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
var invariant = require('invariant');
|
|
20
|
+
var _require = require('../store/RelayModernOperationDescriptor'),
|
|
21
|
+
createOperationDescriptor = _require.createOperationDescriptor;
|
|
23
22
|
|
|
24
23
|
var reportMissingRequiredFields = require('../util/reportMissingRequiredFields');
|
|
25
24
|
|
|
26
|
-
var
|
|
27
|
-
createOperationDescriptor = _require.createOperationDescriptor;
|
|
25
|
+
var fetchQueryInternal = require('./fetchQueryInternal');
|
|
28
26
|
|
|
29
27
|
var _require2 = require('./GraphQLTag'),
|
|
30
28
|
getRequest = _require2.getRequest;
|
|
31
29
|
|
|
30
|
+
var invariant = require('invariant');
|
|
32
31
|
/**
|
|
33
32
|
* Fetches the given query and variables on the provided environment,
|
|
34
33
|
* and de-dupes identical in-flight requests.
|
|
@@ -106,6 +105,8 @@ var _require2 = require('./GraphQLTag'),
|
|
|
106
105
|
* ```
|
|
107
106
|
* NOTE: When using .toPromise(), the request cannot be cancelled.
|
|
108
107
|
*/
|
|
108
|
+
|
|
109
|
+
|
|
109
110
|
function fetchQuery(environment, query, variables, options) {
|
|
110
111
|
var _options$fetchPolicy;
|
|
111
112
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -15,12 +15,13 @@ var _require = require('../store/RelayModernOperationDescriptor'),
|
|
|
15
15
|
|
|
16
16
|
var _require2 = require('./GraphQLTag'),
|
|
17
17
|
getRequest = _require2.getRequest;
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
* A helper function to fetch the results of a query. Note that results for
|
|
21
20
|
* fragment spreads are masked: fields must be explicitly listed in the query in
|
|
22
21
|
* order to be accessible in the result object.
|
|
23
22
|
*/
|
|
23
|
+
|
|
24
|
+
|
|
24
25
|
function fetchQuery_DEPRECATED(environment, taggedNode, variables, cacheConfig) {
|
|
25
26
|
var query = getRequest(taggedNode);
|
|
26
27
|
|
package/lib/store/ClientID.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -10,10 +10,16 @@
|
|
|
10
10
|
// flowlint ambiguous-object-type:error
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
+
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
14
|
+
|
|
15
|
+
var _require = require('../util/StringInterner'),
|
|
16
|
+
intern = _require.intern;
|
|
17
|
+
|
|
13
18
|
var PREFIX = 'client:';
|
|
14
19
|
|
|
15
20
|
function generateClientID(id, storageKey, index) {
|
|
16
|
-
var
|
|
21
|
+
var internedId = RelayFeatureFlags.STRING_INTERN_LEVEL <= 0 ? id : intern(id, RelayFeatureFlags.MAX_DATA_ID_LENGTH);
|
|
22
|
+
var key = internedId + ':' + storageKey;
|
|
17
23
|
|
|
18
24
|
if (index != null) {
|
|
19
25
|
key += ':' + index;
|
package/lib/store/DataChecker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -15,41 +15,41 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
15
15
|
|
|
16
16
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelper"));
|
|
17
17
|
|
|
18
|
-
var RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
19
|
-
|
|
20
|
-
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
21
|
-
|
|
22
|
-
var RelayModernRecord = require('./RelayModernRecord');
|
|
23
|
-
|
|
24
18
|
var RelayRecordSourceMutator = require('../mutations/RelayRecordSourceMutator');
|
|
25
19
|
|
|
26
20
|
var RelayRecordSourceProxy = require('../mutations/RelayRecordSourceProxy');
|
|
27
21
|
|
|
28
|
-
var RelayStoreReactFlightUtils = require('./RelayStoreReactFlightUtils');
|
|
29
|
-
|
|
30
|
-
var RelayStoreUtils = require('./RelayStoreUtils');
|
|
31
|
-
|
|
32
|
-
var cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
|
|
33
|
-
|
|
34
|
-
var cloneRelayScalarHandleSourceField = require('./cloneRelayScalarHandleSourceField');
|
|
35
|
-
|
|
36
22
|
var getOperation = require('../util/getOperation');
|
|
37
23
|
|
|
38
|
-
var
|
|
24
|
+
var RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
25
|
+
|
|
26
|
+
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
39
27
|
|
|
40
28
|
var _require = require('./ClientID'),
|
|
41
29
|
isClientID = _require.isClientID;
|
|
42
30
|
|
|
31
|
+
var cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
|
|
32
|
+
|
|
33
|
+
var cloneRelayScalarHandleSourceField = require('./cloneRelayScalarHandleSourceField');
|
|
34
|
+
|
|
43
35
|
var _require2 = require('./RelayConcreteVariables'),
|
|
44
36
|
getLocalVariables = _require2.getLocalVariables;
|
|
45
37
|
|
|
38
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
39
|
+
|
|
46
40
|
var _require3 = require('./RelayRecordState'),
|
|
47
41
|
EXISTENT = _require3.EXISTENT,
|
|
48
42
|
UNKNOWN = _require3.UNKNOWN;
|
|
49
43
|
|
|
44
|
+
var RelayStoreReactFlightUtils = require('./RelayStoreReactFlightUtils');
|
|
45
|
+
|
|
46
|
+
var RelayStoreUtils = require('./RelayStoreUtils');
|
|
47
|
+
|
|
50
48
|
var _require4 = require('./TypeID'),
|
|
51
49
|
generateTypeID = _require4.generateTypeID;
|
|
52
50
|
|
|
51
|
+
var invariant = require('invariant');
|
|
52
|
+
|
|
53
53
|
var ACTOR_CHANGE = RelayConcreteNode.ACTOR_CHANGE,
|
|
54
54
|
CONDITION = RelayConcreteNode.CONDITION,
|
|
55
55
|
CLIENT_COMPONENT = RelayConcreteNode.CLIENT_COMPONENT,
|
|
@@ -145,8 +145,7 @@ var DataChecker = /*#__PURE__*/function () {
|
|
|
145
145
|
};
|
|
146
146
|
|
|
147
147
|
_proto._getVariableValue = function _getVariableValue(name) {
|
|
148
|
-
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayAsyncLoader(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
149
|
-
|
|
148
|
+
!this._variables.hasOwnProperty(name) ? process.env.NODE_ENV !== "production" ? invariant(false, 'RelayAsyncLoader(): Undefined variable `%s`.', name) : invariant(false) : void 0;
|
|
150
149
|
return this._variables[name];
|
|
151
150
|
};
|
|
152
151
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copyright (c)
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -21,27 +21,17 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
21
21
|
|
|
22
22
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
23
23
|
|
|
24
|
-
var RelayError = require('../util/RelayError');
|
|
25
|
-
|
|
26
|
-
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
27
|
-
|
|
28
|
-
var RelayModernRecord = require('./RelayModernRecord');
|
|
29
|
-
|
|
30
24
|
var RelayObservable = require('../network/RelayObservable');
|
|
31
25
|
|
|
32
|
-
var RelayRecordSource = require('./RelayRecordSource');
|
|
33
|
-
|
|
34
|
-
var RelayResponseNormalizer = require('./RelayResponseNormalizer');
|
|
35
|
-
|
|
36
26
|
var generateID = require('../util/generateID');
|
|
37
27
|
|
|
38
28
|
var getOperation = require('../util/getOperation');
|
|
39
29
|
|
|
40
|
-
var
|
|
30
|
+
var RelayError = require('../util/RelayError');
|
|
41
31
|
|
|
42
|
-
var
|
|
32
|
+
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
43
33
|
|
|
44
|
-
var
|
|
34
|
+
var stableCopy = require('../util/stableCopy');
|
|
45
35
|
|
|
46
36
|
var withDuration = require('../util/withDuration');
|
|
47
37
|
|
|
@@ -52,15 +42,25 @@ var _require = require('./ClientID'),
|
|
|
52
42
|
var _require2 = require('./RelayConcreteVariables'),
|
|
53
43
|
getLocalVariables = _require2.getLocalVariables;
|
|
54
44
|
|
|
45
|
+
var RelayModernRecord = require('./RelayModernRecord');
|
|
46
|
+
|
|
55
47
|
var _require3 = require('./RelayModernSelector'),
|
|
56
48
|
createNormalizationSelector = _require3.createNormalizationSelector,
|
|
57
49
|
createReaderSelector = _require3.createReaderSelector;
|
|
58
50
|
|
|
51
|
+
var RelayRecordSource = require('./RelayRecordSource');
|
|
52
|
+
|
|
53
|
+
var RelayResponseNormalizer = require('./RelayResponseNormalizer');
|
|
54
|
+
|
|
59
55
|
var _require4 = require('./RelayStoreUtils'),
|
|
60
56
|
ROOT_TYPE = _require4.ROOT_TYPE,
|
|
61
57
|
TYPENAME_KEY = _require4.TYPENAME_KEY,
|
|
62
58
|
getStorageKey = _require4.getStorageKey;
|
|
63
59
|
|
|
60
|
+
var invariant = require('invariant');
|
|
61
|
+
|
|
62
|
+
var warning = require("fbjs/lib/warning");
|
|
63
|
+
|
|
64
64
|
function execute(config) {
|
|
65
65
|
return new Executor(config);
|
|
66
66
|
}
|