relay-runtime 21.0.0 → 21.0.1

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.
Files changed (107) hide show
  1. package/experimental.d.ts +34 -0
  2. package/experimental.js +1 -1
  3. package/experimental.js.flow +4 -4
  4. package/handlers/RelayDefaultHandlerProvider.d.ts +12 -0
  5. package/handlers/connection/ConnectionHandler.d.ts +51 -0
  6. package/handlers/connection/ConnectionInterface.d.ts +40 -0
  7. package/handlers/connection/MutationHandlers.d.ts +17 -0
  8. package/index.d.ts +274 -0
  9. package/index.js +1 -1
  10. package/llm-docs/api-reference/relay-runtime/fetch-query.mdx +5 -0
  11. package/llm-docs/getting-started/compiler.mdx +19 -3
  12. package/llm-docs/getting-started/quick-start.mdx +15 -12
  13. package/llm-docs/guides/codemods.mdx +14 -1
  14. package/multi-actor-environment/ActorIdentifier.d.ts +17 -0
  15. package/multi-actor-environment/ActorSpecificEnvironment.js.flow +9 -9
  16. package/multi-actor-environment/MultiActorEnvironment.d.ts +123 -0
  17. package/multi-actor-environment/MultiActorEnvironment.js.flow +22 -18
  18. package/multi-actor-environment/MultiActorEnvironmentTypes.d.ts +225 -0
  19. package/multi-actor-environment/MultiActorEnvironmentTypes.js.flow +3 -3
  20. package/multi-actor-environment/index.d.ts +14 -0
  21. package/multi-actor-environment.d.ts +8 -0
  22. package/mutations/RelayDeclarativeMutationConfig.d.ts +70 -0
  23. package/mutations/applyOptimisticMutation.d.ts +25 -0
  24. package/mutations/commitLocalUpdate.d.ts +10 -0
  25. package/mutations/commitMutation.d.ts +48 -0
  26. package/mutations/commitMutation.js.flow +1 -1
  27. package/network/RelayNetwork.d.ts +12 -0
  28. package/network/RelayNetworkTypes.d.ts +145 -0
  29. package/network/RelayNetworkTypes.js.flow +15 -15
  30. package/network/RelayObservable.d.ts +197 -0
  31. package/network/RelayObservable.js.flow +21 -21
  32. package/network/RelayQueryResponseCache.d.ts +16 -0
  33. package/package.json +1 -1
  34. package/query/GraphQLTag.d.ts +45 -0
  35. package/query/fetchQuery.d.ts +21 -0
  36. package/query/fetchQueryInternal.d.ts +26 -0
  37. package/query/fetchQueryInternal.js.flow +4 -4
  38. package/query/fetchQuery_DEPRECATED.d.ts +17 -0
  39. package/store/ClientID.d.ts +14 -0
  40. package/store/DataChecker.js.flow +8 -6
  41. package/store/NormalizationEngine.js.flow +4 -1
  42. package/store/OperationExecutor.d.ts +51 -0
  43. package/store/OperationExecutor.js.flow +33 -30
  44. package/store/RelayModernEnvironment.d.ts +97 -0
  45. package/store/RelayModernEnvironment.js.flow +21 -21
  46. package/store/RelayModernOperationDescriptor.d.ts +28 -0
  47. package/store/RelayModernRecord.d.ts +92 -0
  48. package/store/RelayModernSelector.d.ts +123 -0
  49. package/store/RelayModernStore.d.ts +57 -0
  50. package/store/RelayOperationTracker.d.ts +29 -0
  51. package/store/RelayPublishQueue.js.flow +8 -8
  52. package/store/RelayRecordSource.d.ts +26 -0
  53. package/store/RelayRecordState.d.ts +28 -0
  54. package/store/RelayResponseNormalizer.d.ts +28 -0
  55. package/store/RelayResponseNormalizer.js.flow +8 -8
  56. package/store/RelayStoreTypes.d.ts +1327 -0
  57. package/store/RelayStoreTypes.js.flow +284 -280
  58. package/store/RelayStoreUtils.d.ts +86 -0
  59. package/store/RelayStoreUtils.js.flow +2 -2
  60. package/store/ResolverFragments.d.ts +43 -0
  61. package/store/ResolverFragments.js.flow +14 -6
  62. package/store/StoreInspector.js.flow +2 -2
  63. package/store/ViewerPattern.d.ts +11 -0
  64. package/store/createFragmentSpecResolver.d.ts +16 -0
  65. package/store/defaultGetDataID.js.flow +1 -1
  66. package/store/isRelayModernEnvironment.d.ts +8 -0
  67. package/store/live-resolvers/LiveResolverCache.js.flow +1 -1
  68. package/store/live-resolvers/resolverDataInjector.d.ts +27 -0
  69. package/store/observeFragmentExperimental.d.ts +46 -0
  70. package/store/observeFragmentExperimental.js.flow +1 -1
  71. package/store/observeQueryExperimental.d.ts +30 -0
  72. package/store/readInlineData.d.ts +19 -0
  73. package/store/readInlineData.js.flow +1 -1
  74. package/store/waitForFragmentExperimental.d.ts +49 -0
  75. package/subscription/requestSubscription.d.ts +27 -0
  76. package/subscription/requestSubscription.js.flow +3 -3
  77. package/util/JSResourceTypes.flow.js.flow +4 -4
  78. package/util/NormalizationNode.d.ts +235 -0
  79. package/util/NormalizationNode.js.flow +124 -122
  80. package/util/ReaderNode.d.ts +264 -0
  81. package/util/ReaderNode.js.flow +152 -149
  82. package/util/RelayConcreteNode.d.ts +120 -0
  83. package/util/RelayConcreteNode.js.flow +31 -31
  84. package/util/RelayError.d.ts +13 -0
  85. package/util/RelayFeatureFlags.d.ts +40 -0
  86. package/util/RelayProfiler.d.ts +121 -0
  87. package/util/RelayReplaySubject.d.ts +25 -0
  88. package/util/RelayRuntimeTypes.d.ts +59 -0
  89. package/util/RelayRuntimeTypes.js.flow +33 -30
  90. package/util/createPayloadFor3DField.d.ts +17 -0
  91. package/util/createPayloadFor3DField.js.flow +4 -4
  92. package/util/deepFreeze.d.ts +8 -0
  93. package/util/getFragmentIdentifier.d.ts +10 -0
  94. package/util/getPaginationMetadata.d.ts +20 -0
  95. package/util/getPaginationVariables.d.ts +20 -0
  96. package/util/getPendingOperationsForFragment.d.ts +18 -0
  97. package/util/getRefetchMetadata.d.ts +19 -0
  98. package/util/getRelayHandleKey.d.ts +8 -0
  99. package/util/getRequestIdentifier.d.ts +17 -0
  100. package/util/getValueAtPath.d.ts +8 -0
  101. package/util/handlePotentialSnapshotErrors.d.ts +14 -0
  102. package/util/isEmptyObject.js.flow +1 -1
  103. package/util/isPromise.d.ts +8 -0
  104. package/util/isScalarAndEqual.d.ts +8 -0
  105. package/util/recycleNodesInto.d.ts +8 -0
  106. package/util/stableCopy.d.ts +8 -0
  107. package/util/withProvidedVariables.d.ts +19 -0
@@ -0,0 +1,235 @@
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
+ import type {ConcreteRequest, ProvidedVariableType} from './RelayConcreteNode';
9
+
10
+ export interface JSResourceReference<TModule> {
11
+ getModuleId(): string;
12
+ getModuleIfRequired(): TModule | null | undefined;
13
+ load(): Promise<TModule>;
14
+ }
15
+
16
+ /**
17
+ * Represents a single operation used to processing and normalize runtime
18
+ * request results.
19
+ */
20
+ export interface NormalizationOperation {
21
+ readonly kind: 'Operation';
22
+ readonly name: string;
23
+ readonly argumentDefinitions: readonly NormalizationLocalArgumentDefinition[];
24
+ readonly selections: readonly NormalizationSelection[];
25
+ readonly clientAbstractTypes?: {
26
+ readonly [key: string]: readonly string[];
27
+ };
28
+ readonly use_exec_time_resolvers?: boolean;
29
+ readonly exec_time_resolvers_enabled_provider?: ProvidedVariableType;
30
+ }
31
+
32
+ export type NormalizationHandle = NormalizationScalarHandle | NormalizationLinkedHandle;
33
+
34
+ export interface NormalizationLinkedHandle {
35
+ readonly kind: 'LinkedHandle';
36
+ readonly alias?: string | null | undefined;
37
+ readonly name: string;
38
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
39
+ readonly handle: string;
40
+ readonly key: string;
41
+ // NOTE: this property is optional because it's expected to be rarely used
42
+ readonly dynamicKey?: NormalizationArgument | null | undefined;
43
+ readonly filters?: readonly string[] | null | undefined;
44
+ readonly handleArgs?: readonly NormalizationArgument[];
45
+ }
46
+
47
+ export interface NormalizationScalarHandle {
48
+ readonly kind: 'ScalarHandle';
49
+ readonly alias?: string | null | undefined;
50
+ readonly name: string;
51
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
52
+ readonly handle: string;
53
+ readonly key: string;
54
+ // NOTE: this property is optional because it's expected to be rarely used
55
+ readonly dynamicKey?: NormalizationArgument | null | undefined;
56
+ readonly filters?: readonly string[] | null | undefined;
57
+ readonly handleArgs?: readonly NormalizationArgument[];
58
+ }
59
+
60
+ export type NormalizationArgument =
61
+ | NormalizationListValueArgument
62
+ | NormalizationLiteralArgument
63
+ | NormalizationObjectValueArgument
64
+ | NormalizationVariableArgument;
65
+
66
+ export interface NormalizationCondition {
67
+ readonly kind: 'Condition';
68
+ readonly passingValue: boolean;
69
+ readonly condition: string;
70
+ readonly selections: readonly NormalizationSelection[];
71
+ }
72
+
73
+ export interface NormalizationClientExtension {
74
+ readonly kind: 'ClientExtension';
75
+ readonly selections: readonly NormalizationSelection[];
76
+ }
77
+
78
+ export type NormalizationField = NormalizationFlightField | NormalizationScalarField | NormalizationLinkedField;
79
+
80
+ export interface NormalizationInlineFragment {
81
+ readonly kind: 'InlineFragment';
82
+ readonly selections: readonly NormalizationSelection[];
83
+ readonly type: string;
84
+ readonly abstractKey?: string | null | undefined;
85
+ }
86
+
87
+ export interface NormalizationFragmentSpread {
88
+ readonly kind: 'FragmentSpread';
89
+ readonly fragment: NormalizationSplitOperation;
90
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
91
+ }
92
+
93
+ export interface NormalizationLinkedField {
94
+ readonly kind: 'LinkedField';
95
+ readonly alias?: string | null | undefined;
96
+ readonly name: string;
97
+ readonly storageKey?: string | null | undefined;
98
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
99
+ readonly concreteType?: string | null | undefined;
100
+ readonly plural: boolean;
101
+ readonly selections: readonly NormalizationSelection[];
102
+ }
103
+
104
+ export interface NormalizationActorChange {
105
+ readonly kind: 'ActorChange';
106
+ readonly linkedField: NormalizationLinkedField;
107
+ }
108
+
109
+ export interface NormalizationModuleImport {
110
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
111
+ readonly kind: 'ModuleImport';
112
+ readonly documentName: string;
113
+ readonly fragmentPropName: string;
114
+ readonly fragmentName: string;
115
+ readonly componentModuleProvider?: () => unknown | Promise<unknown> | JSResourceReference<unknown>;
116
+ readonly operationModuleProvider?: () =>
117
+ | NormalizationRootNode
118
+ | Promise<NormalizationRootNode>
119
+ | JSResourceReference<NormalizationRootNode>;
120
+ }
121
+
122
+ export interface NormalizationListValueArgument {
123
+ readonly kind: 'ListValue';
124
+ readonly name: string;
125
+ readonly items: ReadonlyArray<NormalizationArgument | null>;
126
+ }
127
+
128
+ export interface NormalizationLiteralArgument {
129
+ readonly kind: 'Literal';
130
+ readonly name: string;
131
+ readonly type?: string | null | undefined;
132
+ readonly value: any;
133
+ }
134
+
135
+ export interface NormalizationLocalArgumentDefinition {
136
+ readonly kind: 'LocalArgument';
137
+ readonly name: string;
138
+ readonly defaultValue: any;
139
+ }
140
+
141
+ export type NormalizationNode =
142
+ | NormalizationClientExtension
143
+ | NormalizationCondition
144
+ | NormalizationDefer
145
+ | NormalizationInlineFragment
146
+ | NormalizationLinkedField
147
+ | NormalizationOperation
148
+ | NormalizationSplitOperation
149
+ | NormalizationStream;
150
+
151
+ export interface NormalizationScalarField {
152
+ readonly kind: 'ScalarField';
153
+ readonly alias?: string | null | undefined;
154
+ readonly name: string;
155
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
156
+ readonly storageKey?: string | null | undefined;
157
+ }
158
+
159
+ export interface NormalizationFlightField {
160
+ readonly kind: 'FlightField';
161
+ readonly alias?: string | null | undefined;
162
+ readonly name: string;
163
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
164
+ readonly storageKey: string | null | undefined;
165
+ }
166
+
167
+ export interface NormalizationClientComponent {
168
+ readonly args?: readonly NormalizationArgument[] | null | undefined;
169
+ readonly kind: 'ClientComponent';
170
+ readonly fragment: NormalizationNode;
171
+ }
172
+
173
+ export interface NormalizationTypeDiscriminator {
174
+ readonly kind: 'TypeDiscriminator';
175
+ readonly abstractKey: string;
176
+ }
177
+
178
+ export type NormalizationSelection =
179
+ | NormalizationCondition
180
+ | NormalizationClientComponent
181
+ | NormalizationClientExtension
182
+ | NormalizationDefer
183
+ | NormalizationField
184
+ | NormalizationFlightField
185
+ | NormalizationFragmentSpread
186
+ | NormalizationHandle
187
+ | NormalizationInlineFragment
188
+ | NormalizationModuleImport
189
+ | NormalizationStream
190
+ | NormalizationActorChange
191
+ | NormalizationTypeDiscriminator;
192
+
193
+ export interface NormalizationSplitOperation {
194
+ readonly argumentDefinitions?: readonly NormalizationLocalArgumentDefinition[];
195
+ readonly kind: 'SplitOperation';
196
+ readonly name: string;
197
+ readonly metadata: { readonly [key: string]: unknown } | null | undefined;
198
+ readonly selections: readonly NormalizationSelection[];
199
+ }
200
+
201
+ export interface NormalizationStream {
202
+ readonly if: string | null;
203
+ readonly kind: 'Stream';
204
+ readonly label: string;
205
+ readonly selections: readonly NormalizationSelection[];
206
+ }
207
+
208
+ export interface NormalizationDefer {
209
+ readonly if: string | null;
210
+ readonly kind: 'Defer';
211
+ readonly label: string;
212
+ readonly selections: readonly NormalizationSelection[];
213
+ }
214
+
215
+ export interface NormalizationVariableArgument {
216
+ readonly kind: 'Variable';
217
+ readonly name: string;
218
+ readonly type?: string | null | undefined;
219
+ readonly variableName: string;
220
+ }
221
+
222
+ export interface NormalizationObjectValueArgument {
223
+ readonly kind: 'ObjectValue';
224
+ readonly name: string;
225
+ readonly fields: readonly NormalizationArgument[];
226
+ }
227
+
228
+ export type NormalizationSelectableNode =
229
+ | NormalizationDefer
230
+ | NormalizationLinkedField
231
+ | NormalizationOperation
232
+ | NormalizationSplitOperation
233
+ | NormalizationStream;
234
+
235
+ export type NormalizationRootNode = ConcreteRequest | NormalizationSplitOperation;
@@ -20,17 +20,17 @@ import type {JSResourceReference} from 'JSResourceReference';
20
20
  * request results.
21
21
  */
22
22
  export type NormalizationOperation = {
23
- +kind: 'Operation',
24
- +name: string,
25
- +argumentDefinitions: ReadonlyArray<NormalizationLocalArgumentDefinition>,
26
- +selections: ReadonlyArray<NormalizationSelection>,
27
- +clientAbstractTypes?: {
28
- +[string]: ReadonlyArray<string>,
23
+ readonly kind: 'Operation',
24
+ readonly name: string,
25
+ readonly argumentDefinitions: ReadonlyArray<NormalizationLocalArgumentDefinition>,
26
+ readonly selections: ReadonlyArray<NormalizationSelection>,
27
+ readonly clientAbstractTypes?: {
28
+ readonly [string]: ReadonlyArray<string>,
29
29
  },
30
- +has_server_to_client_resolvers?: boolean,
31
- +use_exec_time_resolvers?: boolean,
32
- +exec_time_resolvers_enabled_provider?: ProvidedVariableType,
33
- +use_experimental_provider?: ProvidedVariableType,
30
+ readonly has_server_to_client_resolvers?: boolean,
31
+ readonly use_exec_time_resolvers?: boolean,
32
+ readonly exec_time_resolvers_enabled_provider?: ProvidedVariableType,
33
+ readonly use_experimental_provider?: ProvidedVariableType,
34
34
  };
35
35
 
36
36
  export type NormalizationHandle =
@@ -38,29 +38,29 @@ export type NormalizationHandle =
38
38
  | NormalizationLinkedHandle;
39
39
 
40
40
  export type NormalizationLinkedHandle = {
41
- +kind: 'LinkedHandle',
42
- +alias?: ?string,
43
- +name: string,
44
- +args?: ?ReadonlyArray<NormalizationArgument>,
45
- +handle: string,
46
- +key: string,
41
+ readonly kind: 'LinkedHandle',
42
+ readonly alias?: ?string,
43
+ readonly name: string,
44
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
45
+ readonly handle: string,
46
+ readonly key: string,
47
47
  // NOTE: this property is optional because it's expected to be rarely used
48
- +dynamicKey?: ?NormalizationArgument,
49
- +filters?: ?ReadonlyArray<string>,
50
- +handleArgs?: ReadonlyArray<NormalizationArgument>,
48
+ readonly dynamicKey?: ?NormalizationArgument,
49
+ readonly filters?: ?ReadonlyArray<string>,
50
+ readonly handleArgs?: ReadonlyArray<NormalizationArgument>,
51
51
  };
52
52
 
53
53
  export type NormalizationScalarHandle = {
54
- +kind: 'ScalarHandle',
55
- +alias?: ?string,
56
- +name: string,
57
- +args?: ?ReadonlyArray<NormalizationArgument>,
58
- +handle: string,
59
- +key: string,
54
+ readonly kind: 'ScalarHandle',
55
+ readonly alias?: ?string,
56
+ readonly name: string,
57
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
58
+ readonly handle: string,
59
+ readonly key: string,
60
60
  // NOTE: this property is optional because it's expected to be rarely used
61
- +dynamicKey?: ?NormalizationArgument,
62
- +filters?: ?ReadonlyArray<string>,
63
- +handleArgs?: ReadonlyArray<NormalizationArgument>,
61
+ readonly dynamicKey?: ?NormalizationArgument,
62
+ readonly filters?: ?ReadonlyArray<string>,
63
+ readonly handleArgs?: ReadonlyArray<NormalizationArgument>,
64
64
  };
65
65
 
66
66
  export type NormalizationArgument =
@@ -70,15 +70,15 @@ export type NormalizationArgument =
70
70
  | NormalizationVariableArgument;
71
71
 
72
72
  export type NormalizationCondition = {
73
- +kind: 'Condition',
74
- +passingValue: boolean,
75
- +condition: string,
76
- +selections: ReadonlyArray<NormalizationSelection>,
73
+ readonly kind: 'Condition',
74
+ readonly passingValue: boolean,
75
+ readonly condition: string,
76
+ readonly selections: ReadonlyArray<NormalizationSelection>,
77
77
  };
78
78
 
79
79
  export type NormalizationClientExtension = {
80
- +kind: 'ClientExtension',
81
- +selections: ReadonlyArray<NormalizationSelection>,
80
+ readonly kind: 'ClientExtension',
81
+ readonly selections: ReadonlyArray<NormalizationSelection>,
82
82
  };
83
83
 
84
84
  export type NormalizationField =
@@ -88,67 +88,67 @@ export type NormalizationField =
88
88
  | NormalizationLinkedField;
89
89
 
90
90
  export type NormalizationInlineFragment = {
91
- +kind: 'InlineFragment',
92
- +selections: ReadonlyArray<NormalizationSelection>,
93
- +type: string,
94
- +abstractKey?: ?string,
91
+ readonly kind: 'InlineFragment',
92
+ readonly selections: ReadonlyArray<NormalizationSelection>,
93
+ readonly type: string,
94
+ readonly abstractKey?: ?string,
95
95
  };
96
96
 
97
97
  export type NormalizationFragmentSpread = {
98
- +kind: 'FragmentSpread',
99
- +fragment: NormalizationSplitOperation,
100
- +args?: ?ReadonlyArray<NormalizationArgument>,
98
+ readonly kind: 'FragmentSpread',
99
+ readonly fragment: NormalizationSplitOperation,
100
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
101
101
  };
102
102
 
103
103
  export type NormalizationLinkedField = {
104
- +kind: 'LinkedField',
105
- +alias?: ?string,
106
- +name: string,
107
- +storageKey?: ?string,
108
- +args?: ?ReadonlyArray<NormalizationArgument>,
109
- +concreteType?: ?string,
110
- +plural: boolean,
111
- +selections: ReadonlyArray<NormalizationSelection>,
104
+ readonly kind: 'LinkedField',
105
+ readonly alias?: ?string,
106
+ readonly name: string,
107
+ readonly storageKey?: ?string,
108
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
109
+ readonly concreteType?: ?string,
110
+ readonly plural: boolean,
111
+ readonly selections: ReadonlyArray<NormalizationSelection>,
112
112
  };
113
113
 
114
114
  export type NormalizationActorChange = {
115
- +kind: 'ActorChange',
116
- +linkedField: NormalizationLinkedField,
115
+ readonly kind: 'ActorChange',
116
+ readonly linkedField: NormalizationLinkedField,
117
117
  };
118
118
 
119
119
  export type NormalizationModuleImport = {
120
- +args?: ?ReadonlyArray<NormalizationArgument>,
121
- +kind: 'ModuleImport',
122
- +documentName: string,
123
- +fragmentPropName: string,
124
- +fragmentName: string,
125
- +componentModuleProvider?: () =>
120
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
121
+ readonly kind: 'ModuleImport',
122
+ readonly documentName: string,
123
+ readonly fragmentPropName: string,
124
+ readonly fragmentName: string,
125
+ readonly componentModuleProvider?: () =>
126
126
  | unknown
127
127
  | Promise<unknown>
128
128
  | JSResourceReference<unknown>,
129
- +operationModuleProvider?: () =>
129
+ readonly operationModuleProvider?: () =>
130
130
  | NormalizationRootNode
131
131
  | Promise<NormalizationRootNode>
132
132
  | JSResourceReference<NormalizationRootNode>,
133
133
  };
134
134
 
135
135
  export type NormalizationListValueArgument = {
136
- +kind: 'ListValue',
137
- +name: string,
138
- +items: ReadonlyArray<NormalizationArgument | null>,
136
+ readonly kind: 'ListValue',
137
+ readonly name: string,
138
+ readonly items: ReadonlyArray<NormalizationArgument | null>,
139
139
  };
140
140
 
141
141
  export type NormalizationLiteralArgument = {
142
- +kind: 'Literal',
143
- +name: string,
144
- +type?: ?string,
145
- +value: unknown,
142
+ readonly kind: 'Literal',
143
+ readonly name: string,
144
+ readonly type?: ?string,
145
+ readonly value: unknown,
146
146
  };
147
147
 
148
148
  export type NormalizationLocalArgumentDefinition = {
149
- +kind: 'LocalArgument',
150
- +name: string,
151
- +defaultValue: unknown,
149
+ readonly kind: 'LocalArgument',
150
+ readonly name: string,
151
+ readonly defaultValue: unknown,
152
152
  };
153
153
 
154
154
  export type NormalizationNode =
@@ -162,70 +162,72 @@ export type NormalizationNode =
162
162
  | NormalizationStream;
163
163
 
164
164
  export type NormalizationScalarField = {
165
- +kind: 'ScalarField',
166
- +alias?: ?string,
167
- +name: string,
168
- +args?: ?ReadonlyArray<NormalizationArgument>,
169
- +storageKey?: ?string,
165
+ readonly kind: 'ScalarField',
166
+ readonly alias?: ?string,
167
+ readonly name: string,
168
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
169
+ readonly storageKey?: ?string,
170
170
  };
171
171
 
172
172
  export type ResolverReference = {
173
- +fieldType: string,
174
- +resolverFunctionName: string,
173
+ readonly fieldType: string,
174
+ readonly resolverFunctionName: string,
175
175
  };
176
176
 
177
177
  export type ResolverInfo = {
178
- +resolverFunction: ResolverFunction,
179
- +rootFragment?: ?NormalizationSplitOperation,
178
+ readonly resolverFunction: ResolverFunction,
179
+ readonly rootFragment?: ?NormalizationSplitOperation,
180
180
  };
181
181
 
182
182
  type ResolverData =
183
- | {+resolverModule?: ResolverModule}
184
- | {+resolverReference?: ResolverReference}
185
- | {+resolverInfo?: ResolverInfo};
183
+ | {readonly resolverModule?: ResolverModule}
184
+ | {readonly resolverReference?: ResolverReference}
185
+ | {readonly resolverInfo?: ResolverInfo};
186
186
 
187
187
  export type NormalizationResolverField = {
188
- +kind: 'RelayResolver',
189
- +name: string,
190
- +args?: ?ReadonlyArray<NormalizationArgument>,
191
- +fragment?: ?NormalizationInlineFragment,
192
- +storageKey?: ?string,
193
- +isOutputType: boolean,
188
+ readonly kind: 'RelayResolver',
189
+ readonly name: string,
190
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
191
+ readonly fragment?: ?NormalizationInlineFragment,
192
+ readonly storageKey?: ?string,
193
+ readonly isOutputType: boolean,
194
194
  ...ResolverData,
195
195
  };
196
196
 
197
197
  export type NormalizationLiveResolverField = {
198
- +kind: 'RelayLiveResolver',
199
- +name: string,
200
- +args?: ?ReadonlyArray<NormalizationArgument>,
201
- +fragment?: ?NormalizationInlineFragment,
202
- +storageKey?: ?string,
203
- +isOutputType: boolean,
198
+ readonly kind: 'RelayLiveResolver',
199
+ readonly name: string,
200
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
201
+ readonly fragment?: ?NormalizationInlineFragment,
202
+ readonly storageKey?: ?string,
203
+ readonly isOutputType: boolean,
204
204
  ...ResolverData,
205
205
  };
206
206
 
207
207
  export type NormalizationModelResolvers = {
208
208
  [string]: {
209
- +resolverModule: ResolverModule,
209
+ readonly resolverModule: ResolverModule,
210
210
  },
211
211
  };
212
212
 
213
213
  export type NormalizationClientEdgeToClientObject = {
214
- +kind: 'ClientEdgeToClientObject',
215
- +linkedField: NormalizationLinkedField,
216
- +backingField: NormalizationResolverField | NormalizationLiveResolverField,
217
- +modelResolvers?: NormalizationModelResolvers | null,
214
+ readonly kind: 'ClientEdgeToClientObject',
215
+ readonly linkedField: NormalizationLinkedField,
216
+ readonly backingField:
217
+ | NormalizationResolverField
218
+ | NormalizationLiveResolverField,
219
+ readonly modelResolvers?: NormalizationModelResolvers | null,
218
220
  };
219
221
 
220
222
  export type NormalizationClientComponent = {
221
- +args?: ?ReadonlyArray<NormalizationArgument>,
222
- +kind: 'ClientComponent',
223
- +fragment: NormalizationNode,
223
+ readonly args?: ?ReadonlyArray<NormalizationArgument>,
224
+ readonly kind: 'ClientComponent',
225
+ readonly fragment: NormalizationNode,
224
226
  };
225
227
 
226
228
  export type NormalizationTypeDiscriminator = {
227
- +kind: 'TypeDiscriminator',
228
- +abstractKey: string,
229
+ readonly kind: 'TypeDiscriminator',
230
+ readonly abstractKey: string,
229
231
  };
230
232
 
231
233
  export type NormalizationSelection =
@@ -244,38 +246,38 @@ export type NormalizationSelection =
244
246
  | NormalizationTypeDiscriminator;
245
247
 
246
248
  export type NormalizationSplitOperation = {
247
- +argumentDefinitions?: ReadonlyArray<NormalizationLocalArgumentDefinition>,
248
- +kind: 'SplitOperation',
249
- +name: string,
250
- +metadata?: ?{+[key: string]: unknown, ...},
251
- +selections: ReadonlyArray<NormalizationSelection>,
249
+ readonly argumentDefinitions?: ReadonlyArray<NormalizationLocalArgumentDefinition>,
250
+ readonly kind: 'SplitOperation',
251
+ readonly name: string,
252
+ readonly metadata?: ?{readonly [key: string]: unknown, ...},
253
+ readonly selections: ReadonlyArray<NormalizationSelection>,
252
254
  };
253
255
 
254
256
  export type NormalizationStream = {
255
- +if: string | null,
256
- +kind: 'Stream',
257
- +label: string,
258
- +selections: ReadonlyArray<NormalizationSelection>,
257
+ readonly if: string | null,
258
+ readonly kind: 'Stream',
259
+ readonly label: string,
260
+ readonly selections: ReadonlyArray<NormalizationSelection>,
259
261
  };
260
262
 
261
263
  export type NormalizationDefer = {
262
- +if: string | null,
263
- +kind: 'Defer',
264
- +label: string,
265
- +selections: ReadonlyArray<NormalizationSelection>,
264
+ readonly if: string | null,
265
+ readonly kind: 'Defer',
266
+ readonly label: string,
267
+ readonly selections: ReadonlyArray<NormalizationSelection>,
266
268
  };
267
269
 
268
270
  export type NormalizationVariableArgument = {
269
- +kind: 'Variable',
270
- +name: string,
271
- +type?: ?string,
272
- +variableName: string,
271
+ readonly kind: 'Variable',
272
+ readonly name: string,
273
+ readonly type?: ?string,
274
+ readonly variableName: string,
273
275
  };
274
276
 
275
277
  export type NormalizationObjectValueArgument = {
276
- +kind: 'ObjectValue',
277
- +name: string,
278
- +fields: ReadonlyArray<NormalizationArgument>,
278
+ readonly kind: 'ObjectValue',
279
+ readonly name: string,
280
+ readonly fields: ReadonlyArray<NormalizationArgument>,
279
281
  };
280
282
 
281
283
  export type NormalizationSelectableNode =