@azure/cosmos 4.5.0 → 4.6.0

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 (1401) hide show
  1. package/README.md +32 -0
  2. package/dist/browser/ChangeFeedIterator.js +17 -11
  3. package/dist/browser/ChangeFeedIterator.js.map +1 -1
  4. package/dist/browser/ChangeFeedResponse.js +8 -0
  5. package/dist/browser/ChangeFeedResponse.js.map +1 -1
  6. package/dist/browser/ClientContext.d.ts.map +1 -1
  7. package/dist/browser/ClientContext.js +232 -48
  8. package/dist/browser/ClientContext.js.map +1 -1
  9. package/dist/browser/CosmosClient.d.ts +13 -0
  10. package/dist/browser/CosmosClient.d.ts.map +1 -1
  11. package/dist/browser/CosmosClient.js +53 -6
  12. package/dist/browser/CosmosClient.js.map +1 -1
  13. package/dist/browser/CosmosClientOptions.d.ts.map +1 -1
  14. package/dist/browser/CosmosClientOptions.js.map +1 -1
  15. package/dist/browser/CosmosDiagnostics.d.ts +4 -0
  16. package/dist/browser/CosmosDiagnostics.d.ts.map +1 -1
  17. package/dist/browser/CosmosDiagnostics.js +3 -0
  18. package/dist/browser/CosmosDiagnostics.js.map +1 -1
  19. package/dist/browser/GlobalEndpointManagerOptions.d.ts +2 -0
  20. package/dist/browser/GlobalEndpointManagerOptions.d.ts.map +1 -0
  21. package/dist/browser/GlobalEndpointManagerOptions.js +2 -0
  22. package/dist/browser/GlobalEndpointManagerOptions.js.map +1 -0
  23. package/dist/browser/PartitionKeyRangeFailoverInfo.js +8 -5
  24. package/dist/browser/PartitionKeyRangeFailoverInfo.js.map +1 -1
  25. package/dist/browser/bulk/Batcher.js +13 -3
  26. package/dist/browser/bulk/Batcher.js.map +1 -1
  27. package/dist/browser/bulk/BulkHelper.js +26 -11
  28. package/dist/browser/bulk/BulkHelper.js.map +1 -1
  29. package/dist/browser/bulk/BulkResponse.js +22 -20
  30. package/dist/browser/bulk/BulkResponse.js.map +1 -1
  31. package/dist/browser/bulk/CongestionAlgorithm.js +11 -4
  32. package/dist/browser/bulk/CongestionAlgorithm.js.map +1 -1
  33. package/dist/browser/bulk/HelperPerPartition.js +14 -1
  34. package/dist/browser/bulk/HelperPerPartition.js.map +1 -1
  35. package/dist/browser/bulk/ItemOperationContext.js +4 -0
  36. package/dist/browser/bulk/ItemOperationContext.js.map +1 -1
  37. package/dist/browser/bulk/Limiter.js +27 -18
  38. package/dist/browser/bulk/Limiter.js.map +1 -1
  39. package/dist/browser/bulk/PartitionMetric.js +4 -0
  40. package/dist/browser/bulk/PartitionMetric.js.map +1 -1
  41. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  42. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js +29 -15
  43. package/dist/browser/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  44. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  45. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js +19 -8
  46. package/dist/browser/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  47. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  48. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  49. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +5 -0
  50. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  51. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  52. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  53. package/dist/browser/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  54. package/dist/browser/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  55. package/dist/browser/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  56. package/dist/browser/client/ChangeFeed/ChangeFeedRange.js +20 -0
  57. package/dist/browser/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  58. package/dist/browser/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  59. package/dist/browser/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  60. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  61. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  62. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  63. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  64. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  65. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  66. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  67. package/dist/browser/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  68. package/dist/browser/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  69. package/dist/browser/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  70. package/dist/browser/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  71. package/dist/browser/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  72. package/dist/browser/client/ChangeFeed/FeedRange.js +8 -0
  73. package/dist/browser/client/ChangeFeed/FeedRange.js.map +1 -1
  74. package/dist/browser/client/ChangeFeed/FeedRangeQueue.js +1 -0
  75. package/dist/browser/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  76. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts +1 -0
  77. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  78. package/dist/browser/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  79. package/dist/browser/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  80. package/dist/browser/client/ChangeFeed/changeFeedUtils.js +6 -5
  81. package/dist/browser/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  82. package/dist/browser/client/ClientUtils.js +1 -1
  83. package/dist/browser/client/ClientUtils.js.map +1 -1
  84. package/dist/browser/client/Conflict/Conflict.js +4 -0
  85. package/dist/browser/client/Conflict/Conflict.js.map +1 -1
  86. package/dist/browser/client/Conflict/ConflictResponse.js +2 -0
  87. package/dist/browser/client/Conflict/ConflictResponse.js.map +1 -1
  88. package/dist/browser/client/Conflict/Conflicts.js +2 -0
  89. package/dist/browser/client/Conflict/Conflicts.js.map +1 -1
  90. package/dist/browser/client/Container/Container.js +18 -3
  91. package/dist/browser/client/Container/Container.js.map +1 -1
  92. package/dist/browser/client/Container/ContainerResponse.js +2 -0
  93. package/dist/browser/client/Container/ContainerResponse.js.map +1 -1
  94. package/dist/browser/client/Container/Containers.js +4 -2
  95. package/dist/browser/client/Container/Containers.js.map +1 -1
  96. package/dist/browser/client/Database/Database.js +33 -0
  97. package/dist/browser/client/Database/Database.js.map +1 -1
  98. package/dist/browser/client/Database/DatabaseResponse.js +2 -0
  99. package/dist/browser/client/Database/DatabaseResponse.js.map +1 -1
  100. package/dist/browser/client/Database/Databases.js +3 -0
  101. package/dist/browser/client/Database/Databases.js.map +1 -1
  102. package/dist/browser/client/Item/Item.js +4 -0
  103. package/dist/browser/client/Item/Item.js.map +1 -1
  104. package/dist/browser/client/Item/ItemResponse.js +2 -0
  105. package/dist/browser/client/Item/ItemResponse.js.map +1 -1
  106. package/dist/browser/client/Item/Items.d.ts.map +1 -1
  107. package/dist/browser/client/Item/Items.js +8 -0
  108. package/dist/browser/client/Item/Items.js.map +1 -1
  109. package/dist/browser/client/Offer/Offer.js +3 -0
  110. package/dist/browser/client/Offer/Offer.js.map +1 -1
  111. package/dist/browser/client/Offer/OfferResponse.js +2 -0
  112. package/dist/browser/client/Offer/OfferResponse.js.map +1 -1
  113. package/dist/browser/client/Offer/Offers.js +2 -0
  114. package/dist/browser/client/Offer/Offers.js.map +1 -1
  115. package/dist/browser/client/Permission/Permission.js +3 -0
  116. package/dist/browser/client/Permission/Permission.js.map +1 -1
  117. package/dist/browser/client/Permission/PermissionResponse.js +2 -0
  118. package/dist/browser/client/Permission/PermissionResponse.js.map +1 -1
  119. package/dist/browser/client/Permission/Permissions.js +2 -0
  120. package/dist/browser/client/Permission/Permissions.js.map +1 -1
  121. package/dist/browser/client/SasToken/SasTokenProperties.js +17 -0
  122. package/dist/browser/client/SasToken/SasTokenProperties.js.map +1 -1
  123. package/dist/browser/client/Script/Scripts.js +5 -0
  124. package/dist/browser/client/Script/Scripts.js.map +1 -1
  125. package/dist/browser/client/StoredProcedure/StoredProcedure.js +3 -0
  126. package/dist/browser/client/StoredProcedure/StoredProcedure.js.map +1 -1
  127. package/dist/browser/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  128. package/dist/browser/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  129. package/dist/browser/client/StoredProcedure/StoredProcedures.js +2 -0
  130. package/dist/browser/client/StoredProcedure/StoredProcedures.js.map +1 -1
  131. package/dist/browser/client/Trigger/Trigger.js +3 -0
  132. package/dist/browser/client/Trigger/Trigger.js.map +1 -1
  133. package/dist/browser/client/Trigger/TriggerResponse.js +2 -0
  134. package/dist/browser/client/Trigger/TriggerResponse.js.map +1 -1
  135. package/dist/browser/client/Trigger/Triggers.js +2 -0
  136. package/dist/browser/client/Trigger/Triggers.js.map +1 -1
  137. package/dist/browser/client/User/User.js +9 -0
  138. package/dist/browser/client/User/User.js.map +1 -1
  139. package/dist/browser/client/User/UserResponse.js +2 -0
  140. package/dist/browser/client/User/UserResponse.js.map +1 -1
  141. package/dist/browser/client/User/Users.js +2 -0
  142. package/dist/browser/client/User/Users.js.map +1 -1
  143. package/dist/browser/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  144. package/dist/browser/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  145. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  146. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  147. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  148. package/dist/browser/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  149. package/dist/browser/common/constants.d.ts +4 -0
  150. package/dist/browser/common/constants.d.ts.map +1 -1
  151. package/dist/browser/common/constants.js +5 -1
  152. package/dist/browser/common/constants.js.map +1 -1
  153. package/dist/browser/common/helper.d.ts +6 -0
  154. package/dist/browser/common/helper.d.ts.map +1 -1
  155. package/dist/browser/common/helper.js +9 -1
  156. package/dist/browser/common/helper.js.map +1 -1
  157. package/dist/browser/common/platform.d.ts +1 -0
  158. package/dist/browser/common/platform.d.ts.map +1 -1
  159. package/dist/browser/common/platform.js +1 -3
  160. package/dist/browser/common/platform.js.map +1 -1
  161. package/dist/browser/diagnostics/CosmosDiagnosticsContext.js +8 -7
  162. package/dist/browser/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  163. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  164. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  165. package/dist/browser/diagnostics/DiagnosticNodeInternal.js +26 -7
  166. package/dist/browser/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  167. package/dist/browser/diagnostics/DiagnosticWriter.js +1 -3
  168. package/dist/browser/diagnostics/DiagnosticWriter.js.map +1 -1
  169. package/dist/browser/diagnostics/index.js +2 -2
  170. package/dist/browser/diagnostics/index.js.map +1 -1
  171. package/dist/browser/documents/ConnectionPolicy.d.ts +10 -4
  172. package/dist/browser/documents/ConnectionPolicy.d.ts.map +1 -1
  173. package/dist/browser/documents/ConnectionPolicy.js +2 -2
  174. package/dist/browser/documents/ConnectionPolicy.js.map +1 -1
  175. package/dist/browser/documents/DatabaseAccount.d.ts +4 -0
  176. package/dist/browser/documents/DatabaseAccount.d.ts.map +1 -1
  177. package/dist/browser/documents/DatabaseAccount.js +29 -4
  178. package/dist/browser/documents/DatabaseAccount.js.map +1 -1
  179. package/dist/browser/documents/PartitionKey.js +1 -3
  180. package/dist/browser/documents/PartitionKey.js.map +1 -1
  181. package/dist/browser/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  182. package/dist/browser/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  183. package/dist/browser/encryption/Cache/EncryptionSettingsCache.js +2 -0
  184. package/dist/browser/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  185. package/dist/browser/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  186. package/dist/browser/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  187. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  188. package/dist/browser/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  189. package/dist/browser/encryption/EncryptionItemQueryIterator.js +24 -27
  190. package/dist/browser/encryption/EncryptionItemQueryIterator.js.map +1 -1
  191. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  192. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  193. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  194. package/dist/browser/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  195. package/dist/browser/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  196. package/dist/browser/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  197. package/dist/browser/encryption/EncryptionKeyStoreProvider.js +8 -1
  198. package/dist/browser/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  199. package/dist/browser/encryption/EncryptionManager.js +6 -0
  200. package/dist/browser/encryption/EncryptionManager.js.map +1 -1
  201. package/dist/browser/encryption/EncryptionProcessor.js +5 -0
  202. package/dist/browser/encryption/EncryptionProcessor.js.map +1 -1
  203. package/dist/browser/encryption/EncryptionQueryBuilder.js +2 -0
  204. package/dist/browser/encryption/EncryptionQueryBuilder.js.map +1 -1
  205. package/dist/browser/encryption/EncryptionSettingForProperty.js +6 -0
  206. package/dist/browser/encryption/EncryptionSettingForProperty.js.map +1 -1
  207. package/dist/browser/encryption/EncryptionSettings.js +6 -3
  208. package/dist/browser/encryption/EncryptionSettings.js.map +1 -1
  209. package/dist/browser/encryption/KeyEncryptionKey.js +4 -0
  210. package/dist/browser/encryption/KeyEncryptionKey.js.map +1 -1
  211. package/dist/browser/encryption/Serializers/StringSerializer.js +1 -1
  212. package/dist/browser/encryption/Serializers/StringSerializer.js.map +1 -1
  213. package/dist/browser/extractPartitionKey.js +2 -2
  214. package/dist/browser/extractPartitionKey.js.map +1 -1
  215. package/dist/browser/globalEndpointManager.d.ts +8 -0
  216. package/dist/browser/globalEndpointManager.d.ts.map +1 -1
  217. package/dist/browser/globalEndpointManager.js +104 -29
  218. package/dist/browser/globalEndpointManager.js.map +1 -1
  219. package/dist/browser/globalPartitionEndpointManager.d.ts +0 -2
  220. package/dist/browser/globalPartitionEndpointManager.d.ts.map +1 -1
  221. package/dist/browser/globalPartitionEndpointManager.js +19 -7
  222. package/dist/browser/globalPartitionEndpointManager.js.map +1 -1
  223. package/dist/browser/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  224. package/dist/browser/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  225. package/dist/browser/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  226. package/dist/browser/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  227. package/dist/browser/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  228. package/dist/browser/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  229. package/dist/browser/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  230. package/dist/browser/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  231. package/dist/browser/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  232. package/dist/browser/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  233. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  234. package/dist/browser/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  235. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  236. package/dist/browser/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  237. package/dist/browser/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  238. package/dist/browser/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  239. package/dist/browser/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  240. package/dist/browser/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  241. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  242. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  243. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  244. package/dist/browser/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  245. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  246. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  247. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  248. package/dist/browser/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  249. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  250. package/dist/browser/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  251. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  252. package/dist/browser/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  253. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  254. package/dist/browser/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  255. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  256. package/dist/browser/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  257. package/dist/browser/queryExecutionContext/FetchResult.js +4 -0
  258. package/dist/browser/queryExecutionContext/FetchResult.js.map +1 -1
  259. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  260. package/dist/browser/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  261. package/dist/browser/queryExecutionContext/documentProducer.js +34 -21
  262. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  263. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  264. package/dist/browser/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  265. package/dist/browser/queryExecutionContext/orderByComparator.js +1 -0
  266. package/dist/browser/queryExecutionContext/orderByComparator.js.map +1 -1
  267. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  268. package/dist/browser/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  269. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  270. package/dist/browser/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  271. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  272. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  273. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  274. package/dist/browser/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  275. package/dist/browser/queryIterator.js +41 -33
  276. package/dist/browser/queryIterator.js.map +1 -1
  277. package/dist/browser/queryMetrics/clientSideMetrics.js +2 -1
  278. package/dist/browser/queryMetrics/clientSideMetrics.js.map +1 -1
  279. package/dist/browser/queryMetrics/queryMetrics.js +14 -1
  280. package/dist/browser/queryMetrics/queryMetrics.js.map +1 -1
  281. package/dist/browser/queryMetrics/queryPreparationTime.js +5 -1
  282. package/dist/browser/queryMetrics/queryPreparationTime.js.map +1 -1
  283. package/dist/browser/queryMetrics/runtimeExecutionTimes.js +4 -1
  284. package/dist/browser/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  285. package/dist/browser/queryMetrics/timeSpan.js +4 -3
  286. package/dist/browser/queryMetrics/timeSpan.js.map +1 -1
  287. package/dist/browser/request/ErrorResponse.js +19 -0
  288. package/dist/browser/request/ErrorResponse.js.map +1 -1
  289. package/dist/browser/request/FeedResponse.js +4 -0
  290. package/dist/browser/request/FeedResponse.js.map +1 -1
  291. package/dist/browser/request/RequestHandler.js +3 -4
  292. package/dist/browser/request/RequestHandler.js.map +1 -1
  293. package/dist/browser/request/ResourceResponse.js +5 -0
  294. package/dist/browser/request/ResourceResponse.js.map +1 -1
  295. package/dist/browser/request/SharedOptions.d.ts +5 -0
  296. package/dist/browser/request/SharedOptions.d.ts.map +1 -1
  297. package/dist/browser/request/SharedOptions.js.map +1 -1
  298. package/dist/browser/request/TimeoutError.js +1 -1
  299. package/dist/browser/request/TimeoutError.js.map +1 -1
  300. package/dist/browser/request/hybridSearchQueryResult.js +5 -0
  301. package/dist/browser/request/hybridSearchQueryResult.js.map +1 -1
  302. package/dist/browser/request/request.js +5 -1
  303. package/dist/browser/request/request.js.map +1 -1
  304. package/dist/browser/retry/bulkExecutionRetryPolicy.js +5 -2
  305. package/dist/browser/retry/bulkExecutionRetryPolicy.js.map +1 -1
  306. package/dist/browser/retry/defaultRetryPolicy.d.ts.map +1 -1
  307. package/dist/browser/retry/defaultRetryPolicy.js +7 -7
  308. package/dist/browser/retry/defaultRetryPolicy.js.map +1 -1
  309. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts +3 -2
  310. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  311. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js +24 -7
  312. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  313. package/dist/browser/retry/resourceThrottleRetryPolicy.js +20 -10
  314. package/dist/browser/retry/resourceThrottleRetryPolicy.js.map +1 -1
  315. package/dist/browser/retry/retryUtility.d.ts.map +1 -1
  316. package/dist/browser/retry/retryUtility.js +22 -8
  317. package/dist/browser/retry/retryUtility.js.map +1 -1
  318. package/dist/browser/retry/sessionRetryPolicy.js +8 -4
  319. package/dist/browser/retry/sessionRetryPolicy.js.map +1 -1
  320. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts +1 -2
  321. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  322. package/dist/browser/retry/timeoutFailoverRetryPolicy.js +17 -7
  323. package/dist/browser/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  324. package/dist/browser/routing/QueryRange.js +4 -0
  325. package/dist/browser/routing/QueryRange.js.map +1 -1
  326. package/dist/browser/routing/inMemoryCollectionRoutingMap.js +4 -0
  327. package/dist/browser/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  328. package/dist/browser/routing/partitionKeyRangeCache.js +2 -0
  329. package/dist/browser/routing/partitionKeyRangeCache.js.map +1 -1
  330. package/dist/browser/routing/smartRoutingMapProvider.js +1 -0
  331. package/dist/browser/routing/smartRoutingMapProvider.js.map +1 -1
  332. package/dist/browser/session/VectorSessionToken.js +6 -2
  333. package/dist/browser/session/VectorSessionToken.js.map +1 -1
  334. package/dist/browser/session/sessionContainer.js +5 -3
  335. package/dist/browser/session/sessionContainer.js.map +1 -1
  336. package/dist/browser/utils/batch.js +15 -4
  337. package/dist/browser/utils/batch.js.map +1 -1
  338. package/dist/browser/utils/encode.d.ts +1 -1
  339. package/dist/browser/utils/encode.d.ts.map +1 -1
  340. package/dist/browser/utils/encode.js.map +1 -1
  341. package/dist/browser/utils/fixedSizePriorityQueue.js +4 -0
  342. package/dist/browser/utils/fixedSizePriorityQueue.js.map +1 -1
  343. package/dist/browser/utils/hashing/hash.js +1 -1
  344. package/dist/browser/utils/hashing/hash.js.map +1 -1
  345. package/dist/browser/utils/nonStreamingOrderByMap.js +2 -0
  346. package/dist/browser/utils/nonStreamingOrderByMap.js.map +1 -1
  347. package/dist/commonjs/ChangeFeedIterator.js +17 -11
  348. package/dist/commonjs/ChangeFeedIterator.js.map +1 -1
  349. package/dist/commonjs/ChangeFeedResponse.js +8 -0
  350. package/dist/commonjs/ChangeFeedResponse.js.map +1 -1
  351. package/dist/commonjs/ClientContext.d.ts.map +1 -1
  352. package/dist/commonjs/ClientContext.js +232 -48
  353. package/dist/commonjs/ClientContext.js.map +1 -1
  354. package/dist/commonjs/CosmosClient.d.ts +13 -0
  355. package/dist/commonjs/CosmosClient.d.ts.map +1 -1
  356. package/dist/commonjs/CosmosClient.js +53 -6
  357. package/dist/commonjs/CosmosClient.js.map +1 -1
  358. package/dist/commonjs/CosmosClientOptions.d.ts.map +1 -1
  359. package/dist/commonjs/CosmosClientOptions.js.map +1 -1
  360. package/dist/commonjs/CosmosDiagnostics.d.ts +4 -0
  361. package/dist/commonjs/CosmosDiagnostics.d.ts.map +1 -1
  362. package/dist/commonjs/CosmosDiagnostics.js +3 -0
  363. package/dist/commonjs/CosmosDiagnostics.js.map +1 -1
  364. package/dist/commonjs/GlobalEndpointManagerOptions.d.ts +2 -0
  365. package/dist/commonjs/GlobalEndpointManagerOptions.d.ts.map +1 -0
  366. package/dist/commonjs/GlobalEndpointManagerOptions.js +3 -0
  367. package/dist/commonjs/GlobalEndpointManagerOptions.js.map +1 -0
  368. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +8 -5
  369. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +1 -1
  370. package/dist/commonjs/bulk/Batcher.js +13 -3
  371. package/dist/commonjs/bulk/Batcher.js.map +1 -1
  372. package/dist/commonjs/bulk/BulkHelper.js +26 -11
  373. package/dist/commonjs/bulk/BulkHelper.js.map +1 -1
  374. package/dist/commonjs/bulk/BulkResponse.js +22 -20
  375. package/dist/commonjs/bulk/BulkResponse.js.map +1 -1
  376. package/dist/commonjs/bulk/CongestionAlgorithm.js +11 -4
  377. package/dist/commonjs/bulk/CongestionAlgorithm.js.map +1 -1
  378. package/dist/commonjs/bulk/HelperPerPartition.js +14 -1
  379. package/dist/commonjs/bulk/HelperPerPartition.js.map +1 -1
  380. package/dist/commonjs/bulk/ItemOperationContext.js +4 -0
  381. package/dist/commonjs/bulk/ItemOperationContext.js.map +1 -1
  382. package/dist/commonjs/bulk/Limiter.js +27 -18
  383. package/dist/commonjs/bulk/Limiter.js.map +1 -1
  384. package/dist/commonjs/bulk/PartitionMetric.js +4 -0
  385. package/dist/commonjs/bulk/PartitionMetric.js.map +1 -1
  386. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  387. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js +29 -15
  388. package/dist/commonjs/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  389. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  390. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js +19 -8
  391. package/dist/commonjs/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  392. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  393. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  394. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +5 -0
  395. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  396. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  397. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  398. package/dist/commonjs/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  399. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  400. package/dist/commonjs/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  401. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js +20 -0
  402. package/dist/commonjs/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  403. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  404. package/dist/commonjs/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  405. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  406. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  407. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  408. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  409. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  410. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  411. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  412. package/dist/commonjs/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  413. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  414. package/dist/commonjs/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  415. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  416. package/dist/commonjs/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  417. package/dist/commonjs/client/ChangeFeed/FeedRange.js +8 -0
  418. package/dist/commonjs/client/ChangeFeed/FeedRange.js.map +1 -1
  419. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js +1 -0
  420. package/dist/commonjs/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  421. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts +1 -0
  422. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  423. package/dist/commonjs/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  424. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  425. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js +6 -5
  426. package/dist/commonjs/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  427. package/dist/commonjs/client/ClientUtils.js +1 -1
  428. package/dist/commonjs/client/ClientUtils.js.map +1 -1
  429. package/dist/commonjs/client/Conflict/Conflict.js +4 -0
  430. package/dist/commonjs/client/Conflict/Conflict.js.map +1 -1
  431. package/dist/commonjs/client/Conflict/ConflictResponse.js +2 -0
  432. package/dist/commonjs/client/Conflict/ConflictResponse.js.map +1 -1
  433. package/dist/commonjs/client/Conflict/Conflicts.js +2 -0
  434. package/dist/commonjs/client/Conflict/Conflicts.js.map +1 -1
  435. package/dist/commonjs/client/Container/Container.js +18 -3
  436. package/dist/commonjs/client/Container/Container.js.map +1 -1
  437. package/dist/commonjs/client/Container/ContainerResponse.js +2 -0
  438. package/dist/commonjs/client/Container/ContainerResponse.js.map +1 -1
  439. package/dist/commonjs/client/Container/Containers.js +4 -2
  440. package/dist/commonjs/client/Container/Containers.js.map +1 -1
  441. package/dist/commonjs/client/Database/Database.js +33 -0
  442. package/dist/commonjs/client/Database/Database.js.map +1 -1
  443. package/dist/commonjs/client/Database/DatabaseResponse.js +2 -0
  444. package/dist/commonjs/client/Database/DatabaseResponse.js.map +1 -1
  445. package/dist/commonjs/client/Database/Databases.js +3 -0
  446. package/dist/commonjs/client/Database/Databases.js.map +1 -1
  447. package/dist/commonjs/client/Item/Item.js +4 -0
  448. package/dist/commonjs/client/Item/Item.js.map +1 -1
  449. package/dist/commonjs/client/Item/ItemResponse.js +2 -0
  450. package/dist/commonjs/client/Item/ItemResponse.js.map +1 -1
  451. package/dist/commonjs/client/Item/Items.d.ts.map +1 -1
  452. package/dist/commonjs/client/Item/Items.js +8 -0
  453. package/dist/commonjs/client/Item/Items.js.map +1 -1
  454. package/dist/commonjs/client/Offer/Offer.js +3 -0
  455. package/dist/commonjs/client/Offer/Offer.js.map +1 -1
  456. package/dist/commonjs/client/Offer/OfferResponse.js +2 -0
  457. package/dist/commonjs/client/Offer/OfferResponse.js.map +1 -1
  458. package/dist/commonjs/client/Offer/Offers.js +2 -0
  459. package/dist/commonjs/client/Offer/Offers.js.map +1 -1
  460. package/dist/commonjs/client/Permission/Permission.js +3 -0
  461. package/dist/commonjs/client/Permission/Permission.js.map +1 -1
  462. package/dist/commonjs/client/Permission/PermissionResponse.js +2 -0
  463. package/dist/commonjs/client/Permission/PermissionResponse.js.map +1 -1
  464. package/dist/commonjs/client/Permission/Permissions.js +2 -0
  465. package/dist/commonjs/client/Permission/Permissions.js.map +1 -1
  466. package/dist/commonjs/client/SasToken/SasTokenProperties.js +17 -0
  467. package/dist/commonjs/client/SasToken/SasTokenProperties.js.map +1 -1
  468. package/dist/commonjs/client/Script/Scripts.js +5 -0
  469. package/dist/commonjs/client/Script/Scripts.js.map +1 -1
  470. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js +3 -0
  471. package/dist/commonjs/client/StoredProcedure/StoredProcedure.js.map +1 -1
  472. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  473. package/dist/commonjs/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  474. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js +2 -0
  475. package/dist/commonjs/client/StoredProcedure/StoredProcedures.js.map +1 -1
  476. package/dist/commonjs/client/Trigger/Trigger.js +3 -0
  477. package/dist/commonjs/client/Trigger/Trigger.js.map +1 -1
  478. package/dist/commonjs/client/Trigger/TriggerResponse.js +2 -0
  479. package/dist/commonjs/client/Trigger/TriggerResponse.js.map +1 -1
  480. package/dist/commonjs/client/Trigger/Triggers.js +2 -0
  481. package/dist/commonjs/client/Trigger/Triggers.js.map +1 -1
  482. package/dist/commonjs/client/User/User.js +9 -0
  483. package/dist/commonjs/client/User/User.js.map +1 -1
  484. package/dist/commonjs/client/User/UserResponse.js +2 -0
  485. package/dist/commonjs/client/User/UserResponse.js.map +1 -1
  486. package/dist/commonjs/client/User/Users.js +2 -0
  487. package/dist/commonjs/client/User/Users.js.map +1 -1
  488. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  489. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  490. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  491. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  492. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  493. package/dist/commonjs/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  494. package/dist/commonjs/common/constants.d.ts +4 -0
  495. package/dist/commonjs/common/constants.d.ts.map +1 -1
  496. package/dist/commonjs/common/constants.js +6 -2
  497. package/dist/commonjs/common/constants.js.map +1 -1
  498. package/dist/commonjs/common/helper.d.ts +6 -0
  499. package/dist/commonjs/common/helper.d.ts.map +1 -1
  500. package/dist/commonjs/common/helper.js +9 -0
  501. package/dist/commonjs/common/helper.js.map +1 -1
  502. package/dist/commonjs/common/platform.d.ts +1 -0
  503. package/dist/commonjs/common/platform.d.ts.map +1 -1
  504. package/dist/commonjs/common/platform.js +1 -3
  505. package/dist/commonjs/common/platform.js.map +1 -1
  506. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js +8 -7
  507. package/dist/commonjs/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  508. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  509. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  510. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js +26 -7
  511. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  512. package/dist/commonjs/diagnostics/DiagnosticWriter.js +1 -3
  513. package/dist/commonjs/diagnostics/DiagnosticWriter.js.map +1 -1
  514. package/dist/commonjs/diagnostics/index.js +2 -2
  515. package/dist/commonjs/diagnostics/index.js.map +1 -1
  516. package/dist/commonjs/documents/ConnectionPolicy.d.ts +10 -4
  517. package/dist/commonjs/documents/ConnectionPolicy.d.ts.map +1 -1
  518. package/dist/commonjs/documents/ConnectionPolicy.js +2 -2
  519. package/dist/commonjs/documents/ConnectionPolicy.js.map +1 -1
  520. package/dist/commonjs/documents/DatabaseAccount.d.ts +4 -0
  521. package/dist/commonjs/documents/DatabaseAccount.d.ts.map +1 -1
  522. package/dist/commonjs/documents/DatabaseAccount.js +29 -4
  523. package/dist/commonjs/documents/DatabaseAccount.js.map +1 -1
  524. package/dist/commonjs/documents/PartitionKey.js +1 -3
  525. package/dist/commonjs/documents/PartitionKey.js.map +1 -1
  526. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -2
  527. package/dist/commonjs/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  528. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  529. package/dist/commonjs/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  530. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js +2 -0
  531. package/dist/commonjs/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  532. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  533. package/dist/commonjs/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  534. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -0
  535. package/dist/commonjs/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -1
  536. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  537. package/dist/commonjs/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  538. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js +24 -27
  539. package/dist/commonjs/encryption/EncryptionItemQueryIterator.js.map +1 -1
  540. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js +7 -2
  541. package/dist/commonjs/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  542. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  543. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  544. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  545. package/dist/commonjs/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  546. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  547. package/dist/commonjs/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  548. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js +8 -1
  549. package/dist/commonjs/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  550. package/dist/commonjs/encryption/EncryptionManager.js +6 -0
  551. package/dist/commonjs/encryption/EncryptionManager.js.map +1 -1
  552. package/dist/commonjs/encryption/EncryptionProcessor.js +5 -0
  553. package/dist/commonjs/encryption/EncryptionProcessor.js.map +1 -1
  554. package/dist/commonjs/encryption/EncryptionQueryBuilder.js +2 -0
  555. package/dist/commonjs/encryption/EncryptionQueryBuilder.js.map +1 -1
  556. package/dist/commonjs/encryption/EncryptionSettingForProperty.js +6 -0
  557. package/dist/commonjs/encryption/EncryptionSettingForProperty.js.map +1 -1
  558. package/dist/commonjs/encryption/EncryptionSettings.js +6 -3
  559. package/dist/commonjs/encryption/EncryptionSettings.js.map +1 -1
  560. package/dist/commonjs/encryption/KeyEncryptionKey.js +4 -0
  561. package/dist/commonjs/encryption/KeyEncryptionKey.js.map +1 -1
  562. package/dist/commonjs/encryption/Serializers/StringSerializer.js +1 -1
  563. package/dist/commonjs/encryption/Serializers/StringSerializer.js.map +1 -1
  564. package/dist/commonjs/extractPartitionKey.js +2 -2
  565. package/dist/commonjs/extractPartitionKey.js.map +1 -1
  566. package/dist/commonjs/globalEndpointManager.d.ts +8 -0
  567. package/dist/commonjs/globalEndpointManager.d.ts.map +1 -1
  568. package/dist/commonjs/globalEndpointManager.js +104 -29
  569. package/dist/commonjs/globalEndpointManager.js.map +1 -1
  570. package/dist/commonjs/globalPartitionEndpointManager.d.ts +0 -2
  571. package/dist/commonjs/globalPartitionEndpointManager.d.ts.map +1 -1
  572. package/dist/commonjs/globalPartitionEndpointManager.js +19 -7
  573. package/dist/commonjs/globalPartitionEndpointManager.js.map +1 -1
  574. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  575. package/dist/commonjs/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  576. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  577. package/dist/commonjs/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  578. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  579. package/dist/commonjs/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  580. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  581. package/dist/commonjs/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  582. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  583. package/dist/commonjs/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  584. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  585. package/dist/commonjs/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  586. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  587. package/dist/commonjs/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  588. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  589. package/dist/commonjs/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  590. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  591. package/dist/commonjs/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  592. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  593. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  594. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  595. package/dist/commonjs/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  596. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  597. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  598. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  599. package/dist/commonjs/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  600. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  601. package/dist/commonjs/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  602. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  603. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  604. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  605. package/dist/commonjs/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  606. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  607. package/dist/commonjs/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  608. package/dist/commonjs/queryExecutionContext/FetchResult.js +4 -0
  609. package/dist/commonjs/queryExecutionContext/FetchResult.js.map +1 -1
  610. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  611. package/dist/commonjs/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  612. package/dist/commonjs/queryExecutionContext/documentProducer.js +34 -21
  613. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  614. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  615. package/dist/commonjs/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  616. package/dist/commonjs/queryExecutionContext/orderByComparator.js +1 -0
  617. package/dist/commonjs/queryExecutionContext/orderByComparator.js.map +1 -1
  618. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  619. package/dist/commonjs/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  620. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  621. package/dist/commonjs/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  622. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  623. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  624. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  625. package/dist/commonjs/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  626. package/dist/commonjs/queryIterator.js +41 -33
  627. package/dist/commonjs/queryIterator.js.map +1 -1
  628. package/dist/commonjs/queryMetrics/clientSideMetrics.js +2 -1
  629. package/dist/commonjs/queryMetrics/clientSideMetrics.js.map +1 -1
  630. package/dist/commonjs/queryMetrics/queryMetrics.js +14 -1
  631. package/dist/commonjs/queryMetrics/queryMetrics.js.map +1 -1
  632. package/dist/commonjs/queryMetrics/queryPreparationTime.js +5 -1
  633. package/dist/commonjs/queryMetrics/queryPreparationTime.js.map +1 -1
  634. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js +4 -1
  635. package/dist/commonjs/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  636. package/dist/commonjs/queryMetrics/timeSpan.js +4 -3
  637. package/dist/commonjs/queryMetrics/timeSpan.js.map +1 -1
  638. package/dist/commonjs/request/ErrorResponse.js +19 -0
  639. package/dist/commonjs/request/ErrorResponse.js.map +1 -1
  640. package/dist/commonjs/request/FeedResponse.js +4 -0
  641. package/dist/commonjs/request/FeedResponse.js.map +1 -1
  642. package/dist/commonjs/request/RequestHandler.js +3 -4
  643. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  644. package/dist/commonjs/request/ResourceResponse.js +5 -0
  645. package/dist/commonjs/request/ResourceResponse.js.map +1 -1
  646. package/dist/commonjs/request/SharedOptions.d.ts +5 -0
  647. package/dist/commonjs/request/SharedOptions.d.ts.map +1 -1
  648. package/dist/commonjs/request/SharedOptions.js.map +1 -1
  649. package/dist/commonjs/request/TimeoutError.js +1 -1
  650. package/dist/commonjs/request/TimeoutError.js.map +1 -1
  651. package/dist/commonjs/request/hybridSearchQueryResult.js +5 -0
  652. package/dist/commonjs/request/hybridSearchQueryResult.js.map +1 -1
  653. package/dist/commonjs/request/request.js +5 -1
  654. package/dist/commonjs/request/request.js.map +1 -1
  655. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js +5 -2
  656. package/dist/commonjs/retry/bulkExecutionRetryPolicy.js.map +1 -1
  657. package/dist/commonjs/retry/defaultRetryPolicy.d.ts.map +1 -1
  658. package/dist/commonjs/retry/defaultRetryPolicy.js +6 -6
  659. package/dist/commonjs/retry/defaultRetryPolicy.js.map +1 -1
  660. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts +3 -2
  661. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  662. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +24 -7
  663. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  664. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js +20 -10
  665. package/dist/commonjs/retry/resourceThrottleRetryPolicy.js.map +1 -1
  666. package/dist/commonjs/retry/retryUtility.d.ts.map +1 -1
  667. package/dist/commonjs/retry/retryUtility.js +22 -8
  668. package/dist/commonjs/retry/retryUtility.js.map +1 -1
  669. package/dist/commonjs/retry/sessionRetryPolicy.js +8 -4
  670. package/dist/commonjs/retry/sessionRetryPolicy.js.map +1 -1
  671. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts +1 -2
  672. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  673. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +17 -7
  674. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  675. package/dist/commonjs/routing/QueryRange.js +4 -0
  676. package/dist/commonjs/routing/QueryRange.js.map +1 -1
  677. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js +4 -0
  678. package/dist/commonjs/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  679. package/dist/commonjs/routing/partitionKeyRangeCache.js +2 -0
  680. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +1 -1
  681. package/dist/commonjs/routing/smartRoutingMapProvider.js +1 -0
  682. package/dist/commonjs/routing/smartRoutingMapProvider.js.map +1 -1
  683. package/dist/commonjs/session/VectorSessionToken.js +6 -2
  684. package/dist/commonjs/session/VectorSessionToken.js.map +1 -1
  685. package/dist/commonjs/session/sessionContainer.js +5 -3
  686. package/dist/commonjs/session/sessionContainer.js.map +1 -1
  687. package/dist/commonjs/tsdoc-metadata.json +1 -1
  688. package/dist/commonjs/utils/batch.js +15 -4
  689. package/dist/commonjs/utils/batch.js.map +1 -1
  690. package/dist/commonjs/utils/encode.d.ts +1 -1
  691. package/dist/commonjs/utils/encode.d.ts.map +1 -1
  692. package/dist/commonjs/utils/encode.js.map +1 -1
  693. package/dist/commonjs/utils/fixedSizePriorityQueue.js +4 -0
  694. package/dist/commonjs/utils/fixedSizePriorityQueue.js.map +1 -1
  695. package/dist/commonjs/utils/hashing/hash.js +1 -1
  696. package/dist/commonjs/utils/hashing/hash.js.map +1 -1
  697. package/dist/commonjs/utils/nonStreamingOrderByMap.js +2 -0
  698. package/dist/commonjs/utils/nonStreamingOrderByMap.js.map +1 -1
  699. package/dist/esm/ChangeFeedIterator.js +17 -11
  700. package/dist/esm/ChangeFeedIterator.js.map +1 -1
  701. package/dist/esm/ChangeFeedResponse.js +8 -0
  702. package/dist/esm/ChangeFeedResponse.js.map +1 -1
  703. package/dist/esm/ClientContext.d.ts.map +1 -1
  704. package/dist/esm/ClientContext.js +232 -48
  705. package/dist/esm/ClientContext.js.map +1 -1
  706. package/dist/esm/CosmosClient.d.ts +13 -0
  707. package/dist/esm/CosmosClient.d.ts.map +1 -1
  708. package/dist/esm/CosmosClient.js +53 -6
  709. package/dist/esm/CosmosClient.js.map +1 -1
  710. package/dist/esm/CosmosClientOptions.d.ts.map +1 -1
  711. package/dist/esm/CosmosClientOptions.js.map +1 -1
  712. package/dist/esm/CosmosDiagnostics.d.ts +4 -0
  713. package/dist/esm/CosmosDiagnostics.d.ts.map +1 -1
  714. package/dist/esm/CosmosDiagnostics.js +3 -0
  715. package/dist/esm/CosmosDiagnostics.js.map +1 -1
  716. package/dist/esm/GlobalEndpointManagerOptions.d.ts +2 -0
  717. package/dist/esm/GlobalEndpointManagerOptions.d.ts.map +1 -0
  718. package/dist/esm/GlobalEndpointManagerOptions.js +2 -0
  719. package/dist/esm/GlobalEndpointManagerOptions.js.map +1 -0
  720. package/dist/esm/PartitionKeyRangeFailoverInfo.js +8 -5
  721. package/dist/esm/PartitionKeyRangeFailoverInfo.js.map +1 -1
  722. package/dist/esm/bulk/Batcher.js +13 -3
  723. package/dist/esm/bulk/Batcher.js.map +1 -1
  724. package/dist/esm/bulk/BulkHelper.js +26 -11
  725. package/dist/esm/bulk/BulkHelper.js.map +1 -1
  726. package/dist/esm/bulk/BulkResponse.js +22 -20
  727. package/dist/esm/bulk/BulkResponse.js.map +1 -1
  728. package/dist/esm/bulk/CongestionAlgorithm.js +11 -4
  729. package/dist/esm/bulk/CongestionAlgorithm.js.map +1 -1
  730. package/dist/esm/bulk/HelperPerPartition.js +14 -1
  731. package/dist/esm/bulk/HelperPerPartition.js.map +1 -1
  732. package/dist/esm/bulk/ItemOperationContext.js +4 -0
  733. package/dist/esm/bulk/ItemOperationContext.js.map +1 -1
  734. package/dist/esm/bulk/Limiter.js +27 -18
  735. package/dist/esm/bulk/Limiter.js.map +1 -1
  736. package/dist/esm/bulk/PartitionMetric.js +4 -0
  737. package/dist/esm/bulk/PartitionMetric.js.map +1 -1
  738. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  739. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js +29 -15
  740. package/dist/esm/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  741. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  742. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js +19 -8
  743. package/dist/esm/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  744. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  745. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  746. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +5 -0
  747. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  748. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  749. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  750. package/dist/esm/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  751. package/dist/esm/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  752. package/dist/esm/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  753. package/dist/esm/client/ChangeFeed/ChangeFeedRange.js +20 -0
  754. package/dist/esm/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  755. package/dist/esm/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  756. package/dist/esm/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  757. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  758. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  759. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  760. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  761. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  762. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  763. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  764. package/dist/esm/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  765. package/dist/esm/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  766. package/dist/esm/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  767. package/dist/esm/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  768. package/dist/esm/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  769. package/dist/esm/client/ChangeFeed/FeedRange.js +8 -0
  770. package/dist/esm/client/ChangeFeed/FeedRange.js.map +1 -1
  771. package/dist/esm/client/ChangeFeed/FeedRangeQueue.js +1 -0
  772. package/dist/esm/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  773. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts +1 -0
  774. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  775. package/dist/esm/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  776. package/dist/esm/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  777. package/dist/esm/client/ChangeFeed/changeFeedUtils.js +6 -5
  778. package/dist/esm/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  779. package/dist/esm/client/ClientUtils.js +1 -1
  780. package/dist/esm/client/ClientUtils.js.map +1 -1
  781. package/dist/esm/client/Conflict/Conflict.js +4 -0
  782. package/dist/esm/client/Conflict/Conflict.js.map +1 -1
  783. package/dist/esm/client/Conflict/ConflictResponse.js +2 -0
  784. package/dist/esm/client/Conflict/ConflictResponse.js.map +1 -1
  785. package/dist/esm/client/Conflict/Conflicts.js +2 -0
  786. package/dist/esm/client/Conflict/Conflicts.js.map +1 -1
  787. package/dist/esm/client/Container/Container.js +18 -3
  788. package/dist/esm/client/Container/Container.js.map +1 -1
  789. package/dist/esm/client/Container/ContainerResponse.js +2 -0
  790. package/dist/esm/client/Container/ContainerResponse.js.map +1 -1
  791. package/dist/esm/client/Container/Containers.js +4 -2
  792. package/dist/esm/client/Container/Containers.js.map +1 -1
  793. package/dist/esm/client/Database/Database.js +33 -0
  794. package/dist/esm/client/Database/Database.js.map +1 -1
  795. package/dist/esm/client/Database/DatabaseResponse.js +2 -0
  796. package/dist/esm/client/Database/DatabaseResponse.js.map +1 -1
  797. package/dist/esm/client/Database/Databases.js +3 -0
  798. package/dist/esm/client/Database/Databases.js.map +1 -1
  799. package/dist/esm/client/Item/Item.js +4 -0
  800. package/dist/esm/client/Item/Item.js.map +1 -1
  801. package/dist/esm/client/Item/ItemResponse.js +2 -0
  802. package/dist/esm/client/Item/ItemResponse.js.map +1 -1
  803. package/dist/esm/client/Item/Items.d.ts.map +1 -1
  804. package/dist/esm/client/Item/Items.js +8 -0
  805. package/dist/esm/client/Item/Items.js.map +1 -1
  806. package/dist/esm/client/Offer/Offer.js +3 -0
  807. package/dist/esm/client/Offer/Offer.js.map +1 -1
  808. package/dist/esm/client/Offer/OfferResponse.js +2 -0
  809. package/dist/esm/client/Offer/OfferResponse.js.map +1 -1
  810. package/dist/esm/client/Offer/Offers.js +2 -0
  811. package/dist/esm/client/Offer/Offers.js.map +1 -1
  812. package/dist/esm/client/Permission/Permission.js +3 -0
  813. package/dist/esm/client/Permission/Permission.js.map +1 -1
  814. package/dist/esm/client/Permission/PermissionResponse.js +2 -0
  815. package/dist/esm/client/Permission/PermissionResponse.js.map +1 -1
  816. package/dist/esm/client/Permission/Permissions.js +2 -0
  817. package/dist/esm/client/Permission/Permissions.js.map +1 -1
  818. package/dist/esm/client/SasToken/SasTokenProperties.js +17 -0
  819. package/dist/esm/client/SasToken/SasTokenProperties.js.map +1 -1
  820. package/dist/esm/client/Script/Scripts.js +5 -0
  821. package/dist/esm/client/Script/Scripts.js.map +1 -1
  822. package/dist/esm/client/StoredProcedure/StoredProcedure.js +3 -0
  823. package/dist/esm/client/StoredProcedure/StoredProcedure.js.map +1 -1
  824. package/dist/esm/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  825. package/dist/esm/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  826. package/dist/esm/client/StoredProcedure/StoredProcedures.js +2 -0
  827. package/dist/esm/client/StoredProcedure/StoredProcedures.js.map +1 -1
  828. package/dist/esm/client/Trigger/Trigger.js +3 -0
  829. package/dist/esm/client/Trigger/Trigger.js.map +1 -1
  830. package/dist/esm/client/Trigger/TriggerResponse.js +2 -0
  831. package/dist/esm/client/Trigger/TriggerResponse.js.map +1 -1
  832. package/dist/esm/client/Trigger/Triggers.js +2 -0
  833. package/dist/esm/client/Trigger/Triggers.js.map +1 -1
  834. package/dist/esm/client/User/User.js +9 -0
  835. package/dist/esm/client/User/User.js.map +1 -1
  836. package/dist/esm/client/User/UserResponse.js +2 -0
  837. package/dist/esm/client/User/UserResponse.js.map +1 -1
  838. package/dist/esm/client/User/Users.js +2 -0
  839. package/dist/esm/client/User/Users.js.map +1 -1
  840. package/dist/esm/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  841. package/dist/esm/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  842. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  843. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  844. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  845. package/dist/esm/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  846. package/dist/esm/common/constants.d.ts +4 -0
  847. package/dist/esm/common/constants.d.ts.map +1 -1
  848. package/dist/esm/common/constants.js +5 -1
  849. package/dist/esm/common/constants.js.map +1 -1
  850. package/dist/esm/common/helper.d.ts +6 -0
  851. package/dist/esm/common/helper.d.ts.map +1 -1
  852. package/dist/esm/common/helper.js +9 -1
  853. package/dist/esm/common/helper.js.map +1 -1
  854. package/dist/esm/common/platform.d.ts +1 -0
  855. package/dist/esm/common/platform.d.ts.map +1 -1
  856. package/dist/esm/common/platform.js +1 -3
  857. package/dist/esm/common/platform.js.map +1 -1
  858. package/dist/esm/diagnostics/CosmosDiagnosticsContext.js +8 -7
  859. package/dist/esm/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  860. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  861. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  862. package/dist/esm/diagnostics/DiagnosticNodeInternal.js +26 -7
  863. package/dist/esm/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  864. package/dist/esm/diagnostics/DiagnosticWriter.js +1 -3
  865. package/dist/esm/diagnostics/DiagnosticWriter.js.map +1 -1
  866. package/dist/esm/diagnostics/index.js +2 -2
  867. package/dist/esm/diagnostics/index.js.map +1 -1
  868. package/dist/esm/documents/ConnectionPolicy.d.ts +10 -4
  869. package/dist/esm/documents/ConnectionPolicy.d.ts.map +1 -1
  870. package/dist/esm/documents/ConnectionPolicy.js +2 -2
  871. package/dist/esm/documents/ConnectionPolicy.js.map +1 -1
  872. package/dist/esm/documents/DatabaseAccount.d.ts +4 -0
  873. package/dist/esm/documents/DatabaseAccount.d.ts.map +1 -1
  874. package/dist/esm/documents/DatabaseAccount.js +29 -4
  875. package/dist/esm/documents/DatabaseAccount.js.map +1 -1
  876. package/dist/esm/documents/PartitionKey.js +1 -3
  877. package/dist/esm/documents/PartitionKey.js.map +1 -1
  878. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -2
  879. package/dist/esm/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  880. package/dist/esm/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  881. package/dist/esm/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  882. package/dist/esm/encryption/Cache/EncryptionSettingsCache.js +2 -0
  883. package/dist/esm/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  884. package/dist/esm/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  885. package/dist/esm/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  886. package/dist/esm/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -0
  887. package/dist/esm/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -1
  888. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  889. package/dist/esm/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  890. package/dist/esm/encryption/EncryptionItemQueryIterator.js +24 -27
  891. package/dist/esm/encryption/EncryptionItemQueryIterator.js.map +1 -1
  892. package/dist/esm/encryption/EncryptionKey/DataEncryptionKey.js +7 -2
  893. package/dist/esm/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  894. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  895. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  896. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  897. package/dist/esm/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  898. package/dist/esm/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  899. package/dist/esm/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  900. package/dist/esm/encryption/EncryptionKeyStoreProvider.js +8 -1
  901. package/dist/esm/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  902. package/dist/esm/encryption/EncryptionManager.js +6 -0
  903. package/dist/esm/encryption/EncryptionManager.js.map +1 -1
  904. package/dist/esm/encryption/EncryptionProcessor.js +5 -0
  905. package/dist/esm/encryption/EncryptionProcessor.js.map +1 -1
  906. package/dist/esm/encryption/EncryptionQueryBuilder.js +2 -0
  907. package/dist/esm/encryption/EncryptionQueryBuilder.js.map +1 -1
  908. package/dist/esm/encryption/EncryptionSettingForProperty.js +6 -0
  909. package/dist/esm/encryption/EncryptionSettingForProperty.js.map +1 -1
  910. package/dist/esm/encryption/EncryptionSettings.js +6 -3
  911. package/dist/esm/encryption/EncryptionSettings.js.map +1 -1
  912. package/dist/esm/encryption/KeyEncryptionKey.js +4 -0
  913. package/dist/esm/encryption/KeyEncryptionKey.js.map +1 -1
  914. package/dist/esm/encryption/Serializers/StringSerializer.js +1 -1
  915. package/dist/esm/encryption/Serializers/StringSerializer.js.map +1 -1
  916. package/dist/esm/extractPartitionKey.js +2 -2
  917. package/dist/esm/extractPartitionKey.js.map +1 -1
  918. package/dist/esm/globalEndpointManager.d.ts +8 -0
  919. package/dist/esm/globalEndpointManager.d.ts.map +1 -1
  920. package/dist/esm/globalEndpointManager.js +104 -29
  921. package/dist/esm/globalEndpointManager.js.map +1 -1
  922. package/dist/esm/globalPartitionEndpointManager.d.ts +0 -2
  923. package/dist/esm/globalPartitionEndpointManager.d.ts.map +1 -1
  924. package/dist/esm/globalPartitionEndpointManager.js +19 -7
  925. package/dist/esm/globalPartitionEndpointManager.js.map +1 -1
  926. package/dist/esm/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  927. package/dist/esm/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  928. package/dist/esm/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  929. package/dist/esm/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  930. package/dist/esm/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  931. package/dist/esm/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  932. package/dist/esm/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  933. package/dist/esm/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  934. package/dist/esm/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  935. package/dist/esm/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  936. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  937. package/dist/esm/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  938. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  939. package/dist/esm/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  940. package/dist/esm/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  941. package/dist/esm/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  942. package/dist/esm/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  943. package/dist/esm/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  944. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  945. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  946. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  947. package/dist/esm/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  948. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  949. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  950. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  951. package/dist/esm/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  952. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  953. package/dist/esm/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  954. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  955. package/dist/esm/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  956. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  957. package/dist/esm/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  958. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  959. package/dist/esm/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  960. package/dist/esm/queryExecutionContext/FetchResult.js +4 -0
  961. package/dist/esm/queryExecutionContext/FetchResult.js.map +1 -1
  962. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  963. package/dist/esm/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  964. package/dist/esm/queryExecutionContext/documentProducer.js +34 -21
  965. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  966. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  967. package/dist/esm/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  968. package/dist/esm/queryExecutionContext/orderByComparator.js +1 -0
  969. package/dist/esm/queryExecutionContext/orderByComparator.js.map +1 -1
  970. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  971. package/dist/esm/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  972. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  973. package/dist/esm/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  974. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  975. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  976. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  977. package/dist/esm/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  978. package/dist/esm/queryIterator.js +41 -33
  979. package/dist/esm/queryIterator.js.map +1 -1
  980. package/dist/esm/queryMetrics/clientSideMetrics.js +2 -1
  981. package/dist/esm/queryMetrics/clientSideMetrics.js.map +1 -1
  982. package/dist/esm/queryMetrics/queryMetrics.js +14 -1
  983. package/dist/esm/queryMetrics/queryMetrics.js.map +1 -1
  984. package/dist/esm/queryMetrics/queryPreparationTime.js +5 -1
  985. package/dist/esm/queryMetrics/queryPreparationTime.js.map +1 -1
  986. package/dist/esm/queryMetrics/runtimeExecutionTimes.js +4 -1
  987. package/dist/esm/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  988. package/dist/esm/queryMetrics/timeSpan.js +4 -3
  989. package/dist/esm/queryMetrics/timeSpan.js.map +1 -1
  990. package/dist/esm/request/ErrorResponse.js +19 -0
  991. package/dist/esm/request/ErrorResponse.js.map +1 -1
  992. package/dist/esm/request/FeedResponse.js +4 -0
  993. package/dist/esm/request/FeedResponse.js.map +1 -1
  994. package/dist/esm/request/RequestHandler.js +3 -4
  995. package/dist/esm/request/RequestHandler.js.map +1 -1
  996. package/dist/esm/request/ResourceResponse.js +5 -0
  997. package/dist/esm/request/ResourceResponse.js.map +1 -1
  998. package/dist/esm/request/SharedOptions.d.ts +5 -0
  999. package/dist/esm/request/SharedOptions.d.ts.map +1 -1
  1000. package/dist/esm/request/SharedOptions.js.map +1 -1
  1001. package/dist/esm/request/TimeoutError.js +1 -1
  1002. package/dist/esm/request/TimeoutError.js.map +1 -1
  1003. package/dist/esm/request/hybridSearchQueryResult.js +5 -0
  1004. package/dist/esm/request/hybridSearchQueryResult.js.map +1 -1
  1005. package/dist/esm/request/request.js +5 -1
  1006. package/dist/esm/request/request.js.map +1 -1
  1007. package/dist/esm/retry/bulkExecutionRetryPolicy.js +5 -2
  1008. package/dist/esm/retry/bulkExecutionRetryPolicy.js.map +1 -1
  1009. package/dist/esm/retry/defaultRetryPolicy.d.ts.map +1 -1
  1010. package/dist/esm/retry/defaultRetryPolicy.js +7 -7
  1011. package/dist/esm/retry/defaultRetryPolicy.js.map +1 -1
  1012. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts +3 -2
  1013. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1014. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js +24 -7
  1015. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1016. package/dist/esm/retry/resourceThrottleRetryPolicy.js +20 -10
  1017. package/dist/esm/retry/resourceThrottleRetryPolicy.js.map +1 -1
  1018. package/dist/esm/retry/retryUtility.d.ts.map +1 -1
  1019. package/dist/esm/retry/retryUtility.js +22 -8
  1020. package/dist/esm/retry/retryUtility.js.map +1 -1
  1021. package/dist/esm/retry/sessionRetryPolicy.js +8 -4
  1022. package/dist/esm/retry/sessionRetryPolicy.js.map +1 -1
  1023. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts +1 -2
  1024. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1025. package/dist/esm/retry/timeoutFailoverRetryPolicy.js +17 -7
  1026. package/dist/esm/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1027. package/dist/esm/routing/QueryRange.js +4 -0
  1028. package/dist/esm/routing/QueryRange.js.map +1 -1
  1029. package/dist/esm/routing/inMemoryCollectionRoutingMap.js +4 -0
  1030. package/dist/esm/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  1031. package/dist/esm/routing/partitionKeyRangeCache.js +2 -0
  1032. package/dist/esm/routing/partitionKeyRangeCache.js.map +1 -1
  1033. package/dist/esm/routing/smartRoutingMapProvider.js +1 -0
  1034. package/dist/esm/routing/smartRoutingMapProvider.js.map +1 -1
  1035. package/dist/esm/session/VectorSessionToken.js +6 -2
  1036. package/dist/esm/session/VectorSessionToken.js.map +1 -1
  1037. package/dist/esm/session/sessionContainer.js +5 -3
  1038. package/dist/esm/session/sessionContainer.js.map +1 -1
  1039. package/dist/esm/utils/batch.js +15 -4
  1040. package/dist/esm/utils/batch.js.map +1 -1
  1041. package/dist/esm/utils/encode.d.ts +1 -1
  1042. package/dist/esm/utils/encode.d.ts.map +1 -1
  1043. package/dist/esm/utils/encode.js.map +1 -1
  1044. package/dist/esm/utils/fixedSizePriorityQueue.js +4 -0
  1045. package/dist/esm/utils/fixedSizePriorityQueue.js.map +1 -1
  1046. package/dist/esm/utils/hashing/hash.js +1 -1
  1047. package/dist/esm/utils/hashing/hash.js.map +1 -1
  1048. package/dist/esm/utils/nonStreamingOrderByMap.js +2 -0
  1049. package/dist/esm/utils/nonStreamingOrderByMap.js.map +1 -1
  1050. package/dist/react-native/ChangeFeedIterator.js +17 -11
  1051. package/dist/react-native/ChangeFeedIterator.js.map +1 -1
  1052. package/dist/react-native/ChangeFeedResponse.js +8 -0
  1053. package/dist/react-native/ChangeFeedResponse.js.map +1 -1
  1054. package/dist/react-native/ClientContext.d.ts.map +1 -1
  1055. package/dist/react-native/ClientContext.js +232 -48
  1056. package/dist/react-native/ClientContext.js.map +1 -1
  1057. package/dist/react-native/CosmosClient.d.ts +13 -0
  1058. package/dist/react-native/CosmosClient.d.ts.map +1 -1
  1059. package/dist/react-native/CosmosClient.js +53 -6
  1060. package/dist/react-native/CosmosClient.js.map +1 -1
  1061. package/dist/react-native/CosmosClientOptions.d.ts.map +1 -1
  1062. package/dist/react-native/CosmosClientOptions.js.map +1 -1
  1063. package/dist/react-native/CosmosDiagnostics.d.ts +4 -0
  1064. package/dist/react-native/CosmosDiagnostics.d.ts.map +1 -1
  1065. package/dist/react-native/CosmosDiagnostics.js +3 -0
  1066. package/dist/react-native/CosmosDiagnostics.js.map +1 -1
  1067. package/dist/react-native/GlobalEndpointManagerOptions.d.ts +2 -0
  1068. package/dist/react-native/GlobalEndpointManagerOptions.d.ts.map +1 -0
  1069. package/dist/react-native/GlobalEndpointManagerOptions.js +2 -0
  1070. package/dist/react-native/GlobalEndpointManagerOptions.js.map +1 -0
  1071. package/dist/react-native/PartitionKeyRangeFailoverInfo.js +8 -5
  1072. package/dist/react-native/PartitionKeyRangeFailoverInfo.js.map +1 -1
  1073. package/dist/react-native/bulk/Batcher.js +13 -3
  1074. package/dist/react-native/bulk/Batcher.js.map +1 -1
  1075. package/dist/react-native/bulk/BulkHelper.js +26 -11
  1076. package/dist/react-native/bulk/BulkHelper.js.map +1 -1
  1077. package/dist/react-native/bulk/BulkResponse.js +22 -20
  1078. package/dist/react-native/bulk/BulkResponse.js.map +1 -1
  1079. package/dist/react-native/bulk/CongestionAlgorithm.js +11 -4
  1080. package/dist/react-native/bulk/CongestionAlgorithm.js.map +1 -1
  1081. package/dist/react-native/bulk/HelperPerPartition.js +14 -1
  1082. package/dist/react-native/bulk/HelperPerPartition.js.map +1 -1
  1083. package/dist/react-native/bulk/ItemOperationContext.js +4 -0
  1084. package/dist/react-native/bulk/ItemOperationContext.js.map +1 -1
  1085. package/dist/react-native/bulk/Limiter.js +27 -18
  1086. package/dist/react-native/bulk/Limiter.js.map +1 -1
  1087. package/dist/react-native/bulk/PartitionMetric.js +4 -0
  1088. package/dist/react-native/bulk/PartitionMetric.js.map +1 -1
  1089. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.d.ts.map +1 -1
  1090. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js +29 -15
  1091. package/dist/react-native/client/ChangeFeed/ChangeFeedForEpkRange.js.map +1 -1
  1092. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.d.ts.map +1 -1
  1093. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js +19 -8
  1094. package/dist/react-native/client/ChangeFeed/ChangeFeedForPartitionKey.js.map +1 -1
  1095. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorBuilder.js +12 -9
  1096. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorBuilder.js.map +1 -1
  1097. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts +5 -0
  1098. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.d.ts.map +1 -1
  1099. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorOptions.js.map +1 -1
  1100. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorResponse.js +9 -0
  1101. package/dist/react-native/client/ChangeFeed/ChangeFeedIteratorResponse.js.map +1 -1
  1102. package/dist/react-native/client/ChangeFeed/ChangeFeedPolicy.js +1 -0
  1103. package/dist/react-native/client/ChangeFeed/ChangeFeedPolicy.js.map +1 -1
  1104. package/dist/react-native/client/ChangeFeed/ChangeFeedRange.js +20 -0
  1105. package/dist/react-native/client/ChangeFeed/ChangeFeedRange.js.map +1 -1
  1106. package/dist/react-native/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js +1 -0
  1107. package/dist/react-native/client/ChangeFeed/ChangeFeedRetentionTimeSpan.js.map +1 -1
  1108. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromBeginning.js +1 -0
  1109. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromBeginning.js.map +1 -1
  1110. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromContinuation.js +1 -0
  1111. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromContinuation.js.map +1 -1
  1112. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromNow.js +1 -0
  1113. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromNow.js.map +1 -1
  1114. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromTime.js +2 -0
  1115. package/dist/react-native/client/ChangeFeed/ChangeFeedStartFromTime.js.map +1 -1
  1116. package/dist/react-native/client/ChangeFeed/CompositeContinuationToken.js +8 -0
  1117. package/dist/react-native/client/ChangeFeed/CompositeContinuationToken.js.map +1 -1
  1118. package/dist/react-native/client/ChangeFeed/ContinuationTokenForPartitionKey.js +12 -0
  1119. package/dist/react-native/client/ChangeFeed/ContinuationTokenForPartitionKey.js.map +1 -1
  1120. package/dist/react-native/client/ChangeFeed/FeedRange.js +8 -0
  1121. package/dist/react-native/client/ChangeFeed/FeedRange.js.map +1 -1
  1122. package/dist/react-native/client/ChangeFeed/FeedRangeQueue.js +1 -0
  1123. package/dist/react-native/client/ChangeFeed/FeedRangeQueue.js.map +1 -1
  1124. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts +1 -0
  1125. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.d.ts.map +1 -1
  1126. package/dist/react-native/client/ChangeFeed/InternalChangeFeedOptions.js.map +1 -1
  1127. package/dist/react-native/client/ChangeFeed/changeFeedUtils.d.ts.map +1 -1
  1128. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js +6 -5
  1129. package/dist/react-native/client/ChangeFeed/changeFeedUtils.js.map +1 -1
  1130. package/dist/react-native/client/ClientUtils.js +1 -1
  1131. package/dist/react-native/client/ClientUtils.js.map +1 -1
  1132. package/dist/react-native/client/Conflict/Conflict.js +4 -0
  1133. package/dist/react-native/client/Conflict/Conflict.js.map +1 -1
  1134. package/dist/react-native/client/Conflict/ConflictResponse.js +2 -0
  1135. package/dist/react-native/client/Conflict/ConflictResponse.js.map +1 -1
  1136. package/dist/react-native/client/Conflict/Conflicts.js +2 -0
  1137. package/dist/react-native/client/Conflict/Conflicts.js.map +1 -1
  1138. package/dist/react-native/client/Container/Container.js +18 -3
  1139. package/dist/react-native/client/Container/Container.js.map +1 -1
  1140. package/dist/react-native/client/Container/ContainerResponse.js +2 -0
  1141. package/dist/react-native/client/Container/ContainerResponse.js.map +1 -1
  1142. package/dist/react-native/client/Container/Containers.js +4 -2
  1143. package/dist/react-native/client/Container/Containers.js.map +1 -1
  1144. package/dist/react-native/client/Database/Database.js +33 -0
  1145. package/dist/react-native/client/Database/Database.js.map +1 -1
  1146. package/dist/react-native/client/Database/DatabaseResponse.js +2 -0
  1147. package/dist/react-native/client/Database/DatabaseResponse.js.map +1 -1
  1148. package/dist/react-native/client/Database/Databases.js +3 -0
  1149. package/dist/react-native/client/Database/Databases.js.map +1 -1
  1150. package/dist/react-native/client/Item/Item.js +4 -0
  1151. package/dist/react-native/client/Item/Item.js.map +1 -1
  1152. package/dist/react-native/client/Item/ItemResponse.js +2 -0
  1153. package/dist/react-native/client/Item/ItemResponse.js.map +1 -1
  1154. package/dist/react-native/client/Item/Items.d.ts.map +1 -1
  1155. package/dist/react-native/client/Item/Items.js +8 -0
  1156. package/dist/react-native/client/Item/Items.js.map +1 -1
  1157. package/dist/react-native/client/Offer/Offer.js +3 -0
  1158. package/dist/react-native/client/Offer/Offer.js.map +1 -1
  1159. package/dist/react-native/client/Offer/OfferResponse.js +2 -0
  1160. package/dist/react-native/client/Offer/OfferResponse.js.map +1 -1
  1161. package/dist/react-native/client/Offer/Offers.js +2 -0
  1162. package/dist/react-native/client/Offer/Offers.js.map +1 -1
  1163. package/dist/react-native/client/Permission/Permission.js +3 -0
  1164. package/dist/react-native/client/Permission/Permission.js.map +1 -1
  1165. package/dist/react-native/client/Permission/PermissionResponse.js +2 -0
  1166. package/dist/react-native/client/Permission/PermissionResponse.js.map +1 -1
  1167. package/dist/react-native/client/Permission/Permissions.js +2 -0
  1168. package/dist/react-native/client/Permission/Permissions.js.map +1 -1
  1169. package/dist/react-native/client/SasToken/SasTokenProperties.js +17 -0
  1170. package/dist/react-native/client/SasToken/SasTokenProperties.js.map +1 -1
  1171. package/dist/react-native/client/Script/Scripts.js +5 -0
  1172. package/dist/react-native/client/Script/Scripts.js.map +1 -1
  1173. package/dist/react-native/client/StoredProcedure/StoredProcedure.js +3 -0
  1174. package/dist/react-native/client/StoredProcedure/StoredProcedure.js.map +1 -1
  1175. package/dist/react-native/client/StoredProcedure/StoredProcedureResponse.js +4 -0
  1176. package/dist/react-native/client/StoredProcedure/StoredProcedureResponse.js.map +1 -1
  1177. package/dist/react-native/client/StoredProcedure/StoredProcedures.js +2 -0
  1178. package/dist/react-native/client/StoredProcedure/StoredProcedures.js.map +1 -1
  1179. package/dist/react-native/client/Trigger/Trigger.js +3 -0
  1180. package/dist/react-native/client/Trigger/Trigger.js.map +1 -1
  1181. package/dist/react-native/client/Trigger/TriggerResponse.js +2 -0
  1182. package/dist/react-native/client/Trigger/TriggerResponse.js.map +1 -1
  1183. package/dist/react-native/client/Trigger/Triggers.js +2 -0
  1184. package/dist/react-native/client/Trigger/Triggers.js.map +1 -1
  1185. package/dist/react-native/client/User/User.js +9 -0
  1186. package/dist/react-native/client/User/User.js.map +1 -1
  1187. package/dist/react-native/client/User/UserResponse.js +2 -0
  1188. package/dist/react-native/client/User/UserResponse.js.map +1 -1
  1189. package/dist/react-native/client/User/Users.js +2 -0
  1190. package/dist/react-native/client/User/Users.js.map +1 -1
  1191. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunction.js +3 -0
  1192. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunction.js.map +1 -1
  1193. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctionResponse.js +2 -0
  1194. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctionResponse.js.map +1 -1
  1195. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctions.js +2 -0
  1196. package/dist/react-native/client/UserDefinedFunction/UserDefinedFunctions.js.map +1 -1
  1197. package/dist/react-native/common/constants.d.ts +4 -0
  1198. package/dist/react-native/common/constants.d.ts.map +1 -1
  1199. package/dist/react-native/common/constants.js +5 -1
  1200. package/dist/react-native/common/constants.js.map +1 -1
  1201. package/dist/react-native/common/helper.d.ts +6 -0
  1202. package/dist/react-native/common/helper.d.ts.map +1 -1
  1203. package/dist/react-native/common/helper.js +9 -1
  1204. package/dist/react-native/common/helper.js.map +1 -1
  1205. package/dist/react-native/common/platform.d.ts +1 -0
  1206. package/dist/react-native/common/platform.d.ts.map +1 -1
  1207. package/dist/react-native/common/platform.js +1 -3
  1208. package/dist/react-native/common/platform.js.map +1 -1
  1209. package/dist/react-native/diagnostics/CosmosDiagnosticsContext.js +8 -7
  1210. package/dist/react-native/diagnostics/CosmosDiagnosticsContext.js.map +1 -1
  1211. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  1212. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  1213. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js +26 -7
  1214. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  1215. package/dist/react-native/diagnostics/DiagnosticWriter.js +1 -3
  1216. package/dist/react-native/diagnostics/DiagnosticWriter.js.map +1 -1
  1217. package/dist/react-native/diagnostics/index.js +2 -2
  1218. package/dist/react-native/diagnostics/index.js.map +1 -1
  1219. package/dist/react-native/documents/ConnectionPolicy.d.ts +10 -4
  1220. package/dist/react-native/documents/ConnectionPolicy.d.ts.map +1 -1
  1221. package/dist/react-native/documents/ConnectionPolicy.js +2 -2
  1222. package/dist/react-native/documents/ConnectionPolicy.js.map +1 -1
  1223. package/dist/react-native/documents/DatabaseAccount.d.ts +4 -0
  1224. package/dist/react-native/documents/DatabaseAccount.d.ts.map +1 -1
  1225. package/dist/react-native/documents/DatabaseAccount.js +29 -4
  1226. package/dist/react-native/documents/DatabaseAccount.js.map +1 -1
  1227. package/dist/react-native/documents/PartitionKey.js +1 -3
  1228. package/dist/react-native/documents/PartitionKey.js.map +1 -1
  1229. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js +8 -2
  1230. package/dist/react-native/encryption/AeadAes256CbcHmacSha256Algorithm/AeadAes256CbcHmacSha256Algorithm.js.map +1 -1
  1231. package/dist/react-native/encryption/Cache/ClientEncryptionKeyPropertiesCache.js +2 -0
  1232. package/dist/react-native/encryption/Cache/ClientEncryptionKeyPropertiesCache.js.map +1 -1
  1233. package/dist/react-native/encryption/Cache/EncryptionSettingsCache.js +2 -0
  1234. package/dist/react-native/encryption/Cache/EncryptionSettingsCache.js.map +1 -1
  1235. package/dist/react-native/encryption/Cache/KeyEncryptionKeyCache.js +2 -0
  1236. package/dist/react-native/encryption/Cache/KeyEncryptionKeyCache.js.map +1 -1
  1237. package/dist/react-native/encryption/Cache/ProtectedDataEncryptionKeyCache.js +5 -0
  1238. package/dist/react-native/encryption/Cache/ProtectedDataEncryptionKeyCache.js.map +1 -1
  1239. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js +2 -0
  1240. package/dist/react-native/encryption/ClientEncryptionKey/ClientEncryptionKeyResponse.js.map +1 -1
  1241. package/dist/react-native/encryption/EncryptionItemQueryIterator.js +24 -27
  1242. package/dist/react-native/encryption/EncryptionItemQueryIterator.js.map +1 -1
  1243. package/dist/react-native/encryption/EncryptionKey/DataEncryptionKey.js +7 -2
  1244. package/dist/react-native/encryption/EncryptionKey/DataEncryptionKey.js.map +1 -1
  1245. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts +0 -1
  1246. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.d.ts.map +1 -1
  1247. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.js +2 -0
  1248. package/dist/react-native/encryption/EncryptionKey/ProtectedDataEncryptionKey.js.map +1 -1
  1249. package/dist/react-native/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js +6 -5
  1250. package/dist/react-native/encryption/EncryptionKeyResolver/AzureKeyVaultEncryptionKeyResolver.js.map +1 -1
  1251. package/dist/react-native/encryption/EncryptionKeyStoreProvider.js +8 -1
  1252. package/dist/react-native/encryption/EncryptionKeyStoreProvider.js.map +1 -1
  1253. package/dist/react-native/encryption/EncryptionManager.js +6 -0
  1254. package/dist/react-native/encryption/EncryptionManager.js.map +1 -1
  1255. package/dist/react-native/encryption/EncryptionProcessor.js +5 -0
  1256. package/dist/react-native/encryption/EncryptionProcessor.js.map +1 -1
  1257. package/dist/react-native/encryption/EncryptionQueryBuilder.js +2 -0
  1258. package/dist/react-native/encryption/EncryptionQueryBuilder.js.map +1 -1
  1259. package/dist/react-native/encryption/EncryptionSettingForProperty.js +6 -0
  1260. package/dist/react-native/encryption/EncryptionSettingForProperty.js.map +1 -1
  1261. package/dist/react-native/encryption/EncryptionSettings.js +6 -3
  1262. package/dist/react-native/encryption/EncryptionSettings.js.map +1 -1
  1263. package/dist/react-native/encryption/KeyEncryptionKey.js +4 -0
  1264. package/dist/react-native/encryption/KeyEncryptionKey.js.map +1 -1
  1265. package/dist/react-native/encryption/Serializers/StringSerializer.js +1 -1
  1266. package/dist/react-native/encryption/Serializers/StringSerializer.js.map +1 -1
  1267. package/dist/react-native/extractPartitionKey.js +2 -2
  1268. package/dist/react-native/extractPartitionKey.js.map +1 -1
  1269. package/dist/react-native/globalEndpointManager.d.ts +8 -0
  1270. package/dist/react-native/globalEndpointManager.d.ts.map +1 -1
  1271. package/dist/react-native/globalEndpointManager.js +104 -29
  1272. package/dist/react-native/globalEndpointManager.js.map +1 -1
  1273. package/dist/react-native/globalPartitionEndpointManager.d.ts +0 -2
  1274. package/dist/react-native/globalPartitionEndpointManager.d.ts.map +1 -1
  1275. package/dist/react-native/globalPartitionEndpointManager.js +19 -7
  1276. package/dist/react-native/globalPartitionEndpointManager.js.map +1 -1
  1277. package/dist/react-native/queryExecutionContext/Aggregators/AverageAggregator.js +2 -0
  1278. package/dist/react-native/queryExecutionContext/Aggregators/AverageAggregator.js.map +1 -1
  1279. package/dist/react-native/queryExecutionContext/Aggregators/CountAggregator.js +1 -0
  1280. package/dist/react-native/queryExecutionContext/Aggregators/CountAggregator.js.map +1 -1
  1281. package/dist/react-native/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js +1 -0
  1282. package/dist/react-native/queryExecutionContext/Aggregators/GlobalStatisticsAggregator.js.map +1 -1
  1283. package/dist/react-native/queryExecutionContext/Aggregators/MakeListAggregator.js +1 -0
  1284. package/dist/react-native/queryExecutionContext/Aggregators/MakeListAggregator.js.map +1 -1
  1285. package/dist/react-native/queryExecutionContext/Aggregators/MakeSetAggregator.js +1 -0
  1286. package/dist/react-native/queryExecutionContext/Aggregators/MakeSetAggregator.js.map +1 -1
  1287. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js +2 -0
  1288. package/dist/react-native/queryExecutionContext/Aggregators/MaxAggregator.js.map +1 -1
  1289. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js +2 -0
  1290. package/dist/react-native/queryExecutionContext/Aggregators/MinAggregator.js.map +1 -1
  1291. package/dist/react-native/queryExecutionContext/Aggregators/StaticValueAggregator.js +1 -0
  1292. package/dist/react-native/queryExecutionContext/Aggregators/StaticValueAggregator.js.map +1 -1
  1293. package/dist/react-native/queryExecutionContext/Aggregators/SumAggregator.js +1 -0
  1294. package/dist/react-native/queryExecutionContext/Aggregators/SumAggregator.js.map +1 -1
  1295. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js +5 -3
  1296. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByEndpointComponent.js.map +1 -1
  1297. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js +6 -3
  1298. package/dist/react-native/queryExecutionContext/EndpointComponent/GroupByValueEndpointComponent.js.map +1 -1
  1299. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js +23 -7
  1300. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByDistinctEndpointComponent.js.map +1 -1
  1301. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js +14 -6
  1302. package/dist/react-native/queryExecutionContext/EndpointComponent/NonStreamingOrderByEndpointComponent.js.map +1 -1
  1303. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js +3 -0
  1304. package/dist/react-native/queryExecutionContext/EndpointComponent/OffsetLimitEndpointComponent.js.map +1 -1
  1305. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js +2 -0
  1306. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderByEndpointComponent.js.map +1 -1
  1307. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js +2 -0
  1308. package/dist/react-native/queryExecutionContext/EndpointComponent/OrderedDistinctEndpointComponent.js.map +1 -1
  1309. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js +2 -0
  1310. package/dist/react-native/queryExecutionContext/EndpointComponent/UnorderedDistinctEndpointComponent.js.map +1 -1
  1311. package/dist/react-native/queryExecutionContext/FetchResult.js +4 -0
  1312. package/dist/react-native/queryExecutionContext/FetchResult.js.map +1 -1
  1313. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js +14 -2
  1314. package/dist/react-native/queryExecutionContext/defaultQueryExecutionContext.js.map +1 -1
  1315. package/dist/react-native/queryExecutionContext/documentProducer.js +34 -21
  1316. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  1317. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js +41 -27
  1318. package/dist/react-native/queryExecutionContext/hybridQueryExecutionContext.js.map +1 -1
  1319. package/dist/react-native/queryExecutionContext/orderByComparator.js +1 -0
  1320. package/dist/react-native/queryExecutionContext/orderByComparator.js.map +1 -1
  1321. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js +1 -0
  1322. package/dist/react-native/queryExecutionContext/orderByDocumentProducerComparator.js.map +1 -1
  1323. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js +1 -0
  1324. package/dist/react-native/queryExecutionContext/orderByQueryExecutionContext.js.map +1 -1
  1325. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +20 -2
  1326. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  1327. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js +14 -4
  1328. package/dist/react-native/queryExecutionContext/pipelinedQueryExecutionContext.js.map +1 -1
  1329. package/dist/react-native/queryIterator.js +41 -33
  1330. package/dist/react-native/queryIterator.js.map +1 -1
  1331. package/dist/react-native/queryMetrics/clientSideMetrics.js +2 -1
  1332. package/dist/react-native/queryMetrics/clientSideMetrics.js.map +1 -1
  1333. package/dist/react-native/queryMetrics/queryMetrics.js +14 -1
  1334. package/dist/react-native/queryMetrics/queryMetrics.js.map +1 -1
  1335. package/dist/react-native/queryMetrics/queryPreparationTime.js +5 -1
  1336. package/dist/react-native/queryMetrics/queryPreparationTime.js.map +1 -1
  1337. package/dist/react-native/queryMetrics/runtimeExecutionTimes.js +4 -1
  1338. package/dist/react-native/queryMetrics/runtimeExecutionTimes.js.map +1 -1
  1339. package/dist/react-native/queryMetrics/timeSpan.js +4 -3
  1340. package/dist/react-native/queryMetrics/timeSpan.js.map +1 -1
  1341. package/dist/react-native/request/ErrorResponse.js +19 -0
  1342. package/dist/react-native/request/ErrorResponse.js.map +1 -1
  1343. package/dist/react-native/request/FeedResponse.js +4 -0
  1344. package/dist/react-native/request/FeedResponse.js.map +1 -1
  1345. package/dist/react-native/request/RequestHandler.js +3 -4
  1346. package/dist/react-native/request/RequestHandler.js.map +1 -1
  1347. package/dist/react-native/request/ResourceResponse.js +5 -0
  1348. package/dist/react-native/request/ResourceResponse.js.map +1 -1
  1349. package/dist/react-native/request/SharedOptions.d.ts +5 -0
  1350. package/dist/react-native/request/SharedOptions.d.ts.map +1 -1
  1351. package/dist/react-native/request/SharedOptions.js.map +1 -1
  1352. package/dist/react-native/request/TimeoutError.js +1 -1
  1353. package/dist/react-native/request/TimeoutError.js.map +1 -1
  1354. package/dist/react-native/request/hybridSearchQueryResult.js +5 -0
  1355. package/dist/react-native/request/hybridSearchQueryResult.js.map +1 -1
  1356. package/dist/react-native/request/request.js +5 -1
  1357. package/dist/react-native/request/request.js.map +1 -1
  1358. package/dist/react-native/retry/bulkExecutionRetryPolicy.js +5 -2
  1359. package/dist/react-native/retry/bulkExecutionRetryPolicy.js.map +1 -1
  1360. package/dist/react-native/retry/defaultRetryPolicy.d.ts.map +1 -1
  1361. package/dist/react-native/retry/defaultRetryPolicy.js +7 -7
  1362. package/dist/react-native/retry/defaultRetryPolicy.js.map +1 -1
  1363. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts +3 -2
  1364. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  1365. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js +24 -7
  1366. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  1367. package/dist/react-native/retry/resourceThrottleRetryPolicy.js +20 -10
  1368. package/dist/react-native/retry/resourceThrottleRetryPolicy.js.map +1 -1
  1369. package/dist/react-native/retry/retryUtility.d.ts.map +1 -1
  1370. package/dist/react-native/retry/retryUtility.js +22 -8
  1371. package/dist/react-native/retry/retryUtility.js.map +1 -1
  1372. package/dist/react-native/retry/sessionRetryPolicy.js +8 -4
  1373. package/dist/react-native/retry/sessionRetryPolicy.js.map +1 -1
  1374. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts +1 -2
  1375. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  1376. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js +17 -7
  1377. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  1378. package/dist/react-native/routing/QueryRange.js +4 -0
  1379. package/dist/react-native/routing/QueryRange.js.map +1 -1
  1380. package/dist/react-native/routing/inMemoryCollectionRoutingMap.js +4 -0
  1381. package/dist/react-native/routing/inMemoryCollectionRoutingMap.js.map +1 -1
  1382. package/dist/react-native/routing/partitionKeyRangeCache.js +2 -0
  1383. package/dist/react-native/routing/partitionKeyRangeCache.js.map +1 -1
  1384. package/dist/react-native/routing/smartRoutingMapProvider.js +1 -0
  1385. package/dist/react-native/routing/smartRoutingMapProvider.js.map +1 -1
  1386. package/dist/react-native/session/VectorSessionToken.js +6 -2
  1387. package/dist/react-native/session/VectorSessionToken.js.map +1 -1
  1388. package/dist/react-native/session/sessionContainer.js +5 -3
  1389. package/dist/react-native/session/sessionContainer.js.map +1 -1
  1390. package/dist/react-native/utils/batch.js +15 -4
  1391. package/dist/react-native/utils/batch.js.map +1 -1
  1392. package/dist/react-native/utils/encode.d.ts +1 -1
  1393. package/dist/react-native/utils/encode.d.ts.map +1 -1
  1394. package/dist/react-native/utils/encode.js.map +1 -1
  1395. package/dist/react-native/utils/fixedSizePriorityQueue.js +4 -0
  1396. package/dist/react-native/utils/fixedSizePriorityQueue.js.map +1 -1
  1397. package/dist/react-native/utils/hashing/hash.js +1 -1
  1398. package/dist/react-native/utils/hashing/hash.js.map +1 -1
  1399. package/dist/react-native/utils/nonStreamingOrderByMap.js +2 -0
  1400. package/dist/react-native/utils/nonStreamingOrderByMap.js.map +1 -1
  1401. package/package.json +33 -33
@@ -1 +1 @@
1
- {"version":3,"file":"ItemResponse.js","sourceRoot":"","sources":["../../../../src/client/Item/ItemResponse.ts"],"names":[],"mappings":";;;AAIA,2EAAqE;AAKrE,MAAa,YAAuC,SAAQ,sCAA8B;IACxF,YACE,QAAsB,EACtB,OAAsB,EACtB,UAAkB,EAClB,cAAsB,EACtB,IAAU,EACV,WAA8B;QAE9B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAGF;AAdD,oCAcC","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/ResourceResponse.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { Item } from \"./Item.js\";\nimport type { ItemDefinition } from \"./ItemDefinition.js\";\n\nexport class ItemResponse<T extends ItemDefinition> extends ResourceResponse<T & Resource> {\n constructor(\n resource: T & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n subsstatusCode: number,\n item: Item,\n diagnostics: CosmosDiagnostics,\n ) {\n super(resource, headers, statusCode, diagnostics, subsstatusCode);\n this.item = item;\n }\n /** Reference to the {@link Item} the response corresponds to. */\n public readonly item: Item;\n}\n"]}
1
+ {"version":3,"file":"ItemResponse.js","sourceRoot":"","sources":["../../../../src/client/Item/ItemResponse.ts"],"names":[],"mappings":";;;AAIA,2EAAqE;AAKrE,MAAa,YAAuC,SAAQ,sCAA8B;IACxF,YACE,QAAsB,EACtB,OAAsB,EACtB,UAAkB,EAClB,cAAsB,EACtB,IAAU,EACV,WAA8B;QAE9B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,iEAAiE;IACjD,IAAI,CAAO;CAC5B;AAdD,oCAcC","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/ResourceResponse.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { Item } from \"./Item.js\";\nimport type { ItemDefinition } from \"./ItemDefinition.js\";\n\nexport class ItemResponse<T extends ItemDefinition> extends ResourceResponse<T & Resource> {\n constructor(\n resource: T & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n subsstatusCode: number,\n item: Item,\n diagnostics: CosmosDiagnostics,\n ) {\n super(resource, headers, statusCode, diagnostics, subsstatusCode);\n this.item = item;\n }\n /** Reference to the {@link Item} the response corresponds to. */\n public readonly item: Item;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Items.d.ts","sourceRoot":"","sources":["../../../../src/client/Item/Items.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Items.d.ts","sourceRoot":"","sources":["../../../../src/client/Item/Items.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,9 @@ function isChangeFeedOptions(options) {
36
36
  * @see {@link Item} for reading, replacing, or deleting an existing container; use `.item(id)`.
37
37
  */
38
38
  class Items {
39
+ container;
40
+ clientContext;
41
+ partitionKeyRangeCache;
39
42
  /**
40
43
  * Create an instance of {@link Items} linked to the parent {@link Container}.
41
44
  * @param container - The parent container.
@@ -656,6 +659,11 @@ class Items {
656
659
  if (operations.length > 100) {
657
660
  throw new Error("Cannot run batch request with more than 100 operations per partition");
658
661
  }
662
+ for (const operationInput of operations) {
663
+ if (operationInput && operationInput.partitionKey !== undefined) {
664
+ operationInput.partitionKey = JSON.stringify((0, index_js_3.convertToInternalPartitionKey)(operationInput.partitionKey));
665
+ }
666
+ }
659
667
  let response;
660
668
  try {
661
669
  if (this.clientContext.enableEncryption) {
@@ -1 +1 @@
1
- {"version":3,"file":"Items.js","sourceRoot":"","sources":["../../../../src/client/Item/Items.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChangeFeedIterator } from \"../../ChangeFeedIterator.js\";\nimport type { ChangeFeedOptions } from \"../../ChangeFeedOptions.js\";\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport {\n Constants,\n copyObject,\n getIdFromLink,\n getPathFromLink,\n isItemResourceValid,\n ResourceType,\n StatusCodes,\n SubStatusCodes,\n} from \"../../common/index.js\";\nimport { extractPartitionKeys, setPartitionKeyIfUndefined } from \"../../extractPartitionKey.js\";\nimport type { FetchFunctionCallback, SqlQuerySpec } from \"../../queryExecutionContext/index.js\";\nimport { QueryIterator } from \"../../queryIterator.js\";\nimport type { FeedOptions, RequestOptions, Response } from \"../../request/index.js\";\nimport type { Container, PartitionKeyRange } from \"../Container/index.js\";\nimport { Item } from \"./Item.js\";\nimport type { ItemDefinition } from \"./ItemDefinition.js\";\nimport { ItemResponse } from \"./ItemResponse.js\";\nimport type {\n Batch,\n OperationResponse,\n OperationInput,\n BulkOptions,\n BulkOperationResponse,\n Operation,\n BulkOperationResult,\n} from \"../../utils/batch.js\";\nimport {\n isKeyInRange,\n prepareOperations,\n decorateBatchOperation,\n splitBatchBasedOnBodySize,\n encryptOperationInput,\n} from \"../../utils/batch.js\";\nimport { assertNotUndefined, isPrimitivePartitionKeyValue } from \"../../utils/typeChecks.js\";\nimport { hashPartitionKey } from \"../../utils/hashing/hash.js\";\nimport { PartitionKeyRangeCache, QueryRange } from \"../../routing/index.js\";\nimport type {\n PartitionKey,\n PartitionKeyDefinition,\n PartitionKeyInternal,\n} from \"../../documents/index.js\";\nimport { convertToInternalPartitionKey } from \"../../documents/index.js\";\nimport type {\n ChangeFeedPullModelIterator,\n ChangeFeedIteratorOptions,\n} from \"../../client/ChangeFeed/index.js\";\nimport { validateChangeFeedIteratorOptions } from \"../../client/ChangeFeed/changeFeedUtils.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport { DiagnosticNodeType } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport {\n getEmptyCosmosDiagnostics,\n withDiagnostics,\n addDiagnosticChild,\n} from \"../../utils/diagnostics.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport { computePartitionKeyRangeId, readPartitionKeyDefinition } from \"../ClientUtils.js\";\nimport { ChangeFeedIteratorBuilder } from \"../ChangeFeed/ChangeFeedIteratorBuilder.js\";\nimport type { EncryptionQueryBuilder } from \"../../encryption/index.js\";\nimport type { EncryptionSqlParameter } from \"../../encryption/EncryptionQueryBuilder.js\";\nimport type { Resource } from \"../Resource.js\";\nimport { TypeMarker } from \"../../encryption/enums/TypeMarker.js\";\nimport { EncryptionItemQueryIterator } from \"../../encryption/EncryptionItemQueryIterator.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport { BulkHelper } from \"../../bulk/BulkHelper.js\";\n\n/**\n * @hidden\n */\nfunction isChangeFeedOptions(options: unknown): options is ChangeFeedOptions {\n return options && !(isPrimitivePartitionKeyValue(options) || Array.isArray(options));\n}\n\n/**\n * Operations for creating new items, and reading/querying all items\n *\n * @see {@link Item} for reading, replacing, or deleting an existing container; use `.item(id)`.\n */\nexport class Items {\n private partitionKeyRangeCache: PartitionKeyRangeCache;\n /**\n * Create an instance of {@link Items} linked to the parent {@link Container}.\n * @param container - The parent container.\n * @hidden\n */\n constructor(\n public readonly container: Container,\n private readonly clientContext: ClientContext,\n ) {\n this.partitionKeyRangeCache = this.clientContext.partitionKeyRangeCache;\n }\n\n /**\n * Queries all items.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsQueryItems\n * import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {\n * query: `SELECT * FROM Families f WHERE f.lastName = @lastName`,\n * parameters: [{ name: \"@lastName\", value: \"Hendricks\" }],\n * };\n * const { resources: items } = await container.items.query(querySpec).fetchAll();\n * ```\n */\n\n //\n public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator<any>;\n /**\n * Queries all items.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsQueryItems\n * import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {\n * query: `SELECT * FROM Families f WHERE f.lastName = @lastName`,\n * parameters: [{ name: \"@lastName\", value: \"Hendricks\" }],\n * };\n * const { resources: items } = await container.items.query(querySpec).fetchAll();\n * ```\n */\n public query<T>(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator<T>;\n public query<T>(query: string | SqlQuerySpec, options: FeedOptions = {}): QueryIterator<T> {\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n\n const fetchFunction: FetchFunctionCallback = async (\n diagnosticNode: DiagnosticNodeInternal,\n innerOptions: FeedOptions,\n correlatedActivityId: string,\n ) => {\n let internalPartitionKey: PartitionKeyInternal | undefined;\n if (options.partitionKey) {\n internalPartitionKey = convertToInternalPartitionKey(options.partitionKey);\n }\n const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n internalPartitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n const response = await this.clientContext.queryFeed({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n resultFn: (result) => (result ? result.Documents : []),\n query,\n options: innerOptions,\n partitionKey: options.partitionKey,\n diagnosticNode,\n correlatedActivityId: correlatedActivityId,\n partitionKeyRangeId,\n });\n return response;\n };\n let iterator: QueryIterator<T>;\n if (this.clientContext.enableEncryption) {\n iterator = new EncryptionItemQueryIterator(\n this.clientContext,\n query,\n options,\n fetchFunction,\n this.container,\n );\n } else {\n iterator = new QueryIterator<T>(\n this.clientContext,\n query,\n options,\n fetchFunction,\n this.container.url,\n ResourceType.item,\n );\n }\n return iterator;\n }\n /**\n * Queries all items in an encrypted container.\n * @param queryBuilder - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to build a query on encrypted properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsQueryEncryptedItems\n * import { CosmosClient, EncryptionQueryBuilder } 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 queryBuilder = new EncryptionQueryBuilder(\n * `SELECT firstname FROM Families f WHERE f.lastName = @lastName`,\n * );\n * queryBuilder.addParameter(\"@lastName\", \"Hendricks\", \"/lastname\");\n * const queryIterator = await container.items.getEncryptionQueryIterator(queryBuilder);\n * const { resources: items } = await queryIterator.fetchAll();\n * ```\n */\n public async getEncryptionQueryIterator(\n queryBuilder: EncryptionQueryBuilder,\n options: FeedOptions = {},\n ): Promise<QueryIterator<ItemDefinition>> {\n const encryptionSqlQuerySpec = queryBuilder.toEncryptionSqlQuerySpec();\n const sqlQuerySpec = await this.buildSqlQuerySpec(encryptionSqlQuerySpec);\n if (this.clientContext.enableEncryption && options.partitionKey) {\n await this.container.checkAndInitializeEncryption();\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue([\n options.partitionKey,\n ] as PartitionKeyInternal);\n if (encryptedCount > 0) {\n options.partitionKey = partitionKeyList[0];\n }\n }\n const iterator = this.query<ItemDefinition>(sqlQuerySpec, options);\n return iterator;\n }\n\n private async buildSqlQuerySpec(encryptionSqlQuerySpec: SqlQuerySpec): Promise<SqlQuerySpec> {\n let encryptionParameters = encryptionSqlQuerySpec.parameters as EncryptionSqlParameter[];\n const sqlQuerySpec: SqlQuerySpec = {\n query: encryptionSqlQuerySpec.query,\n parameters: [],\n };\n // returns copy to avoid encryption of original parameters passed\n encryptionParameters = copyObject(encryptionParameters);\n for (const parameter of encryptionParameters) {\n let value: any;\n if (parameter.type !== undefined || parameter.type !== TypeMarker.Null) {\n value = await this.container.encryptionProcessor.encryptQueryParameter(\n parameter.path,\n parameter.value,\n parameter.path === \"/id\",\n parameter.type,\n );\n }\n sqlQuerySpec.parameters.push({ name: parameter.name, value: value });\n }\n return sqlQuerySpec;\n }\n\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n *\n * @deprecated Use `getChangeFeedIterator` instead.\n *\n * @example Read from the beginning of the change feed.\n * ```ts snippet:ignore\n * const iterator = items.readChangeFeed({ startFromBeginning: true });\n * const firstPage = await iterator.fetchNext();\n * const firstPageResults = firstPage.result\n * const secondPage = await iterator.fetchNext();\n * ```\n */\n public readChangeFeed(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n *\n */\n public readChangeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public readChangeFeed<T>(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public readChangeFeed<T>(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>;\n public readChangeFeed<T>(\n partitionKeyOrChangeFeedOptions?: PartitionKey | ChangeFeedOptions,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T> {\n if (isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {\n return this.changeFeed(partitionKeyOrChangeFeedOptions);\n } else {\n return this.changeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions);\n }\n }\n\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n * @example Read from the beginning of the change feed.\n * ```ts snippet:ignore\n * const iterator = items.readChangeFeed({ startFromBeginning: true });\n * const firstPage = await iterator.fetchNext();\n * const firstPageResults = firstPage.result\n * const secondPage = await iterator.fetchNext();\n * ```\n */\n public changeFeed(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public changeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public changeFeed<T>(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public changeFeed<T>(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>;\n public changeFeed<T>(\n partitionKeyOrChangeFeedOptions?: PartitionKey | ChangeFeedOptions,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T> {\n let partitionKey: PartitionKey;\n if (!changeFeedOptions && isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {\n partitionKey = undefined;\n changeFeedOptions = partitionKeyOrChangeFeedOptions;\n } else if (\n partitionKeyOrChangeFeedOptions !== undefined &&\n !isChangeFeedOptions(partitionKeyOrChangeFeedOptions)\n ) {\n partitionKey = partitionKeyOrChangeFeedOptions;\n }\n\n if (!changeFeedOptions) {\n changeFeedOptions = {};\n }\n\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n return new ChangeFeedIterator<T>(this.clientContext, id, path, partitionKey, changeFeedOptions);\n }\n\n /**\n * Returns an iterator to iterate over pages of changes. The iterator returned can be used to fetch changes for a single partition key, feed range or an entire container.\n *\n * @example\n * ```ts snippet:ReadmeSampleChangeFeedPullModelIteratorPartitionKey\n * import {\n * CosmosClient,\n * PartitionKeyDefinitionVersion,\n * PartitionKeyKind,\n * ChangeFeedStartFrom,\n * } 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 containerDefinition = {\n * id: \"Test Database\",\n * partitionKey: {\n * paths: [\"/name\", \"/address/zip\"],\n * version: PartitionKeyDefinitionVersion.V2,\n * kind: PartitionKeyKind.MultiHash,\n * },\n * };\n * const { container } = await database.containers.createIfNotExists(containerDefinition);\n *\n * const partitionKey = \"some-partition-Key-value\";\n * const options = {\n * changeFeedStartFrom: ChangeFeedStartFrom.Beginning(partitionKey),\n * };\n *\n * const iterator = container.items.getChangeFeedIterator(options);\n *\n * while (iterator.hasMoreResults) {\n * const response = await iterator.readNext();\n * // process this response\n * }\n * ```\n */\n public getChangeFeedIterator<T>(\n changeFeedIteratorOptions?: ChangeFeedIteratorOptions,\n ): ChangeFeedPullModelIterator<T> {\n const cfOptions = changeFeedIteratorOptions !== undefined ? changeFeedIteratorOptions : {};\n validateChangeFeedIteratorOptions(cfOptions);\n const iterator = new ChangeFeedIteratorBuilder<T>(\n cfOptions,\n this.clientContext,\n this.container,\n this.partitionKeyRangeCache,\n );\n return iterator;\n }\n\n /**\n * Read all items.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsReadAll\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: containerList } = await container.items.readAll().fetchAll();\n * ```\n */\n public readAll(options?: FeedOptions): QueryIterator<ItemDefinition>;\n /**\n * Read all items.\n *\n * Any provided type, T, is not necessarily enforced by the SDK.\n * You may get more or less properties and it's up to your logic to enforce it.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsReadAll\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: containerList } = await container.items.readAll().fetchAll();\n * ```\n */\n public readAll<T extends ItemDefinition>(options?: FeedOptions): QueryIterator<T>;\n public readAll<T extends ItemDefinition>(options?: FeedOptions): QueryIterator<T> {\n return this.query<T>(\"SELECT * from c\", options);\n }\n\n /**\n * Create an item.\n *\n * Any provided type, T, is not necessarily enforced by the SDK.\n * You may get more or less properties and it's up to your logic to enforce it.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - Represents the body of the item. Can contain any number of user defined properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Create an item.\n * ```ts snippet:ContainerItems\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 { resource: createdItem } = await container.items.create({\n * id: \"<item id>\",\n * properties: {},\n * });\n * ```\n */\n public async create<T extends ItemDefinition = any>(\n body: T,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n // Generate random document id if the id is missing in the payload and\n // options.disableAutomaticIdGeneration != true\n\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if ((body.id === undefined || body.id === \"\") && !options.disableAutomaticIdGeneration) {\n body.id = randomUUID();\n }\n const partitionKeyDefinition = await readPartitionKeyDefinition(\n diagnosticNode,\n this.container,\n );\n let partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n let response: Response<T & Resource>;\n try {\n if (this.clientContext.enableEncryption) {\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n // returns copy to avoid encryption of original body passed\n body = copyObject(body);\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { body: encryptedBody, propertiesEncryptedCount } =\n await this.container.encryptionProcessor.encrypt(body);\n body = encryptedBody;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n propertiesEncryptedCount,\n );\n\n partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n }\n const err = {};\n if (!isItemResourceValid(body, err)) {\n throw err;\n }\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n partitionKeyDefinition,\n );\n\n response = await this.clientContext.create<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n diagnosticNode,\n options,\n partitionKey,\n partitionKeyRangeId,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n // Todo: internally retry post policy refresh\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n throw error;\n }\n\n if (this.clientContext.enableEncryption) {\n // try block for decrypting response. This is done so that we can throw special error message in case of decryption failure\n try {\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n const { body: decryptedResult, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n response.result = decryptedResult;\n partitionKey = extractPartitionKeys(response.result, partitionKeyDefinition);\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item creation was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n const ref = new Item(\n this.container,\n (response.result as any).id,\n this.clientContext,\n partitionKey,\n );\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n ref,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Upsert an item.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - Represents the body of the item. Can contain any number of user defined properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n */\n public async upsert(\n body: unknown,\n options?: RequestOptions,\n ): Promise<ItemResponse<ItemDefinition>>;\n /**\n * Upsert an item.\n *\n * Any provided type, T, is not necessarily enforced by the SDK.\n * You may get more or less properties and it's up to your logic to enforce it.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - Represents the body of the item. Can contain any number of user defined properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Upsert an item.\n * ```ts snippet:ItemsUpsert\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 { resource: createdItem1 } = await container.items.create({\n * id: \"<item id 1>\",\n * properties: {},\n * });\n *\n * const { resource: upsertItem1 } = await container.items.upsert({\n * id: \"<item id 1>\",\n * updated_properties: {},\n * });\n *\n * const { resource: upsertItem2 } = await container.items.upsert({\n * id: \"<item id 2>\",\n * properties: {},\n * });\n * ```\n */\n public async upsert<T extends ItemDefinition>(\n body: T,\n options?: RequestOptions,\n ): Promise<ItemResponse<T>>;\n public async upsert<T extends ItemDefinition>(\n body: T,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n // Generate random document id if the id is missing in the payload and\n // options.disableAutomaticIdGeneration != true\n if ((body.id === undefined || body.id === \"\") && !options.disableAutomaticIdGeneration) {\n body.id = randomUUID();\n }\n\n const partitionKeyDefinition = await readPartitionKeyDefinition(\n diagnosticNode,\n this.container,\n );\n let partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n let response: Response<T & Resource>;\n try {\n if (this.clientContext.enableEncryption) {\n // returns copy to avoid encryption of original body passed\n body = copyObject(body);\n options = options || {};\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { body: encryptedBody, propertiesEncryptedCount } =\n await this.container.encryptionProcessor.encrypt(body);\n body = encryptedBody;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n propertiesEncryptedCount,\n );\n partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n }\n\n const err = {};\n if (!isItemResourceValid(body, err)) {\n throw err;\n }\n\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n partitionKeyDefinition,\n );\n\n response = await this.clientContext.upsert<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey,\n diagnosticNode,\n partitionKeyRangeId,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n throw error;\n }\n if (this.clientContext.enableEncryption) {\n try {\n // try block for decrypting response. This is done so that we can throw special error message in case of decryption failure\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n const { body: decryptedResult, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n response.result = decryptedResult;\n partitionKey = extractPartitionKeys(response.result, partitionKeyDefinition);\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item upsert was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n\n const ref = new Item(\n this.container,\n (response.result as any).id,\n this.clientContext,\n partitionKey,\n );\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n ref,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Execute bulk operations on items.\n * @param operations - List of operations\n * @param options - used for modifying the request\n * @returns list of operation results corresponding to the operations\n *\n * @example\n * ```ts snippet:ItemsExecuteBulkOperations\n * import { CosmosClient, OperationInput } 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 operations: OperationInput[] = [\n * {\n * operationType: \"Create\",\n * resourceBody: { id: \"doc1\", name: \"sample\", key: \"A\" },\n * },\n * {\n * operationType: \"Upsert\",\n * partitionKey: \"A\",\n * resourceBody: { id: \"doc2\", name: \"other\", key: \"A\" },\n * },\n * ];\n *\n * await container.items.executeBulkOperations(operations);\n * ```\n */\n public async executeBulkOperations(\n operations: OperationInput[],\n options: RequestOptions = {},\n ): Promise<BulkOperationResult[]> {\n const bulkHelper = new BulkHelper(\n this.container,\n this.clientContext,\n this.partitionKeyRangeCache,\n options,\n );\n return bulkHelper.execute(operations);\n }\n\n /**\n * Execute bulk operations on items.\n * @deprecated Use `executeBulkOperations` instead.\n *\n * Bulk takes an array of Operations which are typed based on what the operation does.\n * The choices are: Create, Upsert, Read, Replace, and Delete\n *\n * Usage example:\n * ```ts snippet:ItemsBulk\n * import { CosmosClient, OperationInput } 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 * // partitionKey is optional at the top level if present in the resourceBody\n * const operations: OperationInput[] = [\n * {\n * operationType: \"Create\",\n * resourceBody: { id: \"doc1\", name: \"sample\", key: \"A\" },\n * },\n * {\n * operationType: \"Upsert\",\n * partitionKey: \"A\",\n * resourceBody: { id: \"doc2\", name: \"other\", key: \"A\" },\n * },\n * ];\n *\n * await container.items.bulk(operations);\n * ```\n *\n * @param operations - List of operations. Limit 100\n * @param bulkOptions - Optional options object to modify bulk behavior. Pass \\{ continueOnError: false \\} to stop executing operations when one fails. (Defaults to true)\n * @param options - Used for modifying the request.\n */\n public async bulk(\n operations: OperationInput[],\n bulkOptions?: BulkOptions,\n options?: RequestOptions,\n ): Promise<BulkOperationResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const partitionKeyRanges = (\n await this.partitionKeyRangeCache.onCollectionRoutingMap(this.container.url, diagnosticNode)\n ).getOrderedParitionKeyRanges();\n\n const partitionKeyDefinition = await readPartitionKeyDefinition(\n diagnosticNode,\n this.container,\n );\n\n if (this.clientContext.enableEncryption) {\n // returns copy to avoid encryption of original operations body passed\n operations = copyObject(operations);\n options = options || {};\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n diagnosticNode.beginEncryptionDiagnostics(Constants.Encryption.DiagnosticsEncryptOperation);\n const { operations: encryptedOperations, totalPropertiesEncryptedCount } =\n await this.bulkBatchEncryptionHelper(operations);\n operations = encryptedOperations;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n totalPropertiesEncryptedCount,\n );\n }\n\n const batches: Batch[] = partitionKeyRanges.map((keyRange: PartitionKeyRange) => {\n return {\n min: keyRange.minInclusive,\n max: keyRange.maxExclusive,\n rangeId: keyRange.id,\n indexes: [] as number[],\n operations: [] as Operation[],\n };\n });\n\n this.groupOperationsBasedOnPartitionKey(operations, partitionKeyDefinition, options, batches);\n\n const path = getPathFromLink(this.container.url, ResourceType.item);\n\n const orderedResponses: OperationResponse[] = [];\n // split batches based on cumulative size of operations\n const batchMap = batches\n .filter((batch: Batch) => batch.operations.length)\n .flatMap((batch: Batch) => splitBatchBasedOnBodySize(batch));\n\n await Promise.all(\n this.executeBatchOperations(\n batchMap,\n path,\n bulkOptions,\n options,\n diagnosticNode,\n orderedResponses,\n partitionKeyDefinition,\n ),\n );\n const response: any = orderedResponses;\n response.diagnostics = diagnosticNode.toDiagnostic(this.clientContext.getClientConfig());\n return response;\n }, this.clientContext);\n }\n\n private executeBatchOperations(\n batchMap: Batch[],\n path: string,\n bulkOptions: BulkOptions,\n options: RequestOptions,\n diagnosticNode: DiagnosticNodeInternal,\n orderedResponses: OperationResponse[],\n partitionKeyDefinition: PartitionKeyDefinition,\n ): Promise<void>[] {\n return batchMap.map(async (batch: Batch) => {\n if (batch.operations.length > 100) {\n throw new Error(\"Cannot run bulk request with more than 100 operations per partition\");\n }\n let response: Response<OperationResponse[]>;\n try {\n response = await addDiagnosticChild(\n async (childNode: DiagnosticNodeInternal) =>\n this.clientContext.bulk({\n body: batch.operations,\n partitionKeyRangeId: batch.rangeId,\n path,\n resourceId: this.container.url,\n bulkOptions,\n options,\n diagnosticNode: childNode,\n }),\n diagnosticNode,\n DiagnosticNodeType.BATCH_REQUEST,\n );\n response.result.forEach((operationResponse: OperationResponse, index: number) => {\n orderedResponses[batch.indexes[index]] = operationResponse;\n });\n } catch (err: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);\n }\n // In the case of 410 errors, we need to recompute the partition key ranges\n // and redo the batch request, however, 410 errors occur for unsupported\n // partition key types as well since we don't support them, so for now we throw\n if (err.code === StatusCodes.Gone) {\n const isPartitionSplit =\n err.substatus === SubStatusCodes.PartitionKeyRangeGone ||\n err.substatus === SubStatusCodes.CompletingSplit;\n\n if (isPartitionSplit) {\n const queryRange = new QueryRange(batch.min, batch.max, true, false);\n const overlappingRanges = await this.partitionKeyRangeCache.getOverlappingRanges(\n this.container.url,\n queryRange,\n diagnosticNode,\n true,\n );\n if (overlappingRanges.length < 1) {\n throw new Error(\"Partition split/merge detected but no overlapping ranges found.\");\n }\n // Handles both merge (overlappingRanges.length === 1) and split (overlappingRanges.length > 1) cases.\n if (overlappingRanges.length >= 1) {\n // const splitBatches: Batch[] = [];\n const newBatches: Batch[] = this.createNewBatches(\n overlappingRanges,\n batch,\n partitionKeyDefinition,\n );\n\n await Promise.all(\n this.executeBatchOperations(\n newBatches,\n path,\n bulkOptions,\n options,\n diagnosticNode,\n orderedResponses,\n partitionKeyDefinition,\n ),\n );\n }\n } else {\n throw new Error(\n \"Partition key error. An operation has an unsupported partitionKey type\" +\n err.message,\n );\n }\n } else {\n throw new Error(`Bulk request errored with: ${err.message}`);\n }\n }\n if (response) {\n try {\n if (this.clientContext.enableEncryption) {\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n let count = 0;\n for (const result of response.result) {\n if (result.resourceBody) {\n const { body, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(result.resourceBody);\n result.resourceBody = body;\n count += propertiesDecryptedCount;\n }\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n count,\n );\n }\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Batch response was received but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n response.result.forEach((operationResponse: OperationResponse, index: number) => {\n orderedResponses[batch.indexes[index]] = operationResponse;\n });\n }\n });\n }\n\n /**\n * Function to create new batches based of partition key Ranges.\n *\n * @param overlappingRanges - Overlapping partition key ranges.\n * @param batch - Batch to be split.\n * @param partitionKeyDefinition - PartitionKey definition of container.\n * @returns Array of new batches.\n */\n private createNewBatches(\n overlappingRanges: PartitionKeyRange[],\n batch: Batch,\n partitionKeyDefinition: PartitionKeyDefinition,\n ): Batch[] {\n const newBatches: Batch[] = overlappingRanges.map((keyRange: PartitionKeyRange) => {\n return {\n min: keyRange.minInclusive,\n max: keyRange.maxExclusive,\n rangeId: keyRange.id,\n indexes: [] as number[],\n operations: [] as Operation[],\n };\n });\n let indexValue = 0;\n batch.operations.forEach((operation) => {\n const partitionKey = JSON.parse(operation.partitionKey);\n const hashed = hashPartitionKey(\n assertNotUndefined(\n partitionKey,\n \"undefined value for PartitionKey is not expected during grouping of bulk operations.\",\n ),\n partitionKeyDefinition,\n );\n const batchForKey = assertNotUndefined(\n newBatches.find((newBatch: Batch) => {\n return isKeyInRange(newBatch.min, newBatch.max, hashed);\n }),\n \"No suitable Batch found.\",\n );\n batchForKey.operations.push(operation);\n batchForKey.indexes.push(batch.indexes[indexValue]);\n indexValue++;\n });\n return newBatches;\n }\n\n /**\n * Function to create batches based of partition key Ranges.\n * @param operations - operations to group\n * @param partitionDefinition - PartitionKey definition of container.\n * @param options - Request options for bulk request.\n * @param batches - Groups to be filled with operations.\n */\n private groupOperationsBasedOnPartitionKey(\n operations: OperationInput[],\n partitionDefinition: PartitionKeyDefinition,\n options: RequestOptions | undefined,\n batches: Batch[],\n ) {\n operations.forEach((operationInput, index: number) => {\n const { operation, partitionKey } = prepareOperations(\n operationInput,\n partitionDefinition,\n options,\n );\n const hashed = hashPartitionKey(\n assertNotUndefined(\n partitionKey,\n \"undefined value for PartitionKey is not expected during grouping of bulk operations.\",\n ),\n partitionDefinition,\n );\n const batchForKey = assertNotUndefined(\n batches.find((batch: Batch) => {\n return isKeyInRange(batch.min, batch.max, hashed);\n }),\n \"No suitable Batch found.\",\n );\n batchForKey.operations.push(operation);\n batchForKey.indexes.push(index);\n });\n }\n\n /**\n * Execute transactional batch operations on items.\n *\n * Batch takes an array of Operations which are typed based on what the operation does. Batch is transactional and will rollback all operations if one fails.\n * The choices are: Create, Upsert, Read, Replace, and Delete\n *\n * Usage example:\n * ```ts snippet:ItemsBatch\n * import { CosmosClient, OperationInput } 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 * // The partitionKey is a required second argument. If it’s undefined, it defaults to the expected partition key format.\n * const operations: OperationInput[] = [\n * {\n * operationType: \"Create\",\n * resourceBody: { id: \"doc1\", name: \"sample\", key: \"A\" },\n * },\n * {\n * operationType: \"Upsert\",\n * resourceBody: { id: \"doc2\", name: \"other\", key: \"A\" },\n * },\n * ];\n *\n * await container.items.batch(operations, \"A\");\n * ```\n *\n * @param operations - List of operations. Limit 100\n * @param options - Used for modifying the request\n */\n public async batch(\n operations: OperationInput[],\n partitionKey?: PartitionKey,\n options?: RequestOptions,\n ): Promise<Response<OperationResponse[]>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n operations.map((operation) => decorateBatchOperation(operation, options));\n partitionKey = await setPartitionKeyIfUndefined(diagnosticNode, this.container, partitionKey);\n const path = getPathFromLink(this.container.url, ResourceType.item);\n\n if (operations.length > 100) {\n throw new Error(\"Cannot run batch request with more than 100 operations per partition\");\n }\n let response: Response<OperationResponse[]>;\n try {\n if (this.clientContext.enableEncryption) {\n // returns copy to avoid encryption of original operations body passed\n operations = copyObject(operations);\n options = options || {};\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n if (partitionKey) {\n const partitionKeyInternal = convertToInternalPartitionKey(partitionKey);\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n partitionKeyInternal,\n );\n partitionKey = partitionKeyList;\n count += encryptedCount;\n }\n const { operations: encryptedOperations, totalPropertiesEncryptedCount } =\n await this.bulkBatchEncryptionHelper(operations);\n operations = encryptedOperations;\n count += totalPropertiesEncryptedCount;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n response = await this.clientContext.batch({\n body: operations,\n partitionKey,\n path,\n resourceId: this.container.url,\n options,\n diagnosticNode,\n partitionKeyRangeId,\n });\n } catch (err: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);\n }\n throw new Error(`Batch request error: ${err.message}`);\n }\n if (this.clientContext.enableEncryption) {\n try {\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n let count = 0;\n for (const result of response.result) {\n if (result.resourceBody) {\n const { body, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(result.resourceBody);\n result.resourceBody = body;\n count += propertiesDecryptedCount;\n }\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n count,\n );\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Batch response was received but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n return response;\n }, this.clientContext);\n }\n\n private async bulkBatchEncryptionHelper(\n operations: OperationInput[],\n ): Promise<{ operations: OperationInput[]; totalPropertiesEncryptedCount: number }> {\n let totalPropertiesEncryptedCount = 0;\n const encryptedOperations: OperationInput[] = [];\n for (const operation of operations) {\n const { operation: encryptedOp, totalPropertiesEncryptedCount: updatedCount } =\n await encryptOperationInput(\n this.container.encryptionProcessor,\n operation,\n totalPropertiesEncryptedCount,\n );\n totalPropertiesEncryptedCount = updatedCount;\n encryptedOperations.push(encryptedOp);\n }\n return { operations: encryptedOperations, totalPropertiesEncryptedCount };\n }\n}\n"]}
1
+ {"version":3,"file":"Items.js","sourceRoot":"","sources":["../../../../src/client/Item/Items.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChangeFeedIterator } from \"../../ChangeFeedIterator.js\";\nimport type { ChangeFeedOptions } from \"../../ChangeFeedOptions.js\";\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport {\n Constants,\n copyObject,\n getIdFromLink,\n getPathFromLink,\n isItemResourceValid,\n ResourceType,\n StatusCodes,\n SubStatusCodes,\n} from \"../../common/index.js\";\nimport { extractPartitionKeys, setPartitionKeyIfUndefined } from \"../../extractPartitionKey.js\";\nimport type { FetchFunctionCallback, SqlQuerySpec } from \"../../queryExecutionContext/index.js\";\nimport { QueryIterator } from \"../../queryIterator.js\";\nimport type { FeedOptions, RequestOptions, Response } from \"../../request/index.js\";\nimport type { Container, PartitionKeyRange } from \"../Container/index.js\";\nimport { Item } from \"./Item.js\";\nimport type { ItemDefinition } from \"./ItemDefinition.js\";\nimport { ItemResponse } from \"./ItemResponse.js\";\nimport type {\n Batch,\n OperationResponse,\n OperationInput,\n BulkOptions,\n BulkOperationResponse,\n Operation,\n BulkOperationResult,\n} from \"../../utils/batch.js\";\nimport {\n isKeyInRange,\n prepareOperations,\n decorateBatchOperation,\n splitBatchBasedOnBodySize,\n encryptOperationInput,\n} from \"../../utils/batch.js\";\nimport { assertNotUndefined, isPrimitivePartitionKeyValue } from \"../../utils/typeChecks.js\";\nimport { hashPartitionKey } from \"../../utils/hashing/hash.js\";\nimport { PartitionKeyRangeCache, QueryRange } from \"../../routing/index.js\";\nimport type {\n PartitionKey,\n PartitionKeyDefinition,\n PartitionKeyInternal,\n} from \"../../documents/index.js\";\nimport { convertToInternalPartitionKey } from \"../../documents/index.js\";\nimport type {\n ChangeFeedPullModelIterator,\n ChangeFeedIteratorOptions,\n} from \"../../client/ChangeFeed/index.js\";\nimport { validateChangeFeedIteratorOptions } from \"../../client/ChangeFeed/changeFeedUtils.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport { DiagnosticNodeType } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport {\n getEmptyCosmosDiagnostics,\n withDiagnostics,\n addDiagnosticChild,\n} from \"../../utils/diagnostics.js\";\nimport { randomUUID } from \"@azure/core-util\";\nimport { computePartitionKeyRangeId, readPartitionKeyDefinition } from \"../ClientUtils.js\";\nimport { ChangeFeedIteratorBuilder } from \"../ChangeFeed/ChangeFeedIteratorBuilder.js\";\nimport type { EncryptionQueryBuilder } from \"../../encryption/index.js\";\nimport type { EncryptionSqlParameter } from \"../../encryption/EncryptionQueryBuilder.js\";\nimport type { Resource } from \"../Resource.js\";\nimport { TypeMarker } from \"../../encryption/enums/TypeMarker.js\";\nimport { EncryptionItemQueryIterator } from \"../../encryption/EncryptionItemQueryIterator.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport { BulkHelper } from \"../../bulk/BulkHelper.js\";\n\n/**\n * @hidden\n */\nfunction isChangeFeedOptions(options: unknown): options is ChangeFeedOptions {\n return options && !(isPrimitivePartitionKeyValue(options) || Array.isArray(options));\n}\n\n/**\n * Operations for creating new items, and reading/querying all items\n *\n * @see {@link Item} for reading, replacing, or deleting an existing container; use `.item(id)`.\n */\nexport class Items {\n private partitionKeyRangeCache: PartitionKeyRangeCache;\n /**\n * Create an instance of {@link Items} linked to the parent {@link Container}.\n * @param container - The parent container.\n * @hidden\n */\n constructor(\n public readonly container: Container,\n private readonly clientContext: ClientContext,\n ) {\n this.partitionKeyRangeCache = this.clientContext.partitionKeyRangeCache;\n }\n\n /**\n * Queries all items.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsQueryItems\n * import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {\n * query: `SELECT * FROM Families f WHERE f.lastName = @lastName`,\n * parameters: [{ name: \"@lastName\", value: \"Hendricks\" }],\n * };\n * const { resources: items } = await container.items.query(querySpec).fetchAll();\n * ```\n */\n\n //\n public query(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator<any>;\n /**\n * Queries all items.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsQueryItems\n * import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {\n * query: `SELECT * FROM Families f WHERE f.lastName = @lastName`,\n * parameters: [{ name: \"@lastName\", value: \"Hendricks\" }],\n * };\n * const { resources: items } = await container.items.query(querySpec).fetchAll();\n * ```\n */\n public query<T>(query: string | SqlQuerySpec, options?: FeedOptions): QueryIterator<T>;\n public query<T>(query: string | SqlQuerySpec, options: FeedOptions = {}): QueryIterator<T> {\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n\n const fetchFunction: FetchFunctionCallback = async (\n diagnosticNode: DiagnosticNodeInternal,\n innerOptions: FeedOptions,\n correlatedActivityId: string,\n ) => {\n let internalPartitionKey: PartitionKeyInternal | undefined;\n if (options.partitionKey) {\n internalPartitionKey = convertToInternalPartitionKey(options.partitionKey);\n }\n const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n internalPartitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n const response = await this.clientContext.queryFeed({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n resultFn: (result) => (result ? result.Documents : []),\n query,\n options: innerOptions,\n partitionKey: options.partitionKey,\n diagnosticNode,\n correlatedActivityId: correlatedActivityId,\n partitionKeyRangeId,\n });\n return response;\n };\n let iterator: QueryIterator<T>;\n if (this.clientContext.enableEncryption) {\n iterator = new EncryptionItemQueryIterator(\n this.clientContext,\n query,\n options,\n fetchFunction,\n this.container,\n );\n } else {\n iterator = new QueryIterator<T>(\n this.clientContext,\n query,\n options,\n fetchFunction,\n this.container.url,\n ResourceType.item,\n );\n }\n return iterator;\n }\n /**\n * Queries all items in an encrypted container.\n * @param queryBuilder - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to build a query on encrypted properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsQueryEncryptedItems\n * import { CosmosClient, EncryptionQueryBuilder } 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 queryBuilder = new EncryptionQueryBuilder(\n * `SELECT firstname FROM Families f WHERE f.lastName = @lastName`,\n * );\n * queryBuilder.addParameter(\"@lastName\", \"Hendricks\", \"/lastname\");\n * const queryIterator = await container.items.getEncryptionQueryIterator(queryBuilder);\n * const { resources: items } = await queryIterator.fetchAll();\n * ```\n */\n public async getEncryptionQueryIterator(\n queryBuilder: EncryptionQueryBuilder,\n options: FeedOptions = {},\n ): Promise<QueryIterator<ItemDefinition>> {\n const encryptionSqlQuerySpec = queryBuilder.toEncryptionSqlQuerySpec();\n const sqlQuerySpec = await this.buildSqlQuerySpec(encryptionSqlQuerySpec);\n if (this.clientContext.enableEncryption && options.partitionKey) {\n await this.container.checkAndInitializeEncryption();\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue([\n options.partitionKey,\n ] as PartitionKeyInternal);\n if (encryptedCount > 0) {\n options.partitionKey = partitionKeyList[0];\n }\n }\n const iterator = this.query<ItemDefinition>(sqlQuerySpec, options);\n return iterator;\n }\n\n private async buildSqlQuerySpec(encryptionSqlQuerySpec: SqlQuerySpec): Promise<SqlQuerySpec> {\n let encryptionParameters = encryptionSqlQuerySpec.parameters as EncryptionSqlParameter[];\n const sqlQuerySpec: SqlQuerySpec = {\n query: encryptionSqlQuerySpec.query,\n parameters: [],\n };\n // returns copy to avoid encryption of original parameters passed\n encryptionParameters = copyObject(encryptionParameters);\n for (const parameter of encryptionParameters) {\n let value: any;\n if (parameter.type !== undefined || parameter.type !== TypeMarker.Null) {\n value = await this.container.encryptionProcessor.encryptQueryParameter(\n parameter.path,\n parameter.value,\n parameter.path === \"/id\",\n parameter.type,\n );\n }\n sqlQuerySpec.parameters.push({ name: parameter.name, value: value });\n }\n return sqlQuerySpec;\n }\n\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n *\n * @deprecated Use `getChangeFeedIterator` instead.\n *\n * @example Read from the beginning of the change feed.\n * ```ts snippet:ignore\n * const iterator = items.readChangeFeed({ startFromBeginning: true });\n * const firstPage = await iterator.fetchNext();\n * const firstPageResults = firstPage.result\n * const secondPage = await iterator.fetchNext();\n * ```\n */\n public readChangeFeed(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n *\n */\n public readChangeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public readChangeFeed<T>(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public readChangeFeed<T>(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>;\n public readChangeFeed<T>(\n partitionKeyOrChangeFeedOptions?: PartitionKey | ChangeFeedOptions,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T> {\n if (isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {\n return this.changeFeed(partitionKeyOrChangeFeedOptions);\n } else {\n return this.changeFeed(partitionKeyOrChangeFeedOptions, changeFeedOptions);\n }\n }\n\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n * @example Read from the beginning of the change feed.\n * ```ts snippet:ignore\n * const iterator = items.readChangeFeed({ startFromBeginning: true });\n * const firstPage = await iterator.fetchNext();\n * const firstPageResults = firstPage.result\n * const secondPage = await iterator.fetchNext();\n * ```\n */\n public changeFeed(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public changeFeed(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<any>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public changeFeed<T>(\n partitionKey: PartitionKey,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T>;\n /**\n * Create a `ChangeFeedIterator` to iterate over pages of changes\n * @deprecated Use `getChangeFeedIterator` instead.\n */\n public changeFeed<T>(changeFeedOptions?: ChangeFeedOptions): ChangeFeedIterator<T>;\n public changeFeed<T>(\n partitionKeyOrChangeFeedOptions?: PartitionKey | ChangeFeedOptions,\n changeFeedOptions?: ChangeFeedOptions,\n ): ChangeFeedIterator<T> {\n let partitionKey: PartitionKey;\n if (!changeFeedOptions && isChangeFeedOptions(partitionKeyOrChangeFeedOptions)) {\n partitionKey = undefined;\n changeFeedOptions = partitionKeyOrChangeFeedOptions;\n } else if (\n partitionKeyOrChangeFeedOptions !== undefined &&\n !isChangeFeedOptions(partitionKeyOrChangeFeedOptions)\n ) {\n partitionKey = partitionKeyOrChangeFeedOptions;\n }\n\n if (!changeFeedOptions) {\n changeFeedOptions = {};\n }\n\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n return new ChangeFeedIterator<T>(this.clientContext, id, path, partitionKey, changeFeedOptions);\n }\n\n /**\n * Returns an iterator to iterate over pages of changes. The iterator returned can be used to fetch changes for a single partition key, feed range or an entire container.\n *\n * @example\n * ```ts snippet:ReadmeSampleChangeFeedPullModelIteratorPartitionKey\n * import {\n * CosmosClient,\n * PartitionKeyDefinitionVersion,\n * PartitionKeyKind,\n * ChangeFeedStartFrom,\n * } 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 containerDefinition = {\n * id: \"Test Database\",\n * partitionKey: {\n * paths: [\"/name\", \"/address/zip\"],\n * version: PartitionKeyDefinitionVersion.V2,\n * kind: PartitionKeyKind.MultiHash,\n * },\n * };\n * const { container } = await database.containers.createIfNotExists(containerDefinition);\n *\n * const partitionKey = \"some-partition-Key-value\";\n * const options = {\n * changeFeedStartFrom: ChangeFeedStartFrom.Beginning(partitionKey),\n * };\n *\n * const iterator = container.items.getChangeFeedIterator(options);\n *\n * while (iterator.hasMoreResults) {\n * const response = await iterator.readNext();\n * // process this response\n * }\n * ```\n */\n public getChangeFeedIterator<T>(\n changeFeedIteratorOptions?: ChangeFeedIteratorOptions,\n ): ChangeFeedPullModelIterator<T> {\n const cfOptions = changeFeedIteratorOptions !== undefined ? changeFeedIteratorOptions : {};\n validateChangeFeedIteratorOptions(cfOptions);\n const iterator = new ChangeFeedIteratorBuilder<T>(\n cfOptions,\n this.clientContext,\n this.container,\n this.partitionKeyRangeCache,\n );\n return iterator;\n }\n\n /**\n * Read all items.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsReadAll\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: containerList } = await container.items.readAll().fetchAll();\n * ```\n */\n public readAll(options?: FeedOptions): QueryIterator<ItemDefinition>;\n /**\n * Read all items.\n *\n * Any provided type, T, is not necessarily enforced by the SDK.\n * You may get more or less properties and it's up to your logic to enforce it.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Read all items to array.\n * ```ts snippet:ItemsReadAll\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: containerList } = await container.items.readAll().fetchAll();\n * ```\n */\n public readAll<T extends ItemDefinition>(options?: FeedOptions): QueryIterator<T>;\n public readAll<T extends ItemDefinition>(options?: FeedOptions): QueryIterator<T> {\n return this.query<T>(\"SELECT * from c\", options);\n }\n\n /**\n * Create an item.\n *\n * Any provided type, T, is not necessarily enforced by the SDK.\n * You may get more or less properties and it's up to your logic to enforce it.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - Represents the body of the item. Can contain any number of user defined properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Create an item.\n * ```ts snippet:ContainerItems\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 { resource: createdItem } = await container.items.create({\n * id: \"<item id>\",\n * properties: {},\n * });\n * ```\n */\n public async create<T extends ItemDefinition = any>(\n body: T,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n // Generate random document id if the id is missing in the payload and\n // options.disableAutomaticIdGeneration != true\n\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n if ((body.id === undefined || body.id === \"\") && !options.disableAutomaticIdGeneration) {\n body.id = randomUUID();\n }\n const partitionKeyDefinition = await readPartitionKeyDefinition(\n diagnosticNode,\n this.container,\n );\n let partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n let response: Response<T & Resource>;\n try {\n if (this.clientContext.enableEncryption) {\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n // returns copy to avoid encryption of original body passed\n body = copyObject(body);\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { body: encryptedBody, propertiesEncryptedCount } =\n await this.container.encryptionProcessor.encrypt(body);\n body = encryptedBody;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n propertiesEncryptedCount,\n );\n\n partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n }\n const err = {};\n if (!isItemResourceValid(body, err)) {\n throw err;\n }\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n partitionKeyDefinition,\n );\n\n response = await this.clientContext.create<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n diagnosticNode,\n options,\n partitionKey,\n partitionKeyRangeId,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n // Todo: internally retry post policy refresh\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n throw error;\n }\n\n if (this.clientContext.enableEncryption) {\n // try block for decrypting response. This is done so that we can throw special error message in case of decryption failure\n try {\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n const { body: decryptedResult, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n response.result = decryptedResult;\n partitionKey = extractPartitionKeys(response.result, partitionKeyDefinition);\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item creation was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n const ref = new Item(\n this.container,\n (response.result as any).id,\n this.clientContext,\n partitionKey,\n );\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n ref,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Upsert an item.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - Represents the body of the item. Can contain any number of user defined properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n */\n public async upsert(\n body: unknown,\n options?: RequestOptions,\n ): Promise<ItemResponse<ItemDefinition>>;\n /**\n * Upsert an item.\n *\n * Any provided type, T, is not necessarily enforced by the SDK.\n * You may get more or less properties and it's up to your logic to enforce it.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - Represents the body of the item. Can contain any number of user defined properties.\n * @param options - Used for modifying the request (for instance, specifying the partition key).\n * @example Upsert an item.\n * ```ts snippet:ItemsUpsert\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 { resource: createdItem1 } = await container.items.create({\n * id: \"<item id 1>\",\n * properties: {},\n * });\n *\n * const { resource: upsertItem1 } = await container.items.upsert({\n * id: \"<item id 1>\",\n * updated_properties: {},\n * });\n *\n * const { resource: upsertItem2 } = await container.items.upsert({\n * id: \"<item id 2>\",\n * properties: {},\n * });\n * ```\n */\n public async upsert<T extends ItemDefinition>(\n body: T,\n options?: RequestOptions,\n ): Promise<ItemResponse<T>>;\n public async upsert<T extends ItemDefinition>(\n body: T,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n // Generate random document id if the id is missing in the payload and\n // options.disableAutomaticIdGeneration != true\n if ((body.id === undefined || body.id === \"\") && !options.disableAutomaticIdGeneration) {\n body.id = randomUUID();\n }\n\n const partitionKeyDefinition = await readPartitionKeyDefinition(\n diagnosticNode,\n this.container,\n );\n let partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n let response: Response<T & Resource>;\n try {\n if (this.clientContext.enableEncryption) {\n // returns copy to avoid encryption of original body passed\n body = copyObject(body);\n options = options || {};\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { body: encryptedBody, propertiesEncryptedCount } =\n await this.container.encryptionProcessor.encrypt(body);\n body = encryptedBody;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n propertiesEncryptedCount,\n );\n partitionKey = extractPartitionKeys(body, partitionKeyDefinition);\n }\n\n const err = {};\n if (!isItemResourceValid(body, err)) {\n throw err;\n }\n\n const path = getPathFromLink(this.container.url, ResourceType.item);\n const id = getIdFromLink(this.container.url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n partitionKeyDefinition,\n );\n\n response = await this.clientContext.upsert<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey,\n diagnosticNode,\n partitionKeyRangeId,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n throw error;\n }\n if (this.clientContext.enableEncryption) {\n try {\n // try block for decrypting response. This is done so that we can throw special error message in case of decryption failure\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n const { body: decryptedResult, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n response.result = decryptedResult;\n partitionKey = extractPartitionKeys(response.result, partitionKeyDefinition);\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item upsert was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n\n const ref = new Item(\n this.container,\n (response.result as any).id,\n this.clientContext,\n partitionKey,\n );\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n ref,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Execute bulk operations on items.\n * @param operations - List of operations\n * @param options - used for modifying the request\n * @returns list of operation results corresponding to the operations\n *\n * @example\n * ```ts snippet:ItemsExecuteBulkOperations\n * import { CosmosClient, OperationInput } 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 operations: OperationInput[] = [\n * {\n * operationType: \"Create\",\n * resourceBody: { id: \"doc1\", name: \"sample\", key: \"A\" },\n * },\n * {\n * operationType: \"Upsert\",\n * partitionKey: \"A\",\n * resourceBody: { id: \"doc2\", name: \"other\", key: \"A\" },\n * },\n * ];\n *\n * await container.items.executeBulkOperations(operations);\n * ```\n */\n public async executeBulkOperations(\n operations: OperationInput[],\n options: RequestOptions = {},\n ): Promise<BulkOperationResult[]> {\n const bulkHelper = new BulkHelper(\n this.container,\n this.clientContext,\n this.partitionKeyRangeCache,\n options,\n );\n return bulkHelper.execute(operations);\n }\n\n /**\n * Execute bulk operations on items.\n * @deprecated Use `executeBulkOperations` instead.\n *\n * Bulk takes an array of Operations which are typed based on what the operation does.\n * The choices are: Create, Upsert, Read, Replace, and Delete\n *\n * Usage example:\n * ```ts snippet:ItemsBulk\n * import { CosmosClient, OperationInput } 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 * // partitionKey is optional at the top level if present in the resourceBody\n * const operations: OperationInput[] = [\n * {\n * operationType: \"Create\",\n * resourceBody: { id: \"doc1\", name: \"sample\", key: \"A\" },\n * },\n * {\n * operationType: \"Upsert\",\n * partitionKey: \"A\",\n * resourceBody: { id: \"doc2\", name: \"other\", key: \"A\" },\n * },\n * ];\n *\n * await container.items.bulk(operations);\n * ```\n *\n * @param operations - List of operations. Limit 100\n * @param bulkOptions - Optional options object to modify bulk behavior. Pass \\{ continueOnError: false \\} to stop executing operations when one fails. (Defaults to true)\n * @param options - Used for modifying the request.\n */\n public async bulk(\n operations: OperationInput[],\n bulkOptions?: BulkOptions,\n options?: RequestOptions,\n ): Promise<BulkOperationResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const partitionKeyRanges = (\n await this.partitionKeyRangeCache.onCollectionRoutingMap(this.container.url, diagnosticNode)\n ).getOrderedParitionKeyRanges();\n\n const partitionKeyDefinition = await readPartitionKeyDefinition(\n diagnosticNode,\n this.container,\n );\n\n if (this.clientContext.enableEncryption) {\n // returns copy to avoid encryption of original operations body passed\n operations = copyObject(operations);\n options = options || {};\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n diagnosticNode.beginEncryptionDiagnostics(Constants.Encryption.DiagnosticsEncryptOperation);\n const { operations: encryptedOperations, totalPropertiesEncryptedCount } =\n await this.bulkBatchEncryptionHelper(operations);\n operations = encryptedOperations;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n totalPropertiesEncryptedCount,\n );\n }\n\n const batches: Batch[] = partitionKeyRanges.map((keyRange: PartitionKeyRange) => {\n return {\n min: keyRange.minInclusive,\n max: keyRange.maxExclusive,\n rangeId: keyRange.id,\n indexes: [] as number[],\n operations: [] as Operation[],\n };\n });\n\n this.groupOperationsBasedOnPartitionKey(operations, partitionKeyDefinition, options, batches);\n\n const path = getPathFromLink(this.container.url, ResourceType.item);\n\n const orderedResponses: OperationResponse[] = [];\n // split batches based on cumulative size of operations\n const batchMap = batches\n .filter((batch: Batch) => batch.operations.length)\n .flatMap((batch: Batch) => splitBatchBasedOnBodySize(batch));\n\n await Promise.all(\n this.executeBatchOperations(\n batchMap,\n path,\n bulkOptions,\n options,\n diagnosticNode,\n orderedResponses,\n partitionKeyDefinition,\n ),\n );\n const response: any = orderedResponses;\n response.diagnostics = diagnosticNode.toDiagnostic(this.clientContext.getClientConfig());\n return response;\n }, this.clientContext);\n }\n\n private executeBatchOperations(\n batchMap: Batch[],\n path: string,\n bulkOptions: BulkOptions,\n options: RequestOptions,\n diagnosticNode: DiagnosticNodeInternal,\n orderedResponses: OperationResponse[],\n partitionKeyDefinition: PartitionKeyDefinition,\n ): Promise<void>[] {\n return batchMap.map(async (batch: Batch) => {\n if (batch.operations.length > 100) {\n throw new Error(\"Cannot run bulk request with more than 100 operations per partition\");\n }\n let response: Response<OperationResponse[]>;\n try {\n response = await addDiagnosticChild(\n async (childNode: DiagnosticNodeInternal) =>\n this.clientContext.bulk({\n body: batch.operations,\n partitionKeyRangeId: batch.rangeId,\n path,\n resourceId: this.container.url,\n bulkOptions,\n options,\n diagnosticNode: childNode,\n }),\n diagnosticNode,\n DiagnosticNodeType.BATCH_REQUEST,\n );\n response.result.forEach((operationResponse: OperationResponse, index: number) => {\n orderedResponses[batch.indexes[index]] = operationResponse;\n });\n } catch (err: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);\n }\n // In the case of 410 errors, we need to recompute the partition key ranges\n // and redo the batch request, however, 410 errors occur for unsupported\n // partition key types as well since we don't support them, so for now we throw\n if (err.code === StatusCodes.Gone) {\n const isPartitionSplit =\n err.substatus === SubStatusCodes.PartitionKeyRangeGone ||\n err.substatus === SubStatusCodes.CompletingSplit;\n\n if (isPartitionSplit) {\n const queryRange = new QueryRange(batch.min, batch.max, true, false);\n const overlappingRanges = await this.partitionKeyRangeCache.getOverlappingRanges(\n this.container.url,\n queryRange,\n diagnosticNode,\n true,\n );\n if (overlappingRanges.length < 1) {\n throw new Error(\"Partition split/merge detected but no overlapping ranges found.\");\n }\n // Handles both merge (overlappingRanges.length === 1) and split (overlappingRanges.length > 1) cases.\n if (overlappingRanges.length >= 1) {\n // const splitBatches: Batch[] = [];\n const newBatches: Batch[] = this.createNewBatches(\n overlappingRanges,\n batch,\n partitionKeyDefinition,\n );\n\n await Promise.all(\n this.executeBatchOperations(\n newBatches,\n path,\n bulkOptions,\n options,\n diagnosticNode,\n orderedResponses,\n partitionKeyDefinition,\n ),\n );\n }\n } else {\n throw new Error(\n \"Partition key error. An operation has an unsupported partitionKey type\" +\n err.message,\n );\n }\n } else {\n throw new Error(`Bulk request errored with: ${err.message}`);\n }\n }\n if (response) {\n try {\n if (this.clientContext.enableEncryption) {\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n let count = 0;\n for (const result of response.result) {\n if (result.resourceBody) {\n const { body, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(result.resourceBody);\n result.resourceBody = body;\n count += propertiesDecryptedCount;\n }\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n count,\n );\n }\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Batch response was received but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n response.result.forEach((operationResponse: OperationResponse, index: number) => {\n orderedResponses[batch.indexes[index]] = operationResponse;\n });\n }\n });\n }\n\n /**\n * Function to create new batches based of partition key Ranges.\n *\n * @param overlappingRanges - Overlapping partition key ranges.\n * @param batch - Batch to be split.\n * @param partitionKeyDefinition - PartitionKey definition of container.\n * @returns Array of new batches.\n */\n private createNewBatches(\n overlappingRanges: PartitionKeyRange[],\n batch: Batch,\n partitionKeyDefinition: PartitionKeyDefinition,\n ): Batch[] {\n const newBatches: Batch[] = overlappingRanges.map((keyRange: PartitionKeyRange) => {\n return {\n min: keyRange.minInclusive,\n max: keyRange.maxExclusive,\n rangeId: keyRange.id,\n indexes: [] as number[],\n operations: [] as Operation[],\n };\n });\n let indexValue = 0;\n batch.operations.forEach((operation) => {\n const partitionKey = JSON.parse(operation.partitionKey);\n const hashed = hashPartitionKey(\n assertNotUndefined(\n partitionKey,\n \"undefined value for PartitionKey is not expected during grouping of bulk operations.\",\n ),\n partitionKeyDefinition,\n );\n const batchForKey = assertNotUndefined(\n newBatches.find((newBatch: Batch) => {\n return isKeyInRange(newBatch.min, newBatch.max, hashed);\n }),\n \"No suitable Batch found.\",\n );\n batchForKey.operations.push(operation);\n batchForKey.indexes.push(batch.indexes[indexValue]);\n indexValue++;\n });\n return newBatches;\n }\n\n /**\n * Function to create batches based of partition key Ranges.\n * @param operations - operations to group\n * @param partitionDefinition - PartitionKey definition of container.\n * @param options - Request options for bulk request.\n * @param batches - Groups to be filled with operations.\n */\n private groupOperationsBasedOnPartitionKey(\n operations: OperationInput[],\n partitionDefinition: PartitionKeyDefinition,\n options: RequestOptions | undefined,\n batches: Batch[],\n ) {\n operations.forEach((operationInput, index: number) => {\n const { operation, partitionKey } = prepareOperations(\n operationInput,\n partitionDefinition,\n options,\n );\n const hashed = hashPartitionKey(\n assertNotUndefined(\n partitionKey,\n \"undefined value for PartitionKey is not expected during grouping of bulk operations.\",\n ),\n partitionDefinition,\n );\n const batchForKey = assertNotUndefined(\n batches.find((batch: Batch) => {\n return isKeyInRange(batch.min, batch.max, hashed);\n }),\n \"No suitable Batch found.\",\n );\n batchForKey.operations.push(operation);\n batchForKey.indexes.push(index);\n });\n }\n\n /**\n * Execute transactional batch operations on items.\n *\n * Batch takes an array of Operations which are typed based on what the operation does. Batch is transactional and will rollback all operations if one fails.\n * The choices are: Create, Upsert, Read, Replace, and Delete\n *\n * Usage example:\n * ```ts snippet:ItemsBatch\n * import { CosmosClient, OperationInput } 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 * // The partitionKey is a required second argument. If it’s undefined, it defaults to the expected partition key format.\n * const operations: OperationInput[] = [\n * {\n * operationType: \"Create\",\n * resourceBody: { id: \"doc1\", name: \"sample\", key: \"A\" },\n * },\n * {\n * operationType: \"Upsert\",\n * resourceBody: { id: \"doc2\", name: \"other\", key: \"A\" },\n * },\n * ];\n *\n * await container.items.batch(operations, \"A\");\n * ```\n *\n * @param operations - List of operations. Limit 100\n * @param options - Used for modifying the request\n */\n public async batch(\n operations: OperationInput[],\n partitionKey?: PartitionKey,\n options?: RequestOptions,\n ): Promise<Response<OperationResponse[]>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n operations.map((operation) => decorateBatchOperation(operation, options));\n partitionKey = await setPartitionKeyIfUndefined(diagnosticNode, this.container, partitionKey);\n const path = getPathFromLink(this.container.url, ResourceType.item);\n\n if (operations.length > 100) {\n throw new Error(\"Cannot run batch request with more than 100 operations per partition\");\n }\n for (const operationInput of operations) {\n if (operationInput && operationInput.partitionKey !== undefined) {\n operationInput.partitionKey = JSON.stringify(\n convertToInternalPartitionKey(operationInput.partitionKey),\n );\n }\n }\n let response: Response<OperationResponse[]>;\n try {\n if (this.clientContext.enableEncryption) {\n // returns copy to avoid encryption of original operations body passed\n operations = copyObject(operations);\n options = options || {};\n await this.container.checkAndInitializeEncryption();\n options.containerRid = this.container._rid;\n let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n if (partitionKey) {\n const partitionKeyInternal = convertToInternalPartitionKey(partitionKey);\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n partitionKeyInternal,\n );\n partitionKey = partitionKeyList;\n count += encryptedCount;\n }\n const { operations: encryptedOperations, totalPropertiesEncryptedCount } =\n await this.bulkBatchEncryptionHelper(operations);\n operations = encryptedOperations;\n count += totalPropertiesEncryptedCount;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n response = await this.clientContext.batch({\n body: operations,\n partitionKey,\n path,\n resourceId: this.container.url,\n options,\n diagnosticNode,\n partitionKeyRangeId,\n });\n } catch (err: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(err);\n }\n throw new Error(`Batch request error: ${err.message}`);\n }\n if (this.clientContext.enableEncryption) {\n try {\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n let count = 0;\n for (const result of response.result) {\n if (result.resourceBody) {\n const { body, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(result.resourceBody);\n result.resourceBody = body;\n count += propertiesDecryptedCount;\n }\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n count,\n );\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Batch response was received but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n return response;\n }, this.clientContext);\n }\n\n private async bulkBatchEncryptionHelper(\n operations: OperationInput[],\n ): Promise<{ operations: OperationInput[]; totalPropertiesEncryptedCount: number }> {\n let totalPropertiesEncryptedCount = 0;\n const encryptedOperations: OperationInput[] = [];\n for (const operation of operations) {\n const { operation: encryptedOp, totalPropertiesEncryptedCount: updatedCount } =\n await encryptOperationInput(\n this.container.encryptionProcessor,\n operation,\n totalPropertiesEncryptedCount,\n );\n totalPropertiesEncryptedCount = updatedCount;\n encryptedOperations.push(encryptedOp);\n }\n return { operations: encryptedOperations, totalPropertiesEncryptedCount };\n }\n}\n"]}
@@ -10,6 +10,9 @@ const OfferResponse_js_1 = require("./OfferResponse.js");
10
10
  * @see {@link Offers} to query or read all offers.
11
11
  */
12
12
  class Offer {
13
+ client;
14
+ id;
15
+ clientContext;
13
16
  /**
14
17
  * Returns a reference URL to the resource. Used for linking in Permissions.
15
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Offer.js","sourceRoot":"","sources":["../../../../src/client/Offer/Offer.ts"],"names":[],"mappings":";;;AAGA,oDAAiF;AAEjF,+DAAwF;AAIxF,yDAAmD;AAEnD;;;;GAIG;AACH,MAAa,KAAK;IAChB;;OAEG;IACH,IAAW,GAAG;QACZ,OAAO,IAAI,oBAAS,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3D,CAAC;IACD;;;;OAIG;IACH,YACkB,MAAoB,EACpB,EAAU,EACT,aAA4B;QAF7B,WAAM,GAAN,MAAM,CAAc;QACpB,OAAE,GAAF,EAAE,CAAQ;QACT,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAkB;gBAC9D,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,YAAY,EAAE,uBAAY,CAAC,KAAK;gBAChC,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,gCAAa,CACtB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAA,0CAAyB,GAAE,EAC3B,IAAI,CACL,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,OAAwB;QAClE,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAkB;gBACjE,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,YAAY,EAAE,uBAAY,CAAC,KAAK;gBAChC,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,gCAAa,CACtB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAA,0CAAyB,GAAE,EAC3B,IAAI,CACL,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;CACF;AAzFD,sBAyFC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport { Constants, isResourceValid, ResourceType } from \"../../common/index.js\";\nimport type { CosmosClient } from \"../../CosmosClient.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { RequestOptions } from \"../../request/index.js\";\nimport type { OfferDefinition } from \"./OfferDefinition.js\";\nimport { OfferResponse } from \"./OfferResponse.js\";\n\n/**\n * Use to read or replace an existing {@link Offer} by id.\n *\n * @see {@link Offers} to query or read all offers.\n */\nexport class Offer {\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return `/${Constants.Path.OffersPathSegment}/${this.id}`;\n }\n /**\n * @hidden\n * @param client - The parent {@link CosmosClient} for the Database Account.\n * @param id - The id of the given {@link Offer}.\n */\n constructor(\n public readonly client: CosmosClient,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Read the {@link OfferDefinition} for the given {@link Offer}.\n * @example\n * ```ts snippet:OfferRead\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 { resource: offer } = await client.offer(\"<offer-id>\").read();\n * ```\n */\n public async read(options?: RequestOptions): Promise<OfferResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const response = await this.clientContext.read<OfferDefinition>({\n path: this.url,\n resourceType: ResourceType.offer,\n resourceId: this.id,\n options,\n diagnosticNode,\n });\n return new OfferResponse(\n response.result,\n response.headers,\n response.code,\n getEmptyCosmosDiagnostics(),\n this,\n );\n }, this.clientContext);\n }\n\n /**\n * Replace the given {@link Offer} with the specified {@link OfferDefinition}.\n * @param body - The specified {@link OfferDefinition}\n * @example replace offer with a new offer definition with updated throughput\n * ```ts snippet:OfferReplace\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 { resource: offer } = await client.offer(\"<offer-id>\").read();\n * // @ts-preservewhitespace\n * offer.content.offerThroughput = 1000;\n * await client.offer(\"<offer-id>\").replace(offer);\n * ```\n */\n public async replace(body: OfferDefinition, options?: RequestOptions): Promise<OfferResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const err = {};\n if (!isResourceValid(body, err)) {\n throw err;\n }\n const response = await this.clientContext.replace<OfferDefinition>({\n body,\n path: this.url,\n resourceType: ResourceType.offer,\n resourceId: this.id,\n options,\n diagnosticNode,\n });\n return new OfferResponse(\n response.result,\n response.headers,\n response.code,\n getEmptyCosmosDiagnostics(),\n this,\n );\n }, this.clientContext);\n }\n}\n"]}
1
+ {"version":3,"file":"Offer.js","sourceRoot":"","sources":["../../../../src/client/Offer/Offer.ts"],"names":[],"mappings":";;;AAGA,oDAAiF;AAEjF,+DAAwF;AAIxF,yDAAmD;AAEnD;;;;GAIG;AACH,MAAa,KAAK;IAaE;IACA;IACC;IAdnB;;OAEG;IACH,IAAW,GAAG;QACZ,OAAO,IAAI,oBAAS,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3D,CAAC;IACD;;;;OAIG;IACH,YACkB,MAAoB,EACpB,EAAU,EACT,aAA4B;QAF7B,WAAM,GAAN,MAAM,CAAc;QACpB,OAAE,GAAF,EAAE,CAAQ;QACT,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;;;;;;;OAYG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAkB;gBAC9D,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,YAAY,EAAE,uBAAY,CAAC,KAAK;gBAChC,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,gCAAa,CACtB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAA,0CAAyB,GAAE,EAC3B,IAAI,CACL,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,OAAO,CAAC,IAAqB,EAAE,OAAwB;QAClE,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAkB;gBACjE,IAAI;gBACJ,IAAI,EAAE,IAAI,CAAC,GAAG;gBACd,YAAY,EAAE,uBAAY,CAAC,KAAK;gBAChC,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,gCAAa,CACtB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAA,0CAAyB,GAAE,EAC3B,IAAI,CACL,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;CACF;AAzFD,sBAyFC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport { Constants, isResourceValid, ResourceType } from \"../../common/index.js\";\nimport type { CosmosClient } from \"../../CosmosClient.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\nimport type { DiagnosticNodeInternal } from \"../../diagnostics/DiagnosticNodeInternal.js\";\nimport type { RequestOptions } from \"../../request/index.js\";\nimport type { OfferDefinition } from \"./OfferDefinition.js\";\nimport { OfferResponse } from \"./OfferResponse.js\";\n\n/**\n * Use to read or replace an existing {@link Offer} by id.\n *\n * @see {@link Offers} to query or read all offers.\n */\nexport class Offer {\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return `/${Constants.Path.OffersPathSegment}/${this.id}`;\n }\n /**\n * @hidden\n * @param client - The parent {@link CosmosClient} for the Database Account.\n * @param id - The id of the given {@link Offer}.\n */\n constructor(\n public readonly client: CosmosClient,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Read the {@link OfferDefinition} for the given {@link Offer}.\n * @example\n * ```ts snippet:OfferRead\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 { resource: offer } = await client.offer(\"<offer-id>\").read();\n * ```\n */\n public async read(options?: RequestOptions): Promise<OfferResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const response = await this.clientContext.read<OfferDefinition>({\n path: this.url,\n resourceType: ResourceType.offer,\n resourceId: this.id,\n options,\n diagnosticNode,\n });\n return new OfferResponse(\n response.result,\n response.headers,\n response.code,\n getEmptyCosmosDiagnostics(),\n this,\n );\n }, this.clientContext);\n }\n\n /**\n * Replace the given {@link Offer} with the specified {@link OfferDefinition}.\n * @param body - The specified {@link OfferDefinition}\n * @example replace offer with a new offer definition with updated throughput\n * ```ts snippet:OfferReplace\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 { resource: offer } = await client.offer(\"<offer-id>\").read();\n * // @ts-preservewhitespace\n * offer.content.offerThroughput = 1000;\n * await client.offer(\"<offer-id>\").replace(offer);\n * ```\n */\n public async replace(body: OfferDefinition, options?: RequestOptions): Promise<OfferResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const err = {};\n if (!isResourceValid(body, err)) {\n throw err;\n }\n const response = await this.clientContext.replace<OfferDefinition>({\n body,\n path: this.url,\n resourceType: ResourceType.offer,\n resourceId: this.id,\n options,\n diagnosticNode,\n });\n return new OfferResponse(\n response.result,\n response.headers,\n response.code,\n getEmptyCosmosDiagnostics(),\n this,\n );\n }, this.clientContext);\n }\n}\n"]}
@@ -7,6 +7,8 @@ class OfferResponse extends index_js_1.ResourceResponse {
7
7
  super(resource, headers, statusCode, diagnostics);
8
8
  this.offer = offer;
9
9
  }
10
+ /** A reference to the {@link Offer} corresponding to the returned {@link OfferDefinition}. */
11
+ offer;
10
12
  }
11
13
  exports.OfferResponse = OfferResponse;
12
14
  //# sourceMappingURL=OfferResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OfferResponse.js","sourceRoot":"","sources":["../../../../src/client/Offer/OfferResponse.ts"],"names":[],"mappings":";;;AAIA,qDAA0D;AAK1D,MAAa,aAAc,SAAQ,2BAA4C;IAC7E,YACE,QAAoC,EACpC,OAAsB,EACtB,UAAkB,EAClB,WAA8B,EAC9B,KAAa;QAEb,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAGF;AAbD,sCAaC","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 { Offer } from \"./Offer.js\";\nimport type { OfferDefinition } from \"./OfferDefinition.js\";\n\nexport class OfferResponse extends ResourceResponse<OfferDefinition & Resource> {\n constructor(\n resource: OfferDefinition & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n diagnostics: CosmosDiagnostics,\n offer?: Offer,\n ) {\n super(resource, headers, statusCode, diagnostics);\n this.offer = offer;\n }\n /** A reference to the {@link Offer} corresponding to the returned {@link OfferDefinition}. */\n public readonly offer: Offer;\n}\n"]}
1
+ {"version":3,"file":"OfferResponse.js","sourceRoot":"","sources":["../../../../src/client/Offer/OfferResponse.ts"],"names":[],"mappings":";;;AAIA,qDAA0D;AAK1D,MAAa,aAAc,SAAQ,2BAA4C;IAC7E,YACE,QAAoC,EACpC,OAAsB,EACtB,UAAkB,EAClB,WAA8B,EAC9B,KAAa;QAEb,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,8FAA8F;IAC9E,KAAK,CAAQ;CAC9B;AAbD,sCAaC","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 { Offer } from \"./Offer.js\";\nimport type { OfferDefinition } from \"./OfferDefinition.js\";\n\nexport class OfferResponse extends ResourceResponse<OfferDefinition & Resource> {\n constructor(\n resource: OfferDefinition & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n diagnostics: CosmosDiagnostics,\n offer?: Offer,\n ) {\n super(resource, headers, statusCode, diagnostics);\n this.offer = offer;\n }\n /** A reference to the {@link Offer} corresponding to the returned {@link OfferDefinition}. */\n public readonly offer: Offer;\n}\n"]}
@@ -9,6 +9,8 @@ const queryIterator_js_1 = require("../../queryIterator.js");
9
9
  * @see {@link Offer} to read or replace an existing {@link Offer} by id.
10
10
  */
11
11
  class Offers {
12
+ client;
13
+ clientContext;
12
14
  /**
13
15
  * @hidden
14
16
  * @param client - The parent {@link CosmosClient} for the offers.
@@ -1 +1 @@
1
- {"version":3,"file":"Offers.js","sourceRoot":"","sources":["../../../../src/client/Offer/Offers.ts"],"names":[],"mappings":";;;AAGA,oDAAqD;AAGrD,6DAAuD;AAKvD;;;;GAIG;AACH,MAAa,MAAM;IACjB;;;OAGG;IACH,YACkB,MAAoB,EACnB,aAA4B;QAD7B,WAAM,GAAN,MAAM,CAAc;QACnB,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IA0BG,KAAK,CAAI,KAAmB,EAAE,OAAqB;QACxD,OAAO,IAAI,gCAAa,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAI;gBACrC,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,uBAAY,CAAC,KAAK;gBAChC,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM;gBACnC,KAAK;gBACL,OAAO,EAAE,YAAY;gBACrB,cAAc;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,OAAO,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC,KAAK,CAA6B,SAAS,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;CACF;AAhED,wBAgEC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport { ResourceType } from \"../../common/index.js\";\nimport type { CosmosClient } from \"../../CosmosClient.js\";\nimport type { SqlQuerySpec } from \"../../queryExecutionContext/index.js\";\nimport { QueryIterator } from \"../../queryIterator.js\";\nimport type { FeedOptions } from \"../../request/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { OfferDefinition } from \"./OfferDefinition.js\";\n\n/**\n * Use to query or read all Offers.\n *\n * @see {@link Offer} to read or replace an existing {@link Offer} by id.\n */\nexport class Offers {\n /**\n * @hidden\n * @param client - The parent {@link CosmosClient} for the offers.\n */\n constructor(\n public readonly client: CosmosClient,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Query all offers.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @example Read offer for a specific id.\n * ```ts snippet:OffersQuery\n * import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {\n * query: `SELECT * FROM root r WHERE r.id = @offer`,\n * parameters: [{ name: \"@offer\", value: \"<offer-id>\" }],\n * };\n * const { resources: offer } = await client.offers.query(querySpec).fetchAll();\n * ```\n */\n public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>;\n /**\n * Query all offers.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n */\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>;\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T> {\n return new QueryIterator(this.clientContext, query, options, (diagnosticNode, innerOptions) => {\n return this.clientContext.queryFeed<T>({\n path: \"/offers\",\n resourceType: ResourceType.offer,\n resourceId: \"\",\n resultFn: (result) => result.Offers,\n query,\n options: innerOptions,\n diagnosticNode,\n });\n });\n }\n\n /**\n * Read all offers.\n * @example Read all offers to array.\n * ```ts snippet:OffersReadAll\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 { resources: offerList } = await client.offers.readAll().fetchAll();\n * ```\n */\n public readAll(options?: FeedOptions): QueryIterator<OfferDefinition & Resource> {\n return this.query<OfferDefinition & Resource>(undefined, options);\n }\n}\n"]}
1
+ {"version":3,"file":"Offers.js","sourceRoot":"","sources":["../../../../src/client/Offer/Offers.ts"],"names":[],"mappings":";;;AAGA,oDAAqD;AAGrD,6DAAuD;AAKvD;;;;GAIG;AACH,MAAa,MAAM;IAMC;IACC;IANnB;;;OAGG;IACH,YACkB,MAAoB,EACnB,aAA4B;QAD7B,WAAM,GAAN,MAAM,CAAc;QACnB,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IA0BG,KAAK,CAAI,KAAmB,EAAE,OAAqB;QACxD,OAAO,IAAI,gCAAa,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAI;gBACrC,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,uBAAY,CAAC,KAAK;gBAChC,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM;gBACnC,KAAK;gBACL,OAAO,EAAE,YAAY;gBACrB,cAAc;aACf,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,OAAO,CAAC,OAAqB;QAClC,OAAO,IAAI,CAAC,KAAK,CAA6B,SAAS,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;CACF;AAhED,wBAgEC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport type { ClientContext } from \"../../ClientContext.js\";\nimport { ResourceType } from \"../../common/index.js\";\nimport type { CosmosClient } from \"../../CosmosClient.js\";\nimport type { SqlQuerySpec } from \"../../queryExecutionContext/index.js\";\nimport { QueryIterator } from \"../../queryIterator.js\";\nimport type { FeedOptions } from \"../../request/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { OfferDefinition } from \"./OfferDefinition.js\";\n\n/**\n * Use to query or read all Offers.\n *\n * @see {@link Offer} to read or replace an existing {@link Offer} by id.\n */\nexport class Offers {\n /**\n * @hidden\n * @param client - The parent {@link CosmosClient} for the offers.\n */\n constructor(\n public readonly client: CosmosClient,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Query all offers.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n * @example Read offer for a specific id.\n * ```ts snippet:OffersQuery\n * import { CosmosClient, SqlQuerySpec } 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 querySpec: SqlQuerySpec = {\n * query: `SELECT * FROM root r WHERE r.id = @offer`,\n * parameters: [{ name: \"@offer\", value: \"<offer-id>\" }],\n * };\n * const { resources: offer } = await client.offers.query(querySpec).fetchAll();\n * ```\n */\n public query(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<any>;\n /**\n * Query all offers.\n * @param query - Query configuration for the operation. See {@link SqlQuerySpec} for more info on how to configure a query.\n */\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T>;\n public query<T>(query: SqlQuerySpec, options?: FeedOptions): QueryIterator<T> {\n return new QueryIterator(this.clientContext, query, options, (diagnosticNode, innerOptions) => {\n return this.clientContext.queryFeed<T>({\n path: \"/offers\",\n resourceType: ResourceType.offer,\n resourceId: \"\",\n resultFn: (result) => result.Offers,\n query,\n options: innerOptions,\n diagnosticNode,\n });\n });\n }\n\n /**\n * Read all offers.\n * @example Read all offers to array.\n * ```ts snippet:OffersReadAll\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 { resources: offerList } = await client.offers.readAll().fetchAll();\n * ```\n */\n public readAll(options?: FeedOptions): QueryIterator<OfferDefinition & Resource> {\n return this.query<OfferDefinition & Resource>(undefined, options);\n }\n}\n"]}
@@ -10,6 +10,9 @@ const diagnostics_js_1 = require("../../utils/diagnostics.js");
10
10
  * @see {@link Permissions} to create, upsert, query, or read all Permissions.
11
11
  */
12
12
  class Permission {
13
+ user;
14
+ id;
15
+ clientContext;
13
16
  /**
14
17
  * Returns a reference URL to the resource. Used for linking in Permissions.
15
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/client/Permission/Permission.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 createPermissionUri,\n getIdFromLink,\n getPathFromLink,\n isResourceValid,\n ResourceType,\n} from \"../../common/index.js\";\nimport type { RequestOptions } from \"../../request/RequestOptions.js\";\nimport type { User } from \"../User/index.js\";\nimport type { PermissionBody } from \"./PermissionBody.js\";\nimport type { PermissionDefinition } from \"./PermissionDefinition.js\";\nimport { PermissionResponse } from \"./PermissionResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\n\n/**\n * Use to read, replace, or delete a given {@link Permission} by id.\n *\n * @see {@link Permissions} to create, upsert, query, or read all Permissions.\n */\nexport class Permission {\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return createPermissionUri(this.user.database.id, this.user.id, this.id);\n }\n /**\n * @hidden\n * @param user - The parent {@link User}.\n * @param id - The id of the given {@link Permission}.\n */\n constructor(\n public readonly user: User,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Read the {@link PermissionDefinition} of the given {@link Permission}.\n * @example\n * ```ts snippet:PermissionRead\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 user = database.user(\"<user-id>\");\n *\n * const { resource: permission } = await user.permission(\"<permission-id>\").read();\n * ```\n */\n public async read(options?: RequestOptions): Promise<PermissionResponse> {\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<PermissionDefinition & PermissionBody>({\n path,\n resourceType: ResourceType.permission,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new PermissionResponse(\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 Permission} with the specified {@link PermissionDefinition}.\n * @param body - The specified {@link PermissionDefinition}.\n * @example\n * ```ts snippet:PermissionReplace\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 user = database.user(\"<user-id>\");\n * const { resource: permission } = await user.permission(\"<permission-id>\").read();\n * permission.resource = \"<new-resource-url>\";\n *\n * await user.permission(\"<permission-id>\").replace(permission);\n * ```\n */\n public async replace(\n body: PermissionDefinition,\n options?: RequestOptions,\n ): Promise<PermissionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\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 const response = await this.clientContext.replace<PermissionDefinition & PermissionBody>({\n body,\n path,\n resourceType: ResourceType.permission,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new PermissionResponse(\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 Permission}.\n * @example\n * ```ts snippet:PermissionDelete\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 user = database.user(\"<user-id>\");\n *\n * await user.permission(\"<permission-id>\").delete();\n * ```\n */\n public async delete(options?: RequestOptions): Promise<PermissionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n const response = await this.clientContext.delete<PermissionDefinition & PermissionBody>({\n path,\n resourceType: ResourceType.permission,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new PermissionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/client/Permission/Permission.ts"],"names":[],"mappings":";;;AAIA,oDAM+B;AAK/B,mEAA6D;AAC7D,+DAAwF;AAExF;;;;GAIG;AACH,MAAa,UAAU;IAaH;IACA;IACC;IAdnB;;OAEG;IACH,IAAW,GAAG;QACZ,OAAO,IAAA,8BAAmB,EAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD;;;;OAIG;IACH,YACkB,IAAU,EACV,EAAU,EACT,aAA4B;QAF7B,SAAI,GAAJ,IAAI,CAAM;QACV,OAAE,GAAF,EAAE,CAAQ;QACT,kBAAa,GAAb,aAAa,CAAe;IAC5C,CAAC;IAEJ;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAwC;gBACpF,IAAI;gBACJ,YAAY,EAAE,uBAAY,CAAC,UAAU;gBACrC,UAAU,EAAE,EAAE;gBACd,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,0CAAkB,CAC3B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAI,EACJ,IAAA,0CAAyB,GAAE,CAC5B,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,KAAK,CAAC,OAAO,CAClB,IAA0B,EAC1B,OAAwB;QAExB,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAwC;gBACvF,IAAI;gBACJ,IAAI;gBACJ,YAAY,EAAE,uBAAY,CAAC,UAAU;gBACrC,UAAU,EAAE,EAAE;gBACd,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,0CAAkB,CAC3B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAI,EACJ,IAAA,0CAAyB,GAAE,CAC5B,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,MAAM,CAAC,OAAwB;QAC1C,OAAO,IAAA,gCAAe,EAAC,KAAK,EAAE,cAAsC,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,IAAA,0BAAe,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,IAAA,wBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAwC;gBACtF,IAAI;gBACJ,YAAY,EAAE,uBAAY,CAAC,UAAU;gBACrC,UAAU,EAAE,EAAE;gBACd,OAAO;gBACP,cAAc;aACf,CAAC,CAAC;YACH,OAAO,IAAI,0CAAkB,CAC3B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,IAAI,EACb,IAAI,EACJ,IAAA,0CAAyB,GAAE,CAC5B,CAAC;QACJ,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;CACF;AA1ID,gCA0IC","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 createPermissionUri,\n getIdFromLink,\n getPathFromLink,\n isResourceValid,\n ResourceType,\n} from \"../../common/index.js\";\nimport type { RequestOptions } from \"../../request/RequestOptions.js\";\nimport type { User } from \"../User/index.js\";\nimport type { PermissionBody } from \"./PermissionBody.js\";\nimport type { PermissionDefinition } from \"./PermissionDefinition.js\";\nimport { PermissionResponse } from \"./PermissionResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\n\n/**\n * Use to read, replace, or delete a given {@link Permission} by id.\n *\n * @see {@link Permissions} to create, upsert, query, or read all Permissions.\n */\nexport class Permission {\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return createPermissionUri(this.user.database.id, this.user.id, this.id);\n }\n /**\n * @hidden\n * @param user - The parent {@link User}.\n * @param id - The id of the given {@link Permission}.\n */\n constructor(\n public readonly user: User,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n ) {}\n\n /**\n * Read the {@link PermissionDefinition} of the given {@link Permission}.\n * @example\n * ```ts snippet:PermissionRead\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 user = database.user(\"<user-id>\");\n *\n * const { resource: permission } = await user.permission(\"<permission-id>\").read();\n * ```\n */\n public async read(options?: RequestOptions): Promise<PermissionResponse> {\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<PermissionDefinition & PermissionBody>({\n path,\n resourceType: ResourceType.permission,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new PermissionResponse(\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 Permission} with the specified {@link PermissionDefinition}.\n * @param body - The specified {@link PermissionDefinition}.\n * @example\n * ```ts snippet:PermissionReplace\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 user = database.user(\"<user-id>\");\n * const { resource: permission } = await user.permission(\"<permission-id>\").read();\n * permission.resource = \"<new-resource-url>\";\n *\n * await user.permission(\"<permission-id>\").replace(permission);\n * ```\n */\n public async replace(\n body: PermissionDefinition,\n options?: RequestOptions,\n ): Promise<PermissionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\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 const response = await this.clientContext.replace<PermissionDefinition & PermissionBody>({\n body,\n path,\n resourceType: ResourceType.permission,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new PermissionResponse(\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 Permission}.\n * @example\n * ```ts snippet:PermissionDelete\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 user = database.user(\"<user-id>\");\n *\n * await user.permission(\"<permission-id>\").delete();\n * ```\n */\n public async delete(options?: RequestOptions): Promise<PermissionResponse> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n const path = getPathFromLink(this.url);\n const id = getIdFromLink(this.url);\n const response = await this.clientContext.delete<PermissionDefinition & PermissionBody>({\n path,\n resourceType: ResourceType.permission,\n resourceId: id,\n options,\n diagnosticNode,\n });\n return new PermissionResponse(\n response.result,\n response.headers,\n response.code,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
@@ -7,6 +7,8 @@ class PermissionResponse extends index_js_1.ResourceResponse {
7
7
  super(resource, headers, statusCode, diagnostics);
8
8
  this.permission = permission;
9
9
  }
10
+ /** A reference to the {@link Permission} corresponding to the returned {@link PermissionDefinition}. */
11
+ permission;
10
12
  }
11
13
  exports.PermissionResponse = PermissionResponse;
12
14
  //# sourceMappingURL=PermissionResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionResponse.js","sourceRoot":"","sources":["../../../../src/client/Permission/PermissionResponse.ts"],"names":[],"mappings":";;;AAIA,qDAA0D;AAM1D,MAAa,kBAAmB,SAAQ,2BAEvC;IACC,YACE,QAA0D,EAC1D,OAAsB,EACtB,UAAkB,EAClB,UAAsB,EACtB,WAA8B;QAE9B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CAGF;AAfD,gDAeC","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 { Permission } from \"./Permission.js\";\nimport type { PermissionBody } from \"./PermissionBody.js\";\nimport type { PermissionDefinition } from \"./PermissionDefinition.js\";\n\nexport class PermissionResponse extends ResourceResponse<\n PermissionDefinition & PermissionBody & Resource\n> {\n constructor(\n resource: PermissionDefinition & PermissionBody & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n permission: Permission,\n diagnostics: CosmosDiagnostics,\n ) {\n super(resource, headers, statusCode, diagnostics);\n this.permission = permission;\n }\n /** A reference to the {@link Permission} corresponding to the returned {@link PermissionDefinition}. */\n public readonly permission: Permission;\n}\n"]}
1
+ {"version":3,"file":"PermissionResponse.js","sourceRoot":"","sources":["../../../../src/client/Permission/PermissionResponse.ts"],"names":[],"mappings":";;;AAIA,qDAA0D;AAM1D,MAAa,kBAAmB,SAAQ,2BAEvC;IACC,YACE,QAA0D,EAC1D,OAAsB,EACtB,UAAkB,EAClB,UAAsB,EACtB,WAA8B;QAE9B,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IACD,wGAAwG;IACxF,UAAU,CAAa;CACxC;AAfD,gDAeC","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 { Permission } from \"./Permission.js\";\nimport type { PermissionBody } from \"./PermissionBody.js\";\nimport type { PermissionDefinition } from \"./PermissionDefinition.js\";\n\nexport class PermissionResponse extends ResourceResponse<\n PermissionDefinition & PermissionBody & Resource\n> {\n constructor(\n resource: PermissionDefinition & PermissionBody & Resource,\n headers: CosmosHeaders,\n statusCode: number,\n permission: Permission,\n diagnostics: CosmosDiagnostics,\n ) {\n super(resource, headers, statusCode, diagnostics);\n this.permission = permission;\n }\n /** A reference to the {@link Permission} corresponding to the returned {@link PermissionDefinition}. */\n public readonly permission: Permission;\n}\n"]}
@@ -12,6 +12,8 @@ const diagnostics_js_1 = require("../../utils/diagnostics.js");
12
12
  * @see {@link Permission} to read, replace, or delete a specific permission by id.
13
13
  */
14
14
  class Permissions {
15
+ user;
16
+ clientContext;
15
17
  /**
16
18
  * @hidden
17
19
  * @param user - The parent {@link User}.