@apollo/client 3.9.5 → 3.9.7

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 (64) hide show
  1. package/CHANGELOG.md +35 -19
  2. package/apollo-client.cjs +106 -78
  3. package/apollo-client.cjs.map +1 -1
  4. package/apollo-client.min.cjs +1 -1
  5. package/core/LocalState.js +13 -13
  6. package/core/LocalState.js.map +1 -1
  7. package/core/QueryManager.js +7 -7
  8. package/core/QueryManager.js.map +1 -1
  9. package/core/core.cjs +21 -21
  10. package/core/core.cjs.map +1 -1
  11. package/core/core.cjs.native.js +21 -21
  12. package/dev/dev.cjs +1 -1
  13. package/dev/dev.cjs.map +1 -1
  14. package/dev/dev.cjs.native.js +1 -1
  15. package/link/http/http.cjs +11 -8
  16. package/link/http/http.cjs.map +1 -1
  17. package/link/http/http.cjs.native.js +11 -8
  18. package/link/http/parseAndCheckHttpResponse.js +11 -8
  19. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  20. package/package.json +22 -22
  21. package/react/hooks/hooks.cjs +67 -44
  22. package/react/hooks/hooks.cjs.map +1 -1
  23. package/react/hooks/hooks.cjs.native.js +67 -44
  24. package/react/hooks/internal/index.d.ts +1 -0
  25. package/react/hooks/internal/index.js +1 -0
  26. package/react/hooks/internal/index.js.map +1 -1
  27. package/react/hooks/internal/useRenderGuard.js +1 -1
  28. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  29. package/react/hooks/internal/wrapHook.d.ts +56 -0
  30. package/react/hooks/internal/wrapHook.js +43 -0
  31. package/react/hooks/internal/wrapHook.js.map +1 -0
  32. package/react/hooks/useBackgroundQuery.js +4 -0
  33. package/react/hooks/useBackgroundQuery.js.map +1 -1
  34. package/react/hooks/useFragment.js +4 -1
  35. package/react/hooks/useFragment.js.map +1 -1
  36. package/react/hooks/useQuery.js +4 -0
  37. package/react/hooks/useQuery.js.map +1 -1
  38. package/react/hooks/useReadQuery.js +4 -1
  39. package/react/hooks/useReadQuery.js.map +1 -1
  40. package/react/hooks/useSuspenseQuery.js +4 -1
  41. package/react/hooks/useSuspenseQuery.js.map +1 -1
  42. package/react/internal/cache/QueryReference.js +17 -5
  43. package/react/internal/cache/QueryReference.js.map +1 -1
  44. package/react/internal/index.d.ts +1 -0
  45. package/react/internal/index.js.map +1 -1
  46. package/react/internal/internal.cjs +7 -5
  47. package/react/internal/internal.cjs.map +1 -1
  48. package/react/internal/internal.cjs.native.js +7 -5
  49. package/testing/internal/ObservableStream.js +3 -3
  50. package/testing/internal/ObservableStream.js.map +1 -1
  51. package/testing/internal/profile/profile.js +6 -6
  52. package/testing/internal/profile/profile.js.map +1 -1
  53. package/testing/internal/scenarios/index.js +1 -1
  54. package/testing/internal/scenarios/index.js.map +1 -1
  55. package/utilities/globals/globals.cjs +1 -1
  56. package/utilities/globals/globals.cjs.map +1 -1
  57. package/utilities/globals/globals.cjs.native.js +1 -1
  58. package/utilities/subscriptions/relay/relay.cjs +11 -8
  59. package/utilities/subscriptions/relay/relay.cjs.map +1 -1
  60. package/utilities/subscriptions/relay/relay.cjs.native.js +11 -8
  61. package/utilities/subscriptions/urql/urql.cjs +11 -8
  62. package/utilities/subscriptions/urql/urql.cjs.map +1 -1
  63. package/utilities/subscriptions/urql/urql.cjs.native.js +11 -8
  64. package/version.js +1 -1
@@ -84,9 +84,64 @@ function checkIfSnapshotChanged(_a) {
84
84
  }
85
85
  }
86
86
 
87
+ function useDeepMemo(memoFn, deps) {
88
+ var ref = React__namespace.useRef();
89
+ if (!ref.current || !equality.equal(ref.current.deps, deps)) {
90
+ ref.current = { value: memoFn(), deps: deps };
91
+ }
92
+ return ref.current.value;
93
+ }
94
+
95
+ function getRenderDispatcher() {
96
+ var _a, _b;
97
+ return (_b = (_a = React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current;
98
+ }
99
+ var RenderDispatcher = null;
100
+ function useRenderGuard() {
101
+ RenderDispatcher = getRenderDispatcher();
102
+ return React__namespace.useCallback(function () {
103
+ return (RenderDispatcher != null && RenderDispatcher === getRenderDispatcher());
104
+ }, []);
105
+ }
106
+
107
+ var INIT = {};
108
+ function useLazyRef(getInitialValue) {
109
+ var ref = React__namespace.useRef(INIT);
110
+ if (ref.current === INIT) {
111
+ ref.current = getInitialValue();
112
+ }
113
+ return ref;
114
+ }
115
+
116
+ var useKey = "use";
117
+ var realHook = React__namespace[useKey];
118
+ var __use = realHook ||
119
+ function __use(promise) {
120
+ var statefulPromise = utilities.wrapPromiseWithState(promise);
121
+ switch (statefulPromise.status) {
122
+ case "pending":
123
+ throw statefulPromise;
124
+ case "rejected":
125
+ throw statefulPromise.reason;
126
+ case "fulfilled":
127
+ return statefulPromise.value;
128
+ }
129
+ };
130
+
131
+ var wrapperSymbol = Symbol.for("apollo.hook.wrappers");
132
+ function wrapHook(hookName, useHook, clientOrObsQuery) {
133
+ var queryManager = clientOrObsQuery["queryManager"];
134
+ var wrappers = queryManager && queryManager[wrapperSymbol];
135
+ var wrapper = wrappers && wrappers[hookName];
136
+ return wrapper ? wrapper(useHook) : useHook;
137
+ }
138
+
87
139
  var hasOwnProperty = Object.prototype.hasOwnProperty;
88
140
  function useQuery(query, options) {
89
141
  if (options === void 0) { options = Object.create(null); }
142
+ return wrapHook("useQuery", _useQuery, useApolloClient(options && options.client))(query, options);
143
+ }
144
+ function _useQuery(query, options) {
90
145
  return useInternalState(useApolloClient(options.client), query).useQuery(options);
91
146
  }
92
147
  function useInternalState(client, query) {
@@ -691,51 +746,10 @@ function useReactiveVar(rv) {
691
746
  }, [rv]), rv, rv);
692
747
  }
693
748
 
694
- function useDeepMemo(memoFn, deps) {
695
- var ref = React__namespace.useRef();
696
- if (!ref.current || !equality.equal(ref.current.deps, deps)) {
697
- ref.current = { value: memoFn(), deps: deps };
698
- }
699
- return ref.current.value;
700
- }
701
-
702
- function getRenderDispatcher() {
703
- var _a, _b;
704
- return (_b = (_a = React__namespace.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current;
705
- }
706
- var RenderDispatcher = null;
707
- function useRenderGuard() {
708
- RenderDispatcher = getRenderDispatcher();
709
- return React__namespace.useCallback(function () {
710
- return (RenderDispatcher !== null && RenderDispatcher === getRenderDispatcher());
711
- }, []);
712
- }
713
-
714
- var INIT = {};
715
- function useLazyRef(getInitialValue) {
716
- var ref = React__namespace.useRef(INIT);
717
- if (ref.current === INIT) {
718
- ref.current = getInitialValue();
719
- }
720
- return ref;
721
- }
722
-
723
- var useKey = "use";
724
- var realHook = React__namespace[useKey];
725
- var __use = realHook ||
726
- function __use(promise) {
727
- var statefulPromise = utilities.wrapPromiseWithState(promise);
728
- switch (statefulPromise.status) {
729
- case "pending":
730
- throw statefulPromise;
731
- case "rejected":
732
- throw statefulPromise.reason;
733
- case "fulfilled":
734
- return statefulPromise.value;
735
- }
736
- };
737
-
738
749
  function useFragment(options) {
750
+ return wrapHook("useFragment", _useFragment, useApolloClient(options.client))(options);
751
+ }
752
+ function _useFragment(options) {
739
753
  var cache = useApolloClient(options.client).cache;
740
754
  var diffOptions = useDeepMemo(function () {
741
755
  var fragment = options.fragment, fragmentName = options.fragmentName, from = options.from, _a = options.optimistic, optimistic = _a === void 0 ? true : _a, rest = tslib.__rest(options, ["fragment", "fragmentName", "from", "optimistic"]);
@@ -775,6 +789,9 @@ var skipToken = Symbol.for("apollo.skipToken");
775
789
 
776
790
  function useSuspenseQuery(query, options) {
777
791
  if (options === void 0) { options = Object.create(null); }
792
+ return wrapHook("useSuspenseQuery", _useSuspenseQuery, useApolloClient(typeof options === "object" ? options.client : undefined))(query, options);
793
+ }
794
+ function _useSuspenseQuery(query, options) {
778
795
  var client = useApolloClient(options.client);
779
796
  var suspenseCache = internal.getSuspenseCache(client);
780
797
  var watchQueryOptions = useWatchQueryOptions({
@@ -892,6 +909,9 @@ function useWatchQueryOptions(_a) {
892
909
 
893
910
  function useBackgroundQuery(query, options) {
894
911
  if (options === void 0) { options = Object.create(null); }
912
+ return wrapHook("useBackgroundQuery", _useBackgroundQuery, useApolloClient(typeof options === "object" ? options.client : undefined))(query, options);
913
+ }
914
+ function _useBackgroundQuery(query, options) {
895
915
  var client = useApolloClient(options.client);
896
916
  var suspenseCache = internal.getSuspenseCache(client);
897
917
  var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
@@ -1006,6 +1026,9 @@ function useQueryRefHandlers(queryRef) {
1006
1026
  }
1007
1027
 
1008
1028
  function useReadQuery(queryRef) {
1029
+ return wrapHook("useReadQuery", _useReadQuery, internal.unwrapQueryRef(queryRef)["observable"])(queryRef);
1030
+ }
1031
+ function _useReadQuery(queryRef) {
1009
1032
  var internalQueryRef = React__namespace.useMemo(function () { return internal.unwrapQueryRef(queryRef); }, [queryRef]);
1010
1033
  var getPromise = React__namespace.useCallback(function () { return internal.getWrappedPromise(queryRef); }, [queryRef]);
1011
1034
  if (internalQueryRef.disposed) {