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
|
@@ -13,19 +13,17 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const isEmptyObject = require('./isEmptyObject');
|
|
19
|
-
const stableCopy = require('./stableCopy');
|
|
16
|
+
import type {ReaderFragment} from './ReaderNode';
|
|
20
17
|
|
|
21
18
|
const {
|
|
22
19
|
getDataIDsFromFragment,
|
|
23
|
-
getVariablesFromFragment,
|
|
24
20
|
getSelector,
|
|
21
|
+
getVariablesFromFragment,
|
|
25
22
|
} = require('../store/RelayModernSelector');
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
const isEmptyObject = require('./isEmptyObject');
|
|
24
|
+
const RelayFeatureFlags = require('./RelayFeatureFlags');
|
|
25
|
+
const stableCopy = require('./stableCopy');
|
|
26
|
+
const {intern} = require('./StringInterner');
|
|
29
27
|
|
|
30
28
|
function getFragmentIdentifier(
|
|
31
29
|
fragmentNode: ReaderFragment,
|
|
@@ -52,7 +50,10 @@ function getFragmentIdentifier(
|
|
|
52
50
|
: Array.isArray(dataIDs)
|
|
53
51
|
? '[' + dataIDs.join(',') + ']'
|
|
54
52
|
: dataIDs;
|
|
55
|
-
ids =
|
|
53
|
+
ids =
|
|
54
|
+
RelayFeatureFlags.STRING_INTERN_LEVEL <= 1
|
|
55
|
+
? ids
|
|
56
|
+
: intern(ids, RelayFeatureFlags.MAX_DATA_ID_LENGTH);
|
|
56
57
|
|
|
57
58
|
return (
|
|
58
59
|
fragmentOwnerIdentifier +
|
|
@@ -67,7 +68,10 @@ function getFragmentIdentifier(
|
|
|
67
68
|
);
|
|
68
69
|
} else {
|
|
69
70
|
let ids = JSON.stringify(dataIDs) ?? 'missing';
|
|
70
|
-
ids =
|
|
71
|
+
ids =
|
|
72
|
+
RelayFeatureFlags.STRING_INTERN_LEVEL <= 1
|
|
73
|
+
? ids
|
|
74
|
+
: intern(ids, RelayFeatureFlags.MAX_DATA_ID_LENGTH);
|
|
71
75
|
|
|
72
76
|
return (
|
|
73
77
|
fragmentOwnerIdentifier +
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
const {REQUEST, SPLIT_OPERATION} = require('./RelayConcreteNode');
|
|
17
|
-
|
|
18
16
|
import type {
|
|
19
17
|
NormalizationOperation,
|
|
20
18
|
NormalizationRootNode,
|
|
21
19
|
NormalizationSplitOperation,
|
|
22
20
|
} from './NormalizationNode';
|
|
23
21
|
|
|
22
|
+
const {REQUEST, SPLIT_OPERATION} = require('./RelayConcreteNode');
|
|
23
|
+
|
|
24
24
|
/**
|
|
25
25
|
* OperationLoaders can return either a NormalizationSplitOperation or
|
|
26
26
|
* ConcreteRequest.
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
const getRefetchMetadata = require('./getRefetchMetadata');
|
|
17
|
-
const invariant = require('invariant');
|
|
18
|
-
|
|
19
16
|
import type {
|
|
20
17
|
ConcreteRequest,
|
|
21
18
|
ReaderFragment,
|
|
22
19
|
ReaderPaginationMetadata,
|
|
23
20
|
} from 'relay-runtime';
|
|
24
21
|
|
|
22
|
+
const getRefetchMetadata = require('./getRefetchMetadata');
|
|
23
|
+
const invariant = require('invariant');
|
|
24
|
+
|
|
25
25
|
function getPaginationMetadata(
|
|
26
26
|
fragmentNode: ReaderFragment,
|
|
27
27
|
componentDisplayName: string,
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
const invariant = require('invariant');
|
|
17
|
-
const warning = require('warning');
|
|
18
|
-
|
|
19
16
|
import type {ReaderPaginationMetadata} from './ReaderNode';
|
|
20
17
|
import type {Variables} from './RelayRuntimeTypes';
|
|
21
18
|
|
|
19
|
+
const invariant = require('invariant');
|
|
20
|
+
const warning = require('warning');
|
|
21
|
+
|
|
22
22
|
export type Direction = 'forward' | 'backward';
|
|
23
23
|
|
|
24
24
|
function getPaginationVariables(
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
const {getPromiseForActiveRequest} = require('../query/fetchQueryInternal');
|
|
17
|
-
|
|
18
16
|
import type {IEnvironment, RequestDescriptor} from '../store/RelayStoreTypes';
|
|
19
17
|
import type {ReaderFragment} from './ReaderNode';
|
|
20
18
|
|
|
19
|
+
const {getPromiseForActiveRequest} = require('../query/fetchQueryInternal');
|
|
20
|
+
|
|
21
21
|
function getPendingOperationsForFragment(
|
|
22
22
|
environment: IEnvironment,
|
|
23
23
|
fragmentNode: ReaderFragment,
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
const invariant = require('invariant');
|
|
17
|
-
|
|
18
16
|
import type {
|
|
19
17
|
ConcreteRequest,
|
|
20
18
|
ReaderFragment,
|
|
21
19
|
ReaderRefetchMetadata,
|
|
22
20
|
} from 'relay-runtime';
|
|
23
21
|
|
|
22
|
+
const invariant = require('invariant');
|
|
23
|
+
|
|
24
24
|
function getRefetchMetadata(
|
|
25
25
|
fragmentNode: ReaderFragment,
|
|
26
26
|
componentDisplayName: string,
|
|
@@ -12,12 +12,12 @@
|
|
|
12
12
|
|
|
13
13
|
'use strict';
|
|
14
14
|
|
|
15
|
-
const invariant = require('invariant');
|
|
16
|
-
const stableCopy = require('./stableCopy');
|
|
17
|
-
|
|
18
15
|
import type {RequestParameters} from './RelayConcreteNode';
|
|
19
16
|
import type {Variables} from './RelayRuntimeTypes';
|
|
20
17
|
|
|
18
|
+
const stableCopy = require('./stableCopy');
|
|
19
|
+
const invariant = require('invariant');
|
|
20
|
+
|
|
21
21
|
export type RequestIdentifier = string;
|
|
22
22
|
|
|
23
23
|
/**
|
package/lib/util/shortString.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
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
|
-
*
|
|
8
|
-
* @format
|
|
9
|
-
*/
|
|
10
|
-
// flowlint ambiguous-object-type:error
|
|
11
|
-
'use strict';
|
|
12
|
-
|
|
13
|
-
var RelayFeatureFlags = require('./RelayFeatureFlags');
|
|
14
|
-
/**
|
|
15
|
-
* Convert a long string into a unique short string
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
var ids = Object.create(null);
|
|
20
|
-
var digits = initDigitTable();
|
|
21
|
-
var seq = 1;
|
|
22
|
-
var ESCAPE_PREFIX = 'n';
|
|
23
|
-
var INTERN_PREFIX = 'i';
|
|
24
|
-
|
|
25
|
-
function initDigitTable() {
|
|
26
|
-
var ret = Object.create(null);
|
|
27
|
-
|
|
28
|
-
for (var i = 0; i < 10; ++i) {
|
|
29
|
-
ret["".concat(i)] = true;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return ret;
|
|
33
|
-
} // escape a string so that it never conflicts with a shortened string
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
function escape(str) {
|
|
37
|
-
if ( // "i<digit>..." -> "ni<digit>..."
|
|
38
|
-
str[0] === INTERN_PREFIX && str[1] in digits || // "ni<digit>..." -> "nni<digit>"
|
|
39
|
-
str[0] === ESCAPE_PREFIX) {
|
|
40
|
-
return ESCAPE_PREFIX + str;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return str;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function shorten(str) {
|
|
47
|
-
if (RelayFeatureFlags.MAX_DATA_ID_LENGTH == null || str.length < RelayFeatureFlags.MAX_DATA_ID_LENGTH) {
|
|
48
|
-
return escape(str);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (str in ids) {
|
|
52
|
-
return ids[str];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
var ret = INTERN_PREFIX + seq++;
|
|
56
|
-
ids[str] = ret;
|
|
57
|
-
return ret;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
module.exports = {
|
|
61
|
-
escape: escape,
|
|
62
|
-
shorten: shorten
|
|
63
|
-
};
|
package/util/shortString.js.flow
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
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
|
-
// flowlint ambiguous-object-type:error
|
|
12
|
-
|
|
13
|
-
'use strict';
|
|
14
|
-
|
|
15
|
-
const RelayFeatureFlags = require('./RelayFeatureFlags');
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Convert a long string into a unique short string
|
|
19
|
-
*/
|
|
20
|
-
const ids = Object.create(null);
|
|
21
|
-
const digits = initDigitTable();
|
|
22
|
-
let seq = 1;
|
|
23
|
-
const ESCAPE_PREFIX = 'n';
|
|
24
|
-
const INTERN_PREFIX = 'i';
|
|
25
|
-
|
|
26
|
-
function initDigitTable() {
|
|
27
|
-
const ret = Object.create(null);
|
|
28
|
-
for (let i = 0; i < 10; ++i) {
|
|
29
|
-
ret[`${i}`] = true;
|
|
30
|
-
}
|
|
31
|
-
return ret;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// escape a string so that it never conflicts with a shortened string
|
|
35
|
-
function escape(str: string): string {
|
|
36
|
-
if (
|
|
37
|
-
// "i<digit>..." -> "ni<digit>..."
|
|
38
|
-
(str[0] === INTERN_PREFIX && str[1] in digits) ||
|
|
39
|
-
// "ni<digit>..." -> "nni<digit>"
|
|
40
|
-
str[0] === ESCAPE_PREFIX
|
|
41
|
-
) {
|
|
42
|
-
return ESCAPE_PREFIX + str;
|
|
43
|
-
}
|
|
44
|
-
return str;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function shorten(str: string): string {
|
|
48
|
-
if (
|
|
49
|
-
RelayFeatureFlags.MAX_DATA_ID_LENGTH == null ||
|
|
50
|
-
str.length < RelayFeatureFlags.MAX_DATA_ID_LENGTH
|
|
51
|
-
) {
|
|
52
|
-
return escape(str);
|
|
53
|
-
}
|
|
54
|
-
if (str in ids) {
|
|
55
|
-
return ids[str];
|
|
56
|
-
}
|
|
57
|
-
const ret = INTERN_PREFIX + seq++;
|
|
58
|
-
ids[str] = ret;
|
|
59
|
-
return ret;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
module.exports = {escape, shorten};
|