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
@@ -45,18 +45,18 @@ type PendingCommit<TMutation extends MutationParameters> =
45
45
  | PendingRecordSource
46
46
  | PendingUpdater;
47
47
  type PendingRelayPayload<TMutation extends MutationParameters> = {
48
- +kind: 'payload',
49
- +operation: OperationDescriptor,
50
- +payload: RelayResponsePayload,
51
- +updater: ?SelectorStoreUpdater<TMutation['response']>,
48
+ readonly kind: 'payload',
49
+ readonly operation: OperationDescriptor,
50
+ readonly payload: RelayResponsePayload,
51
+ readonly updater: ?SelectorStoreUpdater<TMutation['response']>,
52
52
  };
53
53
  type PendingRecordSource = {
54
- +kind: 'source',
55
- +source: RecordSource,
54
+ readonly kind: 'source',
55
+ readonly source: RecordSource,
56
56
  };
57
57
  type PendingUpdater = {
58
- +kind: 'updater',
59
- +updater: StoreUpdater,
58
+ readonly kind: 'updater',
59
+ readonly updater: StoreUpdater,
60
60
  };
61
61
 
62
62
  const _global: typeof global | $FlowFixMe =
@@ -0,0 +1,26 @@
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 { DataID } from '../util/RelayRuntimeTypes';
9
+ import { RecordState } from './RelayRecordState';
10
+ import {MutableRecordSource, Record, RecordMap} from './RelayStoreTypes';
11
+
12
+ export class RelayRecordSource implements MutableRecordSource {
13
+ constructor(records?: RecordMap);
14
+
15
+ static create(records?: RecordMap): MutableRecordSource;
16
+ get<T extends object = Record<string, unknown>>(dataID: DataID): Record<T> | null | undefined;
17
+ getRecordIDs(): DataID[];
18
+ getStatus(dataID: DataID): RecordState;
19
+ has(dataID: DataID): boolean;
20
+ size(): number;
21
+ toJSON(): { [key: string]: Record };
22
+ clear(): void;
23
+ delete(dataID: DataID): void;
24
+ remove(dataID: DataID): void;
25
+ set(dataID: DataID, record: Record): void;
26
+ }
@@ -0,0 +1,28 @@
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
+ declare enum RelayRecordState {
9
+ /**
10
+ * Record exists (either fetched from the server or produced by a local,
11
+ * optimistic update).
12
+ */
13
+ EXISTENT = 'EXISTENT',
14
+
15
+ /**
16
+ * Record is known not to exist (either as the result of a mutation, or
17
+ * because the server returned `null` when queried for the record).
18
+ */
19
+ NONEXISTENT = 'NONEXISTENT',
20
+
21
+ /**
22
+ * Record State is unknown because it has not yet been fetched from the
23
+ * server.
24
+ */
25
+ UNKNOWN = 'UNKNOWN',
26
+ }
27
+ export type RecordState = keyof typeof RelayRecordState;
28
+ export default RelayRecordState;
@@ -0,0 +1,28 @@
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 { PayloadData } from '../network/RelayNetworkTypes';
9
+ import {MutableRecordSource, NormalizationSelector, RelayResponsePayload, RequestDescriptor} from './RelayStoreTypes';
10
+
11
+ export type GetDataID = (fieldValue: { [key: string]: any }, typeName: string) => any;
12
+
13
+ export interface NormalizationOptions {
14
+ getDataID: GetDataID;
15
+ path?: readonly string[] | undefined;
16
+ request: RequestDescriptor;
17
+ }
18
+
19
+ /**
20
+ * Normalizes the results of a query and standard GraphQL response, writing the
21
+ * normalized records/fields into the given MutableRecordSource.
22
+ */
23
+ export function normalize(
24
+ recordSource: MutableRecordSource,
25
+ selector: NormalizationSelector,
26
+ response: PayloadData,
27
+ options: NormalizationOptions,
28
+ ): RelayResponsePayload;
@@ -70,18 +70,18 @@ const invariant = require('invariant');
70
70
  const warning = require('warning');
71
71
 
72
72
  export type GetDataID = (
73
- fieldValue: {+[string]: unknown},
73
+ fieldValue: {readonly [string]: unknown},
74
74
  typeName: string,
75
75
  ) => unknown;
76
76
 
77
77
  export type NormalizationOptions = {
78
- +getDataID: GetDataID,
79
- +treatMissingFieldsAsNull: boolean,
80
- +deferDeduplicatedFields: boolean,
81
- +log: ?LogFunction,
82
- +path?: ReadonlyArray<string>,
83
- +shouldProcessClientComponents?: ?boolean,
84
- +actorIdentifier?: ?ActorIdentifier,
78
+ readonly getDataID: GetDataID,
79
+ readonly treatMissingFieldsAsNull: boolean,
80
+ readonly deferDeduplicatedFields: boolean,
81
+ readonly log: ?LogFunction,
82
+ readonly path?: ReadonlyArray<string>,
83
+ readonly shouldProcessClientComponents?: ?boolean,
84
+ readonly actorIdentifier?: ?ActorIdentifier,
85
85
  };
86
86
 
87
87
  /**