@apollo/client 3.5.0-rc.3 → 3.5.3

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 (93) hide show
  1. package/README.md +1 -1
  2. package/apollo-client.cjs +69 -53
  3. package/apollo-client.cjs.map +1 -1
  4. package/apollo-client.min.cjs +1 -1
  5. package/cache/core/cache.js +2 -2
  6. package/cache/inmemory/entityStore.js +4 -4
  7. package/cache/inmemory/inMemoryCache.js +3 -3
  8. package/cache/inmemory/object-canon.js +2 -2
  9. package/cache/inmemory/policies.js +1 -1
  10. package/cache/inmemory/reactiveVars.js +2 -2
  11. package/cache/inmemory/readFromStore.js +2 -2
  12. package/cache/inmemory/writeToStore.js +3 -3
  13. package/config/jest/setup.js +1 -1
  14. package/core/ApolloClient.js +1 -1
  15. package/core/LocalState.js +2 -2
  16. package/core/ObservableQuery.js +2 -2
  17. package/core/QueryInfo.js +2 -2
  18. package/core/QueryManager.d.ts.map +1 -1
  19. package/core/QueryManager.js +2 -2
  20. package/core/QueryManager.js.map +1 -1
  21. package/core/core.cjs +1 -1
  22. package/core/core.cjs.map +1 -1
  23. package/core/index.js +2 -2
  24. package/errors/index.js +1 -1
  25. package/invariantErrorCodes.js +1 -1
  26. package/link/batch/batchLink.js +1 -1
  27. package/link/batch/batching.js +1 -1
  28. package/link/batch-http/batchHttpLink.js +1 -1
  29. package/link/context/index.js +1 -1
  30. package/link/core/ApolloLink.js +1 -1
  31. package/link/core/types.d.ts +4 -6
  32. package/link/core/types.d.ts.map +1 -1
  33. package/link/core/types.js.map +1 -1
  34. package/link/error/index.js +1 -1
  35. package/link/http/HttpLink.js +1 -1
  36. package/link/http/createHttpLink.js +2 -2
  37. package/link/http/selectHttpOptionsAndBody.js +2 -2
  38. package/link/persisted-queries/index.js +2 -2
  39. package/link/retry/retryLink.js +1 -1
  40. package/link/schema/index.js +10 -3
  41. package/link/schema/index.js.map +1 -1
  42. package/link/schema/schema.cjs +8 -1
  43. package/link/schema/schema.cjs.map +1 -1
  44. package/link/utils/createOperation.js +1 -1
  45. package/link/ws/index.js +2 -2
  46. package/package.json +13 -13
  47. package/react/components/Mutation.js +1 -1
  48. package/react/components/Query.js +2 -2
  49. package/react/components/Subscription.js +1 -1
  50. package/react/context/ApolloConsumer.js +1 -1
  51. package/react/context/ApolloContext.js +1 -1
  52. package/react/context/ApolloProvider.js +1 -1
  53. package/react/hoc/hoc-utils.js +2 -2
  54. package/react/hoc/mutation-hoc.js +3 -3
  55. package/react/hoc/query-hoc.js +3 -3
  56. package/react/hoc/subscription-hoc.js +3 -3
  57. package/react/hoc/withApollo.js +3 -3
  58. package/react/hooks/hooks.cjs +67 -51
  59. package/react/hooks/hooks.cjs.map +1 -1
  60. package/react/hooks/useApolloClient.js +1 -1
  61. package/react/hooks/useLazyQuery.js +2 -2
  62. package/react/hooks/useMutation.d.ts.map +1 -1
  63. package/react/hooks/useMutation.js +70 -54
  64. package/react/hooks/useMutation.js.map +1 -1
  65. package/react/hooks/useQuery.js +3 -3
  66. package/react/hooks/useReactiveVar.js +1 -1
  67. package/react/hooks/useSubscription.js +2 -2
  68. package/react/ssr/getDataFromTree.js +2 -2
  69. package/testing/core/mocking/mockFetch.js +2 -2
  70. package/testing/core/mocking/mockLink.js +3 -3
  71. package/testing/core/mocking/mockSubscriptionLink.d.ts +1 -3
  72. package/testing/core/mocking/mockSubscriptionLink.d.ts.map +1 -1
  73. package/testing/core/mocking/mockSubscriptionLink.js +1 -1
  74. package/testing/core/mocking/mockWatchQuery.js +1 -1
  75. package/testing/core/observableToPromise.js +1 -1
  76. package/testing/react/MockedProvider.js +2 -2
  77. package/utilities/common/errorHandling.d.ts +1 -1
  78. package/utilities/common/errorHandling.d.ts.map +1 -1
  79. package/utilities/common/errorHandling.js.map +1 -1
  80. package/utilities/common/mergeDeep.js +1 -1
  81. package/utilities/globals/fix-graphql.js +2 -2
  82. package/utilities/globals/index.js +1 -1
  83. package/utilities/graphql/directives.js +1 -1
  84. package/utilities/graphql/fragments.d.ts.map +1 -1
  85. package/utilities/graphql/fragments.js +1 -1
  86. package/utilities/graphql/fragments.js.map +1 -1
  87. package/utilities/graphql/transform.d.ts.map +1 -1
  88. package/utilities/graphql/transform.js +2 -2
  89. package/utilities/graphql/transform.js.map +1 -1
  90. package/utilities/observables/Concast.js +1 -1
  91. package/utilities/observables/Observable.js +2 -2
  92. package/utilities/policies/pagination.js +2 -2
  93. package/version.js +1 -1
package/core/index.js CHANGED
@@ -10,8 +10,8 @@ export * from "../link/core/index.js";
10
10
  export * from "../link/http/index.js";
11
11
  export { fromError, toPromise, fromPromise, throwServerError, } from "../link/utils/index.js";
12
12
  export { Observable, isReference, makeReference, } from "../utilities/index.js";
13
- import { setVerbosity } from "ts-invariant/lib/invariant.esm.js";
13
+ import { setVerbosity } from "ts-invariant";
14
14
  export { setVerbosity as setLogVerbosity };
15
15
  setVerbosity(DEV ? "log" : "silent");
16
- export { gql, resetCaches, disableFragmentWarnings, enableExperimentalFragmentVariables, disableExperimentalFragmentVariables, } from "graphql-tag/lib/index.js";
16
+ export { gql, resetCaches, disableFragmentWarnings, enableExperimentalFragmentVariables, disableExperimentalFragmentVariables, } from 'graphql-tag';
17
17
  //# sourceMappingURL=index.js.map
package/errors/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { __extends } from "tslib/tslib.es6.js";
1
+ import { __extends } from "tslib";
2
2
  import "../utilities/globals/index.js";
3
3
  import { isNonEmptyArray } from "../utilities/index.js";
4
4
  export function isApolloError(err) {
@@ -5,7 +5,7 @@
5
5
  // consult the @apollo/client/invariantErrorCodes.js file specific to
6
6
  // your @apollo/client version. This file is not meant to be imported.
7
7
  {
8
- "@apollo/client version": "3.5.0-rc.3",
8
+ "@apollo/client version": "3.5.3",
9
9
 
10
10
  1: {
11
11
  file: "@apollo/client/cache/inmemory/entityStore.js",
@@ -1,4 +1,4 @@
1
- import { __extends } from "tslib/tslib.es6.js";
1
+ import { __extends } from "tslib";
2
2
  import { ApolloLink } from "../core/index.js";
3
3
  import { OperationBatcher } from "./batching.js";
4
4
  export { OperationBatcher } from "./batching.js";
@@ -1,4 +1,4 @@
1
- import { __assign } from "tslib/tslib.es6.js";
1
+ import { __assign } from "tslib";
2
2
  import { Observable } from "../../utilities/index.js";
3
3
  var OperationBatcher = (function () {
4
4
  function OperationBatcher(_a) {
@@ -1,4 +1,4 @@
1
- import { __assign, __extends, __rest } from "tslib/tslib.es6.js";
1
+ import { __assign, __extends, __rest } from "tslib";
2
2
  import { ApolloLink } from "../core/index.js";
3
3
  import { Observable } from "../../utilities/index.js";
4
4
  import { fromError } from "../utils/index.js";
@@ -1,4 +1,4 @@
1
- import { __rest } from "tslib/tslib.es6.js";
1
+ import { __rest } from "tslib";
2
2
  import { ApolloLink } from "../core/index.js";
3
3
  import { Observable } from "../../utilities/index.js";
4
4
  export function setContext(setter) {
@@ -1,4 +1,4 @@
1
- import { __extends } from "tslib/tslib.es6.js";
1
+ import { __extends } from "tslib";
2
2
  import { InvariantError, invariant } from "../../utilities/globals/index.js";
3
3
  import { Observable } from "../../utilities/index.js";
4
4
  import { validateOperation, createOperation, transformOperation, } from "../utils/index.js";
@@ -16,12 +16,10 @@ export interface Operation {
16
16
  setContext: (context: Record<string, any>) => Record<string, any>;
17
17
  getContext: () => Record<string, any>;
18
18
  }
19
- export interface FetchResult<TData = {
20
- [key: string]: any;
21
- }, C = Record<string, any>, E = Record<string, any>> extends ExecutionResult {
22
- data?: TData | null;
23
- extensions?: E;
24
- context?: C;
19
+ export interface FetchResult<TData = Record<string, any>, TContext = Record<string, any>, TExtensions = Record<string, any>> extends ExecutionResult<TData, TExtensions> {
20
+ data?: TData | null | undefined;
21
+ extensions?: TExtensions;
22
+ context?: TContext;
25
23
  }
26
24
  export declare type NextLink = (operation: Operation) => Observable<FetchResult>;
27
25
  export declare type RequestHandler = (operation: Operation, forward: NextLink) => Observable<FetchResult> | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/link/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClE,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW,CAC1B,KAAK,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC9B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACvB,SAAQ,eAAe;IACvB,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED,oBAAY,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;AAEzE,oBAAY,cAAc,GAAG,CAC3B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,QAAQ,KACd,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/link/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClE,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW,CAC1B,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACjC,SAAQ,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC;IAC3C,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,oBAAY,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;AAEzE,oBAAY,cAAc,GAAG,CAC3B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,QAAQ,KACd,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/link/core/types.ts"],"names":[],"mappings":"AA8BC,CAAC","sourcesContent":["import { DocumentNode, ExecutionResult } from 'graphql';\nexport { DocumentNode };\n\nimport { Observable } from '../../utilities';\n\nexport interface GraphQLRequest {\n query: DocumentNode;\n variables?: Record<string, any>;\n operationName?: string;\n context?: Record<string, any>;\n extensions?: Record<string, any>;\n}\n\nexport interface Operation {\n query: DocumentNode;\n variables: Record<string, any>;\n operationName: string;\n extensions: Record<string, any>;\n setContext: (context: Record<string, any>) => Record<string, any>;\n getContext: () => Record<string, any>;\n}\n\nexport interface FetchResult<\n TData = { [key: string]: any },\n C = Record<string, any>,\n E = Record<string, any>\n> extends ExecutionResult {\n data?: TData | null;\n extensions?: E;\n context?: C;\n};\n\nexport type NextLink = (operation: Operation) => Observable<FetchResult>;\n\nexport type RequestHandler = (\n operation: Operation,\n forward: NextLink,\n) => Observable<FetchResult> | null;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/link/core/types.ts"],"names":[],"mappings":"AA8BC,CAAC","sourcesContent":["import { DocumentNode, ExecutionResult } from 'graphql';\nexport { DocumentNode };\n\nimport { Observable } from '../../utilities';\n\nexport interface GraphQLRequest {\n query: DocumentNode;\n variables?: Record<string, any>;\n operationName?: string;\n context?: Record<string, any>;\n extensions?: Record<string, any>;\n}\n\nexport interface Operation {\n query: DocumentNode;\n variables: Record<string, any>;\n operationName: string;\n extensions: Record<string, any>;\n setContext: (context: Record<string, any>) => Record<string, any>;\n getContext: () => Record<string, any>;\n}\n\nexport interface FetchResult<\n TData = Record<string, any>,\n TContext = Record<string, any>,\n TExtensions = Record<string, any>\n> extends ExecutionResult<TData, TExtensions> {\n data?: TData | null | undefined;\n extensions?: TExtensions;\n context?: TContext;\n};\n\nexport type NextLink = (operation: Operation) => Observable<FetchResult>;\n\nexport type RequestHandler = (\n operation: Operation,\n forward: NextLink,\n) => Observable<FetchResult> | null;\n"]}
@@ -1,4 +1,4 @@
1
- import { __extends } from "tslib/tslib.es6.js";
1
+ import { __extends } from "tslib";
2
2
  import { Observable } from "../../utilities/index.js";
3
3
  import { ApolloLink } from "../core/index.js";
4
4
  export function onError(errorHandler) {
@@ -1,4 +1,4 @@
1
- import { __extends } from "tslib/tslib.es6.js";
1
+ import { __extends } from "tslib";
2
2
  import { ApolloLink } from "../core/index.js";
3
3
  import { createHttpLink } from "./createHttpLink.js";
4
4
  var HttpLink = (function (_super) {
@@ -1,6 +1,6 @@
1
- import { __assign, __rest } from "tslib/tslib.es6.js";
1
+ import { __assign, __rest } from "tslib";
2
2
  import "../../utilities/globals/index.js";
3
- import { visit } from "graphql/index.mjs";
3
+ import { visit } from 'graphql';
4
4
  import { ApolloLink } from "../core/index.js";
5
5
  import { Observable } from "../../utilities/index.js";
6
6
  import { serializeFetchParameter } from "./serializeFetchParameter.js";
@@ -1,5 +1,5 @@
1
- import { __assign } from "tslib/tslib.es6.js";
2
- import { print } from "graphql/index.mjs";
1
+ import { __assign } from "tslib";
2
+ import { print } from 'graphql';
3
3
  ;
4
4
  var defaultHttpOptions = {
5
5
  includeQuery: true,
@@ -1,6 +1,6 @@
1
- import { __assign } from "tslib/tslib.es6.js";
1
+ import { __assign } from "tslib";
2
2
  import { invariant } from "../../utilities/globals/index.js";
3
- import { print } from "graphql/index.mjs";
3
+ import { print } from 'graphql';
4
4
  import { ApolloLink } from "../core/index.js";
5
5
  import { Observable, compact, } from "../../utilities/index.js";
6
6
  export var VERSION = 1;
@@ -1,4 +1,4 @@
1
- import { __awaiter, __extends, __generator } from "tslib/tslib.es6.js";
1
+ import { __awaiter, __extends, __generator } from "tslib";
2
2
  import { ApolloLink } from "../core/index.js";
3
3
  import { Observable } from "../../utilities/index.js";
4
4
  import { buildDelayFunction, } from "./delayFunction.js";
@@ -1,5 +1,5 @@
1
- import { __extends } from "tslib/tslib.es6.js";
2
- import { validate, execute } from "graphql/index.mjs";
1
+ import { __extends } from "tslib";
2
+ import { validate, execute } from 'graphql';
3
3
  import { ApolloLink } from "../core/index.js";
4
4
  import { Observable } from "../../utilities/index.js";
5
5
  var SchemaLink = (function (_super) {
@@ -24,7 +24,14 @@ var SchemaLink = (function (_super) {
24
24
  return { errors: validationErrors };
25
25
  }
26
26
  }
27
- return execute(_this.schema, operation.query, _this.rootValue, context, operation.variables, operation.operationName);
27
+ return execute({
28
+ schema: _this.schema,
29
+ document: operation.query,
30
+ rootValue: _this.rootValue,
31
+ contextValue: context,
32
+ variableValues: operation.variables,
33
+ operationName: operation.operationName,
34
+ });
28
35
  }).then(function (data) {
29
36
  if (!observer.closed) {
30
37
  observer.next(data);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/schema/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,UAAU,EAA0B,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C;IAAgC,8BAAU;IAMxC,oBAAY,OAA2B;QAAvC,YACE,iBAAO,SAKR;QAJC,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,KAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;IACrC,CAAC;IAEM,4BAAO,GAAd,UAAe,SAAoB;QAAnC,iBAmCC;QAlCC,OAAO,IAAI,UAAU,CAAc,UAAA,QAAQ;YACzC,IAAI,OAAO,CACT,UAAA,OAAO,IAAI,OAAA,OAAO,CAChB,OAAO,KAAI,CAAC,OAAO,KAAK,UAAU;gBAChC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACzB,CAAC,CAAC,KAAI,CAAC,OAAO,CACjB,EAJU,CAIV,CACF,CAAC,IAAI,CAAC,UAAA,OAAO;gBACZ,IAAI,KAAI,CAAC,QAAQ,EAAE;oBACjB,IAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAI,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;oBAChE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;qBACrC;iBACF;gBAED,OAAO,OAAO,CACZ,KAAI,CAAC,MAAM,EACX,SAAS,CAAC,KAAK,EACf,KAAI,CAAC,SAAS,EACd,OAAO,EACP,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,aAAa,CACxB,CAAA;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;gBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK;gBACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACpB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACH,iBAAC;AAAD,CAAC,AAlDD,CAAgC,UAAU,GAkDzC","sourcesContent":["import { validate, execute, GraphQLSchema } from 'graphql';\n\nimport { ApolloLink, Operation, FetchResult } from '../core';\nimport { Observable } from '../../utilities';\n\nexport namespace SchemaLink {\n export type ResolverContext = Record<string, any>;\n export type ResolverContextFunction = (\n operation: Operation,\n ) => ResolverContext | PromiseLike<ResolverContext>;\n\n export interface Options {\n /**\n * The schema to generate responses from.\n */\n schema: GraphQLSchema;\n\n /**\n * The root value to use when generating responses.\n */\n rootValue?: any;\n\n /**\n * A context to provide to resolvers declared within the schema.\n */\n context?: ResolverContext | ResolverContextFunction;\n\n /**\n * Validate incoming queries against the given schema, returning\n * validation errors as a GraphQL server would.\n */\n validate?: boolean;\n }\n}\n\nexport class SchemaLink extends ApolloLink {\n public schema: SchemaLink.Options[\"schema\"];\n public rootValue: SchemaLink.Options[\"rootValue\"];\n public context: SchemaLink.Options[\"context\"];\n public validate: boolean;\n\n constructor(options: SchemaLink.Options) {\n super();\n this.schema = options.schema;\n this.rootValue = options.rootValue;\n this.context = options.context;\n this.validate = !!options.validate;\n }\n\n public request(operation: Operation): Observable<FetchResult> {\n return new Observable<FetchResult>(observer => {\n new Promise<SchemaLink.ResolverContext>(\n resolve => resolve(\n typeof this.context === 'function'\n ? this.context(operation)\n : this.context\n )\n ).then(context => {\n if (this.validate) {\n const validationErrors = validate(this.schema, operation.query);\n if (validationErrors.length > 0) {\n return { errors: validationErrors };\n }\n }\n\n return execute(\n this.schema,\n operation.query,\n this.rootValue,\n context,\n operation.variables,\n operation.operationName,\n )\n }).then(data => {\n if (!observer.closed) {\n observer.next(data);\n observer.complete();\n }\n }).catch(error => {\n if (!observer.closed) {\n observer.error(error);\n }\n });\n });\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/schema/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAiB,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,UAAU,EAA0B,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C;IAAgC,8BAAU;IAMxC,oBAAY,OAA2B;QAAvC,YACE,iBAAO,SAKR;QAJC,KAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,KAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,KAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,KAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;;IACrC,CAAC;IAEM,4BAAO,GAAd,UAAe,SAAoB;QAAnC,iBAmCC;QAlCC,OAAO,IAAI,UAAU,CAAc,UAAA,QAAQ;YACzC,IAAI,OAAO,CACT,UAAA,OAAO,IAAI,OAAA,OAAO,CAChB,OAAO,KAAI,CAAC,OAAO,KAAK,UAAU;gBAChC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBACzB,CAAC,CAAC,KAAI,CAAC,OAAO,CACjB,EAJU,CAIV,CACF,CAAC,IAAI,CAAC,UAAA,OAAO;gBACZ,IAAI,KAAI,CAAC,QAAQ,EAAE;oBACjB,IAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAI,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;oBAChE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC/B,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;qBACrC;iBACF;gBAED,OAAO,OAAO,CAAC;oBACb,MAAM,EAAE,KAAI,CAAC,MAAM;oBACnB,QAAQ,EAAE,SAAS,CAAC,KAAK;oBACzB,SAAS,EAAE,KAAI,CAAC,SAAS;oBACzB,YAAY,EAAE,OAAO;oBACrB,cAAc,EAAE,SAAS,CAAC,SAAS;oBACnC,aAAa,EAAE,SAAS,CAAC,aAAa;iBACvC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,IAAI,CAAC,UAAA,IAAI;gBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACpB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACrB;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,KAAK;gBACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACpB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACvB;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACH,iBAAC;AAAD,CAAC,AAlDD,CAAgC,UAAU,GAkDzC","sourcesContent":["import { validate, execute, GraphQLSchema } from 'graphql';\n\nimport { ApolloLink, Operation, FetchResult } from '../core';\nimport { Observable } from '../../utilities';\n\nexport namespace SchemaLink {\n export type ResolverContext = Record<string, any>;\n export type ResolverContextFunction = (\n operation: Operation,\n ) => ResolverContext | PromiseLike<ResolverContext>;\n\n export interface Options {\n /**\n * The schema to generate responses from.\n */\n schema: GraphQLSchema;\n\n /**\n * The root value to use when generating responses.\n */\n rootValue?: any;\n\n /**\n * A context to provide to resolvers declared within the schema.\n */\n context?: ResolverContext | ResolverContextFunction;\n\n /**\n * Validate incoming queries against the given schema, returning\n * validation errors as a GraphQL server would.\n */\n validate?: boolean;\n }\n}\n\nexport class SchemaLink extends ApolloLink {\n public schema: SchemaLink.Options[\"schema\"];\n public rootValue: SchemaLink.Options[\"rootValue\"];\n public context: SchemaLink.Options[\"context\"];\n public validate: boolean;\n\n constructor(options: SchemaLink.Options) {\n super();\n this.schema = options.schema;\n this.rootValue = options.rootValue;\n this.context = options.context;\n this.validate = !!options.validate;\n }\n\n public request(operation: Operation): Observable<FetchResult> {\n return new Observable<FetchResult>(observer => {\n new Promise<SchemaLink.ResolverContext>(\n resolve => resolve(\n typeof this.context === 'function'\n ? this.context(operation)\n : this.context\n )\n ).then(context => {\n if (this.validate) {\n const validationErrors = validate(this.schema, operation.query);\n if (validationErrors.length > 0) {\n return { errors: validationErrors };\n }\n }\n\n return execute({\n schema: this.schema,\n document: operation.query,\n rootValue: this.rootValue,\n contextValue: context,\n variableValues: operation.variables,\n operationName: operation.operationName,\n });\n }).then(data => {\n if (!observer.closed) {\n observer.next(data);\n observer.complete();\n }\n }).catch(error => {\n if (!observer.closed) {\n observer.error(error);\n }\n });\n });\n }\n}\n"]}
@@ -29,7 +29,14 @@ var SchemaLink = (function (_super) {
29
29
  return { errors: validationErrors };
30
30
  }
31
31
  }
32
- return graphql.execute(_this.schema, operation.query, _this.rootValue, context, operation.variables, operation.operationName);
32
+ return graphql.execute({
33
+ schema: _this.schema,
34
+ document: operation.query,
35
+ rootValue: _this.rootValue,
36
+ contextValue: context,
37
+ variableValues: operation.variables,
38
+ operationName: operation.operationName,
39
+ });
33
40
  }).then(function (data) {
34
41
  if (!observer.closed) {
35
42
  observer.next(data);
@@ -1 +1 @@
1
- {"version":3,"file":"schema.cjs","sources":["index.js"],"sourcesContent":["import { __extends } from \"tslib\";\nimport { validate, execute } from 'graphql';\nimport { ApolloLink } from '../core';\nimport { Observable } from '../../utilities';\nvar SchemaLink = (function (_super) {\n __extends(SchemaLink, _super);\n function SchemaLink(options) {\n var _this = _super.call(this) || this;\n _this.schema = options.schema;\n _this.rootValue = options.rootValue;\n _this.context = options.context;\n _this.validate = !!options.validate;\n return _this;\n }\n SchemaLink.prototype.request = function (operation) {\n var _this = this;\n return new Observable(function (observer) {\n new Promise(function (resolve) { return resolve(typeof _this.context === 'function'\n ? _this.context(operation)\n : _this.context); }).then(function (context) {\n if (_this.validate) {\n var validationErrors = validate(_this.schema, operation.query);\n if (validationErrors.length > 0) {\n return { errors: validationErrors };\n }\n }\n return execute(_this.schema, operation.query, _this.rootValue, context, operation.variables, operation.operationName);\n }).then(function (data) {\n if (!observer.closed) {\n observer.next(data);\n observer.complete();\n }\n }).catch(function (error) {\n if (!observer.closed) {\n observer.error(error);\n }\n });\n });\n };\n return SchemaLink;\n}(ApolloLink));\nexport { SchemaLink };\n//# sourceMappingURL=index.js.map"],"names":["__extends","Observable","validate","execute","ApolloLink"],"mappings":";;;;;;;;;AAIG,IAAC,UAAU,IAAI,UAAU,MAAM,EAAE;AACpC,IAAIA,eAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAClC,IAAI,SAAS,UAAU,CAAC,OAAO,EAAE;AACjC,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9C,QAAQ,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACtC,QAAQ,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAC5C,QAAQ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACxC,QAAQ,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC5C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,SAAS,EAAE;AACxD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,IAAIC,oBAAU,CAAC,UAAU,QAAQ,EAAE;AAClD,YAAY,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;AAC/F,kBAAkB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;AAC1C,kBAAkB,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE;AAC7D,gBAAgB,IAAI,KAAK,CAAC,QAAQ,EAAE;AACpC,oBAAoB,IAAI,gBAAgB,GAAGC,gBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACnF,oBAAoB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACrD,wBAAwB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AAC5D,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAOC,eAAO,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;AACtI,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;AACpC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,oBAAoB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAiB;AACjB,aAAa,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE;AACtC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtC,oBAAoB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1C,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC,CAACC,eAAU,CAAC;;;;"}
1
+ {"version":3,"file":"schema.cjs","sources":["index.js"],"sourcesContent":["import { __extends } from \"tslib\";\nimport { validate, execute } from 'graphql';\nimport { ApolloLink } from '../core';\nimport { Observable } from '../../utilities';\nvar SchemaLink = (function (_super) {\n __extends(SchemaLink, _super);\n function SchemaLink(options) {\n var _this = _super.call(this) || this;\n _this.schema = options.schema;\n _this.rootValue = options.rootValue;\n _this.context = options.context;\n _this.validate = !!options.validate;\n return _this;\n }\n SchemaLink.prototype.request = function (operation) {\n var _this = this;\n return new Observable(function (observer) {\n new Promise(function (resolve) { return resolve(typeof _this.context === 'function'\n ? _this.context(operation)\n : _this.context); }).then(function (context) {\n if (_this.validate) {\n var validationErrors = validate(_this.schema, operation.query);\n if (validationErrors.length > 0) {\n return { errors: validationErrors };\n }\n }\n return execute({\n schema: _this.schema,\n document: operation.query,\n rootValue: _this.rootValue,\n contextValue: context,\n variableValues: operation.variables,\n operationName: operation.operationName,\n });\n }).then(function (data) {\n if (!observer.closed) {\n observer.next(data);\n observer.complete();\n }\n }).catch(function (error) {\n if (!observer.closed) {\n observer.error(error);\n }\n });\n });\n };\n return SchemaLink;\n}(ApolloLink));\nexport { SchemaLink };\n//# sourceMappingURL=index.js.map"],"names":["__extends","Observable","validate","execute","ApolloLink"],"mappings":";;;;;;;;;AAIG,IAAC,UAAU,IAAI,UAAU,MAAM,EAAE;AACpC,IAAIA,eAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAClC,IAAI,SAAS,UAAU,CAAC,OAAO,EAAE;AACjC,QAAQ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9C,QAAQ,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;AACtC,QAAQ,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;AAC5C,QAAQ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;AACxC,QAAQ,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC5C,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,IAAI,UAAU,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,SAAS,EAAE;AACxD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,OAAO,IAAIC,oBAAU,CAAC,UAAU,QAAQ,EAAE;AAClD,YAAY,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU;AAC/F,kBAAkB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;AAC1C,kBAAkB,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE;AAC7D,gBAAgB,IAAI,KAAK,CAAC,QAAQ,EAAE;AACpC,oBAAoB,IAAI,gBAAgB,GAAGC,gBAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;AACnF,oBAAoB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AACrD,wBAAwB,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AAC5D,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,OAAOC,eAAO,CAAC;AAC/B,oBAAoB,MAAM,EAAE,KAAK,CAAC,MAAM;AACxC,oBAAoB,QAAQ,EAAE,SAAS,CAAC,KAAK;AAC7C,oBAAoB,SAAS,EAAE,KAAK,CAAC,SAAS;AAC9C,oBAAoB,YAAY,EAAE,OAAO;AACzC,oBAAoB,cAAc,EAAE,SAAS,CAAC,SAAS;AACvD,oBAAoB,aAAa,EAAE,SAAS,CAAC,aAAa;AAC1D,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE;AACpC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,oBAAoB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACxC,iBAAiB;AACjB,aAAa,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,EAAE;AACtC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACtC,oBAAoB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1C,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,OAAO,UAAU,CAAC;AACtB,CAAC,CAACC,eAAU,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
- import { __assign } from "tslib/tslib.es6.js";
1
+ import { __assign } from "tslib";
2
2
  export function createOperation(starting, operation) {
3
3
  var context = __assign({}, starting);
4
4
  var setContext = function (next) {
package/link/ws/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { __extends } from "tslib/tslib.es6.js";
2
- import { SubscriptionClient } from "subscriptions-transport-ws/dist/index.js";
1
+ import { __extends } from "tslib";
2
+ import { SubscriptionClient } from 'subscriptions-transport-ws';
3
3
  import { ApolloLink } from "../core/index.js";
4
4
  var WebSocketLink = (function (_super) {
5
5
  __extends(WebSocketLink, _super);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/client",
3
- "version": "3.5.0-rc.3",
3
+ "version": "3.5.3",
4
4
  "description": "A fully-featured caching GraphQL client.",
5
5
  "private": false,
6
6
  "keywords": [
@@ -29,9 +29,9 @@
29
29
  },
30
30
  "homepage": "https://www.apollographql.com/docs/react/",
31
31
  "peerDependencies": {
32
- "graphql": "^14.0.0 || ^15.0.0",
32
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0",
33
33
  "react": "^16.8.0 || ^17.0.0",
34
- "subscriptions-transport-ws": "^0.9.0"
34
+ "subscriptions-transport-ws": "^0.9.0 || ^0.11.0"
35
35
  },
36
36
  "peerDependenciesMeta": {
37
37
  "react": {
@@ -56,29 +56,29 @@
56
56
  "zen-observable-ts": "^1.2.0"
57
57
  },
58
58
  "devDependencies": {
59
- "@babel/parser": "7.16.0",
59
+ "@babel/parser": "7.16.3",
60
60
  "@graphql-tools/schema": "8.3.1",
61
61
  "@rollup/plugin-node-resolve": "11.2.1",
62
- "@testing-library/react": "9.5.0",
62
+ "@testing-library/react": "^12.1.2",
63
63
  "@testing-library/react-hooks": "7.0.2",
64
64
  "@types/fast-json-stable-stringify": "2.0.0",
65
65
  "@types/fetch-mock": "7.3.5",
66
66
  "@types/glob": "7.2.0",
67
67
  "@types/hoist-non-react-statics": "3.3.1",
68
- "@types/jest": "26.0.24",
68
+ "@types/jest": "27.0.2",
69
69
  "@types/lodash": "4.14.176",
70
- "@types/node": "16.11.6",
71
- "@types/react": "17.0.33",
70
+ "@types/node": "16.11.7",
71
+ "@types/react": "17.0.34",
72
72
  "@types/react-dom": "17.0.2",
73
73
  "bundlesize": "0.18.1",
74
74
  "cross-fetch": "3.1.4",
75
75
  "crypto-hash": "1.3.0",
76
76
  "fetch-mock": "9.11.0",
77
77
  "glob": "7.2.0",
78
- "graphql": "15.7.2",
79
- "jest": "26.6.3",
78
+ "graphql": "16.0.1",
79
+ "jest": "27.3.1",
80
80
  "jest-fetch-mock": "3.0.3",
81
- "jest-junit": "12.3.0",
81
+ "jest-junit": "13.0.0",
82
82
  "lodash": "4.17.21",
83
83
  "react": "17.0.2",
84
84
  "react-dom": "17.0.2",
@@ -88,9 +88,9 @@
88
88
  "rollup": "2.50.5",
89
89
  "rollup-plugin-terser": "7.0.2",
90
90
  "rxjs": "6.6.7",
91
- "subscriptions-transport-ws": "0.9.19",
91
+ "subscriptions-transport-ws": "0.11.0",
92
92
  "terser": "5.9.0",
93
- "ts-jest": "26.5.6",
93
+ "ts-jest": "27.0.7",
94
94
  "ts-node": "10.4.0",
95
95
  "typescript": "4.4.4",
96
96
  "wait-for-observables": "1.0.3",
@@ -1,4 +1,4 @@
1
- import * as PropTypes from "prop-types/index.js";
1
+ import * as PropTypes from 'prop-types';
2
2
  import { useMutation } from "../hooks/index.js";
3
3
  export function Mutation(props) {
4
4
  var _a = useMutation(props.mutation, props), runMutation = _a[0], result = _a[1];
@@ -1,5 +1,5 @@
1
- import { __rest } from "tslib/tslib.es6.js";
2
- import * as PropTypes from "prop-types/index.js";
1
+ import { __rest } from "tslib";
2
+ import * as PropTypes from 'prop-types';
3
3
  import { useQuery } from "../hooks/index.js";
4
4
  export function Query(props) {
5
5
  var children = props.children, query = props.query, options = __rest(props, ["children", "query"]);
@@ -1,4 +1,4 @@
1
- import * as PropTypes from "prop-types/index.js";
1
+ import * as PropTypes from 'prop-types';
2
2
  import { useSubscription } from "../hooks/index.js";
3
3
  export function Subscription(props) {
4
4
  var result = useSubscription(props.subscription, props);
@@ -1,5 +1,5 @@
1
1
  import { invariant } from "../../utilities/globals/index.js";
2
- import * as React from "react/index.js";
2
+ import * as React from 'react';
3
3
  import { getApolloContext } from "./ApolloContext.js";
4
4
  export var ApolloConsumer = function (props) {
5
5
  var ApolloContext = getApolloContext();
@@ -1,4 +1,4 @@
1
- import * as React from "react/index.js";
1
+ import * as React from 'react';
2
2
  import { canUseSymbol } from "../../utilities/index.js";
3
3
  var contextKey = canUseSymbol
4
4
  ? Symbol.for('__APOLLO_CONTEXT__')
@@ -1,5 +1,5 @@
1
1
  import { invariant } from "../../utilities/globals/index.js";
2
- import * as React from "react/index.js";
2
+ import * as React from 'react';
3
3
  import { getApolloContext } from "./ApolloContext.js";
4
4
  export var ApolloProvider = function (_a) {
5
5
  var client = _a.client, children = _a.children;
@@ -1,6 +1,6 @@
1
- import { __extends } from "tslib/tslib.es6.js";
1
+ import { __extends } from "tslib";
2
2
  import { invariant } from "../../utilities/globals/index.js";
3
- import * as React from "react/index.js";
3
+ import * as React from 'react';
4
4
  export var defaultMapPropsToOptions = function () { return ({}); };
5
5
  export var defaultMapResultToProps = function (props) { return props; };
6
6
  export var defaultMapPropsToSkip = function () { return false; };
@@ -1,6 +1,6 @@
1
- import { __assign, __extends, __rest } from "tslib/tslib.es6.js";
2
- import * as React from "react/index.js";
3
- import hoistNonReactStatics from "hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js";
1
+ import { __assign, __extends, __rest } from "tslib";
2
+ import * as React from 'react';
3
+ import hoistNonReactStatics from 'hoist-non-react-statics';
4
4
  import { parser } from "../parser/index.js";
5
5
  import { Mutation } from "../components/index.js";
6
6
  import { defaultMapPropsToOptions, getDisplayName, calculateVariablesFromProps, GraphQLBase } from "./hoc-utils.js";
@@ -1,6 +1,6 @@
1
- import { __assign, __extends, __rest } from "tslib/tslib.es6.js";
2
- import * as React from "react/index.js";
3
- import hoistNonReactStatics from "hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js";
1
+ import { __assign, __extends, __rest } from "tslib";
2
+ import * as React from 'react';
3
+ import hoistNonReactStatics from 'hoist-non-react-statics';
4
4
  import { parser } from "../parser/index.js";
5
5
  import { Query } from "../components/index.js";
6
6
  import { getDisplayName, GraphQLBase, calculateVariablesFromProps, defaultMapPropsToOptions, defaultMapPropsToSkip } from "./hoc-utils.js";
@@ -1,6 +1,6 @@
1
- import { __assign, __extends, __rest } from "tslib/tslib.es6.js";
2
- import * as React from "react/index.js";
3
- import hoistNonReactStatics from "hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js";
1
+ import { __assign, __extends, __rest } from "tslib";
2
+ import * as React from 'react';
3
+ import hoistNonReactStatics from 'hoist-non-react-statics';
4
4
  import { parser } from "../parser/index.js";
5
5
  import { Subscription } from "../components/index.js";
6
6
  import { getDisplayName, GraphQLBase, calculateVariablesFromProps, defaultMapPropsToOptions, defaultMapPropsToSkip } from "./hoc-utils.js";
@@ -1,7 +1,7 @@
1
- import { __assign, __extends } from "tslib/tslib.es6.js";
1
+ import { __assign, __extends } from "tslib";
2
2
  import { invariant } from "../../utilities/globals/index.js";
3
- import * as React from "react/index.js";
4
- import hoistNonReactStatics from "hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js";
3
+ import * as React from 'react';
4
+ import hoistNonReactStatics from 'hoist-non-react-statics';
5
5
  import { ApolloConsumer } from "../context/index.js";
6
6
  function getDisplayName(WrappedComponent) {
7
7
  return WrappedComponent.displayName || WrappedComponent.name || 'Component';
@@ -303,63 +303,79 @@ function useMutation(mutation, options) {
303
303
  result: result,
304
304
  mutationId: 0,
305
305
  isMounted: true,
306
+ execute: null,
307
+ client: client,
308
+ mutation: mutation,
309
+ options: options,
306
310
  });
307
- var execute = react.useCallback(function (executeOptions) {
308
- if (executeOptions === void 0) { executeOptions = {}; }
309
- var baseOptions = tslib.__assign(tslib.__assign({}, options), { mutation: mutation });
310
- if (!ref.current.result.loading && !baseOptions.ignoreResults) {
311
- setResult(ref.current.result = {
312
- loading: true,
313
- error: void 0,
314
- data: void 0,
315
- called: true,
316
- client: client,
317
- });
311
+ var execute = react.useMemo(function () {
312
+ if (ref.current.execute != null &&
313
+ ref.current.client === client &&
314
+ equality.equal(options, ref.current.options) &&
315
+ equality.equal(mutation, ref.current.mutation)) {
316
+ return ref.current.execute;
318
317
  }
319
- var mutationId = ++ref.current.mutationId;
320
- var clientOptions = core.mergeOptions(baseOptions, executeOptions);
321
- return client.mutate(clientOptions).then(function (response) {
322
- var _a;
323
- var data = response.data, errors$1 = response.errors;
324
- var error = errors$1 && errors$1.length > 0
325
- ? new errors.ApolloError({ graphQLErrors: errors$1 })
326
- : void 0;
327
- if (mutationId === ref.current.mutationId &&
328
- !baseOptions.ignoreResults) {
329
- var result_1 = {
330
- called: true,
331
- loading: false,
332
- data: data,
333
- error: error,
334
- client: client,
335
- };
336
- if (ref.current.isMounted && !equality.equal(ref.current.result, result_1)) {
337
- setResult(ref.current.result = result_1);
338
- }
339
- }
340
- (_a = baseOptions.onCompleted) === null || _a === void 0 ? void 0 : _a.call(baseOptions, response.data);
341
- return response;
342
- }).catch(function (error) {
343
- if (mutationId === ref.current.mutationId &&
344
- ref.current.isMounted) {
345
- var result_2 = {
346
- loading: false,
347
- error: error,
318
+ ref.current.client = client;
319
+ ref.current.options = options;
320
+ ref.current.mutation = mutation;
321
+ ref.current.execute = function (executeOptions) {
322
+ if (executeOptions === void 0) { executeOptions = {}; }
323
+ var baseOptions = tslib.__assign(tslib.__assign({}, options), { mutation: mutation });
324
+ if (!ref.current.result.loading && !baseOptions.ignoreResults) {
325
+ setResult(ref.current.result = {
326
+ loading: true,
327
+ error: void 0,
348
328
  data: void 0,
349
329
  called: true,
350
330
  client: client,
351
- };
352
- if (!equality.equal(ref.current.result, result_2)) {
353
- setResult(ref.current.result = result_2);
354
- }
355
- }
356
- if (baseOptions.onError) {
357
- baseOptions.onError(error);
358
- return { data: void 0, errors: error };
331
+ });
359
332
  }
360
- throw error;
361
- });
362
- }, [client, options, mutation]);
333
+ var mutationId = ++ref.current.mutationId;
334
+ var clientOptions = core.mergeOptions(baseOptions, executeOptions);
335
+ return client.mutate(clientOptions).then(function (response) {
336
+ var _a;
337
+ var data = response.data, errors$1 = response.errors;
338
+ var error = errors$1 && errors$1.length > 0
339
+ ? new errors.ApolloError({ graphQLErrors: errors$1 })
340
+ : void 0;
341
+ if (mutationId === ref.current.mutationId &&
342
+ !baseOptions.ignoreResults) {
343
+ var result_1 = {
344
+ called: true,
345
+ loading: false,
346
+ data: data,
347
+ error: error,
348
+ client: client,
349
+ };
350
+ if (ref.current.isMounted && !equality.equal(ref.current.result, result_1)) {
351
+ setResult(ref.current.result = result_1);
352
+ }
353
+ }
354
+ (_a = baseOptions.onCompleted) === null || _a === void 0 ? void 0 : _a.call(baseOptions, response.data);
355
+ return response;
356
+ }).catch(function (error) {
357
+ if (mutationId === ref.current.mutationId &&
358
+ ref.current.isMounted) {
359
+ var result_2 = {
360
+ loading: false,
361
+ error: error,
362
+ data: void 0,
363
+ called: true,
364
+ client: client,
365
+ };
366
+ if (!equality.equal(ref.current.result, result_2)) {
367
+ setResult(ref.current.result = result_2);
368
+ }
369
+ }
370
+ if (baseOptions.onError) {
371
+ baseOptions.onError(error);
372
+ return { data: void 0, errors: error };
373
+ }
374
+ throw error;
375
+ });
376
+ };
377
+ return ref.current.execute;
378
+ }, [client, mutation, options]);
363
379
  var reset = react.useCallback(function () {
364
380
  setResult({ called: false, loading: false, client: client });
365
381
  }, []);