@apollo/client 3.3.0-rc.2 → 3.3.0

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.js +68 -45
  2. package/apollo-client.cjs.js.map +1 -1
  3. package/apollo-client.cjs.min.js +1 -1
  4. package/cache/cache.cjs.js +40 -14
  5. package/cache/cache.cjs.js.map +1 -1
  6. package/cache/core/cache.js.map +1 -1
  7. package/cache/core/types/Cache.js.map +1 -1
  8. package/cache/core/types/DataProxy.js.map +1 -1
  9. package/cache/core/types/common.js.map +1 -1
  10. package/cache/index.js.map +1 -1
  11. package/cache/inmemory/entityStore.d.ts.map +1 -1
  12. package/cache/inmemory/entityStore.js +11 -2
  13. package/cache/inmemory/entityStore.js.map +1 -1
  14. package/cache/inmemory/fixPolyfills.js.map +1 -1
  15. package/cache/inmemory/fixPolyfills.native.js.map +1 -1
  16. package/cache/inmemory/helpers.js.map +1 -1
  17. package/cache/inmemory/inMemoryCache.js.map +1 -1
  18. package/cache/inmemory/policies.d.ts +1 -0
  19. package/cache/inmemory/policies.d.ts.map +1 -1
  20. package/cache/inmemory/policies.js +4 -0
  21. package/cache/inmemory/policies.js.map +1 -1
  22. package/cache/inmemory/reactiveVars.d.ts +1 -0
  23. package/cache/inmemory/reactiveVars.d.ts.map +1 -1
  24. package/cache/inmemory/reactiveVars.js +25 -12
  25. package/cache/inmemory/reactiveVars.js.map +1 -1
  26. package/cache/inmemory/readFromStore.js.map +1 -1
  27. package/cache/inmemory/types.js.map +1 -1
  28. package/cache/inmemory/writeToStore.js.map +1 -1
  29. package/config/jest/setup.js.map +1 -1
  30. package/core/ApolloClient.js.map +1 -1
  31. package/core/LocalState.js.map +1 -1
  32. package/core/ObservableQuery.d.ts.map +1 -1
  33. package/core/ObservableQuery.js +3 -3
  34. package/core/ObservableQuery.js.map +1 -1
  35. package/core/QueryInfo.d.ts.map +1 -1
  36. package/core/QueryInfo.js +9 -4
  37. package/core/QueryInfo.js.map +1 -1
  38. package/core/QueryManager.js.map +1 -1
  39. package/core/Reobserver.js.map +1 -1
  40. package/core/core.cjs.js +12 -7
  41. package/core/core.cjs.js.map +1 -1
  42. package/core/index.js.map +1 -1
  43. package/core/networkStatus.js.map +1 -1
  44. package/core/types.js.map +1 -1
  45. package/core/watchQueryOptions.js.map +1 -1
  46. package/errors/index.js.map +1 -1
  47. package/index.js.map +1 -1
  48. package/invariantErrorCodes.js +1 -1
  49. package/link/batch/batchLink.js.map +1 -1
  50. package/link/batch/batching.js.map +1 -1
  51. package/link/batch/index.js.map +1 -1
  52. package/link/batch-http/batchHttpLink.js.map +1 -1
  53. package/link/batch-http/index.js.map +1 -1
  54. package/link/context/index.js.map +1 -1
  55. package/link/core/ApolloLink.js.map +1 -1
  56. package/link/core/concat.js.map +1 -1
  57. package/link/core/empty.js.map +1 -1
  58. package/link/core/execute.js.map +1 -1
  59. package/link/core/from.js.map +1 -1
  60. package/link/core/index.js.map +1 -1
  61. package/link/core/split.js.map +1 -1
  62. package/link/core/types.js.map +1 -1
  63. package/link/error/index.js.map +1 -1
  64. package/link/http/HttpLink.js.map +1 -1
  65. package/link/http/checkFetcher.js.map +1 -1
  66. package/link/http/createHttpLink.js.map +1 -1
  67. package/link/http/createSignalIfSupported.js.map +1 -1
  68. package/link/http/index.js.map +1 -1
  69. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  70. package/link/http/rewriteURIForGET.js.map +1 -1
  71. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  72. package/link/http/selectURI.js.map +1 -1
  73. package/link/http/serializeFetchParameter.js.map +1 -1
  74. package/link/persisted-queries/index.js.map +1 -1
  75. package/link/retry/delayFunction.js.map +1 -1
  76. package/link/retry/index.js.map +1 -1
  77. package/link/retry/retryFunction.js.map +1 -1
  78. package/link/retry/retryLink.js.map +1 -1
  79. package/link/schema/index.d.ts +2 -0
  80. package/link/schema/index.d.ts.map +1 -1
  81. package/link/schema/index.js +6 -3
  82. package/link/schema/index.js.map +1 -1
  83. package/link/schema/schema.cjs.js +6 -3
  84. package/link/schema/schema.cjs.js.map +1 -1
  85. package/link/utils/createOperation.js.map +1 -1
  86. package/link/utils/fromError.js.map +1 -1
  87. package/link/utils/fromPromise.js.map +1 -1
  88. package/link/utils/index.js.map +1 -1
  89. package/link/utils/throwServerError.js.map +1 -1
  90. package/link/utils/toPromise.js.map +1 -1
  91. package/link/utils/transformOperation.js.map +1 -1
  92. package/link/utils/validateOperation.js.map +1 -1
  93. package/link/ws/index.js.map +1 -1
  94. package/package.json +5 -5
  95. package/react/components/Mutation.js.map +1 -1
  96. package/react/components/Query.js.map +1 -1
  97. package/react/components/Subscription.js.map +1 -1
  98. package/react/components/index.js.map +1 -1
  99. package/react/components/types.js.map +1 -1
  100. package/react/context/ApolloConsumer.d.ts +1 -1
  101. package/react/context/ApolloConsumer.d.ts.map +1 -1
  102. package/react/context/ApolloConsumer.js +1 -1
  103. package/react/context/ApolloConsumer.js.map +1 -1
  104. package/react/context/ApolloContext.d.ts +2 -2
  105. package/react/context/ApolloContext.d.ts.map +1 -1
  106. package/react/context/ApolloContext.js +9 -15
  107. package/react/context/ApolloContext.js.map +1 -1
  108. package/react/context/ApolloProvider.d.ts +1 -1
  109. package/react/context/ApolloProvider.d.ts.map +1 -1
  110. package/react/context/ApolloProvider.js +1 -1
  111. package/react/context/ApolloProvider.js.map +1 -1
  112. package/react/context/context.cjs.js +9 -18
  113. package/react/context/context.cjs.js.map +1 -1
  114. package/react/context/index.js.map +1 -1
  115. package/react/data/MutationData.js.map +1 -1
  116. package/react/data/OperationData.js.map +1 -1
  117. package/react/data/QueryData.d.ts.map +1 -1
  118. package/react/data/QueryData.js +2 -1
  119. package/react/data/QueryData.js.map +1 -1
  120. package/react/data/SubscriptionData.js.map +1 -1
  121. package/react/data/data.cjs.js +2 -1
  122. package/react/data/data.cjs.js.map +1 -1
  123. package/react/data/index.js.map +1 -1
  124. package/react/hoc/graphql.js.map +1 -1
  125. package/react/hoc/hoc-utils.js.map +1 -1
  126. package/react/hoc/index.js.map +1 -1
  127. package/react/hoc/mutation-hoc.js.map +1 -1
  128. package/react/hoc/query-hoc.js.map +1 -1
  129. package/react/hoc/subscription-hoc.js.map +1 -1
  130. package/react/hoc/types.js.map +1 -1
  131. package/react/hoc/withApollo.js.map +1 -1
  132. package/react/hooks/hooks.cjs.js +1 -4
  133. package/react/hooks/hooks.cjs.js.map +1 -1
  134. package/react/hooks/index.js.map +1 -1
  135. package/react/hooks/useApolloClient.js +1 -1
  136. package/react/hooks/useApolloClient.js.map +1 -1
  137. package/react/hooks/useLazyQuery.js.map +1 -1
  138. package/react/hooks/useMutation.js.map +1 -1
  139. package/react/hooks/useQuery.js.map +1 -1
  140. package/react/hooks/useReactiveVar.js.map +1 -1
  141. package/react/hooks/useSubscription.js.map +1 -1
  142. package/react/hooks/utils/useBaseQuery.js.map +1 -1
  143. package/react/hooks/utils/useDeepMemo.js.map +1 -1
  144. package/react/index.js.map +1 -1
  145. package/react/parser/index.js.map +1 -1
  146. package/react/ssr/RenderPromises.js.map +1 -1
  147. package/react/ssr/getDataFromTree.js.map +1 -1
  148. package/react/ssr/index.js.map +1 -1
  149. package/react/ssr/renderToStringWithData.js.map +1 -1
  150. package/react/types/types.js.map +1 -1
  151. package/testing/index.js.map +1 -1
  152. package/utilities/common/arrays.js.map +1 -1
  153. package/utilities/common/canUse.js.map +1 -1
  154. package/utilities/common/cloneDeep.js.map +1 -1
  155. package/utilities/common/compact.js.map +1 -1
  156. package/utilities/common/environment.js.map +1 -1
  157. package/utilities/common/errorHandling.js.map +1 -1
  158. package/utilities/common/filterInPlace.js.map +1 -1
  159. package/utilities/common/maybeDeepFreeze.js.map +1 -1
  160. package/utilities/common/mergeDeep.js.map +1 -1
  161. package/utilities/graphql/directives.js.map +1 -1
  162. package/utilities/graphql/fragments.js.map +1 -1
  163. package/utilities/graphql/getFromAST.js.map +1 -1
  164. package/utilities/graphql/storeUtils.js.map +1 -1
  165. package/utilities/graphql/transform.js.map +1 -1
  166. package/utilities/index.js.map +1 -1
  167. package/utilities/observables/Concast.js.map +1 -1
  168. package/utilities/observables/Observable.js.map +1 -1
  169. package/utilities/observables/asyncMap.js.map +1 -1
  170. package/utilities/observables/iteration.js.map +1 -1
  171. package/utilities/policies/pagination.d.ts +9 -9
  172. package/utilities/policies/pagination.d.ts.map +1 -1
  173. package/utilities/policies/pagination.js +3 -2
  174. package/utilities/policies/pagination.js.map +1 -1
  175. package/utilities/testing/index.js.map +1 -1
  176. package/utilities/testing/itAsync.js.map +1 -1
  177. package/utilities/testing/mocking/MockedProvider.js.map +1 -1
  178. package/utilities/testing/mocking/mockClient.js.map +1 -1
  179. package/utilities/testing/mocking/mockFetch.js.map +1 -1
  180. package/utilities/testing/mocking/mockLink.js.map +1 -1
  181. package/utilities/testing/mocking/mockQueryManager.js.map +1 -1
  182. package/utilities/testing/mocking/mockSubscriptionLink.js.map +1 -1
  183. package/utilities/testing/mocking/mockWatchQuery.js.map +1 -1
  184. package/utilities/testing/observableToPromise.js.map +1 -1
  185. package/utilities/testing/stripSymbols.js.map +1 -1
  186. package/utilities/testing/subscribeAndCount.js.map +1 -1
  187. package/utilities/testing/wrap.js.map +1 -1
  188. package/utilities/utilities.cjs.js +2 -1
  189. package/utilities/utilities.cjs.js.map +1 -1
  190. package/version.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAML,aAAa,EACb,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAUL,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,qCAAqC,EACrC,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utilities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAML,aAAa,EACb,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,2BAA2B,EAC3B,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAUL,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,qCAAqC,EACrC,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,UAAU,EAGX,MAAM,0BAA0B,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC","sourcesContent":["export {\n DirectiveInfo,\n InclusionDirectives,\n shouldInclude,\n hasDirectives,\n hasClientExports,\n getDirectiveNames,\n getInclusionDirectives,\n} from './graphql/directives';\n\nexport {\n FragmentMap,\n createFragmentMap,\n getFragmentQueryDocument,\n getFragmentFromSelection,\n} from './graphql/fragments';\n\nexport {\n checkDocument,\n getOperationDefinition,\n getOperationName,\n getFragmentDefinitions,\n getQueryDefinition,\n getFragmentDefinition,\n getMainDefinition,\n getDefaultValues,\n} from './graphql/getFromAST';\n\nexport {\n StoreObject,\n Reference,\n StoreValue,\n Directives,\n VariableValue,\n makeReference,\n isReference,\n isField,\n isInlineFragment,\n valueToObjectRepresentation,\n storeKeyNameFromField,\n argumentsObjectFromField,\n resultKeyNameFromField,\n getStoreKeyName,\n getTypenameFromResult,\n} from './graphql/storeUtils';\n\nexport {\n RemoveNodeConfig,\n GetNodeConfig,\n RemoveDirectiveConfig,\n GetDirectiveConfig,\n RemoveArgumentsConfig,\n GetFragmentSpreadConfig,\n RemoveFragmentSpreadConfig,\n RemoveFragmentDefinitionConfig,\n RemoveVariableDefinitionConfig,\n addTypenameToDocument,\n buildQueryFromSelectionSet,\n removeDirectivesFromDocument,\n removeConnectionDirectiveFromDocument,\n removeArgumentsFromDocument,\n removeFragmentSpreadFromDocument,\n removeClientSetsFromDocument,\n} from './graphql/transform';\n\nexport {\n concatPagination,\n offsetLimitPagination,\n relayStylePagination,\n} from './policies/pagination';\n\nexport {\n Observable,\n Observer,\n ObservableSubscription\n} from './observables/Observable';\n\nexport * from './common/mergeDeep';\nexport * from './common/cloneDeep';\nexport * from './common/maybeDeepFreeze';\nexport * from './observables/iteration';\nexport * from './observables/asyncMap';\nexport * from './observables/Concast';\nexport * from './common/arrays';\nexport * from './common/errorHandling';\nexport * from './common/canUse';\nexport * from './common/compact';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Concast.js","sourceRoot":"","sources":["../../../src/utilities/observables/Concast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Concast.js","sourceRoot":"","sources":["../../../src/utilities/observables/Concast.ts"],"names":[],"mappings":"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","sourcesContent":["import { Observable, Observer, ObservableSubscription } from \"./Observable\";\nimport { iterateObserversSafely } from \"./iteration\";\n\ntype MaybeAsync<T> = T | PromiseLike<T>;\n\nfunction isPromiseLike<T>(value: MaybeAsync<T>): value is PromiseLike<T> {\n return value && typeof (value as any).then === \"function\";\n}\n\n// Any individual Source<T> can be an Observable<T> or a promise for one.\ntype Source<T> = MaybeAsync<Observable<T>>;\n\nexport type ConcastSourcesIterable<T> = Iterable<Source<T>>;\n\n// A Concast<T> observable concatenates the given sources into a single\n// non-overlapping sequence of Ts, automatically unwrapping any promises,\n// and broadcasts the T elements of that sequence to any number of\n// subscribers, all without creating a bunch of intermediary Observable\n// wrapper objects.\n//\n// Even though any number of observers can subscribe to the Concast, each\n// source observable is guaranteed to receive at most one subscribe call,\n// and the results are multicast to all observers.\n//\n// In addition to broadcasting every next/error message to this.observers,\n// the Concast stores the most recent message using this.latest, so any\n// new observers can immediately receive the latest message, even if it\n// was originally delivered in the past. This behavior means we can assume\n// every active observer in this.observers has received the same most\n// recent message.\n//\n// With the exception of this.latest replay, a Concast is a \"hot\"\n// observable in the sense that it does not replay past results from the\n// beginning of time for each new observer.\n//\n// Could we have used some existing RxJS class instead? Concast<T> is\n// similar to a BehaviorSubject<T>, because it is multicast and redelivers\n// the latest next/error message to new subscribers. Unlike Subject<T>,\n// Concast<T> does not expose an Observer<T> interface (this.handlers is\n// intentionally private), since Concast<T> gets its inputs from the\n// concatenated sources. If we ever switch to RxJS, there may be some\n// value in reusing their code, but for now we use zen-observable, which\n// does not contain any Subject implementations.\nexport class Concast<T> extends Observable<T> {\n // Active observers receiving broadcast messages. Thanks to this.latest,\n // we can assume all observers in this Set have received the same most\n // recent message, though possibly at different times in the past.\n private observers = new Set<Observer<T>>();\n\n // This property starts off undefined to indicate the initial\n // subscription has not yet begun, then points to each source\n // subscription in turn, and finally becomes null after the sources have\n // been exhausted. After that, it stays null.\n private sub?: ObservableSubscription | null;\n\n // Not only can the individual elements of the iterable be promises, but\n // also the iterable itself can be wrapped in a promise.\n constructor(sources: MaybeAsync<ConcastSourcesIterable<T>>) {\n super(observer => {\n this.addObserver(observer);\n return () => this.removeObserver(observer);\n });\n\n // Suppress rejection warnings for this.promise, since it's perfectly\n // acceptable to pay no attention to this.promise if you're consuming\n // the results through the normal observable API.\n this.promise.catch(_ => {});\n\n if (isPromiseLike(sources)) {\n sources.then(\n iterable => this.start(iterable),\n this.handlers.error,\n );\n } else {\n this.start(sources);\n }\n }\n\n // A consumable array of source observables, incrementally consumed\n // each time this.handlers.complete is called.\n private sources: Source<T>[];\n\n private start(sources: ConcastSourcesIterable<T>) {\n if (this.sub !== void 0) return;\n\n // In practice, sources is most often simply an Array of observables.\n // TODO Consider using sources[Symbol.iterator]() to take advantage\n // of the laziness of non-Array iterables.\n this.sources = Array.from(sources);\n\n // Calling this.handlers.complete() kicks off consumption of the first\n // source observable. It's tempting to do this step lazily in\n // addObserver, but this.promise can be accessed without calling\n // addObserver, so consumption needs to begin eagerly.\n this.handlers.complete();\n }\n\n private deliverLastMessage(observer: Observer<T>) {\n if (this.latest) {\n const nextOrError = this.latest[0];\n const method = observer[nextOrError];\n if (method) {\n method.call(observer, this.latest[1]);\n }\n // If the subscription is already closed, and the last message was\n // a 'next' message, simulate delivery of the final 'complete'\n // message again.\n if (this.sub === null &&\n nextOrError === \"next\" &&\n observer.complete) {\n observer.complete();\n }\n }\n }\n\n // Note: cleanup observers do not count towards this total.\n private addCount = 0;\n\n public addObserver(observer: Observer<T>) {\n if (!this.observers.has(observer)) {\n // Immediately deliver the most recent message, so we can always\n // be sure all observers have the latest information.\n this.deliverLastMessage(observer);\n this.observers.add(observer);\n ++this.addCount;\n }\n }\n\n public removeObserver(\n observer: Observer<T>,\n quietly?: boolean,\n ) {\n if (this.observers.delete(observer) &&\n --this.addCount < 1 &&\n !quietly) {\n // In case there are still any cleanup observers in this.observers,\n // and no error or completion has been broadcast yet, make sure\n // those observers receive an error that terminates them.\n this.handlers.error(new Error(\"Observable cancelled prematurely\"));\n }\n }\n\n // Any Concast object can be trivially converted to a Promise, without\n // having to create a new wrapper Observable. This promise provides an\n // easy way to observe the final state of the Concast.\n private resolve: (result?: T) => void;\n private reject: (reason: any) => void;\n public readonly promise = new Promise<T>((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n\n // Name and argument of the most recently invoked observer method, used\n // to deliver latest results immediately to new observers.\n private latest?: [\"next\" | \"error\", any];\n\n // Bound handler functions that can be reused for every internal\n // subscription.\n private handlers = {\n next: (result: T) => {\n if (this.sub !== null) {\n this.latest = [\"next\", result];\n iterateObserversSafely(this.observers, \"next\", result);\n }\n },\n\n error: (error: any) => {\n const { sub } = this;\n if (sub !== null) {\n // Delay unsubscribing from the underlying subscription slightly,\n // so that immediately subscribing another observer can keep the\n // subscription active.\n if (sub) Promise.resolve().then(() => sub.unsubscribe());\n this.sub = null;\n this.latest = [\"error\", error];\n this.reject(error);\n iterateObserversSafely(this.observers, \"error\", error);\n }\n },\n\n complete: () => {\n if (this.sub !== null) {\n const value = this.sources.shift();\n if (!value) {\n this.sub = null;\n if (this.latest &&\n this.latest[0] === \"next\") {\n this.resolve(this.latest[1]);\n } else {\n this.resolve();\n }\n // We do not store this.latest = [\"complete\"], because doing so\n // discards useful information about the previous next (or\n // error) message. Instead, if new observers subscribe after\n // this Concast has completed, they will receive the final\n // 'next' message (unless there was an error) immediately\n // followed by a 'complete' message (see addObserver).\n iterateObserversSafely(this.observers, \"complete\");\n } else if (isPromiseLike(value)) {\n value.then(obs => this.sub = obs.subscribe(this.handlers));\n } else {\n this.sub = value.subscribe(this.handlers);\n }\n }\n },\n };\n\n public cleanup(callback: () => any) {\n let called = false;\n const once = () => {\n if (!called) {\n called = true;\n // Removing a cleanup observer should not unsubscribe from the\n // underlying Observable, so the only removeObserver behavior we\n // need here is to delete observer from this.observers.\n this.observers.delete(observer);\n callback();\n }\n }\n const observer = {\n next: once,\n error: once,\n complete: once,\n };\n const count = this.addCount;\n this.addObserver(observer);\n // Normally addObserver increments this.addCount, but we can \"hide\"\n // cleanup observers by restoring this.addCount to its previous value\n // after adding any cleanup observer.\n this.addCount = count;\n }\n\n // A public way to abort observation and broadcast.\n public cancel = (reason: any) => {\n this.reject(reason);\n this.sources = [];\n this.handlers.complete();\n }\n}\n\n// Generic implementations of Observable.prototype methods like map and\n// filter need to know how to create a new Observable from a Concast.\n// Those methods assume (perhaps unwisely?) that they can call the\n// subtype's constructor with an observer registration function, but the\n// Concast constructor uses a different signature. Defining this\n// Symbol.species getter function on the Concast constructor function is\n// a hint to generic Observable code to use the default constructor\n// instead of trying to do `new Concast(observer => ...)`.\nif (typeof Symbol === \"function\" && Symbol.species) {\n Object.defineProperty(Concast, Symbol.species, {\n value: Observable,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Observable.js","sourceRoot":"","sources":["../../../src/utilities/observables/Observable.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,gBAAgB,CAAC;AAIxC,OAAO,mBAAmB,CAAC;AAe1B,UAAU,CAAC,SAAiB,CAAC,cAAc,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"Observable.js","sourceRoot":"","sources":["../../../src/utilities/observables/Observable.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,gBAAgB,CAAC;AAIxC,OAAO,mBAAmB,CAAC;AAe1B,UAAU,CAAC,SAAiB,CAAC,cAAc,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import Observable from 'zen-observable';\n\n// This simplified polyfill attempts to follow the ECMAScript Observable\n// proposal (https://github.com/zenparsing/es-observable)\nimport 'symbol-observable';\n\nexport type ObservableSubscription = ZenObservable.Subscription;\nexport type Observer<T> = ZenObservable.Observer<T>;\n\n// Use global module augmentation to add RxJS interop functionality. By\n// using this approach (instead of subclassing `Observable` and adding an\n// ['@@observable']() method), we ensure the exported `Observable` retains all\n// existing type declarations from `@types/zen-observable` (which is important\n// for projects like `apollo-link`).\ndeclare global {\n interface Observable<T> {\n ['@@observable'](): Observable<T>;\n }\n}\n(Observable.prototype as any)['@@observable'] = function () { return this; };\nexport { Observable };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"asyncMap.js","sourceRoot":"","sources":["../../../src/utilities/observables/asyncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,cAAc,CAAC;AAIpD,MAAM,UAAU,QAAQ,CACtB,UAAyB,EACzB,KAAuC,EACvC,OAA4C;IAE5C,OAAO,IAAI,UAAU,CAAI,UAAA,QAAQ;QACvB,IAAA,IAAI,GAAsB,QAAQ,KAA9B,EAAE,KAAK,GAAe,QAAQ,MAAvB,EAAE,QAAQ,GAAK,QAAQ,SAAb,CAAc;QAC3C,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS,YAAY,CACnB,QAAuC,EACvC,QAAoC;YAEpC,IAAI,QAAQ,EAAE;gBACZ,OAAO,UAAA,GAAG;oBACR,EAAE,mBAAmB,CAAC;oBACtB,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB,CAAC,CAAC,IAAI,CACjD,UAAA,MAAM;wBACJ,EAAE,mBAAmB,CAAC;wBACtB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACpC,IAAI,SAAS,EAAE;4BACb,OAAO,CAAC,QAAS,EAAE,CAAC;yBACrB;oBACH,CAAC,EACD,UAAA,CAAC;wBACC,EAAE,mBAAmB,CAAC;wBACtB,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACnC,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC;aACH;iBAAM;gBACL,OAAO,UAAA,GAAG,IAAI,OAAA,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAxC,CAAwC,CAAC;aACxD;QACH,CAAC;QAED,IAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;YACnC,QAAQ;gBACN,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,mBAAmB,EAAE;oBACxB,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACrC;YACH,CAAC;SACF,CAAC;QAEF,IAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,cAAM,OAAA,GAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"asyncMap.js","sourceRoot":"","sources":["../../../src/utilities/observables/asyncMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,cAAc,CAAC;AAIpD,MAAM,UAAU,QAAQ,CACtB,UAAyB,EACzB,KAAuC,EACvC,OAA4C;IAE5C,OAAO,IAAI,UAAU,CAAI,UAAA,QAAQ;QACvB,IAAA,IAAI,GAAsB,QAAQ,KAA9B,EAAE,KAAK,GAAe,QAAQ,MAAvB,EAAE,QAAQ,GAAK,QAAQ,SAAb,CAAc;QAC3C,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,SAAS,YAAY,CACnB,QAAuC,EACvC,QAAoC;YAEpC,IAAI,QAAQ,EAAE;gBACZ,OAAO,UAAA,GAAG;oBACR,EAAE,mBAAmB,CAAC;oBACtB,IAAI,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAtB,CAAsB,CAAC,CAAC,IAAI,CACjD,UAAA,MAAM;wBACJ,EAAE,mBAAmB,CAAC;wBACtB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACpC,IAAI,SAAS,EAAE;4BACb,OAAO,CAAC,QAAS,EAAE,CAAC;yBACrB;oBACH,CAAC,EACD,UAAA,CAAC;wBACC,EAAE,mBAAmB,CAAC;wBACtB,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACnC,CAAC,CACF,CAAC;gBACJ,CAAC,CAAC;aACH;iBAAM;gBACL,OAAO,UAAA,GAAG,IAAI,OAAA,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAxC,CAAwC,CAAC;aACxD;QACH,CAAC;QAED,IAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;YAC/B,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC;YACnC,QAAQ;gBACN,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,mBAAmB,EAAE;oBACxB,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACrC;YACH,CAAC;SACF,CAAC;QAEF,IAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,cAAM,OAAA,GAAG,CAAC,WAAW,EAAE,EAAjB,CAAiB,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { Observable, Observer } from \"./Observable\";\n\n// Like Observable.prototype.map, except that the mapping function can\n// optionally return a Promise (or be async).\nexport function asyncMap<V, R>(\n observable: Observable<V>,\n mapFn: (value: V) => R | PromiseLike<R>,\n catchFn?: (error: any) => R | PromiseLike<R>,\n): Observable<R> {\n return new Observable<R>(observer => {\n const { next, error, complete } = observer;\n let activeCallbackCount = 0;\n let completed = false;\n\n function makeCallback(\n examiner: typeof mapFn | typeof catchFn,\n delegate: typeof next | typeof error,\n ): (arg: any) => void {\n if (examiner) {\n return arg => {\n ++activeCallbackCount;\n new Promise(resolve => resolve(examiner(arg))).then(\n result => {\n --activeCallbackCount;\n next && next.call(observer, result);\n if (completed) {\n handler.complete!();\n }\n },\n e => {\n --activeCallbackCount;\n error && error.call(observer, e);\n },\n );\n };\n } else {\n return arg => delegate && delegate.call(observer, arg);\n }\n }\n\n const handler: Observer<V> = {\n next: makeCallback(mapFn, next),\n error: makeCallback(catchFn, error),\n complete() {\n completed = true;\n if (!activeCallbackCount) {\n complete && complete.call(observer);\n }\n },\n };\n\n const sub = observable.subscribe(handler);\n return () => sub.unsubscribe();\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"iteration.js","sourceRoot":"","sources":["../../../src/utilities/observables/iteration.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,SAA2B,EAC3B,MAAyB,EACzB,QAAY;IAKZ,IAAM,mBAAmB,GAAkB,EAAE,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAA5C,CAA4C,CAAC,CAAC;IACvE,mBAAmB,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAC,GAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAA9B,CAA8B,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"iteration.js","sourceRoot":"","sources":["../../../src/utilities/observables/iteration.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CACpC,SAA2B,EAC3B,MAAyB,EACzB,QAAY;IAKZ,IAAM,mBAAmB,GAAkB,EAAE,CAAC;IAC9C,SAAS,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAA,GAAG,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAA5C,CAA4C,CAAC,CAAC;IACvE,mBAAmB,CAAC,OAAO,CAAC,UAAA,GAAG,IAAI,OAAC,GAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,EAA9B,CAA8B,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { Observer } from \"./Observable\";\n\nexport function iterateObserversSafely<E, A>(\n observers: Set<Observer<E>>,\n method: keyof Observer<E>,\n argument?: A,\n) {\n // In case observers is modified during iteration, we need to commit to the\n // original elements, which also provides an opportunity to filter them down\n // to just the observers with the given method.\n const observersWithMethod: Observer<E>[] = [];\n observers.forEach(obs => obs[method] && observersWithMethod.push(obs));\n observersWithMethod.forEach(obs => (obs as any)[method](argument));\n}\n"]}
@@ -2,27 +2,27 @@ import { FieldPolicy, Reference } from '../../cache';
2
2
  declare type KeyArgs = FieldPolicy<any>["keyArgs"];
3
3
  export declare function concatPagination<T = Reference>(keyArgs?: KeyArgs): FieldPolicy<T[]>;
4
4
  export declare function offsetLimitPagination<T = Reference>(keyArgs?: KeyArgs): FieldPolicy<T[]>;
5
- declare type TEdge<TNode> = {
5
+ export declare type TRelayEdge<TNode> = {
6
6
  cursor?: string;
7
7
  node: TNode;
8
8
  } | (Reference & {
9
9
  cursor?: string;
10
10
  });
11
- declare type TPageInfo = {
11
+ export declare type TRelayPageInfo = {
12
12
  hasPreviousPage: boolean;
13
13
  hasNextPage: boolean;
14
14
  startCursor: string;
15
15
  endCursor: string;
16
16
  };
17
- declare type TExistingRelay<TNode> = Readonly<{
18
- edges: TEdge<TNode>[];
19
- pageInfo: TPageInfo;
17
+ export declare type TExistingRelay<TNode> = Readonly<{
18
+ edges: TRelayEdge<TNode>[];
19
+ pageInfo: TRelayPageInfo;
20
20
  }>;
21
- declare type TIncomingRelay<TNode> = {
22
- edges?: TEdge<TNode>[];
23
- pageInfo?: TPageInfo;
21
+ export declare type TIncomingRelay<TNode> = {
22
+ edges?: TRelayEdge<TNode>[];
23
+ pageInfo?: TRelayPageInfo;
24
24
  };
25
- declare type RelayFieldPolicy<TNode> = FieldPolicy<TExistingRelay<TNode>, TIncomingRelay<TNode>, TIncomingRelay<TNode>>;
25
+ export declare type RelayFieldPolicy<TNode> = FieldPolicy<TExistingRelay<TNode>, TIncomingRelay<TNode>, TIncomingRelay<TNode>>;
26
26
  export declare function relayStylePagination<TNode = Reference>(keyArgs?: KeyArgs): RelayFieldPolicy<TNode>;
27
27
  export {};
28
28
  //# sourceMappingURL=pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrD,aAAK,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAI3C,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,SAAS,EAC5C,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAUlB;AAMD,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,SAAS,EACjD,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAqBlB;AASD,aAAK,KAAK,CAAC,KAAK,IAAI;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;CACb,GAAG,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEtC,aAAK,SAAS,GAAG;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,aAAK,cAAc,CAAC,KAAK,IAAI,QAAQ,CAAC;IACpC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC,CAAC;AAEH,aAAK,cAAc,CAAC,KAAK,IAAI;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,aAAK,gBAAgB,CAAC,KAAK,IAAI,WAAW,CACxC,cAAc,CAAC,KAAK,CAAC,EACrB,cAAc,CAAC,KAAK,CAAC,EACrB,cAAc,CAAC,KAAK,CAAC,CACtB,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,SAAS,EACpD,OAAO,GAAE,OAAe,GACvB,gBAAgB,CAAC,KAAK,CAAC,CAoJzB"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrD,aAAK,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAI3C,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,SAAS,EAC5C,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAUlB;AAMD,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,SAAS,EACjD,OAAO,GAAE,OAAe,GACvB,WAAW,CAAC,CAAC,EAAE,CAAC,CAqBlB;AASD,oBAAY,UAAU,CAAC,KAAK,IAAI;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,KAAK,CAAC;CACb,GAAG,CAAC,SAAS,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEtC,oBAAY,cAAc,GAAG;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,cAAc,CAAC,KAAK,IAAI,QAAQ,CAAC;IAC3C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC,CAAC;AAEH,oBAAY,cAAc,CAAC,KAAK,IAAI;IAClC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,oBAAY,gBAAgB,CAAC,KAAK,IAAI,WAAW,CAC/C,cAAc,CAAC,KAAK,CAAC,EACrB,cAAc,CAAC,KAAK,CAAC,EACrB,cAAc,CAAC,KAAK,CAAC,CACtB,CAAC;AAKF,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,SAAS,EACpD,OAAO,GAAE,OAAe,GACvB,gBAAgB,CAAC,KAAK,CAAC,CA4JzB"}
@@ -1,4 +1,4 @@
1
- import { __assign, __spreadArrays } from "tslib";
1
+ import { __assign, __rest as __rest_1, __spreadArrays } from "tslib";
2
2
  import { __rest } from "tslib";
3
3
  import { mergeDeep } from "../common/mergeDeep.js";
4
4
  export function concatPagination(keyArgs) {
@@ -109,7 +109,8 @@ export function relayStylePagination(keyArgs) {
109
109
  var edges = __spreadArrays(prefix, incomingEdges, suffix);
110
110
  var pageInfo = __assign(__assign({}, incoming.pageInfo), existing.pageInfo);
111
111
  if (incoming.pageInfo) {
112
- var _b = incoming.pageInfo, hasPreviousPage = _b.hasPreviousPage, hasNextPage = _b.hasNextPage, startCursor = _b.startCursor, endCursor = _b.endCursor;
112
+ var _b = incoming.pageInfo, hasPreviousPage = _b.hasPreviousPage, hasNextPage = _b.hasNextPage, startCursor = _b.startCursor, endCursor = _b.endCursor, extras = __rest_1(_b, ["hasPreviousPage", "hasNextPage", "startCursor", "endCursor"]);
113
+ Object.assign(pageInfo, extras);
113
114
  if (!prefix.length) {
114
115
  if (void 0 !== hasPreviousPage)
115
116
  pageInfo.hasPreviousPage = hasPreviousPage;
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/utilities/policies/pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { __rest } from \"tslib\";\n\nimport { FieldPolicy, Reference } from '../../cache';\nimport { mergeDeep } from '../common/mergeDeep';\n\ntype KeyArgs = FieldPolicy<any>[\"keyArgs\"];\n\n// A very basic pagination field policy that always concatenates new\n// results onto the existing array, without examining options.args.\nexport function concatPagination<T = Reference>(\n keyArgs: KeyArgs = false,\n): FieldPolicy<T[]> {\n return {\n keyArgs,\n merge(existing, incoming) {\n return existing ? [\n ...existing,\n ...incoming,\n ] : incoming;\n },\n };\n}\n\n// A basic field policy that uses options.args.{offset,limit} to splice\n// the incoming data into the existing array. If your arguments are called\n// something different (like args.{start,count}), feel free to copy/paste\n// this implementation and make the appropriate changes.\nexport function offsetLimitPagination<T = Reference>(\n keyArgs: KeyArgs = false,\n): FieldPolicy<T[]> {\n return {\n keyArgs,\n merge(existing, incoming, { args }) {\n const merged = existing ? existing.slice(0) : [];\n if (args) {\n // Assume an offset of 0 if args.offset omitted.\n const { offset = 0 } = args;\n for (let i = 0; i < incoming.length; ++i) {\n merged[offset + i] = incoming[i];\n }\n } else {\n // It's unusual (probably a mistake) for a paginated field not\n // to receive any arguments, so you might prefer to throw an\n // exception here, instead of recovering by appending incoming\n // onto the existing array.\n merged.push.apply(merged, incoming);\n }\n return merged;\n },\n };\n}\n\n// Whether TRelayEdge<TNode> is a normalized Reference or a non-normalized\n// object, it needs a .cursor property where the relayStylePagination\n// merge function can store cursor strings taken from pageInfo. Storing an\n// extra reference.cursor property should be safe, and is easier than\n// attempting to update the cursor field of the normalized StoreObject\n// that the reference refers to, or managing edge wrapper objects\n// (something I attempted in #7023, but abandoned because of #7088).\nexport type TRelayEdge<TNode> = {\n cursor?: string;\n node: TNode;\n} | (Reference & { cursor?: string });\n\nexport type TRelayPageInfo = {\n hasPreviousPage: boolean;\n hasNextPage: boolean;\n startCursor: string;\n endCursor: string;\n};\n\nexport type TExistingRelay<TNode> = Readonly<{\n edges: TRelayEdge<TNode>[];\n pageInfo: TRelayPageInfo;\n}>;\n\nexport type TIncomingRelay<TNode> = {\n edges?: TRelayEdge<TNode>[];\n pageInfo?: TRelayPageInfo;\n};\n\nexport type RelayFieldPolicy<TNode> = FieldPolicy<\n TExistingRelay<TNode>,\n TIncomingRelay<TNode>,\n TIncomingRelay<TNode>\n>;\n\n// As proof of the flexibility of field policies, this function generates\n// one that handles Relay-style pagination, without Apollo Client knowing\n// anything about connections, edges, cursors, or pageInfo objects.\nexport function relayStylePagination<TNode = Reference>(\n keyArgs: KeyArgs = false,\n): RelayFieldPolicy<TNode> {\n return {\n keyArgs,\n\n read(existing, { canRead, readField }) {\n if (!existing) return;\n\n const edges: TRelayEdge<TNode>[] = [];\n let startCursor = \"\";\n let endCursor = \"\";\n existing.edges.forEach(edge => {\n // Edges themselves could be Reference objects, so it's important\n // to use readField to access the edge.edge.node property.\n if (canRead(readField(\"node\", edge))) {\n edges.push(edge);\n if (edge.cursor) {\n startCursor = startCursor || edge.cursor;\n endCursor = edge.cursor;\n }\n }\n });\n\n return {\n // Some implementations return additional Connection fields, such\n // as existing.totalCount. These fields are saved by the merge\n // function, so the read function should also preserve them.\n ...getExtras(existing),\n edges,\n pageInfo: {\n ...existing.pageInfo,\n startCursor,\n endCursor,\n },\n };\n },\n\n merge(existing = makeEmptyData(), incoming, { args, isReference, readField }) {\n const incomingEdges = incoming.edges ? incoming.edges.map(edge => {\n if (isReference(edge = { ...edge })) {\n // In case edge is a Reference, we read out its cursor field and\n // store it as an extra property of the Reference object.\n edge.cursor = readField<string>(\"cursor\", edge);\n }\n return edge;\n }) : [];\n\n if (incoming.pageInfo) {\n const { pageInfo } = incoming;\n const { startCursor, endCursor } = pageInfo;\n const firstEdge = incomingEdges[0];\n const lastEdge = incomingEdges[incomingEdges.length - 1];\n // In case we did not request the cursor field for edges in this\n // query, we can still infer cursors from pageInfo.\n if (firstEdge && startCursor) {\n firstEdge.cursor = startCursor;\n }\n if (lastEdge && endCursor) {\n lastEdge.cursor = endCursor;\n }\n // Cursors can also come from edges, so we default\n // pageInfo.{start,end}Cursor to {first,last}Edge.cursor.\n const firstCursor = firstEdge && firstEdge.cursor;\n if (firstCursor && !startCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n startCursor: firstCursor,\n },\n });\n }\n const lastCursor = lastEdge && lastEdge.cursor;\n if (lastCursor && !endCursor) {\n incoming = mergeDeep(incoming, {\n pageInfo: {\n endCursor: lastCursor,\n },\n });\n }\n }\n\n let prefix = existing.edges;\n let suffix: typeof prefix = [];\n\n if (args && args.after) {\n // This comparison does not need to use readField(\"cursor\", edge),\n // because we stored the cursor field of any Reference edges as an\n // extra property of the Reference object.\n const index = prefix.findIndex(edge => edge.cursor === args.after);\n if (index >= 0) {\n prefix = prefix.slice(0, index + 1);\n // suffix = []; // already true\n }\n } else if (args && args.before) {\n const index = prefix.findIndex(edge => edge.cursor === args.before);\n suffix = index < 0 ? prefix : prefix.slice(index);\n prefix = [];\n } else if (incoming.edges) {\n // If we have neither args.after nor args.before, the incoming\n // edges cannot be spliced into the existing edges, so they must\n // replace the existing edges. See #6592 for a motivating example.\n prefix = [];\n }\n\n const edges = [\n ...prefix,\n ...incomingEdges,\n ...suffix,\n ];\n\n const pageInfo: TRelayPageInfo = {\n // The ordering of these two ...spreads may be surprising, but it\n // makes sense because we want to combine PageInfo properties with a\n // preference for existing values, *unless* the existing values are\n // overridden by the logic below, which is permitted only when the\n // incoming page falls at the beginning or end of the data.\n ...incoming.pageInfo,\n ...existing.pageInfo,\n };\n\n if (incoming.pageInfo) {\n const {\n hasPreviousPage, hasNextPage,\n startCursor, endCursor,\n ...extras\n } = incoming.pageInfo;\n\n // If incoming.pageInfo had any extra non-standard properties,\n // assume they should take precedence over any existing properties\n // of the same name, regardless of where this page falls with\n // respect to the existing data.\n Object.assign(pageInfo, extras);\n\n // Keep existing.pageInfo.has{Previous,Next}Page unless the\n // placement of the incoming edges means incoming.hasPreviousPage\n // or incoming.hasNextPage should become the new values for those\n // properties in existing.pageInfo. Note that these updates are\n // only permitted when the beginning or end of the incoming page\n // coincides with the beginning or end of the existing data, as\n // determined using prefix.length and suffix.length.\n if (!prefix.length) {\n if (void 0 !== hasPreviousPage) pageInfo.hasPreviousPage = hasPreviousPage;\n if (void 0 !== startCursor) pageInfo.startCursor = startCursor;\n }\n if (!suffix.length) {\n if (void 0 !== hasNextPage) pageInfo.hasNextPage = hasNextPage;\n if (void 0 !== endCursor) pageInfo.endCursor = endCursor;\n }\n }\n\n return {\n ...getExtras(existing),\n ...getExtras(incoming),\n edges,\n pageInfo,\n };\n },\n };\n}\n\n// Returns any unrecognized properties of the given object.\nconst getExtras = (obj: Record<string, any>) => __rest(obj, notExtras);\nconst notExtras = [\"edges\", \"pageInfo\"];\n\nfunction makeEmptyData(): TExistingRelay<any> {\n return {\n edges: [],\n pageInfo: {\n hasPreviousPage: false,\n hasNextPage: true,\n startCursor: \"\",\n endCursor: \"\",\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utilities/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { MockedProvider, MockedProviderProps } from './mocking/MockedProvider';\nexport { MockLink, mockSingleLink, MockedResponse } from './mocking/mockLink';\nexport {\n MockSubscriptionLink,\n mockObservableLink\n} from './mocking/mockSubscriptionLink';\nexport { createMockClient } from './mocking/mockClient';\nexport { stripSymbols } from './stripSymbols';\nexport { default as subscribeAndCount } from './subscribeAndCount';\nexport { itAsync } from './itAsync';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"itAsync.js","sourceRoot":"","sources":["../../../src/utilities/testing/itAsync.ts"],"names":[],"mappings":"AAAA,SAAS,IAAI,CAAU,GAA8B;IACnD,OAAO,UACL,OAAe,EACf,QAGQ,EACR,OAAgB,IACb,OAAA,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;QAAA,iBAIlC;QAHC,OAAO,IAAI,OAAO,CAChB,UAAC,OAAO,EAAE,MAAM,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAApC,CAAoC,CAC1D,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,EAJN,CAIM,CAAC;AACd,CAAC;AAED,IAAM,SAAS,GAAG,IAAI,EAAE,CAAC;AACzB,MAAM,UAAU,OAAO;IAAC,cAAqC;SAArC,UAAqC,EAArC,qBAAqC,EAArC,IAAqC;QAArC,yBAAqC;;IAC3D,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,WAAiB,OAAO;IACT,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC,EAJgB,OAAO,KAAP,OAAO,QAIvB"}
1
+ {"version":3,"file":"itAsync.js","sourceRoot":"","sources":["../../../src/utilities/testing/itAsync.ts"],"names":[],"mappings":"AAAA,SAAS,IAAI,CAAU,GAA8B;IACnD,OAAO,UACL,OAAe,EACf,QAGQ,EACR,OAAgB,IACb,OAAA,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE;QAAA,iBAIlC;QAHC,OAAO,IAAI,OAAO,CAChB,UAAC,OAAO,EAAE,MAAM,IAAK,OAAA,QAAQ,CAAC,IAAI,CAAC,KAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAApC,CAAoC,CAC1D,CAAC;IACJ,CAAC,EAAE,OAAO,CAAC,EAJN,CAIM,CAAC;AACd,CAAC;AAED,IAAM,SAAS,GAAG,IAAI,EAAE,CAAC;AACzB,MAAM,UAAU,OAAO;IAAC,cAAqC;SAArC,UAAqC,EAArC,qBAAqC,EAArC,IAAqC;QAArC,yBAAqC;;IAC3D,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,WAAiB,OAAO;IACT,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,YAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC,EAJgB,OAAO,KAAP,OAAO,QAIvB","sourcesContent":["function wrap<TResult>(key?: \"only\" | \"skip\" | \"todo\") {\n return (\n message: string,\n callback: (\n resolve: (result?: any) => void,\n reject: (reason?: any) => void,\n ) => any,\n timeout?: number,\n ) => (key ? it[key] : it)(message, function () {\n return new Promise(\n (resolve, reject) => callback.call(this, resolve, reject),\n );\n }, timeout);\n}\n\nconst wrappedIt = wrap();\nexport function itAsync(...args: Parameters<typeof wrappedIt>) {\n return wrappedIt.apply(this, args);\n}\n\nexport namespace itAsync {\n export const only = wrap(\"only\");\n export const skip = wrap(\"skip\");\n export const todo = wrap(\"todo\");\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MockedProvider.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/MockedProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAoBtD;IAAoC,kCAGnC;IAKC,wBAAY,KAA0B;QAAtC,YACE,kBAAM,KAAK,CAAC,SAqBb;QAnBO,IAAA,KAOF,KAAI,CAAC,KAAK,EANZ,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA,EACT,IAAI,UACQ,CAAC;QACf,IAAM,MAAM,GAAG,IAAI,YAAY,CAAC;YAC9B,KAAK,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,EAAE,WAAW,aAAA,EAAE,CAAC;YAC1C,cAAc,gBAAA;YACd,IAAI,EAAE,IAAI,IAAI,IAAI,QAAQ,CACxB,KAAK,IAAI,EAAE,EACX,WAAW,CACZ;YACD,SAAS,WAAA;SACV,CAAC,CAAC;QAEH,KAAI,CAAC,KAAK,GAAG,EAAE,MAAM,QAAA,EAAE,CAAC;;IAC1B,CAAC;IAEM,+BAAM,GAAb;QACQ,IAAA,KAA2B,IAAI,CAAC,KAAK,EAAnC,QAAQ,cAAA,EAAE,UAAU,gBAAe,CAAC;QAC5C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,oBAAC,cAAc,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IACtC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAO,UAAU,EAAG,CACtD,CAClB,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEM,6CAAoB,GAA3B;QAGE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAzCa,2BAAY,GAAwB;QAChD,WAAW,EAAE,IAAI;KAClB,CAAC;IAwCJ,qBAAC;CAAA,AA9CD,CAAoC,KAAK,CAAC,SAAS,GA8ClD;SA9CY,cAAc"}
1
+ {"version":3,"file":"MockedProvider.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/MockedProvider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAoBtD;IAAoC,kCAGnC;IAKC,wBAAY,KAA0B;QAAtC,YACE,kBAAM,KAAK,CAAC,SAqBb;QAnBO,IAAA,KAOF,KAAI,CAAC,KAAK,EANZ,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,SAAS,eAAA,EACT,IAAI,UACQ,CAAC;QACf,IAAM,MAAM,GAAG,IAAI,YAAY,CAAC;YAC9B,KAAK,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,EAAE,WAAW,aAAA,EAAE,CAAC;YAC1C,cAAc,gBAAA;YACd,IAAI,EAAE,IAAI,IAAI,IAAI,QAAQ,CACxB,KAAK,IAAI,EAAE,EACX,WAAW,CACZ;YACD,SAAS,WAAA;SACV,CAAC,CAAC;QAEH,KAAI,CAAC,KAAK,GAAG,EAAE,MAAM,QAAA,EAAE,CAAC;;IAC1B,CAAC;IAEM,+BAAM,GAAb;QACQ,IAAA,KAA2B,IAAI,CAAC,KAAK,EAAnC,QAAQ,cAAA,EAAE,UAAU,gBAAe,CAAC;QAC5C,OAAO,QAAQ,CAAC,CAAC,CAAC,CAChB,oBAAC,cAAc,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IACtC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAO,UAAU,EAAG,CACtD,CAClB,CAAC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEM,6CAAoB,GAA3B;QAGE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAzCa,2BAAY,GAAwB;QAChD,WAAW,EAAE,IAAI;KAClB,CAAC;IAwCJ,qBAAC;CAAA,AA9CD,CAAoC,KAAK,CAAC,SAAS,GA8ClD;SA9CY,cAAc","sourcesContent":["import React from 'react';\n\nimport { ApolloClient, DefaultOptions } from '../../../core';\nimport { InMemoryCache as Cache } from '../../../cache';\nimport { ApolloProvider } from '../../../react/context';\nimport { MockLink, MockedResponse } from './mockLink';\nimport { ApolloLink } from '../../../link/core';\nimport { Resolvers } from '../../../core';\nimport { ApolloCache } from '../../../cache';\n\nexport interface MockedProviderProps<TSerializedCache = {}> {\n mocks?: ReadonlyArray<MockedResponse>;\n addTypename?: boolean;\n defaultOptions?: DefaultOptions;\n cache?: ApolloCache<TSerializedCache>;\n resolvers?: Resolvers;\n childProps?: object;\n children?: React.ReactElement;\n link?: ApolloLink;\n}\n\nexport interface MockedProviderState {\n client: ApolloClient<any>;\n}\n\nexport class MockedProvider extends React.Component<\n MockedProviderProps,\n MockedProviderState\n> {\n public static defaultProps: MockedProviderProps = {\n addTypename: true\n };\n\n constructor(props: MockedProviderProps) {\n super(props);\n\n const {\n mocks,\n addTypename,\n defaultOptions,\n cache,\n resolvers,\n link\n } = this.props;\n const client = new ApolloClient({\n cache: cache || new Cache({ addTypename }),\n defaultOptions,\n link: link || new MockLink(\n mocks || [],\n addTypename,\n ),\n resolvers,\n });\n\n this.state = { client };\n }\n\n public render() {\n const { children, childProps } = this.props;\n return children ? (\n <ApolloProvider client={this.state.client}>\n {React.cloneElement(React.Children.only(children), { ...childProps })}\n </ApolloProvider>\n ) : null;\n }\n\n public componentWillUnmount() {\n // Since this.state.client was created in the constructor, it's this\n // MockedProvider's responsibility to terminate it.\n this.state.client.stop();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mockClient.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAyB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAC9B,IAAW,EACX,KAAmB,EACnB,SAAc;IAAd,0BAAA,EAAA,cAAc;IAEd,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,cAAc,CAAC;YACnB,OAAO,EAAE,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,MAAA,EAAE;SACjB,CAAC,CAAC,UAAU,CAAC,UAAA,KAAK,IAAM,MAAM,KAAK,CAAA,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACjD,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"mockClient.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAyB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAC9B,IAAW,EACX,KAAmB,EACnB,SAAc;IAAd,0BAAA,EAAA,cAAc;IAEd,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,cAAc,CAAC;YACnB,OAAO,EAAE,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE;YAC7B,MAAM,EAAE,EAAE,IAAI,MAAA,EAAE;SACjB,CAAC,CAAC,UAAU,CAAC,UAAA,KAAK,IAAM,MAAM,KAAK,CAAA,CAAC,CAAC,CAAC;QACvC,KAAK,EAAE,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACjD,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { DocumentNode } from 'graphql';\n\nimport { ApolloClient } from '../../../core';\nimport { InMemoryCache, NormalizedCacheObject } from '../../../cache';\nimport { mockSingleLink } from './mockLink';\n\nexport function createMockClient<TData>(\n data: TData,\n query: DocumentNode,\n variables = {},\n): ApolloClient<NormalizedCacheObject> {\n return new ApolloClient({\n link: mockSingleLink({\n request: { query, variables },\n result: { data },\n }).setOnError(error => { throw error }),\n cache: new InMemoryCache({ addTypename: false }),\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mockFetch.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockFetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockFetch.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockFetch.ts"],"names":[],"mappings":"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","sourcesContent":["import 'whatwg-fetch';\n\n// This is an implementation of a mocked window.fetch implementation similar in\n// structure to the MockedNetworkInterface.\n\nexport interface MockedIResponse {\n ok: boolean;\n status: number;\n statusText?: string;\n json(): Promise<Object>;\n}\n\nexport interface MockedFetchResponse {\n url: string;\n opts: RequestInit;\n result: MockedIResponse;\n delay?: number;\n}\n\nexport function createMockedIResponse(\n result: Object,\n options?: any,\n): MockedIResponse {\n const status = (options && options.status) || 200;\n const statusText = (options && options.statusText) || undefined;\n\n return {\n ok: status === 200,\n status,\n statusText,\n json() {\n return Promise.resolve<Object>(result);\n },\n };\n}\n\nexport class MockFetch {\n private mockedResponsesByKey: { [key: string]: MockedFetchResponse[] };\n\n constructor(...mockedResponses: MockedFetchResponse[]) {\n this.mockedResponsesByKey = {};\n\n mockedResponses.forEach(mockedResponse => {\n this.addMockedResponse(mockedResponse);\n });\n }\n\n public addMockedResponse(mockedResponse: MockedFetchResponse) {\n const key = this.fetchParamsToKey(mockedResponse.url, mockedResponse.opts);\n let mockedResponses = this.mockedResponsesByKey[key];\n\n if (!mockedResponses) {\n mockedResponses = [];\n this.mockedResponsesByKey[key] = mockedResponses;\n }\n\n mockedResponses.push(mockedResponse);\n }\n\n public fetch(url: string, opts: RequestInit) {\n const key = this.fetchParamsToKey(url, opts);\n const responses = this.mockedResponsesByKey[key];\n if (!responses || responses.length === 0) {\n throw new Error(\n `No more mocked fetch responses for the params ${url} and ${opts}`,\n );\n }\n\n const { result, delay } = responses.shift()!;\n\n if (!result) {\n throw new Error(`Mocked fetch response should contain a result.`);\n }\n\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(result);\n }, delay ? delay : 0);\n });\n }\n\n public fetchParamsToKey(url: string, opts: RequestInit): string {\n return JSON.stringify({\n url,\n opts: sortByKey(opts),\n });\n }\n\n // Returns a \"fetch\" function equivalent that mocks the given responses.\n // The function by returned by this should be tacked onto the global scope\n // inorder to test functions that use \"fetch\".\n public getFetch() {\n return this.fetch.bind(this);\n }\n}\n\nfunction sortByKey(obj: any): Object {\n return Object.keys(obj)\n .sort()\n .reduce(\n (ret: any, key: string): Object =>\n Object.assign(\n {\n [key]:\n Object.prototype.toString.call(obj[key]).slice(8, -1) === 'Object'\n ? sortByKey(obj[key])\n : obj[key],\n },\n ret,\n ),\n {},\n );\n}\n\nexport function createMockFetch(...mockedResponses: MockedFetchResponse[]) {\n return new MockFetch(...mockedResponses).getFetch();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mockLink.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockLink.ts"],"names":[],"mappings":"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"}
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} 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 let responseIndex: number = 0;\n const response = (this.mockedResponsesByKey[key] || []).find(\n (res, index) => {\n const requestVariables = operation.variables || {};\n const mockedResponseVariables = res.request.variables || {};\n if (equal(requestVariables, mockedResponseVariables)) {\n responseIndex = index;\n return true;\n }\n return false;\n }\n );\n\n let configError: Error;\n\n if (!response || typeof responseIndex === 'undefined') {\n configError = new Error(\n `No more mocked responses for the query: ${print(\n operation.query\n )}, variables: ${JSON.stringify(operation.variables)}`\n );\n } else {\n this.mockedResponsesByKey[key].splice(responseIndex, 1);\n\n const { newData } = response;\n if (newData) {\n response.result = newData();\n this.mockedResponsesByKey[key].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":"mockQueryManager.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockQueryManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAItE,gBAAe,UACb,MAA4B;IAC5B,yBAAoC;SAApC,UAAoC,EAApC,qBAAoC,EAApC,IAAoC;QAApC,wCAAoC;;IAEpC,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,cAAc,eAAI,eAAe,CAAC;QACxC,KAAK,EAAE,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACjD,CAAC,CAAC;AACL,CAAC,EAAC"}
1
+ {"version":3,"file":"mockQueryManager.js","sourceRoot":"","sources":["../../../../src/utilities/testing/mocking/mockQueryManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAkB,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAItE,gBAAe,UACb,MAA4B;IAC5B,yBAAoC;SAApC,UAAoC,EAApC,qBAAoC,EAApC,IAAoC;QAApC,wCAAoC;;IAEpC,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,cAAc,eAAI,eAAe,CAAC;QACxC,KAAK,EAAE,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KACjD,CAAC,CAAC;AACL,CAAC,EAAC","sourcesContent":["import { QueryManager } from '../../../core/QueryManager';\nimport { mockSingleLink, MockedResponse } from './mockLink';\nimport { InMemoryCache } from '../../../cache/inmemory/inMemoryCache';\n\n// Helper method for the tests that construct a query manager out of a\n// a list of mocked responses for a mocked network interface.\nexport default (\n reject: (reason: any) => any,\n ...mockedResponses: MockedResponse[]\n) => {\n return new QueryManager({\n link: mockSingleLink(...mockedResponses),\n cache: new InMemoryCache({ addTypename: false }),\n });\n};\n"]}
@@ -1 +1 @@
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,QAAQ,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvD,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;YACnE,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"}
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,QAAQ,IAAI,QAAQ,CAAC,QAAQ;oBAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvD,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;YACnE,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 (complete && observer.complete) observer.complete();\n if (result.result && observer.next) observer.next(result.result);\n if (result.error && observer.error) observer.error(result.error);\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 +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"}
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 +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"}
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 +1 @@
1
- {"version":3,"file":"stripSymbols.js","sourceRoot":"","sources":["../../../src/utilities/testing/stripSymbols.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,YAAY,CAAI,IAAO;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"stripSymbols.js","sourceRoot":"","sources":["../../../src/utilities/testing/stripSymbols.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,YAAY,CAAI,IAAO;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["/**\n * In order to make assertions easier, this function strips `symbol`'s from\n * the incoming data.\n *\n * This can be handy when running tests against `apollo-client` for example,\n * since it adds `symbol`'s to the data in the store. Jest's `toEqual`\n * function now covers `symbol`'s (https://github.com/facebook/jest/pull/3437),\n * which means all test data used in a `toEqual` comparison would also have to\n * include `symbol`'s, to pass. By stripping `symbol`'s from the cache data\n * we can compare against more simplified test data.\n */\nexport function stripSymbols<T>(data: T): T {\n return JSON.parse(JSON.stringify(data));\n}\n"]}
@@ -1 +1 @@
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,CACvC,MAA4B,EAC5B,UAAgC,EAChC,EAAgE;IAGhE,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAM,YAAY,GAAG,QAAQ,CAC3B,UAAU,EACV,UAAC,MAA8B;QAG7B,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"}
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,CACvC,MAA4B,EAC5B,UAAgC,EAChC,EAAgE;IAGhE,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,IAAM,YAAY,GAAG,QAAQ,CAC3B,UAAU,EACV,UAAC,MAA8B;QAG7B,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 } from '../../core/types';\nimport { ObservableSubscription } from '../../utilities/observables/Observable';\nimport { asyncMap } from '../../utilities/observables/asyncMap';\n\nexport default function subscribeAndCount(\n reject: (reason: any) => any,\n observable: ObservableQuery<any>,\n cb: (handleCount: number, result: ApolloQueryResult<any>) => 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<any>) => {\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 +1 @@
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"}
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"]}
@@ -833,7 +833,8 @@ function relayStylePagination(keyArgs) {
833
833
  var edges = tslib.__spreadArrays(prefix, incomingEdges, suffix);
834
834
  var pageInfo = tslib.__assign(tslib.__assign({}, incoming.pageInfo), existing.pageInfo);
835
835
  if (incoming.pageInfo) {
836
- var _b = incoming.pageInfo, hasPreviousPage = _b.hasPreviousPage, hasNextPage = _b.hasNextPage, startCursor = _b.startCursor, endCursor = _b.endCursor;
836
+ var _b = incoming.pageInfo, hasPreviousPage = _b.hasPreviousPage, hasNextPage = _b.hasNextPage, startCursor = _b.startCursor, endCursor = _b.endCursor, extras = tslib.__rest(_b, ["hasPreviousPage", "hasNextPage", "startCursor", "endCursor"]);
837
+ Object.assign(pageInfo, extras);
837
838
  if (!prefix.length) {
838
839
  if (void 0 !== hasPreviousPage)
839
840
  pageInfo.hasPreviousPage = hasPreviousPage;