@azure/cosmos 4.7.0 → 4.8.0-alpha.20251121.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (814) hide show
  1. package/dist/browser/CosmosClientOptions.d.ts +1 -1
  2. package/dist/browser/CosmosClientOptions.js.map +1 -1
  3. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  4. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  5. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  6. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  7. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  8. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  9. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  10. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  11. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  12. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  13. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  14. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  15. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  16. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  17. package/dist/browser/client/ChangeFeed/changeFeedUtils.js +47 -0
  18. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  19. package/dist/browser/common/constants.d.ts.map +1 -1
  20. package/dist/browser/common/constants.js +16 -1
  21. package/dist/browser/common/constants.js.map +1 -1
  22. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  23. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  24. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  25. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  26. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  27. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  28. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  29. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  30. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  31. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  32. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  33. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  34. package/dist/browser/documents/VectorEmbeddingPolicy.d.ts +4 -0
  35. package/dist/browser/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  36. package/dist/browser/documents/VectorEmbeddingPolicy.js +4 -0
  37. package/dist/browser/documents/VectorEmbeddingPolicy.js.map +1 -1
  38. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  39. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  40. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  41. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  42. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  43. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  44. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  45. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  46. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  47. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  48. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  49. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  50. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  51. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  52. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  53. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  54. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  55. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  56. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  57. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  58. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  59. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  60. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  61. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  62. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
  63. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  64. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  65. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  66. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  67. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  68. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  69. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  70. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  71. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  72. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  73. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  74. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  75. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  76. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  77. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  78. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  79. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  80. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  81. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  82. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  83. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  84. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  85. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  86. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  87. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  88. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  89. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  90. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  91. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  92. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  93. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  94. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  95. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  96. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
  97. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  98. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  99. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  100. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
  101. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  102. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  103. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  104. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  105. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  106. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  107. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  108. package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
  109. package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  110. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  111. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  112. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  113. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  114. package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
  115. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  116. package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
  117. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  118. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  119. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  120. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  121. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  122. package/dist/browser/queryExecutionContext/index.d.ts +7 -0
  123. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  124. package/dist/browser/queryExecutionContext/index.js +4 -0
  125. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  126. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  127. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  128. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
  130. package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  131. package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
  132. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  133. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  134. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  135. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  136. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  137. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  138. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  139. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  140. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  141. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  142. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  143. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  144. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  145. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  146. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  147. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  148. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  149. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  150. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  151. package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
  152. package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
  153. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  154. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  155. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  156. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  157. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  158. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  159. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  160. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  161. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  162. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  163. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  164. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  165. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  166. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  167. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  168. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  169. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  170. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  171. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  172. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  173. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  174. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  175. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  176. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  177. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  178. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  179. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  180. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  181. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  182. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  183. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  184. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  185. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  186. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  187. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  188. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  189. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  190. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  191. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  192. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  193. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  194. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  195. package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
  196. package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
  197. package/dist/browser/queryIterator.js.map +1 -1
  198. package/dist/browser/request/RequestHandler.d.ts.map +1 -1
  199. package/dist/browser/request/RequestHandler.js +10 -4
  200. package/dist/browser/request/RequestHandler.js.map +1 -1
  201. package/dist/browser/utils/offers.d.ts.map +1 -1
  202. package/dist/browser/utils/offers.js +0 -1
  203. package/dist/browser/utils/offers.js.map +1 -1
  204. package/dist/commonjs/CosmosClientOptions.d.ts +1 -1
  205. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  206. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  207. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +1 -33
  208. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  209. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  210. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +1 -34
  211. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  212. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  213. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  214. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  215. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  216. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  217. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  218. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  219. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  220. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +48 -0
  221. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  222. package/dist/commonjs/common/constants.d.ts.map +1 -1
  223. package/dist/commonjs/common/constants.js +13 -2
  224. package/dist/commonjs/common/constants.js.map +1 -1
  225. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  226. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  227. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  228. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  229. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  230. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  231. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  232. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  233. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  234. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  235. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  236. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  237. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts +4 -0
  238. package/dist/commonjs/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  239. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +4 -0
  240. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +1 -1
  241. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  242. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  243. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  244. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  245. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  246. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  247. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  248. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  249. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  250. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  251. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  252. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  253. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  254. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  255. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  256. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  257. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  258. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  259. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  260. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  261. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  262. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  263. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  264. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  265. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  266. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  267. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  269. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  271. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  272. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  274. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  275. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  276. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  278. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  280. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  281. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  282. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  283. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  284. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  285. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  286. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  287. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  288. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  289. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  290. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  291. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  292. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  293. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  294. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  295. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  296. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  297. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  298. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  299. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  300. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  301. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  302. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  303. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  304. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  305. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  306. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  307. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  308. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  309. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  310. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  311. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  312. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  313. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  314. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  315. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  316. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  317. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  318. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  319. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  320. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  321. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  322. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  323. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  324. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  325. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  326. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  327. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  328. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  329. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  330. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  331. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  332. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  333. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  334. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  335. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  336. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  337. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  338. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  339. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  340. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  341. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  342. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  343. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  344. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  345. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  346. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  347. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  348. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  349. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  350. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  351. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  352. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  353. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  354. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  355. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  356. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  357. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  358. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  359. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  360. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  361. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  362. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  363. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  364. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  365. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  366. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  367. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  368. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  369. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  370. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  371. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  372. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  373. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  374. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  375. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  376. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  377. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  378. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  379. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  380. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  381. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  382. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  383. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  384. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  385. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  386. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  387. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  388. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  389. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  390. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  391. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  392. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  393. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  394. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  395. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  396. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  397. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  398. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  399. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  400. package/dist/commonjs/queryIterator.js.map +1 -1
  401. package/dist/commonjs/request/RequestHandler.d.ts.map +1 -1
  402. package/dist/commonjs/request/RequestHandler.js +10 -4
  403. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  404. package/dist/commonjs/tsdoc-metadata.json +1 -1
  405. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  406. package/dist/commonjs/utils/offers.js +0 -1
  407. package/dist/commonjs/utils/offers.js.map +1 -1
  408. package/dist/esm/CosmosClientOptions.d.ts +1 -1
  409. package/dist/esm/CosmosClientOptions.js.map +1 -1
  410. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  411. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  412. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  413. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  414. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  415. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  416. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  417. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  418. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  419. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  420. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  421. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  422. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  423. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  424. package/dist/esm/client/ChangeFeed/changeFeedUtils.js +47 -0
  425. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  426. package/dist/esm/common/constants.d.ts.map +1 -1
  427. package/dist/esm/common/constants.js +16 -1
  428. package/dist/esm/common/constants.js.map +1 -1
  429. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  430. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  431. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  432. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  433. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  434. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  435. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  436. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  437. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  438. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  439. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  440. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  441. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts +4 -0
  442. package/dist/esm/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  443. package/dist/esm/documents/VectorEmbeddingPolicy.js +4 -0
  444. package/dist/esm/documents/VectorEmbeddingPolicy.js.map +1 -1
  445. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  446. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  447. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  448. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  449. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  450. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  451. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  452. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  453. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  454. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  455. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  456. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  457. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  458. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  459. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  460. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  461. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  462. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  463. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  464. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  465. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  466. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  467. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  468. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  469. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  470. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  471. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  472. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  473. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  474. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  475. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  476. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  477. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  478. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  479. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  480. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  481. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  482. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  483. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  484. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  485. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  486. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  487. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  488. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  489. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  490. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  491. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  492. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  493. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  494. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  495. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  496. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  497. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  498. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  499. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  500. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  501. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  502. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  503. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  504. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  505. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  506. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  507. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  508. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  509. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  510. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  511. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  512. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  513. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  514. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  515. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  516. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  517. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  518. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  519. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  520. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  521. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  522. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  523. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  524. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  525. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  526. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  527. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  528. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  529. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  530. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  531. package/dist/esm/queryExecutionContext/index.js +4 -0
  532. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  533. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  534. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  535. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  536. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  537. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  538. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  539. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  540. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  541. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  542. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  543. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  544. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  545. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  546. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  547. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  548. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  549. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  550. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  551. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  552. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  553. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  554. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  555. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  556. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  557. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  558. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  559. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  560. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  561. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  562. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  563. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  564. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  565. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  566. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  567. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  568. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  569. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  570. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  571. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  572. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  573. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  574. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  575. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  576. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  577. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  578. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  579. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  580. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  581. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  582. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  583. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  584. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  585. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  586. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  587. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  588. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  589. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  590. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  591. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  592. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  593. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  594. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  595. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  596. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  597. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  598. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  599. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  600. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  601. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  602. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  603. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  604. package/dist/esm/queryIterator.js.map +1 -1
  605. package/dist/esm/request/RequestHandler.d.ts.map +1 -1
  606. package/dist/esm/request/RequestHandler.js +10 -4
  607. package/dist/esm/request/RequestHandler.js.map +1 -1
  608. package/dist/esm/utils/offers.d.ts.map +1 -1
  609. package/dist/esm/utils/offers.js +0 -1
  610. package/dist/esm/utils/offers.js.map +1 -1
  611. package/dist/react-native/CosmosClientOptions.d.ts +1 -1
  612. package/dist/react-native/CosmosClientOptions.js.map +1 -1
  613. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  614. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js +2 -34
  615. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  616. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  617. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js +2 -35
  618. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  619. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +15 -0
  620. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  621. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  622. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts +3 -0
  623. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  624. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  625. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +6 -0
  626. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  627. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js +47 -0
  628. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  629. package/dist/react-native/common/constants.d.ts.map +1 -1
  630. package/dist/react-native/common/constants.js +16 -1
  631. package/dist/react-native/common/constants.js.map +1 -1
  632. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  633. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  634. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  635. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  636. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  637. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  638. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  639. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  640. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  641. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  642. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  643. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  644. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts +4 -0
  645. package/dist/react-native/documents/VectorEmbeddingPolicy.d.ts.map +1 -1
  646. package/dist/react-native/documents/VectorEmbeddingPolicy.js +4 -0
  647. package/dist/react-native/documents/VectorEmbeddingPolicy.js.map +1 -1
  648. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.d.ts.map +1 -1
  649. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js +4 -0
  650. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  651. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.d.ts.map +1 -1
  652. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js +4 -0
  653. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  654. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  655. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  656. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  657. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  658. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  659. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  660. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  661. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  662. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  663. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  664. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  665. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  666. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  667. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  668. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  669. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  670. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  671. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  672. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  673. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  674. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  675. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  676. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  677. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  678. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  679. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  680. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  681. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  682. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  683. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  684. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  685. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  686. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  687. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  688. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  689. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  690. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  691. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  692. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  693. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  694. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  695. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  696. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  697. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  698. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  699. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  700. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  701. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  702. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  703. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  704. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  705. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  706. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  707. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  708. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  709. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  710. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  711. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  712. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  713. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  714. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  715. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  716. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  717. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  718. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  719. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  720. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  721. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  722. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  723. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  724. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  725. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  726. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  727. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  728. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  729. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  730. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  731. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  732. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  733. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  734. package/dist/react-native/queryExecutionContext/index.js +4 -0
  735. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  736. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  737. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  738. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  739. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  740. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  741. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  742. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  743. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  744. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  745. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  746. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  747. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  748. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  749. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  750. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  751. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  752. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  753. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  754. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  755. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  756. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  757. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  758. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  759. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  760. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  761. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  762. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  763. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  764. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  765. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  766. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  767. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  768. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  769. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  770. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  771. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  772. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  773. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  774. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  775. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  776. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  777. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  778. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  779. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  780. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  781. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  782. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  783. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  784. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  785. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  786. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  787. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  788. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  789. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  790. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  791. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  792. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  793. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  794. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  795. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  796. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  797. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  798. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  799. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  800. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  801. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  802. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  803. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  804. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  805. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  806. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  807. package/dist/react-native/queryIterator.js.map +1 -1
  808. package/dist/react-native/request/RequestHandler.d.ts.map +1 -1
  809. package/dist/react-native/request/RequestHandler.js +10 -4
  810. package/dist/react-native/request/RequestHandler.js.map +1 -1
  811. package/dist/react-native/utils/offers.d.ts.map +1 -1
  812. package/dist/react-native/utils/offers.js +0 -1
  813. package/dist/react-native/utils/offers.js.map +1 -1
  814. package/package.json +23 -22
@@ -1 +1 @@
1
- {"version":3,"file":"GroupByEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport type { CosmosHeaders } from \"../CosmosHeaders.js\";\nimport type { QueryInfo } from \"../../request/ErrorResponse.js\";\nimport { hashObject } from \"../../utils/hashObject.js\";\nimport type { Aggregator } from \"../Aggregators/index.js\";\nimport { createAggregator } from \"../Aggregators/index.js\";\nimport { getInitialHeader, mergeHeaders } from \"../headerUtils.js\";\nimport { emptyGroup, extractAggregateResult } from \"./emptyGroup.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\n\ninterface GroupByResult {\n groupByItems: any[];\n payload: any;\n}\n\n/** @hidden */\nexport class GroupByEndpointComponent implements ExecutionContext {\n constructor(\n private executionContext: ExecutionContext,\n private queryInfo: QueryInfo,\n ) {}\n\n private readonly groupings: Map<string, Map<string, Aggregator>> = new Map();\n private readonly aggregateResultArray: any[] = [];\n private completed: boolean = false;\n\n public hasMoreResults(): boolean {\n return this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.completed) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n const aggregateHeaders = getInitialHeader();\n const response = await this.executionContext.fetchMore(diagnosticNode);\n mergeHeaders(aggregateHeaders, response.headers);\n\n if (response === undefined || response.result === undefined) {\n // If there are any groupings, consolidate and return them\n if (this.groupings.size > 0) {\n return this.consolidateGroupResults(aggregateHeaders);\n }\n return { result: undefined, headers: aggregateHeaders };\n }\n\n for (const item of response.result as GroupByResult[]) {\n // If it exists, process it via aggregators\n if (item) {\n const group = item.groupByItems ? await hashObject(item.groupByItems) : emptyGroup;\n const aggregators = this.groupings.get(group);\n const payload = item.payload;\n if (aggregators) {\n // Iterator over all results in the payload\n for (const key of Object.keys(payload)) {\n // in case the value of a group is null make sure we create a dummy payload with item2==null\n const effectiveGroupByValue = payload[key]\n ? payload[key]\n : new Map().set(\"item2\", null);\n const aggregateResult = extractAggregateResult(effectiveGroupByValue);\n aggregators.get(key).aggregate(aggregateResult);\n }\n } else {\n // This is the first time we have seen a grouping. Setup the initial result without aggregate values\n const grouping = new Map();\n this.groupings.set(group, grouping);\n // Iterator over all results in the payload\n for (const key of Object.keys(payload)) {\n const aggregateType = this.queryInfo.groupByAliasToAggregateType[key];\n // Create a new aggregator for this specific aggregate field\n const aggregator = createAggregator(aggregateType);\n grouping.set(key, aggregator);\n if (aggregateType) {\n const aggregateResult = extractAggregateResult(payload[key]);\n aggregator.aggregate(aggregateResult);\n } else {\n aggregator.aggregate(payload[key]);\n }\n }\n }\n }\n }\n\n if (this.executionContext.hasMoreResults()) {\n return {\n result: [],\n headers: aggregateHeaders,\n };\n } else {\n return this.consolidateGroupResults(aggregateHeaders);\n }\n }\n\n private consolidateGroupResults(aggregateHeaders: CosmosHeaders): Response<any> {\n for (const grouping of this.groupings.values()) {\n const groupResult: any = {};\n for (const [aggregateKey, aggregator] of grouping.entries()) {\n groupResult[aggregateKey] = aggregator.getResult();\n }\n this.aggregateResultArray.push(groupResult);\n }\n this.completed = true;\n return { result: this.aggregateResultArray, headers: aggregateHeaders };\n }\n}\n"]}
1
+ {"version":3,"file":"GroupByEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport type { CosmosHeaders } from \"../CosmosHeaders.js\";\nimport type { QueryInfo } from \"../../request/ErrorResponse.js\";\nimport { hashObject } from \"../../utils/hashObject.js\";\nimport type { Aggregator } from \"../Aggregators/index.js\";\nimport { createAggregator } from \"../Aggregators/index.js\";\nimport { getInitialHeader, mergeHeaders } from \"../headerUtils.js\";\nimport { emptyGroup, extractAggregateResult } from \"./emptyGroup.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport { createParallelQueryResult } from \"../parallelQueryResult.js\";\n\ninterface GroupByResult {\n groupByItems: any[];\n payload: any;\n}\n\n/** @hidden */\nexport class GroupByEndpointComponent implements ExecutionContext {\n constructor(\n private executionContext: ExecutionContext,\n private queryInfo: QueryInfo,\n ) {}\n\n private readonly groupings: Map<string, Map<string, Aggregator>> = new Map();\n private readonly aggregateResultArray: any[] = [];\n private completed: boolean = false;\n\n public hasMoreResults(): boolean {\n return this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.completed) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n const aggregateHeaders = getInitialHeader();\n const response = await this.executionContext.fetchMore(diagnosticNode);\n\n if (!response) {\n // If there are any groupings, consolidate and return them\n if (this.groupings.size > 0) {\n return this.consolidateGroupResults(aggregateHeaders);\n }\n return { result: undefined, headers: aggregateHeaders };\n }\n\n mergeHeaders(aggregateHeaders, response.headers);\n\n if (\n response.result === undefined ||\n !Array.isArray(response.result.buffer) ||\n response.result.buffer.length === 0\n ) {\n // If there are any groupings, consolidate and return them\n if (this.groupings.size > 0) {\n return this.consolidateGroupResults(aggregateHeaders);\n }\n return { result: undefined, headers: aggregateHeaders };\n }\n\n const parallelResult = response.result as ParallelQueryResult;\n const dataToProcess: GroupByResult[] = parallelResult.buffer as GroupByResult[];\n\n // Process GROUP BY aggregation logic\n for (const item of dataToProcess) {\n // If it exists, process it via aggregators\n if (item) {\n const group = item.groupByItems ? await hashObject(item.groupByItems) : emptyGroup;\n const aggregators = this.groupings.get(group);\n const payload = item.payload;\n if (aggregators) {\n // Iterator over all results in the payload\n for (const key of Object.keys(payload)) {\n // in case the value of a group is null make sure we create a dummy payload with item2==null\n const effectiveGroupByValue = payload[key]\n ? payload[key]\n : new Map().set(\"item2\", null);\n const aggregateResult = extractAggregateResult(effectiveGroupByValue);\n aggregators.get(key).aggregate(aggregateResult);\n }\n } else {\n // This is the first time we have seen a grouping. Setup the initial result without aggregate values\n const grouping = new Map();\n this.groupings.set(group, grouping);\n // Iterator over all results in the payload\n for (const key of Object.keys(payload)) {\n const aggregateType = this.queryInfo.groupByAliasToAggregateType[key];\n // Create a new aggregator for this specific aggregate field\n const aggregator = createAggregator(aggregateType);\n grouping.set(key, aggregator);\n if (aggregateType) {\n const aggregateResult = extractAggregateResult(payload[key]);\n aggregator.aggregate(aggregateResult);\n } else {\n aggregator.aggregate(payload[key]);\n }\n }\n }\n }\n }\n\n if (this.executionContext.hasMoreResults()) {\n // Return empty buffer but preserve the structure and pass-through fields\n const result = createParallelQueryResult(\n [], // empty buffer\n new Map(),\n );\n\n return { result, headers: aggregateHeaders };\n } else {\n return this.consolidateGroupResults(aggregateHeaders);\n }\n }\n\n private consolidateGroupResults(aggregateHeaders: CosmosHeaders): Response<any> {\n for (const grouping of this.groupings.values()) {\n const groupResult: any = {};\n for (const [aggregateKey, aggregator] of grouping.entries()) {\n groupResult[aggregateKey] = aggregator.getResult();\n }\n this.aggregateResultArray.push(groupResult);\n }\n this.completed = true;\n\n // Return in the new structure format using the utility function\n const result = createParallelQueryResult(this.aggregateResultArray, new Map());\n\n return { result, headers: aggregateHeaders };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupByValueEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAM/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAO1F,cAAc;AACd,qBAAa,6BAA8B,YAAW,gBAAgB;IAOlE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IAPnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAkB;gBAGzB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAMvB,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAiEtF,OAAO,CAAC,yBAAyB;CAalC"}
1
+ {"version":3,"file":"GroupByValueEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAM/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAS1F,cAAc;AACd,qBAAa,6BAA8B,YAAW,gBAAgB;IAOlE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IAPnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAkB;gBAGzB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAMvB,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAwFtF,OAAO,CAAC,yBAAyB;CAgBlC"}
@@ -5,6 +5,7 @@ const hashObject_js_1 = require("../../utils/hashObject.js");
5
5
  const index_js_1 = require("../Aggregators/index.js");
6
6
  const headerUtils_js_1 = require("../headerUtils.js");
7
7
  const emptyGroup_js_1 = require("./emptyGroup.js");
8
+ const parallelQueryResult_js_1 = require("../parallelQueryResult.js");
8
9
  /** @hidden */
9
10
  class GroupByValueEndpointComponent {
10
11
  executionContext;
@@ -31,14 +32,24 @@ class GroupByValueEndpointComponent {
31
32
  }
32
33
  const aggregateHeaders = (0, headerUtils_js_1.getInitialHeader)();
33
34
  const response = await this.executionContext.fetchMore(diagnosticNode);
35
+ if (!response) {
36
+ if (this.aggregators.size > 0) {
37
+ return this.generateAggregateResponse(aggregateHeaders);
38
+ }
39
+ return { result: undefined, headers: aggregateHeaders };
40
+ }
34
41
  (0, headerUtils_js_1.mergeHeaders)(aggregateHeaders, response.headers);
35
- if (response === undefined || response.result === undefined) {
42
+ if (response.result === undefined ||
43
+ !Array.isArray(response.result.buffer) ||
44
+ response.result.buffer.length === 0) {
36
45
  if (this.aggregators.size > 0) {
37
46
  return this.generateAggregateResponse(aggregateHeaders);
38
47
  }
39
48
  return { result: undefined, headers: aggregateHeaders };
40
49
  }
41
- for (const item of response.result) {
50
+ const parallelResult = response.result;
51
+ const dataToProcess = parallelResult.buffer;
52
+ for (const item of dataToProcess) {
42
53
  if (item) {
43
54
  let grouping = emptyGroup_js_1.emptyGroup;
44
55
  let payload = item;
@@ -69,13 +80,17 @@ class GroupByValueEndpointComponent {
69
80
  }
70
81
  // We bail early since we got an undefined result back `[{}]`
71
82
  if (this.completed) {
83
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], new Map());
72
84
  return {
73
- result: undefined,
85
+ result,
74
86
  headers: aggregateHeaders,
75
87
  };
76
88
  }
77
89
  if (this.executionContext.hasMoreResults()) {
78
- return { result: [], headers: aggregateHeaders };
90
+ // Return empty buffer but preserve the structure and pass-through fields
91
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], // empty buffer
92
+ new Map());
93
+ return { result, headers: aggregateHeaders };
79
94
  }
80
95
  else {
81
96
  // If no results are left in the underlying execution context, convert our aggregate results to an array
@@ -90,8 +105,9 @@ class GroupByValueEndpointComponent {
90
105
  }
91
106
  }
92
107
  this.completed = true;
108
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(this.aggregateResultArray, new Map());
93
109
  return {
94
- result: this.aggregateResultArray,
110
+ result,
95
111
  headers: aggregateHeaders,
96
112
  };
97
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GroupByValueEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport type { CosmosHeaders } from \"../CosmosHeaders.js\";\nimport type { AggregateType, QueryInfo } from \"../../request/ErrorResponse.js\";\nimport { hashObject } from \"../../utils/hashObject.js\";\nimport type { Aggregator } from \"../Aggregators/index.js\";\nimport { createAggregator } from \"../Aggregators/index.js\";\nimport { getInitialHeader, mergeHeaders } from \"../headerUtils.js\";\nimport { emptyGroup, extractAggregateResult } from \"./emptyGroup.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\n\ninterface GroupByResult {\n groupByItems: any[];\n payload: any;\n}\n\n/** @hidden */\nexport class GroupByValueEndpointComponent implements ExecutionContext {\n private readonly aggregators: Map<string, Aggregator> = new Map();\n private readonly aggregateResultArray: any[] = [];\n private aggregateType: AggregateType;\n private completed: boolean = false;\n\n constructor(\n private executionContext: ExecutionContext,\n private queryInfo: QueryInfo,\n ) {\n // VALUE queries will only every have a single grouping\n this.aggregateType = this.queryInfo.aggregates[0];\n }\n\n public hasMoreResults(): boolean {\n return this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.completed) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n const aggregateHeaders = getInitialHeader();\n const response = await this.executionContext.fetchMore(diagnosticNode);\n mergeHeaders(aggregateHeaders, response.headers);\n\n if (response === undefined || response.result === undefined) {\n if (this.aggregators.size > 0) {\n return this.generateAggregateResponse(aggregateHeaders);\n }\n return { result: undefined, headers: aggregateHeaders };\n }\n\n for (const item of response.result as GroupByResult[]) {\n if (item) {\n let grouping: string = emptyGroup;\n let payload: any = item;\n if (item.groupByItems) {\n // If the query contains a GROUP BY clause, it will have a payload property and groupByItems\n payload = item.payload;\n grouping = await hashObject(item.groupByItems);\n }\n\n const aggregator = this.aggregators.get(grouping);\n if (!aggregator) {\n // This is the first time we have seen a grouping so create a new aggregator\n this.aggregators.set(grouping, createAggregator(this.aggregateType));\n }\n\n if (this.aggregateType) {\n const aggregateResult = extractAggregateResult(payload[0]);\n // if aggregate result is null, we need to short circuit aggregation and return undefined\n if (aggregateResult === null) {\n this.completed = true;\n }\n this.aggregators.get(grouping).aggregate(aggregateResult);\n } else {\n // Queries with no aggregates pass the payload directly to the aggregator\n // Example: SELECT VALUE c.team FROM c GROUP BY c.team\n this.aggregators.get(grouping).aggregate(payload);\n }\n }\n }\n\n // We bail early since we got an undefined result back `[{}]`\n if (this.completed) {\n return {\n result: undefined,\n headers: aggregateHeaders,\n };\n }\n\n if (this.executionContext.hasMoreResults()) {\n return { result: [], headers: aggregateHeaders };\n } else {\n // If no results are left in the underlying execution context, convert our aggregate results to an array\n return this.generateAggregateResponse(aggregateHeaders);\n }\n }\n\n private generateAggregateResponse(aggregateHeaders: CosmosHeaders): Response<any> {\n for (const aggregator of this.aggregators.values()) {\n const result = aggregator.getResult();\n if (result !== undefined) {\n this.aggregateResultArray.push(result);\n }\n }\n this.completed = true;\n return {\n result: this.aggregateResultArray,\n headers: aggregateHeaders,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"GroupByValueEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport type { CosmosHeaders } from \"../CosmosHeaders.js\";\nimport type { AggregateType, QueryInfo } from \"../../request/ErrorResponse.js\";\nimport { hashObject } from \"../../utils/hashObject.js\";\nimport type { Aggregator } from \"../Aggregators/index.js\";\nimport { createAggregator } from \"../Aggregators/index.js\";\nimport { getInitialHeader, mergeHeaders } from \"../headerUtils.js\";\nimport { emptyGroup, extractAggregateResult } from \"./emptyGroup.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport { createParallelQueryResult } from \"../parallelQueryResult.js\";\n\ninterface GroupByResult {\n groupByItems: any[];\n payload: any;\n}\n\n/** @hidden */\nexport class GroupByValueEndpointComponent implements ExecutionContext {\n private readonly aggregators: Map<string, Aggregator> = new Map();\n private readonly aggregateResultArray: any[] = [];\n private aggregateType: AggregateType;\n private completed: boolean = false;\n\n constructor(\n private executionContext: ExecutionContext,\n private queryInfo: QueryInfo,\n ) {\n // VALUE queries will only every have a single grouping\n this.aggregateType = this.queryInfo.aggregates[0];\n }\n\n public hasMoreResults(): boolean {\n return this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.completed) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n const aggregateHeaders = getInitialHeader();\n const response = await this.executionContext.fetchMore(diagnosticNode);\n\n if (!response) {\n if (this.aggregators.size > 0) {\n return this.generateAggregateResponse(aggregateHeaders);\n }\n return { result: undefined, headers: aggregateHeaders };\n }\n\n mergeHeaders(aggregateHeaders, response.headers);\n\n if (\n response.result === undefined ||\n !Array.isArray(response.result.buffer) ||\n response.result.buffer.length === 0\n ) {\n if (this.aggregators.size > 0) {\n return this.generateAggregateResponse(aggregateHeaders);\n }\n return { result: undefined, headers: aggregateHeaders };\n }\n\n const parallelResult = response.result as ParallelQueryResult;\n const dataToProcess: GroupByResult[] = parallelResult.buffer as GroupByResult[];\n\n for (const item of dataToProcess) {\n if (item) {\n let grouping: string = emptyGroup;\n let payload: any = item;\n if (item.groupByItems) {\n // If the query contains a GROUP BY clause, it will have a payload property and groupByItems\n payload = item.payload;\n grouping = await hashObject(item.groupByItems);\n }\n\n const aggregator = this.aggregators.get(grouping);\n if (!aggregator) {\n // This is the first time we have seen a grouping so create a new aggregator\n this.aggregators.set(grouping, createAggregator(this.aggregateType));\n }\n\n if (this.aggregateType) {\n const aggregateResult = extractAggregateResult(payload[0]);\n // if aggregate result is null, we need to short circuit aggregation and return undefined\n if (aggregateResult === null) {\n this.completed = true;\n }\n this.aggregators.get(grouping).aggregate(aggregateResult);\n } else {\n // Queries with no aggregates pass the payload directly to the aggregator\n // Example: SELECT VALUE c.team FROM c GROUP BY c.team\n this.aggregators.get(grouping).aggregate(payload);\n }\n }\n }\n\n // We bail early since we got an undefined result back `[{}]`\n if (this.completed) {\n const result = createParallelQueryResult([], new Map());\n\n return {\n result,\n headers: aggregateHeaders,\n };\n }\n\n if (this.executionContext.hasMoreResults()) {\n // Return empty buffer but preserve the structure and pass-through fields\n const result = createParallelQueryResult(\n [], // empty buffer\n new Map(),\n );\n\n return { result, headers: aggregateHeaders };\n } else {\n // If no results are left in the underlying execution context, convert our aggregate results to an array\n return this.generateAggregateResponse(aggregateHeaders);\n }\n }\n\n private generateAggregateResponse(aggregateHeaders: CosmosHeaders): Response<any> {\n for (const aggregator of this.aggregators.values()) {\n const result = aggregator.getResult();\n if (result !== undefined) {\n this.aggregateResultArray.push(result);\n }\n }\n this.completed = true;\n\n const result = createParallelQueryResult(this.aggregateResultArray, new Map());\n\n return {\n result,\n headers: aggregateHeaders,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NonStreamingOrderByDistinctEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAO1F;;;GAGG;AACH,qBAAa,4CAA6C,YAAW,gBAAgB;IAqBjF,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,qBAAqB;IAvB/B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAoD;IACxE;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAoD;IACjF;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,OAAO,CAAC,UAAU,CAAW;IAC7B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;gBAG3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,EAC/B,qBAAqB,GAAE,OAAe;IAiBhD;;OAEG;YACW,qBAAqB;IA2B5B,cAAc,IAAI,OAAO;IAKnB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CA+DxF"}
1
+ {"version":3,"file":"NonStreamingOrderByDistinctEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAS1F;;;GAGG;AACH,qBAAa,4CAA6C,YAAW,gBAAgB;IAqBjF,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,qBAAqB;IAvB/B;;OAEG;IACH,OAAO,CAAC,YAAY,CAAoD;IACxE;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAoD;IACjF;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,OAAO,CAAC,UAAU,CAAW;IAC7B;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;gBAG3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,uBAAuB,EAAE,MAAM,EAC/B,qBAAqB,GAAE,OAAe;IAiBhD;;OAEG;YACW,qBAAqB;IA2B5B,cAAc,IAAI,OAAO;IAKnB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CAoGxF"}
@@ -6,6 +6,7 @@ const hashObject_js_1 = require("../../utils/hashObject.js");
6
6
  const fixedSizePriorityQueue_js_1 = require("../../utils/fixedSizePriorityQueue.js");
7
7
  const nonStreamingOrderByMap_js_1 = require("../../utils/nonStreamingOrderByMap.js");
8
8
  const orderByComparator_js_1 = require("../orderByComparator.js");
9
+ const parallelQueryResult_js_1 = require("../parallelQueryResult.js");
9
10
  /**
10
11
  * @hidden
11
12
  * Represents an endpoint in handling an non-streaming order by distinct query.
@@ -99,19 +100,36 @@ class NonStreamingOrderByDistinctEndpointComponent {
99
100
  if (this.executionContext.hasMoreResults()) {
100
101
  // Grab the next result
101
102
  const response = await this.executionContext.fetchMore(diagnosticNode);
102
- if (response === undefined || response.result === undefined) {
103
+ if (!response) {
103
104
  this.isCompleted = true;
104
105
  if (this.aggregateMap.size() > 0) {
105
106
  await this.buildFinalResultArray();
107
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(this.finalResultArray, new Map(), {}, undefined);
106
108
  return {
107
- result: this.finalResultArray,
109
+ result,
110
+ headers: resHeaders,
111
+ };
112
+ }
113
+ return { result: undefined, headers: resHeaders };
114
+ }
115
+ if (response.result === undefined ||
116
+ !Array.isArray(response.result.buffer) ||
117
+ response.result.buffer.length === 0) {
118
+ this.isCompleted = true;
119
+ if (this.aggregateMap.size() > 0) {
120
+ await this.buildFinalResultArray();
121
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(this.finalResultArray, new Map(), {}, undefined);
122
+ return {
123
+ result,
108
124
  headers: response.headers,
109
125
  };
110
126
  }
111
127
  return { result: undefined, headers: response.headers };
112
128
  }
113
129
  resHeaders = response.headers;
114
- for (const item of response.result) {
130
+ const parallelResult = response.result;
131
+ const dataToProcess = parallelResult.buffer;
132
+ for (const item of dataToProcess) {
115
133
  if (item) {
116
134
  const key = await (0, hashObject_js_1.hashObject)(item?.payload);
117
135
  this.aggregateMap.set(key, item);
@@ -119,8 +137,10 @@ class NonStreamingOrderByDistinctEndpointComponent {
119
137
  }
120
138
  // return [] to signal that there are more results to fetch.
121
139
  if (this.executionContext.hasMoreResults()) {
140
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], // empty buffer
141
+ new Map(), undefined, undefined);
122
142
  return {
123
- result: [],
143
+ result,
124
144
  headers: resHeaders,
125
145
  };
126
146
  }
@@ -129,14 +149,16 @@ class NonStreamingOrderByDistinctEndpointComponent {
129
149
  if (!this.executionContext.hasMoreResults() && !this.isCompleted) {
130
150
  this.isCompleted = true;
131
151
  await this.buildFinalResultArray();
152
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(this.finalResultArray, new Map());
132
153
  return {
133
- result: this.finalResultArray,
154
+ result,
134
155
  headers: resHeaders,
135
156
  };
136
157
  }
137
158
  // Signal that there are no more results.
159
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], new Map());
138
160
  return {
139
- result: undefined,
161
+ result,
140
162
  headers: resHeaders,
141
163
  };
142
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NonStreamingOrderByDistinctEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { QueryInfo, Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport { getInitialHeader } from \"../headerUtils.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport { hashObject } from \"../../utils/hashObject.js\";\nimport type { NonStreamingOrderByResult } from \"../nonStreamingOrderByResult.js\";\nimport { FixedSizePriorityQueue } from \"../../utils/fixedSizePriorityQueue.js\";\nimport { NonStreamingOrderByMap } from \"../../utils/nonStreamingOrderByMap.js\";\nimport { OrderByComparator } from \"../orderByComparator.js\";\n\n/**\n * @hidden\n * Represents an endpoint in handling an non-streaming order by distinct query.\n */\nexport class NonStreamingOrderByDistinctEndpointComponent implements ExecutionContext {\n /**\n * A Map that holds the distinct values of the items before storing in priority queue.\n */\n private aggregateMap: NonStreamingOrderByMap<NonStreamingOrderByResult>;\n /**\n * A priority queue to compute the final sorted results.\n */\n private nonStreamingOrderByPQ: FixedSizePriorityQueue<NonStreamingOrderByResult>;\n /**\n * Array to store the final sorted results.\n */\n private finalResultArray: NonStreamingOrderByResult[];\n\n private sortOrders: string[];\n /**\n * Flag to determine if all results are fetched from backend and results can be returned.\n */\n private isCompleted: boolean = false;\n\n constructor(\n private executionContext: ExecutionContext,\n private queryInfo: QueryInfo,\n private priorityQueueBufferSize: number,\n private emitRawOrderByPayload: boolean = false,\n ) {\n this.sortOrders = this.queryInfo.orderBy;\n const comparator = new OrderByComparator(this.sortOrders);\n this.aggregateMap = new NonStreamingOrderByMap<NonStreamingOrderByResult>(\n (a: NonStreamingOrderByResult, b: NonStreamingOrderByResult) => {\n return comparator.compareItems(a, b);\n },\n );\n this.nonStreamingOrderByPQ = new FixedSizePriorityQueue<NonStreamingOrderByResult>(\n (a: NonStreamingOrderByResult, b: NonStreamingOrderByResult) => {\n return comparator.compareItems(b, a);\n },\n this.priorityQueueBufferSize,\n );\n }\n\n /**\n * Build final sorted result array from which responses will be served.\n */\n private async buildFinalResultArray(): Promise<void> {\n // Fetch all distinct values from the map and store in priority queue.\n const allValues = this.aggregateMap.getAllValuesAndReset();\n for (const value of allValues) {\n this.nonStreamingOrderByPQ.enqueue(value);\n }\n\n // Compute the final result array size based on offset and limit.\n const offSet = this.queryInfo.offset ? this.queryInfo.offset : 0;\n const queueSize = this.nonStreamingOrderByPQ.size();\n const finalArraySize = queueSize - offSet;\n\n if (finalArraySize <= 0) {\n this.finalResultArray = [];\n } else {\n this.finalResultArray = new Array(finalArraySize);\n // Only keep the final result array size number of items in the final result array and discard the rest.\n for (let count = finalArraySize - 1; count >= 0; count--) {\n if (this.emitRawOrderByPayload) {\n this.finalResultArray[count] = this.nonStreamingOrderByPQ.dequeue();\n } else {\n this.finalResultArray[count] = this.nonStreamingOrderByPQ.dequeue()?.payload;\n }\n }\n }\n }\n\n public hasMoreResults(): boolean {\n if (this.priorityQueueBufferSize === 0) return false;\n return this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.isCompleted) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n let resHeaders = getInitialHeader();\n // if size is 0, just return undefined to signal to more results. Valid if query is TOP 0 or LIMIT 0\n if (this.priorityQueueBufferSize <= 0) {\n return {\n result: undefined,\n headers: resHeaders,\n };\n }\n\n // If there are more results in backend, keep filling map.\n if (this.executionContext.hasMoreResults()) {\n // Grab the next result\n const response = await this.executionContext.fetchMore(diagnosticNode);\n if (response === undefined || response.result === undefined) {\n this.isCompleted = true;\n if (this.aggregateMap.size() > 0) {\n await this.buildFinalResultArray();\n return {\n result: this.finalResultArray,\n headers: response.headers,\n };\n }\n return { result: undefined, headers: response.headers };\n }\n resHeaders = response.headers;\n for (const item of response.result) {\n if (item) {\n const key = await hashObject(item?.payload);\n this.aggregateMap.set(key, item);\n }\n }\n\n // return [] to signal that there are more results to fetch.\n if (this.executionContext.hasMoreResults()) {\n return {\n result: [],\n headers: resHeaders,\n };\n }\n }\n\n // If all results are fetched from backend, prepare final results\n if (!this.executionContext.hasMoreResults() && !this.isCompleted) {\n this.isCompleted = true;\n await this.buildFinalResultArray();\n return {\n result: this.finalResultArray,\n headers: resHeaders,\n };\n }\n // Signal that there are no more results.\n return {\n result: undefined,\n headers: resHeaders,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"NonStreamingOrderByDistinctEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { QueryInfo, Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport { getInitialHeader } from \"../headerUtils.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport { hashObject } from \"../../utils/hashObject.js\";\nimport type { NonStreamingOrderByResult } from \"../nonStreamingOrderByResult.js\";\nimport { FixedSizePriorityQueue } from \"../../utils/fixedSizePriorityQueue.js\";\nimport { NonStreamingOrderByMap } from \"../../utils/nonStreamingOrderByMap.js\";\nimport { OrderByComparator } from \"../orderByComparator.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport { createParallelQueryResult } from \"../parallelQueryResult.js\";\n\n/**\n * @hidden\n * Represents an endpoint in handling an non-streaming order by distinct query.\n */\nexport class NonStreamingOrderByDistinctEndpointComponent implements ExecutionContext {\n /**\n * A Map that holds the distinct values of the items before storing in priority queue.\n */\n private aggregateMap: NonStreamingOrderByMap<NonStreamingOrderByResult>;\n /**\n * A priority queue to compute the final sorted results.\n */\n private nonStreamingOrderByPQ: FixedSizePriorityQueue<NonStreamingOrderByResult>;\n /**\n * Array to store the final sorted results.\n */\n private finalResultArray: NonStreamingOrderByResult[];\n\n private sortOrders: string[];\n /**\n * Flag to determine if all results are fetched from backend and results can be returned.\n */\n private isCompleted: boolean = false;\n\n constructor(\n private executionContext: ExecutionContext,\n private queryInfo: QueryInfo,\n private priorityQueueBufferSize: number,\n private emitRawOrderByPayload: boolean = false,\n ) {\n this.sortOrders = this.queryInfo.orderBy;\n const comparator = new OrderByComparator(this.sortOrders);\n this.aggregateMap = new NonStreamingOrderByMap<NonStreamingOrderByResult>(\n (a: NonStreamingOrderByResult, b: NonStreamingOrderByResult) => {\n return comparator.compareItems(a, b);\n },\n );\n this.nonStreamingOrderByPQ = new FixedSizePriorityQueue<NonStreamingOrderByResult>(\n (a: NonStreamingOrderByResult, b: NonStreamingOrderByResult) => {\n return comparator.compareItems(b, a);\n },\n this.priorityQueueBufferSize,\n );\n }\n\n /**\n * Build final sorted result array from which responses will be served.\n */\n private async buildFinalResultArray(): Promise<void> {\n // Fetch all distinct values from the map and store in priority queue.\n const allValues = this.aggregateMap.getAllValuesAndReset();\n for (const value of allValues) {\n this.nonStreamingOrderByPQ.enqueue(value);\n }\n\n // Compute the final result array size based on offset and limit.\n const offSet = this.queryInfo.offset ? this.queryInfo.offset : 0;\n const queueSize = this.nonStreamingOrderByPQ.size();\n const finalArraySize = queueSize - offSet;\n\n if (finalArraySize <= 0) {\n this.finalResultArray = [];\n } else {\n this.finalResultArray = new Array(finalArraySize);\n // Only keep the final result array size number of items in the final result array and discard the rest.\n for (let count = finalArraySize - 1; count >= 0; count--) {\n if (this.emitRawOrderByPayload) {\n this.finalResultArray[count] = this.nonStreamingOrderByPQ.dequeue();\n } else {\n this.finalResultArray[count] = this.nonStreamingOrderByPQ.dequeue()?.payload;\n }\n }\n }\n }\n\n public hasMoreResults(): boolean {\n if (this.priorityQueueBufferSize === 0) return false;\n return this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.isCompleted) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n let resHeaders = getInitialHeader();\n // if size is 0, just return undefined to signal to more results. Valid if query is TOP 0 or LIMIT 0\n if (this.priorityQueueBufferSize <= 0) {\n return {\n result: undefined,\n headers: resHeaders,\n };\n }\n\n // If there are more results in backend, keep filling map.\n if (this.executionContext.hasMoreResults()) {\n // Grab the next result\n const response = await this.executionContext.fetchMore(diagnosticNode);\n\n if (!response) {\n this.isCompleted = true;\n if (this.aggregateMap.size() > 0) {\n await this.buildFinalResultArray();\n const result = createParallelQueryResult(this.finalResultArray, new Map(), {}, undefined);\n\n return {\n result,\n headers: resHeaders,\n };\n }\n return { result: undefined, headers: resHeaders };\n }\n\n if (\n response.result === undefined ||\n !Array.isArray(response.result.buffer) ||\n response.result.buffer.length === 0\n ) {\n this.isCompleted = true;\n if (this.aggregateMap.size() > 0) {\n await this.buildFinalResultArray();\n const result = createParallelQueryResult(this.finalResultArray, new Map(), {}, undefined);\n\n return {\n result,\n headers: response.headers,\n };\n }\n return { result: undefined, headers: response.headers };\n }\n resHeaders = response.headers;\n\n const parallelResult = response.result as ParallelQueryResult;\n const dataToProcess: NonStreamingOrderByResult[] =\n parallelResult.buffer as NonStreamingOrderByResult[];\n\n for (const item of dataToProcess) {\n if (item) {\n const key = await hashObject(item?.payload);\n this.aggregateMap.set(key, item);\n }\n }\n\n // return [] to signal that there are more results to fetch.\n if (this.executionContext.hasMoreResults()) {\n const result = createParallelQueryResult(\n [], // empty buffer\n new Map(),\n undefined,\n undefined,\n );\n\n return {\n result,\n headers: resHeaders,\n };\n }\n }\n\n // If all results are fetched from backend, prepare final results\n if (!this.executionContext.hasMoreResults() && !this.isCompleted) {\n this.isCompleted = true;\n await this.buildFinalResultArray();\n const result = createParallelQueryResult(this.finalResultArray, new Map());\n\n return {\n result,\n headers: resHeaders,\n };\n }\n // Signal that there are no more results.\n const result = createParallelQueryResult([], new Map());\n\n return {\n result,\n headers: resHeaders,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NonStreamingOrderByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAO/D;;;GAGG;AACH,qBAAa,oCAAqC,YAAW,gBAAgB;IAiBzE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,qBAAqB;IApB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAoD;IACjF;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;IACrC;;;;;;OAMG;gBAEO,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,GAAG,EAAE,EACjB,uBAAuB,EAAE,MAAM,EAC/B,MAAM,GAAE,MAAU,EAClB,qBAAqB,GAAE,OAAe;IAWhD;;;OAGG;IACI,cAAc,IAAI,OAAO;IAIhC;;;OAGG;IACU,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAuDzE,qBAAqB;CAkCpC"}
1
+ {"version":3,"file":"NonStreamingOrderByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU/D;;;GAGG;AACH,qBAAa,oCAAqC,YAAW,gBAAgB;IAiBzE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,qBAAqB;IApB/B;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAoD;IACjF;;OAEG;IACH,OAAO,CAAC,WAAW,CAAkB;IACrC;;;;;;OAMG;gBAEO,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,GAAG,EAAE,EACjB,uBAAuB,EAAE,MAAM,EAC/B,MAAM,GAAE,MAAU,EAClB,qBAAqB,GAAE,OAAe;IAWhD;;;OAGG;IACI,cAAc,IAAI,OAAO;IAIhC;;;OAGG;IACU,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAiFzE,qBAAqB;CA6CpC"}
@@ -4,6 +4,7 @@ exports.NonStreamingOrderByEndpointComponent = void 0;
4
4
  const orderByComparator_js_1 = require("../orderByComparator.js");
5
5
  const fixedSizePriorityQueue_js_1 = require("../../utils/fixedSizePriorityQueue.js");
6
6
  const headerUtils_js_1 = require("../headerUtils.js");
7
+ const parallelQueryResult_js_1 = require("../parallelQueryResult.js");
7
8
  /**
8
9
  * @hidden
9
10
  * Represents an endpoint in handling an non-streaming order by query.
@@ -69,15 +70,26 @@ class NonStreamingOrderByEndpointComponent {
69
70
  // If there are more results in backend, keep filling pq.
70
71
  if (this.executionContext.hasMoreResults()) {
71
72
  const response = await this.executionContext.fetchMore(diagnosticNode);
73
+ if (!response) {
74
+ this.isCompleted = true;
75
+ if (!this.nonStreamingOrderByPQ.isEmpty()) {
76
+ return this.buildFinalResultArray(resHeaders);
77
+ }
78
+ return { result: undefined, headers: resHeaders };
79
+ }
72
80
  resHeaders = response.headers;
73
- if (response === undefined || response.result === undefined) {
81
+ if (response.result === undefined ||
82
+ !response.result.buffer ||
83
+ response.result.buffer.length === 0) {
74
84
  this.isCompleted = true;
75
85
  if (!this.nonStreamingOrderByPQ.isEmpty()) {
76
86
  return this.buildFinalResultArray(resHeaders);
77
87
  }
78
88
  return { result: undefined, headers: resHeaders };
79
89
  }
80
- for (const item of response.result) {
90
+ const parallelResult = response.result;
91
+ const dataToProcess = parallelResult.buffer;
92
+ for (const item of dataToProcess) {
81
93
  if (item !== undefined) {
82
94
  this.nonStreamingOrderByPQ.enqueue(item);
83
95
  }
@@ -85,23 +97,26 @@ class NonStreamingOrderByEndpointComponent {
85
97
  }
86
98
  // If the backend has more results to fetch, return [] to signal that there are more results to fetch.
87
99
  if (this.executionContext.hasMoreResults()) {
100
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], // empty buffer
101
+ new Map(), {});
88
102
  return {
89
- result: [],
103
+ result,
90
104
  headers: resHeaders,
91
105
  };
92
106
  }
93
107
  // If all results are fetched from backend, prepare final results
94
108
  if (!this.executionContext.hasMoreResults() && !this.isCompleted) {
95
109
  this.isCompleted = true;
96
- return this.buildFinalResultArray(resHeaders);
110
+ return this.buildFinalResultArray(resHeaders, new Map(), {});
97
111
  }
98
112
  // If pq is empty, return undefined to signal that there are no more results.
113
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], new Map(), {});
99
114
  return {
100
- result: undefined,
115
+ result,
101
116
  headers: resHeaders,
102
117
  };
103
118
  }
104
- async buildFinalResultArray(resHeaders) {
119
+ async buildFinalResultArray(resHeaders, partitionKeyRangeMap, updatedContinuationRanges) {
105
120
  // Set isCompleted to true.
106
121
  this.isCompleted = true;
107
122
  // Reverse the priority queue to get the results in the correct order
@@ -127,8 +142,9 @@ class NonStreamingOrderByEndpointComponent {
127
142
  buffer.push(this.nonStreamingOrderByPQ.dequeue()?.payload);
128
143
  }
129
144
  }
145
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(buffer, partitionKeyRangeMap || new Map(), updatedContinuationRanges || {}, undefined);
130
146
  return {
131
- result: buffer,
147
+ result,
132
148
  headers: resHeaders,
133
149
  };
134
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NonStreamingOrderByEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport { OrderByComparator } from \"../orderByComparator.js\";\nimport type { NonStreamingOrderByResult } from \"../nonStreamingOrderByResult.js\";\nimport { FixedSizePriorityQueue } from \"../../utils/fixedSizePriorityQueue.js\";\nimport type { CosmosHeaders } from \"../headerUtils.js\";\nimport { getInitialHeader } from \"../headerUtils.js\";\n\n/**\n * @hidden\n * Represents an endpoint in handling an non-streaming order by query.\n */\nexport class NonStreamingOrderByEndpointComponent implements ExecutionContext {\n /**\n * A priority queue to store the final sorted results.\n */\n private nonStreamingOrderByPQ: FixedSizePriorityQueue<NonStreamingOrderByResult>;\n /**\n * Flag to determine if all results are fetched from backend and results can be returned from priority queue.\n */\n private isCompleted: boolean = false;\n /**\n * Represents an endpoint in handling an non-streaming order by query. For each processed orderby\n * result it returns 'payload' item of the result\n *\n * @param executionContext - Underlying Execution Context\n * @hidden\n */\n constructor(\n private executionContext: ExecutionContext,\n private sortOrders: any[],\n private priorityQueueBufferSize: number,\n private offset: number = 0,\n private emitRawOrderByPayload: boolean = false,\n ) {\n const comparator = new OrderByComparator(this.sortOrders);\n this.nonStreamingOrderByPQ = new FixedSizePriorityQueue<NonStreamingOrderByResult>(\n (a: NonStreamingOrderByResult, b: NonStreamingOrderByResult) => {\n return comparator.compareItems(b, a);\n },\n this.priorityQueueBufferSize,\n );\n }\n\n /**\n * Determine if there are still remaining resources to processs.\n * @returns true if there is other elements to process in the NonStreamingOrderByEndpointComponent.\n */\n public hasMoreResults(): boolean {\n return this.priorityQueueBufferSize > 0 && this.executionContext.hasMoreResults();\n }\n\n /**\n * Fetches the next batch of the result from the target container.\n * @param diagnosticNode - The diagnostic information for the request.\n */\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.isCompleted) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n let resHeaders = getInitialHeader();\n // if size is 0, just return undefined to signal to more results. Valid if query is TOP 0 or LIMIT 0\n if (this.priorityQueueBufferSize <= 0) {\n return {\n result: undefined,\n headers: resHeaders,\n };\n }\n // If there are more results in backend, keep filling pq.\n if (this.executionContext.hasMoreResults()) {\n const response = await this.executionContext.fetchMore(diagnosticNode);\n resHeaders = response.headers;\n if (response === undefined || response.result === undefined) {\n this.isCompleted = true;\n if (!this.nonStreamingOrderByPQ.isEmpty()) {\n return this.buildFinalResultArray(resHeaders);\n }\n return { result: undefined, headers: resHeaders };\n }\n\n for (const item of response.result) {\n if (item !== undefined) {\n this.nonStreamingOrderByPQ.enqueue(item);\n }\n }\n }\n\n // If the backend has more results to fetch, return [] to signal that there are more results to fetch.\n if (this.executionContext.hasMoreResults()) {\n return {\n result: [],\n headers: resHeaders,\n };\n }\n\n // If all results are fetched from backend, prepare final results\n if (!this.executionContext.hasMoreResults() && !this.isCompleted) {\n this.isCompleted = true;\n return this.buildFinalResultArray(resHeaders);\n }\n\n // If pq is empty, return undefined to signal that there are no more results.\n return {\n result: undefined,\n headers: resHeaders,\n };\n }\n\n private async buildFinalResultArray(resHeaders: CosmosHeaders): Promise<Response<any>> {\n // Set isCompleted to true.\n this.isCompleted = true;\n // Reverse the priority queue to get the results in the correct order\n this.nonStreamingOrderByPQ = this.nonStreamingOrderByPQ.reverse();\n // For offset limit case we set the size of priority queue to offset + limit\n // and we drain offset number of items from the priority queue\n while (\n this.offset < this.priorityQueueBufferSize &&\n this.offset > 0 &&\n !this.nonStreamingOrderByPQ.isEmpty()\n ) {\n this.nonStreamingOrderByPQ.dequeue();\n this.offset--;\n }\n\n // If pq is not empty, return the result from pq.\n if (!this.nonStreamingOrderByPQ.isEmpty()) {\n const buffer: any[] = [];\n if (this.emitRawOrderByPayload) {\n while (!this.nonStreamingOrderByPQ.isEmpty()) {\n buffer.push(this.nonStreamingOrderByPQ.dequeue());\n }\n } else {\n while (!this.nonStreamingOrderByPQ.isEmpty()) {\n buffer.push(this.nonStreamingOrderByPQ.dequeue()?.payload);\n }\n }\n return {\n result: buffer,\n headers: resHeaders,\n };\n }\n }\n}\n"]}
1
+ {"version":3,"file":"NonStreamingOrderByEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport { OrderByComparator } from \"../orderByComparator.js\";\nimport type { NonStreamingOrderByResult } from \"../nonStreamingOrderByResult.js\";\nimport { FixedSizePriorityQueue } from \"../../utils/fixedSizePriorityQueue.js\";\nimport type { CosmosHeaders } from \"../headerUtils.js\";\nimport { getInitialHeader } from \"../headerUtils.js\";\nimport type { QueryRangeMapping } from \"../queryRangeMapping.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport { createParallelQueryResult } from \"../parallelQueryResult.js\";\n\n/**\n * @hidden\n * Represents an endpoint in handling an non-streaming order by query.\n */\nexport class NonStreamingOrderByEndpointComponent implements ExecutionContext {\n /**\n * A priority queue to store the final sorted results.\n */\n private nonStreamingOrderByPQ: FixedSizePriorityQueue<NonStreamingOrderByResult>;\n /**\n * Flag to determine if all results are fetched from backend and results can be returned from priority queue.\n */\n private isCompleted: boolean = false;\n /**\n * Represents an endpoint in handling an non-streaming order by query. For each processed orderby\n * result it returns 'payload' item of the result\n *\n * @param executionContext - Underlying Execution Context\n * @hidden\n */\n constructor(\n private executionContext: ExecutionContext,\n private sortOrders: any[],\n private priorityQueueBufferSize: number,\n private offset: number = 0,\n private emitRawOrderByPayload: boolean = false,\n ) {\n const comparator = new OrderByComparator(this.sortOrders);\n this.nonStreamingOrderByPQ = new FixedSizePriorityQueue<NonStreamingOrderByResult>(\n (a: NonStreamingOrderByResult, b: NonStreamingOrderByResult) => {\n return comparator.compareItems(b, a);\n },\n this.priorityQueueBufferSize,\n );\n }\n\n /**\n * Determine if there are still remaining resources to processs.\n * @returns true if there is other elements to process in the NonStreamingOrderByEndpointComponent.\n */\n public hasMoreResults(): boolean {\n return this.priorityQueueBufferSize > 0 && this.executionContext.hasMoreResults();\n }\n\n /**\n * Fetches the next batch of the result from the target container.\n * @param diagnosticNode - The diagnostic information for the request.\n */\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n if (this.isCompleted) {\n return {\n result: undefined,\n headers: getInitialHeader(),\n };\n }\n let resHeaders = getInitialHeader();\n\n // if size is 0, just return undefined to signal to more results. Valid if query is TOP 0 or LIMIT 0\n if (this.priorityQueueBufferSize <= 0) {\n return {\n result: undefined,\n headers: resHeaders,\n };\n }\n // If there are more results in backend, keep filling pq.\n if (this.executionContext.hasMoreResults()) {\n const response = await this.executionContext.fetchMore(diagnosticNode);\n\n if (!response) {\n this.isCompleted = true;\n if (!this.nonStreamingOrderByPQ.isEmpty()) {\n return this.buildFinalResultArray(resHeaders);\n }\n return { result: undefined, headers: resHeaders };\n }\n\n resHeaders = response.headers;\n if (\n response.result === undefined ||\n !response.result.buffer ||\n response.result.buffer.length === 0\n ) {\n this.isCompleted = true;\n if (!this.nonStreamingOrderByPQ.isEmpty()) {\n return this.buildFinalResultArray(resHeaders);\n }\n return { result: undefined, headers: resHeaders };\n }\n\n const parallelResult = response.result as ParallelQueryResult;\n const dataToProcess: NonStreamingOrderByResult[] =\n parallelResult.buffer as NonStreamingOrderByResult[];\n\n for (const item of dataToProcess) {\n if (item !== undefined) {\n this.nonStreamingOrderByPQ.enqueue(item);\n }\n }\n }\n\n // If the backend has more results to fetch, return [] to signal that there are more results to fetch.\n if (this.executionContext.hasMoreResults()) {\n const result = createParallelQueryResult(\n [], // empty buffer\n new Map(),\n {},\n );\n\n return {\n result,\n headers: resHeaders,\n };\n }\n\n // If all results are fetched from backend, prepare final results\n if (!this.executionContext.hasMoreResults() && !this.isCompleted) {\n this.isCompleted = true;\n return this.buildFinalResultArray(resHeaders, new Map(), {});\n }\n\n // If pq is empty, return undefined to signal that there are no more results.\n const result = createParallelQueryResult([], new Map(), {});\n\n return {\n result,\n headers: resHeaders,\n };\n }\n\n private async buildFinalResultArray(\n resHeaders: CosmosHeaders,\n partitionKeyRangeMap?: Map<string, QueryRangeMapping>,\n updatedContinuationRanges?: Record<string, any>,\n ): Promise<Response<any>> {\n // Set isCompleted to true.\n this.isCompleted = true;\n // Reverse the priority queue to get the results in the correct order\n this.nonStreamingOrderByPQ = this.nonStreamingOrderByPQ.reverse();\n // For offset limit case we set the size of priority queue to offset + limit\n // and we drain offset number of items from the priority queue\n while (\n this.offset < this.priorityQueueBufferSize &&\n this.offset > 0 &&\n !this.nonStreamingOrderByPQ.isEmpty()\n ) {\n this.nonStreamingOrderByPQ.dequeue();\n this.offset--;\n }\n\n // If pq is not empty, return the result from pq.\n if (!this.nonStreamingOrderByPQ.isEmpty()) {\n const buffer: any[] = [];\n if (this.emitRawOrderByPayload) {\n while (!this.nonStreamingOrderByPQ.isEmpty()) {\n buffer.push(this.nonStreamingOrderByPQ.dequeue());\n }\n } else {\n while (!this.nonStreamingOrderByPQ.isEmpty()) {\n buffer.push(this.nonStreamingOrderByPQ.dequeue()?.payload);\n }\n }\n const result = createParallelQueryResult(\n buffer,\n partitionKeyRangeMap || new Map(),\n updatedContinuationRanges || {},\n undefined,\n );\n\n return {\n result,\n headers: resHeaders,\n };\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetLimitEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,cAAc;AACd,qBAAa,4BAA6B,YAAW,gBAAgB;IAEjE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;gBAFL,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM;IAGhB,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CAmBxF"}
1
+ {"version":3,"file":"OffsetLimitEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,cAAc;AACd,qBAAa,4BAA6B,YAAW,gBAAgB;IAEjE,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;gBAFL,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM;IAGhB,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CAiExF"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OffsetLimitEndpointComponent = void 0;
4
4
  const headerUtils_js_1 = require("../headerUtils.js");
5
+ const parallelQueryResult_js_1 = require("../parallelQueryResult.js");
6
+ const PartitionRangeUtils_js_1 = require("../PartitionRangeUtils.js");
5
7
  /** @hidden */
6
8
  class OffsetLimitEndpointComponent {
7
9
  executionContext;
@@ -19,20 +21,49 @@ class OffsetLimitEndpointComponent {
19
21
  const aggregateHeaders = (0, headerUtils_js_1.getInitialHeader)();
20
22
  const buffer = [];
21
23
  const response = await this.executionContext.fetchMore(diagnosticNode);
24
+ if (!response) {
25
+ return { result: undefined, headers: aggregateHeaders };
26
+ }
22
27
  (0, headerUtils_js_1.mergeHeaders)(aggregateHeaders, response.headers);
23
- if (response === undefined || response.result === undefined) {
24
- return { result: undefined, headers: response.headers };
28
+ if (response.result === undefined ||
29
+ !Array.isArray(response.result.buffer) ||
30
+ response.result.buffer.length === 0) {
31
+ return { result: response.result, headers: response.headers };
25
32
  }
26
- for (const item of response.result) {
33
+ const parallelResult = response.result;
34
+ const dataToProcess = parallelResult.buffer;
35
+ const partitionKeyRangeMap = parallelResult.partitionKeyRangeMap;
36
+ const updatedContinuationRanges = parallelResult.updatedContinuationRanges;
37
+ const orderByItems = parallelResult.orderByItems;
38
+ const initialOffset = this.offset;
39
+ const initialLimit = this.limit;
40
+ const filteredOrderByItems = [];
41
+ let itemIndex = 0;
42
+ for (const item of dataToProcess) {
27
43
  if (this.offset > 0) {
28
44
  this.offset--;
45
+ // Skip this item AND its corresponding orderByItems entry
29
46
  }
30
47
  else if (this.limit > 0) {
31
48
  buffer.push(item);
49
+ // Include the corresponding orderByItems entry
50
+ if (orderByItems && itemIndex < orderByItems.length) {
51
+ filteredOrderByItems.push(orderByItems[itemIndex]);
52
+ }
32
53
  this.limit--;
33
54
  }
55
+ itemIndex++;
34
56
  }
35
- return { result: buffer, headers: aggregateHeaders };
57
+ // Process offset/limit logic and update partition key range map
58
+ // Note: Pass initial offset/limit values (not current state) to calculateOffsetLimitForPartitionRanges
59
+ // This function updates partition metadata while the loop above processes actual data items
60
+ const updatedPartitionKeyRangeMap = (0, PartitionRangeUtils_js_1.calculateOffsetLimitForPartitionRanges)(partitionKeyRangeMap, initialOffset, initialLimit);
61
+ // Return in the new structure format using the utility function
62
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(buffer, updatedPartitionKeyRangeMap, updatedContinuationRanges, filteredOrderByItems.length > 0 ? filteredOrderByItems : undefined);
63
+ return {
64
+ result,
65
+ headers: aggregateHeaders,
66
+ };
36
67
  }
37
68
  }
38
69
  exports.OffsetLimitEndpointComponent = OffsetLimitEndpointComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetLimitEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.ts"],"names":[],"mappings":";;;AAKA,sDAAmE;AAEnE,cAAc;AACd,MAAa,4BAA4B;IAE7B;IACA;IACA;IAHV,YACU,gBAAkC,EAClC,MAAc,EACd,KAAa;QAFb,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAQ;IACpB,CAAC;IAEG,cAAc;QACnB,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;IACvF,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,cAAuC;QAC5D,MAAM,gBAAgB,GAAG,IAAA,iCAAgB,GAAE,CAAC;QAC5C,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvE,IAAA,6BAAY,EAAC,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1D,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACvD,CAAC;CACF;AA9BD,oEA8BC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport { getInitialHeader, mergeHeaders } from \"../headerUtils.js\";\n\n/** @hidden */\nexport class OffsetLimitEndpointComponent implements ExecutionContext {\n constructor(\n private executionContext: ExecutionContext,\n private offset: number,\n private limit: number,\n ) {}\n\n public hasMoreResults(): boolean {\n return (this.offset > 0 || this.limit > 0) && this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n const aggregateHeaders = getInitialHeader();\n const buffer: any[] = [];\n const response = await this.executionContext.fetchMore(diagnosticNode);\n mergeHeaders(aggregateHeaders, response.headers);\n if (response === undefined || response.result === undefined) {\n return { result: undefined, headers: response.headers };\n }\n\n for (const item of response.result) {\n if (this.offset > 0) {\n this.offset--;\n } else if (this.limit > 0) {\n buffer.push(item);\n this.limit--;\n }\n }\n return { result: buffer, headers: aggregateHeaders };\n }\n}\n"]}
1
+ {"version":3,"file":"OffsetLimitEndpointComponent.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { Response } from \"../../request/index.js\";\nimport type { ExecutionContext } from \"../ExecutionContext.js\";\nimport { getInitialHeader, mergeHeaders } from \"../headerUtils.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport { createParallelQueryResult } from \"../parallelQueryResult.js\";\nimport { calculateOffsetLimitForPartitionRanges } from \"../PartitionRangeUtils.js\";\n\n/** @hidden */\nexport class OffsetLimitEndpointComponent implements ExecutionContext {\n constructor(\n private executionContext: ExecutionContext,\n private offset: number,\n private limit: number,\n ) {}\n\n public hasMoreResults(): boolean {\n return (this.offset > 0 || this.limit > 0) && this.executionContext.hasMoreResults();\n }\n\n public async fetchMore(diagnosticNode?: DiagnosticNodeInternal): Promise<Response<any>> {\n const aggregateHeaders = getInitialHeader();\n const buffer: any[] = [];\n const response = await this.executionContext.fetchMore(diagnosticNode);\n if (!response) {\n return { result: undefined, headers: aggregateHeaders };\n }\n mergeHeaders(aggregateHeaders, response.headers);\n if (\n response.result === undefined ||\n !Array.isArray(response.result.buffer) ||\n response.result.buffer.length === 0\n ) {\n return { result: response.result, headers: response.headers };\n }\n\n const parallelResult = response.result as ParallelQueryResult;\n const dataToProcess: any[] = parallelResult.buffer;\n const partitionKeyRangeMap = parallelResult.partitionKeyRangeMap;\n const updatedContinuationRanges = parallelResult.updatedContinuationRanges;\n const orderByItems = parallelResult.orderByItems;\n\n const initialOffset = this.offset;\n const initialLimit = this.limit;\n\n const filteredOrderByItems: any[] = [];\n let itemIndex = 0;\n\n for (const item of dataToProcess) {\n if (this.offset > 0) {\n this.offset--;\n // Skip this item AND its corresponding orderByItems entry\n } else if (this.limit > 0) {\n buffer.push(item);\n // Include the corresponding orderByItems entry\n if (orderByItems && itemIndex < orderByItems.length) {\n filteredOrderByItems.push(orderByItems[itemIndex]);\n }\n this.limit--;\n }\n itemIndex++;\n }\n\n // Process offset/limit logic and update partition key range map\n // Note: Pass initial offset/limit values (not current state) to calculateOffsetLimitForPartitionRanges\n // This function updates partition metadata while the loop above processes actual data items\n const updatedPartitionKeyRangeMap = calculateOffsetLimitForPartitionRanges(\n partitionKeyRangeMap,\n initialOffset,\n initialLimit,\n );\n\n // Return in the new structure format using the utility function\n const result = createParallelQueryResult(\n buffer,\n updatedPartitionKeyRangeMap,\n updatedContinuationRanges,\n filteredOrderByItems.length > 0 ? filteredOrderByItems : undefined,\n );\n\n return {\n result,\n headers: aggregateHeaders,\n };\n }\n}\n"]}
@@ -10,6 +10,7 @@ export declare class OrderByEndpointComponent implements ExecutionContext {
10
10
  * result it returns 'payload' item of the result
11
11
  *
12
12
  * @param executionContext - Underlying Execution Context
13
+ * @param emitRawOrderByPayload - Whether to emit raw order by payload
13
14
  * @hidden
14
15
  */
15
16
  constructor(executionContext: ExecutionContext, emitRawOrderByPayload?: boolean);
@@ -1 +1 @@
1
- {"version":3,"file":"OrderByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,cAAc;AACd,qBAAa,wBAAyB,YAAW,gBAAgB;IAS7D,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,qBAAqB;IAT/B;;;;;;OAMG;gBAEO,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,GAAE,OAAe;IAEhD;;;OAGG;IACI,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CAgBxF"}
1
+ {"version":3,"file":"OrderByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,cAAc;AACd,qBAAa,wBAAyB,YAAW,gBAAgB;IAU7D,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,qBAAqB;IAV/B;;;;;;;OAOG;gBAEO,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,GAAE,OAAe;IAEhD;;;OAGG;IACI,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;CAgDxF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrderByEndpointComponent = void 0;
4
+ const parallelQueryResult_js_1 = require("../parallelQueryResult.js");
4
5
  /** @hidden */
5
6
  class OrderByEndpointComponent {
6
7
  executionContext;
@@ -10,6 +11,7 @@ class OrderByEndpointComponent {
10
11
  * result it returns 'payload' item of the result
11
12
  *
12
13
  * @param executionContext - Underlying Execution Context
14
+ * @param emitRawOrderByPayload - Whether to emit raw order by payload
13
15
  * @hidden
14
16
  */
15
17
  constructor(executionContext, emitRawOrderByPayload = false) {
@@ -25,19 +27,35 @@ class OrderByEndpointComponent {
25
27
  }
26
28
  async fetchMore(diagnosticNode) {
27
29
  const buffer = [];
30
+ const orderByItemsArray = []; // Store order by items for each item
28
31
  const response = await this.executionContext.fetchMore(diagnosticNode);
29
- if (response === undefined || response.result === undefined) {
30
- return { result: undefined, headers: response.headers };
32
+ if (!response ||
33
+ !response.result ||
34
+ !Array.isArray(response.result.buffer) ||
35
+ response.result.buffer.length === 0) {
36
+ // Preserve the partitionKeyRangeMap and updatedContinuationRanges from the original response
37
+ // even when the buffer is empty, as they contain continuation token information
38
+ const originalResult = response?.result;
39
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)([], originalResult?.partitionKeyRangeMap || new Map(), originalResult?.updatedContinuationRanges || {}, []);
40
+ return { result, headers: response?.headers };
31
41
  }
32
- for (const item of response.result) {
42
+ const parallelResult = response.result;
43
+ const rawBuffer = parallelResult.buffer;
44
+ const partitionKeyRangeMap = parallelResult.partitionKeyRangeMap;
45
+ const updatedContinuationRanges = parallelResult.updatedContinuationRanges;
46
+ // Process buffer items and collect order by items for each item
47
+ for (let i = 0; i < rawBuffer.length; i++) {
48
+ const item = rawBuffer[i];
33
49
  if (this.emitRawOrderByPayload) {
34
50
  buffer.push(item);
35
51
  }
36
52
  else {
37
53
  buffer.push(item.payload);
38
54
  }
55
+ orderByItemsArray.push({ orderByItems: item.orderByItems, _rid: item._rid });
39
56
  }
40
- return { result: buffer, headers: response.headers };
57
+ const result = (0, parallelQueryResult_js_1.createParallelQueryResult)(buffer, partitionKeyRangeMap, updatedContinuationRanges, orderByItemsArray);
58
+ return { result, headers: response.headers };
41
59
  }
42
60
  }
43
61
  exports.OrderByEndpointComponent = OrderByEndpointComponent;