@itwin/presentation-common 3.6.0-dev.36 → 3.6.0-dev.40

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 (463) hide show
  1. package/lib/cjs/assets/locales/en/BisCore.json +18 -18
  2. package/lib/cjs/assets/locales/en/ECPresentation.json +9 -9
  3. package/lib/cjs/assets/locales/en/RulesEngine.json +5 -5
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  5. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  6. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  8. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  9. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  10. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  11. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  12. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  13. package/lib/cjs/presentation-common/EC.d.ts +315 -315
  14. package/lib/cjs/presentation-common/EC.js +270 -270
  15. package/lib/cjs/presentation-common/EC.js.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  17. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  18. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  19. package/lib/cjs/presentation-common/Error.d.ts +45 -45
  20. package/lib/cjs/presentation-common/Error.js +62 -62
  21. package/lib/cjs/presentation-common/Error.js.map +1 -1
  22. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +59 -59
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  24. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  25. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  26. package/lib/cjs/presentation-common/KeySet.js +423 -423
  27. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  28. package/lib/cjs/presentation-common/LabelDefinition.d.ts +79 -79
  29. package/lib/cjs/presentation-common/LabelDefinition.js +76 -76
  30. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  31. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  32. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  33. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  34. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  35. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  36. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +250 -250
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  39. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  40. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +181 -181
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.js +102 -102
  42. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  43. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  44. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  45. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  46. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +82 -82
  47. package/lib/cjs/presentation-common/RpcRequestsHandler.js +155 -155
  48. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  49. package/lib/cjs/presentation-common/RulesetVariables.d.ts +166 -166
  50. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  51. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  52. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  53. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  54. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  55. package/lib/cjs/presentation-common/Update.d.ts +196 -196
  56. package/lib/cjs/presentation-common/Update.js +196 -196
  57. package/lib/cjs/presentation-common/Update.js.map +1 -1
  58. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  59. package/lib/cjs/presentation-common/Utils.js +43 -43
  60. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  61. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  62. package/lib/cjs/presentation-common/content/Category.js +49 -49
  63. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  64. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  65. package/lib/cjs/presentation-common/content/Content.js +56 -56
  66. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  67. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +101 -101
  68. package/lib/cjs/presentation-common/content/ContentTraverser.js +420 -420
  69. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  70. package/lib/cjs/presentation-common/content/Descriptor.d.ts +275 -275
  71. package/lib/cjs/presentation-common/content/Descriptor.js +195 -195
  72. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  73. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  74. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  75. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  76. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  77. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  78. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  79. package/lib/cjs/presentation-common/content/Fields.d.ts +282 -282
  80. package/lib/cjs/presentation-common/content/Fields.js +394 -394
  81. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  82. package/lib/cjs/presentation-common/content/Item.d.ts +87 -87
  83. package/lib/cjs/presentation-common/content/Item.js +86 -86
  84. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  85. package/lib/cjs/presentation-common/content/Property.d.ts +51 -51
  86. package/lib/cjs/presentation-common/content/Property.js +36 -36
  87. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  88. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  89. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  90. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  91. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  92. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  93. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  94. package/lib/cjs/presentation-common/content/Value.d.ts +157 -157
  95. package/lib/cjs/presentation-common/content/Value.js +217 -217
  96. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  97. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +185 -185
  98. package/lib/cjs/presentation-common/hierarchy/Key.js +112 -112
  99. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  100. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +141 -141
  101. package/lib/cjs/presentation-common/hierarchy/Node.js +97 -97
  102. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  103. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +85 -85
  104. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +98 -98
  105. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  106. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  107. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  108. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  109. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  110. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  111. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  112. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  113. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  114. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +53 -53
  116. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  117. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  118. package/lib/cjs/presentation-common/rules/Rule.d.ts +74 -74
  119. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  120. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  121. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +66 -66
  122. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  123. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  125. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  126. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  127. package/lib/cjs/presentation-common/rules/Variables.d.ts +55 -55
  128. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  129. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  130. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  131. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  132. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  134. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  135. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  137. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  138. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +55 -55
  140. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  141. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  143. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  144. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  145. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  146. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  147. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  148. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  149. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  150. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  151. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  152. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  153. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  154. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  155. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  156. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  157. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  158. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  159. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  160. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  161. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  162. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  163. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +105 -105
  164. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  165. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  166. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +93 -93
  167. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  168. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  169. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  170. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  171. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  172. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  173. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  174. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  175. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  176. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  177. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  178. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +200 -200
  179. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  180. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  181. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  182. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  183. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  184. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +156 -156
  185. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  186. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  187. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  188. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  189. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  190. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  191. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  192. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  193. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  194. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  195. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  196. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +15 -15
  197. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  198. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  199. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +97 -97
  200. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +22 -22
  201. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  202. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  203. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  204. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  205. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +76 -76
  206. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  207. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  208. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  209. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  210. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  211. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  212. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  213. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  214. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  215. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  216. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  217. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  218. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  219. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  220. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +17 -17
  221. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  222. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  223. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +36 -36
  224. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  225. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  226. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +25 -25
  227. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  228. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  229. package/lib/cjs/presentation-common.d.ts +111 -111
  230. package/lib/cjs/presentation-common.js +127 -127
  231. package/lib/cjs/presentation-common.js.map +1 -1
  232. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  233. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  234. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  235. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  236. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  237. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  238. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  239. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  240. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  241. package/lib/esm/presentation-common/EC.d.ts +315 -315
  242. package/lib/esm/presentation-common/EC.js +267 -267
  243. package/lib/esm/presentation-common/EC.js.map +1 -1
  244. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  245. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  246. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  247. package/lib/esm/presentation-common/Error.d.ts +45 -45
  248. package/lib/esm/presentation-common/Error.js +58 -58
  249. package/lib/esm/presentation-common/Error.js.map +1 -1
  250. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +59 -59
  251. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  252. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  253. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  254. package/lib/esm/presentation-common/KeySet.js +419 -419
  255. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  256. package/lib/esm/presentation-common/LabelDefinition.d.ts +79 -79
  257. package/lib/esm/presentation-common/LabelDefinition.js +73 -73
  258. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  259. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  260. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  261. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  262. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  263. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  264. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  265. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +250 -250
  266. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  267. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  268. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +181 -181
  269. package/lib/esm/presentation-common/PresentationRpcInterface.js +98 -98
  270. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  271. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  272. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  273. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  274. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +82 -82
  275. package/lib/esm/presentation-common/RpcRequestsHandler.js +151 -151
  276. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  277. package/lib/esm/presentation-common/RulesetVariables.d.ts +166 -166
  278. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  279. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  280. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  281. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  282. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  283. package/lib/esm/presentation-common/Update.d.ts +196 -196
  284. package/lib/esm/presentation-common/Update.js +193 -193
  285. package/lib/esm/presentation-common/Update.js.map +1 -1
  286. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  287. package/lib/esm/presentation-common/Utils.js +39 -39
  288. package/lib/esm/presentation-common/Utils.js.map +1 -1
  289. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  290. package/lib/esm/presentation-common/content/Category.js +46 -46
  291. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  292. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  293. package/lib/esm/presentation-common/content/Content.js +52 -52
  294. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  295. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +101 -101
  296. package/lib/esm/presentation-common/content/ContentTraverser.js +411 -411
  297. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  298. package/lib/esm/presentation-common/content/Descriptor.d.ts +275 -275
  299. package/lib/esm/presentation-common/content/Descriptor.js +191 -191
  300. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  301. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  302. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  303. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  304. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  305. package/lib/esm/presentation-common/content/Editor.js +8 -8
  306. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  307. package/lib/esm/presentation-common/content/Fields.d.ts +282 -282
  308. package/lib/esm/presentation-common/content/Fields.js +387 -387
  309. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  310. package/lib/esm/presentation-common/content/Item.d.ts +87 -87
  311. package/lib/esm/presentation-common/content/Item.js +82 -82
  312. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  313. package/lib/esm/presentation-common/content/Property.d.ts +51 -51
  314. package/lib/esm/presentation-common/content/Property.js +33 -33
  315. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  316. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  317. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  318. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  319. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  320. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  321. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  322. package/lib/esm/presentation-common/content/Value.d.ts +157 -157
  323. package/lib/esm/presentation-common/content/Value.js +214 -214
  324. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  325. package/lib/esm/presentation-common/hierarchy/Key.d.ts +185 -185
  326. package/lib/esm/presentation-common/hierarchy/Key.js +109 -109
  327. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  328. package/lib/esm/presentation-common/hierarchy/Node.d.ts +141 -141
  329. package/lib/esm/presentation-common/hierarchy/Node.js +94 -94
  330. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  331. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +85 -85
  332. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +95 -95
  333. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  334. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  335. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  336. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  337. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  338. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  339. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  340. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  341. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  342. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  343. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +53 -53
  344. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  345. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  346. package/lib/esm/presentation-common/rules/Rule.d.ts +74 -74
  347. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  348. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  349. package/lib/esm/presentation-common/rules/Ruleset.d.ts +66 -66
  350. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  351. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  352. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  353. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  354. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  355. package/lib/esm/presentation-common/rules/Variables.d.ts +55 -55
  356. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  357. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  358. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  359. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  360. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  361. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  362. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  363. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  364. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  365. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  366. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  367. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +55 -55
  368. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  369. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  370. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  371. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  372. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  373. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  374. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  375. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  376. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  377. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  378. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  379. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  380. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  381. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  382. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  383. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  384. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  385. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  386. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  387. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  388. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  389. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  390. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  391. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +105 -105
  392. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  393. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  394. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +93 -93
  395. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  396. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  397. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  398. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  399. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  400. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  401. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  402. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  403. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  404. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  405. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  406. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +200 -200
  407. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  408. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  409. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  410. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  411. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  412. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +156 -156
  413. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  414. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  415. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  416. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  417. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  418. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  419. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  420. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  421. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  422. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  423. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  424. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +15 -15
  425. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  426. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  427. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +97 -97
  428. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +19 -19
  429. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  430. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  431. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  432. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  433. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +76 -76
  434. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  435. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  436. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  437. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  438. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  439. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  440. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  441. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  442. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  443. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  444. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  445. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  446. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  447. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  448. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +17 -17
  449. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  450. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  451. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +36 -36
  452. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  453. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  454. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +25 -25
  455. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  456. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  457. package/lib/esm/presentation-common.d.ts +111 -111
  458. package/lib/esm/presentation-common.js +115 -115
  459. package/lib/esm/presentation-common.js.map +1 -1
  460. package/lib/public/locales/en/BisCore.json +18 -18
  461. package/lib/public/locales/en/ECPresentation.json +9 -9
  462. package/lib/public/locales/en/RulesEngine.json +5 -5
  463. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA+D;AA2B/D,cAAc;AACd,IAAiB,WAAW,CAkB3B;AAlBD,WAAiB,WAAW;IAC1B,8BAA8B;IAC9B,SAAgB,OAAO,CAAC,GAAgB,EAAE,GAAgB;QACxD,MAAM,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,gBAAgB,KAAK,CAAC;YACxB,OAAO,gBAAgB,CAAC;QAC1B,OAAO,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IALe,mBAAO,UAKtB,CAAA;IAED,wCAAwC;IACxC,SAAgB,MAAM,CAAC,IAAiB;QACtC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7C,CAAC;IAFe,kBAAM,SAErB,CAAA;IAED,4CAA4C;IAC5C,SAAgB,QAAQ,CAAC,IAAqB;QAC5C,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IAFe,oBAAQ,WAEvB,CAAA;AACH,CAAC,EAlBgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAkB3B;AAwBD,cAAc;AACd,IAAiB,SAAS,CAUzB;AAVD,WAAiB,SAAS;IACxB,sCAAsC;IACtC,SAAgB,MAAM,CAAC,IAAe;QACpC,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC7C,CAAC;IAFe,gBAAM,SAErB,CAAA;IAED,0CAA0C;IAC1C,SAAgB,QAAQ,CAAC,IAAmB;QAC1C,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IAFe,kBAAQ,WAEvB,CAAA;AACH,CAAC,EAVgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAUzB;AA+ED,YAAY;AACZ,IAAiB,sBAAsB,CAiCtC;AAjCD,WAAiB,sBAAsB;IACrC,mDAAmD;IACnD,SAAgB,MAAM,CAAC,IAA4B;QACjD,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;IACrH,CAAC;IAFe,6BAAM,SAErB,CAAA;IAED,8DAA8D;IAC9D,SAAgB,gBAAgB,CAAC,sBAA8C,EAAE,UAAqD;QACpI,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,wBAAwB,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC;QAC7F,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAC,GAAG,sBAAsB,CAAC,eAAe,CAAC;QACtF,UAAU,CAAC,cAAc,CAAC,GAAG,wBAAwB,CAAC;QACtD,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;QAE1C,OAAO;YACL,GAAG,sBAAsB;YACzB,SAAS,EAAE,cAAc;YACzB,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAXe,uCAAgB,mBAW/B,CAAA;IAED,uDAAuD;IACvD,SAAgB,QAAQ,CAAC,IAA4B;QACnD,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;IAC/H,CAAC;IAFe,+BAAQ,WAEvB,CAAA;IAED,kEAAkE;IAClE,SAAgB,kBAAkB,CAAC,oCAAwE,EAAE,UAAqD;QAChK,OAAO;YACL,GAAG,oCAAoC;YACvC,SAAS,EAAE,EAAE,EAAE,EAAE,oCAAoC,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,oCAAoC,CAAC,SAAS,CAAC,EAAE;YAChI,eAAe,EAAE,EAAE,EAAE,EAAE,oCAAoC,CAAC,eAAe,EAAE,GAAG,UAAU,CAAC,oCAAoC,CAAC,eAAe,CAAC,EAAE;SACnJ,CAAC;IACJ,CAAC;IANe,yCAAkB,qBAMjC,CAAA;AACH,CAAC,EAjCgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAiCtC;AAwCD,cAAc;AACd,IAAiB,YAAY,CA+B5B;AA/BD,WAAiB,YAAY;IAC3B,yCAAyC;IACzC,SAAgB,MAAM,CAAC,IAAkB;QACvC,OAAO;YACL,GAAG,IAAI;YACP,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACtI,CAAC;IACJ,CAAC;IANe,mBAAM,SAMrB,CAAA;IAED,oDAAoD;IACpD,SAAgB,gBAAgB,CAAC,YAA0B,EAAE,UAAqD;QAChH,MAAM,EAAE,sBAAsB,EAAE,GAAG,oBAAoB,EAAE,GAAG,YAAY,CAAC;QACzE,MAAM,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC;QACvD,UAAU,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC;QAE9B,OAAO;YACL,GAAG,oBAAoB;YACvB,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE;YACpC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAClJ,CAAC;IACJ,CAAC;IAVe,6BAAgB,mBAU/B,CAAA;IAED,6CAA6C;IAC7C,SAAgB,QAAQ,CAAC,IAAsB;QAC7C,OAAO;YACL,GAAG,IAAI;YACP,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACxI,CAAC;IACJ,CAAC;IANe,qBAAQ,WAMvB,CAAA;AACH,CAAC,EA/BgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QA+B5B;AAwCD,cAAc;AACd,IAAiB,gBAAgB,CAsFhC;AAtFD,WAAiB,gBAAgB;IAC/B,6CAA6C;IAC7C,SAAgB,MAAM,CAAC,IAAsB;QAC3C,OAAO;YACL,GAAG,IAAI;YACP,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YACvD,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;YACvD,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC1D,CAAC;IACJ,CAAC;IAPe,uBAAM,SAOrB,CAAA;IAED,wDAAwD;IACxD,SAAgB,gBAAgB,CAAC,SAA2B,EAAE,UAAqD;QACjH,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAAC,eAAe,CAAC;QAC1E,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,GAAG,SAAS,CAAC,eAAe,CAAC;QAC1E,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,wBAAwB,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAEvF,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;QAC1C,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;QAC1C,UAAU,CAAC,cAAc,CAAC,GAAG,wBAAwB,CAAC;QAEtD,OAAO;YACL,GAAG,SAAS;YACZ,eAAe,EAAE,QAAQ;YACzB,eAAe,EAAE,QAAQ;YACzB,gBAAgB,EAAE,cAAc;SACjC,CAAC;IACJ,CAAC;IAfe,iCAAgB,mBAe/B,CAAA;IAED,iDAAiD;IACjD,SAAgB,QAAQ,CAAC,IAA0B;;QACjD,OAAO;YACL,GAAG,IAAI;YACP,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;YACzD,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;YACzD,wBAAwB,EAAE,MAAA,IAAI,CAAC,wBAAwB,mCAAI,KAAK;YAChE,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC3D,yBAAyB,EAAE,MAAA,IAAI,CAAC,yBAAyB,mCAAI,KAAK;SACnE,CAAC;IACJ,CAAC;IATe,yBAAQ,WASvB,CAAA;IAED,4DAA4D;IAC5D,SAAgB,kBAAkB,CAAC,IAAkC,EAAE,UAAqD;;QAC1H,IAAA,qBAAM,EAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACxD,IAAA,qBAAM,EAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACxD,IAAA,qBAAM,EAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzD,OAAO;YACL,GAAG,IAAI;YACP,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACtG,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACtG,wBAAwB,EAAE,MAAA,IAAI,CAAC,wBAAwB,mCAAI,KAAK;YAChE,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzG,yBAAyB,EAAE,MAAA,IAAI,CAAC,yBAAyB,mCAAI,KAAK;SACnE,CAAC;IACJ,CAAC;IAZe,mCAAkB,qBAYjC,CAAA;IAED,kFAAkF;IAClF,SAAgB,MAAM,CAAC,GAAgD,EAAE,GAAgD;QACvH,OAAO,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAC,qBAAqB;eACzD,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;eAC3D,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;eAC3D,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/E,CAAC;IALe,uBAAM,SAKrB,CAAA;IAED,SAAS,UAAU,CAAC,IAAiD;QACnE,MAAM,aAAa,GAAG,IAAgC,CAAC;QACvD,OAAO,CAAC,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC;IAChH,CAAC;IAED,SAAS,YAAY,CAAC,IAAiD,EAAE,UAAgD;QACvH,QAAQ,UAAU,EAAE;YAClB,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1F,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1F,KAAK,cAAc,CAAC,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;SACnG;IACH,CAAC;IAED,uEAAuE;IACvE,SAAgB,KAAK,CAAC,IAAsB;QAC1C,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC1C,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC1C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAC5C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC;IACJ,CAAC;IAPe,sBAAK,QAOpB,CAAA;AACH,CAAC,EAtFgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAsFhC;AAyBD,cAAc;AACd,IAAiB,wCAAwC,CAsCxD;AAtCD,WAAiB,wCAAwC;IACvD,gFAAgF;IAChF,SAAgB,gBAAgB,CAAC,SAAmD,EAAE,UAAqD;QACzI,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,UAAU,EAAE,GAAG,SAAS,CAAC;QACxF,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC;QAChE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,GAAG,eAAe,CAAC;QAEhE,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;QAC1C,UAAU,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;QAE1C,IAAI,gBAAgB,EAAE;YACpB,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,GAAG,wBAAwB,EAAE,GAAG,gBAAgB,CAAC;YAC7E,UAAU,CAAC,cAAc,CAAC,GAAG,wBAAwB,CAAC;SACvD;QAED,OAAO;YACL,GAAG,UAAU;YACb,eAAe,EAAE,QAAQ;YACzB,eAAe,EAAE,QAAQ;YACzB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SAC9E,CAAC;IACJ,CAAC;IAnBe,yDAAgB,mBAmB/B,CAAA;IAED,oFAAoF;IACpF,SAAgB,kBAAkB,CAAC,IAA0D,EAAE,UAAqD;;QAClJ,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;QACnF,IAAA,qBAAM,EAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;QACnD,IAAA,qBAAM,EAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;QACnD,IAAI,gBAAgB;YAClB,IAAA,qBAAM,EAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACtD,OAAO;YACL,GAAG,UAAU;YACb,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5F,eAAe,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAC5F,wBAAwB,EAAE,MAAA,IAAI,CAAC,wBAAwB,mCAAI,KAAK;YAChE,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACxI,CAAC;IACJ,CAAC;IAbe,2DAAkB,qBAajC,CAAA;AACH,CAAC,EAtCgB,wCAAwC,GAAxC,gDAAwC,KAAxC,gDAAwC,QAsCxD;AAcD,cAAc;AACd,IAAiB,gBAAgB,CAqBhC;AArBD,WAAiB,gBAAgB;IAC/B,0DAA0D;IAC1D,SAAgB,OAAO,CAAC,IAAsB;QAC5C,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,IAAI;YACP,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,qBAAqB,EAAE,CAAC,IAAI,CAAC,qBAAqB;SACnD,CAAC,CAAC,CAAC;IACN,CAAC;IAPe,wBAAO,UAOtB,CAAA;IAED,kFAAkF;IAClF,SAAgB,MAAM,CAAC,GAAuD,EAAE,GAAuD;QACrI,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;eAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAHe,uBAAM,SAGrB,CAAA;IAED,uEAAuE;IACvE,SAAgB,KAAK,CAAC,IAAsB;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAFe,sBAAK,QAEpB,CAAA;AACH,CAAC,EArBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAqBhC","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, Id64, 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 return lhs.id.localeCompare(rhs.id);\n }\n\n /** Serialize [[InstanceKey]] to JSON */\n export function toJSON(json: InstanceKey): InstanceKeyJSON {\n return { ...json, id: json.id.toString() };\n }\n\n /** Deserialize [[InstanceKey]] from JSON */\n export function fromJSON(json: InstanceKeyJSON) {\n return { ...json, id: Id64.fromJSON(json.id) };\n }\n}\n\n/**\n * A serialized version of [[InstanceKey]]\n * @public\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 /** Serialize [[ClassInfo]] to JSON */\n export function toJSON(info: ClassInfo): ClassInfoJSON {\n return { ...info, id: info.id.toString() };\n }\n\n /** Deserialize [[ClassInfo]] from JSON */\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\n return { ...json, id: Id64.fromJSON(json.id) };\n }\n}\n\n/**\n * A serialized version of [[ClassInfo]]\n * @public\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 * 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/** @beta */\nexport namespace NavigationPropertyInfo {\n /** Serialize [[NavigationPropertyInfo]] to JSON */\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\n return { ...info, classInfo: ClassInfo.toJSON(info.classInfo), targetClassInfo: ClassInfo.toJSON(info.classInfo) };\n }\n\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\n export function toCompressedJSON(navigationPropertyInfo: NavigationPropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): 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 /** Deserialize [[NavigationPropertyInfo]] from JSON */\n export function fromJSON(json: NavigationPropertyInfo): NavigationPropertyInfo {\n return { ...json, classInfo: ClassInfo.fromJSON(json.classInfo), targetClassInfo: ClassInfo.fromJSON(json.targetClassInfo) };\n }\n\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\n export function fromCompressedJSON(compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): 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 */\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 /**\n * Kind of quantity information, if any.\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\n */\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 /** Serialize [[PropertyInfo]] to JSON */\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\n return {\n ...info,\n classInfo: ClassInfo.toJSON(info.classInfo),\n ...(info.navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toJSON(info.navigationPropertyInfo) } : undefined),\n };\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 /** Deserialize [[PropertyInfo]] from JSON */\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\n return {\n ...json,\n classInfo: ClassInfo.fromJSON(json.classInfo),\n ...(json.navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.fromJSON(json.navigationPropertyInfo) } : undefined),\n };\n }\n}\n\n/**\n * A serialized version of [[PropertyInfo]]\n * @public\n */\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 /** 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 /** Serialize [[RelatedClassInfo]] to JSON */\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\n return {\n ...info,\n sourceClassInfo: ClassInfo.toJSON(info.sourceClassInfo),\n targetClassInfo: ClassInfo.toJSON(info.targetClassInfo),\n relationshipInfo: ClassInfo.toJSON(info.relationshipInfo),\n };\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 /** Deserialize [[RelatedClassInfo]] from JSON */\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\n return {\n ...json,\n sourceClassInfo: ClassInfo.fromJSON(json.sourceClassInfo),\n targetClassInfo: ClassInfo.fromJSON(json.targetClassInfo),\n isPolymorphicTargetClass: json.isPolymorphicTargetClass ?? false,\n relationshipInfo: ClassInfo.fromJSON(json.relationshipInfo),\n isPolymorphicRelationship: json.isPolymorphicRelationship ?? false,\n };\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: ClassInfo.fromJSON({ id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] }),\n targetClassInfo: ClassInfo.fromJSON({ id: json.targetClassInfo, ...classesMap[json.targetClassInfo] }),\n isPolymorphicTargetClass: json.isPolymorphicTargetClass ?? false,\n relationshipInfo: ClassInfo.fromJSON({ id: json.relationshipInfo, ...classesMap[json.relationshipInfo] }),\n isPolymorphicRelationship: json.isPolymorphicRelationship ?? false,\n };\n }\n\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\n return 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 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\": return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\n case \"target\": return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\n case \"relationship\": 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 */\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\n sourceClassInfo: TClassInfoJSON;\n targetClassInfo: TClassInfoJSON;\n isPolymorphicTargetClass?: boolean;\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 */\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\n\n/** @public */\nexport namespace RelatedClassInfoWithOptionalRelationship { // eslint-disable-line @typescript-eslint/no-redeclare\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\n export function toCompressedJSON(classInfo: RelatedClassInfoWithOptionalRelationship, classesMap: { [id: string]: CompressedClassInfoJSON }): 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(json: RelatedClassInfoWithOptionalRelationshipJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): 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 return {\n ...otherProps,\n sourceClassInfo: ClassInfo.fromJSON({ id: sourceClassInfo, ...classesMap[sourceClassInfo] }),\n targetClassInfo: ClassInfo.fromJSON({ id: targetClassInfo, ...classesMap[targetClassInfo] }),\n isPolymorphicTargetClass: json.isPolymorphicTargetClass ?? false,\n ...(relationshipInfo ? { relationshipInfo: ClassInfo.fromJSON({ 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 */\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\n\n/** @public */\nexport namespace RelationshipPath { // eslint-disable-line @typescript-eslint/no-redeclare\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\n && 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
+ {"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, Id64, 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 return lhs.id.localeCompare(rhs.id);\r\n }\r\n\r\n /** Serialize [[InstanceKey]] to JSON */\r\n export function toJSON(json: InstanceKey): InstanceKeyJSON {\r\n return { ...json, id: json.id.toString() };\r\n }\r\n\r\n /** Deserialize [[InstanceKey]] from JSON */\r\n export function fromJSON(json: InstanceKeyJSON) {\r\n return { ...json, id: Id64.fromJSON(json.id) };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[InstanceKey]]\r\n * @public\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 /** Serialize [[ClassInfo]] to JSON */\r\n export function toJSON(info: ClassInfo): ClassInfoJSON {\r\n return { ...info, id: info.id.toString() };\r\n }\r\n\r\n /** Deserialize [[ClassInfo]] from JSON */\r\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\r\n return { ...json, id: Id64.fromJSON(json.id) };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[ClassInfo]]\r\n * @public\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 * 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/** @beta */\r\nexport namespace NavigationPropertyInfo {\r\n /** Serialize [[NavigationPropertyInfo]] to JSON */\r\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\r\n return { ...info, classInfo: ClassInfo.toJSON(info.classInfo), targetClassInfo: ClassInfo.toJSON(info.classInfo) };\r\n }\r\n\r\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(navigationPropertyInfo: NavigationPropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): 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 /** Deserialize [[NavigationPropertyInfo]] from JSON */\r\n export function fromJSON(json: NavigationPropertyInfo): NavigationPropertyInfo {\r\n return { ...json, classInfo: ClassInfo.fromJSON(json.classInfo), targetClassInfo: ClassInfo.fromJSON(json.targetClassInfo) };\r\n }\r\n\r\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\r\n export function fromCompressedJSON(compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): 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\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 /**\r\n * Kind of quantity information, if any.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\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 /** Serialize [[PropertyInfo]] to JSON */\r\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\r\n return {\r\n ...info,\r\n classInfo: ClassInfo.toJSON(info.classInfo),\r\n ...(info.navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toJSON(info.navigationPropertyInfo) } : undefined),\r\n };\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 /** Deserialize [[PropertyInfo]] from JSON */\r\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\r\n return {\r\n ...json,\r\n classInfo: ClassInfo.fromJSON(json.classInfo),\r\n ...(json.navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.fromJSON(json.navigationPropertyInfo) } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[PropertyInfo]]\r\n * @public\r\n */\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 /** 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 /** Serialize [[RelatedClassInfo]] to JSON */\r\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\r\n return {\r\n ...info,\r\n sourceClassInfo: ClassInfo.toJSON(info.sourceClassInfo),\r\n targetClassInfo: ClassInfo.toJSON(info.targetClassInfo),\r\n relationshipInfo: ClassInfo.toJSON(info.relationshipInfo),\r\n };\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 /** Deserialize [[RelatedClassInfo]] from JSON */\r\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\r\n return {\r\n ...json,\r\n sourceClassInfo: ClassInfo.fromJSON(json.sourceClassInfo),\r\n targetClassInfo: ClassInfo.fromJSON(json.targetClassInfo),\r\n isPolymorphicTargetClass: json.isPolymorphicTargetClass ?? false,\r\n relationshipInfo: ClassInfo.fromJSON(json.relationshipInfo),\r\n isPolymorphicRelationship: json.isPolymorphicRelationship ?? false,\r\n };\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: ClassInfo.fromJSON({ id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] }),\r\n targetClassInfo: ClassInfo.fromJSON({ id: json.targetClassInfo, ...classesMap[json.targetClassInfo] }),\r\n isPolymorphicTargetClass: json.isPolymorphicTargetClass ?? false,\r\n relationshipInfo: ClassInfo.fromJSON({ id: json.relationshipInfo, ...classesMap[json.relationshipInfo] }),\r\n isPolymorphicRelationship: json.isPolymorphicRelationship ?? false,\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 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 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\": return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\r\n case \"target\": return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\r\n case \"relationship\": 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\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\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\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfoWithOptionalRelationship { // eslint-disable-line @typescript-eslint/no-redeclare\r\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfoWithOptionalRelationship, classesMap: { [id: string]: CompressedClassInfoJSON }): 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(json: RelatedClassInfoWithOptionalRelationshipJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): 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 return {\r\n ...otherProps,\r\n sourceClassInfo: ClassInfo.fromJSON({ id: sourceClassInfo, ...classesMap[sourceClassInfo] }),\r\n targetClassInfo: ClassInfo.fromJSON({ id: targetClassInfo, ...classesMap[targetClassInfo] }),\r\n isPolymorphicTargetClass: json.isPolymorphicTargetClass ?? false,\r\n ...(relationshipInfo ? { relationshipInfo: ClassInfo.fromJSON({ 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\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\nexport namespace RelationshipPath { // eslint-disable-line @typescript-eslint/no-redeclare\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\r\n && 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,124 +1,124 @@
1
- /** @packageDocumentation
2
- * @module RPC
3
- */
4
- import { Id64String } from "@itwin/core-bentley";
5
- /**
6
- * Data structure for storing element properties information in a simplified format.
7
- * @see [[Content]] for a format stores all available element property data.
8
- * @beta
9
- */
10
- export interface ElementProperties {
11
- /** Label of element's ECClass. */
12
- class: string;
13
- /** Element's ID. */
14
- id: Id64String;
15
- /** Element's label. */
16
- label: string;
17
- /** Container of property values */
18
- items: {
19
- [label: string]: ElementPropertiesItem;
20
- };
21
- }
22
- /**
23
- * Base type for all [[ElementPropertiesItem]] types.
24
- * @beta
25
- */
26
- export interface ElementPropertiesItemBase {
27
- /** Type of the properties item. */
28
- type: "category" | ElementPropertiesPropertyValueType;
29
- }
30
- /**
31
- * Definition for a category. A category can nest other property items, including categories.
32
- * @beta
33
- */
34
- export interface ElementPropertiesCategoryItem extends ElementPropertiesItemBase {
35
- /** Type of the properties item. */
36
- type: "category";
37
- /** Container of property values */
38
- items: {
39
- [label: string]: ElementPropertiesItem;
40
- };
41
- }
42
- /**
43
- * Base type for all [[ElementPropertiesPropertyItem]] types.
44
- * @beta
45
- */
46
- export interface ElementPropertiesPropertyItemBase extends ElementPropertiesItemBase {
47
- /** Type of the properties item. */
48
- type: ElementPropertiesPropertyValueType;
49
- }
50
- /**
51
- * Definition for a primitive property value.
52
- * @beta
53
- */
54
- export interface ElementPropertiesPrimitivePropertyItem extends ElementPropertiesPropertyItemBase {
55
- /** Type of the properties item. */
56
- type: "primitive";
57
- /** Display value of the property. */
58
- value: string;
59
- }
60
- /**
61
- * Base type for all [[ElementPropertiesArrayPropertyItem]] types.
62
- * @beta
63
- */
64
- export interface ElementPropertiesArrayPropertyItemBase extends ElementPropertiesPropertyItemBase {
65
- /** Type of the properties item. */
66
- type: "array";
67
- /** Type of values contained in this array. */
68
- valueType: "primitive" | "struct";
69
- }
70
- /**
71
- * Definition for a primitives' array property value.
72
- * @beta
73
- */
74
- export interface ElementPropertiesPrimitiveArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {
75
- /** Type of values contained in this array. */
76
- valueType: "primitive";
77
- /** Array of display values. */
78
- values: string[];
79
- }
80
- /**
81
- * Definition for a structs' array property value.
82
- * @beta
83
- */
84
- export interface ElementPropertiesStructArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {
85
- /** Type of values contained in this array. */
86
- valueType: "struct";
87
- /** Array of structs. */
88
- values: Array<{
89
- [memberLabel: string]: ElementPropertiesPropertyItem;
90
- }>;
91
- }
92
- /**
93
- * Definition for an array property value.
94
- * @beta
95
- */
96
- export declare type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;
97
- /**
98
- * Definition for an struct property value.
99
- * @beta
100
- */
101
- export interface ElementPropertiesStructPropertyItem extends ElementPropertiesPropertyItemBase {
102
- /** Type of the properties item. */
103
- type: "struct";
104
- /** Container of struct members. */
105
- members: {
106
- [memberLabel: string]: ElementPropertiesPropertyItem;
107
- };
108
- }
109
- /**
110
- * Available element property types.
111
- * @beta
112
- */
113
- export declare type ElementPropertiesPropertyValueType = "primitive" | "array" | "struct";
114
- /**
115
- * Definition of a property value.
116
- * @beta
117
- */
118
- export declare type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;
119
- /**
120
- * Definition of a property item, including a property category.
121
- * @beta
122
- */
123
- export declare type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;
1
+ /** @packageDocumentation
2
+ * @module RPC
3
+ */
4
+ import { Id64String } from "@itwin/core-bentley";
5
+ /**
6
+ * Data structure for storing element properties information in a simplified format.
7
+ * @see [[Content]] for a format stores all available element property data.
8
+ * @beta
9
+ */
10
+ export interface ElementProperties {
11
+ /** Label of element's ECClass. */
12
+ class: string;
13
+ /** Element's ID. */
14
+ id: Id64String;
15
+ /** Element's label. */
16
+ label: string;
17
+ /** Container of property values */
18
+ items: {
19
+ [label: string]: ElementPropertiesItem;
20
+ };
21
+ }
22
+ /**
23
+ * Base type for all [[ElementPropertiesItem]] types.
24
+ * @beta
25
+ */
26
+ export interface ElementPropertiesItemBase {
27
+ /** Type of the properties item. */
28
+ type: "category" | ElementPropertiesPropertyValueType;
29
+ }
30
+ /**
31
+ * Definition for a category. A category can nest other property items, including categories.
32
+ * @beta
33
+ */
34
+ export interface ElementPropertiesCategoryItem extends ElementPropertiesItemBase {
35
+ /** Type of the properties item. */
36
+ type: "category";
37
+ /** Container of property values */
38
+ items: {
39
+ [label: string]: ElementPropertiesItem;
40
+ };
41
+ }
42
+ /**
43
+ * Base type for all [[ElementPropertiesPropertyItem]] types.
44
+ * @beta
45
+ */
46
+ export interface ElementPropertiesPropertyItemBase extends ElementPropertiesItemBase {
47
+ /** Type of the properties item. */
48
+ type: ElementPropertiesPropertyValueType;
49
+ }
50
+ /**
51
+ * Definition for a primitive property value.
52
+ * @beta
53
+ */
54
+ export interface ElementPropertiesPrimitivePropertyItem extends ElementPropertiesPropertyItemBase {
55
+ /** Type of the properties item. */
56
+ type: "primitive";
57
+ /** Display value of the property. */
58
+ value: string;
59
+ }
60
+ /**
61
+ * Base type for all [[ElementPropertiesArrayPropertyItem]] types.
62
+ * @beta
63
+ */
64
+ export interface ElementPropertiesArrayPropertyItemBase extends ElementPropertiesPropertyItemBase {
65
+ /** Type of the properties item. */
66
+ type: "array";
67
+ /** Type of values contained in this array. */
68
+ valueType: "primitive" | "struct";
69
+ }
70
+ /**
71
+ * Definition for a primitives' array property value.
72
+ * @beta
73
+ */
74
+ export interface ElementPropertiesPrimitiveArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {
75
+ /** Type of values contained in this array. */
76
+ valueType: "primitive";
77
+ /** Array of display values. */
78
+ values: string[];
79
+ }
80
+ /**
81
+ * Definition for a structs' array property value.
82
+ * @beta
83
+ */
84
+ export interface ElementPropertiesStructArrayPropertyItem extends ElementPropertiesArrayPropertyItemBase {
85
+ /** Type of values contained in this array. */
86
+ valueType: "struct";
87
+ /** Array of structs. */
88
+ values: Array<{
89
+ [memberLabel: string]: ElementPropertiesPropertyItem;
90
+ }>;
91
+ }
92
+ /**
93
+ * Definition for an array property value.
94
+ * @beta
95
+ */
96
+ export declare type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;
97
+ /**
98
+ * Definition for an struct property value.
99
+ * @beta
100
+ */
101
+ export interface ElementPropertiesStructPropertyItem extends ElementPropertiesPropertyItemBase {
102
+ /** Type of the properties item. */
103
+ type: "struct";
104
+ /** Container of struct members. */
105
+ members: {
106
+ [memberLabel: string]: ElementPropertiesPropertyItem;
107
+ };
108
+ }
109
+ /**
110
+ * Available element property types.
111
+ * @beta
112
+ */
113
+ export declare type ElementPropertiesPropertyValueType = "primitive" | "array" | "struct";
114
+ /**
115
+ * Definition of a property value.
116
+ * @beta
117
+ */
118
+ export declare type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;
119
+ /**
120
+ * Definition of a property item, including a property category.
121
+ * @beta
122
+ */
123
+ export declare type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;
124
124
  //# sourceMappingURL=ElementProperties.d.ts.map
@@ -1,10 +1,10 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module RPC
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module RPC
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  //# sourceMappingURL=ElementProperties.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementProperties.js","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;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 stores all available element property data.\n * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\n */\nexport type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;\n\n/**\n * Definition for an struct property value.\n * @beta\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 * @beta\n */\nexport type ElementPropertiesPropertyValueType = \"primitive\" | \"array\" | \"struct\";\n\n/**\n * Definition of a property value.\n * @beta\n */\nexport type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;\n\n/**\n * Definition of a property item, including a property category.\n * @beta\n */\nexport type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;\n"]}
1
+ {"version":3,"file":"ElementProperties.js","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;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 stores all available element property data.\r\n * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\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 * @beta\r\n */\r\nexport type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;\r\n\r\n/**\r\n * Definition for an struct property value.\r\n * @beta\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 * @beta\r\n */\r\nexport type ElementPropertiesPropertyValueType = \"primitive\" | \"array\" | \"struct\";\r\n\r\n/**\r\n * Definition of a property value.\r\n * @beta\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 * @beta\r\n */\r\nexport type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;\r\n"]}
@@ -1,46 +1,46 @@
1
- /** @packageDocumentation
2
- * @module Core
3
- */
4
- import { BentleyError, GetMetaDataFunction } from "@itwin/core-bentley";
5
- /**
6
- * Status codes used by Presentation APIs.
7
- * @public
8
- */
9
- export declare enum PresentationStatus {
10
- /** Success result. */
11
- Success = 0,
12
- /** Request was cancelled. */
13
- Canceled = 1,
14
- /** Error: Unknown */
15
- Error = 65536,
16
- /** Error: Backend is not initialized. */
17
- NotInitialized = 65537,
18
- /** Error: Argument is invalid. */
19
- InvalidArgument = 65539,
20
- /**
21
- * Timeout for the request was reached which prevented it from being fulfilled. Frontend may
22
- * repeat the request.
23
- */
24
- BackendTimeout = 65543
25
- }
26
- /**
27
- * An error type thrown by Presentation APIs.
28
- * @public
29
- */
30
- export declare class PresentationError extends BentleyError {
31
- /**
32
- * Creates an instance of Error.
33
- * @param errorNumber Error code
34
- * @param message Optional brief description of the error. The `message` property combined with the `name`
35
- * property is used by the `Error.prototype.toString()` method to create a string representation of the Error.
36
- * @param log Optional log function which logs the error.
37
- * @param getMetaData Optional function that returns meta-data related to an error.
38
- */
39
- constructor(errorNumber: PresentationStatus, message?: string, getMetaData?: GetMetaDataFunction);
40
- /**
41
- * Returns the name of each error status. The name is used by the `Error.prototype.toString()`
42
- * method to create a string representation of the error.
43
- */
44
- protected _initName(): string;
45
- }
1
+ /** @packageDocumentation
2
+ * @module Core
3
+ */
4
+ import { BentleyError, GetMetaDataFunction } from "@itwin/core-bentley";
5
+ /**
6
+ * Status codes used by Presentation APIs.
7
+ * @public
8
+ */
9
+ export declare enum PresentationStatus {
10
+ /** Success result. */
11
+ Success = 0,
12
+ /** Request was cancelled. */
13
+ Canceled = 1,
14
+ /** Error: Unknown */
15
+ Error = 65536,
16
+ /** Error: Backend is not initialized. */
17
+ NotInitialized = 65537,
18
+ /** Error: Argument is invalid. */
19
+ InvalidArgument = 65539,
20
+ /**
21
+ * Timeout for the request was reached which prevented it from being fulfilled. Frontend may
22
+ * repeat the request.
23
+ */
24
+ BackendTimeout = 65543
25
+ }
26
+ /**
27
+ * An error type thrown by Presentation APIs.
28
+ * @public
29
+ */
30
+ export declare class PresentationError extends BentleyError {
31
+ /**
32
+ * Creates an instance of Error.
33
+ * @param errorNumber Error code
34
+ * @param message Optional brief description of the error. The `message` property combined with the `name`
35
+ * property is used by the `Error.prototype.toString()` method to create a string representation of the Error.
36
+ * @param log Optional log function which logs the error.
37
+ * @param getMetaData Optional function that returns meta-data related to an error.
38
+ */
39
+ constructor(errorNumber: PresentationStatus, message?: string, getMetaData?: GetMetaDataFunction);
40
+ /**
41
+ * Returns the name of each error status. The name is used by the `Error.prototype.toString()`
42
+ * method to create a string representation of the error.
43
+ */
44
+ protected _initName(): string;
45
+ }
46
46
  //# sourceMappingURL=Error.d.ts.map