@azure/cosmos 4.9.1 → 4.9.2

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