@itwin/presentation-common 4.10.0-dev.8 → 4.10.0

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 (234) hide show
  1. package/CHANGELOG.md +35 -1
  2. package/lib/cjs/assets/locales/en/Presentation.json +19 -19
  3. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  4. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  5. package/lib/cjs/presentation-common/Diagnostics.js +3 -3
  6. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  7. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  8. package/lib/cjs/presentation-common/EC.js +4 -4
  9. package/lib/cjs/presentation-common/EC.js.map +1 -1
  10. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  11. package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
  12. package/lib/cjs/presentation-common/Error.js +0 -1
  13. package/lib/cjs/presentation-common/Error.js.map +1 -1
  14. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  15. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  16. package/lib/cjs/presentation-common/KeySet.js +16 -13
  17. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  18. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  19. package/lib/cjs/presentation-common/LabelDefinition.js +4 -4
  20. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  21. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  22. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  23. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +3 -3
  24. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  25. package/lib/cjs/presentation-common/PresentationManagerOptions.js +2 -3
  26. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  27. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +17 -0
  28. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  29. package/lib/cjs/presentation-common/PresentationRpcInterface.js +21 -5
  30. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  31. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  32. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  33. package/lib/cjs/presentation-common/RpcRequestsHandler.js +18 -6
  34. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  35. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  36. package/lib/cjs/presentation-common/RulesetsFactory.js +0 -1
  37. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  38. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  39. package/lib/cjs/presentation-common/Update.js +14 -14
  40. package/lib/cjs/presentation-common/Update.js.map +1 -1
  41. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  42. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  43. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  44. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  45. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +1 -1
  46. package/lib/cjs/presentation-common/content/ContentTraverser.js +10 -10
  47. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  48. package/lib/cjs/presentation-common/content/Descriptor.js +6 -6
  49. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  50. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +1 -1
  51. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts.map +1 -1
  52. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  53. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  54. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  55. package/lib/cjs/presentation-common/content/Fields.js +2 -2
  56. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  57. package/lib/cjs/presentation-common/content/Item.js +7 -7
  58. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  59. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  60. package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  61. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +4 -0
  62. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  63. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  64. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  65. package/lib/cjs/presentation-common/content/Value.js +34 -34
  66. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  67. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +2 -2
  68. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  69. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  70. package/lib/cjs/presentation-common/hierarchy/Key.js +8 -8
  71. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  72. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  73. package/lib/cjs/presentation-common/hierarchy/Node.js +9 -9
  74. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  75. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +13 -13
  76. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  77. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  78. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  79. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  80. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  81. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  82. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  83. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  84. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  85. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  86. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  87. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  88. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  89. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  90. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  91. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  92. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  93. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  94. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  95. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  96. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  97. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  98. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  99. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  100. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  101. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  102. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  103. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  104. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  105. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  106. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  107. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  108. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  109. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  110. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  111. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  112. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  113. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  114. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  116. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  117. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  118. package/lib/cjs/presentation-common.js.map +1 -1
  119. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  120. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  121. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  122. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  123. package/lib/esm/presentation-common/EC.js +4 -4
  124. package/lib/esm/presentation-common/EC.js.map +1 -1
  125. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  126. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  127. package/lib/esm/presentation-common/Error.js +0 -1
  128. package/lib/esm/presentation-common/Error.js.map +1 -1
  129. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  130. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  131. package/lib/esm/presentation-common/KeySet.js +16 -13
  132. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  133. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  134. package/lib/esm/presentation-common/LabelDefinition.js +4 -4
  135. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  136. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  137. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  138. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +3 -3
  139. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  140. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  141. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +17 -0
  142. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  143. package/lib/esm/presentation-common/PresentationRpcInterface.js +21 -5
  144. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  145. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  146. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  147. package/lib/esm/presentation-common/RpcRequestsHandler.js +18 -6
  148. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  149. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  150. package/lib/esm/presentation-common/RulesetsFactory.js +0 -1
  151. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  152. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  153. package/lib/esm/presentation-common/Update.js +14 -14
  154. package/lib/esm/presentation-common/Update.js.map +1 -1
  155. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  156. package/lib/esm/presentation-common/Utils.js.map +1 -1
  157. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  158. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  159. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +1 -1
  160. package/lib/esm/presentation-common/content/ContentTraverser.js +2 -2
  161. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  162. package/lib/esm/presentation-common/content/Descriptor.js +6 -6
  163. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  164. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +1 -1
  165. package/lib/esm/presentation-common/content/DisplayTypes.d.ts.map +1 -1
  166. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  167. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  168. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  169. package/lib/esm/presentation-common/content/Fields.js +2 -2
  170. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  171. package/lib/esm/presentation-common/content/Item.js +7 -7
  172. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  173. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  174. package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  175. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +4 -0
  176. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  177. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  178. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  179. package/lib/esm/presentation-common/content/Value.js +34 -34
  180. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  181. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +2 -2
  182. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  183. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  184. package/lib/esm/presentation-common/hierarchy/Key.js +8 -8
  185. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  186. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  187. package/lib/esm/presentation-common/hierarchy/Node.js +9 -9
  188. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  189. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +13 -13
  190. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  191. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  192. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  193. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  194. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  195. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  196. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  197. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  198. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  199. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  200. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  201. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  202. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  203. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  204. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  205. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  206. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  207. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  208. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  209. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  210. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  211. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  212. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  213. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  214. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  215. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  216. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  217. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  218. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  219. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  220. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  221. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  222. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  223. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  224. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  225. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  226. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  227. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  228. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  229. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  230. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  231. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  232. package/lib/esm/presentation-common.js.map +1 -1
  233. package/lib/public/locales/en/Presentation.json +19 -19
  234. package/package.json +14 -14
@@ -26,7 +26,7 @@ export var NodeKey;
26
26
  * Serialize given [[NodeKey]] to JSON
27
27
  * @deprecated in 3.x. Use [[NodeKey]].
28
28
  */
29
- // eslint-disable-next-line deprecation/deprecation
29
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
30
30
  function toJSON(key) {
31
31
  return { ...key };
32
32
  }
@@ -35,34 +35,34 @@ export var NodeKey;
35
35
  * Deserialize node key from JSON
36
36
  * @deprecated in 3.x. Use [[NodeKey]].
37
37
  */
38
- // eslint-disable-next-line deprecation/deprecation
38
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
39
39
  function fromJSON(json) {
40
40
  return { version: 1, ...json };
41
41
  }
42
42
  NodeKey.fromJSON = fromJSON;
43
- // eslint-disable-next-line deprecation/deprecation
43
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
44
44
  function isInstancesNodeKey(key) {
45
45
  return key.type === StandardNodeTypes.ECInstancesNode;
46
46
  }
47
47
  NodeKey.isInstancesNodeKey = isInstancesNodeKey;
48
- // eslint-disable-next-line deprecation/deprecation
48
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
49
49
  function isClassGroupingNodeKey(key) {
50
50
  return key.type === StandardNodeTypes.ECClassGroupingNode;
51
51
  }
52
52
  NodeKey.isClassGroupingNodeKey = isClassGroupingNodeKey;
53
- // eslint-disable-next-line deprecation/deprecation
53
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
54
54
  function isPropertyGroupingNodeKey(key) {
55
55
  return key.type === StandardNodeTypes.ECPropertyGroupingNode;
56
56
  }
57
57
  NodeKey.isPropertyGroupingNodeKey = isPropertyGroupingNodeKey;
58
- // eslint-disable-next-line deprecation/deprecation
58
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
59
59
  function isLabelGroupingNodeKey(key) {
60
60
  return key.type === StandardNodeTypes.DisplayLabelGroupingNode;
61
61
  }
62
62
  NodeKey.isLabelGroupingNodeKey = isLabelGroupingNodeKey;
63
- // eslint-disable-next-line deprecation/deprecation
63
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
64
64
  function isGroupingNodeKey(key) {
65
- return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line deprecation/deprecation
65
+ return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line @typescript-eslint/no-deprecated
66
66
  }
67
67
  NodeKey.isGroupingNodeKey = isGroupingNodeKey;
68
68
  /**
@@ -1 +1 @@
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\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace NodeKey {\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); // eslint-disable-line deprecation/deprecation\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\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\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 }\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 }\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 }\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 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 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 * @public\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/**\r\n * Defines an [[Id64String]] value binding.\r\n * @public\r\n */\r\nexport interface IdBinding {\r\n type: \"Id\";\r\n value: Id64String;\r\n}\r\n\r\n/**\r\n * Defines an [[IdSet]] value binding for use with `InVirtualSet` ECSQL function.\r\n * @public\r\n */\r\nexport interface IdSetBinding {\r\n type: \"IdSet\";\r\n value: Id64String[];\r\n}\r\n\r\n/**\r\n * Defines an EC value binding.\r\n * @public\r\n */\r\nexport interface ECValueBinding {\r\n type: \"ECValue\";\r\n valueType: string;\r\n valueTypeExtended?: string;\r\n value: any;\r\n}\r\n\r\n/**\r\n * Defines a binding for a list of EC values for use with `InVirtualSet` ECSQL function.\r\n * @public\r\n */\r\nexport interface ECValueSetBinding {\r\n type: \"ValueSet\";\r\n valueType: string;\r\n valueTypeExtended?: string;\r\n value: any[];\r\n}\r\n\r\n/**\r\n * One of the [[PresentationQuery]] binding types.\r\n * @public\r\n */\r\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\r\n"]}
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 */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace NodeKey {\n /**\n * Serialize given [[NodeKey]] to JSON\n * @deprecated in 3.x. Use [[NodeKey]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 @typescript-eslint/no-deprecated\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 export function isInstancesNodeKey(key: NodeKeyJSON): key is ECInstancesNodeKeyJSON;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 export function isClassGroupingNodeKey(key: NodeKeyJSON): key is ECClassGroupingNodeKeyJSON;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 export function isPropertyGroupingNodeKey(key: NodeKeyJSON): key is ECPropertyGroupingNodeKeyJSON;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 export function isLabelGroupingNodeKey(key: NodeKeyJSON): key is LabelGroupingNodeKeyJSON;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 export function isGroupingNodeKey(key: NodeKeyJSON): key is GroupingNodeKeyJSON;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function isGroupingNodeKey(key: NodeKey | NodeKeyJSON) {\n return isClassGroupingNodeKey(key) || isPropertyGroupingNodeKey(key) || isLabelGroupingNodeKey(key); // eslint-disable-line @typescript-eslint/no-deprecated\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\n // `pathFromRoot` lengths must always be equal\n if (lhs.pathFromRoot.length !== rhs.pathFromRoot.length) {\n return false;\n }\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 }\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 }\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 }\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 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 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 @typescript-eslint/no-deprecated\nexport type NodeKeyJSON = BaseNodeKeyJSON | ECInstancesNodeKeyJSON | ECClassGroupingNodeKeyJSON | ECPropertyGroupingNodeKeyJSON | LabelGroupingNodeKeyJSON;\n\n/**\n * Data structure that describes a presentation query\n * @public\n */\nexport interface PresentationQuery {\n /** ECSQL query */\n query: string;\n /** The query bindings */\n bindings?: PresentationQueryBinding[];\n}\n\n/**\n * Defines an [[Id64String]] value binding.\n * @public\n */\nexport interface IdBinding {\n type: \"Id\";\n value: Id64String;\n}\n\n/**\n * Defines an [[IdSet]] value binding for use with `InVirtualSet` ECSQL function.\n * @public\n */\nexport interface IdSetBinding {\n type: \"IdSet\";\n value: Id64String[];\n}\n\n/**\n * Defines an EC value binding.\n * @public\n */\nexport interface ECValueBinding {\n type: \"ECValue\";\n valueType: string;\n valueTypeExtended?: string;\n value: any;\n}\n\n/**\n * Defines a binding for a list of EC values for use with `InVirtualSet` ECSQL function.\n * @public\n */\nexport interface ECValueSetBinding {\n type: \"ValueSet\";\n valueType: string;\n valueTypeExtended?: string;\n value: any[];\n}\n\n/**\n * One of the [[PresentationQuery]] binding types.\n * @public\n */\nexport type PresentationQueryBinding = IdBinding | IdSetBinding | ECValueBinding | ECValueSetBinding;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export var Node;
13
13
  * Serialize given [[Node]] to JSON
14
14
  * @deprecated in 3.x. Use [[Node]].
15
15
  */
16
- // eslint-disable-next-line deprecation/deprecation
16
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
17
17
  function toJSON(node) {
18
18
  const { label, ...baseNode } = node;
19
19
  return {
@@ -23,7 +23,7 @@ export var Node;
23
23
  }
24
24
  Node.toJSON = toJSON;
25
25
  /** @internal */
26
- // eslint-disable-next-line deprecation/deprecation
26
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
27
27
  function toPartialJSON(node) {
28
28
  if (node.key === undefined) {
29
29
  return node;
@@ -39,7 +39,7 @@ export var Node;
39
39
  * Deserialize [[Node]] from JSON
40
40
  * @deprecated in 3.x. Use [[Node]].
41
41
  */
42
- // eslint-disable-next-line deprecation/deprecation
42
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
43
43
  function fromJSON(json) {
44
44
  if (typeof json === "string") {
45
45
  return JSON.parse(json, reviver);
@@ -47,14 +47,14 @@ export var Node;
47
47
  const { labelDefinition, ...baseJson } = json;
48
48
  return {
49
49
  ...baseJson,
50
- // eslint-disable-next-line deprecation/deprecation
50
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
51
51
  key: NodeKey.fromJSON(json.key),
52
52
  label: labelDefinition,
53
53
  };
54
54
  }
55
55
  Node.fromJSON = fromJSON;
56
56
  /** @internal */
57
- // eslint-disable-next-line deprecation/deprecation
57
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
58
58
  function fromPartialJSON(json) {
59
59
  if (json.key === undefined) {
60
60
  return json;
@@ -62,7 +62,7 @@ export var Node;
62
62
  const { key, labelDefinition, ...baseJson } = json;
63
63
  return {
64
64
  ...baseJson,
65
- // eslint-disable-next-line deprecation/deprecation
65
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
66
66
  key: NodeKey.fromJSON(key),
67
67
  label: labelDefinition,
68
68
  };
@@ -74,7 +74,7 @@ export var Node;
74
74
  * @internal
75
75
  */
76
76
  function reviver(key, value) {
77
- // eslint-disable-next-line deprecation/deprecation
77
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
78
78
  return key === "" ? fromJSON(value) : value;
79
79
  }
80
80
  Node.reviver = reviver;
@@ -84,12 +84,12 @@ export var Node;
84
84
  * @returns Deserialized nodes list
85
85
  * @internal
86
86
  */
87
- // eslint-disable-next-line deprecation/deprecation
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
88
88
  function listFromJSON(json) {
89
89
  if (typeof json === "string") {
90
90
  return JSON.parse(json, listReviver);
91
91
  }
92
- // eslint-disable-next-line deprecation/deprecation
92
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
93
93
  return json.map((m) => fromJSON(m));
94
94
  }
95
95
  Node.listFromJSON = listFromJSON;
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAe,MAAM,OAAO,CAAC;AAuH7C,cAAc;AACd,MAAM,KAAW,IAAI,CA+FpB;AA/FD,WAAiB,IAAI;IACnB;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,MAAM,CAAC,IAAU;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IANe,WAAM,SAMrB,CAAA;IAED,gBAAgB;IAChB,mDAAmD;IACnD,SAAgB,aAAa,CAAC,IAAiB;QAC7C,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAVe,kBAAa,gBAU5B,CAAA;IAED;;;OAGG;IACH,mDAAmD;IACnD,SAAgB,QAAQ,CAAC,IAAuB;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO;YACL,GAAG,QAAQ;YACX,mDAAmD;YACnD,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAXe,aAAQ,WAWvB,CAAA;IAED,gBAAgB;IAChB,mDAAmD;IACnD,SAAgB,eAAe,CAAC,IAAqB;QACnD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnD,OAAO;YACL,GAAG,QAAQ;YACX,mDAAmD;YACnD,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAZe,oBAAe,kBAY9B,CAAA;IAED;;;;OAIG;IACH,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAU;QAC7C,mDAAmD;QACnD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IAHe,YAAO,UAGtB,CAAA;IAED;;;;;OAKG;IACH,mDAAmD;IACnD,SAAgB,YAAY,CAAC,IAAyB;QACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,mDAAmD;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IANe,iBAAY,eAM3B,CAAA;IAED;;;;OAIG;IACH,SAAgB,WAAW,CAAC,GAAW,EAAE,KAAU;QACjD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAFe,gBAAW,cAE1B,CAAA;AACH,CAAC,EA/FgB,IAAI,KAAJ,IAAI,QA+FpB","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 */\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 * @deprecated in 3.x. Use [[Node]].\r\n */\r\nexport interface NodeJSON {\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKeyJSON;\r\n // TODO: rename to `label`\r\n // eslint-disable-next-line deprecation/deprecation\r\n labelDefinition: LabelDefinitionJSON;\r\n description?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n imageId?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n foreColor?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n backColor?: string;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\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. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isCheckboxVisible?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isChecked?: boolean;\r\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\r\n isCheckboxEnabled?: boolean;\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 * @deprecated in 3.x. Use [[PartialNode]].\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\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 /**\r\n * Serialize given [[Node]] to JSON\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(node: Node): NodeJSON {\r\n const { label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n labelDefinition: label,\r\n };\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line deprecation/deprecation\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 { label, ...baseNode } = node;\r\n return {\r\n ...baseNode,\r\n labelDefinition: label,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[Node]] from JSON\r\n * @deprecated in 3.x. Use [[Node]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodeJSON | string): Node {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, reviver);\r\n }\r\n const { labelDefinition, ...baseJson } = json;\r\n return {\r\n ...baseJson,\r\n // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKey.fromJSON(json.key),\r\n label: labelDefinition,\r\n };\r\n }\r\n\r\n /** @internal */\r\n // eslint-disable-next-line deprecation/deprecation\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 // eslint-disable-next-line deprecation/deprecation\r\n key: NodeKey.fromJSON(key),\r\n label: 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 * @internal\r\n */\r\n export function reviver(key: string, value: any): any {\r\n // eslint-disable-next-line deprecation/deprecation\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 * @internal\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, listReviver);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\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 * @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"]}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/Node.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAe,MAAM,OAAO,CAAC;AAsH7C,cAAc;AACd,MAAM,KAAW,IAAI,CA+FpB;AA/FD,WAAiB,IAAI;IACnB;;;OAGG;IACH,4DAA4D;IAC5D,SAAgB,MAAM,CAAC,IAAU;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IANe,WAAM,SAMrB,CAAA;IAED,gBAAgB;IAChB,4DAA4D;IAC5D,SAAgB,aAAa,CAAC,IAAiB;QAC7C,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpC,OAAO;YACL,GAAG,QAAQ;YACX,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAVe,kBAAa,gBAU5B,CAAA;IAED;;;OAGG;IACH,4DAA4D;IAC5D,SAAgB,QAAQ,CAAC,IAAuB;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC9C,OAAO;YACL,GAAG,QAAQ;YACX,4DAA4D;YAC5D,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAXe,aAAQ,WAWvB,CAAA;IAED,gBAAgB;IAChB,4DAA4D;IAC5D,SAAgB,eAAe,CAAC,IAAqB;QACnD,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACnD,OAAO;YACL,GAAG,QAAQ;YACX,4DAA4D;YAC5D,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC1B,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAZe,oBAAe,kBAY9B,CAAA;IAED;;;;OAIG;IACH,SAAgB,OAAO,CAAC,GAAW,EAAE,KAAU;QAC7C,4DAA4D;QAC5D,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IAHe,YAAO,UAGtB,CAAA;IAED;;;;;OAKG;IACH,4DAA4D;IAC5D,SAAgB,YAAY,CAAC,IAAyB;QACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,4DAA4D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IANe,iBAAY,eAM3B,CAAA;IAED;;;;OAIG;IACH,SAAgB,WAAW,CAAC,GAAW,EAAE,KAAU;QACjD,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAFe,gBAAW,cAE1B,CAAA;AACH,CAAC,EA/FgB,IAAI,KAAJ,IAAI,QA+FpB","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 */\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 * @deprecated in 3.x. Use [[Node]].\n */\nexport interface NodeJSON {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n key: NodeKeyJSON;\n // TODO: rename to `label`\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n labelDefinition: LabelDefinitionJSON;\n description?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n imageId?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n foreColor?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n backColor?: string;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n fontStyle?: string;\n hasChildren?: boolean;\n isSelectionDisabled?: boolean;\n isEditable?: boolean;\n isExpanded?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isCheckboxVisible?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isChecked?: boolean;\n /** @deprecated in 3.x. Use [[extendedData]] instead. See [extended data usage page]($docs/presentation/customization/ExtendedDataUsage.md) for more details. */\n isCheckboxEnabled?: boolean;\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 * @deprecated in 3.x. Use [[PartialNode]].\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 /**\n * Serialize given [[Node]] to JSON\n * @deprecated in 3.x. Use [[Node]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function toJSON(node: Node): NodeJSON {\n const { label, ...baseNode } = node;\n return {\n ...baseNode,\n labelDefinition: label,\n };\n }\n\n /** @internal */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function toPartialJSON(node: PartialNode): PartialNodeJSON {\n if (node.key === undefined) {\n return node;\n }\n\n const { label, ...baseNode } = node;\n return {\n ...baseNode,\n labelDefinition: label,\n };\n }\n\n /**\n * Deserialize [[Node]] from JSON\n * @deprecated in 3.x. Use [[Node]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function fromJSON(json: NodeJSON | string): Node {\n if (typeof json === \"string\") {\n return JSON.parse(json, reviver);\n }\n const { labelDefinition, ...baseJson } = json;\n return {\n ...baseJson,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n key: NodeKey.fromJSON(json.key),\n label: labelDefinition,\n };\n }\n\n /** @internal */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 // eslint-disable-next-line @typescript-eslint/no-deprecated\n key: NodeKey.fromJSON(key),\n label: 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 * @internal\n */\n export function reviver(key: string, value: any): any {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 * @internal\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function listFromJSON(json: NodeJSON[] | string): Node[] {\n if (typeof json === \"string\") {\n return JSON.parse(json, listReviver);\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 * @internal\n */\n export function listReviver(key: string, value: any): any {\n return key === \"\" ? listFromJSON(value) : value;\n }\n}\n"]}
@@ -13,21 +13,21 @@ export var NodePathElement;
13
13
  * Serialize given [[NodePathElement]] to JSON
14
14
  * @deprecated in 3.x. Use [[NodePathElement]].
15
15
  */
16
- // eslint-disable-next-line deprecation/deprecation
16
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
17
17
  function toJSON(npe) {
18
- // eslint-disable-next-line deprecation/deprecation
18
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
19
19
  const result = {
20
- // eslint-disable-next-line deprecation/deprecation
20
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
21
21
  node: Node.toJSON(npe.node),
22
22
  index: npe.index,
23
- // eslint-disable-next-line deprecation/deprecation
23
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
24
24
  children: npe.children.map(NodePathElement.toJSON),
25
25
  };
26
26
  if (undefined !== npe.isMarked) {
27
27
  result.isMarked = npe.isMarked;
28
28
  }
29
29
  if (undefined !== npe.filteringData) {
30
- // eslint-disable-next-line deprecation/deprecation
30
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
31
31
  result.filteringData = NodePathFilteringData.toJSON(npe.filteringData);
32
32
  }
33
33
  return result;
@@ -37,14 +37,14 @@ export var NodePathElement;
37
37
  * Deserialize [[NodePathElement]] from JSON
38
38
  * @deprecated in 3.x. Use [[NodePathElement]].
39
39
  */
40
- // eslint-disable-next-line deprecation/deprecation
40
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
41
41
  function fromJSON(json) {
42
42
  if (typeof json === "string") {
43
43
  return JSON.parse(json, reviver);
44
44
  }
45
45
  const result = {
46
46
  index: json.index,
47
- // eslint-disable-next-line deprecation/deprecation
47
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
48
48
  node: Node.fromJSON(json.node),
49
49
  children: listFromJSON(json.children),
50
50
  };
@@ -52,7 +52,7 @@ export var NodePathElement;
52
52
  result.isMarked = json.isMarked;
53
53
  }
54
54
  if (undefined !== json.filteringData) {
55
- // eslint-disable-next-line deprecation/deprecation
55
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
56
56
  result.filteringData = NodePathFilteringData.fromJSON(json.filteringData);
57
57
  }
58
58
  return result;
@@ -64,7 +64,7 @@ export var NodePathElement;
64
64
  * @internal
65
65
  */
66
66
  function reviver(key, value) {
67
- // eslint-disable-next-line deprecation/deprecation
67
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
68
68
  return key === "" ? fromJSON(value) : value;
69
69
  }
70
70
  NodePathElement.reviver = reviver;
@@ -74,12 +74,12 @@ export var NodePathElement;
74
74
  * @returns Deserialized [[NodePathElement]] list
75
75
  * @internal
76
76
  */
77
- // eslint-disable-next-line deprecation/deprecation
77
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
78
78
  function listFromJSON(json) {
79
79
  if (typeof json === "string") {
80
80
  return JSON.parse(json, listReviver);
81
81
  }
82
- // eslint-disable-next-line deprecation/deprecation
82
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
83
83
  return json.map((m) => fromJSON(m));
84
84
  }
85
85
  NodePathElement.listFromJSON = listFromJSON;
@@ -100,7 +100,7 @@ export var NodePathFilteringData;
100
100
  * Serialize given [[NodePathFilteringData]] to JSON
101
101
  * @deprecated in 3.x. Use [[NodePathFilteringData]].
102
102
  */
103
- // eslint-disable-next-line deprecation/deprecation
103
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
104
104
  function toJSON(npfd) {
105
105
  return {
106
106
  occurances: npfd.matchesCount,
@@ -112,7 +112,7 @@ export var NodePathFilteringData;
112
112
  * Deserialize [[NodePathFilteringData]] from JSON
113
113
  * @deprecated in 3.x. Use [[NodePathFilteringData]].
114
114
  */
115
- // eslint-disable-next-line deprecation/deprecation
115
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
116
116
  function fromJSON(json) {
117
117
  return {
118
118
  matchesCount: json.occurances,
@@ -1 +1 @@
1
- {"version":3,"file":"NodePathElement.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/NodePathElement.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 { Node, NodeJSON } from \"./Node\";\r\n\r\n/**\r\n * Serialized [[NodePathElement]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[NodePathElement]].\r\n */\r\nexport interface NodePathElementJSON {\r\n // eslint-disable-next-line deprecation/deprecation\r\n node: NodeJSON;\r\n index: number;\r\n isMarked?: boolean;\r\n // eslint-disable-next-line deprecation/deprecation\r\n children: NodePathElementJSON[];\r\n // eslint-disable-next-line deprecation/deprecation\r\n filteringData?: NodePathFilteringDataJSON;\r\n}\r\n\r\n/**\r\n * Describes a single step in the nodes path.\r\n * @public\r\n */\r\nexport interface NodePathElement {\r\n /** Node instance */\r\n node: Node;\r\n /** Node index */\r\n index: number;\r\n /** Is this element part of the marked path */\r\n isMarked?: boolean;\r\n /** Child path elements */\r\n children: NodePathElement[];\r\n /** Additional filtering-related information */\r\n filteringData?: NodePathFilteringData;\r\n}\r\n\r\n/** @public */\r\nexport namespace NodePathElement {\r\n /**\r\n * Serialize given [[NodePathElement]] to JSON\r\n * @deprecated in 3.x. Use [[NodePathElement]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(npe: NodePathElement): NodePathElementJSON {\r\n // eslint-disable-next-line deprecation/deprecation\r\n const result: NodePathElementJSON = {\r\n // eslint-disable-next-line deprecation/deprecation\r\n node: Node.toJSON(npe.node),\r\n index: npe.index,\r\n // eslint-disable-next-line deprecation/deprecation\r\n children: npe.children.map(NodePathElement.toJSON),\r\n };\r\n if (undefined !== npe.isMarked) {\r\n result.isMarked = npe.isMarked;\r\n }\r\n if (undefined !== npe.filteringData) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n result.filteringData = NodePathFilteringData.toJSON(npe.filteringData);\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Deserialize [[NodePathElement]] from JSON\r\n * @deprecated in 3.x. Use [[NodePathElement]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodePathElementJSON | string): NodePathElement {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, reviver);\r\n }\r\n const result: NodePathElement = {\r\n index: json.index,\r\n // eslint-disable-next-line deprecation/deprecation\r\n node: Node.fromJSON(json.node),\r\n children: listFromJSON(json.children),\r\n };\r\n if (undefined !== json.isMarked) {\r\n result.isMarked = json.isMarked;\r\n }\r\n if (undefined !== json.filteringData) {\r\n // eslint-disable-next-line deprecation/deprecation\r\n result.filteringData = NodePathFilteringData.fromJSON(json.filteringData);\r\n }\r\n return result;\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 [[NodePathElement]] objects.\r\n * @internal\r\n */\r\n export function reviver(key: string, value: any): any {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return key === \"\" ? fromJSON(value) : value;\r\n }\r\n\r\n /**\r\n * Deserialize [[NodePathElement]] list from JSON\r\n * @param json JSON or JSON serialized to string to deserialize from\r\n * @returns Deserialized [[NodePathElement]] list\r\n * @internal\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function listFromJSON(json: NodePathElementJSON[] | string): NodePathElement[] {\r\n if (typeof json === \"string\") {\r\n return JSON.parse(json, listReviver);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\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 [[NodePathElement]][] objects.\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\r\n/**\r\n * Serialized [[NodePathFilteringData]] JSON representation.\r\n * @public\r\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\r\n */\r\nexport interface NodePathFilteringDataJSON {\r\n occurances: number;\r\n childrenOccurances: number;\r\n}\r\n\r\n/**\r\n * Data related to node hierarchy filtering\r\n * @public\r\n */\r\nexport interface NodePathFilteringData {\r\n /** Number of filter matches in the current element */\r\n matchesCount: number;\r\n /** Number of filter matches in the current element's children (recursively) */\r\n childMatchesCount: number;\r\n}\r\n\r\n/** @public */\r\nexport namespace NodePathFilteringData {\r\n /**\r\n * Serialize given [[NodePathFilteringData]] to JSON\r\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(npfd: NodePathFilteringData): NodePathFilteringDataJSON {\r\n return {\r\n occurances: npfd.matchesCount,\r\n childrenOccurances: npfd.childMatchesCount,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[NodePathFilteringData]] from JSON\r\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\r\n */\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: NodePathFilteringDataJSON): NodePathFilteringData {\r\n return {\r\n matchesCount: json.occurances,\r\n childMatchesCount: json.childrenOccurances,\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"NodePathElement.js","sourceRoot":"","sources":["../../../../src/presentation-common/hierarchy/NodePathElement.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 { Node, NodeJSON } from \"./Node\";\n\n/**\n * Serialized [[NodePathElement]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[NodePathElement]].\n */\nexport interface NodePathElementJSON {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n node: NodeJSON;\n index: number;\n isMarked?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n children: NodePathElementJSON[];\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n filteringData?: NodePathFilteringDataJSON;\n}\n\n/**\n * Describes a single step in the nodes path.\n * @public\n */\nexport interface NodePathElement {\n /** Node instance */\n node: Node;\n /** Node index */\n index: number;\n /** Is this element part of the marked path */\n isMarked?: boolean;\n /** Child path elements */\n children: NodePathElement[];\n /** Additional filtering-related information */\n filteringData?: NodePathFilteringData;\n}\n\n/** @public */\nexport namespace NodePathElement {\n /**\n * Serialize given [[NodePathElement]] to JSON\n * @deprecated in 3.x. Use [[NodePathElement]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function toJSON(npe: NodePathElement): NodePathElementJSON {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const result: NodePathElementJSON = {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n node: Node.toJSON(npe.node),\n index: npe.index,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n children: npe.children.map(NodePathElement.toJSON),\n };\n if (undefined !== npe.isMarked) {\n result.isMarked = npe.isMarked;\n }\n if (undefined !== npe.filteringData) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n result.filteringData = NodePathFilteringData.toJSON(npe.filteringData);\n }\n return result;\n }\n\n /**\n * Deserialize [[NodePathElement]] from JSON\n * @deprecated in 3.x. Use [[NodePathElement]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function fromJSON(json: NodePathElementJSON | string): NodePathElement {\n if (typeof json === \"string\") {\n return JSON.parse(json, reviver);\n }\n const result: NodePathElement = {\n index: json.index,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n node: Node.fromJSON(json.node),\n children: listFromJSON(json.children),\n };\n if (undefined !== json.isMarked) {\n result.isMarked = json.isMarked;\n }\n if (undefined !== json.filteringData) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n result.filteringData = NodePathFilteringData.fromJSON(json.filteringData);\n }\n return result;\n }\n\n /**\n * Reviver function that can be used as a second argument for\n * `JSON.parse` method when parsing [[NodePathElement]] objects.\n * @internal\n */\n export function reviver(key: string, value: any): any {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return key === \"\" ? fromJSON(value) : value;\n }\n\n /**\n * Deserialize [[NodePathElement]] list from JSON\n * @param json JSON or JSON serialized to string to deserialize from\n * @returns Deserialized [[NodePathElement]] list\n * @internal\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function listFromJSON(json: NodePathElementJSON[] | string): NodePathElement[] {\n if (typeof json === \"string\") {\n return JSON.parse(json, listReviver);\n }\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 [[NodePathElement]][] objects.\n * @internal\n */\n export function listReviver(key: string, value: any): any {\n return key === \"\" ? listFromJSON(value) : value;\n }\n}\n\n/**\n * Serialized [[NodePathFilteringData]] JSON representation.\n * @public\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\n */\nexport interface NodePathFilteringDataJSON {\n occurances: number;\n childrenOccurances: number;\n}\n\n/**\n * Data related to node hierarchy filtering\n * @public\n */\nexport interface NodePathFilteringData {\n /** Number of filter matches in the current element */\n matchesCount: number;\n /** Number of filter matches in the current element's children (recursively) */\n childMatchesCount: number;\n}\n\n/** @public */\nexport namespace NodePathFilteringData {\n /**\n * Serialize given [[NodePathFilteringData]] to JSON\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function toJSON(npfd: NodePathFilteringData): NodePathFilteringDataJSON {\n return {\n occurances: npfd.matchesCount,\n childrenOccurances: npfd.childMatchesCount,\n };\n }\n\n /**\n * Deserialize [[NodePathFilteringData]] from JSON\n * @deprecated in 3.x. Use [[NodePathFilteringData]].\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n export function fromJSON(json: NodePathFilteringDataJSON): NodePathFilteringData {\n return {\n matchesCount: json.occurances,\n childMatchesCount: json.childrenOccurances,\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ClassSpecifications.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/ClassSpecifications.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\n/**\r\n * This specification is used to point to specific ECClass.\r\n *\r\n * @see [Single schema class specification reference documentation page]($docs/presentation/SingleSchemaClassSpecification.md)\r\n * @public\r\n */\r\nexport interface SingleSchemaClassSpecification {\r\n /**\r\n * Specifies name of the schema which contains the target class.\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n schemaName: string;\r\n\r\n /**\r\n * Specifies name of the target class.\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n className: string;\r\n}\r\n\r\n/**\r\n * This specification lists ECClasses which should be targeted when creating content or hierarchy nodes.\r\n *\r\n * @see [Multi schema classes specification reference documentation page]($docs/presentation/MultiSchemaClassesSpecification.md)\r\n * @public\r\n */\r\nexport interface MultiSchemaClassesSpecification {\r\n /**\r\n * Specifies the schema which contains the target classes.\r\n *\r\n * @pattern ^[\\w\\d]+$\r\n */\r\n schemaName: string;\r\n\r\n /**\r\n * An array of target ECClass names.\r\n */\r\n classNames: string[];\r\n\r\n /**\r\n * Defines whether the derived ECClasses should be included in the result.\r\n */\r\n arePolymorphic?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"ClassSpecifications.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/ClassSpecifications.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\n */\n\n/**\n * This specification is used to point to specific ECClass.\n *\n * @see [Single schema class specification reference documentation page]($docs/presentation/SingleSchemaClassSpecification.md)\n * @public\n */\nexport interface SingleSchemaClassSpecification {\n /**\n * Specifies name of the schema which contains the target class.\n *\n * @pattern ^[\\w\\d]+$\n */\n schemaName: string;\n\n /**\n * Specifies name of the target class.\n *\n * @pattern ^[\\w\\d]+$\n */\n className: string;\n}\n\n/**\n * This specification lists ECClasses which should be targeted when creating content or hierarchy nodes.\n *\n * @see [Multi schema classes specification reference documentation page]($docs/presentation/MultiSchemaClassesSpecification.md)\n * @public\n */\nexport interface MultiSchemaClassesSpecification {\n /**\n * Specifies the schema which contains the target classes.\n *\n * @pattern ^[\\w\\d]+$\n */\n schemaName: string;\n\n /**\n * An array of target ECClass names.\n */\n classNames: string[];\n\n /**\n * Defines whether the derived ECClasses should be included in the result.\n */\n arePolymorphic?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedInstanceSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\r\nimport { RelationshipPathSpecification } from \"./RelationshipPathSpecification\";\r\n\r\n/**\r\n * Defines base attributes for [[RelatedInstanceByPathSpecification]] and [[RelatedInstanceByTargetInstancesSpecification]].\r\n * @public\r\n */\r\nexport interface RelatedInstanceSpecificationBase {\r\n /**\r\n * Specifies an an alias that given to the related instance. The alias can be used to reference the\r\n * instance in instance filter and customization rules.\r\n *\r\n * @pattern ^\\w[\\w\\d]*$\r\n */\r\n alias: string;\r\n\r\n /**\r\n * Specifies whether to omit the primary instance from the result if the other end of [[relationshipPath]]\r\n * does not yield any related instances.\r\n */\r\n isRequired?: boolean;\r\n}\r\n\r\n/**\r\n * A type of [[RelatedInstanceSpecification]] that joins related instances by a relationship path.\r\n * @public\r\n */\r\nexport interface RelatedInstanceByPathSpecification extends RelatedInstanceSpecificationBase {\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md)\r\n * that forms a path from the primary instance to the related instances.\r\n */\r\n relationshipPath: RelationshipPathSpecification;\r\n}\r\n\r\n/**\r\n * A type of [[RelatedInstanceSpecification]] that joins related instances by target class and instance IDs.\r\n * @public\r\n */\r\nexport interface RelatedInstanceByTargetInstancesSpecification extends RelatedInstanceSpecificationBase {\r\n /**\r\n * Specifies target class and a list of target ECInstance IDs.\r\n */\r\n targetInstances: {\r\n /** Specification for the target class to join. */\r\n class: SingleSchemaClassSpecification;\r\n /** Ids of the target instances to join. */\r\n instanceIds: Id64String[];\r\n };\r\n}\r\n\r\n/**\r\n * Related instance specification is used in [content]($docs/presentation/content/ContentRule.md#attribute-specifications)\r\n * and [hierarchy]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications) specifications to \"join\" the\r\n * primary instance with its related instance and allow using the related instance for filtering, customization and grouping.\r\n *\r\n * @see [Related instance specification reference documentation page]($docs/presentation/RelatedInstanceSpecification.md)\r\n * @public\r\n */\r\nexport type RelatedInstanceSpecification = RelatedInstanceByPathSpecification | RelatedInstanceByTargetInstancesSpecification;\r\n"]}
1
+ {"version":3,"file":"RelatedInstanceSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelatedInstanceSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\nimport { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\nimport { RelationshipPathSpecification } from \"./RelationshipPathSpecification\";\n\n/**\n * Defines base attributes for [[RelatedInstanceByPathSpecification]] and [[RelatedInstanceByTargetInstancesSpecification]].\n * @public\n */\nexport interface RelatedInstanceSpecificationBase {\n /**\n * Specifies an an alias that given to the related instance. The alias can be used to reference the\n * instance in instance filter and customization rules.\n *\n * @pattern ^\\w[\\w\\d]*$\n */\n alias: string;\n\n /**\n * Specifies whether to omit the primary instance from the result if the other end of [[relationshipPath]]\n * does not yield any related instances.\n */\n isRequired?: boolean;\n}\n\n/**\n * A type of [[RelatedInstanceSpecification]] that joins related instances by a relationship path.\n * @public\n */\nexport interface RelatedInstanceByPathSpecification extends RelatedInstanceSpecificationBase {\n /**\n * Specifies a chain of [relationship path specifications]($docs/presentation/RelationshipPathSpecification.md)\n * that forms a path from the primary instance to the related instances.\n */\n relationshipPath: RelationshipPathSpecification;\n}\n\n/**\n * A type of [[RelatedInstanceSpecification]] that joins related instances by target class and instance IDs.\n * @public\n */\nexport interface RelatedInstanceByTargetInstancesSpecification extends RelatedInstanceSpecificationBase {\n /**\n * Specifies target class and a list of target ECInstance IDs.\n */\n targetInstances: {\n /** Specification for the target class to join. */\n class: SingleSchemaClassSpecification;\n /** Ids of the target instances to join. */\n instanceIds: Id64String[];\n };\n}\n\n/**\n * Related instance specification is used in [content]($docs/presentation/content/ContentRule.md#attribute-specifications)\n * and [hierarchy]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications) specifications to \"join\" the\n * primary instance with its related instance and allow using the related instance for filtering, customization and grouping.\n *\n * @see [Related instance specification reference documentation page]($docs/presentation/RelatedInstanceSpecification.md)\n * @public\n */\nexport type RelatedInstanceSpecification = RelatedInstanceByPathSpecification | RelatedInstanceByTargetInstancesSpecification;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipDirection.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipDirection.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAiE;IACjE,4CAAmB,CAAA;IACnB,kEAAkE;IAClE,8CAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC","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 PresentationRules\r\n */\r\n\r\n/**\r\n * Defines direction of a relationship that should be followed\r\n * @public\r\n */\r\nexport enum RelationshipDirection {\r\n /** Relationship should be followed only in forward direction. */\r\n Forward = \"Forward\",\r\n /** Relationship should be followed only in backward direction. */\r\n Backward = \"Backward\",\r\n}\r\n"]}
1
+ {"version":3,"file":"RelationshipDirection.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipDirection.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,iEAAiE;IACjE,4CAAmB,CAAA;IACnB,kEAAkE;IAClE,8CAAqB,CAAA;AACvB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC","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 PresentationRules\n */\n\n/**\n * Defines direction of a relationship that should be followed\n * @public\n */\nexport enum RelationshipDirection {\n /** Relationship should be followed only in forward direction. */\n Forward = \"Forward\",\n /** Relationship should be followed only in backward direction. */\n Backward = \"Backward\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RelationshipPathSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\r\nimport { RelationshipDirection } from \"./RelationshipDirection\";\r\n\r\n/**\r\n * Specification of a single step in [[RelationshipPathSpecification]].\r\n *\r\n * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport interface RelationshipStepSpecification {\r\n /** This attribute specifies the ECRelationship that should be used to traverse to target class. */\r\n relationship: SingleSchemaClassSpecification;\r\n\r\n /**\r\n * This attribute specifies the direction in which the [[relationship]] should be followed.\r\n * @see RelationshipDirection\r\n */\r\n direction: `${RelationshipDirection}`;\r\n\r\n /**\r\n * This attribute may be used to specialize the target of the relationship.\r\n */\r\n targetClass?: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * Specification of a single step in [[RepeatableRelationshipPathSpecification]].\r\n *\r\n * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {\r\n /**\r\n * When a number is specified, the relationship is traversed recursively the specified number of times.\r\n *\r\n * When it is set to a special value `\"*\"`, the same relationship is traversed recursively unbounded number\r\n * of times, starting from zero (the relationship is not followed). On each traversal iteration, Presentation\r\n * rules engine accumulates all indirectly related ECInstances as defined by the remaining relationship path.\r\n */\r\n count?: number | \"*\";\r\n}\r\n\r\n/**\r\n * Relationship path specification is used to define a relationship path to an ECClass.\r\n *\r\n * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];\r\n\r\n/**\r\n * This specification declares a step in a relationship path between a source and target ECInstances. A step\r\n * can optionally be repeated a number of times to traverse the same relationship recursively. Multiple\r\n * specifications of this type can be chained together to express complex indirect relationships.\r\n *\r\n * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * @public\r\n */\r\nexport type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];\r\n"]}
1
+ {"version":3,"file":"RelationshipPathSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/RelationshipPathSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\n */\n\nimport { SingleSchemaClassSpecification } from \"./ClassSpecifications\";\nimport { RelationshipDirection } from \"./RelationshipDirection\";\n\n/**\n * Specification of a single step in [[RelationshipPathSpecification]].\n *\n * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)\n * @public\n */\nexport interface RelationshipStepSpecification {\n /** This attribute specifies the ECRelationship that should be used to traverse to target class. */\n relationship: SingleSchemaClassSpecification;\n\n /**\n * This attribute specifies the direction in which the [[relationship]] should be followed.\n * @see RelationshipDirection\n */\n direction: `${RelationshipDirection}`;\n\n /**\n * This attribute may be used to specialize the target of the relationship.\n */\n targetClass?: SingleSchemaClassSpecification;\n}\n\n/**\n * Specification of a single step in [[RepeatableRelationshipPathSpecification]].\n *\n * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)\n * @public\n */\nexport interface RepeatableRelationshipStepSpecification extends RelationshipStepSpecification {\n /**\n * When a number is specified, the relationship is traversed recursively the specified number of times.\n *\n * When it is set to a special value `\"*\"`, the same relationship is traversed recursively unbounded number\n * of times, starting from zero (the relationship is not followed). On each traversal iteration, Presentation\n * rules engine accumulates all indirectly related ECInstances as defined by the remaining relationship path.\n */\n count?: number | \"*\";\n}\n\n/**\n * Relationship path specification is used to define a relationship path to an ECClass.\n *\n * @see [Relationship path specification reference documentation page]($docs/presentation/RelationshipPathSpecification.md)\n * @public\n */\nexport type RelationshipPathSpecification = RelationshipStepSpecification | RelationshipStepSpecification[];\n\n/**\n * This specification declares a step in a relationship path between a source and target ECInstances. A step\n * can optionally be repeated a number of times to traverse the same relationship recursively. Multiple\n * specifications of this type can be chained together to express complex indirect relationships.\n *\n * @see [Repeatable relationship path specification reference documentation page]($docs/presentation/RepeatableRelationshipPathSpecification.md)\n * @public\n */\nexport type RepeatableRelationshipPathSpecification = RepeatableRelationshipStepSpecification | RepeatableRelationshipStepSpecification[];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AA6DH;;;GAGG;AACH,MAAM,CAAN,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB,kBAAkB;IAClB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IAEzB,gBAAgB;IAChB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,gFAAmE,CAAA;IAEnE,sBAAsB;IACtB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;AAC/B,CAAC,EArBW,SAAS,KAAT,SAAS,QAqBpB","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 PresentationRules\r\n */\r\n\r\nimport { ContentRule } from \"./content/ContentRule\";\r\nimport { DefaultPropertyCategoryOverride } from \"./content/DefaultPropertyCategoryOverride\";\r\nimport { ContentModifier } from \"./content/modifiers/ContentModifier\";\r\nimport { CustomizationRule } from \"./customization/CustomizationRule\";\r\nimport { NavigationRule } from \"./hierarchy/NavigationRule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\n\r\n/**\r\n * Base interface for all [[Rule]] implementations.\r\n * @public\r\n */\r\nexport interface RuleBase {\r\n /**\r\n * Used for serializing to JSON.\r\n * @see RuleTypes\r\n */\r\n ruleType: `${RuleTypes}`;\r\n\r\n /**\r\n * Defines the order in which rules are handled, higher number means the rule is handled first. If priorities are\r\n * equal, the rules are handled in the order they're defined.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * Tells the library that the rule should only be handled if no other rule of the same type was handled previously (based on rule\r\n * priorities and definition order). This allows adding fallback rules which can be overriden by higher-priority rules.\r\n */\r\n onlyIfNotHandled?: boolean;\r\n\r\n /**\r\n * A list of [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) that need to be met for the rule to be used.\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n}\r\n\r\n/**\r\n * A union of all presentation rule types.\r\n * @public\r\n */\r\nexport declare type Rule = CustomizationRule | NavigationRule | ContentRule | ContentModifier | DefaultPropertyCategoryOverride;\r\n\r\n/**\r\n * Container of a [[condition]] property. Used for rules that support conditions. Not\r\n * meant to be used directly, see [[Rule]].\r\n *\r\n * @deprecated in 3.x. This interface is not used anymore. All interfaces that used to extend it, have the [[condition]]\r\n * attribute of their own.\r\n * @public\r\n */\r\nexport interface ConditionContainer {\r\n /**\r\n * Defines a condition for the rule, which needs to be met in order to execute it.\r\n */\r\n condition?: string;\r\n}\r\n\r\n/**\r\n * Used for serializing [[Rule]] objects to JSON.\r\n * @public\r\n */\r\nexport enum RuleTypes {\r\n // hierarchy rules\r\n RootNodes = \"RootNodes\",\r\n ChildNodes = \"ChildNodes\",\r\n\r\n // content rules\r\n Content = \"Content\",\r\n ContentModifier = \"ContentModifier\", // eslint-disable-line @typescript-eslint/no-shadow\r\n DefaultPropertyCategoryOverride = \"DefaultPropertyCategoryOverride\", // eslint-disable-line @typescript-eslint/no-shadow\r\n\r\n // customization rules\r\n Grouping = \"Grouping\",\r\n PropertySorting = \"PropertySorting\",\r\n DisabledSorting = \"DisabledSorting\",\r\n NodeArtifacts = \"NodeArtifacts\",\r\n InstanceLabelOverride = \"InstanceLabelOverride\",\r\n LabelOverride = \"LabelOverride\",\r\n CheckBox = \"CheckBox\",\r\n ImageIdOverride = \"ImageIdOverride\",\r\n StyleOverride = \"StyleOverride\",\r\n ExtendedData = \"ExtendedData\",\r\n}\r\n"]}
1
+ {"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Rule.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AA6DH;;;GAGG;AACH,MAAM,CAAN,IAAY,SAqBX;AArBD,WAAY,SAAS;IACnB,kBAAkB;IAClB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IAEzB,gBAAgB;IAChB,gCAAmB,CAAA;IACnB,gDAAmC,CAAA;IACnC,gFAAmE,CAAA;IAEnE,sBAAsB;IACtB,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,4CAA+B,CAAA;IAC/B,kCAAqB,CAAA;IACrB,gDAAmC,CAAA;IACnC,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;AAC/B,CAAC,EArBW,SAAS,KAAT,SAAS,QAqBpB","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 PresentationRules\n */\n\nimport { ContentRule } from \"./content/ContentRule\";\nimport { DefaultPropertyCategoryOverride } from \"./content/DefaultPropertyCategoryOverride\";\nimport { ContentModifier } from \"./content/modifiers/ContentModifier\";\nimport { CustomizationRule } from \"./customization/CustomizationRule\";\nimport { NavigationRule } from \"./hierarchy/NavigationRule\";\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\n\n/**\n * Base interface for all [[Rule]] implementations.\n * @public\n */\nexport interface RuleBase {\n /**\n * Used for serializing to JSON.\n * @see RuleTypes\n */\n ruleType: `${RuleTypes}`;\n\n /**\n * Defines the order in which rules are handled, higher number means the rule is handled first. If priorities are\n * equal, the rules are handled in the order they're defined.\n *\n * @type integer\n */\n priority?: number;\n\n /**\n * Tells the library that the rule should only be handled if no other rule of the same type was handled previously (based on rule\n * priorities and definition order). This allows adding fallback rules which can be overriden by higher-priority rules.\n */\n onlyIfNotHandled?: boolean;\n\n /**\n * A list of [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) that need to be met for the rule to be used.\n */\n requiredSchemas?: RequiredSchemaSpecification[];\n}\n\n/**\n * A union of all presentation rule types.\n * @public\n */\nexport declare type Rule = CustomizationRule | NavigationRule | ContentRule | ContentModifier | DefaultPropertyCategoryOverride;\n\n/**\n * Container of a [[condition]] property. Used for rules that support conditions. Not\n * meant to be used directly, see [[Rule]].\n *\n * @deprecated in 3.x. This interface is not used anymore. All interfaces that used to extend it, have the [[condition]]\n * attribute of their own.\n * @public\n */\nexport interface ConditionContainer {\n /**\n * Defines a condition for the rule, which needs to be met in order to execute it.\n */\n condition?: string;\n}\n\n/**\n * Used for serializing [[Rule]] objects to JSON.\n * @public\n */\nexport enum RuleTypes {\n // hierarchy rules\n RootNodes = \"RootNodes\",\n ChildNodes = \"ChildNodes\",\n\n // content rules\n Content = \"Content\",\n ContentModifier = \"ContentModifier\", // eslint-disable-line @typescript-eslint/no-shadow\n DefaultPropertyCategoryOverride = \"DefaultPropertyCategoryOverride\", // eslint-disable-line @typescript-eslint/no-shadow\n\n // customization rules\n Grouping = \"Grouping\",\n PropertySorting = \"PropertySorting\",\n DisabledSorting = \"DisabledSorting\",\n NodeArtifacts = \"NodeArtifacts\",\n InstanceLabelOverride = \"InstanceLabelOverride\",\n LabelOverride = \"LabelOverride\",\n CheckBox = \"CheckBox\",\n ImageIdOverride = \"ImageIdOverride\",\n StyleOverride = \"StyleOverride\",\n ExtendedData = \"ExtendedData\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Ruleset.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { Rule } from \"./Rule\";\r\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\r\nimport { VariablesGroup } from \"./Variables\";\r\n\r\n/**\r\n * Presentation ruleset is a list of rules that define tree hierarchy and content provided by\r\n * the presentation library. The ruleset consists of:\r\n * - Ruleset options\r\n * - Hierarchy rules:\r\n * - Root node rules\r\n * - Child node rules\r\n * - Content rules for content you see in content controls like property grid and table.\r\n * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.\r\n * - User-controllable variables.\r\n *\r\n * @see [Presentation library documentation page]($docs/presentation/index.md)\r\n * @public\r\n */\r\nexport interface Ruleset {\r\n /**\r\n * Ruleset identifier. This ID is used to bind UI components with the specific rule set.\r\n *\r\n * @minLength 1\r\n */\r\n id: string;\r\n\r\n /**\r\n * Version of the presentation ruleset in SemVer format: `{major}.{minor}.{patch}`.\r\n *\r\n * Setting the version is optional, but might be useful when ruleset is persisted\r\n * somewhere and evolves over time. Having a version helps choose persisting\r\n * strategy (keep all versions or only latest) and find the latest ruleset from a list\r\n * of rulesets with the same id.\r\n *\r\n * Defaults to `0.0.0`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n version?: string;\r\n\r\n /**\r\n * Schema requirements for this ruleset. The ruleset is not used if the requirements are not met.\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n\r\n /** Supplementation-related information for this ruleset */\r\n supplementationInfo?: SupplementationInfo;\r\n\r\n /** User-controllable variable definitions */\r\n vars?: VariablesGroup[];\r\n\r\n /** Presentation rules used to create hierarchies and content */\r\n rules: Rule[];\r\n}\r\n\r\n/**\r\n * Contains supplementation-related information for\r\n * [supplemental rulesets]($docs/presentation/advanced/RulesetSupplementation.md).\r\n *\r\n * @public\r\n */\r\nexport interface SupplementationInfo {\r\n /**\r\n * Identifies why supplementation is done and uniquely identifies particular supplemental ruleset.\r\n * There can be only one supplemental rule set with the same [[Ruleset.id]] and [[supplementationPurpose]].\r\n */\r\n supplementationPurpose: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"Ruleset.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Ruleset.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\n */\n\nimport { Rule } from \"./Rule\";\nimport { RequiredSchemaSpecification } from \"./SchemasSpecification\";\nimport { VariablesGroup } from \"./Variables\";\n\n/**\n * Presentation ruleset is a list of rules that define tree hierarchy and content provided by\n * the presentation library. The ruleset consists of:\n * - Ruleset options\n * - Hierarchy rules:\n * - Root node rules\n * - Child node rules\n * - Content rules for content you see in content controls like property grid and table.\n * - Customization rules used for additional customizations such as styling, labeling, checkboxes, etc.\n * - User-controllable variables.\n *\n * @see [Presentation library documentation page]($docs/presentation/index.md)\n * @public\n */\nexport interface Ruleset {\n /**\n * Ruleset identifier. This ID is used to bind UI components with the specific rule set.\n *\n * @minLength 1\n */\n id: string;\n\n /**\n * Version of the presentation ruleset in SemVer format: `{major}.{minor}.{patch}`.\n *\n * Setting the version is optional, but might be useful when ruleset is persisted\n * somewhere and evolves over time. Having a version helps choose persisting\n * strategy (keep all versions or only latest) and find the latest ruleset from a list\n * of rulesets with the same id.\n *\n * Defaults to `0.0.0`.\n *\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\n */\n version?: string;\n\n /**\n * Schema requirements for this ruleset. The ruleset is not used if the requirements are not met.\n */\n requiredSchemas?: RequiredSchemaSpecification[];\n\n /** Supplementation-related information for this ruleset */\n supplementationInfo?: SupplementationInfo;\n\n /** User-controllable variable definitions */\n vars?: VariablesGroup[];\n\n /** Presentation rules used to create hierarchies and content */\n rules: Rule[];\n}\n\n/**\n * Contains supplementation-related information for\n * [supplemental rulesets]($docs/presentation/advanced/RulesetSupplementation.md).\n *\n * @public\n */\nexport interface SupplementationInfo {\n /**\n * Identifies why supplementation is done and uniquely identifies particular supplemental ruleset.\n * There can be only one supplemental rule set with the same [[Ruleset.id]] and [[supplementationPurpose]].\n */\n supplementationPurpose: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SchemasSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/SchemasSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\n/**\r\n * Specification for a list of ECSchemas\r\n * @public\r\n */\r\nexport interface SchemasSpecification {\r\n /** ECSchema names */\r\n schemaNames: string[];\r\n\r\n /**\r\n * Should schemas specified in [[schemaNames]] be excluded rather than included.\r\n * Exclusion works by including everything except what's specified in [[schemaNames]].\r\n */\r\n isExclude?: boolean;\r\n}\r\n\r\n/**\r\n * This specification is designed for specifying schema requirements for the [[Ruleset]] or specific\r\n * presentation rules.\r\n *\r\n * @see [Required schema specification reference documentation page]($docs/presentation/RequiredSchemaSpecification.md)\r\n * @public\r\n */\r\nexport interface RequiredSchemaSpecification {\r\n /** Specifies the schema to whom the requirement is being set. */\r\n name: string;\r\n\r\n /**\r\n * Minimum required schema version (inclusive).\r\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n minVersion?: string;\r\n\r\n /**\r\n * Maximum allowed schema version (exclusive).\r\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\r\n *\r\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\r\n */\r\n maxVersion?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"SchemasSpecification.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/SchemasSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\n */\n\n/**\n * Specification for a list of ECSchemas\n * @public\n */\nexport interface SchemasSpecification {\n /** ECSchema names */\n schemaNames: string[];\n\n /**\n * Should schemas specified in [[schemaNames]] be excluded rather than included.\n * Exclusion works by including everything except what's specified in [[schemaNames]].\n */\n isExclude?: boolean;\n}\n\n/**\n * This specification is designed for specifying schema requirements for the [[Ruleset]] or specific\n * presentation rules.\n *\n * @see [Required schema specification reference documentation page]($docs/presentation/RequiredSchemaSpecification.md)\n * @public\n */\nexport interface RequiredSchemaSpecification {\n /** Specifies the schema to whom the requirement is being set. */\n name: string;\n\n /**\n * Minimum required schema version (inclusive).\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\n *\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\n */\n minVersion?: string;\n\n /**\n * Maximum allowed schema version (exclusive).\n * Format: `{read version}.{write version}.{minor version}`, e.g. `2.1.15`.\n *\n * @pattern ^[\\d]+\\.[\\d]+\\.[\\d]+$\n */\n maxVersion?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Variables.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Variables.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AA0BH;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IAC3B,uDAAuD;IACvD,oCAAe,CAAA;IAEf,0DAA0D;IAC1D,0CAAqB,CAAA;IAErB,uBAAuB;IACvB,2CAAsB,CAAA;IAEtB,wBAAwB;IACxB,qCAAgB,CAAA;AAClB,CAAC,EAZW,iBAAiB,KAAjB,iBAAiB,QAY5B","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 PresentationRules\r\n */\r\n\r\n/**\r\n * Presentation rules support variables that allow having additional customization of the hierarchy\r\n * and content based on variables whose values can change during application session.\r\n *\r\n * There are [special ECExpression symbols]($docs/presentation/advanced/ECExpressions.md#ruleset-variables-user-settings)\r\n * that can be used to access variables by their ID, so rule conditions can check for a value and change\r\n * the behavior. It allows showing / hiding some nodes in the hierarchy, change the grouping, etc.\r\n *\r\n * @public\r\n */\r\nexport interface VariablesGroup {\r\n /**\r\n * Group label to display in the UI.\r\n * May be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /** Grouped variables */\r\n vars: Variable[];\r\n\r\n /** Nested variable groups. */\r\n nestedGroups?: VariablesGroup[];\r\n}\r\n\r\n/**\r\n * Available value types of user-controllable variables\r\n * @public\r\n */\r\nexport enum VariableValueType {\r\n /** Bool value, that uses Yes / No strings in the UI */\r\n YesNo = \"YesNo\",\r\n\r\n /** Bool value, that uses Show / Hide strings in the UI */\r\n ShowHide = \"ShowHide\",\r\n\r\n /** Any string value */\r\n String = \"StringValue\",\r\n\r\n /** Any integer value */\r\n Int = \"IntValue\",\r\n}\r\n\r\n/**\r\n * Definition for single user-controllable variable\r\n * @public\r\n */\r\nexport interface Variable {\r\n /** Id of the variable */\r\n id: string;\r\n\r\n /**\r\n * Label of the variable that is shown in the UI.\r\n * May be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /**\r\n * Defines value type. Defaults to [[VariableValueType.YesNo]].\r\n * @see VariableValueType\r\n */\r\n type?: `${VariableValueType}`;\r\n\r\n /** Default value. */\r\n defaultValue?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"Variables.js","sourceRoot":"","sources":["../../../../src/presentation-common/rules/Variables.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AA0BH;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAYX;AAZD,WAAY,iBAAiB;IAC3B,uDAAuD;IACvD,oCAAe,CAAA;IAEf,0DAA0D;IAC1D,0CAAqB,CAAA;IAErB,uBAAuB;IACvB,2CAAsB,CAAA;IAEtB,wBAAwB;IACxB,qCAAgB,CAAA;AAClB,CAAC,EAZW,iBAAiB,KAAjB,iBAAiB,QAY5B","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 PresentationRules\n */\n\n/**\n * Presentation rules support variables that allow having additional customization of the hierarchy\n * and content based on variables whose values can change during application session.\n *\n * There are [special ECExpression symbols]($docs/presentation/advanced/ECExpressions.md#ruleset-variables-user-settings)\n * that can be used to access variables by their ID, so rule conditions can check for a value and change\n * the behavior. It allows showing / hiding some nodes in the hierarchy, change the grouping, etc.\n *\n * @public\n */\nexport interface VariablesGroup {\n /**\n * Group label to display in the UI.\n * May be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /** Grouped variables */\n vars: Variable[];\n\n /** Nested variable groups. */\n nestedGroups?: VariablesGroup[];\n}\n\n/**\n * Available value types of user-controllable variables\n * @public\n */\nexport enum VariableValueType {\n /** Bool value, that uses Yes / No strings in the UI */\n YesNo = \"YesNo\",\n\n /** Bool value, that uses Show / Hide strings in the UI */\n ShowHide = \"ShowHide\",\n\n /** Any string value */\n String = \"StringValue\",\n\n /** Any integer value */\n Int = \"IntValue\",\n}\n\n/**\n * Definition for single user-controllable variable\n * @public\n */\nexport interface Variable {\n /** Id of the variable */\n id: string;\n\n /**\n * Label of the variable that is shown in the UI.\n * May be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /**\n * Defines value type. Defaults to [[VariableValueType.YesNo]].\n * @see VariableValueType\n */\n type?: `${VariableValueType}`;\n\n /** Default value. */\n defaultValue?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentInstancesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\r\n */\r\n\r\nimport { MultiSchemaClassesSpecification } from \"../ClassSpecifications\";\r\nimport { ContentSpecificationBase } from \"./ContentSpecification\";\r\n\r\n/**\r\n * This specification creates content for all instances of specific ECClasses.\r\n *\r\n * @see [Content instances of specific classes specification reference documentation page]($docs/presentation/content/ContentInstancesOfSpecificClasses.md)\r\n * @public\r\n */\r\nexport interface ContentInstancesOfSpecificClassesSpecification extends ContentSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"ContentInstancesOfSpecificClasses\";\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that specify which\r\n * ECClasses need to be selected to form the result.\r\n */\r\n classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that prevents specified\r\n * ECClasses and subclasses from being selected by [[classes]] attribute.\r\n */\r\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Specifies whether properties of derived [[classes]] should be included in the content.\r\n */\r\n handlePropertiesPolymorphically?: boolean;\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/content/ECExpressions.md#instance-filter) for filtering instances\r\n * of ECClasses specified through the [[classes]] attribute.\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"ContentInstancesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 PresentationRules\n */\n\nimport { MultiSchemaClassesSpecification } from \"../ClassSpecifications\";\nimport { ContentSpecificationBase } from \"./ContentSpecification\";\n\n/**\n * This specification creates content for all instances of specific ECClasses.\n *\n * @see [Content instances of specific classes specification reference documentation page]($docs/presentation/content/ContentInstancesOfSpecificClasses.md)\n * @public\n */\nexport interface ContentInstancesOfSpecificClassesSpecification extends ContentSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"ContentInstancesOfSpecificClasses\";\n\n /**\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that specify which\n * ECClasses need to be selected to form the result.\n */\n classes: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\n\n /**\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that prevents specified\n * ECClasses and subclasses from being selected by [[classes]] attribute.\n */\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\n\n /**\n * Specifies whether properties of derived [[classes]] should be included in the content.\n */\n handlePropertiesPolymorphically?: boolean;\n\n /**\n * Specifies an [ECExpression]($docs/presentation/content/ECExpressions.md#instance-filter) for filtering instances\n * of ECClasses specified through the [[classes]] attribute.\n */\n instanceFilter?: string;\n}\n"]}