@apollo/client 4.3.0-alpha.2 → 4.3.0-alpha.4

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 (142) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/__cjs/cache/core/types/Cache.d.cts +25 -0
  3. package/__cjs/cache/index.cjs.map +1 -1
  4. package/__cjs/cache/index.d.cts +2 -2
  5. package/__cjs/cache/inmemory/entityStore.cjs +12 -6
  6. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  7. package/__cjs/cache/inmemory/entityStore.d.cts +1 -0
  8. package/__cjs/cache/inmemory/inMemoryCache.cjs +4 -0
  9. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  10. package/__cjs/cache/inmemory/inMemoryCache.d.cts +7 -3
  11. package/__cjs/cache/inmemory/readFromStore.cjs +453 -43
  12. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  13. package/__cjs/cache/inmemory/readFromStore.d.cts +11 -2
  14. package/__cjs/cache/inmemory/types.d.cts +11 -1
  15. package/__cjs/cache/inmemory/writeToStore.cjs +2 -2
  16. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  17. package/__cjs/core/ObservableQuery.cjs +1 -3
  18. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  19. package/__cjs/core/QueryInfo.cjs +94 -16
  20. package/__cjs/core/QueryInfo.cjs.map +1 -1
  21. package/__cjs/core/QueryInfo.d.cts +12 -3
  22. package/__cjs/core/QueryManager.cjs +13 -18
  23. package/__cjs/core/QueryManager.cjs.map +1 -1
  24. package/__cjs/core/QueryManager.d.cts +0 -2
  25. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  26. package/__cjs/incremental/handlers/defer20220824.d.cts +2 -4
  27. package/__cjs/incremental/handlers/graphql17Alpha9.cjs +20 -12
  28. package/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  29. package/__cjs/incremental/handlers/graphql17Alpha9.d.cts +5 -5
  30. package/__cjs/incremental/types.d.cts +16 -3
  31. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  32. package/__cjs/utilities/caching/sizes.d.cts +39 -1
  33. package/__cjs/utilities/index.cjs.map +1 -1
  34. package/__cjs/utilities/index.d.cts +1 -0
  35. package/__cjs/utilities/internal/StreamArrayState.cjs +27 -0
  36. package/__cjs/utilities/internal/StreamArrayState.cjs.map +1 -0
  37. package/__cjs/utilities/internal/StreamArrayState.d.cts +12 -0
  38. package/__cjs/utilities/internal/constants.cjs +20 -1
  39. package/__cjs/utilities/internal/constants.cjs.map +1 -1
  40. package/__cjs/utilities/internal/constants.d.cts +19 -0
  41. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +1 -1
  42. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  43. package/__cjs/utilities/internal/getMemoryInternals.cjs +6 -0
  44. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  45. package/__cjs/utilities/internal/getMemoryInternals.d.cts +4 -0
  46. package/__cjs/utilities/internal/index.cjs +13 -2
  47. package/__cjs/utilities/internal/index.cjs.map +1 -1
  48. package/__cjs/utilities/internal/index.d.cts +7 -1
  49. package/__cjs/utilities/internal/isDeferredFragment.cjs +38 -0
  50. package/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -0
  51. package/__cjs/utilities/internal/isDeferredFragment.d.cts +9 -0
  52. package/__cjs/utilities/internal/isStreamField.cjs +37 -0
  53. package/__cjs/utilities/internal/isStreamField.cjs.map +1 -0
  54. package/__cjs/utilities/internal/isStreamField.d.cts +9 -0
  55. package/__cjs/utilities/internal/isTypenameField.cjs +7 -0
  56. package/__cjs/utilities/internal/isTypenameField.cjs.map +1 -0
  57. package/__cjs/utilities/internal/isTypenameField.d.cts +3 -0
  58. package/__cjs/utilities/internal/makeStreamInfoTrie.cjs +17 -0
  59. package/__cjs/utilities/internal/makeStreamInfoTrie.cjs.map +1 -0
  60. package/__cjs/utilities/internal/makeStreamInfoTrie.d.cts +8 -0
  61. package/__cjs/utilities/internal/types/DeferInfo.cjs +3 -0
  62. package/__cjs/utilities/internal/types/DeferInfo.cjs.map +1 -0
  63. package/__cjs/utilities/internal/types/DeferInfo.d.cts +10 -0
  64. package/__cjs/utilities/internal/types/StreamInfoTrie.d.cts +2 -0
  65. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  66. package/__cjs/utilities/policies/pagination.d.cts +1 -1
  67. package/__cjs/utilities/subscriptions/relay/index.cjs +1 -0
  68. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  69. package/__cjs/version.cjs +1 -1
  70. package/cache/core/types/Cache.d.ts +25 -0
  71. package/cache/core/types/Cache.js.map +1 -1
  72. package/cache/index.d.ts +2 -2
  73. package/cache/index.js.map +1 -1
  74. package/cache/inmemory/entityStore.d.ts +1 -0
  75. package/cache/inmemory/entityStore.js +12 -6
  76. package/cache/inmemory/entityStore.js.map +1 -1
  77. package/cache/inmemory/inMemoryCache.d.ts +7 -3
  78. package/cache/inmemory/inMemoryCache.js +5 -1
  79. package/cache/inmemory/inMemoryCache.js.map +1 -1
  80. package/cache/inmemory/readFromStore.d.ts +11 -2
  81. package/cache/inmemory/readFromStore.js +454 -44
  82. package/cache/inmemory/readFromStore.js.map +1 -1
  83. package/cache/inmemory/types.d.ts +12 -2
  84. package/cache/inmemory/types.js.map +1 -1
  85. package/cache/inmemory/writeToStore.js +3 -3
  86. package/cache/inmemory/writeToStore.js.map +1 -1
  87. package/core/ObservableQuery.js +1 -3
  88. package/core/ObservableQuery.js.map +1 -1
  89. package/core/QueryInfo.d.ts +12 -3
  90. package/core/QueryInfo.js +95 -17
  91. package/core/QueryInfo.js.map +1 -1
  92. package/core/QueryManager.d.ts +0 -2
  93. package/core/QueryManager.js +13 -18
  94. package/core/QueryManager.js.map +1 -1
  95. package/incremental/handlers/defer20220824.d.ts +2 -4
  96. package/incremental/handlers/defer20220824.js.map +1 -1
  97. package/incremental/handlers/graphql17Alpha9.d.ts +5 -5
  98. package/incremental/handlers/graphql17Alpha9.js +21 -13
  99. package/incremental/handlers/graphql17Alpha9.js.map +1 -1
  100. package/incremental/types.d.ts +16 -3
  101. package/incremental/types.js.map +1 -1
  102. package/package.json +1 -1
  103. package/utilities/caching/sizes.d.ts +39 -1
  104. package/utilities/caching/sizes.js.map +1 -1
  105. package/utilities/index.d.ts +1 -0
  106. package/utilities/index.js.map +1 -1
  107. package/utilities/internal/StreamArrayState.d.ts +12 -0
  108. package/utilities/internal/StreamArrayState.js +23 -0
  109. package/utilities/internal/StreamArrayState.js.map +1 -0
  110. package/utilities/internal/constants.d.ts +19 -0
  111. package/utilities/internal/constants.js +19 -0
  112. package/utilities/internal/constants.js.map +1 -1
  113. package/utilities/internal/getFragmentFromSelection.js +1 -1
  114. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  115. package/utilities/internal/getMemoryInternals.d.ts +4 -0
  116. package/utilities/internal/getMemoryInternals.js +6 -0
  117. package/utilities/internal/getMemoryInternals.js.map +1 -1
  118. package/utilities/internal/index.d.ts +7 -1
  119. package/utilities/internal/index.js +6 -1
  120. package/utilities/internal/index.js.map +1 -1
  121. package/utilities/internal/isDeferredFragment.d.ts +9 -0
  122. package/utilities/internal/isDeferredFragment.js +35 -0
  123. package/utilities/internal/isDeferredFragment.js.map +1 -0
  124. package/utilities/internal/isStreamField.d.ts +9 -0
  125. package/utilities/internal/isStreamField.js +34 -0
  126. package/utilities/internal/isStreamField.js.map +1 -0
  127. package/utilities/internal/isTypenameField.d.ts +3 -0
  128. package/utilities/internal/isTypenameField.js +4 -0
  129. package/utilities/internal/isTypenameField.js.map +1 -0
  130. package/utilities/internal/makeStreamInfoTrie.d.ts +8 -0
  131. package/utilities/internal/makeStreamInfoTrie.js +14 -0
  132. package/utilities/internal/makeStreamInfoTrie.js.map +1 -0
  133. package/utilities/internal/types/DeferInfo.d.ts +10 -0
  134. package/utilities/internal/types/DeferInfo.js +2 -0
  135. package/utilities/internal/types/DeferInfo.js.map +1 -0
  136. package/utilities/internal/types/StreamInfoTrie.d.ts +2 -0
  137. package/utilities/internal/types/StreamInfoTrie.js.map +1 -1
  138. package/utilities/policies/pagination.d.ts +1 -1
  139. package/utilities/policies/pagination.js.map +1 -1
  140. package/utilities/subscriptions/relay/index.js +1 -0
  141. package/utilities/subscriptions/relay/index.js.map +1 -1
  142. package/version.js +1 -1
@@ -341,10 +341,6 @@ class QueryManager {
341
341
  }),
342
342
  }));
343
343
  }
344
- requestIdCounter = 1;
345
- generateRequestId() {
346
- return this.requestIdCounter++;
347
- }
348
344
  clearStore(options = {
349
345
  discardWatches: true,
350
346
  }) {
@@ -632,7 +628,6 @@ class QueryManager {
632
628
  };
633
629
  }
634
630
  getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, exposeExtensions, }) {
635
- const requestId = (queryInfo.lastRequestId = this.generateRequestId());
636
631
  const { errorPolicy } = options;
637
632
  // Performing transformForLink here gives this.cache a chance to fill in
638
633
  // missing fragment definitions (for example) before sending this document
@@ -642,10 +637,11 @@ class QueryManager {
642
637
  // Use linkDocument rather than queryInfo.document so the
643
638
  // operation/fragments used to write the result are the same as the
644
639
  // ones used to obtain it from the link.
645
- const result = queryInfo.markQueryResult(incoming, {
640
+ const { dataState, ...result } = queryInfo.markQueryResult(incoming, {
646
641
  ...options,
647
642
  document: linkDocument,
648
643
  cacheWriteBehavior,
644
+ returnPartialData: options.returnPartialData,
649
645
  });
650
646
  const hasErrors = (0, internal_1.graphQLResultHasError)(result);
651
647
  if (hasErrors && errorPolicy === "none") {
@@ -653,29 +649,26 @@ class QueryManager {
653
649
  observableQuery?.["resetNotifications"]();
654
650
  throw new errors_1.CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
655
651
  }
652
+ const partial = dataState !== "complete";
656
653
  const aqr = {
657
654
  data: result.data,
658
655
  ...(queryInfo.hasNext ?
659
656
  {
660
657
  loading: true,
661
658
  networkStatus: networkStatus_js_1.NetworkStatus.streaming,
662
- dataState: "streaming",
663
- partial: true,
659
+ dataState,
660
+ partial,
664
661
  }
665
662
  : {
666
- dataState: result.data ? "complete" : "empty",
663
+ dataState,
667
664
  loading: false,
668
665
  networkStatus: networkStatus_js_1.NetworkStatus.ready,
669
- partial: !result.data,
666
+ partial,
670
667
  }),
671
668
  };
672
669
  if (exposeExtensions && "extensions" in result) {
673
670
  aqr[internal_1.extensionsSymbol] = result.extensions;
674
671
  }
675
- // In the case we start multiple network requests simultaneously, we
676
- // want to ensure we properly set `data` if we're reporting on an old
677
- // result which will not be caught by the conditional above that ends up
678
- // throwing the markError result.
679
672
  if (hasErrors) {
680
673
  if (errorPolicy === "none") {
681
674
  aqr.data = void 0;
@@ -683,15 +676,14 @@ class QueryManager {
683
676
  }
684
677
  if (errorPolicy !== "ignore") {
685
678
  aqr.error = new errors_1.CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
686
- if (aqr.dataState !== "streaming") {
679
+ if (aqr.networkStatus !== networkStatus_js_1.NetworkStatus.streaming) {
687
680
  aqr.networkStatus = networkStatus_js_1.NetworkStatus.error;
688
681
  }
689
682
  }
690
683
  }
691
684
  return aqr;
692
685
  }), (0, rxjs_2.catchError)((error) => {
693
- // Avoid storing errors from older interrupted queries.
694
- if (requestId >= queryInfo.lastRequestId && errorPolicy === "none") {
686
+ if (errorPolicy === "none") {
695
687
  queryInfo.resetLastWrite();
696
688
  observableQuery?.["resetNotifications"]();
697
689
  throw error;
@@ -727,6 +719,7 @@ class QueryManager {
727
719
  fetchPolicy,
728
720
  errorPolicy,
729
721
  returnPartialData,
722
+ networkStatus,
730
723
  notifyOnNetworkStatusChange,
731
724
  context,
732
725
  });
@@ -976,7 +969,7 @@ class QueryManager {
976
969
  (0, masking_1.maskFragment)(data, fragment, this.cache, fragmentName)
977
970
  : data;
978
971
  }
979
- fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, exposeExtensions, }) {
972
+ fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, networkStatus, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, exposeExtensions, }) {
980
973
  const readCache = () => this.cache.diff({
981
974
  query,
982
975
  variables,
@@ -1060,6 +1053,8 @@ class QueryManager {
1060
1053
  context,
1061
1054
  fetchPolicy,
1062
1055
  errorPolicy,
1056
+ returnPartialData,
1057
+ networkStatus,
1063
1058
  }, {
1064
1059
  cacheWriteBehavior,
1065
1060
  queryInfo,