@azure/cosmos 4.4.1-alpha.20250708.2 → 4.5.0-alpha.20250717.1

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 (395) hide show
  1. package/dist/browser/ClientContext.d.ts +19 -10
  2. package/dist/browser/ClientContext.d.ts.map +1 -1
  3. package/dist/browser/ClientContext.js +30 -11
  4. package/dist/browser/ClientContext.js.map +1 -1
  5. package/dist/browser/CosmosClient.d.ts.map +1 -1
  6. package/dist/browser/CosmosClient.js +10 -2
  7. package/dist/browser/CosmosClient.js.map +1 -1
  8. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts +49 -0
  9. package/dist/browser/PartitionKeyRangeFailoverInfo.d.ts.map +1 -0
  10. package/dist/browser/PartitionKeyRangeFailoverInfo.js +130 -0
  11. package/dist/browser/PartitionKeyRangeFailoverInfo.js.map +1 -0
  12. package/dist/browser/client/ClientUtils.d.ts +3 -1
  13. package/dist/browser/client/ClientUtils.d.ts.map +1 -1
  14. package/dist/browser/client/ClientUtils.js +10 -0
  15. package/dist/browser/client/ClientUtils.js.map +1 -1
  16. package/dist/browser/client/Item/Item.d.ts.map +1 -1
  17. package/dist/browser/client/Item/Item.js +13 -0
  18. package/dist/browser/client/Item/Item.js.map +1 -1
  19. package/dist/browser/client/Item/Items.d.ts.map +1 -1
  20. package/dist/browser/client/Item/Items.js +19 -3
  21. package/dist/browser/client/Item/Items.js.map +1 -1
  22. package/dist/browser/common/constants.d.ts +20 -0
  23. package/dist/browser/common/constants.d.ts.map +1 -1
  24. package/dist/browser/common/constants.js +23 -1
  25. package/dist/browser/common/constants.js.map +1 -1
  26. package/dist/browser/common/platform.d.ts +6 -1
  27. package/dist/browser/common/platform.d.ts.map +1 -1
  28. package/dist/browser/common/platform.js +23 -4
  29. package/dist/browser/common/platform.js.map +1 -1
  30. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  31. package/dist/browser/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  32. package/dist/browser/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  33. package/dist/browser/documents/ConnectionPolicy.d.ts +6 -0
  34. package/dist/browser/documents/ConnectionPolicy.d.ts.map +1 -1
  35. package/dist/browser/documents/ConnectionPolicy.js +2 -0
  36. package/dist/browser/documents/ConnectionPolicy.js.map +1 -1
  37. package/dist/browser/documents/DatabaseAccount.d.ts.map +1 -1
  38. package/dist/browser/documents/DatabaseAccount.js +3 -0
  39. package/dist/browser/documents/DatabaseAccount.js.map +1 -1
  40. package/dist/browser/extractPartitionKey.d.ts.map +1 -1
  41. package/dist/browser/extractPartitionKey.js +33 -20
  42. package/dist/browser/extractPartitionKey.js.map +1 -1
  43. package/dist/browser/globalEndpointManager.d.ts +6 -0
  44. package/dist/browser/globalEndpointManager.d.ts.map +1 -1
  45. package/dist/browser/globalEndpointManager.js +9 -4
  46. package/dist/browser/globalEndpointManager.js.map +1 -1
  47. package/dist/browser/globalPartitionEndpointManager.d.ts +79 -0
  48. package/dist/browser/globalPartitionEndpointManager.d.ts.map +1 -0
  49. package/dist/browser/globalPartitionEndpointManager.js +279 -0
  50. package/dist/browser/globalPartitionEndpointManager.js.map +1 -0
  51. package/dist/browser/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  52. package/dist/browser/queryExecutionContext/Aggregators/index.js +1 -0
  53. package/dist/browser/queryExecutionContext/Aggregators/index.js.map +1 -1
  54. package/dist/browser/queryExecutionContext/documentProducer.d.ts +2 -3
  55. package/dist/browser/queryExecutionContext/documentProducer.d.ts.map +1 -1
  56. package/dist/browser/queryExecutionContext/documentProducer.js +16 -21
  57. package/dist/browser/queryExecutionContext/documentProducer.js.map +1 -1
  58. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  59. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js +2 -1
  60. package/dist/browser/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  61. package/dist/browser/queryIterator.js +1 -2
  62. package/dist/browser/queryIterator.js.map +1 -1
  63. package/dist/browser/request/ErrorResponse.d.ts +1 -1
  64. package/dist/browser/request/ErrorResponse.d.ts.map +1 -1
  65. package/dist/browser/request/ErrorResponse.js.map +1 -1
  66. package/dist/browser/request/RequestContext.d.ts +5 -0
  67. package/dist/browser/request/RequestContext.d.ts.map +1 -1
  68. package/dist/browser/request/RequestContext.js.map +1 -1
  69. package/dist/browser/request/RequestHandler.d.ts.map +1 -1
  70. package/dist/browser/request/RequestHandler.js +14 -4
  71. package/dist/browser/request/RequestHandler.js.map +1 -1
  72. package/dist/browser/retry/RetryPolicy.d.ts +2 -2
  73. package/dist/browser/retry/RetryPolicy.d.ts.map +1 -1
  74. package/dist/browser/retry/RetryPolicy.js.map +1 -1
  75. package/dist/browser/retry/defaultRetryPolicy.d.ts.map +1 -1
  76. package/dist/browser/retry/defaultRetryPolicy.js +4 -8
  77. package/dist/browser/retry/defaultRetryPolicy.js.map +1 -1
  78. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts +5 -3
  79. package/dist/browser/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  80. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js +9 -2
  81. package/dist/browser/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  82. package/dist/browser/retry/retryUtility.d.ts.map +1 -1
  83. package/dist/browser/retry/retryUtility.js +11 -5
  84. package/dist/browser/retry/retryUtility.js.map +1 -1
  85. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts +6 -3
  86. package/dist/browser/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  87. package/dist/browser/retry/timeoutFailoverRetryPolicy.js +12 -4
  88. package/dist/browser/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  89. package/dist/browser/routing/partitionKeyRangeCache.d.ts.map +1 -1
  90. package/dist/browser/routing/partitionKeyRangeCache.js +11 -0
  91. package/dist/browser/routing/partitionKeyRangeCache.js.map +1 -1
  92. package/dist/browser/utils/checkURL.js +6 -0
  93. package/dist/browser/utils/checkURL.js.map +1 -1
  94. package/dist/browser/utils/hashing/hash.d.ts +2 -0
  95. package/dist/browser/utils/hashing/hash.d.ts.map +1 -1
  96. package/dist/browser/utils/hashing/hash.js +19 -0
  97. package/dist/browser/utils/hashing/hash.js.map +1 -1
  98. package/dist/commonjs/ClientContext.d.ts +19 -10
  99. package/dist/commonjs/ClientContext.d.ts.map +1 -1
  100. package/dist/commonjs/ClientContext.js +30 -11
  101. package/dist/commonjs/ClientContext.js.map +1 -1
  102. package/dist/commonjs/CosmosClient.d.ts.map +1 -1
  103. package/dist/commonjs/CosmosClient.js +10 -2
  104. package/dist/commonjs/CosmosClient.js.map +1 -1
  105. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts +49 -0
  106. package/dist/commonjs/PartitionKeyRangeFailoverInfo.d.ts.map +1 -0
  107. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js +135 -0
  108. package/dist/commonjs/PartitionKeyRangeFailoverInfo.js.map +1 -0
  109. package/dist/commonjs/client/ClientUtils.d.ts +3 -1
  110. package/dist/commonjs/client/ClientUtils.d.ts.map +1 -1
  111. package/dist/commonjs/client/ClientUtils.js +11 -0
  112. package/dist/commonjs/client/ClientUtils.js.map +1 -1
  113. package/dist/commonjs/client/Item/Item.d.ts.map +1 -1
  114. package/dist/commonjs/client/Item/Item.js +13 -0
  115. package/dist/commonjs/client/Item/Item.js.map +1 -1
  116. package/dist/commonjs/client/Item/Items.d.ts.map +1 -1
  117. package/dist/commonjs/client/Item/Items.js +17 -1
  118. package/dist/commonjs/client/Item/Items.js.map +1 -1
  119. package/dist/commonjs/common/constants.d.ts +20 -0
  120. package/dist/commonjs/common/constants.d.ts.map +1 -1
  121. package/dist/commonjs/common/constants.js +24 -2
  122. package/dist/commonjs/common/constants.js.map +1 -1
  123. package/dist/commonjs/common/platform.d.ts +6 -1
  124. package/dist/commonjs/common/platform.d.ts.map +1 -1
  125. package/dist/commonjs/common/platform.js +23 -3
  126. package/dist/commonjs/common/platform.js.map +1 -1
  127. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  128. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  129. package/dist/commonjs/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  130. package/dist/commonjs/documents/ConnectionPolicy.d.ts +6 -0
  131. package/dist/commonjs/documents/ConnectionPolicy.d.ts.map +1 -1
  132. package/dist/commonjs/documents/ConnectionPolicy.js +2 -0
  133. package/dist/commonjs/documents/ConnectionPolicy.js.map +1 -1
  134. package/dist/commonjs/documents/DatabaseAccount.d.ts.map +1 -1
  135. package/dist/commonjs/documents/DatabaseAccount.js +3 -0
  136. package/dist/commonjs/documents/DatabaseAccount.js.map +1 -1
  137. package/dist/commonjs/extractPartitionKey.d.ts.map +1 -1
  138. package/dist/commonjs/extractPartitionKey.js +33 -20
  139. package/dist/commonjs/extractPartitionKey.js.map +1 -1
  140. package/dist/commonjs/globalEndpointManager.d.ts +6 -0
  141. package/dist/commonjs/globalEndpointManager.d.ts.map +1 -1
  142. package/dist/commonjs/globalEndpointManager.js +10 -5
  143. package/dist/commonjs/globalEndpointManager.js.map +1 -1
  144. package/dist/commonjs/globalPartitionEndpointManager.d.ts +79 -0
  145. package/dist/commonjs/globalPartitionEndpointManager.d.ts.map +1 -0
  146. package/dist/commonjs/globalPartitionEndpointManager.js +283 -0
  147. package/dist/commonjs/globalPartitionEndpointManager.js.map +1 -0
  148. package/dist/commonjs/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  149. package/dist/commonjs/queryExecutionContext/Aggregators/index.js +1 -0
  150. package/dist/commonjs/queryExecutionContext/Aggregators/index.js.map +1 -1
  151. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts +2 -3
  152. package/dist/commonjs/queryExecutionContext/documentProducer.d.ts.map +1 -1
  153. package/dist/commonjs/queryExecutionContext/documentProducer.js +15 -20
  154. package/dist/commonjs/queryExecutionContext/documentProducer.js.map +1 -1
  155. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  156. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js +2 -1
  157. package/dist/commonjs/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  158. package/dist/commonjs/queryIterator.js +1 -2
  159. package/dist/commonjs/queryIterator.js.map +1 -1
  160. package/dist/commonjs/request/ErrorResponse.d.ts +1 -1
  161. package/dist/commonjs/request/ErrorResponse.d.ts.map +1 -1
  162. package/dist/commonjs/request/ErrorResponse.js.map +1 -1
  163. package/dist/commonjs/request/RequestContext.d.ts +5 -0
  164. package/dist/commonjs/request/RequestContext.d.ts.map +1 -1
  165. package/dist/commonjs/request/RequestContext.js.map +1 -1
  166. package/dist/commonjs/request/RequestHandler.d.ts.map +1 -1
  167. package/dist/commonjs/request/RequestHandler.js +12 -2
  168. package/dist/commonjs/request/RequestHandler.js.map +1 -1
  169. package/dist/commonjs/request/defaultAgent.js +4 -4
  170. package/dist/commonjs/request/defaultAgent.js.map +1 -1
  171. package/dist/commonjs/retry/RetryPolicy.d.ts +2 -2
  172. package/dist/commonjs/retry/RetryPolicy.d.ts.map +1 -1
  173. package/dist/commonjs/retry/RetryPolicy.js.map +1 -1
  174. package/dist/commonjs/retry/defaultRetryPolicy.d.ts.map +1 -1
  175. package/dist/commonjs/retry/defaultRetryPolicy.js +3 -7
  176. package/dist/commonjs/retry/defaultRetryPolicy.js.map +1 -1
  177. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts +5 -3
  178. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  179. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js +9 -2
  180. package/dist/commonjs/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  181. package/dist/commonjs/retry/retryUtility.d.ts.map +1 -1
  182. package/dist/commonjs/retry/retryUtility.js +11 -5
  183. package/dist/commonjs/retry/retryUtility.js.map +1 -1
  184. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts +6 -3
  185. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  186. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js +12 -4
  187. package/dist/commonjs/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  188. package/dist/commonjs/routing/partitionKeyRangeCache.d.ts.map +1 -1
  189. package/dist/commonjs/routing/partitionKeyRangeCache.js +11 -0
  190. package/dist/commonjs/routing/partitionKeyRangeCache.js.map +1 -1
  191. package/dist/commonjs/utils/checkURL.js +7 -0
  192. package/dist/commonjs/utils/checkURL.js.map +1 -1
  193. package/dist/commonjs/utils/hashing/hash.d.ts +2 -0
  194. package/dist/commonjs/utils/hashing/hash.d.ts.map +1 -1
  195. package/dist/commonjs/utils/hashing/hash.js +20 -0
  196. package/dist/commonjs/utils/hashing/hash.js.map +1 -1
  197. package/dist/esm/ClientContext.d.ts +19 -10
  198. package/dist/esm/ClientContext.d.ts.map +1 -1
  199. package/dist/esm/ClientContext.js +30 -11
  200. package/dist/esm/ClientContext.js.map +1 -1
  201. package/dist/esm/CosmosClient.d.ts.map +1 -1
  202. package/dist/esm/CosmosClient.js +10 -2
  203. package/dist/esm/CosmosClient.js.map +1 -1
  204. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts +49 -0
  205. package/dist/esm/PartitionKeyRangeFailoverInfo.d.ts.map +1 -0
  206. package/dist/esm/PartitionKeyRangeFailoverInfo.js +130 -0
  207. package/dist/esm/PartitionKeyRangeFailoverInfo.js.map +1 -0
  208. package/dist/esm/client/ClientUtils.d.ts +3 -1
  209. package/dist/esm/client/ClientUtils.d.ts.map +1 -1
  210. package/dist/esm/client/ClientUtils.js +10 -0
  211. package/dist/esm/client/ClientUtils.js.map +1 -1
  212. package/dist/esm/client/Item/Item.d.ts.map +1 -1
  213. package/dist/esm/client/Item/Item.js +13 -0
  214. package/dist/esm/client/Item/Item.js.map +1 -1
  215. package/dist/esm/client/Item/Items.d.ts.map +1 -1
  216. package/dist/esm/client/Item/Items.js +19 -3
  217. package/dist/esm/client/Item/Items.js.map +1 -1
  218. package/dist/esm/common/constants.d.ts +20 -0
  219. package/dist/esm/common/constants.d.ts.map +1 -1
  220. package/dist/esm/common/constants.js +23 -1
  221. package/dist/esm/common/constants.js.map +1 -1
  222. package/dist/esm/common/platform.d.ts +6 -1
  223. package/dist/esm/common/platform.d.ts.map +1 -1
  224. package/dist/esm/common/platform.js +23 -4
  225. package/dist/esm/common/platform.js.map +1 -1
  226. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  227. package/dist/esm/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  228. package/dist/esm/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  229. package/dist/esm/documents/ConnectionPolicy.d.ts +6 -0
  230. package/dist/esm/documents/ConnectionPolicy.d.ts.map +1 -1
  231. package/dist/esm/documents/ConnectionPolicy.js +2 -0
  232. package/dist/esm/documents/ConnectionPolicy.js.map +1 -1
  233. package/dist/esm/documents/DatabaseAccount.d.ts.map +1 -1
  234. package/dist/esm/documents/DatabaseAccount.js +3 -0
  235. package/dist/esm/documents/DatabaseAccount.js.map +1 -1
  236. package/dist/esm/extractPartitionKey.d.ts.map +1 -1
  237. package/dist/esm/extractPartitionKey.js +33 -20
  238. package/dist/esm/extractPartitionKey.js.map +1 -1
  239. package/dist/esm/globalEndpointManager.d.ts +6 -0
  240. package/dist/esm/globalEndpointManager.d.ts.map +1 -1
  241. package/dist/esm/globalEndpointManager.js +9 -4
  242. package/dist/esm/globalEndpointManager.js.map +1 -1
  243. package/dist/esm/globalPartitionEndpointManager.d.ts +79 -0
  244. package/dist/esm/globalPartitionEndpointManager.d.ts.map +1 -0
  245. package/dist/esm/globalPartitionEndpointManager.js +279 -0
  246. package/dist/esm/globalPartitionEndpointManager.js.map +1 -0
  247. package/dist/esm/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  248. package/dist/esm/queryExecutionContext/Aggregators/index.js +1 -0
  249. package/dist/esm/queryExecutionContext/Aggregators/index.js.map +1 -1
  250. package/dist/esm/queryExecutionContext/documentProducer.d.ts +2 -3
  251. package/dist/esm/queryExecutionContext/documentProducer.d.ts.map +1 -1
  252. package/dist/esm/queryExecutionContext/documentProducer.js +16 -21
  253. package/dist/esm/queryExecutionContext/documentProducer.js.map +1 -1
  254. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  255. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js +2 -1
  256. package/dist/esm/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  257. package/dist/esm/queryIterator.js +1 -2
  258. package/dist/esm/queryIterator.js.map +1 -1
  259. package/dist/esm/request/ErrorResponse.d.ts +1 -1
  260. package/dist/esm/request/ErrorResponse.d.ts.map +1 -1
  261. package/dist/esm/request/ErrorResponse.js.map +1 -1
  262. package/dist/esm/request/RequestContext.d.ts +5 -0
  263. package/dist/esm/request/RequestContext.d.ts.map +1 -1
  264. package/dist/esm/request/RequestContext.js.map +1 -1
  265. package/dist/esm/request/RequestHandler.d.ts.map +1 -1
  266. package/dist/esm/request/RequestHandler.js +14 -4
  267. package/dist/esm/request/RequestHandler.js.map +1 -1
  268. package/dist/esm/request/defaultAgent.js +2 -2
  269. package/dist/esm/request/defaultAgent.js.map +1 -1
  270. package/dist/esm/retry/RetryPolicy.d.ts +2 -2
  271. package/dist/esm/retry/RetryPolicy.d.ts.map +1 -1
  272. package/dist/esm/retry/RetryPolicy.js.map +1 -1
  273. package/dist/esm/retry/defaultRetryPolicy.d.ts.map +1 -1
  274. package/dist/esm/retry/defaultRetryPolicy.js +4 -8
  275. package/dist/esm/retry/defaultRetryPolicy.js.map +1 -1
  276. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts +5 -3
  277. package/dist/esm/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  278. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js +9 -2
  279. package/dist/esm/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  280. package/dist/esm/retry/retryUtility.d.ts.map +1 -1
  281. package/dist/esm/retry/retryUtility.js +11 -5
  282. package/dist/esm/retry/retryUtility.js.map +1 -1
  283. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts +6 -3
  284. package/dist/esm/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  285. package/dist/esm/retry/timeoutFailoverRetryPolicy.js +12 -4
  286. package/dist/esm/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  287. package/dist/esm/routing/partitionKeyRangeCache.d.ts.map +1 -1
  288. package/dist/esm/routing/partitionKeyRangeCache.js +11 -0
  289. package/dist/esm/routing/partitionKeyRangeCache.js.map +1 -1
  290. package/dist/esm/utils/checkURL.js +6 -0
  291. package/dist/esm/utils/checkURL.js.map +1 -1
  292. package/dist/esm/utils/hashing/hash.d.ts +2 -0
  293. package/dist/esm/utils/hashing/hash.d.ts.map +1 -1
  294. package/dist/esm/utils/hashing/hash.js +19 -0
  295. package/dist/esm/utils/hashing/hash.js.map +1 -1
  296. package/dist/react-native/ClientContext.d.ts +19 -10
  297. package/dist/react-native/ClientContext.d.ts.map +1 -1
  298. package/dist/react-native/ClientContext.js +30 -11
  299. package/dist/react-native/ClientContext.js.map +1 -1
  300. package/dist/react-native/CosmosClient.d.ts.map +1 -1
  301. package/dist/react-native/CosmosClient.js +10 -2
  302. package/dist/react-native/CosmosClient.js.map +1 -1
  303. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts +49 -0
  304. package/dist/react-native/PartitionKeyRangeFailoverInfo.d.ts.map +1 -0
  305. package/dist/react-native/PartitionKeyRangeFailoverInfo.js +130 -0
  306. package/dist/react-native/PartitionKeyRangeFailoverInfo.js.map +1 -0
  307. package/dist/react-native/client/ClientUtils.d.ts +3 -1
  308. package/dist/react-native/client/ClientUtils.d.ts.map +1 -1
  309. package/dist/react-native/client/ClientUtils.js +10 -0
  310. package/dist/react-native/client/ClientUtils.js.map +1 -1
  311. package/dist/react-native/client/Item/Item.d.ts.map +1 -1
  312. package/dist/react-native/client/Item/Item.js +13 -0
  313. package/dist/react-native/client/Item/Item.js.map +1 -1
  314. package/dist/react-native/client/Item/Items.d.ts.map +1 -1
  315. package/dist/react-native/client/Item/Items.js +19 -3
  316. package/dist/react-native/client/Item/Items.js.map +1 -1
  317. package/dist/react-native/common/constants.d.ts +20 -0
  318. package/dist/react-native/common/constants.d.ts.map +1 -1
  319. package/dist/react-native/common/constants.js +23 -1
  320. package/dist/react-native/common/constants.js.map +1 -1
  321. package/dist/react-native/common/platform.d.ts +6 -1
  322. package/dist/react-native/common/platform.d.ts.map +1 -1
  323. package/dist/react-native/common/platform.js +23 -4
  324. package/dist/react-native/common/platform.js.map +1 -1
  325. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts +1 -0
  326. package/dist/react-native/diagnostics/DiagnosticNodeInternal.d.ts.map +1 -1
  327. package/dist/react-native/diagnostics/DiagnosticNodeInternal.js.map +1 -1
  328. package/dist/react-native/documents/ConnectionPolicy.d.ts +6 -0
  329. package/dist/react-native/documents/ConnectionPolicy.d.ts.map +1 -1
  330. package/dist/react-native/documents/ConnectionPolicy.js +2 -0
  331. package/dist/react-native/documents/ConnectionPolicy.js.map +1 -1
  332. package/dist/react-native/documents/DatabaseAccount.d.ts.map +1 -1
  333. package/dist/react-native/documents/DatabaseAccount.js +3 -0
  334. package/dist/react-native/documents/DatabaseAccount.js.map +1 -1
  335. package/dist/react-native/extractPartitionKey.d.ts.map +1 -1
  336. package/dist/react-native/extractPartitionKey.js +33 -20
  337. package/dist/react-native/extractPartitionKey.js.map +1 -1
  338. package/dist/react-native/globalEndpointManager.d.ts +6 -0
  339. package/dist/react-native/globalEndpointManager.d.ts.map +1 -1
  340. package/dist/react-native/globalEndpointManager.js +9 -4
  341. package/dist/react-native/globalEndpointManager.js.map +1 -1
  342. package/dist/react-native/globalPartitionEndpointManager.d.ts +79 -0
  343. package/dist/react-native/globalPartitionEndpointManager.d.ts.map +1 -0
  344. package/dist/react-native/globalPartitionEndpointManager.js +279 -0
  345. package/dist/react-native/globalPartitionEndpointManager.js.map +1 -0
  346. package/dist/react-native/queryExecutionContext/Aggregators/index.d.ts.map +1 -1
  347. package/dist/react-native/queryExecutionContext/Aggregators/index.js +1 -0
  348. package/dist/react-native/queryExecutionContext/Aggregators/index.js.map +1 -1
  349. package/dist/react-native/queryExecutionContext/documentProducer.d.ts +2 -3
  350. package/dist/react-native/queryExecutionContext/documentProducer.d.ts.map +1 -1
  351. package/dist/react-native/queryExecutionContext/documentProducer.js +16 -21
  352. package/dist/react-native/queryExecutionContext/documentProducer.js.map +1 -1
  353. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.d.ts.map +1 -1
  354. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js +2 -1
  355. package/dist/react-native/queryExecutionContext/parallelQueryExecutionContextBase.js.map +1 -1
  356. package/dist/react-native/queryIterator.js +1 -2
  357. package/dist/react-native/queryIterator.js.map +1 -1
  358. package/dist/react-native/request/ErrorResponse.d.ts +1 -1
  359. package/dist/react-native/request/ErrorResponse.d.ts.map +1 -1
  360. package/dist/react-native/request/ErrorResponse.js.map +1 -1
  361. package/dist/react-native/request/RequestContext.d.ts +5 -0
  362. package/dist/react-native/request/RequestContext.d.ts.map +1 -1
  363. package/dist/react-native/request/RequestContext.js.map +1 -1
  364. package/dist/react-native/request/RequestHandler.d.ts.map +1 -1
  365. package/dist/react-native/request/RequestHandler.js +14 -4
  366. package/dist/react-native/request/RequestHandler.js.map +1 -1
  367. package/dist/react-native/request/defaultAgent.js +2 -2
  368. package/dist/react-native/request/defaultAgent.js.map +1 -1
  369. package/dist/react-native/retry/RetryPolicy.d.ts +2 -2
  370. package/dist/react-native/retry/RetryPolicy.d.ts.map +1 -1
  371. package/dist/react-native/retry/RetryPolicy.js.map +1 -1
  372. package/dist/react-native/retry/defaultRetryPolicy.d.ts.map +1 -1
  373. package/dist/react-native/retry/defaultRetryPolicy.js +4 -8
  374. package/dist/react-native/retry/defaultRetryPolicy.js.map +1 -1
  375. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts +5 -3
  376. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.d.ts.map +1 -1
  377. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js +9 -2
  378. package/dist/react-native/retry/endpointDiscoveryRetryPolicy.js.map +1 -1
  379. package/dist/react-native/retry/retryUtility.d.ts.map +1 -1
  380. package/dist/react-native/retry/retryUtility.js +11 -5
  381. package/dist/react-native/retry/retryUtility.js.map +1 -1
  382. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts +6 -3
  383. package/dist/react-native/retry/timeoutFailoverRetryPolicy.d.ts.map +1 -1
  384. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js +12 -4
  385. package/dist/react-native/retry/timeoutFailoverRetryPolicy.js.map +1 -1
  386. package/dist/react-native/routing/partitionKeyRangeCache.d.ts.map +1 -1
  387. package/dist/react-native/routing/partitionKeyRangeCache.js +11 -0
  388. package/dist/react-native/routing/partitionKeyRangeCache.js.map +1 -1
  389. package/dist/react-native/utils/checkURL.js +6 -0
  390. package/dist/react-native/utils/checkURL.js.map +1 -1
  391. package/dist/react-native/utils/hashing/hash.d.ts +2 -0
  392. package/dist/react-native/utils/hashing/hash.d.ts.map +1 -1
  393. package/dist/react-native/utils/hashing/hash.js +19 -0
  394. package/dist/react-native/utils/hashing/hash.js.map +1 -1
  395. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/client/Item/Item.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 Constants,\n copyObject,\n createDocumentUri,\n getIdFromLink,\n getPathFromLink,\n isItemResourceValid,\n ResourceType,\n StatusCodes,\n} from \"../../common/index.js\";\nimport type { PartitionKey, PartitionKeyInternal } from \"../../documents/index.js\";\nimport { convertToInternalPartitionKey } from \"../../documents/index.js\";\nimport type { RequestOptions, Response } from \"../../request/index.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport type { PatchRequestBody } from \"../../utils/patch.js\";\nimport { PatchOperationType } from \"../../utils/patch.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { ItemDefinition } from \"./ItemDefinition.js\";\nimport { ItemResponse } from \"./ItemResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\nimport { setPartitionKeyIfUndefined } from \"../../extractPartitionKey.js\";\n\n/**\n * Used to perform operations on a specific item.\n *\n * @see {@link Items} for operations on all items; see `container.items`.\n */\nexport class Item {\n private partitionKey: PartitionKeyInternal;\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return createDocumentUri(this.container.database.id, this.container.id, this.id);\n }\n\n /**\n * @hidden\n * @param container - The parent {@link Container}.\n * @param id - The id of the given {@link Item}.\n * @param partitionKey - The primary key of the given {@link Item} (only for partitioned containers).\n */\n constructor(\n public readonly container: Container,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n partitionKey?: PartitionKey,\n ) {\n this.partitionKey =\n partitionKey === undefined ? undefined : convertToInternalPartitionKey(partitionKey);\n }\n\n /**\n * Read the item's definition.\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 * If the type, T, is a class, it won't pass `typeof` comparisons, because it won't have a match prototype.\n * It's recommended to only use interfaces.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param options - Additional options for the request\n *\n * @example Using custom type for response\n * ```ts snippet:ItemRead\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\n *\n * const { resource: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n * ```\n */\n public async read<T extends ItemDefinition = any>(\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let url = this.url;\n let partitionKey = this.partitionKey;\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 let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { partitionKeyList: encryptedPartitionKey, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n this.partitionKey,\n );\n partitionKey = encryptedPartitionKey;\n count += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n count++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n response = await this.clientContext.read<T>({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: partitionKey,\n diagnosticNode,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n if (error.code !== StatusCodes.NotFound) {\n throw error;\n }\n response = error;\n }\n if (this.clientContext.enableEncryption) {\n diagnosticNode.beginEncryptionDiagnostics(Constants.Encryption.DiagnosticsDecryptOperation);\n const { body, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(\n response.result,\n );\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n response.result = body;\n }\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Replace the item's definition.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - The definition to replace the existing {@link Item}'s definition with.\n * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemReplaceItemDefinition\n * import { CosmosClient, ItemDefinition } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const item: ItemDefinition = {\n * id: \"id\",\n * title: \"new_title\",\n * };\n *\n * const { resource: replacedItem } = await container.item(\"id\").replace(item);\n * ```\n */\n\n public replace(\n body: ItemDefinition,\n options?: RequestOptions,\n ): Promise<ItemResponse<ItemDefinition>>;\n /**\n * Replace the item's definition.\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 - The definition to replace the existing {@link Item}'s definition with.\n * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemReplace\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\n *\n * const { resource: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n *\n * item.done = true;\n * const { resource: replacedItem } = await container.item(\"id\").replace<TodoItem>(item);\n * ```\n */\n public replace<T extends ItemDefinition>(\n body: T,\n options?: RequestOptions,\n ): Promise<ItemResponse<T>>;\n public async replace<T extends ItemDefinition>(\n body: T,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let partitionKey = this.partitionKey;\n const err = {};\n if (!isItemResourceValid(body, err)) {\n throw err;\n }\n let url = this.url;\n\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 let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { body: encryptedBody, propertiesEncryptedCount } =\n await this.container.encryptionProcessor.encrypt(body);\n body = encryptedBody;\n count += propertiesEncryptedCount;\n const { partitionKeyList: encryptedPartitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n this.partitionKey,\n );\n partitionKey = encryptedPartitionKeyList;\n count += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n count++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n response = await this.clientContext.replace<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: partitionKey,\n diagnosticNode,\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: result, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n response.result = result;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item replace operation was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Delete the 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 * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemDelete\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\n *\n * const { resource: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n *\n * await container.item(\"id\").delete<TodoItem>();\n * ```\n */\n public async delete<T extends ItemDefinition = any>(\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let partitionKey = this.partitionKey;\n let url = this.url;\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 let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n this.partitionKey,\n );\n partitionKey = partitionKeyList;\n count += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n count++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n response = await this.clientContext.delete<T>({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: partitionKey,\n diagnosticNode,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n throw error;\n }\n\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Perform a JSONPatch on the 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 * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemPatch\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\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: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n *\n * const { resource: patchedItem } = await container.item(\"id\").patch<TodoItem>([\n * {\n * op: \"replace\", // Operation type (can be replace, add, remove, set, incr)\n * path: \"/title\", // The path to the property to update\n * value: \"new-title\", // New value for the property\n * },\n * {\n * op: \"remove\",\n * path: \"/done\",\n * },\n * ]);\n * ```\n */\n public async patch<T extends ItemDefinition = any>(\n body: PatchRequestBody,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let url = this.url;\n let partitionKey = this.partitionKey;\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 const operations = Array.isArray(body) ? body : body.operations;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n let propertiesEncryptedCount = 0;\n for (const operation of operations) {\n if (operation.op === PatchOperationType.remove) {\n continue;\n }\n const isPathEncrypted = await this.container.encryptionProcessor.isPathEncrypted(\n operation.path,\n );\n if (!isPathEncrypted) {\n continue;\n }\n if (operation.op === PatchOperationType.incr) {\n throw new ErrorResponse(\n `Increment patch operation is not allowed for encrypted path '${operation.path}'`,\n );\n }\n if (\"value\" in operation) {\n operation.value = await this.container.encryptionProcessor.encryptProperty(\n operation.path,\n operation.value,\n );\n }\n propertiesEncryptedCount++;\n }\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(partitionKey);\n partitionKey = partitionKeyList;\n propertiesEncryptedCount += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n propertiesEncryptedCount++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n propertiesEncryptedCount,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n response = await this.clientContext.patch<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: partitionKey,\n diagnosticNode,\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 diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n const { body: result, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n response.result = result;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item patch operation was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n}\n"]}
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/client/Item/Item.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 Constants,\n copyObject,\n createDocumentUri,\n getIdFromLink,\n getPathFromLink,\n isItemResourceValid,\n ResourceType,\n StatusCodes,\n} from \"../../common/index.js\";\nimport type { PartitionKey, PartitionKeyInternal } from \"../../documents/index.js\";\nimport { convertToInternalPartitionKey } from \"../../documents/index.js\";\nimport type { RequestOptions, Response } from \"../../request/index.js\";\nimport { ErrorResponse } from \"../../request/index.js\";\nimport type { PatchRequestBody } from \"../../utils/patch.js\";\nimport { PatchOperationType } from \"../../utils/patch.js\";\nimport type { Container } from \"../Container/index.js\";\nimport type { Resource } from \"../Resource.js\";\nimport type { ItemDefinition } from \"./ItemDefinition.js\";\nimport { ItemResponse } from \"./ItemResponse.js\";\nimport { getEmptyCosmosDiagnostics, withDiagnostics } from \"../../utils/diagnostics.js\";\nimport { setPartitionKeyIfUndefined } from \"../../extractPartitionKey.js\";\nimport { computePartitionKeyRangeId } from \"../ClientUtils.js\";\n\n/**\n * Used to perform operations on a specific item.\n *\n * @see {@link Items} for operations on all items; see `container.items`.\n */\nexport class Item {\n private partitionKey: PartitionKeyInternal;\n /**\n * Returns a reference URL to the resource. Used for linking in Permissions.\n */\n public get url(): string {\n return createDocumentUri(this.container.database.id, this.container.id, this.id);\n }\n\n /**\n * @hidden\n * @param container - The parent {@link Container}.\n * @param id - The id of the given {@link Item}.\n * @param partitionKey - The primary key of the given {@link Item} (only for partitioned containers).\n */\n constructor(\n public readonly container: Container,\n public readonly id: string,\n private readonly clientContext: ClientContext,\n partitionKey?: PartitionKey,\n ) {\n this.partitionKey =\n partitionKey === undefined ? undefined : convertToInternalPartitionKey(partitionKey);\n }\n\n /**\n * Read the item's definition.\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 * If the type, T, is a class, it won't pass `typeof` comparisons, because it won't have a match prototype.\n * It's recommended to only use interfaces.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param options - Additional options for the request\n *\n * @example Using custom type for response\n * ```ts snippet:ItemRead\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\n *\n * const { resource: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n * ```\n */\n public async read<T extends ItemDefinition = any>(\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let url = this.url;\n let partitionKey = this.partitionKey;\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 let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { partitionKeyList: encryptedPartitionKey, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n this.partitionKey,\n );\n partitionKey = encryptedPartitionKey;\n count += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n count++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.clientContext.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n response = await this.clientContext.read<T>({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: partitionKey,\n diagnosticNode,\n partitionKeyRangeId,\n });\n } catch (error: any) {\n if (this.clientContext.enableEncryption) {\n await this.container.throwIfRequestNeedsARetryPostPolicyRefresh(error);\n }\n if (error.code !== StatusCodes.NotFound) {\n throw error;\n }\n response = error;\n }\n if (this.clientContext.enableEncryption) {\n diagnosticNode.beginEncryptionDiagnostics(Constants.Encryption.DiagnosticsDecryptOperation);\n const { body, propertiesDecryptedCount } = await this.container.encryptionProcessor.decrypt(\n response.result,\n );\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n response.result = body;\n }\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Replace the item's definition.\n *\n * There is no set schema for JSON items. They may contain any number of custom properties.\n *\n * @param body - The definition to replace the existing {@link Item}'s definition with.\n * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemReplaceItemDefinition\n * import { CosmosClient, ItemDefinition } from \"@azure/cosmos\";\n *\n * const endpoint = \"https://your-account.documents.azure.com\";\n * const key = \"<database account masterkey>\";\n * const client = new CosmosClient({ endpoint, key });\n * const { database } = await client.databases.createIfNotExists({ id: \"Test Database\" });\n * const { container } = await database.containers.createIfNotExists({ id: \"Test Container\" });\n *\n * const item: ItemDefinition = {\n * id: \"id\",\n * title: \"new_title\",\n * };\n *\n * const { resource: replacedItem } = await container.item(\"id\").replace(item);\n * ```\n */\n\n public replace(\n body: ItemDefinition,\n options?: RequestOptions,\n ): Promise<ItemResponse<ItemDefinition>>;\n /**\n * Replace the item's definition.\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 - The definition to replace the existing {@link Item}'s definition with.\n * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemReplace\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\n *\n * const { resource: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n *\n * item.done = true;\n * const { resource: replacedItem } = await container.item(\"id\").replace<TodoItem>(item);\n * ```\n */\n public replace<T extends ItemDefinition>(\n body: T,\n options?: RequestOptions,\n ): Promise<ItemResponse<T>>;\n public async replace<T extends ItemDefinition>(\n body: T,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let partitionKey = this.partitionKey;\n const err = {};\n if (!isItemResourceValid(body, err)) {\n throw err;\n }\n let url = this.url;\n\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 let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { body: encryptedBody, propertiesEncryptedCount } =\n await this.container.encryptionProcessor.encrypt(body);\n body = encryptedBody;\n count += propertiesEncryptedCount;\n const { partitionKeyList: encryptedPartitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n this.partitionKey,\n );\n partitionKey = encryptedPartitionKeyList;\n count += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n count++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.clientContext.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n response = await this.clientContext.replace<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: 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: result, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n response.result = result;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item replace operation was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Delete the 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 * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemDelete\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\n *\n * const { resource: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n *\n * await container.item(\"id\").delete<TodoItem>();\n * ```\n */\n public async delete<T extends ItemDefinition = any>(\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let partitionKey = this.partitionKey;\n let url = this.url;\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 let count = 0;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(\n this.partitionKey,\n );\n partitionKey = partitionKeyList;\n count += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n count++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n count,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.clientContext.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n response = await this.clientContext.delete<T>({\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: 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\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\n\n /**\n * Perform a JSONPatch on the 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 * @param options - Additional options for the request\n * @example\n * ```ts snippet:ItemPatch\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 * interface TodoItem {\n * title: string;\n * done: boolean;\n * id: string;\n * }\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: item } = await container.item(\"id\", \"<pkValue>\").read<TodoItem>();\n *\n * const { resource: patchedItem } = await container.item(\"id\").patch<TodoItem>([\n * {\n * op: \"replace\", // Operation type (can be replace, add, remove, set, incr)\n * path: \"/title\", // The path to the property to update\n * value: \"new-title\", // New value for the property\n * },\n * {\n * op: \"remove\",\n * path: \"/done\",\n * },\n * ]);\n * ```\n */\n public async patch<T extends ItemDefinition = any>(\n body: PatchRequestBody,\n options: RequestOptions = {},\n ): Promise<ItemResponse<T>> {\n return withDiagnostics(async (diagnosticNode: DiagnosticNodeInternal) => {\n this.partitionKey = await setPartitionKeyIfUndefined(\n diagnosticNode,\n this.container,\n this.partitionKey,\n );\n let url = this.url;\n let partitionKey = this.partitionKey;\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 const operations = Array.isArray(body) ? body : body.operations;\n diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n );\n let propertiesEncryptedCount = 0;\n for (const operation of operations) {\n if (operation.op === PatchOperationType.remove) {\n continue;\n }\n const isPathEncrypted = await this.container.encryptionProcessor.isPathEncrypted(\n operation.path,\n );\n if (!isPathEncrypted) {\n continue;\n }\n if (operation.op === PatchOperationType.incr) {\n throw new ErrorResponse(\n `Increment patch operation is not allowed for encrypted path '${operation.path}'`,\n );\n }\n if (\"value\" in operation) {\n operation.value = await this.container.encryptionProcessor.encryptProperty(\n operation.path,\n operation.value,\n );\n }\n propertiesEncryptedCount++;\n }\n const { partitionKeyList, encryptedCount } =\n await this.container.encryptionProcessor.getEncryptedPartitionKeyValue(partitionKey);\n partitionKey = partitionKeyList;\n propertiesEncryptedCount += encryptedCount;\n if (await this.container.encryptionProcessor.isPathEncrypted(\"/id\")) {\n url = await this.container.encryptionProcessor.getEncryptedUrl(this.url);\n propertiesEncryptedCount++;\n }\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsEncryptOperation,\n propertiesEncryptedCount,\n );\n }\n const path = getPathFromLink(url);\n const id = getIdFromLink(url);\n\n const isPartitionLevelFailOverEnabled =\n this.clientContext.isPartitionLevelFailOverEnabled();\n const partitionKeyRangeId = await computePartitionKeyRangeId(\n diagnosticNode,\n partitionKey,\n this.clientContext.partitionKeyRangeCache,\n isPartitionLevelFailOverEnabled,\n this.container,\n );\n\n response = await this.clientContext.patch<T>({\n body,\n path,\n resourceType: ResourceType.item,\n resourceId: id,\n options,\n partitionKey: 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 diagnosticNode.beginEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n );\n const { body: result, propertiesDecryptedCount } =\n await this.container.encryptionProcessor.decrypt(response.result);\n response.result = result;\n diagnosticNode.endEncryptionDiagnostics(\n Constants.Encryption.DiagnosticsDecryptOperation,\n propertiesDecryptedCount,\n );\n } catch (error) {\n const decryptionError = new ErrorResponse(\n `Item patch operation was successful but response decryption failed: + ${error.message}`,\n );\n decryptionError.code = StatusCodes.ServiceUnavailable;\n throw decryptionError;\n }\n }\n\n return new ItemResponse(\n response.result,\n response.headers,\n response.code,\n response.substatus,\n this,\n getEmptyCosmosDiagnostics(),\n );\n }, this.clientContext);\n }\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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"}
@@ -9,13 +9,13 @@ import { ItemResponse } from "./ItemResponse.js";
9
9
  import { isKeyInRange, prepareOperations, decorateBatchOperation, splitBatchBasedOnBodySize, encryptOperationInput, } from "../../utils/batch.js";
10
10
  import { assertNotUndefined, isPrimitivePartitionKeyValue } from "../../utils/typeChecks.js";
11
11
  import { hashPartitionKey } from "../../utils/hashing/hash.js";
12
- import { PartitionKeyRangeCache, QueryRange } from "../../routing/index.js";
12
+ import { QueryRange } from "../../routing/index.js";
13
13
  import { convertToInternalPartitionKey } from "../../documents/index.js";
14
14
  import { validateChangeFeedIteratorOptions } from "../../client/ChangeFeed/changeFeedUtils.js";
15
15
  import { DiagnosticNodeType } from "../../diagnostics/DiagnosticNodeInternal.js";
16
16
  import { getEmptyCosmosDiagnostics, withDiagnostics, addDiagnosticChild, } from "../../utils/diagnostics.js";
17
17
  import { randomUUID } from "@azure/core-util";
18
- import { readPartitionKeyDefinition } from "../ClientUtils.js";
18
+ import { computePartitionKeyRangeId, readPartitionKeyDefinition } from "../ClientUtils.js";
19
19
  import { ChangeFeedIteratorBuilder } from "../ChangeFeed/ChangeFeedIteratorBuilder.js";
20
20
  import { TypeMarker } from "../../encryption/enums/TypeMarker.js";
21
21
  import { EncryptionItemQueryIterator } from "../../encryption/EncryptionItemQueryIterator.js";
@@ -41,12 +41,18 @@ export class Items {
41
41
  constructor(container, clientContext) {
42
42
  this.container = container;
43
43
  this.clientContext = clientContext;
44
- this.partitionKeyRangeCache = new PartitionKeyRangeCache(this.clientContext);
44
+ this.partitionKeyRangeCache = this.clientContext.partitionKeyRangeCache;
45
45
  }
46
46
  query(query, options = {}) {
47
47
  const path = getPathFromLink(this.container.url, ResourceType.item);
48
48
  const id = getIdFromLink(this.container.url);
49
49
  const fetchFunction = async (diagnosticNode, innerOptions, correlatedActivityId) => {
50
+ let internalPartitionKey;
51
+ if (options.partitionKey) {
52
+ internalPartitionKey = convertToInternalPartitionKey(options.partitionKey);
53
+ }
54
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
55
+ const partitionKeyRangeId = await computePartitionKeyRangeId(diagnosticNode, internalPartitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container);
50
56
  const response = await this.clientContext.queryFeed({
51
57
  path,
52
58
  resourceType: ResourceType.item,
@@ -57,6 +63,7 @@ export class Items {
57
63
  partitionKey: options.partitionKey,
58
64
  diagnosticNode,
59
65
  correlatedActivityId: correlatedActivityId,
66
+ partitionKeyRangeId,
60
67
  });
61
68
  return response;
62
69
  };
@@ -247,6 +254,8 @@ export class Items {
247
254
  }
248
255
  const path = getPathFromLink(this.container.url, ResourceType.item);
249
256
  const id = getIdFromLink(this.container.url);
257
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
258
+ const partitionKeyRangeId = await computePartitionKeyRangeId(diagnosticNode, partitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container, partitionKeyDefinition);
250
259
  response = await this.clientContext.create({
251
260
  body,
252
261
  path,
@@ -255,6 +264,7 @@ export class Items {
255
264
  diagnosticNode,
256
265
  options,
257
266
  partitionKey,
267
+ partitionKeyRangeId,
258
268
  });
259
269
  }
260
270
  catch (error) {
@@ -312,6 +322,8 @@ export class Items {
312
322
  }
313
323
  const path = getPathFromLink(this.container.url, ResourceType.item);
314
324
  const id = getIdFromLink(this.container.url);
325
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
326
+ const partitionKeyRangeId = await computePartitionKeyRangeId(diagnosticNode, partitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container, partitionKeyDefinition);
315
327
  response = await this.clientContext.upsert({
316
328
  body,
317
329
  path,
@@ -320,6 +332,7 @@ export class Items {
320
332
  options,
321
333
  partitionKey,
322
334
  diagnosticNode,
335
+ partitionKeyRangeId,
323
336
  });
324
337
  }
325
338
  catch (error) {
@@ -652,6 +665,8 @@ export class Items {
652
665
  count += totalPropertiesEncryptedCount;
653
666
  diagnosticNode.endEncryptionDiagnostics(Constants.Encryption.DiagnosticsEncryptOperation, count);
654
667
  }
668
+ const isPartitionLevelFailOverEnabled = this.clientContext.isPartitionLevelFailOverEnabled();
669
+ const partitionKeyRangeId = await computePartitionKeyRangeId(diagnosticNode, partitionKey, this.partitionKeyRangeCache, isPartitionLevelFailOverEnabled, this.container);
655
670
  response = await this.clientContext.batch({
656
671
  body: operations,
657
672
  partitionKey,
@@ -659,6 +674,7 @@ export class Items {
659
674
  resourceId: this.container.url,
660
675
  options,
661
676
  diagnosticNode,
677
+ partitionKeyRangeId,
662
678
  });
663
679
  }
664
680
  catch (err) {