react-relay 0.0.0-main-233d41b6 → 0.0.0-main-e3c7a009

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 (191) hide show
  1. package/ReactRelayContainerUtils.js.flow +1 -0
  2. package/ReactRelayContext.js +1 -1
  3. package/ReactRelayContext.js.flow +1 -0
  4. package/ReactRelayFragmentContainer.js.flow +2 -0
  5. package/ReactRelayFragmentMockRenderer.js.flow +1 -0
  6. package/ReactRelayLocalQueryRenderer.js.flow +1 -0
  7. package/ReactRelayPaginationContainer.js.flow +6 -0
  8. package/ReactRelayQueryFetcher.js.flow +1 -0
  9. package/ReactRelayQueryRenderer.js.flow +1 -0
  10. package/ReactRelayQueryRendererContext.js.flow +1 -0
  11. package/ReactRelayRefetchContainer.js.flow +2 -0
  12. package/ReactRelayTestMocker.js.flow +1 -0
  13. package/ReactRelayTypes.js.flow +1 -0
  14. package/RelayContext.js.flow +1 -0
  15. package/__flowtests__/ReactRelayFragmentContainer-flowtest.js.flow +1 -0
  16. package/__flowtests__/ReactRelayPaginationContainer-flowtest.js.flow +1 -0
  17. package/__flowtests__/ReactRelayRefetchContainer-flowtest.js.flow +1 -0
  18. package/__flowtests__/RelayModern-flowtest.js.flow +1 -0
  19. package/__flowtests__/RelayModernFlowtest_badref.graphql.js.flow +1 -0
  20. package/__flowtests__/RelayModernFlowtest_notref.graphql.js.flow +1 -0
  21. package/__flowtests__/RelayModernFlowtest_user.graphql.js.flow +1 -0
  22. package/__flowtests__/RelayModernFlowtest_users.graphql.js.flow +1 -0
  23. package/__flowtests__/__generated__/ReactRelayFragmentContainerFlowtest_viewer.graphql.js.flow +3 -1
  24. package/__flowtests__/__generated__/ReactRelayFragmentContainerFlowtest_viewer2.graphql.js.flow +3 -1
  25. package/__flowtests__/__generated__/ReactRelayPaginationContainerFlowtestQuery.graphql.js.flow +3 -1
  26. package/__flowtests__/__generated__/ReactRelayPaginationContainerFlowtest_viewer.graphql.js.flow +3 -1
  27. package/__flowtests__/__generated__/ReactRelayRefetchContainerFlowtestQuery.graphql.js.flow +3 -1
  28. package/__flowtests__/__generated__/ReactRelayRefetchContainerFlowtest_viewer.graphql.js.flow +3 -1
  29. package/__flowtests__/__generated__/RelayModernFlowtest_badref.graphql.js.flow +3 -1
  30. package/__flowtests__/__generated__/RelayModernFlowtest_notref.graphql.js.flow +3 -1
  31. package/__flowtests__/__generated__/RelayModernFlowtest_user.graphql.js.flow +3 -1
  32. package/__flowtests__/__generated__/RelayModernFlowtest_users.graphql.js.flow +3 -1
  33. package/assertFragmentMap.js.flow +1 -0
  34. package/buildReactRelayContainer.js.flow +1 -0
  35. package/getRootVariablesForFragments.js.flow +1 -0
  36. package/hooks.js +1 -1
  37. package/hooks.js.flow +4 -0
  38. package/index.js +1 -1
  39. package/index.js.flow +4 -0
  40. package/isRelayEnvironment.js.flow +1 -0
  41. package/jest-react/enqueueTask.js.flow +1 -1
  42. package/jest-react/index.js.flow +1 -1
  43. package/jest-react/internalAct.js.flow +1 -1
  44. package/legacy.js +1 -1
  45. package/legacy.js.flow +1 -0
  46. package/lib/ReactRelayContainerUtils.js +1 -0
  47. package/lib/ReactRelayContext.js +1 -0
  48. package/lib/ReactRelayFragmentContainer.js +2 -0
  49. package/lib/ReactRelayFragmentMockRenderer.js +1 -0
  50. package/lib/ReactRelayLocalQueryRenderer.js +1 -0
  51. package/lib/ReactRelayPaginationContainer.js +3 -0
  52. package/lib/ReactRelayQueryFetcher.js +1 -0
  53. package/lib/ReactRelayQueryRenderer.js +1 -0
  54. package/lib/ReactRelayQueryRendererContext.js +1 -0
  55. package/lib/ReactRelayRefetchContainer.js +2 -0
  56. package/lib/ReactRelayTestMocker.js +1 -0
  57. package/lib/ReactRelayTypes.js +1 -0
  58. package/lib/RelayContext.js +1 -0
  59. package/lib/assertFragmentMap.js +1 -0
  60. package/lib/buildReactRelayContainer.js +1 -0
  61. package/lib/getRootVariablesForFragments.js +1 -0
  62. package/lib/hooks.js +4 -0
  63. package/lib/index.js +4 -0
  64. package/lib/isRelayEnvironment.js +1 -0
  65. package/lib/jest-react/enqueueTask.js +1 -1
  66. package/lib/jest-react/internalAct.js +1 -1
  67. package/lib/legacy.js +1 -0
  68. package/lib/multi-actor/ActorChange.js +1 -1
  69. package/lib/multi-actor/index.js +1 -1
  70. package/lib/multi-actor/useRelayActorEnvironment.js +1 -1
  71. package/lib/readContext.js +1 -0
  72. package/lib/relay-hooks/EntryPointContainer.react.js +1 -1
  73. package/lib/relay-hooks/EntryPointTypes.flow.js +3 -2
  74. package/lib/relay-hooks/FragmentResource.js +1 -1
  75. package/lib/relay-hooks/HooksImplementation.js +1 -1
  76. package/lib/relay-hooks/InternalLogger.js +1 -1
  77. package/lib/relay-hooks/LRUCache.js +1 -1
  78. package/lib/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js +1 -1
  79. package/lib/relay-hooks/MatchContainer.js +1 -1
  80. package/lib/relay-hooks/ProfilerContext.js +1 -1
  81. package/lib/relay-hooks/QueryResource.js +1 -1
  82. package/lib/relay-hooks/RelayEnvironmentProvider.js +1 -1
  83. package/lib/relay-hooks/SuspenseResource.js +1 -1
  84. package/lib/relay-hooks/loadEntryPoint.js +1 -1
  85. package/lib/relay-hooks/loadQuery.js +1 -1
  86. package/lib/relay-hooks/preloadQuery_DEPRECATED.js +1 -2
  87. package/lib/relay-hooks/prepareEntryPoint_DEPRECATED.js +1 -1
  88. package/lib/relay-hooks/react-cache/RelayReactCache.js +1 -1
  89. package/lib/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js +1 -1
  90. package/lib/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js +1 -1
  91. package/lib/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js +1 -1
  92. package/lib/relay-hooks/react-cache/useFragment_REACT_CACHE.js +1 -1
  93. package/lib/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js +1 -1
  94. package/lib/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js +1 -1
  95. package/lib/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js +1 -1
  96. package/lib/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js +1 -1
  97. package/lib/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js +1 -1
  98. package/lib/relay-hooks/useBlockingPaginationFragment.js +1 -1
  99. package/lib/relay-hooks/useClientQuery.js +1 -1
  100. package/lib/relay-hooks/useEntryPointLoader.js +1 -1
  101. package/lib/relay-hooks/useFetchTrackingRef.js +1 -1
  102. package/lib/relay-hooks/useFragment.js +1 -1
  103. package/lib/relay-hooks/useFragmentNode.js +1 -1
  104. package/lib/relay-hooks/useIsMountedRef.js +1 -1
  105. package/lib/relay-hooks/useIsOperationNodeActive.js +1 -1
  106. package/lib/relay-hooks/useIsParentQueryActive.js +1 -1
  107. package/lib/relay-hooks/useLazyLoadQuery.js +1 -1
  108. package/lib/relay-hooks/useLazyLoadQueryNode.js +1 -1
  109. package/lib/relay-hooks/useLoadMoreFunction.js +1 -1
  110. package/lib/relay-hooks/useMemoOperationDescriptor.js +3 -7
  111. package/lib/relay-hooks/useMemoVariables.js +12 -27
  112. package/lib/relay-hooks/useMutation.js +1 -1
  113. package/lib/relay-hooks/usePaginationFragment.js +1 -1
  114. package/lib/relay-hooks/usePreloadedQuery.js +1 -1
  115. package/lib/relay-hooks/useQueryLoader.js +1 -1
  116. package/lib/relay-hooks/useRefetchableFragment.js +1 -1
  117. package/lib/relay-hooks/useRefetchableFragmentNode.js +1 -1
  118. package/lib/relay-hooks/useRelayEnvironment.js +1 -1
  119. package/lib/relay-hooks/useStaticFragmentNodeWarning.js +1 -1
  120. package/lib/relay-hooks/useSubscribeToInvalidationState.js +1 -1
  121. package/lib/relay-hooks/useSubscription.js +1 -0
  122. package/multi-actor/ActorChange.js.flow +1 -1
  123. package/multi-actor/index.js.flow +1 -1
  124. package/multi-actor/useRelayActorEnvironment.js.flow +1 -1
  125. package/package.json +2 -2
  126. package/react-relay-hooks.js +2 -2
  127. package/react-relay-hooks.min.js +2 -2
  128. package/react-relay-legacy.js +1 -1
  129. package/react-relay-legacy.min.js +1 -1
  130. package/react-relay.js +2 -2
  131. package/react-relay.min.js +2 -2
  132. package/readContext.js.flow +1 -0
  133. package/relay-hooks/EntryPointContainer.react.js.flow +1 -1
  134. package/relay-hooks/EntryPointTypes.flow.js.flow +3 -1
  135. package/relay-hooks/FragmentResource.js.flow +1 -1
  136. package/relay-hooks/HooksImplementation.js.flow +1 -1
  137. package/relay-hooks/InternalLogger.js.flow +1 -1
  138. package/relay-hooks/LRUCache.js.flow +1 -1
  139. package/relay-hooks/LazyLoadEntryPointContainer_DEPRECATED.react.js.flow +1 -1
  140. package/relay-hooks/MatchContainer.js.flow +1 -1
  141. package/relay-hooks/ProfilerContext.js.flow +1 -1
  142. package/relay-hooks/QueryResource.js.flow +1 -1
  143. package/relay-hooks/RelayEnvironmentProvider.js.flow +1 -1
  144. package/relay-hooks/SuspenseResource.js.flow +1 -1
  145. package/relay-hooks/__flowtests__/EntryPointTypes/EntryPointElementConfig-flowtest.js.flow +3 -1
  146. package/relay-hooks/__flowtests__/EntryPointTypes/NestedEntrypoints-flowtest.js.flow +1 -1
  147. package/relay-hooks/__flowtests__/__generated__/useFragmentFlowtest_user.graphql.js.flow +3 -1
  148. package/relay-hooks/__flowtests__/__generated__/useFragmentFlowtest_users.graphql.js.flow +3 -1
  149. package/relay-hooks/__flowtests__/useBlockingPaginationFragment-flowtest.js.flow +1 -1
  150. package/relay-hooks/__flowtests__/useFragment-flowtest.js.flow +1 -1
  151. package/relay-hooks/__flowtests__/usePaginationFragment-flowtest.js.flow +1 -1
  152. package/relay-hooks/__flowtests__/useRefetchableFragment-flowtest.js.flow +2 -2
  153. package/relay-hooks/__flowtests__/utils.js.flow +1 -1
  154. package/relay-hooks/loadEntryPoint.js.flow +1 -1
  155. package/relay-hooks/loadQuery.js.flow +1 -1
  156. package/relay-hooks/preloadQuery_DEPRECATED.js.flow +1 -2
  157. package/relay-hooks/prepareEntryPoint_DEPRECATED.js.flow +1 -1
  158. package/relay-hooks/react-cache/RelayReactCache.js.flow +1 -1
  159. package/relay-hooks/react-cache/getQueryResultOrFetchQuery_REACT_CACHE.js.flow +1 -1
  160. package/relay-hooks/react-cache/readFragmentInternal_REACT_CACHE.js.flow +1 -1
  161. package/relay-hooks/react-cache/useFragmentInternal_REACT_CACHE.js.flow +1 -1
  162. package/relay-hooks/react-cache/useFragment_REACT_CACHE.js.flow +1 -1
  163. package/relay-hooks/react-cache/useLazyLoadQuery_REACT_CACHE.js.flow +1 -1
  164. package/relay-hooks/react-cache/usePaginationFragment_REACT_CACHE.js.flow +1 -1
  165. package/relay-hooks/react-cache/usePreloadedQuery_REACT_CACHE.js.flow +1 -1
  166. package/relay-hooks/react-cache/useRefetchableFragmentInternal_REACT_CACHE.js.flow +1 -1
  167. package/relay-hooks/react-cache/useRefetchableFragment_REACT_CACHE.js.flow +1 -1
  168. package/relay-hooks/useBlockingPaginationFragment.js.flow +1 -1
  169. package/relay-hooks/useClientQuery.js.flow +1 -1
  170. package/relay-hooks/useEntryPointLoader.js.flow +1 -1
  171. package/relay-hooks/useFetchTrackingRef.js.flow +1 -1
  172. package/relay-hooks/useFragment.js.flow +1 -1
  173. package/relay-hooks/useFragmentNode.js.flow +1 -1
  174. package/relay-hooks/useIsMountedRef.js.flow +1 -1
  175. package/relay-hooks/useIsOperationNodeActive.js.flow +1 -1
  176. package/relay-hooks/useIsParentQueryActive.js.flow +1 -1
  177. package/relay-hooks/useLazyLoadQuery.js.flow +1 -1
  178. package/relay-hooks/useLazyLoadQueryNode.js.flow +1 -1
  179. package/relay-hooks/useLoadMoreFunction.js.flow +1 -1
  180. package/relay-hooks/useMemoOperationDescriptor.js.flow +3 -3
  181. package/relay-hooks/useMemoVariables.js.flow +13 -29
  182. package/relay-hooks/useMutation.js.flow +1 -1
  183. package/relay-hooks/usePaginationFragment.js.flow +1 -1
  184. package/relay-hooks/usePreloadedQuery.js.flow +1 -1
  185. package/relay-hooks/useQueryLoader.js.flow +1 -1
  186. package/relay-hooks/useRefetchableFragment.js.flow +1 -1
  187. package/relay-hooks/useRefetchableFragmentNode.js.flow +1 -1
  188. package/relay-hooks/useRelayEnvironment.js.flow +1 -1
  189. package/relay-hooks/useStaticFragmentNodeWarning.js.flow +1 -1
  190. package/relay-hooks/useSubscribeToInvalidationState.js.flow +1 -1
  191. package/relay-hooks/useSubscription.js.flow +1 -0
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
- * @emails oncall+relay
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @flow strict-local
8
8
  * @format
9
- * @emails oncall+relay
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -31,7 +31,6 @@ import type {
31
31
  const {
32
32
  Observable,
33
33
  PreloadableQueryRegistry,
34
- RelayFeatureFlags,
35
34
  ReplaySubject,
36
35
  createOperationDescriptor,
37
36
  getRequest,
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @flow strict-local
8
- * @emails oncall+relay
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @flow strict-local
8
- * @emails oncall+relay
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @flow strict-local
8
- * @emails oncall+relay
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @flow strict-local
8
- * @emails oncall+relay
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @flow strict-local
8
- * @emails oncall+relay
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -5,8 +5,8 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
7
  * @flow strict-local
8
- * @emails oncall+relay
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -29,8 +29,8 @@ function useMemoOperationDescriptor(
29
29
  variables: Variables,
30
30
  cacheConfig?: ?CacheConfig,
31
31
  ): OperationDescriptor {
32
- const [memoVariables] = useMemoVariables(variables);
33
- const [memoCacheConfig] = useMemoVariables(cacheConfig || {});
32
+ const memoVariables = useMemoVariables(variables);
33
+ const memoCacheConfig = useMemoVariables(cacheConfig || {});
34
34
  return useMemo(
35
35
  () =>
36
36
  createOperationDescriptor(
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -14,39 +14,23 @@
14
14
  import type {Variables} from 'relay-runtime';
15
15
 
16
16
  const areEqual = require('areEqual');
17
- const React = require('react');
18
-
19
- const {useMemo, useRef, useState} = React;
17
+ const {useState} = require('react');
20
18
 
19
+ /**
20
+ * Memoizes the passed in `variables` object based on `areEqual` equality.
21
+ * This is useful when a `variables` object is used as a value in a depencency
22
+ * array as it might often be constructed during render.
23
+ */
21
24
  function useMemoVariables<TVariables: Variables | null>(
22
25
  variables: TVariables,
23
- ): [TVariables, number] {
24
- // The value of this ref is a counter that should be incremented when
25
- // variables change. This allows us to use the counter as a
26
- // memoization value to indicate if the computation for useMemo
27
- // should be re-executed.
28
- const variablesChangedGenerationRef = useRef(0);
29
-
30
- // We mirror the variables to check if they have changed between renders
31
- const [mirroredVariables, setMirroredVariables] = useState<Variables | null>(
32
- variables,
33
- );
34
-
35
- const variablesChanged = !areEqual(variables, mirroredVariables);
36
- if (variablesChanged) {
37
- variablesChangedGenerationRef.current =
38
- (variablesChangedGenerationRef.current ?? 0) + 1;
26
+ ): TVariables {
27
+ const [mirroredVariables, setMirroredVariables] = useState(variables);
28
+ if (areEqual(variables, mirroredVariables)) {
29
+ return mirroredVariables;
30
+ } else {
39
31
  setMirroredVariables(variables);
32
+ return variables;
40
33
  }
41
-
42
- // NOTE: We disable react-hooks-deps warning because we explicitly
43
- // don't want to memoize on object identity
44
- // eslint-disable-next-line react-hooks/exhaustive-deps
45
- const memoVariables = useMemo(
46
- () => variables,
47
- [variablesChangedGenerationRef.current],
48
- );
49
- return [memoVariables, variablesChangedGenerationRef.current ?? 0];
50
34
  }
51
35
 
52
36
  module.exports = useMemoVariables;
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -4,9 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @emails oncall+relay
8
7
  * @flow strict-local
9
8
  * @format
9
+ * @oncall relay
10
10
  */
11
11
 
12
12
  'use strict';
@@ -6,6 +6,7 @@
6
6
  *
7
7
  * @flow
8
8
  * @format
9
+ * @oncall relay
9
10
  */
10
11
 
11
12
  'use strict';