@apollo/client 3.5.0-beta.12 → 3.5.0-beta.16

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 (190) hide show
  1. package/apollo-client.cjs +160 -120
  2. package/apollo-client.cjs.map +1 -1
  3. package/apollo-client.min.cjs +1 -0
  4. package/cache/cache.cjs +86 -65
  5. package/cache/cache.cjs.map +1 -1
  6. package/cache/core/cache.d.ts +4 -4
  7. package/cache/core/cache.d.ts.map +1 -1
  8. package/cache/core/cache.js +24 -13
  9. package/cache/core/cache.js.map +1 -1
  10. package/cache/core/types/Cache.d.ts +10 -10
  11. package/cache/core/types/Cache.d.ts.map +1 -1
  12. package/cache/core/types/Cache.js.map +1 -1
  13. package/cache/core/types/common.d.ts +8 -5
  14. package/cache/core/types/common.d.ts.map +1 -1
  15. package/cache/core/types/common.js +6 -11
  16. package/cache/core/types/common.js.map +1 -1
  17. package/cache/inmemory/entityStore.js.map +1 -1
  18. package/cache/inmemory/inMemoryCache.d.ts +4 -4
  19. package/cache/inmemory/inMemoryCache.d.ts.map +1 -1
  20. package/cache/inmemory/inMemoryCache.js +3 -1
  21. package/cache/inmemory/inMemoryCache.js.map +1 -1
  22. package/cache/inmemory/readFromStore.d.ts +2 -2
  23. package/cache/inmemory/readFromStore.d.ts.map +1 -1
  24. package/cache/inmemory/readFromStore.js +54 -42
  25. package/cache/inmemory/readFromStore.js.map +1 -1
  26. package/cache/inmemory/writeToStore.js +1 -1
  27. package/core/ApolloClient.js +2 -2
  28. package/core/ApolloClient.js.map +1 -1
  29. package/core/LocalState.js +1 -1
  30. package/core/ObservableQuery.d.ts +2 -1
  31. package/core/ObservableQuery.d.ts.map +1 -1
  32. package/core/ObservableQuery.js +3 -3
  33. package/core/ObservableQuery.js.map +1 -1
  34. package/core/QueryInfo.d.ts.map +1 -1
  35. package/core/QueryInfo.js.map +1 -1
  36. package/core/QueryManager.js +8 -8
  37. package/core/core.cjs +15 -15
  38. package/core/core.cjs.map +1 -1
  39. package/core/watchQueryOptions.js.map +1 -1
  40. package/invariantErrorCodes.js +52 -65
  41. package/link/core/ApolloLink.js +1 -1
  42. package/link/core/core.cjs +1 -1
  43. package/link/core/core.cjs.map +1 -1
  44. package/link/http/checkFetcher.js +1 -1
  45. package/link/http/http.cjs +2 -2
  46. package/link/http/http.cjs.map +1 -1
  47. package/link/http/serializeFetchParameter.js +1 -1
  48. package/link/persisted-queries/index.js +2 -2
  49. package/link/persisted-queries/persisted-queries.cjs +2 -2
  50. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  51. package/link/utils/utils.cjs +1 -1
  52. package/link/utils/utils.cjs.map +1 -1
  53. package/link/utils/validateOperation.js +1 -1
  54. package/package.json +8 -8
  55. package/react/context/ApolloConsumer.js +1 -1
  56. package/react/context/ApolloContext.d.ts.map +1 -1
  57. package/react/context/ApolloContext.js +11 -5
  58. package/react/context/ApolloContext.js.map +1 -1
  59. package/react/context/ApolloProvider.js +1 -1
  60. package/react/context/context.cjs +12 -6
  61. package/react/context/context.cjs.map +1 -1
  62. package/react/hoc/hoc-utils.js +1 -1
  63. package/react/hoc/hoc.cjs +10 -7
  64. package/react/hoc/hoc.cjs.map +1 -1
  65. package/react/hoc/subscription-hoc.d.ts.map +1 -1
  66. package/react/hoc/subscription-hoc.js +8 -5
  67. package/react/hoc/subscription-hoc.js.map +1 -1
  68. package/react/hoc/withApollo.js +1 -1
  69. package/react/hooks/hooks.cjs +1 -1
  70. package/react/hooks/hooks.cjs.map +1 -1
  71. package/react/hooks/useApolloClient.js +1 -1
  72. package/react/hooks/useQuery.d.ts +1 -1
  73. package/react/hooks/useQuery.d.ts.map +1 -1
  74. package/react/hooks/useQuery.js.map +1 -1
  75. package/react/parser/index.js +5 -5
  76. package/react/parser/index.js.map +1 -1
  77. package/react/parser/parser.cjs +5 -5
  78. package/react/parser/parser.cjs.map +1 -1
  79. package/testing/core/core.cjs +288 -0
  80. package/testing/core/core.cjs.map +1 -0
  81. package/{utilities/testing → testing/core}/index.d.ts +0 -1
  82. package/testing/core/index.d.ts.map +1 -0
  83. package/{utilities/testing → testing/core}/index.js +0 -1
  84. package/testing/core/index.js.map +1 -0
  85. package/{utilities/testing → testing/core}/itAsync.d.ts +0 -0
  86. package/testing/core/itAsync.d.ts.map +1 -0
  87. package/{utilities/testing → testing/core}/itAsync.js +0 -0
  88. package/testing/core/itAsync.js.map +1 -0
  89. package/{utilities/testing → testing/core}/mocking/mockClient.d.ts +0 -0
  90. package/testing/core/mocking/mockClient.d.ts.map +1 -0
  91. package/{utilities/testing → testing/core}/mocking/mockClient.js +0 -0
  92. package/testing/core/mocking/mockClient.js.map +1 -0
  93. package/{utilities/testing → testing/core}/mocking/mockFetch.d.ts +0 -0
  94. package/testing/core/mocking/mockFetch.d.ts.map +1 -0
  95. package/{utilities/testing → testing/core}/mocking/mockFetch.js +0 -0
  96. package/testing/core/mocking/mockFetch.js.map +1 -0
  97. package/{utilities/testing → testing/core}/mocking/mockLink.d.ts +0 -0
  98. package/testing/core/mocking/mockLink.d.ts.map +1 -0
  99. package/{utilities/testing → testing/core}/mocking/mockLink.js +3 -3
  100. package/testing/core/mocking/mockLink.js.map +1 -0
  101. package/{utilities/testing → testing/core}/mocking/mockQueryManager.d.ts +1 -1
  102. package/testing/core/mocking/mockQueryManager.d.ts.map +1 -0
  103. package/{utilities/testing → testing/core}/mocking/mockQueryManager.js +1 -1
  104. package/testing/core/mocking/mockQueryManager.js.map +1 -0
  105. package/{utilities/testing → testing/core}/mocking/mockSubscriptionLink.d.ts +0 -0
  106. package/testing/core/mocking/mockSubscriptionLink.d.ts.map +1 -0
  107. package/{utilities/testing → testing/core}/mocking/mockSubscriptionLink.js +1 -1
  108. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -0
  109. package/{utilities/testing → testing/core}/mocking/mockWatchQuery.d.ts +1 -1
  110. package/testing/core/mocking/mockWatchQuery.d.ts.map +1 -0
  111. package/{utilities/testing → testing/core}/mocking/mockWatchQuery.js +0 -0
  112. package/testing/core/mocking/mockWatchQuery.js.map +1 -0
  113. package/{utilities/testing → testing/core}/observableToPromise.d.ts +2 -3
  114. package/testing/core/observableToPromise.d.ts.map +1 -0
  115. package/{utilities/testing → testing/core}/observableToPromise.js +0 -0
  116. package/testing/core/observableToPromise.js.map +1 -0
  117. package/testing/core/package.json +8 -0
  118. package/testing/core/subscribeAndCount.d.ts +4 -0
  119. package/testing/core/subscribeAndCount.d.ts.map +1 -0
  120. package/{utilities/testing → testing/core}/subscribeAndCount.js +1 -1
  121. package/testing/core/subscribeAndCount.js.map +1 -0
  122. package/{utilities/testing → testing/core}/withConsoleSpy.d.ts +0 -0
  123. package/testing/core/withConsoleSpy.d.ts.map +1 -0
  124. package/{utilities/testing → testing/core}/withConsoleSpy.js +0 -0
  125. package/testing/core/withConsoleSpy.js.map +1 -0
  126. package/{utilities/testing → testing/core}/wrap.d.ts +0 -0
  127. package/testing/core/wrap.d.ts.map +1 -0
  128. package/{utilities/testing → testing/core}/wrap.js +0 -0
  129. package/testing/core/wrap.js.map +1 -0
  130. package/testing/index.d.ts +2 -1
  131. package/testing/index.d.ts.map +1 -1
  132. package/testing/index.js +2 -1
  133. package/testing/index.js.map +1 -1
  134. package/{utilities/testing/mocking → testing/react}/MockedProvider.d.ts +5 -5
  135. package/testing/react/MockedProvider.d.ts.map +1 -0
  136. package/{utilities/testing/mocking → testing/react}/MockedProvider.js +4 -4
  137. package/testing/react/MockedProvider.js.map +1 -0
  138. package/testing/testing.cjs +6 -330
  139. package/testing/testing.cjs.map +1 -1
  140. package/utilities/common/canUse.d.ts +1 -0
  141. package/utilities/common/canUse.d.ts.map +1 -1
  142. package/utilities/common/canUse.js +2 -0
  143. package/utilities/common/canUse.js.map +1 -1
  144. package/utilities/common/maybeDeepFreeze.d.ts.map +1 -1
  145. package/utilities/common/maybeDeepFreeze.js +14 -3
  146. package/utilities/common/maybeDeepFreeze.js.map +1 -1
  147. package/utilities/globals/globals.cjs +1 -1
  148. package/utilities/globals/globals.cjs.map +1 -1
  149. package/utilities/globals/index.js +1 -1
  150. package/utilities/graphql/directives.js +4 -4
  151. package/utilities/graphql/fragments.js +3 -3
  152. package/utilities/graphql/getFromAST.js +8 -8
  153. package/utilities/graphql/storeUtils.js +1 -1
  154. package/utilities/observables/subclassing.d.ts.map +1 -1
  155. package/utilities/observables/subclassing.js +2 -1
  156. package/utilities/observables/subclassing.js.map +1 -1
  157. package/utilities/policies/pagination.d.ts +1 -1
  158. package/utilities/policies/pagination.d.ts.map +1 -1
  159. package/utilities/policies/pagination.js +7 -2
  160. package/utilities/policies/pagination.js.map +1 -1
  161. package/utilities/utilities.cjs +45 -26
  162. package/utilities/utilities.cjs.map +1 -1
  163. package/version.js +1 -1
  164. package/utilities/testing/index.d.ts.map +0 -1
  165. package/utilities/testing/index.js.map +0 -1
  166. package/utilities/testing/itAsync.d.ts.map +0 -1
  167. package/utilities/testing/itAsync.js.map +0 -1
  168. package/utilities/testing/mocking/MockedProvider.d.ts.map +0 -1
  169. package/utilities/testing/mocking/MockedProvider.js.map +0 -1
  170. package/utilities/testing/mocking/mockClient.d.ts.map +0 -1
  171. package/utilities/testing/mocking/mockClient.js.map +0 -1
  172. package/utilities/testing/mocking/mockFetch.d.ts.map +0 -1
  173. package/utilities/testing/mocking/mockFetch.js.map +0 -1
  174. package/utilities/testing/mocking/mockLink.d.ts.map +0 -1
  175. package/utilities/testing/mocking/mockLink.js.map +0 -1
  176. package/utilities/testing/mocking/mockQueryManager.d.ts.map +0 -1
  177. package/utilities/testing/mocking/mockQueryManager.js.map +0 -1
  178. package/utilities/testing/mocking/mockSubscriptionLink.d.ts.map +0 -1
  179. package/utilities/testing/mocking/mockSubscriptionLink.js.map +0 -1
  180. package/utilities/testing/mocking/mockWatchQuery.d.ts.map +0 -1
  181. package/utilities/testing/mocking/mockWatchQuery.js.map +0 -1
  182. package/utilities/testing/observableToPromise.d.ts.map +0 -1
  183. package/utilities/testing/observableToPromise.js.map +0 -1
  184. package/utilities/testing/subscribeAndCount.d.ts +0 -5
  185. package/utilities/testing/subscribeAndCount.d.ts.map +0 -1
  186. package/utilities/testing/subscribeAndCount.js.map +0 -1
  187. package/utilities/testing/withConsoleSpy.d.ts.map +0 -1
  188. package/utilities/testing/withConsoleSpy.js.map +0 -1
  189. package/utilities/testing/wrap.d.ts.map +0 -1
  190. package/utilities/testing/wrap.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockSubscriptionLink.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockSubscriptionLink.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAA0B,MAAM,oBAAoB,CAAC;AAYxE;IAA0C,wCAAU;IAOlD;QAAA,YACE,iBAAO,SACR;QARM,mBAAa,GAAU,EAAE,CAAC;QAC1B,YAAM,GAAU,EAAE,CAAC;QAGlB,eAAS,GAAU,EAAE,CAAC;;IAI9B,CAAC;IAEM,sCAAO,GAAd,UAAe,SAAoB;QAAnC,iBASC;QARC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,UAAU,CAAc,UAAA,QAAQ;YACzC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAE,EAAH,CAAG,CAAC,CAAC;YAC9B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO;gBACL,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAE,EAAH,CAAG,CAAC,CAAC;YACvC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,6CAAc,GAArB,UAAsB,MAAgC,EAAE,QAAgB;QAAxE,iBAUC;QAVuD,yBAAA,EAAA,gBAAgB;QACtE,UAAU,CAAC;YACD,IAAA,SAAS,GAAK,KAAI,UAAT,CAAU;YAC3B,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACjE,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;gBACxB,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;oBAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACxB,CAAC;IAEM,+CAAgB,GAAvB;QACU,IAAA,SAAS,GAAK,IAAI,UAAT,CAAU;QAC3B,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACjE,SAAS,CAAC,OAAO,CAAC,UAAA,QAAQ;YACxB,IAAI,QAAQ,CAAC,QAAQ;gBAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,sCAAO,GAAd,UAAe,QAAa;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEM,4CAAa,GAApB,UAAqB,QAAa;QAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IACH,2BAAC;AAAD,CAAC,AAjDD,CAA0C,UAAU,GAiDnD;;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,oBAAoB,EAAE,CAAC;AACpC,CAAC","sourcesContent":["import { Observable } from '../../../utilities';\nimport { ApolloLink, FetchResult, Operation } from '../../../link/core';\n\nexport interface MockedSubscription {\n request: Operation;\n}\n\nexport interface MockedSubscriptionResult {\n result?: FetchResult;\n error?: Error;\n delay?: number;\n}\n\nexport class MockSubscriptionLink extends ApolloLink {\n public unsubscribers: any[] = [];\n public setups: any[] = [];\n public operation: Operation;\n\n private observers: any[] = [];\n\n constructor() {\n super();\n }\n\n public request(operation: Operation) {\n this.operation = operation;\n return new Observable<FetchResult>(observer => {\n this.setups.forEach(x => x());\n this.observers.push(observer);\n return () => {\n this.unsubscribers.forEach(x => x());\n };\n });\n }\n\n public simulateResult(result: MockedSubscriptionResult, complete = false) {\n setTimeout(() => {\n const { observers } = this;\n if (!observers.length) throw new Error('subscription torn down');\n observers.forEach(observer => {\n if (result.result && observer.next) observer.next(result.result);\n if (result.error && observer.error) observer.error(result.error);\n if (complete && observer.complete) observer.complete();\n });\n }, result.delay || 0);\n }\n\n public simulateComplete() {\n const { observers } = this;\n if (!observers.length) throw new Error('subscription torn down');\n observers.forEach(observer => {\n if (observer.complete) observer.complete();\n })\n }\n\n public onSetup(listener: any): void {\n this.setups = this.setups.concat([listener]);\n }\n\n public onUnsubscribe(listener: any): void {\n this.unsubscribers = this.unsubscribers.concat([listener]);\n }\n}\n\nexport function mockObservableLink(): MockSubscriptionLink {\n return new MockSubscriptionLink();\n}\n"]}
@@ -1 +0,0 @@
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 +0,0 @@
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,SAAC,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 +0,0 @@
1
- {"version":3,"file":"observableToPromise.d.ts","sourceRoot":"","sources":["../../../src/utilities/testing/observableToPromise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAWhF,oBAAY,OAAO,GAAG;IACpB,UAAU,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;CAC5C,CAAC;AAEF,oBAAY,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;AAMvE,wBAAgB,kCAAkC,CAChD,EAAE,UAAU,EAAE,aAAoB,EAAE,IAAS,EAAE,cAAmB,EAAE,EAAE,OAAO,EAC7E,GAAG,GAAG,EAAE,cAAc,EAAE,GACvB;IAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,sBAAsB,CAAA;CAAE,CA4DnE;AAED,MAAM,CAAC,OAAO,WACZ,OAAO,EAAE,OAAO,EAChB,GAAG,GAAG,EAAE,cAAc,EAAE,GACvB,OAAO,CAAC,GAAG,EAAE,CAAC,CAEhB"}
@@ -1 +0,0 @@
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,UAAE,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,5 +0,0 @@
1
- import { ObservableQuery } from '../../core/ObservableQuery';
2
- import { ApolloQueryResult, OperationVariables } from '../../core/types';
3
- import { ObservableSubscription } from '../../utilities/observables/Observable';
4
- export default function subscribeAndCount<TData, TVariables = OperationVariables>(reject: (reason: any) => any, observable: ObservableQuery<TData, TVariables>, cb: (handleCount: number, result: ApolloQueryResult<TData>) => any): ObservableSubscription;
5
- //# sourceMappingURL=subscribeAndCount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribeAndCount.d.ts","sourceRoot":"","sources":["../../../src/utilities/testing/subscribeAndCount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,KAAK,EACL,UAAU,GAAG,kBAAkB,EAE/B,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,EAC5B,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,EAC9C,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,GACjE,sBAAsB,CAsBxB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribeAndCount.js","sourceRoot":"","sources":["../../../src/utilities/testing/subscribeAndCount.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAIvC,MAA4B,EAC5B,UAA8C,EAC9C,EAAkE;IAGlE,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAM,YAAY,GAAG,QAAQ,CAC3B,UAAU,EACV,UAAC,MAAgC;QAG/B,OAAO,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CACF,CAAC,SAAS,CAAC,EAAE,KAAK,OAAA,EAAE,CAAC,CAAC;IAEvB,SAAS,KAAK,CAAC,CAAM;QACnB,YAAY,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,CAAC,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import { ObservableQuery } from '../../core/ObservableQuery';\nimport { ApolloQueryResult, OperationVariables } from '../../core/types';\nimport { ObservableSubscription } from '../../utilities/observables/Observable';\nimport { asyncMap } from '../../utilities/observables/asyncMap';\n\nexport default function subscribeAndCount<\n TData,\n TVariables = OperationVariables,\n>(\n reject: (reason: any) => any,\n observable: ObservableQuery<TData, TVariables>,\n cb: (handleCount: number, result: ApolloQueryResult<TData>) => any,\n): ObservableSubscription {\n // Use a Promise queue to prevent callbacks from being run out of order.\n let queue = Promise.resolve();\n let handleCount = 0;\n\n const subscription = asyncMap(\n observable,\n (result: ApolloQueryResult<TData>) => {\n // All previous asynchronous callbacks must complete before cb can\n // be invoked with this result.\n return queue = queue.then(() => {\n return cb(++handleCount, result);\n }).catch(error);\n },\n ).subscribe({ error });\n\n function error(e: any) {\n subscription.unsubscribe();\n reject(e);\n }\n\n return subscription;\n}\n"]}
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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 +0,0 @@
1
- {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../src/utilities/testing/wrap.ts"],"names":[],"mappings":"wEAGmB,GAAG,KAAK,GAAG;AAD9B,wBASE;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,OAatD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrap.js","sourceRoot":"","sources":["../../../src/utilities/testing/wrap.ts"],"names":[],"mappings":"AAEA,gBAAe,UACb,MAA4B,EAC5B,EAA+B,IAC5B,OAAA;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClB,IAAI;QACF,OAAO,EAAE,eAAI,IAAI,EAAE;KACpB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,CAAC,CAAC,CAAC;KACX;AACH,CAAC,EANI,CAMJ,EAAC;AAEF,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,KAAa;IACrD,IAAI,OAAO,GAAW,IAAa,CAAC;IACpC,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAE/B,OAAO,CAAC,KAAK,GAAG,UAAC,CAAS,IAAK,OAAA,CAAC,OAAO,GAAG,CAAC,CAAC,EAAb,CAAa,CAAC;IAE7C,IAAI;QACF,IAAM,MAAM,GAAG,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;KACf;YAAS;QACR,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;KAC1B;AACH,CAAC","sourcesContent":["// I'm not sure why mocha doesn't provide something like this, you can't\n// always use promises\nexport default <TArgs extends any[], TResult>(\n reject: (reason: any) => any,\n cb: (...args: TArgs) => TResult,\n) => (...args: TArgs) => {\n try {\n return cb(...args);\n } catch (e) {\n reject(e);\n }\n};\n\nexport function withError(func: Function, regex: RegExp) {\n let message: string = null as never;\n const oldError = console.error;\n\n console.error = (m: string) => (message = m);\n\n try {\n const result = func();\n expect(message).toMatch(regex);\n return result;\n } finally {\n console.error = oldError;\n }\n}\n"]}