@azure/cosmos 4.9.1 → 4.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1296) hide show
  1. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  2. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  3. package/dist/browser/PartitionKeyRangeFailoverInfo.js +0 -2
  4. package/dist/browser/PartitionKeyRangeFailoverInfo.js.map +1 -1
  5. package/dist/browser/bulk/index.d.ts +1 -1
  6. package/dist/browser/bulk/index.d.ts.map +1 -1
  7. package/dist/browser/bulk/index.js.map +1 -1
  8. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  9. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  10. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  11. package/dist/browser/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  12. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  13. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  14. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  15. package/dist/browser/client/ChangeFeed/index.d.ts +2 -2
  16. package/dist/browser/client/ChangeFeed/index.d.ts.map +1 -1
  17. package/dist/browser/client/ChangeFeed/index.js.map +1 -1
  18. package/dist/browser/client/ClientUtils.d.ts +1 -1
  19. package/dist/browser/client/ClientUtils.d.ts.map +1 -1
  20. package/dist/browser/client/ClientUtils.js.map +1 -1
  21. package/dist/browser/client/Conflict/index.d.ts +2 -2
  22. package/dist/browser/client/Conflict/index.d.ts.map +1 -1
  23. package/dist/browser/client/Conflict/index.js.map +1 -1
  24. package/dist/browser/client/Container/ContainerDefinition.d.ts +1 -1
  25. package/dist/browser/client/Container/ContainerDefinition.d.ts.map +1 -1
  26. package/dist/browser/client/Container/ContainerDefinition.js.map +1 -1
  27. package/dist/browser/client/Container/index.d.ts +4 -4
  28. package/dist/browser/client/Container/index.d.ts.map +1 -1
  29. package/dist/browser/client/Container/index.js.map +1 -1
  30. package/dist/browser/client/Database/index.d.ts +2 -2
  31. package/dist/browser/client/Database/index.d.ts.map +1 -1
  32. package/dist/browser/client/Database/index.js.map +1 -1
  33. package/dist/browser/client/Item/Items.d.ts.map +1 -1
  34. package/dist/browser/client/Item/Items.js.map +1 -1
  35. package/dist/browser/client/Item/index.d.ts +1 -1
  36. package/dist/browser/client/Item/index.d.ts.map +1 -1
  37. package/dist/browser/client/Item/index.js.map +1 -1
  38. package/dist/browser/client/Offer/index.d.ts +1 -1
  39. package/dist/browser/client/Offer/index.d.ts.map +1 -1
  40. package/dist/browser/client/Offer/index.js.map +1 -1
  41. package/dist/browser/client/Permission/index.d.ts +2 -2
  42. package/dist/browser/client/Permission/index.d.ts.map +1 -1
  43. package/dist/browser/client/Permission/index.js.map +1 -1
  44. package/dist/browser/client/StoredProcedure/index.d.ts +1 -1
  45. package/dist/browser/client/StoredProcedure/index.d.ts.map +1 -1
  46. package/dist/browser/client/StoredProcedure/index.js.map +1 -1
  47. package/dist/browser/client/Trigger/index.d.ts +1 -1
  48. package/dist/browser/client/Trigger/index.d.ts.map +1 -1
  49. package/dist/browser/client/Trigger/index.js.map +1 -1
  50. package/dist/browser/client/User/index.d.ts +1 -1
  51. package/dist/browser/client/User/index.d.ts.map +1 -1
  52. package/dist/browser/client/User/index.js.map +1 -1
  53. package/dist/browser/client/UserDefinedFunction/index.d.ts +1 -1
  54. package/dist/browser/client/UserDefinedFunction/index.d.ts.map +1 -1
  55. package/dist/browser/client/UserDefinedFunction/index.js.map +1 -1
  56. package/dist/browser/client/index.d.ts +1 -1
  57. package/dist/browser/client/index.d.ts.map +1 -1
  58. package/dist/browser/client/index.js +0 -1
  59. package/dist/browser/client/index.js.map +1 -1
  60. package/dist/browser/common/constants.js +1 -1
  61. package/dist/browser/common/constants.js.map +1 -1
  62. package/dist/browser/common/helper.d.ts +4 -4
  63. package/dist/browser/common/helper.d.ts.map +1 -1
  64. package/dist/browser/common/helper.js.map +1 -1
  65. package/dist/browser/common/platform.d.ts +1 -1
  66. package/dist/browser/common/platform.d.ts.map +1 -1
  67. package/dist/browser/common/platform.js.map +1 -1
  68. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  69. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  70. package/dist/browser/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  71. package/dist/browser/documents/index.d.ts +4 -4
  72. package/dist/browser/documents/index.d.ts.map +1 -1
  73. package/dist/browser/documents/index.js +0 -4
  74. package/dist/browser/documents/index.js.map +1 -1
  75. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +6 -2
  76. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -0
  77. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -3
  78. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -0
  79. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.d.ts +5 -1
  80. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.d.ts.map +1 -0
  81. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -2
  82. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -0
  83. package/dist/browser/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  84. package/dist/browser/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  85. package/dist/browser/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  86. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  87. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  88. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  89. package/dist/browser/encryption/ClientEncryptionKey/index.d.ts +2 -2
  90. package/dist/browser/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  91. package/dist/browser/encryption/ClientEncryptionKey/index.js.map +1 -1
  92. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.d.ts +6 -1
  93. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.d.ts.map +1 -0
  94. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.js +8 -2
  95. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -0
  96. package/dist/browser/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  97. package/dist/browser/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  98. package/dist/browser/encryption/EncryptionKeyResolver/index.js.map +1 -1
  99. package/dist/browser/encryption/EncryptionQueryBuilder.d.ts +2 -2
  100. package/dist/browser/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  101. package/dist/browser/encryption/EncryptionQueryBuilder.js.map +1 -1
  102. package/dist/browser/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  103. package/dist/browser/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  104. package/dist/browser/encryption/Serializers/BooleanSerializer.js.map +1 -1
  105. package/dist/browser/encryption/Serializers/FloatSerializer.d.ts +1 -1
  106. package/dist/browser/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  107. package/dist/browser/encryption/Serializers/FloatSerializer.js.map +1 -1
  108. package/dist/browser/encryption/Serializers/StringSerializer.d.ts +1 -1
  109. package/dist/browser/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  110. package/dist/browser/encryption/Serializers/StringSerializer.js.map +1 -1
  111. package/dist/browser/encryption/Serializers/index.d.ts +1 -1
  112. package/dist/browser/encryption/Serializers/index.d.ts.map +1 -1
  113. package/dist/browser/encryption/Serializers/index.js.map +1 -1
  114. package/dist/browser/encryption/index.d.ts +5 -5
  115. package/dist/browser/encryption/index.d.ts.map +1 -1
  116. package/dist/browser/encryption/index.js.map +1 -1
  117. package/dist/browser/globalPartitionEndpointManager.d.ts +2 -1
  118. package/dist/browser/globalPartitionEndpointManager.d.ts.map +1 -1
  119. package/dist/browser/globalPartitionEndpointManager.js.map +1 -1
  120. package/dist/browser/index.d.ts +16 -16
  121. package/dist/browser/index.d.ts.map +1 -1
  122. package/dist/browser/index.js +1 -1
  123. package/dist/browser/index.js.map +1 -1
  124. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts +1 -1
  125. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  126. package/dist/browser/queryExecutionContext/Aggregators/index.js.map +1 -1
  127. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  128. package/dist/browser/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  129. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  130. package/dist/browser/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  131. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  132. package/dist/browser/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  133. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  134. package/dist/browser/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  135. package/dist/browser/queryExecutionContext/PartitionRangeManager.js +13 -12
  136. package/dist/browser/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  137. package/dist/browser/queryExecutionContext/index.d.ts +2 -2
  138. package/dist/browser/queryExecutionContext/index.d.ts.map +1 -1
  139. package/dist/browser/queryExecutionContext/index.js +0 -2
  140. package/dist/browser/queryExecutionContext/index.js.map +1 -1
  141. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  142. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  143. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  144. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  145. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  146. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  147. package/dist/browser/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  148. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  149. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  150. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  151. package/dist/browser/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  152. package/dist/browser/request/defaultAgent.d.ts +1 -1
  153. package/dist/browser/request/defaultAgent.d.ts.map +1 -0
  154. package/dist/browser/request/defaultAgent.js +1 -1
  155. package/dist/browser/request/defaultAgent.js.map +1 -0
  156. package/dist/browser/request/hybridSearchQueryResult.d.ts +1 -1
  157. package/dist/browser/request/hybridSearchQueryResult.d.ts.map +1 -1
  158. package/dist/browser/request/hybridSearchQueryResult.js.map +1 -1
  159. package/dist/browser/request/index.d.ts +8 -8
  160. package/dist/browser/request/index.d.ts.map +1 -1
  161. package/dist/browser/request/index.js +0 -1
  162. package/dist/browser/request/index.js.map +1 -1
  163. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  164. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  165. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  166. package/dist/browser/retry/index.d.ts +1 -1
  167. package/dist/browser/retry/index.d.ts.map +1 -1
  168. package/dist/browser/retry/index.js +0 -3
  169. package/dist/browser/retry/index.js.map +1 -1
  170. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  171. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  172. package/dist/browser/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  173. package/dist/browser/utils/atob.d.ts +1 -1
  174. package/dist/browser/utils/atob.d.ts.map +1 -0
  175. package/dist/browser/utils/atob.js +1 -1
  176. package/dist/browser/utils/atob.js.map +1 -0
  177. package/dist/browser/utils/digest.d.ts +1 -1
  178. package/dist/browser/utils/digest.d.ts.map +1 -0
  179. package/dist/browser/utils/digest.js +1 -1
  180. package/dist/browser/utils/digest.js.map +1 -0
  181. package/dist/browser/utils/envUtils.d.ts +1 -1
  182. package/dist/browser/utils/envUtils.d.ts.map +1 -0
  183. package/dist/browser/utils/envUtils.js +1 -1
  184. package/dist/browser/utils/envUtils.js.map +1 -0
  185. package/dist/browser/utils/hashing/hash.d.ts +1 -1
  186. package/dist/browser/utils/hashing/hash.d.ts.map +1 -1
  187. package/dist/browser/utils/hashing/hash.js.map +1 -1
  188. package/dist/browser/utils/hmac.d.ts +1 -1
  189. package/dist/browser/utils/hmac.d.ts.map +1 -0
  190. package/dist/browser/utils/hmac.js +1 -1
  191. package/dist/browser/utils/hmac.js.map +1 -0
  192. package/dist/commonjs/ChangeFeedIterator.js +131 -110
  193. package/dist/commonjs/ChangeFeedIterator.js.map +7 -1
  194. package/dist/commonjs/ChangeFeedOptions.js +16 -3
  195. package/dist/commonjs/ChangeFeedOptions.js.map +7 -1
  196. package/dist/commonjs/ChangeFeedResponse.js +85 -78
  197. package/dist/commonjs/ChangeFeedResponse.js.map +7 -1
  198. package/dist/commonjs/ClientContext.js +873 -761
  199. package/dist/commonjs/ClientContext.js.map +7 -1
  200. package/dist/commonjs/CosmosClient.js +294 -286
  201. package/dist/commonjs/CosmosClient.js.map +7 -1
  202. package/dist/commonjs/CosmosClientOptions.js +16 -3
  203. package/dist/commonjs/CosmosClientOptions.js.map +7 -1
  204. package/dist/commonjs/CosmosDiagnostics.js +52 -55
  205. package/dist/commonjs/CosmosDiagnostics.js.map +7 -1
  206. package/dist/commonjs/GlobalEndpointManagerOptions.js +16 -3
  207. package/dist/commonjs/GlobalEndpointManagerOptions.js.map +7 -1
  208. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  209. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  210. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +149 -134
  211. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +7 -1
  212. package/dist/commonjs/auth.js +92 -84
  213. package/dist/commonjs/auth.js.map +7 -1
  214. package/dist/commonjs/bulk/Batcher.js +178 -149
  215. package/dist/commonjs/bulk/Batcher.js.map +7 -1
  216. package/dist/commonjs/bulk/BulkHelper.js +321 -289
  217. package/dist/commonjs/bulk/BulkHelper.js.map +7 -1
  218. package/dist/commonjs/bulk/BulkResponse.js +141 -118
  219. package/dist/commonjs/bulk/BulkResponse.js.map +7 -1
  220. package/dist/commonjs/bulk/CongestionAlgorithm.js +72 -66
  221. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +7 -1
  222. package/dist/commonjs/bulk/HelperPerPartition.js +168 -130
  223. package/dist/commonjs/bulk/HelperPerPartition.js.map +7 -1
  224. package/dist/commonjs/bulk/ItemOperation.js +16 -5
  225. package/dist/commonjs/bulk/ItemOperation.js.map +7 -1
  226. package/dist/commonjs/bulk/ItemOperationContext.js +54 -38
  227. package/dist/commonjs/bulk/ItemOperationContext.js.map +7 -1
  228. package/dist/commonjs/bulk/Limiter.js +199 -212
  229. package/dist/commonjs/bulk/Limiter.js.map +7 -1
  230. package/dist/commonjs/bulk/PartitionMetric.js +59 -35
  231. package/dist/commonjs/bulk/PartitionMetric.js.map +7 -1
  232. package/dist/commonjs/bulk/index.d.ts +1 -1
  233. package/dist/commonjs/bulk/index.d.ts.map +1 -1
  234. package/dist/commonjs/bulk/index.js +31 -10
  235. package/dist/commonjs/bulk/index.js.map +7 -1
  236. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js +32 -14
  237. package/dist/commonjs/client/ChangeFeed/ChangeFeedEnums.js.map +7 -1
  238. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +383 -327
  239. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +7 -1
  240. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  241. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  242. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +187 -146
  243. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +7 -1
  244. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +83 -63
  245. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +7 -1
  246. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js +16 -5
  247. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +7 -1
  248. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +73 -78
  249. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +7 -1
  250. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js +32 -11
  251. package/dist/commonjs/client/ChangeFeed/ChangeFeedMode.js.map +7 -1
  252. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +31 -12
  253. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +7 -1
  254. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js +16 -3
  255. package/dist/commonjs/client/ChangeFeed/ChangeFeedPullModelIterator.js.map +7 -1
  256. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +54 -38
  257. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +7 -1
  258. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +53 -36
  259. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +7 -1
  260. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js +71 -54
  261. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFrom.js.map +7 -1
  262. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +34 -16
  263. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +7 -1
  264. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +48 -38
  265. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +7 -1
  266. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +34 -18
  267. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +7 -1
  268. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +39 -21
  269. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +7 -1
  270. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +39 -21
  271. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +7 -1
  272. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +44 -26
  273. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +7 -1
  274. package/dist/commonjs/client/ChangeFeed/FeedRange.js +51 -38
  275. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +7 -1
  276. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +69 -49
  277. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +7 -1
  278. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js +16 -5
  279. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +7 -1
  280. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js +144 -71
  281. package/dist/commonjs/client/ChangeFeed/buildChangeFeedIterator.js.map +7 -1
  282. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  283. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  284. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +161 -188
  285. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +7 -1
  286. package/dist/commonjs/client/ChangeFeed/index.d.ts +2 -2
  287. package/dist/commonjs/client/ChangeFeed/index.d.ts.map +1 -1
  288. package/dist/commonjs/client/ChangeFeed/index.js +60 -29
  289. package/dist/commonjs/client/ChangeFeed/index.js.map +7 -1
  290. package/dist/commonjs/client/ClientUtils.d.ts +1 -1
  291. package/dist/commonjs/client/ClientUtils.d.ts.map +1 -1
  292. package/dist/commonjs/client/ClientUtils.js +43 -16
  293. package/dist/commonjs/client/ClientUtils.js.map +7 -1
  294. package/dist/commonjs/client/Conflict/Conflict.js +132 -100
  295. package/dist/commonjs/client/Conflict/Conflict.js.map +7 -1
  296. package/dist/commonjs/client/Conflict/ConflictDefinition.js +16 -3
  297. package/dist/commonjs/client/Conflict/ConflictDefinition.js.map +7 -1
  298. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js +32 -11
  299. package/dist/commonjs/client/Conflict/ConflictResolutionMode.js.map +7 -1
  300. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js +16 -3
  301. package/dist/commonjs/client/Conflict/ConflictResolutionPolicy.js.map +7 -1
  302. package/dist/commonjs/client/Conflict/ConflictResponse.js +35 -13
  303. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +7 -1
  304. package/dist/commonjs/client/Conflict/Conflicts.js +73 -51
  305. package/dist/commonjs/client/Conflict/Conflicts.js.map +7 -1
  306. package/dist/commonjs/client/Conflict/index.d.ts +2 -2
  307. package/dist/commonjs/client/Conflict/index.d.ts.map +1 -1
  308. package/dist/commonjs/client/Conflict/index.js +37 -14
  309. package/dist/commonjs/client/Conflict/index.js.map +7 -1
  310. package/dist/commonjs/client/Container/Container.js +669 -599
  311. package/dist/commonjs/client/Container/Container.js.map +7 -1
  312. package/dist/commonjs/client/Container/ContainerDefinition.d.ts +1 -1
  313. package/dist/commonjs/client/Container/ContainerDefinition.d.ts.map +1 -1
  314. package/dist/commonjs/client/Container/ContainerDefinition.js +16 -3
  315. package/dist/commonjs/client/Container/ContainerDefinition.js.map +7 -1
  316. package/dist/commonjs/client/Container/ContainerRequest.js +16 -3
  317. package/dist/commonjs/client/Container/ContainerRequest.js.map +7 -1
  318. package/dist/commonjs/client/Container/ContainerResponse.js +35 -14
  319. package/dist/commonjs/client/Container/ContainerResponse.js.map +7 -1
  320. package/dist/commonjs/client/Container/Containers.js +236 -218
  321. package/dist/commonjs/client/Container/Containers.js.map +7 -1
  322. package/dist/commonjs/client/Container/PartitionKeyRange.js +16 -3
  323. package/dist/commonjs/client/Container/PartitionKeyRange.js.map +7 -1
  324. package/dist/commonjs/client/Container/UniqueKeyPolicy.js +16 -3
  325. package/dist/commonjs/client/Container/UniqueKeyPolicy.js.map +7 -1
  326. package/dist/commonjs/client/Container/index.d.ts +4 -4
  327. package/dist/commonjs/client/Container/index.d.ts.map +1 -1
  328. package/dist/commonjs/client/Container/index.js +34 -12
  329. package/dist/commonjs/client/Container/index.js.map +7 -1
  330. package/dist/commonjs/client/Database/Database.js +533 -448
  331. package/dist/commonjs/client/Database/Database.js.map +7 -1
  332. package/dist/commonjs/client/Database/DatabaseDefinition.js +16 -3
  333. package/dist/commonjs/client/Database/DatabaseDefinition.js.map +7 -1
  334. package/dist/commonjs/client/Database/DatabaseRequest.js +16 -3
  335. package/dist/commonjs/client/Database/DatabaseRequest.js.map +7 -1
  336. package/dist/commonjs/client/Database/DatabaseResponse.js +35 -14
  337. package/dist/commonjs/client/Database/DatabaseResponse.js.map +7 -1
  338. package/dist/commonjs/client/Database/Databases.js +201 -188
  339. package/dist/commonjs/client/Database/Databases.js.map +7 -1
  340. package/dist/commonjs/client/Database/index.d.ts +2 -2
  341. package/dist/commonjs/client/Database/index.d.ts.map +1 -1
  342. package/dist/commonjs/client/Database/index.js +34 -12
  343. package/dist/commonjs/client/Database/index.js.map +7 -1
  344. package/dist/commonjs/client/Item/Item.js +510 -383
  345. package/dist/commonjs/client/Item/Item.js.map +7 -1
  346. package/dist/commonjs/client/Item/ItemDefinition.js +16 -5
  347. package/dist/commonjs/client/Item/ItemDefinition.js.map +7 -1
  348. package/dist/commonjs/client/Item/ItemResponse.js +35 -13
  349. package/dist/commonjs/client/Item/ItemResponse.js.map +7 -1
  350. package/dist/commonjs/client/Item/Items.d.ts.map +1 -1
  351. package/dist/commonjs/client/Item/Items.js +891 -717
  352. package/dist/commonjs/client/Item/Items.js.map +7 -1
  353. package/dist/commonjs/client/Item/index.d.ts +1 -1
  354. package/dist/commonjs/client/Item/index.d.ts.map +1 -1
  355. package/dist/commonjs/client/Item/index.js +34 -12
  356. package/dist/commonjs/client/Item/index.js.map +7 -1
  357. package/dist/commonjs/client/Offer/Offer.js +119 -90
  358. package/dist/commonjs/client/Offer/Offer.js.map +7 -1
  359. package/dist/commonjs/client/Offer/OfferDefinition.js +16 -3
  360. package/dist/commonjs/client/Offer/OfferDefinition.js.map +7 -1
  361. package/dist/commonjs/client/Offer/OfferResponse.js +35 -13
  362. package/dist/commonjs/client/Offer/OfferResponse.js.map +7 -1
  363. package/dist/commonjs/client/Offer/Offers.js +68 -51
  364. package/dist/commonjs/client/Offer/Offers.js.map +7 -1
  365. package/dist/commonjs/client/Offer/index.d.ts +1 -1
  366. package/dist/commonjs/client/Offer/index.d.ts.map +1 -1
  367. package/dist/commonjs/client/Offer/index.js +34 -12
  368. package/dist/commonjs/client/Offer/index.js.map +7 -1
  369. package/dist/commonjs/client/Permission/Permission.js +162 -127
  370. package/dist/commonjs/client/Permission/Permission.js.map +7 -1
  371. package/dist/commonjs/client/Permission/PermissionBody.js +16 -3
  372. package/dist/commonjs/client/Permission/PermissionBody.js.map +7 -1
  373. package/dist/commonjs/client/Permission/PermissionDefinition.js +16 -3
  374. package/dist/commonjs/client/Permission/PermissionDefinition.js.map +7 -1
  375. package/dist/commonjs/client/Permission/PermissionResponse.js +35 -13
  376. package/dist/commonjs/client/Permission/PermissionResponse.js.map +7 -1
  377. package/dist/commonjs/client/Permission/Permissions.js +173 -144
  378. package/dist/commonjs/client/Permission/Permissions.js.map +7 -1
  379. package/dist/commonjs/client/Permission/index.d.ts +2 -2
  380. package/dist/commonjs/client/Permission/index.d.ts.map +1 -1
  381. package/dist/commonjs/client/Permission/index.js +34 -12
  382. package/dist/commonjs/client/Permission/index.js.map +7 -1
  383. package/dist/commonjs/client/Resource.js +16 -3
  384. package/dist/commonjs/client/Resource.js.map +7 -1
  385. package/dist/commonjs/client/SasToken/PermissionScopeValues.js +92 -80
  386. package/dist/commonjs/client/SasToken/PermissionScopeValues.js.map +7 -1
  387. package/dist/commonjs/client/SasToken/SasTokenProperties.js +44 -24
  388. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +7 -1
  389. package/dist/commonjs/client/Script/Scripts.js +100 -80
  390. package/dist/commonjs/client/Script/Scripts.js.map +7 -1
  391. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +228 -185
  392. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +7 -1
  393. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js +16 -3
  394. package/dist/commonjs/client/StoredProcedure/StoredProcedureDefinition.js.map +7 -1
  395. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +45 -23
  396. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +7 -1
  397. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +134 -111
  398. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +7 -1
  399. package/dist/commonjs/client/StoredProcedure/index.d.ts +1 -1
  400. package/dist/commonjs/client/StoredProcedure/index.d.ts.map +1 -1
  401. package/dist/commonjs/client/StoredProcedure/index.js +34 -12
  402. package/dist/commonjs/client/StoredProcedure/index.js.map +7 -1
  403. package/dist/commonjs/client/Trigger/Trigger.js +173 -138
  404. package/dist/commonjs/client/Trigger/Trigger.js.map +7 -1
  405. package/dist/commonjs/client/Trigger/TriggerDefinition.js +16 -3
  406. package/dist/commonjs/client/Trigger/TriggerDefinition.js.map +7 -1
  407. package/dist/commonjs/client/Trigger/TriggerResponse.js +35 -13
  408. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +7 -1
  409. package/dist/commonjs/client/Trigger/Triggers.js +133 -110
  410. package/dist/commonjs/client/Trigger/Triggers.js.map +7 -1
  411. package/dist/commonjs/client/Trigger/index.d.ts +1 -1
  412. package/dist/commonjs/client/Trigger/index.d.ts.map +1 -1
  413. package/dist/commonjs/client/Trigger/index.js +34 -12
  414. package/dist/commonjs/client/Trigger/index.js.map +7 -1
  415. package/dist/commonjs/client/User/User.js +174 -141
  416. package/dist/commonjs/client/User/User.js.map +7 -1
  417. package/dist/commonjs/client/User/UserDefinition.js +16 -3
  418. package/dist/commonjs/client/User/UserDefinition.js.map +7 -1
  419. package/dist/commonjs/client/User/UserResponse.js +35 -13
  420. package/dist/commonjs/client/User/UserResponse.js.map +7 -1
  421. package/dist/commonjs/client/User/Users.js +157 -128
  422. package/dist/commonjs/client/User/Users.js.map +7 -1
  423. package/dist/commonjs/client/User/index.d.ts +1 -1
  424. package/dist/commonjs/client/User/index.d.ts.map +1 -1
  425. package/dist/commonjs/client/User/index.js +34 -12
  426. package/dist/commonjs/client/User/index.js.map +7 -1
  427. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +172 -137
  428. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +7 -1
  429. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js +16 -3
  430. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionDefinition.js.map +7 -1
  431. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +43 -21
  432. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +7 -1
  433. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +130 -107
  434. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +7 -1
  435. package/dist/commonjs/client/UserDefinedFunction/index.d.ts +1 -1
  436. package/dist/commonjs/client/UserDefinedFunction/index.d.ts.map +1 -1
  437. package/dist/commonjs/client/UserDefinedFunction/index.js +34 -12
  438. package/dist/commonjs/client/UserDefinedFunction/index.js.map +7 -1
  439. package/dist/commonjs/client/index.d.ts +1 -1
  440. package/dist/commonjs/client/index.d.ts.map +1 -1
  441. package/dist/commonjs/client/index.js +42 -18
  442. package/dist/commonjs/client/index.js.map +7 -1
  443. package/dist/commonjs/common/constants.js +515 -500
  444. package/dist/commonjs/common/constants.js.map +7 -1
  445. package/dist/commonjs/common/helper.d.ts +4 -4
  446. package/dist/commonjs/common/helper.d.ts.map +1 -1
  447. package/dist/commonjs/common/helper.js +350 -412
  448. package/dist/commonjs/common/helper.js.map +7 -1
  449. package/dist/commonjs/common/index.js +28 -10
  450. package/dist/commonjs/common/index.js.map +7 -1
  451. package/dist/commonjs/common/logger.js +29 -9
  452. package/dist/commonjs/common/logger.js.map +7 -1
  453. package/dist/commonjs/common/partitionKeys.js +28 -7
  454. package/dist/commonjs/common/partitionKeys.js.map +7 -1
  455. package/dist/commonjs/common/platform.d.ts +1 -1
  456. package/dist/commonjs/common/platform.d.ts.map +1 -1
  457. package/dist/commonjs/common/platform.js +55 -42
  458. package/dist/commonjs/common/platform.js.map +7 -1
  459. package/dist/commonjs/common/statusCodes.js +77 -60
  460. package/dist/commonjs/common/statusCodes.js.map +7 -1
  461. package/dist/commonjs/common/uriFactory.js +80 -195
  462. package/dist/commonjs/common/uriFactory.js.map +7 -1
  463. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js +33 -15
  464. package/dist/commonjs/diagnostics/CosmosDbDiagnosticLevel.js.map +7 -1
  465. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +146 -126
  466. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +7 -1
  467. package/dist/commonjs/diagnostics/DiagnosticFormatter.js +30 -10
  468. package/dist/commonjs/diagnostics/DiagnosticFormatter.js.map +7 -1
  469. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  470. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  471. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +317 -305
  472. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +7 -1
  473. package/dist/commonjs/diagnostics/DiagnosticWriter.js +36 -25
  474. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +7 -1
  475. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js +40 -24
  476. package/dist/commonjs/diagnostics/diagnosticLevelComparator.js.map +7 -1
  477. package/dist/commonjs/diagnostics/index.js +68 -34
  478. package/dist/commonjs/diagnostics/index.js.map +7 -1
  479. package/dist/commonjs/documents/ComputedProperty.js +16 -3
  480. package/dist/commonjs/documents/ComputedProperty.js.map +7 -1
  481. package/dist/commonjs/documents/ConnectionMode.js +31 -12
  482. package/dist/commonjs/documents/ConnectionMode.js.map +7 -1
  483. package/dist/commonjs/documents/ConnectionPolicy.js +44 -26
  484. package/dist/commonjs/documents/ConnectionPolicy.js.map +7 -1
  485. package/dist/commonjs/documents/ConsistencyLevel.js +35 -43
  486. package/dist/commonjs/documents/ConsistencyLevel.js.map +7 -1
  487. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js +77 -79
  488. package/dist/commonjs/documents/ContinuationToken/CompositeQueryContinuationToken.js.map +7 -1
  489. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js +49 -38
  490. package/dist/commonjs/documents/ContinuationToken/OrderByQueryContinuationToken.js.map +7 -1
  491. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js +16 -5
  492. package/dist/commonjs/documents/ContinuationToken/PartitionRangeUpdate.js.map +7 -1
  493. package/dist/commonjs/documents/DataType.js +36 -22
  494. package/dist/commonjs/documents/DataType.js.map +7 -1
  495. package/dist/commonjs/documents/DatabaseAccount.js +110 -100
  496. package/dist/commonjs/documents/DatabaseAccount.js.map +7 -1
  497. package/dist/commonjs/documents/Document.js +16 -3
  498. package/dist/commonjs/documents/Document.js.map +7 -1
  499. package/dist/commonjs/documents/FullTextPolicy.js +16 -5
  500. package/dist/commonjs/documents/FullTextPolicy.js.map +7 -1
  501. package/dist/commonjs/documents/GeospatialType.js +32 -13
  502. package/dist/commonjs/documents/GeospatialType.js.map +7 -1
  503. package/dist/commonjs/documents/IndexKind.js +32 -20
  504. package/dist/commonjs/documents/IndexKind.js.map +7 -1
  505. package/dist/commonjs/documents/IndexingMode.js +33 -27
  506. package/dist/commonjs/documents/IndexingMode.js.map +7 -1
  507. package/dist/commonjs/documents/IndexingPolicy.js +42 -30
  508. package/dist/commonjs/documents/IndexingPolicy.js.map +7 -1
  509. package/dist/commonjs/documents/PartitionKey.js +44 -27
  510. package/dist/commonjs/documents/PartitionKey.js.map +7 -1
  511. package/dist/commonjs/documents/PartitionKeyDefinition.js +16 -3
  512. package/dist/commonjs/documents/PartitionKeyDefinition.js.map +7 -1
  513. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js +32 -14
  514. package/dist/commonjs/documents/PartitionKeyDefinitionVersion.js.map +7 -1
  515. package/dist/commonjs/documents/PartitionKeyInternal.js +36 -28
  516. package/dist/commonjs/documents/PartitionKeyInternal.js.map +7 -1
  517. package/dist/commonjs/documents/PartitionKeyKind.js +32 -14
  518. package/dist/commonjs/documents/PartitionKeyKind.js.map +7 -1
  519. package/dist/commonjs/documents/PermissionMode.js +33 -18
  520. package/dist/commonjs/documents/PermissionMode.js.map +7 -1
  521. package/dist/commonjs/documents/PriorityLevel.js +32 -25
  522. package/dist/commonjs/documents/PriorityLevel.js.map +7 -1
  523. package/dist/commonjs/documents/TriggerOperation.js +35 -23
  524. package/dist/commonjs/documents/TriggerOperation.js.map +7 -1
  525. package/dist/commonjs/documents/TriggerType.js +32 -17
  526. package/dist/commonjs/documents/TriggerType.js.map +7 -1
  527. package/dist/commonjs/documents/UserDefinedFunctionType.js +31 -15
  528. package/dist/commonjs/documents/UserDefinedFunctionType.js.map +7 -1
  529. package/dist/commonjs/documents/VectorEmbeddingPolicy.js +42 -44
  530. package/dist/commonjs/documents/VectorEmbeddingPolicy.js.map +7 -1
  531. package/dist/commonjs/documents/index.d.ts +4 -4
  532. package/dist/commonjs/documents/index.d.ts.map +1 -1
  533. package/dist/commonjs/documents/index.js +58 -29
  534. package/dist/commonjs/documents/index.js.map +7 -1
  535. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  536. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  537. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +98 -71
  538. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +7 -1
  539. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js +28 -8
  540. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/index.js.map +7 -1
  541. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +38 -23
  542. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +7 -1
  543. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +53 -36
  544. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +7 -1
  545. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +47 -32
  546. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +7 -1
  547. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +100 -86
  548. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +7 -1
  549. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  550. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  551. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js +16 -5
  552. package/dist/commonjs/encryption/ClientEncryptionIncludedPath.js.map +7 -1
  553. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js +16 -5
  554. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyProperties.js.map +7 -1
  555. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js +16 -5
  556. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyRequest.js.map +7 -1
  557. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  558. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  559. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +35 -16
  560. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +7 -1
  561. package/dist/commonjs/encryption/ClientEncryptionKey/index.d.ts +2 -2
  562. package/dist/commonjs/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  563. package/dist/commonjs/encryption/ClientEncryptionKey/index.js +28 -8
  564. package/dist/commonjs/encryption/ClientEncryptionKey/index.js.map +7 -1
  565. package/dist/commonjs/encryption/ClientEncryptionOptions.js +16 -5
  566. package/dist/commonjs/encryption/ClientEncryptionOptions.js.map +7 -1
  567. package/dist/commonjs/encryption/ClientEncryptionPolicy.js +16 -5
  568. package/dist/commonjs/encryption/ClientEncryptionPolicy.js.map +7 -1
  569. package/dist/commonjs/encryption/CosmosEncryptedNumber.js +32 -20
  570. package/dist/commonjs/encryption/CosmosEncryptedNumber.js.map +7 -1
  571. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +130 -106
  572. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +7 -1
  573. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +52 -32
  574. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +7 -1
  575. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +37 -23
  576. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +7 -1
  577. package/dist/commonjs/encryption/EncryptionKey/index.js +31 -10
  578. package/dist/commonjs/encryption/EncryptionKey/index.js.map +7 -1
  579. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +113 -94
  580. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +7 -1
  581. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js +16 -5
  582. package/dist/commonjs/encryption/EncryptionKeyResolver/EncryptionKeyResolver.js.map +7 -1
  583. package/dist/commonjs/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  584. package/dist/commonjs/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  585. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js +28 -8
  586. package/dist/commonjs/encryption/EncryptionKeyResolver/index.js.map +7 -1
  587. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +83 -55
  588. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +7 -1
  589. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js +16 -5
  590. package/dist/commonjs/encryption/EncryptionKeyWrapMetadata.js.map +7 -1
  591. package/dist/commonjs/encryption/EncryptionManager.js +58 -42
  592. package/dist/commonjs/encryption/EncryptionManager.js.map +7 -1
  593. package/dist/commonjs/encryption/EncryptionProcessor.js +346 -284
  594. package/dist/commonjs/encryption/EncryptionProcessor.js.map +7 -1
  595. package/dist/commonjs/encryption/EncryptionQueryBuilder.d.ts +2 -2
  596. package/dist/commonjs/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  597. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +110 -99
  598. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +7 -1
  599. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +65 -33
  600. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +7 -1
  601. package/dist/commonjs/encryption/EncryptionSettings.js +46 -30
  602. package/dist/commonjs/encryption/EncryptionSettings.js.map +7 -1
  603. package/dist/commonjs/encryption/KeyEncryptionKey.js +52 -28
  604. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +7 -1
  605. package/dist/commonjs/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  606. package/dist/commonjs/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  607. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js +38 -18
  608. package/dist/commonjs/encryption/Serializers/BooleanSerializer.js.map +7 -1
  609. package/dist/commonjs/encryption/Serializers/FloatSerializer.d.ts +1 -1
  610. package/dist/commonjs/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  611. package/dist/commonjs/encryption/Serializers/FloatSerializer.js +40 -20
  612. package/dist/commonjs/encryption/Serializers/FloatSerializer.js.map +7 -1
  613. package/dist/commonjs/encryption/Serializers/NumberSerializer.js +39 -19
  614. package/dist/commonjs/encryption/Serializers/NumberSerializer.js.map +7 -1
  615. package/dist/commonjs/encryption/Serializers/Serializer.js +16 -5
  616. package/dist/commonjs/encryption/Serializers/Serializer.js.map +7 -1
  617. package/dist/commonjs/encryption/Serializers/StringSerializer.d.ts +1 -1
  618. package/dist/commonjs/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  619. package/dist/commonjs/encryption/Serializers/StringSerializer.js +34 -14
  620. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +7 -1
  621. package/dist/commonjs/encryption/Serializers/index.d.ts +1 -1
  622. package/dist/commonjs/encryption/Serializers/index.d.ts.map +1 -1
  623. package/dist/commonjs/encryption/Serializers/index.js +37 -14
  624. package/dist/commonjs/encryption/Serializers/index.js.map +7 -1
  625. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js +31 -13
  626. package/dist/commonjs/encryption/enums/EncryptionAlgorithm.js.map +7 -1
  627. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js +31 -12
  628. package/dist/commonjs/encryption/enums/EncryptionKeyResolverName.js.map +7 -1
  629. package/dist/commonjs/encryption/enums/EncryptionType.js +32 -16
  630. package/dist/commonjs/encryption/enums/EncryptionType.js.map +7 -1
  631. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js +31 -12
  632. package/dist/commonjs/encryption/enums/KeyEncryptionAlgorithm.js.map +7 -1
  633. package/dist/commonjs/encryption/enums/TypeMarker.js +35 -14
  634. package/dist/commonjs/encryption/enums/TypeMarker.js.map +7 -1
  635. package/dist/commonjs/encryption/enums/index.js +37 -14
  636. package/dist/commonjs/encryption/enums/index.js.map +7 -1
  637. package/dist/commonjs/encryption/index.d.ts +5 -5
  638. package/dist/commonjs/encryption/index.d.ts.map +1 -1
  639. package/dist/commonjs/encryption/index.js +56 -26
  640. package/dist/commonjs/encryption/index.js.map +7 -1
  641. package/dist/commonjs/extractPartitionKey.js +93 -91
  642. package/dist/commonjs/extractPartitionKey.js.map +7 -1
  643. package/dist/commonjs/globalEndpointManager.js +366 -357
  644. package/dist/commonjs/globalEndpointManager.js.map +7 -1
  645. package/dist/commonjs/globalPartitionEndpointManager.d.ts +2 -1
  646. package/dist/commonjs/globalPartitionEndpointManager.d.ts.map +1 -1
  647. package/dist/commonjs/globalPartitionEndpointManager.js +324 -297
  648. package/dist/commonjs/globalPartitionEndpointManager.js.map +7 -1
  649. package/dist/commonjs/index.d.ts +16 -16
  650. package/dist/commonjs/index.d.ts.map +1 -1
  651. package/dist/commonjs/index.js +178 -96
  652. package/dist/commonjs/index.js.map +7 -1
  653. package/dist/commonjs/plugins/Plugin.js +51 -44
  654. package/dist/commonjs/plugins/Plugin.js.map +7 -1
  655. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js +16 -3
  656. package/dist/commonjs/queryExecutionContext/Aggregators/Aggregator.js.map +7 -1
  657. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +50 -29
  658. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +7 -1
  659. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +47 -26
  660. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +7 -1
  661. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +65 -54
  662. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +7 -1
  663. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +39 -18
  664. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +7 -1
  665. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +47 -29
  666. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +7 -1
  667. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +55 -38
  668. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +7 -1
  669. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +59 -43
  670. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +7 -1
  671. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +35 -14
  672. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +7 -1
  673. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +45 -25
  674. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +7 -1
  675. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts +1 -1
  676. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  677. package/dist/commonjs/queryExecutionContext/Aggregators/index.js +64 -39
  678. package/dist/commonjs/queryExecutionContext/Aggregators/index.js.map +7 -1
  679. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +182 -166
  680. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +7 -1
  681. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js +46 -30
  682. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ContinuationTokenManagerFactory.js.map +7 -1
  683. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +147 -124
  684. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +7 -1
  685. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +71 -65
  686. package/dist/commonjs/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +7 -1
  687. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js +39 -24
  688. package/dist/commonjs/queryExecutionContext/ContinuationTokenParser.js.map +7 -1
  689. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js +16 -3
  690. package/dist/commonjs/queryExecutionContext/CosmosHeaders.js.map +7 -1
  691. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +113 -107
  692. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +7 -1
  693. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +118 -107
  694. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +7 -1
  695. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +169 -155
  696. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +7 -1
  697. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +158 -143
  698. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +7 -1
  699. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +85 -64
  700. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +7 -1
  701. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +82 -58
  702. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +7 -1
  703. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +72 -48
  704. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +7 -1
  705. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +61 -42
  706. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +7 -1
  707. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js +31 -13
  708. package/dist/commonjs/queryExecutionContext/EndpointComponent/emptyGroup.js.map +7 -1
  709. package/dist/commonjs/queryExecutionContext/ExecutionContext.js +16 -3
  710. package/dist/commonjs/queryExecutionContext/ExecutionContext.js.map +7 -1
  711. package/dist/commonjs/queryExecutionContext/FetchResult.js +56 -38
  712. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +7 -1
  713. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js +62 -55
  714. package/dist/commonjs/queryExecutionContext/LegacyFetchImplementation.js.map +7 -1
  715. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  716. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  717. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js +152 -155
  718. package/dist/commonjs/queryExecutionContext/PartitionRangeManager.js.map +7 -1
  719. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js +94 -102
  720. package/dist/commonjs/queryExecutionContext/PartitionRangeUtils.js.map +7 -1
  721. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js +113 -89
  722. package/dist/commonjs/queryExecutionContext/QueryControlFetchImplementation.js.map +7 -1
  723. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js +64 -66
  724. package/dist/commonjs/queryExecutionContext/QueryValidationHelper.js.map +7 -1
  725. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js +16 -3
  726. package/dist/commonjs/queryExecutionContext/SqlQuerySpec.js.map +7 -1
  727. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +220 -191
  728. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +7 -1
  729. package/dist/commonjs/queryExecutionContext/documentProducer.js +286 -276
  730. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +7 -1
  731. package/dist/commonjs/queryExecutionContext/headerUtils.js +95 -89
  732. package/dist/commonjs/queryExecutionContext/headerUtils.js.map +7 -1
  733. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +499 -481
  734. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +7 -1
  735. package/dist/commonjs/queryExecutionContext/index.d.ts +2 -2
  736. package/dist/commonjs/queryExecutionContext/index.d.ts.map +1 -1
  737. package/dist/commonjs/queryExecutionContext/index.js +62 -29
  738. package/dist/commonjs/queryExecutionContext/index.js.map +7 -1
  739. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js +16 -5
  740. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResponse.js.map +7 -1
  741. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js +16 -5
  742. package/dist/commonjs/queryExecutionContext/nonStreamingOrderByResult.js.map +7 -1
  743. package/dist/commonjs/queryExecutionContext/orderByComparator.js +107 -113
  744. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +7 -1
  745. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +145 -134
  746. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +7 -1
  747. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +91 -61
  748. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +7 -1
  749. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js +86 -68
  750. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContext.js.map +7 -1
  751. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  752. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  753. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +842 -788
  754. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +7 -1
  755. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js +36 -24
  756. package/dist/commonjs/queryExecutionContext/parallelQueryResult.js.map +7 -1
  757. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +286 -228
  758. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +7 -1
  759. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js +16 -5
  760. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/FilterStrategy.js.map +7 -1
  761. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  762. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  763. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +263 -299
  764. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +7 -1
  765. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  766. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  767. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +94 -98
  768. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +7 -1
  769. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js +149 -177
  770. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/RidSkipCountFilter.js.map +7 -1
  771. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js +105 -92
  772. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeManager.js.map +7 -1
  773. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js +16 -5
  774. package/dist/commonjs/queryExecutionContext/queryFilteringStrategy/TargetPartitionRangeStrategy.js.map +7 -1
  775. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js +68 -55
  776. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/OrderByQueryProcessingStrategy.js.map +7 -1
  777. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js +52 -36
  778. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/ParallelQueryProcessingStrategy.js.map +7 -1
  779. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js +16 -5
  780. package/dist/commonjs/queryExecutionContext/queryProcessingStrategy/QueryProcessingStrategy.js.map +7 -1
  781. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js +16 -5
  782. package/dist/commonjs/queryExecutionContext/queryRangeMapping.js.map +7 -1
  783. package/dist/commonjs/queryIterator.js +411 -354
  784. package/dist/commonjs/queryIterator.js.map +7 -1
  785. package/dist/commonjs/queryMetrics/clientSideMetrics.js +49 -29
  786. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +7 -1
  787. package/dist/commonjs/queryMetrics/index.js +53 -19
  788. package/dist/commonjs/queryMetrics/index.js.map +7 -1
  789. package/dist/commonjs/queryMetrics/queryMetrics.js +189 -159
  790. package/dist/commonjs/queryMetrics/queryMetrics.js.map +7 -1
  791. package/dist/commonjs/queryMetrics/queryMetricsConstants.js +75 -57
  792. package/dist/commonjs/queryMetrics/queryMetricsConstants.js.map +7 -1
  793. package/dist/commonjs/queryMetrics/queryMetricsUtils.js +52 -38
  794. package/dist/commonjs/queryMetrics/queryMetricsUtils.js.map +7 -1
  795. package/dist/commonjs/queryMetrics/queryPreparationTime.js +110 -65
  796. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +7 -1
  797. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +120 -68
  798. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +7 -1
  799. package/dist/commonjs/queryMetrics/timeSpan.js +206 -217
  800. package/dist/commonjs/queryMetrics/timeSpan.js.map +7 -1
  801. package/dist/commonjs/request/ErrorResponse.js +46 -27
  802. package/dist/commonjs/request/ErrorResponse.js.map +7 -1
  803. package/dist/commonjs/request/FeedOptions.js +16 -3
  804. package/dist/commonjs/request/FeedOptions.js.map +7 -1
  805. package/dist/commonjs/request/FeedResponse.js +60 -40
  806. package/dist/commonjs/request/FeedResponse.js.map +7 -1
  807. package/dist/commonjs/request/RequestContext.js +16 -3
  808. package/dist/commonjs/request/RequestContext.js.map +7 -1
  809. package/dist/commonjs/request/RequestHandler.js +173 -153
  810. package/dist/commonjs/request/RequestHandler.js.map +7 -1
  811. package/dist/commonjs/request/RequestOptions.js +16 -3
  812. package/dist/commonjs/request/RequestOptions.js.map +7 -1
  813. package/dist/commonjs/request/ResourceResponse.js +49 -27
  814. package/dist/commonjs/request/ResourceResponse.js.map +7 -1
  815. package/dist/commonjs/request/Response.js +16 -3
  816. package/dist/commonjs/request/Response.js.map +7 -1
  817. package/dist/commonjs/request/SharedOptions.js +16 -3
  818. package/dist/commonjs/request/SharedOptions.js.map +7 -1
  819. package/dist/commonjs/request/StatusCodes.js +16 -5
  820. package/dist/commonjs/request/StatusCodes.js.map +7 -1
  821. package/dist/commonjs/request/TimeoutError.js +35 -16
  822. package/dist/commonjs/request/TimeoutError.js.map +7 -1
  823. package/dist/commonjs/request/defaultAgent.js +46 -18
  824. package/dist/commonjs/request/defaultAgent.js.map +7 -1
  825. package/dist/commonjs/request/globalStatistics.js +16 -5
  826. package/dist/commonjs/request/globalStatistics.js.map +7 -1
  827. package/dist/commonjs/request/hybridSearchQueryResult.d.ts +1 -1
  828. package/dist/commonjs/request/hybridSearchQueryResult.d.ts.map +1 -1
  829. package/dist/commonjs/request/hybridSearchQueryResult.js +62 -45
  830. package/dist/commonjs/request/hybridSearchQueryResult.js.map +7 -1
  831. package/dist/commonjs/request/index.d.ts +8 -8
  832. package/dist/commonjs/request/index.d.ts.map +1 -1
  833. package/dist/commonjs/request/index.js +37 -16
  834. package/dist/commonjs/request/index.js.map +7 -1
  835. package/dist/commonjs/request/request.js +188 -186
  836. package/dist/commonjs/request/request.js.map +7 -1
  837. package/dist/commonjs/retry/RetryContext.js +16 -3
  838. package/dist/commonjs/retry/RetryContext.js.map +7 -1
  839. package/dist/commonjs/retry/RetryPolicy.js +16 -3
  840. package/dist/commonjs/retry/RetryPolicy.js.map +7 -1
  841. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +65 -56
  842. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +7 -1
  843. package/dist/commonjs/retry/defaultRetryPolicy.js +68 -115
  844. package/dist/commonjs/retry/defaultRetryPolicy.js.map +7 -1
  845. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  846. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  847. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +98 -73
  848. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +7 -1
  849. package/dist/commonjs/retry/index.d.ts +1 -1
  850. package/dist/commonjs/retry/index.d.ts.map +1 -1
  851. package/dist/commonjs/retry/index.js +30 -12
  852. package/dist/commonjs/retry/index.js.map +7 -1
  853. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +74 -61
  854. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +7 -1
  855. package/dist/commonjs/retry/retryOptions.js +16 -3
  856. package/dist/commonjs/retry/retryOptions.js.map +7 -1
  857. package/dist/commonjs/retry/retryUtility.js +169 -133
  858. package/dist/commonjs/retry/retryUtility.js.map +7 -1
  859. package/dist/commonjs/retry/sessionRetryPolicy.js +84 -73
  860. package/dist/commonjs/retry/sessionRetryPolicy.js.map +7 -1
  861. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  862. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  863. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +124 -119
  864. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +7 -1
  865. package/dist/commonjs/routing/CollectionRoutingMapFactory.js +70 -67
  866. package/dist/commonjs/routing/CollectionRoutingMapFactory.js.map +7 -1
  867. package/dist/commonjs/routing/QueryRange.js +93 -66
  868. package/dist/commonjs/routing/QueryRange.js.map +7 -1
  869. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +112 -84
  870. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +7 -1
  871. package/dist/commonjs/routing/index.js +28 -10
  872. package/dist/commonjs/routing/index.js.map +7 -1
  873. package/dist/commonjs/routing/partitionKeyRangeCache.js +83 -56
  874. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +7 -1
  875. package/dist/commonjs/routing/smartRoutingMapProvider.js +131 -110
  876. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +7 -1
  877. package/dist/commonjs/session/SessionContext.js +16 -3
  878. package/dist/commonjs/session/SessionContext.js.map +7 -1
  879. package/dist/commonjs/session/VectorSessionToken.js +130 -125
  880. package/dist/commonjs/session/VectorSessionToken.js.map +7 -1
  881. package/dist/commonjs/session/sessionContainer.js +135 -127
  882. package/dist/commonjs/session/sessionContainer.js.map +7 -1
  883. package/dist/commonjs/tsdoc-metadata.json +1 -1
  884. package/dist/commonjs/utils/SasToken.js +101 -120
  885. package/dist/commonjs/utils/SasToken.js.map +7 -1
  886. package/dist/commonjs/utils/atob.js +24 -7
  887. package/dist/commonjs/utils/atob.js.map +7 -1
  888. package/dist/commonjs/utils/batch.js +196 -197
  889. package/dist/commonjs/utils/batch.js.map +7 -1
  890. package/dist/commonjs/utils/cachedClient.js +32 -11
  891. package/dist/commonjs/utils/cachedClient.js.map +7 -1
  892. package/dist/commonjs/utils/checkURL.js +34 -14
  893. package/dist/commonjs/utils/checkURL.js.map +7 -1
  894. package/dist/commonjs/utils/diagnostics.js +107 -118
  895. package/dist/commonjs/utils/diagnostics.js.map +7 -1
  896. package/dist/commonjs/utils/digest.js +31 -10
  897. package/dist/commonjs/utils/digest.js.map +7 -1
  898. package/dist/commonjs/utils/encode.js +44 -23
  899. package/dist/commonjs/utils/encode.js.map +7 -1
  900. package/dist/commonjs/utils/envUtils.js +40 -10
  901. package/dist/commonjs/utils/envUtils.js.map +7 -1
  902. package/dist/commonjs/utils/fixedSizePriorityQueue.js +86 -55
  903. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +7 -1
  904. package/dist/commonjs/utils/globalCrypto.js +29 -10
  905. package/dist/commonjs/utils/globalCrypto.js.map +7 -1
  906. package/dist/commonjs/utils/hashObject.js +41 -11
  907. package/dist/commonjs/utils/hashObject.js.map +7 -1
  908. package/dist/commonjs/utils/hashing/encoding/number.js +73 -56
  909. package/dist/commonjs/utils/hashing/encoding/number.js.map +7 -1
  910. package/dist/commonjs/utils/hashing/encoding/prefix.js +50 -29
  911. package/dist/commonjs/utils/hashing/encoding/prefix.js.map +7 -1
  912. package/dist/commonjs/utils/hashing/encoding/string.js +45 -27
  913. package/dist/commonjs/utils/hashing/encoding/string.js.map +7 -1
  914. package/dist/commonjs/utils/hashing/hash.d.ts +1 -1
  915. package/dist/commonjs/utils/hashing/hash.d.ts.map +1 -1
  916. package/dist/commonjs/utils/hashing/hash.js +55 -43
  917. package/dist/commonjs/utils/hashing/hash.js.map +7 -1
  918. package/dist/commonjs/utils/hashing/multiHash.js +29 -11
  919. package/dist/commonjs/utils/hashing/multiHash.js.map +7 -1
  920. package/dist/commonjs/utils/hashing/murmurHash.js +362 -412
  921. package/dist/commonjs/utils/hashing/murmurHash.js.map +7 -1
  922. package/dist/commonjs/utils/hashing/v1.js +101 -71
  923. package/dist/commonjs/utils/hashing/v1.js.map +7 -1
  924. package/dist/commonjs/utils/hashing/v2.js +84 -63
  925. package/dist/commonjs/utils/hashing/v2.js.map +7 -1
  926. package/dist/commonjs/utils/headers.js +45 -33
  927. package/dist/commonjs/utils/headers.js.map +7 -1
  928. package/dist/commonjs/utils/hmac.js +29 -8
  929. package/dist/commonjs/utils/hmac.js.map +7 -1
  930. package/dist/commonjs/utils/nonStreamingOrderByMap.js +64 -52
  931. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +7 -1
  932. package/dist/commonjs/utils/offers.js +36 -13
  933. package/dist/commonjs/utils/offers.js.map +7 -1
  934. package/dist/commonjs/utils/patch.js +33 -12
  935. package/dist/commonjs/utils/patch.js.map +7 -1
  936. package/dist/commonjs/utils/strings.js +28 -7
  937. package/dist/commonjs/utils/strings.js.map +7 -1
  938. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js +37 -16
  939. package/dist/commonjs/utils/supportedQueryFeaturesBuilder.js.map +7 -1
  940. package/dist/commonjs/utils/time.js +39 -30
  941. package/dist/commonjs/utils/time.js.map +7 -1
  942. package/dist/commonjs/utils/tracing.js +33 -17
  943. package/dist/commonjs/utils/tracing.js.map +7 -1
  944. package/dist/commonjs/utils/typeChecks.js +50 -60
  945. package/dist/commonjs/utils/typeChecks.js.map +7 -1
  946. package/dist/commonjs/utils/types.js +16 -5
  947. package/dist/commonjs/utils/types.js.map +7 -1
  948. package/dist/commonjs/utils/uint8.js +45 -24
  949. package/dist/commonjs/utils/uint8.js.map +7 -1
  950. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  951. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  952. package/dist/esm/PartitionKeyRangeFailoverInfo.js +0 -2
  953. package/dist/esm/PartitionKeyRangeFailoverInfo.js.map +1 -1
  954. package/dist/esm/bulk/index.d.ts +1 -1
  955. package/dist/esm/bulk/index.d.ts.map +1 -1
  956. package/dist/esm/bulk/index.js.map +1 -1
  957. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  958. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  959. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  960. package/dist/esm/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  961. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  962. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  963. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  964. package/dist/esm/client/ChangeFeed/index.d.ts +2 -2
  965. package/dist/esm/client/ChangeFeed/index.d.ts.map +1 -1
  966. package/dist/esm/client/ChangeFeed/index.js.map +1 -1
  967. package/dist/esm/client/ClientUtils.d.ts +1 -1
  968. package/dist/esm/client/ClientUtils.d.ts.map +1 -1
  969. package/dist/esm/client/ClientUtils.js.map +1 -1
  970. package/dist/esm/client/Conflict/index.d.ts +2 -2
  971. package/dist/esm/client/Conflict/index.d.ts.map +1 -1
  972. package/dist/esm/client/Conflict/index.js.map +1 -1
  973. package/dist/esm/client/Container/ContainerDefinition.d.ts +1 -1
  974. package/dist/esm/client/Container/ContainerDefinition.d.ts.map +1 -1
  975. package/dist/esm/client/Container/ContainerDefinition.js.map +1 -1
  976. package/dist/esm/client/Container/index.d.ts +4 -4
  977. package/dist/esm/client/Container/index.d.ts.map +1 -1
  978. package/dist/esm/client/Container/index.js.map +1 -1
  979. package/dist/esm/client/Database/index.d.ts +2 -2
  980. package/dist/esm/client/Database/index.d.ts.map +1 -1
  981. package/dist/esm/client/Database/index.js.map +1 -1
  982. package/dist/esm/client/Item/Items.d.ts.map +1 -1
  983. package/dist/esm/client/Item/Items.js.map +1 -1
  984. package/dist/esm/client/Item/index.d.ts +1 -1
  985. package/dist/esm/client/Item/index.d.ts.map +1 -1
  986. package/dist/esm/client/Item/index.js.map +1 -1
  987. package/dist/esm/client/Offer/index.d.ts +1 -1
  988. package/dist/esm/client/Offer/index.d.ts.map +1 -1
  989. package/dist/esm/client/Offer/index.js.map +1 -1
  990. package/dist/esm/client/Permission/index.d.ts +2 -2
  991. package/dist/esm/client/Permission/index.d.ts.map +1 -1
  992. package/dist/esm/client/Permission/index.js.map +1 -1
  993. package/dist/esm/client/StoredProcedure/index.d.ts +1 -1
  994. package/dist/esm/client/StoredProcedure/index.d.ts.map +1 -1
  995. package/dist/esm/client/StoredProcedure/index.js.map +1 -1
  996. package/dist/esm/client/Trigger/index.d.ts +1 -1
  997. package/dist/esm/client/Trigger/index.d.ts.map +1 -1
  998. package/dist/esm/client/Trigger/index.js.map +1 -1
  999. package/dist/esm/client/User/index.d.ts +1 -1
  1000. package/dist/esm/client/User/index.d.ts.map +1 -1
  1001. package/dist/esm/client/User/index.js.map +1 -1
  1002. package/dist/esm/client/UserDefinedFunction/index.d.ts +1 -1
  1003. package/dist/esm/client/UserDefinedFunction/index.d.ts.map +1 -1
  1004. package/dist/esm/client/UserDefinedFunction/index.js.map +1 -1
  1005. package/dist/esm/client/index.d.ts +1 -1
  1006. package/dist/esm/client/index.d.ts.map +1 -1
  1007. package/dist/esm/client/index.js +0 -1
  1008. package/dist/esm/client/index.js.map +1 -1
  1009. package/dist/esm/common/constants.js +1 -1
  1010. package/dist/esm/common/constants.js.map +1 -1
  1011. package/dist/esm/common/helper.d.ts +4 -4
  1012. package/dist/esm/common/helper.d.ts.map +1 -1
  1013. package/dist/esm/common/helper.js.map +1 -1
  1014. package/dist/esm/common/platform.d.ts +1 -1
  1015. package/dist/esm/common/platform.d.ts.map +1 -1
  1016. package/dist/esm/common/platform.js.map +1 -1
  1017. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  1018. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1019. package/dist/esm/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1020. package/dist/esm/documents/index.d.ts +4 -4
  1021. package/dist/esm/documents/index.d.ts.map +1 -1
  1022. package/dist/esm/documents/index.js +0 -4
  1023. package/dist/esm/documents/index.js.map +1 -1
  1024. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  1025. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  1026. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1027. package/dist/esm/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  1028. package/dist/esm/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  1029. package/dist/esm/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  1030. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  1031. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  1032. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1033. package/dist/esm/encryption/ClientEncryptionKey/index.d.ts +2 -2
  1034. package/dist/esm/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  1035. package/dist/esm/encryption/ClientEncryptionKey/index.js.map +1 -1
  1036. package/dist/esm/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  1037. package/dist/esm/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  1038. package/dist/esm/encryption/EncryptionKeyResolver/index.js.map +1 -1
  1039. package/dist/esm/encryption/EncryptionQueryBuilder.d.ts +2 -2
  1040. package/dist/esm/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  1041. package/dist/esm/encryption/EncryptionQueryBuilder.js.map +1 -1
  1042. package/dist/esm/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  1043. package/dist/esm/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  1044. package/dist/esm/encryption/Serializers/BooleanSerializer.js.map +1 -1
  1045. package/dist/esm/encryption/Serializers/FloatSerializer.d.ts +1 -1
  1046. package/dist/esm/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  1047. package/dist/esm/encryption/Serializers/FloatSerializer.js.map +1 -1
  1048. package/dist/esm/encryption/Serializers/StringSerializer.d.ts +1 -1
  1049. package/dist/esm/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  1050. package/dist/esm/encryption/Serializers/StringSerializer.js.map +1 -1
  1051. package/dist/esm/encryption/Serializers/index.d.ts +1 -1
  1052. package/dist/esm/encryption/Serializers/index.d.ts.map +1 -1
  1053. package/dist/esm/encryption/Serializers/index.js.map +1 -1
  1054. package/dist/esm/encryption/index.d.ts +5 -5
  1055. package/dist/esm/encryption/index.d.ts.map +1 -1
  1056. package/dist/esm/encryption/index.js.map +1 -1
  1057. package/dist/esm/globalPartitionEndpointManager.d.ts +2 -1
  1058. package/dist/esm/globalPartitionEndpointManager.d.ts.map +1 -1
  1059. package/dist/esm/globalPartitionEndpointManager.js.map +1 -1
  1060. package/dist/esm/index.d.ts +16 -16
  1061. package/dist/esm/index.d.ts.map +1 -1
  1062. package/dist/esm/index.js +1 -1
  1063. package/dist/esm/index.js.map +1 -1
  1064. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts +1 -1
  1065. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  1066. package/dist/esm/queryExecutionContext/Aggregators/index.js.map +1 -1
  1067. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  1068. package/dist/esm/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  1069. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  1070. package/dist/esm/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  1071. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  1072. package/dist/esm/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  1073. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  1074. package/dist/esm/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  1075. package/dist/esm/queryExecutionContext/PartitionRangeManager.js +13 -12
  1076. package/dist/esm/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  1077. package/dist/esm/queryExecutionContext/index.d.ts +2 -2
  1078. package/dist/esm/queryExecutionContext/index.d.ts.map +1 -1
  1079. package/dist/esm/queryExecutionContext/index.js +0 -2
  1080. package/dist/esm/queryExecutionContext/index.js.map +1 -1
  1081. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  1082. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  1083. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1084. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  1085. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  1086. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  1087. package/dist/esm/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  1088. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  1089. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  1090. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  1091. package/dist/esm/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  1092. package/dist/esm/request/hybridSearchQueryResult.d.ts +1 -1
  1093. package/dist/esm/request/hybridSearchQueryResult.d.ts.map +1 -1
  1094. package/dist/esm/request/hybridSearchQueryResult.js.map +1 -1
  1095. package/dist/esm/request/index.d.ts +8 -8
  1096. package/dist/esm/request/index.d.ts.map +1 -1
  1097. package/dist/esm/request/index.js +0 -1
  1098. package/dist/esm/request/index.js.map +1 -1
  1099. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  1100. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1101. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1102. package/dist/esm/retry/index.d.ts +1 -1
  1103. package/dist/esm/retry/index.d.ts.map +1 -1
  1104. package/dist/esm/retry/index.js +0 -3
  1105. package/dist/esm/retry/index.js.map +1 -1
  1106. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  1107. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1108. package/dist/esm/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1109. package/dist/esm/utils/hashing/hash.d.ts +1 -1
  1110. package/dist/esm/utils/hashing/hash.d.ts.map +1 -1
  1111. package/dist/esm/utils/hashing/hash.js.map +1 -1
  1112. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts +1 -1
  1113. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts.map +1 -1
  1114. package/dist/react-native/PartitionKeyRangeFailoverInfo.js +0 -2
  1115. package/dist/react-native/PartitionKeyRangeFailoverInfo.js.map +1 -1
  1116. package/dist/react-native/bulk/index.d.ts +1 -1
  1117. package/dist/react-native/bulk/index.d.ts.map +1 -1
  1118. package/dist/react-native/bulk/index.js.map +1 -1
  1119. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts +2 -2
  1120. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  1121. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  1122. package/dist/react-native/client/ChangeFeed/buildChangeFeedIterator.js.map +1 -1
  1123. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts +4 -4
  1124. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  1125. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  1126. package/dist/react-native/client/ChangeFeed/index.d.ts +2 -2
  1127. package/dist/react-native/client/ChangeFeed/index.d.ts.map +1 -1
  1128. package/dist/react-native/client/ChangeFeed/index.js.map +1 -1
  1129. package/dist/react-native/client/ClientUtils.d.ts +1 -1
  1130. package/dist/react-native/client/ClientUtils.d.ts.map +1 -1
  1131. package/dist/react-native/client/ClientUtils.js.map +1 -1
  1132. package/dist/react-native/client/Conflict/index.d.ts +2 -2
  1133. package/dist/react-native/client/Conflict/index.d.ts.map +1 -1
  1134. package/dist/react-native/client/Conflict/index.js.map +1 -1
  1135. package/dist/react-native/client/Container/ContainerDefinition.d.ts +1 -1
  1136. package/dist/react-native/client/Container/ContainerDefinition.d.ts.map +1 -1
  1137. package/dist/react-native/client/Container/ContainerDefinition.js.map +1 -1
  1138. package/dist/react-native/client/Container/index.d.ts +4 -4
  1139. package/dist/react-native/client/Container/index.d.ts.map +1 -1
  1140. package/dist/react-native/client/Container/index.js.map +1 -1
  1141. package/dist/react-native/client/Database/index.d.ts +2 -2
  1142. package/dist/react-native/client/Database/index.d.ts.map +1 -1
  1143. package/dist/react-native/client/Database/index.js.map +1 -1
  1144. package/dist/react-native/client/Item/Items.d.ts.map +1 -1
  1145. package/dist/react-native/client/Item/Items.js.map +1 -1
  1146. package/dist/react-native/client/Item/index.d.ts +1 -1
  1147. package/dist/react-native/client/Item/index.d.ts.map +1 -1
  1148. package/dist/react-native/client/Item/index.js.map +1 -1
  1149. package/dist/react-native/client/Offer/index.d.ts +1 -1
  1150. package/dist/react-native/client/Offer/index.d.ts.map +1 -1
  1151. package/dist/react-native/client/Offer/index.js.map +1 -1
  1152. package/dist/react-native/client/Permission/index.d.ts +2 -2
  1153. package/dist/react-native/client/Permission/index.d.ts.map +1 -1
  1154. package/dist/react-native/client/Permission/index.js.map +1 -1
  1155. package/dist/react-native/client/StoredProcedure/index.d.ts +1 -1
  1156. package/dist/react-native/client/StoredProcedure/index.d.ts.map +1 -1
  1157. package/dist/react-native/client/StoredProcedure/index.js.map +1 -1
  1158. package/dist/react-native/client/Trigger/index.d.ts +1 -1
  1159. package/dist/react-native/client/Trigger/index.d.ts.map +1 -1
  1160. package/dist/react-native/client/Trigger/index.js.map +1 -1
  1161. package/dist/react-native/client/User/index.d.ts +1 -1
  1162. package/dist/react-native/client/User/index.d.ts.map +1 -1
  1163. package/dist/react-native/client/User/index.js.map +1 -1
  1164. package/dist/react-native/client/UserDefinedFunction/index.d.ts +1 -1
  1165. package/dist/react-native/client/UserDefinedFunction/index.d.ts.map +1 -1
  1166. package/dist/react-native/client/UserDefinedFunction/index.js.map +1 -1
  1167. package/dist/react-native/client/index.d.ts +1 -1
  1168. package/dist/react-native/client/index.d.ts.map +1 -1
  1169. package/dist/react-native/client/index.js +0 -1
  1170. package/dist/react-native/client/index.js.map +1 -1
  1171. package/dist/react-native/common/constants.js +1 -1
  1172. package/dist/react-native/common/constants.js.map +1 -1
  1173. package/dist/react-native/common/helper.d.ts +4 -4
  1174. package/dist/react-native/common/helper.d.ts.map +1 -1
  1175. package/dist/react-native/common/helper.js.map +1 -1
  1176. package/dist/react-native/common/platform.d.ts +1 -1
  1177. package/dist/react-native/common/platform.d.ts.map +1 -1
  1178. package/dist/react-native/common/platform.js.map +1 -1
  1179. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts +1 -1
  1180. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1181. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1182. package/dist/react-native/documents/index.d.ts +4 -4
  1183. package/dist/react-native/documents/index.d.ts.map +1 -1
  1184. package/dist/react-native/documents/index.js +0 -4
  1185. package/dist/react-native/documents/index.js.map +1 -1
  1186. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts +1 -1
  1187. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.d.ts.map +1 -1
  1188. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1189. package/dist/react-native/encryption/ClientEncryptionIncludedPath.d.ts +1 -1
  1190. package/dist/react-native/encryption/ClientEncryptionIncludedPath.d.ts.map +1 -1
  1191. package/dist/react-native/encryption/ClientEncryptionIncludedPath.js.map +1 -1
  1192. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts +4 -4
  1193. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.d.ts.map +1 -1
  1194. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1195. package/dist/react-native/encryption/ClientEncryptionKey/index.d.ts +2 -2
  1196. package/dist/react-native/encryption/ClientEncryptionKey/index.d.ts.map +1 -1
  1197. package/dist/react-native/encryption/ClientEncryptionKey/index.js.map +1 -1
  1198. package/dist/react-native/encryption/EncryptionKeyResolver/index.d.ts +1 -1
  1199. package/dist/react-native/encryption/EncryptionKeyResolver/index.d.ts.map +1 -1
  1200. package/dist/react-native/encryption/EncryptionKeyResolver/index.js.map +1 -1
  1201. package/dist/react-native/encryption/EncryptionQueryBuilder.d.ts +2 -2
  1202. package/dist/react-native/encryption/EncryptionQueryBuilder.d.ts.map +1 -1
  1203. package/dist/react-native/encryption/EncryptionQueryBuilder.js.map +1 -1
  1204. package/dist/react-native/encryption/Serializers/BooleanSerializer.d.ts +1 -1
  1205. package/dist/react-native/encryption/Serializers/BooleanSerializer.d.ts.map +1 -1
  1206. package/dist/react-native/encryption/Serializers/BooleanSerializer.js.map +1 -1
  1207. package/dist/react-native/encryption/Serializers/FloatSerializer.d.ts +1 -1
  1208. package/dist/react-native/encryption/Serializers/FloatSerializer.d.ts.map +1 -1
  1209. package/dist/react-native/encryption/Serializers/FloatSerializer.js.map +1 -1
  1210. package/dist/react-native/encryption/Serializers/StringSerializer.d.ts +1 -1
  1211. package/dist/react-native/encryption/Serializers/StringSerializer.d.ts.map +1 -1
  1212. package/dist/react-native/encryption/Serializers/StringSerializer.js.map +1 -1
  1213. package/dist/react-native/encryption/Serializers/index.d.ts +1 -1
  1214. package/dist/react-native/encryption/Serializers/index.d.ts.map +1 -1
  1215. package/dist/react-native/encryption/Serializers/index.js.map +1 -1
  1216. package/dist/react-native/encryption/index.d.ts +5 -5
  1217. package/dist/react-native/encryption/index.d.ts.map +1 -1
  1218. package/dist/react-native/encryption/index.js.map +1 -1
  1219. package/dist/react-native/globalPartitionEndpointManager.d.ts +2 -1
  1220. package/dist/react-native/globalPartitionEndpointManager.d.ts.map +1 -1
  1221. package/dist/react-native/globalPartitionEndpointManager.js.map +1 -1
  1222. package/dist/react-native/index.d.ts +16 -16
  1223. package/dist/react-native/index.d.ts.map +1 -1
  1224. package/dist/react-native/index.js +1 -1
  1225. package/dist/react-native/index.js.map +1 -1
  1226. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts +1 -1
  1227. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  1228. package/dist/react-native/queryExecutionContext/Aggregators/index.js.map +1 -1
  1229. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js +26 -18
  1230. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/BaseContinuationTokenManager.js.map +1 -1
  1231. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js +48 -25
  1232. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/OrderByQueryContinuationTokenManager.js.map +1 -1
  1233. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js +17 -26
  1234. package/dist/react-native/queryExecutionContext/ContinuationTokenManager/ParallelQueryContinuationTokenManager.js.map +1 -1
  1235. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts +8 -7
  1236. package/dist/react-native/queryExecutionContext/PartitionRangeManager.d.ts.map +1 -1
  1237. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js +13 -12
  1238. package/dist/react-native/queryExecutionContext/PartitionRangeManager.js.map +1 -1
  1239. package/dist/react-native/queryExecutionContext/index.d.ts +2 -2
  1240. package/dist/react-native/queryExecutionContext/index.d.ts.map +1 -1
  1241. package/dist/react-native/queryExecutionContext/index.js +0 -2
  1242. package/dist/react-native/queryExecutionContext/index.js.map +1 -1
  1243. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts +1 -1
  1244. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  1245. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1246. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts +2 -1
  1247. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.d.ts.map +1 -1
  1248. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js +6 -5
  1249. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/OrderByQueryRangeStrategy.js.map +1 -1
  1250. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts +0 -4
  1251. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.d.ts.map +1 -1
  1252. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js +2 -10
  1253. package/dist/react-native/queryExecutionContext/queryFilteringStrategy/ParallelQueryRangeStrategy.js.map +1 -1
  1254. package/dist/react-native/request/hybridSearchQueryResult.d.ts +1 -1
  1255. package/dist/react-native/request/hybridSearchQueryResult.d.ts.map +1 -1
  1256. package/dist/react-native/request/hybridSearchQueryResult.js.map +1 -1
  1257. package/dist/react-native/request/index.d.ts +8 -8
  1258. package/dist/react-native/request/index.d.ts.map +1 -1
  1259. package/dist/react-native/request/index.js +0 -1
  1260. package/dist/react-native/request/index.js.map +1 -1
  1261. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts +1 -1
  1262. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1263. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1264. package/dist/react-native/retry/index.d.ts +1 -1
  1265. package/dist/react-native/retry/index.d.ts.map +1 -1
  1266. package/dist/react-native/retry/index.js +0 -3
  1267. package/dist/react-native/retry/index.js.map +1 -1
  1268. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts +1 -1
  1269. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1270. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1271. package/dist/react-native/utils/globalCrypto.d.ts +1 -1
  1272. package/dist/react-native/utils/globalCrypto.d.ts.map +1 -0
  1273. package/dist/react-native/utils/globalCrypto.js +1 -1
  1274. package/dist/react-native/utils/globalCrypto.js.map +1 -0
  1275. package/dist/react-native/utils/hashing/hash.d.ts +1 -1
  1276. package/dist/react-native/utils/hashing/hash.d.ts.map +1 -1
  1277. package/dist/react-native/utils/hashing/hash.js.map +1 -1
  1278. package/package.json +6 -23
  1279. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm-browser.d.mts.map +0 -1
  1280. package/dist/browser/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm-browser.mjs.map +0 -1
  1281. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache-browser.d.mts.map +0 -1
  1282. package/dist/browser/encryption/Cache/ProtectedDataEncryptionKeyCache-browser.mjs.map +0 -1
  1283. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey-browser.d.mts.map +0 -1
  1284. package/dist/browser/encryption/EncryptionKey/DataEncryptionKey-browser.mjs.map +0 -1
  1285. package/dist/browser/request/defaultAgent-browser.d.mts.map +0 -1
  1286. package/dist/browser/request/defaultAgent-browser.mjs.map +0 -1
  1287. package/dist/browser/utils/atob-browser.d.mts.map +0 -1
  1288. package/dist/browser/utils/atob-browser.mjs.map +0 -1
  1289. package/dist/browser/utils/digest-browser.d.mts.map +0 -1
  1290. package/dist/browser/utils/digest-browser.mjs.map +0 -1
  1291. package/dist/browser/utils/envUtils-browser.d.mts.map +0 -1
  1292. package/dist/browser/utils/envUtils-browser.mjs.map +0 -1
  1293. package/dist/browser/utils/hmac-browser.d.mts.map +0 -1
  1294. package/dist/browser/utils/hmac-browser.mjs.map +0 -1
  1295. package/dist/react-native/utils/globalCrypto-react-native.d.mts.map +0 -1
  1296. package/dist/react-native/utils/globalCrypto-react-native.mjs.map +0 -1
@@ -1,740 +1,914 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT License.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.Items = void 0;
6
- const ChangeFeedIterator_js_1 = require("../../ChangeFeedIterator.js");
7
- const index_js_1 = require("../../common/index.js");
8
- const extractPartitionKey_js_1 = require("../../extractPartitionKey.js");
9
- const queryIterator_js_1 = require("../../queryIterator.js");
10
- const Item_js_1 = require("./Item.js");
11
- const ItemResponse_js_1 = require("./ItemResponse.js");
12
- const batch_js_1 = require("../../utils/batch.js");
13
- const typeChecks_js_1 = require("../../utils/typeChecks.js");
14
- const hash_js_1 = require("../../utils/hashing/hash.js");
15
- const index_js_2 = require("../../routing/index.js");
16
- const index_js_3 = require("../../documents/index.js");
17
- const changeFeedUtils_js_1 = require("../../client/ChangeFeed/changeFeedUtils.js");
18
- const DiagnosticNodeInternal_js_1 = require("../../diagnostics/DiagnosticNodeInternal.js");
19
- const diagnostics_js_1 = require("../../utils/diagnostics.js");
20
- const core_util_1 = require("@azure/core-util");
21
- const ClientUtils_js_1 = require("../ClientUtils.js");
22
- const ChangeFeedIteratorBuilder_js_1 = require("../ChangeFeed/ChangeFeedIteratorBuilder.js");
23
- const TypeMarker_js_1 = require("../../encryption/enums/TypeMarker.js");
24
- const EncryptionItemQueryIterator_js_1 = require("../../encryption/EncryptionItemQueryIterator.js");
25
- const index_js_4 = require("../../request/index.js");
26
- const BulkHelper_js_1 = require("../../bulk/BulkHelper.js");
27
- /**
28
- * @hidden
29
- */
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 Items_exports = {};
19
+ __export(Items_exports, {
20
+ Items: () => Items
21
+ });
22
+ module.exports = __toCommonJS(Items_exports);
23
+ var import_ChangeFeedIterator = require("../../ChangeFeedIterator.js");
24
+ var import_common = require("../../common/index.js");
25
+ var import_extractPartitionKey = require("../../extractPartitionKey.js");
26
+ var import_queryIterator = require("../../queryIterator.js");
27
+ var import_Item = require("./Item.js");
28
+ var import_ItemResponse = require("./ItemResponse.js");
29
+ var import_batch = require("../../utils/batch.js");
30
+ var import_typeChecks = require("../../utils/typeChecks.js");
31
+ var import_hash = require("../../utils/hashing/hash.js");
32
+ var import_routing = require("../../routing/index.js");
33
+ var import_documents = require("../../documents/index.js");
34
+ var import_changeFeedUtils = require("../../client/ChangeFeed/changeFeedUtils.js");
35
+ var import_DiagnosticNodeInternal = require("../../diagnostics/DiagnosticNodeInternal.js");
36
+ var import_diagnostics = require("../../utils/diagnostics.js");
37
+ var import_core_util = require("@azure/core-util");
38
+ var import_ClientUtils = require("../ClientUtils.js");
39
+ var import_ChangeFeedIteratorBuilder = require("../ChangeFeed/ChangeFeedIteratorBuilder.js");
40
+ var import_TypeMarker = require("../../encryption/enums/TypeMarker.js");
41
+ var import_EncryptionItemQueryIterator = require("../../encryption/EncryptionItemQueryIterator.js");
42
+ var import_request = require("../../request/index.js");
43
+ var import_BulkHelper = require("../../bulk/BulkHelper.js");
30
44
  function isChangeFeedOptions(options) {
31
- return options && !((0, typeChecks_js_1.isPrimitivePartitionKeyValue)(options) || Array.isArray(options));
45
+ return options && !((0, import_typeChecks.isPrimitivePartitionKeyValue)(options) || Array.isArray(options));
32
46
  }
33
- /**
34
- * Operations for creating new items, and reading/querying all items
35
- *
36
- * @see {@link Item} for reading, replacing, or deleting an existing container; use `.item(id)`.
37
- */
38
47
  class Items {
39
- container;
40
- clientContext;
41
- partitionKeyRangeCache;
42
- /**
43
- * Create an instance of {@link Items} linked to the parent {@link Container}.
44
- * @param container - The parent container.
45
- * @hidden
46
- */
47
- constructor(container, clientContext) {
48
- this.container = container;
49
- this.clientContext = clientContext;
50
- this.partitionKeyRangeCache = this.clientContext.partitionKeyRangeCache;
48
+ /**
49
+ * Create an instance of {@link Items} linked to the parent {@link Container}.
50
+ * @param container - The parent container.
51
+ * @hidden
52
+ */
53
+ constructor(container, clientContext) {
54
+ this.container = container;
55
+ this.clientContext = clientContext;
56
+ this.partitionKeyRangeCache = this.clientContext.partitionKeyRangeCache;
57
+ }
58
+ container;
59
+ clientContext;
60
+ partitionKeyRangeCache;
61
+ query(query, options = {}) {
62
+ const path = (0, import_common.getPathFromLink)(this.container.url, import_common.ResourceType.item);
63
+ const id = (0, import_common.getIdFromLink)(this.container.url);
64
+ const fetchFunction = async (diagnosticNode, innerOptions, correlatedActivityId) => {
65
+ let internalPartitionKey;
66
+ if (options.partitionKey) {
67
+ internalPartitionKey = (0, import_documents.convertToInternalPartitionKey)(options.partitionKey);
68
+ }
69
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
70
+ const partitionKeyRangeId = await (0, import_ClientUtils.computePartitionKeyRangeId)(
71
+ diagnosticNode,
72
+ internalPartitionKey,
73
+ this.partitionKeyRangeCache,
74
+ isPartitionLevelFailOverEnabled,
75
+ this.container
76
+ );
77
+ const response = await this.clientContext.queryFeed({
78
+ path,
79
+ resourceType: import_common.ResourceType.item,
80
+ resourceId: id,
81
+ resultFn: (result) => result ? result.Documents : [],
82
+ query,
83
+ options: innerOptions,
84
+ partitionKey: options.partitionKey,
85
+ diagnosticNode,
86
+ correlatedActivityId,
87
+ partitionKeyRangeId
88
+ });
89
+ return response;
90
+ };
91
+ let iterator;
92
+ if (this.clientContext.enableEncryption) {
93
+ iterator = new import_EncryptionItemQueryIterator.EncryptionItemQueryIterator(
94
+ this.clientContext,
95
+ query,
96
+ options,
97
+ fetchFunction,
98
+ this.container
99
+ );
100
+ } else {
101
+ iterator = new import_queryIterator.QueryIterator(
102
+ this.clientContext,
103
+ query,
104
+ options,
105
+ fetchFunction,
106
+ this.container.url,
107
+ import_common.ResourceType.item
108
+ );
51
109
  }
52
- query(query, options = {}) {
53
- const path = (0, index_js_1.getPathFromLink)(this.container.url, index_js_1.ResourceType.item);
54
- const id = (0, index_js_1.getIdFromLink)(this.container.url);
55
- const fetchFunction = async (diagnosticNode, innerOptions, correlatedActivityId) => {
56
- let internalPartitionKey;
57
- if (options.partitionKey) {
58
- internalPartitionKey = (0, index_js_3.convertToInternalPartitionKey)(options.partitionKey);
59
- }
60
- const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
61
- const partitionKeyRangeId = await (0, ClientUtils_js_1.computePartitionKeyRangeId)(diagnosticNode, internalPartitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container);
62
- const response = await this.clientContext.queryFeed({
63
- path,
64
- resourceType: index_js_1.ResourceType.item,
65
- resourceId: id,
66
- resultFn: (result) => (result ? result.Documents : []),
67
- query,
68
- options: innerOptions,
69
- partitionKey: options.partitionKey,
70
- diagnosticNode,
71
- correlatedActivityId: correlatedActivityId,
72
- partitionKeyRangeId,
73
- });
74
- return response;
75
- };
76
- let iterator;
110
+ return iterator;
111
+ }
112
+ /**
113
+ * Queries all items in an encrypted container.
114
+ * @param queryBuilder - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to build a query on encrypted properties.
115
+ * @param options - Used for modifying the request (for instance, specifying the partition key).
116
+ * @example Read all items to array.
117
+ * ```ts snippet:ItemsQueryEncryptedItems
118
+ * import { CosmosClient, EncryptionQueryBuilder } from "@azure/cosmos";
119
+ *
120
+ * const endpoint = "https://your-account.documents.azure.com";
121
+ * const key = "<database account masterkey>";
122
+ * const client = new CosmosClient({ endpoint, key });
123
+ *
124
+ * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
125
+ *
126
+ * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
127
+ *
128
+ * const queryBuilder = new EncryptionQueryBuilder(
129
+ * `SELECT firstname FROM Families f WHERE f.lastName = @lastName`,
130
+ * );
131
+ * queryBuilder.addParameter("@lastName", "Hendricks", "/lastname");
132
+ * const queryIterator = await container.items.getEncryptionQueryIterator(queryBuilder);
133
+ * const { resources: items } = await queryIterator.fetchAll();
134
+ * ```
135
+ */
136
+ async getEncryptionQueryIterator(queryBuilder, options = {}) {
137
+ const encryptionSqlQuerySpec = queryBuilder.toEncryptionSqlQuerySpec();
138
+ const sqlQuerySpec = await this.buildSqlQuerySpec(encryptionSqlQuerySpec);
139
+ if (this.clientContext.enableEncryption && options.partitionKey) {
140
+ await this.container.checkAndInitializeEncryption();
141
+ const { partitionKeyList, encryptedCount } = await this.container.encryptionProcessor.getEncryptedPartitionKeyValue([
142
+ options.partitionKey
143
+ ]);
144
+ if (encryptedCount > 0) {
145
+ options.partitionKey = partitionKeyList[0];
146
+ }
147
+ }
148
+ const iterator = this.query(sqlQuerySpec, options);
149
+ return iterator;
150
+ }
151
+ async buildSqlQuerySpec(encryptionSqlQuerySpec) {
152
+ let encryptionParameters = encryptionSqlQuerySpec.parameters;
153
+ const sqlQuerySpec = {
154
+ query: encryptionSqlQuerySpec.query,
155
+ parameters: []
156
+ };
157
+ encryptionParameters = (0, import_common.copyObject)(encryptionParameters);
158
+ for (const parameter of encryptionParameters) {
159
+ let value;
160
+ if (parameter.type !== void 0 || parameter.type !== import_TypeMarker.TypeMarker.Null) {
161
+ value = await this.container.encryptionProcessor.encryptQueryParameter(
162
+ parameter.path,
163
+ parameter.value,
164
+ parameter.path === "/id",
165
+ parameter.type
166
+ );
167
+ }
168
+ sqlQuerySpec.parameters.push({ name: parameter.name, value });
169
+ }
170
+ return sqlQuerySpec;
171
+ }
172
+ readChangeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions) {
173
+ if (isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {
174
+ return this.changeFeed(partitionKeyOrChangeFeedOptions);
175
+ } else {
176
+ return this.changeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions);
177
+ }
178
+ }
179
+ changeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions) {
180
+ let partitionKey;
181
+ if (!changeFeedOptions && isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {
182
+ partitionKey = void 0;
183
+ changeFeedOptions = partitionKeyOrChangeFeedOptions;
184
+ } else if (partitionKeyOrChangeFeedOptions !== void 0 && !isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {
185
+ partitionKey = partitionKeyOrChangeFeedOptions;
186
+ }
187
+ if (!changeFeedOptions) {
188
+ changeFeedOptions = {};
189
+ }
190
+ const path = (0, import_common.getPathFromLink)(this.container.url, import_common.ResourceType.item);
191
+ const id = (0, import_common.getIdFromLink)(this.container.url);
192
+ return new import_ChangeFeedIterator.ChangeFeedIterator(this.clientContext, id, path, partitionKey, changeFeedOptions);
193
+ }
194
+ /**
195
+ * Returns an iterator to iterate over pages of changes. The iterator returned can be used to fetch changes for a single partition key, feed range or an entire container.
196
+ *
197
+ * @example
198
+ * ```ts snippet:ReadmeSampleChangeFeedPullModelIteratorPartitionKey
199
+ * import {
200
+ * CosmosClient,
201
+ * PartitionKeyDefinitionVersion,
202
+ * PartitionKeyKind,
203
+ * ChangeFeedStartFrom,
204
+ * } from "@azure/cosmos";
205
+ *
206
+ * const endpoint = "https://your-account.documents.azure.com";
207
+ * const key = "<database account masterkey>";
208
+ * const client = new CosmosClient({ endpoint, key });
209
+ *
210
+ * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
211
+ *
212
+ * const containerDefinition = {
213
+ * id: "Test Database",
214
+ * partitionKey: {
215
+ * paths: ["/name", "/address/zip"],
216
+ * version: PartitionKeyDefinitionVersion.V2,
217
+ * kind: PartitionKeyKind.MultiHash,
218
+ * },
219
+ * };
220
+ * const { container } = await database.containers.createIfNotExists(containerDefinition);
221
+ *
222
+ * const partitionKey = "some-partition-Key-value";
223
+ * const options = {
224
+ * changeFeedStartFrom: ChangeFeedStartFrom.Beginning(partitionKey),
225
+ * };
226
+ *
227
+ * const iterator = container.items.getChangeFeedIterator(options);
228
+ *
229
+ * while (iterator.hasMoreResults) {
230
+ * const response = await iterator.readNext();
231
+ * // process this response
232
+ * }
233
+ * ```
234
+ */
235
+ getChangeFeedIterator(changeFeedIteratorOptions) {
236
+ const cfOptions = changeFeedIteratorOptions !== void 0 ? changeFeedIteratorOptions : {};
237
+ (0, import_changeFeedUtils.validateChangeFeedIteratorOptions)(cfOptions);
238
+ const iterator = new import_ChangeFeedIteratorBuilder.ChangeFeedIteratorBuilder(
239
+ cfOptions,
240
+ this.clientContext,
241
+ this.container,
242
+ this.partitionKeyRangeCache
243
+ );
244
+ return iterator;
245
+ }
246
+ readAll(options) {
247
+ return this.query("SELECT * from c", options);
248
+ }
249
+ /**
250
+ * Create an item.
251
+ *
252
+ * Any provided type, T, is not necessarily enforced by the SDK.
253
+ * You may get more or less properties and it's up to your logic to enforce it.
254
+ *
255
+ * There is no set schema for JSON items. They may contain any number of custom properties.
256
+ *
257
+ * @param body - Represents the body of the item. Can contain any number of user defined properties.
258
+ * @param options - Used for modifying the request (for instance, specifying the partition key).
259
+ * @example Create an item.
260
+ * ```ts snippet:ContainerItems
261
+ * import { CosmosClient } from "@azure/cosmos";
262
+ *
263
+ * const endpoint = "https://your-account.documents.azure.com";
264
+ * const key = "<database account masterkey>";
265
+ * const client = new CosmosClient({ endpoint, key });
266
+ *
267
+ * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
268
+ *
269
+ * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
270
+ *
271
+ * const { resource: createdItem } = await container.items.create({
272
+ * id: "<item id>",
273
+ * properties: {},
274
+ * });
275
+ * ```
276
+ */
277
+ async create(body, options = {}) {
278
+ return (0, import_diagnostics.withDiagnostics)(async (diagnosticNode) => {
279
+ if ((body.id === void 0 || body.id === "") && !options.disableAutomaticIdGeneration) {
280
+ body.id = (0, import_core_util.randomUUID)();
281
+ }
282
+ const partitionKeyDefinition = await (0, import_ClientUtils.readPartitionKeyDefinition)(
283
+ diagnosticNode,
284
+ this.container
285
+ );
286
+ let partitionKey = (0, import_extractPartitionKey.extractPartitionKeys)(body, partitionKeyDefinition);
287
+ let response;
288
+ try {
77
289
  if (this.clientContext.enableEncryption) {
78
- iterator = new EncryptionItemQueryIterator_js_1.EncryptionItemQueryIterator(this.clientContext, query, options, fetchFunction, this.container);
290
+ await this.container.checkAndInitializeEncryption();
291
+ options.containerRid = this.container._rid;
292
+ body = (0, import_common.copyObject)(body);
293
+ diagnosticNode.beginEncryptionDiagnostics(
294
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation
295
+ );
296
+ const { body: encryptedBody, propertiesEncryptedCount } = await this.container.encryptionProcessor.encrypt(body);
297
+ body = encryptedBody;
298
+ diagnosticNode.endEncryptionDiagnostics(
299
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation,
300
+ propertiesEncryptedCount
301
+ );
302
+ partitionKey = (0, import_extractPartitionKey.extractPartitionKeys)(body, partitionKeyDefinition);
79
303
  }
80
- else {
81
- iterator = new queryIterator_js_1.QueryIterator(this.clientContext, query, options, fetchFunction, this.container.url, index_js_1.ResourceType.item);
304
+ const err = {};
305
+ if (!(0, import_common.isItemResourceValid)(body, err)) {
306
+ throw err;
82
307
  }
83
- return iterator;
84
- }
85
- /**
86
- * Queries all items in an encrypted container.
87
- * @param queryBuilder - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to build a query on encrypted properties.
88
- * @param options - Used for modifying the request (for instance, specifying the partition key).
89
- * @example Read all items to array.
90
- * ```ts snippet:ItemsQueryEncryptedItems
91
- * import { CosmosClient, EncryptionQueryBuilder } from "@azure/cosmos";
92
- *
93
- * const endpoint = "https://your-account.documents.azure.com";
94
- * const key = "<database account masterkey>";
95
- * const client = new CosmosClient({ endpoint, key });
96
- *
97
- * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
98
- *
99
- * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
100
- *
101
- * const queryBuilder = new EncryptionQueryBuilder(
102
- * `SELECT firstname FROM Families f WHERE f.lastName = @lastName`,
103
- * );
104
- * queryBuilder.addParameter("@lastName", "Hendricks", "/lastname");
105
- * const queryIterator = await container.items.getEncryptionQueryIterator(queryBuilder);
106
- * const { resources: items } = await queryIterator.fetchAll();
107
- * ```
108
- */
109
- async getEncryptionQueryIterator(queryBuilder, options = {}) {
110
- const encryptionSqlQuerySpec = queryBuilder.toEncryptionSqlQuerySpec();
111
- const sqlQuerySpec = await this.buildSqlQuerySpec(encryptionSqlQuerySpec);
112
- if (this.clientContext.enableEncryption && options.partitionKey) {
113
- await this.container.checkAndInitializeEncryption();
114
- const { partitionKeyList, encryptedCount } = await this.container.encryptionProcessor.getEncryptedPartitionKeyValue([
115
- options.partitionKey,
116
- ]);
117
- if (encryptedCount > 0) {
118
- options.partitionKey = partitionKeyList[0];
119
- }
308
+ const path = (0, import_common.getPathFromLink)(this.container.url, import_common.ResourceType.item);
309
+ const id = (0, import_common.getIdFromLink)(this.container.url);
310
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
311
+ const partitionKeyRangeId = await (0, import_ClientUtils.computePartitionKeyRangeId)(
312
+ diagnosticNode,
313
+ partitionKey,
314
+ this.partitionKeyRangeCache,
315
+ isPartitionLevelFailOverEnabled,
316
+ this.container,
317
+ partitionKeyDefinition
318
+ );
319
+ response = await this.clientContext.create({
320
+ body,
321
+ path,
322
+ resourceType: import_common.ResourceType.item,
323
+ resourceId: id,
324
+ diagnosticNode,
325
+ options,
326
+ partitionKey,
327
+ partitionKeyRangeId
328
+ });
329
+ } catch (error) {
330
+ if (this.clientContext.enableEncryption) {
331
+ await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);
120
332
  }
121
- const iterator = this.query(sqlQuerySpec, options);
122
- return iterator;
123
- }
124
- async buildSqlQuerySpec(encryptionSqlQuerySpec) {
125
- let encryptionParameters = encryptionSqlQuerySpec.parameters;
126
- const sqlQuerySpec = {
127
- query: encryptionSqlQuerySpec.query,
128
- parameters: [],
129
- };
130
- // returns copy to avoid encryption of original parameters passed
131
- encryptionParameters = (0, index_js_1.copyObject)(encryptionParameters);
132
- for (const parameter of encryptionParameters) {
133
- let value;
134
- if (parameter.type !== undefined || parameter.type !== TypeMarker_js_1.TypeMarker.Null) {
135
- value = await this.container.encryptionProcessor.encryptQueryParameter(parameter.path, parameter.value, parameter.path === "/id", parameter.type);
136
- }
137
- sqlQuerySpec.parameters.push({ name: parameter.name, value: value });
333
+ throw error;
334
+ }
335
+ if (this.clientContext.enableEncryption) {
336
+ try {
337
+ diagnosticNode.beginEncryptionDiagnostics(
338
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation
339
+ );
340
+ const { body: decryptedResult, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(response.result);
341
+ diagnosticNode.endEncryptionDiagnostics(
342
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation,
343
+ propertiesDecryptedCount
344
+ );
345
+ response.result = decryptedResult;
346
+ partitionKey = (0, import_extractPartitionKey.extractPartitionKeys)(response.result, partitionKeyDefinition);
347
+ } catch (error) {
348
+ const decryptionError = new import_request.ErrorResponse(
349
+ `Item creation was successful but response decryption failed: + ${error.message}`
350
+ );
351
+ decryptionError.code = import_common.StatusCodes.ServiceUnavailable;
352
+ throw decryptionError;
138
353
  }
139
- return sqlQuerySpec;
140
- }
141
- readChangeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions) {
142
- if (isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {
143
- return this.changeFeed(partitionKeyOrChangeFeedOptions);
354
+ }
355
+ const ref = new import_Item.Item(
356
+ this.container,
357
+ response.result.id,
358
+ this.clientContext,
359
+ partitionKey
360
+ );
361
+ return new import_ItemResponse.ItemResponse(
362
+ response.result,
363
+ response.headers,
364
+ response.code,
365
+ response.substatus,
366
+ ref,
367
+ (0, import_diagnostics.getEmptyCosmosDiagnostics)()
368
+ );
369
+ }, this.clientContext);
370
+ }
371
+ async upsert(body, options = {}) {
372
+ return (0, import_diagnostics.withDiagnostics)(async (diagnosticNode) => {
373
+ if ((body.id === void 0 || body.id === "") && !options.disableAutomaticIdGeneration) {
374
+ body.id = (0, import_core_util.randomUUID)();
375
+ }
376
+ const partitionKeyDefinition = await (0, import_ClientUtils.readPartitionKeyDefinition)(
377
+ diagnosticNode,
378
+ this.container
379
+ );
380
+ let partitionKey = (0, import_extractPartitionKey.extractPartitionKeys)(body, partitionKeyDefinition);
381
+ let response;
382
+ try {
383
+ if (this.clientContext.enableEncryption) {
384
+ body = (0, import_common.copyObject)(body);
385
+ options = options || {};
386
+ await this.container.checkAndInitializeEncryption();
387
+ options.containerRid = this.container._rid;
388
+ diagnosticNode.beginEncryptionDiagnostics(
389
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation
390
+ );
391
+ const { body: encryptedBody, propertiesEncryptedCount } = await this.container.encryptionProcessor.encrypt(body);
392
+ body = encryptedBody;
393
+ diagnosticNode.endEncryptionDiagnostics(
394
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation,
395
+ propertiesEncryptedCount
396
+ );
397
+ partitionKey = (0, import_extractPartitionKey.extractPartitionKeys)(body, partitionKeyDefinition);
144
398
  }
145
- else {
146
- return this.changeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions);
399
+ const err = {};
400
+ if (!(0, import_common.isItemResourceValid)(body, err)) {
401
+ throw err;
147
402
  }
148
- }
149
- changeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions) {
150
- let partitionKey;
151
- if (!changeFeedOptions && isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {
152
- partitionKey = undefined;
153
- changeFeedOptions = partitionKeyOrChangeFeedOptions;
403
+ const path = (0, import_common.getPathFromLink)(this.container.url, import_common.ResourceType.item);
404
+ const id = (0, import_common.getIdFromLink)(this.container.url);
405
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
406
+ const partitionKeyRangeId = await (0, import_ClientUtils.computePartitionKeyRangeId)(
407
+ diagnosticNode,
408
+ partitionKey,
409
+ this.partitionKeyRangeCache,
410
+ isPartitionLevelFailOverEnabled,
411
+ this.container,
412
+ partitionKeyDefinition
413
+ );
414
+ response = await this.clientContext.upsert({
415
+ body,
416
+ path,
417
+ resourceType: import_common.ResourceType.item,
418
+ resourceId: id,
419
+ options,
420
+ partitionKey,
421
+ diagnosticNode,
422
+ partitionKeyRangeId
423
+ });
424
+ } catch (error) {
425
+ if (this.clientContext.enableEncryption) {
426
+ await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);
154
427
  }
155
- else if (partitionKeyOrChangeFeedOptions !== undefined &&
156
- !isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {
157
- partitionKey = partitionKeyOrChangeFeedOptions;
428
+ throw error;
429
+ }
430
+ if (this.clientContext.enableEncryption) {
431
+ try {
432
+ diagnosticNode.beginEncryptionDiagnostics(
433
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation
434
+ );
435
+ const { body: decryptedResult, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(response.result);
436
+ diagnosticNode.endEncryptionDiagnostics(
437
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation,
438
+ propertiesDecryptedCount
439
+ );
440
+ response.result = decryptedResult;
441
+ partitionKey = (0, import_extractPartitionKey.extractPartitionKeys)(response.result, partitionKeyDefinition);
442
+ } catch (error) {
443
+ const decryptionError = new import_request.ErrorResponse(
444
+ `Item upsert was successful but response decryption failed: + ${error.message}`
445
+ );
446
+ decryptionError.code = import_common.StatusCodes.ServiceUnavailable;
447
+ throw decryptionError;
158
448
  }
159
- if (!changeFeedOptions) {
160
- changeFeedOptions = {};
449
+ }
450
+ const ref = new import_Item.Item(
451
+ this.container,
452
+ response.result.id,
453
+ this.clientContext,
454
+ partitionKey
455
+ );
456
+ return new import_ItemResponse.ItemResponse(
457
+ response.result,
458
+ response.headers,
459
+ response.code,
460
+ response.substatus,
461
+ ref,
462
+ (0, import_diagnostics.getEmptyCosmosDiagnostics)()
463
+ );
464
+ }, this.clientContext);
465
+ }
466
+ /**
467
+ * Execute bulk operations on items.
468
+ * @param operations - List of operations
469
+ * @param options - used for modifying the request
470
+ * @returns list of operation results corresponding to the operations
471
+ *
472
+ * @example
473
+ * ```ts snippet:ItemsExecuteBulkOperations
474
+ * import { CosmosClient, OperationInput } from "@azure/cosmos";
475
+ *
476
+ * const endpoint = "https://your-account.documents.azure.com";
477
+ * const key = "<database account masterkey>";
478
+ * const client = new CosmosClient({ endpoint, key });
479
+ *
480
+ * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
481
+ *
482
+ * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
483
+ *
484
+ * const operations: OperationInput[] = [
485
+ * {
486
+ * operationType: "Create",
487
+ * resourceBody: { id: "doc1", name: "sample", key: "A" },
488
+ * },
489
+ * {
490
+ * operationType: "Upsert",
491
+ * partitionKey: "A",
492
+ * resourceBody: { id: "doc2", name: "other", key: "A" },
493
+ * },
494
+ * ];
495
+ *
496
+ * await container.items.executeBulkOperations(operations);
497
+ * ```
498
+ */
499
+ async executeBulkOperations(operations, options = {}) {
500
+ const bulkHelper = new import_BulkHelper.BulkHelper(
501
+ this.container,
502
+ this.clientContext,
503
+ this.partitionKeyRangeCache,
504
+ options
505
+ );
506
+ return bulkHelper.execute(operations);
507
+ }
508
+ /**
509
+ * Execute bulk operations on items.
510
+ * @deprecated Use `executeBulkOperations` instead.
511
+ *
512
+ * Bulk takes an array of Operations which are typed based on what the operation does.
513
+ * The choices are: Create, Upsert, Read, Replace, and Delete
514
+ *
515
+ * Usage example:
516
+ * ```ts snippet:ItemsBulk
517
+ * import { CosmosClient, OperationInput } from "@azure/cosmos";
518
+ *
519
+ * const endpoint = "https://your-account.documents.azure.com";
520
+ * const key = "<database account masterkey>";
521
+ * const client = new CosmosClient({ endpoint, key });
522
+ *
523
+ * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
524
+ *
525
+ * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
526
+ *
527
+ * // partitionKey is optional at the top level if present in the resourceBody
528
+ * const operations: OperationInput[] = [
529
+ * {
530
+ * operationType: "Create",
531
+ * resourceBody: { id: "doc1", name: "sample", key: "A" },
532
+ * },
533
+ * {
534
+ * operationType: "Upsert",
535
+ * partitionKey: "A",
536
+ * resourceBody: { id: "doc2", name: "other", key: "A" },
537
+ * },
538
+ * ];
539
+ *
540
+ * await container.items.bulk(operations);
541
+ * ```
542
+ *
543
+ * @param operations - List of operations. Limit 100
544
+ * @param bulkOptions - Optional options object to modify bulk behavior. Pass \{ continueOnError: false \} to stop executing operations when one fails. (Defaults to true)
545
+ * @param options - Used for modifying the request.
546
+ */
547
+ async bulk(operations, bulkOptions, options) {
548
+ return (0, import_diagnostics.withDiagnostics)(async (diagnosticNode) => {
549
+ const partitionKeyRanges = (await this.partitionKeyRangeCache.onCollectionRoutingMap(this.container.url, diagnosticNode)).getOrderedParitionKeyRanges();
550
+ const partitionKeyDefinition = await (0, import_ClientUtils.readPartitionKeyDefinition)(
551
+ diagnosticNode,
552
+ this.container
553
+ );
554
+ if (this.clientContext.enableEncryption) {
555
+ operations = (0, import_common.copyObject)(operations);
556
+ options = options || {};
557
+ await this.container.checkAndInitializeEncryption();
558
+ options.containerRid = this.container._rid;
559
+ diagnosticNode.beginEncryptionDiagnostics(import_common.Constants.Encryption.DiagnosticsEncryptOperation);
560
+ const { operations: encryptedOperations, totalPropertiesEncryptedCount } = await this.bulkBatchEncryptionHelper(operations);
561
+ operations = encryptedOperations;
562
+ diagnosticNode.endEncryptionDiagnostics(
563
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation,
564
+ totalPropertiesEncryptedCount
565
+ );
566
+ }
567
+ const batches = partitionKeyRanges.map((keyRange) => {
568
+ return {
569
+ min: keyRange.minInclusive,
570
+ max: keyRange.maxExclusive,
571
+ rangeId: keyRange.id,
572
+ indexes: [],
573
+ operations: []
574
+ };
575
+ });
576
+ this.groupOperationsBasedOnPartitionKey(operations, partitionKeyDefinition, options, batches);
577
+ const path = (0, import_common.getPathFromLink)(this.container.url, import_common.ResourceType.item);
578
+ const orderedResponses = [];
579
+ const batchMap = batches.filter((batch) => batch.operations.length).flatMap((batch) => (0, import_batch.splitBatchBasedOnBodySize)(batch));
580
+ await Promise.all(
581
+ this.executeBatchOperations(
582
+ batchMap,
583
+ path,
584
+ bulkOptions,
585
+ options,
586
+ diagnosticNode,
587
+ orderedResponses,
588
+ partitionKeyDefinition
589
+ )
590
+ );
591
+ const response = orderedResponses;
592
+ response.diagnostics = diagnosticNode.toDiagnostic(this.clientContext.getClientConfig());
593
+ return response;
594
+ }, this.clientContext);
595
+ }
596
+ executeBatchOperations(batchMap, path, bulkOptions, options, diagnosticNode, orderedResponses, partitionKeyDefinition) {
597
+ return batchMap.map(async (batch) => {
598
+ if (batch.operations.length > 100) {
599
+ throw new Error("Cannot run bulk request with more than 100 operations per partition");
600
+ }
601
+ let response;
602
+ try {
603
+ response = await (0, import_diagnostics.addDiagnosticChild)(
604
+ async (childNode) => this.clientContext.bulk({
605
+ body: batch.operations,
606
+ partitionKeyRangeId: batch.rangeId,
607
+ path,
608
+ resourceId: this.container.url,
609
+ bulkOptions,
610
+ options,
611
+ diagnosticNode: childNode
612
+ }),
613
+ diagnosticNode,
614
+ import_DiagnosticNodeInternal.DiagnosticNodeType.BATCH_REQUEST
615
+ );
616
+ response.result.forEach((operationResponse, index) => {
617
+ orderedResponses[batch.indexes[index]] = operationResponse;
618
+ });
619
+ } catch (err) {
620
+ if (this.clientContext.enableEncryption) {
621
+ await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);
161
622
  }
162
- const path = (0, index_js_1.getPathFromLink)(this.container.url, index_js_1.ResourceType.item);
163
- const id = (0, index_js_1.getIdFromLink)(this.container.url);
164
- return new ChangeFeedIterator_js_1.ChangeFeedIterator(this.clientContext, id, path, partitionKey, changeFeedOptions);
165
- }
166
- /**
167
- * Returns an iterator to iterate over pages of changes. The iterator returned can be used to fetch changes for a single partition key, feed range or an entire container.
168
- *
169
- * @example
170
- * ```ts snippet:ReadmeSampleChangeFeedPullModelIteratorPartitionKey
171
- * import {
172
- * CosmosClient,
173
- * PartitionKeyDefinitionVersion,
174
- * PartitionKeyKind,
175
- * ChangeFeedStartFrom,
176
- * } from "@azure/cosmos";
177
- *
178
- * const endpoint = "https://your-account.documents.azure.com";
179
- * const key = "<database account masterkey>";
180
- * const client = new CosmosClient({ endpoint, key });
181
- *
182
- * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
183
- *
184
- * const containerDefinition = {
185
- * id: "Test Database",
186
- * partitionKey: {
187
- * paths: ["/name", "/address/zip"],
188
- * version: PartitionKeyDefinitionVersion.V2,
189
- * kind: PartitionKeyKind.MultiHash,
190
- * },
191
- * };
192
- * const { container } = await database.containers.createIfNotExists(containerDefinition);
193
- *
194
- * const partitionKey = "some-partition-Key-value";
195
- * const options = {
196
- * changeFeedStartFrom: ChangeFeedStartFrom.Beginning(partitionKey),
197
- * };
198
- *
199
- * const iterator = container.items.getChangeFeedIterator(options);
200
- *
201
- * while (iterator.hasMoreResults) {
202
- * const response = await iterator.readNext();
203
- * // process this response
204
- * }
205
- * ```
206
- */
207
- getChangeFeedIterator(changeFeedIteratorOptions) {
208
- const cfOptions = changeFeedIteratorOptions !== undefined ? changeFeedIteratorOptions : {};
209
- (0, changeFeedUtils_js_1.validateChangeFeedIteratorOptions)(cfOptions);
210
- const iterator = new ChangeFeedIteratorBuilder_js_1.ChangeFeedIteratorBuilder(cfOptions, this.clientContext, this.container, this.partitionKeyRangeCache);
211
- return iterator;
212
- }
213
- readAll(options) {
214
- return this.query("SELECT * from c", options);
215
- }
216
- /**
217
- * Create an item.
218
- *
219
- * Any provided type, T, is not necessarily enforced by the SDK.
220
- * You may get more or less properties and it's up to your logic to enforce it.
221
- *
222
- * There is no set schema for JSON items. They may contain any number of custom properties.
223
- *
224
- * @param body - Represents the body of the item. Can contain any number of user defined properties.
225
- * @param options - Used for modifying the request (for instance, specifying the partition key).
226
- * @example Create an item.
227
- * ```ts snippet:ContainerItems
228
- * import { CosmosClient } from "@azure/cosmos";
229
- *
230
- * const endpoint = "https://your-account.documents.azure.com";
231
- * const key = "<database account masterkey>";
232
- * const client = new CosmosClient({ endpoint, key });
233
- *
234
- * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
235
- *
236
- * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
237
- *
238
- * const { resource: createdItem } = await container.items.create({
239
- * id: "<item id>",
240
- * properties: {},
241
- * });
242
- * ```
243
- */
244
- async create(body, options = {}) {
245
- // Generate random document id if the id is missing in the payload and
246
- // options.disableAutomaticIdGeneration != true
247
- return (0, diagnostics_js_1.withDiagnostics)(async (diagnosticNode) => {
248
- if ((body.id === undefined || body.id === "") && !options.disableAutomaticIdGeneration) {
249
- body.id = (0, core_util_1.randomUUID)();
250
- }
251
- const partitionKeyDefinition = await (0, ClientUtils_js_1.readPartitionKeyDefinition)(diagnosticNode, this.container);
252
- let partitionKey = (0, extractPartitionKey_js_1.extractPartitionKeys)(body, partitionKeyDefinition);
253
- let response;
254
- try {
255
- if (this.clientContext.enableEncryption) {
256
- await this.container.checkAndInitializeEncryption();
257
- options.containerRid = this.container._rid;
258
- // returns copy to avoid encryption of original body passed
259
- body = (0, index_js_1.copyObject)(body);
260
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation);
261
- const { body: encryptedBody, propertiesEncryptedCount } = await this.container.encryptionProcessor.encrypt(body);
262
- body = encryptedBody;
263
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation, propertiesEncryptedCount);
264
- partitionKey = (0, extractPartitionKey_js_1.extractPartitionKeys)(body, partitionKeyDefinition);
265
- }
266
- const err = {};
267
- if (!(0, index_js_1.isItemResourceValid)(body, err)) {
268
- throw err;
269
- }
270
- const path = (0, index_js_1.getPathFromLink)(this.container.url, index_js_1.ResourceType.item);
271
- const id = (0, index_js_1.getIdFromLink)(this.container.url);
272
- const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
273
- const partitionKeyRangeId = await (0, ClientUtils_js_1.computePartitionKeyRangeId)(diagnosticNode, partitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container, partitionKeyDefinition);
274
- response = await this.clientContext.create({
275
- body,
276
- path,
277
- resourceType: index_js_1.ResourceType.item,
278
- resourceId: id,
279
- diagnosticNode,
280
- options,
281
- partitionKey,
282
- partitionKeyRangeId,
283
- });
284
- }
285
- catch (error) {
286
- if (this.clientContext.enableEncryption) {
287
- // Todo: internally retry post policy refresh
288
- await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);
289
- }
290
- throw error;
291
- }
292
- if (this.clientContext.enableEncryption) {
293
- // try block for decrypting response. This is done so that we can throw special error message in case of decryption failure
294
- try {
295
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation);
296
- const { body: decryptedResult, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(response.result);
297
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation, propertiesDecryptedCount);
298
- response.result = decryptedResult;
299
- partitionKey = (0, extractPartitionKey_js_1.extractPartitionKeys)(response.result, partitionKeyDefinition);
300
- }
301
- catch (error) {
302
- const decryptionError = new index_js_4.ErrorResponse(`Item creation was successful but response decryption failed: + ${error.message}`);
303
- decryptionError.code = index_js_1.StatusCodes.ServiceUnavailable;
304
- throw decryptionError;
305
- }
623
+ if (err.code === import_common.StatusCodes.Gone) {
624
+ const isPartitionSplit = err.substatus === import_common.SubStatusCodes.PartitionKeyRangeGone || err.substatus === import_common.SubStatusCodes.CompletingSplit;
625
+ if (isPartitionSplit) {
626
+ const queryRange = new import_routing.QueryRange(batch.min, batch.max, true, false);
627
+ const overlappingRanges = await this.partitionKeyRangeCache.getOverlappingRanges(
628
+ this.container.url,
629
+ queryRange,
630
+ diagnosticNode,
631
+ true
632
+ );
633
+ if (overlappingRanges.length < 1) {
634
+ throw new Error("Partition split/merge detected but no overlapping ranges found.");
306
635
  }
307
- const ref = new Item_js_1.Item(this.container, response.result.id, this.clientContext, partitionKey);
308
- return new ItemResponse_js_1.ItemResponse(response.result, response.headers, response.code, response.substatus, ref, (0, diagnostics_js_1.getEmptyCosmosDiagnostics)());
309
- }, this.clientContext);
310
- }
311
- async upsert(body, options = {}) {
312
- return (0, diagnostics_js_1.withDiagnostics)(async (diagnosticNode) => {
313
- // Generate random document id if the id is missing in the payload and
314
- // options.disableAutomaticIdGeneration != true
315
- if ((body.id === undefined || body.id === "") && !options.disableAutomaticIdGeneration) {
316
- body.id = (0, core_util_1.randomUUID)();
317
- }
318
- const partitionKeyDefinition = await (0, ClientUtils_js_1.readPartitionKeyDefinition)(diagnosticNode, this.container);
319
- let partitionKey = (0, extractPartitionKey_js_1.extractPartitionKeys)(body, partitionKeyDefinition);
320
- let response;
321
- try {
322
- if (this.clientContext.enableEncryption) {
323
- // returns copy to avoid encryption of original body passed
324
- body = (0, index_js_1.copyObject)(body);
325
- options = options || {};
326
- await this.container.checkAndInitializeEncryption();
327
- options.containerRid = this.container._rid;
328
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation);
329
- const { body: encryptedBody, propertiesEncryptedCount } = await this.container.encryptionProcessor.encrypt(body);
330
- body = encryptedBody;
331
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation, propertiesEncryptedCount);
332
- partitionKey = (0, extractPartitionKey_js_1.extractPartitionKeys)(body, partitionKeyDefinition);
333
- }
334
- const err = {};
335
- if (!(0, index_js_1.isItemResourceValid)(body, err)) {
336
- throw err;
337
- }
338
- const path = (0, index_js_1.getPathFromLink)(this.container.url, index_js_1.ResourceType.item);
339
- const id = (0, index_js_1.getIdFromLink)(this.container.url);
340
- const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
341
- const partitionKeyRangeId = await (0, ClientUtils_js_1.computePartitionKeyRangeId)(diagnosticNode, partitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container, partitionKeyDefinition);
342
- response = await this.clientContext.upsert({
343
- body,
344
- path,
345
- resourceType: index_js_1.ResourceType.item,
346
- resourceId: id,
347
- options,
348
- partitionKey,
349
- diagnosticNode,
350
- partitionKeyRangeId,
351
- });
352
- }
353
- catch (error) {
354
- if (this.clientContext.enableEncryption) {
355
- await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);
356
- }
357
- throw error;
358
- }
359
- if (this.clientContext.enableEncryption) {
360
- try {
361
- // try block for decrypting response. This is done so that we can throw special error message in case of decryption failure
362
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation);
363
- const { body: decryptedResult, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(response.result);
364
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation, propertiesDecryptedCount);
365
- response.result = decryptedResult;
366
- partitionKey = (0, extractPartitionKey_js_1.extractPartitionKeys)(response.result, partitionKeyDefinition);
367
- }
368
- catch (error) {
369
- const decryptionError = new index_js_4.ErrorResponse(`Item upsert was successful but response decryption failed: + ${error.message}`);
370
- decryptionError.code = index_js_1.StatusCodes.ServiceUnavailable;
371
- throw decryptionError;
372
- }
373
- }
374
- const ref = new Item_js_1.Item(this.container, response.result.id, this.clientContext, partitionKey);
375
- return new ItemResponse_js_1.ItemResponse(response.result, response.headers, response.code, response.substatus, ref, (0, diagnostics_js_1.getEmptyCosmosDiagnostics)());
376
- }, this.clientContext);
377
- }
378
- /**
379
- * Execute bulk operations on items.
380
- * @param operations - List of operations
381
- * @param options - used for modifying the request
382
- * @returns list of operation results corresponding to the operations
383
- *
384
- * @example
385
- * ```ts snippet:ItemsExecuteBulkOperations
386
- * import { CosmosClient, OperationInput } from "@azure/cosmos";
387
- *
388
- * const endpoint = "https://your-account.documents.azure.com";
389
- * const key = "<database account masterkey>";
390
- * const client = new CosmosClient({ endpoint, key });
391
- *
392
- * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
393
- *
394
- * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
395
- *
396
- * const operations: OperationInput[] = [
397
- * {
398
- * operationType: "Create",
399
- * resourceBody: { id: "doc1", name: "sample", key: "A" },
400
- * },
401
- * {
402
- * operationType: "Upsert",
403
- * partitionKey: "A",
404
- * resourceBody: { id: "doc2", name: "other", key: "A" },
405
- * },
406
- * ];
407
- *
408
- * await container.items.executeBulkOperations(operations);
409
- * ```
410
- */
411
- async executeBulkOperations(operations, options = {}) {
412
- const bulkHelper = new BulkHelper_js_1.BulkHelper(this.container, this.clientContext, this.partitionKeyRangeCache, options);
413
- return bulkHelper.execute(operations);
414
- }
415
- /**
416
- * Execute bulk operations on items.
417
- * @deprecated Use `executeBulkOperations` instead.
418
- *
419
- * Bulk takes an array of Operations which are typed based on what the operation does.
420
- * The choices are: Create, Upsert, Read, Replace, and Delete
421
- *
422
- * Usage example:
423
- * ```ts snippet:ItemsBulk
424
- * import { CosmosClient, OperationInput } from "@azure/cosmos";
425
- *
426
- * const endpoint = "https://your-account.documents.azure.com";
427
- * const key = "<database account masterkey>";
428
- * const client = new CosmosClient({ endpoint, key });
429
- *
430
- * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
431
- *
432
- * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
433
- *
434
- * // partitionKey is optional at the top level if present in the resourceBody
435
- * const operations: OperationInput[] = [
436
- * {
437
- * operationType: "Create",
438
- * resourceBody: { id: "doc1", name: "sample", key: "A" },
439
- * },
440
- * {
441
- * operationType: "Upsert",
442
- * partitionKey: "A",
443
- * resourceBody: { id: "doc2", name: "other", key: "A" },
444
- * },
445
- * ];
446
- *
447
- * await container.items.bulk(operations);
448
- * ```
449
- *
450
- * @param operations - List of operations. Limit 100
451
- * @param bulkOptions - Optional options object to modify bulk behavior. Pass \{ continueOnError: false \} to stop executing operations when one fails. (Defaults to true)
452
- * @param options - Used for modifying the request.
453
- */
454
- async bulk(operations, bulkOptions, options) {
455
- return (0, diagnostics_js_1.withDiagnostics)(async (diagnosticNode) => {
456
- const partitionKeyRanges = (await this.partitionKeyRangeCache.onCollectionRoutingMap(this.container.url, diagnosticNode)).getOrderedParitionKeyRanges();
457
- const partitionKeyDefinition = await (0, ClientUtils_js_1.readPartitionKeyDefinition)(diagnosticNode, this.container);
458
- if (this.clientContext.enableEncryption) {
459
- // returns copy to avoid encryption of original operations body passed
460
- operations = (0, index_js_1.copyObject)(operations);
461
- options = options || {};
462
- await this.container.checkAndInitializeEncryption();
463
- options.containerRid = this.container._rid;
464
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation);
465
- const { operations: encryptedOperations, totalPropertiesEncryptedCount } = await this.bulkBatchEncryptionHelper(operations);
466
- operations = encryptedOperations;
467
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation, totalPropertiesEncryptedCount);
636
+ if (overlappingRanges.length >= 1) {
637
+ const newBatches = this.createNewBatches(
638
+ overlappingRanges,
639
+ batch,
640
+ partitionKeyDefinition
641
+ );
642
+ await Promise.all(
643
+ this.executeBatchOperations(
644
+ newBatches,
645
+ path,
646
+ bulkOptions,
647
+ options,
648
+ diagnosticNode,
649
+ orderedResponses,
650
+ partitionKeyDefinition
651
+ )
652
+ );
468
653
  }
469
- const batches = partitionKeyRanges.map((keyRange) => {
470
- return {
471
- min: keyRange.minInclusive,
472
- max: keyRange.maxExclusive,
473
- rangeId: keyRange.id,
474
- indexes: [],
475
- operations: [],
476
- };
477
- });
478
- this.groupOperationsBasedOnPartitionKey(operations, partitionKeyDefinition, options, batches);
479
- const path = (0, index_js_1.getPathFromLink)(this.container.url, index_js_1.ResourceType.item);
480
- const orderedResponses = [];
481
- // split batches based on cumulative size of operations
482
- const batchMap = batches
483
- .filter((batch) => batch.operations.length)
484
- .flatMap((batch) => (0, batch_js_1.splitBatchBasedOnBodySize)(batch));
485
- await Promise.all(this.executeBatchOperations(batchMap, path, bulkOptions, options, diagnosticNode, orderedResponses, partitionKeyDefinition));
486
- const response = orderedResponses;
487
- response.diagnostics = diagnosticNode.toDiagnostic(this.clientContext.getClientConfig());
488
- return response;
489
- }, this.clientContext);
490
- }
491
- executeBatchOperations(batchMap, path, bulkOptions, options, diagnosticNode, orderedResponses, partitionKeyDefinition) {
492
- return batchMap.map(async (batch) => {
493
- if (batch.operations.length > 100) {
494
- throw new Error("Cannot run bulk request with more than 100 operations per partition");
495
- }
496
- let response;
497
- try {
498
- response = await (0, diagnostics_js_1.addDiagnosticChild)(async (childNode) => this.clientContext.bulk({
499
- body: batch.operations,
500
- partitionKeyRangeId: batch.rangeId,
501
- path,
502
- resourceId: this.container.url,
503
- bulkOptions,
504
- options,
505
- diagnosticNode: childNode,
506
- }), diagnosticNode, DiagnosticNodeInternal_js_1.DiagnosticNodeType.BATCH_REQUEST);
507
- response.result.forEach((operationResponse, index) => {
508
- orderedResponses[batch.indexes[index]] = operationResponse;
509
- });
510
- }
511
- catch (err) {
512
- if (this.clientContext.enableEncryption) {
513
- await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);
514
- }
515
- // In the case of 410 errors, we need to recompute the partition key ranges
516
- // and redo the batch request, however, 410 errors occur for unsupported
517
- // partition key types as well since we don't support them, so for now we throw
518
- if (err.code === index_js_1.StatusCodes.Gone) {
519
- const isPartitionSplit = err.substatus === index_js_1.SubStatusCodes.PartitionKeyRangeGone ||
520
- err.substatus === index_js_1.SubStatusCodes.CompletingSplit;
521
- if (isPartitionSplit) {
522
- const queryRange = new index_js_2.QueryRange(batch.min, batch.max, true, false);
523
- const overlappingRanges = await this.partitionKeyRangeCache.getOverlappingRanges(this.container.url, queryRange, diagnosticNode, true);
524
- if (overlappingRanges.length < 1) {
525
- throw new Error("Partition split/merge detected but no overlapping ranges found.");
526
- }
527
- // Handles both merge (overlappingRanges.length === 1) and split (overlappingRanges.length > 1) cases.
528
- if (overlappingRanges.length >= 1) {
529
- // const splitBatches: Batch[] = [];
530
- const newBatches = this.createNewBatches(overlappingRanges, batch, partitionKeyDefinition);
531
- await Promise.all(this.executeBatchOperations(newBatches, path, bulkOptions, options, diagnosticNode, orderedResponses, partitionKeyDefinition));
532
- }
533
- }
534
- else {
535
- throw new Error("Partition key error. An operation has an unsupported partitionKey type" +
536
- err.message);
537
- }
538
- }
539
- else {
540
- throw new Error(`Bulk request errored with: ${err.message}`);
541
- }
542
- }
543
- if (response) {
544
- try {
545
- if (this.clientContext.enableEncryption) {
546
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation);
547
- let count = 0;
548
- for (const result of response.result) {
549
- if (result.resourceBody) {
550
- const { body, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(result.resourceBody);
551
- result.resourceBody = body;
552
- count += propertiesDecryptedCount;
553
- }
554
- }
555
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation, count);
556
- }
557
- }
558
- catch (error) {
559
- const decryptionError = new index_js_4.ErrorResponse(`Batch response was received but response decryption failed: + ${error.message}`);
560
- decryptionError.code = index_js_1.StatusCodes.ServiceUnavailable;
561
- throw decryptionError;
562
- }
563
- response.result.forEach((operationResponse, index) => {
564
- orderedResponses[batch.indexes[index]] = operationResponse;
565
- });
654
+ } else {
655
+ throw new Error(
656
+ "Partition key error. An operation has an unsupported partitionKey type" + err.message
657
+ );
658
+ }
659
+ } else {
660
+ throw new Error(`Bulk request errored with: ${err.message}`);
661
+ }
662
+ }
663
+ if (response) {
664
+ try {
665
+ if (this.clientContext.enableEncryption) {
666
+ diagnosticNode.beginEncryptionDiagnostics(
667
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation
668
+ );
669
+ let count = 0;
670
+ for (const result of response.result) {
671
+ if (result.resourceBody) {
672
+ const { body, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(result.resourceBody);
673
+ result.resourceBody = body;
674
+ count += propertiesDecryptedCount;
675
+ }
566
676
  }
677
+ diagnosticNode.endEncryptionDiagnostics(
678
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation,
679
+ count
680
+ );
681
+ }
682
+ } catch (error) {
683
+ const decryptionError = new import_request.ErrorResponse(
684
+ `Batch response was received but response decryption failed: + ${error.message}`
685
+ );
686
+ decryptionError.code = import_common.StatusCodes.ServiceUnavailable;
687
+ throw decryptionError;
688
+ }
689
+ response.result.forEach((operationResponse, index) => {
690
+ orderedResponses[batch.indexes[index]] = operationResponse;
567
691
  });
568
- }
569
- /**
570
- * Function to create new batches based of partition key Ranges.
571
- *
572
- * @param overlappingRanges - Overlapping partition key ranges.
573
- * @param batch - Batch to be split.
574
- * @param partitionKeyDefinition - PartitionKey definition of container.
575
- * @returns Array of new batches.
576
- */
577
- createNewBatches(overlappingRanges, batch, partitionKeyDefinition) {
578
- const newBatches = overlappingRanges.map((keyRange) => {
579
- return {
580
- min: keyRange.minInclusive,
581
- max: keyRange.maxExclusive,
582
- rangeId: keyRange.id,
583
- indexes: [],
584
- operations: [],
585
- };
586
- });
587
- let indexValue = 0;
588
- batch.operations.forEach((operation) => {
589
- const partitionKey = JSON.parse(operation.partitionKey);
590
- const hashed = (0, hash_js_1.hashPartitionKey)((0, typeChecks_js_1.assertNotUndefined)(partitionKey, "undefined value for PartitionKey is not expected during grouping of bulk operations."), partitionKeyDefinition);
591
- const batchForKey = (0, typeChecks_js_1.assertNotUndefined)(newBatches.find((newBatch) => {
592
- return (0, batch_js_1.isKeyInRange)(newBatch.min, newBatch.max, hashed);
593
- }), "No suitable Batch found.");
594
- batchForKey.operations.push(operation);
595
- batchForKey.indexes.push(batch.indexes[indexValue]);
596
- indexValue++;
597
- });
598
- return newBatches;
599
- }
600
- /**
601
- * Function to create batches based of partition key Ranges.
602
- * @param operations - operations to group
603
- * @param partitionDefinition - PartitionKey definition of container.
604
- * @param options - Request options for bulk request.
605
- * @param batches - Groups to be filled with operations.
606
- */
607
- groupOperationsBasedOnPartitionKey(operations, partitionDefinition, options, batches) {
608
- operations.forEach((operationInput, index) => {
609
- const { operation, partitionKey } = (0, batch_js_1.prepareOperations)(operationInput, partitionDefinition, options);
610
- const hashed = (0, hash_js_1.hashPartitionKey)((0, typeChecks_js_1.assertNotUndefined)(partitionKey, "undefined value for PartitionKey is not expected during grouping of bulk operations."), partitionDefinition);
611
- const batchForKey = (0, typeChecks_js_1.assertNotUndefined)(batches.find((batch) => {
612
- return (0, batch_js_1.isKeyInRange)(batch.min, batch.max, hashed);
613
- }), "No suitable Batch found.");
614
- batchForKey.operations.push(operation);
615
- batchForKey.indexes.push(index);
692
+ }
693
+ });
694
+ }
695
+ /**
696
+ * Function to create new batches based of partition key Ranges.
697
+ *
698
+ * @param overlappingRanges - Overlapping partition key ranges.
699
+ * @param batch - Batch to be split.
700
+ * @param partitionKeyDefinition - PartitionKey definition of container.
701
+ * @returns Array of new batches.
702
+ */
703
+ createNewBatches(overlappingRanges, batch, partitionKeyDefinition) {
704
+ const newBatches = overlappingRanges.map((keyRange) => {
705
+ return {
706
+ min: keyRange.minInclusive,
707
+ max: keyRange.maxExclusive,
708
+ rangeId: keyRange.id,
709
+ indexes: [],
710
+ operations: []
711
+ };
712
+ });
713
+ let indexValue = 0;
714
+ batch.operations.forEach((operation) => {
715
+ const partitionKey = JSON.parse(operation.partitionKey);
716
+ const hashed = (0, import_hash.hashPartitionKey)(
717
+ (0, import_typeChecks.assertNotUndefined)(
718
+ partitionKey,
719
+ "undefined value for PartitionKey is not expected during grouping of bulk operations."
720
+ ),
721
+ partitionKeyDefinition
722
+ );
723
+ const batchForKey = (0, import_typeChecks.assertNotUndefined)(
724
+ newBatches.find((newBatch) => {
725
+ return (0, import_batch.isKeyInRange)(newBatch.min, newBatch.max, hashed);
726
+ }),
727
+ "No suitable Batch found."
728
+ );
729
+ batchForKey.operations.push(operation);
730
+ batchForKey.indexes.push(batch.indexes[indexValue]);
731
+ indexValue++;
732
+ });
733
+ return newBatches;
734
+ }
735
+ /**
736
+ * Function to create batches based of partition key Ranges.
737
+ * @param operations - operations to group
738
+ * @param partitionDefinition - PartitionKey definition of container.
739
+ * @param options - Request options for bulk request.
740
+ * @param batches - Groups to be filled with operations.
741
+ */
742
+ groupOperationsBasedOnPartitionKey(operations, partitionDefinition, options, batches) {
743
+ operations.forEach((operationInput, index) => {
744
+ const { operation, partitionKey } = (0, import_batch.prepareOperations)(
745
+ operationInput,
746
+ partitionDefinition,
747
+ options
748
+ );
749
+ const hashed = (0, import_hash.hashPartitionKey)(
750
+ (0, import_typeChecks.assertNotUndefined)(
751
+ partitionKey,
752
+ "undefined value for PartitionKey is not expected during grouping of bulk operations."
753
+ ),
754
+ partitionDefinition
755
+ );
756
+ const batchForKey = (0, import_typeChecks.assertNotUndefined)(
757
+ batches.find((batch) => {
758
+ return (0, import_batch.isKeyInRange)(batch.min, batch.max, hashed);
759
+ }),
760
+ "No suitable Batch found."
761
+ );
762
+ batchForKey.operations.push(operation);
763
+ batchForKey.indexes.push(index);
764
+ });
765
+ }
766
+ /**
767
+ * Execute transactional batch operations on items.
768
+ *
769
+ * Batch takes an array of Operations which are typed based on what the operation does. Batch is transactional and will rollback all operations if one fails.
770
+ * The choices are: Create, Upsert, Read, Replace, and Delete
771
+ *
772
+ * Usage example:
773
+ * ```ts snippet:ItemsBatch
774
+ * import { CosmosClient, OperationInput } from "@azure/cosmos";
775
+ *
776
+ * const endpoint = "https://your-account.documents.azure.com";
777
+ * const key = "<database account masterkey>";
778
+ * const client = new CosmosClient({ endpoint, key });
779
+ *
780
+ * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
781
+ *
782
+ * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
783
+ *
784
+ * // The partitionKey is a required second argument. If it’s undefined, it defaults to the expected partition key format.
785
+ * const operations: OperationInput[] = [
786
+ * {
787
+ * operationType: "Create",
788
+ * resourceBody: { id: "doc1", name: "sample", key: "A" },
789
+ * },
790
+ * {
791
+ * operationType: "Upsert",
792
+ * resourceBody: { id: "doc2", name: "other", key: "A" },
793
+ * },
794
+ * ];
795
+ *
796
+ * await container.items.batch(operations, "A");
797
+ * ```
798
+ *
799
+ * @param operations - List of operations. Limit 100
800
+ * @param options - Used for modifying the request
801
+ */
802
+ async batch(operations, partitionKey, options) {
803
+ return (0, import_diagnostics.withDiagnostics)(async (diagnosticNode) => {
804
+ operations.map((operation) => (0, import_batch.decorateBatchOperation)(operation, options));
805
+ partitionKey = await (0, import_extractPartitionKey.setPartitionKeyIfUndefined)(diagnosticNode, this.container, partitionKey);
806
+ const path = (0, import_common.getPathFromLink)(this.container.url, import_common.ResourceType.item);
807
+ if (operations.length > 100) {
808
+ throw new Error("Cannot run batch request with more than 100 operations per partition");
809
+ }
810
+ for (const operationInput of operations) {
811
+ if (operationInput && operationInput.partitionKey !== void 0) {
812
+ operationInput.partitionKey = JSON.stringify(
813
+ (0, import_documents.convertToInternalPartitionKey)(operationInput.partitionKey)
814
+ );
815
+ }
816
+ }
817
+ let response;
818
+ try {
819
+ if (this.clientContext.enableEncryption) {
820
+ operations = (0, import_common.copyObject)(operations);
821
+ options = options || {};
822
+ await this.container.checkAndInitializeEncryption();
823
+ options.containerRid = this.container._rid;
824
+ let count = 0;
825
+ diagnosticNode.beginEncryptionDiagnostics(
826
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation
827
+ );
828
+ if (partitionKey) {
829
+ const partitionKeyInternal = (0, import_documents.convertToInternalPartitionKey)(partitionKey);
830
+ const { partitionKeyList, encryptedCount } = await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(
831
+ partitionKeyInternal
832
+ );
833
+ partitionKey = partitionKeyList;
834
+ count += encryptedCount;
835
+ }
836
+ const { operations: encryptedOperations, totalPropertiesEncryptedCount } = await this.bulkBatchEncryptionHelper(operations);
837
+ operations = encryptedOperations;
838
+ count += totalPropertiesEncryptedCount;
839
+ diagnosticNode.endEncryptionDiagnostics(
840
+ import_common.Constants.Encryption.DiagnosticsEncryptOperation,
841
+ count
842
+ );
843
+ }
844
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
845
+ const partitionKeyRangeId = await (0, import_ClientUtils.computePartitionKeyRangeId)(
846
+ diagnosticNode,
847
+ partitionKey,
848
+ this.partitionKeyRangeCache,
849
+ isPartitionLevelFailOverEnabled,
850
+ this.container
851
+ );
852
+ response = await this.clientContext.batch({
853
+ body: operations,
854
+ partitionKey,
855
+ path,
856
+ resourceId: this.container.url,
857
+ options,
858
+ diagnosticNode,
859
+ partitionKeyRangeId
616
860
  });
617
- }
618
- /**
619
- * Execute transactional batch operations on items.
620
- *
621
- * Batch takes an array of Operations which are typed based on what the operation does. Batch is transactional and will rollback all operations if one fails.
622
- * The choices are: Create, Upsert, Read, Replace, and Delete
623
- *
624
- * Usage example:
625
- * ```ts snippet:ItemsBatch
626
- * import { CosmosClient, OperationInput } from "@azure/cosmos";
627
- *
628
- * const endpoint = "https://your-account.documents.azure.com";
629
- * const key = "<database account masterkey>";
630
- * const client = new CosmosClient({ endpoint, key });
631
- *
632
- * const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
633
- *
634
- * const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
635
- *
636
- * // The partitionKey is a required second argument. If it’s undefined, it defaults to the expected partition key format.
637
- * const operations: OperationInput[] = [
638
- * {
639
- * operationType: "Create",
640
- * resourceBody: { id: "doc1", name: "sample", key: "A" },
641
- * },
642
- * {
643
- * operationType: "Upsert",
644
- * resourceBody: { id: "doc2", name: "other", key: "A" },
645
- * },
646
- * ];
647
- *
648
- * await container.items.batch(operations, "A");
649
- * ```
650
- *
651
- * @param operations - List of operations. Limit 100
652
- * @param options - Used for modifying the request
653
- */
654
- async batch(operations, partitionKey, options) {
655
- return (0, diagnostics_js_1.withDiagnostics)(async (diagnosticNode) => {
656
- operations.map((operation) => (0, batch_js_1.decorateBatchOperation)(operation, options));
657
- partitionKey = await (0, extractPartitionKey_js_1.setPartitionKeyIfUndefined)(diagnosticNode, this.container, partitionKey);
658
- const path = (0, index_js_1.getPathFromLink)(this.container.url, index_js_1.ResourceType.item);
659
- if (operations.length > 100) {
660
- throw new Error("Cannot run batch request with more than 100 operations per partition");
661
- }
662
- for (const operationInput of operations) {
663
- if (operationInput && operationInput.partitionKey !== undefined) {
664
- operationInput.partitionKey = JSON.stringify((0, index_js_3.convertToInternalPartitionKey)(operationInput.partitionKey));
665
- }
666
- }
667
- let response;
668
- try {
669
- if (this.clientContext.enableEncryption) {
670
- // returns copy to avoid encryption of original operations body passed
671
- operations = (0, index_js_1.copyObject)(operations);
672
- options = options || {};
673
- await this.container.checkAndInitializeEncryption();
674
- options.containerRid = this.container._rid;
675
- let count = 0;
676
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation);
677
- if (partitionKey) {
678
- const partitionKeyInternal = (0, index_js_3.convertToInternalPartitionKey)(partitionKey);
679
- const { partitionKeyList, encryptedCount } = await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(partitionKeyInternal);
680
- partitionKey = partitionKeyList;
681
- count += encryptedCount;
682
- }
683
- const { operations: encryptedOperations, totalPropertiesEncryptedCount } = await this.bulkBatchEncryptionHelper(operations);
684
- operations = encryptedOperations;
685
- count += totalPropertiesEncryptedCount;
686
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsEncryptOperation, count);
687
- }
688
- const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
689
- const partitionKeyRangeId = await (0, ClientUtils_js_1.computePartitionKeyRangeId)(diagnosticNode, partitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container);
690
- response = await this.clientContext.batch({
691
- body: operations,
692
- partitionKey,
693
- path,
694
- resourceId: this.container.url,
695
- options,
696
- diagnosticNode,
697
- partitionKeyRangeId,
698
- });
699
- }
700
- catch (err) {
701
- if (this.clientContext.enableEncryption) {
702
- await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);
703
- }
704
- throw new Error(`Batch request error: ${err.message}`);
705
- }
706
- if (this.clientContext.enableEncryption) {
707
- try {
708
- diagnosticNode.beginEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation);
709
- let count = 0;
710
- for (const result of response.result) {
711
- if (result.resourceBody) {
712
- const { body, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(result.resourceBody);
713
- result.resourceBody = body;
714
- count += propertiesDecryptedCount;
715
- }
716
- }
717
- diagnosticNode.endEncryptionDiagnostics(index_js_1.Constants.Encryption.DiagnosticsDecryptOperation, count);
718
- }
719
- catch (error) {
720
- const decryptionError = new index_js_4.ErrorResponse(`Batch response was received but response decryption failed: + ${error.message}`);
721
- decryptionError.code = index_js_1.StatusCodes.ServiceUnavailable;
722
- throw decryptionError;
723
- }
861
+ } catch (err) {
862
+ if (this.clientContext.enableEncryption) {
863
+ await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);
864
+ }
865
+ throw new Error(`Batch request error: ${err.message}`);
866
+ }
867
+ if (this.clientContext.enableEncryption) {
868
+ try {
869
+ diagnosticNode.beginEncryptionDiagnostics(
870
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation
871
+ );
872
+ let count = 0;
873
+ for (const result of response.result) {
874
+ if (result.resourceBody) {
875
+ const { body, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(result.resourceBody);
876
+ result.resourceBody = body;
877
+ count += propertiesDecryptedCount;
724
878
  }
725
- return response;
726
- }, this.clientContext);
727
- }
728
- async bulkBatchEncryptionHelper(operations) {
729
- let totalPropertiesEncryptedCount = 0;
730
- const encryptedOperations = [];
731
- for (const operation of operations) {
732
- const { operation: encryptedOp, totalPropertiesEncryptedCount: updatedCount } = await (0, batch_js_1.encryptOperationInput)(this.container.encryptionProcessor, operation, totalPropertiesEncryptedCount);
733
- totalPropertiesEncryptedCount = updatedCount;
734
- encryptedOperations.push(encryptedOp);
879
+ }
880
+ diagnosticNode.endEncryptionDiagnostics(
881
+ import_common.Constants.Encryption.DiagnosticsDecryptOperation,
882
+ count
883
+ );
884
+ } catch (error) {
885
+ const decryptionError = new import_request.ErrorResponse(
886
+ `Batch response was received but response decryption failed: + ${error.message}`
887
+ );
888
+ decryptionError.code = import_common.StatusCodes.ServiceUnavailable;
889
+ throw decryptionError;
735
890
  }
736
- return { operations: encryptedOperations, totalPropertiesEncryptedCount };
891
+ }
892
+ return response;
893
+ }, this.clientContext);
894
+ }
895
+ async bulkBatchEncryptionHelper(operations) {
896
+ let totalPropertiesEncryptedCount = 0;
897
+ const encryptedOperations = [];
898
+ for (const operation of operations) {
899
+ const { operation: encryptedOp, totalPropertiesEncryptedCount: updatedCount } = await (0, import_batch.encryptOperationInput)(
900
+ this.container.encryptionProcessor,
901
+ operation,
902
+ totalPropertiesEncryptedCount
903
+ );
904
+ totalPropertiesEncryptedCount = updatedCount;
905
+ encryptedOperations.push(encryptedOp);
737
906
  }
907
+ return { operations: encryptedOperations, totalPropertiesEncryptedCount };
908
+ }
738
909
  }
739
- exports.Items = Items;
740
- //# sourceMappingURL=Items.js.map
910
+ // Annotate the CommonJS export names for ESM import in node:
911
+ 0 && (module.exports = {
912
+ Items
913
+ });
914
+ //# sourceMappingURL=Items.js.map