@itwin/presentation-common 4.6.0-dev.9 → 4.7.0-dev.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 (209) hide show
  1. package/CHANGELOG.md +11 -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 +1 -1
  5. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  6. package/lib/cjs/presentation-common/Diagnostics.js +1 -1
  7. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  8. package/lib/cjs/presentation-common/EC.js +7 -7
  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.js +1 -1
  12. package/lib/cjs/presentation-common/Error.js.map +1 -1
  13. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  14. package/lib/cjs/presentation-common/KeySet.js +4 -4
  15. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  16. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  17. package/lib/cjs/presentation-common/LabelDefinition.js +2 -2
  18. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  19. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  20. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  21. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  22. package/lib/cjs/presentation-common/PresentationRpcInterface.js +2 -2
  23. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  24. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  25. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  26. package/lib/cjs/presentation-common/RulesetVariables.js +2 -2
  27. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  28. package/lib/cjs/presentation-common/RulesetsFactory.js +2 -1
  29. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  30. package/lib/cjs/presentation-common/Update.js +2 -2
  31. package/lib/cjs/presentation-common/Update.js.map +1 -1
  32. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  33. package/lib/cjs/presentation-common/content/Category.js +1 -1
  34. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  35. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  36. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  37. package/lib/cjs/presentation-common/content/Descriptor.js +3 -3
  38. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  39. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +1 -1
  40. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts.map +1 -1
  41. package/lib/cjs/presentation-common/content/DisplayTypes.js +1 -1
  42. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  43. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  44. package/lib/cjs/presentation-common/content/Fields.js +2 -2
  45. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  46. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  47. package/lib/cjs/presentation-common/content/Property.js +1 -1
  48. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  49. package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  50. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +1 -0
  51. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  52. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  53. package/lib/cjs/presentation-common/content/TypeDescription.js +1 -1
  54. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  55. package/lib/cjs/presentation-common/content/Value.js +4 -4
  56. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  57. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +1 -1
  58. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  59. package/lib/cjs/presentation-common/hierarchy/Key.js +3 -3
  60. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  61. package/lib/cjs/presentation-common/hierarchy/Node.js +1 -1
  62. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  63. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +2 -2
  64. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  65. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  66. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  67. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +1 -1
  68. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  69. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  70. package/lib/cjs/presentation-common/rules/Rule.d.ts +2 -2
  71. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  72. package/lib/cjs/presentation-common/rules/Rule.js +1 -1
  73. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  74. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  75. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  76. package/lib/cjs/presentation-common/rules/Variables.js +1 -1
  77. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  78. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  79. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  80. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  81. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +1 -1
  82. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  83. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  84. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  85. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  86. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  87. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  88. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  89. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  90. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +1 -1
  91. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  92. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +2 -2
  93. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  94. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  95. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  96. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  97. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +3 -3
  98. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  99. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  100. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +1 -1
  101. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  102. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  103. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  104. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  105. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  106. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +1 -1
  107. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  108. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  109. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +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.js.map +1 -1
  123. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  124. package/lib/esm/presentation-common/Error.js.map +1 -1
  125. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  126. package/lib/esm/presentation-common/KeySet.js +3 -3
  127. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  128. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  129. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  130. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  131. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  132. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  133. package/lib/esm/presentation-common/PresentationRpcInterface.js +1 -2
  134. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  135. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  136. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  137. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  138. package/lib/esm/presentation-common/RulesetsFactory.js +2 -1
  139. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  140. package/lib/esm/presentation-common/Update.js.map +1 -1
  141. package/lib/esm/presentation-common/Utils.js.map +1 -1
  142. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  143. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  144. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  145. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  146. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +1 -1
  147. package/lib/esm/presentation-common/content/DisplayTypes.d.ts.map +1 -1
  148. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  149. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  150. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  151. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  152. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  153. package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  154. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +1 -0
  155. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  156. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  157. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  158. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  159. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  160. package/lib/esm/presentation-common/hierarchy/Key.js +1 -1
  161. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  162. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  163. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  164. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  165. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  166. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  167. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  168. package/lib/esm/presentation-common/rules/Rule.d.ts +2 -2
  169. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  170. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  171. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  172. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  173. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  174. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  175. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  176. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  177. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  178. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  179. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  180. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  181. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  182. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  183. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  184. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  185. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  186. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  187. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  188. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  189. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  190. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  191. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  192. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  193. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  194. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  195. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  196. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  197. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  198. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  199. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  200. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  201. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  202. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  203. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  204. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  205. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  206. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  207. package/lib/esm/presentation-common.js.map +1 -1
  208. package/lib/public/locales/en/Presentation.json +19 -19
  209. package/package.json +13 -12
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.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 { NavigationRuleBase } from \"./NavigationRule\";\r\n\r\n/**\r\n * Child node rules are used to define child nodes in a hierarchy.\r\n *\r\n * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)\r\n * @public\r\n */\r\nexport interface ChildNodeRule extends NavigationRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"ChildNodes\";\r\n}\r\n"]}
1
+ {"version":3,"file":"ChildNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeRule.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 { NavigationRuleBase } from \"./NavigationRule\";\n\n/**\n * Child node rules are used to define child nodes in a hierarchy.\n *\n * @see [Child node rule reference documentation page]($docs/presentation/hierarchies/ChildNodeRule.md)\n * @public\n */\nexport interface ChildNodeRule extends NavigationRuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"ChildNodes\";\n}\n"]}
@@ -18,5 +18,5 @@ var ChildNodeSpecificationTypes;
18
18
  ChildNodeSpecificationTypes["InstanceNodesOfSpecificClasses"] = "InstanceNodesOfSpecificClasses";
19
19
  ChildNodeSpecificationTypes["CustomQueryInstanceNodes"] = "CustomQueryInstanceNodes";
20
20
  ChildNodeSpecificationTypes["CustomNode"] = "CustomNode";
21
- })(ChildNodeSpecificationTypes = exports.ChildNodeSpecificationTypes || (exports.ChildNodeSpecificationTypes = {}));
21
+ })(ChildNodeSpecificationTypes || (exports.ChildNodeSpecificationTypes = ChildNodeSpecificationTypes = {}));
22
22
  //# sourceMappingURL=ChildNodeSpecification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AASH;;;GAGG;AACH,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EALW,2BAA2B,GAA3B,mCAA2B,KAA3B,mCAA2B,QAKtC","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 { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule\";\r\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification\";\r\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification\";\r\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification\";\r\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification\";\r\n\r\n/**\r\n * Used for serializing array of [[ChildNodeSpecification]]\r\n * @public\r\n */\r\nexport enum ChildNodeSpecificationTypes {\r\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\r\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\r\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\r\n CustomNode = \"CustomNode\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[ChildNodeSpecification]] implementations.\r\n *\r\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\r\n * @public\r\n */\r\nexport interface ChildNodeSpecificationBase {\r\n /**\r\n * Used for serializing to JSON.\r\n * @see ChildNodeSpecificationTypes\r\n */\r\n specType: `${ChildNodeSpecificationTypes}`;\r\n\r\n /**\r\n * Controls the order in which specifications are handled — specification with higher priority value is\r\n * handled first. If priorities are equal, the specifications are handled in the order they appear in the\r\n * ruleset.\r\n *\r\n * @type integer\r\n */\r\n priority?: number;\r\n\r\n /**\r\n * This attribute allows telling the engine that nodes created by this specification always or never have children.\r\n */\r\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\r\n\r\n /**\r\n * When `true`, instances nodes produced by this specification are omitted and their children appear one\r\n * hierarchy level higher.\r\n */\r\n hideNodesInHierarchy?: boolean;\r\n\r\n /**\r\n * Specifies whether nodes created through this specification should be hidden if they have no child nodes.\r\n */\r\n hideIfNoChildren?: boolean;\r\n\r\n /**\r\n * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates\r\n * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level\r\n * higher.\r\n */\r\n hideExpression?: string;\r\n\r\n /**\r\n * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order\r\n * of returned nodes is undefined.\r\n */\r\n doNotSort?: boolean;\r\n\r\n /**\r\n * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this\r\n * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).\r\n */\r\n suppressSimilarAncestorsCheck?: boolean;\r\n\r\n /**\r\n * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used\r\n * when creating the nodes.\r\n */\r\n relatedInstances?: RelatedInstanceSpecification[];\r\n\r\n /**\r\n * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that\r\n * allow creating child nodes without the need of supplying a condition to match the parent node.\r\n */\r\n nestedRules?: ChildNodeRule[];\r\n}\r\n\r\n/**\r\n * A container of default grouping properties. Used for specifications that support\r\n * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].\r\n *\r\n * @public\r\n */\r\nexport interface DefaultGroupingPropertiesContainer {\r\n /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */\r\n groupByClass?: boolean;\r\n\r\n /** Controls whether returned instances should be grouped by label. Defaults to `true`. */\r\n groupByLabel?: boolean;\r\n}\r\n\r\n/**\r\n * Hierarchy rule specifications that define what nodes are going to be returned by the rule.\r\n *\r\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\r\n * @public\r\n */\r\nexport type ChildNodeSpecification =\r\n | CustomNodeSpecification\r\n | InstanceNodesOfSpecificClassesSpecification\r\n | RelatedInstanceNodesSpecification\r\n | CustomQueryInstanceNodesSpecification;\r\n"]}
1
+ {"version":3,"file":"ChildNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/ChildNodeSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AASH;;;GAGG;AACH,IAAY,2BAKX;AALD,WAAY,2BAA2B;IACrC,4EAA6C,CAAA;IAC7C,gGAAiE,CAAA;IACjE,oFAAqD,CAAA;IACrD,wDAAyB,CAAA;AAC3B,CAAC,EALW,2BAA2B,2CAA3B,2BAA2B,QAKtC","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 { RelatedInstanceSpecification } from \"../RelatedInstanceSpecification\";\nimport { ChildNodeRule } from \"./ChildNodeRule\";\nimport { CustomNodeSpecification } from \"./CustomNodeSpecification\";\nimport { CustomQueryInstanceNodesSpecification } from \"./CustomQueryInstanceNodesSpecification\";\nimport { InstanceNodesOfSpecificClassesSpecification } from \"./InstanceNodesOfSpecificClassesSpecification\";\nimport { RelatedInstanceNodesSpecification } from \"./RelatedInstanceNodesSpecification\";\n\n/**\n * Used for serializing array of [[ChildNodeSpecification]]\n * @public\n */\nexport enum ChildNodeSpecificationTypes {\n RelatedInstanceNodes = \"RelatedInstanceNodes\",\n InstanceNodesOfSpecificClasses = \"InstanceNodesOfSpecificClasses\",\n CustomQueryInstanceNodes = \"CustomQueryInstanceNodes\",\n CustomNode = \"CustomNode\",\n}\n\n/**\n * Base interface for all [[ChildNodeSpecification]] implementations.\n *\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\n * @public\n */\nexport interface ChildNodeSpecificationBase {\n /**\n * Used for serializing to JSON.\n * @see ChildNodeSpecificationTypes\n */\n specType: `${ChildNodeSpecificationTypes}`;\n\n /**\n * Controls the order in which specifications are handled — specification with higher priority value is\n * handled first. If priorities are equal, the specifications are handled in the order they appear in the\n * ruleset.\n *\n * @type integer\n */\n priority?: number;\n\n /**\n * This attribute allows telling the engine that nodes created by this specification always or never have children.\n */\n hasChildren?: \"Always\" | \"Never\" | \"Unknown\";\n\n /**\n * When `true`, instances nodes produced by this specification are omitted and their children appear one\n * hierarchy level higher.\n */\n hideNodesInHierarchy?: boolean;\n\n /**\n * Specifies whether nodes created through this specification should be hidden if they have no child nodes.\n */\n hideIfNoChildren?: boolean;\n\n /**\n * When specified [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#specification) evaluates\n * to `true`, nodes produced by this specification are omitted and their children appear one hierarchy level\n * higher.\n */\n hideExpression?: string;\n\n /**\n * Suppress sorting of nodes returned by this specification. With this attribute set to `true`, the order\n * of returned nodes is undefined.\n */\n doNotSort?: boolean;\n\n /**\n * Specifies whether similar ancestor nodes' checking should be suppressed when creating nodes based on this\n * specification. See more in [infinite hierarchies prevention page]($docs/presentation/hierarchies/InfiniteHierarchiesPrevention.md).\n */\n suppressSimilarAncestorsCheck?: boolean;\n\n /**\n * Specifications of [related instances]($docs/presentation/RelatedInstanceSpecification.md) that can be used\n * when creating the nodes.\n */\n relatedInstances?: RelatedInstanceSpecification[];\n\n /**\n * Specifications of [nested child node rules]($docs/presentation/hierarchies/Terminology.md#nested-rule) that\n * allow creating child nodes without the need of supplying a condition to match the parent node.\n */\n nestedRules?: ChildNodeRule[];\n}\n\n/**\n * A container of default grouping properties. Used for specifications that support\n * default grouping. Not meant to be used directly, see [[ChildNodeSpecification]].\n *\n * @public\n */\nexport interface DefaultGroupingPropertiesContainer {\n /** Controls whether returned instances should be grouped by ECClass. Defaults to `true`. */\n groupByClass?: boolean;\n\n /** Controls whether returned instances should be grouped by label. Defaults to `true`. */\n groupByLabel?: boolean;\n}\n\n/**\n * Hierarchy rule specifications that define what nodes are going to be returned by the rule.\n *\n * @see [Child node specifications reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-specifications)\n * @public\n */\nexport type ChildNodeSpecification =\n | CustomNodeSpecification\n | InstanceNodesOfSpecificClassesSpecification\n | RelatedInstanceNodesSpecification\n | CustomQueryInstanceNodesSpecification;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.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 { ChildNodeSpecificationBase } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Returns a static custom-defined node that's not based on an ECInstance.\r\n *\r\n * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)\r\n * @public\r\n */\r\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"CustomNode\";\r\n\r\n /** Specifies node type, which is assigned to node's key. */\r\n type: string;\r\n\r\n /**\r\n * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).\r\n */\r\n label: string;\r\n\r\n /**\r\n * Specifies the value of [[Node.description]] property, which is a string that may\r\n * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose\r\n * whether and how to surface this information to users.\r\n */\r\n description?: string;\r\n\r\n /**\r\n * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's\r\n * up to the UI component to decide what to do with it.\r\n */\r\n imageId?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomNodeSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomNodeSpecification.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 { ChildNodeSpecificationBase } from \"./ChildNodeSpecification\";\n\n/**\n * Returns a static custom-defined node that's not based on an ECInstance.\n *\n * @see [Custom node specification reference documentation page]($docs/presentation/hierarchies/CustomNode.md)\n * @public\n */\nexport interface CustomNodeSpecification extends ChildNodeSpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"CustomNode\";\n\n /** Specifies node type, which is assigned to node's key. */\n type: string;\n\n /**\n * Specifies node label. This is a string value that may be [localized]($docs/presentation/advanced/Localization.md).\n */\n label: string;\n\n /**\n * Specifies the value of [[Node.description]] property, which is a string that may\n * be [localized]($docs/presentation/advanced/Localization.md). UI component displaying the node may choose\n * whether and how to surface this information to users.\n */\n description?: string;\n\n /**\n * Specifies node's image ID. If set, the ID is assigned to [[Node.imageId]] and it's\n * up to the UI component to decide what to do with it.\n */\n imageId?: string;\n}\n"]}
@@ -16,5 +16,5 @@ var QuerySpecificationTypes;
16
16
  (function (QuerySpecificationTypes) {
17
17
  QuerySpecificationTypes["String"] = "String";
18
18
  QuerySpecificationTypes["ECPropertyValue"] = "ECPropertyValue";
19
- })(QuerySpecificationTypes = exports.QuerySpecificationTypes || (exports.QuerySpecificationTypes = {}));
19
+ })(QuerySpecificationTypes || (exports.QuerySpecificationTypes = QuerySpecificationTypes = {}));
20
20
  //# sourceMappingURL=CustomQueryInstanceNodesSpecification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomQueryInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA8BH;;;GAGG;AACH,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8DAAmC,CAAA;AACrC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC","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 { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Returns nodes for instances returned by a provided ECSQL query.\r\n *\r\n * @see [Custom query instance nodes specification reference documentation page]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md)\r\n * @public\r\n */\r\nexport interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: \"CustomQueryInstanceNodes\";\r\n\r\n /**\r\n * Specifications of queries used to create the content. Query specifications define the actual\r\n * results of the specification.\r\n */\r\n queries?: QuerySpecification[];\r\n}\r\n\r\n/**\r\n * Query specifications used in [[CustomQueryInstanceNodesSpecification]].\r\n *\r\n * @see [Custom query specifications reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#attribute-queries)\r\n * @public\r\n */\r\nexport declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;\r\n\r\n/**\r\n * Used for serializing array of [[QuerySpecification]] to JSON.\r\n * @public\r\n */\r\nexport enum QuerySpecificationTypes {\r\n String = \"String\",\r\n ECPropertyValue = \"ECPropertyValue\",\r\n}\r\n\r\n/**\r\n * Base interface for all [[QuerySpecification]] implementations.\r\n * @public\r\n */\r\nexport interface QuerySpecificationBase {\r\n /**\r\n * Used for serializing to JSON.\r\n * @see QuerySpecificationTypes\r\n */\r\n specType: `${QuerySpecificationTypes}`;\r\n\r\n /**\r\n * Specification of ECClass whose instances the query returns. The specification may also point to a\r\n * base class of instances returned by the query. If the query returns instances that are not of this\r\n * class, they aren't included in the result set.\r\n */\r\n class: SingleSchemaClassSpecification;\r\n}\r\n\r\n/**\r\n * The specification contains an ECSQL query which is used to query for instances.\r\n *\r\n * @see [String query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#string-query-specification)\r\n * @public\r\n */\r\nexport interface StringQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"String\";\r\n\r\n /** Specifies the search ECSQL query. */\r\n query: string;\r\n}\r\n\r\n/**\r\n * The specification specifies the name of the parent node instance property whose value is the ECSQL\r\n * used to query for instances.\r\n *\r\n * @see [ECProperty value query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#ecproperty-value-query-specification)\r\n * @public\r\n */\r\nexport interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {\r\n /** Used for serializing to JSON. */\r\n specType: \"ECPropertyValue\";\r\n\r\n /**\r\n * Specifies name of the parent instance property whose value contains the ECSQL query.\r\n */\r\n parentPropertyName: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomQueryInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AA8BH;;;GAGG;AACH,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,4CAAiB,CAAA;IACjB,8DAAmC,CAAA;AACrC,CAAC,EAHW,uBAAuB,uCAAvB,uBAAuB,QAGlC","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 { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\n\n/**\n * Returns nodes for instances returned by a provided ECSQL query.\n *\n * @see [Custom query instance nodes specification reference documentation page]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md)\n * @public\n */\nexport interface CustomQueryInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\n /** Used for serializing to JSON. */\n specType: \"CustomQueryInstanceNodes\";\n\n /**\n * Specifications of queries used to create the content. Query specifications define the actual\n * results of the specification.\n */\n queries?: QuerySpecification[];\n}\n\n/**\n * Query specifications used in [[CustomQueryInstanceNodesSpecification]].\n *\n * @see [Custom query specifications reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#attribute-queries)\n * @public\n */\nexport declare type QuerySpecification = StringQuerySpecification | ECPropertyValueQuerySpecification;\n\n/**\n * Used for serializing array of [[QuerySpecification]] to JSON.\n * @public\n */\nexport enum QuerySpecificationTypes {\n String = \"String\",\n ECPropertyValue = \"ECPropertyValue\",\n}\n\n/**\n * Base interface for all [[QuerySpecification]] implementations.\n * @public\n */\nexport interface QuerySpecificationBase {\n /**\n * Used for serializing to JSON.\n * @see QuerySpecificationTypes\n */\n specType: `${QuerySpecificationTypes}`;\n\n /**\n * Specification of ECClass whose instances the query returns. The specification may also point to a\n * base class of instances returned by the query. If the query returns instances that are not of this\n * class, they aren't included in the result set.\n */\n class: SingleSchemaClassSpecification;\n}\n\n/**\n * The specification contains an ECSQL query which is used to query for instances.\n *\n * @see [String query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#string-query-specification)\n * @public\n */\nexport interface StringQuerySpecification extends QuerySpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"String\";\n\n /** Specifies the search ECSQL query. */\n query: string;\n}\n\n/**\n * The specification specifies the name of the parent node instance property whose value is the ECSQL\n * used to query for instances.\n *\n * @see [ECProperty value query specification reference documentation section]($docs/presentation/hierarchies/CustomQueryInstanceNodes.md#ecproperty-value-query-specification)\n * @public\n */\nexport interface ECPropertyValueQuerySpecification extends QuerySpecificationBase {\n /** Used for serializing to JSON. */\n specType: \"ECPropertyValue\";\n\n /**\n * Specifies name of the parent instance property whose value contains the ECSQL query.\n */\n parentPropertyName: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.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 { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Returns nodes for instances of specific ECClasses.\r\n *\r\n * @see [Instance nodes of specific classes specification reference documentation page]($docs/presentation/hierarchies/InstanceNodesOfSpecificClasses.md)\r\n * @public\r\n */\r\nexport interface InstanceNodesOfSpecificClassesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: \"InstanceNodesOfSpecificClasses\";\r\n\r\n /**\r\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that\r\n * specify which 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\r\n * prevents specified ECClasses and subclasses from being selected by [[classes]] attribute.\r\n */\r\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\r\n\r\n /**\r\n * Tells whether selecting instances from ECClasses specified in [[classes]] and [[excludedClasses]]\r\n * attributes should be polymorphic or not.\r\n *\r\n * @deprecated in 3.x. The attribute was replaced by `arePolymorphic` attribute specified individually for each class definition\r\n * under [[classes]] and [[excludedClasses]] attributes. At the moment, to keep backwards compatibility, this attribute acts\r\n * as a fallback value in case the flag is not specified individually for a class definition.\r\n */\r\n arePolymorphic?: boolean;\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\r\n * instances of ECClasses specified through the [[classes]] attribute.\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"InstanceNodesOfSpecificClassesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.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 { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\n\n/**\n * Returns nodes for instances of specific ECClasses.\n *\n * @see [Instance nodes of specific classes specification reference documentation page]($docs/presentation/hierarchies/InstanceNodesOfSpecificClasses.md)\n * @public\n */\nexport interface InstanceNodesOfSpecificClassesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\n /** Used for serializing to JSON. */\n specType: \"InstanceNodesOfSpecificClasses\";\n\n /**\n * Defines a set of [multi schema classes]($docs/presentation/MultiSchemaClassesSpecification.md) that\n * specify which 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\n * prevents specified ECClasses and subclasses from being selected by [[classes]] attribute.\n */\n excludedClasses?: MultiSchemaClassesSpecification | MultiSchemaClassesSpecification[];\n\n /**\n * Tells whether selecting instances from ECClasses specified in [[classes]] and [[excludedClasses]]\n * attributes should be polymorphic or not.\n *\n * @deprecated in 3.x. The attribute was replaced by `arePolymorphic` attribute specified individually for each class definition\n * under [[classes]] and [[excludedClasses]] attributes. At the moment, to keep backwards compatibility, this attribute acts\n * as a fallback value in case the flag is not specified individually for a class definition.\n */\n arePolymorphic?: boolean;\n\n /**\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\n * instances of ECClasses specified through the [[classes]] attribute.\n */\n instanceFilter?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.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 { CustomizationRule } from \"../customization/CustomizationRule\";\r\nimport { RuleBase } from \"../Rule\";\r\nimport { ChildNodeRule } from \"./ChildNodeRule\";\r\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification\";\r\nimport { RootNodeRule } from \"./RootNodeRule\";\r\nimport { SubCondition } from \"./SubCondition\";\r\n\r\n/**\r\n * Base class for all [[NavigationRule]] implementations.\r\n *\r\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\r\n * @public\r\n */\r\nexport interface NavigationRuleBase extends RuleBase {\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\r\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\r\n * to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * A list of hierarchy specifications that define what nodes are going to be returned.\r\n */\r\n specifications?: ChildNodeSpecification[];\r\n\r\n /**\r\n * A list of [customization rules]($docs/presentation/hierarchies/index.md#hierarchy-customization) that\r\n * apply only to nodes produced by this rule.\r\n */\r\n customizationRules?: CustomizationRule[];\r\n\r\n /**\r\n * A list of sub-rules which share *placement attributes* and\r\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\r\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\r\n * can add additional condition of their own.\r\n */\r\n subConditions?: SubCondition[];\r\n\r\n /**\r\n * Stop processing rules that have lower priority. Used in cases when recursion suppression is needed.\r\n */\r\n stopFurtherProcessing?: boolean;\r\n}\r\n\r\n/**\r\n * Navigation rules are used to define hierarchies displayed in tree components.\r\n *\r\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\r\n * @public\r\n */\r\nexport type NavigationRule = RootNodeRule | ChildNodeRule;\r\n"]}
1
+ {"version":3,"file":"NavigationRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NavigationRule.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 { CustomizationRule } from \"../customization/CustomizationRule\";\nimport { RuleBase } from \"../Rule\";\nimport { ChildNodeRule } from \"./ChildNodeRule\";\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification\";\nimport { RootNodeRule } from \"./RootNodeRule\";\nimport { SubCondition } from \"./SubCondition\";\n\n/**\n * Base class for all [[NavigationRule]] implementations.\n *\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\n * @public\n */\nexport interface NavigationRuleBase extends RuleBase {\n /**\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\n * to a boolean value.\n */\n condition?: string;\n\n /**\n * A list of hierarchy specifications that define what nodes are going to be returned.\n */\n specifications?: ChildNodeSpecification[];\n\n /**\n * A list of [customization rules]($docs/presentation/hierarchies/index.md#hierarchy-customization) that\n * apply only to nodes produced by this rule.\n */\n customizationRules?: CustomizationRule[];\n\n /**\n * A list of sub-rules which share *placement attributes* and\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\n * can add additional condition of their own.\n */\n subConditions?: SubCondition[];\n\n /**\n * Stop processing rules that have lower priority. Used in cases when recursion suppression is needed.\n */\n stopFurtherProcessing?: boolean;\n}\n\n/**\n * Navigation rules are used to define hierarchies displayed in tree components.\n *\n * @see [Hierarchies reference documentation page]($docs/presentation/hierarchies/index.md)\n * @public\n */\nexport type NavigationRule = RootNodeRule | ChildNodeRule;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeArtifactsRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NodeArtifactsRule.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 { RuleBase } from \"../Rule\";\r\n\r\n/**\r\n * Node artifacts rules are used to create and assign artifacts to specific nodes. The artifacts can be\r\n * accessed when evaluating parent node's `hideExpression` to decide whether it should be hidden or not.\r\n *\r\n * @see [Node artifacts rule reference documentation page]($docs/presentation/hierarchies/NodeArtifactsRule.md)\r\n * @public\r\n */\r\nexport interface NodeArtifactsRule extends RuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"NodeArtifacts\";\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/customization/ECExpressions.md#rule-condition) that\r\n * allows applying node artifacts based on evaluation result, e.g. by some property of the parent node.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * A map of [ECExpressions]($docs/presentation/hierarchies/ECExpressions.md#specification) whose evaluation results\r\n * are used as artifact values.\r\n */\r\n items: { [key: string]: string };\r\n}\r\n"]}
1
+ {"version":3,"file":"NodeArtifactsRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/NodeArtifactsRule.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 { RuleBase } from \"../Rule\";\n\n/**\n * Node artifacts rules are used to create and assign artifacts to specific nodes. The artifacts can be\n * accessed when evaluating parent node's `hideExpression` to decide whether it should be hidden or not.\n *\n * @see [Node artifacts rule reference documentation page]($docs/presentation/hierarchies/NodeArtifactsRule.md)\n * @public\n */\nexport interface NodeArtifactsRule extends RuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"NodeArtifacts\";\n\n /**\n * Specifies an [ECExpression]($docs/presentation/customization/ECExpressions.md#rule-condition) that\n * allows applying node artifacts based on evaluation result, e.g. by some property of the parent node.\n */\n condition?: string;\n\n /**\n * A map of [ECExpressions]($docs/presentation/hierarchies/ECExpressions.md#specification) whose evaluation results\n * are used as artifact values.\n */\n items: { [key: string]: string };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RelatedInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.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 { RepeatableRelationshipPathSpecification } from \"../RelationshipPathSpecification\";\r\nimport { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * Produces ECInstance nodes that are related to some source ECInstance. The source instance is determined\r\n * by traversing the hierarchy upwards until an ECInstance node is encountered.\r\n *\r\n * @see [Related instance nodes specification reference documentation page]($docs/presentation/hierarchies/RelatedInstanceNodes.md)\r\n * @public\r\n */\r\nexport interface RelatedInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\r\n /** Used for serializing to JSON. */\r\n specType: \"RelatedInstanceNodes\";\r\n\r\n /**\r\n * Specifies a chain of [relationship path specifications]($docs/presentation/RepeatableRelationshipPathSpecification.md)\r\n * that forms a path from a source instance to the output instances. When this array is empty, the specification produces\r\n * no results.\r\n */\r\n relationshipPaths: RepeatableRelationshipPathSpecification[];\r\n\r\n /**\r\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\r\n * instances of ECClasses targeted through the [[relationshipPaths]] attribute.\r\n */\r\n instanceFilter?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"RelatedInstanceNodesSpecification.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.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 { RepeatableRelationshipPathSpecification } from \"../RelationshipPathSpecification\";\nimport { ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer } from \"./ChildNodeSpecification\";\n\n/**\n * Produces ECInstance nodes that are related to some source ECInstance. The source instance is determined\n * by traversing the hierarchy upwards until an ECInstance node is encountered.\n *\n * @see [Related instance nodes specification reference documentation page]($docs/presentation/hierarchies/RelatedInstanceNodes.md)\n * @public\n */\nexport interface RelatedInstanceNodesSpecification extends ChildNodeSpecificationBase, DefaultGroupingPropertiesContainer {\n /** Used for serializing to JSON. */\n specType: \"RelatedInstanceNodes\";\n\n /**\n * Specifies a chain of [relationship path specifications]($docs/presentation/RepeatableRelationshipPathSpecification.md)\n * that forms a path from a source instance to the output instances. When this array is empty, the specification produces\n * no results.\n */\n relationshipPaths: RepeatableRelationshipPathSpecification[];\n\n /**\n * Specifies an [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#instance-filter) for filtering\n * instances of ECClasses targeted through the [[relationshipPaths]] attribute.\n */\n instanceFilter?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RootNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RootNodeRule.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 { NavigationRuleBase } from \"./NavigationRule\";\r\n\r\n/**\r\n * Root node rules are used to define nodes that are displayed at the root hierarchy level.\r\n *\r\n * @see [Root node rule reference documentation page]($docs/presentation/hierarchies/RootNodeRule.md)\r\n * @public\r\n */\r\nexport interface RootNodeRule extends NavigationRuleBase {\r\n /** Used for serializing to JSON. */\r\n ruleType: \"RootNodes\";\r\n\r\n /** Tells the library to assign produced nodes a flag, indicating that they should be automatically expanded. */\r\n autoExpand?: boolean;\r\n}\r\n"]}
1
+ {"version":3,"file":"RootNodeRule.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/RootNodeRule.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 { NavigationRuleBase } from \"./NavigationRule\";\n\n/**\n * Root node rules are used to define nodes that are displayed at the root hierarchy level.\n *\n * @see [Root node rule reference documentation page]($docs/presentation/hierarchies/RootNodeRule.md)\n * @public\n */\nexport interface RootNodeRule extends NavigationRuleBase {\n /** Used for serializing to JSON. */\n ruleType: \"RootNodes\";\n\n /** Tells the library to assign produced nodes a flag, indicating that they should be automatically expanded. */\n autoExpand?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SubCondition.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/SubCondition.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 { RequiredSchemaSpecification } from \"../SchemasSpecification\";\r\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification\";\r\n\r\n/**\r\n * This is a sub-rule which shares *placement attributes* and\r\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\r\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\r\n * can add additional condition of their own.\r\n *\r\n * @see [Sub-conditions reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-subconditions)\r\n * @public\r\n */\r\nexport interface SubCondition {\r\n /**\r\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\r\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\r\n * to a boolean value.\r\n */\r\n condition?: string;\r\n\r\n /**\r\n * Specifications that define [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) for\r\n * the rule to take effect.\r\n */\r\n requiredSchemas?: RequiredSchemaSpecification[];\r\n\r\n /**\r\n * A list of nested sub-rules which share *placement attributes* of this sub-condition. This means the\r\n * attributes of this sub-condition are still in effect and the sub-rules can add additional condition\r\n * of their own.\r\n */\r\n subConditions?: SubCondition[];\r\n\r\n /** A list of hierarchy specifications that define what nodes are going to be returned. */\r\n specifications?: ChildNodeSpecification[];\r\n}\r\n"]}
1
+ {"version":3,"file":"SubCondition.js","sourceRoot":"","sources":["../../../../../src/presentation-common/rules/hierarchy/SubCondition.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 { RequiredSchemaSpecification } from \"../SchemasSpecification\";\nimport { ChildNodeSpecification } from \"./ChildNodeSpecification\";\n\n/**\n * This is a sub-rule which shares *placement attributes* and\n * [nested customization rules]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-customizationrules)\n * of the hierarchy rule. This means the attributes of hierarchy rule are still in effect and the sub-rules\n * can add additional condition of their own.\n *\n * @see [Sub-conditions reference documentation section]($docs/presentation/hierarchies/ChildNodeRule.md#attribute-subconditions)\n * @public\n */\nexport interface SubCondition {\n /**\n * Defines a condition which needs to be met in order for the rule to be used. The condition is an\n * [ECExpression]($docs/presentation/hierarchies/ECExpressions.md#rule-condition) which has to evaluate\n * to a boolean value.\n */\n condition?: string;\n\n /**\n * Specifications that define [ECSchema requirements]($docs/presentation/RequiredSchemaSpecification.md) for\n * the rule to take effect.\n */\n requiredSchemas?: RequiredSchemaSpecification[];\n\n /**\n * A list of nested sub-rules which share *placement attributes* of this sub-condition. This means the\n * attributes of this sub-condition are still in effect and the sub-rules can add additional condition\n * of their own.\n */\n subConditions?: SubCondition[];\n\n /** A list of hierarchy specifications that define what nodes are going to be returned. */\n specifications?: ChildNodeSpecification[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/presentation-common/selection/SelectionScope.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 UnifiedSelection\r\n */\r\n\r\n/**\r\n * Data structure that describes a [selection scope]($docs/presentation/unified-selection/index#selection-scopes).\r\n * @public\r\n */\r\nexport interface SelectionScope {\r\n /** Unique ID of the selection scope */\r\n id: string;\r\n /** Label */\r\n label: string;\r\n /** Description */\r\n description?: string;\r\n}\r\n\r\n/**\r\n * A data structure that defines properties for applying element selection scope.\r\n * @public\r\n */\r\nexport interface ElementSelectionScopeProps {\r\n /** Identifies this as the \"element\" selection scope */\r\n id: \"element\";\r\n /**\r\n * Specifies how far \"up\" we should walk to find the target element. When not specified or `0`,\r\n * the target element matches the request element. When `1`, the target element matches the direct parent element.\r\n * When `2`, the target element is parent of the parent element and so on. In all situations when this is `> 0`,\r\n * we're not walking further than the last existing element, for example when `ancestorLevel = 1` (direct parent\r\n * element is requested), but the request element doesn't have a parent, the request element is returned as the result.\r\n */\r\n ancestorLevel?: number;\r\n}\r\n\r\n/**\r\n * A data structure that defines properties for applying a selection scope.\r\n * @public\r\n */\r\nexport type SelectionScopeProps = ElementSelectionScopeProps | { id: string };\r\n"]}
1
+ {"version":3,"file":"SelectionScope.js","sourceRoot":"","sources":["../../../../src/presentation-common/selection/SelectionScope.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 UnifiedSelection\n */\n\n/**\n * Data structure that describes a [selection scope]($docs/presentation/unified-selection/index#selection-scopes).\n * @public\n */\nexport interface SelectionScope {\n /** Unique ID of the selection scope */\n id: string;\n /** Label */\n label: string;\n /** Description */\n description?: string;\n}\n\n/**\n * A data structure that defines properties for applying element selection scope.\n * @public\n */\nexport interface ElementSelectionScopeProps {\n /** Identifies this as the \"element\" selection scope */\n id: \"element\";\n /**\n * Specifies how far \"up\" we should walk to find the target element. When not specified or `0`,\n * the target element matches the request element. When `1`, the target element matches the direct parent element.\n * When `2`, the target element is parent of the parent element and so on. In all situations when this is `> 0`,\n * we're not walking further than the last existing element, for example when `ancestorLevel = 1` (direct parent\n * element is requested), but the request element doesn't have a parent, the request element is returned as the result.\n */\n ancestorLevel?: number;\n}\n\n/**\n * A data structure that defines properties for applying a selection scope.\n * @public\n */\nexport type SelectionScopeProps = ElementSelectionScopeProps | { id: string };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-common.js","sourceRoot":"","sources":["../../src/presentation-common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;gGAGgG;AAChG;;;;;GAKG;AACH,mEAAiD;AACjD,oEAAkD;AAClD,2DAAyC;AACzC,8DAA4C;AAC5C,+DAA6C;AAC7C,wEAAsD;AACtD,mFAAiE;AACjE,0EAAwD;AACxD,yEAAuD;AACvD,wEAAsD;AACtD,+DAA6C;AAC7C,8DAA4C;AAC5C,iFAA+D;AAC/D,2EAAyD;AACzD,iFAA+D;AAC/D,kFAAgE;AAEhE;;;;;;GAMG;AACH,iFAA+D;AAC/D,2EAAyD;AACzD,0EAAwD;AAExD;;;;;GAKG;AACH,iFAA+D;AAE/D;;;;;GAKG;AACH,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AACzD,6EAA2D;AAC3D,uEAAqD;AACrD,uEAAqD;AACrD,qEAAmD;AACnD,yEAAuD;AACvD,yEAAuD;AACvD,gFAA8D;AAC9D,sEAAoD;AACpD,iFAA+D;AAC/D,uFAAqE;AAErE;;;;;GAKG;AACH,iFAA+D;AAC/D,sEAAoD;AACpD,uEAAqD;AACrD,kFAAgE;AAEhE;;;;;GAKG;AACH,sFAAoE;AACpE,+FAA6E;AAC7E,gGAA8E;AAC9E,8GAA4F;AAC5F,oHAAkG;AAClG,uFAAqE;AACrE,0FAAwE;AACxE,0GAAwF;AACxF,qFAAmE;AACnE,qFAAmE;AACnE,yFAAuE;AACvE,8FAA4E;AAC5E,6FAA2E;AAC3E,yFAAuE;AACvE,4FAA0E;AAC1E,kGAAgF;AAChF,0FAAwE;AACxE,wFAAsE;AACtE,0FAAwE;AACxE,qHAAmG;AACnG,2GAAyF;AACzF,kFAAgE;AAChE,2FAAyE;AACzE,4FAA0E;AAC1E,yGAAuF;AACvF,sGAAoF;AACpF,kHAAgG;AAChG,gGAA8E;AAC9E,8GAA4F;AAC5F,6GAA2F;AAC3F,4GAA0F;AAC1F,+GAA6F;AAC7F,kFAAgE;AAChE,2FAAyE;AACzE,oFAAkE;AAClE,4FAA0E;AAC1E,mEAAiD;AACjD,sEAAoD;AACpD,mFAAiE;AACjE,wEAAsD","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/**\r\n * @module Core\r\n *\r\n * @docs-group-description Core\r\n * Common types used all across Presentation packages.\r\n */\r\nexport * from \"./presentation-common/AsyncTasks\";\r\nexport * from \"./presentation-common/Diagnostics\";\r\nexport * from \"./presentation-common/EC\";\r\nexport * from \"./presentation-common/Error\";\r\nexport * from \"./presentation-common/KeySet\";\r\nexport * from \"./presentation-common/LabelDefinition\";\r\nexport * from \"./presentation-common/PresentationManagerOptions\";\r\nexport * from \"./presentation-common/RegisteredRuleset\";\r\nexport * from \"./presentation-common/RulesetVariables\";\r\nexport * from \"./presentation-common/RulesetsFactory\";\r\nexport * from \"./presentation-common/Update\";\r\nexport * from \"./presentation-common/Utils\";\r\nexport * from \"./presentation-common/PresentationIpcInterface\";\r\nexport * from \"./presentation-common/LocalizationHelper\";\r\nexport * from \"./presentation-common/InstanceFilterDefinition\";\r\nexport * from \"./presentation-common/KoqPropertyValueFormatter\";\r\n\r\n/**\r\n * @module RPC\r\n *\r\n * @docs-group-description RPC\r\n * Types used for RPC communication between frontend and backend. Generally should\r\n * only be used internally by presentation packages.\r\n */\r\nexport * from \"./presentation-common/PresentationRpcInterface\";\r\nexport * from \"./presentation-common/RpcRequestsHandler\";\r\nexport * from \"./presentation-common/ElementProperties\";\r\n\r\n/**\r\n * @module UnifiedSelection\r\n *\r\n * @docs-group-description UnifiedSelection\r\n * Types related to [unified selection]($docs/presentation/unified-selection/index.md).\r\n */\r\nexport * from \"./presentation-common/selection/SelectionScope\";\r\n\r\n/**\r\n * @module Content\r\n *\r\n * @docs-group-description Content\r\n * Types related to presentation [content]($docs/presentation/content/index.md).\r\n */\r\nexport * from \"./presentation-common/content/Category\";\r\nexport * from \"./presentation-common/content/Content\";\r\nexport * from \"./presentation-common/content/Descriptor\";\r\nexport * from \"./presentation-common/content/DisplayTypes\";\r\nexport * from \"./presentation-common/content/Editor\";\r\nexport * from \"./presentation-common/content/Fields\";\r\nexport * from \"./presentation-common/content/Item\";\r\nexport * from \"./presentation-common/content/Property\";\r\nexport * from \"./presentation-common/content/Renderer\";\r\nexport * from \"./presentation-common/content/TypeDescription\";\r\nexport * from \"./presentation-common/content/Value\";\r\nexport * from \"./presentation-common/content/ContentTraverser\";\r\nexport * from \"./presentation-common/content/PropertyValueFormatter\";\r\n\r\n/**\r\n * @module Hierarchies\r\n *\r\n * @docs-group-description Hierarchies\r\n * Types related to presentation [hierarchies]($docs/presentation/hierarchies/index.md).\r\n */\r\nexport * from \"./presentation-common/hierarchy/HierarchyLevel\";\r\nexport * from \"./presentation-common/hierarchy/Key\";\r\nexport * from \"./presentation-common/hierarchy/Node\";\r\nexport * from \"./presentation-common/hierarchy/NodePathElement\";\r\n\r\n/**\r\n * @module PresentationRules\r\n *\r\n * @docs-group-description PresentationRules\r\n * Types for defining the presentation ruleset.\r\n */\r\nexport * from \"./presentation-common/rules/hierarchy/ChildNodeRule\";\r\nexport * from \"./presentation-common/rules/hierarchy/ChildNodeSpecification\";\r\nexport * from \"./presentation-common/rules/hierarchy/CustomNodeSpecification\";\r\nexport * from \"./presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification\";\r\nexport * from \"./presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification\";\r\nexport * from \"./presentation-common/rules/hierarchy/NavigationRule\";\r\nexport * from \"./presentation-common/rules/hierarchy/NodeArtifactsRule\";\r\nexport * from \"./presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification\";\r\nexport * from \"./presentation-common/rules/hierarchy/RootNodeRule\";\r\nexport * from \"./presentation-common/rules/hierarchy/SubCondition\";\r\nexport * from \"./presentation-common/rules/customization/CheckBoxRule\";\r\nexport * from \"./presentation-common/rules/customization/CustomizationRule\";\r\nexport * from \"./presentation-common/rules/customization/ExtendedDataRule\";\r\nexport * from \"./presentation-common/rules/customization/GroupingRule\";\r\nexport * from \"./presentation-common/rules/customization/ImageIdOverride\";\r\nexport * from \"./presentation-common/rules/customization/InstanceLabelOverride\";\r\nexport * from \"./presentation-common/rules/customization/LabelOverride\";\r\nexport * from \"./presentation-common/rules/customization/SortingRule\";\r\nexport * from \"./presentation-common/rules/customization/StyleOverride\";\r\nexport * from \"./presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification\";\r\nexport * from \"./presentation-common/rules/content/ContentRelatedInstancesSpecification\";\r\nexport * from \"./presentation-common/rules/content/ContentRule\";\r\nexport * from \"./presentation-common/rules/content/ContentSpecification\";\r\nexport * from \"./presentation-common/rules/content/PropertySpecification\";\r\nexport * from \"./presentation-common/rules/content/SelectedNodeInstancesSpecification\";\r\nexport * from \"./presentation-common/rules/content/DefaultPropertyCategoryOverride\";\r\nexport * from \"./presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification\";\r\nexport * from \"./presentation-common/rules/content/modifiers/ContentModifier\";\r\nexport * from \"./presentation-common/rules/content/modifiers/PropertyCategorySpecification\";\r\nexport * from \"./presentation-common/rules/content/modifiers/PropertyEditorsSpecification\";\r\nexport * from \"./presentation-common/rules/content/modifiers/CustomRendererSpecification\";\r\nexport * from \"./presentation-common/rules/content/modifiers/RelatedPropertiesSpecification\";\r\nexport * from \"./presentation-common/rules/ClassSpecifications\";\r\nexport * from \"./presentation-common/rules/RelatedInstanceSpecification\";\r\nexport * from \"./presentation-common/rules/RelationshipDirection\";\r\nexport * from \"./presentation-common/rules/RelationshipPathSpecification\";\r\nexport * from \"./presentation-common/rules/Rule\";\r\nexport * from \"./presentation-common/rules/Ruleset\";\r\nexport * from \"./presentation-common/rules/SchemasSpecification\";\r\nexport * from \"./presentation-common/rules/Variables\";\r\n"]}
1
+ {"version":3,"file":"presentation-common.js","sourceRoot":"","sources":["../../src/presentation-common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;gGAGgG;AAChG;;;;;GAKG;AACH,mEAAiD;AACjD,oEAAkD;AAClD,2DAAyC;AACzC,8DAA4C;AAC5C,+DAA6C;AAC7C,wEAAsD;AACtD,mFAAiE;AACjE,0EAAwD;AACxD,yEAAuD;AACvD,wEAAsD;AACtD,+DAA6C;AAC7C,8DAA4C;AAC5C,iFAA+D;AAC/D,2EAAyD;AACzD,iFAA+D;AAC/D,kFAAgE;AAEhE;;;;;;GAMG;AACH,iFAA+D;AAC/D,2EAAyD;AACzD,0EAAwD;AAExD;;;;;GAKG;AACH,iFAA+D;AAE/D;;;;;GAKG;AACH,yEAAuD;AACvD,wEAAsD;AACtD,2EAAyD;AACzD,6EAA2D;AAC3D,uEAAqD;AACrD,uEAAqD;AACrD,qEAAmD;AACnD,yEAAuD;AACvD,yEAAuD;AACvD,gFAA8D;AAC9D,sEAAoD;AACpD,iFAA+D;AAC/D,uFAAqE;AAErE;;;;;GAKG;AACH,iFAA+D;AAC/D,sEAAoD;AACpD,uEAAqD;AACrD,kFAAgE;AAEhE;;;;;GAKG;AACH,sFAAoE;AACpE,+FAA6E;AAC7E,gGAA8E;AAC9E,8GAA4F;AAC5F,oHAAkG;AAClG,uFAAqE;AACrE,0FAAwE;AACxE,0GAAwF;AACxF,qFAAmE;AACnE,qFAAmE;AACnE,yFAAuE;AACvE,8FAA4E;AAC5E,6FAA2E;AAC3E,yFAAuE;AACvE,4FAA0E;AAC1E,kGAAgF;AAChF,0FAAwE;AACxE,wFAAsE;AACtE,0FAAwE;AACxE,qHAAmG;AACnG,2GAAyF;AACzF,kFAAgE;AAChE,2FAAyE;AACzE,4FAA0E;AAC1E,yGAAuF;AACvF,sGAAoF;AACpF,kHAAgG;AAChG,gGAA8E;AAC9E,8GAA4F;AAC5F,6GAA2F;AAC3F,4GAA0F;AAC1F,+GAA6F;AAC7F,kFAAgE;AAChE,2FAAyE;AACzE,oFAAkE;AAClE,4FAA0E;AAC1E,mEAAiD;AACjD,sEAAoD;AACpD,mFAAiE;AACjE,wEAAsD","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/**\n * @module Core\n *\n * @docs-group-description Core\n * Common types used all across Presentation packages.\n */\nexport * from \"./presentation-common/AsyncTasks\";\nexport * from \"./presentation-common/Diagnostics\";\nexport * from \"./presentation-common/EC\";\nexport * from \"./presentation-common/Error\";\nexport * from \"./presentation-common/KeySet\";\nexport * from \"./presentation-common/LabelDefinition\";\nexport * from \"./presentation-common/PresentationManagerOptions\";\nexport * from \"./presentation-common/RegisteredRuleset\";\nexport * from \"./presentation-common/RulesetVariables\";\nexport * from \"./presentation-common/RulesetsFactory\";\nexport * from \"./presentation-common/Update\";\nexport * from \"./presentation-common/Utils\";\nexport * from \"./presentation-common/PresentationIpcInterface\";\nexport * from \"./presentation-common/LocalizationHelper\";\nexport * from \"./presentation-common/InstanceFilterDefinition\";\nexport * from \"./presentation-common/KoqPropertyValueFormatter\";\n\n/**\n * @module RPC\n *\n * @docs-group-description RPC\n * Types used for RPC communication between frontend and backend. Generally should\n * only be used internally by presentation packages.\n */\nexport * from \"./presentation-common/PresentationRpcInterface\";\nexport * from \"./presentation-common/RpcRequestsHandler\";\nexport * from \"./presentation-common/ElementProperties\";\n\n/**\n * @module UnifiedSelection\n *\n * @docs-group-description UnifiedSelection\n * Types related to [unified selection]($docs/presentation/unified-selection/index.md).\n */\nexport * from \"./presentation-common/selection/SelectionScope\";\n\n/**\n * @module Content\n *\n * @docs-group-description Content\n * Types related to presentation [content]($docs/presentation/content/index.md).\n */\nexport * from \"./presentation-common/content/Category\";\nexport * from \"./presentation-common/content/Content\";\nexport * from \"./presentation-common/content/Descriptor\";\nexport * from \"./presentation-common/content/DisplayTypes\";\nexport * from \"./presentation-common/content/Editor\";\nexport * from \"./presentation-common/content/Fields\";\nexport * from \"./presentation-common/content/Item\";\nexport * from \"./presentation-common/content/Property\";\nexport * from \"./presentation-common/content/Renderer\";\nexport * from \"./presentation-common/content/TypeDescription\";\nexport * from \"./presentation-common/content/Value\";\nexport * from \"./presentation-common/content/ContentTraverser\";\nexport * from \"./presentation-common/content/PropertyValueFormatter\";\n\n/**\n * @module Hierarchies\n *\n * @docs-group-description Hierarchies\n * Types related to presentation [hierarchies]($docs/presentation/hierarchies/index.md).\n */\nexport * from \"./presentation-common/hierarchy/HierarchyLevel\";\nexport * from \"./presentation-common/hierarchy/Key\";\nexport * from \"./presentation-common/hierarchy/Node\";\nexport * from \"./presentation-common/hierarchy/NodePathElement\";\n\n/**\n * @module PresentationRules\n *\n * @docs-group-description PresentationRules\n * Types for defining the presentation ruleset.\n */\nexport * from \"./presentation-common/rules/hierarchy/ChildNodeRule\";\nexport * from \"./presentation-common/rules/hierarchy/ChildNodeSpecification\";\nexport * from \"./presentation-common/rules/hierarchy/CustomNodeSpecification\";\nexport * from \"./presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification\";\nexport * from \"./presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification\";\nexport * from \"./presentation-common/rules/hierarchy/NavigationRule\";\nexport * from \"./presentation-common/rules/hierarchy/NodeArtifactsRule\";\nexport * from \"./presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification\";\nexport * from \"./presentation-common/rules/hierarchy/RootNodeRule\";\nexport * from \"./presentation-common/rules/hierarchy/SubCondition\";\nexport * from \"./presentation-common/rules/customization/CheckBoxRule\";\nexport * from \"./presentation-common/rules/customization/CustomizationRule\";\nexport * from \"./presentation-common/rules/customization/ExtendedDataRule\";\nexport * from \"./presentation-common/rules/customization/GroupingRule\";\nexport * from \"./presentation-common/rules/customization/ImageIdOverride\";\nexport * from \"./presentation-common/rules/customization/InstanceLabelOverride\";\nexport * from \"./presentation-common/rules/customization/LabelOverride\";\nexport * from \"./presentation-common/rules/customization/SortingRule\";\nexport * from \"./presentation-common/rules/customization/StyleOverride\";\nexport * from \"./presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification\";\nexport * from \"./presentation-common/rules/content/ContentRelatedInstancesSpecification\";\nexport * from \"./presentation-common/rules/content/ContentRule\";\nexport * from \"./presentation-common/rules/content/ContentSpecification\";\nexport * from \"./presentation-common/rules/content/PropertySpecification\";\nexport * from \"./presentation-common/rules/content/SelectedNodeInstancesSpecification\";\nexport * from \"./presentation-common/rules/content/DefaultPropertyCategoryOverride\";\nexport * from \"./presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification\";\nexport * from \"./presentation-common/rules/content/modifiers/ContentModifier\";\nexport * from \"./presentation-common/rules/content/modifiers/PropertyCategorySpecification\";\nexport * from \"./presentation-common/rules/content/modifiers/PropertyEditorsSpecification\";\nexport * from \"./presentation-common/rules/content/modifiers/CustomRendererSpecification\";\nexport * from \"./presentation-common/rules/content/modifiers/RelatedPropertiesSpecification\";\nexport * from \"./presentation-common/rules/ClassSpecifications\";\nexport * from \"./presentation-common/rules/RelatedInstanceSpecification\";\nexport * from \"./presentation-common/rules/RelationshipDirection\";\nexport * from \"./presentation-common/rules/RelationshipPathSpecification\";\nexport * from \"./presentation-common/rules/Rule\";\nexport * from \"./presentation-common/rules/Ruleset\";\nexport * from \"./presentation-common/rules/SchemasSpecification\";\nexport * from \"./presentation-common/rules/Variables\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncTasks.js","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,IAAI,EAA2B,MAAM,qBAAqB,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACU,sBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAWpD,CAAC;IAVC,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACM,cAAc;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { Guid, GuidString, IDisposable } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A helper to track ongoing async tasks. Usage:\r\n * ```\r\n * await using(tracker.trackAsyncTask(), async (_r) => {\r\n * await doSomethingAsync();\r\n * });\r\n * ```\r\n *\r\n * Can be used with `waitForPendingAsyncs` in test helpers to wait for all\r\n * async tasks to complete.\r\n *\r\n * @internal\r\n */\r\nexport class AsyncTasksTracker {\r\n private _asyncsInProgress = new Set<GuidString>();\r\n public get pendingAsyncs() {\r\n return this._asyncsInProgress;\r\n }\r\n public trackAsyncTask(): IDisposable {\r\n const id = Guid.createValue();\r\n this._asyncsInProgress.add(id);\r\n return {\r\n dispose: () => this._asyncsInProgress.delete(id),\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"AsyncTasks.js","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,IAAI,EAA2B,MAAM,qBAAqB,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACU,sBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAWpD,CAAC;IAVC,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACM,cAAc;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;CACF","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 Core\n */\n\nimport { Guid, GuidString, IDisposable } from \"@itwin/core-bentley\";\n\n/**\n * A helper to track ongoing async tasks. Usage:\n * ```\n * await using(tracker.trackAsyncTask(), async (_r) => {\n * await doSomethingAsync();\n * });\n * ```\n *\n * Can be used with `waitForPendingAsyncs` in test helpers to wait for all\n * async tasks to complete.\n *\n * @internal\n */\nexport class AsyncTasksTracker {\n private _asyncsInProgress = new Set<GuidString>();\n public get pendingAsyncs() {\n return this._asyncsInProgress;\n }\n public trackAsyncTask(): IDisposable {\n const id = Guid.createValue();\n this._asyncsInProgress.add(id);\n return {\n dispose: () => this._asyncsInProgress.delete(id),\n };\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommonLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-common/CommonLoggerCategory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IAC1C,mEAA+B,CAAA;AACjC,CAAC,EAFW,gCAAgC,KAAhC,gCAAgC,QAE3C","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note All logger categories in this package start with the `presentation-common` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationCommonLoggerCategory {\r\n Package = \"presentation-common\",\r\n}\r\n"]}
1
+ {"version":3,"file":"CommonLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-common/CommonLoggerCategory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IAC1C,mEAA+B,CAAA;AACjC,CAAC,EAFW,gCAAgC,KAAhC,gCAAgC,QAE3C","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 Core\n */\n\n/**\n * Logger categories used by this package\n * @note All logger categories in this package start with the `presentation-common` prefix.\n * @see [Logger]($bentley)\n * @public\n */\nexport enum PresentationCommonLoggerCategory {\n Package = \"presentation-common\",\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE;QACnC,OAAO,CAAC,CAAC;KACV;IACD,IAAI,aAAa,KAAK,OAAO,EAAE;QAC7B,OAAO,CAAC,CAAC;KACV;IACD,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;IACD,IAAI,aAAa,KAAK,MAAM,EAAE;QAC5B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E;IACD,IAAI,aAAa,KAAK,OAAO,EAAE;QAC7B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtG;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AA6FD;;;GAGG;AACH,2DAA2D;AAC3D,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @beta\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Returns lower severity of the given two. Examples:\r\n * ```\r\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\r\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\r\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\r\n * ```\r\n * @internal\r\n */\r\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n if (!lhs && !rhs) {\r\n return undefined;\r\n }\r\n const combinedSeverity: DiagnosticsLoggerSeverity =\r\n lhs === \"trace\" || rhs === \"trace\"\r\n ? \"trace\"\r\n : lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true\r\n ? \"debug\"\r\n : lhs === \"info\" || rhs === \"info\"\r\n ? \"info\"\r\n : lhs === \"warning\" || rhs === \"warning\"\r\n ? \"warning\"\r\n : \"error\";\r\n return combinedSeverity;\r\n}\r\n\r\n/**\r\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\r\n * ```\r\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\r\n * compareDiagnosticsSeverities(\"error\", false) === 0\r\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\r\n * compareDiagnosticsSeverities(\"debug\", true) === 0\r\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\r\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\r\n * ```\r\n * @internal\r\n */\r\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n const normalizedLhs: DiagnosticsLoggerSeverity = lhs === undefined || lhs === false ? \"error\" : lhs === true ? \"debug\" : lhs;\r\n const normalizedRhs: DiagnosticsLoggerSeverity = rhs === undefined || rhs === false ? \"error\" : rhs === true ? \"debug\" : rhs;\r\n if (normalizedLhs === normalizedRhs) {\r\n return 0;\r\n }\r\n if (normalizedLhs === \"error\") {\r\n return 1;\r\n }\r\n if (normalizedLhs === \"warning\") {\r\n return normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"info\") {\r\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"debug\") {\r\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n return -1;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @beta\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @beta\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @beta\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @beta\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @beta\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n * @beta\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @beta\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @beta\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace DiagnosticsLogEntry {\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAQH;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AA6FD;;;GAGG;AACH,2DAA2D;AAC3D,MAAM,KAAW,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,KAAnB,mBAAmB,QAOnC","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 Core\n */\n\n/**\n * Type of diagnostics logger severity.\n * @beta\n */\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\n\n/**\n * Returns lower severity of the given two. Examples:\n * ```\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\n * ```\n * @internal\n */\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\n if (!lhs && !rhs) {\n return undefined;\n }\n const combinedSeverity: DiagnosticsLoggerSeverity =\n lhs === \"trace\" || rhs === \"trace\"\n ? \"trace\"\n : lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true\n ? \"debug\"\n : lhs === \"info\" || rhs === \"info\"\n ? \"info\"\n : lhs === \"warning\" || rhs === \"warning\"\n ? \"warning\"\n : \"error\";\n return combinedSeverity;\n}\n\n/**\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\n * ```\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\n * compareDiagnosticsSeverities(\"error\", false) === 0\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\n * compareDiagnosticsSeverities(\"debug\", true) === 0\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\n * ```\n * @internal\n */\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\n const normalizedLhs: DiagnosticsLoggerSeverity = lhs === undefined || lhs === false ? \"error\" : lhs === true ? \"debug\" : lhs;\n const normalizedRhs: DiagnosticsLoggerSeverity = rhs === undefined || rhs === false ? \"error\" : rhs === true ? \"debug\" : rhs;\n if (normalizedLhs === normalizedRhs) {\n return 0;\n }\n if (normalizedLhs === \"error\") {\n return 1;\n }\n if (normalizedLhs === \"warning\") {\n return normalizedRhs === \"error\" ? -1 : 1;\n }\n if (normalizedLhs === \"info\") {\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\n }\n if (normalizedLhs === \"debug\") {\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\n }\n return -1;\n}\n\n/**\n * Data structure for diagnostics information.\n * @beta\n */\nexport interface Diagnostics {\n logs?: DiagnosticsScopeLogs[];\n}\n\n/**\n * Data structure with client diagnostics information.\n * @beta\n */\nexport interface ClientDiagnostics extends Diagnostics {\n backendVersion?: string;\n}\n\n/**\n * Data structure for diagnostics options.\n * @beta\n */\nexport interface DiagnosticsOptions {\n /**\n * Flag specifying that performance should be measured, or\n * minimum duration in milliseconds for which performance metric should be included.\n */\n perf?: boolean | { minimumDuration: number };\n /** Severity for developer log messages */\n dev?: boolean | DiagnosticsLoggerSeverity;\n /** Severity for presentation rules' editor log messages */\n editor?: boolean | DiagnosticsLoggerSeverity;\n}\n\n/**\n * A function that can be called after receiving diagnostics.\n * @beta\n */\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\n\n/**\n * Data structure for client diagnostics options.\n * @beta\n */\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\n backendVersion?: boolean;\n handler: ClientDiagnosticsHandler;\n}\n\n/**\n * Data structure which contains client diagnostics options.\n * @public\n */\nexport interface ClientDiagnosticsAttribute {\n /**\n * Diagnostics options.\n * @beta\n */\n diagnostics?: ClientDiagnosticsOptions;\n}\n\n/**\n * Data structure for diagnostics log message information.\n * @beta\n */\nexport interface DiagnosticsLogMessage {\n severity: {\n dev?: DiagnosticsLoggerSeverity;\n editor?: DiagnosticsLoggerSeverity;\n };\n category: string;\n message: string;\n timestamp: number;\n}\n\n/**\n * Data structure for diagnostics scope information.\n * @beta\n */\nexport interface DiagnosticsScopeLogs {\n scope: string;\n scopeCreateTimestamp?: number;\n duration?: number;\n logs?: DiagnosticsLogEntry[];\n attributes?: { [attributeKey: string]: string | string[] };\n}\n\n/**\n * Data structure for diagnostics log entry.\n * @beta\n */\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\n\n/**\n * Functions related to diagnostics log entry.\n * @beta\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace DiagnosticsLogEntry {\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\n return !!(entry as any).message;\n }\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\n return !!(entry as any).scope;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.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 Core\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport { PartialBy } from \"./Utils\";\r\n\r\n/**\r\n * Type of an ECClass ID.\r\n * @public\r\n */\r\nexport type ClassId = Id64String;\r\n\r\n/**\r\n * Type of an ECInstance ID.\r\n * @public\r\n */\r\nexport type InstanceId = Id64String;\r\n\r\n/**\r\n * A key that uniquely identifies an instance in an iModel\r\n * @public\r\n */\r\nexport interface InstanceKey {\r\n /** Full class name in format `SchemaName:ClassName` */\r\n className: string;\r\n /** ECInstance ID */\r\n id: InstanceId;\r\n}\r\n\r\n/** @public */\r\nexport namespace InstanceKey {\r\n /** Compare 2 instance keys */\r\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\r\n const classNameCompare = lhs.className.localeCompare(rhs.className);\r\n if (classNameCompare !== 0) {\r\n return classNameCompare;\r\n }\r\n return lhs.id.localeCompare(rhs.id);\r\n }\r\n\r\n /**\r\n * Serialize [[InstanceKey]] to JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(key: InstanceKey): InstanceKeyJSON {\r\n return { ...key };\r\n }\r\n\r\n /**\r\n * Deserialize [[InstanceKey]] from JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: InstanceKeyJSON) {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[InstanceKey]]\r\n * @public\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\nexport interface InstanceKeyJSON {\r\n className: string;\r\n id: string;\r\n}\r\n\r\n/**\r\n * Information about an ECClass\r\n * @public\r\n */\r\nexport interface ClassInfo {\r\n /** ECClass ID */\r\n id: ClassId;\r\n /** Full class name in format `SchemaName:ClassName` */\r\n name: string;\r\n /** ECClass label */\r\n label: string;\r\n}\r\n\r\n/** @public */\r\nexport namespace ClassInfo {\r\n /**\r\n * Serialize [[ClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(info: ClassInfo): ClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /**\r\n * Deserialize [[ClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[ClassInfo]]\r\n * @public\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\nexport interface ClassInfoJSON {\r\n id: string;\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A serialized and compressed version of [[ClassInfo]]\r\n * @public\r\n */\r\nexport interface CompressedClassInfoJSON {\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A single choice in enumeration\r\n * @public\r\n */\r\nexport interface EnumerationChoice {\r\n /** Label of the choice */\r\n label: string;\r\n /** Value of the choice */\r\n value: string | number;\r\n}\r\n\r\n/**\r\n * Enumeration information\r\n * @public\r\n */\r\nexport interface EnumerationInfo {\r\n /** Available enumeration choices */\r\n choices: EnumerationChoice[];\r\n /** Is the enumeration strict (values only allowed from `choices` list) */\r\n isStrict: boolean;\r\n}\r\n\r\n/**\r\n * Kind of quantity information\r\n * @public\r\n */\r\nexport interface KindOfQuantityInfo {\r\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\r\n name: string;\r\n /** Label of KindOfQuantity */\r\n label: string;\r\n /**\r\n * Persistence unit identifier.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n persistenceUnit: string;\r\n /**\r\n * Active format that was used to format property value.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n activeFormat?: FormatProps;\r\n}\r\n\r\n/**\r\n * A data structure for storing navigation property information.\r\n * @beta\r\n */\r\nexport interface NavigationPropertyInfo {\r\n /** Information about ECProperty's relationship class */\r\n classInfo: ClassInfo;\r\n /** Is the direction of the relationship forward */\r\n isForwardRelationship: boolean;\r\n /** Information about ECProperty's target class */\r\n targetClassInfo: ClassInfo;\r\n /** Is ECProperty's target class polymorphic */\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\r\n * @beta\r\n */\r\nexport namespace NavigationPropertyInfo {\r\n /**\r\n * Serialize [[NavigationPropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[toCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(\r\n navigationPropertyInfo: NavigationPropertyInfo,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): NavigationPropertyInfoJSON<string> {\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = navigationPropertyInfo.classInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = navigationPropertyInfo.targetClassInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n\r\n return {\r\n ...navigationPropertyInfo,\r\n classInfo: relationshipId,\r\n targetClassInfo: targetId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[NavigationPropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[fromCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\r\n export function fromCompressedJSON(\r\n compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): NavigationPropertyInfo {\r\n return {\r\n ...compressedNavigationPropertyInfoJSON,\r\n classInfo: { id: compressedNavigationPropertyInfoJSON.classInfo, ...classesMap[compressedNavigationPropertyInfoJSON.classInfo] },\r\n targetClassInfo: { id: compressedNavigationPropertyInfoJSON.targetClassInfo, ...classesMap[compressedNavigationPropertyInfoJSON.targetClassInfo] },\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[NavigationPropertyInfo]]\r\n * @beta\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n targetClassInfo: TClassInfoJSON;\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes an ECProperty\r\n * @public\r\n */\r\nexport interface PropertyInfo {\r\n /** Information about ECProperty class */\r\n classInfo: ClassInfo;\r\n /** Name of the ECProperty */\r\n name: string;\r\n /** Type name of the ECProperty */\r\n type: string;\r\n /** Enumeration info if the property is enumerable */\r\n enumerationInfo?: EnumerationInfo;\r\n /** Kind of quantity information, if any. */\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** Extended type name of the ECProperty if it has one */\r\n extendedType?: string;\r\n /**\r\n * Navigation property info if the field is navigation type\r\n * @beta\r\n */\r\n navigationPropertyInfo?: NavigationPropertyInfo;\r\n}\r\n\r\n/** @public */\r\nexport namespace PropertyInfo {\r\n /**\r\n * Serialize [[PropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[PropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\r\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\r\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\r\n classesMap[id] = leftOverInfo;\r\n\r\n return {\r\n ...leftOverPropertyInfo,\r\n classInfo: propertyInfo.classInfo.id,\r\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[PropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[PropertyInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n name: string;\r\n type: string;\r\n enumerationInfo?: EnumerationInfo;\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** @beta */\r\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\r\n}\r\n\r\n/**\r\n * A structure that describes a related class and the properties of that relationship.\r\n * @public\r\n */\r\nexport interface RelatedClassInfo {\r\n /** Information about the source ECClass */\r\n sourceClassInfo: ClassInfo;\r\n\r\n /** Information about the target ECClass */\r\n targetClassInfo: ClassInfo;\r\n\r\n /** Is target class handled polymorphically */\r\n isPolymorphicTargetClass?: boolean;\r\n\r\n /** Optionally, IDs of specific target class instances. */\r\n targetInstanceIds?: Id64String[];\r\n\r\n /** Information about the ECRelationship */\r\n relationshipInfo: ClassInfo;\r\n\r\n /** Should relationship be followed in a forward direction to access the related class. */\r\n isForwardRelationship: boolean;\r\n\r\n /** Is relationship handled polymorphically */\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfo {\r\n /**\r\n * Serialize [[RelatedClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\r\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n\r\n return {\r\n ...classInfo,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n relationshipInfo: relationshipId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[RelatedClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\r\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\r\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\r\n return {\r\n ...json,\r\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\r\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\r\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\r\n };\r\n }\r\n\r\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\r\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\r\n return (\r\n lhs.isForwardRelationship === rhs.isForwardRelationship &&\r\n getClassName(lhs, \"source\") === getClassName(rhs, \"source\") &&\r\n getClassName(lhs, \"target\") === getClassName(rhs, \"target\") &&\r\n getClassName(lhs, \"relationship\") === getClassName(rhs, \"relationship\")\r\n );\r\n }\r\n\r\n function isStripped(info: RelatedClassInfo | StrippedRelatedClassInfo): info is StrippedRelatedClassInfo {\r\n const maybeStripped = info as StrippedRelatedClassInfo;\r\n return !!maybeStripped.relationshipName && !!maybeStripped.sourceClassName && !!maybeStripped.targetClassName;\r\n }\r\n\r\n function getClassName(info: RelatedClassInfo | StrippedRelatedClassInfo, whichClass: \"relationship\" | \"source\" | \"target\"): string {\r\n switch (whichClass) {\r\n case \"source\":\r\n return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\r\n case \"target\":\r\n return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\r\n case \"relationship\":\r\n return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;\r\n }\r\n }\r\n\r\n /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */\r\n export function strip(full: RelatedClassInfo): StrippedRelatedClassInfo {\r\n return {\r\n sourceClassName: full.sourceClassInfo.name,\r\n targetClassName: full.targetClassInfo.name,\r\n relationshipName: full.relationshipInfo.name,\r\n isForwardRelationship: full.isForwardRelationship,\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[RelatedClassInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\r\n targetInstanceIds?: Id64String[];\r\n relationshipInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes a relationship between source and target classes where\r\n * an actual ECRelationship between them is optional.\r\n * @public\r\n */\r\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<\r\n RelatedClassInfoJSON<TClassInfoJSON>,\r\n \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\"\r\n>;\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelatedClassInfoWithOptionalRelationship {\r\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\r\n export function toCompressedJSON(\r\n classInfo: RelatedClassInfoWithOptionalRelationship,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): RelatedClassInfoWithOptionalRelationshipJSON<string> {\r\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = classInfo;\r\n const { id: sourceId, ...sourceLeftOverInfo } = sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = targetClassInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n\r\n if (relationshipInfo) {\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = relationshipInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n }\r\n\r\n return {\r\n ...otherProps,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n ...(relationshipInfo ? { relationshipInfo: relationshipInfo.id } : undefined),\r\n };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfoWithOptionalRelationship]] from compressed JSON */\r\n export function fromCompressedJSON(\r\n json: RelatedClassInfoWithOptionalRelationshipJSON<string>,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): RelatedClassInfoWithOptionalRelationship {\r\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = json;\r\n assert(classesMap.hasOwnProperty(sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(targetClassInfo));\r\n if (relationshipInfo) {\r\n assert(classesMap.hasOwnProperty(relationshipInfo));\r\n }\r\n return {\r\n ...otherProps,\r\n sourceClassInfo: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\r\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\r\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A structure that describes a related class path.\r\n * @public\r\n */\r\nexport type RelationshipPath = RelatedClassInfo[];\r\n\r\n/**\r\n * Serialized [[RelationshipPath]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelationshipPath {\r\n /** Reverse direction of the given [[RelationshipPath]] */\r\n export function reverse(path: RelationshipPath): RelationshipPath {\r\n return [...path].reverse().map((step) => ({\r\n ...step,\r\n sourceClassInfo: step.targetClassInfo,\r\n targetClassInfo: step.sourceClassInfo,\r\n isForwardRelationship: !step.isForwardRelationship,\r\n }));\r\n }\r\n\r\n /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */\r\n export function equals(lhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>, rhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>): boolean {\r\n return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));\r\n }\r\n\r\n /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */\r\n export function strip(full: RelationshipPath): StrippedRelationshipPath {\r\n return full.map(RelatedClassInfo.strip);\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelatedClassInfo]] required to\r\n * identify the relationship.\r\n * @public\r\n */\r\nexport interface StrippedRelatedClassInfo {\r\n sourceClassName: string;\r\n targetClassName: string;\r\n relationshipName: string;\r\n isForwardRelationship: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelationshipPath]] required to\r\n * identify the relationship path.\r\n * @public\r\n */\r\nexport type StrippedRelationshipPath = StrippedRelatedClassInfo[];\r\n"]}
1
+ {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.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 Core\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { FormatProps } from \"@itwin/core-quantity\";\nimport { PartialBy } from \"./Utils\";\n\n/**\n * Type of an ECClass ID.\n * @public\n */\nexport type ClassId = Id64String;\n\n/**\n * Type of an ECInstance ID.\n * @public\n */\nexport type InstanceId = Id64String;\n\n/**\n * A key that uniquely identifies an instance in an iModel\n * @public\n */\nexport interface InstanceKey {\n /** Full class name in format `SchemaName:ClassName` */\n className: string;\n /** ECInstance ID */\n id: InstanceId;\n}\n\n/** @public */\nexport namespace InstanceKey {\n /** Compare 2 instance keys */\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\n const classNameCompare = lhs.className.localeCompare(rhs.className);\n if (classNameCompare !== 0) {\n return classNameCompare;\n }\n return lhs.id.localeCompare(rhs.id);\n }\n\n /**\n * Serialize [[InstanceKey]] to JSON\n * @deprecated in 3.x. Use [[InstanceKey]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(key: InstanceKey): InstanceKeyJSON {\n return { ...key };\n }\n\n /**\n * Deserialize [[InstanceKey]] from JSON\n * @deprecated in 3.x. Use [[InstanceKey]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: InstanceKeyJSON) {\n return { ...json };\n }\n}\n\n/**\n * A serialized version of [[InstanceKey]]\n * @public\n * @deprecated in 3.x. Use [[InstanceKey]].\n */\nexport interface InstanceKeyJSON {\n className: string;\n id: string;\n}\n\n/**\n * Information about an ECClass\n * @public\n */\nexport interface ClassInfo {\n /** ECClass ID */\n id: ClassId;\n /** Full class name in format `SchemaName:ClassName` */\n name: string;\n /** ECClass label */\n label: string;\n}\n\n/** @public */\nexport namespace ClassInfo {\n /**\n * Serialize [[ClassInfo]] to JSON\n * @deprecated in 3.x. Use [[ClassInfo]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(info: ClassInfo): ClassInfoJSON {\n return { ...info };\n }\n\n /**\n * Deserialize [[ClassInfo]] from JSON\n * @deprecated in 3.x. Use [[ClassInfo]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\n return { ...json };\n }\n}\n\n/**\n * A serialized version of [[ClassInfo]]\n * @public\n * @deprecated in 3.x. Use [[ClassInfo]].\n */\nexport interface ClassInfoJSON {\n id: string;\n name: string;\n label: string;\n}\n\n/**\n * A serialized and compressed version of [[ClassInfo]]\n * @public\n */\nexport interface CompressedClassInfoJSON {\n name: string;\n label: string;\n}\n\n/**\n * A single choice in enumeration\n * @public\n */\nexport interface EnumerationChoice {\n /** Label of the choice */\n label: string;\n /** Value of the choice */\n value: string | number;\n}\n\n/**\n * Enumeration information\n * @public\n */\nexport interface EnumerationInfo {\n /** Available enumeration choices */\n choices: EnumerationChoice[];\n /** Is the enumeration strict (values only allowed from `choices` list) */\n isStrict: boolean;\n}\n\n/**\n * Kind of quantity information\n * @public\n */\nexport interface KindOfQuantityInfo {\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\n name: string;\n /** Label of KindOfQuantity */\n label: string;\n /**\n * Persistence unit identifier.\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\n */\n persistenceUnit: string;\n /**\n * Active format that was used to format property value.\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\n */\n activeFormat?: FormatProps;\n}\n\n/**\n * A data structure for storing navigation property information.\n * @beta\n */\nexport interface NavigationPropertyInfo {\n /** Information about ECProperty's relationship class */\n classInfo: ClassInfo;\n /** Is the direction of the relationship forward */\n isForwardRelationship: boolean;\n /** Information about ECProperty's target class */\n targetClassInfo: ClassInfo;\n /** Is ECProperty's target class polymorphic */\n isTargetPolymorphic: boolean;\n}\n\n/**\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\n * @beta\n */\nexport namespace NavigationPropertyInfo {\n /**\n * Serialize [[NavigationPropertyInfo]] to JSON\n * @deprecated in 3.x. Use [[toCompressedJSON]].\n */\n // istanbul ignore next\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\n return { ...info };\n }\n\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\n export function toCompressedJSON(\n navigationPropertyInfo: NavigationPropertyInfo,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): NavigationPropertyInfoJSON<string> {\n const { id: relationshipId, ...relationshipLeftOverInfo } = navigationPropertyInfo.classInfo;\n const { id: targetId, ...targetLeftOverInfo } = navigationPropertyInfo.targetClassInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n\n return {\n ...navigationPropertyInfo,\n classInfo: relationshipId,\n targetClassInfo: targetId,\n };\n }\n\n /**\n * Deserialize [[NavigationPropertyInfo]] from JSON\n * @deprecated in 3.x. Use [[fromCompressedJSON]].\n */\n // istanbul ignore next\n export function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo {\n return { ...json };\n }\n\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\n export function fromCompressedJSON(\n compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): NavigationPropertyInfo {\n return {\n ...compressedNavigationPropertyInfoJSON,\n classInfo: { id: compressedNavigationPropertyInfoJSON.classInfo, ...classesMap[compressedNavigationPropertyInfoJSON.classInfo] },\n targetClassInfo: { id: compressedNavigationPropertyInfoJSON.targetClassInfo, ...classesMap[compressedNavigationPropertyInfoJSON.targetClassInfo] },\n };\n }\n}\n\n/**\n * A serialized version of [[NavigationPropertyInfo]]\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\n classInfo: TClassInfoJSON;\n isForwardRelationship: boolean;\n targetClassInfo: TClassInfoJSON;\n isTargetPolymorphic: boolean;\n}\n\n/**\n * A structure that describes an ECProperty\n * @public\n */\nexport interface PropertyInfo {\n /** Information about ECProperty class */\n classInfo: ClassInfo;\n /** Name of the ECProperty */\n name: string;\n /** Type name of the ECProperty */\n type: string;\n /** Enumeration info if the property is enumerable */\n enumerationInfo?: EnumerationInfo;\n /** Kind of quantity information, if any. */\n kindOfQuantity?: KindOfQuantityInfo;\n /** Extended type name of the ECProperty if it has one */\n extendedType?: string;\n /**\n * Navigation property info if the field is navigation type\n * @beta\n */\n navigationPropertyInfo?: NavigationPropertyInfo;\n}\n\n/** @public */\nexport namespace PropertyInfo {\n /**\n * Serialize [[PropertyInfo]] to JSON\n * @deprecated in 3.x. Use [[PropertyInfo]].\n */\n // istanbul ignore next\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\n return { ...info };\n }\n\n /** Serialize [[PropertyInfo]] to compressed JSON */\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\n classesMap[id] = leftOverInfo;\n\n return {\n ...leftOverPropertyInfo,\n classInfo: propertyInfo.classInfo.id,\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\n };\n }\n\n /**\n * Deserialize [[PropertyInfo]] from JSON\n * @deprecated in 3.x. Use [[PropertyInfo]].\n */\n // istanbul ignore next\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\n return { ...json };\n }\n}\n\n/**\n * A serialized version of [[PropertyInfo]]\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\n classInfo: TClassInfoJSON;\n name: string;\n type: string;\n enumerationInfo?: EnumerationInfo;\n kindOfQuantity?: KindOfQuantityInfo;\n /** @beta */\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\n}\n\n/**\n * A structure that describes a related class and the properties of that relationship.\n * @public\n */\nexport interface RelatedClassInfo {\n /** Information about the source ECClass */\n sourceClassInfo: ClassInfo;\n\n /** Information about the target ECClass */\n targetClassInfo: ClassInfo;\n\n /** Is target class handled polymorphically */\n isPolymorphicTargetClass?: boolean;\n\n /** Optionally, IDs of specific target class instances. */\n targetInstanceIds?: Id64String[];\n\n /** Information about the ECRelationship */\n relationshipInfo: ClassInfo;\n\n /** Should relationship be followed in a forward direction to access the related class. */\n isForwardRelationship: boolean;\n\n /** Is relationship handled polymorphically */\n isPolymorphicRelationship?: boolean;\n}\n\n/** @public */\nexport namespace RelatedClassInfo {\n /**\n * Serialize [[RelatedClassInfo]] to JSON\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\n */\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\n return { ...info };\n }\n\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\n\n classesMap[sourceId] = sourceLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n\n return {\n ...classInfo,\n sourceClassInfo: sourceId,\n targetClassInfo: targetId,\n relationshipInfo: relationshipId,\n };\n }\n\n /**\n * Deserialize [[RelatedClassInfo]] from JSON\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\n */\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\n return { ...json };\n }\n\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\n return {\n ...json,\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\n };\n }\n\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\n return (\n lhs.isForwardRelationship === rhs.isForwardRelationship &&\n getClassName(lhs, \"source\") === getClassName(rhs, \"source\") &&\n getClassName(lhs, \"target\") === getClassName(rhs, \"target\") &&\n getClassName(lhs, \"relationship\") === getClassName(rhs, \"relationship\")\n );\n }\n\n function isStripped(info: RelatedClassInfo | StrippedRelatedClassInfo): info is StrippedRelatedClassInfo {\n const maybeStripped = info as StrippedRelatedClassInfo;\n return !!maybeStripped.relationshipName && !!maybeStripped.sourceClassName && !!maybeStripped.targetClassName;\n }\n\n function getClassName(info: RelatedClassInfo | StrippedRelatedClassInfo, whichClass: \"relationship\" | \"source\" | \"target\"): string {\n switch (whichClass) {\n case \"source\":\n return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\n case \"target\":\n return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\n case \"relationship\":\n return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;\n }\n }\n\n /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */\n export function strip(full: RelatedClassInfo): StrippedRelatedClassInfo {\n return {\n sourceClassName: full.sourceClassInfo.name,\n targetClassName: full.targetClassInfo.name,\n relationshipName: full.relationshipInfo.name,\n isForwardRelationship: full.isForwardRelationship,\n };\n }\n}\n\n/**\n * A serialized version of [[RelatedClassInfo]]\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\n sourceClassInfo: TClassInfoJSON;\n targetClassInfo: TClassInfoJSON;\n isPolymorphicTargetClass?: boolean;\n targetInstanceIds?: Id64String[];\n relationshipInfo: TClassInfoJSON;\n isForwardRelationship: boolean;\n isPolymorphicRelationship?: boolean;\n}\n\n/**\n * A structure that describes a relationship between source and target classes where\n * an actual ECRelationship between them is optional.\n * @public\n */\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\n\n/** @public */\n// eslint-disable-next-line deprecation/deprecation\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<\n RelatedClassInfoJSON<TClassInfoJSON>,\n \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\"\n>;\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace RelatedClassInfoWithOptionalRelationship {\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\n export function toCompressedJSON(\n classInfo: RelatedClassInfoWithOptionalRelationship,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): RelatedClassInfoWithOptionalRelationshipJSON<string> {\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = classInfo;\n const { id: sourceId, ...sourceLeftOverInfo } = sourceClassInfo;\n const { id: targetId, ...targetLeftOverInfo } = targetClassInfo;\n\n classesMap[sourceId] = sourceLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n\n if (relationshipInfo) {\n const { id: relationshipId, ...relationshipLeftOverInfo } = relationshipInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n }\n\n return {\n ...otherProps,\n sourceClassInfo: sourceId,\n targetClassInfo: targetId,\n ...(relationshipInfo ? { relationshipInfo: relationshipInfo.id } : undefined),\n };\n }\n\n /** Deserialize [[RelatedClassInfoWithOptionalRelationship]] from compressed JSON */\n export function fromCompressedJSON(\n json: RelatedClassInfoWithOptionalRelationshipJSON<string>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): RelatedClassInfoWithOptionalRelationship {\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = json;\n assert(classesMap.hasOwnProperty(sourceClassInfo));\n assert(classesMap.hasOwnProperty(targetClassInfo));\n if (relationshipInfo) {\n assert(classesMap.hasOwnProperty(relationshipInfo));\n }\n return {\n ...otherProps,\n sourceClassInfo: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\n };\n }\n}\n\n/**\n * A structure that describes a related class path.\n * @public\n */\nexport type RelationshipPath = RelatedClassInfo[];\n\n/**\n * Serialized [[RelationshipPath]]\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace RelationshipPath {\n /** Reverse direction of the given [[RelationshipPath]] */\n export function reverse(path: RelationshipPath): RelationshipPath {\n return [...path].reverse().map((step) => ({\n ...step,\n sourceClassInfo: step.targetClassInfo,\n targetClassInfo: step.sourceClassInfo,\n isForwardRelationship: !step.isForwardRelationship,\n }));\n }\n\n /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */\n export function equals(lhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>, rhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>): boolean {\n return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));\n }\n\n /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */\n export function strip(full: RelationshipPath): StrippedRelationshipPath {\n return full.map(RelatedClassInfo.strip);\n }\n}\n\n/**\n * Data structure that contains a subset of [[RelatedClassInfo]] required to\n * identify the relationship.\n * @public\n */\nexport interface StrippedRelatedClassInfo {\n sourceClassName: string;\n targetClassName: string;\n relationshipName: string;\n isForwardRelationship: boolean;\n}\n\n/**\n * Data structure that contains a subset of [[RelationshipPath]] required to\n * identify the relationship path.\n * @public\n */\nexport type StrippedRelationshipPath = StrippedRelatedClassInfo[];\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ElementProperties.js","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.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 RPC\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * Data structure for storing element properties information in a simplified format.\r\n * @see [[Content]] for a format that stores all available element property data.\r\n * @public\r\n */\r\nexport interface ElementProperties {\r\n /** Label of element's ECClass. */\r\n class: string;\r\n /** Element's ID. */\r\n id: Id64String;\r\n /** Element's label. */\r\n label: string;\r\n /** Container of property values */\r\n items: { [label: string]: ElementPropertiesItem };\r\n}\r\n\r\n/**\r\n * Base type for all [[ElementPropertiesItem]] types.\r\n * @public\r\n */\r\nexport interface ElementPropertiesItemBase {\r\n /** Type of the properties item. */\r\n type: \"category\" | ElementPropertiesPropertyValueType;\r\n}\r\n\r\n/**\r\n * Definition for a category. A category can nest other property items, including categories.\r\n * @public\r\n */\r\nexport interface ElementPropertiesCategoryItem extends ElementPropertiesItemBase {\r\n /** Type of the properties item. */\r\n type: \"category\";\r\n /** Container of property values */\r\n items: { [label: string]: ElementPropertiesItem };\r\n}\r\n\r\n/**\r\n * Base type for all [[ElementPropertiesPropertyItem]] types.\r\n * @public\r\n */\r\nexport interface ElementPropertiesPropertyItemBase extends ElementPropertiesItemBase {\r\n /** Type of the properties item. */\r\n type: ElementPropertiesPropertyValueType;\r\n}\r\n\r\n/**\r\n * Definition for a primitive property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesPrimitivePropertyItem extends ElementPropertiesPropertyItemBase {\r\n /** Type of the properties item. */\r\n type: \"primitive\";\r\n /** Display value of the property. */\r\n value: string;\r\n}\r\n\r\n/**\r\n * Base type for all [[ElementPropertiesArrayPropertyItem]] types.\r\n * @public\r\n */\r\nexport interface ElementPropertiesArrayPropertyItemBase extends ElementPropertiesPropertyItemBase {\r\n /** Type of the properties item. */\r\n type: \"array\";\r\n /** Type of values contained in this array. */\r\n valueType: \"primitive\" | \"struct\";\r\n}\r\n\r\n/**\r\n * Definition for a primitives' array property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesPrimitiveArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {\r\n /** Type of values contained in this array. */\r\n valueType: \"primitive\";\r\n /** Array of display values. */\r\n values: string[];\r\n}\r\n\r\n/**\r\n * Definition for a structs' array property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesStructArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {\r\n /** Type of values contained in this array. */\r\n valueType: \"struct\";\r\n /** Array of structs. */\r\n values: Array<{ [memberLabel: string]: ElementPropertiesPropertyItem }>;\r\n}\r\n\r\n/**\r\n * Definition for an array property value.\r\n * @public\r\n */\r\nexport type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;\r\n\r\n/**\r\n * Definition for an struct property value.\r\n * @public\r\n */\r\nexport interface ElementPropertiesStructPropertyItem extends ElementPropertiesPropertyItemBase {\r\n /** Type of the properties item. */\r\n type: \"struct\";\r\n /** Container of struct members. */\r\n members: { [memberLabel: string]: ElementPropertiesPropertyItem };\r\n}\r\n\r\n/**\r\n * Available element property types.\r\n * @public\r\n */\r\nexport type ElementPropertiesPropertyValueType = \"primitive\" | \"array\" | \"struct\";\r\n\r\n/**\r\n * Definition of a property value.\r\n * @public\r\n */\r\nexport type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;\r\n\r\n/**\r\n * Definition of a property item, including a property category.\r\n * @public\r\n */\r\nexport type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;\r\n"]}
1
+ {"version":3,"file":"ElementProperties.js","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.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 RPC\n */\n\nimport { Id64String } from \"@itwin/core-bentley\";\n\n/**\n * Data structure for storing element properties information in a simplified format.\n * @see [[Content]] for a format that stores all available element property data.\n * @public\n */\nexport interface ElementProperties {\n /** Label of element's ECClass. */\n class: string;\n /** Element's ID. */\n id: Id64String;\n /** Element's label. */\n label: string;\n /** Container of property values */\n items: { [label: string]: ElementPropertiesItem };\n}\n\n/**\n * Base type for all [[ElementPropertiesItem]] types.\n * @public\n */\nexport interface ElementPropertiesItemBase {\n /** Type of the properties item. */\n type: \"category\" | ElementPropertiesPropertyValueType;\n}\n\n/**\n * Definition for a category. A category can nest other property items, including categories.\n * @public\n */\nexport interface ElementPropertiesCategoryItem extends ElementPropertiesItemBase {\n /** Type of the properties item. */\n type: \"category\";\n /** Container of property values */\n items: { [label: string]: ElementPropertiesItem };\n}\n\n/**\n * Base type for all [[ElementPropertiesPropertyItem]] types.\n * @public\n */\nexport interface ElementPropertiesPropertyItemBase extends ElementPropertiesItemBase {\n /** Type of the properties item. */\n type: ElementPropertiesPropertyValueType;\n}\n\n/**\n * Definition for a primitive property value.\n * @public\n */\nexport interface ElementPropertiesPrimitivePropertyItem extends ElementPropertiesPropertyItemBase {\n /** Type of the properties item. */\n type: \"primitive\";\n /** Display value of the property. */\n value: string;\n}\n\n/**\n * Base type for all [[ElementPropertiesArrayPropertyItem]] types.\n * @public\n */\nexport interface ElementPropertiesArrayPropertyItemBase extends ElementPropertiesPropertyItemBase {\n /** Type of the properties item. */\n type: \"array\";\n /** Type of values contained in this array. */\n valueType: \"primitive\" | \"struct\";\n}\n\n/**\n * Definition for a primitives' array property value.\n * @public\n */\nexport interface ElementPropertiesPrimitiveArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {\n /** Type of values contained in this array. */\n valueType: \"primitive\";\n /** Array of display values. */\n values: string[];\n}\n\n/**\n * Definition for a structs' array property value.\n * @public\n */\nexport interface ElementPropertiesStructArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {\n /** Type of values contained in this array. */\n valueType: \"struct\";\n /** Array of structs. */\n values: Array<{ [memberLabel: string]: ElementPropertiesPropertyItem }>;\n}\n\n/**\n * Definition for an array property value.\n * @public\n */\nexport type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;\n\n/**\n * Definition for an struct property value.\n * @public\n */\nexport interface ElementPropertiesStructPropertyItem extends ElementPropertiesPropertyItemBase {\n /** Type of the properties item. */\n type: \"struct\";\n /** Container of struct members. */\n members: { [memberLabel: string]: ElementPropertiesPropertyItem };\n}\n\n/**\n * Available element property types.\n * @public\n */\nexport type ElementPropertiesPropertyValueType = \"primitive\" | \"array\" | \"struct\";\n\n/**\n * Definition of a property value.\n * @public\n */\nexport type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;\n\n/**\n * Definition of a property item, including a property category.\n * @public\n */\nexport type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../src/presentation-common/Error.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAwBX;AAxBD,WAAY,kBAAkB;IAC5B,sBAAsB;IACtB,iEAAW,CAAA;IAEX,6BAA6B;IAC7B,mEAAY,CAAA;IAEZ,qBAAqB;IACrB,iEAAe,CAAA;IAEf,yCAAyC;IACzC,mFAA0B,CAAA;IAE1B,sCAAsC;IACtC,yFAA6B,CAAA;IAE7B,kCAAkC;IAClC,qFAA2B,CAAA;IAE3B;;;OAGG;IACH,mFAA0B,CAAA;AAC5B,CAAC,EAxBW,kBAAkB,KAAlB,kBAAkB,QAwB7B;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;;;;;;;OAOG;IACH,YAAmB,WAA+B,EAAE,OAAgB,EAAE,WAAiC;QACrG,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,gEAAgE;IAC7C,SAAS;QAC1B,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,kBAAkB,IAAI,CAAC,WAAW,GAAG,CAAC;SAC/C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { BentleyError, GetMetaDataFunction } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * Status codes used by Presentation APIs.\r\n * @public\r\n */\r\nexport enum PresentationStatus {\r\n /** Success result. */\r\n Success = 0,\r\n\r\n /** Request was cancelled. */\r\n Canceled = 1,\r\n\r\n /** Error: Unknown */\r\n Error = 0x10000,\r\n\r\n /** Error: Backend is not initialized. */\r\n NotInitialized = Error + 1,\r\n\r\n /** Error: Result set is too large. */\r\n ResultSetTooLarge = Error + 2,\r\n\r\n /** Error: Argument is invalid. */\r\n InvalidArgument = Error + 3,\r\n\r\n /**\r\n * Timeout for the request was reached which prevented it from being fulfilled. Frontend may\r\n * repeat the request.\r\n */\r\n BackendTimeout = Error + 7,\r\n}\r\n\r\n/**\r\n * An error type thrown by Presentation APIs.\r\n * @public\r\n */\r\nexport class PresentationError extends BentleyError {\r\n /**\r\n * Creates an instance of Error.\r\n * @param errorNumber Error code\r\n * @param message Optional brief description of the error. The `message` property combined with the `name`\r\n * property is used by the `Error.prototype.toString()` method to create a string representation of the Error.\r\n * @param log Optional log function which logs the error.\r\n * @param getMetaData Optional function that returns meta-data related to an error.\r\n */\r\n public constructor(errorNumber: PresentationStatus, message?: string, getMetaData?: GetMetaDataFunction) {\r\n super(errorNumber, message, getMetaData);\r\n }\r\n\r\n /**\r\n * Returns the name of each error status. The name is used by the `Error.prototype.toString()`\r\n * method to create a string representation of the error.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n protected override _initName(): string {\r\n let value = PresentationStatus[this.errorNumber];\r\n if (!value) {\r\n value = `Unknown Error (${this.errorNumber})`;\r\n }\r\n return value;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../src/presentation-common/Error.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAN,IAAY,kBAwBX;AAxBD,WAAY,kBAAkB;IAC5B,sBAAsB;IACtB,iEAAW,CAAA;IAEX,6BAA6B;IAC7B,mEAAY,CAAA;IAEZ,qBAAqB;IACrB,iEAAe,CAAA;IAEf,yCAAyC;IACzC,mFAA0B,CAAA;IAE1B,sCAAsC;IACtC,yFAA6B,CAAA;IAE7B,kCAAkC;IAClC,qFAA2B,CAAA;IAE3B;;;OAGG;IACH,mFAA0B,CAAA;AAC5B,CAAC,EAxBW,kBAAkB,KAAlB,kBAAkB,QAwB7B;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;;;;;;;OAOG;IACH,YAAmB,WAA+B,EAAE,OAAgB,EAAE,WAAiC;QACrG,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACH,gEAAgE;IAC7C,SAAS;QAC1B,IAAI,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,kBAAkB,IAAI,CAAC,WAAW,GAAG,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF","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 Core\n */\n\nimport { BentleyError, GetMetaDataFunction } from \"@itwin/core-bentley\";\n\n/**\n * Status codes used by Presentation APIs.\n * @public\n */\nexport enum PresentationStatus {\n /** Success result. */\n Success = 0,\n\n /** Request was cancelled. */\n Canceled = 1,\n\n /** Error: Unknown */\n Error = 0x10000,\n\n /** Error: Backend is not initialized. */\n NotInitialized = Error + 1,\n\n /** Error: Result set is too large. */\n ResultSetTooLarge = Error + 2,\n\n /** Error: Argument is invalid. */\n InvalidArgument = Error + 3,\n\n /**\n * Timeout for the request was reached which prevented it from being fulfilled. Frontend may\n * repeat the request.\n */\n BackendTimeout = Error + 7,\n}\n\n/**\n * An error type thrown by Presentation APIs.\n * @public\n */\nexport class PresentationError extends BentleyError {\n /**\n * Creates an instance of Error.\n * @param errorNumber Error code\n * @param message Optional brief description of the error. The `message` property combined with the `name`\n * property is used by the `Error.prototype.toString()` method to create a string representation of the Error.\n * @param log Optional log function which logs the error.\n * @param getMetaData Optional function that returns meta-data related to an error.\n */\n public constructor(errorNumber: PresentationStatus, message?: string, getMetaData?: GetMetaDataFunction) {\n super(errorNumber, message, getMetaData);\n }\n\n /**\n * Returns the name of each error status. The name is used by the `Error.prototype.toString()`\n * method to create a string representation of the error.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n protected override _initName(): string {\n let value = PresentationStatus[this.errorNumber];\n if (!value) {\n value = `Unknown Error (${this.errorNumber})`;\n }\n return value;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceFilterDefinition.js","sourceRoot":"","sources":["../../../src/presentation-common/InstanceFilterDefinition.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 Core\r\n */\r\n\r\nimport { StrippedRelationshipPath } from \"./EC\";\r\n\r\n/**\r\n * Definition of an instance filter that can be used to filter content or hierarchy levels.\r\n *\r\n * Example:\r\n *\r\n * ```json\r\n * {\r\n * selectClassName: \"MySchema:MyClass\",\r\n * expression: \"this.MyProperty = 1 AND other.OtherProperty = 2\",\r\n * relatedInstances: [{\r\n * pathFromSelectToPropertyClass: [{\r\n * sourceClassName: \"MySchema:MyClass\",\r\n * relationshipName: \"MySchema:RelationshipFromMyToOtherClass\",\r\n * isForwardRelationship: true,\r\n * targetClassName: \"MySchema:OtherClass\",\r\n * }],\r\n * alias: \"other\",\r\n * }],\r\n * }\r\n * ```\r\n *\r\n * @beta\r\n */\r\nexport interface InstanceFilterDefinition {\r\n /**\r\n * Select class filter used to select only instances of specific class.\r\n * The [[relatedInstances]] attribute, when used, should specify paths from this class.\r\n * Also, the [[expression]] attribute's `this` symbol points to instances of this class.\r\n *\r\n * The format is full class name: `SchemaName:ClassName`.\r\n */\r\n selectClassName: string;\r\n\r\n /**\r\n * Specifies relationship paths pointing to related instances used in the [[expression]] attribute.\r\n *\r\n * Sometimes there's a need to filter on a related instance property. In that case, the relationship\r\n * needs to be named by specifying the path and alias for the target (or the relationship). Then, the\r\n * related instance's symbol context can be accessed through the root symbol named as specified in the\r\n * [[alias]] (or [[relationshipAlias]]) attribute.\r\n */\r\n relatedInstances?: InstanceFilterRelatedInstanceDefinition[];\r\n\r\n /**\r\n * [ECExpression]($docs/presentation/advanced/ECExpressions.md) for filtering the select instances.\r\n */\r\n expression: string;\r\n}\r\n\r\n/**\r\n * Related instance definition for accessing properties of a related instance in [[InstanceFilterDefinition.expression]].\r\n * @beta\r\n */\r\nexport type InstanceFilterRelatedInstanceDefinition = InstanceFilterRelatedInstancePath &\r\n (InstanceFilterRelatedInstanceTargetAlias | InstanceFilterRelatedInstanceRelationshipAlias);\r\n\r\n/**\r\n * Partial definition of common attributes for [[InstanceFilterRelatedInstanceDefinition]].\r\n * @beta\r\n */\r\nexport interface InstanceFilterRelatedInstancePath {\r\n /**\r\n * A relationship path from select class (either specified through [[InstanceFilterDefinition.selectClassName]] or taken from context)\r\n * to the target related instance containing the properties used in [[InstanceFilterDefinition.expression]].\r\n */\r\n pathFromSelectToPropertyClass: StrippedRelationshipPath;\r\n /**\r\n * An optional flag indicating that the target instance must exist. Setting this allows to filter out all\r\n * select instances that don't have a related instance by following the [[pathFromSelectToPropertyClass]] path.\r\n */\r\n isRequired?: boolean;\r\n}\r\n\r\n/**\r\n * Partial definition of [[InstanceFilterRelatedInstanceDefinition]] for the case when referencing the target class.\r\n * @beta\r\n */\r\nexport interface InstanceFilterRelatedInstanceTargetAlias {\r\n /**\r\n * An alias for the target class in the [[InstanceFilterRelatedInstancePath.pathFromSelectToPropertyClass]] path. This alias can be used to\r\n * access related instance symbols context in the [[InstanceFilterDefinition.expression]].\r\n */\r\n alias: string;\r\n}\r\n\r\n/**\r\n * Partial definition of [[InstanceFilterRelatedInstanceDefinition]] for the case when referencing the relationship class.\r\n * @beta\r\n */\r\nexport interface InstanceFilterRelatedInstanceRelationshipAlias {\r\n /**\r\n * An alias for the relationship in the last step of the [[InstanceFilterRelatedInstancePath.pathFromSelectToPropertyClass]] path. This alias can be\r\n * used to access the relationship instance symbols context in the [[InstanceFilterDefinition.expression]].\r\n */\r\n relationshipAlias: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"InstanceFilterDefinition.js","sourceRoot":"","sources":["../../../src/presentation-common/InstanceFilterDefinition.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 Core\n */\n\nimport { StrippedRelationshipPath } from \"./EC\";\n\n/**\n * Definition of an instance filter that can be used to filter content or hierarchy levels.\n *\n * Example:\n *\n * ```json\n * {\n * selectClassName: \"MySchema:MyClass\",\n * expression: \"this.MyProperty = 1 AND other.OtherProperty = 2\",\n * relatedInstances: [{\n * pathFromSelectToPropertyClass: [{\n * sourceClassName: \"MySchema:MyClass\",\n * relationshipName: \"MySchema:RelationshipFromMyToOtherClass\",\n * isForwardRelationship: true,\n * targetClassName: \"MySchema:OtherClass\",\n * }],\n * alias: \"other\",\n * }],\n * }\n * ```\n *\n * @beta\n */\nexport interface InstanceFilterDefinition {\n /**\n * Select class filter used to select only instances of specific class.\n * The [[relatedInstances]] attribute, when used, should specify paths from this class.\n * Also, the [[expression]] attribute's `this` symbol points to instances of this class.\n *\n * The format is full class name: `SchemaName:ClassName`.\n */\n selectClassName: string;\n\n /**\n * Specifies relationship paths pointing to related instances used in the [[expression]] attribute.\n *\n * Sometimes there's a need to filter on a related instance property. In that case, the relationship\n * needs to be named by specifying the path and alias for the target (or the relationship). Then, the\n * related instance's symbol context can be accessed through the root symbol named as specified in the\n * [[alias]] (or [[relationshipAlias]]) attribute.\n */\n relatedInstances?: InstanceFilterRelatedInstanceDefinition[];\n\n /**\n * [ECExpression]($docs/presentation/advanced/ECExpressions.md) for filtering the select instances.\n */\n expression: string;\n}\n\n/**\n * Related instance definition for accessing properties of a related instance in [[InstanceFilterDefinition.expression]].\n * @beta\n */\nexport type InstanceFilterRelatedInstanceDefinition = InstanceFilterRelatedInstancePath &\n (InstanceFilterRelatedInstanceTargetAlias | InstanceFilterRelatedInstanceRelationshipAlias);\n\n/**\n * Partial definition of common attributes for [[InstanceFilterRelatedInstanceDefinition]].\n * @beta\n */\nexport interface InstanceFilterRelatedInstancePath {\n /**\n * A relationship path from select class (either specified through [[InstanceFilterDefinition.selectClassName]] or taken from context)\n * to the target related instance containing the properties used in [[InstanceFilterDefinition.expression]].\n */\n pathFromSelectToPropertyClass: StrippedRelationshipPath;\n /**\n * An optional flag indicating that the target instance must exist. Setting this allows to filter out all\n * select instances that don't have a related instance by following the [[pathFromSelectToPropertyClass]] path.\n */\n isRequired?: boolean;\n}\n\n/**\n * Partial definition of [[InstanceFilterRelatedInstanceDefinition]] for the case when referencing the target class.\n * @beta\n */\nexport interface InstanceFilterRelatedInstanceTargetAlias {\n /**\n * An alias for the target class in the [[InstanceFilterRelatedInstancePath.pathFromSelectToPropertyClass]] path. This alias can be used to\n * access related instance symbols context in the [[InstanceFilterDefinition.expression]].\n */\n alias: string;\n}\n\n/**\n * Partial definition of [[InstanceFilterRelatedInstanceDefinition]] for the case when referencing the relationship class.\n * @beta\n */\nexport interface InstanceFilterRelatedInstanceRelationshipAlias {\n /**\n * An alias for the relationship in the last step of the [[InstanceFilterRelatedInstancePath.pathFromSelectToPropertyClass]] path. This alias can be\n * used to access the relationship instance symbols context in the [[InstanceFilterDefinition.expression]].\n */\n relationshipAlias: string;\n}\n"]}
@@ -190,7 +190,7 @@ export class KeySet {
190
190
  this._nodeKeys.add(JSON.stringify(value));
191
191
  }
192
192
  else {
193
- throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid argument: value = ${value}`);
193
+ throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid argument: value = ${JSON.stringify(value)}`);
194
194
  }
195
195
  }
196
196
  if (this.size !== sizeBefore) {
@@ -242,7 +242,7 @@ export class KeySet {
242
242
  this._nodeKeys.delete(JSON.stringify(value));
243
243
  }
244
244
  else {
245
- throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid argument: value = ${value}`);
245
+ throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid argument: value = ${JSON.stringify(value)}`);
246
246
  }
247
247
  if (this.size !== sizeBefore) {
248
248
  this.recalculateGuid();
@@ -267,7 +267,7 @@ export class KeySet {
267
267
  if (Key.isNodeKey(value)) {
268
268
  return this._nodeKeys.has(JSON.stringify(value));
269
269
  }
270
- throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid argument: value = ${value}`);
270
+ throw new PresentationError(PresentationStatus.InvalidArgument, `Invalid argument: value = ${JSON.stringify(value)}`);
271
271
  }
272
272
  hasKeySet(readonlyKeys, checkType) {
273
273
  // note: cast-away read-onlyness to access private members...