@azure/cosmos 4.9.1 → 4.9.3

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 (1296) hide show
  1. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  2. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  3. package/dist/browser/PartitionKeyRangeFailoverInfo.js +0 -2
  4. package/dist/browser/PartitionKeyRangeFailoverInfo.js.map +1 -1
  5. package/dist/browser/bulk/index.d.ts +1 -1
  6. package/dist/browser/bulk/index.d.ts.map +1 -1
  7. package/dist/browser/bulk/index.js.map +1 -1
  8. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  9. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  10. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  11. package/dist/browser/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  12. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  13. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  14. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  15. package/dist/browser/client/ChangeFeed/index.d.ts +2 -2
  16. package/dist/browser/client/ChangeFeed/index.d.ts.map +1 -1
  17. package/dist/browser/client/ChangeFeed/index.js.map +1 -1
  18. package/dist/browser/client/ClientUtils.d.ts +1 -1
  19. package/dist/browser/client/ClientUtils.d.ts.map +1 -1
  20. package/dist/browser/client/ClientUtils.js.map +1 -1
  21. package/dist/browser/client/Conflict/index.d.ts +2 -2
  22. package/dist/browser/client/Conflict/index.d.ts.map +1 -1
  23. package/dist/browser/client/Conflict/index.js.map +1 -1
  24. package/dist/browser/client/Container/ContainerDefinition.d.ts +1 -1
  25. package/dist/browser/client/Container/ContainerDefinition.d.ts.map +1 -1
  26. package/dist/browser/client/Container/ContainerDefinition.js.map +1 -1
  27. package/dist/browser/client/Container/index.d.ts +4 -4
  28. package/dist/browser/client/Container/index.d.ts.map +1 -1
  29. package/dist/browser/client/Container/index.js.map +1 -1
  30. package/dist/browser/client/Database/index.d.ts +2 -2
  31. package/dist/browser/client/Database/index.d.ts.map +1 -1
  32. package/dist/browser/client/Database/index.js.map +1 -1
  33. package/dist/browser/client/Item/Items.d.ts.map +1 -1
  34. package/dist/browser/client/Item/Items.js.map +1 -1
  35. package/dist/browser/client/Item/index.d.ts +1 -1
  36. package/dist/browser/client/Item/index.d.ts.map +1 -1
  37. package/dist/browser/client/Item/index.js.map +1 -1
  38. package/dist/browser/client/Offer/index.d.ts +1 -1
  39. package/dist/browser/client/Offer/index.d.ts.map +1 -1
  40. package/dist/browser/client/Offer/index.js.map +1 -1
  41. package/dist/browser/client/Permission/index.d.ts +2 -2
  42. package/dist/browser/client/Permission/index.d.ts.map +1 -1
  43. package/dist/browser/client/Permission/index.js.map +1 -1
  44. package/dist/browser/client/StoredProcedure/index.d.ts +1 -1
  45. package/dist/browser/client/StoredProcedure/index.d.ts.map +1 -1
  46. package/dist/browser/client/StoredProcedure/index.js.map +1 -1
  47. package/dist/browser/client/Trigger/index.d.ts +1 -1
  48. package/dist/browser/client/Trigger/index.d.ts.map +1 -1
  49. package/dist/browser/client/Trigger/index.js.map +1 -1
  50. package/dist/browser/client/User/index.d.ts +1 -1
  51. package/dist/browser/client/User/index.d.ts.map +1 -1
  52. package/dist/browser/client/User/index.js.map +1 -1
  53. package/dist/browser/client/UserDefinedFunction/index.d.ts +1 -1
  54. package/dist/browser/client/UserDefinedFunction/index.d.ts.map +1 -1
  55. package/dist/browser/client/UserDefinedFunction/index.js.map +1 -1
  56. package/dist/browser/client/index.d.ts +1 -1
  57. package/dist/browser/client/index.d.ts.map +1 -1
  58. package/dist/browser/client/index.js +0 -1
  59. package/dist/browser/client/index.js.map +1 -1
  60. package/dist/browser/common/constants.js +1 -1
  61. package/dist/browser/common/constants.js.map +1 -1
  62. package/dist/browser/common/helper.d.ts +4 -4
  63. package/dist/browser/common/helper.d.ts.map +1 -1
  64. package/dist/browser/common/helper.js.map +1 -1
  65. package/dist/browser/common/platform.d.ts +1 -1
  66. package/dist/browser/common/platform.d.ts.map +1 -1
  67. package/dist/browser/common/platform.js.map +1 -1
  68. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  69. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  70. package/dist/browser/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  71. package/dist/browser/documents/index.d.ts +4 -4
  72. package/dist/browser/documents/index.d.ts.map +1 -1
  73. package/dist/browser/documents/index.js +0 -4
  74. package/dist/browser/documents/index.js.map +1 -1
  75. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +6 -2
  76. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -0
  77. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -3
  78. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -0
  79. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.d.ts +5 -1
  80. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.d.ts.map +1 -0
  81. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -2
  82. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -0
  83. package/dist/browser/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  84. package/dist/browser/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  85. package/dist/browser/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  86. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  87. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  88. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  89. package/dist/browser/encryption/ClientEncryptionKey/index.d.ts +2 -2
  90. package/dist/browser/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  91. package/dist/browser/encryption/ClientEncryptionKey/index.js.map +1 -1
  92. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.d.ts +6 -1
  93. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.d.ts.map +1 -0
  94. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.js +8 -2
  95. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -0
  96. package/dist/browser/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  97. package/dist/browser/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  98. package/dist/browser/encryption/EncryptionKeyResolver/index.js.map +1 -1
  99. package/dist/browser/encryption/EncryptionQueryBuilder.d.ts +2 -2
  100. package/dist/browser/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  101. package/dist/browser/encryption/EncryptionQueryBuilder.js.map +1 -1
  102. package/dist/browser/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  103. package/dist/browser/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  104. package/dist/browser/encryption/Serializers/BooleanSerializer.js.map +1 -1
  105. package/dist/browser/encryption/Serializers/FloatSerializer.d.ts +1 -1
  106. package/dist/browser/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  107. package/dist/browser/encryption/Serializers/FloatSerializer.js.map +1 -1
  108. package/dist/browser/encryption/Serializers/StringSerializer.d.ts +1 -1
  109. package/dist/browser/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  110. package/dist/browser/encryption/Serializers/StringSerializer.js.map +1 -1
  111. package/dist/browser/encryption/Serializers/index.d.ts +1 -1
  112. package/dist/browser/encryption/Serializers/index.d.ts.map +1 -1
  113. package/dist/browser/encryption/Serializers/index.js.map +1 -1
  114. package/dist/browser/encryption/index.d.ts +5 -5
  115. package/dist/browser/encryption/index.d.ts.map +1 -1
  116. package/dist/browser/encryption/index.js.map +1 -1
  117. package/dist/browser/globalPartitionEndpointManager.d.ts +2 -1
  118. package/dist/browser/globalPartitionEndpointManager.d.ts.map +1 -1
  119. package/dist/browser/globalPartitionEndpointManager.js.map +1 -1
  120. package/dist/browser/index.d.ts +16 -16
  121. package/dist/browser/index.d.ts.map +1 -1
  122. package/dist/browser/index.js +1 -1
  123. package/dist/browser/index.js.map +1 -1
  124. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts +1 -1
  125. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  126. package/dist/browser/queryExecutionContext/Aggregators/index.js.map +1 -1
  127. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  128. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  130. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  131. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  132. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  133. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  134. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  135. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +13 -12
  136. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  137. package/dist/browser/queryExecutionContext/index.d.ts +2 -2
  138. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  139. package/dist/browser/queryExecutionContext/index.js +0 -2
  140. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  141. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  142. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  143. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  144. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  145. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  146. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  147. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  148. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  149. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  150. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  151. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  152. package/dist/browser/request/defaultAgent.d.ts +1 -1
  153. package/dist/browser/request/defaultAgent.d.ts.map +1 -0
  154. package/dist/browser/request/defaultAgent.js +1 -1
  155. package/dist/browser/request/defaultAgent.js.map +1 -0
  156. package/dist/browser/request/hybridSearchQueryResult.d.ts +1 -1
  157. package/dist/browser/request/hybridSearchQueryResult.d.ts.map +1 -1
  158. package/dist/browser/request/hybridSearchQueryResult.js.map +1 -1
  159. package/dist/browser/request/index.d.ts +8 -8
  160. package/dist/browser/request/index.d.ts.map +1 -1
  161. package/dist/browser/request/index.js +0 -1
  162. package/dist/browser/request/index.js.map +1 -1
  163. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  164. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  165. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  166. package/dist/browser/retry/index.d.ts +1 -1
  167. package/dist/browser/retry/index.d.ts.map +1 -1
  168. package/dist/browser/retry/index.js +0 -3
  169. package/dist/browser/retry/index.js.map +1 -1
  170. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  171. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  172. package/dist/browser/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  173. package/dist/browser/utils/atob.d.ts +1 -1
  174. package/dist/browser/utils/atob.d.ts.map +1 -0
  175. package/dist/browser/utils/atob.js +1 -1
  176. package/dist/browser/utils/atob.js.map +1 -0
  177. package/dist/browser/utils/digest.d.ts +1 -1
  178. package/dist/browser/utils/digest.d.ts.map +1 -0
  179. package/dist/browser/utils/digest.js +1 -1
  180. package/dist/browser/utils/digest.js.map +1 -0
  181. package/dist/browser/utils/envUtils.d.ts +1 -1
  182. package/dist/browser/utils/envUtils.d.ts.map +1 -0
  183. package/dist/browser/utils/envUtils.js +1 -1
  184. package/dist/browser/utils/envUtils.js.map +1 -0
  185. package/dist/browser/utils/hashing/hash.d.ts +1 -1
  186. package/dist/browser/utils/hashing/hash.d.ts.map +1 -1
  187. package/dist/browser/utils/hashing/hash.js.map +1 -1
  188. package/dist/browser/utils/hmac.d.ts +1 -1
  189. package/dist/browser/utils/hmac.d.ts.map +1 -0
  190. package/dist/browser/utils/hmac.js +1 -1
  191. package/dist/browser/utils/hmac.js.map +1 -0
  192. package/dist/commonjs/ChangeFeedIterator.js +131 -110
  193. package/dist/commonjs/ChangeFeedIterator.js.map +7 -1
  194. package/dist/commonjs/ChangeFeedOptions.js +16 -3
  195. package/dist/commonjs/ChangeFeedOptions.js.map +7 -1
  196. package/dist/commonjs/ChangeFeedResponse.js +85 -78
  197. package/dist/commonjs/ChangeFeedResponse.js.map +7 -1
  198. package/dist/commonjs/ClientContext.js +873 -761
  199. package/dist/commonjs/ClientContext.js.map +7 -1
  200. package/dist/commonjs/CosmosClient.js +294 -286
  201. package/dist/commonjs/CosmosClient.js.map +7 -1
  202. package/dist/commonjs/CosmosClientOptions.js +16 -3
  203. package/dist/commonjs/CosmosClientOptions.js.map +7 -1
  204. package/dist/commonjs/CosmosDiagnostics.js +52 -55
  205. package/dist/commonjs/CosmosDiagnostics.js.map +7 -1
  206. package/dist/commonjs/GlobalEndpointManagerOptions.js +16 -3
  207. package/dist/commonjs/GlobalEndpointManagerOptions.js.map +7 -1
  208. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  209. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  210. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +149 -134
  211. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +7 -1
  212. package/dist/commonjs/auth.js +92 -84
  213. package/dist/commonjs/auth.js.map +7 -1
  214. package/dist/commonjs/bulk/Batcher.js +178 -149
  215. package/dist/commonjs/bulk/Batcher.js.map +7 -1
  216. package/dist/commonjs/bulk/BulkHelper.js +321 -289
  217. package/dist/commonjs/bulk/BulkHelper.js.map +7 -1
  218. package/dist/commonjs/bulk/BulkResponse.js +141 -118
  219. package/dist/commonjs/bulk/BulkResponse.js.map +7 -1
  220. package/dist/commonjs/bulk/CongestionAlgorithm.js +72 -66
  221. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +7 -1
  222. package/dist/commonjs/bulk/HelperPerPartition.js +168 -130
  223. package/dist/commonjs/bulk/HelperPerPartition.js.map +7 -1
  224. package/dist/commonjs/bulk/ItemOperation.js +16 -5
  225. package/dist/commonjs/bulk/ItemOperation.js.map +7 -1
  226. package/dist/commonjs/bulk/ItemOperationContext.js +54 -38
  227. package/dist/commonjs/bulk/ItemOperationContext.js.map +7 -1
  228. package/dist/commonjs/bulk/Limiter.js +199 -212
  229. package/dist/commonjs/bulk/Limiter.js.map +7 -1
  230. package/dist/commonjs/bulk/PartitionMetric.js +59 -35
  231. package/dist/commonjs/bulk/PartitionMetric.js.map +7 -1
  232. package/dist/commonjs/bulk/index.d.ts +1 -1
  233. package/dist/commonjs/bulk/index.d.ts.map +1 -1
  234. package/dist/commonjs/bulk/index.js +31 -10
  235. package/dist/commonjs/bulk/index.js.map +7 -1
  236. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js +32 -14
  237. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js.map +7 -1
  238. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +383 -327
  239. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +7 -1
  240. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  241. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  242. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +187 -146
  243. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +7 -1
  244. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +83 -63
  245. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +7 -1
  246. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js +16 -5
  247. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +7 -1
  248. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +73 -78
  249. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +7 -1
  250. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js +32 -11
  251. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js.map +7 -1
  252. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +31 -12
  253. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +7 -1
  254. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js +16 -3
  255. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js.map +7 -1
  256. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +54 -38
  257. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +7 -1
  258. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +53 -36
  259. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +7 -1
  260. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js +71 -54
  261. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js.map +7 -1
  262. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +34 -16
  263. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +7 -1
  264. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +48 -38
  265. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +7 -1
  266. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +34 -18
  267. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +7 -1
  268. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +39 -21
  269. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +7 -1
  270. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +39 -21
  271. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +7 -1
  272. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +44 -26
  273. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +7 -1
  274. package/dist/commonjs/client/ChangeFeed/FeedRange.js +51 -38
  275. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +7 -1
  276. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +69 -49
  277. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +7 -1
  278. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js +16 -5
  279. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +7 -1
  280. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js +144 -71
  281. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js.map +7 -1
  282. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  283. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  284. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +161 -188
  285. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +7 -1
  286. package/dist/commonjs/client/ChangeFeed/index.d.ts +2 -2
  287. package/dist/commonjs/client/ChangeFeed/index.d.ts.map +1 -1
  288. package/dist/commonjs/client/ChangeFeed/index.js +60 -29
  289. package/dist/commonjs/client/ChangeFeed/index.js.map +7 -1
  290. package/dist/commonjs/client/ClientUtils.d.ts +1 -1
  291. package/dist/commonjs/client/ClientUtils.d.ts.map +1 -1
  292. package/dist/commonjs/client/ClientUtils.js +43 -16
  293. package/dist/commonjs/client/ClientUtils.js.map +7 -1
  294. package/dist/commonjs/client/Conflict/Conflict.js +132 -100
  295. package/dist/commonjs/client/Conflict/Conflict.js.map +7 -1
  296. package/dist/commonjs/client/Conflict/ConflictDefinition.js +16 -3
  297. package/dist/commonjs/client/Conflict/ConflictDefinition.js.map +7 -1
  298. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js +32 -11
  299. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js.map +7 -1
  300. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js +16 -3
  301. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js.map +7 -1
  302. package/dist/commonjs/client/Conflict/ConflictResponse.js +35 -13
  303. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +7 -1
  304. package/dist/commonjs/client/Conflict/Conflicts.js +73 -51
  305. package/dist/commonjs/client/Conflict/Conflicts.js.map +7 -1
  306. package/dist/commonjs/client/Conflict/index.d.ts +2 -2
  307. package/dist/commonjs/client/Conflict/index.d.ts.map +1 -1
  308. package/dist/commonjs/client/Conflict/index.js +37 -14
  309. package/dist/commonjs/client/Conflict/index.js.map +7 -1
  310. package/dist/commonjs/client/Container/Container.js +669 -599
  311. package/dist/commonjs/client/Container/Container.js.map +7 -1
  312. package/dist/commonjs/client/Container/ContainerDefinition.d.ts +1 -1
  313. package/dist/commonjs/client/Container/ContainerDefinition.d.ts.map +1 -1
  314. package/dist/commonjs/client/Container/ContainerDefinition.js +16 -3
  315. package/dist/commonjs/client/Container/ContainerDefinition.js.map +7 -1
  316. package/dist/commonjs/client/Container/ContainerRequest.js +16 -3
  317. package/dist/commonjs/client/Container/ContainerRequest.js.map +7 -1
  318. package/dist/commonjs/client/Container/ContainerResponse.js +35 -14
  319. package/dist/commonjs/client/Container/ContainerResponse.js.map +7 -1
  320. package/dist/commonjs/client/Container/Containers.js +236 -218
  321. package/dist/commonjs/client/Container/Containers.js.map +7 -1
  322. package/dist/commonjs/client/Container/PartitionKeyRange.js +16 -3
  323. package/dist/commonjs/client/Container/PartitionKeyRange.js.map +7 -1
  324. package/dist/commonjs/client/Container/UniqueKeyPolicy.js +16 -3
  325. package/dist/commonjs/client/Container/UniqueKeyPolicy.js.map +7 -1
  326. package/dist/commonjs/client/Container/index.d.ts +4 -4
  327. package/dist/commonjs/client/Container/index.d.ts.map +1 -1
  328. package/dist/commonjs/client/Container/index.js +34 -12
  329. package/dist/commonjs/client/Container/index.js.map +7 -1
  330. package/dist/commonjs/client/Database/Database.js +533 -448
  331. package/dist/commonjs/client/Database/Database.js.map +7 -1
  332. package/dist/commonjs/client/Database/DatabaseDefinition.js +16 -3
  333. package/dist/commonjs/client/Database/DatabaseDefinition.js.map +7 -1
  334. package/dist/commonjs/client/Database/DatabaseRequest.js +16 -3
  335. package/dist/commonjs/client/Database/DatabaseRequest.js.map +7 -1
  336. package/dist/commonjs/client/Database/DatabaseResponse.js +35 -14
  337. package/dist/commonjs/client/Database/DatabaseResponse.js.map +7 -1
  338. package/dist/commonjs/client/Database/Databases.js +201 -188
  339. package/dist/commonjs/client/Database/Databases.js.map +7 -1
  340. package/dist/commonjs/client/Database/index.d.ts +2 -2
  341. package/dist/commonjs/client/Database/index.d.ts.map +1 -1
  342. package/dist/commonjs/client/Database/index.js +34 -12
  343. package/dist/commonjs/client/Database/index.js.map +7 -1
  344. package/dist/commonjs/client/Item/Item.js +510 -383
  345. package/dist/commonjs/client/Item/Item.js.map +7 -1
  346. package/dist/commonjs/client/Item/ItemDefinition.js +16 -5
  347. package/dist/commonjs/client/Item/ItemDefinition.js.map +7 -1
  348. package/dist/commonjs/client/Item/ItemResponse.js +35 -13
  349. package/dist/commonjs/client/Item/ItemResponse.js.map +7 -1
  350. package/dist/commonjs/client/Item/Items.d.ts.map +1 -1
  351. package/dist/commonjs/client/Item/Items.js +891 -717
  352. package/dist/commonjs/client/Item/Items.js.map +7 -1
  353. package/dist/commonjs/client/Item/index.d.ts +1 -1
  354. package/dist/commonjs/client/Item/index.d.ts.map +1 -1
  355. package/dist/commonjs/client/Item/index.js +34 -12
  356. package/dist/commonjs/client/Item/index.js.map +7 -1
  357. package/dist/commonjs/client/Offer/Offer.js +119 -90
  358. package/dist/commonjs/client/Offer/Offer.js.map +7 -1
  359. package/dist/commonjs/client/Offer/OfferDefinition.js +16 -3
  360. package/dist/commonjs/client/Offer/OfferDefinition.js.map +7 -1
  361. package/dist/commonjs/client/Offer/OfferResponse.js +35 -13
  362. package/dist/commonjs/client/Offer/OfferResponse.js.map +7 -1
  363. package/dist/commonjs/client/Offer/Offers.js +68 -51
  364. package/dist/commonjs/client/Offer/Offers.js.map +7 -1
  365. package/dist/commonjs/client/Offer/index.d.ts +1 -1
  366. package/dist/commonjs/client/Offer/index.d.ts.map +1 -1
  367. package/dist/commonjs/client/Offer/index.js +34 -12
  368. package/dist/commonjs/client/Offer/index.js.map +7 -1
  369. package/dist/commonjs/client/Permission/Permission.js +162 -127
  370. package/dist/commonjs/client/Permission/Permission.js.map +7 -1
  371. package/dist/commonjs/client/Permission/PermissionBody.js +16 -3
  372. package/dist/commonjs/client/Permission/PermissionBody.js.map +7 -1
  373. package/dist/commonjs/client/Permission/PermissionDefinition.js +16 -3
  374. package/dist/commonjs/client/Permission/PermissionDefinition.js.map +7 -1
  375. package/dist/commonjs/client/Permission/PermissionResponse.js +35 -13
  376. package/dist/commonjs/client/Permission/PermissionResponse.js.map +7 -1
  377. package/dist/commonjs/client/Permission/Permissions.js +173 -144
  378. package/dist/commonjs/client/Permission/Permissions.js.map +7 -1
  379. package/dist/commonjs/client/Permission/index.d.ts +2 -2
  380. package/dist/commonjs/client/Permission/index.d.ts.map +1 -1
  381. package/dist/commonjs/client/Permission/index.js +34 -12
  382. package/dist/commonjs/client/Permission/index.js.map +7 -1
  383. package/dist/commonjs/client/Resource.js +16 -3
  384. package/dist/commonjs/client/Resource.js.map +7 -1
  385. package/dist/commonjs/client/SasToken/PermissionScopeValues.js +92 -80
  386. package/dist/commonjs/client/SasToken/PermissionScopeValues.js.map +7 -1
  387. package/dist/commonjs/client/SasToken/SasTokenProperties.js +44 -24
  388. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +7 -1
  389. package/dist/commonjs/client/Script/Scripts.js +100 -80
  390. package/dist/commonjs/client/Script/Scripts.js.map +7 -1
  391. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +228 -185
  392. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +7 -1
  393. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js +16 -3
  394. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js.map +7 -1
  395. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +45 -23
  396. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +7 -1
  397. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +134 -111
  398. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +7 -1
  399. package/dist/commonjs/client/StoredProcedure/index.d.ts +1 -1
  400. package/dist/commonjs/client/StoredProcedure/index.d.ts.map +1 -1
  401. package/dist/commonjs/client/StoredProcedure/index.js +34 -12
  402. package/dist/commonjs/client/StoredProcedure/index.js.map +7 -1
  403. package/dist/commonjs/client/Trigger/Trigger.js +173 -138
  404. package/dist/commonjs/client/Trigger/Trigger.js.map +7 -1
  405. package/dist/commonjs/client/Trigger/TriggerDefinition.js +16 -3
  406. package/dist/commonjs/client/Trigger/TriggerDefinition.js.map +7 -1
  407. package/dist/commonjs/client/Trigger/TriggerResponse.js +35 -13
  408. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +7 -1
  409. package/dist/commonjs/client/Trigger/Triggers.js +133 -110
  410. package/dist/commonjs/client/Trigger/Triggers.js.map +7 -1
  411. package/dist/commonjs/client/Trigger/index.d.ts +1 -1
  412. package/dist/commonjs/client/Trigger/index.d.ts.map +1 -1
  413. package/dist/commonjs/client/Trigger/index.js +34 -12
  414. package/dist/commonjs/client/Trigger/index.js.map +7 -1
  415. package/dist/commonjs/client/User/User.js +174 -141
  416. package/dist/commonjs/client/User/User.js.map +7 -1
  417. package/dist/commonjs/client/User/UserDefinition.js +16 -3
  418. package/dist/commonjs/client/User/UserDefinition.js.map +7 -1
  419. package/dist/commonjs/client/User/UserResponse.js +35 -13
  420. package/dist/commonjs/client/User/UserResponse.js.map +7 -1
  421. package/dist/commonjs/client/User/Users.js +157 -128
  422. package/dist/commonjs/client/User/Users.js.map +7 -1
  423. package/dist/commonjs/client/User/index.d.ts +1 -1
  424. package/dist/commonjs/client/User/index.d.ts.map +1 -1
  425. package/dist/commonjs/client/User/index.js +34 -12
  426. package/dist/commonjs/client/User/index.js.map +7 -1
  427. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +172 -137
  428. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +7 -1
  429. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js +16 -3
  430. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js.map +7 -1
  431. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +43 -21
  432. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +7 -1
  433. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +130 -107
  434. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +7 -1
  435. package/dist/commonjs/client/UserDefinedFunction/index.d.ts +1 -1
  436. package/dist/commonjs/client/UserDefinedFunction/index.d.ts.map +1 -1
  437. package/dist/commonjs/client/UserDefinedFunction/index.js +34 -12
  438. package/dist/commonjs/client/UserDefinedFunction/index.js.map +7 -1
  439. package/dist/commonjs/client/index.d.ts +1 -1
  440. package/dist/commonjs/client/index.d.ts.map +1 -1
  441. package/dist/commonjs/client/index.js +42 -18
  442. package/dist/commonjs/client/index.js.map +7 -1
  443. package/dist/commonjs/common/constants.js +515 -500
  444. package/dist/commonjs/common/constants.js.map +7 -1
  445. package/dist/commonjs/common/helper.d.ts +4 -4
  446. package/dist/commonjs/common/helper.d.ts.map +1 -1
  447. package/dist/commonjs/common/helper.js +350 -412
  448. package/dist/commonjs/common/helper.js.map +7 -1
  449. package/dist/commonjs/common/index.js +28 -10
  450. package/dist/commonjs/common/index.js.map +7 -1
  451. package/dist/commonjs/common/logger.js +29 -9
  452. package/dist/commonjs/common/logger.js.map +7 -1
  453. package/dist/commonjs/common/partitionKeys.js +28 -7
  454. package/dist/commonjs/common/partitionKeys.js.map +7 -1
  455. package/dist/commonjs/common/platform.d.ts +1 -1
  456. package/dist/commonjs/common/platform.d.ts.map +1 -1
  457. package/dist/commonjs/common/platform.js +55 -42
  458. package/dist/commonjs/common/platform.js.map +7 -1
  459. package/dist/commonjs/common/statusCodes.js +77 -60
  460. package/dist/commonjs/common/statusCodes.js.map +7 -1
  461. package/dist/commonjs/common/uriFactory.js +80 -195
  462. package/dist/commonjs/common/uriFactory.js.map +7 -1
  463. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js +33 -15
  464. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js.map +7 -1
  465. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +146 -126
  466. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +7 -1
  467. package/dist/commonjs/diagnostics/DiagnosticFormatter.js +30 -10
  468. package/dist/commonjs/diagnostics/DiagnosticFormatter.js.map +7 -1
  469. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  470. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  471. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +317 -305
  472. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +7 -1
  473. package/dist/commonjs/diagnostics/DiagnosticWriter.js +36 -25
  474. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +7 -1
  475. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js +40 -24
  476. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js.map +7 -1
  477. package/dist/commonjs/diagnostics/index.js +68 -34
  478. package/dist/commonjs/diagnostics/index.js.map +7 -1
  479. package/dist/commonjs/documents/ComputedProperty.js +16 -3
  480. package/dist/commonjs/documents/ComputedProperty.js.map +7 -1
  481. package/dist/commonjs/documents/ConnectionMode.js +31 -12
  482. package/dist/commonjs/documents/ConnectionMode.js.map +7 -1
  483. package/dist/commonjs/documents/ConnectionPolicy.js +44 -26
  484. package/dist/commonjs/documents/ConnectionPolicy.js.map +7 -1
  485. package/dist/commonjs/documents/ConsistencyLevel.js +35 -43
  486. package/dist/commonjs/documents/ConsistencyLevel.js.map +7 -1
  487. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +77 -79
  488. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +7 -1
  489. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +49 -38
  490. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +7 -1
  491. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +16 -5
  492. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +7 -1
  493. package/dist/commonjs/documents/DataType.js +36 -22
  494. package/dist/commonjs/documents/DataType.js.map +7 -1
  495. package/dist/commonjs/documents/DatabaseAccount.js +110 -100
  496. package/dist/commonjs/documents/DatabaseAccount.js.map +7 -1
  497. package/dist/commonjs/documents/Document.js +16 -3
  498. package/dist/commonjs/documents/Document.js.map +7 -1
  499. package/dist/commonjs/documents/FullTextPolicy.js +16 -5
  500. package/dist/commonjs/documents/FullTextPolicy.js.map +7 -1
  501. package/dist/commonjs/documents/GeospatialType.js +32 -13
  502. package/dist/commonjs/documents/GeospatialType.js.map +7 -1
  503. package/dist/commonjs/documents/IndexKind.js +32 -20
  504. package/dist/commonjs/documents/IndexKind.js.map +7 -1
  505. package/dist/commonjs/documents/IndexingMode.js +33 -27
  506. package/dist/commonjs/documents/IndexingMode.js.map +7 -1
  507. package/dist/commonjs/documents/IndexingPolicy.js +42 -30
  508. package/dist/commonjs/documents/IndexingPolicy.js.map +7 -1
  509. package/dist/commonjs/documents/PartitionKey.js +44 -27
  510. package/dist/commonjs/documents/PartitionKey.js.map +7 -1
  511. package/dist/commonjs/documents/PartitionKeyDefinition.js +16 -3
  512. package/dist/commonjs/documents/PartitionKeyDefinition.js.map +7 -1
  513. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js +32 -14
  514. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js.map +7 -1
  515. package/dist/commonjs/documents/PartitionKeyInternal.js +36 -28
  516. package/dist/commonjs/documents/PartitionKeyInternal.js.map +7 -1
  517. package/dist/commonjs/documents/PartitionKeyKind.js +32 -14
  518. package/dist/commonjs/documents/PartitionKeyKind.js.map +7 -1
  519. package/dist/commonjs/documents/PermissionMode.js +33 -18
  520. package/dist/commonjs/documents/PermissionMode.js.map +7 -1
  521. package/dist/commonjs/documents/PriorityLevel.js +32 -25
  522. package/dist/commonjs/documents/PriorityLevel.js.map +7 -1
  523. package/dist/commonjs/documents/TriggerOperation.js +35 -23
  524. package/dist/commonjs/documents/TriggerOperation.js.map +7 -1
  525. package/dist/commonjs/documents/TriggerType.js +32 -17
  526. package/dist/commonjs/documents/TriggerType.js.map +7 -1
  527. package/dist/commonjs/documents/UserDefinedFunctionType.js +31 -15
  528. package/dist/commonjs/documents/UserDefinedFunctionType.js.map +7 -1
  529. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +42 -44
  530. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +7 -1
  531. package/dist/commonjs/documents/index.d.ts +4 -4
  532. package/dist/commonjs/documents/index.d.ts.map +1 -1
  533. package/dist/commonjs/documents/index.js +58 -29
  534. package/dist/commonjs/documents/index.js.map +7 -1
  535. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  536. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  537. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +98 -71
  538. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +7 -1
  539. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js +28 -8
  540. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js.map +7 -1
  541. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +38 -23
  542. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +7 -1
  543. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +53 -36
  544. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +7 -1
  545. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +47 -32
  546. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +7 -1
  547. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +100 -86
  548. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +7 -1
  549. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  550. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  551. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js +16 -5
  552. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js.map +7 -1
  553. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js +16 -5
  554. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js.map +7 -1
  555. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js +16 -5
  556. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js.map +7 -1
  557. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  558. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  559. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +35 -16
  560. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +7 -1
  561. package/dist/commonjs/encryption/ClientEncryptionKey/index.d.ts +2 -2
  562. package/dist/commonjs/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  563. package/dist/commonjs/encryption/ClientEncryptionKey/index.js +28 -8
  564. package/dist/commonjs/encryption/ClientEncryptionKey/index.js.map +7 -1
  565. package/dist/commonjs/encryption/ClientEncryptionOptions.js +16 -5
  566. package/dist/commonjs/encryption/ClientEncryptionOptions.js.map +7 -1
  567. package/dist/commonjs/encryption/ClientEncryptionPolicy.js +16 -5
  568. package/dist/commonjs/encryption/ClientEncryptionPolicy.js.map +7 -1
  569. package/dist/commonjs/encryption/CosmosEncryptedNumber.js +32 -20
  570. package/dist/commonjs/encryption/CosmosEncryptedNumber.js.map +7 -1
  571. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +130 -106
  572. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +7 -1
  573. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +52 -32
  574. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +7 -1
  575. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +37 -23
  576. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +7 -1
  577. package/dist/commonjs/encryption/EncryptionKey/index.js +31 -10
  578. package/dist/commonjs/encryption/EncryptionKey/index.js.map +7 -1
  579. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +113 -94
  580. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +7 -1
  581. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js +16 -5
  582. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js.map +7 -1
  583. package/dist/commonjs/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  584. package/dist/commonjs/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  585. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js +28 -8
  586. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js.map +7 -1
  587. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +83 -55
  588. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +7 -1
  589. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js +16 -5
  590. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js.map +7 -1
  591. package/dist/commonjs/encryption/EncryptionManager.js +58 -42
  592. package/dist/commonjs/encryption/EncryptionManager.js.map +7 -1
  593. package/dist/commonjs/encryption/EncryptionProcessor.js +346 -284
  594. package/dist/commonjs/encryption/EncryptionProcessor.js.map +7 -1
  595. package/dist/commonjs/encryption/EncryptionQueryBuilder.d.ts +2 -2
  596. package/dist/commonjs/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  597. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +110 -99
  598. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +7 -1
  599. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +65 -33
  600. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +7 -1
  601. package/dist/commonjs/encryption/EncryptionSettings.js +46 -30
  602. package/dist/commonjs/encryption/EncryptionSettings.js.map +7 -1
  603. package/dist/commonjs/encryption/KeyEncryptionKey.js +52 -28
  604. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +7 -1
  605. package/dist/commonjs/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  606. package/dist/commonjs/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  607. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js +38 -18
  608. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js.map +7 -1
  609. package/dist/commonjs/encryption/Serializers/FloatSerializer.d.ts +1 -1
  610. package/dist/commonjs/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  611. package/dist/commonjs/encryption/Serializers/FloatSerializer.js +40 -20
  612. package/dist/commonjs/encryption/Serializers/FloatSerializer.js.map +7 -1
  613. package/dist/commonjs/encryption/Serializers/NumberSerializer.js +39 -19
  614. package/dist/commonjs/encryption/Serializers/NumberSerializer.js.map +7 -1
  615. package/dist/commonjs/encryption/Serializers/Serializer.js +16 -5
  616. package/dist/commonjs/encryption/Serializers/Serializer.js.map +7 -1
  617. package/dist/commonjs/encryption/Serializers/StringSerializer.d.ts +1 -1
  618. package/dist/commonjs/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  619. package/dist/commonjs/encryption/Serializers/StringSerializer.js +34 -14
  620. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +7 -1
  621. package/dist/commonjs/encryption/Serializers/index.d.ts +1 -1
  622. package/dist/commonjs/encryption/Serializers/index.d.ts.map +1 -1
  623. package/dist/commonjs/encryption/Serializers/index.js +37 -14
  624. package/dist/commonjs/encryption/Serializers/index.js.map +7 -1
  625. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js +31 -13
  626. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js.map +7 -1
  627. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js +31 -12
  628. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js.map +7 -1
  629. package/dist/commonjs/encryption/enums/EncryptionType.js +32 -16
  630. package/dist/commonjs/encryption/enums/EncryptionType.js.map +7 -1
  631. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js +31 -12
  632. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js.map +7 -1
  633. package/dist/commonjs/encryption/enums/TypeMarker.js +35 -14
  634. package/dist/commonjs/encryption/enums/TypeMarker.js.map +7 -1
  635. package/dist/commonjs/encryption/enums/index.js +37 -14
  636. package/dist/commonjs/encryption/enums/index.js.map +7 -1
  637. package/dist/commonjs/encryption/index.d.ts +5 -5
  638. package/dist/commonjs/encryption/index.d.ts.map +1 -1
  639. package/dist/commonjs/encryption/index.js +56 -26
  640. package/dist/commonjs/encryption/index.js.map +7 -1
  641. package/dist/commonjs/extractPartitionKey.js +93 -91
  642. package/dist/commonjs/extractPartitionKey.js.map +7 -1
  643. package/dist/commonjs/globalEndpointManager.js +366 -357
  644. package/dist/commonjs/globalEndpointManager.js.map +7 -1
  645. package/dist/commonjs/globalPartitionEndpointManager.d.ts +2 -1
  646. package/dist/commonjs/globalPartitionEndpointManager.d.ts.map +1 -1
  647. package/dist/commonjs/globalPartitionEndpointManager.js +324 -297
  648. package/dist/commonjs/globalPartitionEndpointManager.js.map +7 -1
  649. package/dist/commonjs/index.d.ts +16 -16
  650. package/dist/commonjs/index.d.ts.map +1 -1
  651. package/dist/commonjs/index.js +178 -96
  652. package/dist/commonjs/index.js.map +7 -1
  653. package/dist/commonjs/plugins/Plugin.js +51 -44
  654. package/dist/commonjs/plugins/Plugin.js.map +7 -1
  655. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js +16 -3
  656. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js.map +7 -1
  657. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +50 -29
  658. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +7 -1
  659. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +47 -26
  660. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +7 -1
  661. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +65 -54
  662. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +7 -1
  663. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +39 -18
  664. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +7 -1
  665. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +47 -29
  666. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +7 -1
  667. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +55 -38
  668. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +7 -1
  669. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +59 -43
  670. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +7 -1
  671. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +35 -14
  672. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +7 -1
  673. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +45 -25
  674. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +7 -1
  675. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts +1 -1
  676. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  677. package/dist/commonjs/queryExecutionContext/Aggregators/index.js +64 -39
  678. package/dist/commonjs/queryExecutionContext/Aggregators/index.js.map +7 -1
  679. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +182 -166
  680. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +7 -1
  681. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +46 -30
  682. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +7 -1
  683. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +147 -124
  684. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +7 -1
  685. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +71 -65
  686. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +7 -1
  687. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +39 -24
  688. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +7 -1
  689. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js +16 -3
  690. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js.map +7 -1
  691. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +113 -107
  692. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +7 -1
  693. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +118 -107
  694. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +7 -1
  695. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +169 -155
  696. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +7 -1
  697. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +158 -143
  698. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +7 -1
  699. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +85 -64
  700. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +7 -1
  701. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +82 -58
  702. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +7 -1
  703. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +72 -48
  704. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +7 -1
  705. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +61 -42
  706. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +7 -1
  707. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js +31 -13
  708. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js.map +7 -1
  709. package/dist/commonjs/queryExecutionContext/ExecutionContext.js +16 -3
  710. package/dist/commonjs/queryExecutionContext/ExecutionContext.js.map +7 -1
  711. package/dist/commonjs/queryExecutionContext/FetchResult.js +56 -38
  712. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +7 -1
  713. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +62 -55
  714. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +7 -1
  715. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  716. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  717. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +152 -155
  718. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +7 -1
  719. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +94 -102
  720. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +7 -1
  721. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +113 -89
  722. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +7 -1
  723. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +64 -66
  724. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +7 -1
  725. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js +16 -3
  726. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js.map +7 -1
  727. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +220 -191
  728. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +7 -1
  729. package/dist/commonjs/queryExecutionContext/documentProducer.js +286 -276
  730. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +7 -1
  731. package/dist/commonjs/queryExecutionContext/headerUtils.js +95 -89
  732. package/dist/commonjs/queryExecutionContext/headerUtils.js.map +7 -1
  733. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +499 -481
  734. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +7 -1
  735. package/dist/commonjs/queryExecutionContext/index.d.ts +2 -2
  736. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  737. package/dist/commonjs/queryExecutionContext/index.js +62 -29
  738. package/dist/commonjs/queryExecutionContext/index.js.map +7 -1
  739. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js +16 -5
  740. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js.map +7 -1
  741. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js +16 -5
  742. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +7 -1
  743. package/dist/commonjs/queryExecutionContext/orderByComparator.js +107 -113
  744. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +7 -1
  745. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +145 -134
  746. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +7 -1
  747. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +91 -61
  748. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +7 -1
  749. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +86 -68
  750. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +7 -1
  751. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  752. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  753. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +842 -788
  754. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +7 -1
  755. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +36 -24
  756. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +7 -1
  757. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +286 -228
  758. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +7 -1
  759. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +16 -5
  760. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +7 -1
  761. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  762. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  763. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +263 -299
  764. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +7 -1
  765. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  766. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  767. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +94 -98
  768. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +7 -1
  769. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +149 -177
  770. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +7 -1
  771. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +105 -92
  772. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +7 -1
  773. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +16 -5
  774. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +7 -1
  775. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +68 -55
  776. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +7 -1
  777. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +52 -36
  778. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +7 -1
  779. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +16 -5
  780. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +7 -1
  781. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +16 -5
  782. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +7 -1
  783. package/dist/commonjs/queryIterator.js +411 -354
  784. package/dist/commonjs/queryIterator.js.map +7 -1
  785. package/dist/commonjs/queryMetrics/clientSideMetrics.js +49 -29
  786. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +7 -1
  787. package/dist/commonjs/queryMetrics/index.js +53 -19
  788. package/dist/commonjs/queryMetrics/index.js.map +7 -1
  789. package/dist/commonjs/queryMetrics/queryMetrics.js +189 -159
  790. package/dist/commonjs/queryMetrics/queryMetrics.js.map +7 -1
  791. package/dist/commonjs/queryMetrics/queryMetricsConstants.js +75 -57
  792. package/dist/commonjs/queryMetrics/queryMetricsConstants.js.map +7 -1
  793. package/dist/commonjs/queryMetrics/queryMetricsUtils.js +52 -38
  794. package/dist/commonjs/queryMetrics/queryMetricsUtils.js.map +7 -1
  795. package/dist/commonjs/queryMetrics/queryPreparationTime.js +110 -65
  796. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +7 -1
  797. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +120 -68
  798. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +7 -1
  799. package/dist/commonjs/queryMetrics/timeSpan.js +206 -217
  800. package/dist/commonjs/queryMetrics/timeSpan.js.map +7 -1
  801. package/dist/commonjs/request/ErrorResponse.js +46 -27
  802. package/dist/commonjs/request/ErrorResponse.js.map +7 -1
  803. package/dist/commonjs/request/FeedOptions.js +16 -3
  804. package/dist/commonjs/request/FeedOptions.js.map +7 -1
  805. package/dist/commonjs/request/FeedResponse.js +60 -40
  806. package/dist/commonjs/request/FeedResponse.js.map +7 -1
  807. package/dist/commonjs/request/RequestContext.js +16 -3
  808. package/dist/commonjs/request/RequestContext.js.map +7 -1
  809. package/dist/commonjs/request/RequestHandler.js +173 -153
  810. package/dist/commonjs/request/RequestHandler.js.map +7 -1
  811. package/dist/commonjs/request/RequestOptions.js +16 -3
  812. package/dist/commonjs/request/RequestOptions.js.map +7 -1
  813. package/dist/commonjs/request/ResourceResponse.js +49 -27
  814. package/dist/commonjs/request/ResourceResponse.js.map +7 -1
  815. package/dist/commonjs/request/Response.js +16 -3
  816. package/dist/commonjs/request/Response.js.map +7 -1
  817. package/dist/commonjs/request/SharedOptions.js +16 -3
  818. package/dist/commonjs/request/SharedOptions.js.map +7 -1
  819. package/dist/commonjs/request/StatusCodes.js +16 -5
  820. package/dist/commonjs/request/StatusCodes.js.map +7 -1
  821. package/dist/commonjs/request/TimeoutError.js +35 -16
  822. package/dist/commonjs/request/TimeoutError.js.map +7 -1
  823. package/dist/commonjs/request/defaultAgent.js +46 -18
  824. package/dist/commonjs/request/defaultAgent.js.map +7 -1
  825. package/dist/commonjs/request/globalStatistics.js +16 -5
  826. package/dist/commonjs/request/globalStatistics.js.map +7 -1
  827. package/dist/commonjs/request/hybridSearchQueryResult.d.ts +1 -1
  828. package/dist/commonjs/request/hybridSearchQueryResult.d.ts.map +1 -1
  829. package/dist/commonjs/request/hybridSearchQueryResult.js +62 -45
  830. package/dist/commonjs/request/hybridSearchQueryResult.js.map +7 -1
  831. package/dist/commonjs/request/index.d.ts +8 -8
  832. package/dist/commonjs/request/index.d.ts.map +1 -1
  833. package/dist/commonjs/request/index.js +37 -16
  834. package/dist/commonjs/request/index.js.map +7 -1
  835. package/dist/commonjs/request/request.js +188 -186
  836. package/dist/commonjs/request/request.js.map +7 -1
  837. package/dist/commonjs/retry/RetryContext.js +16 -3
  838. package/dist/commonjs/retry/RetryContext.js.map +7 -1
  839. package/dist/commonjs/retry/RetryPolicy.js +16 -3
  840. package/dist/commonjs/retry/RetryPolicy.js.map +7 -1
  841. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +65 -56
  842. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +7 -1
  843. package/dist/commonjs/retry/defaultRetryPolicy.js +68 -115
  844. package/dist/commonjs/retry/defaultRetryPolicy.js.map +7 -1
  845. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  846. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  847. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +98 -73
  848. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +7 -1
  849. package/dist/commonjs/retry/index.d.ts +1 -1
  850. package/dist/commonjs/retry/index.d.ts.map +1 -1
  851. package/dist/commonjs/retry/index.js +30 -12
  852. package/dist/commonjs/retry/index.js.map +7 -1
  853. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +74 -61
  854. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +7 -1
  855. package/dist/commonjs/retry/retryOptions.js +16 -3
  856. package/dist/commonjs/retry/retryOptions.js.map +7 -1
  857. package/dist/commonjs/retry/retryUtility.js +169 -133
  858. package/dist/commonjs/retry/retryUtility.js.map +7 -1
  859. package/dist/commonjs/retry/sessionRetryPolicy.js +84 -73
  860. package/dist/commonjs/retry/sessionRetryPolicy.js.map +7 -1
  861. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  862. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  863. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +124 -119
  864. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +7 -1
  865. package/dist/commonjs/routing/CollectionRoutingMapFactory.js +70 -67
  866. package/dist/commonjs/routing/CollectionRoutingMapFactory.js.map +7 -1
  867. package/dist/commonjs/routing/QueryRange.js +93 -66
  868. package/dist/commonjs/routing/QueryRange.js.map +7 -1
  869. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +112 -84
  870. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +7 -1
  871. package/dist/commonjs/routing/index.js +28 -10
  872. package/dist/commonjs/routing/index.js.map +7 -1
  873. package/dist/commonjs/routing/partitionKeyRangeCache.js +83 -56
  874. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +7 -1
  875. package/dist/commonjs/routing/smartRoutingMapProvider.js +131 -110
  876. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +7 -1
  877. package/dist/commonjs/session/SessionContext.js +16 -3
  878. package/dist/commonjs/session/SessionContext.js.map +7 -1
  879. package/dist/commonjs/session/VectorSessionToken.js +130 -125
  880. package/dist/commonjs/session/VectorSessionToken.js.map +7 -1
  881. package/dist/commonjs/session/sessionContainer.js +135 -127
  882. package/dist/commonjs/session/sessionContainer.js.map +7 -1
  883. package/dist/commonjs/tsdoc-metadata.json +1 -1
  884. package/dist/commonjs/utils/SasToken.js +101 -120
  885. package/dist/commonjs/utils/SasToken.js.map +7 -1
  886. package/dist/commonjs/utils/atob.js +24 -7
  887. package/dist/commonjs/utils/atob.js.map +7 -1
  888. package/dist/commonjs/utils/batch.js +196 -197
  889. package/dist/commonjs/utils/batch.js.map +7 -1
  890. package/dist/commonjs/utils/cachedClient.js +32 -11
  891. package/dist/commonjs/utils/cachedClient.js.map +7 -1
  892. package/dist/commonjs/utils/checkURL.js +34 -14
  893. package/dist/commonjs/utils/checkURL.js.map +7 -1
  894. package/dist/commonjs/utils/diagnostics.js +107 -118
  895. package/dist/commonjs/utils/diagnostics.js.map +7 -1
  896. package/dist/commonjs/utils/digest.js +31 -10
  897. package/dist/commonjs/utils/digest.js.map +7 -1
  898. package/dist/commonjs/utils/encode.js +44 -23
  899. package/dist/commonjs/utils/encode.js.map +7 -1
  900. package/dist/commonjs/utils/envUtils.js +40 -10
  901. package/dist/commonjs/utils/envUtils.js.map +7 -1
  902. package/dist/commonjs/utils/fixedSizePriorityQueue.js +86 -55
  903. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +7 -1
  904. package/dist/commonjs/utils/globalCrypto.js +29 -10
  905. package/dist/commonjs/utils/globalCrypto.js.map +7 -1
  906. package/dist/commonjs/utils/hashObject.js +41 -11
  907. package/dist/commonjs/utils/hashObject.js.map +7 -1
  908. package/dist/commonjs/utils/hashing/encoding/number.js +73 -56
  909. package/dist/commonjs/utils/hashing/encoding/number.js.map +7 -1
  910. package/dist/commonjs/utils/hashing/encoding/prefix.js +50 -29
  911. package/dist/commonjs/utils/hashing/encoding/prefix.js.map +7 -1
  912. package/dist/commonjs/utils/hashing/encoding/string.js +45 -27
  913. package/dist/commonjs/utils/hashing/encoding/string.js.map +7 -1
  914. package/dist/commonjs/utils/hashing/hash.d.ts +1 -1
  915. package/dist/commonjs/utils/hashing/hash.d.ts.map +1 -1
  916. package/dist/commonjs/utils/hashing/hash.js +55 -43
  917. package/dist/commonjs/utils/hashing/hash.js.map +7 -1
  918. package/dist/commonjs/utils/hashing/multiHash.js +29 -11
  919. package/dist/commonjs/utils/hashing/multiHash.js.map +7 -1
  920. package/dist/commonjs/utils/hashing/murmurHash.js +362 -412
  921. package/dist/commonjs/utils/hashing/murmurHash.js.map +7 -1
  922. package/dist/commonjs/utils/hashing/v1.js +101 -71
  923. package/dist/commonjs/utils/hashing/v1.js.map +7 -1
  924. package/dist/commonjs/utils/hashing/v2.js +84 -63
  925. package/dist/commonjs/utils/hashing/v2.js.map +7 -1
  926. package/dist/commonjs/utils/headers.js +45 -33
  927. package/dist/commonjs/utils/headers.js.map +7 -1
  928. package/dist/commonjs/utils/hmac.js +29 -8
  929. package/dist/commonjs/utils/hmac.js.map +7 -1
  930. package/dist/commonjs/utils/nonStreamingOrderByMap.js +64 -52
  931. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +7 -1
  932. package/dist/commonjs/utils/offers.js +36 -13
  933. package/dist/commonjs/utils/offers.js.map +7 -1
  934. package/dist/commonjs/utils/patch.js +33 -12
  935. package/dist/commonjs/utils/patch.js.map +7 -1
  936. package/dist/commonjs/utils/strings.js +28 -7
  937. package/dist/commonjs/utils/strings.js.map +7 -1
  938. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js +37 -16
  939. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js.map +7 -1
  940. package/dist/commonjs/utils/time.js +39 -30
  941. package/dist/commonjs/utils/time.js.map +7 -1
  942. package/dist/commonjs/utils/tracing.js +33 -17
  943. package/dist/commonjs/utils/tracing.js.map +7 -1
  944. package/dist/commonjs/utils/typeChecks.js +50 -60
  945. package/dist/commonjs/utils/typeChecks.js.map +7 -1
  946. package/dist/commonjs/utils/types.js +16 -5
  947. package/dist/commonjs/utils/types.js.map +7 -1
  948. package/dist/commonjs/utils/uint8.js +45 -24
  949. package/dist/commonjs/utils/uint8.js.map +7 -1
  950. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  951. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  952. package/dist/esm/PartitionKeyRangeFailoverInfo.js +0 -2
  953. package/dist/esm/PartitionKeyRangeFailoverInfo.js.map +1 -1
  954. package/dist/esm/bulk/index.d.ts +1 -1
  955. package/dist/esm/bulk/index.d.ts.map +1 -1
  956. package/dist/esm/bulk/index.js.map +1 -1
  957. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  958. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  959. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  960. package/dist/esm/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  961. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  962. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  963. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  964. package/dist/esm/client/ChangeFeed/index.d.ts +2 -2
  965. package/dist/esm/client/ChangeFeed/index.d.ts.map +1 -1
  966. package/dist/esm/client/ChangeFeed/index.js.map +1 -1
  967. package/dist/esm/client/ClientUtils.d.ts +1 -1
  968. package/dist/esm/client/ClientUtils.d.ts.map +1 -1
  969. package/dist/esm/client/ClientUtils.js.map +1 -1
  970. package/dist/esm/client/Conflict/index.d.ts +2 -2
  971. package/dist/esm/client/Conflict/index.d.ts.map +1 -1
  972. package/dist/esm/client/Conflict/index.js.map +1 -1
  973. package/dist/esm/client/Container/ContainerDefinition.d.ts +1 -1
  974. package/dist/esm/client/Container/ContainerDefinition.d.ts.map +1 -1
  975. package/dist/esm/client/Container/ContainerDefinition.js.map +1 -1
  976. package/dist/esm/client/Container/index.d.ts +4 -4
  977. package/dist/esm/client/Container/index.d.ts.map +1 -1
  978. package/dist/esm/client/Container/index.js.map +1 -1
  979. package/dist/esm/client/Database/index.d.ts +2 -2
  980. package/dist/esm/client/Database/index.d.ts.map +1 -1
  981. package/dist/esm/client/Database/index.js.map +1 -1
  982. package/dist/esm/client/Item/Items.d.ts.map +1 -1
  983. package/dist/esm/client/Item/Items.js.map +1 -1
  984. package/dist/esm/client/Item/index.d.ts +1 -1
  985. package/dist/esm/client/Item/index.d.ts.map +1 -1
  986. package/dist/esm/client/Item/index.js.map +1 -1
  987. package/dist/esm/client/Offer/index.d.ts +1 -1
  988. package/dist/esm/client/Offer/index.d.ts.map +1 -1
  989. package/dist/esm/client/Offer/index.js.map +1 -1
  990. package/dist/esm/client/Permission/index.d.ts +2 -2
  991. package/dist/esm/client/Permission/index.d.ts.map +1 -1
  992. package/dist/esm/client/Permission/index.js.map +1 -1
  993. package/dist/esm/client/StoredProcedure/index.d.ts +1 -1
  994. package/dist/esm/client/StoredProcedure/index.d.ts.map +1 -1
  995. package/dist/esm/client/StoredProcedure/index.js.map +1 -1
  996. package/dist/esm/client/Trigger/index.d.ts +1 -1
  997. package/dist/esm/client/Trigger/index.d.ts.map +1 -1
  998. package/dist/esm/client/Trigger/index.js.map +1 -1
  999. package/dist/esm/client/User/index.d.ts +1 -1
  1000. package/dist/esm/client/User/index.d.ts.map +1 -1
  1001. package/dist/esm/client/User/index.js.map +1 -1
  1002. package/dist/esm/client/UserDefinedFunction/index.d.ts +1 -1
  1003. package/dist/esm/client/UserDefinedFunction/index.d.ts.map +1 -1
  1004. package/dist/esm/client/UserDefinedFunction/index.js.map +1 -1
  1005. package/dist/esm/client/index.d.ts +1 -1
  1006. package/dist/esm/client/index.d.ts.map +1 -1
  1007. package/dist/esm/client/index.js +0 -1
  1008. package/dist/esm/client/index.js.map +1 -1
  1009. package/dist/esm/common/constants.js +1 -1
  1010. package/dist/esm/common/constants.js.map +1 -1
  1011. package/dist/esm/common/helper.d.ts +4 -4
  1012. package/dist/esm/common/helper.d.ts.map +1 -1
  1013. package/dist/esm/common/helper.js.map +1 -1
  1014. package/dist/esm/common/platform.d.ts +1 -1
  1015. package/dist/esm/common/platform.d.ts.map +1 -1
  1016. package/dist/esm/common/platform.js.map +1 -1
  1017. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  1018. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1019. package/dist/esm/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1020. package/dist/esm/documents/index.d.ts +4 -4
  1021. package/dist/esm/documents/index.d.ts.map +1 -1
  1022. package/dist/esm/documents/index.js +0 -4
  1023. package/dist/esm/documents/index.js.map +1 -1
  1024. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  1025. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  1026. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1027. package/dist/esm/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  1028. package/dist/esm/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  1029. package/dist/esm/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  1030. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  1031. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  1032. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1033. package/dist/esm/encryption/ClientEncryptionKey/index.d.ts +2 -2
  1034. package/dist/esm/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  1035. package/dist/esm/encryption/ClientEncryptionKey/index.js.map +1 -1
  1036. package/dist/esm/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  1037. package/dist/esm/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  1038. package/dist/esm/encryption/EncryptionKeyResolver/index.js.map +1 -1
  1039. package/dist/esm/encryption/EncryptionQueryBuilder.d.ts +2 -2
  1040. package/dist/esm/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  1041. package/dist/esm/encryption/EncryptionQueryBuilder.js.map +1 -1
  1042. package/dist/esm/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  1043. package/dist/esm/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  1044. package/dist/esm/encryption/Serializers/BooleanSerializer.js.map +1 -1
  1045. package/dist/esm/encryption/Serializers/FloatSerializer.d.ts +1 -1
  1046. package/dist/esm/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  1047. package/dist/esm/encryption/Serializers/FloatSerializer.js.map +1 -1
  1048. package/dist/esm/encryption/Serializers/StringSerializer.d.ts +1 -1
  1049. package/dist/esm/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  1050. package/dist/esm/encryption/Serializers/StringSerializer.js.map +1 -1
  1051. package/dist/esm/encryption/Serializers/index.d.ts +1 -1
  1052. package/dist/esm/encryption/Serializers/index.d.ts.map +1 -1
  1053. package/dist/esm/encryption/Serializers/index.js.map +1 -1
  1054. package/dist/esm/encryption/index.d.ts +5 -5
  1055. package/dist/esm/encryption/index.d.ts.map +1 -1
  1056. package/dist/esm/encryption/index.js.map +1 -1
  1057. package/dist/esm/globalPartitionEndpointManager.d.ts +2 -1
  1058. package/dist/esm/globalPartitionEndpointManager.d.ts.map +1 -1
  1059. package/dist/esm/globalPartitionEndpointManager.js.map +1 -1
  1060. package/dist/esm/index.d.ts +16 -16
  1061. package/dist/esm/index.d.ts.map +1 -1
  1062. package/dist/esm/index.js +1 -1
  1063. package/dist/esm/index.js.map +1 -1
  1064. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts +1 -1
  1065. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  1066. package/dist/esm/queryExecutionContext/Aggregators/index.js.map +1 -1
  1067. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  1068. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  1069. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  1070. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  1071. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  1072. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  1073. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  1074. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  1075. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +13 -12
  1076. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  1077. package/dist/esm/queryExecutionContext/index.d.ts +2 -2
  1078. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  1079. package/dist/esm/queryExecutionContext/index.js +0 -2
  1080. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  1081. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  1082. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  1083. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1084. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  1085. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  1086. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  1087. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  1088. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  1089. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  1090. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  1091. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  1092. package/dist/esm/request/hybridSearchQueryResult.d.ts +1 -1
  1093. package/dist/esm/request/hybridSearchQueryResult.d.ts.map +1 -1
  1094. package/dist/esm/request/hybridSearchQueryResult.js.map +1 -1
  1095. package/dist/esm/request/index.d.ts +8 -8
  1096. package/dist/esm/request/index.d.ts.map +1 -1
  1097. package/dist/esm/request/index.js +0 -1
  1098. package/dist/esm/request/index.js.map +1 -1
  1099. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  1100. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1101. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1102. package/dist/esm/retry/index.d.ts +1 -1
  1103. package/dist/esm/retry/index.d.ts.map +1 -1
  1104. package/dist/esm/retry/index.js +0 -3
  1105. package/dist/esm/retry/index.js.map +1 -1
  1106. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  1107. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1108. package/dist/esm/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1109. package/dist/esm/utils/hashing/hash.d.ts +1 -1
  1110. package/dist/esm/utils/hashing/hash.d.ts.map +1 -1
  1111. package/dist/esm/utils/hashing/hash.js.map +1 -1
  1112. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  1113. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  1114. package/dist/react-native/PartitionKeyRangeFailoverInfo.js +0 -2
  1115. package/dist/react-native/PartitionKeyRangeFailoverInfo.js.map +1 -1
  1116. package/dist/react-native/bulk/index.d.ts +1 -1
  1117. package/dist/react-native/bulk/index.d.ts.map +1 -1
  1118. package/dist/react-native/bulk/index.js.map +1 -1
  1119. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  1120. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  1121. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  1122. package/dist/react-native/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  1123. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  1124. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  1125. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  1126. package/dist/react-native/client/ChangeFeed/index.d.ts +2 -2
  1127. package/dist/react-native/client/ChangeFeed/index.d.ts.map +1 -1
  1128. package/dist/react-native/client/ChangeFeed/index.js.map +1 -1
  1129. package/dist/react-native/client/ClientUtils.d.ts +1 -1
  1130. package/dist/react-native/client/ClientUtils.d.ts.map +1 -1
  1131. package/dist/react-native/client/ClientUtils.js.map +1 -1
  1132. package/dist/react-native/client/Conflict/index.d.ts +2 -2
  1133. package/dist/react-native/client/Conflict/index.d.ts.map +1 -1
  1134. package/dist/react-native/client/Conflict/index.js.map +1 -1
  1135. package/dist/react-native/client/Container/ContainerDefinition.d.ts +1 -1
  1136. package/dist/react-native/client/Container/ContainerDefinition.d.ts.map +1 -1
  1137. package/dist/react-native/client/Container/ContainerDefinition.js.map +1 -1
  1138. package/dist/react-native/client/Container/index.d.ts +4 -4
  1139. package/dist/react-native/client/Container/index.d.ts.map +1 -1
  1140. package/dist/react-native/client/Container/index.js.map +1 -1
  1141. package/dist/react-native/client/Database/index.d.ts +2 -2
  1142. package/dist/react-native/client/Database/index.d.ts.map +1 -1
  1143. package/dist/react-native/client/Database/index.js.map +1 -1
  1144. package/dist/react-native/client/Item/Items.d.ts.map +1 -1
  1145. package/dist/react-native/client/Item/Items.js.map +1 -1
  1146. package/dist/react-native/client/Item/index.d.ts +1 -1
  1147. package/dist/react-native/client/Item/index.d.ts.map +1 -1
  1148. package/dist/react-native/client/Item/index.js.map +1 -1
  1149. package/dist/react-native/client/Offer/index.d.ts +1 -1
  1150. package/dist/react-native/client/Offer/index.d.ts.map +1 -1
  1151. package/dist/react-native/client/Offer/index.js.map +1 -1
  1152. package/dist/react-native/client/Permission/index.d.ts +2 -2
  1153. package/dist/react-native/client/Permission/index.d.ts.map +1 -1
  1154. package/dist/react-native/client/Permission/index.js.map +1 -1
  1155. package/dist/react-native/client/StoredProcedure/index.d.ts +1 -1
  1156. package/dist/react-native/client/StoredProcedure/index.d.ts.map +1 -1
  1157. package/dist/react-native/client/StoredProcedure/index.js.map +1 -1
  1158. package/dist/react-native/client/Trigger/index.d.ts +1 -1
  1159. package/dist/react-native/client/Trigger/index.d.ts.map +1 -1
  1160. package/dist/react-native/client/Trigger/index.js.map +1 -1
  1161. package/dist/react-native/client/User/index.d.ts +1 -1
  1162. package/dist/react-native/client/User/index.d.ts.map +1 -1
  1163. package/dist/react-native/client/User/index.js.map +1 -1
  1164. package/dist/react-native/client/UserDefinedFunction/index.d.ts +1 -1
  1165. package/dist/react-native/client/UserDefinedFunction/index.d.ts.map +1 -1
  1166. package/dist/react-native/client/UserDefinedFunction/index.js.map +1 -1
  1167. package/dist/react-native/client/index.d.ts +1 -1
  1168. package/dist/react-native/client/index.d.ts.map +1 -1
  1169. package/dist/react-native/client/index.js +0 -1
  1170. package/dist/react-native/client/index.js.map +1 -1
  1171. package/dist/react-native/common/constants.js +1 -1
  1172. package/dist/react-native/common/constants.js.map +1 -1
  1173. package/dist/react-native/common/helper.d.ts +4 -4
  1174. package/dist/react-native/common/helper.d.ts.map +1 -1
  1175. package/dist/react-native/common/helper.js.map +1 -1
  1176. package/dist/react-native/common/platform.d.ts +1 -1
  1177. package/dist/react-native/common/platform.d.ts.map +1 -1
  1178. package/dist/react-native/common/platform.js.map +1 -1
  1179. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  1180. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1181. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1182. package/dist/react-native/documents/index.d.ts +4 -4
  1183. package/dist/react-native/documents/index.d.ts.map +1 -1
  1184. package/dist/react-native/documents/index.js +0 -4
  1185. package/dist/react-native/documents/index.js.map +1 -1
  1186. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  1187. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  1188. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1189. package/dist/react-native/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  1190. package/dist/react-native/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  1191. package/dist/react-native/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  1192. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  1193. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  1194. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1195. package/dist/react-native/encryption/ClientEncryptionKey/index.d.ts +2 -2
  1196. package/dist/react-native/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  1197. package/dist/react-native/encryption/ClientEncryptionKey/index.js.map +1 -1
  1198. package/dist/react-native/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  1199. package/dist/react-native/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  1200. package/dist/react-native/encryption/EncryptionKeyResolver/index.js.map +1 -1
  1201. package/dist/react-native/encryption/EncryptionQueryBuilder.d.ts +2 -2
  1202. package/dist/react-native/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  1203. package/dist/react-native/encryption/EncryptionQueryBuilder.js.map +1 -1
  1204. package/dist/react-native/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  1205. package/dist/react-native/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  1206. package/dist/react-native/encryption/Serializers/BooleanSerializer.js.map +1 -1
  1207. package/dist/react-native/encryption/Serializers/FloatSerializer.d.ts +1 -1
  1208. package/dist/react-native/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  1209. package/dist/react-native/encryption/Serializers/FloatSerializer.js.map +1 -1
  1210. package/dist/react-native/encryption/Serializers/StringSerializer.d.ts +1 -1
  1211. package/dist/react-native/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  1212. package/dist/react-native/encryption/Serializers/StringSerializer.js.map +1 -1
  1213. package/dist/react-native/encryption/Serializers/index.d.ts +1 -1
  1214. package/dist/react-native/encryption/Serializers/index.d.ts.map +1 -1
  1215. package/dist/react-native/encryption/Serializers/index.js.map +1 -1
  1216. package/dist/react-native/encryption/index.d.ts +5 -5
  1217. package/dist/react-native/encryption/index.d.ts.map +1 -1
  1218. package/dist/react-native/encryption/index.js.map +1 -1
  1219. package/dist/react-native/globalPartitionEndpointManager.d.ts +2 -1
  1220. package/dist/react-native/globalPartitionEndpointManager.d.ts.map +1 -1
  1221. package/dist/react-native/globalPartitionEndpointManager.js.map +1 -1
  1222. package/dist/react-native/index.d.ts +16 -16
  1223. package/dist/react-native/index.d.ts.map +1 -1
  1224. package/dist/react-native/index.js +1 -1
  1225. package/dist/react-native/index.js.map +1 -1
  1226. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts +1 -1
  1227. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  1228. package/dist/react-native/queryExecutionContext/Aggregators/index.js.map +1 -1
  1229. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  1230. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  1231. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  1232. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  1233. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  1234. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  1235. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  1236. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  1237. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +13 -12
  1238. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  1239. package/dist/react-native/queryExecutionContext/index.d.ts +2 -2
  1240. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  1241. package/dist/react-native/queryExecutionContext/index.js +0 -2
  1242. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  1243. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  1244. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  1245. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1246. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  1247. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  1248. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  1249. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  1250. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  1251. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  1252. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  1253. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  1254. package/dist/react-native/request/hybridSearchQueryResult.d.ts +1 -1
  1255. package/dist/react-native/request/hybridSearchQueryResult.d.ts.map +1 -1
  1256. package/dist/react-native/request/hybridSearchQueryResult.js.map +1 -1
  1257. package/dist/react-native/request/index.d.ts +8 -8
  1258. package/dist/react-native/request/index.d.ts.map +1 -1
  1259. package/dist/react-native/request/index.js +0 -1
  1260. package/dist/react-native/request/index.js.map +1 -1
  1261. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  1262. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1263. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1264. package/dist/react-native/retry/index.d.ts +1 -1
  1265. package/dist/react-native/retry/index.d.ts.map +1 -1
  1266. package/dist/react-native/retry/index.js +0 -3
  1267. package/dist/react-native/retry/index.js.map +1 -1
  1268. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  1269. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1270. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1271. package/dist/react-native/utils/globalCrypto.d.ts +1 -1
  1272. package/dist/react-native/utils/globalCrypto.d.ts.map +1 -0
  1273. package/dist/react-native/utils/globalCrypto.js +1 -1
  1274. package/dist/react-native/utils/globalCrypto.js.map +1 -0
  1275. package/dist/react-native/utils/hashing/hash.d.ts +1 -1
  1276. package/dist/react-native/utils/hashing/hash.d.ts.map +1 -1
  1277. package/dist/react-native/utils/hashing/hash.js.map +1 -1
  1278. package/package.json +6 -23
  1279. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm-browser.d.mts.map +0 -1
  1280. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm-browser.mjs.map +0 -1
  1281. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache-browser.d.mts.map +0 -1
  1282. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache-browser.mjs.map +0 -1
  1283. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey-browser.d.mts.map +0 -1
  1284. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey-browser.mjs.map +0 -1
  1285. package/dist/browser/request/defaultAgent-browser.d.mts.map +0 -1
  1286. package/dist/browser/request/defaultAgent-browser.mjs.map +0 -1
  1287. package/dist/browser/utils/atob-browser.d.mts.map +0 -1
  1288. package/dist/browser/utils/atob-browser.mjs.map +0 -1
  1289. package/dist/browser/utils/digest-browser.d.mts.map +0 -1
  1290. package/dist/browser/utils/digest-browser.mjs.map +0 -1
  1291. package/dist/browser/utils/envUtils-browser.d.mts.map +0 -1
  1292. package/dist/browser/utils/envUtils-browser.mjs.map +0 -1
  1293. package/dist/browser/utils/hmac-browser.d.mts.map +0 -1
  1294. package/dist/browser/utils/hmac-browser.mjs.map +0 -1
  1295. package/dist/react-native/utils/globalCrypto-react-native.d.mts.map +0 -1
  1296. package/dist/react-native/utils/globalCrypto-react-native.mjs.map +0 -1
@@ -1,184 +1,156 @@
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
- */
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var RidSkipCountFilter_exports = {};
19
+ __export(RidSkipCountFilter_exports, {
20
+ RidSkipCountFilter: () => RidSkipCountFilter
21
+ });
22
+ module.exports = __toCommonJS(RidSkipCountFilter_exports);
23
+ var import_orderByComparator = require("../orderByComparator.js");
19
24
  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;
25
+ /**
26
+ * @param filterContext - The context containing values from the continuation token.
27
+ */
28
+ constructor(filterContext) {
29
+ this.filterContext = filterContext;
30
+ this.remainingSkipCount = this.filterContext.skipCount;
31
+ }
32
+ filterContext;
33
+ remainingSkipCount;
34
+ /**
35
+ * Applies the comprehensive OrderBy + RID + SkipCount filtering logic.
36
+ * @param documents - The documents fetched from the target partition.
37
+ * @returns A new array containing only the documents that should be processed.
38
+ */
39
+ applyFilter(documents) {
40
+ const filteredDocs = [];
41
+ let skippedCount = 0;
42
+ for (const doc of documents) {
43
+ if (!this.shouldIncludeDocument(doc)) {
44
+ skippedCount++;
45
+ continue;
46
+ }
47
+ filteredDocs.push(doc);
28
48
  }
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;
49
+ return filteredDocs;
50
+ }
51
+ /**
52
+ * Determines if a document should be included based on OrderBy values, RID, and skip count.
53
+ * Implements the .NET SDK's FilterNextAsync logic with robust OrderBy comparison.
54
+ */
55
+ shouldIncludeDocument(doc) {
56
+ const sortOrderCompare = this.compareOrderByItems(doc);
57
+ if (sortOrderCompare < 0) {
58
+ return true;
45
59
  }
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)
60
+ if (sortOrderCompare > 0) {
61
+ return false;
127
62
  }
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
- }
63
+ const docRid = doc._rid;
64
+ let ridOrderCompare;
65
+ if (this.filterContext.rid === docRid) {
66
+ ridOrderCompare = 0;
67
+ } else {
68
+ const continuationBigInt = this.ridToBigInt(this.filterContext.rid);
69
+ const docBigInt = this.ridToBigInt(docRid);
70
+ if (continuationBigInt < docBigInt) {
71
+ ridOrderCompare = -1;
72
+ } else if (continuationBigInt > docBigInt) {
73
+ ridOrderCompare = 1;
74
+ } else {
75
+ ridOrderCompare = 0;
76
+ }
167
77
  }
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);
78
+ const sortOrders = this.filterContext.sortOrders || [];
79
+ const queryExecutionInfo = this.filterContext.queryExecutionInfo;
80
+ const hasDescendingSort = sortOrders.some((order) => order === "Descending");
81
+ if (!queryExecutionInfo || queryExecutionInfo.reverseRidEnabled) {
82
+ if (hasDescendingSort) {
83
+ ridOrderCompare = -ridOrderCompare;
84
+ }
85
+ } else {
86
+ if (queryExecutionInfo.reverseIndexScan) {
87
+ ridOrderCompare = -ridOrderCompare;
88
+ }
181
89
  }
90
+ if (ridOrderCompare > 0) {
91
+ return false;
92
+ }
93
+ if (ridOrderCompare < 0) {
94
+ return true;
95
+ }
96
+ if (this.remainingSkipCount > 0) {
97
+ this.remainingSkipCount--;
98
+ return false;
99
+ }
100
+ return true;
101
+ }
102
+ /**
103
+ * Convert RID to BigInt for accurate comparison.
104
+ * Decodes base64 RID and extracts the Document ID portion (8 bytes at offset 8) as BigInt.
105
+ *
106
+ * RID Structure (from Java SDK ResourceId.java):
107
+ * - Bytes 0-3: Database ID (4 bytes)
108
+ * - Bytes 4-7: Collection ID (4 bytes)
109
+ * - Bytes 8-15: Document ID (8 bytes, stored in Big Endian but compared in Little Endian)
110
+ * - Bytes 16-19: Attachment ID (4 bytes, optional)
111
+ */
112
+ ridToBigInt(rid) {
113
+ if (rid === null || rid === void 0) {
114
+ throw new Error(`RID is null or undefined`);
115
+ }
116
+ if (typeof rid !== "string") {
117
+ throw new Error(`RID must be a string, got ${typeof rid}`);
118
+ }
119
+ if (rid.trim().length === 0) {
120
+ throw new Error(`RID is empty string`);
121
+ }
122
+ try {
123
+ const normalizedRid = rid.replace(/-/g, "/");
124
+ const bytes = Buffer.from(normalizedRid, "base64");
125
+ if (bytes.length < 16) {
126
+ throw new Error(`RID too short: expected at least 16 bytes, got ${bytes.length}`);
127
+ }
128
+ let result = 0n;
129
+ for (let i = 15; i >= 8; i--) {
130
+ result = result << 8n | BigInt(bytes[i] & 255);
131
+ }
132
+ return result;
133
+ } catch (error) {
134
+ throw new Error(
135
+ `Failed to convert RID '${rid}' to BigInt: ${error instanceof Error ? error.message : String(error)}`
136
+ );
137
+ }
138
+ }
139
+ /**
140
+ * Compares the OrderBy items of a document with the continuation token's OrderBy items.
141
+ * Uses the exported compareOrderByItems utility function from orderByItemComparator.
142
+ * @param doc - The document to compare
143
+ * @returns negative if doc comes before continuation, 0 if same, positive if doc comes after
144
+ */
145
+ compareOrderByItems(doc) {
146
+ const docOrderByItems = doc.orderByItems || [];
147
+ const continuationOrderByItems = this.filterContext.orderByItems || [];
148
+ const sortOrders = this.filterContext.sortOrders || [];
149
+ return (0, import_orderByComparator.compareOrderByItems)(docOrderByItems, continuationOrderByItems, sortOrders);
150
+ }
182
151
  }
183
- exports.RidSkipCountFilter = RidSkipCountFilter;
184
- //# sourceMappingURL=RidSkipCountFilter.js.map
152
+ // Annotate the CommonJS export names for ESM import in node:
153
+ 0 && (module.exports = {
154
+ RidSkipCountFilter
155
+ });
156
+ //# sourceMappingURL=RidSkipCountFilter.js.map
@@ -1 +1,7 @@
1
- {"version":3,"file":"RidSkipCountFilter.js","sourceRoot":"","sources":["../../../../src/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.ts"],"names":[],"mappings":"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","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"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.ts"],
4
+ "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"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,97 +1,110 @@
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
- */
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var TargetPartitionRangeManager_exports = {};
19
+ __export(TargetPartitionRangeManager_exports, {
20
+ QueryExecutionContextType: () => QueryExecutionContextType,
21
+ TargetPartitionRangeManager: () => TargetPartitionRangeManager
22
+ });
23
+ module.exports = __toCommonJS(TargetPartitionRangeManager_exports);
24
+ var import_ParallelQueryRangeStrategy = require("./ParallelQueryRangeStrategy.js");
25
+ var import_OrderByQueryRangeStrategy = require("./OrderByQueryRangeStrategy.js");
26
+ var QueryExecutionContextType = /* @__PURE__ */ ((QueryExecutionContextType2) => {
27
+ QueryExecutionContextType2["Parallel"] = "Parallel";
28
+ QueryExecutionContextType2["OrderBy"] = "OrderBy";
29
+ return QueryExecutionContextType2;
30
+ })(QueryExecutionContextType || {});
22
31
  class TargetPartitionRangeManager {
23
- strategy;
24
- config;
25
- constructor(config) {
26
- this.config = config;
27
- this.strategy = this.createStrategy(config);
32
+ strategy;
33
+ config;
34
+ constructor(config) {
35
+ this.config = config;
36
+ this.strategy = this.createStrategy(config);
37
+ }
38
+ /**
39
+ * Creates the appropriate strategy based on configuration
40
+ */
41
+ createStrategy(config) {
42
+ if (config.customStrategy) {
43
+ return config.customStrategy;
28
44
  }
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
- }
45
+ switch (config.queryType) {
46
+ case "Parallel" /* Parallel */:
47
+ return new import_ParallelQueryRangeStrategy.ParallelQueryRangeStrategy();
48
+ case "OrderBy" /* OrderBy */:
49
+ return new import_OrderByQueryRangeStrategy.OrderByQueryRangeStrategy();
50
+ default:
51
+ throw new Error(`Unsupported query execution context type: ${config.queryType}`);
46
52
  }
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
- });
53
+ }
54
+ /**
55
+ * Filters target partition ranges based on range-token pairs from partition split/merge detection
56
+ * @param targetRanges - All available target partition ranges (fallback if no range-token pairs)
57
+ * @param rangeTokenPairs - Pre-processed range-token pairs after split/merge detection
58
+ * @param additionalQueryInfo - Additional query information to merge with existing queryInfo
59
+ * @returns Filtered partition ranges and metadata
60
+ */
61
+ filterPartitionRanges(targetRanges, rangeTokenPairs, additionalQueryInfo) {
62
+ if (!targetRanges || targetRanges.length === 0) {
63
+ return { rangeTokenPairs: [] };
94
64
  }
65
+ const mergedQueryInfo = { ...this.config.queryInfo, ...additionalQueryInfo };
66
+ const result = this.strategy.filterPartitionRanges(
67
+ targetRanges,
68
+ rangeTokenPairs,
69
+ mergedQueryInfo
70
+ );
71
+ return result;
72
+ }
73
+ /**
74
+ * Gets the current strategy type
75
+ */
76
+ getStrategyType() {
77
+ return this.strategy.getStrategyType();
78
+ }
79
+ /**
80
+ * Updates the strategy (useful for switching between query types)
81
+ */
82
+ updateStrategy(newConfig) {
83
+ this.config = newConfig;
84
+ this.strategy = this.createStrategy(newConfig);
85
+ }
86
+ /**
87
+ * Static factory method to create a manager for parallel queries
88
+ */
89
+ static createForParallelQuery(queryInfo) {
90
+ return new TargetPartitionRangeManager({
91
+ queryType: "Parallel" /* Parallel */,
92
+ queryInfo
93
+ });
94
+ }
95
+ /**
96
+ * Static factory method to create a manager for ORDER BY queries
97
+ */
98
+ static createForOrderByQuery(queryInfo) {
99
+ return new TargetPartitionRangeManager({
100
+ queryType: "OrderBy" /* OrderBy */,
101
+ queryInfo
102
+ });
103
+ }
95
104
  }
96
- exports.TargetPartitionRangeManager = TargetPartitionRangeManager;
97
- //# sourceMappingURL=TargetPartitionRangeManager.js.map
105
+ // Annotate the CommonJS export names for ESM import in node:
106
+ 0 && (module.exports = {
107
+ QueryExecutionContextType,
108
+ TargetPartitionRangeManager
109
+ });
110
+ //# sourceMappingURL=TargetPartitionRangeManager.js.map
@@ -1 +1,7 @@
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"]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.ts"],
4
+ "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"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,wCAA2C;AAC3C,uCAA0C;AAgBnC,IAAK,4BAAL,kBAAKA,+BAAL;AACL,EAAAA,2BAAA,cAAW;AACX,EAAAA,2BAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;AA+BL,MAAM,4BAA4B;AAAA,EAC/B;AAAA,EACA;AAAA,EAER,YAAY,QAA2C;AACrD,SAAK,SAAS;AACd,SAAK,WAAW,KAAK,eAAe,MAAM;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKQ,eAAe,QAAyE;AAE9F,QAAI,OAAO,gBAAgB;AACzB,aAAO,OAAO;AAAA,IAChB;AAGA,YAAQ,OAAO,WAAW;AAAA,MACxB,KAAK;AACH,eAAO,IAAI,6DAA2B;AAAA,MAExC,KAAK;AACH,eAAO,IAAI,2DAA0B;AAAA,MAEvC;AACE,cAAM,IAAI,MAAM,6CAA6C,OAAO,SAAS,EAAE;AAAA,IACnF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASO,sBACL,cACA,iBACA,qBAC4B;AAE5B,QAAI,CAAC,gBAAgB,aAAa,WAAW,GAAG;AAC9C,aAAO,EAAE,iBAAiB,CAAC,EAAE;AAAA,IAC/B;AAGA,UAAM,kBAAkB,EAAE,GAAG,KAAK,OAAO,WAAW,GAAG,oBAAoB;AAE3E,UAAM,SAAS,KAAK,SAAS;AAAA,MAC3B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKO,kBAA0B;AAC/B,WAAO,KAAK,SAAS,gBAAgB;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA,EAKO,eAAe,WAAoD;AACxE,SAAK,SAAS;AACd,SAAK,WAAW,KAAK,eAAe,SAAS;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA,EAKA,OAAc,uBACZ,WAC6B;AAC7B,WAAO,IAAI,4BAA4B;AAAA,MACrC,WAAW;AAAA,MACX;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,OAAc,sBACZ,WAC6B;AAC7B,WAAO,IAAI,4BAA4B;AAAA,MACrC,WAAW;AAAA,MACX;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
+ "names": ["QueryExecutionContextType"]
7
+ }