relay-runtime 0.0.0-main-e0f88a3b → 0.0.0-main-2087b512
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 +2 -3
- package/handlers/connection/ConnectionHandler.js.flow +8 -10
- package/handlers/connection/MutationHandlers.js.flow +7 -8
- package/index.js +1 -1
- package/index.js.flow +29 -31
- package/lib/handlers/connection/ConnectionHandler.js +7 -7
- package/lib/index.js +45 -45
- package/lib/multi-actor-environment/ActorSpecificEnvironment.js +4 -4
- package/lib/multi-actor-environment/MultiActorEnvironment.js +8 -8
- package/lib/multi-actor-environment/index.js +2 -2
- package/lib/mutations/RelayRecordProxy.js +3 -2
- package/lib/mutations/RelayRecordSourceMutator.js +3 -2
- package/lib/mutations/RelayRecordSourceProxy.js +5 -4
- package/lib/mutations/RelayRecordSourceSelectorProxy.js +5 -4
- package/lib/mutations/applyOptimisticMutation.js +6 -6
- package/lib/mutations/commitMutation.js +10 -10
- package/lib/mutations/validateMutation.js +6 -6
- package/lib/network/ConvertToExecuteFunction.js +2 -1
- package/lib/network/RelayNetwork.js +3 -2
- package/lib/network/RelayQueryResponseCache.js +2 -2
- package/lib/network/wrapNetworkWithLogObserver.js +2 -1
- package/lib/query/GraphQLTag.js +2 -1
- package/lib/query/fetchQuery.js +6 -5
- package/lib/query/fetchQuery_DEPRECATED.js +2 -1
- package/lib/store/ClientID.js +4 -4
- package/lib/store/DataChecker.js +15 -15
- package/lib/store/OperationExecutor.js +13 -13
- package/lib/store/RelayConcreteVariables.js +3 -2
- package/lib/store/RelayModernEnvironment.js +11 -11
- package/lib/store/RelayModernFragmentSpecResolver.js +8 -8
- package/lib/store/RelayModernOperationDescriptor.js +2 -1
- package/lib/store/RelayModernRecord.js +12 -11
- package/lib/store/RelayModernSelector.js +7 -6
- package/lib/store/RelayModernStore.js +13 -13
- package/lib/store/RelayPublishQueue.js +4 -4
- package/lib/store/RelayReader.js +12 -12
- package/lib/store/RelayReferenceMarker.js +9 -9
- package/lib/store/RelayResponseNormalizer.js +19 -19
- package/lib/store/RelayStoreReactFlightUtils.js +3 -3
- package/lib/store/RelayStoreSubscriptions.js +4 -4
- package/lib/store/RelayStoreUtils.js +3 -3
- package/lib/store/ResolverCache.js +6 -6
- package/lib/store/ResolverFragments.js +6 -2
- package/lib/store/cloneRelayHandleSourceField.js +5 -4
- package/lib/store/cloneRelayScalarHandleSourceField.js +5 -4
- package/lib/store/createRelayContext.js +3 -1
- package/lib/store/readInlineData.js +6 -2
- package/lib/subscription/requestSubscription.js +4 -4
- package/lib/util/RelayFeatureFlags.js +1 -0
- package/lib/util/StringInterner.js +57 -0
- package/lib/util/getFragmentIdentifier.js +10 -10
- package/lib/util/getOperation.js +2 -1
- package/lib/util/getRelayHandleKey.js +2 -2
- package/lib/util/getRequestIdentifier.js +2 -2
- package/multi-actor-environment/ActorSpecificEnvironment.js.flow +14 -15
- package/multi-actor-environment/ActorUtils.js.flow +2 -2
- package/multi-actor-environment/MultiActorEnvironment.js.flow +9 -10
- package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +4 -4
- package/multi-actor-environment/index.js.flow +1 -2
- package/mutations/RelayDeclarativeMutationConfig.js.flow +3 -4
- package/mutations/RelayRecordProxy.js.flow +4 -5
- package/mutations/RelayRecordSourceMutator.js.flow +4 -6
- package/mutations/RelayRecordSourceProxy.js.flow +7 -9
- package/mutations/RelayRecordSourceSelectorProxy.js.flow +3 -4
- package/mutations/applyOptimisticMutation.js.flow +8 -10
- package/mutations/commitLocalUpdate.js.flow +1 -1
- package/mutations/commitMutation.js.flow +12 -19
- package/mutations/validateMutation.js.flow +14 -16
- package/network/ConvertToExecuteFunction.js.flow +2 -2
- package/network/RelayNetwork.js.flow +4 -5
- package/network/RelayQueryResponseCache.js.flow +3 -3
- package/network/wrapNetworkWithLogObserver.js.flow +3 -3
- package/package.json +1 -1
- package/query/GraphQLTag.js.flow +6 -7
- package/query/fetchQuery.js.flow +9 -11
- package/query/fetchQueryInternal.js.flow +4 -5
- package/query/fetchQuery_DEPRECATED.js.flow +4 -4
- package/relay-runtime.js +2 -2
- package/relay-runtime.min.js +2 -2
- package/store/ClientID.js.flow +8 -6
- package/store/DataChecker.js.flow +16 -18
- package/store/OperationExecutor.js.flow +24 -26
- package/store/RelayConcreteVariables.js.flow +4 -5
- package/store/RelayModernEnvironment.js.flow +17 -19
- package/store/RelayModernFragmentSpecResolver.js.flow +16 -18
- package/store/RelayModernOperationDescriptor.js.flow +10 -11
- package/store/RelayModernRecord.js.flow +19 -12
- package/store/RelayModernSelector.js.flow +11 -12
- package/store/RelayModernStore.js.flow +21 -23
- package/store/RelayOperationTracker.js.flow +2 -2
- package/store/RelayOptimisticRecordSource.js.flow +2 -2
- package/store/RelayPublishQueue.js.flow +8 -9
- package/store/RelayReader.js.flow +33 -35
- package/store/RelayRecordSource.js.flow +2 -2
- package/store/RelayReferenceMarker.js.flow +12 -14
- package/store/RelayResponseNormalizer.js.flow +36 -38
- package/store/RelayStoreReactFlightUtils.js.flow +3 -4
- package/store/RelayStoreSubscriptions.js.flow +7 -8
- package/store/RelayStoreTypes.js.flow +9 -3
- package/store/RelayStoreUtils.js.flow +7 -8
- package/store/ResolverCache.js.flow +11 -13
- package/store/ResolverFragments.js.flow +4 -5
- package/store/ViewerPattern.js.flow +2 -2
- package/store/cloneRelayHandleSourceField.js.flow +5 -6
- package/store/cloneRelayScalarHandleSourceField.js.flow +5 -6
- package/store/createFragmentSpecResolver.js.flow +3 -4
- package/store/createRelayContext.js.flow +2 -2
- package/store/normalizeRelayPayload.js.flow +6 -7
- package/store/readInlineData.js.flow +3 -4
- package/subscription/requestSubscription.js.flow +9 -11
- package/util/RelayFeatureFlags.js.flow +2 -0
- package/util/RelayReplaySubject.js.flow +2 -3
- package/util/StringInterner.js.flow +57 -0
- package/util/createPayloadFor3DField.js.flow +3 -3
- package/util/getFragmentIdentifier.js.flow +14 -10
- package/util/getOperation.js.flow +2 -2
- package/util/getPaginationMetadata.js.flow +3 -3
- package/util/getPaginationVariables.js.flow +3 -3
- package/util/getPendingOperationsForFragment.js.flow +2 -2
- package/util/getRefetchMetadata.js.flow +2 -2
- package/util/getRelayHandleKey.js.flow +1 -2
- package/util/getRequestIdentifier.js.flow +3 -3
- package/lib/util/shortString.js +0 -63
- package/util/shortString.js.flow +0 -62
|
@@ -12,8 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayRecordState = require('./RelayRecordState');
|
|
16
|
-
|
|
17
15
|
import type {DataID} from '../util/RelayRuntimeTypes';
|
|
18
16
|
import type {RecordState} from './RelayRecordState';
|
|
19
17
|
import type {
|
|
@@ -22,6 +20,8 @@ import type {
|
|
|
22
20
|
RecordObjectMap,
|
|
23
21
|
} from './RelayStoreTypes';
|
|
24
22
|
|
|
23
|
+
const RelayRecordState = require('./RelayRecordState');
|
|
24
|
+
|
|
25
25
|
const {EXISTENT, NONEXISTENT, UNKNOWN} = RelayRecordState;
|
|
26
26
|
|
|
27
27
|
/**
|
|
@@ -12,19 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
16
|
-
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
17
|
-
const RelayModernRecord = require('./RelayModernRecord');
|
|
18
|
-
const RelayStoreReactFlightUtils = require('./RelayStoreReactFlightUtils');
|
|
19
|
-
const RelayStoreUtils = require('./RelayStoreUtils');
|
|
20
|
-
|
|
21
|
-
const cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
|
|
22
|
-
const getOperation = require('../util/getOperation');
|
|
23
|
-
const invariant = require('invariant');
|
|
24
|
-
|
|
25
|
-
const {getLocalVariables} = require('./RelayConcreteVariables');
|
|
26
|
-
const {generateTypeID} = require('./TypeID');
|
|
27
|
-
|
|
28
15
|
import type {
|
|
29
16
|
NormalizationFlightField,
|
|
30
17
|
NormalizationLinkedField,
|
|
@@ -37,11 +24,22 @@ import type {
|
|
|
37
24
|
DataIDSet,
|
|
38
25
|
NormalizationSelector,
|
|
39
26
|
OperationLoader,
|
|
27
|
+
ReactFlightReachableExecutableDefinitions,
|
|
40
28
|
Record,
|
|
41
29
|
RecordSource,
|
|
42
|
-
ReactFlightReachableExecutableDefinitions,
|
|
43
30
|
} from './RelayStoreTypes';
|
|
44
31
|
|
|
32
|
+
const getOperation = require('../util/getOperation');
|
|
33
|
+
const RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
34
|
+
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
35
|
+
const cloneRelayHandleSourceField = require('./cloneRelayHandleSourceField');
|
|
36
|
+
const {getLocalVariables} = require('./RelayConcreteVariables');
|
|
37
|
+
const RelayModernRecord = require('./RelayModernRecord');
|
|
38
|
+
const RelayStoreReactFlightUtils = require('./RelayStoreReactFlightUtils');
|
|
39
|
+
const RelayStoreUtils = require('./RelayStoreUtils');
|
|
40
|
+
const {generateTypeID} = require('./TypeID');
|
|
41
|
+
const invariant = require('invariant');
|
|
42
|
+
|
|
45
43
|
const {
|
|
46
44
|
ACTOR_CHANGE,
|
|
47
45
|
CONDITION,
|
|
@@ -12,12 +12,31 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
import type {ActorIdentifier} from '../multi-actor-environment/ActorIdentifier';
|
|
16
|
+
import type {PayloadData} from '../network/RelayNetworkTypes';
|
|
17
|
+
import type {
|
|
18
|
+
NormalizationActorChange,
|
|
19
|
+
NormalizationDefer,
|
|
20
|
+
NormalizationFlightField,
|
|
21
|
+
NormalizationLinkedField,
|
|
22
|
+
NormalizationModuleImport,
|
|
23
|
+
NormalizationNode,
|
|
24
|
+
NormalizationScalarField,
|
|
25
|
+
NormalizationStream,
|
|
26
|
+
} from '../util/NormalizationNode';
|
|
27
|
+
import type {DataID, Variables} from '../util/RelayRuntimeTypes';
|
|
28
|
+
import type {
|
|
29
|
+
FollowupPayload,
|
|
30
|
+
HandleFieldPayload,
|
|
31
|
+
IncrementalDataPlaceholder,
|
|
32
|
+
MutableRecordSource,
|
|
33
|
+
NormalizationSelector,
|
|
34
|
+
ReactFlightPayloadDeserializer,
|
|
35
|
+
ReactFlightReachableExecutableDefinitions,
|
|
36
|
+
ReactFlightServerErrorHandler,
|
|
37
|
+
Record,
|
|
38
|
+
RelayResponsePayload,
|
|
39
|
+
} from './RelayStoreTypes';
|
|
21
40
|
|
|
22
41
|
const {
|
|
23
42
|
ACTOR_IDENTIFIER_FIELD_NAME,
|
|
@@ -25,9 +44,9 @@ const {
|
|
|
25
44
|
} = require('../multi-actor-environment/ActorUtils');
|
|
26
45
|
const {
|
|
27
46
|
ACTOR_CHANGE,
|
|
28
|
-
CONDITION,
|
|
29
47
|
CLIENT_COMPONENT,
|
|
30
48
|
CLIENT_EXTENSION,
|
|
49
|
+
CONDITION,
|
|
31
50
|
DEFER,
|
|
32
51
|
FLIGHT_FIELD,
|
|
33
52
|
FRAGMENT_SPREAD,
|
|
@@ -40,52 +59,31 @@ const {
|
|
|
40
59
|
STREAM,
|
|
41
60
|
TYPE_DISCRIMINATOR,
|
|
42
61
|
} = require('../util/RelayConcreteNode');
|
|
62
|
+
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
43
63
|
const {generateClientID, isClientID} = require('./ClientID');
|
|
44
64
|
const {getLocalVariables} = require('./RelayConcreteVariables');
|
|
65
|
+
const RelayModernRecord = require('./RelayModernRecord');
|
|
45
66
|
const {createNormalizationSelector} = require('./RelayModernSelector');
|
|
46
67
|
const {
|
|
47
|
-
refineToReactFlightPayloadData,
|
|
48
68
|
REACT_FLIGHT_EXECUTABLE_DEFINITIONS_STORAGE_KEY,
|
|
49
69
|
REACT_FLIGHT_TREE_STORAGE_KEY,
|
|
50
70
|
REACT_FLIGHT_TYPE_NAME,
|
|
71
|
+
refineToReactFlightPayloadData,
|
|
51
72
|
} = require('./RelayStoreReactFlightUtils');
|
|
52
73
|
const {
|
|
74
|
+
ROOT_ID,
|
|
75
|
+
ROOT_TYPE,
|
|
76
|
+
TYPENAME_KEY,
|
|
53
77
|
getArgumentValues,
|
|
54
78
|
getHandleStorageKey,
|
|
55
79
|
getModuleComponentKey,
|
|
56
80
|
getModuleOperationKey,
|
|
57
81
|
getStorageKey,
|
|
58
|
-
TYPENAME_KEY,
|
|
59
|
-
ROOT_ID,
|
|
60
|
-
ROOT_TYPE,
|
|
61
82
|
} = require('./RelayStoreUtils');
|
|
62
|
-
const {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
import type {
|
|
67
|
-
NormalizationActorChange,
|
|
68
|
-
NormalizationDefer,
|
|
69
|
-
NormalizationFlightField,
|
|
70
|
-
NormalizationLinkedField,
|
|
71
|
-
NormalizationModuleImport,
|
|
72
|
-
NormalizationNode,
|
|
73
|
-
NormalizationScalarField,
|
|
74
|
-
NormalizationStream,
|
|
75
|
-
} from '../util/NormalizationNode';
|
|
76
|
-
import type {DataID, Variables} from '../util/RelayRuntimeTypes';
|
|
77
|
-
import type {
|
|
78
|
-
FollowupPayload,
|
|
79
|
-
HandleFieldPayload,
|
|
80
|
-
IncrementalDataPlaceholder,
|
|
81
|
-
MutableRecordSource,
|
|
82
|
-
NormalizationSelector,
|
|
83
|
-
ReactFlightPayloadDeserializer,
|
|
84
|
-
ReactFlightReachableExecutableDefinitions,
|
|
85
|
-
ReactFlightServerErrorHandler,
|
|
86
|
-
Record,
|
|
87
|
-
RelayResponsePayload,
|
|
88
|
-
} from './RelayStoreTypes';
|
|
83
|
+
const {TYPE_SCHEMA_TYPE, generateTypeID} = require('./TypeID');
|
|
84
|
+
const areEqual = require('areEqual');
|
|
85
|
+
const invariant = require('invariant');
|
|
86
|
+
const warning = require('warning');
|
|
89
87
|
|
|
90
88
|
export type GetDataID = (
|
|
91
89
|
fieldValue: interface {[string]: mixed},
|
|
@@ -12,13 +12,12 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const invariant = require('invariant');
|
|
16
|
-
|
|
17
|
-
const {getType} = require('./RelayModernRecord');
|
|
18
|
-
|
|
19
15
|
import type {ReactFlightPayloadData} from '../network/RelayNetworkTypes';
|
|
20
16
|
import type {ReactFlightClientResponse, Record} from './RelayStoreTypes';
|
|
21
17
|
|
|
18
|
+
const {getType} = require('./RelayModernRecord');
|
|
19
|
+
const invariant = require('invariant');
|
|
20
|
+
|
|
22
21
|
// Reachable (client) executable definitions encountered while server component
|
|
23
22
|
// rendering
|
|
24
23
|
const REACT_FLIGHT_EXECUTABLE_DEFINITIONS_STORAGE_KEY = 'executableDefinitions';
|
|
@@ -12,18 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
16
|
-
const RelayReader = require('./RelayReader');
|
|
17
|
-
|
|
18
|
-
const deepFreeze = require('../util/deepFreeze');
|
|
19
|
-
const hasOverlappingIDs = require('./hasOverlappingIDs');
|
|
20
|
-
const recycleNodesInto = require('../util/recycleNodesInto');
|
|
21
|
-
|
|
22
15
|
import type {Disposable} from '../util/RelayRuntimeTypes';
|
|
23
16
|
import type {
|
|
17
|
+
DataIDSet,
|
|
24
18
|
LogFunction,
|
|
25
19
|
OperationDescriptor,
|
|
26
|
-
DataIDSet,
|
|
27
20
|
RecordSource,
|
|
28
21
|
RequestDescriptor,
|
|
29
22
|
Snapshot,
|
|
@@ -31,6 +24,12 @@ import type {
|
|
|
31
24
|
} from './RelayStoreTypes';
|
|
32
25
|
import type {ResolverCache} from './ResolverCache';
|
|
33
26
|
|
|
27
|
+
const deepFreeze = require('../util/deepFreeze');
|
|
28
|
+
const recycleNodesInto = require('../util/recycleNodesInto');
|
|
29
|
+
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
30
|
+
const hasOverlappingIDs = require('./hasOverlappingIDs');
|
|
31
|
+
const RelayReader = require('./RelayReader');
|
|
32
|
+
|
|
34
33
|
type Subscription = {|
|
|
35
34
|
callback: (snapshot: Snapshot) => void,
|
|
36
35
|
snapshot: Snapshot,
|
|
@@ -21,17 +21,18 @@ import type {
|
|
|
21
21
|
INetwork,
|
|
22
22
|
PayloadData,
|
|
23
23
|
PayloadError,
|
|
24
|
-
ReactFlightServerTree,
|
|
25
24
|
ReactFlightServerError,
|
|
25
|
+
ReactFlightServerTree,
|
|
26
26
|
UploadableMap,
|
|
27
27
|
} from '../network/RelayNetworkTypes';
|
|
28
28
|
import type RelayObservable from '../network/RelayObservable';
|
|
29
|
+
import type {RequestIdentifier} from '../util/getRequestIdentifier';
|
|
29
30
|
import type {
|
|
31
|
+
NormalizationArgument,
|
|
30
32
|
NormalizationLinkedField,
|
|
31
33
|
NormalizationRootNode,
|
|
32
34
|
NormalizationScalarField,
|
|
33
35
|
NormalizationSelectableNode,
|
|
34
|
-
NormalizationArgument,
|
|
35
36
|
} from '../util/NormalizationNode';
|
|
36
37
|
import type {ReaderFragment} from '../util/ReaderNode';
|
|
37
38
|
import type {
|
|
@@ -45,7 +46,6 @@ import type {
|
|
|
45
46
|
RenderPolicy,
|
|
46
47
|
Variables,
|
|
47
48
|
} from '../util/RelayRuntimeTypes';
|
|
48
|
-
import type {RequestIdentifier} from '../util/getRequestIdentifier';
|
|
49
49
|
import type {InvalidationState} from './RelayModernStore';
|
|
50
50
|
import type RelayOperationTracker from './RelayOperationTracker';
|
|
51
51
|
import type {RecordState} from './RelayRecordState';
|
|
@@ -53,6 +53,12 @@ import type {RecordState} from './RelayRecordState';
|
|
|
53
53
|
export opaque type FragmentReference = empty;
|
|
54
54
|
export type OperationTracker = RelayOperationTracker;
|
|
55
55
|
|
|
56
|
+
export type MutationParameters = {|
|
|
57
|
+
+response: {...},
|
|
58
|
+
+variables: interface {},
|
|
59
|
+
+rawResponse?: {...},
|
|
60
|
+
|};
|
|
61
|
+
|
|
56
62
|
/*
|
|
57
63
|
* An individual cached graph object.
|
|
58
64
|
*/
|
|
@@ -12,24 +12,23 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
16
|
-
|
|
17
|
-
const getRelayHandleKey = require('../util/getRelayHandleKey');
|
|
18
|
-
const invariant = require('invariant');
|
|
19
|
-
const stableCopy = require('../util/stableCopy');
|
|
20
|
-
|
|
21
15
|
import type {
|
|
22
|
-
NormalizationHandle,
|
|
23
16
|
NormalizationArgument,
|
|
24
17
|
NormalizationField,
|
|
18
|
+
NormalizationHandle,
|
|
25
19
|
} from '../util/NormalizationNode';
|
|
26
20
|
import type {
|
|
21
|
+
ReaderActorChange,
|
|
27
22
|
ReaderArgument,
|
|
28
23
|
ReaderField,
|
|
29
|
-
ReaderActorChange,
|
|
30
24
|
} from '../util/ReaderNode';
|
|
31
25
|
import type {Variables} from '../util/RelayRuntimeTypes';
|
|
32
26
|
|
|
27
|
+
const getRelayHandleKey = require('../util/getRelayHandleKey');
|
|
28
|
+
const RelayConcreteNode = require('../util/RelayConcreteNode');
|
|
29
|
+
const stableCopy = require('../util/stableCopy');
|
|
30
|
+
const invariant = require('invariant');
|
|
31
|
+
|
|
33
32
|
export type Arguments = interface {+[string]: mixed};
|
|
34
33
|
|
|
35
34
|
const {VARIABLE, LITERAL, OBJECT_VALUE, LIST_VALUE} = RelayConcreteNode;
|
|
@@ -12,27 +12,25 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
import type {ReaderRelayResolver} from '../util/ReaderNode';
|
|
16
|
+
import type {DataID, Variables} from '../util/RelayRuntimeTypes';
|
|
17
|
+
import type {
|
|
18
|
+
MutableRecordSource,
|
|
19
|
+
Record,
|
|
20
|
+
SingularReaderSelector,
|
|
21
|
+
} from './RelayStoreTypes';
|
|
16
22
|
|
|
17
23
|
const recycleNodesInto = require('../util/recycleNodesInto');
|
|
18
|
-
const warning = require('warning');
|
|
19
|
-
|
|
20
24
|
const {generateClientID} = require('./ClientID');
|
|
25
|
+
const RelayModernRecord = require('./RelayModernRecord');
|
|
21
26
|
const {
|
|
22
|
-
RELAY_RESOLVER_VALUE_KEY,
|
|
23
|
-
RELAY_RESOLVER_INVALIDATION_KEY,
|
|
24
27
|
RELAY_RESOLVER_INPUTS_KEY,
|
|
28
|
+
RELAY_RESOLVER_INVALIDATION_KEY,
|
|
25
29
|
RELAY_RESOLVER_READER_SELECTOR_KEY,
|
|
30
|
+
RELAY_RESOLVER_VALUE_KEY,
|
|
26
31
|
getStorageKey,
|
|
27
32
|
} = require('./RelayStoreUtils');
|
|
28
|
-
|
|
29
|
-
import type {ReaderRelayResolver} from '../util/ReaderNode';
|
|
30
|
-
import type {DataID, Variables} from '../util/RelayRuntimeTypes';
|
|
31
|
-
import type {
|
|
32
|
-
MutableRecordSource,
|
|
33
|
-
Record,
|
|
34
|
-
SingularReaderSelector,
|
|
35
|
-
} from './RelayStoreTypes';
|
|
33
|
+
const warning = require('warning');
|
|
36
34
|
|
|
37
35
|
type ResolverID = string;
|
|
38
36
|
|
|
@@ -12,17 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const invariant = require('invariant');
|
|
16
|
-
|
|
17
|
-
const {getFragment} = require('../query/GraphQLTag');
|
|
18
|
-
const {getSelector} = require('./RelayModernSelector');
|
|
19
|
-
|
|
20
15
|
import type {GraphQLTaggedNode} from '../query/GraphQLTag';
|
|
21
16
|
import type {
|
|
22
17
|
FragmentReference,
|
|
23
18
|
SingularReaderSelector,
|
|
24
19
|
} from './RelayStoreTypes';
|
|
25
20
|
|
|
21
|
+
const {getFragment} = require('../query/GraphQLTag');
|
|
22
|
+
const {getSelector} = require('./RelayModernSelector');
|
|
23
|
+
const invariant = require('invariant');
|
|
24
|
+
|
|
26
25
|
// When we call the user-supplied resolver function, it will in turn call
|
|
27
26
|
// `readFragment`, but that's a global function -- it needs information
|
|
28
27
|
// about what resolver is being executed, which is supplied by putting the
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
+
import type {DataID} from 'relay-runtime/util/RelayRuntimeTypes';
|
|
16
|
+
|
|
15
17
|
const {generateClientID} = require('./ClientID');
|
|
16
18
|
const {ROOT_ID} = require('./RelayStoreUtils');
|
|
17
19
|
|
|
18
|
-
import type {DataID} from 'relay-runtime/util/RelayRuntimeTypes';
|
|
19
|
-
|
|
20
20
|
const VIEWER_ID: DataID = generateClientID(ROOT_ID, 'viewer');
|
|
21
21
|
const VIEWER_TYPE = 'Viewer';
|
|
22
22
|
|
|
@@ -12,12 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const areEqual = require('areEqual');
|
|
16
|
-
const invariant = require('invariant');
|
|
17
|
-
|
|
18
|
-
const {LINKED_FIELD} = require('../util/RelayConcreteNode');
|
|
19
|
-
const {getHandleStorageKey} = require('./RelayStoreUtils');
|
|
20
|
-
|
|
21
15
|
import type {
|
|
22
16
|
NormalizationLinkedField,
|
|
23
17
|
NormalizationSelection,
|
|
@@ -25,6 +19,11 @@ import type {
|
|
|
25
19
|
import type {NormalizationLinkedHandle} from '../util/NormalizationNode';
|
|
26
20
|
import type {Variables} from '../util/RelayRuntimeTypes';
|
|
27
21
|
|
|
22
|
+
const {LINKED_FIELD} = require('../util/RelayConcreteNode');
|
|
23
|
+
const {getHandleStorageKey} = require('./RelayStoreUtils');
|
|
24
|
+
const areEqual = require('areEqual');
|
|
25
|
+
const invariant = require('invariant');
|
|
26
|
+
|
|
28
27
|
/**
|
|
29
28
|
* @private
|
|
30
29
|
*
|
|
@@ -12,12 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const areEqual = require('areEqual');
|
|
16
|
-
const invariant = require('invariant');
|
|
17
|
-
|
|
18
|
-
const {SCALAR_FIELD} = require('../util/RelayConcreteNode');
|
|
19
|
-
const {getHandleStorageKey} = require('./RelayStoreUtils');
|
|
20
|
-
|
|
21
15
|
import type {
|
|
22
16
|
NormalizationScalarField,
|
|
23
17
|
NormalizationSelection,
|
|
@@ -25,6 +19,11 @@ import type {
|
|
|
25
19
|
import type {NormalizationScalarHandle} from '../util/NormalizationNode';
|
|
26
20
|
import type {Variables} from '../util/RelayRuntimeTypes';
|
|
27
21
|
|
|
22
|
+
const {SCALAR_FIELD} = require('../util/RelayConcreteNode');
|
|
23
|
+
const {getHandleStorageKey} = require('./RelayStoreUtils');
|
|
24
|
+
const areEqual = require('areEqual');
|
|
25
|
+
const invariant = require('invariant');
|
|
26
|
+
|
|
28
27
|
/**
|
|
29
28
|
* @private
|
|
30
29
|
*
|
|
@@ -12,10 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayModernFragmentSpecResolver = require('./RelayModernFragmentSpecResolver');
|
|
16
|
-
|
|
17
|
-
const warning = require('warning');
|
|
18
|
-
|
|
19
15
|
import type {
|
|
20
16
|
FragmentMap,
|
|
21
17
|
FragmentSpecResolver,
|
|
@@ -23,6 +19,9 @@ import type {
|
|
|
23
19
|
RelayContext,
|
|
24
20
|
} from './RelayStoreTypes';
|
|
25
21
|
|
|
22
|
+
const RelayModernFragmentSpecResolver = require('./RelayModernFragmentSpecResolver');
|
|
23
|
+
const warning = require('warning');
|
|
24
|
+
|
|
26
25
|
function createFragmentSpecResolver(
|
|
27
26
|
context: RelayContext,
|
|
28
27
|
containerName: string,
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const invariant = require('invariant');
|
|
16
|
-
|
|
17
15
|
import type {RelayContext} from './RelayStoreTypes.js';
|
|
18
16
|
import typeof {createContext} from 'react';
|
|
19
17
|
|
|
18
|
+
const invariant = require('invariant');
|
|
19
|
+
|
|
20
20
|
// Ideally, we'd just import the type of the react module, but this causes Flow
|
|
21
21
|
// problems.
|
|
22
22
|
type React = {
|
|
@@ -12,19 +12,18 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayModernRecord = require('./RelayModernRecord');
|
|
16
|
-
const RelayRecordSource = require('./RelayRecordSource');
|
|
17
|
-
const RelayResponseNormalizer = require('./RelayResponseNormalizer');
|
|
18
|
-
|
|
19
|
-
const {ROOT_TYPE} = require('./RelayStoreUtils');
|
|
20
|
-
|
|
21
15
|
import type {PayloadData, PayloadError} from '../network/RelayNetworkTypes';
|
|
22
16
|
import type {NormalizationOptions} from './RelayResponseNormalizer';
|
|
23
17
|
import type {
|
|
24
|
-
RelayResponsePayload,
|
|
25
18
|
NormalizationSelector,
|
|
19
|
+
RelayResponsePayload,
|
|
26
20
|
} from './RelayStoreTypes';
|
|
27
21
|
|
|
22
|
+
const RelayModernRecord = require('./RelayModernRecord');
|
|
23
|
+
const RelayRecordSource = require('./RelayRecordSource');
|
|
24
|
+
const RelayResponseNormalizer = require('./RelayResponseNormalizer');
|
|
25
|
+
const {ROOT_TYPE} = require('./RelayStoreUtils');
|
|
26
|
+
|
|
28
27
|
function normalizeRelayPayload(
|
|
29
28
|
selector: NormalizationSelector,
|
|
30
29
|
payload: PayloadData,
|
|
@@ -12,13 +12,12 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
import type {GraphQLTaggedNode} from '../query/GraphQLTag';
|
|
16
|
+
import type {FragmentReference} from './RelayStoreTypes';
|
|
16
17
|
|
|
17
18
|
const {getInlineDataFragment} = require('../query/GraphQLTag');
|
|
18
19
|
const {FRAGMENTS_KEY} = require('./RelayStoreUtils');
|
|
19
|
-
|
|
20
|
-
import type {GraphQLTaggedNode} from '../query/GraphQLTag';
|
|
21
|
-
import type {FragmentReference} from './RelayStoreTypes';
|
|
20
|
+
const invariant = require('invariant');
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* Reads an @inline data fragment that was spread into the parent fragment.
|
|
@@ -12,17 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const RelayDeclarativeMutationConfig = require('../mutations/RelayDeclarativeMutationConfig');
|
|
16
|
-
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
17
|
-
|
|
18
|
-
const warning = require('warning');
|
|
19
|
-
|
|
20
|
-
const {getRequest} = require('../query/GraphQLTag');
|
|
21
|
-
const {
|
|
22
|
-
createOperationDescriptor,
|
|
23
|
-
} = require('../store/RelayModernOperationDescriptor');
|
|
24
|
-
const {createReaderSelector} = require('../store/RelayModernSelector');
|
|
25
|
-
|
|
26
15
|
import type {DeclarativeMutationConfig} from '../mutations/RelayDeclarativeMutationConfig';
|
|
27
16
|
import type {GraphQLTaggedNode} from '../query/GraphQLTag';
|
|
28
17
|
import type {
|
|
@@ -35,6 +24,15 @@ import type {
|
|
|
35
24
|
Variables,
|
|
36
25
|
} from '../util/RelayRuntimeTypes';
|
|
37
26
|
|
|
27
|
+
const RelayDeclarativeMutationConfig = require('../mutations/RelayDeclarativeMutationConfig');
|
|
28
|
+
const {getRequest} = require('../query/GraphQLTag');
|
|
29
|
+
const {
|
|
30
|
+
createOperationDescriptor,
|
|
31
|
+
} = require('../store/RelayModernOperationDescriptor');
|
|
32
|
+
const {createReaderSelector} = require('../store/RelayModernSelector');
|
|
33
|
+
const RelayFeatureFlags = require('../util/RelayFeatureFlags');
|
|
34
|
+
const warning = require('warning');
|
|
35
|
+
|
|
38
36
|
export type SubscriptionParameters = {|
|
|
39
37
|
+response: {...},
|
|
40
38
|
+variables: interface {},
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import type {Disposable} from '../util/RelayRuntimeTypes';
|
|
16
16
|
|
|
17
17
|
type FeatureFlags = {|
|
|
18
|
+
DELAY_CLEANUP_OF_PENDING_PRELOAD_QUERIES: boolean,
|
|
18
19
|
ENABLE_VARIABLE_CONNECTION_KEY: boolean,
|
|
19
20
|
ENABLE_PARTIAL_RENDERING_DEFAULT: boolean,
|
|
20
21
|
ENABLE_REACT_FLIGHT_COMPONENT_FIELD: boolean,
|
|
@@ -33,6 +34,7 @@ type FeatureFlags = {|
|
|
|
33
34
|
|};
|
|
34
35
|
|
|
35
36
|
const RelayFeatureFlags: FeatureFlags = {
|
|
37
|
+
DELAY_CLEANUP_OF_PENDING_PRELOAD_QUERIES: false,
|
|
36
38
|
ENABLE_VARIABLE_CONNECTION_KEY: false,
|
|
37
39
|
ENABLE_PARTIAL_RENDERING_DEFAULT: true,
|
|
38
40
|
ENABLE_REACT_FLIGHT_COMPONENT_FIELD: false,
|
|
@@ -12,12 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
import type {Observer, Sink, Subscription} from '../network/RelayObservable';
|
|
16
16
|
|
|
17
|
+
const RelayObservable = require('../network/RelayObservable');
|
|
17
18
|
const invariant = require('invariant');
|
|
18
19
|
|
|
19
|
-
import type {Observer, Sink, Subscription} from '../network/RelayObservable';
|
|
20
|
-
|
|
21
20
|
type Event<T> =
|
|
22
21
|
| {
|
|
23
22
|
kind: 'next',
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its 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
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
const internTable = new Map();
|
|
14
|
+
let nextIndex = 1;
|
|
15
|
+
const digits = new Set('0123456789');
|
|
16
|
+
|
|
17
|
+
// Character used as the prefix for interned strings. The specific character is
|
|
18
|
+
// chosen to reduce the likelihood that non-interned input strings need to be
|
|
19
|
+
// escaped (choosing eg a-Z would increase the likelihood we need to escape)
|
|
20
|
+
const INTERN_PREFIX = '\t';
|
|
21
|
+
// Character used as the prefix of escaped strings. As above, this is also
|
|
22
|
+
// chosen to be unlikely in normal input strings.
|
|
23
|
+
const ESCAPE_PREFIX = '\v';
|
|
24
|
+
|
|
25
|
+
// Escape a string so that it cannot conflict with an interned string
|
|
26
|
+
function escape(str: string): string {
|
|
27
|
+
if (
|
|
28
|
+
// "\t<digit>..." -> "\v\t<digit>..."
|
|
29
|
+
(str[0] === INTERN_PREFIX && digits.has(str[1])) ||
|
|
30
|
+
// "\v..." -> "\v\v..."
|
|
31
|
+
str[0] === ESCAPE_PREFIX
|
|
32
|
+
) {
|
|
33
|
+
return ESCAPE_PREFIX + str;
|
|
34
|
+
}
|
|
35
|
+
return str;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Interns the input string if its length equals or exceeds the given `limit`,
|
|
39
|
+
// returning a shorter replacement string that is uniquely associated with the
|
|
40
|
+
// input: multiple calls to intern() for the equivalent input strings (and limit)
|
|
41
|
+
// will always return the exact same string.
|
|
42
|
+
// Strings shorter than the limit are not interned but are escaped if they
|
|
43
|
+
// could conflict with interned strings.
|
|
44
|
+
function intern(str: string, limit: ?number): string {
|
|
45
|
+
if (limit == null || str.length < limit) {
|
|
46
|
+
return escape(str);
|
|
47
|
+
}
|
|
48
|
+
let internedString = internTable.get(str);
|
|
49
|
+
if (internedString != null) {
|
|
50
|
+
return internedString;
|
|
51
|
+
}
|
|
52
|
+
internedString = INTERN_PREFIX + nextIndex++;
|
|
53
|
+
internTable.set(str, internedString);
|
|
54
|
+
return internedString;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
module.exports = {intern};
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
+
import type {JSResourceReference} from 'JSResourceReference';
|
|
17
|
+
import type {NormalizationSplitOperation} from './NormalizationNode';
|
|
18
|
+
|
|
16
19
|
const {
|
|
17
20
|
getModuleComponentKey,
|
|
18
21
|
getModuleOperationKey,
|
|
19
22
|
} = require('../store/RelayStoreUtils');
|
|
20
23
|
|
|
21
|
-
import type {NormalizationSplitOperation} from './NormalizationNode';
|
|
22
|
-
import type {JSResourceReference} from 'JSResourceReference';
|
|
23
|
-
|
|
24
24
|
export opaque type Local3DPayload<
|
|
25
25
|
+DocumentName: string,
|
|
26
26
|
+Response: {...},
|