@apollo/client 3.7.4 → 3.7.6

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 (227) hide show
  1. package/apollo-client.cjs +120 -61
  2. package/apollo-client.cjs.map +1 -1
  3. package/apollo-client.min.cjs +1 -1
  4. package/cache/core/cache.d.ts +1 -1
  5. package/cache/core/cache.d.ts.map +1 -1
  6. package/cache/core/cache.js.map +1 -1
  7. package/cache/core/types/common.d.ts +7 -7
  8. package/cache/core/types/common.d.ts.map +1 -1
  9. package/cache/inmemory/entityStore.d.ts +1 -1
  10. package/cache/inmemory/entityStore.d.ts.map +1 -1
  11. package/cache/inmemory/helpers.js.map +1 -1
  12. package/cache/inmemory/inMemoryCache.d.ts +3 -2
  13. package/cache/inmemory/inMemoryCache.d.ts.map +1 -1
  14. package/cache/inmemory/inMemoryCache.js.map +1 -1
  15. package/cache/inmemory/policies.d.ts +12 -12
  16. package/cache/inmemory/policies.d.ts.map +1 -1
  17. package/cache/inmemory/policies.js.map +1 -1
  18. package/cache/inmemory/reactiveVars.d.ts +1 -1
  19. package/cache/inmemory/reactiveVars.d.ts.map +1 -1
  20. package/cache/inmemory/readFromStore.d.ts +2 -2
  21. package/cache/inmemory/readFromStore.d.ts.map +1 -1
  22. package/cache/inmemory/types.d.ts +4 -4
  23. package/cache/inmemory/types.d.ts.map +1 -1
  24. package/cache/inmemory/writeToStore.d.ts +1 -1
  25. package/cache/inmemory/writeToStore.d.ts.map +1 -1
  26. package/cache/inmemory/writeToStore.js.map +1 -1
  27. package/core/ApolloClient.d.ts +5 -5
  28. package/core/ApolloClient.d.ts.map +1 -1
  29. package/core/ApolloClient.js.map +1 -1
  30. package/core/LocalState.d.ts +9 -6
  31. package/core/LocalState.d.ts.map +1 -1
  32. package/core/LocalState.js +61 -14
  33. package/core/LocalState.js.map +1 -1
  34. package/core/ObservableQuery.d.ts +5 -5
  35. package/core/ObservableQuery.d.ts.map +1 -1
  36. package/core/ObservableQuery.js +1 -1
  37. package/core/ObservableQuery.js.map +1 -1
  38. package/core/QueryInfo.d.ts +1 -1
  39. package/core/QueryInfo.d.ts.map +1 -1
  40. package/core/QueryManager.d.ts +7 -7
  41. package/core/QueryManager.d.ts.map +1 -1
  42. package/core/QueryManager.js +17 -9
  43. package/core/QueryManager.js.map +1 -1
  44. package/core/core.cjs +79 -24
  45. package/core/core.cjs.map +1 -1
  46. package/core/core.cjs.native.js +79 -24
  47. package/core/types.d.ts +18 -17
  48. package/core/types.d.ts.map +1 -1
  49. package/core/types.js +1 -0
  50. package/core/types.js.map +1 -1
  51. package/core/watchQueryOptions.d.ts +11 -11
  52. package/core/watchQueryOptions.d.ts.map +1 -1
  53. package/core/watchQueryOptions.js.map +1 -1
  54. package/errors/index.d.ts +2 -2
  55. package/errors/index.d.ts.map +1 -1
  56. package/invariantErrorCodes.js +48 -43
  57. package/link/batch/batch.cjs +5 -3
  58. package/link/batch/batch.cjs.map +1 -1
  59. package/link/batch/batch.cjs.native.js +5 -3
  60. package/link/batch/batching.d.ts +2 -2
  61. package/link/batch/batching.d.ts.map +1 -1
  62. package/link/batch/batching.js +5 -3
  63. package/link/batch/batching.js.map +1 -1
  64. package/link/context/index.d.ts +2 -1
  65. package/link/context/index.d.ts.map +1 -1
  66. package/link/context/index.js.map +1 -1
  67. package/link/core/ApolloLink.js +1 -1
  68. package/link/core/core.cjs +1 -1
  69. package/link/core/core.cjs.map +1 -1
  70. package/link/core/core.cjs.native.js +1 -1
  71. package/link/core/types.d.ts +11 -10
  72. package/link/core/types.d.ts.map +1 -1
  73. package/link/core/types.js.map +1 -1
  74. package/link/http/checkFetcher.js +1 -1
  75. package/link/http/createHttpLink.d.ts.map +1 -1
  76. package/link/http/createHttpLink.js +1 -0
  77. package/link/http/createHttpLink.js.map +1 -1
  78. package/link/http/http.cjs +6 -3
  79. package/link/http/http.cjs.map +1 -1
  80. package/link/http/http.cjs.native.js +6 -3
  81. package/link/http/iterators/async.js.map +1 -1
  82. package/link/http/iterators/nodeStream.js.map +1 -1
  83. package/link/http/iterators/promise.js.map +1 -1
  84. package/link/http/iterators/reader.js.map +1 -1
  85. package/link/http/parseAndCheckHttpResponse.d.ts +2 -2
  86. package/link/http/parseAndCheckHttpResponse.d.ts.map +1 -1
  87. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  88. package/link/http/selectHttpOptionsAndBody.d.ts +2 -2
  89. package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -1
  90. package/link/http/selectHttpOptionsAndBody.js +3 -1
  91. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  92. package/link/http/serializeFetchParameter.d.ts +1 -1
  93. package/link/http/serializeFetchParameter.d.ts.map +1 -1
  94. package/link/http/serializeFetchParameter.js +1 -1
  95. package/link/persisted-queries/index.d.ts +2 -2
  96. package/link/persisted-queries/index.d.ts.map +1 -1
  97. package/link/persisted-queries/index.js +2 -2
  98. package/link/persisted-queries/persisted-queries.cjs +2 -2
  99. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  100. package/link/persisted-queries/persisted-queries.cjs.native.js +2 -2
  101. package/link/utils/throwServerError.d.ts +1 -1
  102. package/link/utils/throwServerError.d.ts.map +1 -1
  103. package/link/utils/utils.cjs +1 -1
  104. package/link/utils/utils.cjs.map +1 -1
  105. package/link/utils/utils.cjs.native.js +1 -1
  106. package/link/utils/validateOperation.js +1 -1
  107. package/package.json +15 -15
  108. package/react/components/Query.d.ts +2 -2
  109. package/react/components/Query.d.ts.map +1 -1
  110. package/react/components/Query.js.map +1 -1
  111. package/react/components/Subscription.d.ts +2 -2
  112. package/react/components/Subscription.d.ts.map +1 -1
  113. package/react/components/Subscription.js.map +1 -1
  114. package/react/components/types.d.ts +2 -2
  115. package/react/components/types.d.ts.map +1 -1
  116. package/react/components/types.js.map +1 -1
  117. package/react/context/ApolloConsumer.js +1 -1
  118. package/react/context/ApolloProvider.js +1 -1
  119. package/react/context/context.cjs +2 -2
  120. package/react/context/context.cjs.map +1 -1
  121. package/react/context/context.cjs.native.js +2 -2
  122. package/react/hoc/graphql.d.ts +2 -1
  123. package/react/hoc/graphql.d.ts.map +1 -1
  124. package/react/hoc/graphql.js.map +1 -1
  125. package/react/hoc/hoc-utils.d.ts +1 -1
  126. package/react/hoc/hoc-utils.d.ts.map +1 -1
  127. package/react/hoc/hoc-utils.js +1 -1
  128. package/react/hoc/hoc.cjs +2 -2
  129. package/react/hoc/hoc.cjs.map +1 -1
  130. package/react/hoc/hoc.cjs.native.js +2 -2
  131. package/react/hoc/mutation-hoc.d.ts +2 -2
  132. package/react/hoc/mutation-hoc.d.ts.map +1 -1
  133. package/react/hoc/mutation-hoc.js.map +1 -1
  134. package/react/hoc/query-hoc.d.ts +1 -1
  135. package/react/hoc/query-hoc.d.ts.map +1 -1
  136. package/react/hoc/query-hoc.js.map +1 -1
  137. package/react/hoc/subscription-hoc.d.ts +1 -1
  138. package/react/hoc/subscription-hoc.d.ts.map +1 -1
  139. package/react/hoc/subscription-hoc.js.map +1 -1
  140. package/react/hoc/types.d.ts +6 -6
  141. package/react/hoc/types.d.ts.map +1 -1
  142. package/react/hoc/types.js.map +1 -1
  143. package/react/hoc/withApollo.js +1 -1
  144. package/react/hooks/hooks.cjs +10 -9
  145. package/react/hooks/hooks.cjs.map +1 -1
  146. package/react/hooks/hooks.cjs.native.js +10 -9
  147. package/react/hooks/useApolloClient.js +1 -1
  148. package/react/hooks/useFragment.d.ts +2 -1
  149. package/react/hooks/useFragment.d.ts.map +1 -1
  150. package/react/hooks/useFragment.js +9 -8
  151. package/react/hooks/useFragment.js.map +1 -1
  152. package/react/hooks/useLazyQuery.d.ts +1 -1
  153. package/react/hooks/useLazyQuery.d.ts.map +1 -1
  154. package/react/hooks/useLazyQuery.js.map +1 -1
  155. package/react/hooks/useQuery.d.ts +3 -3
  156. package/react/hooks/useQuery.d.ts.map +1 -1
  157. package/react/hooks/useQuery.js.map +1 -1
  158. package/react/hooks/useSubscription.d.ts +1 -1
  159. package/react/hooks/useSubscription.d.ts.map +1 -1
  160. package/react/hooks/useSubscription.js.map +1 -1
  161. package/react/hooks/useSyncExternalStore.d.ts +1 -1
  162. package/react/hooks/useSyncExternalStore.d.ts.map +1 -1
  163. package/react/parser/index.js +5 -5
  164. package/react/parser/parser.cjs +5 -5
  165. package/react/parser/parser.cjs.map +1 -1
  166. package/react/parser/parser.cjs.native.js +5 -5
  167. package/react/ssr/RenderPromises.d.ts +4 -4
  168. package/react/ssr/RenderPromises.d.ts.map +1 -1
  169. package/react/ssr/RenderPromises.js.map +1 -1
  170. package/react/ssr/getDataFromTree.d.ts +1 -1
  171. package/react/ssr/getDataFromTree.d.ts.map +1 -1
  172. package/react/types/types.d.ts +17 -17
  173. package/react/types/types.d.ts.map +1 -1
  174. package/react/types/types.js.map +1 -1
  175. package/testing/core/core.cjs +1 -1
  176. package/testing/core/core.cjs.map +1 -1
  177. package/testing/core/core.cjs.native.js +1 -1
  178. package/testing/core/mocking/mockFetch.js.map +1 -1
  179. package/testing/core/mocking/mockLink.d.ts +1 -1
  180. package/testing/core/mocking/mockLink.d.ts.map +1 -1
  181. package/testing/core/mocking/mockLink.js +1 -1
  182. package/testing/core/observableToPromise.d.ts +2 -2
  183. package/testing/core/observableToPromise.d.ts.map +1 -1
  184. package/testing/core/observableToPromise.js.map +1 -1
  185. package/utilities/common/cloneDeep.js.map +1 -1
  186. package/utilities/common/errorHandling.d.ts +2 -2
  187. package/utilities/common/errorHandling.d.ts.map +1 -1
  188. package/utilities/common/errorHandling.js.map +1 -1
  189. package/utilities/common/incrementalResult.d.ts +4 -4
  190. package/utilities/common/incrementalResult.d.ts.map +1 -1
  191. package/utilities/common/incrementalResult.js.map +1 -1
  192. package/utilities/common/mergeDeep.d.ts +2 -2
  193. package/utilities/common/mergeDeep.d.ts.map +1 -1
  194. package/utilities/common/mergeOptions.d.ts +2 -2
  195. package/utilities/common/mergeOptions.d.ts.map +1 -1
  196. package/utilities/common/mergeOptions.js.map +1 -1
  197. package/utilities/globals/globals.cjs +1 -1
  198. package/utilities/globals/globals.cjs.map +1 -1
  199. package/utilities/globals/globals.cjs.native.js +1 -1
  200. package/utilities/globals/index.js +1 -1
  201. package/utilities/graphql/directives.d.ts +2 -2
  202. package/utilities/graphql/directives.d.ts.map +1 -1
  203. package/utilities/graphql/directives.js +4 -4
  204. package/utilities/graphql/directives.js.map +1 -1
  205. package/utilities/graphql/fragments.d.ts +1 -1
  206. package/utilities/graphql/fragments.d.ts.map +1 -1
  207. package/utilities/graphql/fragments.js +3 -3
  208. package/utilities/graphql/getFromAST.js +8 -8
  209. package/utilities/graphql/storeUtils.d.ts +3 -3
  210. package/utilities/graphql/storeUtils.d.ts.map +1 -1
  211. package/utilities/graphql/storeUtils.js +1 -1
  212. package/utilities/graphql/storeUtils.js.map +1 -1
  213. package/utilities/graphql/transform.d.ts +9 -9
  214. package/utilities/graphql/transform.d.ts.map +1 -1
  215. package/utilities/graphql/transform.js.map +1 -1
  216. package/utilities/observables/Concast.d.ts +5 -5
  217. package/utilities/observables/Concast.d.ts.map +1 -1
  218. package/utilities/observables/asyncMap.js.map +1 -1
  219. package/utilities/policies/pagination.d.ts +7 -7
  220. package/utilities/policies/pagination.d.ts.map +1 -1
  221. package/utilities/policies/pagination.js.map +1 -1
  222. package/utilities/types/IsStrictlyAny.d.ts +3 -3
  223. package/utilities/types/IsStrictlyAny.d.ts.map +1 -1
  224. package/utilities/utilities.cjs +16 -16
  225. package/utilities/utilities.cjs.map +1 -1
  226. package/utilities/utilities.cjs.native.js +16 -16
  227. package/version.js +1 -1
@@ -1,28 +1,28 @@
1
1
  import { FieldPolicy, Reference } from '../../cache';
2
- declare type KeyArgs = FieldPolicy<any>["keyArgs"];
2
+ type KeyArgs = FieldPolicy<any>["keyArgs"];
3
3
  export declare function concatPagination<T = Reference>(keyArgs?: KeyArgs): FieldPolicy<T[]>;
4
4
  export declare function offsetLimitPagination<T = Reference>(keyArgs?: KeyArgs): FieldPolicy<T[]>;
5
- export declare type TRelayEdge<TNode> = {
5
+ export type TRelayEdge<TNode> = {
6
6
  cursor?: string;
7
7
  node: TNode;
8
8
  } | (Reference & {
9
9
  cursor?: string;
10
10
  });
11
- export declare type TRelayPageInfo = {
11
+ export type TRelayPageInfo = {
12
12
  hasPreviousPage: boolean;
13
13
  hasNextPage: boolean;
14
14
  startCursor: string;
15
15
  endCursor: string;
16
16
  };
17
- export declare type TExistingRelay<TNode> = Readonly<{
17
+ export type TExistingRelay<TNode> = Readonly<{
18
18
  edges: TRelayEdge<TNode>[];
19
19
  pageInfo: TRelayPageInfo;
20
20
  }>;
21
- export declare type TIncomingRelay<TNode> = {
21
+ export type TIncomingRelay<TNode> = {
22
22
  edges?: TRelayEdge<TNode>[];
23
23
  pageInfo?: TRelayPageInfo;
24
24
  };
25
- export declare type RelayFieldPolicy<TNode> = FieldPolicy<TExistingRelay<TNode> | null, TIncomingRelay<TNode> | null, TIncomingRelay<TNode> | null>;
26
- export declare function relayStylePagination<TNode = Reference>(keyArgs?: KeyArgs): RelayFieldPolicy<TNode>;
25
+ export type RelayFieldPolicy<TNode> = FieldPolicy<TExistingRelay<TNode> | null, TIncomingRelay<TNode> | null, TIncomingRelay<TNode> | null>;
26
+ export declare function relayStylePagination<TNode extends Reference = Reference>(keyArgs?: KeyArgs): RelayFieldPolicy<TNode>;
27
27
  export {};
28
28
  //# sourceMappingURL=pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrD,aAAK,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAI3C,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,SAAS,EAC5C,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAUlB;AAMD,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,SAAS,EACjD,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAyBlB;AASD,oBAAY,UAAU,CAAC,KAAK,IAAI;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;CACb,GAAG,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEtC,oBAAY,cAAc,GAAG;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,cAAc,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC3C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC,CAAC;AAEH,oBAAY,cAAc,CAAC,KAAK,IAAI;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,oBAAY,gBAAgB,CAAC,KAAK,IAAI,WAAW,CAC/C,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAC7B,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,SAAS,EACpD,OAAO,GAAE,OAAe,GACvB,gBAAgB,CAAC,KAAK,CAAC,CA2KzB"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrD,KAAK,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAI3C,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,SAAS,EAC5C,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAUlB;AAMD,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,SAAS,EACjD,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAyBlB;AASD,MAAM,MAAM,UAAU,CAAC,KAAK,IAAI;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;CACb,GAAG,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEtC,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC3C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,CAAC,KAAK,IAAI;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,KAAK,IAAI,WAAW,CAC/C,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAC7B,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS,EACtE,OAAO,GAAE,OAAe,GACvB,gBAAgB,CAAC,KAAK,CAAC,CA2KzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { __rest } from \"tslib\";\n\nimport { FieldPolicy, Reference } from '../../cache';\nimport { mergeDeep } from '../common/mergeDeep';\n\ntype KeyArgs = FieldPolicy<any>[\"keyArgs\"];\n\n// A very basic pagination field policy that always concatenates new\n// results onto the existing array, without examining options.args.\nexport function concatPagination<T = Reference>(\n keyArgs: KeyArgs = false,\n): FieldPolicy<T[]> {\n return {\n keyArgs,\n merge(existing, incoming) {\n return existing ? [\n ...existing,\n ...incoming,\n ] : incoming;\n },\n };\n}\n\n// A basic field policy that uses options.args.{offset,limit} to splice\n// the incoming data into the existing array. If your arguments are called\n// something different (like args.{start,count}), feel free to copy/paste\n// this implementation and make the appropriate changes.\nexport function offsetLimitPagination<T = Reference>(\n keyArgs: KeyArgs = false,\n): FieldPolicy<T[]> {\n return {\n keyArgs,\n merge(existing, incoming, { args }) {\n const merged = existing ? existing.slice(0) : [];\n\n if (incoming) {\n if (args) {\n // Assume an offset of 0 if args.offset omitted.\n const { offset = 0 } = args;\n for (let i = 0; i < incoming.length; ++i) {\n merged[offset + i] = incoming[i];\n }\n } else {\n // It's unusual (probably a mistake) for a paginated field not\n // to receive any arguments, so you might prefer to throw an\n // exception here, instead of recovering by appending incoming\n // onto the existing array.\n merged.push.apply(merged, incoming);\n }\n }\n\n return merged;\n },\n };\n}\n\n// Whether TRelayEdge<TNode> is a normalized Reference or a non-normalized\n// object, it needs a .cursor property where the relayStylePagination\n// merge function can store cursor strings taken from pageInfo. Storing an\n// extra reference.cursor property should be safe, and is easier than\n// attempting to update the cursor field of the normalized StoreObject\n// that the reference refers to, or managing edge wrapper objects\n// (something I attempted in #7023, but abandoned because of #7088).\nexport type TRelayEdge<TNode> = {\n cursor?: string;\n node: TNode;\n} | (Reference & { cursor?: string });\n\nexport type TRelayPageInfo = {\n hasPreviousPage: boolean;\n hasNextPage: boolean;\n startCursor: string;\n endCursor: string;\n};\n\nexport type TExistingRelay<TNode> = Readonly<{\n edges: TRelayEdge<TNode>[];\n pageInfo: TRelayPageInfo;\n}>;\n\nexport type TIncomingRelay<TNode> = {\n edges?: TRelayEdge<TNode>[];\n pageInfo?: TRelayPageInfo;\n};\n\nexport type RelayFieldPolicy<TNode> = FieldPolicy<\n TExistingRelay<TNode> | null,\n TIncomingRelay<TNode> | null,\n TIncomingRelay<TNode> | null\n>;\n\n// As proof of the flexibility of field policies, this function generates\n// one that handles Relay-style pagination, without Apollo Client knowing\n// anything about connections, edges, cursors, or pageInfo objects.\nexport function relayStylePagination<TNode = Reference>(\n keyArgs: KeyArgs = false,\n): RelayFieldPolicy<TNode> {\n return {\n keyArgs,\n\n read(existing, { canRead, readField }) {\n if (!existing) return existing;\n\n const edges: TRelayEdge<TNode>[] = [];\n let firstEdgeCursor = \"\";\n let lastEdgeCursor = \"\";\n existing.edges.forEach(edge => {\n // Edges themselves could be Reference objects, so it's important\n // to use readField to access the edge.edge.node property.\n if (canRead(readField(\"node\", edge))) {\n edges.push(edge);\n if (edge.cursor) {\n firstEdgeCursor = firstEdgeCursor || edge.cursor || \"\";\n lastEdgeCursor = edge.cursor || lastEdgeCursor;\n }\n }\n });\n\n const {\n startCursor,\n endCursor,\n } = existing.pageInfo || {};\n\n return {\n // Some implementations return additional Connection fields, such\n // as existing.totalCount. These fields are saved by the merge\n // function, so the read function should also preserve them.\n ...getExtras(existing),\n edges,\n pageInfo: {\n ...existing.pageInfo,\n // If existing.pageInfo.{start,end}Cursor are undefined or \"\", default\n // to firstEdgeCursor and/or lastEdgeCursor.\n startCursor: startCursor || firstEdgeCursor,\n endCursor: endCursor || lastEdgeCursor,\n },\n };\n },\n\n merge(existing, incoming, { args, isReference, readField }) {\n if (!existing) {\n existing = makeEmptyData();\n }\n\n if (!incoming) {\n return existing;\n }\n\n const incomingEdges = incoming.edges ? incoming.edges.map(edge => {\n if (isReference(edge = { ...edge })) {\n // In case edge is a Reference, we read out its cursor field and\n // store it as an extra property of the Reference object.\n edge.cursor = readField<string>(\"cursor\", edge);\n }\n return edge;\n }) : [];\n\n if (incoming.pageInfo) {\n const { pageInfo } = incoming;\n const { startCursor, endCursor } = pageInfo;\n const firstEdge = incomingEdges[0];\n const lastEdge = incomingEdges[incomingEdges.length - 1];\n // In case we did not request the cursor field for edges in this\n // query, we can still infer cursors from pageInfo.\n if (firstEdge && startCursor) {\n firstEdge.cursor = startCursor;\n }\n if (lastEdge && endCursor) {\n lastEdge.cursor = endCursor;\n }\n // Cursors can also come from edges, so we default\n // pageInfo.{start,end}Cursor to {first,last}Edge.cursor.\n const firstCursor = firstEdge && firstEdge.cursor;\n if (firstCursor && !startCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n startCursor: firstCursor,\n },\n });\n }\n const lastCursor = lastEdge && lastEdge.cursor;\n if (lastCursor && !endCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n endCursor: lastCursor,\n },\n });\n }\n }\n\n let prefix = existing.edges;\n let suffix: typeof prefix = [];\n\n if (args && args.after) {\n // This comparison does not need to use readField(\"cursor\", edge),\n // because we stored the cursor field of any Reference edges as an\n // extra property of the Reference object.\n const index = prefix.findIndex(edge => edge.cursor === args.after);\n if (index >= 0) {\n prefix = prefix.slice(0, index + 1);\n // suffix = []; // already true\n }\n } else if (args && args.before) {\n const index = prefix.findIndex(edge => edge.cursor === args.before);\n suffix = index < 0 ? prefix : prefix.slice(index);\n prefix = [];\n } else if (incoming.edges) {\n // If we have neither args.after nor args.before, the incoming\n // edges cannot be spliced into the existing edges, so they must\n // replace the existing edges. See #6592 for a motivating example.\n prefix = [];\n }\n\n const edges = [\n ...prefix,\n ...incomingEdges,\n ...suffix,\n ];\n\n const pageInfo: TRelayPageInfo = {\n // The ordering of these two ...spreads may be surprising, but it\n // makes sense because we want to combine PageInfo properties with a\n // preference for existing values, *unless* the existing values are\n // overridden by the logic below, which is permitted only when the\n // incoming page falls at the beginning or end of the data.\n ...incoming.pageInfo,\n ...existing.pageInfo,\n };\n\n if (incoming.pageInfo) {\n const {\n hasPreviousPage, hasNextPage,\n startCursor, endCursor,\n ...extras\n } = incoming.pageInfo;\n\n // If incoming.pageInfo had any extra non-standard properties,\n // assume they should take precedence over any existing properties\n // of the same name, regardless of where this page falls with\n // respect to the existing data.\n Object.assign(pageInfo, extras);\n\n // Keep existing.pageInfo.has{Previous,Next}Page unless the\n // placement of the incoming edges means incoming.hasPreviousPage\n // or incoming.hasNextPage should become the new values for those\n // properties in existing.pageInfo. Note that these updates are\n // only permitted when the beginning or end of the incoming page\n // coincides with the beginning or end of the existing data, as\n // determined using prefix.length and suffix.length.\n if (!prefix.length) {\n if (void 0 !== hasPreviousPage) pageInfo.hasPreviousPage = hasPreviousPage;\n if (void 0 !== startCursor) pageInfo.startCursor = startCursor;\n }\n if (!suffix.length) {\n if (void 0 !== hasNextPage) pageInfo.hasNextPage = hasNextPage;\n if (void 0 !== endCursor) pageInfo.endCursor = endCursor;\n }\n }\n\n return {\n ...getExtras(existing),\n ...getExtras(incoming),\n edges,\n pageInfo,\n };\n },\n };\n}\n\n// Returns any unrecognized properties of the given object.\nconst getExtras = (obj: Record<string, any>) => __rest(obj, notExtras);\nconst notExtras = [\"edges\", \"pageInfo\"];\n\nfunction makeEmptyData(): TExistingRelay<any> {\n return {\n edges: [],\n pageInfo: {\n hasPreviousPage: false,\n hasNextPage: true,\n startCursor: \"\",\n endCursor: \"\",\n },\n };\n}\n"]}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { __rest } from \"tslib\";\n\nimport { FieldPolicy, Reference } from '../../cache';\nimport { mergeDeep } from '../common/mergeDeep';\n\ntype KeyArgs = FieldPolicy<any>[\"keyArgs\"];\n\n// A very basic pagination field policy that always concatenates new\n// results onto the existing array, without examining options.args.\nexport function concatPagination<T = Reference>(\n keyArgs: KeyArgs = false,\n): FieldPolicy<T[]> {\n return {\n keyArgs,\n merge(existing, incoming) {\n return existing ? [\n ...existing,\n ...incoming,\n ] : incoming;\n },\n };\n}\n\n// A basic field policy that uses options.args.{offset,limit} to splice\n// the incoming data into the existing array. If your arguments are called\n// something different (like args.{start,count}), feel free to copy/paste\n// this implementation and make the appropriate changes.\nexport function offsetLimitPagination<T = Reference>(\n keyArgs: KeyArgs = false,\n): FieldPolicy<T[]> {\n return {\n keyArgs,\n merge(existing, incoming, { args }) {\n const merged = existing ? existing.slice(0) : [];\n\n if (incoming) {\n if (args) {\n // Assume an offset of 0 if args.offset omitted.\n const { offset = 0 } = args;\n for (let i = 0; i < incoming.length; ++i) {\n merged[offset + i] = incoming[i];\n }\n } else {\n // It's unusual (probably a mistake) for a paginated field not\n // to receive any arguments, so you might prefer to throw an\n // exception here, instead of recovering by appending incoming\n // onto the existing array.\n merged.push.apply(merged, incoming);\n }\n }\n\n return merged;\n },\n };\n}\n\n// Whether TRelayEdge<TNode> is a normalized Reference or a non-normalized\n// object, it needs a .cursor property where the relayStylePagination\n// merge function can store cursor strings taken from pageInfo. Storing an\n// extra reference.cursor property should be safe, and is easier than\n// attempting to update the cursor field of the normalized StoreObject\n// that the reference refers to, or managing edge wrapper objects\n// (something I attempted in #7023, but abandoned because of #7088).\nexport type TRelayEdge<TNode> = {\n cursor?: string;\n node: TNode;\n} | (Reference & { cursor?: string });\n\nexport type TRelayPageInfo = {\n hasPreviousPage: boolean;\n hasNextPage: boolean;\n startCursor: string;\n endCursor: string;\n};\n\nexport type TExistingRelay<TNode> = Readonly<{\n edges: TRelayEdge<TNode>[];\n pageInfo: TRelayPageInfo;\n}>;\n\nexport type TIncomingRelay<TNode> = {\n edges?: TRelayEdge<TNode>[];\n pageInfo?: TRelayPageInfo;\n};\n\nexport type RelayFieldPolicy<TNode> = FieldPolicy<\n TExistingRelay<TNode> | null,\n TIncomingRelay<TNode> | null,\n TIncomingRelay<TNode> | null\n>;\n\n// As proof of the flexibility of field policies, this function generates\n// one that handles Relay-style pagination, without Apollo Client knowing\n// anything about connections, edges, cursors, or pageInfo objects.\nexport function relayStylePagination<TNode extends Reference = Reference>(\n keyArgs: KeyArgs = false,\n): RelayFieldPolicy<TNode> {\n return {\n keyArgs,\n\n read(existing, { canRead, readField }) {\n if (!existing) return existing;\n\n const edges: TRelayEdge<TNode>[] = [];\n let firstEdgeCursor = \"\";\n let lastEdgeCursor = \"\";\n existing.edges.forEach(edge => {\n // Edges themselves could be Reference objects, so it's important\n // to use readField to access the edge.edge.node property.\n if (canRead(readField(\"node\", edge))) {\n edges.push(edge);\n if (edge.cursor) {\n firstEdgeCursor = firstEdgeCursor || edge.cursor || \"\";\n lastEdgeCursor = edge.cursor || lastEdgeCursor;\n }\n }\n });\n\n const {\n startCursor,\n endCursor,\n } = existing.pageInfo || {};\n\n return {\n // Some implementations return additional Connection fields, such\n // as existing.totalCount. These fields are saved by the merge\n // function, so the read function should also preserve them.\n ...getExtras(existing),\n edges,\n pageInfo: {\n ...existing.pageInfo,\n // If existing.pageInfo.{start,end}Cursor are undefined or \"\", default\n // to firstEdgeCursor and/or lastEdgeCursor.\n startCursor: startCursor || firstEdgeCursor,\n endCursor: endCursor || lastEdgeCursor,\n },\n };\n },\n\n merge(existing, incoming, { args, isReference, readField }) {\n if (!existing) {\n existing = makeEmptyData();\n }\n\n if (!incoming) {\n return existing;\n }\n\n const incomingEdges = incoming.edges ? incoming.edges.map(edge => {\n if (isReference(edge = { ...edge })) {\n // In case edge is a Reference, we read out its cursor field and\n // store it as an extra property of the Reference object.\n edge.cursor = readField<string>(\"cursor\", edge);\n }\n return edge;\n }) : [];\n\n if (incoming.pageInfo) {\n const { pageInfo } = incoming;\n const { startCursor, endCursor } = pageInfo;\n const firstEdge = incomingEdges[0];\n const lastEdge = incomingEdges[incomingEdges.length - 1];\n // In case we did not request the cursor field for edges in this\n // query, we can still infer cursors from pageInfo.\n if (firstEdge && startCursor) {\n firstEdge.cursor = startCursor;\n }\n if (lastEdge && endCursor) {\n lastEdge.cursor = endCursor;\n }\n // Cursors can also come from edges, so we default\n // pageInfo.{start,end}Cursor to {first,last}Edge.cursor.\n const firstCursor = firstEdge && firstEdge.cursor;\n if (firstCursor && !startCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n startCursor: firstCursor,\n },\n });\n }\n const lastCursor = lastEdge && lastEdge.cursor;\n if (lastCursor && !endCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n endCursor: lastCursor,\n },\n });\n }\n }\n\n let prefix = existing.edges;\n let suffix: typeof prefix = [];\n\n if (args && args.after) {\n // This comparison does not need to use readField(\"cursor\", edge),\n // because we stored the cursor field of any Reference edges as an\n // extra property of the Reference object.\n const index = prefix.findIndex(edge => edge.cursor === args.after);\n if (index >= 0) {\n prefix = prefix.slice(0, index + 1);\n // suffix = []; // already true\n }\n } else if (args && args.before) {\n const index = prefix.findIndex(edge => edge.cursor === args.before);\n suffix = index < 0 ? prefix : prefix.slice(index);\n prefix = [];\n } else if (incoming.edges) {\n // If we have neither args.after nor args.before, the incoming\n // edges cannot be spliced into the existing edges, so they must\n // replace the existing edges. See #6592 for a motivating example.\n prefix = [];\n }\n\n const edges = [\n ...prefix,\n ...incomingEdges,\n ...suffix,\n ];\n\n const pageInfo: TRelayPageInfo = {\n // The ordering of these two ...spreads may be surprising, but it\n // makes sense because we want to combine PageInfo properties with a\n // preference for existing values, *unless* the existing values are\n // overridden by the logic below, which is permitted only when the\n // incoming page falls at the beginning or end of the data.\n ...incoming.pageInfo,\n ...existing.pageInfo,\n };\n\n if (incoming.pageInfo) {\n const {\n hasPreviousPage, hasNextPage,\n startCursor, endCursor,\n ...extras\n } = incoming.pageInfo;\n\n // If incoming.pageInfo had any extra non-standard properties,\n // assume they should take precedence over any existing properties\n // of the same name, regardless of where this page falls with\n // respect to the existing data.\n Object.assign(pageInfo, extras);\n\n // Keep existing.pageInfo.has{Previous,Next}Page unless the\n // placement of the incoming edges means incoming.hasPreviousPage\n // or incoming.hasNextPage should become the new values for those\n // properties in existing.pageInfo. Note that these updates are\n // only permitted when the beginning or end of the incoming page\n // coincides with the beginning or end of the existing data, as\n // determined using prefix.length and suffix.length.\n if (!prefix.length) {\n if (void 0 !== hasPreviousPage) pageInfo.hasPreviousPage = hasPreviousPage;\n if (void 0 !== startCursor) pageInfo.startCursor = startCursor;\n }\n if (!suffix.length) {\n if (void 0 !== hasNextPage) pageInfo.hasNextPage = hasNextPage;\n if (void 0 !== endCursor) pageInfo.endCursor = endCursor;\n }\n }\n\n return {\n ...getExtras(existing),\n ...getExtras(incoming),\n edges,\n pageInfo,\n };\n },\n };\n}\n\n// Returns any unrecognized properties of the given object.\nconst getExtras = (obj: Record<string, any>) => __rest(obj, notExtras);\nconst notExtras = [\"edges\", \"pageInfo\"];\n\nfunction makeEmptyData(): TExistingRelay<any> {\n return {\n edges: [],\n pageInfo: {\n hasPreviousPage: false,\n hasNextPage: true,\n startCursor: \"\",\n endCursor: \"\",\n },\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
- export declare type IsStrictlyAny<T> = UnionToIntersection<UnionForAny<T>> extends never ? true : false;
2
- declare type UnionForAny<T> = T extends never ? 'a' : 1;
3
- declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
1
+ export type IsStrictlyAny<T> = UnionToIntersection<UnionForAny<T>> extends never ? true : false;
2
+ type UnionForAny<T> = T extends never ? 'a' : 1;
3
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
4
4
  export {};
5
5
  //# sourceMappingURL=IsStrictlyAny.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsStrictlyAny.d.ts","sourceRoot":"","sources":["../../../src/utilities/types/IsStrictlyAny.ts"],"names":[],"mappings":"AAEA,oBAAY,aAAa,CAAC,CAAC,IACzB,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAKnE,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAMhD,aAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SACtC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"IsStrictlyAny.d.ts","sourceRoot":"","sources":["../../../src/utilities/types/IsStrictlyAny.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAKnE,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAMhD,KAAK,mBAAmB,CAAC,CAAC,IACxB,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SACtC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
@@ -18,7 +18,7 @@ function shouldInclude(_a, variables) {
18
18
  var evaledValue = false;
19
19
  if (ifArgument.value.kind === 'Variable') {
20
20
  evaledValue = variables && variables[ifArgument.value.name.value];
21
- __DEV__ ? globals.invariant(evaledValue !== void 0, "Invalid variable referenced in @".concat(directive.name.value, " directive.")) : globals.invariant(evaledValue !== void 0, 39);
21
+ __DEV__ ? globals.invariant(evaledValue !== void 0, "Invalid variable referenced in @".concat(directive.name.value, " directive.")) : globals.invariant(evaledValue !== void 0, 40);
22
22
  }
23
23
  else {
24
24
  evaledValue = ifArgument.value.value;
@@ -65,13 +65,13 @@ function getInclusionDirectives(directives) {
65
65
  return;
66
66
  var directiveArguments = directive.arguments;
67
67
  var directiveName = directive.name.value;
68
- __DEV__ ? globals.invariant(directiveArguments && directiveArguments.length === 1, "Incorrect number of arguments for the @".concat(directiveName, " directive.")) : globals.invariant(directiveArguments && directiveArguments.length === 1, 40);
68
+ __DEV__ ? globals.invariant(directiveArguments && directiveArguments.length === 1, "Incorrect number of arguments for the @".concat(directiveName, " directive.")) : globals.invariant(directiveArguments && directiveArguments.length === 1, 41);
69
69
  var ifArgument = directiveArguments[0];
70
- __DEV__ ? globals.invariant(ifArgument.name && ifArgument.name.value === 'if', "Invalid argument for the @".concat(directiveName, " directive.")) : globals.invariant(ifArgument.name && ifArgument.name.value === 'if', 41);
70
+ __DEV__ ? globals.invariant(ifArgument.name && ifArgument.name.value === 'if', "Invalid argument for the @".concat(directiveName, " directive.")) : globals.invariant(ifArgument.name && ifArgument.name.value === 'if', 42);
71
71
  var ifValue = ifArgument.value;
72
72
  __DEV__ ? globals.invariant(ifValue &&
73
73
  (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), "Argument for the @".concat(directiveName, " directive must be a variable or a boolean value.")) : globals.invariant(ifValue &&
74
- (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 42);
74
+ (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 43);
75
75
  result.push({ directive: directive, ifArgument: ifArgument });
76
76
  });
77
77
  }
@@ -84,14 +84,14 @@ function getFragmentQueryDocument(document, fragmentName) {
84
84
  document.definitions.forEach(function (definition) {
85
85
  if (definition.kind === 'OperationDefinition') {
86
86
  throw __DEV__ ? new globals.InvariantError("Found a ".concat(definition.operation, " operation").concat(definition.name ? " named '".concat(definition.name.value, "'") : '', ". ") +
87
- 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new globals.InvariantError(43);
87
+ 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new globals.InvariantError(44);
88
88
  }
89
89
  if (definition.kind === 'FragmentDefinition') {
90
90
  fragments.push(definition);
91
91
  }
92
92
  });
93
93
  if (typeof actualFragmentName === 'undefined') {
94
- __DEV__ ? globals.invariant(fragments.length === 1, "Found ".concat(fragments.length, " fragments. `fragmentName` must be provided when there is not exactly 1 fragment.")) : globals.invariant(fragments.length === 1, 44);
94
+ __DEV__ ? globals.invariant(fragments.length === 1, "Found ".concat(fragments.length, " fragments. `fragmentName` must be provided when there is not exactly 1 fragment.")) : globals.invariant(fragments.length === 1, 45);
95
95
  actualFragmentName = fragments[0].name.value;
96
96
  }
97
97
  var query = tslib.__assign(tslib.__assign({}, document), { definitions: tslib.__spreadArray([
@@ -132,7 +132,7 @@ function getFragmentFromSelection(selection, fragmentMap) {
132
132
  return fragmentMap(fragmentName);
133
133
  }
134
134
  var fragment = fragmentMap && fragmentMap[fragmentName];
135
- __DEV__ ? globals.invariant(fragment, "No fragment named ".concat(fragmentName)) : globals.invariant(fragment, 45);
135
+ __DEV__ ? globals.invariant(fragment, "No fragment named ".concat(fragmentName)) : globals.invariant(fragment, 46);
136
136
  return fragment || null;
137
137
  }
138
138
  default:
@@ -216,7 +216,7 @@ function valueToObjectRepresentation(argObj, name, value, variables) {
216
216
  else {
217
217
  throw __DEV__ ? new globals.InvariantError("The inline argument \"".concat(name.value, "\" of kind \"").concat(value.kind, "\"") +
218
218
  'is not supported. Use variables instead of inline arguments to ' +
219
- 'overcome this limitation.') : new globals.InvariantError(54);
219
+ 'overcome this limitation.') : new globals.InvariantError(55);
220
220
  }
221
221
  }
222
222
  function storeKeyNameFromField(field, variables) {
@@ -350,16 +350,16 @@ function isInlineFragment(selection) {
350
350
  }
351
351
 
352
352
  function checkDocument(doc) {
353
- __DEV__ ? globals.invariant(doc && doc.kind === 'Document', "Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \"gql\" tag? http://docs.apollostack.com/apollo-client/core.html#gql") : globals.invariant(doc && doc.kind === 'Document', 46);
353
+ __DEV__ ? globals.invariant(doc && doc.kind === 'Document', "Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \"gql\" tag? http://docs.apollostack.com/apollo-client/core.html#gql") : globals.invariant(doc && doc.kind === 'Document', 47);
354
354
  var operations = doc.definitions
355
355
  .filter(function (d) { return d.kind !== 'FragmentDefinition'; })
356
356
  .map(function (definition) {
357
357
  if (definition.kind !== 'OperationDefinition') {
358
- throw __DEV__ ? new globals.InvariantError("Schema type definitions not allowed in queries. Found: \"".concat(definition.kind, "\"")) : new globals.InvariantError(47);
358
+ throw __DEV__ ? new globals.InvariantError("Schema type definitions not allowed in queries. Found: \"".concat(definition.kind, "\"")) : new globals.InvariantError(48);
359
359
  }
360
360
  return definition;
361
361
  });
362
- __DEV__ ? globals.invariant(operations.length <= 1, "Ambiguous GraphQL document: contains ".concat(operations.length, " operations")) : globals.invariant(operations.length <= 1, 48);
362
+ __DEV__ ? globals.invariant(operations.length <= 1, "Ambiguous GraphQL document: contains ".concat(operations.length, " operations")) : globals.invariant(operations.length <= 1, 49);
363
363
  return doc;
364
364
  }
365
365
  function getOperationDefinition(doc) {
@@ -378,14 +378,14 @@ function getFragmentDefinitions(doc) {
378
378
  }
379
379
  function getQueryDefinition(doc) {
380
380
  var queryDef = getOperationDefinition(doc);
381
- __DEV__ ? globals.invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : globals.invariant(queryDef && queryDef.operation === 'query', 49);
381
+ __DEV__ ? globals.invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : globals.invariant(queryDef && queryDef.operation === 'query', 50);
382
382
  return queryDef;
383
383
  }
384
384
  function getFragmentDefinition(doc) {
385
- __DEV__ ? globals.invariant(doc.kind === 'Document', "Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \"gql\" tag? http://docs.apollostack.com/apollo-client/core.html#gql") : globals.invariant(doc.kind === 'Document', 50);
386
- __DEV__ ? globals.invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : globals.invariant(doc.definitions.length <= 1, 51);
385
+ __DEV__ ? globals.invariant(doc.kind === 'Document', "Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \"gql\" tag? http://docs.apollostack.com/apollo-client/core.html#gql") : globals.invariant(doc.kind === 'Document', 51);
386
+ __DEV__ ? globals.invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : globals.invariant(doc.definitions.length <= 1, 52);
387
387
  var fragmentDef = doc.definitions[0];
388
- __DEV__ ? globals.invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : globals.invariant(fragmentDef.kind === 'FragmentDefinition', 52);
388
+ __DEV__ ? globals.invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : globals.invariant(fragmentDef.kind === 'FragmentDefinition', 53);
389
389
  return fragmentDef;
390
390
  }
391
391
  function getMainDefinition(queryDoc) {
@@ -408,7 +408,7 @@ function getMainDefinition(queryDoc) {
408
408
  if (fragmentDefinition) {
409
409
  return fragmentDefinition;
410
410
  }
411
- throw __DEV__ ? new globals.InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new globals.InvariantError(53);
411
+ throw __DEV__ ? new globals.InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new globals.InvariantError(54);
412
412
  }
413
413
  function getDefaultValues(definition) {
414
414
  var defaultValues = Object.create(null);