relay-runtime 13.0.0-rc.1 → 13.0.2
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 +64 -0
- package/handlers/RelayDefaultHandlerProvider.js.flow +1 -1
- package/handlers/connection/ConnectionHandler.js.flow +1 -1
- package/handlers/connection/ConnectionInterface.js.flow +1 -1
- package/handlers/connection/MutationHandlers.js.flow +1 -1
- package/index.js +2 -2
- package/index.js.flow +5 -1
- package/lib/handlers/RelayDefaultHandlerProvider.js +1 -1
- package/lib/handlers/connection/ConnectionHandler.js +1 -1
- package/lib/handlers/connection/ConnectionInterface.js +1 -1
- package/lib/handlers/connection/MutationHandlers.js +1 -1
- package/lib/index.js +8 -2
- package/lib/multi-actor-environment/ActorIdentifier.js +1 -1
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +1 -1
- package/lib/multi-actor-environment/ActorUtils.js +1 -1
- package/lib/multi-actor-environment/MultiActorEnvironment.js +1 -1
- package/lib/multi-actor-environment/MultiActorEnvironmentTypes.js +1 -1
- package/lib/multi-actor-environment/index.js +1 -1
- package/lib/mutations/RelayDeclarativeMutationConfig.js +1 -1
- package/lib/mutations/RelayRecordProxy.js +1 -1
- package/lib/mutations/RelayRecordSourceMutator.js +1 -1
- package/lib/mutations/RelayRecordSourceProxy.js +1 -1
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +1 -1
- package/lib/mutations/applyOptimisticMutation.js +1 -1
- package/lib/mutations/commitLocalUpdate.js +1 -1
- package/lib/mutations/commitMutation.js +1 -1
- package/lib/mutations/readUpdatableQuery_EXPERIMENTAL.js +27 -18
- package/lib/mutations/validateMutation.js +1 -1
- package/lib/network/ConvertToExecuteFunction.js +1 -1
- package/lib/network/RelayNetwork.js +8 -4
- package/lib/network/RelayNetworkTypes.js +1 -1
- package/lib/network/RelayObservable.js +1 -1
- package/lib/network/RelayQueryResponseCache.js +1 -1
- package/lib/network/wrapNetworkWithLogObserver.js +1 -1
- package/lib/query/GraphQLTag.js +1 -1
- package/lib/query/PreloadableQueryRegistry.js +1 -1
- package/lib/query/fetchQuery.js +4 -1
- package/lib/query/fetchQueryInternal.js +1 -1
- package/lib/query/fetchQuery_DEPRECATED.js +1 -1
- package/lib/store/ClientID.js +1 -1
- package/lib/store/DataChecker.js +1 -1
- package/lib/store/OperationExecutor.js +1 -1
- package/lib/store/RelayConcreteVariables.js +13 -4
- package/lib/store/RelayExperimentalGraphResponseHandler.js +3 -3
- package/lib/store/RelayExperimentalGraphResponseTransform.js +54 -22
- package/lib/store/RelayModernEnvironment.js +1 -1
- package/lib/store/RelayModernFragmentSpecResolver.js +1 -1
- package/lib/store/RelayModernOperationDescriptor.js +2 -2
- package/lib/store/RelayModernRecord.js +1 -1
- package/lib/store/RelayModernSelector.js +1 -1
- package/lib/store/RelayModernStore.js +1 -1
- package/lib/store/RelayOperationTracker.js +1 -1
- package/lib/store/RelayOptimisticRecordSource.js +1 -1
- package/lib/store/RelayPublishQueue.js +5 -3
- package/lib/store/RelayReader.js +56 -16
- package/lib/store/RelayRecordSource.js +1 -1
- package/lib/store/RelayRecordState.js +1 -1
- package/lib/store/RelayReferenceMarker.js +1 -1
- package/lib/store/RelayResponseNormalizer.js +1 -1
- package/lib/store/RelayStoreReactFlightUtils.js +1 -1
- package/lib/store/RelayStoreSubscriptions.js +1 -1
- package/lib/store/RelayStoreTypes.js +1 -1
- package/lib/store/RelayStoreUtils.js +2 -1
- package/lib/store/ResolverCache.js +11 -3
- package/lib/store/ResolverFragments.js +3 -3
- 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 +1 -1
- package/lib/store/cloneRelayScalarHandleSourceField.js +1 -1
- package/lib/store/createFragmentSpecResolver.js +1 -1
- package/lib/store/createRelayContext.js +1 -1
- 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 +1 -1
- package/lib/subscription/requestSubscription.js +1 -3
- 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 +1 -1
- package/lib/util/RelayDefaultHandleKey.js +1 -1
- package/lib/util/RelayError.js +1 -1
- package/lib/util/RelayFeatureFlags.js +1 -2
- package/lib/util/RelayProfiler.js +1 -1
- package/lib/util/RelayReplaySubject.js +1 -1
- package/lib/util/RelayRuntimeTypes.js +1 -1
- package/lib/util/StringInterner.js +1 -1
- package/lib/util/createPayloadFor3DField.js +1 -1
- package/lib/util/deepFreeze.js +1 -1
- package/lib/util/generateID.js +1 -1
- package/lib/util/getFragmentIdentifier.js +1 -1
- package/lib/util/getOperation.js +1 -1
- package/lib/util/getPaginationMetadata.js +1 -1
- package/lib/util/getPaginationVariables.js +1 -1
- package/lib/util/getPendingOperationsForFragment.js +1 -1
- package/lib/util/getRefetchMetadata.js +1 -1
- package/lib/util/getRelayHandleKey.js +1 -1
- package/lib/util/getRequestIdentifier.js +1 -1
- 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/lib/util/withProvidedVariables.js +49 -0
- package/multi-actor-environment/ActorIdentifier.js.flow +1 -1
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +1 -1
- package/multi-actor-environment/ActorUtils.js.flow +1 -1
- package/multi-actor-environment/MultiActorEnvironment.js.flow +1 -1
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +1 -1
- package/multi-actor-environment/index.js.flow +1 -1
- package/mutations/RelayDeclarativeMutationConfig.js.flow +1 -2
- package/mutations/RelayRecordProxy.js.flow +1 -1
- package/mutations/RelayRecordSourceMutator.js.flow +1 -1
- package/mutations/RelayRecordSourceProxy.js.flow +1 -1
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +1 -1
- package/mutations/applyOptimisticMutation.js.flow +1 -1
- package/mutations/commitLocalUpdate.js.flow +1 -1
- package/mutations/commitMutation.js.flow +9 -20
- package/mutations/readUpdatableQuery_EXPERIMENTAL.js.flow +57 -50
- package/mutations/validateMutation.js.flow +1 -1
- package/network/ConvertToExecuteFunction.js.flow +1 -1
- package/network/RelayNetwork.js.flow +11 -4
- package/network/RelayNetworkTypes.js.flow +2 -2
- package/network/RelayObservable.js.flow +1 -1
- package/network/RelayQueryResponseCache.js.flow +1 -1
- package/network/wrapNetworkWithLogObserver.js.flow +2 -3
- package/package.json +2 -2
- package/query/GraphQLTag.js.flow +2 -2
- package/query/PreloadableQueryRegistry.js.flow +3 -2
- package/query/fetchQuery.js.flow +16 -12
- package/query/fetchQueryInternal.js.flow +1 -1
- package/query/fetchQuery_DEPRECATED.js.flow +1 -1
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +3 -3
- package/store/ClientID.js.flow +1 -1
- package/store/DataChecker.js.flow +1 -1
- package/store/OperationExecutor.js.flow +1 -1
- package/store/RelayConcreteVariables.js.flow +13 -3
- package/store/RelayExperimentalGraphResponseHandler.js.flow +3 -6
- package/store/RelayExperimentalGraphResponseTransform.js.flow +51 -22
- package/store/RelayModernEnvironment.js.flow +1 -1
- package/store/RelayModernFragmentSpecResolver.js.flow +1 -1
- package/store/RelayModernOperationDescriptor.js.flow +6 -2
- package/store/RelayModernRecord.js.flow +1 -1
- package/store/RelayModernSelector.js.flow +1 -1
- package/store/RelayModernStore.js.flow +1 -2
- package/store/RelayOperationTracker.js.flow +1 -1
- package/store/RelayOptimisticRecordSource.js.flow +1 -1
- package/store/RelayPublishQueue.js.flow +9 -2
- package/store/RelayReader.js.flow +79 -39
- package/store/RelayRecordSource.js.flow +1 -1
- package/store/RelayRecordState.js.flow +1 -1
- package/store/RelayReferenceMarker.js.flow +1 -1
- package/store/RelayResponseNormalizer.js.flow +1 -1
- package/store/RelayStoreReactFlightUtils.js.flow +1 -1
- package/store/RelayStoreSubscriptions.js.flow +1 -1
- package/store/RelayStoreTypes.js.flow +4 -3
- package/store/RelayStoreUtils.js.flow +2 -1
- package/store/ResolverCache.js.flow +19 -6
- package/store/ResolverFragments.js.flow +3 -3
- package/store/StoreInspector.js.flow +1 -1
- package/store/TypeID.js.flow +1 -1
- package/store/ViewerPattern.js.flow +1 -1
- package/store/cloneRelayHandleSourceField.js.flow +1 -1
- package/store/cloneRelayScalarHandleSourceField.js.flow +1 -1
- package/store/createFragmentSpecResolver.js.flow +1 -1
- package/store/createRelayContext.js.flow +1 -1
- 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 +1 -1
- package/store/readInlineData.js.flow +1 -1
- package/subscription/requestSubscription.js.flow +8 -14
- package/util/JSResourceTypes.flow.js.flow +1 -1
- package/util/NormalizationNode.js.flow +1 -1
- package/util/ReaderNode.js.flow +1 -1
- package/util/RelayConcreteNode.js.flow +5 -3
- package/util/RelayDefaultHandleKey.js.flow +1 -1
- package/util/RelayError.js.flow +1 -1
- package/util/RelayFeatureFlags.js.flow +1 -3
- package/util/RelayProfiler.js.flow +1 -1
- package/util/RelayReplaySubject.js.flow +1 -1
- package/util/RelayRuntimeTypes.js.flow +1 -1
- package/util/StringInterner.js.flow +1 -1
- package/util/createPayloadFor3DField.js.flow +1 -1
- package/util/deepFreeze.js.flow +1 -1
- package/util/generateID.js.flow +1 -1
- package/util/getFragmentIdentifier.js.flow +1 -1
- package/util/getOperation.js.flow +1 -1
- package/util/getPaginationMetadata.js.flow +3 -6
- package/util/getPaginationVariables.js.flow +1 -1
- package/util/getPendingOperationsForFragment.js.flow +1 -1
- package/util/getRefetchMetadata.js.flow +3 -6
- package/util/getRelayHandleKey.js.flow +1 -1
- package/util/getRequestIdentifier.js.flow +1 -1
- 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 +1 -1
- package/util/stableCopy.js.flow +1 -1
- package/util/withDuration.js.flow +1 -1
- package/util/withProvidedVariables.js.flow +64 -0
|
@@ -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,8 +21,6 @@ var _require2 = require('../store/RelayModernOperationDescriptor'),
|
|
|
21
21
|
var _require3 = require('../store/RelayModernSelector'),
|
|
22
22
|
createReaderSelector = _require3.createReaderSelector;
|
|
23
23
|
|
|
24
|
-
var RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
25
|
-
|
|
26
24
|
var warning = require("fbjs/lib/warning");
|
|
27
25
|
|
|
28
26
|
function requestSubscription(environment, config) {
|
package/lib/util/ReaderNode.js
CHANGED
package/lib/util/RelayError.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.
|
|
@@ -16,7 +16,6 @@ var RelayFeatureFlags = {
|
|
|
16
16
|
ENABLE_VARIABLE_CONNECTION_KEY: false,
|
|
17
17
|
ENABLE_PARTIAL_RENDERING_DEFAULT: true,
|
|
18
18
|
ENABLE_REACT_FLIGHT_COMPONENT_FIELD: false,
|
|
19
|
-
ENABLE_REQUIRED_DIRECTIVES: false,
|
|
20
19
|
ENABLE_RELAY_RESOLVERS: false,
|
|
21
20
|
ENABLE_GETFRAGMENTIDENTIFIER_OPTIMIZATION: false,
|
|
22
21
|
ENABLE_FRIENDLY_QUERY_NAME_GQL_URL: false,
|
package/lib/util/deepFreeze.js
CHANGED
package/lib/util/generateID.js
CHANGED
package/lib/util/getOperation.js
CHANGED
package/lib/util/isPromise.js
CHANGED
package/lib/util/stableCopy.js
CHANGED
package/lib/util/withDuration.js
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
* @format
|
|
9
|
+
* @emails oncall+relay
|
|
10
|
+
*/
|
|
11
|
+
// flowlint ambiguous-object-type:error
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
var areEqual = require("fbjs/lib/areEqual");
|
|
15
|
+
|
|
16
|
+
var warning = require("fbjs/lib/warning");
|
|
17
|
+
|
|
18
|
+
var WEAKMAP_SUPPORTED = typeof WeakMap === 'function';
|
|
19
|
+
var debugCache = WEAKMAP_SUPPORTED ? new WeakMap() : new Map();
|
|
20
|
+
|
|
21
|
+
function withProvidedVariables(userSuppliedVariables, providedVariables) {
|
|
22
|
+
if (providedVariables != null) {
|
|
23
|
+
var operationVariables = {};
|
|
24
|
+
Object.assign(operationVariables, userSuppliedVariables);
|
|
25
|
+
Object.keys(providedVariables).forEach(function (varName) {
|
|
26
|
+
var providerFunction = providedVariables[varName].get;
|
|
27
|
+
var providerResult = providerFunction(); // people like to ignore these warnings, so use the cache to
|
|
28
|
+
// enforce that we only compute the value the first time
|
|
29
|
+
|
|
30
|
+
if (!debugCache.has(providerFunction)) {
|
|
31
|
+
debugCache.set(providerFunction, providerResult);
|
|
32
|
+
operationVariables[varName] = providerResult;
|
|
33
|
+
} else {
|
|
34
|
+
var cachedResult = debugCache.get(providerFunction);
|
|
35
|
+
|
|
36
|
+
if (process.env.NODE_ENV !== "production") {
|
|
37
|
+
process.env.NODE_ENV !== "production" ? warning(areEqual(providerResult, cachedResult), 'Relay: Expected function `%s` for provider `%s` to be a pure function, ' + 'but got conflicting return values `%s` and `%s`', providerFunction.name, varName, providerResult, cachedResult) : void 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
operationVariables[varName] = cachedResult;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
return operationVariables;
|
|
44
|
+
} else {
|
|
45
|
+
return userSuppliedVariables;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
module.exports = withProvidedVariables;
|
|
@@ -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,7 +15,6 @@
|
|
|
15
15
|
import type {
|
|
16
16
|
MutationParameters,
|
|
17
17
|
RecordSourceSelectorProxy,
|
|
18
|
-
SelectorData,
|
|
19
18
|
SelectorStoreUpdater,
|
|
20
19
|
} from '../store/RelayStoreTypes';
|
|
21
20
|
import type {ConcreteRequest} from '../util/RelayConcreteNode';
|
|
@@ -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.
|
|
@@ -37,32 +37,15 @@ const validateMutation = require('./validateMutation');
|
|
|
37
37
|
const invariant = require('invariant');
|
|
38
38
|
const warning = require('warning');
|
|
39
39
|
|
|
40
|
-
export type DEPRECATED_MutationConfig<TMutationResponse> = {|
|
|
41
|
-
configs?: Array<DeclarativeMutationConfig>,
|
|
42
|
-
cacheConfig?: CacheConfig,
|
|
43
|
-
mutation: GraphQLTaggedNode,
|
|
44
|
-
variables: Variables,
|
|
45
|
-
uploadables?: UploadableMap,
|
|
46
|
-
onCompleted?: ?(
|
|
47
|
-
response: TMutationResponse,
|
|
48
|
-
errors: ?Array<PayloadError>,
|
|
49
|
-
) => void,
|
|
50
|
-
onError?: ?(error: Error) => void,
|
|
51
|
-
onUnsubscribe?: ?() => void,
|
|
52
|
-
optimisticUpdater?: ?SelectorStoreUpdater<TMutationResponse>,
|
|
53
|
-
optimisticResponse?: Object,
|
|
54
|
-
updater?: ?SelectorStoreUpdater<TMutationResponse>,
|
|
55
|
-
|};
|
|
56
|
-
|
|
57
40
|
export type MutationConfig<TMutation: MutationParameters> = {|
|
|
58
|
-
configs?: Array<DeclarativeMutationConfig>,
|
|
59
41
|
cacheConfig?: CacheConfig,
|
|
42
|
+
configs?: Array<DeclarativeMutationConfig>,
|
|
60
43
|
mutation: GraphQLTaggedNode,
|
|
61
|
-
onError?: ?(error: Error) => void,
|
|
62
44
|
onCompleted?: ?(
|
|
63
45
|
response: TMutation['response'],
|
|
64
46
|
errors: ?Array<PayloadError>,
|
|
65
47
|
) => void,
|
|
48
|
+
onError?: ?(error: Error) => void,
|
|
66
49
|
onNext?: ?() => void,
|
|
67
50
|
onUnsubscribe?: ?() => void,
|
|
68
51
|
optimisticResponse?: {
|
|
@@ -76,6 +59,12 @@ export type MutationConfig<TMutation: MutationParameters> = {|
|
|
|
76
59
|
variables: TMutation['variables'],
|
|
77
60
|
|};
|
|
78
61
|
|
|
62
|
+
export type DEPRECATED_MutationConfig<TMutationResponse> = MutationConfig<{|
|
|
63
|
+
response: TMutationResponse,
|
|
64
|
+
rawResponse: any,
|
|
65
|
+
variables: Variables,
|
|
66
|
+
|}>;
|
|
67
|
+
|
|
79
68
|
/**
|
|
80
69
|
* Higher-level helper function to execute a mutation against a specific
|
|
81
70
|
* environment.
|