@azure/cosmos 4.9.1 → 4.9.2

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