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,264 @@
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 { ConnectionMetadata } from '../handlers/connection/ConnectionHandler';
9
+ import type { ConcreteRequest } from './RelayConcreteNode';
10
+
11
+ export interface ReaderFragmentSpread {
12
+ readonly kind: 'FragmentSpread';
13
+ readonly name: string;
14
+ readonly args?: readonly ReaderArgument[] | null | undefined;
15
+ }
16
+
17
+ export interface ReaderInlineDataFragmentSpread {
18
+ readonly kind: 'InlineDataFragmentSpread';
19
+ readonly name: string;
20
+ readonly selections: readonly ReaderSelection[];
21
+ }
22
+
23
+ export interface ReaderLinkedField {
24
+ readonly kind: 'LinkedField';
25
+ readonly alias?: string | null | undefined;
26
+ readonly name: string;
27
+ readonly storageKey?: string | null | undefined;
28
+ readonly args?: readonly ReaderArgument[] | null | undefined;
29
+ readonly concreteType?: string | null | undefined;
30
+ readonly plural: boolean;
31
+ readonly selections: readonly ReaderSelection[];
32
+ }
33
+
34
+ export interface ReaderFragment {
35
+ readonly kind: 'Fragment';
36
+ readonly name: string;
37
+ readonly type: string;
38
+ readonly abstractKey?: string | null | undefined;
39
+ readonly metadata?:
40
+ | {
41
+ readonly connection?: readonly ConnectionMetadata[];
42
+ readonly mask?: boolean;
43
+ readonly plural?: boolean;
44
+ readonly refetch?: ReaderRefetchMetadata;
45
+ }
46
+ | null
47
+ | undefined;
48
+ readonly argumentDefinitions: readonly ReaderArgumentDefinition[];
49
+ readonly selections: readonly ReaderSelection[];
50
+ }
51
+
52
+ // Marker type for a @refetchable fragment
53
+ export interface ReaderRefetchableFragment extends ReaderFragment {
54
+ readonly metadata: {
55
+ readonly connection?: [ConnectionMetadata];
56
+ readonly refetch: ReaderRefetchMetadata;
57
+ };
58
+ }
59
+
60
+ // Marker Type for a @refetchable fragment with a single use of @connection
61
+ export interface ReaderPaginationFragment extends ReaderFragment {
62
+ readonly metadata: {
63
+ readonly connection: [ConnectionMetadata];
64
+ readonly refetch: ReaderRefetchMetadata & {
65
+ connection: ReaderPaginationMetadata;
66
+ };
67
+ };
68
+ }
69
+
70
+ export interface RefetchableIdentifierInfo {
71
+ readonly identifierField: string;
72
+ readonly identifierQueryVariableName: string;
73
+ }
74
+
75
+ export interface ReaderRefetchMetadata {
76
+ readonly connection?: ReaderPaginationMetadata | null | undefined;
77
+ readonly operation: string | ConcreteRequest;
78
+ readonly fragmentPathInResult: string[];
79
+ readonly identifierInfo?: RefetchableIdentifierInfo | null | undefined;
80
+ }
81
+
82
+ // Stricter form of ConnectionMetadata
83
+ export interface ReaderPaginationMetadata {
84
+ readonly backward: {
85
+ readonly count: string;
86
+ readonly cursor: string;
87
+ } | null;
88
+ readonly forward: {
89
+ readonly count: string;
90
+ readonly cursor: string;
91
+ } | null;
92
+ readonly path: readonly string[];
93
+ }
94
+
95
+ export interface ReaderInlineDataFragment {
96
+ readonly kind: 'InlineDataFragment';
97
+ readonly name: string;
98
+ }
99
+
100
+ export type ReaderArgument =
101
+ | ReaderListValueArgument
102
+ | ReaderLiteralArgument
103
+ | ReaderObjectValueArgument
104
+ | ReaderVariableArgument;
105
+
106
+ export type ReaderArgumentDefinition = ReaderLocalArgument | ReaderRootArgument;
107
+
108
+ export interface ReaderCondition {
109
+ readonly kind: 'Condition';
110
+ readonly passingValue: boolean;
111
+ readonly condition: string;
112
+ readonly selections: readonly ReaderSelection[];
113
+ }
114
+
115
+ export interface ReaderClientExtension {
116
+ readonly kind: 'ClientExtension';
117
+ readonly selections: readonly ReaderSelection[];
118
+ }
119
+
120
+ export type ReaderField = ReaderScalarField | ReaderLinkedField | ReaderRelayResolver;
121
+
122
+ export interface ReaderRootArgument {
123
+ readonly kind: 'RootArgument';
124
+ readonly name: string;
125
+ }
126
+
127
+ export interface ReaderInlineFragment {
128
+ readonly kind: 'InlineFragment';
129
+ readonly selections: readonly ReaderSelection[];
130
+ readonly type: string;
131
+ readonly abstractKey?: string | null | undefined;
132
+ }
133
+
134
+ export interface ReaderLinkedField {
135
+ readonly kind: 'LinkedField';
136
+ readonly alias?: string | null | undefined;
137
+ readonly name: string;
138
+ readonly storageKey?: string | null | undefined;
139
+ readonly args?: readonly ReaderArgument[] | null | undefined;
140
+ readonly concreteType?: string | null | undefined;
141
+ readonly plural: boolean;
142
+ readonly selections: readonly ReaderSelection[];
143
+ }
144
+
145
+ export interface ReaderActorChange {
146
+ readonly kind: 'ActorChange';
147
+ readonly alias?: string | null | undefined;
148
+ readonly name: string;
149
+ readonly storageKey?: string | null | undefined;
150
+ readonly args?: readonly ReaderArgument[] | null | undefined;
151
+ readonly fragmentSpread: ReaderFragmentSpread;
152
+ }
153
+
154
+ export interface ReaderModuleImport {
155
+ readonly args?: readonly ReaderArgument[] | null | undefined;
156
+ readonly kind: 'ModuleImport';
157
+ readonly documentName: string;
158
+ readonly fragmentPropName: string;
159
+ readonly fragmentName: string;
160
+ }
161
+
162
+ export interface ReaderListValueArgument {
163
+ readonly kind: 'ListValue';
164
+ readonly name: string;
165
+ readonly items: ReadonlyArray<ReaderArgument | null>;
166
+ }
167
+
168
+ export interface ReaderLiteralArgument {
169
+ readonly kind: 'Literal';
170
+ readonly name: string;
171
+ readonly type?: string | null | undefined;
172
+ readonly value: any;
173
+ }
174
+
175
+ export interface ReaderLocalArgument {
176
+ readonly kind: 'LocalArgument';
177
+ readonly name: string;
178
+ readonly defaultValue: any;
179
+ }
180
+
181
+ export interface ReaderObjectValueArgument {
182
+ readonly kind: 'ObjectValue';
183
+ readonly name: string;
184
+ readonly fields: readonly ReaderArgument[];
185
+ }
186
+
187
+ export type ReaderNode = ReaderCondition | ReaderLinkedField | ReaderFragment | ReaderInlineFragment;
188
+
189
+ export interface ReaderScalarField {
190
+ readonly kind: 'ScalarField';
191
+ readonly alias?: string | null | undefined;
192
+ readonly name: string;
193
+ readonly args?: readonly ReaderArgument[] | null | undefined;
194
+ readonly storageKey?: string | null | undefined;
195
+ }
196
+
197
+ export interface ReaderFlightField {
198
+ readonly kind: 'FlightField';
199
+ readonly alias?: string | null | undefined;
200
+ readonly name: string;
201
+ readonly args?: readonly ReaderArgument[] | null | undefined;
202
+ readonly storageKey: string | null | undefined;
203
+ }
204
+
205
+ export interface ReaderDefer {
206
+ readonly kind: 'Defer';
207
+ readonly selections: readonly ReaderSelection[];
208
+ }
209
+
210
+ export interface ReaderStream {
211
+ readonly kind: 'Stream';
212
+ readonly selections: readonly ReaderSelection[];
213
+ }
214
+
215
+ export type RequiredFieldAction = 'NONE' | 'LOG' | 'THROW';
216
+
217
+ export interface ReaderRequiredField {
218
+ readonly kind: 'RequiredField';
219
+ readonly field: ReaderField;
220
+ readonly action: RequiredFieldAction;
221
+ readonly path: string;
222
+ }
223
+
224
+ export interface ReaderRelayResolver {
225
+ readonly kind: 'RelayResolver';
226
+ readonly alias?: string | null | undefined;
227
+ readonly name: string;
228
+ readonly fragment: ReaderFragmentSpread;
229
+ readonly resolverModule: (rootKey: {
230
+ readonly $data?: any;
231
+ readonly $fragmentSpreads: any;
232
+ readonly $fragmentRefs: any;
233
+ }) => any;
234
+ }
235
+
236
+ export interface ReaderClientEdge {
237
+ readonly kind: 'ClientEdge';
238
+ readonly linkedField: ReaderLinkedField;
239
+ readonly operation: ConcreteRequest;
240
+ readonly backingField: ReaderRelayResolver | ReaderClientExtension;
241
+ }
242
+
243
+ export type ReaderSelection =
244
+ | ReaderCondition
245
+ | ReaderClientEdge
246
+ | ReaderClientExtension
247
+ | ReaderDefer
248
+ | ReaderField
249
+ | ReaderActorChange
250
+ | ReaderFlightField
251
+ | ReaderFragmentSpread
252
+ | ReaderInlineDataFragmentSpread
253
+ | ReaderInlineFragment
254
+ | ReaderModuleImport
255
+ | ReaderStream
256
+ | ReaderRequiredField
257
+ | ReaderRelayResolver;
258
+
259
+ export interface ReaderVariableArgument {
260
+ readonly kind: 'Variable';
261
+ readonly name: string;
262
+ readonly type?: string | null | undefined;
263
+ readonly variableName: string;
264
+ }