@azure/cosmos 4.8.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/dist/browser/common/constants.d.ts.map +1 -1
  2. package/dist/browser/common/constants.js +16 -1
  3. package/dist/browser/common/constants.js.map +1 -1
  4. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  5. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  6. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  7. package/dist/browser/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  8. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  9. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  10. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  11. package/dist/browser/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  12. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  13. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  14. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  15. package/dist/browser/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  16. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  17. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  18. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  19. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  20. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  21. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  22. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  23. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  24. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  25. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  26. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  27. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  28. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  29. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  30. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  31. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  32. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  33. package/dist/browser/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  34. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js +23 -0
  35. package/dist/browser/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  36. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  37. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  38. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  39. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  40. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  41. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  42. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  43. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  44. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  45. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  46. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  47. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  48. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  49. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  50. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  51. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  52. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  53. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  54. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  55. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  56. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  57. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  58. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  59. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  60. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  61. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  62. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  63. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  64. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  65. package/dist/browser/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  66. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  67. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  68. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +156 -0
  69. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  70. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  71. package/dist/browser/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  72. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js +105 -0
  73. package/dist/browser/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  74. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  75. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  76. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  77. package/dist/browser/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  78. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  79. package/dist/browser/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  80. package/dist/browser/queryExecutionContext/QueryValidationHelper.js +65 -0
  81. package/dist/browser/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  82. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  83. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  84. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  85. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  86. package/dist/browser/queryExecutionContext/documentProducer.d.ts +9 -3
  87. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  88. package/dist/browser/queryExecutionContext/documentProducer.js +17 -4
  89. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  90. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  91. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  92. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  93. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  94. package/dist/browser/queryExecutionContext/index.d.ts +7 -0
  95. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  96. package/dist/browser/queryExecutionContext/index.js +4 -0
  97. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  98. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  99. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  100. package/dist/browser/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  101. package/dist/browser/queryExecutionContext/orderByComparator.d.ts +11 -2
  102. package/dist/browser/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  103. package/dist/browser/queryExecutionContext/orderByComparator.js +20 -3
  104. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  105. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  106. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  107. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  108. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  109. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  110. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  111. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  112. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  113. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  114. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  115. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  116. package/dist/browser/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  117. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  118. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  119. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  120. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  121. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  122. package/dist/browser/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  123. package/dist/browser/queryExecutionContext/parallelQueryResult.js +23 -0
  124. package/dist/browser/queryExecutionContext/parallelQueryResult.js.map +1 -0
  125. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  126. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  127. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  128. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  130. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  131. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  132. package/dist/browser/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  133. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  134. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  135. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  136. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  137. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  138. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  139. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  140. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  141. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  142. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  143. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  144. package/dist/browser/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  145. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  146. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  147. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  148. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  149. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  150. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  151. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  152. package/dist/browser/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  153. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  154. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  155. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  156. package/dist/browser/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  157. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  158. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  159. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  160. package/dist/browser/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  161. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  162. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  163. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  164. package/dist/browser/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  165. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  166. package/dist/browser/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  167. package/dist/browser/queryExecutionContext/queryRangeMapping.js +4 -0
  168. package/dist/browser/queryExecutionContext/queryRangeMapping.js.map +1 -0
  169. package/dist/browser/queryIterator.js.map +1 -1
  170. package/dist/browser/utils/offers.d.ts.map +1 -1
  171. package/dist/browser/utils/offers.js +0 -1
  172. package/dist/browser/utils/offers.js.map +1 -1
  173. package/dist/commonjs/common/constants.d.ts.map +1 -1
  174. package/dist/commonjs/common/constants.js +13 -2
  175. package/dist/commonjs/common/constants.js.map +1 -1
  176. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  177. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  178. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +93 -0
  179. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  180. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  181. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  182. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +44 -0
  183. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  184. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  185. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  186. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +5 -0
  187. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  188. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  189. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  190. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +178 -0
  191. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  192. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  193. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  194. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +31 -0
  195. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  196. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  197. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  198. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +133 -0
  199. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  200. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  201. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  202. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +70 -0
  203. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  204. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  205. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  206. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +26 -0
  207. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  208. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  209. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  210. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  211. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  212. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  213. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  214. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  215. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  216. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  217. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  218. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  219. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  220. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  221. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  222. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  223. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  224. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  225. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  226. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  227. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  228. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  229. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  230. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  231. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  232. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  233. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  234. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  235. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  236. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +59 -0
  237. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  238. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  239. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  240. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +160 -0
  241. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  242. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  243. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  244. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +109 -0
  245. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  246. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  247. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  248. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +97 -0
  249. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  250. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  251. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  252. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +69 -0
  253. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  254. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  255. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  256. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  257. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  258. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +9 -3
  259. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  260. package/dist/commonjs/queryExecutionContext/documentProducer.js +17 -4
  261. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  262. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  263. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  264. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  265. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  266. package/dist/commonjs/queryExecutionContext/index.d.ts +7 -0
  267. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  268. package/dist/commonjs/queryExecutionContext/index.js +10 -0
  269. package/dist/commonjs/queryExecutionContext/index.js.map +1 -1
  270. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  271. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  272. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  273. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts +11 -2
  274. package/dist/commonjs/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  275. package/dist/commonjs/queryExecutionContext/orderByComparator.js +21 -3
  276. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  277. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  278. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  279. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  280. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  281. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  282. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  283. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  284. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  285. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  286. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  287. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  288. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  289. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  290. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  291. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  292. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  293. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  294. package/dist/commonjs/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  295. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +26 -0
  296. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +1 -0
  297. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  298. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  299. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  300. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  301. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  302. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  303. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +5 -0
  304. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  305. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  306. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  307. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +314 -0
  308. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  309. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  310. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  311. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +106 -0
  312. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  313. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  314. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  315. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +184 -0
  316. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  317. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  318. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  319. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +97 -0
  320. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  321. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  322. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  323. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +5 -0
  324. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  325. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  326. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  327. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +57 -0
  328. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  329. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  330. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  331. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +38 -0
  332. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  333. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  334. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  335. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +5 -0
  336. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  337. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  338. package/dist/commonjs/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  339. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +5 -0
  340. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +1 -0
  341. package/dist/commonjs/queryIterator.js.map +1 -1
  342. package/dist/commonjs/utils/offers.d.ts.map +1 -1
  343. package/dist/commonjs/utils/offers.js +0 -1
  344. package/dist/commonjs/utils/offers.js.map +1 -1
  345. package/dist/esm/common/constants.d.ts.map +1 -1
  346. package/dist/esm/common/constants.js +16 -1
  347. package/dist/esm/common/constants.js.map +1 -1
  348. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  349. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  350. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  351. package/dist/esm/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  352. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  353. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  354. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  355. package/dist/esm/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  356. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  357. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  358. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  359. package/dist/esm/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  360. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  361. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  362. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  363. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  364. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  365. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  366. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  367. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  368. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  369. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  370. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  371. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  372. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  373. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  374. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  375. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  376. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  377. package/dist/esm/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  378. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js +23 -0
  379. package/dist/esm/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  380. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  381. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  382. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  383. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  384. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  385. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  386. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  387. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  388. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  389. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  390. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  391. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  392. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  393. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  394. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  395. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  396. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  397. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  398. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  399. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  400. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  401. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  402. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  403. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  404. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  405. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  406. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  407. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  408. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  409. package/dist/esm/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  410. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  411. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  412. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +156 -0
  413. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  414. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  415. package/dist/esm/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  416. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js +105 -0
  417. package/dist/esm/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  418. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  419. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  420. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  421. package/dist/esm/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  422. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  423. package/dist/esm/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  424. package/dist/esm/queryExecutionContext/QueryValidationHelper.js +65 -0
  425. package/dist/esm/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  426. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  427. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  428. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  429. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  430. package/dist/esm/queryExecutionContext/documentProducer.d.ts +9 -3
  431. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  432. package/dist/esm/queryExecutionContext/documentProducer.js +17 -4
  433. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  434. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  435. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  436. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  437. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  438. package/dist/esm/queryExecutionContext/index.d.ts +7 -0
  439. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  440. package/dist/esm/queryExecutionContext/index.js +4 -0
  441. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  442. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  443. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  444. package/dist/esm/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  445. package/dist/esm/queryExecutionContext/orderByComparator.d.ts +11 -2
  446. package/dist/esm/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  447. package/dist/esm/queryExecutionContext/orderByComparator.js +20 -3
  448. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  449. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  450. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  451. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  452. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  453. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  454. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  455. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  456. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  457. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  458. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  459. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  460. package/dist/esm/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  461. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  462. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  463. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  464. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  465. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  466. package/dist/esm/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  467. package/dist/esm/queryExecutionContext/parallelQueryResult.js +23 -0
  468. package/dist/esm/queryExecutionContext/parallelQueryResult.js.map +1 -0
  469. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  470. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  471. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  472. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  473. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  474. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  475. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  476. package/dist/esm/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  477. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  478. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  479. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  480. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  481. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  482. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  483. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  484. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  485. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  486. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  487. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  488. package/dist/esm/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  489. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  490. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  491. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  492. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  493. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  494. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  495. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  496. package/dist/esm/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  497. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  498. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  499. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  500. package/dist/esm/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  501. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  502. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  503. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  504. package/dist/esm/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  505. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  506. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  507. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  508. package/dist/esm/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  509. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  510. package/dist/esm/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  511. package/dist/esm/queryExecutionContext/queryRangeMapping.js +4 -0
  512. package/dist/esm/queryExecutionContext/queryRangeMapping.js.map +1 -0
  513. package/dist/esm/queryIterator.js.map +1 -1
  514. package/dist/esm/utils/offers.d.ts.map +1 -1
  515. package/dist/esm/utils/offers.js +0 -1
  516. package/dist/esm/utils/offers.js.map +1 -1
  517. package/dist/react-native/common/constants.d.ts.map +1 -1
  518. package/dist/react-native/common/constants.js +16 -1
  519. package/dist/react-native/common/constants.js.map +1 -1
  520. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts +99 -0
  521. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.d.ts.map +1 -0
  522. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js +84 -0
  523. package/dist/react-native/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +1 -0
  524. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts +40 -0
  525. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.d.ts.map +1 -0
  526. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js +39 -0
  527. package/dist/react-native/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +1 -0
  528. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts +21 -0
  529. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.d.ts.map +1 -0
  530. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js +4 -0
  531. package/dist/react-native/documents/ContinuationToken/PartitionRangeUpdate.js.map +1 -0
  532. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts +2 -0
  533. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.d.ts.map +1 -0
  534. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +174 -0
  535. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -0
  536. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts +2 -0
  537. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.d.ts.map +1 -0
  538. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +28 -0
  539. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +1 -0
  540. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts +2 -0
  541. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.d.ts.map +1 -0
  542. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +129 -0
  543. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -0
  544. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts +2 -0
  545. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.d.ts.map +1 -0
  546. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +66 -0
  547. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -0
  548. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts +2 -0
  549. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.d.ts.map +1 -0
  550. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js +23 -0
  551. package/dist/react-native/queryExecutionContext/ContinuationTokenParser.js.map +1 -0
  552. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.d.ts.map +1 -1
  553. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +22 -7
  554. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  555. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.d.ts.map +1 -1
  556. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +21 -5
  557. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  558. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.d.ts.map +1 -1
  559. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +28 -6
  560. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  561. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.d.ts.map +1 -1
  562. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +23 -7
  563. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  564. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.d.ts.map +1 -1
  565. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +35 -4
  566. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  567. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts +1 -0
  568. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.d.ts.map +1 -1
  569. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +22 -4
  570. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  571. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts +1 -1
  572. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.d.ts.map +1 -1
  573. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +24 -5
  574. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  575. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.d.ts.map +1 -1
  576. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +18 -5
  577. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  578. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts +14 -0
  579. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.d.ts.map +1 -0
  580. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js +55 -0
  581. package/dist/react-native/queryExecutionContext/LegacyFetchImplementation.js.map +1 -0
  582. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +73 -0
  583. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -0
  584. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +156 -0
  585. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -0
  586. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts +19 -0
  587. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.d.ts.map +1 -0
  588. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js +105 -0
  589. package/dist/react-native/queryExecutionContext/PartitionRangeUtils.js.map +1 -0
  590. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts +20 -0
  591. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.d.ts.map +1 -0
  592. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js +93 -0
  593. package/dist/react-native/queryExecutionContext/QueryControlFetchImplementation.js.map +1 -0
  594. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts +9 -0
  595. package/dist/react-native/queryExecutionContext/QueryValidationHelper.d.ts.map +1 -0
  596. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js +65 -0
  597. package/dist/react-native/queryExecutionContext/QueryValidationHelper.js.map +1 -0
  598. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts +2 -2
  599. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.d.ts.map +1 -1
  600. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +2 -1
  601. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  602. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +9 -3
  603. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  604. package/dist/react-native/queryExecutionContext/documentProducer.js +17 -4
  605. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  606. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts +1 -1
  607. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.d.ts.map +1 -1
  608. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +18 -13
  609. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  610. package/dist/react-native/queryExecutionContext/index.d.ts +7 -0
  611. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  612. package/dist/react-native/queryExecutionContext/index.js +4 -0
  613. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  614. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts +5 -1
  615. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.d.ts.map +1 -1
  616. package/dist/react-native/queryExecutionContext/nonStreamingOrderByResult.js.map +1 -1
  617. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts +11 -2
  618. package/dist/react-native/queryExecutionContext/orderByComparator.d.ts.map +1 -1
  619. package/dist/react-native/queryExecutionContext/orderByComparator.js +20 -3
  620. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  621. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts +4 -0
  622. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.d.ts.map +1 -1
  623. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +18 -7
  624. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  625. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts +7 -10
  626. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.d.ts.map +1 -1
  627. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +30 -23
  628. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  629. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts +18 -10
  630. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.d.ts.map +1 -1
  631. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js +47 -23
  632. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContext.js.map +1 -1
  633. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +160 -26
  634. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  635. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +453 -106
  636. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  637. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts +35 -0
  638. package/dist/react-native/queryExecutionContext/parallelQueryResult.d.ts.map +1 -0
  639. package/dist/react-native/queryExecutionContext/parallelQueryResult.js +23 -0
  640. package/dist/react-native/queryExecutionContext/parallelQueryResult.js.map +1 -0
  641. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts +37 -7
  642. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.d.ts.map +1 -1
  643. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +173 -120
  644. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  645. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts +40 -0
  646. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.d.ts.map +1 -0
  647. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +4 -0
  648. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +1 -0
  649. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +49 -0
  650. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -0
  651. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +310 -0
  652. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -0
  653. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +18 -0
  654. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -0
  655. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +102 -0
  656. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -0
  657. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts +51 -0
  658. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.d.ts.map +1 -0
  659. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +180 -0
  660. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +1 -0
  661. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts +76 -0
  662. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.d.ts.map +1 -0
  663. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +93 -0
  664. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +1 -0
  665. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts +30 -0
  666. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.d.ts.map +1 -0
  667. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +4 -0
  668. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +1 -0
  669. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts +29 -0
  670. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.d.ts.map +1 -0
  671. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +53 -0
  672. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +1 -0
  673. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts +27 -0
  674. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.d.ts.map +1 -0
  675. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +34 -0
  676. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +1 -0
  677. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts +36 -0
  678. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.d.ts.map +1 -0
  679. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +4 -0
  680. package/dist/react-native/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +1 -0
  681. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts +22 -0
  682. package/dist/react-native/queryExecutionContext/queryRangeMapping.d.ts.map +1 -0
  683. package/dist/react-native/queryExecutionContext/queryRangeMapping.js +4 -0
  684. package/dist/react-native/queryExecutionContext/queryRangeMapping.js.map +1 -0
  685. package/dist/react-native/queryIterator.js.map +1 -1
  686. package/dist/react-native/utils/offers.d.ts.map +1 -1
  687. package/dist/react-native/utils/offers.js +0 -1
  688. package/dist/react-native/utils/offers.js.map +1 -1
  689. package/package.json +1 -1
@@ -0,0 +1,174 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { parseBaseContinuationToken, } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
4
+ import { PartitionRangeManager } from "../PartitionRangeManager.js";
5
+ /**
6
+ * Base abstract class for continuation token management.
7
+ * Provides common functionality shared between parallel and ORDER BY query token managers.
8
+ * @internal
9
+ */
10
+ export class BaseContinuationTokenManager {
11
+ ranges = [];
12
+ partitionRangeManager = new PartitionRangeManager();
13
+ constructor(initialContinuationToken) {
14
+ if (initialContinuationToken) {
15
+ const token = parseBaseContinuationToken(initialContinuationToken);
16
+ if (token?.rangeMappings) {
17
+ this.ranges = token.rangeMappings;
18
+ }
19
+ }
20
+ }
21
+ /**
22
+ * Provides controlled access to partition range manager for subclasses.
23
+ * This is the only protected access point needed.
24
+ */
25
+ get partitionManager() {
26
+ return this.partitionRangeManager;
27
+ }
28
+ /**
29
+ * Provides controlled access to ranges for subclasses.
30
+ * Made protected to allow subclass range management.
31
+ */
32
+ get rangeList() {
33
+ return this.ranges;
34
+ }
35
+ /**
36
+ * Processes query results and generates continuation tokens for pagination.
37
+ * Handles response data processing, range management, and token generation.
38
+ *
39
+ * @param pageSize - Maximum number of items to return in this page
40
+ * @param isResponseEmpty - Whether the current response contains no data
41
+ * @param responseResult - Optional response data containing partition mappings and query-specific data
42
+ * @returns Object containing the end index for slicing results and optional continuation token for next page
43
+ */
44
+ paginateResults(pageSize, isResponseEmpty, responseResult) {
45
+ // Process response data
46
+ if (responseResult) {
47
+ this.processResponseResult(responseResult);
48
+ }
49
+ this.removeExhaustedRangesFromRanges();
50
+ const result = this.processRangesForPagination(pageSize, isResponseEmpty);
51
+ const tokenString = this.generateContinuationTokenString();
52
+ // Clean up processed ranges
53
+ this.trimProcessedData(result.processedRanges, result.endIndex);
54
+ return {
55
+ endIndex: result.endIndex,
56
+ continuationToken: tokenString,
57
+ };
58
+ }
59
+ /**
60
+ * Generates continuation token string using the appropriate serialization function.
61
+ * This provides a common implementation that delegates to query-specific logic.
62
+ */
63
+ generateContinuationTokenString() {
64
+ const token = this.getCurrentContinuationToken();
65
+ if (!token) {
66
+ return undefined;
67
+ }
68
+ const serializeFunction = this.getSerializationFunction();
69
+ return serializeFunction(token);
70
+ }
71
+ /**
72
+ * Cleans up processed data after a page has been returned.
73
+ * Handles both common and query-specific cleanup.
74
+ */
75
+ trimProcessedData(processedRanges, endIndex) {
76
+ processedRanges.forEach((rangeId) => {
77
+ this.partitionRangeManager.removePartitionRangeMapping(rangeId);
78
+ });
79
+ // Delegate query-specific cleanup to subclass
80
+ this.performQuerySpecificDataTrim(processedRanges, endIndex);
81
+ }
82
+ addPartitionKeyRangeMap(partitionKeyRangeMap) {
83
+ this.partitionRangeManager.addPartitionKeyRangeMap(partitionKeyRangeMap);
84
+ }
85
+ /**
86
+ * Processes the entire response result and updates the continuation token manager state.
87
+ * This encapsulates all response handling logic in one place.
88
+ */
89
+ processResponseResult(responseResult) {
90
+ // Handle partition key range map
91
+ if (responseResult.partitionKeyRangeMap) {
92
+ this.addPartitionKeyRangeMap(responseResult.partitionKeyRangeMap);
93
+ }
94
+ // Handle partition range updates
95
+ if (responseResult.updatedContinuationRanges) {
96
+ this.handlePartitionRangeChanges(responseResult.updatedContinuationRanges);
97
+ }
98
+ this.processQuerySpecificResponse(responseResult);
99
+ }
100
+ isPartitionExhausted(continuationToken) {
101
+ return (!continuationToken ||
102
+ continuationToken === "" ||
103
+ continuationToken === "null" ||
104
+ continuationToken.toLowerCase() === "null");
105
+ }
106
+ removeExhaustedRangesFromRanges() {
107
+ if (!this.ranges || !Array.isArray(this.ranges)) {
108
+ return;
109
+ }
110
+ this.ranges = this.ranges.filter((mapping) => {
111
+ if (!mapping) {
112
+ return false;
113
+ }
114
+ const isExhausted = this.isPartitionExhausted(mapping.continuationToken);
115
+ return !isExhausted;
116
+ });
117
+ }
118
+ handlePartitionRangeChanges(updatedContinuationRanges) {
119
+ if (updatedContinuationRanges && Object.keys(updatedContinuationRanges).length === 0) {
120
+ return;
121
+ }
122
+ Object.entries(updatedContinuationRanges).forEach(([rangeKey, rangeChange]) => {
123
+ this.processRangeChange(rangeKey, rangeChange);
124
+ });
125
+ }
126
+ processRangeChange(_rangeKey, rangeChange) {
127
+ const { oldRange, newRanges, continuationToken } = rangeChange;
128
+ if (newRanges.length === 1) {
129
+ this.handleRangeMerge(oldRange, newRanges[0], continuationToken);
130
+ }
131
+ else {
132
+ this.handleRangeSplit(oldRange, newRanges, continuationToken);
133
+ }
134
+ }
135
+ handleRangeMerge(oldRange, newRange, continuationToken) {
136
+ // Find existing range mapping to update in the common ranges array
137
+ const existingMappingIndex = this.ranges.findIndex((mapping) => mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max);
138
+ if (existingMappingIndex < 0) {
139
+ return;
140
+ }
141
+ // Update existing mapping with new range properties
142
+ const existingMapping = this.ranges[existingMappingIndex];
143
+ // Create new simplified QueryRange with updated boundaries
144
+ const updatedQueryRange = {
145
+ min: newRange.min,
146
+ max: newRange.max,
147
+ };
148
+ // Update the mapping
149
+ existingMapping.queryRange = updatedQueryRange;
150
+ existingMapping.continuationToken = continuationToken;
151
+ }
152
+ handleRangeSplit(oldRange, newRanges, continuationToken) {
153
+ // Remove the old range mapping from the common ranges array
154
+ this.ranges = this.ranges.filter((mapping) => !(mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max));
155
+ // Add new range mappings for each split range
156
+ newRanges.forEach((newRange) => {
157
+ this.createNewRangeMapping(newRange, continuationToken);
158
+ });
159
+ }
160
+ createNewRangeMapping(partitionKeyRange, continuationToken) {
161
+ // Create new simplified QueryRange
162
+ const queryRange = {
163
+ min: partitionKeyRange.min,
164
+ max: partitionKeyRange.max,
165
+ };
166
+ // Create new QueryRangeWithContinuationToken
167
+ const newRangeWithToken = {
168
+ queryRange: queryRange,
169
+ continuationToken: continuationToken,
170
+ };
171
+ this.ranges.push(newRangeWithToken);
172
+ }
173
+ }
174
+ //# sourceMappingURL=BaseContinuationTokenManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseContinuationTokenManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { QueryRangeMapping } from \"../queryRangeMapping.js\";\nimport {\n parseBaseContinuationToken,\n type QueryRangeWithContinuationToken,\n type RangeBoundary,\n} from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type {\n PartitionRangeUpdate,\n PartitionRangeUpdates,\n} from \"../../documents/ContinuationToken/PartitionRangeUpdate.js\";\nimport { PartitionRangeManager } from \"../PartitionRangeManager.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\n\n/**\n * Base abstract class for continuation token management.\n * Provides common functionality shared between parallel and ORDER BY query token managers.\n * @internal\n */\nexport abstract class BaseContinuationTokenManager {\n private ranges: QueryRangeWithContinuationToken[] = [];\n private readonly partitionRangeManager: PartitionRangeManager = new PartitionRangeManager();\n\n constructor(initialContinuationToken?: string) {\n if (initialContinuationToken) {\n const token = parseBaseContinuationToken(initialContinuationToken);\n if (token?.rangeMappings) {\n this.ranges = token.rangeMappings;\n }\n }\n }\n\n /**\n * Provides controlled access to partition range manager for subclasses.\n * This is the only protected access point needed.\n */\n protected get partitionManager(): PartitionRangeManager {\n return this.partitionRangeManager;\n }\n\n /**\n * Provides controlled access to ranges for subclasses.\n * Made protected to allow subclass range management.\n */\n protected get rangeList(): QueryRangeWithContinuationToken[] {\n return this.ranges;\n }\n\n /**\n * Gets the current continuation token for serialization.\n * Returns undefined if no token exists or query is exhausted.\n */\n protected abstract getCurrentContinuationToken(): any;\n\n /**\n * Processes query results and generates continuation tokens for pagination.\n * Handles response data processing, range management, and token generation.\n *\n * @param pageSize - Maximum number of items to return in this page\n * @param isResponseEmpty - Whether the current response contains no data\n * @param responseResult - Optional response data containing partition mappings and query-specific data\n * @returns Object containing the end index for slicing results and optional continuation token for next page\n */\n public paginateResults(\n pageSize: number,\n isResponseEmpty: boolean,\n responseResult?: ParallelQueryResult,\n ): {\n endIndex: number;\n continuationToken?: string;\n } {\n // Process response data\n if (responseResult) {\n this.processResponseResult(responseResult);\n }\n\n this.removeExhaustedRangesFromRanges();\n const result = this.processRangesForPagination(pageSize, isResponseEmpty);\n const tokenString = this.generateContinuationTokenString();\n\n // Clean up processed ranges\n this.trimProcessedData(result.processedRanges, result.endIndex);\n\n return {\n endIndex: result.endIndex,\n continuationToken: tokenString,\n };\n }\n\n protected abstract processRangesForPagination(\n pageSize: number,\n isResponseEmpty: boolean,\n ): {\n endIndex: number;\n processedRanges: string[];\n };\n\n protected abstract processQuerySpecificResponse(responseResult: ParallelQueryResult): void;\n protected abstract performQuerySpecificDataTrim(\n processedRanges: string[],\n endIndex: number,\n ): void;\n\n /**\n * Gets the serialization function for the specific continuation token type.\n */\n protected abstract getSerializationFunction(): (token: any) => string;\n\n /**\n * Generates continuation token string using the appropriate serialization function.\n * This provides a common implementation that delegates to query-specific logic.\n */\n private generateContinuationTokenString(): string | undefined {\n const token = this.getCurrentContinuationToken();\n if (!token) {\n return undefined;\n }\n\n const serializeFunction = this.getSerializationFunction();\n return serializeFunction(token);\n }\n\n /**\n * Cleans up processed data after a page has been returned.\n * Handles both common and query-specific cleanup.\n */\n private trimProcessedData(processedRanges: string[], endIndex: number): void {\n processedRanges.forEach((rangeId) => {\n this.partitionRangeManager.removePartitionRangeMapping(rangeId);\n });\n\n // Delegate query-specific cleanup to subclass\n this.performQuerySpecificDataTrim(processedRanges, endIndex);\n }\n\n private addPartitionKeyRangeMap(partitionKeyRangeMap: Map<string, QueryRangeMapping>): void {\n this.partitionRangeManager.addPartitionKeyRangeMap(partitionKeyRangeMap);\n }\n\n /**\n * Processes the entire response result and updates the continuation token manager state.\n * This encapsulates all response handling logic in one place.\n */\n private processResponseResult(responseResult: ParallelQueryResult): void {\n // Handle partition key range map\n if (responseResult.partitionKeyRangeMap) {\n this.addPartitionKeyRangeMap(responseResult.partitionKeyRangeMap);\n }\n\n // Handle partition range updates\n if (responseResult.updatedContinuationRanges) {\n this.handlePartitionRangeChanges(responseResult.updatedContinuationRanges);\n }\n\n this.processQuerySpecificResponse(responseResult);\n }\n\n private isPartitionExhausted(continuationToken: string | undefined): boolean {\n return (\n !continuationToken ||\n continuationToken === \"\" ||\n continuationToken === \"null\" ||\n continuationToken.toLowerCase() === \"null\"\n );\n }\n\n private removeExhaustedRangesFromRanges(): void {\n if (!this.ranges || !Array.isArray(this.ranges)) {\n return;\n }\n this.ranges = this.ranges.filter((mapping) => {\n if (!mapping) {\n return false;\n }\n const isExhausted = this.isPartitionExhausted(mapping.continuationToken);\n return !isExhausted;\n });\n }\n\n private handlePartitionRangeChanges(updatedContinuationRanges: PartitionRangeUpdates): void {\n if (updatedContinuationRanges && Object.keys(updatedContinuationRanges).length === 0) {\n return;\n }\n Object.entries(updatedContinuationRanges).forEach(([rangeKey, rangeChange]) => {\n this.processRangeChange(rangeKey, rangeChange);\n });\n }\n\n private processRangeChange(_rangeKey: string, rangeChange: PartitionRangeUpdate): void {\n const { oldRange, newRanges, continuationToken } = rangeChange;\n if (newRanges.length === 1) {\n this.handleRangeMerge(oldRange, newRanges[0], continuationToken);\n } else {\n this.handleRangeSplit(oldRange, newRanges, continuationToken);\n }\n }\n\n private handleRangeMerge(oldRange: any, newRange: any, continuationToken: string): void {\n // Find existing range mapping to update in the common ranges array\n const existingMappingIndex = this.ranges.findIndex(\n (mapping) =>\n mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max,\n );\n\n if (existingMappingIndex < 0) {\n return;\n }\n\n // Update existing mapping with new range properties\n const existingMapping = this.ranges[existingMappingIndex];\n\n // Create new simplified QueryRange with updated boundaries\n const updatedQueryRange: RangeBoundary = {\n min: newRange.min,\n max: newRange.max,\n };\n\n // Update the mapping\n existingMapping.queryRange = updatedQueryRange;\n existingMapping.continuationToken = continuationToken;\n }\n\n private handleRangeSplit(oldRange: any, newRanges: any[], continuationToken: string): void {\n // Remove the old range mapping from the common ranges array\n this.ranges = this.ranges.filter(\n (mapping) =>\n !(mapping.queryRange.min === oldRange.min && mapping.queryRange.max === oldRange.max),\n );\n\n // Add new range mappings for each split range\n newRanges.forEach((newRange) => {\n this.createNewRangeMapping(newRange, continuationToken);\n });\n }\n\n private createNewRangeMapping(partitionKeyRange: any, continuationToken: string): void {\n // Create new simplified QueryRange\n const queryRange: RangeBoundary = {\n min: partitionKeyRange.min,\n max: partitionKeyRange.max,\n };\n\n // Create new QueryRangeWithContinuationToken\n const newRangeWithToken: QueryRangeWithContinuationToken = {\n queryRange: queryRange,\n continuationToken: continuationToken,\n };\n\n this.ranges.push(newRangeWithToken);\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContinuationTokenManagerFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContinuationTokenManagerFactory.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { ParallelQueryContinuationTokenManager } from "./ParallelQueryContinuationTokenManager.js";
4
+ import { OrderByQueryContinuationTokenManager } from "./OrderByQueryContinuationTokenManager.js";
5
+ /**
6
+ * Factory for creating appropriate continuation token managers based on query type.
7
+ * @internal
8
+ */
9
+ export const ContinuationTokenManagerFactory = {
10
+ /**
11
+ * Creates the appropriate continuation token manager based on query type.
12
+ * Only call this for queries that support continuation tokens.
13
+ * @param collectionLink - Collection link/RID
14
+ * @param initialContinuationToken - Optional initial continuation token
15
+ * @param isOrderByQuery - Whether this is an ORDER BY query
16
+ * @returns Appropriate continuation token manager instance
17
+ * @internal
18
+ */
19
+ create(collectionLink, initialContinuationToken, isOrderByQuery = false) {
20
+ if (isOrderByQuery) {
21
+ return new OrderByQueryContinuationTokenManager(collectionLink, initialContinuationToken);
22
+ }
23
+ else {
24
+ return new ParallelQueryContinuationTokenManager(collectionLink, initialContinuationToken);
25
+ }
26
+ },
27
+ };
28
+ //# sourceMappingURL=ContinuationTokenManagerFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContinuationTokenManagerFactory.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;AAEjG;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C;;;;;;;;OAQG;IACH,MAAM,CACJ,cAAsB,EACtB,wBAAiC,EACjC,iBAA0B,KAAK;QAE/B,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,oCAAoC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,qCAAqC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { BaseContinuationTokenManager } from \"./BaseContinuationTokenManager.js\";\nimport { ParallelQueryContinuationTokenManager } from \"./ParallelQueryContinuationTokenManager.js\";\nimport { OrderByQueryContinuationTokenManager } from \"./OrderByQueryContinuationTokenManager.js\";\n\n/**\n * Factory for creating appropriate continuation token managers based on query type.\n * @internal\n */\nexport const ContinuationTokenManagerFactory = {\n /**\n * Creates the appropriate continuation token manager based on query type.\n * Only call this for queries that support continuation tokens.\n * @param collectionLink - Collection link/RID\n * @param initialContinuationToken - Optional initial continuation token\n * @param isOrderByQuery - Whether this is an ORDER BY query\n * @returns Appropriate continuation token manager instance\n * @internal\n */\n create(\n collectionLink: string,\n initialContinuationToken?: string,\n isOrderByQuery: boolean = false,\n ): BaseContinuationTokenManager {\n if (isOrderByQuery) {\n return new OrderByQueryContinuationTokenManager(collectionLink, initialContinuationToken);\n } else {\n return new ParallelQueryContinuationTokenManager(collectionLink, initialContinuationToken);\n }\n },\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OrderByQueryContinuationTokenManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByQueryContinuationTokenManager.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,129 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { BaseContinuationTokenManager } from "./BaseContinuationTokenManager.js";
4
+ import { createOrderByQueryContinuationToken, parseOrderByQueryContinuationToken, serializeOrderByQueryContinuationToken, } from "../../documents/ContinuationToken/OrderByQueryContinuationToken.js";
5
+ import { convertRangeMappingToQueryRange } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
6
+ /**
7
+ * Manages continuation tokens for ORDER BY queries using single-range sequential processing.
8
+ * Uses OrderByQueryContinuationToken for tracking ORDER BY items and skip counts.
9
+ * @internal
10
+ */
11
+ export class OrderByQueryContinuationTokenManager extends BaseContinuationTokenManager {
12
+ continuationToken;
13
+ orderByItemsArray;
14
+ collectionLink;
15
+ constructor(collectionLink, initialContinuationToken) {
16
+ super(initialContinuationToken);
17
+ this.collectionLink = collectionLink;
18
+ this.orderByItemsArray = [];
19
+ if (initialContinuationToken) {
20
+ this.continuationToken = parseOrderByQueryContinuationToken(initialContinuationToken);
21
+ }
22
+ }
23
+ processQuerySpecificResponse(responseResult) {
24
+ // Clear existing items and add new ones without reassigning the array reference
25
+ this.orderByItemsArray.length = 0;
26
+ if (responseResult.orderByItems) {
27
+ this.orderByItemsArray.push(...responseResult.orderByItems);
28
+ }
29
+ }
30
+ performQuerySpecificDataTrim(_processedRanges, endIndex) {
31
+ this.sliceOrderByItemsArray(endIndex);
32
+ }
33
+ sliceOrderByItemsArray(endIndex) {
34
+ if (endIndex === 0 || endIndex >= this.orderByItemsArray.length) {
35
+ // Clear the array without reassigning
36
+ this.orderByItemsArray.length = 0;
37
+ }
38
+ else {
39
+ // Remove items from 0 to endIndex-1, keeping items from endIndex onwards
40
+ this.orderByItemsArray.splice(0, endIndex);
41
+ }
42
+ }
43
+ processRangesForPagination(pageSize, isResponseEmpty = false) {
44
+ // Handle empty response case - update the previous valid continuation token
45
+ if (isResponseEmpty && this.continuationToken) {
46
+ let rangeProcessingResult;
47
+ if (this.rangeList.length === 0) {
48
+ rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);
49
+ }
50
+ else {
51
+ rangeProcessingResult = this.partitionManager.processEmptyOrderByRanges(this.rangeList);
52
+ }
53
+ const { lastRangeBeforePageLimit } = rangeProcessingResult;
54
+ if (lastRangeBeforePageLimit) {
55
+ // Use the range matching the continuation token for empty response
56
+ this.continuationToken.rangeMappings = [
57
+ convertRangeMappingToQueryRange(lastRangeBeforePageLimit),
58
+ ];
59
+ }
60
+ else {
61
+ // Range is exhausted - clear the continuation token
62
+ this.continuationToken = undefined;
63
+ }
64
+ return {
65
+ endIndex: rangeProcessingResult.endIndex,
66
+ processedRanges: rangeProcessingResult.processedRanges,
67
+ };
68
+ }
69
+ // Normal processing path - handle non-empty responses
70
+ const rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);
71
+ const { lastRangeBeforePageLimit } = rangeProcessingResult;
72
+ // Check if we have a valid range to continue with
73
+ if (!lastRangeBeforePageLimit) {
74
+ this.continuationToken = undefined;
75
+ return {
76
+ endIndex: rangeProcessingResult.endIndex,
77
+ processedRanges: rangeProcessingResult.processedRanges,
78
+ };
79
+ }
80
+ const queryRange = convertRangeMappingToQueryRange(lastRangeBeforePageLimit);
81
+ // Extract ORDER BY items from the last item on the page
82
+ let lastOrderByItems;
83
+ let documentRid;
84
+ let skipCount = 0;
85
+ if (rangeProcessingResult.endIndex > 0 && this.orderByItemsArray.length > 0) {
86
+ const lastItemIndexOnPage = rangeProcessingResult.endIndex - 1;
87
+ if (lastItemIndexOnPage < this.orderByItemsArray.length) {
88
+ lastOrderByItems = this.orderByItemsArray[lastItemIndexOnPage].orderByItems;
89
+ documentRid = this.orderByItemsArray[lastItemIndexOnPage]._rid;
90
+ // Calculate skip count: count how many documents in the page have the same RID
91
+ // This handles JOIN queries where multiple documents can have the same RID
92
+ skipCount = 0;
93
+ for (let i = 0; i <= lastItemIndexOnPage; i++) {
94
+ if (this.orderByItemsArray[i]._rid === documentRid) {
95
+ skipCount++;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ // If we don't have valid ORDER BY items, we cannot create a proper continuation token
101
+ // This can happen when the response doesn't contain ORDER BY metadata or when there are no results
102
+ if (!lastOrderByItems || lastOrderByItems.length === 0) {
103
+ this.continuationToken = undefined;
104
+ return {
105
+ endIndex: rangeProcessingResult.endIndex,
106
+ processedRanges: rangeProcessingResult.processedRanges,
107
+ };
108
+ }
109
+ const rangeMappings = [queryRange];
110
+ // Create new ORDER BY continuation token
111
+ this.continuationToken = createOrderByQueryContinuationToken(rangeMappings, lastOrderByItems, this.collectionLink, // Container RID/link
112
+ skipCount, // Number of documents with the same RID already processed
113
+ documentRid, // Document RID from the last item in the page
114
+ lastRangeBeforePageLimit.offset, // Current offset for OFFSET/LIMIT queries
115
+ lastRangeBeforePageLimit.limit, // Current limit for OFFSET/LIMIT queries
116
+ lastRangeBeforePageLimit.hashedLastResult);
117
+ return {
118
+ endIndex: rangeProcessingResult.endIndex,
119
+ processedRanges: rangeProcessingResult.processedRanges,
120
+ };
121
+ }
122
+ getCurrentContinuationToken() {
123
+ return this.continuationToken;
124
+ }
125
+ getSerializationFunction() {
126
+ return serializeOrderByQueryContinuationToken;
127
+ }
128
+ }
129
+ //# sourceMappingURL=OrderByQueryContinuationTokenManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByQueryContinuationTokenManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { BaseContinuationTokenManager } from \"./BaseContinuationTokenManager.js\";\nimport type { ParallelQueryResult, OrderByItemWithRid } from \"../parallelQueryResult.js\";\nimport type { OrderByQueryContinuationToken } from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport {\n createOrderByQueryContinuationToken,\n parseOrderByQueryContinuationToken,\n serializeOrderByQueryContinuationToken,\n} from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport { convertRangeMappingToQueryRange } from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\n\n/**\n * Manages continuation tokens for ORDER BY queries using single-range sequential processing.\n * Uses OrderByQueryContinuationToken for tracking ORDER BY items and skip counts.\n * @internal\n */\nexport class OrderByQueryContinuationTokenManager extends BaseContinuationTokenManager {\n private continuationToken: OrderByQueryContinuationToken | undefined;\n private readonly orderByItemsArray: OrderByItemWithRid[];\n private readonly collectionLink: string;\n\n constructor(collectionLink: string, initialContinuationToken?: string) {\n super(initialContinuationToken);\n this.collectionLink = collectionLink;\n this.orderByItemsArray = [];\n if (initialContinuationToken) {\n this.continuationToken = parseOrderByQueryContinuationToken(initialContinuationToken);\n }\n }\n\n protected processQuerySpecificResponse(responseResult: ParallelQueryResult): void {\n // Clear existing items and add new ones without reassigning the array reference\n this.orderByItemsArray.length = 0;\n if (responseResult.orderByItems) {\n this.orderByItemsArray.push(...responseResult.orderByItems);\n }\n }\n\n protected performQuerySpecificDataTrim(_processedRanges: string[], endIndex: number): void {\n this.sliceOrderByItemsArray(endIndex);\n }\n\n private sliceOrderByItemsArray(endIndex: number): void {\n if (endIndex === 0 || endIndex >= this.orderByItemsArray.length) {\n // Clear the array without reassigning\n this.orderByItemsArray.length = 0;\n } else {\n // Remove items from 0 to endIndex-1, keeping items from endIndex onwards\n this.orderByItemsArray.splice(0, endIndex);\n }\n }\n\n protected processRangesForPagination(\n pageSize: number,\n isResponseEmpty: boolean = false,\n ): { endIndex: number; processedRanges: string[] } {\n // Handle empty response case - update the previous valid continuation token\n if (isResponseEmpty && this.continuationToken) {\n let rangeProcessingResult;\n\n if (this.rangeList.length === 0) {\n rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);\n } else {\n rangeProcessingResult = this.partitionManager.processEmptyOrderByRanges(this.rangeList);\n }\n\n const { lastRangeBeforePageLimit } = rangeProcessingResult;\n if (lastRangeBeforePageLimit) {\n // Use the range matching the continuation token for empty response\n this.continuationToken.rangeMappings = [\n convertRangeMappingToQueryRange(lastRangeBeforePageLimit),\n ];\n } else {\n // Range is exhausted - clear the continuation token\n this.continuationToken = undefined;\n }\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n // Normal processing path - handle non-empty responses\n const rangeProcessingResult = this.partitionManager.processOrderByRanges(pageSize);\n const { lastRangeBeforePageLimit } = rangeProcessingResult;\n\n // Check if we have a valid range to continue with\n if (!lastRangeBeforePageLimit) {\n this.continuationToken = undefined;\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n const queryRange = convertRangeMappingToQueryRange(lastRangeBeforePageLimit);\n\n // Extract ORDER BY items from the last item on the page\n let lastOrderByItems: any[] | undefined;\n let documentRid: string;\n let skipCount: number = 0;\n if (rangeProcessingResult.endIndex > 0 && this.orderByItemsArray.length > 0) {\n const lastItemIndexOnPage = rangeProcessingResult.endIndex - 1;\n\n if (lastItemIndexOnPage < this.orderByItemsArray.length) {\n lastOrderByItems = this.orderByItemsArray[lastItemIndexOnPage].orderByItems;\n documentRid = this.orderByItemsArray[lastItemIndexOnPage]._rid;\n // Calculate skip count: count how many documents in the page have the same RID\n // This handles JOIN queries where multiple documents can have the same RID\n skipCount = 0;\n for (let i = 0; i <= lastItemIndexOnPage; i++) {\n if (this.orderByItemsArray[i]._rid === documentRid) {\n skipCount++;\n }\n }\n }\n }\n\n // If we don't have valid ORDER BY items, we cannot create a proper continuation token\n // This can happen when the response doesn't contain ORDER BY metadata or when there are no results\n if (!lastOrderByItems || lastOrderByItems.length === 0) {\n this.continuationToken = undefined;\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n const rangeMappings = [queryRange];\n\n // Create new ORDER BY continuation token\n this.continuationToken = createOrderByQueryContinuationToken(\n rangeMappings,\n lastOrderByItems,\n this.collectionLink, // Container RID/link\n skipCount, // Number of documents with the same RID already processed\n documentRid, // Document RID from the last item in the page\n lastRangeBeforePageLimit.offset, // Current offset for OFFSET/LIMIT queries\n lastRangeBeforePageLimit.limit, // Current limit for OFFSET/LIMIT queries\n lastRangeBeforePageLimit.hashedLastResult, // Hash for distinct queries\n );\n\n return {\n endIndex: rangeProcessingResult.endIndex,\n processedRanges: rangeProcessingResult.processedRanges,\n };\n }\n\n protected getCurrentContinuationToken(): OrderByQueryContinuationToken | undefined {\n return this.continuationToken;\n }\n\n protected getSerializationFunction(): (token: OrderByQueryContinuationToken) => string {\n return serializeOrderByQueryContinuationToken;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ParallelQueryContinuationTokenManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelQueryContinuationTokenManager.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.ts"],"names":[],"mappings":""}
@@ -0,0 +1,66 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { BaseContinuationTokenManager } from "./BaseContinuationTokenManager.js";
4
+ import { createCompositeQueryContinuationToken, serializeCompositeToken, parseCompositeQueryContinuationToken, convertRangeMappingToQueryRange, } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
5
+ /**
6
+ * Manages continuation tokens for parallel queries using multi-range aggregation.
7
+ * Uses CompositeQueryContinuationToken for range tracking across multiple partitions.
8
+ * @internal
9
+ */
10
+ export class ParallelQueryContinuationTokenManager extends BaseContinuationTokenManager {
11
+ continuationToken;
12
+ collectionLink;
13
+ constructor(collectionLink, initialContinuationToken) {
14
+ super(initialContinuationToken);
15
+ this.collectionLink = collectionLink;
16
+ if (initialContinuationToken) {
17
+ this.continuationToken = parseCompositeQueryContinuationToken(initialContinuationToken);
18
+ }
19
+ }
20
+ processRangesForPagination(pageSize, _isResponseEmpty) {
21
+ const result = this.partitionManager.processParallelRanges(pageSize);
22
+ if (!result || !result.processedRangeMappings || result.processedRangeMappings.length === 0) {
23
+ return { endIndex: 0, processedRanges: [] };
24
+ }
25
+ const rangeMappings = result.processedRangeMappings.map((mapping) => convertRangeMappingToQueryRange(mapping));
26
+ if (!this.continuationToken) {
27
+ this.continuationToken = createCompositeQueryContinuationToken(this.collectionLink, rangeMappings);
28
+ }
29
+ else {
30
+ this.updateExistingCompositeContinuationToken(rangeMappings);
31
+ }
32
+ if (result.lastPartitionBeforeCutoff && result.lastPartitionBeforeCutoff.mapping) {
33
+ this.continuationToken.offset = result.lastPartitionBeforeCutoff.mapping.offset;
34
+ this.continuationToken.limit = result.lastPartitionBeforeCutoff.mapping.limit;
35
+ }
36
+ return { endIndex: result.endIndex, processedRanges: result.processedRanges };
37
+ }
38
+ getCurrentContinuationToken() {
39
+ return this.continuationToken;
40
+ }
41
+ getSerializationFunction() {
42
+ return serializeCompositeToken;
43
+ }
44
+ processQuerySpecificResponse(_responseResult) {
45
+ // Parallel queries don't need additional response processing
46
+ }
47
+ performQuerySpecificDataTrim(_processedRanges, _endIndex) {
48
+ // Parallel queries don't need additional cleanup
49
+ }
50
+ updateExistingCompositeContinuationToken(rangeMappings) {
51
+ for (const newRange of rangeMappings) {
52
+ // Check if this range already exists in the token
53
+ const existingRangeIndex = this.continuationToken.rangeMappings.findIndex((existingRange) => existingRange.queryRange.min === newRange.queryRange.min &&
54
+ existingRange.queryRange.max === newRange.queryRange.max);
55
+ if (existingRangeIndex >= 0) {
56
+ // Range exists - update the continuation token
57
+ this.continuationToken.rangeMappings[existingRangeIndex] = newRange;
58
+ }
59
+ else {
60
+ // New range - add to the rangeMappings array
61
+ this.continuationToken.rangeMappings.push(newRange);
62
+ }
63
+ }
64
+ }
65
+ }
66
+ //# sourceMappingURL=ParallelQueryContinuationTokenManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelQueryContinuationTokenManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { BaseContinuationTokenManager } from \"./BaseContinuationTokenManager.js\";\nimport type { ParallelQueryResult } from \"../parallelQueryResult.js\";\nimport type {\n CompositeQueryContinuationToken,\n QueryRangeWithContinuationToken,\n} from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport {\n createCompositeQueryContinuationToken,\n serializeCompositeToken,\n parseCompositeQueryContinuationToken,\n convertRangeMappingToQueryRange,\n} from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type { QueryRangeMapping } from \"../queryRangeMapping.js\";\n\n/**\n * Manages continuation tokens for parallel queries using multi-range aggregation.\n * Uses CompositeQueryContinuationToken for range tracking across multiple partitions.\n * @internal\n */\nexport class ParallelQueryContinuationTokenManager extends BaseContinuationTokenManager {\n private continuationToken: CompositeQueryContinuationToken | undefined;\n private readonly collectionLink: string;\n\n constructor(collectionLink: string, initialContinuationToken?: string) {\n super(initialContinuationToken);\n this.collectionLink = collectionLink;\n if (initialContinuationToken) {\n this.continuationToken = parseCompositeQueryContinuationToken(initialContinuationToken);\n }\n }\n\n protected processRangesForPagination(\n pageSize: number,\n _isResponseEmpty: boolean,\n ): { endIndex: number; processedRanges: string[] } {\n const result = this.partitionManager.processParallelRanges(pageSize);\n if (!result || !result.processedRangeMappings || result.processedRangeMappings.length === 0) {\n return { endIndex: 0, processedRanges: [] };\n }\n\n const rangeMappings: QueryRangeWithContinuationToken[] = result.processedRangeMappings.map(\n (mapping: QueryRangeMapping) => convertRangeMappingToQueryRange(mapping),\n );\n\n if (!this.continuationToken) {\n this.continuationToken = createCompositeQueryContinuationToken(\n this.collectionLink,\n rangeMappings,\n );\n } else {\n this.updateExistingCompositeContinuationToken(rangeMappings);\n }\n\n if (result.lastPartitionBeforeCutoff && result.lastPartitionBeforeCutoff.mapping) {\n this.continuationToken!.offset = result.lastPartitionBeforeCutoff.mapping.offset;\n this.continuationToken!.limit = result.lastPartitionBeforeCutoff.mapping.limit;\n }\n return { endIndex: result.endIndex, processedRanges: result.processedRanges };\n }\n\n protected getCurrentContinuationToken(): CompositeQueryContinuationToken | undefined {\n return this.continuationToken;\n }\n\n protected getSerializationFunction(): (token: CompositeQueryContinuationToken) => string {\n return serializeCompositeToken;\n }\n\n protected processQuerySpecificResponse(_responseResult: ParallelQueryResult): void {\n // Parallel queries don't need additional response processing\n }\n\n protected performQuerySpecificDataTrim(_processedRanges: string[], _endIndex: number): void {\n // Parallel queries don't need additional cleanup\n }\n\n private updateExistingCompositeContinuationToken(\n rangeMappings: QueryRangeWithContinuationToken[],\n ): void {\n for (const newRange of rangeMappings) {\n // Check if this range already exists in the token\n const existingRangeIndex = this.continuationToken!.rangeMappings.findIndex(\n (existingRange) =>\n existingRange.queryRange.min === newRange.queryRange.min &&\n existingRange.queryRange.max === newRange.queryRange.max,\n );\n\n if (existingRangeIndex >= 0) {\n // Range exists - update the continuation token\n this.continuationToken!.rangeMappings[existingRangeIndex] = newRange;\n } else {\n // New range - add to the rangeMappings array\n this.continuationToken!.rangeMappings.push(newRange);\n }\n }\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ContinuationTokenParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContinuationTokenParser.d.ts","sourceRoot":"","sources":["../../../src/queryExecutionContext/ContinuationTokenParser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ /**
4
+ * Parses a continuation token string to extract specific fields without full deserialization
5
+ * Supports both CompositeQueryContinuationToken and OrderByQueryContinuationToken formats
6
+ * @param continuationToken - The continuation token string to parse
7
+ * @returns Object containing offset, limit, and hashedLastResult if present
8
+ * @internal
9
+ */
10
+ export function parseContinuationTokenFields(continuationToken) {
11
+ try {
12
+ const parsed = JSON.parse(continuationToken);
13
+ return {
14
+ offset: parsed.offset,
15
+ limit: parsed.limit,
16
+ hashedLastResult: parsed.hashedLastResult,
17
+ };
18
+ }
19
+ catch (error) {
20
+ throw new Error(`Failed to parse continuation token: ${error instanceof Error ? error.message : String(error)}`);
21
+ }
22
+ }
23
+ //# sourceMappingURL=ContinuationTokenParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContinuationTokenParser.js","sourceRoot":"","sources":["../../../src/queryExecutionContext/ContinuationTokenParser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAYlC;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,iBAAyB;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAE7C,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Lightweight interface for continuation token fields needed by pipeline\n * @internal\n */\nexport interface ContinuationTokenFields {\n offset?: number;\n limit?: number;\n hashedLastResult?: string;\n}\n\n/**\n * Parses a continuation token string to extract specific fields without full deserialization\n * Supports both CompositeQueryContinuationToken and OrderByQueryContinuationToken formats\n * @param continuationToken - The continuation token string to parse\n * @returns Object containing offset, limit, and hashedLastResult if present\n * @internal\n */\nexport function parseContinuationTokenFields(continuationToken: string): ContinuationTokenFields {\n try {\n const parsed = JSON.parse(continuationToken);\n\n return {\n offset: parsed.offset,\n limit: parsed.limit,\n hashedLastResult: parsed.hashedLastResult,\n };\n } catch (error) {\n throw new Error(\n `Failed to parse continuation token: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.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,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAO1F,cAAc;AACd,qBAAa,wBAAyB,YAAW,gBAAgB;IAE7D,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;gBADT,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD,OAAO,CAAC,SAAS,CAAkB;IAE5B,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAkEtF,OAAO,CAAC,uBAAuB;CAWhC"}
1
+ {"version":3,"file":"GroupByEndpointComponent.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.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,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAMhE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAS1F,cAAc;AACd,qBAAa,wBAAyB,YAAW,gBAAgB;IAE7D,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;gBADT,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAa;IAClD,OAAO,CAAC,SAAS,CAAkB;IAE5B,cAAc,IAAI,OAAO;IAInB,SAAS,CAAC,cAAc,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAsFtF,OAAO,CAAC,uBAAuB;CAehC"}
@@ -2,6 +2,7 @@ import { hashObject } from "../../utils/hashObject.js";
2
2
  import { createAggregator } from "../Aggregators/index.js";
3
3
  import { getInitialHeader, mergeHeaders } from "../headerUtils.js";
4
4
  import { emptyGroup, extractAggregateResult } from "./emptyGroup.js";
5
+ import { createParallelQueryResult } from "../parallelQueryResult.js";
5
6
  /** @hidden */
6
7
  export class GroupByEndpointComponent {
7
8
  executionContext;
@@ -25,15 +26,27 @@ export class GroupByEndpointComponent {
25
26
  }
26
27
  const aggregateHeaders = getInitialHeader();
27
28
  const response = await this.executionContext.fetchMore(diagnosticNode);
29
+ if (!response) {
30
+ // If there are any groupings, consolidate and return them
31
+ if (this.groupings.size > 0) {
32
+ return this.consolidateGroupResults(aggregateHeaders);
33
+ }
34
+ return { result: undefined, headers: aggregateHeaders };
35
+ }
28
36
  mergeHeaders(aggregateHeaders, response.headers);
29
- if (response === undefined || response.result === undefined) {
37
+ if (response.result === undefined ||
38
+ !Array.isArray(response.result.buffer) ||
39
+ response.result.buffer.length === 0) {
30
40
  // If there are any groupings, consolidate and return them
31
41
  if (this.groupings.size > 0) {
32
42
  return this.consolidateGroupResults(aggregateHeaders);
33
43
  }
34
44
  return { result: undefined, headers: aggregateHeaders };
35
45
  }
36
- for (const item of response.result) {
46
+ const parallelResult = response.result;
47
+ const dataToProcess = parallelResult.buffer;
48
+ // Process GROUP BY aggregation logic
49
+ for (const item of dataToProcess) {
37
50
  // If it exists, process it via aggregators
38
51
  if (item) {
39
52
  const group = item.groupByItems ? await hashObject(item.groupByItems) : emptyGroup;
@@ -72,10 +85,10 @@ export class GroupByEndpointComponent {
72
85
  }
73
86
  }
74
87
  if (this.executionContext.hasMoreResults()) {
75
- return {
76
- result: [],
77
- headers: aggregateHeaders,
78
- };
88
+ // Return empty buffer but preserve the structure and pass-through fields
89
+ const result = createParallelQueryResult([], // empty buffer
90
+ new Map());
91
+ return { result, headers: aggregateHeaders };
79
92
  }
80
93
  else {
81
94
  return this.consolidateGroupResults(aggregateHeaders);
@@ -90,7 +103,9 @@ export class GroupByEndpointComponent {
90
103
  this.aggregateResultArray.push(groupResult);
91
104
  }
92
105
  this.completed = true;
93
- return { result: this.aggregateResultArray, headers: aggregateHeaders };
106
+ // Return in the new structure format using the utility function
107
+ const result = createParallelQueryResult(this.aggregateResultArray, new Map());
108
+ return { result, headers: aggregateHeaders };
94
109
  }
95
110
  }
96
111
  //# sourceMappingURL=GroupByEndpointComponent.js.map