@apollo/client 3.3.15 → 3.3.19

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 (68) hide show
  1. package/README.md +13 -1
  2. package/apollo-client.cjs.js +31 -28
  3. package/apollo-client.cjs.js.map +1 -1
  4. package/apollo-client.cjs.min.js +1 -1
  5. package/cache/cache.cjs.js +3 -9
  6. package/cache/cache.cjs.js.map +1 -1
  7. package/cache/inmemory/reactiveVars.d.ts.map +1 -1
  8. package/cache/inmemory/reactiveVars.js +3 -9
  9. package/cache/inmemory/reactiveVars.js.map +1 -1
  10. package/cache/package.json +2 -1
  11. package/core/core.cjs.js +8 -8
  12. package/core/core.cjs.js.map +1 -1
  13. package/core/index.d.ts +1 -3
  14. package/core/index.d.ts.map +1 -1
  15. package/core/index.js +1 -3
  16. package/core/index.js.map +1 -1
  17. package/core/package.json +2 -1
  18. package/errors/package.json +2 -1
  19. package/invariantErrorCodes.js +1 -1
  20. package/link/batch/batch.cjs.js +10 -4
  21. package/link/batch/batch.cjs.js.map +1 -1
  22. package/link/batch/batchLink.d.ts +1 -0
  23. package/link/batch/batchLink.d.ts.map +1 -1
  24. package/link/batch/batchLink.js +2 -1
  25. package/link/batch/batchLink.js.map +1 -1
  26. package/link/batch/batching.d.ts +4 -1
  27. package/link/batch/batching.d.ts.map +1 -1
  28. package/link/batch/batching.js +8 -3
  29. package/link/batch/batching.js.map +1 -1
  30. package/link/batch/package.json +2 -1
  31. package/link/batch-http/batch-http.cjs.js +3 -1
  32. package/link/batch-http/batch-http.cjs.js.map +1 -1
  33. package/link/batch-http/batchHttpLink.d.ts +3 -5
  34. package/link/batch-http/batchHttpLink.d.ts.map +1 -1
  35. package/link/batch-http/batchHttpLink.js +3 -1
  36. package/link/batch-http/batchHttpLink.js.map +1 -1
  37. package/link/batch-http/package.json +2 -1
  38. package/link/context/package.json +2 -1
  39. package/link/core/package.json +2 -1
  40. package/link/error/package.json +2 -1
  41. package/link/http/package.json +2 -1
  42. package/link/persisted-queries/package.json +2 -1
  43. package/link/retry/package.json +2 -1
  44. package/link/schema/package.json +2 -1
  45. package/link/utils/package.json +2 -1
  46. package/link/ws/package.json +2 -1
  47. package/package.json +14 -16
  48. package/react/components/package.json +2 -1
  49. package/react/context/package.json +2 -1
  50. package/react/data/MutationData.d.ts.map +1 -1
  51. package/react/data/MutationData.js +11 -5
  52. package/react/data/MutationData.js.map +1 -1
  53. package/react/data/data.cjs.js +11 -5
  54. package/react/data/data.cjs.js.map +1 -1
  55. package/react/data/package.json +2 -1
  56. package/react/hoc/package.json +2 -1
  57. package/react/hooks/hooks.cjs.js +9 -4
  58. package/react/hooks/hooks.cjs.js.map +1 -1
  59. package/react/hooks/package.json +2 -1
  60. package/react/hooks/useReactiveVar.d.ts.map +1 -1
  61. package/react/hooks/useReactiveVar.js +10 -5
  62. package/react/hooks/useReactiveVar.js.map +1 -1
  63. package/react/package.json +2 -1
  64. package/react/parser/package.json +2 -1
  65. package/react/ssr/package.json +2 -1
  66. package/testing/package.json +2 -1
  67. package/utilities/package.json +2 -1
  68. package/version.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"reactiveVars.d.ts","sourceRoot":"","sources":["../../../src/cache/inmemory/reactiveVars.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IACxD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;CAC/C;AAED,oBAAY,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;AAIpD,eAAO,MAAM,SAAS;;;;;CAA+B,CAAC;AA+BtD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAElD;AAUD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAElD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAkDnD"}
1
+ {"version":3,"file":"reactiveVars.d.ts","sourceRoot":"","sources":["../../../src/cache/inmemory/reactiveVars.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IACxD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;CAC/C;AAED,oBAAY,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;AAIpD,eAAO,MAAM,SAAS;;;;;CAA+B,CAAC;AAkBtD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAElD;AAUD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,QAElD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAoDnD"}
@@ -1,14 +1,6 @@
1
1
  import { dep } from "optimism";
2
2
  import { Slot } from "@wry/context";
3
3
  export var cacheSlot = new Slot();
4
- function consumeAndIterate(set, callback) {
5
- if (set.size) {
6
- var items_1 = [];
7
- set.forEach(function (item) { return items_1.push(item); });
8
- set.clear();
9
- items_1.forEach(callback);
10
- }
11
- }
12
4
  var cacheInfoMap = new WeakMap();
13
5
  function getCacheInfo(cache) {
14
6
  var info = cacheInfoMap.get(cache);
@@ -37,7 +29,9 @@ export function makeVar(value) {
37
29
  getCacheInfo(cache).dep.dirty(rv);
38
30
  broadcast(cache);
39
31
  });
40
- consumeAndIterate(listeners, function (listener) { return listener(value); });
32
+ var oldListeners = Array.from(listeners);
33
+ listeners.clear();
34
+ oldListeners.forEach(function (listener) { return listener(value); });
41
35
  }
42
36
  }
43
37
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"reactiveVars.js","sourceRoot":"","sources":["../../../src/cache/inmemory/reactiveVars.ts"],"names":[],"mappings":"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","sourcesContent":["import { dep, OptimisticDependencyFunction } from \"optimism\";\nimport { Slot } from \"@wry/context\";\nimport { InMemoryCache } from \"./inMemoryCache\";\nimport { ApolloCache } from '../../core';\n\nexport interface ReactiveVar<T> {\n (newValue?: T): T;\n onNextChange(listener: ReactiveListener<T>): () => void;\n attachCache(cache: ApolloCache<any>): this;\n forgetCache(cache: ApolloCache<any>): boolean;\n}\n\nexport type ReactiveListener<T> = (value: T) => any;\n\n// Contextual Slot that acquires its value when custom read functions are\n// called in Policies#readField.\nexport const cacheSlot = new Slot<ApolloCache<any>>();\n\n// A listener function could in theory cause another listener to be added\n// to the set while we're iterating over it, so it's important to commit\n// to the original elements of the set before we begin iterating. See\n// iterateObserversSafely for another example of this pattern.\nfunction consumeAndIterate<T>(set: Set<T>, callback: (item: T) => any) {\n if (set.size) {\n const items: T[] = [];\n set.forEach(item => items.push(item));\n set.clear();\n items.forEach(callback);\n }\n}\n\nconst cacheInfoMap = new WeakMap<ApolloCache<any>, {\n vars: Set<ReactiveVar<any>>;\n dep: OptimisticDependencyFunction<ReactiveVar<any>>;\n}>();\n\nfunction getCacheInfo(cache: ApolloCache<any>) {\n let info = cacheInfoMap.get(cache)!;\n if (!info) {\n cacheInfoMap.set(cache, info = {\n vars: new Set,\n dep: dep(),\n });\n }\n return info;\n}\n\nexport function forgetCache(cache: ApolloCache<any>) {\n getCacheInfo(cache).vars.forEach(rv => rv.forgetCache(cache));\n}\n\n// Calling forgetCache(cache) serves to silence broadcasts and allows the\n// cache to be garbage collected. However, the varsByCache WeakMap\n// preserves the set of reactive variables that were previously associated\n// with this cache, which makes it possible to \"recall\" the cache at a\n// later time, by reattaching it to those variables. If the cache has been\n// garbage collected in the meantime, because it is no longer reachable,\n// you won't be able to call recallCache(cache), and the cache will\n// automatically disappear from the varsByCache WeakMap.\nexport function recallCache(cache: ApolloCache<any>) {\n getCacheInfo(cache).vars.forEach(rv => rv.attachCache(cache));\n}\n\nexport function makeVar<T>(value: T): ReactiveVar<T> {\n const caches = new Set<ApolloCache<any>>();\n const listeners = new Set<ReactiveListener<T>>();\n\n const rv: ReactiveVar<T> = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue!;\n caches.forEach(cache => {\n // Invalidate any fields with custom read functions that\n // consumed this variable, so query results involving those\n // fields will be recomputed the next time we read them.\n getCacheInfo(cache).dep.dirty(rv);\n // Broadcast changes to any caches that have previously read\n // from this variable.\n broadcast(cache);\n });\n // Finally, notify any listeners added via rv.onNextChange.\n consumeAndIterate(listeners, listener => listener(value));\n }\n } else {\n // When reading from the variable, obtain the current cache from\n // context via cacheSlot. This isn't entirely foolproof, but it's\n // the same system that powers varDep.\n const cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n\n return value;\n };\n\n rv.onNextChange = listener => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n };\n\n const attach = rv.attachCache = cache => {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n };\n\n rv.forgetCache = cache => caches.delete(cache);\n\n return rv;\n}\n\ntype Broadcastable = ApolloCache<any> & {\n // This method is protected in InMemoryCache, which we are ignoring, but\n // we still want some semblance of type safety when we call it.\n broadcastWatches?: InMemoryCache[\"broadcastWatches\"];\n};\n\nfunction broadcast(cache: Broadcastable) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n"]}
1
+ {"version":3,"file":"reactiveVars.js","sourceRoot":"","sources":["../../../src/cache/inmemory/reactiveVars.ts"],"names":[],"mappings":"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","sourcesContent":["import { dep, OptimisticDependencyFunction } from \"optimism\";\nimport { Slot } from \"@wry/context\";\nimport { InMemoryCache } from \"./inMemoryCache\";\nimport { ApolloCache } from '../../core';\n\nexport interface ReactiveVar<T> {\n (newValue?: T): T;\n onNextChange(listener: ReactiveListener<T>): () => void;\n attachCache(cache: ApolloCache<any>): this;\n forgetCache(cache: ApolloCache<any>): boolean;\n}\n\nexport type ReactiveListener<T> = (value: T) => any;\n\n// Contextual Slot that acquires its value when custom read functions are\n// called in Policies#readField.\nexport const cacheSlot = new Slot<ApolloCache<any>>();\n\nconst cacheInfoMap = new WeakMap<ApolloCache<any>, {\n vars: Set<ReactiveVar<any>>;\n dep: OptimisticDependencyFunction<ReactiveVar<any>>;\n}>();\n\nfunction getCacheInfo(cache: ApolloCache<any>) {\n let info = cacheInfoMap.get(cache)!;\n if (!info) {\n cacheInfoMap.set(cache, info = {\n vars: new Set,\n dep: dep(),\n });\n }\n return info;\n}\n\nexport function forgetCache(cache: ApolloCache<any>) {\n getCacheInfo(cache).vars.forEach(rv => rv.forgetCache(cache));\n}\n\n// Calling forgetCache(cache) serves to silence broadcasts and allows the\n// cache to be garbage collected. However, the varsByCache WeakMap\n// preserves the set of reactive variables that were previously associated\n// with this cache, which makes it possible to \"recall\" the cache at a\n// later time, by reattaching it to those variables. If the cache has been\n// garbage collected in the meantime, because it is no longer reachable,\n// you won't be able to call recallCache(cache), and the cache will\n// automatically disappear from the varsByCache WeakMap.\nexport function recallCache(cache: ApolloCache<any>) {\n getCacheInfo(cache).vars.forEach(rv => rv.attachCache(cache));\n}\n\nexport function makeVar<T>(value: T): ReactiveVar<T> {\n const caches = new Set<ApolloCache<any>>();\n const listeners = new Set<ReactiveListener<T>>();\n\n const rv: ReactiveVar<T> = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue!;\n caches.forEach(cache => {\n // Invalidate any fields with custom read functions that\n // consumed this variable, so query results involving those\n // fields will be recomputed the next time we read them.\n getCacheInfo(cache).dep.dirty(rv);\n // Broadcast changes to any caches that have previously read\n // from this variable.\n broadcast(cache);\n });\n // Finally, notify any listeners added via rv.onNextChange.\n const oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach(listener => listener(value));\n }\n } else {\n // When reading from the variable, obtain the current cache from\n // context via cacheSlot. This isn't entirely foolproof, but it's\n // the same system that powers varDep.\n const cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n\n return value;\n };\n\n rv.onNextChange = listener => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n };\n\n const attach = rv.attachCache = cache => {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n };\n\n rv.forgetCache = cache => caches.delete(cache);\n\n return rv;\n}\n\ntype Broadcastable = ApolloCache<any> & {\n // This method is protected in InMemoryCache, which we are ignoring, but\n // we still want some semblance of type safety when we call it.\n broadcastWatches?: InMemoryCache[\"broadcastWatches\"];\n};\n\nfunction broadcast(cache: Broadcastable) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n"]}
@@ -2,5 +2,6 @@
2
2
  "name": "@apollo/client/cache",
3
3
  "main": "cache.cjs.js",
4
4
  "module": "index.js",
5
- "types": "index.d.ts"
5
+ "types": "index.d.ts",
6
+ "sideEffects": false
6
7
  }
package/core/core.cjs.js CHANGED
@@ -14,9 +14,10 @@ var errors = require('../errors');
14
14
  var graphql = require('graphql');
15
15
  var cache = require('../cache');
16
16
  var utils = require('../link/utils');
17
- var gql = _interopDefault(require('graphql-tag'));
17
+ var graphqlTag = require('graphql-tag');
18
+ var graphqlTag__default = _interopDefault(graphqlTag);
18
19
 
19
- var version = '3.3.15';
20
+ var version = '3.3.19';
20
21
 
21
22
  (function (NetworkStatus) {
22
23
  NetworkStatus[NetworkStatus["loading"] = 1] = "loading";
@@ -1856,7 +1857,6 @@ var ApolloClient = (function () {
1856
1857
  }());
1857
1858
 
1858
1859
  tsInvariant.setVerbosity("log");
1859
- var resetCaches = gql.resetCaches, disableFragmentWarnings = gql.disableFragmentWarnings, enableExperimentalFragmentVariables = gql.enableExperimentalFragmentVariables, disableExperimentalFragmentVariables = gql.disableExperimentalFragmentVariables;
1860
1860
 
1861
1861
  Object.keys(core).forEach(function (k) {
1862
1862
  if (k !== 'default') exports[k] = core[k];
@@ -1880,12 +1880,12 @@ exports.fromError = utils.fromError;
1880
1880
  exports.fromPromise = utils.fromPromise;
1881
1881
  exports.throwServerError = utils.throwServerError;
1882
1882
  exports.toPromise = utils.toPromise;
1883
- exports.gql = gql;
1883
+ exports.disableExperimentalFragmentVariables = graphqlTag.disableExperimentalFragmentVariables;
1884
+ exports.disableFragmentWarnings = graphqlTag.disableFragmentWarnings;
1885
+ exports.enableExperimentalFragmentVariables = graphqlTag.enableExperimentalFragmentVariables;
1886
+ exports.gql = graphqlTag__default;
1887
+ exports.resetCaches = graphqlTag.resetCaches;
1884
1888
  exports.ApolloClient = ApolloClient;
1885
1889
  exports.ObservableQuery = ObservableQuery;
1886
- exports.disableExperimentalFragmentVariables = disableExperimentalFragmentVariables;
1887
- exports.disableFragmentWarnings = disableFragmentWarnings;
1888
- exports.enableExperimentalFragmentVariables = enableExperimentalFragmentVariables;
1889
1890
  exports.mergeOptions = mergeOptions;
1890
- exports.resetCaches = resetCaches;
1891
1891
  //# sourceMappingURL=core.cjs.js.map