@itwin/presentation-common 5.0.0-dev.6 → 5.0.0-dev.61

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 (269) hide show
  1. package/CHANGELOG.md +47 -1
  2. package/Ruleset.schema.json +3 -258
  3. package/lib/cjs/presentation-common/AsyncTasks.d.ts +4 -4
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts.map +1 -1
  5. package/lib/cjs/presentation-common/AsyncTasks.js +5 -6
  6. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  7. package/lib/cjs/presentation-common/EC.d.ts +36 -80
  8. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  9. package/lib/cjs/presentation-common/EC.js +1 -97
  10. package/lib/cjs/presentation-common/EC.js.map +1 -1
  11. package/lib/cjs/presentation-common/ElementProperties.js +16 -9
  12. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  13. package/lib/cjs/presentation-common/KeySet.d.ts +2 -2
  14. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  15. package/lib/cjs/presentation-common/KeySet.js +9 -11
  16. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  17. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js +4 -1
  18. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  19. package/lib/cjs/presentation-common/LabelDefinition.d.ts +0 -48
  20. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  21. package/lib/cjs/presentation-common/LabelDefinition.js +1 -44
  22. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  23. package/lib/cjs/presentation-common/LocalizationHelper.js +1 -0
  24. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  25. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +29 -8
  26. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  27. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  28. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +7 -9
  29. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  30. package/lib/cjs/presentation-common/PresentationRpcInterface.js +23 -19
  31. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  32. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +3 -2
  33. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  34. package/lib/cjs/presentation-common/RegisteredRuleset.js +9 -1
  35. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  36. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +7 -7
  37. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  38. package/lib/cjs/presentation-common/RpcRequestsHandler.js +6 -1
  39. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  40. package/lib/cjs/presentation-common/RulesetVariables.d.ts +1 -46
  41. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  42. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  43. package/lib/cjs/presentation-common/Update.d.ts +2 -79
  44. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  45. package/lib/cjs/presentation-common/Update.js +1 -104
  46. package/lib/cjs/presentation-common/Update.js.map +1 -1
  47. package/lib/cjs/presentation-common/Utils.d.ts +16 -0
  48. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  49. package/lib/cjs/presentation-common/Utils.js +40 -0
  50. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  51. package/lib/cjs/presentation-common/content/Content.d.ts +0 -7
  52. package/lib/cjs/presentation-common/content/Content.d.ts.map +1 -1
  53. package/lib/cjs/presentation-common/content/Content.js +5 -10
  54. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  55. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +1 -1
  56. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  57. package/lib/cjs/presentation-common/content/ContentTraverser.js +116 -28
  58. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  59. package/lib/cjs/presentation-common/content/Descriptor.d.ts +2 -31
  60. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  61. package/lib/cjs/presentation-common/content/Descriptor.js +68 -22
  62. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  63. package/lib/cjs/presentation-common/content/Fields.d.ts +151 -27
  64. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  65. package/lib/cjs/presentation-common/content/Fields.js +264 -140
  66. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  67. package/lib/cjs/presentation-common/content/Item.d.ts +26 -31
  68. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  69. package/lib/cjs/presentation-common/content/Item.js +52 -67
  70. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  71. package/lib/cjs/presentation-common/content/Property.d.ts +2 -12
  72. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  73. package/lib/cjs/presentation-common/content/Property.js +0 -18
  74. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  75. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +3 -0
  76. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  77. package/lib/cjs/presentation-common/content/Value.d.ts +5 -107
  78. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  79. package/lib/cjs/presentation-common/content/Value.js +1 -215
  80. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  81. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  82. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  83. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +0 -23
  84. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  85. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +0 -83
  86. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  87. package/lib/cjs/presentation-common/hierarchy/Key.js +6 -24
  88. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  89. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +2 -106
  90. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  91. package/lib/cjs/presentation-common/hierarchy/Node.js +0 -99
  92. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  93. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  94. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  95. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +0 -117
  96. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  97. package/lib/cjs/presentation-common/rules/Rule.d.ts +0 -14
  98. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  99. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  100. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +0 -7
  101. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  102. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  103. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  104. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  105. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  106. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +2 -28
  107. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  108. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +1 -15
  109. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  110. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +2 -0
  111. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  112. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  113. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +0 -9
  114. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  115. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  116. package/lib/cjs/presentation-common.d.ts +1 -5
  117. package/lib/cjs/presentation-common.d.ts.map +1 -1
  118. package/lib/cjs/presentation-common.js +5 -5
  119. package/lib/cjs/presentation-common.js.map +1 -1
  120. package/lib/esm/presentation-common/AsyncTasks.d.ts +4 -4
  121. package/lib/esm/presentation-common/AsyncTasks.d.ts.map +1 -1
  122. package/lib/esm/presentation-common/AsyncTasks.js +5 -6
  123. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  124. package/lib/esm/presentation-common/EC.d.ts +36 -80
  125. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  126. package/lib/esm/presentation-common/EC.js +0 -96
  127. package/lib/esm/presentation-common/EC.js.map +1 -1
  128. package/lib/esm/presentation-common/ElementProperties.js +16 -9
  129. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  130. package/lib/esm/presentation-common/KeySet.d.ts +2 -2
  131. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  132. package/lib/esm/presentation-common/KeySet.js +9 -11
  133. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  134. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js +5 -2
  135. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  136. package/lib/esm/presentation-common/LabelDefinition.d.ts +0 -48
  137. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  138. package/lib/esm/presentation-common/LabelDefinition.js +0 -43
  139. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  140. package/lib/esm/presentation-common/LocalizationHelper.js +1 -0
  141. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  142. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +29 -8
  143. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  144. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  145. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +7 -9
  146. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  147. package/lib/esm/presentation-common/PresentationRpcInterface.js +23 -19
  148. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  149. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +3 -2
  150. package/lib/esm/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  151. package/lib/esm/presentation-common/RegisteredRuleset.js +9 -1
  152. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  153. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +7 -7
  154. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  155. package/lib/esm/presentation-common/RpcRequestsHandler.js +6 -1
  156. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  157. package/lib/esm/presentation-common/RulesetVariables.d.ts +1 -46
  158. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  159. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  160. package/lib/esm/presentation-common/Update.d.ts +2 -79
  161. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  162. package/lib/esm/presentation-common/Update.js +0 -103
  163. package/lib/esm/presentation-common/Update.js.map +1 -1
  164. package/lib/esm/presentation-common/Utils.d.ts +16 -0
  165. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  166. package/lib/esm/presentation-common/Utils.js +38 -0
  167. package/lib/esm/presentation-common/Utils.js.map +1 -1
  168. package/lib/esm/presentation-common/content/Content.d.ts +0 -7
  169. package/lib/esm/presentation-common/content/Content.d.ts.map +1 -1
  170. package/lib/esm/presentation-common/content/Content.js +5 -10
  171. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  172. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +1 -1
  173. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  174. package/lib/esm/presentation-common/content/ContentTraverser.js +117 -29
  175. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  176. package/lib/esm/presentation-common/content/Descriptor.d.ts +2 -31
  177. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  178. package/lib/esm/presentation-common/content/Descriptor.js +68 -22
  179. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  180. package/lib/esm/presentation-common/content/Fields.d.ts +151 -27
  181. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  182. package/lib/esm/presentation-common/content/Fields.js +264 -140
  183. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  184. package/lib/esm/presentation-common/content/Item.d.ts +26 -31
  185. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  186. package/lib/esm/presentation-common/content/Item.js +52 -67
  187. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  188. package/lib/esm/presentation-common/content/Property.d.ts +2 -12
  189. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  190. package/lib/esm/presentation-common/content/Property.js +0 -18
  191. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  192. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +3 -0
  193. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  194. package/lib/esm/presentation-common/content/Value.d.ts +5 -107
  195. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  196. package/lib/esm/presentation-common/content/Value.js +0 -214
  197. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  198. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  199. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  200. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +1 -22
  201. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  202. package/lib/esm/presentation-common/hierarchy/Key.d.ts +0 -83
  203. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  204. package/lib/esm/presentation-common/hierarchy/Key.js +6 -24
  205. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  206. package/lib/esm/presentation-common/hierarchy/Node.d.ts +2 -106
  207. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  208. package/lib/esm/presentation-common/hierarchy/Node.js +1 -98
  209. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  210. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  211. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  212. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +1 -116
  213. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  214. package/lib/esm/presentation-common/rules/Rule.d.ts +0 -14
  215. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  216. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  217. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +0 -7
  218. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  219. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  220. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  221. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  222. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  223. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +2 -28
  224. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  225. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +0 -14
  226. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  227. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +2 -0
  228. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  229. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  230. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +0 -9
  231. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  232. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  233. package/lib/esm/presentation-common.d.ts +1 -5
  234. package/lib/esm/presentation-common.d.ts.map +1 -1
  235. package/lib/esm/presentation-common.js +1 -5
  236. package/lib/esm/presentation-common.js.map +1 -1
  237. package/package.json +12 -12
  238. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  239. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  240. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +0 -10
  241. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  242. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  243. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  244. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +0 -10
  245. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  246. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  247. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  248. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +0 -10
  249. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  250. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  251. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  252. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +0 -10
  253. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +0 -1
  254. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  255. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  256. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +0 -9
  257. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  258. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  259. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  260. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +0 -9
  261. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  262. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  263. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  264. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +0 -9
  265. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  266. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  267. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  268. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +0 -9
  269. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +0 -1
@@ -8,6 +8,8 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.DEFAULT_KEYS_BATCH_SIZE = exports.getInstancesCount = void 0;
11
+ exports.omitUndefined = omitUndefined;
12
+ exports.deepReplaceNullsToUndefined = deepReplaceNullsToUndefined;
11
13
  const Key_1 = require("./hierarchy/Key");
12
14
  /**
13
15
  * Get total number of instances included in the supplied key set. The
@@ -41,4 +43,42 @@ exports.getInstancesCount = getInstancesCount;
41
43
  * @public
42
44
  */
43
45
  exports.DEFAULT_KEYS_BATCH_SIZE = 5000;
46
+ /**
47
+ * Removes all `undefined` properties from given `obj` object and returns
48
+ * the same (mutated) object.
49
+ *
50
+ * Example: `omitUndefined({ a: 1, b: undefined })` will return `{ a: 1 }`
51
+ *
52
+ * @internal
53
+ */
54
+ function omitUndefined(obj) {
55
+ Object.entries(obj).forEach(([key, value]) => {
56
+ if (value === undefined) {
57
+ delete obj[key];
58
+ }
59
+ });
60
+ return obj;
61
+ }
62
+ /** @internal */
63
+ function deepReplaceNullsToUndefined(obj) {
64
+ /* istanbul ignore next */
65
+ if (obj === null) {
66
+ return undefined;
67
+ }
68
+ /* istanbul ignore next */
69
+ if (Array.isArray(obj)) {
70
+ return obj.map(deepReplaceNullsToUndefined);
71
+ }
72
+ if (typeof obj === "object") {
73
+ return Object.keys(obj).reduce((acc, key) => {
74
+ const value = obj[key];
75
+ /* istanbul ignore else */
76
+ if (value !== null && value !== undefined) {
77
+ acc[key] = deepReplaceNullsToUndefined(value);
78
+ }
79
+ return acc;
80
+ }, {});
81
+ }
82
+ return obj;
83
+ }
44
84
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/presentation-common/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,yCAA0C;AA8C1C;;;;;;;;;;;GAWG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAsB,EAAU,EAAE;IAClE,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAY,EAAE,EAAE;QACrC,IAAI,aAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,aAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,IAAI,GAAG,CAAC,qBAAqB,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEF;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,IAAI,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { NodeKey } from \"./hierarchy/Key\";\r\nimport { KeySet } from \"./KeySet\";\r\n\r\n/**\r\n * Create a type with `T` properties excluding properties listed in `K`.\r\n *\r\n * Usage example: `Omit<SomeType, \"exclude_prop1\" | \"exclude_prop2\">`\r\n *\r\n * @public\r\n */\r\nexport type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;\r\n\r\n/**\r\n * Create a type with `T` properties excluding all properties in type `K`.\r\n *\r\n * Usage example: `Subtract<SomeType, ExcludePropertiesInThisType>`\r\n *\r\n * @public\r\n */\r\nexport type Subtract<T, K> = Omit<T, keyof K>;\r\n\r\n/**\r\n * Create a type from given type `T` and make specified properties optional.\r\n * @public\r\n */\r\nexport type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\r\n\r\n/**\r\n * A dictionary data structure.\r\n * @public\r\n */\r\nexport interface ValuesDictionary<T> {\r\n [key: string]: T;\r\n}\r\n\r\n/**\r\n * A structure for paged responses\r\n * @public\r\n */\r\nexport interface PagedResponse<T> {\r\n /** Total number of items */\r\n total: number;\r\n /** Items for the requested page */\r\n items: T[];\r\n}\r\n\r\n/**\r\n * Get total number of instances included in the supplied key set. The\r\n * count is calculated by adding all of the following:\r\n * - `keys.instanceKeysCount`\r\n * - number of `keys.nodeKeys` which are *ECInstance* keys\r\n * - for every grouping node key in `keys.nodeKeys`, number of grouped instances\r\n *\r\n * E.g. if `keys` contains one instance key, one *ECInstance* node key\r\n * and one grouping node key which groups 3 instances, the result is 5.\r\n *\r\n * @public\r\n */\r\nexport const getInstancesCount = (keys: Readonly<KeySet>): number => {\r\n let count = keys.instanceKeysCount;\r\n keys.nodeKeys.forEach((key: NodeKey) => {\r\n if (NodeKey.isInstancesNodeKey(key)) {\r\n count += key.instanceKeys.length;\r\n } else if (NodeKey.isGroupingNodeKey(key)) {\r\n count += key.groupedInstancesCount;\r\n }\r\n });\r\n return count;\r\n};\r\n\r\n/**\r\n * Default (recommended) keyset batch size for cases when it needs to be sent\r\n * over HTTP. Sending keys in batches helps avoid HTTP413 error.\r\n *\r\n * @public\r\n */\r\nexport const DEFAULT_KEYS_BATCH_SIZE = 5000;\r\n"]}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/presentation-common/Utils.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAwFH,sCAOC;AAYD,kEAoBC;AA7HD,yCAA0C;AA8C1C;;;;;;;;;;;GAWG;AACI,MAAM,iBAAiB,GAAG,CAAC,IAAsB,EAAU,EAAE;IAClE,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAY,EAAE,EAAE;QACrC,IAAI,aAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC;QACnC,CAAC;aAAM,IAAI,aAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,IAAI,GAAG,CAAC,qBAAqB,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAVW,QAAA,iBAAiB,qBAU5B;AAEF;;;;;GAKG;AACU,QAAA,uBAAuB,GAAG,IAAI,CAAC;AAE5C;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAmB,GAAM;IACpD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,GAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAWD,gBAAgB;AAChB,SAAgB,2BAA2B,CAAI,GAAM;IACnD,0BAA0B;IAC1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,SAAgB,CAAC;IAC1B,CAAC;IACD,0BAA0B;IAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,2BAA2B,CAAuB,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAc,CAAC,CAAC;YAClC,0BAA0B;YAC1B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,GAAG,CAAC,GAA+B,CAAC,GAAG,2BAA2B,CAAC,KAAK,CAAQ,CAAC;YACnF,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAwB,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAU,CAAC;AACpB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { NodeKey } from \"./hierarchy/Key\";\r\nimport { KeySet } from \"./KeySet\";\r\n\r\n/**\r\n * Create a type with `T` properties excluding properties listed in `K`.\r\n *\r\n * Usage example: `Omit<SomeType, \"exclude_prop1\" | \"exclude_prop2\">`\r\n *\r\n * @public\r\n */\r\nexport type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;\r\n\r\n/**\r\n * Create a type with `T` properties excluding all properties in type `K`.\r\n *\r\n * Usage example: `Subtract<SomeType, ExcludePropertiesInThisType>`\r\n *\r\n * @public\r\n */\r\nexport type Subtract<T, K> = Omit<T, keyof K>;\r\n\r\n/**\r\n * Create a type from given type `T` and make specified properties optional.\r\n * @public\r\n */\r\nexport type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\r\n\r\n/**\r\n * A dictionary data structure.\r\n * @public\r\n */\r\nexport interface ValuesDictionary<T> {\r\n [key: string]: T;\r\n}\r\n\r\n/**\r\n * A structure for paged responses\r\n * @public\r\n */\r\nexport interface PagedResponse<T> {\r\n /** Total number of items */\r\n total: number;\r\n /** Items for the requested page */\r\n items: T[];\r\n}\r\n\r\n/**\r\n * Get total number of instances included in the supplied key set. The\r\n * count is calculated by adding all of the following:\r\n * - `keys.instanceKeysCount`\r\n * - number of `keys.nodeKeys` which are *ECInstance* keys\r\n * - for every grouping node key in `keys.nodeKeys`, number of grouped instances\r\n *\r\n * E.g. if `keys` contains one instance key, one *ECInstance* node key\r\n * and one grouping node key which groups 3 instances, the result is 5.\r\n *\r\n * @public\r\n */\r\nexport const getInstancesCount = (keys: Readonly<KeySet>): number => {\r\n let count = keys.instanceKeysCount;\r\n keys.nodeKeys.forEach((key: NodeKey) => {\r\n if (NodeKey.isInstancesNodeKey(key)) {\r\n count += key.instanceKeys.length;\r\n } else if (NodeKey.isGroupingNodeKey(key)) {\r\n count += key.groupedInstancesCount;\r\n }\r\n });\r\n return count;\r\n};\r\n\r\n/**\r\n * Default (recommended) keyset batch size for cases when it needs to be sent\r\n * over HTTP. Sending keys in batches helps avoid HTTP413 error.\r\n *\r\n * @public\r\n */\r\nexport const DEFAULT_KEYS_BATCH_SIZE = 5000;\r\n\r\n/**\r\n * Removes all `undefined` properties from given `obj` object and returns\r\n * the same (mutated) object.\r\n *\r\n * Example: `omitUndefined({ a: 1, b: undefined })` will return `{ a: 1 }`\r\n *\r\n * @internal\r\n */\r\nexport function omitUndefined<T extends object>(obj: T): T {\r\n Object.entries(obj).forEach(([key, value]) => {\r\n if (value === undefined) {\r\n delete obj[key as keyof T];\r\n }\r\n });\r\n return obj;\r\n}\r\n\r\n/** @internal */\r\ntype NullToUndefined<T> = T extends null\r\n ? undefined\r\n : T extends Array<infer U>\r\n ? Array<NullToUndefined<U>>\r\n : T extends object\r\n ? { [K in keyof T]: NullToUndefined<T[K]> }\r\n : T;\r\n\r\n/** @internal */\r\nexport function deepReplaceNullsToUndefined<T>(obj: T): NullToUndefined<T> {\r\n /* istanbul ignore next */\r\n if (obj === null) {\r\n return undefined as any;\r\n }\r\n /* istanbul ignore next */\r\n if (Array.isArray(obj)) {\r\n return obj.map(deepReplaceNullsToUndefined) as NullToUndefined<T>;\r\n }\r\n if (typeof obj === \"object\") {\r\n return Object.keys(obj).reduce((acc, key) => {\r\n const value = obj[key as keyof T];\r\n /* istanbul ignore else */\r\n if (value !== null && value !== undefined) {\r\n acc[key as keyof NullToUndefined<T>] = deepReplaceNullsToUndefined(value) as any;\r\n }\r\n return acc;\r\n }, {} as NullToUndefined<T>);\r\n }\r\n return obj as any;\r\n}\r\n"]}
@@ -28,12 +28,5 @@ export declare class Content {
28
28
  toJSON(): ContentJSON;
29
29
  /** Deserialize [[Content]] from JSON */
30
30
  static fromJSON(json: ContentJSON | string | undefined): Content | undefined;
31
- /**
32
- * Reviver function that can be used as a second argument for
33
- * `JSON.parse` method when parsing Content objects.
34
- *
35
- * @internal
36
- */
37
- static reviver(key: string, value: any): any;
38
31
  }
39
32
  //# sourceMappingURL=Content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Content.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,OAAO;IAClB,4CAA4C;IAC5C,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,oBAAoB;IACpB,SAAgB,UAAU,EAAE,IAAI,EAAE,CAAC;IAEnC,wCAAwC;gBACrB,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;IAKxD,oCAAoC;IAC7B,MAAM,IAAI,WAAW;IAO5B,wCAAwC;WAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS;IAkBnF;;;;;OAKG;WACW,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG;CAGpD"}
1
+ {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/Content.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,qBAAa,OAAO;IAClB,4CAA4C;IAC5C,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,oBAAoB;IACpB,SAAgB,UAAU,EAAE,IAAI,EAAE,CAAC;IAEnC,wCAAwC;gBACrB,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;IAKxD,oCAAoC;IAC7B,MAAM,IAAI,WAAW;IAO5B,wCAAwC;WAC1B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS;CAiBpF"}
@@ -17,6 +17,10 @@ const Item_1 = require("./Item");
17
17
  * @public
18
18
  */
19
19
  class Content {
20
+ /** Descriptor used to create the content */
21
+ descriptor;
22
+ /** Content items */
23
+ contentSet;
20
24
  /** Create a new [[Content]] instance */
21
25
  constructor(descriptor, items) {
22
26
  this.descriptor = descriptor;
@@ -35,7 +39,7 @@ class Content {
35
39
  return undefined;
36
40
  }
37
41
  if (typeof json === "string") {
38
- return JSON.parse(json, (key, value) => Content.reviver(key, value));
42
+ return Content.fromJSON(JSON.parse(json));
39
43
  }
40
44
  const descriptor = Descriptor_1.Descriptor.fromJSON(json.descriptor);
41
45
  if (!descriptor) {
@@ -44,15 +48,6 @@ class Content {
44
48
  const contentSet = json.contentSet.map((itemJson) => Item_1.Item.fromJSON(itemJson)).filter((item) => item !== undefined);
45
49
  return new Content(descriptor, contentSet);
46
50
  }
47
- /**
48
- * Reviver function that can be used as a second argument for
49
- * `JSON.parse` method when parsing Content objects.
50
- *
51
- * @internal
52
- */
53
- static reviver(key, value) {
54
- return key === "" ? Content.fromJSON(value) : value;
55
- }
56
51
  }
57
52
  exports.Content = Content;
58
53
  //# sourceMappingURL=Content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Content.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,6CAA0D;AAC1D,iCAAwC;AAWxC;;;;;GAKG;AACH,MAAa,OAAO;IAMlB,wCAAwC;IACxC,YAAmB,UAAsB,EAAE,KAAa;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,oCAAoC;IAC7B,MAAM;QACX,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAsC;QAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,UAAU,GAAG,uBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,WAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAO,CAAC,IAAI,EAAgB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACjJ,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,KAAU;QAC3C,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;CACF;AAhDD,0BAgDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Content\r\n */\r\n\r\nimport { Descriptor, DescriptorJSON } from \"./Descriptor\";\r\nimport { Item, ItemJSON } from \"./Item\";\r\n\r\n/**\r\n * Serialized [[Content]] JSON representation.\r\n * @public\r\n */\r\nexport interface ContentJSON {\r\n descriptor: DescriptorJSON;\r\n contentSet: ItemJSON[];\r\n}\r\n\r\n/**\r\n * A data structure that contains the [[Descriptor]] and a list of [[Item]]\r\n * objects which are based on that descriptor.\r\n *\r\n * @public\r\n */\r\nexport class Content {\r\n /** Descriptor used to create the content */\r\n public readonly descriptor: Descriptor;\r\n /** Content items */\r\n public readonly contentSet: Item[];\r\n\r\n /** Create a new [[Content]] instance */\r\n public constructor(descriptor: Descriptor, items: Item[]) {\r\n this.descriptor = descriptor;\r\n this.contentSet = items;\r\n }\r\n\r\n /** Serialize this object to JSON */\r\n public toJSON(): ContentJSON {\r\n return {\r\n descriptor: this.descriptor.toJSON(),\r\n contentSet: this.contentSet.map((item: Item) => item.toJSON()),\r\n };\r\n }\r\n\r\n /** Deserialize [[Content]] from JSON */\r\n public static fromJSON(json: ContentJSON | string | undefined): Content | undefined {\r\n if (!json) {\r\n return undefined;\r\n }\r\n\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, (key, value) => Content.reviver(key, value));\r\n }\r\n\r\n const descriptor = Descriptor.fromJSON(json.descriptor);\r\n if (!descriptor) {\r\n return undefined;\r\n }\r\n\r\n const contentSet = json.contentSet.map((itemJson: ItemJSON) => Item.fromJSON(itemJson)).filter<Item>((item): item is Item => item !== undefined);\r\n return new Content(descriptor, contentSet);\r\n }\r\n\r\n /**\r\n * Reviver function that can be used as a second argument for\r\n * `JSON.parse` method when parsing Content objects.\r\n *\r\n * @internal\r\n */\r\n public static reviver(key: string, value: any): any {\r\n return key === \"\" ? Content.fromJSON(value) : value;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/presentation-common/content/Content.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,6CAA0D;AAC1D,iCAAwC;AAWxC;;;;;GAKG;AACH,MAAa,OAAO;IAClB,4CAA4C;IAC5B,UAAU,CAAa;IACvC,oBAAoB;IACJ,UAAU,CAAS;IAEnC,wCAAwC;IACxC,YAAmB,UAAsB,EAAE,KAAa;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,oCAAoC;IAC7B,MAAM;QACX,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,wCAAwC;IACjC,MAAM,CAAC,QAAQ,CAAC,IAAsC;QAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,uBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAO,CAAC,IAAI,EAAgB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACvI,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;CACF;AAtCD,0BAsCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Content\r\n */\r\n\r\nimport { Descriptor, DescriptorJSON } from \"./Descriptor\";\r\nimport { Item, ItemJSON } from \"./Item\";\r\n\r\n/**\r\n * Serialized [[Content]] JSON representation.\r\n * @public\r\n */\r\nexport interface ContentJSON {\r\n descriptor: DescriptorJSON;\r\n contentSet: ItemJSON[];\r\n}\r\n\r\n/**\r\n * A data structure that contains the [[Descriptor]] and a list of [[Item]]\r\n * objects which are based on that descriptor.\r\n *\r\n * @public\r\n */\r\nexport class Content {\r\n /** Descriptor used to create the content */\r\n public readonly descriptor: Descriptor;\r\n /** Content items */\r\n public readonly contentSet: Item[];\r\n\r\n /** Create a new [[Content]] instance */\r\n public constructor(descriptor: Descriptor, items: Item[]) {\r\n this.descriptor = descriptor;\r\n this.contentSet = items;\r\n }\r\n\r\n /** Serialize this object to JSON */\r\n public toJSON(): ContentJSON {\r\n return {\r\n descriptor: this.descriptor.toJSON(),\r\n contentSet: this.contentSet.map((item: Item) => item.toJSON()),\r\n };\r\n }\r\n\r\n /** Deserialize [[Content]] from JSON */\r\n public static fromJSON(json: ContentJSON | string | undefined): Content | undefined {\r\n if (!json) {\r\n return undefined;\r\n }\r\n\r\n if (typeof json === \"string\") {\r\n return Content.fromJSON(JSON.parse(json));\r\n }\r\n\r\n const descriptor = Descriptor.fromJSON(json.descriptor);\r\n if (!descriptor) {\r\n return undefined;\r\n }\r\n\r\n const contentSet = json.contentSet.map((itemJson) => Item.fromJSON(itemJson)).filter<Item>((item): item is Item => item !== undefined);\r\n return new Content(descriptor, contentSet);\r\n }\r\n}\r\n"]}
@@ -1,6 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Content
3
3
  */
4
+ import { LabelDefinition } from "../LabelDefinition";
4
5
  import { CategoryDescription } from "./Category";
5
6
  import { Content } from "./Content";
6
7
  import { Descriptor } from "./Descriptor";
@@ -8,7 +9,6 @@ import { Field } from "./Fields";
8
9
  import { Item } from "./Item";
9
10
  import { TypeDescription } from "./TypeDescription";
10
11
  import { DisplayValue, DisplayValuesArray, DisplayValuesMap, Value as PresentationValue, ValuesArray as PresentationValuesArray, ValuesMap as PresentationValuesMap } from "./Value";
11
- import { LabelDefinition } from "../LabelDefinition";
12
12
  /**
13
13
  * A data structure to define a hierarchy of [[Field]] objects.
14
14
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTraverser.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/ContentTraverser.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAsB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAuB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAEhB,KAAK,IAAI,iBAAiB,EAC1B,WAAW,IAAI,uBAAuB,EACtC,SAAS,IAAI,qBAAqB,EACnC,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAYrD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB;IACrB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,SAAS,EAAE,cAAc,CAAC;IAC1B,0BAA0B;IAC1B,SAAS,EAAE,eAAe,CAAC;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,SAAS,EAAE,qBAAqB,CAAC;IACjC,6BAA6B;IAC7B,aAAa,EAAE,gBAAgB,CAAC;IAChC,qEAAqE;IACrE,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,SAAS,EAAE,cAAc,CAAC;IAC1B,yBAAyB;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB;IACvB,SAAS,EAAE,uBAAuB,CAAC;IACnC,2BAA2B;IAC3B,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,WAAW,EAAE,KAAK,CAAC;IACnB;;;;;OAKG;IACH,cAAc,EAAE,KAAK,CAAC;IACtB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,4CAA4C;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,yBAAyB;IACzB,SAAS,EAAE,eAAe,CAAC;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,qBAAqB;IACrB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAChD,0DAA0D;IAC1D,aAAa,IAAI,IAAI,CAAC;IAEtB,qHAAqH;IACrH,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,GAAG,IAAI,CAAC;IAEnE;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC;IAC1C;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAClD,qGAAqG;IACrG,cAAc,IAAI,IAAI,CAAC;IAEvB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5C,gFAAgF;IAChF,WAAW,IAAI,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAC9C,2DAA2D;IAC3D,YAAY,IAAI,IAAI,CAAC;IAErB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;IAC5C,0DAA0D;IAC1D,WAAW,IAAI,IAAI,CAAC;IAEpB,mGAAmG;IACnG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACzD,2CAA2C;IAC3C,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAChE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,OAAO,QAInG;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,QAczE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,QAE/F;AAgPD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,gBAAgB,CAAC,EAAE,OAAO,oBAgCjF;AAoED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,cAAc,GAAG,IAAI,CAapG;AAaD,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,UAE5E;AACD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,YAE3D"}
1
+ {"version":3,"file":"ContentTraverser.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/content/ContentTraverser.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,58 @@
6
6
  /** @packageDocumentation
7
7
  * @module Content
8
8
  */
9
+ var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
10
+ if (value !== null && value !== void 0) {
11
+ if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
12
+ var dispose, inner;
13
+ if (async) {
14
+ if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
15
+ dispose = value[Symbol.asyncDispose];
16
+ }
17
+ if (dispose === void 0) {
18
+ if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
19
+ dispose = value[Symbol.dispose];
20
+ if (async) inner = dispose;
21
+ }
22
+ if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
23
+ if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
24
+ env.stack.push({ value: value, dispose: dispose, async: async });
25
+ }
26
+ else if (async) {
27
+ env.stack.push({ async: true });
28
+ }
29
+ return value;
30
+ };
31
+ var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
32
+ return function (env) {
33
+ function fail(e) {
34
+ env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
35
+ env.hasError = true;
36
+ }
37
+ var r, s = 0;
38
+ function next() {
39
+ while (r = env.stack.pop()) {
40
+ try {
41
+ if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
42
+ if (r.dispose) {
43
+ var result = r.dispose.call(r.value);
44
+ if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
45
+ }
46
+ else s |= 1;
47
+ }
48
+ catch (e) {
49
+ fail(e);
50
+ }
51
+ }
52
+ if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
53
+ if (env.hasError) throw env.error;
54
+ }
55
+ return next();
56
+ };
57
+ })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
58
+ var e = new Error(message);
59
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
60
+ });
9
61
  Object.defineProperty(exports, "__esModule", { value: true });
10
62
  exports.FIELD_NAMES_SEPARATOR = void 0;
11
63
  exports.traverseFieldHierarchy = traverseFieldHierarchy;
@@ -59,6 +111,9 @@ function traverseContentItem(visitor, descriptor, item) {
59
111
  traverseContent(visitor, new Content_1.Content(descriptor, [item]));
60
112
  }
61
113
  class VisitedCategories {
114
+ _visitor;
115
+ _visitedCategories;
116
+ _didVisitAllHierarchy;
62
117
  constructor(_visitor, category) {
63
118
  this._visitor = _visitor;
64
119
  const stack = [];
@@ -80,7 +135,7 @@ class VisitedCategories {
80
135
  }
81
136
  }
82
137
  }
83
- dispose() {
138
+ [Symbol.dispose]() {
84
139
  while (this._visitedCategories.pop()) {
85
140
  this._visitor.finishCategory();
86
141
  }
@@ -95,11 +150,20 @@ function traverseContentItemFields(visitor, fieldHierarchies, item) {
95
150
  }
96
151
  try {
97
152
  fieldHierarchies.forEach((fieldHierarchy) => {
98
- (0, core_bentley_1.using)(new VisitedCategories(visitor, fieldHierarchy.field.category), (res) => {
153
+ const env_1 = { stack: [], error: void 0, hasError: false };
154
+ try {
155
+ const res = __addDisposableResource(env_1, new VisitedCategories(visitor, fieldHierarchy.field.category), false);
99
156
  if (res.shouldContinue) {
100
157
  traverseContentItemField(visitor, fieldHierarchy, item);
101
158
  }
102
- });
159
+ }
160
+ catch (e_1) {
161
+ env_1.error = e_1;
162
+ env_1.hasError = true;
163
+ }
164
+ finally {
165
+ __disposeResources(env_1);
166
+ }
103
167
  });
104
168
  }
105
169
  finally {
@@ -143,13 +207,15 @@ function traverseContentItemField(visitor, fieldHierarchy, item) {
143
207
  else if (pathUpToField.length > 0) {
144
208
  fieldHierarchy = {
145
209
  ...fieldHierarchy,
146
- field: Object.assign(fieldHierarchy.field.clone(), {
147
- type: {
210
+ field: (function () {
211
+ const clone = fieldHierarchy.field.clone();
212
+ clone.type = {
148
213
  valueFormat: TypeDescription_1.PropertyValueFormat.Array,
149
214
  typeName: `${fieldHierarchy.field.type.typeName}[]`,
150
215
  memberType: fieldHierarchy.field.type,
151
- },
152
- }),
216
+ };
217
+ return clone;
218
+ })(),
153
219
  };
154
220
  }
155
221
  traverseContentItemFieldValue(visitor, fieldHierarchy, item.mergedFieldNames, fieldHierarchy.field.type, parentFieldName, item.values[fieldHierarchy.field.name], item.displayValues[fieldHierarchy.field.name]);
@@ -205,7 +271,14 @@ function traverseContentItemStructFieldValue(visitor, fieldHierarchy, mergedFiel
205
271
  // Not finding a member field means we're traversing an ECStruct. We still need to carry member information, so we
206
272
  // create a fake field to represent the member
207
273
  memberField = {
208
- field: new Fields_1.Field(fieldHierarchy.field.category, memberDescription.name, memberDescription.label, memberDescription.type, fieldHierarchy.field.isReadonly, 0),
274
+ field: new Fields_1.Field({
275
+ category: fieldHierarchy.field.category,
276
+ name: memberDescription.name,
277
+ label: memberDescription.label,
278
+ type: memberDescription.type,
279
+ isReadonly: fieldHierarchy.field.isReadonly,
280
+ priority: 0,
281
+ }),
209
282
  childFields: [],
210
283
  };
211
284
  }
@@ -374,23 +447,31 @@ function convertNestedContentItemToStructArrayItem(item, field, nextField) {
374
447
  if (value.length === 0) {
375
448
  return { emptyNestedItem: true, convertedItem: item };
376
449
  }
377
- const nextFieldValues = { raw: [], display: [] };
378
- value.forEach((ncv) => {
379
- const nextRawValue = ncv.values[nextField.name];
380
- const nextDisplayValue = ncv.displayValues[nextField.name];
381
- if (nextField.isNestedContentField()) {
450
+ let nextFieldValues = { raw: [], display: [] };
451
+ if (nextField.isNestedContentField()) {
452
+ const nextNestedContent = [];
453
+ value.forEach((ncv) => {
454
+ const nextRawValue = ncv.values[nextField.name];
382
455
  if (nextRawValue) {
383
456
  (0, core_bentley_1.assert)(Value_1.Value.isNestedContent(nextRawValue));
384
- nextFieldValues.raw.push(...nextRawValue);
457
+ nextNestedContent.push(...nextRawValue);
385
458
  }
386
- }
387
- else {
388
- nextFieldValues.raw.push(nextRawValue);
389
- nextFieldValues.display.push(nextDisplayValue);
390
- }
459
+ });
460
+ nextFieldValues.raw = nextNestedContent;
461
+ }
462
+ else {
463
+ const nextValues = { raw: [], display: [] };
464
+ value.forEach((ncv) => {
465
+ nextValues.raw.push(ncv.values[nextField.name]);
466
+ nextValues.display.push(ncv.displayValues[nextField.name]);
467
+ });
468
+ nextFieldValues = nextValues;
469
+ }
470
+ const convertedItem = new Item_1.Item({
471
+ ...item,
472
+ values: { [nextField.name]: nextFieldValues.raw },
473
+ displayValues: { [nextField.name]: nextFieldValues.display },
391
474
  });
392
- const convertedItem = new Item_1.Item(item.primaryKeys, item.label, item.imageId, // eslint-disable-line @typescript-eslint/no-deprecated
393
- item.classInfo, { [nextField.name]: nextFieldValues.raw }, { [nextField.name]: nextFieldValues.display }, item.mergedFieldNames, item.extendedData);
394
475
  return { emptyNestedItem: false, convertedItem };
395
476
  }
396
477
  function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy, parentFieldName) {
@@ -402,8 +483,9 @@ function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy
402
483
  return child;
403
484
  });
404
485
  const convertedFieldHierarchy = {
405
- field: Object.assign(fieldHierarchy.field.clone(), {
406
- type: {
486
+ field: (function () {
487
+ const clone = fieldHierarchy.field.clone();
488
+ clone.type = {
407
489
  valueFormat: TypeDescription_1.PropertyValueFormat.Array,
408
490
  typeName: `${fieldHierarchy.field.type.typeName}[]`,
409
491
  memberType: {
@@ -415,8 +497,9 @@ function convertNestedContentFieldHierarchyToStructArrayHierarchy(fieldHierarchy
415
497
  type: member.field.type,
416
498
  })),
417
499
  },
418
- },
419
- }),
500
+ };
501
+ return clone;
502
+ })(),
420
503
  childFields: convertedChildFieldHierarchies,
421
504
  };
422
505
  return convertedFieldHierarchy;
@@ -427,7 +510,8 @@ function convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy,
427
510
  const values = { ...ncv.values };
428
511
  const displayValues = { ...ncv.displayValues };
429
512
  const mergedFieldNames = [...ncv.mergedFieldNames];
430
- values[NESTED_CONTENT_LABEL_SYMBOL] = ncv.labelDefinition;
513
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
514
+ values[NESTED_CONTENT_LABEL_SYMBOL] = ncv.label ?? ncv.labelDefinition;
431
515
  fieldHierarchy.childFields.forEach((childFieldHierarchy) => {
432
516
  const childFieldName = childFieldHierarchy.field.name;
433
517
  if (-1 !== ncv.mergedFieldNames.indexOf(childFieldName)) {
@@ -456,8 +540,12 @@ function convertNestedContentFieldHierarchyItemToStructArrayItem(item, fieldHier
456
540
  return { emptyNestedItem: true, convertedItem: item };
457
541
  }
458
542
  const converted = convertNestedContentValuesToStructArrayValuesRecursive(fieldHierarchy, rawValue);
459
- const convertedItem = new Item_1.Item(item.primaryKeys, item.label, item.imageId, // eslint-disable-line @typescript-eslint/no-deprecated
460
- item.classInfo, { [fieldName]: converted.raw }, { [fieldName]: converted.display }, converted.mergedFieldNames, item.extendedData);
543
+ const convertedItem = new Item_1.Item({
544
+ ...item,
545
+ values: { [fieldName]: converted.raw },
546
+ displayValues: { [fieldName]: converted.display },
547
+ mergedFieldNames: converted.mergedFieldNames,
548
+ });
461
549
  return { emptyNestedItem: false, convertedItem };
462
550
  }
463
551
  //# sourceMappingURL=ContentTraverser.js.map