@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,184 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.RidSkipCountFilter = void 0;
6
+ const orderByComparator_js_1 = require("../orderByComparator.js");
7
+ /**
8
+ * Implements post-fetch filtering for ORDER BY queries to handle continuation tokens correctly.
9
+ * This logic is applied only to the target partition from which a query is resumed.
10
+ * It filters out documents that have already been emitted in previous pages by comparing
11
+ * ORDER BY item values first, then document _rid, and finally using skip count for tie-breaking.
12
+ *
13
+ * Follows the .NET SDK FilterNextAsync logic:
14
+ * 1. Compare OrderBy values with continuation token values
15
+ * 2. Skip documents that come before continuation point
16
+ * 3. For exact OrderBy matches, use RID comparison
17
+ * 4. For exact RID matches, apply skip count logic
18
+ */
19
+ class RidSkipCountFilter {
20
+ filterContext;
21
+ remainingSkipCount;
22
+ /**
23
+ * @param filterContext - The context containing values from the continuation token.
24
+ */
25
+ constructor(filterContext) {
26
+ this.filterContext = filterContext;
27
+ this.remainingSkipCount = this.filterContext.skipCount;
28
+ }
29
+ /**
30
+ * Applies the comprehensive OrderBy + RID + SkipCount filtering logic.
31
+ * @param documents - The documents fetched from the target partition.
32
+ * @returns A new array containing only the documents that should be processed.
33
+ */
34
+ applyFilter(documents) {
35
+ const filteredDocs = [];
36
+ let skippedCount = 0;
37
+ for (const doc of documents) {
38
+ if (!this.shouldIncludeDocument(doc)) {
39
+ skippedCount++;
40
+ continue;
41
+ }
42
+ filteredDocs.push(doc);
43
+ }
44
+ return filteredDocs;
45
+ }
46
+ /**
47
+ * Determines if a document should be included based on OrderBy values, RID, and skip count.
48
+ * Implements the .NET SDK's FilterNextAsync logic with robust OrderBy comparison.
49
+ */
50
+ shouldIncludeDocument(doc) {
51
+ // Step 1: OrderBy Value Filtering using OrderByComparator
52
+ const sortOrderCompare = this.compareOrderByItems(doc);
53
+ // FIXED: Correct the inverted logic!
54
+ // compareOrderByItems returns: negative if doc < continuation, positive if doc > continuation
55
+ // But for filtering: negative means doc comes BEFORE (skip), positive means doc comes AFTER (include)
56
+ // If sortOrderCompare < 0, this document comes before the continuation point
57
+ if (sortOrderCompare < 0) {
58
+ return true; // Include documents that come after continuation point
59
+ }
60
+ // If sortOrderCompare > 0, this document comes after the continuation point
61
+ if (sortOrderCompare > 0) {
62
+ return false; // Skip documents that come before continuation point
63
+ }
64
+ // Step 2: RID Filtering (sortOrderCompare === 0, same OrderBy values)
65
+ // Check if RID is available for comparison (some queries like JOIN may not have RID)
66
+ // if (!this.filterContext.rid) {
67
+ // // // Without RID, we can't do RID-based filtering, so include the document
68
+ // // The skipCount logic will handle any necessary filtering
69
+ // if (this.remainingSkipCount > 0) {
70
+ // // this.remainingSkipCount--;
71
+ // return false;
72
+ // }
73
+ // // return true;
74
+ // }
75
+ // For ORDER BY queries, _rid is at the top level of doc, not in payload
76
+ // Query rewrites to: SELECT c._rid, [...] AS orderByItems, {...} AS payload
77
+ const docRid = doc._rid;
78
+ let ridOrderCompare;
79
+ if (this.filterContext.rid === docRid) {
80
+ ridOrderCompare = 0;
81
+ }
82
+ else {
83
+ // Use BigInt comparison for accurate RID comparison
84
+ const continuationBigInt = this.ridToBigInt(this.filterContext.rid);
85
+ const docBigInt = this.ridToBigInt(docRid);
86
+ if (continuationBigInt < docBigInt) {
87
+ ridOrderCompare = -1;
88
+ }
89
+ else if (continuationBigInt > docBigInt) {
90
+ ridOrderCompare = 1;
91
+ }
92
+ else {
93
+ ridOrderCompare = 0;
94
+ }
95
+ }
96
+ // Apply direction logic based on sort order and query execution info
97
+ const sortOrders = this.filterContext.sortOrders || [];
98
+ const queryExecutionInfo = this.filterContext.queryExecutionInfo;
99
+ // Direction logic based on index scan direction
100
+ // Find the first descending sort order in the array
101
+ const hasDescendingSort = sortOrders.some((order) => order === "Descending");
102
+ if (!queryExecutionInfo || queryExecutionInfo.reverseRidEnabled) {
103
+ // Default behavior or when reverseRidEnabled is true
104
+ if (hasDescendingSort) {
105
+ ridOrderCompare = -ridOrderCompare; // Flip for DESC sort order
106
+ }
107
+ }
108
+ else {
109
+ // When reverseRidEnabled is false, use reverseIndexScan
110
+ if (queryExecutionInfo.reverseIndexScan) {
111
+ ridOrderCompare = -ridOrderCompare; // Flip based on index scan direction
112
+ }
113
+ }
114
+ // if (ridOrderCompare > 0) continue; // Skip
115
+ if (ridOrderCompare > 0) {
116
+ return false; // Skip documents that were already processed
117
+ }
118
+ if (ridOrderCompare < 0) {
119
+ return true; // Include documents that come after continuation
120
+ }
121
+ // Step 3: SkipCount Logic (ridOrderCompare === 0, exact same RID)
122
+ if (this.remainingSkipCount > 0) {
123
+ this.remainingSkipCount--;
124
+ return false; // Skip this document due to skip count
125
+ }
126
+ return true; // Include this document (skip count exhausted)
127
+ }
128
+ /**
129
+ * Convert RID to BigInt for accurate comparison.
130
+ * Decodes base64 RID and extracts the Document ID portion (8 bytes at offset 8) as BigInt.
131
+ *
132
+ * RID Structure (from Java SDK ResourceId.java):
133
+ * - Bytes 0-3: Database ID (4 bytes)
134
+ * - Bytes 4-7: Collection ID (4 bytes)
135
+ * - Bytes 8-15: Document ID (8 bytes, stored in Big Endian but compared in Little Endian)
136
+ * - Bytes 16-19: Attachment ID (4 bytes, optional)
137
+ */
138
+ ridToBigInt(rid) {
139
+ // Validate input RID
140
+ if (rid === null || rid === undefined) {
141
+ throw new Error(`RID is null or undefined`);
142
+ }
143
+ if (typeof rid !== "string") {
144
+ throw new Error(`RID must be a string, got ${typeof rid}`);
145
+ }
146
+ if (rid.trim().length === 0) {
147
+ throw new Error(`RID is empty string`);
148
+ }
149
+ try {
150
+ const normalizedRid = rid.replace(/-/g, "/");
151
+ const bytes = Buffer.from(normalizedRid, "base64");
152
+ // Validate RID length - must be at least 16 bytes to contain document ID
153
+ if (bytes.length < 16) {
154
+ throw new Error(`RID too short: expected at least 16 bytes, got ${bytes.length}`);
155
+ }
156
+ // Extract Document ID portion (8 bytes at offset 8-15)
157
+ // The bytes are stored as Big Endian but must be compared as Little Endian
158
+ let result = 0n;
159
+ for (let i = 15; i >= 8; i--) {
160
+ result = (result << 8n) | BigInt(bytes[i] & 0xff); // & 0xFF treats as unsigned
161
+ }
162
+ return result;
163
+ }
164
+ catch (error) {
165
+ throw new Error(`Failed to convert RID '${rid}' to BigInt: ${error instanceof Error ? error.message : String(error)}`);
166
+ }
167
+ }
168
+ /**
169
+ * Compares the OrderBy items of a document with the continuation token's OrderBy items.
170
+ * Uses the exported compareOrderByItems utility function from orderByItemComparator.
171
+ * @param doc - The document to compare
172
+ * @returns negative if doc comes before continuation, 0 if same, positive if doc comes after
173
+ */
174
+ compareOrderByItems(doc) {
175
+ const docOrderByItems = doc.orderByItems || [];
176
+ const continuationOrderByItems = this.filterContext.orderByItems || [];
177
+ const sortOrders = this.filterContext.sortOrders || [];
178
+ // Compare doc vs continuation (not continuation vs doc!)
179
+ // Returns: negative if doc < continuation, 0 if equal, positive if doc > continuation
180
+ return (0, orderByComparator_js_1.compareOrderByItems)(docOrderByItems, continuationOrderByItems, sortOrders);
181
+ }
182
+ }
183
+ exports.RidSkipCountFilter = RidSkipCountFilter;
184
+ //# sourceMappingURL=RidSkipCountFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RidSkipCountFilter.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,kEAA8D;AAE9D;;;;;;;;;;;GAWG;AACH,MAAa,kBAAkB;IAMA;IALrB,kBAAkB,CAAS;IAEnC;;OAEG;IACH,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,SAAgB;QACjC,MAAM,YAAY,GAAU,EAAE,CAAC;QAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,YAAY,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,GAAQ;QACpC,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAEvD,qCAAqC;QACrC,8FAA8F;QAC9F,sGAAsG;QAEtG,6EAA6E;QAC7E,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,CAAC,uDAAuD;QACtE,CAAC;QAED,4EAA4E;QAC5E,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,CAAC,qDAAqD;QACrE,CAAC;QAED,sEAAsE;QACtE,qFAAqF;QACrF,iCAAiC;QACjC,mFAAmF;QACnF,+DAA+D;QAC/D,uCAAuC;QACvC,uCAAuC;QACvC,oBAAoB;QACpB,MAAM;QACN,uBAAuB;QACvB,IAAI;QAEJ,wEAAwE;QACxE,4EAA4E;QAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;QAExB,IAAI,eAAuB,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACtC,eAAe,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAE3C,IAAI,kBAAkB,GAAG,SAAS,EAAE,CAAC;gBACnC,eAAe,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,kBAAkB,GAAG,SAAS,EAAE,CAAC;gBAC1C,eAAe,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;QACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC;QAEjE,gDAAgD;QAChD,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QAE7E,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;YAChE,qDAAqD;YACrD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,eAAe,GAAG,CAAC,eAAe,CAAC,CAAC,2BAA2B;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;gBACxC,eAAe,GAAG,CAAC,eAAe,CAAC,CAAC,qCAAqC;YAC3E,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,6CAA6C;QAC7D,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,CAAC,iDAAiD;QAChE,CAAC;QAED,kEAAkE;QAClE,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,CAAC,uCAAuC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC,CAAC,+CAA+C;IAC9D,CAAC;IAED;;;;;;;;;OASG;IACK,WAAW,CAAC,GAAW;QAC7B,qBAAqB;QACrB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAEnD,yEAAyE;YACzE,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,kDAAkD,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,uDAAuD;YACvD,2EAA2E;YAC3E,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,4BAA4B;YACjF,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,0BAA0B,GAAG,gBAAgB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,mBAAmB,CAAC,GAAQ;QAClC,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;QAC/C,MAAM,wBAAwB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;QAEvD,yDAAyD;QACzD,sFAAsF;QACtF,OAAO,IAAA,0CAAmB,EAAC,eAAe,EAAE,wBAAwB,EAAE,UAAU,CAAC,CAAC;IACpF,CAAC;CACF;AAtLD,gDAsLC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { FilterContext, FilterStrategy } from \"../index.js\";\nimport { compareOrderByItems } from \"../orderByComparator.js\";\n\n/**\n * Implements post-fetch filtering for ORDER BY queries to handle continuation tokens correctly.\n * This logic is applied only to the target partition from which a query is resumed.\n * It filters out documents that have already been emitted in previous pages by comparing\n * ORDER BY item values first, then document _rid, and finally using skip count for tie-breaking.\n *\n * Follows the .NET SDK FilterNextAsync logic:\n * 1. Compare OrderBy values with continuation token values\n * 2. Skip documents that come before continuation point\n * 3. For exact OrderBy matches, use RID comparison\n * 4. For exact RID matches, apply skip count logic\n */\nexport class RidSkipCountFilter implements FilterStrategy {\n private remainingSkipCount: number;\n\n /**\n * @param filterContext - The context containing values from the continuation token.\n */\n constructor(private readonly filterContext: FilterContext) {\n this.remainingSkipCount = this.filterContext.skipCount;\n }\n\n /**\n * Applies the comprehensive OrderBy + RID + SkipCount filtering logic.\n * @param documents - The documents fetched from the target partition.\n * @returns A new array containing only the documents that should be processed.\n */\n public applyFilter(documents: any[]): any[] {\n const filteredDocs: any[] = [];\n let skippedCount = 0;\n\n for (const doc of documents) {\n if (!this.shouldIncludeDocument(doc)) {\n skippedCount++;\n continue;\n }\n filteredDocs.push(doc);\n }\n return filteredDocs;\n }\n\n /**\n * Determines if a document should be included based on OrderBy values, RID, and skip count.\n * Implements the .NET SDK's FilterNextAsync logic with robust OrderBy comparison.\n */\n private shouldIncludeDocument(doc: any): boolean {\n // Step 1: OrderBy Value Filtering using OrderByComparator\n const sortOrderCompare = this.compareOrderByItems(doc);\n\n // FIXED: Correct the inverted logic!\n // compareOrderByItems returns: negative if doc < continuation, positive if doc > continuation\n // But for filtering: negative means doc comes BEFORE (skip), positive means doc comes AFTER (include)\n\n // If sortOrderCompare < 0, this document comes before the continuation point\n if (sortOrderCompare < 0) {\n return true; // Include documents that come after continuation point\n }\n\n // If sortOrderCompare > 0, this document comes after the continuation point\n if (sortOrderCompare > 0) {\n return false; // Skip documents that come before continuation point\n }\n\n // Step 2: RID Filtering (sortOrderCompare === 0, same OrderBy values)\n // Check if RID is available for comparison (some queries like JOIN may not have RID)\n // if (!this.filterContext.rid) {\n // // // Without RID, we can't do RID-based filtering, so include the document\n // // The skipCount logic will handle any necessary filtering\n // if (this.remainingSkipCount > 0) {\n // // this.remainingSkipCount--;\n // return false;\n // }\n // // return true;\n // }\n\n // For ORDER BY queries, _rid is at the top level of doc, not in payload\n // Query rewrites to: SELECT c._rid, [...] AS orderByItems, {...} AS payload\n const docRid = doc._rid;\n\n let ridOrderCompare: number;\n if (this.filterContext.rid === docRid) {\n ridOrderCompare = 0;\n } else {\n // Use BigInt comparison for accurate RID comparison\n const continuationBigInt = this.ridToBigInt(this.filterContext.rid);\n const docBigInt = this.ridToBigInt(docRid);\n\n if (continuationBigInt < docBigInt) {\n ridOrderCompare = -1;\n } else if (continuationBigInt > docBigInt) {\n ridOrderCompare = 1;\n } else {\n ridOrderCompare = 0;\n }\n }\n // Apply direction logic based on sort order and query execution info\n const sortOrders = this.filterContext.sortOrders || [];\n const queryExecutionInfo = this.filterContext.queryExecutionInfo;\n\n // Direction logic based on index scan direction\n // Find the first descending sort order in the array\n const hasDescendingSort = sortOrders.some((order) => order === \"Descending\");\n\n if (!queryExecutionInfo || queryExecutionInfo.reverseRidEnabled) {\n // Default behavior or when reverseRidEnabled is true\n if (hasDescendingSort) {\n ridOrderCompare = -ridOrderCompare; // Flip for DESC sort order\n }\n } else {\n // When reverseRidEnabled is false, use reverseIndexScan\n if (queryExecutionInfo.reverseIndexScan) {\n ridOrderCompare = -ridOrderCompare; // Flip based on index scan direction\n }\n }\n\n // if (ridOrderCompare > 0) continue; // Skip\n if (ridOrderCompare > 0) {\n return false; // Skip documents that were already processed\n }\n\n if (ridOrderCompare < 0) {\n return true; // Include documents that come after continuation\n }\n\n // Step 3: SkipCount Logic (ridOrderCompare === 0, exact same RID)\n if (this.remainingSkipCount > 0) {\n this.remainingSkipCount--;\n return false; // Skip this document due to skip count\n }\n\n return true; // Include this document (skip count exhausted)\n }\n\n /**\n * Convert RID to BigInt for accurate comparison.\n * Decodes base64 RID and extracts the Document ID portion (8 bytes at offset 8) as BigInt.\n *\n * RID Structure (from Java SDK ResourceId.java):\n * - Bytes 0-3: Database ID (4 bytes)\n * - Bytes 4-7: Collection ID (4 bytes)\n * - Bytes 8-15: Document ID (8 bytes, stored in Big Endian but compared in Little Endian)\n * - Bytes 16-19: Attachment ID (4 bytes, optional)\n */\n private ridToBigInt(rid: string): bigint {\n // Validate input RID\n if (rid === null || rid === undefined) {\n throw new Error(`RID is null or undefined`);\n }\n if (typeof rid !== \"string\") {\n throw new Error(`RID must be a string, got ${typeof rid}`);\n }\n if (rid.trim().length === 0) {\n throw new Error(`RID is empty string`);\n }\n\n try {\n const normalizedRid = rid.replace(/-/g, \"/\");\n const bytes = Buffer.from(normalizedRid, \"base64\");\n\n // Validate RID length - must be at least 16 bytes to contain document ID\n if (bytes.length < 16) {\n throw new Error(`RID too short: expected at least 16 bytes, got ${bytes.length}`);\n }\n\n // Extract Document ID portion (8 bytes at offset 8-15)\n // The bytes are stored as Big Endian but must be compared as Little Endian\n let result = 0n;\n for (let i = 15; i >= 8; i--) {\n result = (result << 8n) | BigInt(bytes[i] & 0xff); // & 0xFF treats as unsigned\n }\n\n return result;\n } catch (error) {\n throw new Error(\n `Failed to convert RID '${rid}' to BigInt: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n /**\n * Compares the OrderBy items of a document with the continuation token's OrderBy items.\n * Uses the exported compareOrderByItems utility function from orderByItemComparator.\n * @param doc - The document to compare\n * @returns negative if doc comes before continuation, 0 if same, positive if doc comes after\n */\n private compareOrderByItems(doc: any): number {\n const docOrderByItems = doc.orderByItems || [];\n const continuationOrderByItems = this.filterContext.orderByItems || [];\n const sortOrders = this.filterContext.sortOrders || [];\n\n // Compare doc vs continuation (not continuation vs doc!)\n // Returns: negative if doc < continuation, 0 if equal, positive if doc > continuation\n return compareOrderByItems(docOrderByItems, continuationOrderByItems, sortOrders);\n }\n}\n"]}
@@ -0,0 +1,76 @@
1
+ import type { PartitionKeyRange } from "../../index.js";
2
+ import type { TargetPartitionRangeStrategy, PartitionRangeFilterResult } from "./TargetPartitionRangeStrategy.js";
3
+ /**
4
+ * Interface representing a partition key range with its associated continuation token and filtering condition
5
+ * @hidden
6
+ */
7
+ export interface PartitionRangeWithContinuationToken {
8
+ range: PartitionKeyRange;
9
+ continuationToken?: string;
10
+ filteringCondition?: string;
11
+ }
12
+ /**
13
+ * Query execution context types
14
+ * @hidden
15
+ */
16
+ export declare enum QueryExecutionContextType {
17
+ Parallel = "Parallel",
18
+ OrderBy = "OrderBy"
19
+ }
20
+ /**
21
+ * Configuration for the Target Partition Range Manager
22
+ * @hidden
23
+ */
24
+ export interface TargetPartitionRangeManagerConfig {
25
+ /**
26
+ * The type of query execution context
27
+ */
28
+ queryType: QueryExecutionContextType;
29
+ /**
30
+ * Additional query information that might be needed for filtering decisions
31
+ */
32
+ queryInfo: Record<string, unknown>;
33
+ /**
34
+ * Custom strategy instance (optional, will use default strategies if not provided)
35
+ */
36
+ customStrategy?: TargetPartitionRangeStrategy;
37
+ }
38
+ /**
39
+ * Manager class responsible for filtering target partition ranges based on query type and continuation tokens.
40
+ * Uses the Strategy pattern to provide different filtering logic for different query types.
41
+ * @hidden
42
+ */
43
+ export declare class TargetPartitionRangeManager {
44
+ private strategy;
45
+ private config;
46
+ constructor(config: TargetPartitionRangeManagerConfig);
47
+ /**
48
+ * Creates the appropriate strategy based on configuration
49
+ */
50
+ private createStrategy;
51
+ /**
52
+ * Filters target partition ranges based on range-token pairs from partition split/merge detection
53
+ * @param targetRanges - All available target partition ranges (fallback if no range-token pairs)
54
+ * @param rangeTokenPairs - Pre-processed range-token pairs after split/merge detection
55
+ * @param additionalQueryInfo - Additional query information to merge with existing queryInfo
56
+ * @returns Filtered partition ranges and metadata
57
+ */
58
+ filterPartitionRanges(targetRanges: PartitionKeyRange[], rangeTokenPairs?: PartitionRangeWithContinuationToken[], additionalQueryInfo?: Record<string, unknown>): PartitionRangeFilterResult;
59
+ /**
60
+ * Gets the current strategy type
61
+ */
62
+ getStrategyType(): string;
63
+ /**
64
+ * Updates the strategy (useful for switching between query types)
65
+ */
66
+ updateStrategy(newConfig: TargetPartitionRangeManagerConfig): void;
67
+ /**
68
+ * Static factory method to create a manager for parallel queries
69
+ */
70
+ static createForParallelQuery(queryInfo: Record<string, unknown>): TargetPartitionRangeManager;
71
+ /**
72
+ * Static factory method to create a manager for ORDER BY queries
73
+ */
74
+ static createForOrderByQuery(queryInfo: Record<string, unknown>): TargetPartitionRangeManager;
75
+ }
76
+ //# sourceMappingURL=TargetPartitionRangeManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetPartitionRangeManager.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,mCAAmC,CAAC;AAI3C;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAClD,KAAK,EAAE,iBAAiB,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,oBAAY,yBAAyB;IACnC,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,iCAAiC;IAChD;;OAEG;IACH,SAAS,EAAE,yBAAyB,CAAC;IAErC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,EAAE,4BAA4B,CAAC;CAC/C;AAED;;;;GAIG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,MAAM,CAAoC;gBAEtC,MAAM,EAAE,iCAAiC;IAKrD;;OAEG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;OAMG;IACI,qBAAqB,CAC1B,YAAY,EAAE,iBAAiB,EAAE,EACjC,eAAe,CAAC,EAAE,mCAAmC,EAAE,EACvD,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5C,0BAA0B;IAiB7B;;OAEG;IACI,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,iCAAiC,GAAG,IAAI;IAKzE;;OAEG;WACW,sBAAsB,CAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,2BAA2B;IAO9B;;OAEG;WACW,qBAAqB,CACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,2BAA2B;CAM/B"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.TargetPartitionRangeManager = exports.QueryExecutionContextType = void 0;
6
+ const ParallelQueryRangeStrategy_js_1 = require("./ParallelQueryRangeStrategy.js");
7
+ const OrderByQueryRangeStrategy_js_1 = require("./OrderByQueryRangeStrategy.js");
8
+ /**
9
+ * Query execution context types
10
+ * @hidden
11
+ */
12
+ var QueryExecutionContextType;
13
+ (function (QueryExecutionContextType) {
14
+ QueryExecutionContextType["Parallel"] = "Parallel";
15
+ QueryExecutionContextType["OrderBy"] = "OrderBy";
16
+ })(QueryExecutionContextType || (exports.QueryExecutionContextType = QueryExecutionContextType = {}));
17
+ /**
18
+ * Manager class responsible for filtering target partition ranges based on query type and continuation tokens.
19
+ * Uses the Strategy pattern to provide different filtering logic for different query types.
20
+ * @hidden
21
+ */
22
+ class TargetPartitionRangeManager {
23
+ strategy;
24
+ config;
25
+ constructor(config) {
26
+ this.config = config;
27
+ this.strategy = this.createStrategy(config);
28
+ }
29
+ /**
30
+ * Creates the appropriate strategy based on configuration
31
+ */
32
+ createStrategy(config) {
33
+ // Use custom strategy if provided
34
+ if (config.customStrategy) {
35
+ return config.customStrategy;
36
+ }
37
+ // Create default strategy based on query type
38
+ switch (config.queryType) {
39
+ case QueryExecutionContextType.Parallel:
40
+ return new ParallelQueryRangeStrategy_js_1.ParallelQueryRangeStrategy();
41
+ case QueryExecutionContextType.OrderBy:
42
+ return new OrderByQueryRangeStrategy_js_1.OrderByQueryRangeStrategy();
43
+ default:
44
+ throw new Error(`Unsupported query execution context type: ${config.queryType}`);
45
+ }
46
+ }
47
+ /**
48
+ * Filters target partition ranges based on range-token pairs from partition split/merge detection
49
+ * @param targetRanges - All available target partition ranges (fallback if no range-token pairs)
50
+ * @param rangeTokenPairs - Pre-processed range-token pairs after split/merge detection
51
+ * @param additionalQueryInfo - Additional query information to merge with existing queryInfo
52
+ * @returns Filtered partition ranges and metadata
53
+ */
54
+ filterPartitionRanges(targetRanges, rangeTokenPairs, additionalQueryInfo) {
55
+ // Validate inputs
56
+ if (!targetRanges || targetRanges.length === 0) {
57
+ return { rangeTokenPairs: [] };
58
+ }
59
+ // Merge base queryInfo with additional queryInfo (additional takes precedence)
60
+ const mergedQueryInfo = { ...this.config.queryInfo, ...additionalQueryInfo };
61
+ const result = this.strategy.filterPartitionRanges(targetRanges, rangeTokenPairs, mergedQueryInfo);
62
+ return result;
63
+ }
64
+ /**
65
+ * Gets the current strategy type
66
+ */
67
+ getStrategyType() {
68
+ return this.strategy.getStrategyType();
69
+ }
70
+ /**
71
+ * Updates the strategy (useful for switching between query types)
72
+ */
73
+ updateStrategy(newConfig) {
74
+ this.config = newConfig;
75
+ this.strategy = this.createStrategy(newConfig);
76
+ }
77
+ /**
78
+ * Static factory method to create a manager for parallel queries
79
+ */
80
+ static createForParallelQuery(queryInfo) {
81
+ return new TargetPartitionRangeManager({
82
+ queryType: QueryExecutionContextType.Parallel,
83
+ queryInfo,
84
+ });
85
+ }
86
+ /**
87
+ * Static factory method to create a manager for ORDER BY queries
88
+ */
89
+ static createForOrderByQuery(queryInfo) {
90
+ return new TargetPartitionRangeManager({
91
+ queryType: QueryExecutionContextType.OrderBy,
92
+ queryInfo,
93
+ });
94
+ }
95
+ }
96
+ exports.TargetPartitionRangeManager = TargetPartitionRangeManager;
97
+ //# sourceMappingURL=TargetPartitionRangeManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetPartitionRangeManager.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAOlC,mFAA6E;AAC7E,iFAA2E;AAY3E;;;GAGG;AACH,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACnC,kDAAqB,CAAA;IACrB,gDAAmB,CAAA;AACrB,CAAC,EAHW,yBAAyB,yCAAzB,yBAAyB,QAGpC;AAuBD;;;;GAIG;AACH,MAAa,2BAA2B;IAC9B,QAAQ,CAA+B;IACvC,MAAM,CAAoC;IAElD,YAAY,MAAyC;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,MAAyC;QAC9D,kCAAkC;QAClC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,cAAc,CAAC;QAC/B,CAAC;QAED,8CAA8C;QAC9C,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;YACzB,KAAK,yBAAyB,CAAC,QAAQ;gBACrC,OAAO,IAAI,0DAA0B,EAAE,CAAC;YAE1C,KAAK,yBAAyB,CAAC,OAAO;gBACpC,OAAO,IAAI,wDAAyB,EAAE,CAAC;YAEzC;gBACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,qBAAqB,CAC1B,YAAiC,EACjC,eAAuD,EACvD,mBAA6C;QAE7C,kBAAkB;QAClB,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QACjC,CAAC;QAED,+EAA+E;QAC/E,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,mBAAmB,EAAE,CAAC;QAE7E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAChD,YAAY,EACZ,eAAe,EACf,eAAe,CAChB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,SAA4C;QAChE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,sBAAsB,CAClC,SAAkC;QAElC,OAAO,IAAI,2BAA2B,CAAC;YACrC,SAAS,EAAE,yBAAyB,CAAC,QAAQ;YAC7C,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,qBAAqB,CACjC,SAAkC;QAElC,OAAO,IAAI,2BAA2B,CAAC;YACrC,SAAS,EAAE,yBAAyB,CAAC,OAAO;YAC5C,SAAS;SACV,CAAC,CAAC;IACL,CAAC;CACF;AAjGD,kEAiGC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../index.js\";\nimport type {\n TargetPartitionRangeStrategy,\n PartitionRangeFilterResult,\n} from \"./TargetPartitionRangeStrategy.js\";\nimport { ParallelQueryRangeStrategy } from \"./ParallelQueryRangeStrategy.js\";\nimport { OrderByQueryRangeStrategy } from \"./OrderByQueryRangeStrategy.js\";\n\n/**\n * Interface representing a partition key range with its associated continuation token and filtering condition\n * @hidden\n */\nexport interface PartitionRangeWithContinuationToken {\n range: PartitionKeyRange;\n continuationToken?: string;\n filteringCondition?: string;\n}\n\n/**\n * Query execution context types\n * @hidden\n */\nexport enum QueryExecutionContextType {\n Parallel = \"Parallel\",\n OrderBy = \"OrderBy\",\n}\n\n/**\n * Configuration for the Target Partition Range Manager\n * @hidden\n */\nexport interface TargetPartitionRangeManagerConfig {\n /**\n * The type of query execution context\n */\n queryType: QueryExecutionContextType;\n\n /**\n * Additional query information that might be needed for filtering decisions\n */\n queryInfo: Record<string, unknown>;\n\n /**\n * Custom strategy instance (optional, will use default strategies if not provided)\n */\n customStrategy?: TargetPartitionRangeStrategy;\n}\n\n/**\n * Manager class responsible for filtering target partition ranges based on query type and continuation tokens.\n * Uses the Strategy pattern to provide different filtering logic for different query types.\n * @hidden\n */\nexport class TargetPartitionRangeManager {\n private strategy: TargetPartitionRangeStrategy;\n private config: TargetPartitionRangeManagerConfig;\n\n constructor(config: TargetPartitionRangeManagerConfig) {\n this.config = config;\n this.strategy = this.createStrategy(config);\n }\n\n /**\n * Creates the appropriate strategy based on configuration\n */\n private createStrategy(config: TargetPartitionRangeManagerConfig): TargetPartitionRangeStrategy {\n // Use custom strategy if provided\n if (config.customStrategy) {\n return config.customStrategy;\n }\n\n // Create default strategy based on query type\n switch (config.queryType) {\n case QueryExecutionContextType.Parallel:\n return new ParallelQueryRangeStrategy();\n\n case QueryExecutionContextType.OrderBy:\n return new OrderByQueryRangeStrategy();\n\n default:\n throw new Error(`Unsupported query execution context type: ${config.queryType}`);\n }\n }\n\n /**\n * Filters target partition ranges based on range-token pairs from partition split/merge detection\n * @param targetRanges - All available target partition ranges (fallback if no range-token pairs)\n * @param rangeTokenPairs - Pre-processed range-token pairs after split/merge detection\n * @param additionalQueryInfo - Additional query information to merge with existing queryInfo\n * @returns Filtered partition ranges and metadata\n */\n public filterPartitionRanges(\n targetRanges: PartitionKeyRange[],\n rangeTokenPairs?: PartitionRangeWithContinuationToken[],\n additionalQueryInfo?: Record<string, unknown>,\n ): PartitionRangeFilterResult {\n // Validate inputs\n if (!targetRanges || targetRanges.length === 0) {\n return { rangeTokenPairs: [] };\n }\n\n // Merge base queryInfo with additional queryInfo (additional takes precedence)\n const mergedQueryInfo = { ...this.config.queryInfo, ...additionalQueryInfo };\n\n const result = this.strategy.filterPartitionRanges(\n targetRanges,\n rangeTokenPairs,\n mergedQueryInfo,\n );\n return result;\n }\n\n /**\n * Gets the current strategy type\n */\n public getStrategyType(): string {\n return this.strategy.getStrategyType();\n }\n\n /**\n * Updates the strategy (useful for switching between query types)\n */\n public updateStrategy(newConfig: TargetPartitionRangeManagerConfig): void {\n this.config = newConfig;\n this.strategy = this.createStrategy(newConfig);\n }\n\n /**\n * Static factory method to create a manager for parallel queries\n */\n public static createForParallelQuery(\n queryInfo: Record<string, unknown>,\n ): TargetPartitionRangeManager {\n return new TargetPartitionRangeManager({\n queryType: QueryExecutionContextType.Parallel,\n queryInfo,\n });\n }\n\n /**\n * Static factory method to create a manager for ORDER BY queries\n */\n public static createForOrderByQuery(\n queryInfo: Record<string, unknown>,\n ): TargetPartitionRangeManager {\n return new TargetPartitionRangeManager({\n queryType: QueryExecutionContextType.OrderBy,\n queryInfo,\n });\n }\n}\n"]}
@@ -0,0 +1,30 @@
1
+ import type { PartitionKeyRange } from "../../index.js";
2
+ import type { PartitionRangeWithContinuationToken } from "./TargetPartitionRangeManager.js";
3
+ /**
4
+ * Represents the result of partition range filtering
5
+ * @hidden
6
+ */
7
+ export interface PartitionRangeFilterResult {
8
+ /**
9
+ * The filtered partition ranges with their associated continuation tokens and filtering conditions
10
+ */
11
+ rangeTokenPairs: PartitionRangeWithContinuationToken[];
12
+ }
13
+ /**
14
+ * Strategy interface for filtering target partition ranges based on query type and continuation token
15
+ * @hidden
16
+ */
17
+ export interface TargetPartitionRangeStrategy {
18
+ /**
19
+ * Gets the strategy type identifier
20
+ */
21
+ getStrategyType(): string;
22
+ /**
23
+ * Filters target partition ranges based on the continuation token and query-specific logic
24
+ * @param targetRanges - All available target partition ranges
25
+ * @param continuationToken - The continuation token to resume from (if any)
26
+ * @returns Filtered partition ranges and metadata
27
+ */
28
+ filterPartitionRanges(targetRanges: PartitionKeyRange[], continuationRanges?: PartitionRangeWithContinuationToken[], queryInfo?: Record<string, unknown>): PartitionRangeFilterResult;
29
+ }
30
+ //# sourceMappingURL=TargetPartitionRangeStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetPartitionRangeStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AAE5F;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,eAAe,EAAE,mCAAmC,EAAE,CAAC;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,qBAAqB,CACnB,YAAY,EAAE,iBAAiB,EAAE,EACjC,kBAAkB,CAAC,EAAE,mCAAmC,EAAE,EAC1D,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,0BAA0B,CAAC;CAC/B"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=TargetPartitionRangeStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetPartitionRangeStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../index.js\";\nimport type { PartitionRangeWithContinuationToken } from \"./TargetPartitionRangeManager.js\";\n\n/**\n * Represents the result of partition range filtering\n * @hidden\n */\nexport interface PartitionRangeFilterResult {\n /**\n * The filtered partition ranges with their associated continuation tokens and filtering conditions\n */\n rangeTokenPairs: PartitionRangeWithContinuationToken[];\n}\n\n/**\n * Strategy interface for filtering target partition ranges based on query type and continuation token\n * @hidden\n */\nexport interface TargetPartitionRangeStrategy {\n /**\n * Gets the strategy type identifier\n */\n getStrategyType(): string;\n\n /**\n * Filters target partition ranges based on the continuation token and query-specific logic\n * @param targetRanges - All available target partition ranges\n * @param continuationToken - The continuation token to resume from (if any)\n * @returns Filtered partition ranges and metadata\n */\n filterPartitionRanges(\n targetRanges: PartitionKeyRange[],\n continuationRanges?: PartitionRangeWithContinuationToken[],\n queryInfo?: Record<string, unknown>,\n ): PartitionRangeFilterResult;\n}\n"]}
@@ -0,0 +1,29 @@
1
+ import type { OrderByQueryContinuationToken } from "../../documents/ContinuationToken/OrderByQueryContinuationToken.js";
2
+ import type { CompositeQueryContinuationToken } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
3
+ import type { FilterContext } from "../queryFilteringStrategy/FilterStrategy.js";
4
+ import type { QueryProcessingStrategy } from "./QueryProcessingStrategy.js";
5
+ /**
6
+ * Strategy for processing ORDER BY queries
7
+ * @hidden
8
+ */
9
+ export declare class OrderByQueryProcessingStrategy implements QueryProcessingStrategy {
10
+ private readonly sortOrders;
11
+ constructor(sortOrders: any[]);
12
+ /**
13
+ * Creates additional query info from ORDER BY continuation token
14
+ */
15
+ createAdditionalQueryInfo(parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken): any;
16
+ /**
17
+ * Creates filter context for ORDER BY continuation token processing
18
+ */
19
+ createFilterContext(parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken): FilterContext | undefined;
20
+ /**
21
+ * For ORDER BY queries, only apply filter to the target partition (last range in continuation)
22
+ */
23
+ getPartitionFilterContext(filterContext: FilterContext | undefined, targetPartitionId: string | undefined, partitionTargetRangeId: string): FilterContext | undefined;
24
+ /**
25
+ * Parses ORDER BY continuation token
26
+ */
27
+ parseContinuationToken(continuationToken: string): OrderByQueryContinuationToken | CompositeQueryContinuationToken;
28
+ }
29
+ //# sourceMappingURL=OrderByQueryProcessingStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByQueryProcessingStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AAExH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sEAAsE,CAAC;AAC5H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;GAGG;AACH,qBAAa,8BAA+B,YAAW,uBAAuB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,GAAG,EAAE;IAC9C;;OAEG;IACH,yBAAyB,CACvB,WAAW,EAAE,6BAA6B,GAAG,+BAA+B,GAC3E,GAAG;IAQN;;OAEG;IACH,mBAAmB,CACjB,WAAW,EAAE,6BAA6B,GAAG,+BAA+B,GAC3E,aAAa,GAAG,SAAS;IAU5B;;OAEG;IACH,yBAAyB,CACvB,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,sBAAsB,EAAE,MAAM,GAC7B,aAAa,GAAG,SAAS;IAM5B;;OAEG;IACH,sBAAsB,CACpB,iBAAiB,EAAE,MAAM,GACxB,6BAA6B,GAAG,+BAA+B;CAGnE"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.OrderByQueryProcessingStrategy = void 0;
6
+ const OrderByQueryContinuationToken_js_1 = require("../../documents/ContinuationToken/OrderByQueryContinuationToken.js");
7
+ /**
8
+ * Strategy for processing ORDER BY queries
9
+ * @hidden
10
+ */
11
+ class OrderByQueryProcessingStrategy {
12
+ sortOrders;
13
+ constructor(sortOrders) {
14
+ this.sortOrders = sortOrders;
15
+ }
16
+ /**
17
+ * Creates additional query info from ORDER BY continuation token
18
+ */
19
+ createAdditionalQueryInfo(parsedToken) {
20
+ const orderByToken = parsedToken;
21
+ const info = {};
22
+ if (orderByToken.orderByItems)
23
+ info.orderByItems = orderByToken.orderByItems;
24
+ if (orderByToken.documentRid)
25
+ info.rid = orderByToken.documentRid;
26
+ return Object.keys(info).length > 0 ? info : undefined;
27
+ }
28
+ /**
29
+ * Creates filter context for ORDER BY continuation token processing
30
+ */
31
+ createFilterContext(parsedToken) {
32
+ const orderByToken = parsedToken;
33
+ return {
34
+ orderByItems: orderByToken.orderByItems,
35
+ rid: orderByToken.documentRid,
36
+ skipCount: orderByToken.skipCount,
37
+ sortOrders: this.sortOrders,
38
+ };
39
+ }
40
+ /**
41
+ * For ORDER BY queries, only apply filter to the target partition (last range in continuation)
42
+ */
43
+ getPartitionFilterContext(filterContext, targetPartitionId, partitionTargetRangeId) {
44
+ if (!filterContext)
45
+ return undefined;
46
+ const isTargetPartition = targetPartitionId === partitionTargetRangeId;
47
+ return isTargetPartition ? filterContext : undefined;
48
+ }
49
+ /**
50
+ * Parses ORDER BY continuation token
51
+ */
52
+ parseContinuationToken(continuationToken) {
53
+ return (0, OrderByQueryContinuationToken_js_1.parseOrderByQueryContinuationToken)(continuationToken);
54
+ }
55
+ }
56
+ exports.OrderByQueryProcessingStrategy = OrderByQueryProcessingStrategy;
57
+ //# sourceMappingURL=OrderByQueryProcessingStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderByQueryProcessingStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAGlC,yHAAwH;AAKxH;;;GAGG;AACH,MAAa,8BAA8B;IACZ;IAA7B,YAA6B,UAAiB;QAAjB,eAAU,GAAV,UAAU,CAAO;IAAG,CAAC;IAClD;;OAEG;IACH,yBAAyB,CACvB,WAA4E;QAE5E,MAAM,YAAY,GAAG,WAA4C,CAAC;QAClE,MAAM,IAAI,GAAQ,EAAE,CAAC;QACrB,IAAI,YAAY,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAC7E,IAAI,YAAY,CAAC,WAAW;YAAE,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC;QAClE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,WAA4E;QAE5E,MAAM,YAAY,GAAG,WAA4C,CAAC;QAClE,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,GAAG,EAAE,YAAY,CAAC,WAAW;YAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,yBAAyB,CACvB,aAAwC,EACxC,iBAAqC,EACrC,sBAA8B;QAE9B,IAAI,CAAC,aAAa;YAAE,OAAO,SAAS,CAAC;QACrC,MAAM,iBAAiB,GAAG,iBAAiB,KAAK,sBAAsB,CAAC;QACvE,OAAO,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,sBAAsB,CACpB,iBAAyB;QAEzB,OAAO,IAAA,qEAAkC,EAAC,iBAAiB,CAAC,CAAC;IAC/D,CAAC;CACF;AAnDD,wEAmDC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OrderByQueryContinuationToken } from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport { parseOrderByQueryContinuationToken } from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport type { CompositeQueryContinuationToken } from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type { FilterContext } from \"../queryFilteringStrategy/FilterStrategy.js\";\nimport type { QueryProcessingStrategy } from \"./QueryProcessingStrategy.js\";\n\n/**\n * Strategy for processing ORDER BY queries\n * @hidden\n */\nexport class OrderByQueryProcessingStrategy implements QueryProcessingStrategy {\n constructor(private readonly sortOrders: any[]) {}\n /**\n * Creates additional query info from ORDER BY continuation token\n */\n createAdditionalQueryInfo(\n parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken,\n ): any {\n const orderByToken = parsedToken as OrderByQueryContinuationToken;\n const info: any = {};\n if (orderByToken.orderByItems) info.orderByItems = orderByToken.orderByItems;\n if (orderByToken.documentRid) info.rid = orderByToken.documentRid;\n return Object.keys(info).length > 0 ? info : undefined;\n }\n\n /**\n * Creates filter context for ORDER BY continuation token processing\n */\n createFilterContext(\n parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken,\n ): FilterContext | undefined {\n const orderByToken = parsedToken as OrderByQueryContinuationToken;\n return {\n orderByItems: orderByToken.orderByItems,\n rid: orderByToken.documentRid,\n skipCount: orderByToken.skipCount,\n sortOrders: this.sortOrders,\n };\n }\n\n /**\n * For ORDER BY queries, only apply filter to the target partition (last range in continuation)\n */\n getPartitionFilterContext(\n filterContext: FilterContext | undefined,\n targetPartitionId: string | undefined,\n partitionTargetRangeId: string,\n ): FilterContext | undefined {\n if (!filterContext) return undefined;\n const isTargetPartition = targetPartitionId === partitionTargetRangeId;\n return isTargetPartition ? filterContext : undefined;\n }\n\n /**\n * Parses ORDER BY continuation token\n */\n parseContinuationToken(\n continuationToken: string,\n ): OrderByQueryContinuationToken | CompositeQueryContinuationToken {\n return parseOrderByQueryContinuationToken(continuationToken);\n }\n}\n"]}
@@ -0,0 +1,27 @@
1
+ import type { OrderByQueryContinuationToken } from "../../documents/ContinuationToken/OrderByQueryContinuationToken.js";
2
+ import type { CompositeQueryContinuationToken } from "../../documents/ContinuationToken/CompositeQueryContinuationToken.js";
3
+ import type { FilterContext } from "../queryFilteringStrategy/FilterStrategy.js";
4
+ import type { QueryProcessingStrategy } from "./QueryProcessingStrategy.js";
5
+ /**
6
+ * Strategy for processing parallel queries (non-ORDER BY)
7
+ * @hidden
8
+ */
9
+ export declare class ParallelQueryProcessingStrategy implements QueryProcessingStrategy {
10
+ /**
11
+ * Parallel queries don't need additional query info from continuation token
12
+ */
13
+ createAdditionalQueryInfo(_parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken): any;
14
+ /**
15
+ * Parallel queries don't use filter context for continuation token processing
16
+ */
17
+ createFilterContext(_parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken): FilterContext | undefined;
18
+ /**
19
+ * Parallel queries don't apply partition-specific filter context
20
+ */
21
+ getPartitionFilterContext(_filterContext: FilterContext | undefined, _targetPartitionId: string | undefined, _partitionTargetRangeId: string): FilterContext | undefined;
22
+ /**
23
+ * Parses parallel/composite continuation token
24
+ */
25
+ parseContinuationToken(continuationToken: string): OrderByQueryContinuationToken | CompositeQueryContinuationToken;
26
+ }
27
+ //# sourceMappingURL=ParallelQueryProcessingStrategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelQueryProcessingStrategy.d.ts","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACxH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sEAAsE,CAAC;AAE5H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;GAGG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E;;OAEG;IACH,yBAAyB,CACvB,YAAY,EAAE,6BAA6B,GAAG,+BAA+B,GAC5E,GAAG;IAIN;;OAEG;IACH,mBAAmB,CACjB,YAAY,EAAE,6BAA6B,GAAG,+BAA+B,GAC5E,aAAa,GAAG,SAAS;IAI5B;;OAEG;IACH,yBAAyB,CACvB,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,uBAAuB,EAAE,MAAM,GAC9B,aAAa,GAAG,SAAS;IAI5B;;OAEG;IACH,sBAAsB,CACpB,iBAAiB,EAAE,MAAM,GACxB,6BAA6B,GAAG,+BAA+B;CAGnE"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT License.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.ParallelQueryProcessingStrategy = void 0;
6
+ const CompositeQueryContinuationToken_js_1 = require("../../documents/ContinuationToken/CompositeQueryContinuationToken.js");
7
+ /**
8
+ * Strategy for processing parallel queries (non-ORDER BY)
9
+ * @hidden
10
+ */
11
+ class ParallelQueryProcessingStrategy {
12
+ /**
13
+ * Parallel queries don't need additional query info from continuation token
14
+ */
15
+ createAdditionalQueryInfo(_parsedToken) {
16
+ return undefined;
17
+ }
18
+ /**
19
+ * Parallel queries don't use filter context for continuation token processing
20
+ */
21
+ createFilterContext(_parsedToken) {
22
+ return undefined;
23
+ }
24
+ /**
25
+ * Parallel queries don't apply partition-specific filter context
26
+ */
27
+ getPartitionFilterContext(_filterContext, _targetPartitionId, _partitionTargetRangeId) {
28
+ return undefined;
29
+ }
30
+ /**
31
+ * Parses parallel/composite continuation token
32
+ */
33
+ parseContinuationToken(continuationToken) {
34
+ return (0, CompositeQueryContinuationToken_js_1.parseCompositeQueryContinuationToken)(continuationToken);
35
+ }
36
+ }
37
+ exports.ParallelQueryProcessingStrategy = ParallelQueryProcessingStrategy;
38
+ //# sourceMappingURL=ParallelQueryProcessingStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelQueryProcessingStrategy.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAIlC,6HAA4H;AAI5H;;;GAGG;AACH,MAAa,+BAA+B;IAC1C;;OAEG;IACH,yBAAyB,CACvB,YAA6E;QAE7E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,YAA6E;QAE7E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,yBAAyB,CACvB,cAAyC,EACzC,kBAAsC,EACtC,uBAA+B;QAE/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,sBAAsB,CACpB,iBAAyB;QAEzB,OAAO,IAAA,yEAAoC,EAAC,iBAAiB,CAAC,CAAC;IACjE,CAAC;CACF;AAtCD,0EAsCC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { OrderByQueryContinuationToken } from \"../../documents/ContinuationToken/OrderByQueryContinuationToken.js\";\nimport type { CompositeQueryContinuationToken } from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport { parseCompositeQueryContinuationToken } from \"../../documents/ContinuationToken/CompositeQueryContinuationToken.js\";\nimport type { FilterContext } from \"../queryFilteringStrategy/FilterStrategy.js\";\nimport type { QueryProcessingStrategy } from \"./QueryProcessingStrategy.js\";\n\n/**\n * Strategy for processing parallel queries (non-ORDER BY)\n * @hidden\n */\nexport class ParallelQueryProcessingStrategy implements QueryProcessingStrategy {\n /**\n * Parallel queries don't need additional query info from continuation token\n */\n createAdditionalQueryInfo(\n _parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken,\n ): any {\n return undefined;\n }\n\n /**\n * Parallel queries don't use filter context for continuation token processing\n */\n createFilterContext(\n _parsedToken: OrderByQueryContinuationToken | CompositeQueryContinuationToken,\n ): FilterContext | undefined {\n return undefined;\n }\n\n /**\n * Parallel queries don't apply partition-specific filter context\n */\n getPartitionFilterContext(\n _filterContext: FilterContext | undefined,\n _targetPartitionId: string | undefined,\n _partitionTargetRangeId: string,\n ): FilterContext | undefined {\n return undefined;\n }\n\n /**\n * Parses parallel/composite continuation token\n */\n parseContinuationToken(\n continuationToken: string,\n ): OrderByQueryContinuationToken | CompositeQueryContinuationToken {\n return parseCompositeQueryContinuationToken(continuationToken);\n }\n}\n"]}