@azure/cosmos 4.5.0-alpha.20250718.3 → 4.5.0-alpha.20250730.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 (1172) hide show
  1. package/dist/browser/ChangeFeedIterator.js +17 -11
  2. package/dist/browser/ChangeFeedIterator.js.map +1 -1
  3. package/dist/browser/ChangeFeedResponse.js +8 -0
  4. package/dist/browser/ChangeFeedResponse.js.map +1 -1
  5. package/dist/browser/ClientContext.js +122 -29
  6. package/dist/browser/ClientContext.js.map +1 -1
  7. package/dist/browser/CosmosClient.js +34 -3
  8. package/dist/browser/CosmosClient.js.map +1 -1
  9. package/dist/browser/CosmosDiagnostics.js +3 -0
  10. package/dist/browser/CosmosDiagnostics.js.map +1 -1
  11. package/dist/browser/PartitionKeyRangeFailoverInfo.js +8 -5
  12. package/dist/browser/PartitionKeyRangeFailoverInfo.js.map +1 -1
  13. package/dist/browser/bulk/Batcher.js +13 -3
  14. package/dist/browser/bulk/Batcher.js.map +1 -1
  15. package/dist/browser/bulk/BulkHelper.js +26 -11
  16. package/dist/browser/bulk/BulkHelper.js.map +1 -1
  17. package/dist/browser/bulk/BulkResponse.js +22 -20
  18. package/dist/browser/bulk/BulkResponse.js.map +1 -1
  19. package/dist/browser/bulk/CongestionAlgorithm.js +11 -4
  20. package/dist/browser/bulk/CongestionAlgorithm.js.map +1 -1
  21. package/dist/browser/bulk/HelperPerPartition.js +14 -1
  22. package/dist/browser/bulk/HelperPerPartition.js.map +1 -1
  23. package/dist/browser/bulk/ItemOperationContext.js +4 -0
  24. package/dist/browser/bulk/ItemOperationContext.js.map +1 -1
  25. package/dist/browser/bulk/Limiter.js +27 -18
  26. package/dist/browser/bulk/Limiter.js.map +1 -1
  27. package/dist/browser/bulk/PartitionMetric.js +4 -0
  28. package/dist/browser/bulk/PartitionMetric.js.map +1 -1
  29. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js +26 -15
  30. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  31. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js +16 -8
  32. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  33. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  34. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  35. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  36. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  37. package/dist/browser/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  38. package/dist/browser/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  39. package/dist/browser/client/ChangeFeed/ChangeFeedRange.js +20 -0
  40. package/dist/browser/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  41. package/dist/browser/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  42. package/dist/browser/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  43. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  44. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  45. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  46. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  47. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  48. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  49. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  50. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  51. package/dist/browser/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  52. package/dist/browser/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  53. package/dist/browser/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  54. package/dist/browser/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  55. package/dist/browser/client/ChangeFeed/FeedRange.js +8 -0
  56. package/dist/browser/client/ChangeFeed/FeedRange.js.map +1 -1
  57. package/dist/browser/client/ChangeFeed/FeedRangeQueue.js +1 -0
  58. package/dist/browser/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  59. package/dist/browser/client/ChangeFeed/changeFeedUtils.js +5 -5
  60. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  61. package/dist/browser/client/ClientUtils.js +1 -1
  62. package/dist/browser/client/ClientUtils.js.map +1 -1
  63. package/dist/browser/client/Conflict/Conflict.js +4 -0
  64. package/dist/browser/client/Conflict/Conflict.js.map +1 -1
  65. package/dist/browser/client/Conflict/ConflictResponse.js +2 -0
  66. package/dist/browser/client/Conflict/ConflictResponse.js.map +1 -1
  67. package/dist/browser/client/Conflict/Conflicts.js +2 -0
  68. package/dist/browser/client/Conflict/Conflicts.js.map +1 -1
  69. package/dist/browser/client/Container/Container.js +18 -3
  70. package/dist/browser/client/Container/Container.js.map +1 -1
  71. package/dist/browser/client/Container/ContainerResponse.js +2 -0
  72. package/dist/browser/client/Container/ContainerResponse.js.map +1 -1
  73. package/dist/browser/client/Container/Containers.js +4 -2
  74. package/dist/browser/client/Container/Containers.js.map +1 -1
  75. package/dist/browser/client/Database/Database.js +33 -0
  76. package/dist/browser/client/Database/Database.js.map +1 -1
  77. package/dist/browser/client/Database/DatabaseResponse.js +2 -0
  78. package/dist/browser/client/Database/DatabaseResponse.js.map +1 -1
  79. package/dist/browser/client/Database/Databases.js +3 -0
  80. package/dist/browser/client/Database/Databases.js.map +1 -1
  81. package/dist/browser/client/Item/Item.js +4 -0
  82. package/dist/browser/client/Item/Item.js.map +1 -1
  83. package/dist/browser/client/Item/ItemResponse.js +2 -0
  84. package/dist/browser/client/Item/ItemResponse.js.map +1 -1
  85. package/dist/browser/client/Item/Items.js +3 -0
  86. package/dist/browser/client/Item/Items.js.map +1 -1
  87. package/dist/browser/client/Offer/Offer.js +3 -0
  88. package/dist/browser/client/Offer/Offer.js.map +1 -1
  89. package/dist/browser/client/Offer/OfferResponse.js +2 -0
  90. package/dist/browser/client/Offer/OfferResponse.js.map +1 -1
  91. package/dist/browser/client/Offer/Offers.js +2 -0
  92. package/dist/browser/client/Offer/Offers.js.map +1 -1
  93. package/dist/browser/client/Permission/Permission.js +3 -0
  94. package/dist/browser/client/Permission/Permission.js.map +1 -1
  95. package/dist/browser/client/Permission/PermissionResponse.js +2 -0
  96. package/dist/browser/client/Permission/PermissionResponse.js.map +1 -1
  97. package/dist/browser/client/Permission/Permissions.js +2 -0
  98. package/dist/browser/client/Permission/Permissions.js.map +1 -1
  99. package/dist/browser/client/SasToken/SasTokenProperties.js +17 -0
  100. package/dist/browser/client/SasToken/SasTokenProperties.js.map +1 -1
  101. package/dist/browser/client/Script/Scripts.js +5 -0
  102. package/dist/browser/client/Script/Scripts.js.map +1 -1
  103. package/dist/browser/client/StoredProcedure/StoredProcedure.js +3 -0
  104. package/dist/browser/client/StoredProcedure/StoredProcedure.js.map +1 -1
  105. package/dist/browser/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  106. package/dist/browser/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  107. package/dist/browser/client/StoredProcedure/StoredProcedures.js +2 -0
  108. package/dist/browser/client/StoredProcedure/StoredProcedures.js.map +1 -1
  109. package/dist/browser/client/Trigger/Trigger.js +3 -0
  110. package/dist/browser/client/Trigger/Trigger.js.map +1 -1
  111. package/dist/browser/client/Trigger/TriggerResponse.js +2 -0
  112. package/dist/browser/client/Trigger/TriggerResponse.js.map +1 -1
  113. package/dist/browser/client/Trigger/Triggers.js +2 -0
  114. package/dist/browser/client/Trigger/Triggers.js.map +1 -1
  115. package/dist/browser/client/User/User.js +9 -0
  116. package/dist/browser/client/User/User.js.map +1 -1
  117. package/dist/browser/client/User/UserResponse.js +2 -0
  118. package/dist/browser/client/User/UserResponse.js.map +1 -1
  119. package/dist/browser/client/User/Users.js +2 -0
  120. package/dist/browser/client/User/Users.js.map +1 -1
  121. package/dist/browser/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  122. package/dist/browser/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  123. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  124. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  125. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  126. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  127. package/dist/browser/diagnostics/CosmosDiagnosticsContext.js +8 -7
  128. package/dist/browser/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  129. package/dist/browser/diagnostics/DiagnosticNodeInternal.js +26 -7
  130. package/dist/browser/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  131. package/dist/browser/diagnostics/DiagnosticWriter.js +1 -3
  132. package/dist/browser/diagnostics/DiagnosticWriter.js.map +1 -1
  133. package/dist/browser/diagnostics/index.js +2 -2
  134. package/dist/browser/diagnostics/index.js.map +1 -1
  135. package/dist/browser/documents/DatabaseAccount.js +20 -4
  136. package/dist/browser/documents/DatabaseAccount.js.map +1 -1
  137. package/dist/browser/documents/PartitionKey.js +1 -3
  138. package/dist/browser/documents/PartitionKey.js.map +1 -1
  139. package/dist/browser/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  140. package/dist/browser/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  141. package/dist/browser/encryption/Cache/EncryptionSettingsCache.js +2 -0
  142. package/dist/browser/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  143. package/dist/browser/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  144. package/dist/browser/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  145. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  146. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  147. package/dist/browser/encryption/EncryptionItemQueryIterator.js +24 -27
  148. package/dist/browser/encryption/EncryptionItemQueryIterator.js.map +1 -1
  149. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  150. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  151. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  152. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  153. package/dist/browser/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  154. package/dist/browser/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  155. package/dist/browser/encryption/EncryptionKeyStoreProvider.js +8 -1
  156. package/dist/browser/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  157. package/dist/browser/encryption/EncryptionManager.js +6 -0
  158. package/dist/browser/encryption/EncryptionManager.js.map +1 -1
  159. package/dist/browser/encryption/EncryptionProcessor.js +5 -0
  160. package/dist/browser/encryption/EncryptionProcessor.js.map +1 -1
  161. package/dist/browser/encryption/EncryptionQueryBuilder.js +2 -0
  162. package/dist/browser/encryption/EncryptionQueryBuilder.js.map +1 -1
  163. package/dist/browser/encryption/EncryptionSettingForProperty.js +6 -0
  164. package/dist/browser/encryption/EncryptionSettingForProperty.js.map +1 -1
  165. package/dist/browser/encryption/EncryptionSettings.js +6 -3
  166. package/dist/browser/encryption/EncryptionSettings.js.map +1 -1
  167. package/dist/browser/encryption/KeyEncryptionKey.js +4 -0
  168. package/dist/browser/encryption/KeyEncryptionKey.js.map +1 -1
  169. package/dist/browser/encryption/Serializers/StringSerializer.js +1 -1
  170. package/dist/browser/encryption/Serializers/StringSerializer.js.map +1 -1
  171. package/dist/browser/extractPartitionKey.js +2 -2
  172. package/dist/browser/extractPartitionKey.js.map +1 -1
  173. package/dist/browser/globalEndpointManager.js +21 -4
  174. package/dist/browser/globalEndpointManager.js.map +1 -1
  175. package/dist/browser/globalPartitionEndpointManager.js +8 -0
  176. package/dist/browser/globalPartitionEndpointManager.js.map +1 -1
  177. package/dist/browser/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  178. package/dist/browser/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  179. package/dist/browser/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  180. package/dist/browser/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  181. package/dist/browser/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  182. package/dist/browser/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  183. package/dist/browser/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  184. package/dist/browser/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  185. package/dist/browser/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  186. package/dist/browser/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  187. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  188. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  189. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  190. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  191. package/dist/browser/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  192. package/dist/browser/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  193. package/dist/browser/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  194. package/dist/browser/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  195. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  196. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  197. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  198. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  199. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  200. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  201. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  202. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  203. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  204. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  205. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  206. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  207. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  208. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  209. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  210. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  211. package/dist/browser/queryExecutionContext/FetchResult.js +4 -0
  212. package/dist/browser/queryExecutionContext/FetchResult.js.map +1 -1
  213. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  214. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  215. package/dist/browser/queryExecutionContext/documentProducer.js +34 -21
  216. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  217. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  218. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  219. package/dist/browser/queryExecutionContext/orderByComparator.js +1 -0
  220. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  221. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  222. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  223. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  224. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  225. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  226. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  227. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  228. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  229. package/dist/browser/queryIterator.js +41 -33
  230. package/dist/browser/queryIterator.js.map +1 -1
  231. package/dist/browser/queryMetrics/clientSideMetrics.js +2 -1
  232. package/dist/browser/queryMetrics/clientSideMetrics.js.map +1 -1
  233. package/dist/browser/queryMetrics/queryMetrics.js +14 -1
  234. package/dist/browser/queryMetrics/queryMetrics.js.map +1 -1
  235. package/dist/browser/queryMetrics/queryPreparationTime.js +5 -1
  236. package/dist/browser/queryMetrics/queryPreparationTime.js.map +1 -1
  237. package/dist/browser/queryMetrics/runtimeExecutionTimes.js +4 -1
  238. package/dist/browser/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  239. package/dist/browser/queryMetrics/timeSpan.js +4 -3
  240. package/dist/browser/queryMetrics/timeSpan.js.map +1 -1
  241. package/dist/browser/request/ErrorResponse.js +19 -0
  242. package/dist/browser/request/ErrorResponse.js.map +1 -1
  243. package/dist/browser/request/FeedResponse.js +4 -0
  244. package/dist/browser/request/FeedResponse.js.map +1 -1
  245. package/dist/browser/request/RequestHandler.js +1 -2
  246. package/dist/browser/request/RequestHandler.js.map +1 -1
  247. package/dist/browser/request/ResourceResponse.js +5 -0
  248. package/dist/browser/request/ResourceResponse.js.map +1 -1
  249. package/dist/browser/request/TimeoutError.js +1 -1
  250. package/dist/browser/request/TimeoutError.js.map +1 -1
  251. package/dist/browser/request/hybridSearchQueryResult.js +5 -0
  252. package/dist/browser/request/hybridSearchQueryResult.js.map +1 -1
  253. package/dist/browser/request/request.js +5 -1
  254. package/dist/browser/request/request.js.map +1 -1
  255. package/dist/browser/retry/bulkExecutionRetryPolicy.js +5 -2
  256. package/dist/browser/retry/bulkExecutionRetryPolicy.js.map +1 -1
  257. package/dist/browser/retry/defaultRetryPolicy.js +4 -3
  258. package/dist/browser/retry/defaultRetryPolicy.js.map +1 -1
  259. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js +11 -2
  260. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  261. package/dist/browser/retry/resourceThrottleRetryPolicy.js +20 -10
  262. package/dist/browser/retry/resourceThrottleRetryPolicy.js.map +1 -1
  263. package/dist/browser/retry/retryUtility.js +2 -3
  264. package/dist/browser/retry/retryUtility.js.map +1 -1
  265. package/dist/browser/retry/sessionRetryPolicy.js +8 -4
  266. package/dist/browser/retry/sessionRetryPolicy.js.map +1 -1
  267. package/dist/browser/retry/timeoutFailoverRetryPolicy.js +14 -4
  268. package/dist/browser/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  269. package/dist/browser/routing/QueryRange.js +4 -0
  270. package/dist/browser/routing/QueryRange.js.map +1 -1
  271. package/dist/browser/routing/inMemoryCollectionRoutingMap.js +4 -0
  272. package/dist/browser/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  273. package/dist/browser/routing/partitionKeyRangeCache.js +2 -0
  274. package/dist/browser/routing/partitionKeyRangeCache.js.map +1 -1
  275. package/dist/browser/routing/smartRoutingMapProvider.js +1 -0
  276. package/dist/browser/routing/smartRoutingMapProvider.js.map +1 -1
  277. package/dist/browser/session/VectorSessionToken.js +6 -2
  278. package/dist/browser/session/VectorSessionToken.js.map +1 -1
  279. package/dist/browser/session/sessionContainer.js +5 -3
  280. package/dist/browser/session/sessionContainer.js.map +1 -1
  281. package/dist/browser/utils/batch.js +15 -4
  282. package/dist/browser/utils/batch.js.map +1 -1
  283. package/dist/browser/utils/fixedSizePriorityQueue.js +4 -0
  284. package/dist/browser/utils/fixedSizePriorityQueue.js.map +1 -1
  285. package/dist/browser/utils/hashing/hash.js +1 -1
  286. package/dist/browser/utils/hashing/hash.js.map +1 -1
  287. package/dist/browser/utils/nonStreamingOrderByMap.js +2 -0
  288. package/dist/browser/utils/nonStreamingOrderByMap.js.map +1 -1
  289. package/dist/commonjs/ChangeFeedIterator.js +17 -11
  290. package/dist/commonjs/ChangeFeedIterator.js.map +1 -1
  291. package/dist/commonjs/ChangeFeedResponse.js +8 -0
  292. package/dist/commonjs/ChangeFeedResponse.js.map +1 -1
  293. package/dist/commonjs/ClientContext.js +122 -29
  294. package/dist/commonjs/ClientContext.js.map +1 -1
  295. package/dist/commonjs/CosmosClient.js +34 -3
  296. package/dist/commonjs/CosmosClient.js.map +1 -1
  297. package/dist/commonjs/CosmosDiagnostics.js +3 -0
  298. package/dist/commonjs/CosmosDiagnostics.js.map +1 -1
  299. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +8 -5
  300. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +1 -1
  301. package/dist/commonjs/bulk/Batcher.js +13 -3
  302. package/dist/commonjs/bulk/Batcher.js.map +1 -1
  303. package/dist/commonjs/bulk/BulkHelper.js +26 -11
  304. package/dist/commonjs/bulk/BulkHelper.js.map +1 -1
  305. package/dist/commonjs/bulk/BulkResponse.js +22 -20
  306. package/dist/commonjs/bulk/BulkResponse.js.map +1 -1
  307. package/dist/commonjs/bulk/CongestionAlgorithm.js +11 -4
  308. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +1 -1
  309. package/dist/commonjs/bulk/HelperPerPartition.js +14 -1
  310. package/dist/commonjs/bulk/HelperPerPartition.js.map +1 -1
  311. package/dist/commonjs/bulk/ItemOperationContext.js +4 -0
  312. package/dist/commonjs/bulk/ItemOperationContext.js.map +1 -1
  313. package/dist/commonjs/bulk/Limiter.js +27 -18
  314. package/dist/commonjs/bulk/Limiter.js.map +1 -1
  315. package/dist/commonjs/bulk/PartitionMetric.js +4 -0
  316. package/dist/commonjs/bulk/PartitionMetric.js.map +1 -1
  317. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +26 -15
  318. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  319. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +16 -8
  320. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  321. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  322. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  323. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  324. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  325. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  326. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  327. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +20 -0
  328. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  329. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  330. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  331. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  332. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  333. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  334. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  335. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  336. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  337. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  338. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  339. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  340. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  341. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  342. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  343. package/dist/commonjs/client/ChangeFeed/FeedRange.js +8 -0
  344. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +1 -1
  345. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +1 -0
  346. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  347. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +5 -5
  348. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  349. package/dist/commonjs/client/ClientUtils.js +1 -1
  350. package/dist/commonjs/client/ClientUtils.js.map +1 -1
  351. package/dist/commonjs/client/Conflict/Conflict.js +4 -0
  352. package/dist/commonjs/client/Conflict/Conflict.js.map +1 -1
  353. package/dist/commonjs/client/Conflict/ConflictResponse.js +2 -0
  354. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +1 -1
  355. package/dist/commonjs/client/Conflict/Conflicts.js +2 -0
  356. package/dist/commonjs/client/Conflict/Conflicts.js.map +1 -1
  357. package/dist/commonjs/client/Container/Container.js +18 -3
  358. package/dist/commonjs/client/Container/Container.js.map +1 -1
  359. package/dist/commonjs/client/Container/ContainerResponse.js +2 -0
  360. package/dist/commonjs/client/Container/ContainerResponse.js.map +1 -1
  361. package/dist/commonjs/client/Container/Containers.js +4 -2
  362. package/dist/commonjs/client/Container/Containers.js.map +1 -1
  363. package/dist/commonjs/client/Database/Database.js +33 -0
  364. package/dist/commonjs/client/Database/Database.js.map +1 -1
  365. package/dist/commonjs/client/Database/DatabaseResponse.js +2 -0
  366. package/dist/commonjs/client/Database/DatabaseResponse.js.map +1 -1
  367. package/dist/commonjs/client/Database/Databases.js +3 -0
  368. package/dist/commonjs/client/Database/Databases.js.map +1 -1
  369. package/dist/commonjs/client/Item/Item.js +4 -0
  370. package/dist/commonjs/client/Item/Item.js.map +1 -1
  371. package/dist/commonjs/client/Item/ItemResponse.js +2 -0
  372. package/dist/commonjs/client/Item/ItemResponse.js.map +1 -1
  373. package/dist/commonjs/client/Item/Items.js +3 -0
  374. package/dist/commonjs/client/Item/Items.js.map +1 -1
  375. package/dist/commonjs/client/Offer/Offer.js +3 -0
  376. package/dist/commonjs/client/Offer/Offer.js.map +1 -1
  377. package/dist/commonjs/client/Offer/OfferResponse.js +2 -0
  378. package/dist/commonjs/client/Offer/OfferResponse.js.map +1 -1
  379. package/dist/commonjs/client/Offer/Offers.js +2 -0
  380. package/dist/commonjs/client/Offer/Offers.js.map +1 -1
  381. package/dist/commonjs/client/Permission/Permission.js +3 -0
  382. package/dist/commonjs/client/Permission/Permission.js.map +1 -1
  383. package/dist/commonjs/client/Permission/PermissionResponse.js +2 -0
  384. package/dist/commonjs/client/Permission/PermissionResponse.js.map +1 -1
  385. package/dist/commonjs/client/Permission/Permissions.js +2 -0
  386. package/dist/commonjs/client/Permission/Permissions.js.map +1 -1
  387. package/dist/commonjs/client/SasToken/SasTokenProperties.js +17 -0
  388. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +1 -1
  389. package/dist/commonjs/client/Script/Scripts.js +5 -0
  390. package/dist/commonjs/client/Script/Scripts.js.map +1 -1
  391. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +3 -0
  392. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +1 -1
  393. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  394. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  395. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +2 -0
  396. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +1 -1
  397. package/dist/commonjs/client/Trigger/Trigger.js +3 -0
  398. package/dist/commonjs/client/Trigger/Trigger.js.map +1 -1
  399. package/dist/commonjs/client/Trigger/TriggerResponse.js +2 -0
  400. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +1 -1
  401. package/dist/commonjs/client/Trigger/Triggers.js +2 -0
  402. package/dist/commonjs/client/Trigger/Triggers.js.map +1 -1
  403. package/dist/commonjs/client/User/User.js +9 -0
  404. package/dist/commonjs/client/User/User.js.map +1 -1
  405. package/dist/commonjs/client/User/UserResponse.js +2 -0
  406. package/dist/commonjs/client/User/UserResponse.js.map +1 -1
  407. package/dist/commonjs/client/User/Users.js +2 -0
  408. package/dist/commonjs/client/User/Users.js.map +1 -1
  409. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  410. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  411. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  412. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  413. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  414. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  415. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +8 -7
  416. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  417. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +26 -7
  418. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  419. package/dist/commonjs/diagnostics/DiagnosticWriter.js +1 -3
  420. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +1 -1
  421. package/dist/commonjs/diagnostics/index.js +2 -2
  422. package/dist/commonjs/diagnostics/index.js.map +1 -1
  423. package/dist/commonjs/documents/DatabaseAccount.js +20 -4
  424. package/dist/commonjs/documents/DatabaseAccount.js.map +1 -1
  425. package/dist/commonjs/documents/PartitionKey.js +1 -3
  426. package/dist/commonjs/documents/PartitionKey.js.map +1 -1
  427. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -2
  428. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  429. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  430. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  431. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +2 -0
  432. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  433. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  434. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  435. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -0
  436. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -1
  437. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  438. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  439. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +24 -27
  440. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +1 -1
  441. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +7 -2
  442. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  443. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  444. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  445. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  446. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  447. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  448. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  449. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +8 -1
  450. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  451. package/dist/commonjs/encryption/EncryptionManager.js +6 -0
  452. package/dist/commonjs/encryption/EncryptionManager.js.map +1 -1
  453. package/dist/commonjs/encryption/EncryptionProcessor.js +5 -0
  454. package/dist/commonjs/encryption/EncryptionProcessor.js.map +1 -1
  455. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +2 -0
  456. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +1 -1
  457. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +6 -0
  458. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +1 -1
  459. package/dist/commonjs/encryption/EncryptionSettings.js +6 -3
  460. package/dist/commonjs/encryption/EncryptionSettings.js.map +1 -1
  461. package/dist/commonjs/encryption/KeyEncryptionKey.js +4 -0
  462. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +1 -1
  463. package/dist/commonjs/encryption/Serializers/StringSerializer.js +1 -1
  464. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +1 -1
  465. package/dist/commonjs/extractPartitionKey.js +2 -2
  466. package/dist/commonjs/extractPartitionKey.js.map +1 -1
  467. package/dist/commonjs/globalEndpointManager.js +21 -4
  468. package/dist/commonjs/globalEndpointManager.js.map +1 -1
  469. package/dist/commonjs/globalPartitionEndpointManager.js +8 -0
  470. package/dist/commonjs/globalPartitionEndpointManager.js.map +1 -1
  471. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  472. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  473. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  474. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  475. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  476. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  477. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  478. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  479. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  480. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  481. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  482. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  483. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  484. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  485. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  486. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  487. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  488. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  489. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  490. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  491. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  492. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  493. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  494. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  495. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  496. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  497. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  498. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  499. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  500. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  501. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  502. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  503. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  504. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  505. package/dist/commonjs/queryExecutionContext/FetchResult.js +4 -0
  506. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +1 -1
  507. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  508. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  509. package/dist/commonjs/queryExecutionContext/documentProducer.js +34 -21
  510. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  511. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  512. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  513. package/dist/commonjs/queryExecutionContext/orderByComparator.js +1 -0
  514. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  515. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  516. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  517. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  518. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  519. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  520. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  521. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  522. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  523. package/dist/commonjs/queryIterator.js +41 -33
  524. package/dist/commonjs/queryIterator.js.map +1 -1
  525. package/dist/commonjs/queryMetrics/clientSideMetrics.js +2 -1
  526. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +1 -1
  527. package/dist/commonjs/queryMetrics/queryMetrics.js +14 -1
  528. package/dist/commonjs/queryMetrics/queryMetrics.js.map +1 -1
  529. package/dist/commonjs/queryMetrics/queryPreparationTime.js +5 -1
  530. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +1 -1
  531. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +4 -1
  532. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  533. package/dist/commonjs/queryMetrics/timeSpan.js +4 -3
  534. package/dist/commonjs/queryMetrics/timeSpan.js.map +1 -1
  535. package/dist/commonjs/request/ErrorResponse.js +19 -0
  536. package/dist/commonjs/request/ErrorResponse.js.map +1 -1
  537. package/dist/commonjs/request/FeedResponse.js +4 -0
  538. package/dist/commonjs/request/FeedResponse.js.map +1 -1
  539. package/dist/commonjs/request/RequestHandler.js +1 -2
  540. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  541. package/dist/commonjs/request/ResourceResponse.js +5 -0
  542. package/dist/commonjs/request/ResourceResponse.js.map +1 -1
  543. package/dist/commonjs/request/TimeoutError.js +1 -1
  544. package/dist/commonjs/request/TimeoutError.js.map +1 -1
  545. package/dist/commonjs/request/hybridSearchQueryResult.js +5 -0
  546. package/dist/commonjs/request/hybridSearchQueryResult.js.map +1 -1
  547. package/dist/commonjs/request/request.js +5 -1
  548. package/dist/commonjs/request/request.js.map +1 -1
  549. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +5 -2
  550. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +1 -1
  551. package/dist/commonjs/retry/defaultRetryPolicy.js +4 -3
  552. package/dist/commonjs/retry/defaultRetryPolicy.js.map +1 -1
  553. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +11 -2
  554. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  555. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +20 -10
  556. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +1 -1
  557. package/dist/commonjs/retry/retryUtility.js +2 -3
  558. package/dist/commonjs/retry/retryUtility.js.map +1 -1
  559. package/dist/commonjs/retry/sessionRetryPolicy.js +8 -4
  560. package/dist/commonjs/retry/sessionRetryPolicy.js.map +1 -1
  561. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +14 -4
  562. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  563. package/dist/commonjs/routing/QueryRange.js +4 -0
  564. package/dist/commonjs/routing/QueryRange.js.map +1 -1
  565. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +4 -0
  566. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  567. package/dist/commonjs/routing/partitionKeyRangeCache.js +2 -0
  568. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +1 -1
  569. package/dist/commonjs/routing/smartRoutingMapProvider.js +1 -0
  570. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +1 -1
  571. package/dist/commonjs/session/VectorSessionToken.js +6 -2
  572. package/dist/commonjs/session/VectorSessionToken.js.map +1 -1
  573. package/dist/commonjs/session/sessionContainer.js +5 -3
  574. package/dist/commonjs/session/sessionContainer.js.map +1 -1
  575. package/dist/commonjs/tsdoc-metadata.json +1 -1
  576. package/dist/commonjs/utils/batch.js +15 -4
  577. package/dist/commonjs/utils/batch.js.map +1 -1
  578. package/dist/commonjs/utils/fixedSizePriorityQueue.js +4 -0
  579. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +1 -1
  580. package/dist/commonjs/utils/hashing/hash.js +1 -1
  581. package/dist/commonjs/utils/hashing/hash.js.map +1 -1
  582. package/dist/commonjs/utils/nonStreamingOrderByMap.js +2 -0
  583. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +1 -1
  584. package/dist/esm/ChangeFeedIterator.js +17 -11
  585. package/dist/esm/ChangeFeedIterator.js.map +1 -1
  586. package/dist/esm/ChangeFeedResponse.js +8 -0
  587. package/dist/esm/ChangeFeedResponse.js.map +1 -1
  588. package/dist/esm/ClientContext.js +122 -29
  589. package/dist/esm/ClientContext.js.map +1 -1
  590. package/dist/esm/CosmosClient.js +34 -3
  591. package/dist/esm/CosmosClient.js.map +1 -1
  592. package/dist/esm/CosmosDiagnostics.js +3 -0
  593. package/dist/esm/CosmosDiagnostics.js.map +1 -1
  594. package/dist/esm/PartitionKeyRangeFailoverInfo.js +8 -5
  595. package/dist/esm/PartitionKeyRangeFailoverInfo.js.map +1 -1
  596. package/dist/esm/bulk/Batcher.js +13 -3
  597. package/dist/esm/bulk/Batcher.js.map +1 -1
  598. package/dist/esm/bulk/BulkHelper.js +26 -11
  599. package/dist/esm/bulk/BulkHelper.js.map +1 -1
  600. package/dist/esm/bulk/BulkResponse.js +22 -20
  601. package/dist/esm/bulk/BulkResponse.js.map +1 -1
  602. package/dist/esm/bulk/CongestionAlgorithm.js +11 -4
  603. package/dist/esm/bulk/CongestionAlgorithm.js.map +1 -1
  604. package/dist/esm/bulk/HelperPerPartition.js +14 -1
  605. package/dist/esm/bulk/HelperPerPartition.js.map +1 -1
  606. package/dist/esm/bulk/ItemOperationContext.js +4 -0
  607. package/dist/esm/bulk/ItemOperationContext.js.map +1 -1
  608. package/dist/esm/bulk/Limiter.js +27 -18
  609. package/dist/esm/bulk/Limiter.js.map +1 -1
  610. package/dist/esm/bulk/PartitionMetric.js +4 -0
  611. package/dist/esm/bulk/PartitionMetric.js.map +1 -1
  612. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js +26 -15
  613. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  614. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js +16 -8
  615. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  616. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  617. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  618. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  619. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  620. package/dist/esm/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  621. package/dist/esm/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  622. package/dist/esm/client/ChangeFeed/ChangeFeedRange.js +20 -0
  623. package/dist/esm/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  624. package/dist/esm/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  625. package/dist/esm/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  626. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  627. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  628. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  629. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  630. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  631. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  632. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  633. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  634. package/dist/esm/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  635. package/dist/esm/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  636. package/dist/esm/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  637. package/dist/esm/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  638. package/dist/esm/client/ChangeFeed/FeedRange.js +8 -0
  639. package/dist/esm/client/ChangeFeed/FeedRange.js.map +1 -1
  640. package/dist/esm/client/ChangeFeed/FeedRangeQueue.js +1 -0
  641. package/dist/esm/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  642. package/dist/esm/client/ChangeFeed/changeFeedUtils.js +5 -5
  643. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  644. package/dist/esm/client/ClientUtils.js +1 -1
  645. package/dist/esm/client/ClientUtils.js.map +1 -1
  646. package/dist/esm/client/Conflict/Conflict.js +4 -0
  647. package/dist/esm/client/Conflict/Conflict.js.map +1 -1
  648. package/dist/esm/client/Conflict/ConflictResponse.js +2 -0
  649. package/dist/esm/client/Conflict/ConflictResponse.js.map +1 -1
  650. package/dist/esm/client/Conflict/Conflicts.js +2 -0
  651. package/dist/esm/client/Conflict/Conflicts.js.map +1 -1
  652. package/dist/esm/client/Container/Container.js +18 -3
  653. package/dist/esm/client/Container/Container.js.map +1 -1
  654. package/dist/esm/client/Container/ContainerResponse.js +2 -0
  655. package/dist/esm/client/Container/ContainerResponse.js.map +1 -1
  656. package/dist/esm/client/Container/Containers.js +4 -2
  657. package/dist/esm/client/Container/Containers.js.map +1 -1
  658. package/dist/esm/client/Database/Database.js +33 -0
  659. package/dist/esm/client/Database/Database.js.map +1 -1
  660. package/dist/esm/client/Database/DatabaseResponse.js +2 -0
  661. package/dist/esm/client/Database/DatabaseResponse.js.map +1 -1
  662. package/dist/esm/client/Database/Databases.js +3 -0
  663. package/dist/esm/client/Database/Databases.js.map +1 -1
  664. package/dist/esm/client/Item/Item.js +4 -0
  665. package/dist/esm/client/Item/Item.js.map +1 -1
  666. package/dist/esm/client/Item/ItemResponse.js +2 -0
  667. package/dist/esm/client/Item/ItemResponse.js.map +1 -1
  668. package/dist/esm/client/Item/Items.js +3 -0
  669. package/dist/esm/client/Item/Items.js.map +1 -1
  670. package/dist/esm/client/Offer/Offer.js +3 -0
  671. package/dist/esm/client/Offer/Offer.js.map +1 -1
  672. package/dist/esm/client/Offer/OfferResponse.js +2 -0
  673. package/dist/esm/client/Offer/OfferResponse.js.map +1 -1
  674. package/dist/esm/client/Offer/Offers.js +2 -0
  675. package/dist/esm/client/Offer/Offers.js.map +1 -1
  676. package/dist/esm/client/Permission/Permission.js +3 -0
  677. package/dist/esm/client/Permission/Permission.js.map +1 -1
  678. package/dist/esm/client/Permission/PermissionResponse.js +2 -0
  679. package/dist/esm/client/Permission/PermissionResponse.js.map +1 -1
  680. package/dist/esm/client/Permission/Permissions.js +2 -0
  681. package/dist/esm/client/Permission/Permissions.js.map +1 -1
  682. package/dist/esm/client/SasToken/SasTokenProperties.js +17 -0
  683. package/dist/esm/client/SasToken/SasTokenProperties.js.map +1 -1
  684. package/dist/esm/client/Script/Scripts.js +5 -0
  685. package/dist/esm/client/Script/Scripts.js.map +1 -1
  686. package/dist/esm/client/StoredProcedure/StoredProcedure.js +3 -0
  687. package/dist/esm/client/StoredProcedure/StoredProcedure.js.map +1 -1
  688. package/dist/esm/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  689. package/dist/esm/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  690. package/dist/esm/client/StoredProcedure/StoredProcedures.js +2 -0
  691. package/dist/esm/client/StoredProcedure/StoredProcedures.js.map +1 -1
  692. package/dist/esm/client/Trigger/Trigger.js +3 -0
  693. package/dist/esm/client/Trigger/Trigger.js.map +1 -1
  694. package/dist/esm/client/Trigger/TriggerResponse.js +2 -0
  695. package/dist/esm/client/Trigger/TriggerResponse.js.map +1 -1
  696. package/dist/esm/client/Trigger/Triggers.js +2 -0
  697. package/dist/esm/client/Trigger/Triggers.js.map +1 -1
  698. package/dist/esm/client/User/User.js +9 -0
  699. package/dist/esm/client/User/User.js.map +1 -1
  700. package/dist/esm/client/User/UserResponse.js +2 -0
  701. package/dist/esm/client/User/UserResponse.js.map +1 -1
  702. package/dist/esm/client/User/Users.js +2 -0
  703. package/dist/esm/client/User/Users.js.map +1 -1
  704. package/dist/esm/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  705. package/dist/esm/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  706. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  707. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  708. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  709. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  710. package/dist/esm/diagnostics/CosmosDiagnosticsContext.js +8 -7
  711. package/dist/esm/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  712. package/dist/esm/diagnostics/DiagnosticNodeInternal.js +26 -7
  713. package/dist/esm/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  714. package/dist/esm/diagnostics/DiagnosticWriter.js +1 -3
  715. package/dist/esm/diagnostics/DiagnosticWriter.js.map +1 -1
  716. package/dist/esm/diagnostics/index.js +2 -2
  717. package/dist/esm/diagnostics/index.js.map +1 -1
  718. package/dist/esm/documents/DatabaseAccount.js +20 -4
  719. package/dist/esm/documents/DatabaseAccount.js.map +1 -1
  720. package/dist/esm/documents/PartitionKey.js +1 -3
  721. package/dist/esm/documents/PartitionKey.js.map +1 -1
  722. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -2
  723. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  724. package/dist/esm/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  725. package/dist/esm/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  726. package/dist/esm/encryption/Cache/EncryptionSettingsCache.js +2 -0
  727. package/dist/esm/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  728. package/dist/esm/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  729. package/dist/esm/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  730. package/dist/esm/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -0
  731. package/dist/esm/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -1
  732. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  733. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  734. package/dist/esm/encryption/EncryptionItemQueryIterator.js +24 -27
  735. package/dist/esm/encryption/EncryptionItemQueryIterator.js.map +1 -1
  736. package/dist/esm/encryption/EncryptionKey/DataEncryptionKey.js +7 -2
  737. package/dist/esm/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  738. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  739. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  740. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  741. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  742. package/dist/esm/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  743. package/dist/esm/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  744. package/dist/esm/encryption/EncryptionKeyStoreProvider.js +8 -1
  745. package/dist/esm/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  746. package/dist/esm/encryption/EncryptionManager.js +6 -0
  747. package/dist/esm/encryption/EncryptionManager.js.map +1 -1
  748. package/dist/esm/encryption/EncryptionProcessor.js +5 -0
  749. package/dist/esm/encryption/EncryptionProcessor.js.map +1 -1
  750. package/dist/esm/encryption/EncryptionQueryBuilder.js +2 -0
  751. package/dist/esm/encryption/EncryptionQueryBuilder.js.map +1 -1
  752. package/dist/esm/encryption/EncryptionSettingForProperty.js +6 -0
  753. package/dist/esm/encryption/EncryptionSettingForProperty.js.map +1 -1
  754. package/dist/esm/encryption/EncryptionSettings.js +6 -3
  755. package/dist/esm/encryption/EncryptionSettings.js.map +1 -1
  756. package/dist/esm/encryption/KeyEncryptionKey.js +4 -0
  757. package/dist/esm/encryption/KeyEncryptionKey.js.map +1 -1
  758. package/dist/esm/encryption/Serializers/StringSerializer.js +1 -1
  759. package/dist/esm/encryption/Serializers/StringSerializer.js.map +1 -1
  760. package/dist/esm/extractPartitionKey.js +2 -2
  761. package/dist/esm/extractPartitionKey.js.map +1 -1
  762. package/dist/esm/globalEndpointManager.js +21 -4
  763. package/dist/esm/globalEndpointManager.js.map +1 -1
  764. package/dist/esm/globalPartitionEndpointManager.js +8 -0
  765. package/dist/esm/globalPartitionEndpointManager.js.map +1 -1
  766. package/dist/esm/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  767. package/dist/esm/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  768. package/dist/esm/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  769. package/dist/esm/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  770. package/dist/esm/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  771. package/dist/esm/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  772. package/dist/esm/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  773. package/dist/esm/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  774. package/dist/esm/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  775. package/dist/esm/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  776. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  777. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  778. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  779. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  780. package/dist/esm/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  781. package/dist/esm/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  782. package/dist/esm/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  783. package/dist/esm/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  784. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  785. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  786. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  787. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  788. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  789. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  790. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  791. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  792. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  793. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  794. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  795. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  796. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  797. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  798. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  799. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  800. package/dist/esm/queryExecutionContext/FetchResult.js +4 -0
  801. package/dist/esm/queryExecutionContext/FetchResult.js.map +1 -1
  802. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  803. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  804. package/dist/esm/queryExecutionContext/documentProducer.js +34 -21
  805. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  806. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  807. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  808. package/dist/esm/queryExecutionContext/orderByComparator.js +1 -0
  809. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  810. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  811. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  812. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  813. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  814. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  815. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  816. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  817. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  818. package/dist/esm/queryIterator.js +41 -33
  819. package/dist/esm/queryIterator.js.map +1 -1
  820. package/dist/esm/queryMetrics/clientSideMetrics.js +2 -1
  821. package/dist/esm/queryMetrics/clientSideMetrics.js.map +1 -1
  822. package/dist/esm/queryMetrics/queryMetrics.js +14 -1
  823. package/dist/esm/queryMetrics/queryMetrics.js.map +1 -1
  824. package/dist/esm/queryMetrics/queryPreparationTime.js +5 -1
  825. package/dist/esm/queryMetrics/queryPreparationTime.js.map +1 -1
  826. package/dist/esm/queryMetrics/runtimeExecutionTimes.js +4 -1
  827. package/dist/esm/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  828. package/dist/esm/queryMetrics/timeSpan.js +4 -3
  829. package/dist/esm/queryMetrics/timeSpan.js.map +1 -1
  830. package/dist/esm/request/ErrorResponse.js +19 -0
  831. package/dist/esm/request/ErrorResponse.js.map +1 -1
  832. package/dist/esm/request/FeedResponse.js +4 -0
  833. package/dist/esm/request/FeedResponse.js.map +1 -1
  834. package/dist/esm/request/RequestHandler.js +1 -2
  835. package/dist/esm/request/RequestHandler.js.map +1 -1
  836. package/dist/esm/request/ResourceResponse.js +5 -0
  837. package/dist/esm/request/ResourceResponse.js.map +1 -1
  838. package/dist/esm/request/TimeoutError.js +1 -1
  839. package/dist/esm/request/TimeoutError.js.map +1 -1
  840. package/dist/esm/request/hybridSearchQueryResult.js +5 -0
  841. package/dist/esm/request/hybridSearchQueryResult.js.map +1 -1
  842. package/dist/esm/request/request.js +5 -1
  843. package/dist/esm/request/request.js.map +1 -1
  844. package/dist/esm/retry/bulkExecutionRetryPolicy.js +5 -2
  845. package/dist/esm/retry/bulkExecutionRetryPolicy.js.map +1 -1
  846. package/dist/esm/retry/defaultRetryPolicy.js +4 -3
  847. package/dist/esm/retry/defaultRetryPolicy.js.map +1 -1
  848. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js +11 -2
  849. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  850. package/dist/esm/retry/resourceThrottleRetryPolicy.js +20 -10
  851. package/dist/esm/retry/resourceThrottleRetryPolicy.js.map +1 -1
  852. package/dist/esm/retry/retryUtility.js +2 -3
  853. package/dist/esm/retry/retryUtility.js.map +1 -1
  854. package/dist/esm/retry/sessionRetryPolicy.js +8 -4
  855. package/dist/esm/retry/sessionRetryPolicy.js.map +1 -1
  856. package/dist/esm/retry/timeoutFailoverRetryPolicy.js +14 -4
  857. package/dist/esm/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  858. package/dist/esm/routing/QueryRange.js +4 -0
  859. package/dist/esm/routing/QueryRange.js.map +1 -1
  860. package/dist/esm/routing/inMemoryCollectionRoutingMap.js +4 -0
  861. package/dist/esm/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  862. package/dist/esm/routing/partitionKeyRangeCache.js +2 -0
  863. package/dist/esm/routing/partitionKeyRangeCache.js.map +1 -1
  864. package/dist/esm/routing/smartRoutingMapProvider.js +1 -0
  865. package/dist/esm/routing/smartRoutingMapProvider.js.map +1 -1
  866. package/dist/esm/session/VectorSessionToken.js +6 -2
  867. package/dist/esm/session/VectorSessionToken.js.map +1 -1
  868. package/dist/esm/session/sessionContainer.js +5 -3
  869. package/dist/esm/session/sessionContainer.js.map +1 -1
  870. package/dist/esm/utils/batch.js +15 -4
  871. package/dist/esm/utils/batch.js.map +1 -1
  872. package/dist/esm/utils/fixedSizePriorityQueue.js +4 -0
  873. package/dist/esm/utils/fixedSizePriorityQueue.js.map +1 -1
  874. package/dist/esm/utils/hashing/hash.js +1 -1
  875. package/dist/esm/utils/hashing/hash.js.map +1 -1
  876. package/dist/esm/utils/nonStreamingOrderByMap.js +2 -0
  877. package/dist/esm/utils/nonStreamingOrderByMap.js.map +1 -1
  878. package/dist/react-native/ChangeFeedIterator.js +17 -11
  879. package/dist/react-native/ChangeFeedIterator.js.map +1 -1
  880. package/dist/react-native/ChangeFeedResponse.js +8 -0
  881. package/dist/react-native/ChangeFeedResponse.js.map +1 -1
  882. package/dist/react-native/ClientContext.js +122 -29
  883. package/dist/react-native/ClientContext.js.map +1 -1
  884. package/dist/react-native/CosmosClient.js +34 -3
  885. package/dist/react-native/CosmosClient.js.map +1 -1
  886. package/dist/react-native/CosmosDiagnostics.js +3 -0
  887. package/dist/react-native/CosmosDiagnostics.js.map +1 -1
  888. package/dist/react-native/PartitionKeyRangeFailoverInfo.js +8 -5
  889. package/dist/react-native/PartitionKeyRangeFailoverInfo.js.map +1 -1
  890. package/dist/react-native/bulk/Batcher.js +13 -3
  891. package/dist/react-native/bulk/Batcher.js.map +1 -1
  892. package/dist/react-native/bulk/BulkHelper.js +26 -11
  893. package/dist/react-native/bulk/BulkHelper.js.map +1 -1
  894. package/dist/react-native/bulk/BulkResponse.js +22 -20
  895. package/dist/react-native/bulk/BulkResponse.js.map +1 -1
  896. package/dist/react-native/bulk/CongestionAlgorithm.js +11 -4
  897. package/dist/react-native/bulk/CongestionAlgorithm.js.map +1 -1
  898. package/dist/react-native/bulk/HelperPerPartition.js +14 -1
  899. package/dist/react-native/bulk/HelperPerPartition.js.map +1 -1
  900. package/dist/react-native/bulk/ItemOperationContext.js +4 -0
  901. package/dist/react-native/bulk/ItemOperationContext.js.map +1 -1
  902. package/dist/react-native/bulk/Limiter.js +27 -18
  903. package/dist/react-native/bulk/Limiter.js.map +1 -1
  904. package/dist/react-native/bulk/PartitionMetric.js +4 -0
  905. package/dist/react-native/bulk/PartitionMetric.js.map +1 -1
  906. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js +26 -15
  907. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  908. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js +16 -8
  909. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  910. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  911. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  912. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  913. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  914. package/dist/react-native/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  915. package/dist/react-native/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  916. package/dist/react-native/client/ChangeFeed/ChangeFeedRange.js +20 -0
  917. package/dist/react-native/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  918. package/dist/react-native/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  919. package/dist/react-native/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  920. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  921. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  922. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  923. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  924. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  925. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  926. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  927. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  928. package/dist/react-native/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  929. package/dist/react-native/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  930. package/dist/react-native/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  931. package/dist/react-native/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  932. package/dist/react-native/client/ChangeFeed/FeedRange.js +8 -0
  933. package/dist/react-native/client/ChangeFeed/FeedRange.js.map +1 -1
  934. package/dist/react-native/client/ChangeFeed/FeedRangeQueue.js +1 -0
  935. package/dist/react-native/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  936. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js +5 -5
  937. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  938. package/dist/react-native/client/ClientUtils.js +1 -1
  939. package/dist/react-native/client/ClientUtils.js.map +1 -1
  940. package/dist/react-native/client/Conflict/Conflict.js +4 -0
  941. package/dist/react-native/client/Conflict/Conflict.js.map +1 -1
  942. package/dist/react-native/client/Conflict/ConflictResponse.js +2 -0
  943. package/dist/react-native/client/Conflict/ConflictResponse.js.map +1 -1
  944. package/dist/react-native/client/Conflict/Conflicts.js +2 -0
  945. package/dist/react-native/client/Conflict/Conflicts.js.map +1 -1
  946. package/dist/react-native/client/Container/Container.js +18 -3
  947. package/dist/react-native/client/Container/Container.js.map +1 -1
  948. package/dist/react-native/client/Container/ContainerResponse.js +2 -0
  949. package/dist/react-native/client/Container/ContainerResponse.js.map +1 -1
  950. package/dist/react-native/client/Container/Containers.js +4 -2
  951. package/dist/react-native/client/Container/Containers.js.map +1 -1
  952. package/dist/react-native/client/Database/Database.js +33 -0
  953. package/dist/react-native/client/Database/Database.js.map +1 -1
  954. package/dist/react-native/client/Database/DatabaseResponse.js +2 -0
  955. package/dist/react-native/client/Database/DatabaseResponse.js.map +1 -1
  956. package/dist/react-native/client/Database/Databases.js +3 -0
  957. package/dist/react-native/client/Database/Databases.js.map +1 -1
  958. package/dist/react-native/client/Item/Item.js +4 -0
  959. package/dist/react-native/client/Item/Item.js.map +1 -1
  960. package/dist/react-native/client/Item/ItemResponse.js +2 -0
  961. package/dist/react-native/client/Item/ItemResponse.js.map +1 -1
  962. package/dist/react-native/client/Item/Items.js +3 -0
  963. package/dist/react-native/client/Item/Items.js.map +1 -1
  964. package/dist/react-native/client/Offer/Offer.js +3 -0
  965. package/dist/react-native/client/Offer/Offer.js.map +1 -1
  966. package/dist/react-native/client/Offer/OfferResponse.js +2 -0
  967. package/dist/react-native/client/Offer/OfferResponse.js.map +1 -1
  968. package/dist/react-native/client/Offer/Offers.js +2 -0
  969. package/dist/react-native/client/Offer/Offers.js.map +1 -1
  970. package/dist/react-native/client/Permission/Permission.js +3 -0
  971. package/dist/react-native/client/Permission/Permission.js.map +1 -1
  972. package/dist/react-native/client/Permission/PermissionResponse.js +2 -0
  973. package/dist/react-native/client/Permission/PermissionResponse.js.map +1 -1
  974. package/dist/react-native/client/Permission/Permissions.js +2 -0
  975. package/dist/react-native/client/Permission/Permissions.js.map +1 -1
  976. package/dist/react-native/client/SasToken/SasTokenProperties.js +17 -0
  977. package/dist/react-native/client/SasToken/SasTokenProperties.js.map +1 -1
  978. package/dist/react-native/client/Script/Scripts.js +5 -0
  979. package/dist/react-native/client/Script/Scripts.js.map +1 -1
  980. package/dist/react-native/client/StoredProcedure/StoredProcedure.js +3 -0
  981. package/dist/react-native/client/StoredProcedure/StoredProcedure.js.map +1 -1
  982. package/dist/react-native/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  983. package/dist/react-native/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  984. package/dist/react-native/client/StoredProcedure/StoredProcedures.js +2 -0
  985. package/dist/react-native/client/StoredProcedure/StoredProcedures.js.map +1 -1
  986. package/dist/react-native/client/Trigger/Trigger.js +3 -0
  987. package/dist/react-native/client/Trigger/Trigger.js.map +1 -1
  988. package/dist/react-native/client/Trigger/TriggerResponse.js +2 -0
  989. package/dist/react-native/client/Trigger/TriggerResponse.js.map +1 -1
  990. package/dist/react-native/client/Trigger/Triggers.js +2 -0
  991. package/dist/react-native/client/Trigger/Triggers.js.map +1 -1
  992. package/dist/react-native/client/User/User.js +9 -0
  993. package/dist/react-native/client/User/User.js.map +1 -1
  994. package/dist/react-native/client/User/UserResponse.js +2 -0
  995. package/dist/react-native/client/User/UserResponse.js.map +1 -1
  996. package/dist/react-native/client/User/Users.js +2 -0
  997. package/dist/react-native/client/User/Users.js.map +1 -1
  998. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  999. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  1000. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  1001. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  1002. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  1003. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  1004. package/dist/react-native/diagnostics/CosmosDiagnosticsContext.js +8 -7
  1005. package/dist/react-native/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  1006. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js +26 -7
  1007. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1008. package/dist/react-native/diagnostics/DiagnosticWriter.js +1 -3
  1009. package/dist/react-native/diagnostics/DiagnosticWriter.js.map +1 -1
  1010. package/dist/react-native/diagnostics/index.js +2 -2
  1011. package/dist/react-native/diagnostics/index.js.map +1 -1
  1012. package/dist/react-native/documents/DatabaseAccount.js +20 -4
  1013. package/dist/react-native/documents/DatabaseAccount.js.map +1 -1
  1014. package/dist/react-native/documents/PartitionKey.js +1 -3
  1015. package/dist/react-native/documents/PartitionKey.js.map +1 -1
  1016. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -2
  1017. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1018. package/dist/react-native/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  1019. package/dist/react-native/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  1020. package/dist/react-native/encryption/Cache/EncryptionSettingsCache.js +2 -0
  1021. package/dist/react-native/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  1022. package/dist/react-native/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  1023. package/dist/react-native/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  1024. package/dist/react-native/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -0
  1025. package/dist/react-native/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -1
  1026. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  1027. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1028. package/dist/react-native/encryption/EncryptionItemQueryIterator.js +24 -27
  1029. package/dist/react-native/encryption/EncryptionItemQueryIterator.js.map +1 -1
  1030. package/dist/react-native/encryption/EncryptionKey/DataEncryptionKey.js +7 -2
  1031. package/dist/react-native/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  1032. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  1033. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  1034. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  1035. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  1036. package/dist/react-native/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  1037. package/dist/react-native/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  1038. package/dist/react-native/encryption/EncryptionKeyStoreProvider.js +8 -1
  1039. package/dist/react-native/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  1040. package/dist/react-native/encryption/EncryptionManager.js +6 -0
  1041. package/dist/react-native/encryption/EncryptionManager.js.map +1 -1
  1042. package/dist/react-native/encryption/EncryptionProcessor.js +5 -0
  1043. package/dist/react-native/encryption/EncryptionProcessor.js.map +1 -1
  1044. package/dist/react-native/encryption/EncryptionQueryBuilder.js +2 -0
  1045. package/dist/react-native/encryption/EncryptionQueryBuilder.js.map +1 -1
  1046. package/dist/react-native/encryption/EncryptionSettingForProperty.js +6 -0
  1047. package/dist/react-native/encryption/EncryptionSettingForProperty.js.map +1 -1
  1048. package/dist/react-native/encryption/EncryptionSettings.js +6 -3
  1049. package/dist/react-native/encryption/EncryptionSettings.js.map +1 -1
  1050. package/dist/react-native/encryption/KeyEncryptionKey.js +4 -0
  1051. package/dist/react-native/encryption/KeyEncryptionKey.js.map +1 -1
  1052. package/dist/react-native/encryption/Serializers/StringSerializer.js +1 -1
  1053. package/dist/react-native/encryption/Serializers/StringSerializer.js.map +1 -1
  1054. package/dist/react-native/extractPartitionKey.js +2 -2
  1055. package/dist/react-native/extractPartitionKey.js.map +1 -1
  1056. package/dist/react-native/globalEndpointManager.js +21 -4
  1057. package/dist/react-native/globalEndpointManager.js.map +1 -1
  1058. package/dist/react-native/globalPartitionEndpointManager.js +8 -0
  1059. package/dist/react-native/globalPartitionEndpointManager.js.map +1 -1
  1060. package/dist/react-native/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  1061. package/dist/react-native/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  1062. package/dist/react-native/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  1063. package/dist/react-native/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  1064. package/dist/react-native/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  1065. package/dist/react-native/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  1066. package/dist/react-native/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  1067. package/dist/react-native/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  1068. package/dist/react-native/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  1069. package/dist/react-native/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  1070. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  1071. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  1072. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  1073. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  1074. package/dist/react-native/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  1075. package/dist/react-native/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  1076. package/dist/react-native/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  1077. package/dist/react-native/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  1078. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  1079. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  1080. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  1081. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  1082. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  1083. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  1084. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  1085. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  1086. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  1087. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  1088. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  1089. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  1090. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  1091. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  1092. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  1093. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  1094. package/dist/react-native/queryExecutionContext/FetchResult.js +4 -0
  1095. package/dist/react-native/queryExecutionContext/FetchResult.js.map +1 -1
  1096. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  1097. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  1098. package/dist/react-native/queryExecutionContext/documentProducer.js +34 -21
  1099. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  1100. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  1101. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  1102. package/dist/react-native/queryExecutionContext/orderByComparator.js +1 -0
  1103. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  1104. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  1105. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  1106. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  1107. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  1108. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  1109. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1110. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  1111. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  1112. package/dist/react-native/queryIterator.js +41 -33
  1113. package/dist/react-native/queryIterator.js.map +1 -1
  1114. package/dist/react-native/queryMetrics/clientSideMetrics.js +2 -1
  1115. package/dist/react-native/queryMetrics/clientSideMetrics.js.map +1 -1
  1116. package/dist/react-native/queryMetrics/queryMetrics.js +14 -1
  1117. package/dist/react-native/queryMetrics/queryMetrics.js.map +1 -1
  1118. package/dist/react-native/queryMetrics/queryPreparationTime.js +5 -1
  1119. package/dist/react-native/queryMetrics/queryPreparationTime.js.map +1 -1
  1120. package/dist/react-native/queryMetrics/runtimeExecutionTimes.js +4 -1
  1121. package/dist/react-native/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  1122. package/dist/react-native/queryMetrics/timeSpan.js +4 -3
  1123. package/dist/react-native/queryMetrics/timeSpan.js.map +1 -1
  1124. package/dist/react-native/request/ErrorResponse.js +19 -0
  1125. package/dist/react-native/request/ErrorResponse.js.map +1 -1
  1126. package/dist/react-native/request/FeedResponse.js +4 -0
  1127. package/dist/react-native/request/FeedResponse.js.map +1 -1
  1128. package/dist/react-native/request/RequestHandler.js +1 -2
  1129. package/dist/react-native/request/RequestHandler.js.map +1 -1
  1130. package/dist/react-native/request/ResourceResponse.js +5 -0
  1131. package/dist/react-native/request/ResourceResponse.js.map +1 -1
  1132. package/dist/react-native/request/TimeoutError.js +1 -1
  1133. package/dist/react-native/request/TimeoutError.js.map +1 -1
  1134. package/dist/react-native/request/hybridSearchQueryResult.js +5 -0
  1135. package/dist/react-native/request/hybridSearchQueryResult.js.map +1 -1
  1136. package/dist/react-native/request/request.js +5 -1
  1137. package/dist/react-native/request/request.js.map +1 -1
  1138. package/dist/react-native/retry/bulkExecutionRetryPolicy.js +5 -2
  1139. package/dist/react-native/retry/bulkExecutionRetryPolicy.js.map +1 -1
  1140. package/dist/react-native/retry/defaultRetryPolicy.js +4 -3
  1141. package/dist/react-native/retry/defaultRetryPolicy.js.map +1 -1
  1142. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js +11 -2
  1143. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1144. package/dist/react-native/retry/resourceThrottleRetryPolicy.js +20 -10
  1145. package/dist/react-native/retry/resourceThrottleRetryPolicy.js.map +1 -1
  1146. package/dist/react-native/retry/retryUtility.js +2 -3
  1147. package/dist/react-native/retry/retryUtility.js.map +1 -1
  1148. package/dist/react-native/retry/sessionRetryPolicy.js +8 -4
  1149. package/dist/react-native/retry/sessionRetryPolicy.js.map +1 -1
  1150. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js +14 -4
  1151. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1152. package/dist/react-native/routing/QueryRange.js +4 -0
  1153. package/dist/react-native/routing/QueryRange.js.map +1 -1
  1154. package/dist/react-native/routing/inMemoryCollectionRoutingMap.js +4 -0
  1155. package/dist/react-native/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  1156. package/dist/react-native/routing/partitionKeyRangeCache.js +2 -0
  1157. package/dist/react-native/routing/partitionKeyRangeCache.js.map +1 -1
  1158. package/dist/react-native/routing/smartRoutingMapProvider.js +1 -0
  1159. package/dist/react-native/routing/smartRoutingMapProvider.js.map +1 -1
  1160. package/dist/react-native/session/VectorSessionToken.js +6 -2
  1161. package/dist/react-native/session/VectorSessionToken.js.map +1 -1
  1162. package/dist/react-native/session/sessionContainer.js +5 -3
  1163. package/dist/react-native/session/sessionContainer.js.map +1 -1
  1164. package/dist/react-native/utils/batch.js +15 -4
  1165. package/dist/react-native/utils/batch.js.map +1 -1
  1166. package/dist/react-native/utils/fixedSizePriorityQueue.js +4 -0
  1167. package/dist/react-native/utils/fixedSizePriorityQueue.js.map +1 -1
  1168. package/dist/react-native/utils/hashing/hash.js +1 -1
  1169. package/dist/react-native/utils/hashing/hash.js.map +1 -1
  1170. package/dist/react-native/utils/nonStreamingOrderByMap.js +2 -0
  1171. package/dist/react-native/utils/nonStreamingOrderByMap.js.map +1 -1
  1172. package/package.json +2 -2
@@ -7,6 +7,9 @@ import { getEmptyCosmosDiagnostics, withDiagnostics } from "../../utils/diagnost
7
7
  * @see {@link UserDefinedFunction} to create, upsert, query, read all User Defined Functions.
8
8
  */
9
9
  export class UserDefinedFunction {
10
+ container;
11
+ id;
12
+ clientContext;
10
13
  /**
11
14
  * Returns a reference URL to the resource. Used for linking in Permissions.
12
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"UserDefinedFunction.js","sourceRoot":"","sources":["../../../../src/client/UserDefinedFunction/UserDefinedFunction.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 { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport {\n createUserDefinedFunctionUri,\n getIdFromLink,\n getPathFromLink,\n isResourceValid,\n ResourceType,\n} from \"../../common/index.js\";\nimport type { RequestOptions } from \"../../request/index.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { UserDefinedFunctionDefinition } from \"./UserDefinedFunctionDefinition.js\";\nimport { UserDefinedFunctionResponse } from \"./UserDefinedFunctionResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\n\n/**\n * Used to read, replace, or delete a specified User Definied Function by id.\n *\n * @see {@link UserDefinedFunction} to create, upsert, query, read all User Defined Functions.\n */\nexport class UserDefinedFunction {\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return createUserDefinedFunctionUri(this.container.database.id, this.container.id, this.id);\n }\n /**\n * @hidden\n * @param container - The parent {@link Container}.\n * @param id - The id of the given {@link UserDefinedFunction}.\n */\n constructor(\n public readonly container: Container,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Read the {@link UserDefinedFunctionDefinition} for the given {@link UserDefinedFunction}.\n * @example\n * ```ts snippet:UserDefinedFunctionRead\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const { resource: udf } = await container.scripts.userDefinedFunction(\"<udf-id>\").read();\n * ```\n */\n public async read(options?: RequestOptions): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n\n const response = await this.clientContext.read<UserDefinedFunctionDefinition>({\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Replace the given {@link UserDefinedFunction} with the specified {@link UserDefinedFunctionDefinition}.\n * @param options -\n * @example\n * ```ts snippet:UserDefinedFunctionReplace\n * import { CosmosClient, UserDefinedFunctionDefinition } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const udfDefinition: UserDefinedFunctionDefinition = {\n * id: \"sample udf\",\n * body: \"function () { const x = 10; }\",\n * };\n * await container.scripts.userDefinedFunctions.create(udfDefinition);\n *\n * udfDefinition.body = \"function () { const x = 20; }\";\n * const { resource: replacedUdf } = await container.scripts\n * .userDefinedFunction(udfDefinition.id)\n * .replace(udfDefinition);\n * ```\n */\n public async replace(\n body: UserDefinedFunctionDefinition,\n options?: RequestOptions,\n ): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if (body.body) {\n body.body = body.body.toString();\n }\n\n const err = {};\n if (!isResourceValid(body, err)) {\n throw err;\n }\n\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n\n const response = await this.clientContext.replace<UserDefinedFunctionDefinition>({\n body,\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Delete the given {@link UserDefined}.\n * @example\n * ```ts snippet:UserDefinedFunctionDelete\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * await container.scripts.userDefinedFunction(\"<udf-id>\").delete();\n * ```\n */\n public async delete(options?: RequestOptions): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n\n const response = await this.clientContext.delete({\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
1
+ {"version":3,"file":"UserDefinedFunction.js","sourceRoot":"","sources":["../../../../src/client/UserDefinedFunction/UserDefinedFunction.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 { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport {\n createUserDefinedFunctionUri,\n getIdFromLink,\n getPathFromLink,\n isResourceValid,\n ResourceType,\n} from \"../../common/index.js\";\nimport type { RequestOptions } from \"../../request/index.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { UserDefinedFunctionDefinition } from \"./UserDefinedFunctionDefinition.js\";\nimport { UserDefinedFunctionResponse } from \"./UserDefinedFunctionResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\n\n/**\n * Used to read, replace, or delete a specified User Definied Function by id.\n *\n * @see {@link UserDefinedFunction} to create, upsert, query, read all User Defined Functions.\n */\nexport class UserDefinedFunction {\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return createUserDefinedFunctionUri(this.container.database.id, this.container.id, this.id);\n }\n /**\n * @hidden\n * @param container - The parent {@link Container}.\n * @param id - The id of the given {@link UserDefinedFunction}.\n */\n constructor(\n public readonly container: Container,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Read the {@link UserDefinedFunctionDefinition} for the given {@link UserDefinedFunction}.\n * @example\n * ```ts snippet:UserDefinedFunctionRead\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const { resource: udf } = await container.scripts.userDefinedFunction(\"<udf-id>\").read();\n * ```\n */\n public async read(options?: RequestOptions): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n\n const response = await this.clientContext.read<UserDefinedFunctionDefinition>({\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Replace the given {@link UserDefinedFunction} with the specified {@link UserDefinedFunctionDefinition}.\n * @param options -\n * @example\n * ```ts snippet:UserDefinedFunctionReplace\n * import { CosmosClient, UserDefinedFunctionDefinition } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const udfDefinition: UserDefinedFunctionDefinition = {\n * id: \"sample udf\",\n * body: \"function () { const x = 10; }\",\n * };\n * await container.scripts.userDefinedFunctions.create(udfDefinition);\n *\n * udfDefinition.body = \"function () { const x = 20; }\";\n * const { resource: replacedUdf } = await container.scripts\n * .userDefinedFunction(udfDefinition.id)\n * .replace(udfDefinition);\n * ```\n */\n public async replace(\n body: UserDefinedFunctionDefinition,\n options?: RequestOptions,\n ): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if (body.body) {\n body.body = body.body.toString();\n }\n\n const err = {};\n if (!isResourceValid(body, err)) {\n throw err;\n }\n\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n\n const response = await this.clientContext.replace<UserDefinedFunctionDefinition>({\n body,\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Delete the given {@link UserDefined}.\n * @example\n * ```ts snippet:UserDefinedFunctionDelete\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * await container.scripts.userDefinedFunction(\"<udf-id>\").delete();\n * ```\n */\n public async delete(options?: RequestOptions): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n\n const response = await this.clientContext.delete({\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
@@ -4,6 +4,8 @@ export class UserDefinedFunctionResponse extends ResourceResponse {
4
4
  super(resource, headers, statusCode, diagnostics);
5
5
  this.userDefinedFunction = udf;
6
6
  }
7
+ /** A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}. */
8
+ userDefinedFunction;
7
9
  /**
8
10
  * Alias for `userDefinedFunction(id)`.
9
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"UserDefinedFunctionResponse.js","sourceRoot":"","sources":["../../../../src/client/UserDefinedFunction/UserDefinedFunctionResponse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK1D,MAAM,OAAO,2BAA4B,SAAQ,gBAEhD;IACC,YACE,QAAkD,EAClD,OAAsB,EACtB,UAAkB,EAClB,GAAwB,EACxB,WAA8B;QAE9B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;IACjC,CAAC;IAGD;;;;OAIG;IACH,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { CosmosDiagnostics } from \"../../CosmosDiagnostics.js\";\nimport type { CosmosHeaders } from \"../../queryExecutionContext/index.js\";\nimport { ResourceResponse } from \"../../request/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { UserDefinedFunction } from \"./UserDefinedFunction.js\";\nimport type { UserDefinedFunctionDefinition } from \"./UserDefinedFunctionDefinition.js\";\n\nexport class UserDefinedFunctionResponse extends ResourceResponse<\n UserDefinedFunctionDefinition & Resource\n> {\n constructor(\n resource: UserDefinedFunctionDefinition & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n udf: UserDefinedFunction,\n diagnostics: CosmosDiagnostics,\n ) {\n super(resource, headers, statusCode, diagnostics);\n this.userDefinedFunction = udf;\n }\n /** A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}. */\n public readonly userDefinedFunction: UserDefinedFunction;\n /**\n * Alias for `userDefinedFunction(id)`.\n *\n * A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}.\n */\n public get udf(): UserDefinedFunction {\n return this.userDefinedFunction;\n }\n}\n"]}
1
+ {"version":3,"file":"UserDefinedFunctionResponse.js","sourceRoot":"","sources":["../../../../src/client/UserDefinedFunction/UserDefinedFunctionResponse.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK1D,MAAM,OAAO,2BAA4B,SAAQ,gBAEhD;IACC,YACE,QAAkD,EAClD,OAAsB,EACtB,UAAkB,EAClB,GAAwB,EACxB,WAA8B;QAE9B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;IACjC,CAAC;IACD,0HAA0H;IAC1G,mBAAmB,CAAsB;IACzD;;;;OAIG;IACH,IAAW,GAAG;QACZ,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { CosmosDiagnostics } from \"../../CosmosDiagnostics.js\";\nimport type { CosmosHeaders } from \"../../queryExecutionContext/index.js\";\nimport { ResourceResponse } from \"../../request/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { UserDefinedFunction } from \"./UserDefinedFunction.js\";\nimport type { UserDefinedFunctionDefinition } from \"./UserDefinedFunctionDefinition.js\";\n\nexport class UserDefinedFunctionResponse extends ResourceResponse<\n UserDefinedFunctionDefinition & Resource\n> {\n constructor(\n resource: UserDefinedFunctionDefinition & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n udf: UserDefinedFunction,\n diagnostics: CosmosDiagnostics,\n ) {\n super(resource, headers, statusCode, diagnostics);\n this.userDefinedFunction = udf;\n }\n /** A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}. */\n public readonly userDefinedFunction: UserDefinedFunction;\n /**\n * Alias for `userDefinedFunction(id)`.\n *\n * A reference to the {@link UserDefinedFunction} corresponding to the returned {@link UserDefinedFunctionDefinition}.\n */\n public get udf(): UserDefinedFunction {\n return this.userDefinedFunction;\n }\n}\n"]}
@@ -9,6 +9,8 @@ import { getEmptyCosmosDiagnostics, withDiagnostics } from "../../utils/diagnost
9
9
  * @see {@link UserDefinedFunction} to read, replace, or delete a given User Defined Function by id.
10
10
  */
11
11
  export class UserDefinedFunctions {
12
+ container;
13
+ clientContext;
12
14
  /**
13
15
  * @hidden
14
16
  * @param container - The parent {@link Container}.
@@ -1 +1 @@
1
- {"version":3,"file":"UserDefinedFunctions.js","sourceRoot":"","sources":["../../../../src/client/UserDefinedFunction/UserDefinedFunctions.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,GACb,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAExF;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;;OAGG;IACH,YACkB,SAAoB,EACnB,aAA4B;QAD7B,cAAS,GAAT,SAAS,CAAW;QACnB,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAmCG,KAAK,CAAI,KAAmB,EAAE,OAAqB;QACxD,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE7C,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAClC,IAAI;gBACJ,YAAY,EAAE,YAAY,CAAC,GAAG;gBAC9B,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,oBAAoB;gBACjD,KAAK;gBACL,OAAO,EAAE,YAAY;gBACrB,cAAc;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,OAAO,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC,KAAK,CAA2C,SAAS,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACI,KAAK,CAAC,MAAM,CACjB,IAAmC,EACnC,OAAwB;QAExB,OAAO,eAAe,CAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAE7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAgC;gBAC9E,IAAI;gBACJ,IAAI;gBACJ,YAAY,EAAE,YAAY,CAAC,GAAG;gBAC9B,UAAU,EAAE,EAAE;gBACd,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5F,OAAO,IAAI,2BAA2B,CACpC,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,GAAG,EACH,yBAAyB,EAAE,CAC5B,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport {\n getIdFromLink,\n getPathFromLink,\n isResourceValid,\n ResourceType,\n} from \"../../common/index.js\";\nimport type { SqlQuerySpec } from \"../../queryExecutionContext/index.js\";\nimport { QueryIterator } from \"../../queryIterator.js\";\nimport type { FeedOptions, RequestOptions } from \"../../request/index.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport { UserDefinedFunction } from \"./UserDefinedFunction.js\";\nimport type { UserDefinedFunctionDefinition } from \"./UserDefinedFunctionDefinition.js\";\nimport { UserDefinedFunctionResponse } from \"./UserDefinedFunctionResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\n\n/**\n * Used to create, upsert, query, or read all User Defined Functions.\n *\n * @see {@link UserDefinedFunction} to read, replace, or delete a given User Defined Function by id.\n */\nexport class UserDefinedFunctions {\n /**\n * @hidden\n * @param container - The parent {@link Container}.\n */\n constructor(\n public readonly container: Container,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Query all User Defined Functions.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n */\n public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>;\n /**\n * Query all User Defined Functions.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @example\n * ```ts snippet:UserDefinedFunctionsQuery\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const querySpec = {\n * query: \"SELECT * FROM root r WHERE r.id=@id\",\n * parameters: [\n * {\n * name: \"@id\",\n * value: \"<udf-id>\",\n * },\n * ],\n * };\n * const { resources: results } = await container.scripts.userDefinedFunctions\n * .query(querySpec)\n * .fetchAll();\n * ```\n */\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>;\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T> {\n const path = getPathFromLink(this.container.url, ResourceType.udf);\n const id = getIdFromLink(this.container.url);\n\n return new QueryIterator(this.clientContext, query, options, (diagnosticNode, innerOptions) => {\n return this.clientContext.queryFeed({\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n resultFn: (result) => result.UserDefinedFunctions,\n query,\n options: innerOptions,\n diagnosticNode,\n });\n });\n }\n\n /**\n * Read all User Defined Functions.\n * @example Read all User Defined Functions to array.\n * ```ts snippet:UserDefinedFunctionsReadAll\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n *\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n *\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const { resources: udfList } = await container.scripts.userDefinedFunctions.readAll().fetchAll();\n * ```\n */\n public readAll(options?: FeedOptions): QueryIterator<UserDefinedFunctionDefinition & Resource> {\n return this.query<UserDefinedFunctionDefinition & Resource>(undefined, options);\n }\n\n /**\n * Create a UserDefinedFunction.\n *\n * Azure Cosmos DB supports JavaScript UDFs which can be used inside queries, stored procedures and triggers.\n *\n * For additional details, refer to the server-side JavaScript API documentation.\n * @example\n * ```ts snippet:UserDefinedFunctionsCreate\n * import { CosmosClient, UserDefinedFunctionDefinition } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const udfDefinition: UserDefinedFunctionDefinition = {\n * id: \"sample udf\",\n * body: \"function () { const x = 10; }\",\n * };\n *\n * const { resource: udf } = await container.scripts.userDefinedFunctions.create(udfDefinition);\n * ```\n */\n public async create(\n body: UserDefinedFunctionDefinition,\n options?: RequestOptions,\n ): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if (body.body) {\n body.body = body.body.toString();\n }\n\n const err = {};\n if (!isResourceValid(body, err)) {\n throw err;\n }\n\n const path = getPathFromLink(this.container.url, ResourceType.udf);\n const id = getIdFromLink(this.container.url);\n\n const response = await this.clientContext.create<UserDefinedFunctionDefinition>({\n body,\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n const ref = new UserDefinedFunction(this.container, response.result.id, this.clientContext);\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n ref,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
1
+ {"version":3,"file":"UserDefinedFunctions.js","sourceRoot":"","sources":["../../../../src/client/UserDefinedFunction/UserDefinedFunctions.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 { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport {\n getIdFromLink,\n getPathFromLink,\n isResourceValid,\n ResourceType,\n} from \"../../common/index.js\";\nimport type { SqlQuerySpec } from \"../../queryExecutionContext/index.js\";\nimport { QueryIterator } from \"../../queryIterator.js\";\nimport type { FeedOptions, RequestOptions } from \"../../request/index.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport { UserDefinedFunction } from \"./UserDefinedFunction.js\";\nimport type { UserDefinedFunctionDefinition } from \"./UserDefinedFunctionDefinition.js\";\nimport { UserDefinedFunctionResponse } from \"./UserDefinedFunctionResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\n\n/**\n * Used to create, upsert, query, or read all User Defined Functions.\n *\n * @see {@link UserDefinedFunction} to read, replace, or delete a given User Defined Function by id.\n */\nexport class UserDefinedFunctions {\n /**\n * @hidden\n * @param container - The parent {@link Container}.\n */\n constructor(\n public readonly container: Container,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Query all User Defined Functions.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n */\n public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>;\n /**\n * Query all User Defined Functions.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @example\n * ```ts snippet:UserDefinedFunctionsQuery\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const querySpec = {\n * query: \"SELECT * FROM root r WHERE r.id=@id\",\n * parameters: [\n * {\n * name: \"@id\",\n * value: \"<udf-id>\",\n * },\n * ],\n * };\n * const { resources: results } = await container.scripts.userDefinedFunctions\n * .query(querySpec)\n * .fetchAll();\n * ```\n */\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>;\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T> {\n const path = getPathFromLink(this.container.url, ResourceType.udf);\n const id = getIdFromLink(this.container.url);\n\n return new QueryIterator(this.clientContext, query, options, (diagnosticNode, innerOptions) => {\n return this.clientContext.queryFeed({\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n resultFn: (result) => result.UserDefinedFunctions,\n query,\n options: innerOptions,\n diagnosticNode,\n });\n });\n }\n\n /**\n * Read all User Defined Functions.\n * @example Read all User Defined Functions to array.\n * ```ts snippet:UserDefinedFunctionsReadAll\n * import { CosmosClient } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n *\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n *\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const { resources: udfList } = await container.scripts.userDefinedFunctions.readAll().fetchAll();\n * ```\n */\n public readAll(options?: FeedOptions): QueryIterator<UserDefinedFunctionDefinition & Resource> {\n return this.query<UserDefinedFunctionDefinition & Resource>(undefined, options);\n }\n\n /**\n * Create a UserDefinedFunction.\n *\n * Azure Cosmos DB supports JavaScript UDFs which can be used inside queries, stored procedures and triggers.\n *\n * For additional details, refer to the server-side JavaScript API documentation.\n * @example\n * ```ts snippet:UserDefinedFunctionsCreate\n * import { CosmosClient, UserDefinedFunctionDefinition } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const udfDefinition: UserDefinedFunctionDefinition = {\n * id: \"sample udf\",\n * body: \"function () { const x = 10; }\",\n * };\n *\n * const { resource: udf } = await container.scripts.userDefinedFunctions.create(udfDefinition);\n * ```\n */\n public async create(\n body: UserDefinedFunctionDefinition,\n options?: RequestOptions,\n ): Promise<UserDefinedFunctionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if (body.body) {\n body.body = body.body.toString();\n }\n\n const err = {};\n if (!isResourceValid(body, err)) {\n throw err;\n }\n\n const path = getPathFromLink(this.container.url, ResourceType.udf);\n const id = getIdFromLink(this.container.url);\n\n const response = await this.clientContext.create<UserDefinedFunctionDefinition>({\n body,\n path,\n resourceType: ResourceType.udf,\n resourceId: id,\n options,\n diagnosticNode,\n });\n const ref = new UserDefinedFunction(this.container, response.result.id, this.clientContext);\n return new UserDefinedFunctionResponse(\n response.result,\n response.headers,\n response.code,\n ref,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
@@ -12,11 +12,13 @@ import { getCurrentTimestampInMs } from "../utils/time.js";
12
12
  * get final CosmosDiagnostic object.
13
13
  */
14
14
  export class CosmosDiagnosticContext {
15
+ requestStartTimeUTCinMs;
16
+ failedAttempts = [];
17
+ metadataLookups = [];
18
+ gatewayStatistics = [];
19
+ locationEndpointsContacted = new Set();
20
+ encryptionDiagnostics;
15
21
  constructor() {
16
- this.failedAttempts = [];
17
- this.metadataLookups = [];
18
- this.gatewayStatistics = [];
19
- this.locationEndpointsContacted = new Set();
20
22
  this.requestStartTimeUTCinMs = getCurrentTimestampInMs();
21
23
  }
22
24
  recordFailedAttempt(gatewayStatistics, retryAttemptNumber) {
@@ -38,10 +40,9 @@ export class CosmosDiagnosticContext {
38
40
  this.gatewayStatistics.push(gatewayStatistics);
39
41
  }
40
42
  recordEncryptionDiagnostics(encryptionDiagnostics) {
41
- var _a, _b;
42
43
  const { encryptContent, decryptContent } = encryptionDiagnostics;
43
- const encryptionDuration = (_a = encryptContent[Constants.Encryption.DiagnosticsDuration]) !== null && _a !== void 0 ? _a : 0;
44
- const decryptionDuration = (_b = decryptContent[Constants.Encryption.DiagnosticsDuration]) !== null && _b !== void 0 ? _b : 0;
44
+ const encryptionDuration = encryptContent[Constants.Encryption.DiagnosticsDuration] ?? 0;
45
+ const decryptionDuration = decryptContent[Constants.Encryption.DiagnosticsDuration] ?? 0;
45
46
  encryptionDiagnostics.processingDurationInMs = encryptionDuration + decryptionDuration;
46
47
  this.encryptionDiagnostics = encryptionDiagnostics;
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CosmosDiagnosticsContext.js","sourceRoot":"","sources":["../../../src/diagnostics/CosmosDiagnosticsContext.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAS/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D;;;;;;;;GAQG;AACH,MAAM,OAAO,uBAAuB;IAQlC;QANQ,mBAAc,GAAqC,EAAE,CAAC;QACtD,oBAAe,GAA+B,EAAE,CAAC;QACjD,sBAAiB,GAAwB,EAAE,CAAC;QAC7C,+BAA0B,GAAgB,IAAI,GAAG,EAAE,CAAC;QAIzD,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;IAC3D,CAAC;IAEM,mBAAmB,CACxB,iBAAoC,EACpC,kBAA0B;QAE1B,MAAM,OAAO,GAAmC;YAC9C,aAAa,EAAE,kBAAkB;YACjC,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;YACpD,YAAY,EAAE,iBAAiB,CAAC,YAAY;YAC5C,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,2BAA2B,EAAE,iBAAiB,CAAC,2BAA2B;YAC1E,4BAA4B,EAAE,iBAAiB,CAAC,4BAA4B;YAC5E,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,aAAa,EAAE,iBAAiB,CAAC,aAAa;YAC9C,YAAY,EAAE,iBAAiB,CAAC,YAAY;SAC7C,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,iBAAiB,CAAC,iBAAoC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAEM,2BAA2B,CAAC,qBAA4C;;QAC7E,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,qBAAqB,CAAC;QACjE,MAAM,kBAAkB,GAAG,MAAA,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,mCAAI,CAAC,CAAC;QACzF,MAAM,kBAAkB,GAAG,MAAA,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,mBAAmB,CAAC,mCAAI,CAAC,CAAC;QAEzF,qBAAqB,CAAC,sBAAsB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;QACvF,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,gBAAgB,CACrB,gBAAyC,EACzC,YAAgC;QAEhC,qCAAqC;QACrC,gBAAgB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC9C,CAAC;QAEF,qEAAqE;QACrE,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,2BAA2B,EAAE,OAAO,CAAC,2BAA2B;YAChE,4BAA4B,EAAE,OAAO,CAAC,4BAA4B;YAClE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,YAAY;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,gBAAyC;QACnE,qCAAqC;QACrC,gBAAgB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/D,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAC9C,CAAC;QAEF,uEAAuE;QACvE,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9F,6CAA6C;QAC7C,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACxF,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC;QACtE,CAAC;aAAM,IAAI,gBAAgB,CAAC,qBAAqB,EAAE,CAAC;YAClD,IAAI,CAAC,qBAAqB,CAAC,cAAc;gBACvC,gBAAgB,CAAC,qBAAqB,CAAC,cAAc,CAAC;YACxD,IAAI,CAAC,qBAAqB,CAAC,sBAAsB;gBAC/C,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,IAAI,CAAC,CAAC;oBACxD,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEM,kBAAkB,CACvB,iBAAyB,uBAAuB,EAAE;QAElD,OAAO;YACL,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;YACrD,mBAAmB,EAAE,cAAc,GAAG,IAAI,CAAC,uBAAuB;YAClE,gCAAgC,EAAE,IAAI,CAAC,4BAA4B,EAAE;YACrE,iCAAiC,EAAE,IAAI,CAAC,6BAA6B,EAAE;YACvE,0BAA0B,EAAE,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC;YACzE,mBAAmB,EAAE;gBACnB,eAAe,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;aAC3C;YACD,gBAAgB,EAAE;gBAChB,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;aACzC;YACD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;IACJ,CAAC;IAEM,4BAA4B;QACjC,IAAI,yBAAyB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,yBAAyB,IAAI,GAAG,CAAC,2BAA2B,CAAC,CACxE,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,yBAAyB,IAAI,GAAG,CAAC,2BAA2B,CAAC,CACxE,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,OAAO,CACzB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,yBAAyB,IAAI,GAAG,CAAC,2BAA2B,CAAC,CACxE,CAAC;QACF,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAEM,6BAA6B;QAClC,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,0BAA0B,IAAI,GAAG,CAAC,4BAA4B,CAAC,CAC1E,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAC1B,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,0BAA0B,IAAI,GAAG,CAAC,4BAA4B,CAAC,CAC1E,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,OAAO,CACzB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,0BAA0B,IAAI,GAAG,CAAC,4BAA4B,CAAC,CAC1E,CAAC;QACF,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAEM,wBAAwB,CAAC,QAAgB;QAC9C,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Constants } from \"../common/index.js\";\nimport type {\n ClientSideRequestStatistics,\n EncryptionDiagnostics,\n FailedRequestAttemptDiagnostic,\n GatewayStatistics,\n MetadataLookUpDiagnostic,\n MetadataLookUpType,\n} from \"../CosmosDiagnostics.js\";\nimport { getCurrentTimestampInMs } from \"../utils/time.js\";\n/**\n * @hidden\n * Internal class to hold CosmosDiagnostic aggregate information all through the lifecycle of a request.\n * This object gathers diagnostic information throughout Client operation which may span across multiple\n * Server call, retries etc.\n * Functions - recordFailedAttempt, recordMetaDataQuery, recordEndpointContactEvent are used to ingest\n * data into the context. At the end of operation, getDiagnostics() is used to\n * get final CosmosDiagnostic object.\n */\nexport class CosmosDiagnosticContext {\n private requestStartTimeUTCinMs: number;\n private failedAttempts: FailedRequestAttemptDiagnostic[] = [];\n private metadataLookups: MetadataLookUpDiagnostic[] = [];\n private gatewayStatistics: GatewayStatistics[] = [];\n public locationEndpointsContacted: Set<string> = new Set();\n encryptionDiagnostics: EncryptionDiagnostics;\n\n public constructor() {\n this.requestStartTimeUTCinMs = getCurrentTimestampInMs();\n }\n\n public recordFailedAttempt(\n gatewayStatistics: GatewayStatistics,\n retryAttemptNumber: number,\n ): void {\n const attempt: FailedRequestAttemptDiagnostic = {\n attemptNumber: retryAttemptNumber,\n startTimeUTCInMs: gatewayStatistics.startTimeUTCInMs,\n durationInMs: gatewayStatistics.durationInMs,\n statusCode: gatewayStatistics.statusCode,\n substatusCode: gatewayStatistics.subStatusCode,\n requestPayloadLengthInBytes: gatewayStatistics.requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: gatewayStatistics.responsePayloadLengthInBytes,\n activityId: gatewayStatistics.activityId,\n operationType: gatewayStatistics.operationType,\n resourceType: gatewayStatistics.resourceType,\n };\n this.failedAttempts.push(attempt);\n }\n\n public recordNetworkCall(gatewayStatistics: GatewayStatistics): void {\n this.gatewayStatistics.push(gatewayStatistics);\n }\n\n public recordEncryptionDiagnostics(encryptionDiagnostics: EncryptionDiagnostics): void {\n const { encryptContent, decryptContent } = encryptionDiagnostics;\n const encryptionDuration = encryptContent[Constants.Encryption.DiagnosticsDuration] ?? 0;\n const decryptionDuration = decryptContent[Constants.Encryption.DiagnosticsDuration] ?? 0;\n\n encryptionDiagnostics.processingDurationInMs = encryptionDuration + decryptionDuration;\n this.encryptionDiagnostics = encryptionDiagnostics;\n }\n\n /**\n * Merge given DiagnosticContext to current node's DiagnosticContext, Treating GatewayRequests of\n * given DiagnosticContext, as metadata requests.\n */\n public mergeDiagnostics(\n childDiagnostics: CosmosDiagnosticContext,\n metadataType: MetadataLookUpType,\n ): void {\n // Copy Location endpoints contacted.\n childDiagnostics.locationEndpointsContacted.forEach((endpoint) =>\n this.locationEndpointsContacted.add(endpoint),\n );\n\n // Copy child nodes's GatewayStatistics to parent's metadata lookups.\n childDiagnostics.gatewayStatistics.forEach((gateway) =>\n this.metadataLookups.push({\n activityId: gateway.activityId,\n requestPayloadLengthInBytes: gateway.requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: gateway.responsePayloadLengthInBytes,\n startTimeUTCInMs: gateway.startTimeUTCInMs,\n operationType: gateway.operationType,\n resourceType: gateway.resourceType,\n durationInMs: gateway.durationInMs,\n metaDataType: metadataType,\n }),\n );\n }\n\n /**\n * Merge given DiagnosticContext to current node's DiagnosticContext for bulk\n */\n public mergeBulkDiagnostics(childDiagnostics: CosmosDiagnosticContext): void {\n // Copy Location endpoints contacted.\n childDiagnostics.locationEndpointsContacted.forEach((endpoint) =>\n this.locationEndpointsContacted.add(endpoint),\n );\n\n // Copy child nodes's GatewayStatistics to parent's gateway statistics.\n childDiagnostics.gatewayStatistics.forEach((gateway) => this.gatewayStatistics.push(gateway));\n // merge metadata lookups and failed attempts\n childDiagnostics.metadataLookups.forEach((lookup) => this.metadataLookups.push(lookup));\n childDiagnostics.failedAttempts.forEach((lookup) => this.failedAttempts.push(lookup));\n\n if (!this.encryptionDiagnostics) {\n this.encryptionDiagnostics = childDiagnostics.encryptionDiagnostics;\n } else if (childDiagnostics.encryptionDiagnostics) {\n this.encryptionDiagnostics.decryptContent =\n childDiagnostics.encryptionDiagnostics.decryptContent;\n this.encryptionDiagnostics.processingDurationInMs =\n (this.encryptionDiagnostics.processingDurationInMs || 0) +\n (childDiagnostics.encryptionDiagnostics.processingDurationInMs || 0);\n }\n }\n\n public getClientSideStats(\n endTimeUTCInMs: number = getCurrentTimestampInMs(),\n ): ClientSideRequestStatistics {\n return {\n requestStartTimeUTCInMs: this.requestStartTimeUTCinMs,\n requestDurationInMs: endTimeUTCInMs - this.requestStartTimeUTCinMs,\n totalRequestPayloadLengthInBytes: this.getTotalRequestPayloadLength(),\n totalResponsePayloadLengthInBytes: this.getTotalResponsePayloadLength(),\n locationEndpointsContacted: [...this.locationEndpointsContacted.values()],\n metadataDiagnostics: {\n metadataLookups: [...this.metadataLookups],\n },\n retryDiagnostics: {\n failedAttempts: [...this.failedAttempts],\n },\n gatewayStatistics: this.gatewayStatistics,\n encryptionDiagnostics: this.encryptionDiagnostics,\n };\n }\n\n public getTotalRequestPayloadLength(): number {\n let totalRequestPayloadLength = 0;\n this.gatewayStatistics.forEach(\n (req) => (totalRequestPayloadLength += req.requestPayloadLengthInBytes),\n );\n this.metadataLookups.forEach(\n (req) => (totalRequestPayloadLength += req.requestPayloadLengthInBytes),\n );\n this.failedAttempts.forEach(\n (req) => (totalRequestPayloadLength += req.requestPayloadLengthInBytes),\n );\n return totalRequestPayloadLength;\n }\n\n public getTotalResponsePayloadLength(): number {\n let totalResponsePayloadLength = 0;\n this.gatewayStatistics.forEach(\n (req) => (totalResponsePayloadLength += req.responsePayloadLengthInBytes),\n );\n this.metadataLookups.forEach(\n (req) => (totalResponsePayloadLength += req.responsePayloadLengthInBytes),\n );\n this.failedAttempts.forEach(\n (req) => (totalResponsePayloadLength += req.responsePayloadLengthInBytes),\n );\n return totalResponsePayloadLength;\n }\n\n public recordEndpointResolution(location: string): void {\n this.locationEndpointsContacted.add(location);\n }\n}\n"]}
1
+ {"version":3,"file":"CosmosDiagnosticsContext.js","sourceRoot":"","sources":["../../../src/diagnostics/CosmosDiagnosticsContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Constants } from \"../common/index.js\";\nimport type {\n ClientSideRequestStatistics,\n EncryptionDiagnostics,\n FailedRequestAttemptDiagnostic,\n GatewayStatistics,\n MetadataLookUpDiagnostic,\n MetadataLookUpType,\n} from \"../CosmosDiagnostics.js\";\nimport { getCurrentTimestampInMs } from \"../utils/time.js\";\n/**\n * @hidden\n * Internal class to hold CosmosDiagnostic aggregate information all through the lifecycle of a request.\n * This object gathers diagnostic information throughout Client operation which may span across multiple\n * Server call, retries etc.\n * Functions - recordFailedAttempt, recordMetaDataQuery, recordEndpointContactEvent are used to ingest\n * data into the context. At the end of operation, getDiagnostics() is used to\n * get final CosmosDiagnostic object.\n */\nexport class CosmosDiagnosticContext {\n private requestStartTimeUTCinMs: number;\n private failedAttempts: FailedRequestAttemptDiagnostic[] = [];\n private metadataLookups: MetadataLookUpDiagnostic[] = [];\n private gatewayStatistics: GatewayStatistics[] = [];\n public locationEndpointsContacted: Set<string> = new Set();\n encryptionDiagnostics: EncryptionDiagnostics;\n\n public constructor() {\n this.requestStartTimeUTCinMs = getCurrentTimestampInMs();\n }\n\n public recordFailedAttempt(\n gatewayStatistics: GatewayStatistics,\n retryAttemptNumber: number,\n ): void {\n const attempt: FailedRequestAttemptDiagnostic = {\n attemptNumber: retryAttemptNumber,\n startTimeUTCInMs: gatewayStatistics.startTimeUTCInMs,\n durationInMs: gatewayStatistics.durationInMs,\n statusCode: gatewayStatistics.statusCode,\n substatusCode: gatewayStatistics.subStatusCode,\n requestPayloadLengthInBytes: gatewayStatistics.requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: gatewayStatistics.responsePayloadLengthInBytes,\n activityId: gatewayStatistics.activityId,\n operationType: gatewayStatistics.operationType,\n resourceType: gatewayStatistics.resourceType,\n };\n this.failedAttempts.push(attempt);\n }\n\n public recordNetworkCall(gatewayStatistics: GatewayStatistics): void {\n this.gatewayStatistics.push(gatewayStatistics);\n }\n\n public recordEncryptionDiagnostics(encryptionDiagnostics: EncryptionDiagnostics): void {\n const { encryptContent, decryptContent } = encryptionDiagnostics;\n const encryptionDuration = encryptContent[Constants.Encryption.DiagnosticsDuration] ?? 0;\n const decryptionDuration = decryptContent[Constants.Encryption.DiagnosticsDuration] ?? 0;\n\n encryptionDiagnostics.processingDurationInMs = encryptionDuration + decryptionDuration;\n this.encryptionDiagnostics = encryptionDiagnostics;\n }\n\n /**\n * Merge given DiagnosticContext to current node's DiagnosticContext, Treating GatewayRequests of\n * given DiagnosticContext, as metadata requests.\n */\n public mergeDiagnostics(\n childDiagnostics: CosmosDiagnosticContext,\n metadataType: MetadataLookUpType,\n ): void {\n // Copy Location endpoints contacted.\n childDiagnostics.locationEndpointsContacted.forEach((endpoint) =>\n this.locationEndpointsContacted.add(endpoint),\n );\n\n // Copy child nodes's GatewayStatistics to parent's metadata lookups.\n childDiagnostics.gatewayStatistics.forEach((gateway) =>\n this.metadataLookups.push({\n activityId: gateway.activityId,\n requestPayloadLengthInBytes: gateway.requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: gateway.responsePayloadLengthInBytes,\n startTimeUTCInMs: gateway.startTimeUTCInMs,\n operationType: gateway.operationType,\n resourceType: gateway.resourceType,\n durationInMs: gateway.durationInMs,\n metaDataType: metadataType,\n }),\n );\n }\n\n /**\n * Merge given DiagnosticContext to current node's DiagnosticContext for bulk\n */\n public mergeBulkDiagnostics(childDiagnostics: CosmosDiagnosticContext): void {\n // Copy Location endpoints contacted.\n childDiagnostics.locationEndpointsContacted.forEach((endpoint) =>\n this.locationEndpointsContacted.add(endpoint),\n );\n\n // Copy child nodes's GatewayStatistics to parent's gateway statistics.\n childDiagnostics.gatewayStatistics.forEach((gateway) => this.gatewayStatistics.push(gateway));\n // merge metadata lookups and failed attempts\n childDiagnostics.metadataLookups.forEach((lookup) => this.metadataLookups.push(lookup));\n childDiagnostics.failedAttempts.forEach((lookup) => this.failedAttempts.push(lookup));\n\n if (!this.encryptionDiagnostics) {\n this.encryptionDiagnostics = childDiagnostics.encryptionDiagnostics;\n } else if (childDiagnostics.encryptionDiagnostics) {\n this.encryptionDiagnostics.decryptContent =\n childDiagnostics.encryptionDiagnostics.decryptContent;\n this.encryptionDiagnostics.processingDurationInMs =\n (this.encryptionDiagnostics.processingDurationInMs || 0) +\n (childDiagnostics.encryptionDiagnostics.processingDurationInMs || 0);\n }\n }\n\n public getClientSideStats(\n endTimeUTCInMs: number = getCurrentTimestampInMs(),\n ): ClientSideRequestStatistics {\n return {\n requestStartTimeUTCInMs: this.requestStartTimeUTCinMs,\n requestDurationInMs: endTimeUTCInMs - this.requestStartTimeUTCinMs,\n totalRequestPayloadLengthInBytes: this.getTotalRequestPayloadLength(),\n totalResponsePayloadLengthInBytes: this.getTotalResponsePayloadLength(),\n locationEndpointsContacted: [...this.locationEndpointsContacted.values()],\n metadataDiagnostics: {\n metadataLookups: [...this.metadataLookups],\n },\n retryDiagnostics: {\n failedAttempts: [...this.failedAttempts],\n },\n gatewayStatistics: this.gatewayStatistics,\n encryptionDiagnostics: this.encryptionDiagnostics,\n };\n }\n\n public getTotalRequestPayloadLength(): number {\n let totalRequestPayloadLength = 0;\n this.gatewayStatistics.forEach(\n (req) => (totalRequestPayloadLength += req.requestPayloadLengthInBytes),\n );\n this.metadataLookups.forEach(\n (req) => (totalRequestPayloadLength += req.requestPayloadLengthInBytes),\n );\n this.failedAttempts.forEach(\n (req) => (totalRequestPayloadLength += req.requestPayloadLengthInBytes),\n );\n return totalRequestPayloadLength;\n }\n\n public getTotalResponsePayloadLength(): number {\n let totalResponsePayloadLength = 0;\n this.gatewayStatistics.forEach(\n (req) => (totalResponsePayloadLength += req.responsePayloadLengthInBytes),\n );\n this.metadataLookups.forEach(\n (req) => (totalResponsePayloadLength += req.responsePayloadLengthInBytes),\n );\n this.failedAttempts.forEach(\n (req) => (totalResponsePayloadLength += req.responsePayloadLengthInBytes),\n );\n return totalResponsePayloadLength;\n }\n\n public recordEndpointResolution(location: string): void {\n this.locationEndpointsContacted.add(location);\n }\n}\n"]}
@@ -15,6 +15,16 @@ import { randomUUID } from "@azure/core-util";
15
15
  * The functions toDiagnosticNode() & toDiagnostic() are given to convert it to public facing counterpart.
16
16
  */
17
17
  export class DiagnosticNodeInternal {
18
+ id;
19
+ nodeType;
20
+ parent;
21
+ children;
22
+ data;
23
+ startTimeUTCInMs;
24
+ durationInMs;
25
+ diagnosticLevel;
26
+ diagnosticCtx;
27
+ encryptionDiagnostics;
18
28
  /**
19
29
  * @internal
20
30
  */
@@ -81,7 +91,13 @@ export class DiagnosticNodeInternal {
81
91
  requestPayloadLengthInBytes: gatewayRequest.requestPayloadLengthInBytes,
82
92
  };
83
93
  if (allowTracing(CosmosDbDiagnosticLevel.debugUnsafe, this.diagnosticLevel)) {
84
- requestData = Object.assign(Object.assign({}, requestData), { headers: this.sanitizeHeaders(requestContext.headers), requestBody: requestContext.body, responseBody: pipelineResponse.bodyAsText, url: url });
94
+ requestData = {
95
+ ...requestData,
96
+ headers: this.sanitizeHeaders(requestContext.headers),
97
+ requestBody: requestContext.body,
98
+ responseBody: pipelineResponse.bodyAsText,
99
+ url: url,
100
+ };
85
101
  }
86
102
  this.addData({
87
103
  requestPayloadLengthInBytes: gatewayRequest.requestPayloadLengthInBytes,
@@ -116,7 +132,12 @@ export class DiagnosticNodeInternal {
116
132
  requestPayloadLengthInBytes,
117
133
  };
118
134
  if (allowTracing(CosmosDbDiagnosticLevel.debugUnsafe, this.diagnosticLevel)) {
119
- requestData = Object.assign(Object.assign({}, requestData), { headers: this.sanitizeHeaders(requestContext.headers), requestBody: requestContext.body, url: prepareURL(requestContext.endpoint, requestContext.path) });
135
+ requestData = {
136
+ ...requestData,
137
+ headers: this.sanitizeHeaders(requestContext.headers),
138
+ requestBody: requestContext.body,
139
+ url: prepareURL(requestContext.endpoint, requestContext.path),
140
+ };
120
141
  }
121
142
  this.addData({
122
143
  failedAttempty: true,
@@ -135,7 +156,7 @@ export class DiagnosticNodeInternal {
135
156
  */
136
157
  addData(data, msg, level = this.diagnosticLevel) {
137
158
  if (level !== CosmosDbDiagnosticLevel.info) {
138
- this.data = Object.assign(Object.assign({}, this.data), data);
159
+ this.data = { ...this.data, ...data };
139
160
  if (msg) {
140
161
  this.addLog(msg);
141
162
  }
@@ -184,9 +205,8 @@ export class DiagnosticNodeInternal {
184
205
  * @internal
185
206
  */
186
207
  recordQueryResult(resources, level) {
187
- var _a;
188
208
  if (allowTracing(level, this.diagnosticLevel)) {
189
- const previousCount = (_a = this.data.queryRecordsRead) !== null && _a !== void 0 ? _a : 0;
209
+ const previousCount = this.data.queryRecordsRead ?? 0;
190
210
  if (Array.isArray(resources)) {
191
211
  this.data.queryRecordsRead = previousCount + resources.length;
192
212
  }
@@ -291,8 +311,7 @@ export var DiagnosticNodeType;
291
311
  DiagnosticNodeType["REQUEST_ATTEMPTS"] = "REQUEST_ATTEMPTS";
292
312
  })(DiagnosticNodeType || (DiagnosticNodeType = {}));
293
313
  function calculateResponsePayloadLength(response) {
294
- var _a;
295
- return ((_a = response === null || response === void 0 ? void 0 : response.bodyAsText) === null || _a === void 0 ? void 0 : _a.length) || 0;
314
+ return response?.bodyAsText?.length || 0;
296
315
  }
297
316
  function calculateRequestPayloadLength(requestContext) {
298
317
  return requestContext.body ? requestContext.body.length : 0;
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticNodeInternal.js","sourceRoot":"","sources":["../../../src/diagnostics/DiagnosticNodeInternal.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CosmosDiagnosticContext } from \"./CosmosDiagnosticsContext.js\";\nimport { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport {\n DiagnosticNode,\n EncryptionDiagnostics,\n MetadataLookUpType,\n ClientConfigDiagnostic,\n} from \"../CosmosDiagnostics.js\";\nimport { CosmosDiagnostics, getRootNode } from \"../CosmosDiagnostics.js\";\nimport { getCurrentTimestampInMs } from \"../utils/time.js\";\nimport { CosmosDbDiagnosticLevel } from \"./CosmosDbDiagnosticLevel.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/CosmosHeaders.js\";\nimport type { HttpHeaders, PipelineResponse } from \"@azure/core-rest-pipeline\";\nimport type { OperationType, ResourceType } from \"../common/index.js\";\nimport { Constants, prepareURL } from \"../common/index.js\";\nimport { allowTracing } from \"./diagnosticLevelComparator.js\";\nimport { randomUUID } from \"@azure/core-util\";\n\n/**\n * @hidden\n * This is Internal Representation for DiagnosticNode. It contains useful helper functions to collect\n * diagnostic information throughout the lifetime of Diagnostic session.\n * The functions toDiagnosticNode() & toDiagnostic() are given to convert it to public facing counterpart.\n */\nexport class DiagnosticNodeInternal implements DiagnosticNode {\n public id: string;\n public nodeType: DiagnosticNodeType;\n public parent: DiagnosticNodeInternal;\n public children: DiagnosticNodeInternal[];\n public data: Partial<DiagnosticDataValue>;\n public startTimeUTCInMs: number;\n public durationInMs: number;\n public diagnosticLevel: CosmosDbDiagnosticLevel;\n private diagnosticCtx: CosmosDiagnosticContext;\n private encryptionDiagnostics: EncryptionDiagnostics;\n\n /**\n * @internal\n */\n constructor(\n diagnosticLevel: CosmosDbDiagnosticLevel,\n type: DiagnosticNodeType,\n parent: DiagnosticNodeInternal,\n data: Partial<DiagnosticDataValue> = {},\n startTimeUTCInMs: number = getCurrentTimestampInMs(),\n ctx: CosmosDiagnosticContext = new CosmosDiagnosticContext(),\n ) {\n this.id = randomUUID();\n this.nodeType = type;\n this.startTimeUTCInMs = startTimeUTCInMs;\n this.data = data;\n this.children = [];\n this.durationInMs = 0;\n this.parent = parent;\n this.diagnosticCtx = ctx;\n this.diagnosticLevel = diagnosticLevel;\n\n // Initialize EncryptionDiagnostics\n this.encryptionDiagnostics = {\n encryptContent: {},\n decryptContent: {},\n processingDurationInMs: 0,\n };\n }\n\n /**\n * @internal\n */\n private addLog(msg: string): void {\n if (!this.data.log) {\n this.data.log = [];\n }\n this.data.log.push(msg);\n }\n\n /**\n * @internal\n */\n private sanitizeHeaders(headers?: CosmosHeaders | HttpHeaders): CosmosHeaders | HttpHeaders {\n return headers;\n }\n\n /**\n * Updated durationInMs for node, based on endTimeUTCInMs provided.\n * @internal\n */\n public updateTimestamp(endTimeUTCInMs: number = getCurrentTimestampInMs()): void {\n this.durationInMs = endTimeUTCInMs - this.startTimeUTCInMs;\n }\n\n /**\n * @internal\n */\n public recordSuccessfulNetworkCall(\n startTimeUTCInMs: number,\n requestContext: RequestContext,\n pipelineResponse: PipelineResponse,\n substatus: number,\n url: string,\n ): void {\n const responseHeaders = pipelineResponse.headers.toJSON();\n const gatewayRequest = {\n activityId: responseHeaders[Constants.HttpHeaders.ActivityId],\n correlateActivityId: requestContext.headers[Constants.HttpHeaders.CorrelatedActivityId],\n startTimeUTCInMs,\n durationInMs: getCurrentTimestampInMs() - startTimeUTCInMs,\n statusCode: pipelineResponse.status,\n subStatusCode: substatus,\n requestPayloadLengthInBytes: calculateRequestPayloadLength(requestContext),\n responsePayloadLengthInBytes: calculateResponsePayloadLength(pipelineResponse),\n operationType: requestContext.operationType,\n resourceType: requestContext.resourceType,\n partitionKeyRangeId: requestContext.partitionKeyRangeId,\n };\n let requestData: any = {\n OperationType: gatewayRequest.operationType,\n resourceType: gatewayRequest.resourceType,\n requestPayloadLengthInBytes: gatewayRequest.requestPayloadLengthInBytes,\n };\n\n if (allowTracing(CosmosDbDiagnosticLevel.debugUnsafe, this.diagnosticLevel)) {\n requestData = {\n ...requestData,\n headers: this.sanitizeHeaders(requestContext.headers),\n requestBody: requestContext.body,\n responseBody: pipelineResponse.bodyAsText,\n url: url,\n };\n }\n this.addData({\n requestPayloadLengthInBytes: gatewayRequest.requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: gatewayRequest.responsePayloadLengthInBytes,\n startTimeUTCInMs: gatewayRequest.startTimeUTCInMs,\n durationInMs: gatewayRequest.durationInMs,\n requestData,\n });\n this.diagnosticCtx.recordNetworkCall(gatewayRequest);\n }\n\n /**\n * @internal\n */\n public recordFailedNetworkCall(\n startTimeUTCInMs: number,\n requestContext: RequestContext,\n retryAttemptNumber: number,\n statusCode: number,\n substatusCode: number,\n responseHeaders: CosmosHeaders,\n ): void {\n this.addData({ failedAttempty: true });\n const requestPayloadLengthInBytes = calculateRequestPayloadLength(requestContext);\n this.diagnosticCtx.recordFailedAttempt(\n {\n activityId: responseHeaders[Constants.HttpHeaders.ActivityId] as string,\n correlatedActivityId: requestContext.headers[\n Constants.HttpHeaders.CorrelatedActivityId\n ] as string,\n startTimeUTCInMs,\n durationInMs: getCurrentTimestampInMs() - startTimeUTCInMs,\n statusCode,\n subStatusCode: substatusCode,\n requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: 0,\n operationType: requestContext.operationType,\n resourceType: requestContext.resourceType,\n },\n retryAttemptNumber,\n );\n let requestData: any = {\n OperationType: requestContext.operationType,\n resourceType: requestContext.resourceType,\n requestPayloadLengthInBytes,\n };\n if (allowTracing(CosmosDbDiagnosticLevel.debugUnsafe, this.diagnosticLevel)) {\n requestData = {\n ...requestData,\n headers: this.sanitizeHeaders(requestContext.headers),\n requestBody: requestContext.body,\n url: prepareURL(requestContext.endpoint, requestContext.path),\n };\n }\n this.addData({\n failedAttempty: true,\n requestData,\n });\n }\n\n /**\n * @internal\n */\n public recordEndpointResolution(location: string): void {\n this.addData({ selectedLocation: location });\n this.diagnosticCtx.recordEndpointResolution(location);\n }\n\n /**\n * @internal\n */\n public addData(\n data: Partial<DiagnosticDataValue>,\n msg?: string,\n level: CosmosDbDiagnosticLevel = this.diagnosticLevel,\n ): void {\n if (level !== CosmosDbDiagnosticLevel.info) {\n this.data = { ...this.data, ...data };\n if (msg) {\n this.addLog(msg);\n }\n }\n }\n\n /**\n * Merge given DiagnosticNodeInternal's context to current node's DiagnosticContext, Treating GatewayRequests of\n * given DiagnosticContext, as metadata requests. Given DiagnosticNodeInternal becomes a child of this node.\n * @internal\n */\n public addChildNode(\n child: DiagnosticNodeInternal,\n level: CosmosDbDiagnosticLevel,\n metadataType?: MetadataLookUpType,\n ): DiagnosticNodeInternal {\n this.diagnosticCtx.mergeDiagnostics(child.diagnosticCtx, metadataType);\n if (allowTracing(level, this.diagnosticLevel)) {\n child.parent = this;\n this.children.push(child);\n }\n return child;\n }\n\n /**\n * Merge given DiagnosticNodeInternal's context to current node's DiagnosticContext for bulk.\n * Given DiagnosticNodeInternal becomes a child of this node.\n * @internal\n */\n public addBulkChildNode(\n child: DiagnosticNodeInternal,\n level: CosmosDbDiagnosticLevel,\n ): DiagnosticNodeInternal {\n this.diagnosticCtx.mergeBulkDiagnostics(child.diagnosticCtx);\n if (allowTracing(level, this.diagnosticLevel)) {\n child.parent = this;\n this.children.push(child);\n }\n return child;\n }\n\n /**\n * @internal\n */\n public initializeChildNode(\n type: DiagnosticNodeType,\n level: CosmosDbDiagnosticLevel,\n data: Partial<DiagnosticDataValue> = {},\n ): DiagnosticNodeInternal {\n if (allowTracing(level, this.diagnosticLevel)) {\n const child = new DiagnosticNodeInternal(\n this.diagnosticLevel,\n type,\n this,\n data,\n getCurrentTimestampInMs(),\n this.diagnosticCtx,\n );\n this.children.push(child);\n return child;\n } else {\n return this;\n }\n }\n\n /**\n * @internal\n */\n public recordQueryResult(resources: unknown, level: CosmosDbDiagnosticLevel): void {\n if (allowTracing(level, this.diagnosticLevel)) {\n const previousCount = this.data.queryRecordsRead ?? 0;\n if (Array.isArray(resources)) {\n this.data.queryRecordsRead = previousCount + resources.length;\n }\n }\n }\n\n /**\n * @internal\n * record startTime for encryption in an operation\n */\n public beginEncryptionDiagnostics(operation: string): void {\n const startTime = getCurrentTimestampInMs();\n switch (operation) {\n case Constants.Encryption.DiagnosticsEncryptOperation:\n this.encryptionDiagnostics.encryptContent[Constants.Encryption.DiagnosticsStartTime] =\n startTime;\n break;\n case Constants.Encryption.DiagnosticsDecryptOperation:\n this.encryptionDiagnostics.decryptContent[Constants.Encryption.DiagnosticsStartTime] =\n startTime;\n break;\n default:\n throw new ErrorResponse(\"Invalid operation type for encryption diagnostics\");\n }\n }\n /**\n * @internal\n * record duration from startTime and properties count for encryption in an operation\n */\n public endEncryptionDiagnostics(operation: string, propertiesCount?: number): void {\n const endTime = getCurrentTimestampInMs();\n let processingDuration = 0;\n switch (operation) {\n case Constants.Encryption.DiagnosticsEncryptOperation:\n processingDuration =\n endTime -\n this.encryptionDiagnostics.encryptContent[Constants.Encryption.DiagnosticsStartTime];\n this.encryptionDiagnostics.encryptContent[Constants.Encryption.DiagnosticsDuration] =\n processingDuration;\n // will be undefined in case of bulk/batch\n if (propertiesCount !== undefined) {\n this.encryptionDiagnostics.encryptContent[\n Constants.Encryption.DiagnosticsPropertiesEncryptedCount\n ] = propertiesCount;\n }\n break;\n\n case Constants.Encryption.DiagnosticsDecryptOperation:\n processingDuration =\n endTime -\n this.encryptionDiagnostics.decryptContent[Constants.Encryption.DiagnosticsStartTime];\n this.encryptionDiagnostics.decryptContent[Constants.Encryption.DiagnosticsDuration] =\n processingDuration;\n if (propertiesCount !== undefined) {\n this.encryptionDiagnostics.decryptContent[\n Constants.Encryption.DiagnosticsPropertiesDecryptedCount\n ] = propertiesCount;\n }\n break;\n default:\n throw new ErrorResponse(\"Invalid operation type for encryption diagnostics\");\n }\n this.diagnosticCtx.recordEncryptionDiagnostics(this.encryptionDiagnostics);\n }\n\n /**\n * Convert DiagnosticNodeInternal (internal representation) to DiagnosticNode (public, sanitized representation)\n * @internal\n */\n public toDiagnosticNode(): DiagnosticNode {\n return {\n id: this.id,\n nodeType: this.nodeType,\n children: this.children.map((child) => child.toDiagnosticNode()),\n data: this.data,\n startTimeUTCInMs: this.startTimeUTCInMs,\n durationInMs: this.durationInMs,\n };\n }\n\n /**\n * Convert to CosmosDiagnostics\n * @internal\n */\n public toDiagnostic(clientConfigDiagnostic: ClientConfigDiagnostic): CosmosDiagnostics {\n const rootNode = getRootNode(this);\n const diagnostiNode = allowTracing(CosmosDbDiagnosticLevel.debug, this.diagnosticLevel)\n ? rootNode.toDiagnosticNode()\n : undefined;\n const clientConfig = allowTracing(CosmosDbDiagnosticLevel.debug, this.diagnosticLevel)\n ? clientConfigDiagnostic\n : undefined;\n const cosmosDiagnostic = new CosmosDiagnostics(\n this.diagnosticCtx.getClientSideStats(),\n diagnostiNode,\n clientConfig,\n );\n return cosmosDiagnostic;\n }\n}\n\n/**\n * @hidden\n */\nexport type DiagnosticDataValue = {\n selectedLocation: string;\n activityId: string;\n requestAttempNumber: number;\n requestPayloadLengthInBytes: number;\n responsePayloadLengthInBytes: number;\n responseStatus: number;\n readFromCache: boolean;\n operationType: OperationType;\n metadatOperationType: MetadataLookUpType;\n resourceType: ResourceType;\n failedAttempty: boolean;\n successfulRetryPolicy: string;\n partitionKeyRangeId: string;\n stateful: boolean;\n queryRecordsRead: number;\n queryMethodIdentifier: string;\n log: string[];\n failure: boolean;\n startTimeUTCInMs: number;\n durationInMs: number;\n requestData: Partial<{\n requestPayloadLengthInBytes: number;\n responsePayloadLengthInBytes: number;\n operationType: OperationType;\n resourceType: ResourceType;\n headers: CosmosHeaders;\n requestBody: any;\n responseBody: any;\n url: string;\n }>;\n partitionKeyRangeFailoverInfo: string;\n};\n\n/**\n * @hidden\n */\nexport enum DiagnosticNodeType {\n CLIENT_REQUEST_NODE = \"CLIENT_REQUEST_NODE\", // Top most node representing client operations.\n METADATA_REQUEST_NODE = \"METADATA_REQUEST_NODE\", // Node representing a metadata request.\n HTTP_REQUEST = \"HTTP_REQUEST\", // Node representing REST call to backend services.\n BATCH_REQUEST = \"BATCH_REQUEST\", // Node representing batch request.\n PARALLEL_QUERY_NODE = \"PARALLEL_QUERY_NODE\", // Node representing parallel query execution.\n DEFAULT_QUERY_NODE = \"DEFAULT_QUERY_NODE\", // Node representing default query execution.\n QUERY_REPAIR_NODE = \"QUERY_REPAIR_NODE\", // Node representing query repair.\n BACKGROUND_REFRESH_THREAD = \"BACKGROUND_REFRESH_THREAD\", // Node representing background refresh.\n REQUEST_ATTEMPTS = \"REQUEST_ATTEMPTS\", // Node representing request attempts.\n}\n\nfunction calculateResponsePayloadLength(response: PipelineResponse) {\n return response?.bodyAsText?.length || 0;\n}\n\nfunction calculateRequestPayloadLength(requestContext: RequestContext) {\n return requestContext.body ? requestContext.body.length : 0;\n}\n"]}
1
+ {"version":3,"file":"DiagnosticNodeInternal.js","sourceRoot":"","sources":["../../../src/diagnostics/DiagnosticNodeInternal.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CosmosDiagnosticContext } from \"./CosmosDiagnosticsContext.js\";\nimport { ErrorResponse, RequestContext } from \"../request/index.js\";\nimport {\n DiagnosticNode,\n EncryptionDiagnostics,\n MetadataLookUpType,\n ClientConfigDiagnostic,\n} from \"../CosmosDiagnostics.js\";\nimport { CosmosDiagnostics, getRootNode } from \"../CosmosDiagnostics.js\";\nimport { getCurrentTimestampInMs } from \"../utils/time.js\";\nimport { CosmosDbDiagnosticLevel } from \"./CosmosDbDiagnosticLevel.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/CosmosHeaders.js\";\nimport type { HttpHeaders, PipelineResponse } from \"@azure/core-rest-pipeline\";\nimport type { OperationType, ResourceType } from \"../common/index.js\";\nimport { Constants, prepareURL } from \"../common/index.js\";\nimport { allowTracing } from \"./diagnosticLevelComparator.js\";\nimport { randomUUID } from \"@azure/core-util\";\n\n/**\n * @hidden\n * This is Internal Representation for DiagnosticNode. It contains useful helper functions to collect\n * diagnostic information throughout the lifetime of Diagnostic session.\n * The functions toDiagnosticNode() & toDiagnostic() are given to convert it to public facing counterpart.\n */\nexport class DiagnosticNodeInternal implements DiagnosticNode {\n public id: string;\n public nodeType: DiagnosticNodeType;\n public parent: DiagnosticNodeInternal;\n public children: DiagnosticNodeInternal[];\n public data: Partial<DiagnosticDataValue>;\n public startTimeUTCInMs: number;\n public durationInMs: number;\n public diagnosticLevel: CosmosDbDiagnosticLevel;\n private diagnosticCtx: CosmosDiagnosticContext;\n private encryptionDiagnostics: EncryptionDiagnostics;\n\n /**\n * @internal\n */\n constructor(\n diagnosticLevel: CosmosDbDiagnosticLevel,\n type: DiagnosticNodeType,\n parent: DiagnosticNodeInternal,\n data: Partial<DiagnosticDataValue> = {},\n startTimeUTCInMs: number = getCurrentTimestampInMs(),\n ctx: CosmosDiagnosticContext = new CosmosDiagnosticContext(),\n ) {\n this.id = randomUUID();\n this.nodeType = type;\n this.startTimeUTCInMs = startTimeUTCInMs;\n this.data = data;\n this.children = [];\n this.durationInMs = 0;\n this.parent = parent;\n this.diagnosticCtx = ctx;\n this.diagnosticLevel = diagnosticLevel;\n\n // Initialize EncryptionDiagnostics\n this.encryptionDiagnostics = {\n encryptContent: {},\n decryptContent: {},\n processingDurationInMs: 0,\n };\n }\n\n /**\n * @internal\n */\n private addLog(msg: string): void {\n if (!this.data.log) {\n this.data.log = [];\n }\n this.data.log.push(msg);\n }\n\n /**\n * @internal\n */\n private sanitizeHeaders(headers?: CosmosHeaders | HttpHeaders): CosmosHeaders | HttpHeaders {\n return headers;\n }\n\n /**\n * Updated durationInMs for node, based on endTimeUTCInMs provided.\n * @internal\n */\n public updateTimestamp(endTimeUTCInMs: number = getCurrentTimestampInMs()): void {\n this.durationInMs = endTimeUTCInMs - this.startTimeUTCInMs;\n }\n\n /**\n * @internal\n */\n public recordSuccessfulNetworkCall(\n startTimeUTCInMs: number,\n requestContext: RequestContext,\n pipelineResponse: PipelineResponse,\n substatus: number,\n url: string,\n ): void {\n const responseHeaders = pipelineResponse.headers.toJSON();\n const gatewayRequest = {\n activityId: responseHeaders[Constants.HttpHeaders.ActivityId],\n correlateActivityId: requestContext.headers[Constants.HttpHeaders.CorrelatedActivityId],\n startTimeUTCInMs,\n durationInMs: getCurrentTimestampInMs() - startTimeUTCInMs,\n statusCode: pipelineResponse.status,\n subStatusCode: substatus,\n requestPayloadLengthInBytes: calculateRequestPayloadLength(requestContext),\n responsePayloadLengthInBytes: calculateResponsePayloadLength(pipelineResponse),\n operationType: requestContext.operationType,\n resourceType: requestContext.resourceType,\n partitionKeyRangeId: requestContext.partitionKeyRangeId,\n };\n let requestData: any = {\n OperationType: gatewayRequest.operationType,\n resourceType: gatewayRequest.resourceType,\n requestPayloadLengthInBytes: gatewayRequest.requestPayloadLengthInBytes,\n };\n\n if (allowTracing(CosmosDbDiagnosticLevel.debugUnsafe, this.diagnosticLevel)) {\n requestData = {\n ...requestData,\n headers: this.sanitizeHeaders(requestContext.headers),\n requestBody: requestContext.body,\n responseBody: pipelineResponse.bodyAsText,\n url: url,\n };\n }\n this.addData({\n requestPayloadLengthInBytes: gatewayRequest.requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: gatewayRequest.responsePayloadLengthInBytes,\n startTimeUTCInMs: gatewayRequest.startTimeUTCInMs,\n durationInMs: gatewayRequest.durationInMs,\n requestData,\n });\n this.diagnosticCtx.recordNetworkCall(gatewayRequest);\n }\n\n /**\n * @internal\n */\n public recordFailedNetworkCall(\n startTimeUTCInMs: number,\n requestContext: RequestContext,\n retryAttemptNumber: number,\n statusCode: number,\n substatusCode: number,\n responseHeaders: CosmosHeaders,\n ): void {\n this.addData({ failedAttempty: true });\n const requestPayloadLengthInBytes = calculateRequestPayloadLength(requestContext);\n this.diagnosticCtx.recordFailedAttempt(\n {\n activityId: responseHeaders[Constants.HttpHeaders.ActivityId] as string,\n correlatedActivityId: requestContext.headers[\n Constants.HttpHeaders.CorrelatedActivityId\n ] as string,\n startTimeUTCInMs,\n durationInMs: getCurrentTimestampInMs() - startTimeUTCInMs,\n statusCode,\n subStatusCode: substatusCode,\n requestPayloadLengthInBytes,\n responsePayloadLengthInBytes: 0,\n operationType: requestContext.operationType,\n resourceType: requestContext.resourceType,\n },\n retryAttemptNumber,\n );\n let requestData: any = {\n OperationType: requestContext.operationType,\n resourceType: requestContext.resourceType,\n requestPayloadLengthInBytes,\n };\n if (allowTracing(CosmosDbDiagnosticLevel.debugUnsafe, this.diagnosticLevel)) {\n requestData = {\n ...requestData,\n headers: this.sanitizeHeaders(requestContext.headers),\n requestBody: requestContext.body,\n url: prepareURL(requestContext.endpoint, requestContext.path),\n };\n }\n this.addData({\n failedAttempty: true,\n requestData,\n });\n }\n\n /**\n * @internal\n */\n public recordEndpointResolution(location: string): void {\n this.addData({ selectedLocation: location });\n this.diagnosticCtx.recordEndpointResolution(location);\n }\n\n /**\n * @internal\n */\n public addData(\n data: Partial<DiagnosticDataValue>,\n msg?: string,\n level: CosmosDbDiagnosticLevel = this.diagnosticLevel,\n ): void {\n if (level !== CosmosDbDiagnosticLevel.info) {\n this.data = { ...this.data, ...data };\n if (msg) {\n this.addLog(msg);\n }\n }\n }\n\n /**\n * Merge given DiagnosticNodeInternal's context to current node's DiagnosticContext, Treating GatewayRequests of\n * given DiagnosticContext, as metadata requests. Given DiagnosticNodeInternal becomes a child of this node.\n * @internal\n */\n public addChildNode(\n child: DiagnosticNodeInternal,\n level: CosmosDbDiagnosticLevel,\n metadataType?: MetadataLookUpType,\n ): DiagnosticNodeInternal {\n this.diagnosticCtx.mergeDiagnostics(child.diagnosticCtx, metadataType);\n if (allowTracing(level, this.diagnosticLevel)) {\n child.parent = this;\n this.children.push(child);\n }\n return child;\n }\n\n /**\n * Merge given DiagnosticNodeInternal's context to current node's DiagnosticContext for bulk.\n * Given DiagnosticNodeInternal becomes a child of this node.\n * @internal\n */\n public addBulkChildNode(\n child: DiagnosticNodeInternal,\n level: CosmosDbDiagnosticLevel,\n ): DiagnosticNodeInternal {\n this.diagnosticCtx.mergeBulkDiagnostics(child.diagnosticCtx);\n if (allowTracing(level, this.diagnosticLevel)) {\n child.parent = this;\n this.children.push(child);\n }\n return child;\n }\n\n /**\n * @internal\n */\n public initializeChildNode(\n type: DiagnosticNodeType,\n level: CosmosDbDiagnosticLevel,\n data: Partial<DiagnosticDataValue> = {},\n ): DiagnosticNodeInternal {\n if (allowTracing(level, this.diagnosticLevel)) {\n const child = new DiagnosticNodeInternal(\n this.diagnosticLevel,\n type,\n this,\n data,\n getCurrentTimestampInMs(),\n this.diagnosticCtx,\n );\n this.children.push(child);\n return child;\n } else {\n return this;\n }\n }\n\n /**\n * @internal\n */\n public recordQueryResult(resources: unknown, level: CosmosDbDiagnosticLevel): void {\n if (allowTracing(level, this.diagnosticLevel)) {\n const previousCount = this.data.queryRecordsRead ?? 0;\n if (Array.isArray(resources)) {\n this.data.queryRecordsRead = previousCount + resources.length;\n }\n }\n }\n\n /**\n * @internal\n * record startTime for encryption in an operation\n */\n public beginEncryptionDiagnostics(operation: string): void {\n const startTime = getCurrentTimestampInMs();\n switch (operation) {\n case Constants.Encryption.DiagnosticsEncryptOperation:\n this.encryptionDiagnostics.encryptContent[Constants.Encryption.DiagnosticsStartTime] =\n startTime;\n break;\n case Constants.Encryption.DiagnosticsDecryptOperation:\n this.encryptionDiagnostics.decryptContent[Constants.Encryption.DiagnosticsStartTime] =\n startTime;\n break;\n default:\n throw new ErrorResponse(\"Invalid operation type for encryption diagnostics\");\n }\n }\n /**\n * @internal\n * record duration from startTime and properties count for encryption in an operation\n */\n public endEncryptionDiagnostics(operation: string, propertiesCount?: number): void {\n const endTime = getCurrentTimestampInMs();\n let processingDuration = 0;\n switch (operation) {\n case Constants.Encryption.DiagnosticsEncryptOperation:\n processingDuration =\n endTime -\n this.encryptionDiagnostics.encryptContent[Constants.Encryption.DiagnosticsStartTime];\n this.encryptionDiagnostics.encryptContent[Constants.Encryption.DiagnosticsDuration] =\n processingDuration;\n // will be undefined in case of bulk/batch\n if (propertiesCount !== undefined) {\n this.encryptionDiagnostics.encryptContent[\n Constants.Encryption.DiagnosticsPropertiesEncryptedCount\n ] = propertiesCount;\n }\n break;\n\n case Constants.Encryption.DiagnosticsDecryptOperation:\n processingDuration =\n endTime -\n this.encryptionDiagnostics.decryptContent[Constants.Encryption.DiagnosticsStartTime];\n this.encryptionDiagnostics.decryptContent[Constants.Encryption.DiagnosticsDuration] =\n processingDuration;\n if (propertiesCount !== undefined) {\n this.encryptionDiagnostics.decryptContent[\n Constants.Encryption.DiagnosticsPropertiesDecryptedCount\n ] = propertiesCount;\n }\n break;\n default:\n throw new ErrorResponse(\"Invalid operation type for encryption diagnostics\");\n }\n this.diagnosticCtx.recordEncryptionDiagnostics(this.encryptionDiagnostics);\n }\n\n /**\n * Convert DiagnosticNodeInternal (internal representation) to DiagnosticNode (public, sanitized representation)\n * @internal\n */\n public toDiagnosticNode(): DiagnosticNode {\n return {\n id: this.id,\n nodeType: this.nodeType,\n children: this.children.map((child) => child.toDiagnosticNode()),\n data: this.data,\n startTimeUTCInMs: this.startTimeUTCInMs,\n durationInMs: this.durationInMs,\n };\n }\n\n /**\n * Convert to CosmosDiagnostics\n * @internal\n */\n public toDiagnostic(clientConfigDiagnostic: ClientConfigDiagnostic): CosmosDiagnostics {\n const rootNode = getRootNode(this);\n const diagnostiNode = allowTracing(CosmosDbDiagnosticLevel.debug, this.diagnosticLevel)\n ? rootNode.toDiagnosticNode()\n : undefined;\n const clientConfig = allowTracing(CosmosDbDiagnosticLevel.debug, this.diagnosticLevel)\n ? clientConfigDiagnostic\n : undefined;\n const cosmosDiagnostic = new CosmosDiagnostics(\n this.diagnosticCtx.getClientSideStats(),\n diagnostiNode,\n clientConfig,\n );\n return cosmosDiagnostic;\n }\n}\n\n/**\n * @hidden\n */\nexport type DiagnosticDataValue = {\n selectedLocation: string;\n activityId: string;\n requestAttempNumber: number;\n requestPayloadLengthInBytes: number;\n responsePayloadLengthInBytes: number;\n responseStatus: number;\n readFromCache: boolean;\n operationType: OperationType;\n metadatOperationType: MetadataLookUpType;\n resourceType: ResourceType;\n failedAttempty: boolean;\n successfulRetryPolicy: string;\n partitionKeyRangeId: string;\n stateful: boolean;\n queryRecordsRead: number;\n queryMethodIdentifier: string;\n log: string[];\n failure: boolean;\n startTimeUTCInMs: number;\n durationInMs: number;\n requestData: Partial<{\n requestPayloadLengthInBytes: number;\n responsePayloadLengthInBytes: number;\n operationType: OperationType;\n resourceType: ResourceType;\n headers: CosmosHeaders;\n requestBody: any;\n responseBody: any;\n url: string;\n }>;\n partitionKeyRangeFailoverInfo: string;\n};\n\n/**\n * @hidden\n */\nexport enum DiagnosticNodeType {\n CLIENT_REQUEST_NODE = \"CLIENT_REQUEST_NODE\", // Top most node representing client operations.\n METADATA_REQUEST_NODE = \"METADATA_REQUEST_NODE\", // Node representing a metadata request.\n HTTP_REQUEST = \"HTTP_REQUEST\", // Node representing REST call to backend services.\n BATCH_REQUEST = \"BATCH_REQUEST\", // Node representing batch request.\n PARALLEL_QUERY_NODE = \"PARALLEL_QUERY_NODE\", // Node representing parallel query execution.\n DEFAULT_QUERY_NODE = \"DEFAULT_QUERY_NODE\", // Node representing default query execution.\n QUERY_REPAIR_NODE = \"QUERY_REPAIR_NODE\", // Node representing query repair.\n BACKGROUND_REFRESH_THREAD = \"BACKGROUND_REFRESH_THREAD\", // Node representing background refresh.\n REQUEST_ATTEMPTS = \"REQUEST_ATTEMPTS\", // Node representing request attempts.\n}\n\nfunction calculateResponsePayloadLength(response: PipelineResponse) {\n return response?.bodyAsText?.length || 0;\n}\n\nfunction calculateRequestPayloadLength(requestContext: RequestContext) {\n return requestContext.body ? requestContext.body.length : 0;\n}\n"]}
@@ -7,9 +7,7 @@ import { createClientLogger } from "@azure/logger";
7
7
  * @hidden
8
8
  */
9
9
  export class LogDiagnosticWriter {
10
- constructor() {
11
- this.logger = createClientLogger("CosmosDBDiagnostics");
12
- }
10
+ logger = createClientLogger("CosmosDBDiagnostics");
13
11
  async write(diagnosticsData) {
14
12
  this.logger.verbose(diagnosticsData);
15
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticWriter.js","sourceRoot":"","sources":["../../../src/diagnostics/DiagnosticWriter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUnD;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QACU,WAAM,GAAgB,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAI1E,CAAC;IAHQ,KAAK,CAAC,KAAK,CAAC,eAAuB;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACxB,KAAK,CAAC,KAAK,CAAC,gBAAwB;QACzC,QAAQ;IACV,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * Interface for a Diagnostic Writer.\n * @hidden\n */\nexport interface DiagnosticWriter {\n write(message: string): Promise<void>;\n}\n\n/**\n * Implementation of DiagnosticWriter, which uses \\@azure/logger to write\n * diagnostics.\n * @hidden\n */\nexport class LogDiagnosticWriter implements DiagnosticWriter {\n private logger: AzureLogger = createClientLogger(\"CosmosDBDiagnostics\");\n public async write(diagnosticsData: string): Promise<void> {\n this.logger.verbose(diagnosticsData);\n }\n}\n\n/**\n * Implementation of a no-op DiagnosticWriter.\n * @hidden\n */\nexport class NoOpDiagnosticWriter implements DiagnosticWriter {\n public async write(_diagnosticsData: string): Promise<void> {\n // No op\n }\n}\n"]}
1
+ {"version":3,"file":"DiagnosticWriter.js","sourceRoot":"","sources":["../../../src/diagnostics/DiagnosticWriter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAUnD;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IACtB,MAAM,GAAgB,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACjE,KAAK,CAAC,KAAK,CAAC,eAAuB;QACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACxB,KAAK,CAAC,KAAK,CAAC,gBAAwB;QACzC,QAAQ;IACV,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AzureLogger } from \"@azure/logger\";\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * Interface for a Diagnostic Writer.\n * @hidden\n */\nexport interface DiagnosticWriter {\n write(message: string): Promise<void>;\n}\n\n/**\n * Implementation of DiagnosticWriter, which uses \\@azure/logger to write\n * diagnostics.\n * @hidden\n */\nexport class LogDiagnosticWriter implements DiagnosticWriter {\n private logger: AzureLogger = createClientLogger(\"CosmosDBDiagnostics\");\n public async write(diagnosticsData: string): Promise<void> {\n this.logger.verbose(diagnosticsData);\n }\n}\n\n/**\n * Implementation of a no-op DiagnosticWriter.\n * @hidden\n */\nexport class NoOpDiagnosticWriter implements DiagnosticWriter {\n public async write(_diagnosticsData: string): Promise<void> {\n // No op\n }\n}\n"]}
@@ -31,7 +31,7 @@ function isCosmosDiagnosticLevel(diagnosticLevel) {
31
31
  return acceptableDiagnosticLevelValues.includes(diagnosticLevel);
32
32
  }
33
33
  export function determineDiagnosticLevel(diagnosticLevelFromClientConfig, diagnosticLevelFromEnvironment) {
34
- const diagnosticLevelFromEnvOrClient = diagnosticLevelFromEnvironment !== null && diagnosticLevelFromEnvironment !== void 0 ? diagnosticLevelFromEnvironment : diagnosticLevelFromClientConfig; // Diagnostic Setting from environment gets first priority.
35
- return diagnosticLevelFromEnvOrClient !== null && diagnosticLevelFromEnvOrClient !== void 0 ? diagnosticLevelFromEnvOrClient : DefaultDiagnosticLevelValue; // Diagnostic Setting supplied in Client config gets second priority.
34
+ const diagnosticLevelFromEnvOrClient = diagnosticLevelFromEnvironment ?? diagnosticLevelFromClientConfig; // Diagnostic Setting from environment gets first priority.
35
+ return diagnosticLevelFromEnvOrClient ?? DefaultDiagnosticLevelValue; // Diagnostic Setting supplied in Client config gets second priority.
36
36
  }
37
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,IAAI,CAAC;AAExE,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvF,CAAC,CAAC,QAAQ,EAAE,CACb,CAAC;AAEF,IAAI,qBAA0D,CAAC;AAE/D,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,CAAC;IAC7C,iGAAiG;IACjG,IAAI,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACpD,kBAAkB,CAAC,sBAAiD,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CACX,GACE,SAAS,CAAC,iCACZ,qCAAqC,sBAAsB,qEAAqE,+BAA+B,CAAC,IAAI,CAClK,IAAI,CACL,GAAG,CACL,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA+B;IAChE,IAAI,KAAK,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,yBAAyB,+BAA+B,CAAC,IAAI,CAC7F,GAAG,CACJ,EAAE,CACJ,CAAC;IACJ,CAAC;IACD,qBAAqB,GAAG,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,uBAAuB,CAC9B,eAAuB;IAEvB,OAAO,+BAA+B,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,+BAAwD,EACxD,8BAAuD;IAEvD,MAAM,8BAA8B,GAClC,8BAA8B,aAA9B,8BAA8B,cAA9B,8BAA8B,GAAI,+BAA+B,CAAC,CAAC,2DAA2D;IAChI,OAAO,8BAA8B,aAA9B,8BAA8B,cAA9B,8BAA8B,GAAI,2BAA2B,CAAC,CAAC,qEAAqE;AAC7I,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Constants } from \"../common/index.js\";\nimport { isNonEmptyString } from \"../utils/strings.js\";\nimport { CosmosDbDiagnosticLevel } from \"./CosmosDbDiagnosticLevel.js\";\nimport { diagnosticLevelFromEnv } from \"../utils/envUtils.js\";\n\nexport * from \"./DiagnosticWriter.js\";\nexport * from \"./DiagnosticFormatter.js\";\n\nexport const DefaultDiagnosticLevelValue = CosmosDbDiagnosticLevel.info;\n\nconst acceptableDiagnosticLevelValues = Object.values(CosmosDbDiagnosticLevel).map((x) =>\n x.toString(),\n);\n\nlet cosmosDiagnosticLevel: CosmosDbDiagnosticLevel | undefined;\n\nif (isNonEmptyString(diagnosticLevelFromEnv)) {\n // avoid calling setDiagnosticLevel because we don't want a mis-set environment variable to crash\n if (isCosmosDiagnosticLevel(diagnosticLevelFromEnv)) {\n setDiagnosticLevel(diagnosticLevelFromEnv as CosmosDbDiagnosticLevel);\n } else {\n console.error(\n `${\n Constants.CosmosDbDiagnosticLevelEnvVarName\n } set to unknown diagnostic level '${diagnosticLevelFromEnv}'; Setting Cosmos Db diagnostic level to info. Acceptable values: ${acceptableDiagnosticLevelValues.join(\n \", \",\n )}.`,\n );\n }\n}\n\nexport function setDiagnosticLevel(level?: CosmosDbDiagnosticLevel): void {\n if (level && !isCosmosDiagnosticLevel(level)) {\n throw new Error(\n `Unknown diagnostic level '${level}'. Acceptable values: ${acceptableDiagnosticLevelValues.join(\n \",\",\n )}`,\n );\n }\n cosmosDiagnosticLevel = level;\n}\n\nexport function getDiagnosticLevelFromEnvironment(): CosmosDbDiagnosticLevel | undefined {\n return cosmosDiagnosticLevel;\n}\n\nfunction isCosmosDiagnosticLevel(\n diagnosticLevel: string,\n): diagnosticLevel is CosmosDbDiagnosticLevel {\n return acceptableDiagnosticLevelValues.includes(diagnosticLevel);\n}\n\nexport function determineDiagnosticLevel(\n diagnosticLevelFromClientConfig: CosmosDbDiagnosticLevel,\n diagnosticLevelFromEnvironment: CosmosDbDiagnosticLevel,\n): CosmosDbDiagnosticLevel {\n const diagnosticLevelFromEnvOrClient =\n diagnosticLevelFromEnvironment ?? diagnosticLevelFromClientConfig; // Diagnostic Setting from environment gets first priority.\n return diagnosticLevelFromEnvOrClient ?? DefaultDiagnosticLevelValue; // Diagnostic Setting supplied in Client config gets second priority.\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/diagnostics/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC,IAAI,CAAC;AAExE,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvF,CAAC,CAAC,QAAQ,EAAE,CACb,CAAC;AAEF,IAAI,qBAA0D,CAAC;AAE/D,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,CAAC;IAC7C,iGAAiG;IACjG,IAAI,uBAAuB,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACpD,kBAAkB,CAAC,sBAAiD,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CACX,GACE,SAAS,CAAC,iCACZ,qCAAqC,sBAAsB,qEAAqE,+BAA+B,CAAC,IAAI,CAClK,IAAI,CACL,GAAG,CACL,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA+B;IAChE,IAAI,KAAK,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,yBAAyB,+BAA+B,CAAC,IAAI,CAC7F,GAAG,CACJ,EAAE,CACJ,CAAC;IACJ,CAAC;IACD,qBAAqB,GAAG,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,uBAAuB,CAC9B,eAAuB;IAEvB,OAAO,+BAA+B,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,+BAAwD,EACxD,8BAAuD;IAEvD,MAAM,8BAA8B,GAClC,8BAA8B,IAAI,+BAA+B,CAAC,CAAC,2DAA2D;IAChI,OAAO,8BAA8B,IAAI,2BAA2B,CAAC,CAAC,qEAAqE;AAC7I,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Constants } from \"../common/index.js\";\nimport { isNonEmptyString } from \"../utils/strings.js\";\nimport { CosmosDbDiagnosticLevel } from \"./CosmosDbDiagnosticLevel.js\";\nimport { diagnosticLevelFromEnv } from \"../utils/envUtils.js\";\n\nexport * from \"./DiagnosticWriter.js\";\nexport * from \"./DiagnosticFormatter.js\";\n\nexport const DefaultDiagnosticLevelValue = CosmosDbDiagnosticLevel.info;\n\nconst acceptableDiagnosticLevelValues = Object.values(CosmosDbDiagnosticLevel).map((x) =>\n x.toString(),\n);\n\nlet cosmosDiagnosticLevel: CosmosDbDiagnosticLevel | undefined;\n\nif (isNonEmptyString(diagnosticLevelFromEnv)) {\n // avoid calling setDiagnosticLevel because we don't want a mis-set environment variable to crash\n if (isCosmosDiagnosticLevel(diagnosticLevelFromEnv)) {\n setDiagnosticLevel(diagnosticLevelFromEnv as CosmosDbDiagnosticLevel);\n } else {\n console.error(\n `${\n Constants.CosmosDbDiagnosticLevelEnvVarName\n } set to unknown diagnostic level '${diagnosticLevelFromEnv}'; Setting Cosmos Db diagnostic level to info. Acceptable values: ${acceptableDiagnosticLevelValues.join(\n \", \",\n )}.`,\n );\n }\n}\n\nexport function setDiagnosticLevel(level?: CosmosDbDiagnosticLevel): void {\n if (level && !isCosmosDiagnosticLevel(level)) {\n throw new Error(\n `Unknown diagnostic level '${level}'. Acceptable values: ${acceptableDiagnosticLevelValues.join(\n \",\",\n )}`,\n );\n }\n cosmosDiagnosticLevel = level;\n}\n\nexport function getDiagnosticLevelFromEnvironment(): CosmosDbDiagnosticLevel | undefined {\n return cosmosDiagnosticLevel;\n}\n\nfunction isCosmosDiagnosticLevel(\n diagnosticLevel: string,\n): diagnosticLevel is CosmosDbDiagnosticLevel {\n return acceptableDiagnosticLevelValues.includes(diagnosticLevel);\n}\n\nexport function determineDiagnosticLevel(\n diagnosticLevelFromClientConfig: CosmosDbDiagnosticLevel,\n diagnosticLevelFromEnvironment: CosmosDbDiagnosticLevel,\n): CosmosDbDiagnosticLevel {\n const diagnosticLevelFromEnvOrClient =\n diagnosticLevelFromEnvironment ?? diagnosticLevelFromClientConfig; // Diagnostic Setting from environment gets first priority.\n return diagnosticLevelFromEnvOrClient ?? DefaultDiagnosticLevelValue; // Diagnostic Setting supplied in Client config gets second priority.\n}\n"]}
@@ -6,6 +6,10 @@ import { ConsistencyLevel } from "./ConsistencyLevel.js";
6
6
  * Represents a DatabaseAccount in the Azure Cosmos DB database service.
7
7
  */
8
8
  export class DatabaseAccount {
9
+ /** The list of writable locations for a geo-replicated database account. */
10
+ writableLocations = [];
11
+ /** The list of readable locations for a geo-replicated database account. */
12
+ readableLocations = [];
9
13
  /**
10
14
  * The self-link for Databases in the databaseAccount.
11
15
  * @deprecated Use `databasesLink`
@@ -13,6 +17,8 @@ export class DatabaseAccount {
13
17
  get DatabasesLink() {
14
18
  return this.databasesLink;
15
19
  }
20
+ /** The self-link for Databases in the databaseAccount. */
21
+ databasesLink;
16
22
  /**
17
23
  * The self-link for Media in the databaseAccount.
18
24
  * @deprecated Use `mediaLink`
@@ -20,6 +26,8 @@ export class DatabaseAccount {
20
26
  get MediaLink() {
21
27
  return this.mediaLink;
22
28
  }
29
+ /** The self-link for Media in the databaseAccount. */
30
+ mediaLink;
23
31
  /**
24
32
  * Attachment content (media) storage quota in MBs ( Retrieved from gateway ).
25
33
  * @deprecated use `maxMediaStorageUsageInMB`
@@ -27,6 +35,8 @@ export class DatabaseAccount {
27
35
  get MaxMediaStorageUsageInMB() {
28
36
  return this.maxMediaStorageUsageInMB;
29
37
  }
38
+ /** Attachment content (media) storage quota in MBs ( Retrieved from gateway ). */
39
+ maxMediaStorageUsageInMB;
30
40
  /**
31
41
  * Current attachment content (media) usage in MBs (Retrieved from gateway )
32
42
  *
@@ -38,6 +48,13 @@ export class DatabaseAccount {
38
48
  get CurrentMediaStorageUsageInMB() {
39
49
  return this.currentMediaStorageUsageInMB;
40
50
  }
51
+ /**
52
+ * Current attachment content (media) usage in MBs (Retrieved from gateway )
53
+ *
54
+ * Value is returned from cached information updated periodically and is not guaranteed
55
+ * to be real time.
56
+ */
57
+ currentMediaStorageUsageInMB;
41
58
  /**
42
59
  * Gets the UserConsistencyPolicy settings.
43
60
  * @deprecated use `consistencyPolicy`
@@ -45,12 +62,11 @@ export class DatabaseAccount {
45
62
  get ConsistencyPolicy() {
46
63
  return this.consistencyPolicy;
47
64
  }
65
+ /** Gets the UserConsistencyPolicy settings. */
66
+ consistencyPolicy;
67
+ enableMultipleWritableLocations;
48
68
  // TODO: body - any
49
69
  constructor(body, headers) {
50
- /** The list of writable locations for a geo-replicated database account. */
51
- this.writableLocations = [];
52
- /** The list of readable locations for a geo-replicated database account. */
53
- this.readableLocations = [];
54
70
  this.databasesLink = "/dbs/";
55
71
  this.mediaLink = "/media/";
56
72
  this.maxMediaStorageUsageInMB = headers[Constants.HttpHeaders.MaxMediaStorageUsageInMB];
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseAccount.js","sourceRoot":"","sources":["../../../src/documents/DatabaseAccount.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,eAAe;IAK1B;;;OAGG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAGD;;;OAGG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAGD;;;OAGG;IACH,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAGD;;;;;;;OAOG;IACH,IAAW,4BAA4B;QACrC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAQD;;;OAGG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAKD,mBAAmB;IACnB,YAAmB,IAA4B,EAAE,OAAsB;QA7DvE,4EAA4E;QAC5D,sBAAiB,GAAe,EAAE,CAAC;QACnD,4EAA4E;QAC5D,sBAAiB,GAAe,EAAE,CAAC;QA2DjD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QACxF,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAChG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB;YACjD,CAAC,CAAE,IAAI,CAAC,qBAAqB,CAAC,uBAA4C;YAC1E,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAe,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAe,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,+BAA+B;gBAClC,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,KAAK,IAAI;oBAC3D,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,KAAK,MAAM,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Constants } from \"../common/index.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/index.js\";\nimport { ConsistencyLevel } from \"./ConsistencyLevel.js\";\n\n/**\n * Represents a DatabaseAccount in the Azure Cosmos DB database service.\n */\nexport class DatabaseAccount {\n /** The list of writable locations for a geo-replicated database account. */\n public readonly writableLocations: Location[] = [];\n /** The list of readable locations for a geo-replicated database account. */\n public readonly readableLocations: Location[] = [];\n /**\n * The self-link for Databases in the databaseAccount.\n * @deprecated Use `databasesLink`\n */\n public get DatabasesLink(): string {\n return this.databasesLink;\n }\n /** The self-link for Databases in the databaseAccount. */\n public readonly databasesLink: string;\n /**\n * The self-link for Media in the databaseAccount.\n * @deprecated Use `mediaLink`\n */\n public get MediaLink(): string {\n return this.mediaLink;\n }\n /** The self-link for Media in the databaseAccount. */\n public readonly mediaLink: string;\n /**\n * Attachment content (media) storage quota in MBs ( Retrieved from gateway ).\n * @deprecated use `maxMediaStorageUsageInMB`\n */\n public get MaxMediaStorageUsageInMB(): number {\n return this.maxMediaStorageUsageInMB;\n }\n /** Attachment content (media) storage quota in MBs ( Retrieved from gateway ). */\n public readonly maxMediaStorageUsageInMB: number;\n /**\n * Current attachment content (media) usage in MBs (Retrieved from gateway )\n *\n * Value is returned from cached information updated periodically and is not guaranteed\n * to be real time.\n *\n * @deprecated use `currentMediaStorageUsageInMB`\n */\n public get CurrentMediaStorageUsageInMB(): number {\n return this.currentMediaStorageUsageInMB;\n }\n /**\n * Current attachment content (media) usage in MBs (Retrieved from gateway )\n *\n * Value is returned from cached information updated periodically and is not guaranteed\n * to be real time.\n */\n public readonly currentMediaStorageUsageInMB: number;\n /**\n * Gets the UserConsistencyPolicy settings.\n * @deprecated use `consistencyPolicy`\n */\n public get ConsistencyPolicy(): ConsistencyLevel {\n return this.consistencyPolicy;\n }\n /** Gets the UserConsistencyPolicy settings. */\n public readonly consistencyPolicy: ConsistencyLevel;\n public readonly enableMultipleWritableLocations: boolean;\n\n // TODO: body - any\n public constructor(body: { [key: string]: any }, headers: CosmosHeaders) {\n this.databasesLink = \"/dbs/\";\n this.mediaLink = \"/media/\";\n this.maxMediaStorageUsageInMB = headers[Constants.HttpHeaders.MaxMediaStorageUsageInMB];\n this.currentMediaStorageUsageInMB = headers[Constants.HttpHeaders.CurrentMediaStorageUsageInMB];\n this.consistencyPolicy = body.userConsistencyPolicy\n ? (body.userConsistencyPolicy.defaultConsistencyLevel as ConsistencyLevel)\n : ConsistencyLevel.Session;\n if (body[Constants.WritableLocations] && body.id !== \"localhost\") {\n this.writableLocations = body[Constants.WritableLocations] as Location[];\n }\n if (body[Constants.ReadableLocations] && body.id !== \"localhost\") {\n this.readableLocations = body[Constants.ReadableLocations] as Location[];\n }\n if (body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS]) {\n this.enableMultipleWritableLocations =\n body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS] === true ||\n body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS] === \"true\";\n } else {\n this.enableMultipleWritableLocations = false;\n }\n }\n}\n\n/**\n * Used to specify the locations that are available, read is index 1 and write is index 0.\n */\nexport interface Location {\n name: string;\n databaseAccountEndpoint: string;\n unavailable?: boolean;\n lastUnavailabilityTimestampInMs?: number;\n}\n"]}
1
+ {"version":3,"file":"DatabaseAccount.js","sourceRoot":"","sources":["../../../src/documents/DatabaseAccount.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B,4EAA4E;IAC5D,iBAAiB,GAAe,EAAE,CAAC;IACnD,4EAA4E;IAC5D,iBAAiB,GAAe,EAAE,CAAC;IACnD;;;OAGG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,0DAA0D;IAC1C,aAAa,CAAS;IACtC;;;OAGG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,sDAAsD;IACtC,SAAS,CAAS;IAClC;;;OAGG;IACH,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IACD,kFAAkF;IAClE,wBAAwB,CAAS;IACjD;;;;;;;OAOG;IACH,IAAW,4BAA4B;QACrC,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IACD;;;;;OAKG;IACa,4BAA4B,CAAS;IACrD;;;OAGG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,+CAA+C;IAC/B,iBAAiB,CAAmB;IACpC,+BAA+B,CAAU;IAEzD,mBAAmB;IACnB,YAAmB,IAA4B,EAAE,OAAsB;QACrE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;QACxF,IAAI,CAAC,4BAA4B,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;QAChG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB;YACjD,CAAC,CAAE,IAAI,CAAC,qBAAqB,CAAC,uBAA4C;YAC1E,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAe,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAe,CAAC;QAC3E,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,+BAA+B;gBAClC,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,KAAK,IAAI;oBAC3D,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,KAAK,MAAM,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Constants } from \"../common/index.js\";\nimport type { CosmosHeaders } from \"../queryExecutionContext/index.js\";\nimport { ConsistencyLevel } from \"./ConsistencyLevel.js\";\n\n/**\n * Represents a DatabaseAccount in the Azure Cosmos DB database service.\n */\nexport class DatabaseAccount {\n /** The list of writable locations for a geo-replicated database account. */\n public readonly writableLocations: Location[] = [];\n /** The list of readable locations for a geo-replicated database account. */\n public readonly readableLocations: Location[] = [];\n /**\n * The self-link for Databases in the databaseAccount.\n * @deprecated Use `databasesLink`\n */\n public get DatabasesLink(): string {\n return this.databasesLink;\n }\n /** The self-link for Databases in the databaseAccount. */\n public readonly databasesLink: string;\n /**\n * The self-link for Media in the databaseAccount.\n * @deprecated Use `mediaLink`\n */\n public get MediaLink(): string {\n return this.mediaLink;\n }\n /** The self-link for Media in the databaseAccount. */\n public readonly mediaLink: string;\n /**\n * Attachment content (media) storage quota in MBs ( Retrieved from gateway ).\n * @deprecated use `maxMediaStorageUsageInMB`\n */\n public get MaxMediaStorageUsageInMB(): number {\n return this.maxMediaStorageUsageInMB;\n }\n /** Attachment content (media) storage quota in MBs ( Retrieved from gateway ). */\n public readonly maxMediaStorageUsageInMB: number;\n /**\n * Current attachment content (media) usage in MBs (Retrieved from gateway )\n *\n * Value is returned from cached information updated periodically and is not guaranteed\n * to be real time.\n *\n * @deprecated use `currentMediaStorageUsageInMB`\n */\n public get CurrentMediaStorageUsageInMB(): number {\n return this.currentMediaStorageUsageInMB;\n }\n /**\n * Current attachment content (media) usage in MBs (Retrieved from gateway )\n *\n * Value is returned from cached information updated periodically and is not guaranteed\n * to be real time.\n */\n public readonly currentMediaStorageUsageInMB: number;\n /**\n * Gets the UserConsistencyPolicy settings.\n * @deprecated use `consistencyPolicy`\n */\n public get ConsistencyPolicy(): ConsistencyLevel {\n return this.consistencyPolicy;\n }\n /** Gets the UserConsistencyPolicy settings. */\n public readonly consistencyPolicy: ConsistencyLevel;\n public readonly enableMultipleWritableLocations: boolean;\n\n // TODO: body - any\n public constructor(body: { [key: string]: any }, headers: CosmosHeaders) {\n this.databasesLink = \"/dbs/\";\n this.mediaLink = \"/media/\";\n this.maxMediaStorageUsageInMB = headers[Constants.HttpHeaders.MaxMediaStorageUsageInMB];\n this.currentMediaStorageUsageInMB = headers[Constants.HttpHeaders.CurrentMediaStorageUsageInMB];\n this.consistencyPolicy = body.userConsistencyPolicy\n ? (body.userConsistencyPolicy.defaultConsistencyLevel as ConsistencyLevel)\n : ConsistencyLevel.Session;\n if (body[Constants.WritableLocations] && body.id !== \"localhost\") {\n this.writableLocations = body[Constants.WritableLocations] as Location[];\n }\n if (body[Constants.ReadableLocations] && body.id !== \"localhost\") {\n this.readableLocations = body[Constants.ReadableLocations] as Location[];\n }\n if (body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS]) {\n this.enableMultipleWritableLocations =\n body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS] === true ||\n body[Constants.ENABLE_MULTIPLE_WRITABLE_LOCATIONS] === \"true\";\n } else {\n this.enableMultipleWritableLocations = false;\n }\n }\n}\n\n/**\n * Used to specify the locations that are available, read is index 1 and write is index 0.\n */\nexport interface Location {\n name: string;\n databaseAccountEndpoint: string;\n unavailable?: boolean;\n lastUnavailabilityTimestampInMs?: number;\n}\n"]}
@@ -5,9 +5,7 @@ import { NonePartitionKeyLiteral, NullPartitionKeyLiteral } from "./PartitionKey
5
5
  * Builder class for building PartitionKey.
6
6
  */
7
7
  export class PartitionKeyBuilder {
8
- constructor() {
9
- this.values = [];
10
- }
8
+ values = [];
11
9
  addValue(value) {
12
10
  this.values.push(value);
13
11
  return this;
@@ -1 +1 @@
1
- {"version":3,"file":"PartitionKey.js","sourceRoot":"","sources":["../../../src/documents/PartitionKey.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAkC7F;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QACW,WAAM,GAAiC,EAAE,CAAC;IAgBrD,CAAC;IAfQ,QAAQ,CAAC,KAAgC;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACM,YAAY;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,YAAY;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,KAAK;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { NonePartitionKeyLiteral, NullPartitionKeyLiteral } from \"./PartitionKeyInternal.js\";\n\n/**\n * PartitionKey of a container.\n * @remarks\n * - PartitionKeyDefinition is no longer part of PartitionKey. So please use PartitionKeyDefinition\n * type directly where appropriate.\n */\nexport type PartitionKey = PrimitivePartitionKeyValue | PrimitivePartitionKeyValue[];\n\n/**\n * A primitive Partition Key value.\n */\nexport type PrimitivePartitionKeyValue =\n | string\n | number\n | boolean\n | NullPartitionKeyType\n | NonePartitionKeyType;\n\n/**\n * The returned object represents a partition key value that allows creating and accessing items\n * with a null value for the partition key.\n */\nexport type NullPartitionKeyType = null;\n\n/**\n * The returned object represents a partition key value that allows creating and accessing items\n * without a value for partition key\n */\nexport type NonePartitionKeyType = {\n [K in any]: never;\n};\n\n/**\n * Builder class for building PartitionKey.\n */\nexport class PartitionKeyBuilder {\n readonly values: PrimitivePartitionKeyValue[] = [];\n public addValue(value: string | boolean | number): PartitionKeyBuilder {\n this.values.push(value);\n return this;\n }\n public addNullValue(): PartitionKeyBuilder {\n this.values.push(NullPartitionKeyLiteral);\n return this;\n }\n public addNoneValue(): PartitionKeyBuilder {\n this.values.push(NonePartitionKeyLiteral);\n return this;\n }\n public build(): PartitionKey {\n return [...this.values];\n }\n}\n"]}
1
+ {"version":3,"file":"PartitionKey.js","sourceRoot":"","sources":["../../../src/documents/PartitionKey.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAkC7F;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACrB,MAAM,GAAiC,EAAE,CAAC;IAC5C,QAAQ,CAAC,KAAgC;QAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IACM,YAAY;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,YAAY;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACM,KAAK;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { NonePartitionKeyLiteral, NullPartitionKeyLiteral } from \"./PartitionKeyInternal.js\";\n\n/**\n * PartitionKey of a container.\n * @remarks\n * - PartitionKeyDefinition is no longer part of PartitionKey. So please use PartitionKeyDefinition\n * type directly where appropriate.\n */\nexport type PartitionKey = PrimitivePartitionKeyValue | PrimitivePartitionKeyValue[];\n\n/**\n * A primitive Partition Key value.\n */\nexport type PrimitivePartitionKeyValue =\n | string\n | number\n | boolean\n | NullPartitionKeyType\n | NonePartitionKeyType;\n\n/**\n * The returned object represents a partition key value that allows creating and accessing items\n * with a null value for the partition key.\n */\nexport type NullPartitionKeyType = null;\n\n/**\n * The returned object represents a partition key value that allows creating and accessing items\n * without a value for partition key\n */\nexport type NonePartitionKeyType = {\n [K in any]: never;\n};\n\n/**\n * Builder class for building PartitionKey.\n */\nexport class PartitionKeyBuilder {\n readonly values: PrimitivePartitionKeyValue[] = [];\n public addValue(value: string | boolean | number): PartitionKeyBuilder {\n this.values.push(value);\n return this;\n }\n public addNullValue(): PartitionKeyBuilder {\n this.values.push(NullPartitionKeyLiteral);\n return this;\n }\n public addNoneValue(): PartitionKeyBuilder {\n this.values.push(NonePartitionKeyLiteral);\n return this;\n }\n public build(): PartitionKey {\n return [...this.values];\n }\n}\n"]}