@apollo/client 3.3.7 → 3.3.11

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 (60) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -0
  3. package/apollo-client.cjs.js +66 -52
  4. package/apollo-client.cjs.js.map +1 -1
  5. package/apollo-client.cjs.min.js +1 -1
  6. package/cache/cache.cjs.js +27 -24
  7. package/cache/cache.cjs.js.map +1 -1
  8. package/cache/inmemory/inMemoryCache.d.ts.map +1 -1
  9. package/cache/inmemory/inMemoryCache.js +4 -1
  10. package/cache/inmemory/inMemoryCache.js.map +1 -1
  11. package/cache/inmemory/reactiveVars.d.ts +1 -0
  12. package/cache/inmemory/reactiveVars.d.ts.map +1 -1
  13. package/cache/inmemory/reactiveVars.js +25 -25
  14. package/cache/inmemory/reactiveVars.js.map +1 -1
  15. package/core/ObservableQuery.d.ts.map +1 -1
  16. package/core/ObservableQuery.js +2 -2
  17. package/core/ObservableQuery.js.map +1 -1
  18. package/core/QueryInfo.d.ts +1 -0
  19. package/core/QueryInfo.d.ts.map +1 -1
  20. package/core/QueryInfo.js +8 -3
  21. package/core/QueryInfo.js.map +1 -1
  22. package/core/core.cjs.js +10 -5
  23. package/core/core.cjs.js.map +1 -1
  24. package/core/index.d.ts +1 -1
  25. package/core/index.d.ts.map +1 -1
  26. package/invariantErrorCodes.js +1 -1
  27. package/package.json +9 -10
  28. package/react/data/MutationData.d.ts +1 -1
  29. package/react/data/MutationData.d.ts.map +1 -1
  30. package/react/data/MutationData.js.map +1 -1
  31. package/react/data/QueryData.d.ts +2 -2
  32. package/react/data/QueryData.d.ts.map +1 -1
  33. package/react/data/QueryData.js.map +1 -1
  34. package/react/hooks/hooks.cjs.js +14 -18
  35. package/react/hooks/hooks.cjs.js.map +1 -1
  36. package/react/hooks/useReactiveVar.d.ts.map +1 -1
  37. package/react/hooks/useReactiveVar.js +3 -0
  38. package/react/hooks/useReactiveVar.js.map +1 -1
  39. package/react/hooks/utils/useBaseQuery.d.ts.map +1 -1
  40. package/react/hooks/utils/useBaseQuery.js +11 -18
  41. package/react/hooks/utils/useBaseQuery.js.map +1 -1
  42. package/utilities/graphql/transform.js.map +1 -1
  43. package/utilities/index.d.ts +1 -0
  44. package/utilities/index.d.ts.map +1 -1
  45. package/utilities/index.js +1 -0
  46. package/utilities/index.js.map +1 -1
  47. package/utilities/observables/Concast.d.ts +2 -2
  48. package/utilities/observables/Concast.d.ts.map +1 -1
  49. package/utilities/observables/Concast.js +5 -5
  50. package/utilities/observables/Concast.js.map +1 -1
  51. package/utilities/observables/Observable.d.ts +1 -0
  52. package/utilities/observables/Observable.d.ts.map +1 -1
  53. package/utilities/observables/Observable.js.map +1 -1
  54. package/utilities/observables/subclassing.d.ts +4 -0
  55. package/utilities/observables/subclassing.d.ts.map +1 -0
  56. package/utilities/observables/subclassing.js +12 -0
  57. package/utilities/observables/subclassing.js.map +1 -0
  58. package/utilities/utilities.cjs.js +16 -5
  59. package/utilities/utilities.cjs.js.map +1 -1
  60. package/version.js +1 -1
package/core/index.d.ts CHANGED
@@ -14,6 +14,6 @@ export { Observable, Observer, ObservableSubscription, Reference, isReference, m
14
14
  import { setVerbosity } from "ts-invariant";
15
15
  export { setVerbosity as setLogVerbosity };
16
16
  import gql from 'graphql-tag';
17
- export declare const resetCaches: typeof gql.resetCaches, disableFragmentWarnings: typeof gql.disableFragmentWarnings, enableExperimentalFragmentVariables: typeof gql.enableExperimentalFragmentVariables, disableExperimentalFragmentVariables: typeof gql.disableExperimentalFragmentVariables;
17
+ export declare const resetCaches: typeof import("graphql-tag").resetCaches, disableFragmentWarnings: typeof import("graphql-tag").disableFragmentWarnings, enableExperimentalFragmentVariables: typeof import("graphql-tag").enableExperimentalFragmentVariables, disableExperimentalFragmentVariables: typeof import("graphql-tag").disableExperimentalFragmentVariables;
18
18
  export { gql };
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAIvD,OAAO,EAGL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,cAAc,yBAAyB,CAAC;AAIxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,CAAA;AAe1C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,eAAO,MACL,WAAW,0BACX,uBAAuB,sCACvB,mCAAmC,kDACnC,oCAAoC,iDAC/B,CAAC;AACR,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,QAAQ,EACR,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAIvD,OAAO,EAGL,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,YAAY,EACZ,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,cAAc,yBAAyB,CAAC;AAIxC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAIvB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,aAAa,EACb,WAAW,GACZ,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,IAAI,eAAe,EAAE,CAAA;AAe1C,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,eAAO,MACL,WAAW,4CACX,uBAAuB,wDACvB,mCAAmC,oEACnC,oCAAoC,mEAC/B,CAAC;AACR,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -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.3.7",
8
+ "@apollo/client version": "3.3.11",
9
9
 
10
10
  1: {
11
11
  file: "@apollo/client/cache/inmemory/policies.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/client",
3
- "version": "3.3.7",
3
+ "version": "3.3.11",
4
4
  "description": "A fully-featured caching GraphQL client.",
5
5
  "private": false,
6
6
  "keywords": [
@@ -49,7 +49,7 @@
49
49
  "@wry/context": "^0.5.2",
50
50
  "@wry/equality": "^0.3.0",
51
51
  "fast-json-stable-stringify": "^2.0.0",
52
- "graphql-tag": "^2.11.0",
52
+ "graphql-tag": "^2.12.0",
53
53
  "hoist-non-react-statics": "^3.3.2",
54
54
  "optimism": "^0.14.0",
55
55
  "prop-types": "^15.7.2",
@@ -59,25 +59,25 @@
59
59
  "zen-observable": "^0.8.14"
60
60
  },
61
61
  "devDependencies": {
62
- "@babel/parser": "7.12.11",
63
- "@rollup/plugin-node-resolve": "11.0.1",
62
+ "@babel/parser": "7.12.16",
63
+ "@rollup/plugin-node-resolve": "11.1.1",
64
64
  "@testing-library/react": "9.4.1",
65
65
  "@types/fast-json-stable-stringify": "2.0.0",
66
66
  "@types/fetch-mock": "^7.3.2",
67
67
  "@types/glob": "7.1.3",
68
68
  "@types/hoist-non-react-statics": "^3.3.1",
69
69
  "@types/jest": "26.0.20",
70
- "@types/lodash": "4.14.167",
71
- "@types/node": "14.14.20",
72
- "@types/react": "17.0.0",
73
- "@types/react-dom": "17.0.0",
70
+ "@types/lodash": "4.14.168",
71
+ "@types/node": "14.14.27",
72
+ "@types/react": "17.0.2",
73
+ "@types/react-dom": "17.0.1",
74
74
  "@types/recompose": "^0.30.7",
75
75
  "bundlesize": "0.18.1",
76
76
  "cross-fetch": "3.0.6",
77
77
  "crypto-hash": "^1.3.0",
78
78
  "fetch-mock": "7.7.3",
79
79
  "glob": "7.1.6",
80
- "graphql": "15.4.0",
80
+ "graphql": "15.5.0",
81
81
  "graphql-tools": "^6.0.12",
82
82
  "jest": "26.6.3",
83
83
  "jest-fetch-mock": "^3.0.3",
@@ -96,7 +96,6 @@
96
96
  "terser": "^5.2.0",
97
97
  "ts-jest": "26.4.4",
98
98
  "ts-node": "8.10.2",
99
- "tsc-watch": "3.0.1",
100
99
  "typescript": "3.9.7",
101
100
  "wait-for-observables": "^1.0.3"
102
101
  },
@@ -2,7 +2,7 @@ import { MutationDataOptions, MutationTuple, MutationResult } from '../types/typ
2
2
  import { OperationData } from './OperationData';
3
3
  import { OperationVariables } from '../../core';
4
4
  declare type MutationResultWithoutClient<TData = any> = Omit<MutationResult<TData>, 'client'>;
5
- export declare class MutationData<TData = any, TVariables = OperationVariables> extends OperationData {
5
+ export declare class MutationData<TData = any, TVariables = OperationVariables> extends OperationData<MutationDataOptions<TData, TVariables>> {
6
6
  private mostRecentMutationId;
7
7
  private result;
8
8
  private previousResult?;
@@ -1 +1 @@
1
- {"version":3,"file":"MutationData.d.ts","sourceRoot":"","sources":["../../../src/react/data/MutationData.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEb,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAiC,MAAM,YAAY,CAAC;AAG/E,aAAK,2BAA2B,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEtF,qBAAa,YAAY,CACvB,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,kBAAkB,CAC/B,SAAQ,aAAa;IACrB,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,cAAc,CAAC,CAAqC;IAC5D,OAAO,CAAC,SAAS,CAAsD;gBAE3D,EACV,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACV,EAAE;QACD,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;KAChE;IAQM,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC;IASrF,YAAY;IAKZ,OAAO;IAId,OAAO,CAAC,WAAW,CAkBjB;IAEF,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,YAAY;CASrB"}
1
+ {"version":3,"file":"MutationData.d.ts","sourceRoot":"","sources":["../../../src/react/data/MutationData.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEb,cAAc,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAiC,MAAM,YAAY,CAAC;AAG/E,aAAK,2BAA2B,CAAC,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEtF,qBAAa,YAAY,CACvB,KAAK,GAAG,GAAG,EACX,UAAU,GAAG,kBAAkB,CAC/B,SAAQ,aAAa,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC7D,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,cAAc,CAAC,CAAqC;IAC5D,OAAO,CAAC,SAAS,CAAsD;gBAE3D,EACV,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACV,EAAE;QACD,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,OAAO,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;KAChE;IAQM,OAAO,CAAC,MAAM,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC;IASrF,YAAY;IAKZ,OAAO;IAId,OAAO,CAAC,WAAW,CAkBjB;IAEF,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,YAAY;CASrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MutationData.js","sourceRoot":"","sources":["../../../src/react/data/MutationData.ts"],"names":[],"mappings":"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","sourcesContent":["import { equal } from '@wry/equality';\n\nimport { DocumentType } from '../parser';\nimport { ApolloError } from '../../errors';\nimport {\n MutationDataOptions,\n MutationTuple,\n MutationFunctionOptions,\n MutationResult,\n} from '../types/types';\nimport { OperationData } from './OperationData';\nimport { OperationVariables, MutationOptions, mergeOptions } from '../../core';\nimport { FetchResult } from '../../link/core';\n\ntype MutationResultWithoutClient<TData = any> = Omit<MutationResult<TData>, 'client'>;\n\nexport class MutationData<\n TData = any,\n TVariables = OperationVariables\n> extends OperationData {\n private mostRecentMutationId: number;\n private result: MutationResultWithoutClient<TData>;\n private previousResult?: MutationResultWithoutClient<TData>;\n private setResult: (result: MutationResultWithoutClient<TData>) => any;\n\n constructor({\n options,\n context,\n result,\n setResult\n }: {\n options: MutationDataOptions<TData, TVariables>;\n context: any;\n result: MutationResultWithoutClient<TData>;\n setResult: (result: MutationResultWithoutClient<TData>) => any;\n }) {\n super(options, context);\n this.verifyDocumentType(options.mutation, DocumentType.Mutation);\n this.result = result;\n this.setResult = setResult;\n this.mostRecentMutationId = 0;\n }\n\n public execute(result: MutationResultWithoutClient<TData>): MutationTuple<TData, TVariables> {\n this.isMounted = true;\n this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation);\n return [\n this.runMutation,\n { ...result, client: this.refreshClient().client }\n ] as MutationTuple<TData, TVariables>;\n }\n\n public afterExecute() {\n this.isMounted = true;\n return this.unmount.bind(this);\n }\n\n public cleanup() {\n // No cleanup required.\n }\n\n private runMutation = (\n mutationFunctionOptions: MutationFunctionOptions<\n TData,\n TVariables\n > = {} as MutationFunctionOptions<TData, TVariables>\n ) => {\n this.onMutationStart();\n const mutationId = this.generateNewMutationId();\n\n return this.mutate(mutationFunctionOptions)\n .then((response: FetchResult<TData>) => {\n this.onMutationCompleted(response, mutationId);\n return response;\n })\n .catch((error: ApolloError) => {\n this.onMutationError(error, mutationId);\n if (!this.getOptions().onError) throw error;\n });\n };\n\n private mutate(\n options: MutationFunctionOptions<TData, TVariables>\n ) {\n return this.refreshClient().client.mutate(\n mergeOptions(\n this.getOptions(),\n options as MutationOptions<TData, TVariables>,\n ),\n );\n }\n\n private onMutationStart() {\n if (!this.result.loading && !this.getOptions().ignoreResults) {\n this.updateResult({\n loading: true,\n error: undefined,\n data: undefined,\n called: true\n });\n }\n }\n\n private onMutationCompleted(\n response: FetchResult<TData>,\n mutationId: number\n ) {\n const { onCompleted, ignoreResults } = this.getOptions();\n\n const { data, errors } = response;\n const error =\n errors && errors.length > 0\n ? new ApolloError({ graphQLErrors: errors })\n : undefined;\n\n const callOncomplete = () =>\n onCompleted ? onCompleted(data as TData) : null;\n\n if (this.isMostRecentMutation(mutationId) && !ignoreResults) {\n this.updateResult({\n called: true,\n loading: false,\n data,\n error\n });\n }\n callOncomplete();\n }\n\n private onMutationError(error: ApolloError, mutationId: number) {\n const { onError } = this.getOptions();\n\n if (this.isMostRecentMutation(mutationId)) {\n this.updateResult({\n loading: false,\n error,\n data: undefined,\n called: true\n });\n }\n\n if (onError) {\n onError(error);\n }\n }\n\n private generateNewMutationId(): number {\n return ++this.mostRecentMutationId;\n }\n\n private isMostRecentMutation(mutationId: number) {\n return this.mostRecentMutationId === mutationId;\n }\n\n private updateResult(result: MutationResultWithoutClient<TData>) {\n if (\n this.isMounted &&\n (!this.previousResult || !equal(this.previousResult, result))\n ) {\n this.setResult(result);\n this.previousResult = result;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"MutationData.js","sourceRoot":"","sources":["../../../src/react/data/MutationData.ts"],"names":[],"mappings":"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","sourcesContent":["import { equal } from '@wry/equality';\n\nimport { DocumentType } from '../parser';\nimport { ApolloError } from '../../errors';\nimport {\n MutationDataOptions,\n MutationTuple,\n MutationFunctionOptions,\n MutationResult,\n} from '../types/types';\nimport { OperationData } from './OperationData';\nimport { OperationVariables, MutationOptions, mergeOptions } from '../../core';\nimport { FetchResult } from '../../link/core';\n\ntype MutationResultWithoutClient<TData = any> = Omit<MutationResult<TData>, 'client'>;\n\nexport class MutationData<\n TData = any,\n TVariables = OperationVariables\n> extends OperationData<MutationDataOptions<TData, TVariables>> {\n private mostRecentMutationId: number;\n private result: MutationResultWithoutClient<TData>;\n private previousResult?: MutationResultWithoutClient<TData>;\n private setResult: (result: MutationResultWithoutClient<TData>) => any;\n\n constructor({\n options,\n context,\n result,\n setResult\n }: {\n options: MutationDataOptions<TData, TVariables>;\n context: any;\n result: MutationResultWithoutClient<TData>;\n setResult: (result: MutationResultWithoutClient<TData>) => any;\n }) {\n super(options, context);\n this.verifyDocumentType(options.mutation, DocumentType.Mutation);\n this.result = result;\n this.setResult = setResult;\n this.mostRecentMutationId = 0;\n }\n\n public execute(result: MutationResultWithoutClient<TData>): MutationTuple<TData, TVariables> {\n this.isMounted = true;\n this.verifyDocumentType(this.getOptions().mutation, DocumentType.Mutation);\n return [\n this.runMutation,\n { ...result, client: this.refreshClient().client }\n ] as MutationTuple<TData, TVariables>;\n }\n\n public afterExecute() {\n this.isMounted = true;\n return this.unmount.bind(this);\n }\n\n public cleanup() {\n // No cleanup required.\n }\n\n private runMutation = (\n mutationFunctionOptions: MutationFunctionOptions<\n TData,\n TVariables\n > = {} as MutationFunctionOptions<TData, TVariables>\n ) => {\n this.onMutationStart();\n const mutationId = this.generateNewMutationId();\n\n return this.mutate(mutationFunctionOptions)\n .then((response: FetchResult<TData>) => {\n this.onMutationCompleted(response, mutationId);\n return response;\n })\n .catch((error: ApolloError) => {\n this.onMutationError(error, mutationId);\n if (!this.getOptions().onError) throw error;\n });\n };\n\n private mutate(\n options: MutationFunctionOptions<TData, TVariables>\n ) {\n return this.refreshClient().client.mutate(\n mergeOptions(\n this.getOptions(),\n options as MutationOptions<TData, TVariables>,\n ),\n );\n }\n\n private onMutationStart() {\n if (!this.result.loading && !this.getOptions().ignoreResults) {\n this.updateResult({\n loading: true,\n error: undefined,\n data: undefined,\n called: true\n });\n }\n }\n\n private onMutationCompleted(\n response: FetchResult<TData>,\n mutationId: number\n ) {\n const { onCompleted, ignoreResults } = this.getOptions();\n\n const { data, errors } = response;\n const error =\n errors && errors.length > 0\n ? new ApolloError({ graphQLErrors: errors })\n : undefined;\n\n const callOncomplete = () =>\n onCompleted ? onCompleted(data as TData) : null;\n\n if (this.isMostRecentMutation(mutationId) && !ignoreResults) {\n this.updateResult({\n called: true,\n loading: false,\n data,\n error\n });\n }\n callOncomplete();\n }\n\n private onMutationError(error: ApolloError, mutationId: number) {\n const { onError } = this.getOptions();\n\n if (this.isMostRecentMutation(mutationId)) {\n this.updateResult({\n loading: false,\n error,\n data: undefined,\n called: true\n });\n }\n\n if (onError) {\n onError(error);\n }\n }\n\n private generateNewMutationId(): number {\n return ++this.mostRecentMutationId;\n }\n\n private isMostRecentMutation(mutationId: number) {\n return this.mostRecentMutationId === mutationId;\n }\n\n private updateResult(result: MutationResultWithoutClient<TData>) {\n if (\n this.isMounted &&\n (!this.previousResult || !equal(this.previousResult, result))\n ) {\n this.setResult(result);\n this.previousResult = result;\n }\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { QueryResult, QueryDataOptions, QueryTuple } from '../types/types';
2
2
  import { OperationData } from './OperationData';
3
- export declare class QueryData<TData, TVariables> extends OperationData {
3
+ export declare class QueryData<TData, TVariables> extends OperationData<QueryDataOptions<TData, TVariables>> {
4
4
  onNewData: () => void;
5
5
  private currentObservable?;
6
6
  private currentSubscription?;
@@ -19,7 +19,7 @@ export declare class QueryData<TData, TVariables> extends OperationData {
19
19
  lazy?: boolean;
20
20
  }): any;
21
21
  cleanup(): void;
22
- getOptions(): any;
22
+ getOptions(): import("../types/types").CommonOptions<QueryDataOptions<TData, TVariables>>;
23
23
  ssrInitiated(): any;
24
24
  private runLazyQuery;
25
25
  private getExecuteResult;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryData.d.ts","sourceRoot":"","sources":["../../../src/react/data/QueryData.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,SAAS,CAAC,KAAK,EAAE,UAAU,CAAE,SAAQ,aAAa;IACtD,SAAS,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAqC;IAC/D,OAAO,CAAC,mBAAmB,CAAC,CAAyB;IACrD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAQQ;gBAEZ,EACV,OAAO,EACP,OAAO,EACP,SAAS,EACV,EAAE;QACD,OAAO,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7C,OAAO,EAAE,GAAG,CAAC;QACb,SAAS,EAAE,MAAM,IAAI,CAAC;KACvB;IAKM,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;IAiBzC,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;IAe5C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO;IAMpC,YAAY,CAAC,EAAE,IAAY,EAAE,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO;IAWtD,OAAO;IAMP,UAAU;IAsBV,YAAY;IAInB,OAAO,CAAC,YAAY,CAKlB;IAEF,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,6BAA6B;IAsBrC,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,cAAc,CAwGrB;IAED,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU,CAC2B;IAE7C,OAAO,CAAC,YAAY,CAGqC;IAEzD,OAAO,CAAC,cAAc,CAK0B;IAEhD,OAAO,CAAC,eAAe,CAErB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,kBAAkB,CAS4B;IAEtD,OAAO,CAAC,qBAAqB;CAW9B"}
1
+ {"version":3,"file":"QueryData.d.ts","sourceRoot":"","sources":["../../../src/react/data/QueryData.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,SAAS,CAAC,KAAK,EAAE,UAAU,CAAE,SAAQ,aAAa,CAC7D,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CACpC;IACQ,SAAS,EAAE,MAAM,IAAI,CAAC;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAqC;IAC/D,OAAO,CAAC,mBAAmB,CAAC,CAAyB;IACrD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,WAAW,CAAC,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAQQ;gBAEZ,EACV,OAAO,EACP,OAAO,EACP,SAAS,EACV,EAAE;QACD,OAAO,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7C,OAAO,EAAE,GAAG,CAAC;QACb,SAAS,EAAE,MAAM,IAAI,CAAC;KACvB;IAKM,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC;IAiBzC,WAAW,IAAI,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC;IAe5C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO;IAMpC,YAAY,CAAC,EAAE,IAAY,EAAE,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO;IAWtD,OAAO;IAMP,UAAU;IAsBV,YAAY;IAInB,OAAO,CAAC,YAAY,CAKlB;IAEF,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,mBAAmB;IAsC3B,OAAO,CAAC,6BAA6B;IAsBrC,OAAO,CAAC,yBAAyB;IA8BjC,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,cAAc,CAwGrB;IAED,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,UAAU,CAC2B;IAE7C,OAAO,CAAC,YAAY,CAGqC;IAEzD,OAAO,CAAC,cAAc,CAK0B;IAEhD,OAAO,CAAC,eAAe,CAErB;IAEF,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,kBAAkB,CAS4B;IAEtD,OAAO,CAAC,qBAAqB;CAW9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryData.js","sourceRoot":"","sources":["../../../src/react/data/QueryData.ts"],"names":[],"mappings":"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","sourcesContent":["import { equal } from '@wry/equality';\n\nimport { ApolloError } from '../../errors';\n\nimport {\n ApolloClient,\n NetworkStatus,\n FetchMoreQueryOptions,\n SubscribeToMoreOptions,\n ObservableQuery,\n FetchMoreOptions,\n UpdateQueryOptions,\n DocumentNode,\n TypedDocumentNode\n} from '../../core';\n\nimport {\n ObservableSubscription\n} from '../../utilities';\n\nimport { DocumentType } from '../parser';\nimport {\n QueryResult,\n QueryDataOptions,\n QueryTuple,\n QueryLazyOptions,\n ObservableQueryFields,\n} from '../types/types';\nimport { OperationData } from './OperationData';\n\nexport class QueryData<TData, TVariables> extends OperationData {\n public onNewData: () => void;\n private currentObservable?: ObservableQuery<TData, TVariables>;\n private currentSubscription?: ObservableSubscription;\n private runLazy: boolean = false;\n private lazyOptions?: QueryLazyOptions<TVariables>;\n private previous: {\n client?: ApolloClient<object>;\n query?: DocumentNode | TypedDocumentNode<TData, TVariables>;\n observableQueryOptions?: {};\n result?: QueryResult<TData, TVariables>;\n loading?: boolean;\n options?: QueryDataOptions<TData, TVariables>;\n error?: ApolloError;\n } = Object.create(null);\n\n constructor({\n options,\n context,\n onNewData\n }: {\n options: QueryDataOptions<TData, TVariables>;\n context: any;\n onNewData: () => void;\n }) {\n super(options, context);\n this.onNewData = onNewData;\n }\n\n public execute(): QueryResult<TData, TVariables> {\n this.refreshClient();\n\n const { skip, query } = this.getOptions();\n if (skip || query !== this.previous.query) {\n this.removeQuerySubscription();\n this.removeObservable(!skip);\n this.previous.query = query;\n }\n\n this.updateObservableQuery();\n\n if (this.isMounted) this.startQuerySubscription();\n\n return this.getExecuteSsrResult() || this.getExecuteResult();\n }\n\n public executeLazy(): QueryTuple<TData, TVariables> {\n return !this.runLazy\n ? [\n this.runLazyQuery,\n {\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: false,\n data: undefined\n }\n ]\n : [this.runLazyQuery, this.execute()];\n }\n\n // For server-side rendering\n public fetchData(): Promise<void> | boolean {\n const options = this.getOptions();\n if (options.skip || options.ssr === false) return false;\n return new Promise(resolve => this.startQuerySubscription(resolve));\n }\n\n public afterExecute({ lazy = false }: { lazy?: boolean } = {}) {\n this.isMounted = true;\n\n if (!lazy || this.runLazy) {\n this.handleErrorOrCompleted();\n }\n\n this.previousOptions = this.getOptions();\n return this.unmount.bind(this);\n }\n\n public cleanup() {\n this.removeQuerySubscription();\n this.removeObservable(true);\n delete this.previous.result;\n }\n\n public getOptions() {\n const options = super.getOptions();\n\n if (this.lazyOptions) {\n options.variables = {\n ...options.variables,\n ...this.lazyOptions.variables\n };\n options.context = {\n ...options.context,\n ...this.lazyOptions.context\n };\n }\n\n // skip is not supported when using lazy query execution.\n if (this.runLazy) {\n delete options.skip;\n }\n\n return options;\n }\n\n public ssrInitiated() {\n return this.context && this.context.renderPromises;\n }\n\n private runLazyQuery = (options?: QueryLazyOptions<TVariables>) => {\n this.cleanup();\n this.runLazy = true;\n this.lazyOptions = options;\n this.onNewData();\n };\n\n private getExecuteResult(): QueryResult<TData, TVariables> {\n const result = this.getQueryResult();\n this.startQuerySubscription();\n return result;\n };\n\n private getExecuteSsrResult() {\n const { ssr, skip } = this.getOptions();\n const ssrDisabled = ssr === false;\n const fetchDisabled = this.refreshClient().client.disableNetworkFetches;\n\n const ssrLoading = {\n loading: true,\n networkStatus: NetworkStatus.loading,\n called: true,\n data: undefined,\n stale: false,\n client: this.client,\n ...this.observableQueryFields(),\n } as QueryResult<TData, TVariables>;\n\n // If SSR has been explicitly disabled, and this function has been called\n // on the server side, return the default loading state.\n if (ssrDisabled && (this.ssrInitiated() || fetchDisabled)) {\n this.previous.result = ssrLoading;\n return ssrLoading;\n }\n\n let result;\n if (this.ssrInitiated()) {\n if (skip) {\n result = this.getQueryResult();\n } else {\n result =\n this.context.renderPromises!.addQueryPromise(\n this,\n this.getQueryResult\n ) || ssrLoading;\n };\n }\n\n return result;\n }\n\n private prepareObservableQueryOptions() {\n const options = this.getOptions();\n this.verifyDocumentType(options.query, DocumentType.Query);\n const displayName = options.displayName || 'Query';\n\n // Set the fetchPolicy to cache-first for network-only and cache-and-network\n // fetches for server side renders.\n if (\n this.ssrInitiated() &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')\n ) {\n options.fetchPolicy = 'cache-first';\n }\n\n return {\n ...options,\n displayName,\n context: options.context,\n };\n }\n\n private initializeObservableQuery() {\n // See if there is an existing observable that was used to fetch the same\n // data and if so, use it instead since it will contain the proper queryId\n // to fetch the result set. This is used during SSR.\n if (this.ssrInitiated()) {\n this.currentObservable = this.context!.renderPromises!.getSSRObservable(\n this.getOptions()\n );\n }\n\n if (!this.currentObservable) {\n const observableQueryOptions = this.prepareObservableQueryOptions();\n\n this.previous.observableQueryOptions = {\n ...observableQueryOptions,\n children: null\n };\n this.currentObservable = this.refreshClient().client.watchQuery({\n ...observableQueryOptions\n });\n\n if (this.ssrInitiated()) {\n this.context!.renderPromises!.registerSSRObservable(\n this.currentObservable,\n observableQueryOptions\n );\n }\n }\n }\n\n private updateObservableQuery() {\n // If we skipped initially, we may not have yet created the observable\n if (!this.currentObservable) {\n this.initializeObservableQuery();\n return;\n }\n\n if (this.getOptions().skip) return;\n\n const newObservableQueryOptions = {\n ...this.prepareObservableQueryOptions(),\n children: null\n };\n\n if (\n !equal(\n newObservableQueryOptions,\n this.previous.observableQueryOptions\n )\n ) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n this.currentObservable\n .setOptions(newObservableQueryOptions)\n // The error will be passed to the child container, so we don't\n // need to log it here. We could conceivably log something if\n // an option was set. OTOH we don't log errors w/ the original\n // query. See https://github.com/apollostack/react-apollo/issues/404\n .catch(() => {});\n }\n }\n\n // Setup a subscription to watch for Apollo Client `ObservableQuery` changes.\n // When new data is received, and it doesn't match the data that was used\n // during the last `QueryData.execute` call (and ultimately the last query\n // component render), trigger the `onNewData` callback. If not specified,\n // `onNewData` will fallback to the default `QueryData.onNewData` function\n // (which usually leads to a query component re-render).\n private startQuerySubscription(onNewData: () => void = this.onNewData) {\n if (this.currentSubscription || this.getOptions().skip) return;\n\n this.currentSubscription = this.currentObservable!.subscribe({\n next: ({ loading, networkStatus, data }) => {\n const previousResult = this.previous.result;\n\n // Make sure we're not attempting to re-render similar results\n if (\n previousResult &&\n previousResult.loading === loading &&\n previousResult.networkStatus === networkStatus &&\n equal(previousResult.data, data)\n ) {\n return;\n }\n\n onNewData();\n },\n error: error => {\n this.resubscribeToQuery();\n if (!error.hasOwnProperty('graphQLErrors')) throw error;\n\n const previousResult = this.previous.result;\n if (\n (previousResult && previousResult.loading) ||\n !equal(error, this.previous.error)\n ) {\n this.previous.error = error;\n onNewData();\n }\n }\n });\n }\n\n private resubscribeToQuery() {\n this.removeQuerySubscription();\n\n // Unfortunately, if `lastError` is set in the current\n // `observableQuery` when the subscription is re-created,\n // the subscription will immediately receive the error, which will\n // cause it to terminate again. To avoid this, we first clear\n // the last error/result from the `observableQuery` before re-starting\n // the subscription, and restore it afterwards (so the subscription\n // has a chance to stay open).\n const { currentObservable } = this;\n if (currentObservable) {\n const lastError = currentObservable.getLastError();\n const lastResult = currentObservable.getLastResult();\n currentObservable.resetLastResults();\n this.startQuerySubscription();\n Object.assign(currentObservable, {\n lastError,\n lastResult\n });\n }\n }\n\n private getQueryResult = (): QueryResult<TData, TVariables> => {\n let result = this.observableQueryFields() as QueryResult<TData, TVariables>;\n const options = this.getOptions();\n\n // When skipping a query (ie. we're not querying for data but still want\n // to render children), make sure the `data` is cleared out and\n // `loading` is set to `false` (since we aren't loading anything).\n //\n // NOTE: We no longer think this is the correct behavior. Skipping should\n // not automatically set `data` to `undefined`, but instead leave the\n // previous data in place. In other words, skipping should not mandate\n // that previously received data is all of a sudden removed. Unfortunately,\n // changing this is breaking, so we'll have to wait until Apollo Client\n // 4.0 to address this.\n if (options.skip) {\n result = {\n ...result,\n data: undefined,\n error: undefined,\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: true,\n };\n } else if (this.currentObservable) {\n // Fetch the current result (if any) from the store.\n const currentResult = this.currentObservable.getCurrentResult();\n const { data, loading, partial, networkStatus, errors } = currentResult;\n let { error } = currentResult;\n\n // Until a set naming convention for networkError and graphQLErrors is\n // decided upon, we map errors (graphQLErrors) to the error options.\n if (errors && errors.length > 0) {\n error = new ApolloError({ graphQLErrors: errors });\n }\n\n result = {\n ...result,\n data,\n loading,\n networkStatus,\n error,\n called: true\n };\n\n if (loading) {\n // Fall through without modifying result...\n } else if (error) {\n Object.assign(result, {\n data: (this.currentObservable.getLastResult() || ({} as any))\n .data\n });\n } else {\n const { fetchPolicy } = this.currentObservable.options;\n const { partialRefetch } = options;\n if (\n partialRefetch &&\n partial &&\n (!data || Object.keys(data).length === 0) &&\n fetchPolicy !== 'cache-only'\n ) {\n // When a `Query` component is mounted, and a mutation is executed\n // that returns the same ID as the mounted `Query`, but has less\n // fields in its result, Apollo Client's `QueryManager` returns the\n // data as `undefined` since a hit can't be found in the cache.\n // This can lead to application errors when the UI elements rendered by\n // the original `Query` component are expecting certain data values to\n // exist, and they're all of a sudden stripped away. To help avoid\n // this we'll attempt to refetch the `Query` data.\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.loading\n });\n result.refetch();\n return result;\n }\n }\n }\n\n result.client = this.client;\n // Store options as this.previousOptions.\n this.setOptions(options, true);\n\n const previousResult = this.previous.result;\n\n this.previous.loading =\n previousResult && previousResult.loading || false;\n\n // Ensure the returned result contains previousData as a separate\n // property, to give developers the flexibility of leveraging outdated\n // data while new data is loading from the network. Falling back to\n // previousResult.previousData when previousResult.data is falsy here\n // allows result.previousData to persist across multiple results.\n result.previousData = previousResult &&\n (previousResult.data || previousResult.previousData);\n\n this.previous.result = result;\n\n // Any query errors that exist are now available in `result`, so we'll\n // remove the original errors from the `ObservableQuery` query store to\n // make sure they aren't re-displayed on subsequent (potentially error\n // free) requests/responses.\n this.currentObservable && this.currentObservable.resetQueryStoreErrors();\n\n return result;\n }\n\n private handleErrorOrCompleted() {\n if (!this.currentObservable || !this.previous.result) return;\n\n const { data, loading, error } = this.previous.result;\n\n if (!loading) {\n const {\n query,\n variables,\n onCompleted,\n onError,\n skip\n } = this.getOptions();\n\n // No changes, so we won't call onError/onCompleted.\n if (\n this.previousOptions &&\n !this.previous.loading &&\n equal(this.previousOptions.query, query) &&\n equal(this.previousOptions.variables, variables)\n ) {\n return;\n }\n\n if (onCompleted && !error && !skip) {\n onCompleted(data);\n } else if (onError && error) {\n onError(error);\n }\n }\n }\n\n private removeQuerySubscription() {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n delete this.currentSubscription;\n }\n }\n\n private removeObservable(andDelete: boolean) {\n if (this.currentObservable) {\n this.currentObservable[\"tearDownQuery\"]();\n if (andDelete) {\n delete this.currentObservable;\n }\n }\n }\n\n private obsRefetch = (variables?: Partial<TVariables>) =>\n this.currentObservable?.refetch(variables);\n\n private obsFetchMore = <K extends keyof TVariables>(\n fetchMoreOptions: FetchMoreQueryOptions<TVariables, K, TData> &\n FetchMoreOptions<TData, TVariables>\n ) => this.currentObservable!.fetchMore(fetchMoreOptions);\n\n private obsUpdateQuery = <TVars = TVariables>(\n mapFn: (\n previousQueryResult: TData,\n options: UpdateQueryOptions<TVars>\n ) => TData\n ) => this.currentObservable!.updateQuery(mapFn);\n\n private obsStartPolling = (pollInterval: number) => {\n this.currentObservable?.startPolling(pollInterval);\n };\n\n private obsStopPolling = () => {\n this.currentObservable?.stopPolling();\n };\n\n private obsSubscribeToMore = <\n TSubscriptionData = TData,\n TSubscriptionVariables = TVariables\n >(\n options: SubscribeToMoreOptions<\n TData,\n TSubscriptionVariables,\n TSubscriptionData\n >\n ) => this.currentObservable!.subscribeToMore(options);\n\n private observableQueryFields() {\n return {\n variables: this.currentObservable?.variables,\n refetch: this.obsRefetch,\n fetchMore: this.obsFetchMore,\n updateQuery: this.obsUpdateQuery,\n startPolling: this.obsStartPolling,\n stopPolling: this.obsStopPolling,\n subscribeToMore: this.obsSubscribeToMore\n } as ObservableQueryFields<TData, TVariables>;\n }\n}\n"]}
1
+ {"version":3,"file":"QueryData.js","sourceRoot":"","sources":["../../../src/react/data/QueryData.ts"],"names":[],"mappings":"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","sourcesContent":["import { equal } from '@wry/equality';\n\nimport { ApolloError } from '../../errors';\n\nimport {\n ApolloClient,\n NetworkStatus,\n FetchMoreQueryOptions,\n SubscribeToMoreOptions,\n ObservableQuery,\n FetchMoreOptions,\n UpdateQueryOptions,\n DocumentNode,\n TypedDocumentNode\n} from '../../core';\n\nimport {\n ObservableSubscription\n} from '../../utilities';\n\nimport { DocumentType } from '../parser';\nimport {\n QueryResult,\n QueryDataOptions,\n QueryTuple,\n QueryLazyOptions,\n ObservableQueryFields,\n} from '../types/types';\nimport { OperationData } from './OperationData';\n\nexport class QueryData<TData, TVariables> extends OperationData<\n QueryDataOptions<TData, TVariables>\n> {\n public onNewData: () => void;\n private currentObservable?: ObservableQuery<TData, TVariables>;\n private currentSubscription?: ObservableSubscription;\n private runLazy: boolean = false;\n private lazyOptions?: QueryLazyOptions<TVariables>;\n private previous: {\n client?: ApolloClient<object>;\n query?: DocumentNode | TypedDocumentNode<TData, TVariables>;\n observableQueryOptions?: {};\n result?: QueryResult<TData, TVariables>;\n loading?: boolean;\n options?: QueryDataOptions<TData, TVariables>;\n error?: ApolloError;\n } = Object.create(null);\n\n constructor({\n options,\n context,\n onNewData\n }: {\n options: QueryDataOptions<TData, TVariables>;\n context: any;\n onNewData: () => void;\n }) {\n super(options, context);\n this.onNewData = onNewData;\n }\n\n public execute(): QueryResult<TData, TVariables> {\n this.refreshClient();\n\n const { skip, query } = this.getOptions();\n if (skip || query !== this.previous.query) {\n this.removeQuerySubscription();\n this.removeObservable(!skip);\n this.previous.query = query;\n }\n\n this.updateObservableQuery();\n\n if (this.isMounted) this.startQuerySubscription();\n\n return this.getExecuteSsrResult() || this.getExecuteResult();\n }\n\n public executeLazy(): QueryTuple<TData, TVariables> {\n return !this.runLazy\n ? [\n this.runLazyQuery,\n {\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: false,\n data: undefined\n }\n ]\n : [this.runLazyQuery, this.execute()];\n }\n\n // For server-side rendering\n public fetchData(): Promise<void> | boolean {\n const options = this.getOptions();\n if (options.skip || options.ssr === false) return false;\n return new Promise(resolve => this.startQuerySubscription(resolve));\n }\n\n public afterExecute({ lazy = false }: { lazy?: boolean } = {}) {\n this.isMounted = true;\n\n if (!lazy || this.runLazy) {\n this.handleErrorOrCompleted();\n }\n\n this.previousOptions = this.getOptions();\n return this.unmount.bind(this);\n }\n\n public cleanup() {\n this.removeQuerySubscription();\n this.removeObservable(true);\n delete this.previous.result;\n }\n\n public getOptions() {\n const options = super.getOptions();\n\n if (this.lazyOptions) {\n options.variables = {\n ...options.variables,\n ...this.lazyOptions.variables\n } as TVariables;\n options.context = {\n ...options.context,\n ...this.lazyOptions.context\n };\n }\n\n // skip is not supported when using lazy query execution.\n if (this.runLazy) {\n delete options.skip;\n }\n\n return options;\n }\n\n public ssrInitiated() {\n return this.context && this.context.renderPromises;\n }\n\n private runLazyQuery = (options?: QueryLazyOptions<TVariables>) => {\n this.cleanup();\n this.runLazy = true;\n this.lazyOptions = options;\n this.onNewData();\n };\n\n private getExecuteResult(): QueryResult<TData, TVariables> {\n const result = this.getQueryResult();\n this.startQuerySubscription();\n return result;\n };\n\n private getExecuteSsrResult() {\n const { ssr, skip } = this.getOptions();\n const ssrDisabled = ssr === false;\n const fetchDisabled = this.refreshClient().client.disableNetworkFetches;\n\n const ssrLoading = {\n loading: true,\n networkStatus: NetworkStatus.loading,\n called: true,\n data: undefined,\n stale: false,\n client: this.client,\n ...this.observableQueryFields(),\n } as QueryResult<TData, TVariables>;\n\n // If SSR has been explicitly disabled, and this function has been called\n // on the server side, return the default loading state.\n if (ssrDisabled && (this.ssrInitiated() || fetchDisabled)) {\n this.previous.result = ssrLoading;\n return ssrLoading;\n }\n\n let result;\n if (this.ssrInitiated()) {\n if (skip) {\n result = this.getQueryResult();\n } else {\n result =\n this.context.renderPromises!.addQueryPromise(\n this,\n this.getQueryResult\n ) || ssrLoading;\n };\n }\n\n return result;\n }\n\n private prepareObservableQueryOptions() {\n const options = this.getOptions();\n this.verifyDocumentType(options.query, DocumentType.Query);\n const displayName = options.displayName || 'Query';\n\n // Set the fetchPolicy to cache-first for network-only and cache-and-network\n // fetches for server side renders.\n if (\n this.ssrInitiated() &&\n (options.fetchPolicy === 'network-only' ||\n options.fetchPolicy === 'cache-and-network')\n ) {\n options.fetchPolicy = 'cache-first';\n }\n\n return {\n ...options,\n displayName,\n context: options.context,\n };\n }\n\n private initializeObservableQuery() {\n // See if there is an existing observable that was used to fetch the same\n // data and if so, use it instead since it will contain the proper queryId\n // to fetch the result set. This is used during SSR.\n if (this.ssrInitiated()) {\n this.currentObservable = this.context!.renderPromises!.getSSRObservable(\n this.getOptions()\n );\n }\n\n if (!this.currentObservable) {\n const observableQueryOptions = this.prepareObservableQueryOptions();\n\n this.previous.observableQueryOptions = {\n ...observableQueryOptions,\n children: null\n };\n this.currentObservable = this.refreshClient().client.watchQuery({\n ...observableQueryOptions\n });\n\n if (this.ssrInitiated()) {\n this.context!.renderPromises!.registerSSRObservable(\n this.currentObservable,\n observableQueryOptions\n );\n }\n }\n }\n\n private updateObservableQuery() {\n // If we skipped initially, we may not have yet created the observable\n if (!this.currentObservable) {\n this.initializeObservableQuery();\n return;\n }\n\n if (this.getOptions().skip) return;\n\n const newObservableQueryOptions = {\n ...this.prepareObservableQueryOptions(),\n children: null\n };\n\n if (\n !equal(\n newObservableQueryOptions,\n this.previous.observableQueryOptions\n )\n ) {\n this.previous.observableQueryOptions = newObservableQueryOptions;\n this.currentObservable\n .setOptions(newObservableQueryOptions)\n // The error will be passed to the child container, so we don't\n // need to log it here. We could conceivably log something if\n // an option was set. OTOH we don't log errors w/ the original\n // query. See https://github.com/apollostack/react-apollo/issues/404\n .catch(() => {});\n }\n }\n\n // Setup a subscription to watch for Apollo Client `ObservableQuery` changes.\n // When new data is received, and it doesn't match the data that was used\n // during the last `QueryData.execute` call (and ultimately the last query\n // component render), trigger the `onNewData` callback. If not specified,\n // `onNewData` will fallback to the default `QueryData.onNewData` function\n // (which usually leads to a query component re-render).\n private startQuerySubscription(onNewData: () => void = this.onNewData) {\n if (this.currentSubscription || this.getOptions().skip) return;\n\n this.currentSubscription = this.currentObservable!.subscribe({\n next: ({ loading, networkStatus, data }) => {\n const previousResult = this.previous.result;\n\n // Make sure we're not attempting to re-render similar results\n if (\n previousResult &&\n previousResult.loading === loading &&\n previousResult.networkStatus === networkStatus &&\n equal(previousResult.data, data)\n ) {\n return;\n }\n\n onNewData();\n },\n error: error => {\n this.resubscribeToQuery();\n if (!error.hasOwnProperty('graphQLErrors')) throw error;\n\n const previousResult = this.previous.result;\n if (\n (previousResult && previousResult.loading) ||\n !equal(error, this.previous.error)\n ) {\n this.previous.error = error;\n onNewData();\n }\n }\n });\n }\n\n private resubscribeToQuery() {\n this.removeQuerySubscription();\n\n // Unfortunately, if `lastError` is set in the current\n // `observableQuery` when the subscription is re-created,\n // the subscription will immediately receive the error, which will\n // cause it to terminate again. To avoid this, we first clear\n // the last error/result from the `observableQuery` before re-starting\n // the subscription, and restore it afterwards (so the subscription\n // has a chance to stay open).\n const { currentObservable } = this;\n if (currentObservable) {\n const lastError = currentObservable.getLastError();\n const lastResult = currentObservable.getLastResult();\n currentObservable.resetLastResults();\n this.startQuerySubscription();\n Object.assign(currentObservable, {\n lastError,\n lastResult\n });\n }\n }\n\n private getQueryResult = (): QueryResult<TData, TVariables> => {\n let result = this.observableQueryFields() as QueryResult<TData, TVariables>;\n const options = this.getOptions();\n\n // When skipping a query (ie. we're not querying for data but still want\n // to render children), make sure the `data` is cleared out and\n // `loading` is set to `false` (since we aren't loading anything).\n //\n // NOTE: We no longer think this is the correct behavior. Skipping should\n // not automatically set `data` to `undefined`, but instead leave the\n // previous data in place. In other words, skipping should not mandate\n // that previously received data is all of a sudden removed. Unfortunately,\n // changing this is breaking, so we'll have to wait until Apollo Client\n // 4.0 to address this.\n if (options.skip) {\n result = {\n ...result,\n data: undefined,\n error: undefined,\n loading: false,\n networkStatus: NetworkStatus.ready,\n called: true,\n };\n } else if (this.currentObservable) {\n // Fetch the current result (if any) from the store.\n const currentResult = this.currentObservable.getCurrentResult();\n const { data, loading, partial, networkStatus, errors } = currentResult;\n let { error } = currentResult;\n\n // Until a set naming convention for networkError and graphQLErrors is\n // decided upon, we map errors (graphQLErrors) to the error options.\n if (errors && errors.length > 0) {\n error = new ApolloError({ graphQLErrors: errors });\n }\n\n result = {\n ...result,\n data,\n loading,\n networkStatus,\n error,\n called: true\n };\n\n if (loading) {\n // Fall through without modifying result...\n } else if (error) {\n Object.assign(result, {\n data: (this.currentObservable.getLastResult() || ({} as any))\n .data\n });\n } else {\n const { fetchPolicy } = this.currentObservable.options;\n const { partialRefetch } = options;\n if (\n partialRefetch &&\n partial &&\n (!data || Object.keys(data).length === 0) &&\n fetchPolicy !== 'cache-only'\n ) {\n // When a `Query` component is mounted, and a mutation is executed\n // that returns the same ID as the mounted `Query`, but has less\n // fields in its result, Apollo Client's `QueryManager` returns the\n // data as `undefined` since a hit can't be found in the cache.\n // This can lead to application errors when the UI elements rendered by\n // the original `Query` component are expecting certain data values to\n // exist, and they're all of a sudden stripped away. To help avoid\n // this we'll attempt to refetch the `Query` data.\n Object.assign(result, {\n loading: true,\n networkStatus: NetworkStatus.loading\n });\n result.refetch();\n return result;\n }\n }\n }\n\n result.client = this.client;\n // Store options as this.previousOptions.\n this.setOptions(options, true);\n\n const previousResult = this.previous.result;\n\n this.previous.loading =\n previousResult && previousResult.loading || false;\n\n // Ensure the returned result contains previousData as a separate\n // property, to give developers the flexibility of leveraging outdated\n // data while new data is loading from the network. Falling back to\n // previousResult.previousData when previousResult.data is falsy here\n // allows result.previousData to persist across multiple results.\n result.previousData = previousResult &&\n (previousResult.data || previousResult.previousData);\n\n this.previous.result = result;\n\n // Any query errors that exist are now available in `result`, so we'll\n // remove the original errors from the `ObservableQuery` query store to\n // make sure they aren't re-displayed on subsequent (potentially error\n // free) requests/responses.\n this.currentObservable && this.currentObservable.resetQueryStoreErrors();\n\n return result;\n }\n\n private handleErrorOrCompleted() {\n if (!this.currentObservable || !this.previous.result) return;\n\n const { data, loading, error } = this.previous.result;\n\n if (!loading) {\n const {\n query,\n variables,\n onCompleted,\n onError,\n skip\n } = this.getOptions();\n\n // No changes, so we won't call onError/onCompleted.\n if (\n this.previousOptions &&\n !this.previous.loading &&\n equal(this.previousOptions.query, query) &&\n equal(this.previousOptions.variables, variables)\n ) {\n return;\n }\n\n if (onCompleted && !error && !skip) {\n onCompleted(data as TData);\n } else if (onError && error) {\n onError(error);\n }\n }\n }\n\n private removeQuerySubscription() {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n delete this.currentSubscription;\n }\n }\n\n private removeObservable(andDelete: boolean) {\n if (this.currentObservable) {\n this.currentObservable[\"tearDownQuery\"]();\n if (andDelete) {\n delete this.currentObservable;\n }\n }\n }\n\n private obsRefetch = (variables?: Partial<TVariables>) =>\n this.currentObservable?.refetch(variables);\n\n private obsFetchMore = <K extends keyof TVariables>(\n fetchMoreOptions: FetchMoreQueryOptions<TVariables, K, TData> &\n FetchMoreOptions<TData, TVariables>\n ) => this.currentObservable!.fetchMore(fetchMoreOptions);\n\n private obsUpdateQuery = <TVars = TVariables>(\n mapFn: (\n previousQueryResult: TData,\n options: UpdateQueryOptions<TVars>\n ) => TData\n ) => this.currentObservable!.updateQuery(mapFn);\n\n private obsStartPolling = (pollInterval: number) => {\n this.currentObservable?.startPolling(pollInterval);\n };\n\n private obsStopPolling = () => {\n this.currentObservable?.stopPolling();\n };\n\n private obsSubscribeToMore = <\n TSubscriptionData = TData,\n TSubscriptionVariables = TVariables\n >(\n options: SubscribeToMoreOptions<\n TData,\n TSubscriptionVariables,\n TSubscriptionData\n >\n ) => this.currentObservable!.subscribeToMore(options);\n\n private observableQueryFields() {\n return {\n variables: this.currentObservable?.variables,\n refetch: this.obsRefetch,\n fetchMore: this.obsFetchMore,\n updateQuery: this.obsUpdateQuery,\n startPolling: this.obsStartPolling,\n stopPolling: this.obsStopPolling,\n subscribeToMore: this.obsSubscribeToMore\n } as ObservableQueryFields<TData, TVariables>;\n }\n}\n"]}
@@ -33,24 +33,20 @@ function useBaseQuery(query, options, lazy) {
33
33
  var _a = React.useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];
34
34
  var updatedOptions = options ? tslib.__assign(tslib.__assign({}, options), { query: query }) : { query: query };
35
35
  var queryDataRef = React.useRef();
36
- var queryData = queryDataRef.current ||
37
- new data.QueryData({
38
- options: updatedOptions,
39
- context: context$1,
40
- onNewData: function () {
41
- if (!queryData.ssrInitiated()) {
42
- Promise.resolve().then(forceUpdate);
43
- }
44
- else {
45
- forceUpdate();
46
- }
36
+ var queryData = queryDataRef.current || (queryDataRef.current = new data.QueryData({
37
+ options: updatedOptions,
38
+ context: context$1,
39
+ onNewData: function () {
40
+ if (!queryData.ssrInitiated()) {
41
+ Promise.resolve().then(function () { return queryDataRef.current && forceUpdate(); });
42
+ }
43
+ else {
44
+ forceUpdate();
47
45
  }
48
- });
46
+ }
47
+ }));
49
48
  queryData.setOptions(updatedOptions);
50
49
  queryData.context = context$1;
51
- if (queryData.ssrInitiated() && !queryDataRef.current) {
52
- queryDataRef.current = queryData;
53
- }
54
50
  var memo = {
55
51
  options: tslib.__assign(tslib.__assign({}, updatedOptions), { onError: undefined, onCompleted: undefined }),
56
52
  context: context$1,
@@ -61,9 +57,6 @@ function useBaseQuery(query, options, lazy) {
61
57
  ? result[1]
62
58
  : result;
63
59
  React.useEffect(function () {
64
- if (!queryDataRef.current) {
65
- queryDataRef.current = queryData;
66
- }
67
60
  return function () { return queryData.cleanup(); };
68
61
  }, []);
69
62
  React.useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [
@@ -138,6 +131,9 @@ function useReactiveVar(rv) {
138
131
  var value = rv();
139
132
  var _a = React.useState(value), setValue = _a[1];
140
133
  React.useEffect(function () { return rv.onNextChange(setValue); }, [value]);
134
+ React.useEffect(function () {
135
+ setValue(rv());
136
+ }, []);
141
137
  return value;
142
138
  }
143
139
 
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.cjs.js","sources":["useApolloClient.js","utils/useDeepMemo.js","utils/useBaseQuery.js","useLazyQuery.js","useMutation.js","useQuery.js","useSubscription.js","useReactiveVar.js"],"sourcesContent":["import React from 'react';\nimport { invariant } from 'ts-invariant';\nimport { getApolloContext } from '../context';\nexport function useApolloClient() {\n var client = React.useContext(getApolloContext()).client;\n process.env.NODE_ENV === \"production\" ? invariant(client, 33) : invariant(client, 'No Apollo Client instance can be found. Please ensure that you ' +\n 'have called `ApolloProvider` higher up in your tree.');\n return client;\n}\n//# sourceMappingURL=useApolloClient.js.map","import { useRef } from 'react';\nimport { equal } from '@wry/equality';\nexport function useDeepMemo(memoFn, key) {\n var ref = useRef();\n if (!ref.current || !equal(key, ref.current.key)) {\n ref.current = { key: key, value: memoFn() };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useDeepMemo.js.map","import { __assign } from \"tslib\";\nimport { useContext, useEffect, useReducer, useRef } from 'react';\nimport { QueryData } from '../../data';\nimport { useDeepMemo } from './useDeepMemo';\nimport { getApolloContext } from '../../context';\nexport function useBaseQuery(query, options, lazy) {\n if (lazy === void 0) { lazy = false; }\n var context = useContext(getApolloContext());\n var _a = useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { query: query }) : { query: query };\n var queryDataRef = useRef();\n var queryData = queryDataRef.current ||\n new QueryData({\n options: updatedOptions,\n context: context,\n onNewData: function () {\n if (!queryData.ssrInitiated()) {\n Promise.resolve().then(forceUpdate);\n }\n else {\n forceUpdate();\n }\n }\n });\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n if (queryData.ssrInitiated() && !queryDataRef.current) {\n queryDataRef.current = queryData;\n }\n var memo = {\n options: __assign(__assign({}, updatedOptions), { onError: undefined, onCompleted: undefined }),\n context: context,\n tick: tick\n };\n var result = useDeepMemo(function () { return (lazy ? queryData.executeLazy() : queryData.execute()); }, memo);\n var queryResult = lazy\n ? result[1]\n : result;\n useEffect(function () {\n if (!queryDataRef.current) {\n queryDataRef.current = queryData;\n }\n return function () { return queryData.cleanup(); };\n }, []);\n useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [\n queryResult.loading,\n queryResult.networkStatus,\n queryResult.error,\n queryResult.data,\n ]);\n return result;\n}\n//# sourceMappingURL=useBaseQuery.js.map","import { useBaseQuery } from './utils/useBaseQuery';\nexport function useLazyQuery(query, options) {\n return useBaseQuery(query, options, true);\n}\n//# sourceMappingURL=useLazyQuery.js.map","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { MutationData } from '../data';\nimport { getApolloContext } from '../context';\nexport function useMutation(mutation, options) {\n var context = useContext(getApolloContext());\n var _a = useState({ called: false, loading: false }), result = _a[0], setResult = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { mutation: mutation }) : { mutation: mutation };\n var mutationDataRef = useRef();\n function getMutationDataRef() {\n if (!mutationDataRef.current) {\n mutationDataRef.current = new MutationData({\n options: updatedOptions,\n context: context,\n result: result,\n setResult: setResult\n });\n }\n return mutationDataRef.current;\n }\n var mutationData = getMutationDataRef();\n mutationData.setOptions(updatedOptions);\n mutationData.context = context;\n useEffect(function () { return mutationData.afterExecute(); });\n return mutationData.execute(result);\n}\n//# sourceMappingURL=useMutation.js.map","import { useBaseQuery } from './utils/useBaseQuery';\nexport function useQuery(query, options) {\n return useBaseQuery(query, options, false);\n}\n//# sourceMappingURL=useQuery.js.map","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { SubscriptionData } from '../data';\nimport { getApolloContext } from '../context';\nexport function useSubscription(subscription, options) {\n var context = useContext(getApolloContext());\n var updatedOptions = options\n ? __assign(__assign({}, options), { subscription: subscription }) : { subscription: subscription };\n var _a = useState({\n loading: !updatedOptions.skip,\n error: undefined,\n data: undefined\n }), result = _a[0], setResult = _a[1];\n var subscriptionDataRef = useRef();\n function getSubscriptionDataRef() {\n if (!subscriptionDataRef.current) {\n subscriptionDataRef.current = new SubscriptionData({\n options: updatedOptions,\n context: context,\n setResult: setResult\n });\n }\n return subscriptionDataRef.current;\n }\n var subscriptionData = getSubscriptionDataRef();\n subscriptionData.setOptions(updatedOptions, true);\n subscriptionData.context = context;\n useEffect(function () { return subscriptionData.afterExecute(); });\n useEffect(function () { return subscriptionData.cleanup.bind(subscriptionData); }, []);\n return subscriptionData.execute(result);\n}\n//# sourceMappingURL=useSubscription.js.map","import { useState, useEffect } from 'react';\nexport function useReactiveVar(rv) {\n var value = rv();\n var _a = useState(value), setValue = _a[1];\n useEffect(function () { return rv.onNextChange(setValue); }, [value]);\n return value;\n}\n//# sourceMappingURL=useReactiveVar.js.map"],"names":["React","getApolloContext","invariant","useRef","equal","context","useContext","useReducer","__assign","QueryData","useEffect","useState","MutationData","SubscriptionData"],"mappings":";;;;;;;;;;;;;;AAGO,SAAS,eAAe,GAAG;AAClC,IAAI,IAAI,MAAM,GAAGA,cAAK,CAAC,UAAU,CAACC,wBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC;AAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAGC,qBAAS,CAAC,MAAM,EAAE,EAAE,CAAC,GAAGA,qBAAS,CAAC,MAAM,EAAE,iEAAiE;AACvJ,QAAQ,sDAAsD,CAAC,CAAC;AAChE,IAAI,OAAO,MAAM,CAAC;AAClB;;ACNO,SAAS,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE;AACzC,IAAI,IAAI,GAAG,GAAGC,YAAM,EAAE,CAAC;AACvB,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAACC,cAAK,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACtD,QAAQ,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;AAC7B,CAAC;;ACHM,SAAS,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AACnD,IAAI,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE,IAAI,GAAG,KAAK,CAAC,EAAE;AAC1C,IAAI,IAAIC,SAAO,GAAGC,gBAAU,CAACL,wBAAgB,EAAE,CAAC,CAAC;AACjD,IAAI,IAAI,EAAE,GAAGM,gBAAU,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9F,IAAI,IAAI,cAAc,GAAG,OAAO,GAAGC,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACxG,IAAI,IAAI,YAAY,GAAGL,YAAM,EAAE,CAAC;AAChC,IAAI,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO;AACxC,QAAQ,IAAIM,cAAS,CAAC;AACtB,YAAY,OAAO,EAAE,cAAc;AACnC,YAAY,OAAO,EAAEJ,SAAO;AAC5B,YAAY,SAAS,EAAE,YAAY;AACnC,gBAAgB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE;AAC/C,oBAAoB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,WAAW,EAAE,CAAC;AAClC,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,IAAI,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACzC,IAAI,SAAS,CAAC,OAAO,GAAGA,SAAO,CAAC;AAChC,IAAI,IAAI,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AAC3D,QAAQ,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;AACzC,KAAK;AACL,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,EAAEG,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AACvG,QAAQ,OAAO,EAAEH,SAAO;AACxB,QAAQ,IAAI,EAAE,IAAI;AAClB,KAAK,CAAC;AACN,IAAI,IAAI,MAAM,GAAG,WAAW,CAAC,YAAY,EAAE,QAAQ,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACnH,IAAI,IAAI,WAAW,GAAG,IAAI;AAC1B,UAAU,MAAM,CAAC,CAAC,CAAC;AACnB,UAAU,MAAM,CAAC;AACjB,IAAIK,eAAS,CAAC,YAAY;AAC1B,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACnC,YAAY,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;AAC7C,SAAS;AACT,QAAQ,OAAO,YAAY,EAAE,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3D,KAAK,EAAE,EAAE,CAAC,CAAC;AACX,IAAIA,eAAS,CAAC,YAAY,EAAE,OAAO,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE;AAC9E,QAAQ,WAAW,CAAC,OAAO;AAC3B,QAAQ,WAAW,CAAC,aAAa;AACjC,QAAQ,WAAW,CAAC,KAAK;AACzB,QAAQ,WAAW,CAAC,IAAI;AACxB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;;AClDM,SAAS,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE;AAC7C,IAAI,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;;ACCM,SAAS,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE;AAC/C,IAAI,IAAIL,SAAO,GAAGC,gBAAU,CAACL,wBAAgB,EAAE,CAAC,CAAC;AACjD,IAAI,IAAI,EAAE,GAAGU,cAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5F,IAAI,IAAI,cAAc,GAAG,OAAO,GAAGH,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACpH,IAAI,IAAI,eAAe,GAAGL,YAAM,EAAE,CAAC;AACnC,IAAI,SAAS,kBAAkB,GAAG;AAClC,QAAQ,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;AACtC,YAAY,eAAe,CAAC,OAAO,GAAG,IAAIS,iBAAY,CAAC;AACvD,gBAAgB,OAAO,EAAE,cAAc;AACvC,gBAAgB,OAAO,EAAEP,SAAO;AAChC,gBAAgB,MAAM,EAAE,MAAM;AAC9B,gBAAgB,SAAS,EAAE,SAAS;AACpC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,OAAO,eAAe,CAAC,OAAO,CAAC;AACvC,KAAK;AACL,IAAI,IAAI,YAAY,GAAG,kBAAkB,EAAE,CAAC;AAC5C,IAAI,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAC5C,IAAI,YAAY,CAAC,OAAO,GAAGA,SAAO,CAAC;AACnC,IAAIK,eAAS,CAAC,YAAY,EAAE,OAAO,YAAY,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;AACnE,IAAI,OAAO,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;;ACxBM,SAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE;AACzC,IAAI,OAAO,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC;;ACCM,SAAS,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE;AACvD,IAAI,IAAIL,SAAO,GAAGC,gBAAU,CAACL,wBAAgB,EAAE,CAAC,CAAC;AACjD,IAAI,IAAI,cAAc,GAAG,OAAO;AAChC,UAAUO,cAAQ,CAACA,cAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC3G,IAAI,IAAI,EAAE,GAAGG,cAAQ,CAAC;AACtB,QAAQ,OAAO,EAAE,CAAC,cAAc,CAAC,IAAI;AACrC,QAAQ,KAAK,EAAE,SAAS;AACxB,QAAQ,IAAI,EAAE,SAAS;AACvB,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1C,IAAI,IAAI,mBAAmB,GAAGR,YAAM,EAAE,CAAC;AACvC,IAAI,SAAS,sBAAsB,GAAG;AACtC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;AAC1C,YAAY,mBAAmB,CAAC,OAAO,GAAG,IAAIU,qBAAgB,CAAC;AAC/D,gBAAgB,OAAO,EAAE,cAAc;AACvC,gBAAgB,OAAO,EAAER,SAAO;AAChC,gBAAgB,SAAS,EAAE,SAAS;AACpC,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,OAAO,mBAAmB,CAAC,OAAO,CAAC;AAC3C,KAAK;AACL,IAAI,IAAI,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;AACpD,IAAI,gBAAgB,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACtD,IAAI,gBAAgB,CAAC,OAAO,GAAGA,SAAO,CAAC;AACvC,IAAIK,eAAS,CAAC,YAAY,EAAE,OAAO,gBAAgB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,IAAIA,eAAS,CAAC,YAAY,EAAE,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3F,IAAI,OAAO,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;;AC7BM,SAAS,cAAc,CAAC,EAAE,EAAE;AACnC,IAAI,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;AACrB,IAAI,IAAI,EAAE,GAAGC,cAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAID,eAAS,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.cjs.js","sources":["useApolloClient.js","utils/useDeepMemo.js","utils/useBaseQuery.js","useLazyQuery.js","useMutation.js","useQuery.js","useSubscription.js","useReactiveVar.js"],"sourcesContent":["import React from 'react';\nimport { invariant } from 'ts-invariant';\nimport { getApolloContext } from '../context';\nexport function useApolloClient() {\n var client = React.useContext(getApolloContext()).client;\n process.env.NODE_ENV === \"production\" ? invariant(client, 33) : invariant(client, 'No Apollo Client instance can be found. Please ensure that you ' +\n 'have called `ApolloProvider` higher up in your tree.');\n return client;\n}\n//# sourceMappingURL=useApolloClient.js.map","import { useRef } from 'react';\nimport { equal } from '@wry/equality';\nexport function useDeepMemo(memoFn, key) {\n var ref = useRef();\n if (!ref.current || !equal(key, ref.current.key)) {\n ref.current = { key: key, value: memoFn() };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useDeepMemo.js.map","import { __assign } from \"tslib\";\nimport { useContext, useEffect, useReducer, useRef } from 'react';\nimport { QueryData } from '../../data';\nimport { useDeepMemo } from './useDeepMemo';\nimport { getApolloContext } from '../../context';\nexport function useBaseQuery(query, options, lazy) {\n if (lazy === void 0) { lazy = false; }\n var context = useContext(getApolloContext());\n var _a = useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { query: query }) : { query: query };\n var queryDataRef = useRef();\n var queryData = queryDataRef.current || (queryDataRef.current = new QueryData({\n options: updatedOptions,\n context: context,\n onNewData: function () {\n if (!queryData.ssrInitiated()) {\n Promise.resolve().then(function () { return queryDataRef.current && forceUpdate(); });\n }\n else {\n forceUpdate();\n }\n }\n }));\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n var memo = {\n options: __assign(__assign({}, updatedOptions), { onError: undefined, onCompleted: undefined }),\n context: context,\n tick: tick\n };\n var result = useDeepMemo(function () { return (lazy ? queryData.executeLazy() : queryData.execute()); }, memo);\n var queryResult = lazy\n ? result[1]\n : result;\n useEffect(function () {\n return function () { return queryData.cleanup(); };\n }, []);\n useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [\n queryResult.loading,\n queryResult.networkStatus,\n queryResult.error,\n queryResult.data,\n ]);\n return result;\n}\n//# sourceMappingURL=useBaseQuery.js.map","import { useBaseQuery } from './utils/useBaseQuery';\nexport function useLazyQuery(query, options) {\n return useBaseQuery(query, options, true);\n}\n//# sourceMappingURL=useLazyQuery.js.map","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { MutationData } from '../data';\nimport { getApolloContext } from '../context';\nexport function useMutation(mutation, options) {\n var context = useContext(getApolloContext());\n var _a = useState({ called: false, loading: false }), result = _a[0], setResult = _a[1];\n var updatedOptions = options ? __assign(__assign({}, options), { mutation: mutation }) : { mutation: mutation };\n var mutationDataRef = useRef();\n function getMutationDataRef() {\n if (!mutationDataRef.current) {\n mutationDataRef.current = new MutationData({\n options: updatedOptions,\n context: context,\n result: result,\n setResult: setResult\n });\n }\n return mutationDataRef.current;\n }\n var mutationData = getMutationDataRef();\n mutationData.setOptions(updatedOptions);\n mutationData.context = context;\n useEffect(function () { return mutationData.afterExecute(); });\n return mutationData.execute(result);\n}\n//# sourceMappingURL=useMutation.js.map","import { useBaseQuery } from './utils/useBaseQuery';\nexport function useQuery(query, options) {\n return useBaseQuery(query, options, false);\n}\n//# sourceMappingURL=useQuery.js.map","import { __assign } from \"tslib\";\nimport { useContext, useState, useRef, useEffect } from 'react';\nimport { SubscriptionData } from '../data';\nimport { getApolloContext } from '../context';\nexport function useSubscription(subscription, options) {\n var context = useContext(getApolloContext());\n var updatedOptions = options\n ? __assign(__assign({}, options), { subscription: subscription }) : { subscription: subscription };\n var _a = useState({\n loading: !updatedOptions.skip,\n error: undefined,\n data: undefined\n }), result = _a[0], setResult = _a[1];\n var subscriptionDataRef = useRef();\n function getSubscriptionDataRef() {\n if (!subscriptionDataRef.current) {\n subscriptionDataRef.current = new SubscriptionData({\n options: updatedOptions,\n context: context,\n setResult: setResult\n });\n }\n return subscriptionDataRef.current;\n }\n var subscriptionData = getSubscriptionDataRef();\n subscriptionData.setOptions(updatedOptions, true);\n subscriptionData.context = context;\n useEffect(function () { return subscriptionData.afterExecute(); });\n useEffect(function () { return subscriptionData.cleanup.bind(subscriptionData); }, []);\n return subscriptionData.execute(result);\n}\n//# sourceMappingURL=useSubscription.js.map","import { useState, useEffect } from 'react';\nexport function useReactiveVar(rv) {\n var value = rv();\n var _a = useState(value), setValue = _a[1];\n useEffect(function () { return rv.onNextChange(setValue); }, [value]);\n useEffect(function () {\n setValue(rv());\n }, []);\n return value;\n}\n//# sourceMappingURL=useReactiveVar.js.map"],"names":["React","getApolloContext","invariant","useRef","equal","context","useContext","useReducer","__assign","QueryData","useEffect","useState","MutationData","SubscriptionData"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useReactiveVar.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveVar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAkBvD"}
1
+ {"version":3,"file":"useReactiveVar.d.ts","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveVar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CA4BvD"}
@@ -3,6 +3,9 @@ export function useReactiveVar(rv) {
3
3
  var value = rv();
4
4
  var _a = useState(value), setValue = _a[1];
5
5
  useEffect(function () { return rv.onNextChange(setValue); }, [value]);
6
+ useEffect(function () {
7
+ setValue(rv());
8
+ }, []);
6
9
  return value;
7
10
  }
8
11
  //# sourceMappingURL=useReactiveVar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useReactiveVar.js","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveVar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,UAAU,cAAc,CAAI,EAAkB;IAClD,IAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IAGb,IAAA,KAAe,QAAQ,CAAC,KAAK,CAAC,EAA3B,QAAQ,QAAmB,CAAC;IAIrC,SAAS,CAAC,cAAM,OAAA,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAzB,CAAyB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IASpD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { useState, useEffect } from 'react';\nimport { ReactiveVar } from '../../core';\n\nexport function useReactiveVar<T>(rv: ReactiveVar<T>): T {\n const value = rv();\n // We don't actually care what useState thinks the value of the variable\n // is, so we take only the update function from the returned array.\n const [, setValue] = useState(value);\n // We subscribe to variable updates on initial mount and when the value has\n // changed. This avoids a subtle bug in React.StrictMode where multiple listeners\n // are added, leading to inconsistent updates.\n useEffect(() => rv.onNextChange(setValue), [value]);\n // Once the component is unmounted, ignore future updates. Note that the\n // above useEffect function returns a mute function without calling it,\n // allowing it to be called when the component unmounts. This is\n // equivalent to the following, but shorter:\n // useEffect(() => {\n // const mute = rv.onNextChange(setValue);\n // return () => mute();\n // }, [value])\n return value;\n}\n"]}
1
+ {"version":3,"file":"useReactiveVar.js","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveVar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,UAAU,cAAc,CAAI,EAAkB;IAClD,IAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IAGb,IAAA,KAAe,QAAQ,CAAC,KAAK,CAAC,EAA3B,QAAQ,QAAmB,CAAC;IAIrC,SAAS,CAAC,cAAM,OAAA,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAzB,CAAyB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAepD,SAAS,CAAC;QACR,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { useState, useEffect } from 'react';\nimport { ReactiveVar } from '../../core';\n\nexport function useReactiveVar<T>(rv: ReactiveVar<T>): T {\n const value = rv();\n // We don't actually care what useState thinks the value of the variable\n // is, so we take only the update function from the returned array.\n const [, setValue] = useState(value);\n // We subscribe to variable updates on initial mount and when the value has\n // changed. This avoids a subtle bug in React.StrictMode where multiple listeners\n // are added, leading to inconsistent updates.\n useEffect(() => rv.onNextChange(setValue), [value]);\n // Once the component is unmounted, ignore future updates. Note that the\n // above useEffect function returns a mute function without calling it,\n // allowing it to be called when the component unmounts. This is\n // equivalent to the following, but shorter:\n // useEffect(() => {\n // const mute = rv.onNextChange(setValue);\n // return () => mute();\n // }, [value])\n\n // We check the variable's value in this useEffect and schedule an update if\n // the value has changed. This check occurs once, on the initial render, to avoid\n // a useEffect higher in the component tree changing a variable's value\n // before the above useEffect can set the onNextChange handler. Note that React\n // will not schedule an update if setState is called with the same value as before.\n useEffect(() => {\n setValue(rv())\n }, []);\n\n return value;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/utils/useBaseQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEhB,UAAU,EACV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,wBAAgB,YAAY,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,kBAAkB,EACvE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC1D,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC7C,IAAI,UAAQ,kEA6Eb"}
1
+ {"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../../../src/react/hooks/utils/useBaseQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAEhB,UAAU,EACV,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,wBAAgB,YAAY,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,kBAAkB,EACvE,KAAK,EAAE,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC1D,OAAO,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,EAC7C,IAAI,UAAQ,kEAkEb"}
@@ -9,24 +9,20 @@ export function useBaseQuery(query, options, lazy) {
9
9
  var _a = useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];
10
10
  var updatedOptions = options ? __assign(__assign({}, options), { query: query }) : { query: query };
11
11
  var queryDataRef = useRef();
12
- var queryData = queryDataRef.current ||
13
- new QueryData({
14
- options: updatedOptions,
15
- context: context,
16
- onNewData: function () {
17
- if (!queryData.ssrInitiated()) {
18
- Promise.resolve().then(forceUpdate);
19
- }
20
- else {
21
- forceUpdate();
22
- }
12
+ var queryData = queryDataRef.current || (queryDataRef.current = new QueryData({
13
+ options: updatedOptions,
14
+ context: context,
15
+ onNewData: function () {
16
+ if (!queryData.ssrInitiated()) {
17
+ Promise.resolve().then(function () { return queryDataRef.current && forceUpdate(); });
18
+ }
19
+ else {
20
+ forceUpdate();
23
21
  }
24
- });
22
+ }
23
+ }));
25
24
  queryData.setOptions(updatedOptions);
26
25
  queryData.context = context;
27
- if (queryData.ssrInitiated() && !queryDataRef.current) {
28
- queryDataRef.current = queryData;
29
- }
30
26
  var memo = {
31
27
  options: __assign(__assign({}, updatedOptions), { onError: undefined, onCompleted: undefined }),
32
28
  context: context,
@@ -37,9 +33,6 @@ export function useBaseQuery(query, options, lazy) {
37
33
  ? result[1]
38
34
  : result;
39
35
  useEffect(function () {
40
- if (!queryDataRef.current) {
41
- queryDataRef.current = queryData;
42
- }
43
36
  return function () { return queryData.cleanup(); };
44
37
  }, []);
45
38
  useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.js","sourceRoot":"","sources":["../../../../src/react/hooks/utils/useBaseQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAUlE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,YAAY,CAC1B,KAA0D,EAC1D,OAA6C,EAC7C,IAAY;IAAZ,qBAAA,EAAA,YAAY;IAEZ,IAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzC,IAAA,KAAsB,UAAU,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,EAA9C,IAAI,QAAA,EAAE,WAAW,QAA6B,CAAC;IACtD,IAAM,cAAc,GAAG,OAAO,CAAC,CAAC,uBAAM,OAAO,KAAE,KAAK,OAAA,IAAG,CAAC,CAAC,EAAE,KAAK,OAAA,EAAE,CAAC;IAEnE,IAAM,YAAY,GAAG,MAAM,EAAgC,CAAC;IAC5D,IAAM,SAAS,GACb,YAAY,CAAC,OAAO;QACpB,IAAI,SAAS,CAAoB;YAC/B,OAAO,EAAE,cAAqD;YAC9D,OAAO,SAAA;YACP,SAAS;gBACP,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE;oBAK7B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBACrC;qBAAM;oBAGL,WAAW,EAAE,CAAC;iBACf;YACH,CAAC;SACF,CAAC,CAAC;IAEL,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;IAK5B,IAAI,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QACrD,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;KAClC;IAKD,IAAM,IAAI,GAAG;QACX,OAAO,EAAE,sBACJ,cAAc,KACjB,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,SAAS,GACgB;QACxC,OAAO,SAAA;QACP,IAAI,MAAA;KACL,CAAC;IAEF,IAAM,MAAM,GAAG,WAAW,CACxB,cAAM,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAtD,CAAsD,EAC5D,IAAI,CACL,CAAC;IAEF,IAAM,WAAW,GAAG,IAAI;QACtB,CAAC,CAAE,MAAwC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAE,MAAyC,CAAC;IAE/C,SAAS,CAAC;QAGR,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACzB,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;SAClC;QAED,OAAO,cAAM,OAAA,SAAS,CAAC,OAAO,EAAE,EAAnB,CAAmB,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,cAAM,OAAA,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,EAAhC,CAAgC,EAAE;QAChD,WAAW,CAAC,OAAO;QACnB,WAAW,CAAC,aAAa;QACzB,WAAW,CAAC,KAAK;QACjB,WAAW,CAAC,IAAI;KACjB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { useContext, useEffect, useReducer, useRef } from 'react';\nimport { DocumentNode } from 'graphql';\nimport { TypedDocumentNode } from '@graphql-typed-document-node/core';\n\nimport {\n QueryHookOptions,\n QueryDataOptions,\n QueryTuple,\n QueryResult,\n} from '../../types/types';\nimport { QueryData } from '../../data';\nimport { useDeepMemo } from './useDeepMemo';\nimport { OperationVariables } from '../../../core';\nimport { getApolloContext } from '../../context';\n\nexport function useBaseQuery<TData = any, TVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: QueryHookOptions<TData, TVariables>,\n lazy = false\n) {\n const context = useContext(getApolloContext());\n const [tick, forceUpdate] = useReducer(x => x + 1, 0);\n const updatedOptions = options ? { ...options, query } : { query };\n\n const queryDataRef = useRef<QueryData<TData, TVariables>>();\n const queryData =\n queryDataRef.current ||\n new QueryData<TData, TVariables>({\n options: updatedOptions as QueryDataOptions<TData, TVariables>,\n context,\n onNewData() {\n if (!queryData.ssrInitiated()) {\n // When new data is received from the `QueryData` object, we want to\n // force a re-render to make sure the new data is displayed. We can't\n // force that re-render if we're already rendering however so to be\n // safe we'll trigger the re-render in a microtask.\n Promise.resolve().then(forceUpdate);\n } else {\n // If we're rendering on the server side we can force an update at\n // any point.\n forceUpdate();\n }\n }\n });\n\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n\n // SSR won't trigger the effect hook below that stores the current\n // `QueryData` instance for future renders, so we'll handle that here if\n // the current render is happening on the server side.\n if (queryData.ssrInitiated() && !queryDataRef.current) {\n queryDataRef.current = queryData;\n }\n\n // `onError` and `onCompleted` callback functions will not always have a\n // stable identity, so we'll exclude them from the memoization key to\n // prevent `afterExecute` from being triggered un-necessarily.\n const memo = {\n options: {\n ...updatedOptions,\n onError: undefined,\n onCompleted: undefined\n } as QueryHookOptions<TData, TVariables>,\n context,\n tick\n };\n\n const result = useDeepMemo(\n () => (lazy ? queryData.executeLazy() : queryData.execute()),\n memo\n );\n\n const queryResult = lazy\n ? (result as QueryTuple<TData, TVariables>)[1]\n : (result as QueryResult<TData, TVariables>);\n\n useEffect(() => {\n // We only need one instance of the `QueryData` class, so we'll store it\n // as a ref to make it available on subsequent renders.\n if (!queryDataRef.current) {\n queryDataRef.current = queryData;\n }\n\n return () => queryData.cleanup();\n }, []);\n\n useEffect(() => queryData.afterExecute({ lazy }), [\n queryResult.loading,\n queryResult.networkStatus,\n queryResult.error,\n queryResult.data,\n ]);\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"useBaseQuery.js","sourceRoot":"","sources":["../../../../src/react/hooks/utils/useBaseQuery.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAUlE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,UAAU,YAAY,CAC1B,KAA0D,EAC1D,OAA6C,EAC7C,IAAY;IAAZ,qBAAA,EAAA,YAAY;IAEZ,IAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACzC,IAAA,KAAsB,UAAU,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,EAA9C,IAAI,QAAA,EAAE,WAAW,QAA6B,CAAC;IACtD,IAAM,cAAc,GAAG,OAAO,CAAC,CAAC,uBAAM,OAAO,KAAE,KAAK,OAAA,IAAG,CAAC,CAAC,EAAE,KAAK,OAAA,EAAE,CAAC;IAEnE,IAAM,YAAY,GAAG,MAAM,EAAgC,CAAC;IAC5D,IAAM,SAAS,GAAG,YAAY,CAAC,OAAO,IAAI,CACxC,YAAY,CAAC,OAAO,GAAG,IAAI,SAAS,CAAoB;QACtD,OAAO,EAAE,cAAqD;QAC9D,OAAO,SAAA;QACP,SAAS;YACP,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE;gBAO7B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,YAAY,CAAC,OAAO,IAAI,WAAW,EAAE,EAArC,CAAqC,CAAC,CAAC;aACrE;iBAAM;gBAGL,WAAW,EAAE,CAAC;aACf;QACH,CAAC;KACF,CAAC,CACH,CAAC;IAEF,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;IAK5B,IAAM,IAAI,GAAG;QACX,OAAO,EAAE,sBACJ,cAAc,KACjB,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,SAAS,GACgB;QACxC,OAAO,SAAA;QACP,IAAI,MAAA;KACL,CAAC;IAEF,IAAM,MAAM,GAAG,WAAW,CACxB,cAAM,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAtD,CAAsD,EAC5D,IAAI,CACL,CAAC;IAEF,IAAM,WAAW,GAAG,IAAI;QACtB,CAAC,CAAE,MAAwC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAE,MAAyC,CAAC;IAE/C,SAAS,CAAC;QACR,OAAO,cAAM,OAAA,SAAS,CAAC,OAAO,EAAE,EAAnB,CAAmB,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,cAAM,OAAA,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,EAAhC,CAAgC,EAAE;QAChD,WAAW,CAAC,OAAO;QACnB,WAAW,CAAC,aAAa;QACzB,WAAW,CAAC,KAAK;QACjB,WAAW,CAAC,IAAI;KACjB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { useContext, useEffect, useReducer, useRef } from 'react';\nimport { DocumentNode } from 'graphql';\nimport { TypedDocumentNode } from '@graphql-typed-document-node/core';\n\nimport {\n QueryHookOptions,\n QueryDataOptions,\n QueryTuple,\n QueryResult,\n} from '../../types/types';\nimport { QueryData } from '../../data';\nimport { useDeepMemo } from './useDeepMemo';\nimport { OperationVariables } from '../../../core';\nimport { getApolloContext } from '../../context';\n\nexport function useBaseQuery<TData = any, TVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: QueryHookOptions<TData, TVariables>,\n lazy = false\n) {\n const context = useContext(getApolloContext());\n const [tick, forceUpdate] = useReducer(x => x + 1, 0);\n const updatedOptions = options ? { ...options, query } : { query };\n\n const queryDataRef = useRef<QueryData<TData, TVariables>>();\n const queryData = queryDataRef.current || (\n queryDataRef.current = new QueryData<TData, TVariables>({\n options: updatedOptions as QueryDataOptions<TData, TVariables>,\n context,\n onNewData() {\n if (!queryData.ssrInitiated()) {\n // When new data is received from the `QueryData` object, we want to\n // force a re-render to make sure the new data is displayed. We can't\n // force that re-render if we're already rendering however so to be\n // safe we'll trigger the re-render in a microtask. In case the\n // component gets unmounted before this callback fires, we re-check\n // queryDataRef.current before calling forceUpdate().\n Promise.resolve().then(() => queryDataRef.current && forceUpdate());\n } else {\n // If we're rendering on the server side we can force an update at\n // any point.\n forceUpdate();\n }\n }\n })\n );\n\n queryData.setOptions(updatedOptions);\n queryData.context = context;\n\n // `onError` and `onCompleted` callback functions will not always have a\n // stable identity, so we'll exclude them from the memoization key to\n // prevent `afterExecute` from being triggered un-necessarily.\n const memo = {\n options: {\n ...updatedOptions,\n onError: undefined,\n onCompleted: undefined\n } as QueryHookOptions<TData, TVariables>,\n context,\n tick\n };\n\n const result = useDeepMemo(\n () => (lazy ? queryData.executeLazy() : queryData.execute()),\n memo\n );\n\n const queryResult = lazy\n ? (result as QueryTuple<TData, TVariables>)[1]\n : (result as QueryResult<TData, TVariables>);\n\n useEffect(() => {\n return () => queryData.cleanup();\n }, []);\n\n useEffect(() => queryData.afterExecute({ lazy }), [\n queryResult.loading,\n queryResult.networkStatus,\n queryResult.error,\n queryResult.data,\n ]);\n\n return result;\n}\n"]}