@itwin/presentation-common 3.6.0-dev.53 → 3.6.0-dev.54

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 (469) hide show
  1. package/lib/cjs/assets/locales/en/BisCore.json +18 -18
  2. package/lib/cjs/assets/locales/en/ECPresentation.json +9 -9
  3. package/lib/cjs/assets/locales/en/RulesEngine.json +5 -5
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  5. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  6. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  8. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  9. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  10. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  11. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  12. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  13. package/lib/cjs/presentation-common/EC.d.ts +315 -315
  14. package/lib/cjs/presentation-common/EC.js +270 -270
  15. package/lib/cjs/presentation-common/EC.js.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  17. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  18. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  19. package/lib/cjs/presentation-common/Error.d.ts +45 -45
  20. package/lib/cjs/presentation-common/Error.js +62 -62
  21. package/lib/cjs/presentation-common/Error.js.map +1 -1
  22. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +59 -59
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  24. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  25. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  26. package/lib/cjs/presentation-common/KeySet.js +423 -423
  27. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  28. package/lib/cjs/presentation-common/LabelDefinition.d.ts +79 -79
  29. package/lib/cjs/presentation-common/LabelDefinition.js +76 -76
  30. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  31. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  32. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  33. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  34. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  35. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  36. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +256 -256
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  39. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  40. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +188 -188
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.js +107 -107
  42. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  43. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  44. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  45. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  46. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +83 -83
  47. package/lib/cjs/presentation-common/RpcRequestsHandler.js +161 -161
  48. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  49. package/lib/cjs/presentation-common/RulesetVariables.d.ts +166 -166
  50. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  51. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  52. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  53. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  54. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  55. package/lib/cjs/presentation-common/Update.d.ts +196 -196
  56. package/lib/cjs/presentation-common/Update.js +196 -196
  57. package/lib/cjs/presentation-common/Update.js.map +1 -1
  58. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  59. package/lib/cjs/presentation-common/Utils.js +43 -43
  60. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  61. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  62. package/lib/cjs/presentation-common/content/Category.js +49 -49
  63. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  64. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  65. package/lib/cjs/presentation-common/content/Content.js +56 -56
  66. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  67. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +101 -101
  68. package/lib/cjs/presentation-common/content/ContentTraverser.js +420 -420
  69. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  70. package/lib/cjs/presentation-common/content/Descriptor.d.ts +279 -279
  71. package/lib/cjs/presentation-common/content/Descriptor.js +195 -195
  72. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  73. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  74. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  75. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  76. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  77. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  78. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  79. package/lib/cjs/presentation-common/content/Fields.d.ts +282 -282
  80. package/lib/cjs/presentation-common/content/Fields.js +394 -394
  81. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  82. package/lib/cjs/presentation-common/content/Item.d.ts +87 -87
  83. package/lib/cjs/presentation-common/content/Item.js +86 -86
  84. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  85. package/lib/cjs/presentation-common/content/Property.d.ts +51 -51
  86. package/lib/cjs/presentation-common/content/Property.js +36 -36
  87. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  88. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  89. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  90. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  91. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  92. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  93. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  94. package/lib/cjs/presentation-common/content/Value.d.ts +157 -157
  95. package/lib/cjs/presentation-common/content/Value.js +217 -217
  96. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  97. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +30 -30
  98. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +23 -23
  99. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  100. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +185 -185
  101. package/lib/cjs/presentation-common/hierarchy/Key.js +112 -112
  102. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  103. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +149 -149
  104. package/lib/cjs/presentation-common/hierarchy/Node.js +97 -97
  105. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  106. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +85 -85
  107. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +98 -98
  108. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  109. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  110. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  111. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  112. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  113. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  114. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  116. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  117. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  118. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +53 -53
  119. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  120. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  121. package/lib/cjs/presentation-common/rules/Rule.d.ts +74 -74
  122. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  123. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +66 -66
  125. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  126. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  127. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  128. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  129. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  130. package/lib/cjs/presentation-common/rules/Variables.d.ts +55 -55
  131. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  132. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  134. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  135. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  137. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  138. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  140. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  141. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +55 -55
  143. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  144. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  145. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  146. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  147. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  148. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  149. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  150. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  151. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  152. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  153. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  154. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  155. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  156. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  157. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  158. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  159. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  160. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  161. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  162. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  163. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  164. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  165. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  166. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +105 -105
  167. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  168. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  169. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +93 -93
  170. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  171. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  172. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  173. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  174. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  175. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  176. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  177. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  178. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  179. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  180. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  181. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +200 -200
  182. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  183. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  184. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  185. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  186. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  187. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +156 -156
  188. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  189. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  190. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  191. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  192. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  193. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  194. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  195. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  196. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  197. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  198. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  199. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +15 -15
  200. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  201. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  202. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +97 -97
  203. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +22 -22
  204. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  205. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  206. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  207. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  208. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +76 -76
  209. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  210. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  211. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  212. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  213. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  214. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  215. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  216. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  217. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  218. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  219. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  220. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  221. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  222. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  223. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +17 -17
  224. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  225. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  226. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +36 -36
  227. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  228. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  229. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +25 -25
  230. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  231. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  232. package/lib/cjs/presentation-common.d.ts +112 -112
  233. package/lib/cjs/presentation-common.js +128 -128
  234. package/lib/cjs/presentation-common.js.map +1 -1
  235. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  236. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  237. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  238. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  239. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  240. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  241. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  242. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  243. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  244. package/lib/esm/presentation-common/EC.d.ts +315 -315
  245. package/lib/esm/presentation-common/EC.js +267 -267
  246. package/lib/esm/presentation-common/EC.js.map +1 -1
  247. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  248. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  249. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  250. package/lib/esm/presentation-common/Error.d.ts +45 -45
  251. package/lib/esm/presentation-common/Error.js +58 -58
  252. package/lib/esm/presentation-common/Error.js.map +1 -1
  253. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +59 -59
  254. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  255. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  256. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  257. package/lib/esm/presentation-common/KeySet.js +419 -419
  258. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  259. package/lib/esm/presentation-common/LabelDefinition.d.ts +79 -79
  260. package/lib/esm/presentation-common/LabelDefinition.js +73 -73
  261. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  262. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  263. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  264. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  265. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  266. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  267. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  268. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +256 -256
  269. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  270. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  271. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +188 -188
  272. package/lib/esm/presentation-common/PresentationRpcInterface.js +103 -103
  273. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  274. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  275. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  276. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  277. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +83 -83
  278. package/lib/esm/presentation-common/RpcRequestsHandler.js +157 -157
  279. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  280. package/lib/esm/presentation-common/RulesetVariables.d.ts +166 -166
  281. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  282. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  283. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  284. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  285. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  286. package/lib/esm/presentation-common/Update.d.ts +196 -196
  287. package/lib/esm/presentation-common/Update.js +193 -193
  288. package/lib/esm/presentation-common/Update.js.map +1 -1
  289. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  290. package/lib/esm/presentation-common/Utils.js +39 -39
  291. package/lib/esm/presentation-common/Utils.js.map +1 -1
  292. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  293. package/lib/esm/presentation-common/content/Category.js +46 -46
  294. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  295. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  296. package/lib/esm/presentation-common/content/Content.js +52 -52
  297. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  298. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +101 -101
  299. package/lib/esm/presentation-common/content/ContentTraverser.js +411 -411
  300. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  301. package/lib/esm/presentation-common/content/Descriptor.d.ts +279 -279
  302. package/lib/esm/presentation-common/content/Descriptor.js +191 -191
  303. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  304. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  305. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  306. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  307. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  308. package/lib/esm/presentation-common/content/Editor.js +8 -8
  309. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  310. package/lib/esm/presentation-common/content/Fields.d.ts +282 -282
  311. package/lib/esm/presentation-common/content/Fields.js +387 -387
  312. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  313. package/lib/esm/presentation-common/content/Item.d.ts +87 -87
  314. package/lib/esm/presentation-common/content/Item.js +82 -82
  315. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  316. package/lib/esm/presentation-common/content/Property.d.ts +51 -51
  317. package/lib/esm/presentation-common/content/Property.js +33 -33
  318. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  319. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  320. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  321. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  322. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  323. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  324. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  325. package/lib/esm/presentation-common/content/Value.d.ts +157 -157
  326. package/lib/esm/presentation-common/content/Value.js +214 -214
  327. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  328. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +30 -30
  329. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +20 -20
  330. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  331. package/lib/esm/presentation-common/hierarchy/Key.d.ts +185 -185
  332. package/lib/esm/presentation-common/hierarchy/Key.js +109 -109
  333. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  334. package/lib/esm/presentation-common/hierarchy/Node.d.ts +149 -149
  335. package/lib/esm/presentation-common/hierarchy/Node.js +94 -94
  336. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  337. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +85 -85
  338. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +95 -95
  339. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  340. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  341. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  342. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  343. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  344. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  345. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  346. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  347. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  348. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  349. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +53 -53
  350. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  351. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  352. package/lib/esm/presentation-common/rules/Rule.d.ts +74 -74
  353. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  354. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  355. package/lib/esm/presentation-common/rules/Ruleset.d.ts +66 -66
  356. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  357. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  358. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  359. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  360. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  361. package/lib/esm/presentation-common/rules/Variables.d.ts +55 -55
  362. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  363. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  364. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  365. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  366. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  367. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  368. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  369. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  370. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  371. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  372. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  373. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +55 -55
  374. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  375. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  376. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  377. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  378. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  379. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  380. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  381. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  382. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  383. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  384. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  385. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  386. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  387. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  388. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  389. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  390. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  391. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  392. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  393. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  394. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  395. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  396. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  397. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +105 -105
  398. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  399. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  400. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +93 -93
  401. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  402. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  403. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  404. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  405. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  406. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  407. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  408. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  409. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  410. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  411. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  412. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +200 -200
  413. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  414. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  415. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  416. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  417. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  418. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +156 -156
  419. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  420. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  421. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  422. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  423. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  424. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  425. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  426. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  427. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  428. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  429. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  430. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +15 -15
  431. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  432. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  433. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +97 -97
  434. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +19 -19
  435. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  436. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  437. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  438. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  439. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +76 -76
  440. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  441. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  442. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  443. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  444. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  445. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  446. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  447. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  448. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  449. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  450. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  451. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  452. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  453. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  454. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +17 -17
  455. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  456. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  457. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +36 -36
  458. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  459. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  460. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +25 -25
  461. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  462. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  463. package/lib/esm/presentation-common.d.ts +112 -112
  464. package/lib/esm/presentation-common.js +116 -116
  465. package/lib/esm/presentation-common.js.map +1 -1
  466. package/lib/public/locales/en/BisCore.json +18 -18
  467. package/lib/public/locales/en/ECPresentation.json +9 -9
  468. package/lib/public/locales/en/RulesEngine.json +5 -5
  469. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { assert } from \"@itwin/core-bentley\";\nimport { InstanceKey, InstanceKeyJSON } from \"../EC\";\n\n/**\n * Standard node types\n * @public\n */\nexport enum StandardNodeTypes {\n ECInstancesNode = \"ECInstancesNode\",\n ECClassGroupingNode = \"ECClassGroupingNode\",\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\n}\n\n/**\n * One of the node key types\n * @public\n */\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\n/** @public */\nexport namespace NodeKey { // eslint-disable-line @typescript-eslint/no-redeclare\n /** Serialize given [[NodeKey]] to JSON */\n export function toJSON(key: NodeKey): NodeKeyJSON {\n if (isInstancesNodeKey(key))\n return { ...key, instanceKeys: key.instanceKeys.map(InstanceKey.toJSON) };\n return { ...key };\n }\n\n /** Deserialize node key from JSON */\n export function fromJSON(json: NodeKeyJSON): NodeKey {\n if (isInstancesNodeKey(json))\n return { version: 1, ...json, instanceKeys: json.instanceKeys.map(InstanceKey.fromJSON) };\n return { version: 1, ...json };\n }\n\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey;\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\n export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\n export function isInstancesNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECInstancesNode;\n }\n\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey;\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\n export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\n export function isClassGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECClassGroupingNode;\n }\n\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey;\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\n export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\n export function isPropertyGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\n }\n\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey;\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\n export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\n export function isLabelGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\n }\n\n /** Checks if the supplied key is a grouping node key */\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey;\n /** Checks if the supplied key is a grouping node key */\n export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key);\n }\n\n /**\n * Checks if two given node keys are equal, taking their versions into account.\n *\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\n * which is the most accurate way of checking equality. However, when version are different,\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\n * label, grouping class, property name, etc.).\n */\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\n // types must always be equal\n if (lhs.type !== rhs.type)\n return false;\n\n // `pathFromRoot` lengths must always be equal\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length)\n return false;\n\n // when versions are equal, compare using contents of `pathFromRoot` array\n if (lhs.version === rhs.version) {\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i])\n return false;\n }\n return true;\n }\n\n // when versions aren't equal, compare using other key information, because key hashes\n // of different key versions can't be compared\n if (isInstancesNodeKey(lhs)) {\n assert(isInstancesNodeKey(rhs));\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length)\n return false;\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i]))\n return false;\n }\n return true;\n }\n if (isClassGroupingNodeKey(lhs)) {\n assert(isClassGroupingNodeKey(rhs));\n return lhs.className === rhs.className;\n }\n if (isPropertyGroupingNodeKey(lhs)) {\n assert(isPropertyGroupingNodeKey(rhs));\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\n }\n if (isLabelGroupingNodeKey(lhs)) {\n assert(isLabelGroupingNodeKey(rhs));\n return lhs.label === rhs.label;\n }\n return true;\n }\n}\n\n/**\n * Node key path. Can be used to define path from one node to another.\n * @public\n */\nexport type NodeKeyPath = NodeKey[];\n\n/**\n * Data structure that describes a basic node key\n * @public\n */\nexport interface BaseNodeKey {\n /** Node type */\n type: string;\n\n /**\n * Version of the key. Different versions suggest that node keys were created by two different\n * versions of the library. In that case, keys representing the same node may be different.\n */\n version: number;\n\n /** Node hash path from root to the node whose key this is */\n pathFromRoot: string[];\n}\n/**\n * Serialized [[BaseNodeKey]] JSON representation.\n * @public\n */\nexport interface BaseNodeKeyJSON {\n type: string;\n version?: number;\n pathFromRoot: string[];\n}\n\n/**\n * Data structure that describes a node ECInstance node key\n * @public\n */\nexport interface ECInstancesNodeKey extends BaseNodeKey {\n type: StandardNodeTypes.ECInstancesNode;\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\n instanceKeys: InstanceKey[];\n}\n/**\n * Serialized [[ECInstancesNodeKey]] JSON representation.\n * @public\n */\nexport interface ECInstancesNodeKeyJSON extends BaseNodeKeyJSON {\n type: StandardNodeTypes.ECInstancesNode;\n instanceKeys: InstanceKeyJSON[];\n}\n\n/**\n * Data structure that describes a grouping node key\n * @public\n */\nexport interface GroupingNodeKey extends BaseNodeKey {\n /**\n * Get the number of instances grouped by the node represented\n * by this key.\n *\n * **Note:** this property is just a helper and is not involved\n * in identifying a node.\n */\n groupedInstancesCount: number;\n}\n/**\n * Serialized [[GroupingNodeKey]] JSON representation.\n * @public\n */\nexport interface GroupingNodeKeyJSON extends BaseNodeKeyJSON {\n groupedInstancesCount: number;\n}\n\n/**\n * Data structure that describes an ECClass grouping node key\n * @public\n */\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECClassGroupingNode;\n /** Full name of the grouping ECClass */\n className: string;\n}\n/**\n * Serialized [[ECClassGroupingNodeKey]] JSON representation.\n * @public\n */\nexport interface ECClassGroupingNodeKeyJSON extends GroupingNodeKeyJSON {\n type: StandardNodeTypes.ECClassGroupingNode;\n className: string;\n}\n\n/**\n * Data structure that describes an ECProperty grouping node key\n * @public\n */\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n /** Full name of the grouping ECProperty class */\n className: string;\n /** Name of the ECProperty */\n propertyName: string;\n /** Raw grouping values */\n groupingValues: any[];\n}\n/**\n * Serialized [[ECPropertyGroupingNodeKey]] JSON representation.\n * @public\n */\nexport interface ECPropertyGroupingNodeKeyJSON extends GroupingNodeKeyJSON {\n type: StandardNodeTypes.ECPropertyGroupingNode;\n className: string;\n propertyName: string;\n groupingValues: any[];\n}\n\n/**\n * Data structure that describes a display label grouping node key\n * @public\n */\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n /** Grouping display label */\n label: string;\n}\n/**\n * Serialized [[LabelGroupingNodeKey]] JSON representation.\n * @public\n */\nexport interface LabelGroupingNodeKeyJSON extends GroupingNodeKeyJSON {\n type: StandardNodeTypes.DisplayLabelGroupingNode;\n label: string;\n}\n\n/**\n * One of the serialized node key types\n * @public\n */\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\n"]}
1
+ {"version":3,"file":"Key.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Key.ts"],"names":[],"mappings":"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","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 Hierarchies\r\n */\r\n\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { InstanceKey, InstanceKeyJSON } from \"../EC\";\r\n\r\n/**\r\n * Standard node types\r\n * @public\r\n */\r\nexport enum StandardNodeTypes {\r\n ECInstancesNode = \"ECInstancesNode\",\r\n ECClassGroupingNode = \"ECClassGroupingNode\",\r\n ECPropertyGroupingNode = \"ECPropertyGroupingNode\",\r\n DisplayLabelGroupingNode = \"DisplayLabelGroupingNode\",\r\n}\r\n\r\n/**\r\n * One of the node key types\r\n * @public\r\n */\r\nexport type NodeKey = BaseNodeKey | ECInstancesNodeKey | ECClassGroupingNodeKey | ECPropertyGroupingNodeKey | LabelGroupingNodeKey;\r\n/** @public */\r\nexport namespace NodeKey { // eslint-disable-line @typescript-eslint/no-redeclare\r\n /** Serialize given [[NodeKey]] to JSON */\r\n export function toJSON(key: NodeKey): NodeKeyJSON {\r\n if (isInstancesNodeKey(key))\r\n return { ...key, instanceKeys: key.instanceKeys.map(InstanceKey.toJSON) };\r\n return { ...key };\r\n }\r\n\r\n /** Deserialize node key from JSON */\r\n export function fromJSON(json: NodeKeyJSON): NodeKey {\r\n if (isInstancesNodeKey(json))\r\n return { version: 1, ...json, instanceKeys: json.instanceKeys.map(InstanceKey.fromJSON) };\r\n return { version: 1, ...json };\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\r\n export function isInstancesNodeKey(key: NodeKey): key is ECInstancesNodeKey;\r\n /** Checks if the supplied key is an [[ECInstancesNodeKey]] */\r\n export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\r\n export function isInstancesNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECInstancesNode;\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\r\n export function isClassGroupingNodeKey(key: NodeKey): key is ECClassGroupingNodeKey;\r\n /** Checks if the supplied key is an [[ECClassGroupingNodeKey]] */\r\n export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\r\n export function isClassGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECClassGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\r\n export function isPropertyGroupingNodeKey(key: NodeKey): key is ECPropertyGroupingNodeKey;\r\n /** Checks if the supplied key is an [[ECPropertyGroupingNodeKey]] */\r\n export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\r\n export function isPropertyGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.ECPropertyGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\r\n export function isLabelGroupingNodeKey(key: NodeKey): key is LabelGroupingNodeKey;\r\n /** Checks if the supplied key is a [[LabelGroupingNodeKey]] */\r\n export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\r\n export function isLabelGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return key.type === StandardNodeTypes.DisplayLabelGroupingNode;\r\n }\r\n\r\n /** Checks if the supplied key is a grouping node key */\r\n export function isGroupingNodeKey(key: NodeKey): key is GroupingNodeKey;\r\n /** Checks if the supplied key is a grouping node key */\r\n export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\r\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\r\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key);\r\n }\r\n\r\n /**\r\n * Checks if two given node keys are equal, taking their versions into account.\r\n *\r\n * When comparing two keys of the same version, the algorithm uses [[NodeKey.pathFromRoot]] array\r\n * which is the most accurate way of checking equality. However, when version are different,\r\n * [[NodeKey.pathFromRoot]] array may contain different strings even though keys represent the same node.\r\n * In that case equality is checked using other key attributes, depending on the type of the node (type,\r\n * label, grouping class, property name, etc.).\r\n */\r\n export function equals(lhs: NodeKey, rhs: NodeKey): boolean {\r\n // types must always be equal\r\n if (lhs.type !== rhs.type)\r\n return false;\r\n\r\n // `pathFromRoot` lengths must always be equal\r\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length)\r\n return false;\r\n\r\n // when versions are equal, compare using contents of `pathFromRoot` array\r\n if (lhs.version === rhs.version) {\r\n for (let i = 0; i < lhs.pathFromRoot.length; ++i) {\r\n if (lhs.pathFromRoot[i] !== rhs.pathFromRoot[i])\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n // when versions aren't equal, compare using other key information, because key hashes\r\n // of different key versions can't be compared\r\n if (isInstancesNodeKey(lhs)) {\r\n assert(isInstancesNodeKey(rhs));\r\n if (lhs.instanceKeys.length !== rhs.instanceKeys.length)\r\n return false;\r\n for (let i = 0; i < lhs.instanceKeys.length; ++i) {\r\n if (0 !== InstanceKey.compare(lhs.instanceKeys[i], rhs.instanceKeys[i]))\r\n return false;\r\n }\r\n return true;\r\n }\r\n if (isClassGroupingNodeKey(lhs)) {\r\n assert(isClassGroupingNodeKey(rhs));\r\n return lhs.className === rhs.className;\r\n }\r\n if (isPropertyGroupingNodeKey(lhs)) {\r\n assert(isPropertyGroupingNodeKey(rhs));\r\n return lhs.className === rhs.className && lhs.propertyName === rhs.propertyName;\r\n }\r\n if (isLabelGroupingNodeKey(lhs)) {\r\n assert(isLabelGroupingNodeKey(rhs));\r\n return lhs.label === rhs.label;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Node key path. Can be used to define path from one node to another.\r\n * @public\r\n */\r\nexport type NodeKeyPath = NodeKey[];\r\n\r\n/**\r\n * Data structure that describes a basic node key\r\n * @public\r\n */\r\nexport interface BaseNodeKey {\r\n /** Node type */\r\n type: string;\r\n\r\n /**\r\n * Version of the key. Different versions suggest that node keys were created by two different\r\n * versions of the library. In that case, keys representing the same node may be different.\r\n */\r\n version: number;\r\n\r\n /** Node hash path from root to the node whose key this is */\r\n pathFromRoot: string[];\r\n}\r\n/**\r\n * Serialized [[BaseNodeKey]] JSON representation.\r\n * @public\r\n */\r\nexport interface BaseNodeKeyJSON {\r\n type: string;\r\n version?: number;\r\n pathFromRoot: string[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a node ECInstance node key\r\n * @public\r\n */\r\nexport interface ECInstancesNodeKey extends BaseNodeKey {\r\n type: StandardNodeTypes.ECInstancesNode;\r\n /** List of [[InstanceKey]] objects of ECInstances represented by the node */\r\n instanceKeys: InstanceKey[];\r\n}\r\n/**\r\n * Serialized [[ECInstancesNodeKey]] JSON representation.\r\n * @public\r\n */\r\nexport interface ECInstancesNodeKeyJSON extends BaseNodeKeyJSON {\r\n type: StandardNodeTypes.ECInstancesNode;\r\n instanceKeys: InstanceKeyJSON[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a grouping node key\r\n * @public\r\n */\r\nexport interface GroupingNodeKey extends BaseNodeKey {\r\n /**\r\n * Get the number of instances grouped by the node represented\r\n * by this key.\r\n *\r\n * **Note:** this property is just a helper and is not involved\r\n * in identifying a node.\r\n */\r\n groupedInstancesCount: number;\r\n}\r\n/**\r\n * Serialized [[GroupingNodeKey]] JSON representation.\r\n * @public\r\n */\r\nexport interface GroupingNodeKeyJSON extends BaseNodeKeyJSON {\r\n groupedInstancesCount: number;\r\n}\r\n\r\n/**\r\n * Data structure that describes an ECClass grouping node key\r\n * @public\r\n */\r\nexport interface ECClassGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECClassGroupingNode;\r\n /** Full name of the grouping ECClass */\r\n className: string;\r\n}\r\n/**\r\n * Serialized [[ECClassGroupingNodeKey]] JSON representation.\r\n * @public\r\n */\r\nexport interface ECClassGroupingNodeKeyJSON extends GroupingNodeKeyJSON {\r\n type: StandardNodeTypes.ECClassGroupingNode;\r\n className: string;\r\n}\r\n\r\n/**\r\n * Data structure that describes an ECProperty grouping node key\r\n * @public\r\n */\r\nexport interface ECPropertyGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.ECPropertyGroupingNode;\r\n /** Full name of the grouping ECProperty class */\r\n className: string;\r\n /** Name of the ECProperty */\r\n propertyName: string;\r\n /** Raw grouping values */\r\n groupingValues: any[];\r\n}\r\n/**\r\n * Serialized [[ECPropertyGroupingNodeKey]] JSON representation.\r\n * @public\r\n */\r\nexport interface ECPropertyGroupingNodeKeyJSON extends GroupingNodeKeyJSON {\r\n type: StandardNodeTypes.ECPropertyGroupingNode;\r\n className: string;\r\n propertyName: string;\r\n groupingValues: any[];\r\n}\r\n\r\n/**\r\n * Data structure that describes a display label grouping node key\r\n * @public\r\n */\r\nexport interface LabelGroupingNodeKey extends GroupingNodeKey {\r\n type: StandardNodeTypes.DisplayLabelGroupingNode;\r\n /** Grouping display label */\r\n label: string;\r\n}\r\n/**\r\n * Serialized [[LabelGroupingNodeKey]] JSON representation.\r\n * @public\r\n */\r\nexport interface LabelGroupingNodeKeyJSON extends GroupingNodeKeyJSON {\r\n type: StandardNodeTypes.DisplayLabelGroupingNode;\r\n label: string;\r\n}\r\n\r\n/**\r\n * One of the serialized node key types\r\n * @public\r\n */\r\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\r\n"]}
@@ -1,150 +1,150 @@
1
- /** @packageDocumentation
2
- * @module Hierarchies
3
- */
4
- import { LabelDefinition, LabelDefinitionJSON } from "../LabelDefinition";
5
- import { NodeKey, NodeKeyJSON } from "./Key";
6
- /**
7
- * Data structure that describes a tree node.
8
- * @public
9
- */
10
- export interface Node {
11
- /** A key that uniquely identifies a node. */
12
- key: NodeKey;
13
- /** Definition of node display label */
14
- label: LabelDefinition;
15
- /** Extensive description */
16
- description?: string;
17
- /**
18
- * Image ID
19
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
20
- */
21
- imageId?: string;
22
- /**
23
- * Foreground color
24
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
25
- */
26
- foreColor?: string;
27
- /**
28
- * Background color
29
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
30
- */
31
- backColor?: string;
32
- /**
33
- * Font style
34
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
35
- */
36
- fontStyle?: string;
37
- /** Does this node have child nodes */
38
- hasChildren?: boolean;
39
- /** Is this node selectable */
40
- isSelectionDisabled?: boolean;
41
- /** Is this node editable */
42
- isEditable?: boolean;
43
- /** Is this node expanded */
44
- isExpanded?: boolean;
45
- /**
46
- * Is checkbox visible for this node
47
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
48
- */
49
- isCheckboxVisible?: boolean;
50
- /**
51
- * Is this node's checkbox checked
52
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
53
- */
54
- isChecked?: boolean;
55
- /**
56
- * Is this node's checkbox enabled
57
- * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
58
- */
59
- isCheckboxEnabled?: boolean;
60
- /**
61
- * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or
62
- * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.
63
- * @alpha
64
- */
65
- supportsFiltering?: boolean;
66
- /** Extended data injected into this node */
67
- extendedData?: {
68
- [key: string]: any;
69
- };
70
- }
71
- /**
72
- * Serialized [[Node]] JSON representation.
73
- * @public
74
- */
75
- export interface NodeJSON {
76
- key: NodeKeyJSON;
77
- labelDefinition: LabelDefinitionJSON;
78
- description?: string;
79
- /** @deprecated in 3.x. */
80
- imageId?: string;
81
- /** @deprecated in 3.x. */
82
- foreColor?: string;
83
- /** @deprecated in 3.x. */
84
- backColor?: string;
85
- /** @deprecated in 3.x. */
86
- fontStyle?: string;
87
- hasChildren?: boolean;
88
- isSelectionDisabled?: boolean;
89
- isEditable?: boolean;
90
- isExpanded?: boolean;
91
- /** @deprecated in 3.x. */
92
- isCheckboxVisible?: boolean;
93
- /** @deprecated in 3.x. */
94
- isChecked?: boolean;
95
- /** @deprecated in 3.x. */
96
- isCheckboxEnabled?: boolean;
97
- /** @alpha */
98
- supportsFiltering?: boolean;
99
- extendedData?: {
100
- [key: string]: any;
101
- };
102
- }
103
- /**
104
- * Partial node definition.
105
- * @public
106
- */
107
- export declare type PartialNode = AllOrNone<Partial<Node>, "key" | "label">;
108
- /**
109
- * Serialized [[PartialNode]] JSON representation.
110
- * @public
111
- */
112
- export declare type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, "key" | "labelDefinition">;
113
- declare type AllOrNone<T, P extends keyof T> = Omit<T, P> & ({
114
- [K in P]?: never;
115
- } | Required<Pick<T, P>>);
116
- /** @public */
117
- export declare namespace Node {
118
- /** Serialize given [[Node]] to JSON */
119
- function toJSON(node: Node): NodeJSON;
120
- /** @internal */
121
- function toPartialJSON(node: PartialNode): PartialNodeJSON;
122
- /** Deserialize [[Node]] from JSON */
123
- function fromJSON(json: NodeJSON | string): Node;
124
- /** @internal */
125
- function fromPartialJSON(json: PartialNodeJSON): PartialNode;
126
- /**
127
- * Reviver function that can be used as a second argument for
128
- * `JSON.parse` method when parsing [[Node]] objects.
129
- *
130
- * @internal
131
- */
132
- function reviver(key: string, value: any): any;
133
- /**
134
- * Deserialize nodes list from JSON
135
- * @param json JSON or JSON serialized to string to deserialize from
136
- * @returns Deserialized nodes list
137
- *
138
- * @internal
139
- */
140
- function listFromJSON(json: NodeJSON[] | string): Node[];
141
- /**
142
- * Reviver function that can be used as a second argument for
143
- * `JSON.parse` method when parsing [[Node]][] objects.
144
- *
145
- * @internal
146
- */
147
- function listReviver(key: string, value: any): any;
148
- }
149
- export {};
1
+ /** @packageDocumentation
2
+ * @module Hierarchies
3
+ */
4
+ import { LabelDefinition, LabelDefinitionJSON } from "../LabelDefinition";
5
+ import { NodeKey, NodeKeyJSON } from "./Key";
6
+ /**
7
+ * Data structure that describes a tree node.
8
+ * @public
9
+ */
10
+ export interface Node {
11
+ /** A key that uniquely identifies a node. */
12
+ key: NodeKey;
13
+ /** Definition of node display label */
14
+ label: LabelDefinition;
15
+ /** Extensive description */
16
+ description?: string;
17
+ /**
18
+ * Image ID
19
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
20
+ */
21
+ imageId?: string;
22
+ /**
23
+ * Foreground color
24
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
25
+ */
26
+ foreColor?: string;
27
+ /**
28
+ * Background color
29
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
30
+ */
31
+ backColor?: string;
32
+ /**
33
+ * Font style
34
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
35
+ */
36
+ fontStyle?: string;
37
+ /** Does this node have child nodes */
38
+ hasChildren?: boolean;
39
+ /** Is this node selectable */
40
+ isSelectionDisabled?: boolean;
41
+ /** Is this node editable */
42
+ isEditable?: boolean;
43
+ /** Is this node expanded */
44
+ isExpanded?: boolean;
45
+ /**
46
+ * Is checkbox visible for this node
47
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
48
+ */
49
+ isCheckboxVisible?: boolean;
50
+ /**
51
+ * Is this node's checkbox checked
52
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
53
+ */
54
+ isChecked?: boolean;
55
+ /**
56
+ * Is this node's checkbox enabled
57
+ * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.
58
+ */
59
+ isCheckboxEnabled?: boolean;
60
+ /**
61
+ * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or
62
+ * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.
63
+ * @alpha
64
+ */
65
+ supportsFiltering?: boolean;
66
+ /** Extended data injected into this node */
67
+ extendedData?: {
68
+ [key: string]: any;
69
+ };
70
+ }
71
+ /**
72
+ * Serialized [[Node]] JSON representation.
73
+ * @public
74
+ */
75
+ export interface NodeJSON {
76
+ key: NodeKeyJSON;
77
+ labelDefinition: LabelDefinitionJSON;
78
+ description?: string;
79
+ /** @deprecated in 3.x. */
80
+ imageId?: string;
81
+ /** @deprecated in 3.x. */
82
+ foreColor?: string;
83
+ /** @deprecated in 3.x. */
84
+ backColor?: string;
85
+ /** @deprecated in 3.x. */
86
+ fontStyle?: string;
87
+ hasChildren?: boolean;
88
+ isSelectionDisabled?: boolean;
89
+ isEditable?: boolean;
90
+ isExpanded?: boolean;
91
+ /** @deprecated in 3.x. */
92
+ isCheckboxVisible?: boolean;
93
+ /** @deprecated in 3.x. */
94
+ isChecked?: boolean;
95
+ /** @deprecated in 3.x. */
96
+ isCheckboxEnabled?: boolean;
97
+ /** @alpha */
98
+ supportsFiltering?: boolean;
99
+ extendedData?: {
100
+ [key: string]: any;
101
+ };
102
+ }
103
+ /**
104
+ * Partial node definition.
105
+ * @public
106
+ */
107
+ export declare type PartialNode = AllOrNone<Partial<Node>, "key" | "label">;
108
+ /**
109
+ * Serialized [[PartialNode]] JSON representation.
110
+ * @public
111
+ */
112
+ export declare type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, "key" | "labelDefinition">;
113
+ declare type AllOrNone<T, P extends keyof T> = Omit<T, P> & ({
114
+ [K in P]?: never;
115
+ } | Required<Pick<T, P>>);
116
+ /** @public */
117
+ export declare namespace Node {
118
+ /** Serialize given [[Node]] to JSON */
119
+ function toJSON(node: Node): NodeJSON;
120
+ /** @internal */
121
+ function toPartialJSON(node: PartialNode): PartialNodeJSON;
122
+ /** Deserialize [[Node]] from JSON */
123
+ function fromJSON(json: NodeJSON | string): Node;
124
+ /** @internal */
125
+ function fromPartialJSON(json: PartialNodeJSON): PartialNode;
126
+ /**
127
+ * Reviver function that can be used as a second argument for
128
+ * `JSON.parse` method when parsing [[Node]] objects.
129
+ *
130
+ * @internal
131
+ */
132
+ function reviver(key: string, value: any): any;
133
+ /**
134
+ * Deserialize nodes list from JSON
135
+ * @param json JSON or JSON serialized to string to deserialize from
136
+ * @returns Deserialized nodes list
137
+ *
138
+ * @internal
139
+ */
140
+ function listFromJSON(json: NodeJSON[] | string): Node[];
141
+ /**
142
+ * Reviver function that can be used as a second argument for
143
+ * `JSON.parse` method when parsing [[Node]][] objects.
144
+ *
145
+ * @internal
146
+ */
147
+ function listReviver(key: string, value: any): any;
148
+ }
149
+ export {};
150
150
  //# sourceMappingURL=Node.d.ts.map
@@ -1,98 +1,98 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Hierarchies
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Node = void 0;
11
- const LabelDefinition_1 = require("../LabelDefinition");
12
- const Key_1 = require("./Key");
13
- /** @public */
14
- var Node;
15
- (function (Node) {
16
- /** Serialize given [[Node]] to JSON */
17
- function toJSON(node) {
18
- const { key, label, ...baseNode } = node;
19
- return {
20
- ...baseNode,
21
- key: Key_1.NodeKey.toJSON(key),
22
- labelDefinition: LabelDefinition_1.LabelDefinition.toJSON(label),
23
- };
24
- }
25
- Node.toJSON = toJSON;
26
- /** @internal */
27
- function toPartialJSON(node) {
28
- if (node.key === undefined) {
29
- return node;
30
- }
31
- const { key, label, ...baseNode } = node;
32
- return {
33
- ...baseNode,
34
- key: Key_1.NodeKey.toJSON(key),
35
- labelDefinition: LabelDefinition_1.LabelDefinition.toJSON(label),
36
- };
37
- }
38
- Node.toPartialJSON = toPartialJSON;
39
- /** Deserialize [[Node]] from JSON */
40
- function fromJSON(json) {
41
- if (typeof json === "string")
42
- return JSON.parse(json, reviver);
43
- const { labelDefinition, ...baseJson } = json;
44
- return {
45
- ...baseJson,
46
- key: Key_1.NodeKey.fromJSON(json.key),
47
- label: LabelDefinition_1.LabelDefinition.fromJSON(labelDefinition),
48
- };
49
- }
50
- Node.fromJSON = fromJSON;
51
- /** @internal */
52
- function fromPartialJSON(json) {
53
- if (json.key === undefined) {
54
- return json;
55
- }
56
- const { key, labelDefinition, ...baseJson } = json;
57
- return {
58
- ...baseJson,
59
- key: Key_1.NodeKey.fromJSON(key),
60
- label: LabelDefinition_1.LabelDefinition.fromJSON(labelDefinition),
61
- };
62
- }
63
- Node.fromPartialJSON = fromPartialJSON;
64
- /**
65
- * Reviver function that can be used as a second argument for
66
- * `JSON.parse` method when parsing [[Node]] objects.
67
- *
68
- * @internal
69
- */
70
- function reviver(key, value) {
71
- return key === "" ? fromJSON(value) : value;
72
- }
73
- Node.reviver = reviver;
74
- /**
75
- * Deserialize nodes list from JSON
76
- * @param json JSON or JSON serialized to string to deserialize from
77
- * @returns Deserialized nodes list
78
- *
79
- * @internal
80
- */
81
- function listFromJSON(json) {
82
- if (typeof json === "string")
83
- return JSON.parse(json, listReviver);
84
- return json.map((m) => fromJSON(m));
85
- }
86
- Node.listFromJSON = listFromJSON;
87
- /**
88
- * Reviver function that can be used as a second argument for
89
- * `JSON.parse` method when parsing [[Node]][] objects.
90
- *
91
- * @internal
92
- */
93
- function listReviver(key, value) {
94
- return key === "" ? listFromJSON(value) : value;
95
- }
96
- Node.listReviver = listReviver;
97
- })(Node = exports.Node || (exports.Node = {}));
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Hierarchies
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Node = void 0;
11
+ const LabelDefinition_1 = require("../LabelDefinition");
12
+ const Key_1 = require("./Key");
13
+ /** @public */
14
+ var Node;
15
+ (function (Node) {
16
+ /** Serialize given [[Node]] to JSON */
17
+ function toJSON(node) {
18
+ const { key, label, ...baseNode } = node;
19
+ return {
20
+ ...baseNode,
21
+ key: Key_1.NodeKey.toJSON(key),
22
+ labelDefinition: LabelDefinition_1.LabelDefinition.toJSON(label),
23
+ };
24
+ }
25
+ Node.toJSON = toJSON;
26
+ /** @internal */
27
+ function toPartialJSON(node) {
28
+ if (node.key === undefined) {
29
+ return node;
30
+ }
31
+ const { key, label, ...baseNode } = node;
32
+ return {
33
+ ...baseNode,
34
+ key: Key_1.NodeKey.toJSON(key),
35
+ labelDefinition: LabelDefinition_1.LabelDefinition.toJSON(label),
36
+ };
37
+ }
38
+ Node.toPartialJSON = toPartialJSON;
39
+ /** Deserialize [[Node]] from JSON */
40
+ function fromJSON(json) {
41
+ if (typeof json === "string")
42
+ return JSON.parse(json, reviver);
43
+ const { labelDefinition, ...baseJson } = json;
44
+ return {
45
+ ...baseJson,
46
+ key: Key_1.NodeKey.fromJSON(json.key),
47
+ label: LabelDefinition_1.LabelDefinition.fromJSON(labelDefinition),
48
+ };
49
+ }
50
+ Node.fromJSON = fromJSON;
51
+ /** @internal */
52
+ function fromPartialJSON(json) {
53
+ if (json.key === undefined) {
54
+ return json;
55
+ }
56
+ const { key, labelDefinition, ...baseJson } = json;
57
+ return {
58
+ ...baseJson,
59
+ key: Key_1.NodeKey.fromJSON(key),
60
+ label: LabelDefinition_1.LabelDefinition.fromJSON(labelDefinition),
61
+ };
62
+ }
63
+ Node.fromPartialJSON = fromPartialJSON;
64
+ /**
65
+ * Reviver function that can be used as a second argument for
66
+ * `JSON.parse` method when parsing [[Node]] objects.
67
+ *
68
+ * @internal
69
+ */
70
+ function reviver(key, value) {
71
+ return key === "" ? fromJSON(value) : value;
72
+ }
73
+ Node.reviver = reviver;
74
+ /**
75
+ * Deserialize nodes list from JSON
76
+ * @param json JSON or JSON serialized to string to deserialize from
77
+ * @returns Deserialized nodes list
78
+ *
79
+ * @internal
80
+ */
81
+ function listFromJSON(json) {
82
+ if (typeof json === "string")
83
+ return JSON.parse(json, listReviver);
84
+ return json.map((m) => fromJSON(m));
85
+ }
86
+ Node.listFromJSON = listFromJSON;
87
+ /**
88
+ * Reviver function that can be used as a second argument for
89
+ * `JSON.parse` method when parsing [[Node]][] objects.
90
+ *
91
+ * @internal
92
+ */
93
+ function listReviver(key, value) {
94
+ return key === "" ? listFromJSON(value) : value;
95
+ }
96
+ Node.listReviver = listReviver;
97
+ })(Node = exports.Node || (exports.Node = {}));
98
98
  //# sourceMappingURL=Node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Hierarchies\n */\n\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\n\n/**\n * Data structure that describes a tree node.\n * @public\n */\nexport interface Node {\n /** A key that uniquely identifies a node. */\n key: NodeKey;\n /** Definition of node display label */\n label: LabelDefinition;\n /** Extensive description */\n description?: string;\n /**\n * Image ID\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n imageId?: string;\n /**\n * Foreground color\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n foreColor?: string;\n /**\n * Background color\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n backColor?: string;\n /**\n * Font style\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n fontStyle?: string;\n /** Does this node have child nodes */\n hasChildren?: boolean;\n /** Is this node selectable */\n isSelectionDisabled?: boolean;\n /** Is this node editable */\n isEditable?: boolean;\n /** Is this node expanded */\n isExpanded?: boolean;\n /**\n * Is checkbox visible for this node\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isCheckboxVisible?: boolean;\n /**\n * Is this node's checkbox checked\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isChecked?: boolean;\n /**\n * Is this node's checkbox enabled\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\n */\n isCheckboxEnabled?: boolean;\n /**\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\n * @alpha\n */\n supportsFiltering?: boolean;\n /** Extended data injected into this node */\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Serialized [[Node]] JSON representation.\n * @public\n */\nexport interface NodeJSON {\n key: NodeKeyJSON;\n labelDefinition: LabelDefinitionJSON;\n description?: string;\n /** @deprecated in 3.x. */\n imageId?: string;\n /** @deprecated in 3.x. */\n foreColor?: string;\n /** @deprecated in 3.x. */\n backColor?: string;\n /** @deprecated in 3.x. */\n fontStyle?: string;\n hasChildren?: boolean;\n isSelectionDisabled?: boolean;\n isEditable?: boolean;\n isExpanded?: boolean;\n /** @deprecated in 3.x. */\n isCheckboxVisible?: boolean;\n /** @deprecated in 3.x. */\n isChecked?: boolean;\n /** @deprecated in 3.x. */\n isCheckboxEnabled?: boolean;\n /** @alpha */\n supportsFiltering?: boolean;\n extendedData?: {\n [key: string]: any;\n };\n}\n\n/**\n * Partial node definition.\n * @public\n */\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\n\n/**\n * Serialized [[PartialNode]] JSON representation.\n * @public\n */\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\n\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\n\n/** @public */\nexport namespace Node {\n /** Serialize given [[Node]] to JSON */\n export function toJSON(node: Node): NodeJSON {\n const { key, label, ...baseNode } = node;\n return {\n ...baseNode,\n key: NodeKey.toJSON(key),\n labelDefinition: LabelDefinition.toJSON(label),\n };\n }\n\n /** @internal */\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\n if (node.key === undefined) {\n return node;\n }\n\n const { key, label, ...baseNode } = node;\n return {\n ...baseNode,\n key: NodeKey.toJSON(key),\n labelDefinition: LabelDefinition.toJSON(label),\n };\n }\n\n /** Deserialize [[Node]] from JSON */\n export function fromJSON(json: NodeJSON | string): Node {\n if (typeof json === \"string\")\n return JSON.parse(json, reviver);\n const { labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n key: NodeKey.fromJSON(json.key),\n label: LabelDefinition.fromJSON(labelDefinition),\n };\n }\n\n /** @internal */\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\n if (json.key === undefined) {\n return json;\n }\n\n const { key, labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n key: NodeKey.fromJSON(key),\n label: LabelDefinition.fromJSON(labelDefinition),\n };\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[Node]] objects.\n *\n * @internal\n */\n export function reviver(key: string, value: any): any {\n return key === \"\" ? fromJSON(value) : value;\n }\n\n /**\n * Deserialize nodes list from JSON\n * @param json JSON or JSON serialized to string to deserialize from\n * @returns Deserialized nodes list\n *\n * @internal\n */\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\n if (typeof json === \"string\")\n return JSON.parse(json, listReviver);\n return json.map((m) => fromJSON(m));\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[Node]][] objects.\n *\n * @internal\n */\n export function listReviver(key: string, value: any): any {\n return key === \"\" ? listFromJSON(value) : value;\n }\n}\n"]}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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","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 Hierarchies\r\n */\r\n\r\nimport { LabelDefinition, LabelDefinitionJSON } from \"../LabelDefinition\";\r\nimport { NodeKey, NodeKeyJSON } from \"./Key\";\r\n\r\n/**\r\n * Data structure that describes a tree node.\r\n * @public\r\n */\r\nexport interface Node {\r\n /** A key that uniquely identifies a node. */\r\n key: NodeKey;\r\n /** Definition of node display label */\r\n label: LabelDefinition;\r\n /** Extensive description */\r\n description?: string;\r\n /**\r\n * Image ID\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n imageId?: string;\r\n /**\r\n * Foreground color\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n foreColor?: string;\r\n /**\r\n * Background color\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n backColor?: string;\r\n /**\r\n * Font style\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n fontStyle?: string;\r\n /** Does this node have child nodes */\r\n hasChildren?: boolean;\r\n /** Is this node selectable */\r\n isSelectionDisabled?: boolean;\r\n /** Is this node editable */\r\n isEditable?: boolean;\r\n /** Is this node expanded */\r\n isExpanded?: boolean;\r\n /**\r\n * Is checkbox visible for this node\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxVisible?: boolean;\r\n /**\r\n * Is this node's checkbox checked\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isChecked?: boolean;\r\n /**\r\n * Is this node's checkbox enabled\r\n * @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details.\r\n */\r\n isCheckboxEnabled?: boolean;\r\n /**\r\n * Identifies whether the hierarchy level below this node supports filtering. If not, requesting either a hierarchy level descriptor or\r\n * a hierarchy level with [[HierarchyRequestOptions.instanceFilter]] will throw an error with [[PresentationStatus.InvalidArgument]] status.\r\n * @alpha\r\n */\r\n supportsFiltering?: boolean;\r\n /** Extended data injected into this node */\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Serialized [[Node]] JSON representation.\r\n * @public\r\n */\r\nexport interface NodeJSON {\r\n key: NodeKeyJSON;\r\n labelDefinition: LabelDefinitionJSON;\r\n description?: string;\r\n /** @deprecated in 3.x. */\r\n imageId?: string;\r\n /** @deprecated in 3.x. */\r\n foreColor?: string;\r\n /** @deprecated in 3.x. */\r\n backColor?: string;\r\n /** @deprecated in 3.x. */\r\n fontStyle?: string;\r\n hasChildren?: boolean;\r\n isSelectionDisabled?: boolean;\r\n isEditable?: boolean;\r\n isExpanded?: boolean;\r\n /** @deprecated in 3.x. */\r\n isCheckboxVisible?: boolean;\r\n /** @deprecated in 3.x. */\r\n isChecked?: boolean;\r\n /** @deprecated in 3.x. */\r\n isCheckboxEnabled?: boolean;\r\n /** @alpha */\r\n supportsFiltering?: boolean;\r\n extendedData?: {\r\n [key: string]: any;\r\n };\r\n}\r\n\r\n/**\r\n * Partial node definition.\r\n * @public\r\n */\r\nexport type PartialNode = AllOrNone<Partial<Node>, \"key\" | \"label\">;\r\n\r\n/**\r\n * Serialized [[PartialNode]] JSON representation.\r\n * @public\r\n */\r\nexport type PartialNodeJSON = AllOrNone<Partial<NodeJSON>, \"key\" | \"labelDefinition\">;\r\n\r\ntype AllOrNone<T, P extends keyof T> = Omit<T, P> & ({ [K in P]?: never } | Required<Pick<T, P>>);\r\n\r\n/** @public */\r\nexport namespace Node {\r\n /** Serialize given [[Node]] to JSON */\r\n export function toJSON(node: Node): NodeJSON {\r\n const { key, label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n key: NodeKey.toJSON(key),\r\n labelDefinition: LabelDefinition.toJSON(label),\r\n };\r\n }\r\n\r\n /** @internal */\r\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\r\n if (node.key === undefined) {\r\n return node;\r\n }\r\n\r\n const { key, label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n key: NodeKey.toJSON(key),\r\n labelDefinition: LabelDefinition.toJSON(label),\r\n };\r\n }\r\n\r\n /** Deserialize [[Node]] from JSON */\r\n export function fromJSON(json: NodeJSON | string): Node {\r\n if (typeof json === \"string\")\r\n return JSON.parse(json, reviver);\r\n const { labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n key: NodeKey.fromJSON(json.key),\r\n label: LabelDefinition.fromJSON(labelDefinition),\r\n };\r\n }\r\n\r\n /** @internal */\r\n export function fromPartialJSON(json: PartialNodeJSON): PartialNode {\r\n if (json.key === undefined) {\r\n return json;\r\n }\r\n\r\n const { key, labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n key: NodeKey.fromJSON(key),\r\n label: LabelDefinition.fromJSON(labelDefinition),\r\n };\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 [[Node]] objects.\r\n *\r\n * @internal\r\n */\r\n export function reviver(key: string, value: any): any {\r\n return key === \"\" ? fromJSON(value) : value;\r\n }\r\n\r\n /**\r\n * Deserialize nodes list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized nodes list\r\n *\r\n * @internal\r\n */\r\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\r\n if (typeof json === \"string\")\r\n return JSON.parse(json, listReviver);\r\n return json.map((m) => fromJSON(m));\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 [[Node]][] objects.\r\n *\r\n * @internal\r\n */\r\n export function listReviver(key: string, value: any): any {\r\n return key === \"\" ? listFromJSON(value) : value;\r\n }\r\n}\r\n"]}