@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 +1 @@
1
- {"version":3,"file":"hybridSearchQueryResult.js","sourceRoot":"","sources":["../../../src/request/hybridSearchQueryResult.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,OAAO,uBAAuB;IAClC,GAAG,CAAS;IACZ,eAAe,CAAW;IAC1B,IAAI,CAAM;IACV,KAAK,CAAS;IACd,KAAK,CAAW;IAEhB,YAAY,GAAW,EAAE,eAAyB,EAAE,IAA6B;QAC/E,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM,CAA2B,QAAW;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,eAAyB,CAAC;QAC9B,IAAI,IAA6B,CAAC;QAElC,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,+CAA+C;YAC/C,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC3D,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,eAAe,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ItemDefinition } from \"../client/index.js\";\n\nconst FieldNames = {\n Rid: \"_rid\",\n Payload: \"payload\",\n ComponentScores: \"componentScores\",\n};\n\nexport class HybridSearchQueryResult {\n rid: string;\n componentScores: number[];\n data: any;\n score: number;\n ranks: number[];\n\n constructor(rid: string, componentScores: number[], data: Record<string, unknown>) {\n this.rid = rid;\n this.componentScores = componentScores;\n this.data = data;\n }\n\n public static create<T extends ItemDefinition>(document: T): HybridSearchQueryResult {\n const rid = document[FieldNames.Rid];\n if (!rid) {\n throw new Error(`${FieldNames.Rid} must exist.`);\n }\n\n const outerPayload = document[FieldNames.Payload];\n let componentScores: number[];\n let data: Record<string, unknown>;\n\n if (!outerPayload || typeof outerPayload !== \"object\") {\n throw new Error(`${FieldNames.Payload} must exist.`);\n }\n\n const innerPayload = outerPayload[FieldNames.Payload];\n\n if (innerPayload && typeof innerPayload === \"object\") {\n // older format without query plan optimization\n componentScores = outerPayload[FieldNames.ComponentScores];\n data = innerPayload;\n } else {\n // newer format with the optimization\n componentScores = document[FieldNames.ComponentScores];\n data = outerPayload;\n }\n if (!Array.isArray(componentScores)) {\n throw new Error(`${FieldNames.ComponentScores} must exist.`);\n }\n return new HybridSearchQueryResult(rid, componentScores, data);\n }\n}\n"]}
1
+ {"version":3,"file":"hybridSearchQueryResult.js","sourceRoot":"","sources":["../../../src/request/hybridSearchQueryResult.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,MAAM,OAAO,uBAAuB;IAClC,GAAG,CAAS;IACZ,eAAe,CAAW;IAC1B,IAAI,CAAM;IACV,KAAK,CAAS;IACd,KAAK,CAAW;IAEhB,YAAY,GAAW,EAAE,eAAyB,EAAE,IAA6B;QAC/E,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM,CAA2B,QAAW;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,eAAyB,CAAC;QAC9B,IAAI,IAA6B,CAAC;QAElC,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrD,+CAA+C;YAC/C,eAAe,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC3D,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,eAAe,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACvD,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,CAAC,eAAe,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ItemDefinition } from \"../client/index.js\";\n\nconst FieldNames = {\n Rid: \"_rid\",\n Payload: \"payload\",\n ComponentScores: \"componentScores\",\n};\n\nexport class HybridSearchQueryResult {\n rid: string;\n componentScores: number[];\n data: any;\n score: number;\n ranks: number[];\n\n constructor(rid: string, componentScores: number[], data: Record<string, unknown>) {\n this.rid = rid;\n this.componentScores = componentScores;\n this.data = data;\n }\n\n public static create<T extends ItemDefinition>(document: T): HybridSearchQueryResult {\n const rid = document[FieldNames.Rid];\n if (!rid) {\n throw new Error(`${FieldNames.Rid} must exist.`);\n }\n\n const outerPayload = document[FieldNames.Payload];\n let componentScores: number[];\n let data: Record<string, unknown>;\n\n if (!outerPayload || typeof outerPayload !== \"object\") {\n throw new Error(`${FieldNames.Payload} must exist.`);\n }\n\n const innerPayload = outerPayload[FieldNames.Payload];\n\n if (innerPayload && typeof innerPayload === \"object\") {\n // older format without query plan optimization\n componentScores = outerPayload[FieldNames.ComponentScores];\n data = innerPayload;\n } else {\n // newer format with the optimization\n componentScores = document[FieldNames.ComponentScores];\n data = outerPayload;\n }\n if (!Array.isArray(componentScores)) {\n throw new Error(`${FieldNames.ComponentScores} must exist.`);\n }\n return new HybridSearchQueryResult(rid, componentScores, data);\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
- export { ErrorResponse, ErrorBody, PartitionedQueryExecutionInfo, QueryInfo, QueryRange, AggregateType, GroupByExpressions, GroupByAliasToAggregateType, HybridSearchQueryInfo, } from "./ErrorResponse.js";
2
- export { FeedOptions } from "./FeedOptions.js";
3
- export { RequestOptions } from "./RequestOptions.js";
4
- export { Response } from "./Response.js";
1
+ export { ErrorResponse, type ErrorBody, type PartitionedQueryExecutionInfo, type QueryInfo, type QueryRange, type AggregateType, type GroupByExpressions, type GroupByAliasToAggregateType, type HybridSearchQueryInfo, } from "./ErrorResponse.js";
2
+ export type { FeedOptions } from "./FeedOptions.js";
3
+ export type { RequestOptions } from "./RequestOptions.js";
4
+ export type { Response } from "./Response.js";
5
5
  export { ResourceResponse } from "./ResourceResponse.js";
6
- export { SharedOptions } from "./SharedOptions.js";
7
- export { StatusCode, SubStatusCode } from "./StatusCodes.js";
6
+ export type { SharedOptions } from "./SharedOptions.js";
7
+ export type { StatusCode, SubStatusCode } from "./StatusCodes.js";
8
8
  export { FeedResponse } from "./FeedResponse.js";
9
- export { RequestContext } from "./RequestContext.js";
9
+ export type { RequestContext } from "./RequestContext.js";
10
10
  export { TimeoutError } from "./TimeoutError.js";
11
- export * from "./globalStatistics.js";
11
+ export type * from "./globalStatistics.js";
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,SAAS,EACT,6BAA6B,EAC7B,SAAS,EACT,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,KAAK,SAAS,EACd,KAAK,6BAA6B,EAClC,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,mBAAmB,uBAAuB,CAAC"}
@@ -4,5 +4,4 @@ export { ErrorResponse, } from "./ErrorResponse.js";
4
4
  export { ResourceResponse } from "./ResourceResponse.js";
5
5
  export { FeedResponse } from "./FeedResponse.js";
6
6
  export { TimeoutError } from "./TimeoutError.js";
7
- export * from "./globalStatistics.js";
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EACL,aAAa,GASd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,cAAc,uBAAuB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport {\n ErrorResponse,\n ErrorBody,\n PartitionedQueryExecutionInfo,\n QueryInfo,\n QueryRange,\n AggregateType,\n GroupByExpressions,\n GroupByAliasToAggregateType,\n HybridSearchQueryInfo,\n} from \"./ErrorResponse.js\";\nexport { FeedOptions } from \"./FeedOptions.js\";\nexport { RequestOptions } from \"./RequestOptions.js\";\nexport { Response } from \"./Response.js\";\nexport { ResourceResponse } from \"./ResourceResponse.js\";\nexport { SharedOptions } from \"./SharedOptions.js\";\nexport { StatusCode, SubStatusCode } from \"./StatusCodes.js\";\nexport { FeedResponse } from \"./FeedResponse.js\";\nexport { RequestContext } from \"./RequestContext.js\";\nexport { TimeoutError } from \"./TimeoutError.js\";\nexport * from \"./globalStatistics.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/request/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EACL,aAAa,GASd,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport {\n ErrorResponse,\n type ErrorBody,\n type PartitionedQueryExecutionInfo,\n type QueryInfo,\n type QueryRange,\n type AggregateType,\n type GroupByExpressions,\n type GroupByAliasToAggregateType,\n type HybridSearchQueryInfo,\n} from \"./ErrorResponse.js\";\nexport type { FeedOptions } from \"./FeedOptions.js\";\nexport type { RequestOptions } from \"./RequestOptions.js\";\nexport type { Response } from \"./Response.js\";\nexport { ResourceResponse } from \"./ResourceResponse.js\";\nexport type { SharedOptions } from \"./SharedOptions.js\";\nexport type { StatusCode, SubStatusCode } from \"./StatusCodes.js\";\nexport { FeedResponse } from \"./FeedResponse.js\";\nexport type { RequestContext } from \"./RequestContext.js\";\nexport { TimeoutError } from \"./TimeoutError.js\";\nexport type * from \"./globalStatistics.js\";\n"]}
@@ -4,7 +4,7 @@ import type { GlobalEndpointManager } from "../globalEndpointManager.js";
4
4
  import type { ErrorResponse, RequestContext } from "../request/index.js";
5
5
  import type { RetryContext } from "./RetryContext.js";
6
6
  import type { RetryPolicy } from "./RetryPolicy.js";
7
- import { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
7
+ import type { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
8
8
  /**
9
9
  * This class implements the retry policy for endpoint discovery.
10
10
  * @hidden
@@ -1 +1 @@
1
- {"version":3,"file":"endpointDiscoveryRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,WAAW;IAe5D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,8BAA8B,CAAC;IAjBzC,mCAAmC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACxC,sCAAsC;IAC/B,cAAc,EAAE,MAAM,CAAC;IAE9B,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAE9C;;OAEG;gBAEO,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,8BAA8B,CAAC,EAAE,8BAA8B;IAOzE;;;OAGG;IACU,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAoDxC"}
1
+ {"version":3,"file":"endpointDiscoveryRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,WAAW;IAe5D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,8BAA8B,CAAC;IAjBzC,mCAAmC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;IACxC,sCAAsC;IAC/B,cAAc,EAAE,MAAM,CAAC;IAE9B,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAE9C;;OAEG;gBAEO,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,8BAA8B,CAAC,EAAE,8BAA8B;IAOzE;;;OAGG;IACU,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAoDxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"endpointDiscoveryRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IAe7B;IACA;IACA;IACA;IAjBV,mCAAmC;IAC5B,wBAAwB,CAAS;IACxC,sCAAsC;IAC/B,cAAc,CAAS;IAE9B,+CAA+C;IACvC,QAAQ,CAAS;IACjB,MAAM,CAAU,QAAQ,GAAG,GAAG,CAAC,CAAC,kBAAkB;IAClD,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,YACU,qBAA4C,EAC5C,YAA0B,EAC1B,aAA4B,EAC5B,8BAA+D;QAH/D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mCAA8B,GAA9B,8BAA8B,CAAiC;QAEvE,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC,cAAc,CAAC;IACpE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CACtB,GAAkB,EAClB,cAAsC,EACtC,YAA2B,EAC3B,gBAAyB,EACzB,cAA+B;QAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,yBAAyB,CACrF,cAAc,EACd,cAAc,CACf,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACxD,YAAY,CAAC,6BAA6B,GAAG,KAAK,CAAC;QACnD,YAAY,CAAC,gCAAgC,GAAG,KAAK,CAAC;QACtD,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,2FAA2F;QAC3F,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,qCAAqC,CACpE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,sCAAsC,CACrE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { OperationType, ResourceType } from \"../common/index.js\";\nimport { isReadRequest } from \"../common/helper.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class implements the retry policy for endpoint discovery.\n * @hidden\n */\nexport class EndpointDiscoveryRetryPolicy implements RetryPolicy {\n /** Current retry attempt count. */\n public currentRetryAttemptCount: number;\n /** Retry interval in milliseconds. */\n public retryAfterInMs: number;\n\n /** Max number of retry attempts to perform. */\n private maxTries: number;\n private static readonly maxTries = 120; // TODO: Constant?\n private static readonly retryAfterInMs = 1000;\n\n /**\n * @param globalEndpointManager - The GlobalEndpointManager instance.\n */\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {\n this.maxTries = EndpointDiscoveryRetryPolicy.maxTries;\n this.currentRetryAttemptCount = 0;\n this.retryAfterInMs = EndpointDiscoveryRetryPolicy.retryAfterInMs;\n }\n\n /**\n * Determines whether the request should be retried or not.\n * @param err - Error returned by the request.\n */\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean | [boolean, string]> {\n if (!err) {\n return false;\n }\n\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n\n if (!this.globalEndpointManager.enableEndpointDiscovery) {\n return false;\n }\n\n if (this.globalPartitionEndpointManager) {\n const didFailover = await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n if (didFailover) {\n return true;\n }\n }\n\n if (this.currentRetryAttemptCount >= this.maxTries) {\n return false;\n }\n\n this.currentRetryAttemptCount++;\n retryContext.retryCount = this.currentRetryAttemptCount;\n retryContext.clearSessionTokenNotAvailable = false;\n retryContext.retryRequestOnPreferredLocations = false;\n diagnosticNode.addData({ successfulRetryPolicy: \"endpointDiscovery\" });\n\n // check if this is a readDatabaseAccount call\n // If yes, then simply return true (avoid recursive call triggered for readDatabaseAccount)\n if (this.resourceType === ResourceType.none && this.operationType === OperationType.Read) {\n return true;\n }\n\n if (isReadRequest(this.operationType)) {\n await this.globalEndpointManager.markCurrentLocationUnavailableForRead(\n diagnosticNode,\n locationEndpoint,\n );\n } else {\n await this.globalEndpointManager.markCurrentLocationUnavailableForWrite(\n diagnosticNode,\n locationEndpoint,\n );\n }\n return true;\n }\n}\n"]}
1
+ {"version":3,"file":"endpointDiscoveryRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/endpointDiscoveryRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD;;;GAGG;AACH,MAAM,OAAO,4BAA4B;IAe7B;IACA;IACA;IACA;IAjBV,mCAAmC;IAC5B,wBAAwB,CAAS;IACxC,sCAAsC;IAC/B,cAAc,CAAS;IAE9B,+CAA+C;IACvC,QAAQ,CAAS;IACjB,MAAM,CAAU,QAAQ,GAAG,GAAG,CAAC,CAAC,kBAAkB;IAClD,MAAM,CAAU,cAAc,GAAG,IAAI,CAAC;IAE9C;;OAEG;IACH,YACU,qBAA4C,EAC5C,YAA0B,EAC1B,aAA4B,EAC5B,8BAA+D;QAH/D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,mCAA8B,GAA9B,8BAA8B,CAAiC;QAEvE,IAAI,CAAC,QAAQ,GAAG,4BAA4B,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC,cAAc,CAAC;IACpE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CACtB,GAAkB,EAClB,cAAsC,EACtC,YAA2B,EAC3B,gBAAyB,EACzB,cAA+B;QAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,yBAAyB,CACrF,cAAc,EACd,cAAc,CACf,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACxD,YAAY,CAAC,6BAA6B,GAAG,KAAK,CAAC;QACnD,YAAY,CAAC,gCAAgC,GAAG,KAAK,CAAC;QACtD,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAEvE,8CAA8C;QAC9C,2FAA2F;QAC3F,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YACzF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,qBAAqB,CAAC,qCAAqC,CACpE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,qBAAqB,CAAC,sCAAsC,CACrE,cAAc,EACd,gBAAgB,CACjB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { OperationType, ResourceType } from \"../common/index.js\";\nimport { isReadRequest } from \"../common/helper.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport type { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class implements the retry policy for endpoint discovery.\n * @hidden\n */\nexport class EndpointDiscoveryRetryPolicy implements RetryPolicy {\n /** Current retry attempt count. */\n public currentRetryAttemptCount: number;\n /** Retry interval in milliseconds. */\n public retryAfterInMs: number;\n\n /** Max number of retry attempts to perform. */\n private maxTries: number;\n private static readonly maxTries = 120; // TODO: Constant?\n private static readonly retryAfterInMs = 1000;\n\n /**\n * @param globalEndpointManager - The GlobalEndpointManager instance.\n */\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {\n this.maxTries = EndpointDiscoveryRetryPolicy.maxTries;\n this.currentRetryAttemptCount = 0;\n this.retryAfterInMs = EndpointDiscoveryRetryPolicy.retryAfterInMs;\n }\n\n /**\n * Determines whether the request should be retried or not.\n * @param err - Error returned by the request.\n */\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean | [boolean, string]> {\n if (!err) {\n return false;\n }\n\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n\n if (!this.globalEndpointManager.enableEndpointDiscovery) {\n return false;\n }\n\n if (this.globalPartitionEndpointManager) {\n const didFailover = await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n if (didFailover) {\n return true;\n }\n }\n\n if (this.currentRetryAttemptCount >= this.maxTries) {\n return false;\n }\n\n this.currentRetryAttemptCount++;\n retryContext.retryCount = this.currentRetryAttemptCount;\n retryContext.clearSessionTokenNotAvailable = false;\n retryContext.retryRequestOnPreferredLocations = false;\n diagnosticNode.addData({ successfulRetryPolicy: \"endpointDiscovery\" });\n\n // check if this is a readDatabaseAccount call\n // If yes, then simply return true (avoid recursive call triggered for readDatabaseAccount)\n if (this.resourceType === ResourceType.none && this.operationType === OperationType.Read) {\n return true;\n }\n\n if (isReadRequest(this.operationType)) {\n await this.globalEndpointManager.markCurrentLocationUnavailableForRead(\n diagnosticNode,\n locationEndpoint,\n );\n } else {\n await this.globalEndpointManager.markCurrentLocationUnavailableForWrite(\n diagnosticNode,\n locationEndpoint,\n );\n }\n return true;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- export * from "./retryOptions.js";
1
+ export type * from "./retryOptions.js";
2
2
  export * from "./endpointDiscoveryRetryPolicy.js";
3
3
  export * from "./resourceThrottleRetryPolicy.js";
4
4
  export * from "./sessionRetryPolicy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAEA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAEA,mBAAmB,mBAAmB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC"}
@@ -1,6 +1,3 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- export * from "./retryOptions.js";
4
1
  export * from "./endpointDiscoveryRetryPolicy.js";
5
2
  export * from "./resourceThrottleRetryPolicy.js";
6
3
  export * from "./sessionRetryPolicy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport * from \"./retryOptions.js\";\nexport * from \"./endpointDiscoveryRetryPolicy.js\";\nexport * from \"./resourceThrottleRetryPolicy.js\";\nexport * from \"./sessionRetryPolicy.js\";\nexport * from \"./retryUtility.js\";\nexport * from \"./timeoutFailoverRetryPolicy.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/retry/index.ts"],"names":[],"mappings":"AAGA,cAAc,mCAAmC,CAAC;AAClD,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nexport type * from \"./retryOptions.js\";\nexport * from \"./endpointDiscoveryRetryPolicy.js\";\nexport * from \"./resourceThrottleRetryPolicy.js\";\nexport * from \"./sessionRetryPolicy.js\";\nexport * from \"./retryUtility.js\";\nexport * from \"./timeoutFailoverRetryPolicy.js\";\n"]}
@@ -6,7 +6,7 @@ import type { RetryContext } from "./RetryContext.js";
6
6
  import type { CosmosHeaders } from "../queryExecutionContext/CosmosHeaders.js";
7
7
  import type { ErrorResponse, RequestContext } from "../request/index.js";
8
8
  import type { DiagnosticNodeInternal } from "../diagnostics/DiagnosticNodeInternal.js";
9
- import { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
9
+ import type { GlobalPartitionEndpointManager } from "../globalPartitionEndpointManager.js";
10
10
  /**
11
11
  * This class TimeoutFailoverRetryPolicy handles retries for read operations
12
12
  * (including data plane,metadata, and query plan) in case of request timeouts
@@ -1 +1 @@
1
- {"version":3,"file":"timeoutFailoverRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,WAAW;IAS1D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,8BAA8B,CAAC;IAdzC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,+BAA+B,CAAK;IACrC,cAAc,SAAK;IACnB,kBAAkB,SAAK;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,GAAG,CAAC;gBAGnB,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,OAAO,EAChC,8BAA8B,CAAC,EAAE,8BAA8B;IAGzE;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IASxB,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,CAAC;IAsDnB;;;;OAIG;YACW,iBAAiB;CAyBhC"}
1
+ {"version":3,"file":"timeoutFailoverRetryPolicy.d.ts","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAiB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE/E,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAE3F;;;;;;GAMG;AACH,qBAAa,0BAA2B,YAAW,WAAW;IAS1D,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,8BAA8B,CAAC;IAdzC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,+BAA+B,CAAK;IACrC,cAAc,SAAK;IACnB,kBAAkB,SAAK;IACvB,OAAO,EAAE,GAAG,CAAC;IACb,gBAAgB,EAAE,GAAG,CAAC;gBAGnB,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,OAAO,EAChC,8BAA8B,CAAC,EAAE,8BAA8B;IAGzE;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IASxB,WAAW,CACtB,GAAG,EAAE,aAAa,EAClB,cAAc,EAAE,sBAAsB,EACtC,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,CAAC,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,OAAO,CAAC;IAsDnB;;;;OAIG;YACW,iBAAiB;CAyBhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeoutFailoverRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAK9D;;;;;;GAMG;AACH,MAAM,OAAO,0BAA0B;IAS3B;IACA;IACA;IACA;IACA;IACA;IACA;IAdF,oBAAoB,GAAG,GAAG,CAAC;IAC3B,+BAA+B,GAAG,CAAC,CAAC;IACrC,cAAc,GAAG,CAAC,CAAC;IACnB,kBAAkB,GAAG,CAAC,CAAC;IACvB,OAAO,CAAM;IACb,gBAAgB,CAAM;IAE7B,YACU,qBAA4C,EAC5C,OAAsB,EACtB,UAAsB,EACtB,YAA0B,EAC1B,aAA4B,EAC5B,uBAAgC,EAChC,8BAA+D;QAN/D,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,YAAO,GAAP,OAAO,CAAe;QACtB,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,4BAAuB,GAAvB,uBAAuB,CAAS;QAChC,mCAA8B,GAA9B,8BAA8B,CAAiC;IACtE,CAAC;IAEJ;;;;OAIG;IACK,6BAA6B;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC;QACtE,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,GAAG,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,GAAkB,EAClB,cAAsC,EACtC,YAA2B,EAC3B,gBAAyB,EACzB,cAA+B;QAE/B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,qCAAqC;QACrC,8DAA8D;QAC9D,IAAI,cAAc,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAC1D,MAAM,IAAI,CAAC,8BAA8B,CAAC,yBAAyB,CACjE,cAAc,EACd,cAAc,CACf,CAAC;QACJ,CAAC;QACD,iHAAiH;QACjH,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,CAAC;YAC3E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IACE,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,kBAAkB;YAC3C,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,+BAA+B,EAC/D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,4BAA4B,GAAG,IAAI,CAAC,qBAAqB,CAAC,4BAA4B,CAC1F,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtD,IACE,CAAC,4BAA4B;YAC7B,CAAC,WAAW;YACZ,CAAC,IAAI,CAAC,8BAA8B,EAAE,wCAAwC,EAAE,EAChF,CAAC;YACD,6FAA6F;YAC7F,uEAAuE;YACvE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,2EAA2E;QAC3E,4FAA4F;QAC5F,YAAY,CAAC,wBAAwB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9F,cAAc,CAAC,OAAO,CAAC,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAAC,kBAA0B;QACxD,iDAAiD;QACjD,MAAM,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC;QACnF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,wGAAwG;QACxG,IAAI,uBAAuB,KAAK,CAAC,EAAE,CAAC;YAClC,yFAAyF;YACzF,aAAa,GAAG,kBAAkB,GAAG,uBAAuB,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,sIAAsI;YACtI,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;gBAC7E,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,aAAa,GAAG,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;gBAC/E,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport { StatusCodes } from \"../common/statusCodes.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport { HTTPMethod, isReadRequest } from \"../common/index.js\";\nimport type { OperationType, ResourceType } from \"../common/constants.js\";\nimport { Constants } from \"../common/constants.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/CosmosHeaders.js\";\nimport { TimeoutErrorCode } from \"../request/TimeoutError.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class TimeoutFailoverRetryPolicy handles retries for read operations\n * (including data plane,metadata, and query plan) in case of request timeouts\n * (TimeoutError) or service unavailability (503 status code) by performing failover\n * and retrying on other regions.\n * @hidden\n */\nexport class TimeoutFailoverRetryPolicy implements RetryPolicy {\n private maxRetryAttemptCount = 120;\n private maxServiceUnavailableRetryCount = 1;\n public retryAfterInMs = 0;\n public failoverRetryCount = 0;\n public request: any;\n public locationEndpoint: any;\n\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private headers: CosmosHeaders,\n private methodType: HTTPMethod,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private enableEndPointDiscovery: boolean,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {}\n\n /**\n * Checks if a timeout request is valid for the timeout failover retry policy.\n * A valid request should be a data plane, metadata, or query plan request.\n * @returns\n */\n private isValidRequestForTimeoutError(): boolean {\n const isQuery = Constants.HttpHeaders.IsQuery in this.headers;\n const isQueryPlan = Constants.HttpHeaders.IsQueryPlan in this.headers;\n if (this.methodType === HTTPMethod.get || isQuery || isQueryPlan) {\n return true;\n }\n return false;\n }\n\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean> {\n if (!err) {\n return false;\n }\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n if (!this.enableEndPointDiscovery) {\n return false;\n }\n // Mark the partition as unavailable.\n // Let the Retry logic decide if the request should be retried\n if (requestContext && this.globalPartitionEndpointManager) {\n await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n }\n // Check if the error is a timeout error (TimeoutErrorCode) and if it is not a valid HTTP network timeout request\n if (err.code === TimeoutErrorCode && !this.isValidRequestForTimeoutError()) {\n return false;\n }\n if (\n err.code === StatusCodes.ServiceUnavailable &&\n this.failoverRetryCount >= this.maxServiceUnavailableRetryCount\n ) {\n return false;\n }\n if (this.failoverRetryCount >= this.maxRetryAttemptCount) {\n return false;\n }\n const canUseMultipleWriteLocations = this.globalEndpointManager.canUseMultipleWriteLocations(\n this.resourceType,\n this.operationType,\n );\n const readRequest = isReadRequest(this.operationType);\n\n if (\n !canUseMultipleWriteLocations &&\n !readRequest &&\n !this.globalPartitionEndpointManager?.isPartitionLevelAutomaticFailoverEnabled()\n ) {\n // Write requests on single master cannot be retried if partition level failover is disabled.\n // This means there are no other regions available to serve the writes.\n return false;\n }\n this.failoverRetryCount++;\n // Setting the retryLocationIndex to the next available location for retry.\n // The retryLocationIndex is determined based on the failoverRetryCount, starting from zero.\n retryContext.retryLocationServerIndex = await this.findEndpointIndex(this.failoverRetryCount);\n diagnosticNode.addData({ successfulRetryPolicy: \"timeout-failover\" });\n return true;\n }\n\n /**\n * Determines index of endpoint to be used for retry based upon failoverRetryCount and avalable locations\n * @param failoverRetryCount - count of failovers\n * @returns\n */\n private async findEndpointIndex(failoverRetryCount: number): Promise<number> {\n // count of preferred locations specified by user\n const preferredLocationsCount = this.globalEndpointManager.preferredLocationsCount;\n const readRequest = isReadRequest(this.operationType);\n let endpointIndex = 0;\n // If preferredLocationsCount is not zero, it indicates that the user has specified preferred locations.\n if (preferredLocationsCount !== 0) {\n // The endpointIndex is set based on the preferred location and the failover retry count.\n endpointIndex = failoverRetryCount % preferredLocationsCount;\n } else {\n // In the absence of preferred locations, the endpoint selection is based on the failover count and the number of available locations.\n if (readRequest) {\n const getReadEndpoints = await this.globalEndpointManager.getReadEndpoints();\n if (getReadEndpoints && getReadEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getReadEndpoints.length;\n }\n } else {\n const getWriteEndpoints = await this.globalEndpointManager.getWriteEndpoints();\n if (getWriteEndpoints && getWriteEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getWriteEndpoints.length;\n }\n }\n }\n return endpointIndex;\n }\n}\n"]}
1
+ {"version":3,"file":"timeoutFailoverRetryPolicy.js","sourceRoot":"","sources":["../../../src/retry/timeoutFailoverRetryPolicy.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { RetryPolicy } from \"./RetryPolicy.js\";\nimport { StatusCodes } from \"../common/statusCodes.js\";\nimport type { GlobalEndpointManager } from \"../globalEndpointManager.js\";\nimport { HTTPMethod, isReadRequest } from \"../common/index.js\";\nimport type { OperationType, ResourceType } from \"../common/constants.js\";\nimport { Constants } from \"../common/constants.js\";\nimport type { RetryContext } from \"./RetryContext.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/CosmosHeaders.js\";\nimport { TimeoutErrorCode } from \"../request/TimeoutError.js\";\nimport type { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport type { DiagnosticNodeInternal } from \"../diagnostics/DiagnosticNodeInternal.js\";\nimport type { GlobalPartitionEndpointManager } from \"../globalPartitionEndpointManager.js\";\n\n/**\n * This class TimeoutFailoverRetryPolicy handles retries for read operations\n * (including data plane,metadata, and query plan) in case of request timeouts\n * (TimeoutError) or service unavailability (503 status code) by performing failover\n * and retrying on other regions.\n * @hidden\n */\nexport class TimeoutFailoverRetryPolicy implements RetryPolicy {\n private maxRetryAttemptCount = 120;\n private maxServiceUnavailableRetryCount = 1;\n public retryAfterInMs = 0;\n public failoverRetryCount = 0;\n public request: any;\n public locationEndpoint: any;\n\n constructor(\n private globalEndpointManager: GlobalEndpointManager,\n private headers: CosmosHeaders,\n private methodType: HTTPMethod,\n private resourceType: ResourceType,\n private operationType: OperationType,\n private enableEndPointDiscovery: boolean,\n private globalPartitionEndpointManager?: GlobalPartitionEndpointManager,\n ) {}\n\n /**\n * Checks if a timeout request is valid for the timeout failover retry policy.\n * A valid request should be a data plane, metadata, or query plan request.\n * @returns\n */\n private isValidRequestForTimeoutError(): boolean {\n const isQuery = Constants.HttpHeaders.IsQuery in this.headers;\n const isQueryPlan = Constants.HttpHeaders.IsQueryPlan in this.headers;\n if (this.methodType === HTTPMethod.get || isQuery || isQueryPlan) {\n return true;\n }\n return false;\n }\n\n public async shouldRetry(\n err: ErrorResponse,\n diagnosticNode: DiagnosticNodeInternal,\n retryContext?: RetryContext,\n locationEndpoint?: string,\n requestContext?: RequestContext,\n ): Promise<boolean> {\n if (!err) {\n return false;\n }\n if (!retryContext || !locationEndpoint) {\n return false;\n }\n if (!this.enableEndPointDiscovery) {\n return false;\n }\n // Mark the partition as unavailable.\n // Let the Retry logic decide if the request should be retried\n if (requestContext && this.globalPartitionEndpointManager) {\n await this.globalPartitionEndpointManager.tryPartitionLevelFailover(\n requestContext,\n diagnosticNode,\n );\n }\n // Check if the error is a timeout error (TimeoutErrorCode) and if it is not a valid HTTP network timeout request\n if (err.code === TimeoutErrorCode && !this.isValidRequestForTimeoutError()) {\n return false;\n }\n if (\n err.code === StatusCodes.ServiceUnavailable &&\n this.failoverRetryCount >= this.maxServiceUnavailableRetryCount\n ) {\n return false;\n }\n if (this.failoverRetryCount >= this.maxRetryAttemptCount) {\n return false;\n }\n const canUseMultipleWriteLocations = this.globalEndpointManager.canUseMultipleWriteLocations(\n this.resourceType,\n this.operationType,\n );\n const readRequest = isReadRequest(this.operationType);\n\n if (\n !canUseMultipleWriteLocations &&\n !readRequest &&\n !this.globalPartitionEndpointManager?.isPartitionLevelAutomaticFailoverEnabled()\n ) {\n // Write requests on single master cannot be retried if partition level failover is disabled.\n // This means there are no other regions available to serve the writes.\n return false;\n }\n this.failoverRetryCount++;\n // Setting the retryLocationIndex to the next available location for retry.\n // The retryLocationIndex is determined based on the failoverRetryCount, starting from zero.\n retryContext.retryLocationServerIndex = await this.findEndpointIndex(this.failoverRetryCount);\n diagnosticNode.addData({ successfulRetryPolicy: \"timeout-failover\" });\n return true;\n }\n\n /**\n * Determines index of endpoint to be used for retry based upon failoverRetryCount and avalable locations\n * @param failoverRetryCount - count of failovers\n * @returns\n */\n private async findEndpointIndex(failoverRetryCount: number): Promise<number> {\n // count of preferred locations specified by user\n const preferredLocationsCount = this.globalEndpointManager.preferredLocationsCount;\n const readRequest = isReadRequest(this.operationType);\n let endpointIndex = 0;\n // If preferredLocationsCount is not zero, it indicates that the user has specified preferred locations.\n if (preferredLocationsCount !== 0) {\n // The endpointIndex is set based on the preferred location and the failover retry count.\n endpointIndex = failoverRetryCount % preferredLocationsCount;\n } else {\n // In the absence of preferred locations, the endpoint selection is based on the failover count and the number of available locations.\n if (readRequest) {\n const getReadEndpoints = await this.globalEndpointManager.getReadEndpoints();\n if (getReadEndpoints && getReadEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getReadEndpoints.length;\n }\n } else {\n const getWriteEndpoints = await this.globalEndpointManager.getWriteEndpoints();\n if (getWriteEndpoints && getWriteEndpoints.length > 0) {\n endpointIndex = failoverRetryCount % getWriteEndpoints.length;\n }\n }\n }\n return endpointIndex;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { PartitionKeyRange } from "../../client/index.js";
1
+ import type { PartitionKeyRange } from "../../client/index.js";
2
2
  import type { PartitionKeyDefinition, PrimitivePartitionKeyValue } from "../../documents/index.js";
3
3
  /**
4
4
  * Generate hash of a PartitonKey based on it PartitionKeyDefinition.
@@ -1 +1 @@
1
- {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../src/utils/hashing/hash.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAOnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,0BAA0B,EAAE,EAC1C,mBAAmB,EAAE,sBAAsB,GAC1C,MAAM,CAYR;AAED,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,SAAS,CAiBpB"}
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../../src/utils/hashing/hash.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAOnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,0BAA0B,EAAE,EAC1C,mBAAmB,EAAE,sBAAsB,GAC1C,MAAM,CAYR;AAED,wBAAgB,gCAAgC,CAC9C,kBAAkB,EAAE,iBAAiB,EAAE,EACvC,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,SAAS,CAiBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../src/utils/hashing/hash.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAA0C,EAC1C,mBAA2C;IAE3C,MAAM,IAAI,GAAqB,mBAAmB,EAAE,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB;IACpG,MAAM,IAAI,GACR,mBAAmB;QACnB,mBAAmB,CAAC,OAAO;QAC3B,mBAAmB,CAAC,OAAO,KAAK,6BAA6B,CAAC,EAAE,CAAC;IACnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACpF,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,kBAAuC,EACvC,kBAA0B;IAE1B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PartitionKeyRange } from \"../../client/index.js\";\nimport type { PartitionKeyDefinition, PrimitivePartitionKeyValue } from \"../../documents/index.js\";\nimport { PartitionKeyDefinitionVersion, PartitionKeyKind } from \"../../documents/index.js\";\nimport { isKeyInRange } from \"../batch.js\";\nimport { hashMultiHashPartitionKey } from \"./multiHash.js\";\nimport { hashV1PartitionKey } from \"./v1.js\";\nimport { hashV2PartitionKey } from \"./v2.js\";\n\n/**\n * Generate hash of a PartitonKey based on it PartitionKeyDefinition.\n * @param partitionKey - to be hashed.\n * @param partitionDefinition - container's partitionKey definition\n * @returns\n */\nexport function hashPartitionKey(\n partitionKey: PrimitivePartitionKeyValue[],\n partitionDefinition: PartitionKeyDefinition,\n): string {\n const kind: PartitionKeyKind = partitionDefinition?.kind || PartitionKeyKind.Hash; // Default value.\n const isV2 =\n partitionDefinition &&\n partitionDefinition.version &&\n partitionDefinition.version === PartitionKeyDefinitionVersion.V2;\n switch (kind) {\n case PartitionKeyKind.Hash:\n return isV2 ? hashV2PartitionKey(partitionKey) : hashV1PartitionKey(partitionKey);\n case PartitionKeyKind.MultiHash:\n return hashMultiHashPartitionKey(partitionKey);\n }\n}\n\nexport function binarySearchOnPartitionKeyRanges(\n partitionKeyRanges: PartitionKeyRange[],\n hashedPartitionKey: string,\n): string | undefined {\n let low = 0;\n let high = partitionKeyRanges.length - 1;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const range = partitionKeyRanges[mid];\n\n if (isKeyInRange(range.minInclusive, range.maxExclusive, hashedPartitionKey)) {\n return range.id;\n } else if (hashedPartitionKey.localeCompare(range.minInclusive) < 0) {\n high = mid - 1;\n } else {\n low = mid + 1;\n }\n }\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../src/utils/hashing/hash.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,OAAO,EAAE,6BAA6B,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAA0C,EAC1C,mBAA2C;IAE3C,MAAM,IAAI,GAAqB,mBAAmB,EAAE,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB;IACpG,MAAM,IAAI,GACR,mBAAmB;QACnB,mBAAmB,CAAC,OAAO;QAC3B,mBAAmB,CAAC,OAAO,KAAK,6BAA6B,CAAC,EAAE,CAAC;IACnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACpF,KAAK,gBAAgB,CAAC,SAAS;YAC7B,OAAO,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,kBAAuC,EACvC,kBAA0B;IAE1B,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YACpE,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { PartitionKeyRange } from \"../../client/index.js\";\nimport type { PartitionKeyDefinition, PrimitivePartitionKeyValue } from \"../../documents/index.js\";\nimport { PartitionKeyDefinitionVersion, PartitionKeyKind } from \"../../documents/index.js\";\nimport { isKeyInRange } from \"../batch.js\";\nimport { hashMultiHashPartitionKey } from \"./multiHash.js\";\nimport { hashV1PartitionKey } from \"./v1.js\";\nimport { hashV2PartitionKey } from \"./v2.js\";\n\n/**\n * Generate hash of a PartitonKey based on it PartitionKeyDefinition.\n * @param partitionKey - to be hashed.\n * @param partitionDefinition - container's partitionKey definition\n * @returns\n */\nexport function hashPartitionKey(\n partitionKey: PrimitivePartitionKeyValue[],\n partitionDefinition: PartitionKeyDefinition,\n): string {\n const kind: PartitionKeyKind = partitionDefinition?.kind || PartitionKeyKind.Hash; // Default value.\n const isV2 =\n partitionDefinition &&\n partitionDefinition.version &&\n partitionDefinition.version === PartitionKeyDefinitionVersion.V2;\n switch (kind) {\n case PartitionKeyKind.Hash:\n return isV2 ? hashV2PartitionKey(partitionKey) : hashV1PartitionKey(partitionKey);\n case PartitionKeyKind.MultiHash:\n return hashMultiHashPartitionKey(partitionKey);\n }\n}\n\nexport function binarySearchOnPartitionKeyRanges(\n partitionKeyRanges: PartitionKeyRange[],\n hashedPartitionKey: string,\n): string | undefined {\n let low = 0;\n let high = partitionKeyRanges.length - 1;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const range = partitionKeyRanges[mid];\n\n if (isKeyInRange(range.minInclusive, range.maxExclusive, hashedPartitionKey)) {\n return range.id;\n } else if (hashedPartitionKey.localeCompare(range.minInclusive) < 0) {\n high = mid - 1;\n } else {\n low = mid + 1;\n }\n }\n return undefined;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { DiagnosticNodeInternal } from "./index.js";
1
+ import type { DiagnosticNodeInternal } from "./index.js";
2
2
  /**
3
3
  * @hidden
4
4
  * This class manages the failover information for partition key ranges in Cosmos DB.
@@ -1 +1 @@
1
- {"version":3,"file":"PartitionKeyRangeFailoverInfo.d.ts","sourceRoot":"","sources":["../../src/PartitionKeyRangeFailoverInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAG/D;;;;GAIG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,kCAAkC,CAAa;IACvD,OAAO,CAAC,mCAAmC,CAAa;IACxD,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,sBAAsB,CAAsB;IAEpD,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,4BAA4B,CAAsB;IAW1D;;;OAGG;IACU,yCAAyC,CACpD,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,OAAO,CAAC;IASnB;;;OAGG;IACU,6BAA6B,CACxC,iBAAiB,EAAE,OAAO,EAC1B,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;OAGG;IACU,mCAAmC,IAAI,OAAO,CAAC;QAC1D,uBAAuB,EAAE,MAAM,CAAC;QAChC,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IAOF;;;;;OAKG;IACU,mBAAmB,CAC9B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,sBAAsB,EACtC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAiCnB,iFAAiF;IAC1E,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;YACW,sCAAsC;CASrD"}
1
+ {"version":3,"file":"PartitionKeyRangeFailoverInfo.d.ts","sourceRoot":"","sources":["../../src/PartitionKeyRangeFailoverInfo.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIzD;;;;GAIG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,kCAAkC,CAAa;IACvD,OAAO,CAAC,mCAAmC,CAAa;IACxD,OAAO,CAAC,uBAAuB,CAAsB;IACrD,OAAO,CAAC,sBAAsB,CAAsB;IAEpD,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,4BAA4B,CAAsB;IAW1D;;;OAGG;IACU,yCAAyC,CACpD,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC,OAAO,CAAC;IASnB;;;OAGG;IACU,6BAA6B,CACxC,iBAAiB,EAAE,OAAO,EAC1B,yBAAyB,EAAE,MAAM,GAChC,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;OAGG;IACU,mCAAmC,IAAI,OAAO,CAAC;QAC1D,uBAAuB,EAAE,MAAM,CAAC;QAChC,sBAAsB,EAAE,MAAM,CAAC;KAChC,CAAC;IAOF;;;;;OAKG;IACU,mBAAmB,CAC9B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,sBAAsB,EACtC,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAiCnB,iFAAiF;IAC1E,kBAAkB,IAAI,MAAM;IAInC;;;OAGG;YACW,sCAAsC;CASrD"}
@@ -1,5 +1,3 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
1
  import { Constants } from "./index.js";
4
2
  import semaphore from "semaphore";
5
3
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PartitionKeyRangeFailoverInfo.js","sourceRoot":"","sources":["../../src/PartitionKeyRangeFailoverInfo.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Constants, DiagnosticNodeInternal } from \"./index.js\";\nimport semaphore from \"semaphore\";\n\n/**\n * @hidden\n * This class manages the failover information for partition key ranges in Cosmos DB.\n * It tracks the current endpoint, failed endpoints, and the number of consecutive read/write request failures.\n */\nexport class PartitionKeyRangeFailoverInfo {\n private failedEndPoints: string[] = [];\n private currentEndPoint: string;\n\n private consecutiveReadRequestFailureCount: number = 0;\n private consecutiveWriteRequestFailureCount: number = 0;\n private firstRequestFailureTime: number = Date.now();\n private lastRequestFailureTime: number = Date.now();\n\n private failureCountSemaphore: semaphore.Semaphore;\n private tryMoveNextLocationSemaphore: semaphore.Semaphore;\n\n /**\n * @internal\n */\n constructor(currentEndpoint: string) {\n this.currentEndPoint = currentEndpoint;\n this.failureCountSemaphore = semaphore(1);\n this.tryMoveNextLocationSemaphore = semaphore(1);\n }\n\n /**\n * Checks if the circuit breaker can trigger a partition failover based on the failure counts.\n * Returns true if the number of consecutive failures exceeds the defined thresholds for read or write requests.\n */\n public async canCircuitBreakerTriggerPartitionFailOver(\n isReadOnlyRequest: boolean,\n ): Promise<boolean> {\n const { consecutiveReadRequestFailureCount, consecutiveWriteRequestFailureCount } =\n await this.snapshotConsecutiveRequestFailureCount();\n\n return isReadOnlyRequest\n ? consecutiveReadRequestFailureCount > Constants.ReadRequestFailureCountThreshold\n : consecutiveWriteRequestFailureCount > Constants.WriteRequestFailureCountThreshold;\n }\n\n /**\n * Increments the failure counts for read or write requests and updates the timestamps.\n * If the time since the last failure exceeds the reset window, it resets the failure counts.\n */\n public async incrementRequestFailureCounts(\n isReadOnlyRequest: boolean,\n currentTimeInMilliseconds: number,\n ): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.failureCountSemaphore.take(async () => {\n try {\n const { lastRequestFailureTime } = await this.snapshotPartitionFailoverTimestamps();\n\n if (\n currentTimeInMilliseconds - lastRequestFailureTime >\n Constants.ConsecutiveFailureCountResetIntervalInMS\n ) {\n this.consecutiveReadRequestFailureCount = 0;\n this.consecutiveWriteRequestFailureCount = 0;\n }\n\n if (isReadOnlyRequest) {\n this.consecutiveReadRequestFailureCount++;\n } else {\n this.consecutiveWriteRequestFailureCount++;\n }\n this.lastRequestFailureTime = currentTimeInMilliseconds;\n return resolve();\n } catch (error) {\n reject(error);\n } finally {\n // Release the semaphore lock\n this.failureCountSemaphore.leave();\n }\n });\n });\n }\n\n /**\n * Returns a snapshot of the first and last request failure timestamps.\n * This method is used to retrieve the current state of failure timestamps without modifying them.\n */\n public async snapshotPartitionFailoverTimestamps(): Promise<{\n firstRequestFailureTime: number;\n lastRequestFailureTime: number;\n }> {\n return {\n firstRequestFailureTime: this.firstRequestFailureTime,\n lastRequestFailureTime: this.lastRequestFailureTime,\n };\n }\n\n /**\n * Attempts to move to the next available location for the partition key range.\n * If the current endpoint is the same as the failed endpoint, it tries to find a new endpoint\n * from the provided list of endpoints. If a new endpoint is found, it updates the current endpoint\n * and returns true. If no new endpoint is found, it returns false.\n */\n public async tryMoveNextLocation(\n endPoints: readonly string[],\n failedEndPoint: string,\n diagnosticNode: DiagnosticNodeInternal,\n partitionKeyRangeId: string,\n ): Promise<boolean> {\n if (failedEndPoint !== this.currentEndPoint) {\n return true;\n }\n return new Promise((resolve, reject) => {\n this.tryMoveNextLocationSemaphore.take(() => {\n try {\n for (const endpoint of endPoints) {\n if (this.currentEndPoint === endpoint) {\n continue;\n }\n\n if (this.failedEndPoints.includes(endpoint)) {\n continue;\n }\n\n this.failedEndPoints.push(failedEndPoint);\n this.currentEndPoint = endpoint;\n return resolve(true);\n }\n diagnosticNode.addData({\n partitionKeyRangeFailoverInfo: `PartitionKeyRangeId: ${partitionKeyRangeId}, failedLocations: ${this.failedEndPoints}, newLocation: ${this.currentEndPoint}`,\n });\n return resolve(false);\n } catch (err) {\n reject(err);\n } finally {\n this.tryMoveNextLocationSemaphore.leave();\n }\n });\n });\n }\n\n /** Returns the current endpoint being used for partition key range operations.*/\n public getCurrentEndPoint(): string {\n return this.currentEndPoint;\n }\n\n /**\n * Returns a snapshot of the current consecutive request failure counts for read and write requests.\n * This method is used to retrieve the current state of failure counts without modifying them.\n */\n private async snapshotConsecutiveRequestFailureCount(): Promise<{\n consecutiveReadRequestFailureCount: number;\n consecutiveWriteRequestFailureCount: number;\n }> {\n return {\n consecutiveReadRequestFailureCount: this.consecutiveReadRequestFailureCount,\n consecutiveWriteRequestFailureCount: this.consecutiveWriteRequestFailureCount,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"PartitionKeyRangeFailoverInfo.js","sourceRoot":"","sources":["../../src/PartitionKeyRangeFailoverInfo.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { DiagnosticNodeInternal } from \"./index.js\";\nimport { Constants } from \"./index.js\";\nimport semaphore from \"semaphore\";\n\n/**\n * @hidden\n * This class manages the failover information for partition key ranges in Cosmos DB.\n * It tracks the current endpoint, failed endpoints, and the number of consecutive read/write request failures.\n */\nexport class PartitionKeyRangeFailoverInfo {\n private failedEndPoints: string[] = [];\n private currentEndPoint: string;\n\n private consecutiveReadRequestFailureCount: number = 0;\n private consecutiveWriteRequestFailureCount: number = 0;\n private firstRequestFailureTime: number = Date.now();\n private lastRequestFailureTime: number = Date.now();\n\n private failureCountSemaphore: semaphore.Semaphore;\n private tryMoveNextLocationSemaphore: semaphore.Semaphore;\n\n /**\n * @internal\n */\n constructor(currentEndpoint: string) {\n this.currentEndPoint = currentEndpoint;\n this.failureCountSemaphore = semaphore(1);\n this.tryMoveNextLocationSemaphore = semaphore(1);\n }\n\n /**\n * Checks if the circuit breaker can trigger a partition failover based on the failure counts.\n * Returns true if the number of consecutive failures exceeds the defined thresholds for read or write requests.\n */\n public async canCircuitBreakerTriggerPartitionFailOver(\n isReadOnlyRequest: boolean,\n ): Promise<boolean> {\n const { consecutiveReadRequestFailureCount, consecutiveWriteRequestFailureCount } =\n await this.snapshotConsecutiveRequestFailureCount();\n\n return isReadOnlyRequest\n ? consecutiveReadRequestFailureCount > Constants.ReadRequestFailureCountThreshold\n : consecutiveWriteRequestFailureCount > Constants.WriteRequestFailureCountThreshold;\n }\n\n /**\n * Increments the failure counts for read or write requests and updates the timestamps.\n * If the time since the last failure exceeds the reset window, it resets the failure counts.\n */\n public async incrementRequestFailureCounts(\n isReadOnlyRequest: boolean,\n currentTimeInMilliseconds: number,\n ): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.failureCountSemaphore.take(async () => {\n try {\n const { lastRequestFailureTime } = await this.snapshotPartitionFailoverTimestamps();\n\n if (\n currentTimeInMilliseconds - lastRequestFailureTime >\n Constants.ConsecutiveFailureCountResetIntervalInMS\n ) {\n this.consecutiveReadRequestFailureCount = 0;\n this.consecutiveWriteRequestFailureCount = 0;\n }\n\n if (isReadOnlyRequest) {\n this.consecutiveReadRequestFailureCount++;\n } else {\n this.consecutiveWriteRequestFailureCount++;\n }\n this.lastRequestFailureTime = currentTimeInMilliseconds;\n return resolve();\n } catch (error) {\n reject(error);\n } finally {\n // Release the semaphore lock\n this.failureCountSemaphore.leave();\n }\n });\n });\n }\n\n /**\n * Returns a snapshot of the first and last request failure timestamps.\n * This method is used to retrieve the current state of failure timestamps without modifying them.\n */\n public async snapshotPartitionFailoverTimestamps(): Promise<{\n firstRequestFailureTime: number;\n lastRequestFailureTime: number;\n }> {\n return {\n firstRequestFailureTime: this.firstRequestFailureTime,\n lastRequestFailureTime: this.lastRequestFailureTime,\n };\n }\n\n /**\n * Attempts to move to the next available location for the partition key range.\n * If the current endpoint is the same as the failed endpoint, it tries to find a new endpoint\n * from the provided list of endpoints. If a new endpoint is found, it updates the current endpoint\n * and returns true. If no new endpoint is found, it returns false.\n */\n public async tryMoveNextLocation(\n endPoints: readonly string[],\n failedEndPoint: string,\n diagnosticNode: DiagnosticNodeInternal,\n partitionKeyRangeId: string,\n ): Promise<boolean> {\n if (failedEndPoint !== this.currentEndPoint) {\n return true;\n }\n return new Promise((resolve, reject) => {\n this.tryMoveNextLocationSemaphore.take(() => {\n try {\n for (const endpoint of endPoints) {\n if (this.currentEndPoint === endpoint) {\n continue;\n }\n\n if (this.failedEndPoints.includes(endpoint)) {\n continue;\n }\n\n this.failedEndPoints.push(failedEndPoint);\n this.currentEndPoint = endpoint;\n return resolve(true);\n }\n diagnosticNode.addData({\n partitionKeyRangeFailoverInfo: `PartitionKeyRangeId: ${partitionKeyRangeId}, failedLocations: ${this.failedEndPoints}, newLocation: ${this.currentEndPoint}`,\n });\n return resolve(false);\n } catch (err) {\n reject(err);\n } finally {\n this.tryMoveNextLocationSemaphore.leave();\n }\n });\n });\n }\n\n /** Returns the current endpoint being used for partition key range operations.*/\n public getCurrentEndPoint(): string {\n return this.currentEndPoint;\n }\n\n /**\n * Returns a snapshot of the current consecutive request failure counts for read and write requests.\n * This method is used to retrieve the current state of failure counts without modifying them.\n */\n private async snapshotConsecutiveRequestFailureCount(): Promise<{\n consecutiveReadRequestFailureCount: number;\n consecutiveWriteRequestFailureCount: number;\n }> {\n return {\n consecutiveReadRequestFailureCount: this.consecutiveReadRequestFailureCount,\n consecutiveWriteRequestFailureCount: this.consecutiveWriteRequestFailureCount,\n };\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  export { ItemOperationContext } from "./ItemOperationContext.js";
2
- export { ItemOperation } from "./ItemOperation.js";
2
+ export type { ItemOperation } from "./ItemOperation.js";
3
3
  export { BulkResponse } from "./BulkResponse.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bulk/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bulk/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bulk/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { ItemOperationContext } from \"./ItemOperationContext.js\";\nexport { ItemOperation } from \"./ItemOperation.js\";\nexport { BulkResponse } from \"./BulkResponse.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bulk/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { ItemOperationContext } from \"./ItemOperationContext.js\";\nexport type { ItemOperation } from \"./ItemOperation.js\";\nexport { BulkResponse } from \"./BulkResponse.js\";\n"]}
@@ -1,6 +1,6 @@
1
1
  import { ChangeFeedIteratorResponse } from "./ChangeFeedIteratorResponse.js";
2
- import { Resource } from "../../client/index.js";
3
- import { ChangeFeedPullModelIterator } from "./ChangeFeedPullModelIterator.js";
2
+ import type { Resource } from "../../client/index.js";
3
+ import type { ChangeFeedPullModelIterator } from "./ChangeFeedPullModelIterator.js";
4
4
  /**
5
5
  * @hidden
6
6
  * Provides iterator for change feed for one partition key.
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeFeedForPartitionKey.d.ts","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/ChangeFeedForPartitionKey.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAa,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAK5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAM/E;;;;;GAKG;AACH,qBAAa,yBAAyB,CAAC,CAAC,CAAE,YAAW,2BAA2B,CAAC,CAAC,CAAC;IAU/E,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,iBAAiB;IAd3B,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;YAwBhB,mBAAmB;IAgCjC,OAAO,CAAC,qCAAqC;YAO/B,cAAc;IAK5B;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACW,gBAAgB,IAAI,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAOhG;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAoBjF;;OAEG;YACW,SAAS;YAWT,eAAe;CA+C9B"}
1
+ {"version":3,"file":"ChangeFeedForPartitionKey.d.ts","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/ChangeFeedForPartitionKey.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAa,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAMjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAOpF;;;;;GAKG;AACH,qBAAa,yBAAyB,CAAC,CAAC,CAAE,YAAW,2BAA2B,CAAC,CAAC,CAAC;IAU/E,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,iBAAiB;IAd3B,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;YAwBhB,mBAAmB;IAgCjC,OAAO,CAAC,qCAAqC;YAO/B,cAAc;IAK5B;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;OAEG;IACW,gBAAgB,IAAI,aAAa,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAOhG;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAoBjF;;OAEG;YACW,SAAS;YAWT,eAAe;CA+C9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeFeedForPartitionKey.js","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/ChangeFeedForPartitionKey.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { InternalChangeFeedIteratorOptions } from \"./InternalChangeFeedOptions.js\";\nimport { ChangeFeedIteratorResponse } from \"./ChangeFeedIteratorResponse.js\";\nimport { Container, Resource } from \"../../client/index.js\";\nimport { ClientContext } from \"../../ClientContext.js\";\nimport { Constants, copyObject, ResourceType, StatusCodes } from \"../../common/index.js\";\nimport { FeedOptions, Response, ErrorResponse } from \"../../request/index.js\";\nimport { ContinuationTokenForPartitionKey } from \"./ContinuationTokenForPartitionKey.js\";\nimport { ChangeFeedPullModelIterator } from \"./ChangeFeedPullModelIterator.js\";\nimport { PartitionKey, convertToInternalPartitionKey } from \"../../documents/index.js\";\nimport { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\nimport { buildFeedOptions, decryptChangeFeedResponse } from \"./changeFeedUtils.js\";\nimport { computePartitionKeyRangeId } from \"../ClientUtils.js\";\n/**\n * @hidden\n * Provides iterator for change feed for one partition key.\n *\n * Use `Items.getChangeFeedIterator()` to get an instance of the iterator.\n */\nexport class ChangeFeedForPartitionKey<T> implements ChangeFeedPullModelIterator<T> {\n private continuationToken: ContinuationTokenForPartitionKey;\n private startTime: string;\n private rId: string;\n private isInstantiated: boolean;\n private startFromNow: boolean;\n /**\n * @internal\n */\n constructor(\n private clientContext: ClientContext,\n private container: Container,\n private resourceId: string,\n private resourceLink: string,\n private partitionKey: PartitionKey,\n private changeFeedOptions: InternalChangeFeedIteratorOptions,\n ) {\n this.continuationToken = changeFeedOptions.continuationToken\n ? JSON.parse(changeFeedOptions.continuationToken)\n : undefined;\n this.isInstantiated = false;\n // startTime is used to store and specify time from which change feed should start reading new changes. StartFromNow flag is used to indicate fetching changes from now.\n if (changeFeedOptions.startFromNow) {\n this.startFromNow = true;\n } else if (changeFeedOptions.startTime) {\n this.startTime = changeFeedOptions.startTime.toUTCString();\n }\n }\n\n private async instantiateIterator(diagnosticNode: DiagnosticNodeInternal): Promise<void> {\n await this.setIteratorRid(diagnosticNode);\n if (this.clientContext.enableEncryption) {\n await this.container.checkAndInitializeEncryption();\n // returns copy of object to avoid encryption of original partition key passed\n this.partitionKey = copyObject(this.partitionKey);\n diagnosticNode.beginEncryptionDiagnostics(Constants.Encryption.DiagnosticsEncryptOperation);\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n convertToInternalPartitionKey(this.partitionKey),\n );\n this.partitionKey = partitionKeyList;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n encryptedCount,\n );\n }\n if (this.continuationToken) {\n if (!this.continuationTokenRidMatchContainerRid()) {\n throw new ErrorResponse(\"The continuation is not for the current container definition.\");\n }\n } else {\n this.continuationToken = new ContinuationTokenForPartitionKey(\n this.rId,\n this.partitionKey,\n \"\",\n );\n }\n\n this.isInstantiated = true;\n }\n\n private continuationTokenRidMatchContainerRid(): boolean {\n if (this.continuationToken.rid !== this.rId) {\n return false;\n }\n return true;\n }\n\n private async setIteratorRid(diagnosticNode: DiagnosticNodeInternal): Promise<void> {\n const { resource } = await this.container.readInternal(diagnosticNode);\n this.rId = resource._rid;\n }\n\n /**\n * Change feed is an infinite feed. hasMoreResults is always true.\n */\n get hasMoreResults(): boolean {\n return true;\n }\n\n /**\n * Gets an async iterator which will yield change feed results.\n */\n public async *getAsyncIterator(): AsyncIterable<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n do {\n const result = await this.readNext();\n yield result;\n } while (this.hasMoreResults);\n }\n\n /**\n * Returns the result of change feed from Azure Cosmos DB.\n */\n public async readNext(): Promise<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if (!this.isInstantiated) {\n await this.instantiateIterator(diagnosticNode);\n }\n const result = await this.fetchNext(diagnosticNode);\n if (result.statusCode === StatusCodes.Ok) {\n if (this.clientContext.enableEncryption) {\n await decryptChangeFeedResponse(\n result,\n diagnosticNode,\n this.changeFeedOptions.changeFeedMode,\n this.container.encryptionProcessor,\n );\n }\n }\n return result;\n }, this.clientContext);\n }\n\n /**\n * Read feed and retrieves the next set of results in Azure Cosmos DB.\n */\n private async fetchNext(\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n const response = await this.getFeedResponse(diagnosticNode);\n this.continuationToken.Continuation = response.headers[Constants.HttpHeaders.ETag];\n response.headers[Constants.HttpHeaders.ContinuationToken] = JSON.stringify(\n this.continuationToken,\n );\n return response;\n }\n\n private async getFeedResponse(\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n const feedOptions: FeedOptions = buildFeedOptions(\n this.changeFeedOptions,\n this.continuationToken?.Continuation,\n this.startFromNow,\n this.startTime,\n );\n if (this.clientContext.enableEncryption) {\n feedOptions.containerRid = this.container._rid;\n }\n try {\n const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n convertToInternalPartitionKey(this.partitionKey),\n this.clientContext.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n const response: Response<Array<T & Resource>> = await (this.clientContext.queryFeed<T>({\n path: this.resourceLink,\n resourceType: ResourceType.item,\n resourceId: this.resourceId,\n resultFn: (result) => (result ? result.Documents : []),\n diagnosticNode,\n query: undefined,\n options: feedOptions,\n partitionKey: this.partitionKey,\n partitionKeyRangeId,\n }) as Promise<any>);\n return new ChangeFeedIteratorResponse(\n response.result,\n response.result ? response.result.length : 0,\n response.code,\n response.headers,\n getEmptyCosmosDiagnostics(),\n );\n } catch (err) {\n // If any errors are encountered, throw the error.\n const errorResponse = new ErrorResponse(err.message);\n errorResponse.code = err.code;\n errorResponse.headers = err.headers;\n throw errorResponse;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ChangeFeedForPartitionKey.js","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/ChangeFeedForPartitionKey.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { InternalChangeFeedIteratorOptions } from \"./InternalChangeFeedOptions.js\";\nimport { ChangeFeedIteratorResponse } from \"./ChangeFeedIteratorResponse.js\";\nimport type { Container, Resource } from \"../../client/index.js\";\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport { Constants, copyObject, ResourceType, StatusCodes } from \"../../common/index.js\";\nimport type { FeedOptions, Response } from \"../../request/index.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport { ContinuationTokenForPartitionKey } from \"./ContinuationTokenForPartitionKey.js\";\nimport type { ChangeFeedPullModelIterator } from \"./ChangeFeedPullModelIterator.js\";\nimport type { PartitionKey } from \"../../documents/index.js\";\nimport { convertToInternalPartitionKey } from \"../../documents/index.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\nimport { buildFeedOptions, decryptChangeFeedResponse } from \"./changeFeedUtils.js\";\nimport { computePartitionKeyRangeId } from \"../ClientUtils.js\";\n/**\n * @hidden\n * Provides iterator for change feed for one partition key.\n *\n * Use `Items.getChangeFeedIterator()` to get an instance of the iterator.\n */\nexport class ChangeFeedForPartitionKey<T> implements ChangeFeedPullModelIterator<T> {\n private continuationToken: ContinuationTokenForPartitionKey;\n private startTime: string;\n private rId: string;\n private isInstantiated: boolean;\n private startFromNow: boolean;\n /**\n * @internal\n */\n constructor(\n private clientContext: ClientContext,\n private container: Container,\n private resourceId: string,\n private resourceLink: string,\n private partitionKey: PartitionKey,\n private changeFeedOptions: InternalChangeFeedIteratorOptions,\n ) {\n this.continuationToken = changeFeedOptions.continuationToken\n ? JSON.parse(changeFeedOptions.continuationToken)\n : undefined;\n this.isInstantiated = false;\n // startTime is used to store and specify time from which change feed should start reading new changes. StartFromNow flag is used to indicate fetching changes from now.\n if (changeFeedOptions.startFromNow) {\n this.startFromNow = true;\n } else if (changeFeedOptions.startTime) {\n this.startTime = changeFeedOptions.startTime.toUTCString();\n }\n }\n\n private async instantiateIterator(diagnosticNode: DiagnosticNodeInternal): Promise<void> {\n await this.setIteratorRid(diagnosticNode);\n if (this.clientContext.enableEncryption) {\n await this.container.checkAndInitializeEncryption();\n // returns copy of object to avoid encryption of original partition key passed\n this.partitionKey = copyObject(this.partitionKey);\n diagnosticNode.beginEncryptionDiagnostics(Constants.Encryption.DiagnosticsEncryptOperation);\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n convertToInternalPartitionKey(this.partitionKey),\n );\n this.partitionKey = partitionKeyList;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n encryptedCount,\n );\n }\n if (this.continuationToken) {\n if (!this.continuationTokenRidMatchContainerRid()) {\n throw new ErrorResponse(\"The continuation is not for the current container definition.\");\n }\n } else {\n this.continuationToken = new ContinuationTokenForPartitionKey(\n this.rId,\n this.partitionKey,\n \"\",\n );\n }\n\n this.isInstantiated = true;\n }\n\n private continuationTokenRidMatchContainerRid(): boolean {\n if (this.continuationToken.rid !== this.rId) {\n return false;\n }\n return true;\n }\n\n private async setIteratorRid(diagnosticNode: DiagnosticNodeInternal): Promise<void> {\n const { resource } = await this.container.readInternal(diagnosticNode);\n this.rId = resource._rid;\n }\n\n /**\n * Change feed is an infinite feed. hasMoreResults is always true.\n */\n get hasMoreResults(): boolean {\n return true;\n }\n\n /**\n * Gets an async iterator which will yield change feed results.\n */\n public async *getAsyncIterator(): AsyncIterable<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n do {\n const result = await this.readNext();\n yield result;\n } while (this.hasMoreResults);\n }\n\n /**\n * Returns the result of change feed from Azure Cosmos DB.\n */\n public async readNext(): Promise<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if (!this.isInstantiated) {\n await this.instantiateIterator(diagnosticNode);\n }\n const result = await this.fetchNext(diagnosticNode);\n if (result.statusCode === StatusCodes.Ok) {\n if (this.clientContext.enableEncryption) {\n await decryptChangeFeedResponse(\n result,\n diagnosticNode,\n this.changeFeedOptions.changeFeedMode,\n this.container.encryptionProcessor,\n );\n }\n }\n return result;\n }, this.clientContext);\n }\n\n /**\n * Read feed and retrieves the next set of results in Azure Cosmos DB.\n */\n private async fetchNext(\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n const response = await this.getFeedResponse(diagnosticNode);\n this.continuationToken.Continuation = response.headers[Constants.HttpHeaders.ETag];\n response.headers[Constants.HttpHeaders.ContinuationToken] = JSON.stringify(\n this.continuationToken,\n );\n return response;\n }\n\n private async getFeedResponse(\n diagnosticNode: DiagnosticNodeInternal,\n ): Promise<ChangeFeedIteratorResponse<Array<T & Resource>>> {\n const feedOptions: FeedOptions = buildFeedOptions(\n this.changeFeedOptions,\n this.continuationToken?.Continuation,\n this.startFromNow,\n this.startTime,\n );\n if (this.clientContext.enableEncryption) {\n feedOptions.containerRid = this.container._rid;\n }\n try {\n const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n convertToInternalPartitionKey(this.partitionKey),\n this.clientContext.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n const response: Response<Array<T & Resource>> = await (this.clientContext.queryFeed<T>({\n path: this.resourceLink,\n resourceType: ResourceType.item,\n resourceId: this.resourceId,\n resultFn: (result) => (result ? result.Documents : []),\n diagnosticNode,\n query: undefined,\n options: feedOptions,\n partitionKey: this.partitionKey,\n partitionKeyRangeId,\n }) as Promise<any>);\n return new ChangeFeedIteratorResponse(\n response.result,\n response.result ? response.result.length : 0,\n response.code,\n response.headers,\n getEmptyCosmosDiagnostics(),\n );\n } catch (err) {\n // If any errors are encountered, throw the error.\n const errorResponse = new ErrorResponse(err.message);\n errorResponse.code = err.code;\n errorResponse.headers = err.headers;\n throw errorResponse;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"buildChangeFeedIterator.js","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/buildChangeFeedIterator.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport type { PartitionKey } from \"../../documents/index.js\";\nimport type { PartitionKeyRangeCache } from \"../../routing/index.js\";\nimport { QueryRange } from \"../../routing/index.js\";\nimport type { ChangeFeedIteratorOptions } from \"./ChangeFeedIteratorOptions.js\";\nimport { ChangeFeedStartFrom } from \"./ChangeFeedStartFrom.js\";\nimport { ChangeFeedStartFromBeginning } from \"./ChangeFeedStartFromBeginning.js\";\nimport { ChangeFeedStartFromContinuation } from \"./ChangeFeedStartFromContinuation.js\";\nimport { ChangeFeedStartFromNow } from \"./ChangeFeedStartFromNow.js\";\nimport { ChangeFeedStartFromTime } from \"./ChangeFeedStartFromTime.js\";\nimport { ChangeFeedResourceType } from \"./ChangeFeedEnums.js\";\nimport { ChangeFeedForPartitionKey } from \"./ChangeFeedForPartitionKey.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport { ChangeFeedForEpkRange } from \"./ChangeFeedForEpkRange.js\";\nimport { getIdFromLink, getPathFromLink, ResourceType, Constants } from \"../../common/index.js\";\nimport {\n buildInternalChangeFeedOptions,\n fetchStartTime,\n isEpkRange,\n getEPKRangeForPrefixPartitionKey,\n} from \"./changeFeedUtils.js\";\nimport { isPrefixPartitionKey, isPartitionKey } from \"../../utils/typeChecks.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { FeedRangeInternal } from \"./FeedRange.js\";\nimport { PartitionKeyInternal } from \"../../documents/PartitionKeyInternal.js\";\n\nexport async function buildChangeFeedIterator(\n cfOptions: ChangeFeedIteratorOptions,\n clientContext: ClientContext,\n container: Container,\n partitionKeyRangeCache: PartitionKeyRangeCache,\n): Promise<any> {\n const url = container.url;\n const path = getPathFromLink(url, ResourceType.item);\n const id = getIdFromLink(url);\n\n let changeFeedStartFrom = cfOptions.changeFeedStartFrom;\n\n if (changeFeedStartFrom === undefined) {\n changeFeedStartFrom = ChangeFeedStartFrom.Now();\n }\n\n if (changeFeedStartFrom instanceof ChangeFeedStartFromContinuation) {\n const continuationToken = changeFeedStartFrom.getCfResourceJson();\n const resourceType = changeFeedStartFrom.getResourceType();\n const internalCfOptions = buildInternalChangeFeedOptions(\n cfOptions,\n changeFeedStartFrom.getCfResource(),\n );\n\n if (\n resourceType === ChangeFeedResourceType.PartitionKey &&\n isPartitionKey(continuationToken.partitionKey)\n ) {\n return new ChangeFeedForPartitionKey(\n clientContext,\n container,\n id,\n path,\n continuationToken.partitionKey,\n internalCfOptions,\n );\n } else if (resourceType === ChangeFeedResourceType.FeedRange) {\n return new ChangeFeedForEpkRange(\n clientContext,\n container,\n partitionKeyRangeCache,\n id,\n path,\n url,\n internalCfOptions,\n undefined,\n );\n } else {\n throw new ErrorResponse(\"Invalid continuation token.\");\n }\n } else if (\n changeFeedStartFrom instanceof ChangeFeedStartFromNow ||\n changeFeedStartFrom instanceof ChangeFeedStartFromTime ||\n changeFeedStartFrom instanceof ChangeFeedStartFromBeginning\n ) {\n const startFromNow = changeFeedStartFrom instanceof ChangeFeedStartFromNow ? true : false;\n const startTime = startFromNow ? undefined : fetchStartTime(changeFeedStartFrom);\n\n const internalCfOptions = buildInternalChangeFeedOptions(\n cfOptions,\n undefined,\n startTime,\n startFromNow,\n );\n const cfResource = changeFeedStartFrom.getCfResource();\n if (isPartitionKey(cfResource)) {\n const partitionKey = cfResource as PartitionKey;\n const partitionKeyDefinition = await container.getPartitionKeyDefinition();\n\n if (\n partitionKeyDefinition !== undefined &&\n isPrefixPartitionKey(partitionKey, partitionKeyDefinition.resource)\n ) {\n const effectiveEPKRange = await getEPKRangeForPrefixPartitionKey(\n partitionKey as PartitionKeyInternal,\n );\n return new ChangeFeedForEpkRange(\n clientContext,\n container,\n partitionKeyRangeCache,\n id,\n path,\n url,\n internalCfOptions,\n effectiveEPKRange,\n );\n }\n\n return new ChangeFeedForPartitionKey(\n clientContext,\n container,\n id,\n path,\n cfResource as PartitionKey,\n internalCfOptions,\n );\n } else {\n let internalCfResource: QueryRange;\n if (cfResource === undefined) {\n internalCfResource = new QueryRange(\n Constants.EffectivePartitionKeyConstants.MinimumInclusiveEffectivePartitionKey,\n Constants.EffectivePartitionKeyConstants.MaximumExclusiveEffectivePartitionKey,\n true,\n false,\n );\n } else if (isEpkRange(cfResource)) {\n internalCfResource = new QueryRange(\n (cfResource as FeedRangeInternal).minInclusive,\n (cfResource as FeedRangeInternal).maxExclusive,\n true,\n false,\n );\n } else {\n throw new ErrorResponse(\"Invalid feed range.\");\n }\n return new ChangeFeedForEpkRange(\n clientContext,\n container,\n partitionKeyRangeCache,\n id,\n path,\n url,\n internalCfOptions,\n internalCfResource,\n );\n }\n } else {\n throw new ErrorResponse(\"Invalid change feed start location.\");\n }\n}\n"]}
1
+ {"version":3,"file":"buildChangeFeedIterator.js","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/buildChangeFeedIterator.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport type { PartitionKey } from \"../../documents/index.js\";\nimport type { PartitionKeyRangeCache } from \"../../routing/index.js\";\nimport { QueryRange } from \"../../routing/index.js\";\nimport type { ChangeFeedIteratorOptions } from \"./ChangeFeedIteratorOptions.js\";\nimport { ChangeFeedStartFrom } from \"./ChangeFeedStartFrom.js\";\nimport { ChangeFeedStartFromBeginning } from \"./ChangeFeedStartFromBeginning.js\";\nimport { ChangeFeedStartFromContinuation } from \"./ChangeFeedStartFromContinuation.js\";\nimport { ChangeFeedStartFromNow } from \"./ChangeFeedStartFromNow.js\";\nimport { ChangeFeedStartFromTime } from \"./ChangeFeedStartFromTime.js\";\nimport { ChangeFeedResourceType } from \"./ChangeFeedEnums.js\";\nimport { ChangeFeedForPartitionKey } from \"./ChangeFeedForPartitionKey.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport { ChangeFeedForEpkRange } from \"./ChangeFeedForEpkRange.js\";\nimport { getIdFromLink, getPathFromLink, ResourceType, Constants } from \"../../common/index.js\";\nimport {\n buildInternalChangeFeedOptions,\n fetchStartTime,\n isEpkRange,\n getEPKRangeForPrefixPartitionKey,\n} from \"./changeFeedUtils.js\";\nimport { isPrefixPartitionKey, isPartitionKey } from \"../../utils/typeChecks.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { FeedRangeInternal } from \"./FeedRange.js\";\nimport type { PartitionKeyInternal } from \"../../documents/PartitionKeyInternal.js\";\n\nexport async function buildChangeFeedIterator(\n cfOptions: ChangeFeedIteratorOptions,\n clientContext: ClientContext,\n container: Container,\n partitionKeyRangeCache: PartitionKeyRangeCache,\n): Promise<any> {\n const url = container.url;\n const path = getPathFromLink(url, ResourceType.item);\n const id = getIdFromLink(url);\n\n let changeFeedStartFrom = cfOptions.changeFeedStartFrom;\n\n if (changeFeedStartFrom === undefined) {\n changeFeedStartFrom = ChangeFeedStartFrom.Now();\n }\n\n if (changeFeedStartFrom instanceof ChangeFeedStartFromContinuation) {\n const continuationToken = changeFeedStartFrom.getCfResourceJson();\n const resourceType = changeFeedStartFrom.getResourceType();\n const internalCfOptions = buildInternalChangeFeedOptions(\n cfOptions,\n changeFeedStartFrom.getCfResource(),\n );\n\n if (\n resourceType === ChangeFeedResourceType.PartitionKey &&\n isPartitionKey(continuationToken.partitionKey)\n ) {\n return new ChangeFeedForPartitionKey(\n clientContext,\n container,\n id,\n path,\n continuationToken.partitionKey,\n internalCfOptions,\n );\n } else if (resourceType === ChangeFeedResourceType.FeedRange) {\n return new ChangeFeedForEpkRange(\n clientContext,\n container,\n partitionKeyRangeCache,\n id,\n path,\n url,\n internalCfOptions,\n undefined,\n );\n } else {\n throw new ErrorResponse(\"Invalid continuation token.\");\n }\n } else if (\n changeFeedStartFrom instanceof ChangeFeedStartFromNow ||\n changeFeedStartFrom instanceof ChangeFeedStartFromTime ||\n changeFeedStartFrom instanceof ChangeFeedStartFromBeginning\n ) {\n const startFromNow = changeFeedStartFrom instanceof ChangeFeedStartFromNow ? true : false;\n const startTime = startFromNow ? undefined : fetchStartTime(changeFeedStartFrom);\n\n const internalCfOptions = buildInternalChangeFeedOptions(\n cfOptions,\n undefined,\n startTime,\n startFromNow,\n );\n const cfResource = changeFeedStartFrom.getCfResource();\n if (isPartitionKey(cfResource)) {\n const partitionKey = cfResource as PartitionKey;\n const partitionKeyDefinition = await container.getPartitionKeyDefinition();\n\n if (\n partitionKeyDefinition !== undefined &&\n isPrefixPartitionKey(partitionKey, partitionKeyDefinition.resource)\n ) {\n const effectiveEPKRange = await getEPKRangeForPrefixPartitionKey(\n partitionKey as PartitionKeyInternal,\n );\n return new ChangeFeedForEpkRange(\n clientContext,\n container,\n partitionKeyRangeCache,\n id,\n path,\n url,\n internalCfOptions,\n effectiveEPKRange,\n );\n }\n\n return new ChangeFeedForPartitionKey(\n clientContext,\n container,\n id,\n path,\n cfResource as PartitionKey,\n internalCfOptions,\n );\n } else {\n let internalCfResource: QueryRange;\n if (cfResource === undefined) {\n internalCfResource = new QueryRange(\n Constants.EffectivePartitionKeyConstants.MinimumInclusiveEffectivePartitionKey,\n Constants.EffectivePartitionKeyConstants.MaximumExclusiveEffectivePartitionKey,\n true,\n false,\n );\n } else if (isEpkRange(cfResource)) {\n internalCfResource = new QueryRange(\n (cfResource as FeedRangeInternal).minInclusive,\n (cfResource as FeedRangeInternal).maxExclusive,\n true,\n false,\n );\n } else {\n throw new ErrorResponse(\"Invalid feed range.\");\n }\n return new ChangeFeedForEpkRange(\n clientContext,\n container,\n partitionKeyRangeCache,\n id,\n path,\n url,\n internalCfOptions,\n internalCfResource,\n );\n }\n } else {\n throw new ErrorResponse(\"Invalid change feed start location.\");\n }\n}\n"]}
@@ -3,11 +3,11 @@ import type { PartitionKeyRange } from "../Container/index.js";
3
3
  import type { InternalChangeFeedIteratorOptions } from "./InternalChangeFeedOptions.js";
4
4
  import type { ChangeFeedStartFrom } from "./ChangeFeedStartFrom.js";
5
5
  import { QueryRange } from "../../routing/index.js";
6
- import { PartitionKeyInternal } from "../../documents/PartitionKeyInternal.js";
7
- import { DiagnosticNodeInternal } from "../../diagnostics/DiagnosticNodeInternal.js";
8
- import { EncryptionProcessor } from "../../encryption/index.js";
6
+ import type { PartitionKeyInternal } from "../../documents/PartitionKeyInternal.js";
7
+ import type { DiagnosticNodeInternal } from "../../diagnostics/DiagnosticNodeInternal.js";
8
+ import type { EncryptionProcessor } from "../../encryption/index.js";
9
9
  import { ChangeFeedMode } from "./ChangeFeedMode.js";
10
- import { ChangeFeedIteratorResponse } from "./ChangeFeedIteratorResponse.js";
10
+ import type { ChangeFeedIteratorResponse } from "./ChangeFeedIteratorResponse.js";
11
11
  import type { FeedOptions } from "../../request/FeedOptions.js";
12
12
  /**
13
13
  * @hidden
@@ -1 +1 @@
1
- {"version":3,"file":"changeFeedUtils.d.ts","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/changeFeedUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAExF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAU1F;AAYD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,UAAU,EACpB,gBAAgB,EAAE,iBAAiB,GAClC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB3B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAWhD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,yBAAyB,EAClC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,SAAS,CAAC,EAAE,IAAI,EAChB,YAAY,CAAC,EAAE,OAAO,GACrB,iCAAiC,CAgBnC;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAMzF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED;;GAEG;AACH,wBAAgB,gDAAgD,CAC9D,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,CAGR;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,0BAA0B,CAAC,GAAG,CAAC,EACvC,cAAc,EAAE,sBAAsB,EACtC,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,GACvC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iCAAiC,EACpD,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAkDb"}
1
+ {"version":3,"file":"changeFeedUtils.d.ts","sourceRoot":"","sources":["../../../../src/client/ChangeFeed/changeFeedUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAExF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAU1F;AAYD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,UAAU,EACpB,gBAAgB,EAAE,iBAAiB,GAClC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB3B;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAWhD;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,yBAAyB,EAClC,iBAAiB,CAAC,EAAE,MAAM,EAC1B,SAAS,CAAC,EAAE,IAAI,EAChB,YAAY,CAAC,EAAE,OAAO,GACrB,iCAAiC,CAgBnC;AACD;;GAEG;AACH,wBAAgB,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAMzF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,oBAAoB,EAAE,oBAAoB,GACzC,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED;;GAEG;AACH,wBAAgB,gDAAgD,CAC9D,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,CAGR;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,0BAA0B,CAAC,GAAG,CAAC,EACvC,cAAc,EAAE,sBAAsB,EACtC,cAAc,EAAE,cAAc,EAC9B,mBAAmB,EAAE,mBAAmB,GACvC,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,iBAAiB,EAAE,iCAAiC,EACpD,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,OAAO,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAkDb"}