@itwin/presentation-common 4.0.0-dev.8 → 4.0.0-dev.80

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 (417) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/Ruleset.schema.json +11 -0
  3. package/lib/cjs/assets/locales/en/Presentation.json +15 -0
  4. package/lib/cjs/assets/locales/en-PSEUDO/Presentation.json +15 -0
  5. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  6. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  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/Diagnostics.d.ts +125 -125
  10. package/lib/cjs/presentation-common/Diagnostics.d.ts.map +1 -1
  11. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  12. package/lib/cjs/presentation-common/EC.d.ts +347 -350
  13. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  14. package/lib/cjs/presentation-common/EC.js +290 -290
  15. package/lib/cjs/presentation-common/EC.js.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  17. package/lib/cjs/presentation-common/ElementProperties.d.ts.map +1 -1
  18. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  19. package/lib/cjs/presentation-common/Error.d.ts +47 -45
  20. package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
  21. package/lib/cjs/presentation-common/Error.js +64 -62
  22. package/lib/cjs/presentation-common/Error.js.map +1 -1
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  24. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  25. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  26. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  27. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  28. package/lib/cjs/presentation-common/KeySet.js +428 -428
  29. package/lib/cjs/presentation-common/LabelDefinition.d.ts +93 -87
  30. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  31. package/lib/cjs/presentation-common/LabelDefinition.js +78 -73
  32. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  33. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  34. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  35. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  36. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +273 -261
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  39. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  40. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -186
  42. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  43. package/lib/cjs/presentation-common/PresentationRpcInterface.js +108 -104
  44. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  45. package/lib/cjs/presentation-common/PropertyFormatter.d.ts +31 -0
  46. package/lib/cjs/presentation-common/PropertyFormatter.d.ts.map +1 -0
  47. package/lib/cjs/presentation-common/PropertyFormatter.js +199 -0
  48. package/lib/cjs/presentation-common/PropertyFormatter.js.map +1 -0
  49. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  50. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  51. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +82 -83
  52. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  53. package/lib/cjs/presentation-common/RpcRequestsHandler.js +166 -171
  54. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  55. package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -171
  56. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  57. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  58. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  59. package/lib/cjs/presentation-common/RulesetsFactory.d.ts.map +1 -1
  60. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  61. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  62. package/lib/cjs/presentation-common/Update.d.ts +213 -213
  63. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  64. package/lib/cjs/presentation-common/Update.js +226 -226
  65. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  66. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  67. package/lib/cjs/presentation-common/Utils.js +43 -43
  68. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  69. package/lib/cjs/presentation-common/content/Category.js +48 -48
  70. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  71. package/lib/cjs/presentation-common/content/Content.js +56 -56
  72. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -271
  73. package/lib/cjs/presentation-common/content/ContentTraverser.js +437 -439
  74. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  75. package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -328
  76. package/lib/cjs/presentation-common/content/Descriptor.js +191 -193
  77. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  78. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  79. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  80. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  81. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  82. package/lib/cjs/presentation-common/content/Fields.d.ts +298 -301
  83. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  84. package/lib/cjs/presentation-common/content/Fields.js +393 -397
  85. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  86. package/lib/cjs/presentation-common/content/Item.d.ts +85 -85
  87. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  88. package/lib/cjs/presentation-common/content/Item.js +84 -84
  89. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  90. package/lib/cjs/presentation-common/content/Property.d.ts +57 -57
  91. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  92. package/lib/cjs/presentation-common/content/Property.js +40 -40
  93. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  94. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  95. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  96. package/lib/cjs/presentation-common/content/TypeDescription.d.ts.map +1 -1
  97. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  98. package/lib/cjs/presentation-common/content/Value.d.ts +189 -189
  99. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  100. package/lib/cjs/presentation-common/content/Value.js +273 -273
  101. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  102. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +31 -31
  103. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -246
  104. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  105. package/lib/cjs/presentation-common/hierarchy/Key.js +121 -121
  106. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  107. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -154
  108. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  109. package/lib/cjs/presentation-common/hierarchy/Node.js +106 -106
  110. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  111. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  112. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -122
  113. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  114. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  115. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  116. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  117. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  118. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  119. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  120. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  121. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  122. package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -76
  123. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  124. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -65
  125. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  126. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  127. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  128. package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -58
  129. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  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/ContentRelatedInstancesSpecification.d.ts +25 -25
  133. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  134. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  135. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  136. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  137. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  138. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  139. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  140. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  141. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  142. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  143. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  144. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  145. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  146. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  147. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  148. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  149. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  150. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  151. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  152. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  153. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  154. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  155. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  156. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  157. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  158. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  159. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  160. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  161. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  162. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  163. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  164. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  165. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  166. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  167. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  168. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  169. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  170. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  171. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  172. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  173. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  174. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  175. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  176. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  177. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  178. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  179. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  180. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  181. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -21
  182. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  183. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  184. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  185. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  186. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  187. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  188. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  189. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  190. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  191. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  192. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  193. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  194. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  195. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  196. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  197. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  198. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  199. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -38
  200. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  201. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  202. package/lib/cjs/presentation-common.d.ts +113 -112
  203. package/lib/cjs/presentation-common.d.ts.map +1 -1
  204. package/lib/cjs/presentation-common.js +133 -128
  205. package/lib/cjs/presentation-common.js.map +1 -1
  206. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  207. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  208. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  209. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  210. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  211. package/lib/esm/presentation-common/Diagnostics.d.ts.map +1 -1
  212. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  213. package/lib/esm/presentation-common/EC.d.ts +347 -350
  214. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  215. package/lib/esm/presentation-common/EC.js +287 -287
  216. package/lib/esm/presentation-common/EC.js.map +1 -1
  217. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  218. package/lib/esm/presentation-common/ElementProperties.d.ts.map +1 -1
  219. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  220. package/lib/esm/presentation-common/Error.d.ts +47 -45
  221. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  222. package/lib/esm/presentation-common/Error.js +60 -58
  223. package/lib/esm/presentation-common/Error.js.map +1 -1
  224. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  225. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  226. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  227. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  228. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  229. package/lib/esm/presentation-common/KeySet.js +424 -424
  230. package/lib/esm/presentation-common/LabelDefinition.d.ts +93 -87
  231. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  232. package/lib/esm/presentation-common/LabelDefinition.js +75 -70
  233. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  234. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  235. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  236. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  237. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  238. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +273 -261
  239. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  240. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  241. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  242. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -186
  243. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  244. package/lib/esm/presentation-common/PresentationRpcInterface.js +105 -100
  245. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  246. package/lib/esm/presentation-common/PropertyFormatter.d.ts +31 -0
  247. package/lib/esm/presentation-common/PropertyFormatter.d.ts.map +1 -0
  248. package/lib/esm/presentation-common/PropertyFormatter.js +194 -0
  249. package/lib/esm/presentation-common/PropertyFormatter.js.map +1 -0
  250. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  251. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  252. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +82 -83
  253. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  254. package/lib/esm/presentation-common/RpcRequestsHandler.js +162 -167
  255. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  256. package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -171
  257. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  258. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  259. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  260. package/lib/esm/presentation-common/RulesetsFactory.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  262. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  263. package/lib/esm/presentation-common/Update.d.ts +213 -213
  264. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  265. package/lib/esm/presentation-common/Update.js +223 -223
  266. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  267. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  268. package/lib/esm/presentation-common/Utils.js +39 -39
  269. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  270. package/lib/esm/presentation-common/content/Category.js +45 -45
  271. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  272. package/lib/esm/presentation-common/content/Content.js +52 -52
  273. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -271
  274. package/lib/esm/presentation-common/content/ContentTraverser.js +427 -429
  275. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  276. package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -328
  277. package/lib/esm/presentation-common/content/Descriptor.js +187 -189
  278. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  279. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  280. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  281. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  282. package/lib/esm/presentation-common/content/Editor.js +8 -8
  283. package/lib/esm/presentation-common/content/Fields.d.ts +298 -301
  284. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  285. package/lib/esm/presentation-common/content/Fields.js +386 -390
  286. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  287. package/lib/esm/presentation-common/content/Item.d.ts +85 -85
  288. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  289. package/lib/esm/presentation-common/content/Item.js +80 -80
  290. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  291. package/lib/esm/presentation-common/content/Property.d.ts +57 -57
  292. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  293. package/lib/esm/presentation-common/content/Property.js +37 -37
  294. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  295. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  296. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  297. package/lib/esm/presentation-common/content/TypeDescription.d.ts.map +1 -1
  298. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  299. package/lib/esm/presentation-common/content/Value.d.ts +189 -189
  300. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  301. package/lib/esm/presentation-common/content/Value.js +270 -270
  302. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  303. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +28 -28
  304. package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -246
  305. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  306. package/lib/esm/presentation-common/hierarchy/Key.js +118 -118
  307. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  308. package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -154
  309. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  310. package/lib/esm/presentation-common/hierarchy/Node.js +103 -103
  311. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  312. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  313. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -119
  314. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  315. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  316. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  317. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  318. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  319. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  320. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  321. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  322. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  323. package/lib/esm/presentation-common/rules/Rule.d.ts +76 -76
  324. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  325. package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -65
  326. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  327. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  328. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  329. package/lib/esm/presentation-common/rules/Variables.d.ts +58 -58
  330. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  331. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  332. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  333. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  334. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  335. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  336. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  337. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  338. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  339. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  340. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  341. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  342. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  343. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  344. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  345. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  346. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  347. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  348. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  349. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  350. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  351. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  352. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  353. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  354. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  355. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  356. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  357. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  358. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  359. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  360. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  361. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  362. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  363. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  364. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  365. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  366. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  367. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  368. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  369. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  370. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  371. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  372. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  373. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  374. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  375. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  376. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  377. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  378. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  379. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  380. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  381. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  382. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -18
  383. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  384. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  385. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  386. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  387. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  388. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  389. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  390. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  391. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  392. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  393. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  394. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  395. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  396. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  397. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  398. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  399. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  400. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -38
  401. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  402. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  403. package/lib/esm/presentation-common.d.ts +113 -112
  404. package/lib/esm/presentation-common.d.ts.map +1 -1
  405. package/lib/esm/presentation-common.js +117 -116
  406. package/lib/esm/presentation-common.js.map +1 -1
  407. package/lib/public/locales/en/Presentation.json +15 -0
  408. package/package.json +17 -15
  409. package/lib/cjs/assets/locales/en/BisCore.json +0 -18
  410. package/lib/cjs/assets/locales/en/ECPresentation.json +0 -9
  411. package/lib/cjs/assets/locales/en/RulesEngine.json +0 -6
  412. package/lib/cjs/assets/locales/en-PSEUDO/BisCore.json +0 -18
  413. package/lib/cjs/assets/locales/en-PSEUDO/ECPresentation.json +0 -9
  414. package/lib/cjs/assets/locales/en-PSEUDO/RulesEngine.json +0 -6
  415. package/lib/public/locales/en/BisCore.json +0 -18
  416. package/lib/public/locales/en/ECPresentation.json +0 -9
  417. package/lib/public/locales/en/RulesEngine.json +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport { PartialBy } from \"./Utils\";\r\n\r\n/**\r\n * Type of an ECClass ID.\r\n * @public\r\n */\r\nexport type ClassId = Id64String;\r\n\r\n/**\r\n * Type of an ECInstance ID.\r\n * @public\r\n */\r\nexport type InstanceId = Id64String;\r\n\r\n/**\r\n * A key that uniquely identifies an instance in an iModel\r\n * @public\r\n */\r\nexport interface InstanceKey {\r\n /** Full class name in format `SchemaName:ClassName` */\r\n className: string;\r\n /** ECInstance ID */\r\n id: InstanceId;\r\n}\r\n\r\n/** @public */\r\nexport namespace InstanceKey {\r\n /** Compare 2 instance keys */\r\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\r\n const classNameCompare = lhs.className.localeCompare(rhs.className);\r\n if (classNameCompare !== 0)\r\n return classNameCompare;\r\n return lhs.id.localeCompare(rhs.id);\r\n }\r\n\r\n /**\r\n * Serialize [[InstanceKey]] to JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(key: InstanceKey): InstanceKeyJSON {\r\n return { ...key };\r\n }\r\n\r\n /**\r\n * Deserialize [[InstanceKey]] from JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: InstanceKeyJSON) {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[InstanceKey]]\r\n * @public\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\nexport interface InstanceKeyJSON {\r\n className: string;\r\n id: string;\r\n}\r\n\r\n/**\r\n * Information about an ECClass\r\n * @public\r\n */\r\nexport interface ClassInfo {\r\n /** ECClass ID */\r\n id: ClassId;\r\n /** Full class name in format `SchemaName:ClassName` */\r\n name: string;\r\n /** ECClass label */\r\n label: string;\r\n}\r\n\r\n/** @public */\r\nexport namespace ClassInfo {\r\n /**\r\n * Serialize [[ClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(info: ClassInfo): ClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /**\r\n * Deserialize [[ClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[ClassInfo]]\r\n * @public\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\nexport interface ClassInfoJSON {\r\n id: string;\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A serialized and compressed version of [[ClassInfo]]\r\n * @public\r\n */\r\nexport interface CompressedClassInfoJSON {\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A single choice in enumeration\r\n * @public\r\n */\r\nexport interface EnumerationChoice {\r\n /** Label of the choice */\r\n label: string;\r\n /** Value of the choice */\r\n value: string | number;\r\n}\r\n\r\n/**\r\n * Enumeration information\r\n * @public\r\n */\r\nexport interface EnumerationInfo {\r\n /** Available enumeration choices */\r\n choices: EnumerationChoice[];\r\n /** Is the enumeration strict (values only allowed from `choices` list) */\r\n isStrict: boolean;\r\n}\r\n\r\n/**\r\n * Kind of quantity information\r\n * @public\r\n */\r\nexport interface KindOfQuantityInfo {\r\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\r\n name: string;\r\n /** Label of KindOfQuantity */\r\n label: string;\r\n /**\r\n * Persistence unit identifier.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n persistenceUnit: string;\r\n /**\r\n * Active format that was used to format property value.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n activeFormat?: FormatProps;\r\n}\r\n\r\n/**\r\n * A data structure for storing navigation property information.\r\n * @beta\r\n */\r\nexport interface NavigationPropertyInfo {\r\n /** Information about ECProperty's relationship class */\r\n classInfo: ClassInfo;\r\n /** Is the direction of the relationship forward */\r\n isForwardRelationship: boolean;\r\n /** Information about ECProperty's target class */\r\n targetClassInfo: ClassInfo;\r\n /** Is ECProperty's target class polymorphic */\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\r\n * @beta\r\n */\r\nexport namespace NavigationPropertyInfo {\r\n /**\r\n * Serialize [[NavigationPropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[toCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(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 /**\r\n * Deserialize [[NavigationPropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[fromCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\r\n export function fromCompressedJSON(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\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n targetClassInfo: TClassInfoJSON;\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes an ECProperty\r\n * @public\r\n */\r\nexport interface PropertyInfo {\r\n /** Information about ECProperty class */\r\n classInfo: ClassInfo;\r\n /** Name of the ECProperty */\r\n name: string;\r\n /** Type name of the ECProperty */\r\n type: string;\r\n /** Enumeration info if the property is enumerable */\r\n enumerationInfo?: EnumerationInfo;\r\n /**\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 /**\r\n * Serialize [[PropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[PropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\r\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\r\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\r\n classesMap[id] = leftOverInfo;\r\n\r\n return {\r\n ...leftOverPropertyInfo,\r\n classInfo: propertyInfo.classInfo.id,\r\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[PropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[PropertyInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n name: string;\r\n type: string;\r\n enumerationInfo?: EnumerationInfo;\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** @beta */\r\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\r\n}\r\n\r\n/**\r\n * A structure that describes a related class and the properties of that relationship.\r\n * @public\r\n */\r\nexport interface RelatedClassInfo {\r\n /** Information about the source ECClass */\r\n sourceClassInfo: ClassInfo;\r\n\r\n /** Information about the target ECClass */\r\n targetClassInfo: ClassInfo;\r\n\r\n /** Is target class handled polymorphically */\r\n isPolymorphicTargetClass?: boolean;\r\n\r\n /** Information about the ECRelationship */\r\n relationshipInfo: ClassInfo;\r\n\r\n /** Should relationship be followed in a forward direction to access the related class. */\r\n isForwardRelationship: boolean;\r\n\r\n /** Is relationship handled polymorphically */\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfo {\r\n /**\r\n * Serialize [[RelatedClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\r\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n\r\n return {\r\n ...classInfo,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n relationshipInfo: relationshipId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[RelatedClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\r\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\r\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\r\n return {\r\n ...json,\r\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\r\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\r\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\r\n };\r\n }\r\n\r\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\r\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\r\n return 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\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\r\n relationshipInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes a relationship between source and target classes where\r\n * an actual ECRelationship between them is optional.\r\n * @public\r\n */\r\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelatedClassInfoWithOptionalRelationship {\r\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\r\n export function toCompressedJSON(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: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\r\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\r\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A structure that describes a related class path.\r\n * @public\r\n */\r\nexport type RelationshipPath = RelatedClassInfo[];\r\n\r\n/**\r\n * Serialized [[RelationshipPath]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\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
+ {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport { PartialBy } from \"./Utils\";\r\n\r\n/**\r\n * Type of an ECClass ID.\r\n * @public\r\n */\r\nexport type ClassId = Id64String;\r\n\r\n/**\r\n * Type of an ECInstance ID.\r\n * @public\r\n */\r\nexport type InstanceId = Id64String;\r\n\r\n/**\r\n * A key that uniquely identifies an instance in an iModel\r\n * @public\r\n */\r\nexport interface InstanceKey {\r\n /** Full class name in format `SchemaName:ClassName` */\r\n className: string;\r\n /** ECInstance ID */\r\n id: InstanceId;\r\n}\r\n\r\n/** @public */\r\nexport namespace InstanceKey {\r\n /** Compare 2 instance keys */\r\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\r\n const classNameCompare = lhs.className.localeCompare(rhs.className);\r\n if (classNameCompare !== 0)\r\n return classNameCompare;\r\n return lhs.id.localeCompare(rhs.id);\r\n }\r\n\r\n /**\r\n * Serialize [[InstanceKey]] to JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(key: InstanceKey): InstanceKeyJSON {\r\n return { ...key };\r\n }\r\n\r\n /**\r\n * Deserialize [[InstanceKey]] from JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: InstanceKeyJSON) {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[InstanceKey]]\r\n * @public\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\nexport interface InstanceKeyJSON {\r\n className: string;\r\n id: string;\r\n}\r\n\r\n/**\r\n * Information about an ECClass\r\n * @public\r\n */\r\nexport interface ClassInfo {\r\n /** ECClass ID */\r\n id: ClassId;\r\n /** Full class name in format `SchemaName:ClassName` */\r\n name: string;\r\n /** ECClass label */\r\n label: string;\r\n}\r\n\r\n/** @public */\r\nexport namespace ClassInfo {\r\n /**\r\n * Serialize [[ClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(info: ClassInfo): ClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /**\r\n * Deserialize [[ClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[ClassInfo]]\r\n * @public\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\nexport interface ClassInfoJSON {\r\n id: string;\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A serialized and compressed version of [[ClassInfo]]\r\n * @public\r\n */\r\nexport interface CompressedClassInfoJSON {\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A single choice in enumeration\r\n * @public\r\n */\r\nexport interface EnumerationChoice {\r\n /** Label of the choice */\r\n label: string;\r\n /** Value of the choice */\r\n value: string | number;\r\n}\r\n\r\n/**\r\n * Enumeration information\r\n * @public\r\n */\r\nexport interface EnumerationInfo {\r\n /** Available enumeration choices */\r\n choices: EnumerationChoice[];\r\n /** Is the enumeration strict (values only allowed from `choices` list) */\r\n isStrict: boolean;\r\n}\r\n\r\n/**\r\n * Kind of quantity information\r\n * @public\r\n */\r\nexport interface KindOfQuantityInfo {\r\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\r\n name: string;\r\n /** Label of KindOfQuantity */\r\n label: string;\r\n /**\r\n * Persistence unit identifier.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n persistenceUnit: string;\r\n /**\r\n * Active format that was used to format property value.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n activeFormat?: FormatProps;\r\n}\r\n\r\n/**\r\n * A data structure for storing navigation property information.\r\n * @beta\r\n */\r\nexport interface NavigationPropertyInfo {\r\n /** Information about ECProperty's relationship class */\r\n classInfo: ClassInfo;\r\n /** Is the direction of the relationship forward */\r\n isForwardRelationship: boolean;\r\n /** Information about ECProperty's target class */\r\n targetClassInfo: ClassInfo;\r\n /** Is ECProperty's target class polymorphic */\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\r\n * @beta\r\n */\r\nexport namespace NavigationPropertyInfo {\r\n /**\r\n * Serialize [[NavigationPropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[toCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(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 /**\r\n * Deserialize [[NavigationPropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[fromCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\r\n export function fromCompressedJSON(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\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n targetClassInfo: TClassInfoJSON;\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes an ECProperty\r\n * @public\r\n */\r\nexport interface PropertyInfo {\r\n /** Information about ECProperty class */\r\n classInfo: ClassInfo;\r\n /** Name of the ECProperty */\r\n name: string;\r\n /** Type name of the ECProperty */\r\n type: string;\r\n /** Enumeration info if the property is enumerable */\r\n enumerationInfo?: EnumerationInfo;\r\n /** Kind of quantity information, if any. */\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** Extended type name of the ECProperty if it has one */\r\n extendedType?: string;\r\n /**\r\n * Navigation property info if the field is navigation type\r\n * @beta\r\n */\r\n navigationPropertyInfo?: NavigationPropertyInfo;\r\n}\r\n\r\n/** @public */\r\nexport namespace PropertyInfo {\r\n /**\r\n * Serialize [[PropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[PropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\r\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\r\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\r\n classesMap[id] = leftOverInfo;\r\n\r\n return {\r\n ...leftOverPropertyInfo,\r\n classInfo: propertyInfo.classInfo.id,\r\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[PropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[PropertyInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n name: string;\r\n type: string;\r\n enumerationInfo?: EnumerationInfo;\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** @beta */\r\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\r\n}\r\n\r\n/**\r\n * A structure that describes a related class and the properties of that relationship.\r\n * @public\r\n */\r\nexport interface RelatedClassInfo {\r\n /** Information about the source ECClass */\r\n sourceClassInfo: ClassInfo;\r\n\r\n /** Information about the target ECClass */\r\n targetClassInfo: ClassInfo;\r\n\r\n /** Is target class handled polymorphically */\r\n isPolymorphicTargetClass?: boolean;\r\n\r\n /** Information about the ECRelationship */\r\n relationshipInfo: ClassInfo;\r\n\r\n /** Should relationship be followed in a forward direction to access the related class. */\r\n isForwardRelationship: boolean;\r\n\r\n /** Is relationship handled polymorphically */\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfo {\r\n /**\r\n * Serialize [[RelatedClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\r\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n\r\n return {\r\n ...classInfo,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n relationshipInfo: relationshipId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[RelatedClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\r\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\r\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\r\n return {\r\n ...json,\r\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\r\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\r\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\r\n };\r\n }\r\n\r\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\r\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\r\n return 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\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\r\n relationshipInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes a relationship between source and target classes where\r\n * an actual ECRelationship between them is optional.\r\n * @public\r\n */\r\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelatedClassInfoWithOptionalRelationship {\r\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\r\n export function toCompressedJSON(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: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\r\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\r\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A structure that describes a related class path.\r\n * @public\r\n */\r\nexport type RelationshipPath = RelatedClassInfo[];\r\n\r\n/**\r\n * Serialized [[RelationshipPath]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\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 that stores all available element property data.
8
- * @public
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
- * @public
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
- * @public
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
- * @public
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
- * @public
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
- * @public
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
- * @public
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
- * @public
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
- * @public
95
- */
96
- export declare type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;
97
- /**
98
- * Definition for an struct property value.
99
- * @public
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
- * @public
112
- */
113
- export declare type ElementPropertiesPropertyValueType = "primitive" | "array" | "struct";
114
- /**
115
- * Definition of a property value.
116
- * @public
117
- */
118
- export declare type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;
119
- /**
120
- * Definition of a property item, including a property category.
121
- * @public
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 that stores all available element property data.
8
+ * @public
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
+ * @public
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
+ * @public
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
+ * @public
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
+ * @public
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
+ * @public
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
+ * @public
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
+ * @public
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
+ * @public
95
+ */
96
+ export type ElementPropertiesArrayPropertyItem = ElementPropertiesPrimitiveArrayPropertyItem | ElementPropertiesStructArrayPropertyItem;
97
+ /**
98
+ * Definition for an struct property value.
99
+ * @public
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
+ * @public
112
+ */
113
+ export type ElementPropertiesPropertyValueType = "primitive" | "array" | "struct";
114
+ /**
115
+ * Definition of a property value.
116
+ * @public
117
+ */
118
+ export type ElementPropertiesPropertyItem = ElementPropertiesPrimitivePropertyItem | ElementPropertiesArrayPropertyItem | ElementPropertiesStructPropertyItem;
119
+ /**
120
+ * Definition of a property item, including a property category.
121
+ * @public
122
+ */
123
+ export type ElementPropertiesItem = ElementPropertiesCategoryItem | ElementPropertiesPropertyItem;
124
124
  //# sourceMappingURL=ElementProperties.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ElementProperties.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,EAAE,EAAE,UAAU,CAAC;IACf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,KAAK,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,mCAAmC;IACnC,IAAI,EAAE,UAAU,GAAG,kCAAkC,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,mCAAmC;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,mCAAmC;IACnC,KAAK,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,iCAAkC,SAAQ,yBAAyB;IAClF,mCAAmC;IACnC,IAAI,EAAE,kCAAkC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,sCAAuC,SAAQ,iCAAiC;IAC/F,mCAAmC;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,sCAAuC,SAAQ,iCAAiC;IAC/F,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,SAAS,EAAE,WAAW,GAAG,QAAQ,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,2CAA4C,SAAQ,sCAAsC;IACzG,8CAA8C;IAC9C,SAAS,EAAE,WAAW,CAAC;IACvB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,wCAAyC,SAAQ,sCAAsC;IACtG,8CAA8C;IAC9C,SAAS,EAAE,QAAQ,CAAC;IACpB,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC,CAAC;CACzE;AAED;;;GAGG;AACH,oBAAY,kCAAkC,GAAG,2CAA2C,GAAG,wCAAwC,CAAC;AAExI;;;GAGG;AACH,MAAM,WAAW,mCAAoC,SAAQ,iCAAiC;IAC5F,mCAAmC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,mCAAmC;IACnC,OAAO,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC;CACnE;AAED;;;GAGG;AACH,oBAAY,kCAAkC,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElF;;;GAGG;AACH,oBAAY,6BAA6B,GAAG,sCAAsC,GAAG,kCAAkC,GAAG,mCAAmC,CAAC;AAE9J;;;GAGG;AACH,oBAAY,qBAAqB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"ElementProperties.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/ElementProperties.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,EAAE,EAAE,UAAU,CAAC;IACf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,KAAK,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,mCAAmC;IACnC,IAAI,EAAE,UAAU,GAAG,kCAAkC,CAAC;CACvD;AAED;;;GAGG;AACH,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC9E,mCAAmC;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,mCAAmC;IACnC,KAAK,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAC;CACnD;AAED;;;GAGG;AACH,MAAM,WAAW,iCAAkC,SAAQ,yBAAyB;IAClF,mCAAmC;IACnC,IAAI,EAAE,kCAAkC,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,sCAAuC,SAAQ,iCAAiC;IAC/F,mCAAmC;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,sCAAuC,SAAQ,iCAAiC;IAC/F,mCAAmC;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,8CAA8C;IAC9C,SAAS,EAAE,WAAW,GAAG,QAAQ,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,2CAA4C,SAAQ,sCAAsC;IACzG,8CAA8C;IAC9C,SAAS,EAAE,WAAW,CAAC;IACvB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,wCAAyC,SAAQ,sCAAsC;IACtG,8CAA8C;IAC9C,SAAS,EAAE,QAAQ,CAAC;IACpB,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC,CAAC;CACzE;AAED;;;GAGG;AACH,MAAM,MAAM,kCAAkC,GAAG,2CAA2C,GAAG,wCAAwC,CAAC;AAExI;;;GAGG;AACH,MAAM,WAAW,mCAAoC,SAAQ,iCAAiC;IAC5F,mCAAmC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,mCAAmC;IACnC,OAAO,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,6BAA6B,CAAA;KAAE,CAAC;CACnE;AAED;;;GAGG;AACH,MAAM,MAAM,kCAAkC,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,6BAA6B,GAAG,sCAAsC,GAAG,kCAAkC,GAAG,mCAAmC,CAAC;AAE9J;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,6BAA6B,GAAG,6BAA6B,CAAC"}
@@ -1,9 +1,9 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module RPC
7
- */
8
- export {};
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module RPC
7
+ */
8
+ export {};
9
9
  //# sourceMappingURL=ElementProperties.js.map
@@ -1,46 +1,48 @@
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: Result set is too large. */
19
+ ResultSetTooLarge = 65538,
20
+ /** Error: Argument is invalid. */
21
+ InvalidArgument = 65539,
22
+ /**
23
+ * Timeout for the request was reached which prevented it from being fulfilled. Frontend may
24
+ * repeat the request.
25
+ */
26
+ BackendTimeout = 65543
27
+ }
28
+ /**
29
+ * An error type thrown by Presentation APIs.
30
+ * @public
31
+ */
32
+ export declare class PresentationError extends BentleyError {
33
+ /**
34
+ * Creates an instance of Error.
35
+ * @param errorNumber Error code
36
+ * @param message Optional brief description of the error. The `message` property combined with the `name`
37
+ * property is used by the `Error.prototype.toString()` method to create a string representation of the Error.
38
+ * @param log Optional log function which logs the error.
39
+ * @param getMetaData Optional function that returns meta-data related to an error.
40
+ */
41
+ constructor(errorNumber: PresentationStatus, message?: string, getMetaData?: GetMetaDataFunction);
42
+ /**
43
+ * Returns the name of each error status. The name is used by the `Error.prototype.toString()`
44
+ * method to create a string representation of the error.
45
+ */
46
+ protected _initName(): string;
47
+ }
46
48
  //# sourceMappingURL=Error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Error.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,sBAAsB;IACtB,OAAO,IAAI;IAEX,6BAA6B;IAC7B,QAAQ,IAAI;IAEZ,qBAAqB;IACrB,KAAK,QAAU;IAEf,yCAAyC;IACzC,cAAc,QAAY;IAE1B,kCAAkC;IAClC,eAAe,QAAY;IAE3B;;;OAGG;IACH,cAAc,QAAY;CAC3B;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAEjD;;;;;;;OAOG;gBACgB,WAAW,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,mBAAmB;IAIvG;;;OAGG;cAEgB,SAAS,IAAI,MAAM;CAMvC"}
1
+ {"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Error.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAExE;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,sBAAsB;IACtB,OAAO,IAAI;IAEX,6BAA6B;IAC7B,QAAQ,IAAI;IAEZ,qBAAqB;IACrB,KAAK,QAAU;IAEf,yCAAyC;IACzC,cAAc,QAAY;IAE1B,sCAAsC;IACtC,iBAAiB,QAAY;IAE7B,kCAAkC;IAClC,eAAe,QAAY;IAE3B;;;OAGG;IACH,cAAc,QAAY;CAC3B;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAEjD;;;;;;;OAOG;gBACgB,WAAW,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,mBAAmB;IAIvG;;;OAGG;cAEgB,SAAS,IAAI,MAAM;CAMvC"}