@azure/cosmos 3.17.3 → 3.17.4-beta.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 (119) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +41 -2
  3. package/dist/index.js +1150 -867
  4. package/dist/index.js.map +1 -1
  5. package/dist/types/4.1/cosmos.d.ts +85 -18
  6. package/dist/types/latest/cosmos.d.ts +91 -18
  7. package/dist-esm/src/ChangeFeedIterator.d.ts.map +1 -1
  8. package/dist-esm/src/ChangeFeedIterator.js.map +1 -1
  9. package/dist-esm/src/ClientContext.d.ts +3 -2
  10. package/dist-esm/src/ClientContext.d.ts.map +1 -1
  11. package/dist-esm/src/ClientContext.js +6 -3
  12. package/dist-esm/src/ClientContext.js.map +1 -1
  13. package/dist-esm/src/client/Container/Container.js +1 -1
  14. package/dist-esm/src/client/Container/Container.js.map +1 -1
  15. package/dist-esm/src/client/Item/Item.d.ts +1 -1
  16. package/dist-esm/src/client/Item/Item.d.ts.map +1 -1
  17. package/dist-esm/src/client/Item/Item.js +7 -5
  18. package/dist-esm/src/client/Item/Item.js.map +1 -1
  19. package/dist-esm/src/client/Item/Items.d.ts +14 -5
  20. package/dist-esm/src/client/Item/Items.d.ts.map +1 -1
  21. package/dist-esm/src/client/Item/Items.js +33 -26
  22. package/dist-esm/src/client/Item/Items.js.map +1 -1
  23. package/dist-esm/src/common/constants.d.ts +2 -0
  24. package/dist-esm/src/common/constants.d.ts.map +1 -1
  25. package/dist-esm/src/common/constants.js +6 -1
  26. package/dist-esm/src/common/constants.js.map +1 -1
  27. package/dist-esm/src/documents/PartitionKey.d.ts +33 -2
  28. package/dist-esm/src/documents/PartitionKey.d.ts.map +1 -1
  29. package/dist-esm/src/documents/PartitionKey.js +24 -1
  30. package/dist-esm/src/documents/PartitionKey.js.map +1 -1
  31. package/dist-esm/src/documents/PartitionKeyDefinition.d.ts +7 -1
  32. package/dist-esm/src/documents/PartitionKeyDefinition.d.ts.map +1 -1
  33. package/dist-esm/src/documents/PartitionKeyDefinition.js.map +1 -1
  34. package/dist-esm/src/documents/PartitionKeyDefinitionVersion.d.ts +8 -0
  35. package/dist-esm/src/documents/PartitionKeyDefinitionVersion.d.ts.map +1 -0
  36. package/dist-esm/src/documents/PartitionKeyDefinitionVersion.js +11 -0
  37. package/dist-esm/src/documents/PartitionKeyDefinitionVersion.js.map +1 -0
  38. package/dist-esm/src/documents/PartitionKeyInternal.d.ts +24 -0
  39. package/dist-esm/src/documents/PartitionKeyInternal.d.ts.map +1 -0
  40. package/dist-esm/src/documents/PartitionKeyInternal.js +26 -0
  41. package/dist-esm/src/documents/PartitionKeyInternal.js.map +1 -0
  42. package/dist-esm/src/documents/PartitionKeyKind.d.ts +8 -0
  43. package/dist-esm/src/documents/PartitionKeyKind.d.ts.map +1 -0
  44. package/dist-esm/src/documents/PartitionKeyKind.js +11 -0
  45. package/dist-esm/src/documents/PartitionKeyKind.js.map +1 -0
  46. package/dist-esm/src/documents/index.d.ts +3 -0
  47. package/dist-esm/src/documents/index.d.ts.map +1 -1
  48. package/dist-esm/src/documents/index.js +3 -0
  49. package/dist-esm/src/documents/index.js.map +1 -1
  50. package/dist-esm/src/extractPartitionKey.d.ts +9 -3
  51. package/dist-esm/src/extractPartitionKey.d.ts.map +1 -1
  52. package/dist-esm/src/extractPartitionKey.js +49 -17
  53. package/dist-esm/src/extractPartitionKey.js.map +1 -1
  54. package/dist-esm/src/globalEndpointManager.d.ts.map +1 -1
  55. package/dist-esm/src/globalEndpointManager.js.map +1 -1
  56. package/dist-esm/src/index.d.ts +2 -2
  57. package/dist-esm/src/index.d.ts.map +1 -1
  58. package/dist-esm/src/index.js +2 -2
  59. package/dist-esm/src/index.js.map +1 -1
  60. package/dist-esm/src/indexMetrics/CompositeIndexUtilizationEntity.d.ts +9 -0
  61. package/dist-esm/src/indexMetrics/CompositeIndexUtilizationEntity.d.ts.map +1 -0
  62. package/dist-esm/src/indexMetrics/CompositeIndexUtilizationEntity.js +4 -0
  63. package/dist-esm/src/indexMetrics/CompositeIndexUtilizationEntity.js.map +1 -0
  64. package/dist-esm/src/indexMetrics/Constants.d.ts +12 -0
  65. package/dist-esm/src/indexMetrics/Constants.d.ts.map +1 -0
  66. package/dist-esm/src/indexMetrics/Constants.js +13 -0
  67. package/dist-esm/src/indexMetrics/Constants.js.map +1 -0
  68. package/dist-esm/src/indexMetrics/IndexMetricWriter.d.ts +12 -0
  69. package/dist-esm/src/indexMetrics/IndexMetricWriter.d.ts.map +1 -0
  70. package/dist-esm/src/indexMetrics/IndexMetricWriter.js +61 -0
  71. package/dist-esm/src/indexMetrics/IndexMetricWriter.js.map +1 -0
  72. package/dist-esm/src/indexMetrics/IndexUtilizationInfo.d.ts +18 -0
  73. package/dist-esm/src/indexMetrics/IndexUtilizationInfo.d.ts.map +1 -0
  74. package/dist-esm/src/indexMetrics/IndexUtilizationInfo.js +44 -0
  75. package/dist-esm/src/indexMetrics/IndexUtilizationInfo.js.map +1 -0
  76. package/dist-esm/src/indexMetrics/SingleIndexUtilizationEntity.d.ts +11 -0
  77. package/dist-esm/src/indexMetrics/SingleIndexUtilizationEntity.d.ts.map +1 -0
  78. package/dist-esm/src/indexMetrics/SingleIndexUtilizationEntity.js +4 -0
  79. package/dist-esm/src/indexMetrics/SingleIndexUtilizationEntity.js.map +1 -0
  80. package/dist-esm/src/indexMetrics/index.d.ts +5 -0
  81. package/dist-esm/src/indexMetrics/index.d.ts.map +1 -0
  82. package/dist-esm/src/indexMetrics/index.js +7 -0
  83. package/dist-esm/src/indexMetrics/index.js.map +1 -0
  84. package/dist-esm/src/request/FeedOptions.d.ts +6 -1
  85. package/dist-esm/src/request/FeedOptions.d.ts.map +1 -1
  86. package/dist-esm/src/request/FeedOptions.js.map +1 -1
  87. package/dist-esm/src/request/FeedResponse.d.ts +1 -0
  88. package/dist-esm/src/request/FeedResponse.d.ts.map +1 -1
  89. package/dist-esm/src/request/FeedResponse.js +6 -0
  90. package/dist-esm/src/request/FeedResponse.js.map +1 -1
  91. package/dist-esm/src/request/request.d.ts +2 -2
  92. package/dist-esm/src/request/request.d.ts.map +1 -1
  93. package/dist-esm/src/request/request.js +3 -3
  94. package/dist-esm/src/request/request.js.map +1 -1
  95. package/dist-esm/src/utils/batch.d.ts +26 -14
  96. package/dist-esm/src/utils/batch.d.ts.map +1 -1
  97. package/dist-esm/src/utils/batch.js +54 -55
  98. package/dist-esm/src/utils/batch.js.map +1 -1
  99. package/dist-esm/src/utils/hashing/hash.d.ts +9 -0
  100. package/dist-esm/src/utils/hashing/hash.d.ts.map +1 -0
  101. package/dist-esm/src/utils/hashing/hash.js +25 -0
  102. package/dist-esm/src/utils/hashing/hash.js.map +1 -0
  103. package/dist-esm/src/utils/hashing/multiHash.d.ts +8 -0
  104. package/dist-esm/src/utils/hashing/multiHash.d.ts.map +1 -0
  105. package/dist-esm/src/utils/hashing/multiHash.js +10 -0
  106. package/dist-esm/src/utils/hashing/multiHash.js.map +1 -0
  107. package/dist-esm/src/utils/hashing/v1.d.ts +2 -3
  108. package/dist-esm/src/utils/hashing/v1.d.ts.map +1 -1
  109. package/dist-esm/src/utils/hashing/v1.js +5 -3
  110. package/dist-esm/src/utils/hashing/v1.js.map +1 -1
  111. package/dist-esm/src/utils/hashing/v2.d.ts +2 -3
  112. package/dist-esm/src/utils/hashing/v2.d.ts.map +1 -1
  113. package/dist-esm/src/utils/hashing/v2.js +1 -1
  114. package/dist-esm/src/utils/hashing/v2.js.map +1 -1
  115. package/dist-esm/src/utils/typeChecks.d.ts +13 -0
  116. package/dist-esm/src/utils/typeChecks.d.ts.map +1 -0
  117. package/dist-esm/src/utils/typeChecks.js +47 -0
  118. package/dist-esm/src/utils/typeChecks.js.map +1 -0
  119. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Release History
2
2
 
3
+ ## 3.17.4-beta.1 (2023-03-04)
4
+
5
+ ### Features Added
6
+
7
+ - Added support for hierarchical partitions.
8
+
3
9
  ## 3.17.3 (2023-02-13)
4
10
 
5
11
  ### Features Added
package/README.md CHANGED
@@ -101,7 +101,7 @@ The following sections provide several code snippets covering some of the most c
101
101
  - [Query documents](#query-the-database)
102
102
  - [Read an item](#read-an-item)
103
103
  - [Delete an item](#delete-an-data)
104
-
104
+ - [CRUD on Container with hierarchical partition key](#container-hierarchical-partition-key)
105
105
  ### Create a database
106
106
 
107
107
  After authenticating your [CosmosClient](https://docs.microsoft.com/javascript/api/@azure/cosmos/cosmosclient?view=azure-node-latest), you can work with any resource in the account. The code snippet below creates a SQL API database.
@@ -144,7 +144,46 @@ To read a single item from a container, use [Item.read](https://docs.microsoft.c
144
144
  ```js
145
145
  await container.item("1").read();
146
146
  ```
147
-
147
+ ### CRUD on Container with hierarchical partition key
148
+ ```js
149
+ const containerDefinition = {
150
+ id: "Test Database",
151
+ partitionKey: {
152
+ paths: ["/name", "/address/zip"],
153
+ version: PartitionKeyDefinitionVersion.V2,
154
+ kind: PartitionKeyKind.MultiHash,
155
+ },
156
+ }
157
+ const { container } = await database.containers.createIfNotExists(containerDefinition);
158
+ console.log(container.id);
159
+ ```
160
+ #### Insert an item with hierarchical partition key
161
+ ```js
162
+ const item = {
163
+ id: 1,
164
+ name: 'foo',
165
+ address: {
166
+ zip: 100
167
+ },
168
+ active: true
169
+ }
170
+ await container.items.create(item);
171
+ ```
172
+ #### Read an item with hierarchical partition key
173
+ ```js
174
+ To read a single item from a container with hierarchical partition key defines as `paths: ["/name", "/address/zip"],`
175
+ await container.item("1", ["foo", 100]).read();
176
+ ```
177
+ #### Query an item with hierarchical partition key
178
+ ```js
179
+ const { resources } = await container.items
180
+ .query("SELECT * from c WHERE c.active = true", {
181
+ partitionKey: ["foo", 100],
182
+ })
183
+ .fetchAll();
184
+ for (const item of resources) {
185
+ console.log(`${item.name}, ${item.address.zip} `);
186
+ }
148
187
  ### Delete an item
149
188
 
150
189
  To delete items from a container, use [Item.delete](https://docs.microsoft.com/javascript/api/@azure/cosmos/item?view=azure-node-latest#delete-requestoptions-).