@itwin/presentation-common 4.0.0-dev.28 → 4.0.0-dev.30

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