@apollo/client 3.4.0-rc.7 → 3.4.1

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 (234) hide show
  1. package/apollo-client.cjs.js +300 -263
  2. package/apollo-client.cjs.js.map +1 -1
  3. package/apollo-client.cjs.min.js +1 -1
  4. package/cache/cache.cjs.js +105 -41
  5. package/cache/cache.cjs.js.map +1 -1
  6. package/cache/core/types/DataProxy.js +1 -0
  7. package/cache/index.d.ts +0 -1
  8. package/cache/index.d.ts.map +1 -1
  9. package/cache/index.js +3 -1
  10. package/cache/index.js.map +1 -1
  11. package/cache/inmemory/entityStore.d.ts +3 -2
  12. package/cache/inmemory/entityStore.d.ts.map +1 -1
  13. package/cache/inmemory/entityStore.js +22 -10
  14. package/cache/inmemory/entityStore.js.map +1 -1
  15. package/cache/inmemory/fixPolyfills.native.js +1 -0
  16. package/cache/inmemory/helpers.d.ts +1 -1
  17. package/cache/inmemory/helpers.d.ts.map +1 -1
  18. package/cache/inmemory/inMemoryCache.d.ts +5 -1
  19. package/cache/inmemory/inMemoryCache.d.ts.map +1 -1
  20. package/cache/inmemory/inMemoryCache.js +24 -3
  21. package/cache/inmemory/inMemoryCache.js.map +1 -1
  22. package/cache/inmemory/object-canon.d.ts +3 -1
  23. package/cache/inmemory/object-canon.d.ts.map +1 -1
  24. package/cache/inmemory/object-canon.js +12 -7
  25. package/cache/inmemory/object-canon.js.map +1 -1
  26. package/cache/inmemory/policies.d.ts.map +1 -1
  27. package/cache/inmemory/policies.js +23 -10
  28. package/cache/inmemory/policies.js.map +1 -1
  29. package/cache/inmemory/readFromStore.d.ts +5 -2
  30. package/cache/inmemory/readFromStore.d.ts.map +1 -1
  31. package/cache/inmemory/readFromStore.js +9 -6
  32. package/cache/inmemory/readFromStore.js.map +1 -1
  33. package/cache/inmemory/types.js +1 -0
  34. package/cache/inmemory/writeToStore.d.ts +1 -0
  35. package/cache/inmemory/writeToStore.d.ts.map +1 -1
  36. package/cache/inmemory/writeToStore.js +16 -7
  37. package/cache/inmemory/writeToStore.js.map +1 -1
  38. package/core/ApolloClient.d.ts.map +1 -1
  39. package/core/ApolloClient.js +3 -0
  40. package/core/ApolloClient.js.map +1 -1
  41. package/core/LocalState.js +2 -4
  42. package/core/LocalState.js.map +1 -1
  43. package/core/ObservableQuery.d.ts +7 -6
  44. package/core/ObservableQuery.d.ts.map +1 -1
  45. package/core/ObservableQuery.js +116 -78
  46. package/core/ObservableQuery.js.map +1 -1
  47. package/core/QueryInfo.d.ts +0 -1
  48. package/core/QueryInfo.d.ts.map +1 -1
  49. package/core/QueryInfo.js +3 -6
  50. package/core/QueryInfo.js.map +1 -1
  51. package/core/QueryManager.d.ts +3 -3
  52. package/core/QueryManager.d.ts.map +1 -1
  53. package/core/QueryManager.js +13 -10
  54. package/core/QueryManager.js.map +1 -1
  55. package/core/core.cjs.js +137 -181
  56. package/core/core.cjs.js.map +1 -1
  57. package/core/index.d.ts +0 -1
  58. package/core/index.d.ts.map +1 -1
  59. package/core/index.js +2 -2
  60. package/core/index.js.map +1 -1
  61. package/core/types.d.ts +4 -1
  62. package/core/types.d.ts.map +1 -1
  63. package/core/types.js +1 -0
  64. package/core/types.js.map +1 -1
  65. package/core/watchQueryOptions.js +1 -0
  66. package/errors/errors.cjs.js +2 -0
  67. package/errors/errors.cjs.js.map +1 -1
  68. package/errors/index.d.ts.map +1 -1
  69. package/errors/index.js +3 -0
  70. package/errors/index.js.map +1 -1
  71. package/invariantErrorCodes.js +82 -57
  72. package/link/context/context.cjs.js +4 -0
  73. package/link/context/context.cjs.js.map +1 -1
  74. package/link/context/index.d.ts.map +1 -1
  75. package/link/context/index.js +4 -0
  76. package/link/context/index.js.map +1 -1
  77. package/link/core/ApolloLink.js +1 -1
  78. package/link/core/core.cjs.js +4 -2
  79. package/link/core/core.cjs.js.map +1 -1
  80. package/link/core/index.d.ts.map +1 -1
  81. package/link/core/index.js +3 -0
  82. package/link/core/index.js.map +1 -1
  83. package/link/core/types.js +1 -0
  84. package/link/http/checkFetcher.js +1 -1
  85. package/link/http/http.cjs.js +13 -3
  86. package/link/http/http.cjs.js.map +1 -1
  87. package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -1
  88. package/link/http/selectHttpOptionsAndBody.js +11 -1
  89. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  90. package/link/http/serializeFetchParameter.js +1 -1
  91. package/link/persisted-queries/index.d.ts.map +1 -1
  92. package/link/persisted-queries/index.js +2 -2
  93. package/link/persisted-queries/persisted-queries.cjs.js +2 -2
  94. package/link/persisted-queries/persisted-queries.cjs.js.map +1 -1
  95. package/link/utils/utils.cjs.js +1 -1
  96. package/link/utils/utils.cjs.js.map +1 -1
  97. package/link/utils/validateOperation.js +1 -1
  98. package/package.json +20 -20
  99. package/react/components/Mutation.d.ts +1 -1
  100. package/react/components/Query.js +1 -1
  101. package/react/components/Query.js.map +1 -1
  102. package/react/components/components.cjs.js +45 -31
  103. package/react/components/components.cjs.js.map +1 -1
  104. package/react/components/types.js +1 -0
  105. package/react/context/ApolloConsumer.js +1 -1
  106. package/react/context/ApolloProvider.js +1 -1
  107. package/react/context/context.cjs.js +22 -8
  108. package/react/context/context.cjs.js.map +1 -1
  109. package/react/data/OperationData.js +2 -2
  110. package/react/data/QueryData.d.ts +1 -2
  111. package/react/data/QueryData.d.ts.map +1 -1
  112. package/react/data/QueryData.js +65 -72
  113. package/react/data/QueryData.js.map +1 -1
  114. package/react/data/data.cjs.js +65 -71
  115. package/react/data/data.cjs.js.map +1 -1
  116. package/react/hoc/hoc-utils.d.ts +2 -1
  117. package/react/hoc/hoc-utils.d.ts.map +1 -1
  118. package/react/hoc/hoc-utils.js +1 -1
  119. package/react/hoc/hoc.cjs.js +35 -18
  120. package/react/hoc/hoc.cjs.js.map +1 -1
  121. package/react/hoc/mutation-hoc.d.ts.map +1 -1
  122. package/react/hoc/query-hoc.d.ts.map +1 -1
  123. package/react/hoc/subscription-hoc.d.ts.map +1 -1
  124. package/react/hoc/types.js +1 -0
  125. package/react/hoc/withApollo.js +1 -1
  126. package/react/hooks/hooks.cjs.js +56 -10
  127. package/react/hooks/hooks.cjs.js.map +1 -1
  128. package/react/hooks/useApolloClient.js +1 -1
  129. package/react/hooks/useSubscription.d.ts.map +1 -1
  130. package/react/hooks/useSubscription.js +16 -6
  131. package/react/hooks/useSubscription.js.map +1 -1
  132. package/react/hooks/utils/useAfterFastRefresh.d.ts +2 -0
  133. package/react/hooks/utils/useAfterFastRefresh.d.ts.map +1 -0
  134. package/react/hooks/utils/useAfterFastRefresh.js +18 -0
  135. package/react/hooks/utils/useAfterFastRefresh.js.map +1 -0
  136. package/react/hooks/utils/useBaseQuery.d.ts.map +1 -1
  137. package/react/hooks/utils/useBaseQuery.js +10 -3
  138. package/react/hooks/utils/useBaseQuery.js.map +1 -1
  139. package/react/index.d.ts +0 -1
  140. package/react/index.d.ts.map +1 -1
  141. package/react/index.js +3 -1
  142. package/react/index.js.map +1 -1
  143. package/react/parser/index.js +4 -4
  144. package/react/parser/parser.cjs.js +4 -4
  145. package/react/parser/parser.cjs.js.map +1 -1
  146. package/react/react.cjs.js +2 -2
  147. package/react/react.cjs.js.map +1 -1
  148. package/react/ssr/ssr.cjs.js +15 -1
  149. package/react/ssr/ssr.cjs.js.map +1 -1
  150. package/react/types/types.d.ts +9 -3
  151. package/react/types/types.d.ts.map +1 -1
  152. package/react/types/types.js +1 -0
  153. package/react/types/types.js.map +1 -1
  154. package/testing/index.d.ts.map +1 -1
  155. package/testing/index.js +3 -0
  156. package/testing/index.js.map +1 -1
  157. package/testing/testing.cjs.js +68 -17
  158. package/testing/testing.cjs.js.map +1 -1
  159. package/utilities/common/canUse.d.ts +1 -0
  160. package/utilities/common/canUse.d.ts.map +1 -1
  161. package/utilities/common/canUse.js +1 -0
  162. package/utilities/common/canUse.js.map +1 -1
  163. package/utilities/common/global.d.ts.map +1 -1
  164. package/utilities/common/mergeDeep.js +2 -2
  165. package/utilities/common/mergeDeep.js.map +1 -1
  166. package/utilities/common/stringifyForDisplay.d.ts +2 -0
  167. package/utilities/common/stringifyForDisplay.d.ts.map +1 -0
  168. package/utilities/common/stringifyForDisplay.js +8 -0
  169. package/utilities/common/stringifyForDisplay.js.map +1 -0
  170. package/utilities/globals/DEV.d.ts +3 -0
  171. package/utilities/globals/DEV.d.ts.map +1 -0
  172. package/utilities/globals/DEV.js +20 -0
  173. package/utilities/globals/DEV.js.map +1 -0
  174. package/utilities/globals/graphql.d.ts +1 -1
  175. package/utilities/globals/graphql.d.ts.map +1 -1
  176. package/utilities/globals/graphql.js +3 -3
  177. package/utilities/globals/graphql.js.map +1 -1
  178. package/utilities/globals/index.d.ts +4 -2
  179. package/utilities/globals/index.d.ts.map +1 -1
  180. package/utilities/globals/index.js +5 -4
  181. package/utilities/globals/index.js.map +1 -1
  182. package/utilities/graphql/directives.js +4 -4
  183. package/utilities/graphql/fragments.js +5 -5
  184. package/utilities/graphql/getFromAST.js +8 -8
  185. package/utilities/graphql/storeUtils.d.ts.map +1 -1
  186. package/utilities/graphql/storeUtils.js +1 -1
  187. package/utilities/graphql/transform.js +2 -2
  188. package/utilities/graphql/transform.js.map +1 -1
  189. package/utilities/index.d.ts +3 -1
  190. package/utilities/index.d.ts.map +1 -1
  191. package/utilities/index.js +5 -1
  192. package/utilities/index.js.map +1 -1
  193. package/utilities/package.json +3 -1
  194. package/utilities/policies/pagination.d.ts.map +1 -1
  195. package/utilities/policies/pagination.js +10 -11
  196. package/utilities/policies/pagination.js.map +1 -1
  197. package/utilities/testing/index.d.ts +1 -0
  198. package/utilities/testing/index.d.ts.map +1 -1
  199. package/utilities/testing/index.js +1 -0
  200. package/utilities/testing/index.js.map +1 -1
  201. package/utilities/testing/itAsync.d.ts +5 -8
  202. package/utilities/testing/itAsync.d.ts.map +1 -1
  203. package/utilities/testing/itAsync.js +6 -7
  204. package/utilities/testing/itAsync.js.map +1 -1
  205. package/utilities/testing/mocking/mockFetch.js +2 -2
  206. package/utilities/testing/mocking/mockFetch.js.map +1 -1
  207. package/utilities/testing/mocking/mockLink.d.ts.map +1 -1
  208. package/utilities/testing/mocking/mockLink.js +2 -8
  209. package/utilities/testing/mocking/mockLink.js.map +1 -1
  210. package/utilities/testing/mocking/mockWatchQuery.d.ts.map +1 -1
  211. package/utilities/testing/mocking/mockWatchQuery.js +2 -2
  212. package/utilities/testing/mocking/mockWatchQuery.js.map +1 -1
  213. package/utilities/testing/observableToPromise.js +2 -2
  214. package/utilities/testing/observableToPromise.js.map +1 -1
  215. package/utilities/testing/withConsoleSpy.d.ts +4 -0
  216. package/utilities/testing/withConsoleSpy.d.ts.map +1 -0
  217. package/utilities/testing/withConsoleSpy.js +39 -0
  218. package/utilities/testing/withConsoleSpy.js.map +1 -0
  219. package/utilities/types/IsStrictlyAny.js +1 -0
  220. package/utilities/utilities.cjs.js +56 -48
  221. package/utilities/utilities.cjs.js.map +1 -1
  222. package/version.js +1 -1
  223. package/core/Reobserver.d.ts +0 -18
  224. package/core/Reobserver.d.ts.map +0 -1
  225. package/core/Reobserver.js +0 -87
  226. package/core/Reobserver.js.map +0 -1
  227. package/utilities/globals/__DEV__.d.ts +0 -3
  228. package/utilities/globals/__DEV__.d.ts.map +0 -1
  229. package/utilities/globals/__DEV__.js +0 -32
  230. package/utilities/globals/__DEV__.js.map +0 -1
  231. package/utilities/globals/process.d.ts +0 -2
  232. package/utilities/globals/process.d.ts.map +0 -1
  233. package/utilities/globals/process.js +0 -31
  234. package/utilities/globals/process.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mockLink.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockLink.ts"],"names":[],"mappings":"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","sourcesContent":["import { print } from 'graphql';\nimport { equal } from '@wry/equality';\nimport { invariant } from 'ts-invariant';\n\nimport {\n ApolloLink,\n Operation,\n GraphQLRequest,\n FetchResult,\n} from '../../../link/core';\n\nimport {\n Observable,\n addTypenameToDocument,\n removeClientSetsFromDocument,\n removeConnectionDirectiveFromDocument,\n cloneDeep,\n makeUniqueId,\n} from '../../../utilities';\n\nexport type ResultFunction<T> = () => T;\n\nfunction stringifyForDisplay(value: any): string {\n const undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, (key, value) => {\n return value === void 0 ? undefId : value;\n }).split(JSON.stringify(undefId)).join(\"<undefined>\");\n}\n\nexport interface MockedResponse<TData = Record<string, any>> {\n request: GraphQLRequest;\n result?: FetchResult<TData> | ResultFunction<FetchResult<TData>>;\n error?: Error;\n delay?: number;\n newData?: ResultFunction<FetchResult>;\n}\n\nfunction requestToKey(request: GraphQLRequest, addTypename: Boolean): string {\n const queryString =\n request.query &&\n print(addTypename ? addTypenameToDocument(request.query) : request.query);\n const requestKey = { query: queryString };\n return JSON.stringify(requestKey);\n}\n\nexport class MockLink extends ApolloLink {\n public operation: Operation;\n public addTypename: Boolean = true;\n private mockedResponsesByKey: { [key: string]: MockedResponse[] } = {};\n\n constructor(\n mockedResponses: ReadonlyArray<MockedResponse>,\n addTypename: Boolean = true\n ) {\n super();\n this.addTypename = addTypename;\n if (mockedResponses) {\n mockedResponses.forEach(mockedResponse => {\n this.addMockedResponse(mockedResponse);\n });\n }\n }\n\n public addMockedResponse(mockedResponse: MockedResponse) {\n const normalizedMockedResponse = this.normalizeMockedResponse(\n mockedResponse\n );\n const key = requestToKey(\n normalizedMockedResponse.request,\n this.addTypename\n );\n let mockedResponses = this.mockedResponsesByKey[key];\n if (!mockedResponses) {\n mockedResponses = [];\n this.mockedResponsesByKey[key] = mockedResponses;\n }\n mockedResponses.push(normalizedMockedResponse);\n }\n\n public request(operation: Operation): Observable<FetchResult> | null {\n this.operation = operation;\n const key = requestToKey(operation, this.addTypename);\n const unmatchedVars: Array<Record<string, any>> = [];\n const requestVariables = operation.variables || {};\n const mockedResponses = this.mockedResponsesByKey[key];\n const responseIndex = mockedResponses ? mockedResponses.findIndex((res, index) => {\n const mockedResponseVars = res.request.variables || {};\n if (equal(requestVariables, mockedResponseVars)) {\n return true;\n }\n unmatchedVars.push(mockedResponseVars);\n return false;\n }) : -1;\n\n const response = responseIndex >= 0\n ? mockedResponses[responseIndex]\n : void 0;\n\n let configError: Error;\n\n if (!response) {\n configError = new Error(\n`No more mocked responses for the query: ${print(operation.query)}\nExpected variables: ${stringifyForDisplay(operation.variables)}\n${unmatchedVars.length > 0 ? `\nFailed to match ${unmatchedVars.length} mock${\n unmatchedVars.length === 1 ? \"\" : \"s\"\n} for this query, which had the following variables:\n${unmatchedVars.map(d => ` ${stringifyForDisplay(d)}`).join('\\n')}\n` : \"\"}`);\n } else {\n mockedResponses.splice(responseIndex, 1);\n\n const { newData } = response;\n if (newData) {\n response.result = newData();\n mockedResponses.push(response);\n }\n\n if (!response.result && !response.error) {\n configError = new Error(\n `Mocked response should contain either result or error: ${key}`\n );\n }\n }\n\n return new Observable(observer => {\n const timer = setTimeout(() => {\n if (configError) {\n try {\n // The onError function can return false to indicate that\n // configError need not be passed to observer.error. For\n // example, the default implementation of onError calls\n // observer.error(configError) and then returns false to\n // prevent this extra (harmless) observer.error call.\n if (this.onError(configError, observer) !== false) {\n throw configError;\n }\n } catch (error) {\n observer.error(error);\n }\n } else if (response) {\n if (response.error) {\n observer.error(response.error);\n } else {\n if (response.result) {\n observer.next(\n typeof response.result === 'function'\n ? (response.result as ResultFunction<FetchResult>)()\n : response.result\n );\n }\n observer.complete();\n }\n }\n }, response && response.delay || 0);\n\n return () => {\n clearTimeout(timer);\n };\n });\n }\n\n private normalizeMockedResponse(\n mockedResponse: MockedResponse\n ): MockedResponse {\n const newMockedResponse = cloneDeep(mockedResponse);\n const queryWithoutConnection = removeConnectionDirectiveFromDocument(\n newMockedResponse.request.query\n );\n invariant(queryWithoutConnection, \"query is required\");\n newMockedResponse.request.query = queryWithoutConnection!;\n const query = removeClientSetsFromDocument(newMockedResponse.request.query);\n if (query) {\n newMockedResponse.request.query = query;\n }\n return newMockedResponse;\n }\n}\n\nexport interface MockApolloLink extends ApolloLink {\n operation?: Operation;\n}\n\n// Pass in multiple mocked responses, so that you can test flows that end up\n// making multiple queries to the server.\n// NOTE: The last arg can optionally be an `addTypename` arg.\nexport function mockSingleLink(\n ...mockedResponses: Array<any>\n): MockApolloLink {\n // To pull off the potential typename. If this isn't a boolean, we'll just\n // set it true later.\n let maybeTypename = mockedResponses[mockedResponses.length - 1];\n let mocks = mockedResponses.slice(0, mockedResponses.length - 1);\n\n if (typeof maybeTypename !== 'boolean') {\n mocks = mockedResponses;\n maybeTypename = true;\n }\n\n return new MockLink(mocks, maybeTypename);\n}\n"]}
1
+ {"version":3,"file":"mockLink.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockLink.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EACL,UAAU,GAIX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,qCAAqC,EACrC,SAAS,EACT,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAY5B,SAAS,YAAY,CAAC,OAAuB,EAAE,WAAoB;IACjE,IAAM,WAAW,GACf,OAAO,CAAC,KAAK;QACb,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAM,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED;IAA8B,4BAAU;IAKtC,kBACE,eAA8C,EAC9C,WAA2B;QAA3B,4BAAA,EAAA,kBAA2B;QAF7B,YAIE,iBAAO,SAOR;QAdM,iBAAW,GAAY,IAAI,CAAC;QAC3B,0BAAoB,GAAwC,EAAE,CAAC;QAOrE,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,OAAO,CAAC,UAAA,cAAc;gBACpC,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;;IACH,CAAC;IAEM,oCAAiB,GAAxB,UAAyB,cAA8B;QACrD,IAAM,wBAAwB,GAAG,IAAI,CAAC,uBAAuB,CAC3D,cAAc,CACf,CAAC;QACF,IAAM,GAAG,GAAG,YAAY,CACtB,wBAAwB,CAAC,OAAO,EAChC,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE;YACpB,eAAe,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;SAClD;QACD,eAAe,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACjD,CAAC;IAEM,0BAAO,GAAd,UAAe,SAAoB;QAAnC,iBAkFC;QAjFC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,IAAM,aAAa,GAA+B,EAAE,CAAC;QACrD,IAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,IAAI,EAAE,CAAC;QACnD,IAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACvD,IAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,UAAC,GAAG,EAAE,KAAK;YAC3E,IAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;YACvD,IAAI,KAAK,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE;gBAC/C,OAAO,IAAI,CAAC;aACb;YACD,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAER,IAAM,QAAQ,GAAG,aAAa,IAAI,CAAC;YACjC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;YAChC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEX,IAAI,WAAkB,CAAC;QAEvB,IAAI,CAAC,QAAQ,EAAE;YACb,WAAW,GAAG,IAAI,KAAK,CAC7B,6CAA2C,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,8BAC3C,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,WAC5D,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBACX,aAAa,CAAC,MAAM,cACpC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,8DAErC,aAAa,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,OAAK,mBAAmB,CAAC,CAAC,CAAG,EAA7B,CAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OACjE,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC;SACL;aAAM;YACL,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAEjC,IAAA,OAAO,GAAK,QAAQ,QAAb,CAAc;YAC7B,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC;YAED,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACvC,WAAW,GAAG,IAAI,KAAK,CACrB,4DAA0D,GAAK,CAChE,CAAC;aACH;SACF;QAED,OAAO,IAAI,UAAU,CAAC,UAAA,QAAQ;YAC5B,IAAM,KAAK,GAAG,UAAU,CAAC;gBACvB,IAAI,WAAW,EAAE;oBACf,IAAI;wBAMF,IAAI,KAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,KAAK,EAAE;4BACjD,MAAM,WAAW,CAAC;yBACnB;qBACF;oBAAC,OAAO,KAAK,EAAE;wBACd,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACvB;iBACF;qBAAM,IAAI,QAAQ,EAAE;oBACnB,IAAI,QAAQ,CAAC,KAAK,EAAE;wBAClB,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;qBAChC;yBAAM;wBACL,IAAI,QAAQ,CAAC,MAAM,EAAE;4BACnB,QAAQ,CAAC,IAAI,CACX,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;gCACnC,CAAC,CAAE,QAAQ,CAAC,MAAsC,EAAE;gCACpD,CAAC,CAAC,QAAQ,CAAC,MAAM,CACpB,CAAC;yBACH;wBACD,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACrB;iBACF;YACH,CAAC,EAAE,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAEpC,OAAO;gBACL,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,0CAAuB,GAA/B,UACE,cAA8B;QAE9B,IAAM,iBAAiB,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QACpD,IAAM,sBAAsB,GAAG,qCAAqC,CAClE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAChC,CAAC;QACF,SAAS,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;QACvD,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,sBAAuB,CAAC;QAC1D,IAAM,KAAK,GAAG,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,KAAK,EAAE;YACT,iBAAiB,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;SACzC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACH,eAAC;AAAD,CAAC,AArID,CAA8B,UAAU,GAqIvC;;AASD,MAAM,UAAU,cAAc;IAC5B,yBAA8B;SAA9B,UAA8B,EAA9B,qBAA8B,EAA9B,IAA8B;QAA9B,oCAA8B;;IAI9B,IAAI,aAAa,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,aAAa,KAAK,SAAS,EAAE;QACtC,KAAK,GAAG,eAAe,CAAC;QACxB,aAAa,GAAG,IAAI,CAAC;KACtB;IAED,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC","sourcesContent":["import { print } from 'graphql';\nimport { equal } from '@wry/equality';\nimport { invariant } from 'ts-invariant';\n\nimport {\n ApolloLink,\n Operation,\n GraphQLRequest,\n FetchResult,\n} from '../../../link/core';\n\nimport {\n Observable,\n addTypenameToDocument,\n removeClientSetsFromDocument,\n removeConnectionDirectiveFromDocument,\n cloneDeep,\n stringifyForDisplay,\n} from '../../../utilities';\n\nexport type ResultFunction<T> = () => T;\n\nexport interface MockedResponse<TData = Record<string, any>> {\n request: GraphQLRequest;\n result?: FetchResult<TData> | ResultFunction<FetchResult<TData>>;\n error?: Error;\n delay?: number;\n newData?: ResultFunction<FetchResult>;\n}\n\nfunction requestToKey(request: GraphQLRequest, addTypename: Boolean): string {\n const queryString =\n request.query &&\n print(addTypename ? addTypenameToDocument(request.query) : request.query);\n const requestKey = { query: queryString };\n return JSON.stringify(requestKey);\n}\n\nexport class MockLink extends ApolloLink {\n public operation: Operation;\n public addTypename: Boolean = true;\n private mockedResponsesByKey: { [key: string]: MockedResponse[] } = {};\n\n constructor(\n mockedResponses: ReadonlyArray<MockedResponse>,\n addTypename: Boolean = true\n ) {\n super();\n this.addTypename = addTypename;\n if (mockedResponses) {\n mockedResponses.forEach(mockedResponse => {\n this.addMockedResponse(mockedResponse);\n });\n }\n }\n\n public addMockedResponse(mockedResponse: MockedResponse) {\n const normalizedMockedResponse = this.normalizeMockedResponse(\n mockedResponse\n );\n const key = requestToKey(\n normalizedMockedResponse.request,\n this.addTypename\n );\n let mockedResponses = this.mockedResponsesByKey[key];\n if (!mockedResponses) {\n mockedResponses = [];\n this.mockedResponsesByKey[key] = mockedResponses;\n }\n mockedResponses.push(normalizedMockedResponse);\n }\n\n public request(operation: Operation): Observable<FetchResult> | null {\n this.operation = operation;\n const key = requestToKey(operation, this.addTypename);\n const unmatchedVars: Array<Record<string, any>> = [];\n const requestVariables = operation.variables || {};\n const mockedResponses = this.mockedResponsesByKey[key];\n const responseIndex = mockedResponses ? mockedResponses.findIndex((res, index) => {\n const mockedResponseVars = res.request.variables || {};\n if (equal(requestVariables, mockedResponseVars)) {\n return true;\n }\n unmatchedVars.push(mockedResponseVars);\n return false;\n }) : -1;\n\n const response = responseIndex >= 0\n ? mockedResponses[responseIndex]\n : void 0;\n\n let configError: Error;\n\n if (!response) {\n configError = new Error(\n`No more mocked responses for the query: ${print(operation.query)}\nExpected variables: ${stringifyForDisplay(operation.variables)}\n${unmatchedVars.length > 0 ? `\nFailed to match ${unmatchedVars.length} mock${\n unmatchedVars.length === 1 ? \"\" : \"s\"\n} for this query, which had the following variables:\n${unmatchedVars.map(d => ` ${stringifyForDisplay(d)}`).join('\\n')}\n` : \"\"}`);\n } else {\n mockedResponses.splice(responseIndex, 1);\n\n const { newData } = response;\n if (newData) {\n response.result = newData();\n mockedResponses.push(response);\n }\n\n if (!response.result && !response.error) {\n configError = new Error(\n `Mocked response should contain either result or error: ${key}`\n );\n }\n }\n\n return new Observable(observer => {\n const timer = setTimeout(() => {\n if (configError) {\n try {\n // The onError function can return false to indicate that\n // configError need not be passed to observer.error. For\n // example, the default implementation of onError calls\n // observer.error(configError) and then returns false to\n // prevent this extra (harmless) observer.error call.\n if (this.onError(configError, observer) !== false) {\n throw configError;\n }\n } catch (error) {\n observer.error(error);\n }\n } else if (response) {\n if (response.error) {\n observer.error(response.error);\n } else {\n if (response.result) {\n observer.next(\n typeof response.result === 'function'\n ? (response.result as ResultFunction<FetchResult>)()\n : response.result\n );\n }\n observer.complete();\n }\n }\n }, response && response.delay || 0);\n\n return () => {\n clearTimeout(timer);\n };\n });\n }\n\n private normalizeMockedResponse(\n mockedResponse: MockedResponse\n ): MockedResponse {\n const newMockedResponse = cloneDeep(mockedResponse);\n const queryWithoutConnection = removeConnectionDirectiveFromDocument(\n newMockedResponse.request.query\n );\n invariant(queryWithoutConnection, \"query is required\");\n newMockedResponse.request.query = queryWithoutConnection!;\n const query = removeClientSetsFromDocument(newMockedResponse.request.query);\n if (query) {\n newMockedResponse.request.query = query;\n }\n return newMockedResponse;\n }\n}\n\nexport interface MockApolloLink extends ApolloLink {\n operation?: Operation;\n}\n\n// Pass in multiple mocked responses, so that you can test flows that end up\n// making multiple queries to the server.\n// NOTE: The last arg can optionally be an `addTypename` arg.\nexport function mockSingleLink(\n ...mockedResponses: Array<any>\n): MockApolloLink {\n // To pull off the potential typename. If this isn't a boolean, we'll just\n // set it true later.\n let maybeTypename = mockedResponses[mockedResponses.length - 1];\n let mocks = mockedResponses.slice(0, mockedResponses.length - 1);\n\n if (typeof maybeTypename !== 'boolean') {\n mocks = mockedResponses;\n maybeTypename = true;\n }\n\n return new MockLink(mocks, maybeTypename);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mockWatchQuery.d.ts","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockWatchQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;0CAG7C,GAAG,KAAK,GAAG,sBACR,cAAc,EAAE,KACnC,eAAe,CAAC,GAAG,CAAC;AAHvB,wBAWE"}
1
+ {"version":3,"file":"mockWatchQuery.d.ts","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockWatchQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;0CAG7C,GAAG,KAAK,GAAG,sBACR,cAAc,EAAE,KACnC,gBAAgB,GAAG,CAAC;AAHvB,wBAWE"}
@@ -1,11 +1,11 @@
1
- import { __spreadArrays } from "tslib";
1
+ import { __spreadArray } from "tslib";
2
2
  import mockQueryManager from "./mockQueryManager.js";
3
3
  export default (function (reject) {
4
4
  var mockedResponses = [];
5
5
  for (var _i = 1; _i < arguments.length; _i++) {
6
6
  mockedResponses[_i - 1] = arguments[_i];
7
7
  }
8
- var queryManager = mockQueryManager.apply(void 0, __spreadArrays([reject], mockedResponses));
8
+ var queryManager = mockQueryManager.apply(void 0, __spreadArray([reject], mockedResponses));
9
9
  var firstRequest = mockedResponses[0].request;
10
10
  return queryManager.watchQuery({
11
11
  query: firstRequest.query,
@@ -1 +1 @@
1
- {"version":3,"file":"mockWatchQuery.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockWatchQuery.ts"],"names":[],"mappings":";AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,gBAAe,UACb,MAA4B;IAC5B,yBAAoC;SAApC,UAAoC,EAApC,qBAAoC,EAApC,IAAoC;QAApC,wCAAoC;;IAEpC,IAAM,YAAY,GAAG,gBAAgB,+BAAC,MAAM,GAAK,eAAe,EAAC,CAAC;IAClE,IAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChD,OAAO,YAAY,CAAC,UAAU,CAAC;QAC7B,KAAK,EAAE,YAAY,CAAC,KAAM;QAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,2BAA2B,EAAE,KAAK;KACnC,CAAC,CAAC;AACL,CAAC,EAAC","sourcesContent":["import { MockedResponse } from './mockLink';\nimport mockQueryManager from './mockQueryManager';\nimport { ObservableQuery } from '../../../core/ObservableQuery';\n\nexport default (\n reject: (reason: any) => any,\n ...mockedResponses: MockedResponse[]\n): ObservableQuery<any> => {\n const queryManager = mockQueryManager(reject, ...mockedResponses);\n const firstRequest = mockedResponses[0].request;\n return queryManager.watchQuery({\n query: firstRequest.query!,\n variables: firstRequest.variables,\n notifyOnNetworkStatusChange: false // XXX might not always be the right option. Set for legacy reasons.\n });\n};\n"]}
1
+ {"version":3,"file":"mockWatchQuery.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockWatchQuery.ts"],"names":[],"mappings":";AACA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAGlD,gBAAe,UACb,MAA4B;IAC5B,yBAAoC;SAApC,UAAoC,EAApC,qBAAoC,EAApC,IAAoC;QAApC,wCAAoC;;IAEpC,IAAM,YAAY,GAAG,gBAAgB,8BAAC,MAAM,GAAK,eAAe,EAAC,CAAC;IAClE,IAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChD,OAAO,YAAY,CAAC,UAAU,CAAC;QAC7B,KAAK,EAAE,YAAY,CAAC,KAAM;QAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,2BAA2B,EAAE,KAAK;KACnC,CAAC,CAAC;AACL,CAAC,EAAC","sourcesContent":["import { MockedResponse } from './mockLink';\nimport mockQueryManager from './mockQueryManager';\nimport { ObservableQuery } from '../../../core/ObservableQuery';\n\nexport default (\n reject: (reason: any) => any,\n ...mockedResponses: MockedResponse[]\n): ObservableQuery<any> => {\n const queryManager = mockQueryManager(reject, ...mockedResponses);\n const firstRequest = mockedResponses[0].request;\n return queryManager.watchQuery({\n query: firstRequest.query!,\n variables: firstRequest.variables,\n notifyOnNetworkStatusChange: false // XXX might not always be the right option. Set for legacy reasons.\n });\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { __spreadArrays } from "tslib";
1
+ import { __spreadArray } from "tslib";
2
2
  export function observableToPromiseAndSubscription(_a) {
3
3
  var observable = _a.observable, _b = _a.shouldResolve, shouldResolve = _b === void 0 ? true : _b, _c = _a.wait, wait = _c === void 0 ? -1 : _c, _d = _a.errorCallbacks, errorCallbacks = _d === void 0 ? [] : _d;
4
4
  var cbs = [];
@@ -60,6 +60,6 @@ export default function (options) {
60
60
  for (var _i = 1; _i < arguments.length; _i++) {
61
61
  cbs[_i - 1] = arguments[_i];
62
62
  }
63
- return observableToPromiseAndSubscription.apply(void 0, __spreadArrays([options], cbs)).promise;
63
+ return observableToPromiseAndSubscription.apply(void 0, __spreadArray([options], cbs)).promise;
64
64
  }
65
65
  //# sourceMappingURL=observableToPromise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"observableToPromise.js","sourceRoot":"","sources":["../../../src/utilities/testing/observableToPromise.ts"],"names":[],"mappings":";AA0BA,MAAM,UAAU,kCAAkC,CAChD,EAA6E;QAA3E,UAAU,gBAAA,EAAE,qBAAoB,EAApB,aAAa,mBAAG,IAAI,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,CAAC,CAAC,KAAA,EAAE,sBAAmB,EAAnB,cAAc,mBAAG,EAAE,KAAA;IAClE,aAAwB;SAAxB,UAAwB,EAAxB,qBAAwB,EAAxB,IAAwB;QAAxB,4BAAwB;;IAExB,IAAI,YAAY,GAA2B,IAAa,CAAC;IACzD,IAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,UAAC,OAAO,EAAE,MAAM;QACjD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,IAAM,YAAY,GAAG;YACnB,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO;aACR;YAED,IAAM,IAAI,GAAG;gBACX,YAAY,CAAC,WAAW,EAAE,CAAC;gBAE3B,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,IAAI,OAAO,KAAK,GAAG,CAAC,MAAM,IAAI,UAAU,KAAK,cAAc,CAAC,MAAM,EAAE;gBAClE,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;oBACf,IAAI,EAAE,CAAC;iBACR;qBAAM;oBACL,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACxB;aACF;QACH,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAE9B,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;YAClC,IAAI,EAAJ,UAAK,MAA8B;gBACjC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE;wBAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;oBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA6C,GAAG,CAAC,MAAM,WAAQ,CAAC,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC,IAAI,CACL,UAAA,GAAG;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClB,YAAY,EAAE,CAAC;gBACjB,CAAC,EACD,MAAM,CACP,CAAC;YACJ,CAAC;YACD,KAAK,EAAL,UAAM,KAAY;gBAChB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC7C,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC,IAAI,CACL,YAAY,EACZ,MAAM,CACP,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,SAAA;QACP,YAAY,cAAA;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,WACZ,OAAgB;IAChB,aAAwB;SAAxB,UAAwB,EAAxB,qBAAwB,EAAxB,IAAwB;QAAxB,4BAAwB;;IAExB,OAAO,kCAAkC,+BAAC,OAAO,GAAK,GAAG,GAAE,OAAO,CAAC;AACrE,CAAC","sourcesContent":["import { ObservableQuery } from '../../core/ObservableQuery';\nimport { ApolloQueryResult } from '../../core/types';\nimport { ObservableSubscription } from '../../utilities/observables/Observable';\n\n/**\n *\n * @param observable the observable query to subscribe to\n * @param shouldResolve should we resolve after seeing all our callbacks [default: true]\n * (use this if you are racing the promise against another)\n * @param wait how long to wait after seeing desired callbacks before resolving\n * [default: -1 => don't wait]\n * @param errorCallbacks an expected set of errors\n */\nexport type Options = {\n observable: ObservableQuery<any>;\n shouldResolve?: boolean;\n wait?: number;\n errorCallbacks?: ((error: Error) => any)[];\n};\n\nexport type ResultCallback = ((result: ApolloQueryResult<any>) => any);\n\n// Take an observable and N callbacks, and observe the observable,\n// ensuring it is called exactly N times, resolving once it has done so.\n// Optionally takes a timeout, which it will wait X ms after the Nth callback\n// to ensure it is not called again.\nexport function observableToPromiseAndSubscription(\n { observable, shouldResolve = true, wait = -1, errorCallbacks = [] }: Options,\n ...cbs: ResultCallback[]\n): { promise: Promise<any[]>; subscription: ObservableSubscription } {\n let subscription: ObservableSubscription = null as never;\n const promise = new Promise<any[]>((resolve, reject) => {\n let errorIndex = 0;\n let cbIndex = 0;\n const results: any[] = [];\n\n const tryToResolve = () => {\n if (!shouldResolve) {\n return;\n }\n\n const done = () => {\n subscription.unsubscribe();\n // XXX: we could pass a few other things out here?\n resolve(results);\n };\n\n if (cbIndex === cbs.length && errorIndex === errorCallbacks.length) {\n if (wait === -1) {\n done();\n } else {\n setTimeout(done, wait);\n }\n }\n };\n\n let queue = Promise.resolve();\n\n subscription = observable.subscribe({\n next(result: ApolloQueryResult<any>) {\n queue = queue.then(() => {\n const cb = cbs[cbIndex++];\n if (cb) return cb(result);\n reject(new Error(`Observable 'next' method called more than ${cbs.length} times`));\n }).then(\n res => {\n results.push(res);\n tryToResolve();\n },\n reject,\n );\n },\n error(error: Error) {\n queue = queue.then(() => {\n const errorCb = errorCallbacks[errorIndex++];\n if (errorCb) return errorCb(error);\n reject(error);\n }).then(\n tryToResolve,\n reject,\n );\n },\n });\n });\n\n return {\n promise,\n subscription,\n };\n}\n\nexport default function(\n options: Options,\n ...cbs: ResultCallback[]\n): Promise<any[]> {\n return observableToPromiseAndSubscription(options, ...cbs).promise;\n}\n"]}
1
+ {"version":3,"file":"observableToPromise.js","sourceRoot":"","sources":["../../../src/utilities/testing/observableToPromise.ts"],"names":[],"mappings":";AA0BA,MAAM,UAAU,kCAAkC,CAChD,EAA6E;QAA3E,UAAU,gBAAA,EAAE,qBAAoB,EAApB,aAAa,mBAAG,IAAI,KAAA,EAAE,YAAS,EAAT,IAAI,mBAAG,CAAC,CAAC,KAAA,EAAE,sBAAmB,EAAnB,cAAc,mBAAG,EAAE,KAAA;IAClE,aAAwB;SAAxB,UAAwB,EAAxB,qBAAwB,EAAxB,IAAwB;QAAxB,4BAAwB;;IAExB,IAAI,YAAY,GAA2B,IAAa,CAAC;IACzD,IAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,UAAC,OAAO,EAAE,MAAM;QACjD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAM,OAAO,GAAU,EAAE,CAAC;QAE1B,IAAM,YAAY,GAAG;YACnB,IAAI,CAAC,aAAa,EAAE;gBAClB,OAAO;aACR;YAED,IAAM,IAAI,GAAG;gBACX,YAAY,CAAC,WAAW,EAAE,CAAC;gBAE3B,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CAAC;YAEF,IAAI,OAAO,KAAK,GAAG,CAAC,MAAM,IAAI,UAAU,KAAK,cAAc,CAAC,MAAM,EAAE;gBAClE,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;oBACf,IAAI,EAAE,CAAC;iBACR;qBAAM;oBACL,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACxB;aACF;QACH,CAAC,CAAC;QAEF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAE9B,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;YAClC,IAAI,EAAJ,UAAK,MAA8B;gBACjC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAM,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1B,IAAI,EAAE;wBAAE,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;oBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA6C,GAAG,CAAC,MAAM,WAAQ,CAAC,CAAC,CAAC;gBACrF,CAAC,CAAC,CAAC,IAAI,CACL,UAAA,GAAG;oBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClB,YAAY,EAAE,CAAC;gBACjB,CAAC,EACD,MAAM,CACP,CAAC;YACJ,CAAC;YACD,KAAK,EAAL,UAAM,KAAY;gBAChB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;oBACjB,IAAM,OAAO,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC7C,IAAI,OAAO;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC,IAAI,CACL,YAAY,EACZ,MAAM,CACP,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,SAAA;QACP,YAAY,cAAA;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,WACZ,OAAgB;IAChB,aAAwB;SAAxB,UAAwB,EAAxB,qBAAwB,EAAxB,IAAwB;QAAxB,4BAAwB;;IAExB,OAAO,kCAAkC,8BAAC,OAAO,GAAK,GAAG,GAAE,OAAO,CAAC;AACrE,CAAC","sourcesContent":["import { ObservableQuery } from '../../core/ObservableQuery';\nimport { ApolloQueryResult } from '../../core/types';\nimport { ObservableSubscription } from '../../utilities/observables/Observable';\n\n/**\n *\n * @param observable the observable query to subscribe to\n * @param shouldResolve should we resolve after seeing all our callbacks [default: true]\n * (use this if you are racing the promise against another)\n * @param wait how long to wait after seeing desired callbacks before resolving\n * [default: -1 => don't wait]\n * @param errorCallbacks an expected set of errors\n */\nexport type Options = {\n observable: ObservableQuery<any>;\n shouldResolve?: boolean;\n wait?: number;\n errorCallbacks?: ((error: Error) => any)[];\n};\n\nexport type ResultCallback = ((result: ApolloQueryResult<any>) => any);\n\n// Take an observable and N callbacks, and observe the observable,\n// ensuring it is called exactly N times, resolving once it has done so.\n// Optionally takes a timeout, which it will wait X ms after the Nth callback\n// to ensure it is not called again.\nexport function observableToPromiseAndSubscription(\n { observable, shouldResolve = true, wait = -1, errorCallbacks = [] }: Options,\n ...cbs: ResultCallback[]\n): { promise: Promise<any[]>; subscription: ObservableSubscription } {\n let subscription: ObservableSubscription = null as never;\n const promise = new Promise<any[]>((resolve, reject) => {\n let errorIndex = 0;\n let cbIndex = 0;\n const results: any[] = [];\n\n const tryToResolve = () => {\n if (!shouldResolve) {\n return;\n }\n\n const done = () => {\n subscription.unsubscribe();\n // XXX: we could pass a few other things out here?\n resolve(results);\n };\n\n if (cbIndex === cbs.length && errorIndex === errorCallbacks.length) {\n if (wait === -1) {\n done();\n } else {\n setTimeout(done, wait);\n }\n }\n };\n\n let queue = Promise.resolve();\n\n subscription = observable.subscribe({\n next(result: ApolloQueryResult<any>) {\n queue = queue.then(() => {\n const cb = cbs[cbIndex++];\n if (cb) return cb(result);\n reject(new Error(`Observable 'next' method called more than ${cbs.length} times`));\n }).then(\n res => {\n results.push(res);\n tryToResolve();\n },\n reject,\n );\n },\n error(error: Error) {\n queue = queue.then(() => {\n const errorCb = errorCallbacks[errorIndex++];\n if (errorCb) return errorCb(error);\n reject(error);\n }).then(\n tryToResolve,\n reject,\n );\n },\n });\n });\n\n return {\n promise,\n subscription,\n };\n}\n\nexport default function(\n options: Options,\n ...cbs: ResultCallback[]\n): Promise<any[]> {\n return observableToPromiseAndSubscription(options, ...cbs).promise;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare function withErrorSpy<TArgs extends any[], TResult>(it: (...args: TArgs) => TResult, ...args: TArgs): TResult;
2
+ export declare function withWarningSpy<TArgs extends any[], TResult>(it: (...args: TArgs) => TResult, ...args: TArgs): TResult;
3
+ export declare function withLogSpy<TArgs extends any[], TResult>(it: (...args: TArgs) => TResult, ...args: TArgs): TResult;
4
+ //# sourceMappingURL=withConsoleSpy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withConsoleSpy.d.ts","sourceRoot":"","sources":["../../../src/utilities/testing/withConsoleSpy.ts"],"names":[],"mappings":"AAiBA,wBAAgB,YAAY,CAC1B,KAAK,SAAS,GAAG,EAAE,EACnB,OAAO,EAEP,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,GAAG,IAAI,EAAE,KAAK,WAIf;AAED,wBAAgB,cAAc,CAC5B,KAAK,SAAS,GAAG,EAAE,EACnB,OAAO,EAEP,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,GAAG,IAAI,EAAE,KAAK,WAIf;AAED,wBAAgB,UAAU,CACxB,KAAK,SAAS,GAAG,EAAE,EACnB,OAAO,EAEP,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,GAAG,IAAI,EAAE,KAAK,WAIf"}
@@ -0,0 +1,39 @@
1
+ function wrapTestFunction(fn, consoleMethodName) {
2
+ return function () {
3
+ var _this = this;
4
+ var args = arguments;
5
+ var spy = jest.spyOn(console, consoleMethodName);
6
+ spy.mockImplementation(function () { });
7
+ return new Promise(function (resolve) {
8
+ resolve(fn === null || fn === void 0 ? void 0 : fn.apply(_this, args));
9
+ }).finally(function () {
10
+ expect(spy).toMatchSnapshot();
11
+ spy.mockReset();
12
+ });
13
+ };
14
+ }
15
+ export function withErrorSpy(it) {
16
+ var args = [];
17
+ for (var _i = 1; _i < arguments.length; _i++) {
18
+ args[_i - 1] = arguments[_i];
19
+ }
20
+ args[1] = wrapTestFunction(args[1], "error");
21
+ return it.apply(void 0, args);
22
+ }
23
+ export function withWarningSpy(it) {
24
+ var args = [];
25
+ for (var _i = 1; _i < arguments.length; _i++) {
26
+ args[_i - 1] = arguments[_i];
27
+ }
28
+ args[1] = wrapTestFunction(args[1], "warn");
29
+ return it.apply(void 0, args);
30
+ }
31
+ export function withLogSpy(it) {
32
+ var args = [];
33
+ for (var _i = 1; _i < arguments.length; _i++) {
34
+ args[_i - 1] = arguments[_i];
35
+ }
36
+ args[1] = wrapTestFunction(args[1], "log");
37
+ return it.apply(void 0, args);
38
+ }
39
+ //# sourceMappingURL=withConsoleSpy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withConsoleSpy.js","sourceRoot":"","sources":["../../../src/utilities/testing/withConsoleSpy.ts"],"names":[],"mappings":"AAAA,SAAS,gBAAgB,CACvB,EAA2B,EAC3B,iBAA2C;IAE3C,OAAO;QAAA,iBAUN;QATC,IAAM,IAAI,GAAG,SAAS,CAAC;QACvB,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACnD,GAAG,CAAC,kBAAkB,CAAC,cAAO,CAAC,CAAC,CAAC;QACjC,OAAO,IAAI,OAAO,CAAC,UAAA,OAAO;YACxB,OAAO,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAC,KAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC;YACT,MAAM,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAI1B,EAA+B;IAC/B,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,6BAAc;;IAEd,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,EAAE,eAAI,IAAI,EAAE;AACrB,CAAC;AAED,MAAM,UAAU,cAAc,CAI5B,EAA+B;IAC/B,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,6BAAc;;IAEd,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,eAAI,IAAI,EAAE;AACrB,CAAC;AAED,MAAM,UAAU,UAAU,CAIxB,EAA+B;IAC/B,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,6BAAc;;IAEd,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,EAAE,eAAI,IAAI,EAAE;AACrB,CAAC","sourcesContent":["function wrapTestFunction(\n fn: (...args: any[]) => any,\n consoleMethodName: \"log\" | \"warn\" | \"error\",\n) {\n return function () {\n const args = arguments;\n const spy = jest.spyOn(console, consoleMethodName);\n spy.mockImplementation(() => {});\n return new Promise(resolve => {\n resolve(fn?.apply(this, args));\n }).finally(() => {\n expect(spy).toMatchSnapshot();\n spy.mockReset();\n });\n };\n}\n\nexport function withErrorSpy<\n TArgs extends any[],\n TResult,\n>(\n it: (...args: TArgs) => TResult,\n ...args: TArgs\n) {\n args[1] = wrapTestFunction(args[1], \"error\");\n return it(...args);\n}\n\nexport function withWarningSpy<\n TArgs extends any[],\n TResult,\n>(\n it: (...args: TArgs) => TResult,\n ...args: TArgs\n) {\n args[1] = wrapTestFunction(args[1], \"warn\");\n return it(...args);\n}\n\nexport function withLogSpy<\n TArgs extends any[],\n TResult,\n>(\n it: (...args: TArgs) => TResult,\n ...args: TArgs\n) {\n args[1] = wrapTestFunction(args[1], \"log\");\n return it(...args);\n}\n"]}
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=IsStrictlyAny.js.map
@@ -2,8 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var graphql = require('graphql');
6
5
  var tsInvariant = require('ts-invariant');
6
+ var process$1 = require('ts-invariant/process');
7
+ var graphql = require('graphql');
7
8
  var tslib = require('tslib');
8
9
  var zenObservableTs = require('zen-observable-ts');
9
10
  require('symbol-observable');
@@ -21,34 +22,30 @@ var global$1 = (maybe(function () { return globalThis; }) ||
21
22
  maybe(function () { return global; }) ||
22
23
  maybe(function () { return Function("return this")(); }));
23
24
 
25
+ var __ = "__";
26
+ var GLOBAL_KEY = [__, __].join("DEV");
24
27
  function getDEV() {
25
28
  try {
26
29
  return Boolean(__DEV__);
27
30
  }
28
31
  catch (_a) {
29
- var maybeNodeEnv = maybe(function () { return process.env.NODE_ENV; });
30
- var runningInNode = !!maybe(function () { return process.versions.node; });
31
- Object.defineProperty(global$1, "__DEV__", {
32
- value: maybeNodeEnv !== "production",
32
+ Object.defineProperty(global$1, GLOBAL_KEY, {
33
+ value: maybe(function () { return process.env.NODE_ENV; }) !== "production",
33
34
  enumerable: false,
34
35
  configurable: true,
35
36
  writable: true,
36
37
  });
37
- if (maybeNodeEnv && !runningInNode) {
38
- __DEV__ && tsInvariant.invariant.log([
39
- "Apollo Client has provided a default value for the __DEV__ constant " +
40
- ("(" + global$1.__DEV__ + "), but you may be able to reduce production bundle ") +
41
- "sizes by configuring your JavaScript minifier to replace __DEV__ with " +
42
- "false, allowing development-only code to be stripped from the bundle.",
43
- "",
44
- "For more information about the switch to __DEV__, see " +
45
- "https://github.com/apollographql/apollo-client/pull/8347.",
46
- ].join("\n"));
47
- }
48
- return global$1.__DEV__;
38
+ return global$1[GLOBAL_KEY];
49
39
  }
50
40
  }
51
- var __DEV__$1 = getDEV();
41
+ var DEV = getDEV();
42
+
43
+ function removeTemporaryGlobals() {
44
+ graphql.isType(null);
45
+ return process$1.remove();
46
+ }
47
+
48
+ removeTemporaryGlobals();
52
49
 
53
50
  function shouldInclude(_a, variables) {
54
51
  var directives = _a.directives;
@@ -60,7 +57,7 @@ function shouldInclude(_a, variables) {
60
57
  var evaledValue = false;
61
58
  if (ifArgument.value.kind === 'Variable') {
62
59
  evaledValue = variables && variables[ifArgument.value.name.value];
63
- __DEV__ ? tsInvariant.invariant(evaledValue !== void 0, "Invalid variable referenced in @" + directive.name.value + " directive.") : tsInvariant.invariant(evaledValue !== void 0, 39);
60
+ __DEV__ ? tsInvariant.invariant(evaledValue !== void 0, "Invalid variable referenced in @" + directive.name.value + " directive.") : tsInvariant.invariant(evaledValue !== void 0, 43);
64
61
  }
65
62
  else {
66
63
  evaledValue = ifArgument.value.value;
@@ -97,13 +94,13 @@ function getInclusionDirectives(directives) {
97
94
  return;
98
95
  var directiveArguments = directive.arguments;
99
96
  var directiveName = directive.name.value;
100
- __DEV__ ? tsInvariant.invariant(directiveArguments && directiveArguments.length === 1, "Incorrect number of arguments for the @" + directiveName + " directive.") : tsInvariant.invariant(directiveArguments && directiveArguments.length === 1, 40);
97
+ __DEV__ ? tsInvariant.invariant(directiveArguments && directiveArguments.length === 1, "Incorrect number of arguments for the @" + directiveName + " directive.") : tsInvariant.invariant(directiveArguments && directiveArguments.length === 1, 44);
101
98
  var ifArgument = directiveArguments[0];
102
- __DEV__ ? tsInvariant.invariant(ifArgument.name && ifArgument.name.value === 'if', "Invalid argument for the @" + directiveName + " directive.") : tsInvariant.invariant(ifArgument.name && ifArgument.name.value === 'if', 41);
99
+ __DEV__ ? tsInvariant.invariant(ifArgument.name && ifArgument.name.value === 'if', "Invalid argument for the @" + directiveName + " directive.") : tsInvariant.invariant(ifArgument.name && ifArgument.name.value === 'if', 45);
103
100
  var ifValue = ifArgument.value;
104
101
  __DEV__ ? tsInvariant.invariant(ifValue &&
105
102
  (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), "Argument for the @" + directiveName + " directive must be a variable or a boolean value.") : tsInvariant.invariant(ifValue &&
106
- (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 42);
103
+ (ifValue.kind === 'Variable' || ifValue.kind === 'BooleanValue'), 46);
107
104
  result.push({ directive: directive, ifArgument: ifArgument });
108
105
  });
109
106
  }
@@ -116,17 +113,17 @@ function getFragmentQueryDocument(document, fragmentName) {
116
113
  document.definitions.forEach(function (definition) {
117
114
  if (definition.kind === 'OperationDefinition') {
118
115
  throw __DEV__ ? new tsInvariant.InvariantError("Found a " + definition.operation + " operation" + (definition.name ? " named '" + definition.name.value + "'" : '') + ". " +
119
- 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new tsInvariant.InvariantError(43);
116
+ 'No operations are allowed when using a fragment as a query. Only fragments are allowed.') : new tsInvariant.InvariantError(47);
120
117
  }
121
118
  if (definition.kind === 'FragmentDefinition') {
122
119
  fragments.push(definition);
123
120
  }
124
121
  });
125
122
  if (typeof actualFragmentName === 'undefined') {
126
- __DEV__ ? tsInvariant.invariant(fragments.length === 1, "Found " + fragments.length + " fragments. `fragmentName` must be provided when there is not exactly 1 fragment.") : tsInvariant.invariant(fragments.length === 1, 44);
123
+ __DEV__ ? tsInvariant.invariant(fragments.length === 1, "Found " + fragments.length + " fragments. `fragmentName` must be provided when there is not exactly 1 fragment.") : tsInvariant.invariant(fragments.length === 1, 48);
127
124
  actualFragmentName = fragments[0].name.value;
128
125
  }
129
- var query = tslib.__assign(tslib.__assign({}, document), { definitions: tslib.__spreadArrays([
126
+ var query = tslib.__assign(tslib.__assign({}, document), { definitions: tslib.__spreadArray([
130
127
  {
131
128
  kind: 'OperationDefinition',
132
129
  operation: 'query',
@@ -160,7 +157,7 @@ function getFragmentFromSelection(selection, fragmentMap) {
160
157
  return selection;
161
158
  case 'FragmentSpread': {
162
159
  var fragment = fragmentMap && fragmentMap[selection.name.value];
163
- __DEV__ ? tsInvariant.invariant(fragment, "No fragment named " + selection.name.value + ".") : tsInvariant.invariant(fragment, 45);
160
+ __DEV__ ? tsInvariant.invariant(fragment, "No fragment named " + selection.name.value + ".") : tsInvariant.invariant(fragment, 49);
164
161
  return fragment;
165
162
  }
166
163
  default:
@@ -244,7 +241,7 @@ function valueToObjectRepresentation(argObj, name, value, variables) {
244
241
  else {
245
242
  throw __DEV__ ? new tsInvariant.InvariantError("The inline argument \"" + name.value + "\" of kind \"" + value.kind + "\"" +
246
243
  'is not supported. Use variables instead of inline arguments to ' +
247
- 'overcome this limitation.') : new tsInvariant.InvariantError(54);
244
+ 'overcome this limitation.') : new tsInvariant.InvariantError(58);
248
245
  }
249
246
  }
250
247
  function storeKeyNameFromField(field, variables) {
@@ -378,16 +375,16 @@ function isInlineFragment(selection) {
378
375
  }
379
376
 
380
377
  function checkDocument(doc) {
381
- __DEV__ ? tsInvariant.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") : tsInvariant.invariant(doc && doc.kind === 'Document', 46);
378
+ __DEV__ ? tsInvariant.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") : tsInvariant.invariant(doc && doc.kind === 'Document', 50);
382
379
  var operations = doc.definitions
383
380
  .filter(function (d) { return d.kind !== 'FragmentDefinition'; })
384
381
  .map(function (definition) {
385
382
  if (definition.kind !== 'OperationDefinition') {
386
- throw __DEV__ ? new tsInvariant.InvariantError("Schema type definitions not allowed in queries. Found: \"" + definition.kind + "\"") : new tsInvariant.InvariantError(47);
383
+ throw __DEV__ ? new tsInvariant.InvariantError("Schema type definitions not allowed in queries. Found: \"" + definition.kind + "\"") : new tsInvariant.InvariantError(51);
387
384
  }
388
385
  return definition;
389
386
  });
390
- __DEV__ ? tsInvariant.invariant(operations.length <= 1, "Ambiguous GraphQL document: contains " + operations.length + " operations") : tsInvariant.invariant(operations.length <= 1, 48);
387
+ __DEV__ ? tsInvariant.invariant(operations.length <= 1, "Ambiguous GraphQL document: contains " + operations.length + " operations") : tsInvariant.invariant(operations.length <= 1, 52);
391
388
  return doc;
392
389
  }
393
390
  function getOperationDefinition(doc) {
@@ -406,14 +403,14 @@ function getFragmentDefinitions(doc) {
406
403
  }
407
404
  function getQueryDefinition(doc) {
408
405
  var queryDef = getOperationDefinition(doc);
409
- __DEV__ ? tsInvariant.invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : tsInvariant.invariant(queryDef && queryDef.operation === 'query', 49);
406
+ __DEV__ ? tsInvariant.invariant(queryDef && queryDef.operation === 'query', 'Must contain a query definition.') : tsInvariant.invariant(queryDef && queryDef.operation === 'query', 53);
410
407
  return queryDef;
411
408
  }
412
409
  function getFragmentDefinition(doc) {
413
- __DEV__ ? tsInvariant.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") : tsInvariant.invariant(doc.kind === 'Document', 50);
414
- __DEV__ ? tsInvariant.invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : tsInvariant.invariant(doc.definitions.length <= 1, 51);
410
+ __DEV__ ? tsInvariant.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") : tsInvariant.invariant(doc.kind === 'Document', 54);
411
+ __DEV__ ? tsInvariant.invariant(doc.definitions.length <= 1, 'Fragment must have exactly one definition.') : tsInvariant.invariant(doc.definitions.length <= 1, 55);
415
412
  var fragmentDef = doc.definitions[0];
416
- __DEV__ ? tsInvariant.invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : tsInvariant.invariant(fragmentDef.kind === 'FragmentDefinition', 52);
413
+ __DEV__ ? tsInvariant.invariant(fragmentDef.kind === 'FragmentDefinition', 'Must be a fragment definition.') : tsInvariant.invariant(fragmentDef.kind === 'FragmentDefinition', 56);
417
414
  return fragmentDef;
418
415
  }
419
416
  function getMainDefinition(queryDoc) {
@@ -436,7 +433,7 @@ function getMainDefinition(queryDoc) {
436
433
  if (fragmentDefinition) {
437
434
  return fragmentDefinition;
438
435
  }
439
- throw __DEV__ ? new tsInvariant.InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new tsInvariant.InvariantError(53);
436
+ throw __DEV__ ? new tsInvariant.InvariantError('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.') : new tsInvariant.InvariantError(57);
440
437
  }
441
438
  function getDefaultValues(definition) {
442
439
  var defaultValues = Object.create(null);
@@ -579,7 +576,7 @@ var addTypenameToDocument = Object.assign(function (doc) {
579
576
  field.directives.some(function (d) { return d.name.value === 'export'; })) {
580
577
  return;
581
578
  }
582
- return tslib.__assign(tslib.__assign({}, node), { selections: tslib.__spreadArrays(selections, [TYPENAME_FIELD]) });
579
+ return tslib.__assign(tslib.__assign({}, node), { selections: tslib.__spreadArray(tslib.__spreadArray([], selections), [TYPENAME_FIELD]) });
583
580
  },
584
581
  },
585
582
  });
@@ -758,7 +755,7 @@ var DeepMerger = (function () {
758
755
  if (hasOwnProperty.call(target, sourceKey)) {
759
756
  var targetValue = target[sourceKey];
760
757
  if (source[sourceKey] !== targetValue) {
761
- var result = _this.reconciler.apply(_this, tslib.__spreadArrays([target, source, sourceKey], context));
758
+ var result = _this.reconciler.apply(_this, tslib.__spreadArray([target, source, sourceKey], context));
762
759
  if (result !== targetValue) {
763
760
  target = _this.shallowCopyForMerge(target);
764
761
  target[sourceKey] = result;
@@ -794,7 +791,7 @@ function concatPagination(keyArgs) {
794
791
  return {
795
792
  keyArgs: keyArgs,
796
793
  merge: function (existing, incoming) {
797
- return existing ? tslib.__spreadArrays(existing, incoming) : incoming;
794
+ return existing ? tslib.__spreadArray(tslib.__spreadArray([], existing), incoming) : incoming;
798
795
  },
799
796
  };
800
797
  }
@@ -827,19 +824,19 @@ function relayStylePagination(keyArgs) {
827
824
  if (!existing)
828
825
  return;
829
826
  var edges = [];
830
- var startCursor = "";
831
- var endCursor = "";
827
+ var firstEdgeCursor = "";
828
+ var lastEdgeCursor = "";
832
829
  existing.edges.forEach(function (edge) {
833
830
  if (canRead(readField("node", edge))) {
834
831
  edges.push(edge);
835
832
  if (edge.cursor) {
836
- startCursor = startCursor || edge.cursor;
837
- endCursor = edge.cursor;
833
+ firstEdgeCursor = firstEdgeCursor || edge.cursor || "";
834
+ lastEdgeCursor = edge.cursor || lastEdgeCursor;
838
835
  }
839
836
  }
840
837
  });
841
- return tslib.__assign(tslib.__assign({}, getExtras(existing)), { edges: edges, pageInfo: tslib.__assign(tslib.__assign({}, existing.pageInfo), { startCursor: startCursor,
842
- endCursor: endCursor }) });
838
+ var _b = existing.pageInfo || {}, startCursor = _b.startCursor, endCursor = _b.endCursor;
839
+ return tslib.__assign(tslib.__assign({}, getExtras(existing)), { edges: edges, pageInfo: tslib.__assign(tslib.__assign({}, existing.pageInfo), { startCursor: startCursor || firstEdgeCursor, endCursor: endCursor || lastEdgeCursor }) });
843
840
  },
844
841
  merge: function (existing, incoming, _a) {
845
842
  if (existing === void 0) { existing = makeEmptyData(); }
@@ -894,7 +891,7 @@ function relayStylePagination(keyArgs) {
894
891
  else if (incoming.edges) {
895
892
  prefix = [];
896
893
  }
897
- var edges = tslib.__spreadArrays(prefix, incomingEdges, suffix);
894
+ var edges = tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], prefix), incomingEdges), suffix);
898
895
  var pageInfo = tslib.__assign(tslib.__assign({}, incoming.pageInfo), existing.pageInfo);
899
896
  if (incoming.pageInfo) {
900
897
  var _b = incoming.pageInfo, hasPreviousPage = _b.hasPreviousPage, hasNextPage = _b.hasNextPage, startCursor = _b.startCursor, endCursor = _b.endCursor, extras = tslib.__rest(_b, ["hasPreviousPage", "hasNextPage", "startCursor", "endCursor"]);
@@ -912,8 +909,7 @@ function relayStylePagination(keyArgs) {
912
909
  pageInfo.endCursor = endCursor;
913
910
  }
914
911
  }
915
- return tslib.__assign(tslib.__assign(tslib.__assign({}, getExtras(existing)), getExtras(incoming)), { edges: edges,
916
- pageInfo: pageInfo });
912
+ return tslib.__assign(tslib.__assign(tslib.__assign({}, getExtras(existing)), getExtras(incoming)), { edges: edges, pageInfo: pageInfo });
917
913
  },
918
914
  };
919
915
  }
@@ -1191,6 +1187,7 @@ function graphQLResultHasError(result) {
1191
1187
 
1192
1188
  var canUseWeakMap = typeof WeakMap === 'function' && !(typeof navigator === 'object' &&
1193
1189
  navigator.product === 'ReactNative');
1190
+ var canUseWeakSet = typeof WeakSet === 'function';
1194
1191
 
1195
1192
  function compact() {
1196
1193
  var objects = [];
@@ -1218,15 +1215,25 @@ function makeUniqueId(prefix) {
1218
1215
  return prefix + ":" + count + ":" + Math.random().toString(36).slice(2);
1219
1216
  }
1220
1217
 
1218
+ function stringifyForDisplay(value) {
1219
+ var undefId = makeUniqueId("stringifyForDisplay");
1220
+ return JSON.stringify(value, function (key, value) {
1221
+ return value === void 0 ? undefId : value;
1222
+ }).split(JSON.stringify(undefId)).join("<undefined>");
1223
+ }
1224
+
1225
+ __DEV__ ? tsInvariant.invariant("boolean" === typeof DEV, DEV) : tsInvariant.invariant("boolean" === typeof DEV, 59);
1226
+
1221
1227
  exports.Observable = zenObservableTs.Observable;
1222
1228
  exports.Concast = Concast;
1229
+ exports.DEV = DEV;
1223
1230
  exports.DeepMerger = DeepMerger;
1224
- exports.__DEV__ = __DEV__$1;
1225
1231
  exports.addTypenameToDocument = addTypenameToDocument;
1226
1232
  exports.argumentsObjectFromField = argumentsObjectFromField;
1227
1233
  exports.asyncMap = asyncMap;
1228
1234
  exports.buildQueryFromSelectionSet = buildQueryFromSelectionSet;
1229
1235
  exports.canUseWeakMap = canUseWeakMap;
1236
+ exports.canUseWeakSet = canUseWeakSet;
1230
1237
  exports.checkDocument = checkDocument;
1231
1238
  exports.cloneDeep = cloneDeep;
1232
1239
  exports.compact = compact;
@@ -1271,5 +1278,6 @@ exports.removeFragmentSpreadFromDocument = removeFragmentSpreadFromDocument;
1271
1278
  exports.resultKeyNameFromField = resultKeyNameFromField;
1272
1279
  exports.shouldInclude = shouldInclude;
1273
1280
  exports.storeKeyNameFromField = storeKeyNameFromField;
1281
+ exports.stringifyForDisplay = stringifyForDisplay;
1274
1282
  exports.valueToObjectRepresentation = valueToObjectRepresentation;
1275
1283
  //# sourceMappingURL=utilities.cjs.js.map