@itwin/presentation-common 4.5.0-dev.0 → 4.5.0-dev.10

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 (389) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +1 -1
  3. package/lib/cjs/assets/locales/en/Presentation.json +19 -19
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts.map +1 -1
  5. package/lib/cjs/presentation-common/AsyncTasks.js +6 -4
  6. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.js +3 -3
  8. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  9. package/lib/cjs/presentation-common/Diagnostics.d.ts.map +1 -1
  10. package/lib/cjs/presentation-common/Diagnostics.js +27 -15
  11. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  12. package/lib/cjs/presentation-common/EC.d.ts +4 -4
  13. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  14. package/lib/cjs/presentation-common/EC.js +22 -17
  15. package/lib/cjs/presentation-common/EC.js.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.js +3 -3
  17. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  18. package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
  19. package/lib/cjs/presentation-common/Error.js +5 -4
  20. package/lib/cjs/presentation-common/Error.js.map +1 -1
  21. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  22. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +3 -3
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  24. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  25. package/lib/cjs/presentation-common/KeySet.js +80 -46
  26. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  27. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.d.ts.map +1 -1
  28. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  29. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  30. package/lib/cjs/presentation-common/LabelDefinition.js +5 -4
  31. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  32. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  33. package/lib/cjs/presentation-common/PresentationIpcInterface.js +3 -3
  34. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  35. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +6 -0
  36. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.js +3 -3
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  39. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  40. package/lib/cjs/presentation-common/PresentationRpcInterface.js +52 -20
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  42. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  43. package/lib/cjs/presentation-common/RegisteredRuleset.js +21 -9
  44. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  45. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +1 -1
  46. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  47. package/lib/cjs/presentation-common/RpcRequestsHandler.js +19 -15
  48. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  49. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  50. package/lib/cjs/presentation-common/RulesetVariables.js +7 -5
  51. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  52. package/lib/cjs/presentation-common/RulesetsFactory.d.ts.map +1 -1
  53. package/lib/cjs/presentation-common/RulesetsFactory.js +42 -26
  54. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  55. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  56. package/lib/cjs/presentation-common/Update.js +4 -3
  57. package/lib/cjs/presentation-common/Update.js.map +1 -1
  58. package/lib/cjs/presentation-common/Utils.js +3 -3
  59. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  60. package/lib/cjs/presentation-common/content/Category.js +3 -3
  61. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  62. package/lib/cjs/presentation-common/content/Content.d.ts.map +1 -1
  63. package/lib/cjs/presentation-common/content/Content.js +10 -9
  64. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  65. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  66. package/lib/cjs/presentation-common/content/ContentTraverser.js +47 -25
  67. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  68. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  69. package/lib/cjs/presentation-common/content/Descriptor.js +56 -21
  70. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  71. package/lib/cjs/presentation-common/content/DisplayTypes.js +3 -3
  72. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  73. package/lib/cjs/presentation-common/content/Editor.js +3 -3
  74. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  75. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  76. package/lib/cjs/presentation-common/content/Fields.js +47 -23
  77. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  78. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  79. package/lib/cjs/presentation-common/content/Item.js +8 -6
  80. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  81. package/lib/cjs/presentation-common/content/Property.d.ts +1 -1
  82. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  83. package/lib/cjs/presentation-common/content/Property.js +4 -4
  84. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  85. package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  86. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +13 -11
  87. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  88. package/lib/cjs/presentation-common/content/Renderer.js +3 -3
  89. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  90. package/lib/cjs/presentation-common/content/TypeDescription.js +3 -3
  91. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  92. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  93. package/lib/cjs/presentation-common/content/Value.js +46 -30
  94. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  95. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +3 -3
  96. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  97. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  98. package/lib/cjs/presentation-common/hierarchy/Key.js +14 -8
  99. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  100. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  101. package/lib/cjs/presentation-common/hierarchy/Node.js +7 -5
  102. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  103. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  104. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +11 -7
  105. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  106. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +3 -3
  107. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  108. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +3 -3
  109. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  110. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +3 -3
  111. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  112. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +3 -3
  113. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  114. package/lib/cjs/presentation-common/rules/Rule.js +3 -3
  115. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  116. package/lib/cjs/presentation-common/rules/Ruleset.js +3 -3
  117. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  118. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +3 -3
  119. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  120. package/lib/cjs/presentation-common/rules/Variables.js +3 -3
  121. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  122. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +3 -3
  123. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +3 -3
  125. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  126. package/lib/cjs/presentation-common/rules/content/ContentRule.js +3 -3
  127. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  128. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  129. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +3 -3
  130. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  131. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +3 -3
  132. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +3 -3
  134. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  135. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +3 -3
  136. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  137. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +3 -3
  138. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  139. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +3 -3
  140. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  141. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +3 -3
  142. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  143. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +3 -3
  144. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  145. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  146. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +3 -3
  147. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  148. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +3 -3
  149. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  150. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +3 -3
  151. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  152. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  153. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  154. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +3 -3
  155. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  156. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +3 -3
  157. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  158. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +3 -3
  159. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  160. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +3 -3
  161. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  162. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  163. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +3 -3
  164. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  165. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +3 -3
  166. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  167. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +3 -3
  168. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  169. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +3 -3
  170. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  171. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +3 -3
  172. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  173. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  174. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +3 -3
  175. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  176. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +3 -3
  177. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  178. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +3 -3
  179. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  180. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +3 -3
  181. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  182. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +3 -3
  183. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  184. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +3 -3
  185. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  186. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +3 -3
  187. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  188. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +3 -3
  189. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  190. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +3 -3
  191. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  192. package/lib/cjs/presentation-common/selection/SelectionScope.js +3 -3
  193. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  194. package/lib/cjs/presentation-common.js +3 -3
  195. package/lib/cjs/presentation-common.js.map +1 -1
  196. package/lib/esm/presentation-common/AsyncTasks.d.ts.map +1 -1
  197. package/lib/esm/presentation-common/AsyncTasks.js +6 -4
  198. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  199. package/lib/esm/presentation-common/CommonLoggerCategory.js +3 -3
  200. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  201. package/lib/esm/presentation-common/Diagnostics.d.ts.map +1 -1
  202. package/lib/esm/presentation-common/Diagnostics.js +27 -15
  203. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  204. package/lib/esm/presentation-common/EC.d.ts +4 -4
  205. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  206. package/lib/esm/presentation-common/EC.js +22 -17
  207. package/lib/esm/presentation-common/EC.js.map +1 -1
  208. package/lib/esm/presentation-common/ElementProperties.js +3 -3
  209. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  210. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  211. package/lib/esm/presentation-common/Error.js +5 -4
  212. package/lib/esm/presentation-common/Error.js.map +1 -1
  213. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  214. package/lib/esm/presentation-common/InstanceFilterDefinition.js +3 -3
  215. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  216. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  217. package/lib/esm/presentation-common/KeySet.js +80 -46
  218. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  219. package/lib/esm/presentation-common/KoqPropertyValueFormatter.d.ts.map +1 -1
  220. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  221. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  222. package/lib/esm/presentation-common/LabelDefinition.js +5 -4
  223. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  224. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  225. package/lib/esm/presentation-common/PresentationIpcInterface.js +3 -3
  226. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  227. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +6 -0
  228. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  229. package/lib/esm/presentation-common/PresentationManagerOptions.js +3 -3
  230. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  231. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  232. package/lib/esm/presentation-common/PresentationRpcInterface.js +52 -20
  233. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  234. package/lib/esm/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  235. package/lib/esm/presentation-common/RegisteredRuleset.js +21 -9
  236. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  237. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +1 -1
  238. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  239. package/lib/esm/presentation-common/RpcRequestsHandler.js +20 -16
  240. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  241. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  242. package/lib/esm/presentation-common/RulesetVariables.js +7 -5
  243. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  244. package/lib/esm/presentation-common/RulesetsFactory.d.ts.map +1 -1
  245. package/lib/esm/presentation-common/RulesetsFactory.js +42 -26
  246. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  247. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  248. package/lib/esm/presentation-common/Update.js +4 -3
  249. package/lib/esm/presentation-common/Update.js.map +1 -1
  250. package/lib/esm/presentation-common/Utils.js +3 -3
  251. package/lib/esm/presentation-common/Utils.js.map +1 -1
  252. package/lib/esm/presentation-common/content/Category.js +3 -3
  253. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  254. package/lib/esm/presentation-common/content/Content.d.ts.map +1 -1
  255. package/lib/esm/presentation-common/content/Content.js +10 -9
  256. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  257. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  258. package/lib/esm/presentation-common/content/ContentTraverser.js +47 -25
  259. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  260. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/content/Descriptor.js +56 -21
  262. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  263. package/lib/esm/presentation-common/content/DisplayTypes.js +3 -3
  264. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  265. package/lib/esm/presentation-common/content/Editor.js +3 -3
  266. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  267. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  268. package/lib/esm/presentation-common/content/Fields.js +47 -23
  269. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  270. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  271. package/lib/esm/presentation-common/content/Item.js +8 -6
  272. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  273. package/lib/esm/presentation-common/content/Property.d.ts +1 -1
  274. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  275. package/lib/esm/presentation-common/content/Property.js +4 -4
  276. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  277. package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  278. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +13 -11
  279. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  280. package/lib/esm/presentation-common/content/Renderer.js +3 -3
  281. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  282. package/lib/esm/presentation-common/content/TypeDescription.js +3 -3
  283. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  284. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  285. package/lib/esm/presentation-common/content/Value.js +46 -30
  286. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  287. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +3 -3
  288. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  289. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  290. package/lib/esm/presentation-common/hierarchy/Key.js +14 -8
  291. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  292. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  293. package/lib/esm/presentation-common/hierarchy/Node.js +7 -5
  294. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  295. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  296. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +11 -7
  297. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  298. package/lib/esm/presentation-common/rules/ClassSpecifications.js +3 -3
  299. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  300. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +3 -3
  301. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  302. package/lib/esm/presentation-common/rules/RelationshipDirection.js +3 -3
  303. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  304. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +3 -3
  305. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  306. package/lib/esm/presentation-common/rules/Rule.js +3 -3
  307. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  308. package/lib/esm/presentation-common/rules/Ruleset.js +3 -3
  309. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  310. package/lib/esm/presentation-common/rules/SchemasSpecification.js +3 -3
  311. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  312. package/lib/esm/presentation-common/rules/Variables.js +3 -3
  313. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  314. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +3 -3
  315. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  316. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +3 -3
  317. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  318. package/lib/esm/presentation-common/rules/content/ContentRule.js +3 -3
  319. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  320. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  321. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +3 -3
  322. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  323. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +3 -3
  324. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  325. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +3 -3
  326. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  327. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +3 -3
  328. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  329. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +3 -3
  330. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  331. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +3 -3
  332. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  333. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +3 -3
  334. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  335. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +3 -3
  336. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  337. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts.map +1 -1
  338. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +3 -3
  339. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  340. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +3 -3
  341. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  342. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +3 -3
  343. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +1 -1
  344. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  345. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  346. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +3 -3
  347. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  348. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +3 -3
  349. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  350. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +3 -3
  351. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  352. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +3 -3
  353. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +1 -1
  354. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  355. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +3 -3
  356. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  357. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +3 -3
  358. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +1 -1
  359. package/lib/esm/presentation-common/rules/customization/SortingRule.js +3 -3
  360. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  361. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +3 -3
  362. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +1 -1
  363. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +3 -3
  364. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  365. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  366. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +3 -3
  367. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  368. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +3 -3
  369. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  370. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +3 -3
  371. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  372. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +3 -3
  373. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  374. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +3 -3
  375. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  376. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +3 -3
  377. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  378. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +3 -3
  379. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  380. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +3 -3
  381. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  382. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +3 -3
  383. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  384. package/lib/esm/presentation-common/selection/SelectionScope.js +3 -3
  385. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  386. package/lib/esm/presentation-common.js +3 -3
  387. package/lib/esm/presentation-common.js.map +1 -1
  388. package/lib/public/locales/en/Presentation.json +19 -19
  389. package/package.json +14 -11
package/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  # Change Log - @itwin/presentation-common
2
2
 
3
- This log was last generated on Wed, 03 Jan 2024 19:29:41 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 12 Feb 2024 19:26:22 GMT and should not be manually modified.
4
+
5
+ ## 4.4.0
6
+ Mon, 12 Feb 2024 18:15:58 GMT
7
+
8
+ ### Updates
9
+
10
+ - Handle SI and METRIC unit systems as a single unit system. This fixes a problem where temperatures are formatted in Kelvin even though metric was requested.
11
+ - Provide an option to control batch size for `PresentationManager.getElementProperties` multi-elements case.
12
+ - Add formatting for kind of quantity point properties.
13
+ - Add support for default formats in `KoqPropertyValueFormatter`.
4
14
 
5
15
  ## 4.3.3
6
16
  Wed, 03 Jan 2024 19:28:38 GMT
package/README.md CHANGED
@@ -4,7 +4,7 @@ Copyright © Bentley Systems, Incorporated. All rights reserved. See LICENSE.md
4
4
 
5
5
  ## Description
6
6
 
7
- The __@itwin/presentation-common__ package contains types and classes for working with
7
+ The **@itwin/presentation-common** package contains types and classes for working with
8
8
  iModel presentation data. The package can be used in both the frontend and backend.
9
9
 
10
10
  ## Documentation
@@ -1,19 +1,19 @@
1
- {
2
- "label": {
3
- "notSpecified": "Not specified",
4
- "other": "Other",
5
- "varies": "Varies",
6
- "multipleInstances": "Multiple items"
7
- },
8
- "field": {
9
- "label": "Label"
10
- },
11
- "selectedItems": {
12
- "categoryLabel": "Selected Item(s)",
13
- "categoryDescription": "Contains properties of selected item(s)"
14
- },
15
- "value": {
16
- "true": "True",
17
- "false": "False"
18
- }
19
- }
1
+ {
2
+ "label": {
3
+ "notSpecified": "Not specified",
4
+ "other": "Other",
5
+ "varies": "Varies",
6
+ "multipleInstances": "Multiple items"
7
+ },
8
+ "field": {
9
+ "label": "Label"
10
+ },
11
+ "selectedItems": {
12
+ "categoryLabel": "Selected Item(s)",
13
+ "categoryDescription": "Contains properties of selected item(s)"
14
+ },
15
+ "value": {
16
+ "true": "True",
17
+ "false": "False"
18
+ }
19
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncTasks.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAoB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,iBAAiB,CAAyB;IAClD,IAAW,aAAa,gBAAqC;IACtD,cAAc,IAAI,WAAW;CAOrC"}
1
+ {"version":3,"file":"AsyncTasks.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAoB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,iBAAiB,CAAyB;IAClD,IAAW,aAAa,gBAEvB;IACM,cAAc,IAAI,WAAW;CAOrC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
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
- *--------------------------------------------------------------------------------------------*/
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
6
  /** @packageDocumentation
7
7
  * @module Core
8
8
  */
@@ -26,7 +26,9 @@ class AsyncTasksTracker {
26
26
  constructor() {
27
27
  this._asyncsInProgress = new Set();
28
28
  }
29
- get pendingAsyncs() { return this._asyncsInProgress; }
29
+ get pendingAsyncs() {
30
+ return this._asyncsInProgress;
31
+ }
30
32
  trackAsyncTask() {
31
33
  const id = core_bentley_1.Guid.createValue();
32
34
  this._asyncsInProgress.add(id);
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncTasks.js","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAoE;AAEpE;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAA9B;QACU,sBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IASpD,CAAC;IARC,IAAW,aAAa,KAAK,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtD,cAAc;QACnB,MAAM,EAAE,GAAG,mBAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;CACF;AAVD,8CAUC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { Guid, GuidString, IDisposable } from \"@itwin/core-bentley\";\n\n/**\n * A helper to track ongoing async tasks. Usage:\n * ```\n * await using(tracker.trackAsyncTask(), async (_r) => {\n * await doSomethingAsync();\n * });\n * ```\n *\n * Can be used with `waitForPendingAsyncs` in test helpers to wait for all\n * async tasks to complete.\n *\n * @internal\n */\nexport class AsyncTasksTracker {\n private _asyncsInProgress = new Set<GuidString>();\n public get pendingAsyncs() { return this._asyncsInProgress; }\n public trackAsyncTask(): IDisposable {\n const id = Guid.createValue();\n this._asyncsInProgress.add(id);\n return {\n dispose: () => this._asyncsInProgress.delete(id),\n };\n }\n}\n"]}
1
+ {"version":3,"file":"AsyncTasks.js","sourceRoot":"","sources":["../../../src/presentation-common/AsyncTasks.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,sDAAoE;AAEpE;;;;;;;;;;;;GAYG;AACH,MAAa,iBAAiB;IAA9B;QACU,sBAAiB,GAAG,IAAI,GAAG,EAAc,CAAC;IAWpD,CAAC;IAVC,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACM,cAAc;QACnB,MAAM,EAAE,GAAG,mBAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;CACF;AAZD,8CAYC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { Guid, GuidString, IDisposable } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A helper to track ongoing async tasks. Usage:\r\n * ```\r\n * await using(tracker.trackAsyncTask(), async (_r) => {\r\n * await doSomethingAsync();\r\n * });\r\n * ```\r\n *\r\n * Can be used with `waitForPendingAsyncs` in test helpers to wait for all\r\n * async tasks to complete.\r\n *\r\n * @internal\r\n */\r\nexport class AsyncTasksTracker {\r\n private _asyncsInProgress = new Set<GuidString>();\r\n public get pendingAsyncs() {\r\n return this._asyncsInProgress;\r\n }\r\n public trackAsyncTask(): IDisposable {\r\n const id = Guid.createValue();\r\n this._asyncsInProgress.add(id);\r\n return {\r\n dispose: () => this._asyncsInProgress.delete(id),\r\n };\r\n }\r\n}\r\n"]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
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
- *--------------------------------------------------------------------------------------------*/
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
6
  /** @packageDocumentation
7
7
  * @module Core
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CommonLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-common/CommonLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;;GAKG;AACH,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IAC1C,mEAA+B,CAAA;AACjC,CAAC,EAFW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAE3C","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\n/**\n * Logger categories used by this package\n * @note All logger categories in this package start with the `presentation-common` prefix.\n * @see [Logger]($bentley)\n * @public\n */\nexport enum PresentationCommonLoggerCategory {\n Package = \"presentation-common\",\n}\n"]}
1
+ {"version":3,"file":"CommonLoggerCategory.js","sourceRoot":"","sources":["../../../src/presentation-common/CommonLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH;;;;;GAKG;AACH,IAAY,gCAEX;AAFD,WAAY,gCAAgC;IAC1C,mEAA+B,CAAA;AACjC,CAAC,EAFW,gCAAgC,GAAhC,wCAAgC,KAAhC,wCAAgC,QAE3C","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\n/**\r\n * Logger categories used by this package\r\n * @note All logger categories in this package start with the `presentation-common` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum PresentationCommonLoggerCategory {\r\n Package = \"presentation-common\",\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,yCAStJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,cActJ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
1
+ {"version":3,"file":"Diagnostics.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzF;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,yCAetJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,GAAG,yBAAyB,cAmBtJ;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;IAC1C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CAC9C;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,wBAAwB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE;QACR,GAAG,CAAC,EAAE,yBAAyB,CAAC;QAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KACpC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE/E;;;GAGG;AAEH,yBAAiB,mBAAmB,CAAC;IACnC,SAAgB,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,qBAAqB,CAEpF;IACD,SAAgB,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,oBAAoB,CAEjF;CACF"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
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
- *--------------------------------------------------------------------------------------------*/
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
6
  /** @packageDocumentation
7
7
  * @module Core
8
8
  */
@@ -18,12 +18,18 @@ exports.DiagnosticsLogEntry = exports.compareDiagnosticsSeverities = exports.com
18
18
  * @internal
19
19
  */
20
20
  function combineDiagnosticsSeverities(lhs, rhs) {
21
- if (!lhs && !rhs)
21
+ if (!lhs && !rhs) {
22
22
  return undefined;
23
- const combinedSeverity = (lhs === "trace" || rhs === "trace") ? "trace" :
24
- (lhs === "debug" || lhs === true || rhs === "debug" || rhs === true) ? "debug" :
25
- (lhs === "info" || rhs === "info") ? "info" :
26
- (lhs === "warning" || rhs === "warning") ? "warning" : "error";
23
+ }
24
+ const combinedSeverity = lhs === "trace" || rhs === "trace"
25
+ ? "trace"
26
+ : lhs === "debug" || lhs === true || rhs === "debug" || rhs === true
27
+ ? "debug"
28
+ : lhs === "info" || rhs === "info"
29
+ ? "info"
30
+ : lhs === "warning" || rhs === "warning"
31
+ ? "warning"
32
+ : "error";
27
33
  return combinedSeverity;
28
34
  }
29
35
  exports.combineDiagnosticsSeverities = combineDiagnosticsSeverities;
@@ -40,18 +46,23 @@ exports.combineDiagnosticsSeverities = combineDiagnosticsSeverities;
40
46
  * @internal
41
47
  */
42
48
  function compareDiagnosticsSeverities(lhs, rhs) {
43
- const normalizedLhs = (lhs === undefined || lhs === false) ? "error" : lhs === true ? "debug" : lhs;
44
- const normalizedRhs = (rhs === undefined || rhs === false) ? "error" : rhs === true ? "debug" : rhs;
45
- if (normalizedLhs === normalizedRhs)
49
+ const normalizedLhs = lhs === undefined || lhs === false ? "error" : lhs === true ? "debug" : lhs;
50
+ const normalizedRhs = rhs === undefined || rhs === false ? "error" : rhs === true ? "debug" : rhs;
51
+ if (normalizedLhs === normalizedRhs) {
46
52
  return 0;
47
- if (normalizedLhs === "error")
53
+ }
54
+ if (normalizedLhs === "error") {
48
55
  return 1;
49
- if (normalizedLhs === "warning")
56
+ }
57
+ if (normalizedLhs === "warning") {
50
58
  return normalizedRhs === "error" ? -1 : 1;
51
- if (normalizedLhs === "info")
59
+ }
60
+ if (normalizedLhs === "info") {
52
61
  return normalizedRhs === "warning" || normalizedRhs === "error" ? -1 : 1;
53
- if (normalizedLhs === "debug")
62
+ }
63
+ if (normalizedLhs === "debug") {
54
64
  return normalizedRhs === "info" || normalizedRhs === "warning" || normalizedRhs === "error" ? -1 : 1;
65
+ }
55
66
  return -1;
56
67
  }
57
68
  exports.compareDiagnosticsSeverities = compareDiagnosticsSeverities;
@@ -59,6 +70,7 @@ exports.compareDiagnosticsSeverities = compareDiagnosticsSeverities;
59
70
  * Functions related to diagnostics log entry.
60
71
  * @beta
61
72
  */
73
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
62
74
  var DiagnosticsLogEntry;
63
75
  (function (DiagnosticsLogEntry) {
64
76
  function isMessage(entry) {
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAQH;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;QACd,OAAO,SAAS,CAAC;IACnB,MAAM,gBAAgB,GACpB,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC3C,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACvE,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AATD,oEASC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,MAAM,aAAa,GAA8B,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/H,IAAI,aAAa,KAAK,aAAa;QACjC,OAAO,CAAC,CAAC;IACX,IAAI,aAAa,KAAK,OAAO;QAC3B,OAAO,CAAC,CAAC;IACX,IAAI,aAAa,KAAK,SAAS;QAC7B,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,aAAa,KAAK,MAAM;QAC1B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,aAAa,KAAK,OAAO;QAC3B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvG,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAdD,oEAcC;AA6FD;;;GAGG;AACH,IAAiB,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAOnC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\n/**\n * Type of diagnostics logger severity.\n * @beta\n */\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\n\n/**\n * Returns lower severity of the given two. Examples:\n * ```\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\n * ```\n * @internal\n */\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\n if (!lhs && !rhs)\n return undefined;\n const combinedSeverity: DiagnosticsLoggerSeverity =\n (lhs === \"trace\" || rhs === \"trace\") ? \"trace\" :\n (lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true) ? \"debug\" :\n (lhs === \"info\" || rhs === \"info\") ? \"info\" :\n (lhs === \"warning\" || rhs === \"warning\") ? \"warning\" : \"error\";\n return combinedSeverity;\n}\n\n/**\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\n * ```\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\n * compareDiagnosticsSeverities(\"error\", false) === 0\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\n * compareDiagnosticsSeverities(\"debug\", true) === 0\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\n * ```\n * @internal\n */\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\n const normalizedLhs: DiagnosticsLoggerSeverity = (lhs === undefined || lhs === false) ? \"error\" : lhs === true ? \"debug\" : lhs;\n const normalizedRhs: DiagnosticsLoggerSeverity = (rhs === undefined || rhs === false) ? \"error\" : rhs === true ? \"debug\" : rhs;\n if (normalizedLhs === normalizedRhs)\n return 0;\n if (normalizedLhs === \"error\")\n return 1;\n if (normalizedLhs === \"warning\")\n return normalizedRhs === \"error\" ? -1 : 1;\n if (normalizedLhs === \"info\")\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\n if (normalizedLhs === \"debug\")\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\n return -1;\n}\n\n/**\n * Data structure for diagnostics information.\n * @beta\n */\nexport interface Diagnostics {\n logs?: DiagnosticsScopeLogs[];\n}\n\n/**\n * Data structure with client diagnostics information.\n * @beta\n */\nexport interface ClientDiagnostics extends Diagnostics {\n backendVersion?: string;\n}\n\n/**\n * Data structure for diagnostics options.\n * @beta\n */\nexport interface DiagnosticsOptions {\n /**\n * Flag specifying that performance should be measured, or\n * minimum duration in milliseconds for which performance metric should be included.\n */\n perf?: boolean | { minimumDuration: number };\n /** Severity for developer log messages */\n dev?: boolean | DiagnosticsLoggerSeverity;\n /** Severity for presentation rules' editor log messages */\n editor?: boolean | DiagnosticsLoggerSeverity;\n}\n\n/**\n * A function that can be called after receiving diagnostics.\n * @beta\n */\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\n\n/**\n * Data structure for client diagnostics options.\n * @beta\n */\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\n backendVersion?: boolean;\n handler: ClientDiagnosticsHandler;\n}\n\n/**\n * Data structure which contains client diagnostics options.\n * @public\n */\nexport interface ClientDiagnosticsAttribute {\n /**\n * Diagnostics options.\n * @beta\n */\n diagnostics?: ClientDiagnosticsOptions;\n}\n\n/**\n * Data structure for diagnostics log message information.\n * @beta\n */\nexport interface DiagnosticsLogMessage {\n severity: {\n dev?: DiagnosticsLoggerSeverity;\n editor?: DiagnosticsLoggerSeverity;\n };\n category: string;\n message: string;\n timestamp: number;\n}\n\n/**\n * Data structure for diagnostics scope information.\n * @beta\n */\nexport interface DiagnosticsScopeLogs {\n scope: string;\n scopeCreateTimestamp?: number;\n duration?: number;\n logs?: DiagnosticsLogEntry[];\n attributes?: { [attributeKey: string]: string | string[] };\n}\n\n/**\n * Data structure for diagnostics log entry.\n * @beta\n */\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\n\n/**\n * Functions related to diagnostics log entry.\n * @beta\n */\nexport namespace DiagnosticsLogEntry { // eslint-disable-line @typescript-eslint/no-redeclare\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\n return !!(entry as any).message;\n }\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\n return !!(entry as any).scope;\n }\n}\n"]}
1
+ {"version":3,"file":"Diagnostics.js","sourceRoot":"","sources":["../../../src/presentation-common/Diagnostics.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAQH;;;;;;;;GAQG;AACH,SAAgB,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,gBAAgB,GACpB,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO;QAChC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI;YAClE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM;gBAChC,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;oBACtC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC;IACpB,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAfD,oEAeC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,4BAA4B,CAAC,GAAoD,EAAE,GAAoD;IACrJ,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,MAAM,aAAa,GAA8B,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7H,IAAI,aAAa,KAAK,aAAa,EAAE;QACnC,OAAO,CAAC,CAAC;KACV;IACD,IAAI,aAAa,KAAK,OAAO,EAAE;QAC7B,OAAO,CAAC,CAAC;KACV;IACD,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;IACD,IAAI,aAAa,KAAK,MAAM,EAAE;QAC5B,OAAO,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1E;IACD,IAAI,aAAa,KAAK,OAAO,EAAE;QAC7B,OAAO,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtG;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAnBD,oEAmBC;AA6FD;;;GAGG;AACH,2DAA2D;AAC3D,IAAiB,mBAAmB,CAOnC;AAPD,WAAiB,mBAAmB;IAClC,SAAgB,SAAS,CAAC,KAA0B;QAClD,OAAO,CAAC,CAAE,KAAa,CAAC,OAAO,CAAC;IAClC,CAAC;IAFe,6BAAS,YAExB,CAAA;IACD,SAAgB,OAAO,CAAC,KAA0B;QAChD,OAAO,CAAC,CAAE,KAAa,CAAC,KAAK,CAAC;IAChC,CAAC;IAFe,2BAAO,UAEtB,CAAA;AACH,CAAC,EAPgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAOnC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\n/**\r\n * Type of diagnostics logger severity.\r\n * @beta\r\n */\r\nexport type DiagnosticsLoggerSeverity = \"error\" | \"warning\" | \"info\" | \"debug\" | \"trace\";\r\n\r\n/**\r\n * Returns lower severity of the given two. Examples:\r\n * ```\r\n * combineDiagnosticsSeverities(\"error\", \"error\") === \"error\"\r\n * combineDiagnosticsSeverities(\"error\", \"debug\") === \"debug\"\r\n * combineDiagnosticsSeverities(\"debug\", \"error\") === \"debug\"\r\n * ```\r\n * @internal\r\n */\r\nexport function combineDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n if (!lhs && !rhs) {\r\n return undefined;\r\n }\r\n const combinedSeverity: DiagnosticsLoggerSeverity =\r\n lhs === \"trace\" || rhs === \"trace\"\r\n ? \"trace\"\r\n : lhs === \"debug\" || lhs === true || rhs === \"debug\" || rhs === true\r\n ? \"debug\"\r\n : lhs === \"info\" || rhs === \"info\"\r\n ? \"info\"\r\n : lhs === \"warning\" || rhs === \"warning\"\r\n ? \"warning\"\r\n : \"error\";\r\n return combinedSeverity;\r\n}\r\n\r\n/**\r\n * Returns 0 if the given severities are equal after normalization, negative if `lhs` is lower, positive if higher. Examples:\r\n * ```\r\n * compareDiagnosticsSeverities(\"error\", \"error\") === 0\r\n * compareDiagnosticsSeverities(\"error\", false) === 0\r\n * compareDiagnosticsSeverities(\"error\", undefined) === 0\r\n * compareDiagnosticsSeverities(\"debug\", true) === 0\r\n * compareDiagnosticsSeverities(\"debug\", \"error\") < 0\r\n * compareDiagnosticsSeverities(\"error\", \"debug\") > 0\r\n * ```\r\n * @internal\r\n */\r\nexport function compareDiagnosticsSeverities(lhs: undefined | boolean | DiagnosticsLoggerSeverity, rhs: undefined | boolean | DiagnosticsLoggerSeverity) {\r\n const normalizedLhs: DiagnosticsLoggerSeverity = lhs === undefined || lhs === false ? \"error\" : lhs === true ? \"debug\" : lhs;\r\n const normalizedRhs: DiagnosticsLoggerSeverity = rhs === undefined || rhs === false ? \"error\" : rhs === true ? \"debug\" : rhs;\r\n if (normalizedLhs === normalizedRhs) {\r\n return 0;\r\n }\r\n if (normalizedLhs === \"error\") {\r\n return 1;\r\n }\r\n if (normalizedLhs === \"warning\") {\r\n return normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"info\") {\r\n return normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n if (normalizedLhs === \"debug\") {\r\n return normalizedRhs === \"info\" || normalizedRhs === \"warning\" || normalizedRhs === \"error\" ? -1 : 1;\r\n }\r\n return -1;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics information.\r\n * @beta\r\n */\r\nexport interface Diagnostics {\r\n logs?: DiagnosticsScopeLogs[];\r\n}\r\n\r\n/**\r\n * Data structure with client diagnostics information.\r\n * @beta\r\n */\r\nexport interface ClientDiagnostics extends Diagnostics {\r\n backendVersion?: string;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics options.\r\n * @beta\r\n */\r\nexport interface DiagnosticsOptions {\r\n /**\r\n * Flag specifying that performance should be measured, or\r\n * minimum duration in milliseconds for which performance metric should be included.\r\n */\r\n perf?: boolean | { minimumDuration: number };\r\n /** Severity for developer log messages */\r\n dev?: boolean | DiagnosticsLoggerSeverity;\r\n /** Severity for presentation rules' editor log messages */\r\n editor?: boolean | DiagnosticsLoggerSeverity;\r\n}\r\n\r\n/**\r\n * A function that can be called after receiving diagnostics.\r\n * @beta\r\n */\r\nexport type ClientDiagnosticsHandler = (logs: ClientDiagnostics) => void;\r\n\r\n/**\r\n * Data structure for client diagnostics options.\r\n * @beta\r\n */\r\nexport interface ClientDiagnosticsOptions extends DiagnosticsOptions {\r\n backendVersion?: boolean;\r\n handler: ClientDiagnosticsHandler;\r\n}\r\n\r\n/**\r\n * Data structure which contains client diagnostics options.\r\n * @public\r\n */\r\nexport interface ClientDiagnosticsAttribute {\r\n /**\r\n * Diagnostics options.\r\n * @beta\r\n */\r\n diagnostics?: ClientDiagnosticsOptions;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log message information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsLogMessage {\r\n severity: {\r\n dev?: DiagnosticsLoggerSeverity;\r\n editor?: DiagnosticsLoggerSeverity;\r\n };\r\n category: string;\r\n message: string;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics scope information.\r\n * @beta\r\n */\r\nexport interface DiagnosticsScopeLogs {\r\n scope: string;\r\n scopeCreateTimestamp?: number;\r\n duration?: number;\r\n logs?: DiagnosticsLogEntry[];\r\n attributes?: { [attributeKey: string]: string | string[] };\r\n}\r\n\r\n/**\r\n * Data structure for diagnostics log entry.\r\n * @beta\r\n */\r\nexport type DiagnosticsLogEntry = DiagnosticsLogMessage | DiagnosticsScopeLogs;\r\n\r\n/**\r\n * Functions related to diagnostics log entry.\r\n * @beta\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace DiagnosticsLogEntry {\r\n export function isMessage(entry: DiagnosticsLogEntry): entry is DiagnosticsLogMessage {\r\n return !!(entry as any).message;\r\n }\r\n export function isScope(entry: DiagnosticsLogEntry): entry is DiagnosticsScopeLogs {\r\n return !!(entry as any).scope;\r\n }\r\n}\r\n"]}
@@ -68,7 +68,7 @@ export declare namespace ClassInfo {
68
68
  /**
69
69
  * Serialize [[ClassInfo]] to JSON
70
70
  * @deprecated in 3.x. Use [[ClassInfo]].
71
- */
71
+ */
72
72
  function toJSON(info: ClassInfo): ClassInfoJSON;
73
73
  /**
74
74
  * Deserialize [[ClassInfo]] from JSON
@@ -156,7 +156,7 @@ export declare namespace NavigationPropertyInfo {
156
156
  /**
157
157
  * Serialize [[NavigationPropertyInfo]] to JSON
158
158
  * @deprecated in 3.x. Use [[toCompressedJSON]].
159
- */
159
+ */
160
160
  function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON;
161
161
  /** Serialize [[NavigationPropertyInfo]] to compressed JSON */
162
162
  function toCompressedJSON(navigationPropertyInfo: NavigationPropertyInfo, classesMap: {
@@ -202,7 +202,7 @@ export interface PropertyInfo {
202
202
  /**
203
203
  * Navigation property info if the field is navigation type
204
204
  * @beta
205
- */
205
+ */
206
206
  navigationPropertyInfo?: NavigationPropertyInfo;
207
207
  }
208
208
  /** @public */
@@ -210,7 +210,7 @@ export declare namespace PropertyInfo {
210
210
  /**
211
211
  * Serialize [[PropertyInfo]] to JSON
212
212
  * @deprecated in 3.x. Use [[PropertyInfo]].
213
- */
213
+ */
214
214
  function toJSON(info: PropertyInfo): PropertyInfoJSON;
215
215
  /** Serialize [[PropertyInfo]] to compressed JSON */
216
216
  function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: {
@@ -1 +1 @@
1
- {"version":3,"file":"EC.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EC.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
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
- *--------------------------------------------------------------------------------------------*/
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
6
  /** @packageDocumentation
7
7
  * @module Core
8
8
  */
@@ -15,8 +15,9 @@ var InstanceKey;
15
15
  /** Compare 2 instance keys */
16
16
  function compare(lhs, rhs) {
17
17
  const classNameCompare = lhs.className.localeCompare(rhs.className);
18
- if (classNameCompare !== 0)
18
+ if (classNameCompare !== 0) {
19
19
  return classNameCompare;
20
+ }
20
21
  return lhs.id.localeCompare(rhs.id);
21
22
  }
22
23
  InstanceKey.compare = compare;
@@ -47,7 +48,7 @@ var ClassInfo;
47
48
  /**
48
49
  * Serialize [[ClassInfo]] to JSON
49
50
  * @deprecated in 3.x. Use [[ClassInfo]].
50
- */
51
+ */
51
52
  // istanbul ignore next
52
53
  // eslint-disable-next-line deprecation/deprecation
53
54
  function toJSON(info) {
@@ -74,7 +75,7 @@ var NavigationPropertyInfo;
74
75
  /**
75
76
  * Serialize [[NavigationPropertyInfo]] to JSON
76
77
  * @deprecated in 3.x. Use [[toCompressedJSON]].
77
- */
78
+ */
78
79
  // istanbul ignore next
79
80
  function toJSON(info) {
80
81
  return { ...info };
@@ -118,7 +119,7 @@ var PropertyInfo;
118
119
  /**
119
120
  * Serialize [[PropertyInfo]] to JSON
120
121
  * @deprecated in 3.x. Use [[PropertyInfo]].
121
- */
122
+ */
122
123
  // istanbul ignore next
123
124
  function toJSON(info) {
124
125
  return { ...info };
@@ -196,10 +197,10 @@ var RelatedClassInfo;
196
197
  RelatedClassInfo.fromCompressedJSON = fromCompressedJSON;
197
198
  /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */
198
199
  function equals(lhs, rhs) {
199
- return lhs.isForwardRelationship === rhs.isForwardRelationship
200
- && getClassName(lhs, "source") === getClassName(rhs, "source")
201
- && getClassName(lhs, "target") === getClassName(rhs, "target")
202
- && getClassName(lhs, "relationship") === getClassName(rhs, "relationship");
200
+ return (lhs.isForwardRelationship === rhs.isForwardRelationship &&
201
+ getClassName(lhs, "source") === getClassName(rhs, "source") &&
202
+ getClassName(lhs, "target") === getClassName(rhs, "target") &&
203
+ getClassName(lhs, "relationship") === getClassName(rhs, "relationship"));
203
204
  }
204
205
  RelatedClassInfo.equals = equals;
205
206
  function isStripped(info) {
@@ -208,9 +209,12 @@ var RelatedClassInfo;
208
209
  }
209
210
  function getClassName(info, whichClass) {
210
211
  switch (whichClass) {
211
- case "source": return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;
212
- case "target": return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;
213
- case "relationship": return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;
212
+ case "source":
213
+ return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;
214
+ case "target":
215
+ return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;
216
+ case "relationship":
217
+ return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;
214
218
  }
215
219
  }
216
220
  /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */
@@ -252,8 +256,9 @@ var RelatedClassInfoWithOptionalRelationship;
252
256
  const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = json;
253
257
  (0, core_bentley_1.assert)(classesMap.hasOwnProperty(sourceClassInfo));
254
258
  (0, core_bentley_1.assert)(classesMap.hasOwnProperty(targetClassInfo));
255
- if (relationshipInfo)
259
+ if (relationshipInfo) {
256
260
  (0, core_bentley_1.assert)(classesMap.hasOwnProperty(relationshipInfo));
261
+ }
257
262
  return {
258
263
  ...otherProps,
259
264
  sourceClassInfo: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },
@@ -264,6 +269,7 @@ var RelatedClassInfoWithOptionalRelationship;
264
269
  RelatedClassInfoWithOptionalRelationship.fromCompressedJSON = fromCompressedJSON;
265
270
  })(RelatedClassInfoWithOptionalRelationship = exports.RelatedClassInfoWithOptionalRelationship || (exports.RelatedClassInfoWithOptionalRelationship = {}));
266
271
  /** @public */
272
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
267
273
  var RelationshipPath;
268
274
  (function (RelationshipPath) {
269
275
  /** Reverse direction of the given [[RelationshipPath]] */
@@ -278,8 +284,7 @@ var RelationshipPath;
278
284
  RelationshipPath.reverse = reverse;
279
285
  /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */
280
286
  function equals(lhs, rhs) {
281
- return lhs.length === rhs.length
282
- && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));
287
+ return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));
283
288
  }
284
289
  RelationshipPath.equals = equals;
285
290
  /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */
@@ -1 +1 @@
1
- {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { FormatProps } from \"@itwin/core-quantity\";\nimport { PartialBy } from \"./Utils\";\n\n/**\n * Type of an ECClass ID.\n * @public\n */\nexport type ClassId = Id64String;\n\n/**\n * Type of an ECInstance ID.\n * @public\n */\nexport type InstanceId = Id64String;\n\n/**\n * A key that uniquely identifies an instance in an iModel\n * @public\n */\nexport interface InstanceKey {\n /** Full class name in format `SchemaName:ClassName` */\n className: string;\n /** ECInstance ID */\n id: InstanceId;\n}\n\n/** @public */\nexport namespace InstanceKey {\n /** Compare 2 instance keys */\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\n const classNameCompare = lhs.className.localeCompare(rhs.className);\n if (classNameCompare !== 0)\n return classNameCompare;\n return lhs.id.localeCompare(rhs.id);\n }\n\n /**\n * Serialize [[InstanceKey]] to JSON\n * @deprecated in 3.x. Use [[InstanceKey]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(key: InstanceKey): InstanceKeyJSON {\n return { ...key };\n }\n\n /**\n * Deserialize [[InstanceKey]] from JSON\n * @deprecated in 3.x. Use [[InstanceKey]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: InstanceKeyJSON) {\n return { ...json };\n }\n}\n\n/**\n * A serialized version of [[InstanceKey]]\n * @public\n * @deprecated in 3.x. Use [[InstanceKey]].\n */\nexport interface InstanceKeyJSON {\n className: string;\n id: string;\n}\n\n/**\n * Information about an ECClass\n * @public\n */\nexport interface ClassInfo {\n /** ECClass ID */\n id: ClassId;\n /** Full class name in format `SchemaName:ClassName` */\n name: string;\n /** ECClass label */\n label: string;\n}\n\n/** @public */\nexport namespace ClassInfo {\n /**\n * Serialize [[ClassInfo]] to JSON\n * @deprecated in 3.x. Use [[ClassInfo]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function toJSON(info: ClassInfo): ClassInfoJSON {\n return { ...info };\n }\n\n /**\n * Deserialize [[ClassInfo]] from JSON\n * @deprecated in 3.x. Use [[ClassInfo]].\n */\n // istanbul ignore next\n // eslint-disable-next-line deprecation/deprecation\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\n return { ...json };\n }\n}\n\n/**\n * A serialized version of [[ClassInfo]]\n * @public\n * @deprecated in 3.x. Use [[ClassInfo]].\n */\nexport interface ClassInfoJSON {\n id: string;\n name: string;\n label: string;\n}\n\n/**\n * A serialized and compressed version of [[ClassInfo]]\n * @public\n */\nexport interface CompressedClassInfoJSON {\n name: string;\n label: string;\n}\n\n/**\n * A single choice in enumeration\n * @public\n */\nexport interface EnumerationChoice {\n /** Label of the choice */\n label: string;\n /** Value of the choice */\n value: string | number;\n}\n\n/**\n * Enumeration information\n * @public\n */\nexport interface EnumerationInfo {\n /** Available enumeration choices */\n choices: EnumerationChoice[];\n /** Is the enumeration strict (values only allowed from `choices` list) */\n isStrict: boolean;\n}\n\n/**\n * Kind of quantity information\n * @public\n */\nexport interface KindOfQuantityInfo {\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\n name: string;\n /** Label of KindOfQuantity */\n label: string;\n /**\n * Persistence unit identifier.\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\n */\n persistenceUnit: string;\n /**\n * Active format that was used to format property value.\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\n */\n activeFormat?: FormatProps;\n}\n\n/**\n * A data structure for storing navigation property information.\n * @beta\n */\nexport interface NavigationPropertyInfo {\n /** Information about ECProperty's relationship class */\n classInfo: ClassInfo;\n /** Is the direction of the relationship forward */\n isForwardRelationship: boolean;\n /** Information about ECProperty's target class */\n targetClassInfo: ClassInfo;\n /** Is ECProperty's target class polymorphic */\n isTargetPolymorphic: boolean;\n}\n\n/**\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\n * @beta\n */\nexport namespace NavigationPropertyInfo {\n /**\n * Serialize [[NavigationPropertyInfo]] to JSON\n * @deprecated in 3.x. Use [[toCompressedJSON]].\n */\n // istanbul ignore next\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\n return { ...info };\n }\n\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\n export function toCompressedJSON(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 /**\n * Deserialize [[NavigationPropertyInfo]] from JSON\n * @deprecated in 3.x. Use [[fromCompressedJSON]].\n */\n // istanbul ignore next\n export function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo {\n return { ...json };\n }\n\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\n export function fromCompressedJSON(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 */\n// eslint-disable-next-line deprecation/deprecation\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\n classInfo: TClassInfoJSON;\n isForwardRelationship: boolean;\n targetClassInfo: TClassInfoJSON;\n isTargetPolymorphic: boolean;\n}\n\n/**\n * A structure that describes an ECProperty\n * @public\n */\nexport interface PropertyInfo {\n /** Information about ECProperty class */\n classInfo: ClassInfo;\n /** Name of the ECProperty */\n name: string;\n /** Type name of the ECProperty */\n type: string;\n /** Enumeration info if the property is enumerable */\n enumerationInfo?: EnumerationInfo;\n /** Kind of quantity information, if any. */\n kindOfQuantity?: KindOfQuantityInfo;\n /** Extended type name of the ECProperty if it has one */\n extendedType?: string;\n /**\n * Navigation property info if the field is navigation type\n * @beta\n */\n navigationPropertyInfo?: NavigationPropertyInfo;\n}\n\n/** @public */\nexport namespace PropertyInfo {\n /**\n * Serialize [[PropertyInfo]] to JSON\n * @deprecated in 3.x. Use [[PropertyInfo]].\n */\n // istanbul ignore next\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\n return { ...info };\n }\n\n /** Serialize [[PropertyInfo]] to compressed JSON */\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\n classesMap[id] = leftOverInfo;\n\n return {\n ...leftOverPropertyInfo,\n classInfo: propertyInfo.classInfo.id,\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\n };\n }\n\n /**\n * Deserialize [[PropertyInfo]] from JSON\n * @deprecated in 3.x. Use [[PropertyInfo]].\n */\n // istanbul ignore next\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\n return { ...json };\n }\n}\n\n/**\n * A serialized version of [[PropertyInfo]]\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\n classInfo: TClassInfoJSON;\n name: string;\n type: string;\n enumerationInfo?: EnumerationInfo;\n kindOfQuantity?: KindOfQuantityInfo;\n /** @beta */\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\n}\n\n/**\n * A structure that describes a related class and the properties of that relationship.\n * @public\n */\nexport interface RelatedClassInfo {\n /** Information about the source ECClass */\n sourceClassInfo: ClassInfo;\n\n /** Information about the target ECClass */\n targetClassInfo: ClassInfo;\n\n /** Is target class handled polymorphically */\n isPolymorphicTargetClass?: boolean;\n\n /** Information about the ECRelationship */\n relationshipInfo: ClassInfo;\n\n /** Should relationship be followed in a forward direction to access the related class. */\n isForwardRelationship: boolean;\n\n /** Is relationship handled polymorphically */\n isPolymorphicRelationship?: boolean;\n}\n\n/** @public */\nexport namespace RelatedClassInfo {\n /**\n * Serialize [[RelatedClassInfo]] to JSON\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\n */\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\n return { ...info };\n }\n\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\n\n classesMap[sourceId] = sourceLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n\n return {\n ...classInfo,\n sourceClassInfo: sourceId,\n targetClassInfo: targetId,\n relationshipInfo: relationshipId,\n };\n }\n\n /**\n * Deserialize [[RelatedClassInfo]] from JSON\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\n */\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\n return { ...json };\n }\n\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\n return {\n ...json,\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\n };\n }\n\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\n return 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 */\n// eslint-disable-next-line deprecation/deprecation\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 */\n// eslint-disable-next-line deprecation/deprecation\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace RelatedClassInfoWithOptionalRelationship {\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\n export function toCompressedJSON(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: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\n };\n }\n}\n\n/**\n * A structure that describes a related class path.\n * @public\n */\nexport type RelationshipPath = RelatedClassInfo[];\n\n/**\n * Serialized [[RelationshipPath]]\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\n\n/** @public */\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, Id64String } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport { PartialBy } from \"./Utils\";\r\n\r\n/**\r\n * Type of an ECClass ID.\r\n * @public\r\n */\r\nexport type ClassId = Id64String;\r\n\r\n/**\r\n * Type of an ECInstance ID.\r\n * @public\r\n */\r\nexport type InstanceId = Id64String;\r\n\r\n/**\r\n * A key that uniquely identifies an instance in an iModel\r\n * @public\r\n */\r\nexport interface InstanceKey {\r\n /** Full class name in format `SchemaName:ClassName` */\r\n className: string;\r\n /** ECInstance ID */\r\n id: InstanceId;\r\n}\r\n\r\n/** @public */\r\nexport namespace InstanceKey {\r\n /** Compare 2 instance keys */\r\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\r\n const classNameCompare = lhs.className.localeCompare(rhs.className);\r\n if (classNameCompare !== 0) {\r\n return classNameCompare;\r\n }\r\n return lhs.id.localeCompare(rhs.id);\r\n }\r\n\r\n /**\r\n * Serialize [[InstanceKey]] to JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(key: InstanceKey): InstanceKeyJSON {\r\n return { ...key };\r\n }\r\n\r\n /**\r\n * Deserialize [[InstanceKey]] from JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: InstanceKeyJSON) {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[InstanceKey]]\r\n * @public\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\nexport interface InstanceKeyJSON {\r\n className: string;\r\n id: string;\r\n}\r\n\r\n/**\r\n * Information about an ECClass\r\n * @public\r\n */\r\nexport interface ClassInfo {\r\n /** ECClass ID */\r\n id: ClassId;\r\n /** Full class name in format `SchemaName:ClassName` */\r\n name: string;\r\n /** ECClass label */\r\n label: string;\r\n}\r\n\r\n/** @public */\r\nexport namespace ClassInfo {\r\n /**\r\n * Serialize [[ClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function toJSON(info: ClassInfo): ClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /**\r\n * Deserialize [[ClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line deprecation/deprecation\r\n export function fromJSON(json: ClassInfoJSON): ClassInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[ClassInfo]]\r\n * @public\r\n * @deprecated in 3.x. Use [[ClassInfo]].\r\n */\r\nexport interface ClassInfoJSON {\r\n id: string;\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A serialized and compressed version of [[ClassInfo]]\r\n * @public\r\n */\r\nexport interface CompressedClassInfoJSON {\r\n name: string;\r\n label: string;\r\n}\r\n\r\n/**\r\n * A single choice in enumeration\r\n * @public\r\n */\r\nexport interface EnumerationChoice {\r\n /** Label of the choice */\r\n label: string;\r\n /** Value of the choice */\r\n value: string | number;\r\n}\r\n\r\n/**\r\n * Enumeration information\r\n * @public\r\n */\r\nexport interface EnumerationInfo {\r\n /** Available enumeration choices */\r\n choices: EnumerationChoice[];\r\n /** Is the enumeration strict (values only allowed from `choices` list) */\r\n isStrict: boolean;\r\n}\r\n\r\n/**\r\n * Kind of quantity information\r\n * @public\r\n */\r\nexport interface KindOfQuantityInfo {\r\n /** Full name of KindOfQuantity in format `SchemaName:KindOfQuantityName` */\r\n name: string;\r\n /** Label of KindOfQuantity */\r\n label: string;\r\n /**\r\n * Persistence unit identifier.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n persistenceUnit: string;\r\n /**\r\n * Active format that was used to format property value.\r\n * @alpha Still not entirely clear how kind of quantities will be handled and what data we'll need\r\n */\r\n activeFormat?: FormatProps;\r\n}\r\n\r\n/**\r\n * A data structure for storing navigation property information.\r\n * @beta\r\n */\r\nexport interface NavigationPropertyInfo {\r\n /** Information about ECProperty's relationship class */\r\n classInfo: ClassInfo;\r\n /** Is the direction of the relationship forward */\r\n isForwardRelationship: boolean;\r\n /** Information about ECProperty's target class */\r\n targetClassInfo: ClassInfo;\r\n /** Is ECProperty's target class polymorphic */\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.\r\n * @beta\r\n */\r\nexport namespace NavigationPropertyInfo {\r\n /**\r\n * Serialize [[NavigationPropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[toCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(\r\n navigationPropertyInfo: NavigationPropertyInfo,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): NavigationPropertyInfoJSON<string> {\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = navigationPropertyInfo.classInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = navigationPropertyInfo.targetClassInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n\r\n return {\r\n ...navigationPropertyInfo,\r\n classInfo: relationshipId,\r\n targetClassInfo: targetId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[NavigationPropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[fromCompressedJSON]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\r\n export function fromCompressedJSON(\r\n compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): NavigationPropertyInfo {\r\n return {\r\n ...compressedNavigationPropertyInfoJSON,\r\n classInfo: { id: compressedNavigationPropertyInfoJSON.classInfo, ...classesMap[compressedNavigationPropertyInfoJSON.classInfo] },\r\n targetClassInfo: { id: compressedNavigationPropertyInfoJSON.targetClassInfo, ...classesMap[compressedNavigationPropertyInfoJSON.targetClassInfo] },\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[NavigationPropertyInfo]]\r\n * @beta\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n targetClassInfo: TClassInfoJSON;\r\n isTargetPolymorphic: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes an ECProperty\r\n * @public\r\n */\r\nexport interface PropertyInfo {\r\n /** Information about ECProperty class */\r\n classInfo: ClassInfo;\r\n /** Name of the ECProperty */\r\n name: string;\r\n /** Type name of the ECProperty */\r\n type: string;\r\n /** Enumeration info if the property is enumerable */\r\n enumerationInfo?: EnumerationInfo;\r\n /** Kind of quantity information, if any. */\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** Extended type name of the ECProperty if it has one */\r\n extendedType?: string;\r\n /**\r\n * Navigation property info if the field is navigation type\r\n * @beta\r\n */\r\n navigationPropertyInfo?: NavigationPropertyInfo;\r\n}\r\n\r\n/** @public */\r\nexport namespace PropertyInfo {\r\n /**\r\n * Serialize [[PropertyInfo]] to JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function toJSON(info: PropertyInfo): PropertyInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[PropertyInfo]] to compressed JSON */\r\n export function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): PropertyInfoJSON<string> {\r\n const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;\r\n const { id, ...leftOverInfo } = propertyInfo.classInfo;\r\n classesMap[id] = leftOverInfo;\r\n\r\n return {\r\n ...leftOverPropertyInfo,\r\n classInfo: propertyInfo.classInfo.id,\r\n ...(navigationPropertyInfo ? { navigationPropertyInfo: NavigationPropertyInfo.toCompressedJSON(navigationPropertyInfo, classesMap) } : undefined),\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[PropertyInfo]] from JSON\r\n * @deprecated in 3.x. Use [[PropertyInfo]].\r\n */\r\n // istanbul ignore next\r\n export function fromJSON(json: PropertyInfoJSON): PropertyInfo {\r\n return { ...json };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[PropertyInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n classInfo: TClassInfoJSON;\r\n name: string;\r\n type: string;\r\n enumerationInfo?: EnumerationInfo;\r\n kindOfQuantity?: KindOfQuantityInfo;\r\n /** @beta */\r\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\r\n}\r\n\r\n/**\r\n * A structure that describes a related class and the properties of that relationship.\r\n * @public\r\n */\r\nexport interface RelatedClassInfo {\r\n /** Information about the source ECClass */\r\n sourceClassInfo: ClassInfo;\r\n\r\n /** Information about the target ECClass */\r\n targetClassInfo: ClassInfo;\r\n\r\n /** Is target class handled polymorphically */\r\n isPolymorphicTargetClass?: boolean;\r\n\r\n /** Information about the ECRelationship */\r\n relationshipInfo: ClassInfo;\r\n\r\n /** Should relationship be followed in a forward direction to access the related class. */\r\n isForwardRelationship: boolean;\r\n\r\n /** Is relationship handled polymorphically */\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfo {\r\n /**\r\n * Serialize [[RelatedClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\r\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n\r\n return {\r\n ...classInfo,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n relationshipInfo: relationshipId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[RelatedClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\r\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\r\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\r\n return {\r\n ...json,\r\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\r\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\r\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\r\n };\r\n }\r\n\r\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\r\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\r\n return (\r\n lhs.isForwardRelationship === rhs.isForwardRelationship &&\r\n getClassName(lhs, \"source\") === getClassName(rhs, \"source\") &&\r\n getClassName(lhs, \"target\") === getClassName(rhs, \"target\") &&\r\n getClassName(lhs, \"relationship\") === getClassName(rhs, \"relationship\")\r\n );\r\n }\r\n\r\n function isStripped(info: RelatedClassInfo | StrippedRelatedClassInfo): info is StrippedRelatedClassInfo {\r\n const maybeStripped = info as StrippedRelatedClassInfo;\r\n return !!maybeStripped.relationshipName && !!maybeStripped.sourceClassName && !!maybeStripped.targetClassName;\r\n }\r\n\r\n function getClassName(info: RelatedClassInfo | StrippedRelatedClassInfo, whichClass: \"relationship\" | \"source\" | \"target\"): string {\r\n switch (whichClass) {\r\n case \"source\":\r\n return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\r\n case \"target\":\r\n return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\r\n case \"relationship\":\r\n return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;\r\n }\r\n }\r\n\r\n /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */\r\n export function strip(full: RelatedClassInfo): StrippedRelatedClassInfo {\r\n return {\r\n sourceClassName: full.sourceClassInfo.name,\r\n targetClassName: full.targetClassInfo.name,\r\n relationshipName: full.relationshipInfo.name,\r\n isForwardRelationship: full.isForwardRelationship,\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[RelatedClassInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\r\n relationshipInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes a relationship between source and target classes where\r\n * an actual ECRelationship between them is optional.\r\n * @public\r\n */\r\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<\r\n RelatedClassInfoJSON<TClassInfoJSON>,\r\n \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\"\r\n>;\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelatedClassInfoWithOptionalRelationship {\r\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\r\n export function toCompressedJSON(\r\n classInfo: RelatedClassInfoWithOptionalRelationship,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): RelatedClassInfoWithOptionalRelationshipJSON<string> {\r\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = classInfo;\r\n const { id: sourceId, ...sourceLeftOverInfo } = sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = targetClassInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n\r\n if (relationshipInfo) {\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = relationshipInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n }\r\n\r\n return {\r\n ...otherProps,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n ...(relationshipInfo ? { relationshipInfo: relationshipInfo.id } : undefined),\r\n };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfoWithOptionalRelationship]] from compressed JSON */\r\n export function fromCompressedJSON(\r\n json: RelatedClassInfoWithOptionalRelationshipJSON<string>,\r\n classesMap: { [id: string]: CompressedClassInfoJSON },\r\n ): RelatedClassInfoWithOptionalRelationship {\r\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = json;\r\n assert(classesMap.hasOwnProperty(sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(targetClassInfo));\r\n if (relationshipInfo) {\r\n assert(classesMap.hasOwnProperty(relationshipInfo));\r\n }\r\n return {\r\n ...otherProps,\r\n sourceClassInfo: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\r\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\r\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A structure that describes a related class path.\r\n * @public\r\n */\r\nexport type RelationshipPath = RelatedClassInfo[];\r\n\r\n/**\r\n * Serialized [[RelationshipPath]]\r\n * @public\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelationshipPath {\r\n /** Reverse direction of the given [[RelationshipPath]] */\r\n export function reverse(path: RelationshipPath): RelationshipPath {\r\n return [...path].reverse().map((step) => ({\r\n ...step,\r\n sourceClassInfo: step.targetClassInfo,\r\n targetClassInfo: step.sourceClassInfo,\r\n isForwardRelationship: !step.isForwardRelationship,\r\n }));\r\n }\r\n\r\n /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */\r\n export function equals(lhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>, rhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>): boolean {\r\n return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));\r\n }\r\n\r\n /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */\r\n export function strip(full: RelationshipPath): StrippedRelationshipPath {\r\n return full.map(RelatedClassInfo.strip);\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelatedClassInfo]] required to\r\n * identify the relationship.\r\n * @public\r\n */\r\nexport interface StrippedRelatedClassInfo {\r\n sourceClassName: string;\r\n targetClassName: string;\r\n relationshipName: string;\r\n isForwardRelationship: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelationshipPath]] required to\r\n * identify the relationship path.\r\n * @public\r\n */\r\nexport type StrippedRelationshipPath = StrippedRelatedClassInfo[];\r\n"]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
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
- *--------------------------------------------------------------------------------------------*/
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
6
  /** @packageDocumentation
7
7
  * @module RPC
8
8
  */