@itwin/presentation-common 5.0.0-dev.7 → 5.0.0-dev.70

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 (369) hide show
  1. package/CHANGELOG.md +31 -1
  2. package/Ruleset.schema.json +3 -258
  3. package/lib/cjs/assets/locales/en/Presentation.json +19 -19
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts +4 -4
  5. package/lib/cjs/presentation-common/AsyncTasks.d.ts.map +1 -1
  6. package/lib/cjs/presentation-common/AsyncTasks.js +5 -6
  7. package/lib/cjs/presentation-common/AsyncTasks.js.map +1 -1
  8. package/lib/cjs/presentation-common/CommonLoggerCategory.js.map +1 -1
  9. package/lib/cjs/presentation-common/Diagnostics.js.map +1 -1
  10. package/lib/cjs/presentation-common/EC.d.ts +36 -80
  11. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  12. package/lib/cjs/presentation-common/EC.js +1 -97
  13. package/lib/cjs/presentation-common/EC.js.map +1 -1
  14. package/lib/cjs/presentation-common/ElementProperties.js +16 -9
  15. package/lib/cjs/presentation-common/ElementProperties.js.map +1 -1
  16. package/lib/cjs/presentation-common/Error.d.ts +2 -0
  17. package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
  18. package/lib/cjs/presentation-common/Error.js +2 -0
  19. package/lib/cjs/presentation-common/Error.js.map +1 -1
  20. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  21. package/lib/cjs/presentation-common/KeySet.d.ts +2 -2
  22. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  23. package/lib/cjs/presentation-common/KeySet.js +9 -11
  24. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  25. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js +4 -1
  26. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  27. package/lib/cjs/presentation-common/LabelDefinition.d.ts +0 -48
  28. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  29. package/lib/cjs/presentation-common/LabelDefinition.js +1 -44
  30. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  31. package/lib/cjs/presentation-common/LocalizationHelper.js +1 -0
  32. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  33. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  34. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +31 -10
  35. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  36. package/lib/cjs/presentation-common/PresentationManagerOptions.js +0 -5
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  38. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +9 -9
  39. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  40. package/lib/cjs/presentation-common/PresentationRpcInterface.js +36 -21
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  42. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +3 -2
  43. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  44. package/lib/cjs/presentation-common/RegisteredRuleset.js +9 -1
  45. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  46. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +9 -12
  47. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  48. package/lib/cjs/presentation-common/RpcRequestsHandler.js +37 -30
  49. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  50. package/lib/cjs/presentation-common/RulesetVariables.d.ts +1 -46
  51. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  52. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  53. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  54. package/lib/cjs/presentation-common/Update.d.ts +2 -79
  55. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  56. package/lib/cjs/presentation-common/Update.js +1 -104
  57. package/lib/cjs/presentation-common/Update.js.map +1 -1
  58. package/lib/cjs/presentation-common/Utils.d.ts +21 -0
  59. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  60. package/lib/cjs/presentation-common/Utils.js +57 -0
  61. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  62. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  63. package/lib/cjs/presentation-common/content/Content.d.ts +0 -7
  64. package/lib/cjs/presentation-common/content/Content.d.ts.map +1 -1
  65. package/lib/cjs/presentation-common/content/Content.js +5 -10
  66. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  67. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +1 -1
  68. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  69. package/lib/cjs/presentation-common/content/ContentTraverser.js +116 -28
  70. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  71. package/lib/cjs/presentation-common/content/Descriptor.d.ts +2 -31
  72. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  73. package/lib/cjs/presentation-common/content/Descriptor.js +68 -22
  74. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  75. package/lib/cjs/presentation-common/content/DisplayTypes.js.map +1 -1
  76. package/lib/cjs/presentation-common/content/Editor.js.map +1 -1
  77. package/lib/cjs/presentation-common/content/Fields.d.ts +151 -27
  78. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  79. package/lib/cjs/presentation-common/content/Fields.js +264 -140
  80. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  81. package/lib/cjs/presentation-common/content/Item.d.ts +26 -31
  82. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  83. package/lib/cjs/presentation-common/content/Item.js +52 -67
  84. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  85. package/lib/cjs/presentation-common/content/Property.d.ts +2 -12
  86. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  87. package/lib/cjs/presentation-common/content/Property.js +0 -18
  88. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  89. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +3 -0
  90. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  91. package/lib/cjs/presentation-common/content/Renderer.js.map +1 -1
  92. package/lib/cjs/presentation-common/content/TypeDescription.js.map +1 -1
  93. package/lib/cjs/presentation-common/content/Value.d.ts +5 -107
  94. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  95. package/lib/cjs/presentation-common/content/Value.js +1 -215
  96. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  97. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  98. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  99. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +0 -23
  100. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  101. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +0 -83
  102. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  103. package/lib/cjs/presentation-common/hierarchy/Key.js +6 -24
  104. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  105. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +4 -107
  106. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  107. package/lib/cjs/presentation-common/hierarchy/Node.js +0 -99
  108. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  109. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  110. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  111. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +0 -117
  112. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  113. package/lib/cjs/presentation-common/rules/ClassSpecifications.js.map +1 -1
  114. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  115. package/lib/cjs/presentation-common/rules/RelationshipDirection.js.map +1 -1
  116. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  117. package/lib/cjs/presentation-common/rules/Rule.d.ts +0 -14
  118. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  119. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  120. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  121. package/lib/cjs/presentation-common/rules/SchemasSpecification.js.map +1 -1
  122. package/lib/cjs/presentation-common/rules/Variables.js.map +1 -1
  123. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  124. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  125. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  126. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +0 -7
  127. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  128. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  129. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  130. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  131. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  132. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  133. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  134. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  135. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  136. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  137. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  138. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  139. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  140. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  141. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  142. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +2 -28
  143. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  144. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +1 -15
  145. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  146. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  147. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  148. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  149. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  150. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +2 -0
  151. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  152. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  153. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  154. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +0 -9
  155. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  156. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  157. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  158. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  159. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  160. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  161. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  162. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +3 -0
  163. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  164. package/lib/cjs/presentation-common/selection/SelectionScope.js +1 -0
  165. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  166. package/lib/cjs/presentation-common.d.ts +1 -5
  167. package/lib/cjs/presentation-common.d.ts.map +1 -1
  168. package/lib/cjs/presentation-common.js +6 -5
  169. package/lib/cjs/presentation-common.js.map +1 -1
  170. package/lib/esm/presentation-common/AsyncTasks.d.ts +4 -4
  171. package/lib/esm/presentation-common/AsyncTasks.d.ts.map +1 -1
  172. package/lib/esm/presentation-common/AsyncTasks.js +5 -6
  173. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  174. package/lib/esm/presentation-common/CommonLoggerCategory.js.map +1 -1
  175. package/lib/esm/presentation-common/Diagnostics.js.map +1 -1
  176. package/lib/esm/presentation-common/EC.d.ts +36 -80
  177. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  178. package/lib/esm/presentation-common/EC.js +0 -96
  179. package/lib/esm/presentation-common/EC.js.map +1 -1
  180. package/lib/esm/presentation-common/ElementProperties.js +16 -9
  181. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  182. package/lib/esm/presentation-common/Error.d.ts +2 -0
  183. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  184. package/lib/esm/presentation-common/Error.js +2 -0
  185. package/lib/esm/presentation-common/Error.js.map +1 -1
  186. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  187. package/lib/esm/presentation-common/KeySet.d.ts +2 -2
  188. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  189. package/lib/esm/presentation-common/KeySet.js +9 -11
  190. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  191. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js +5 -2
  192. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  193. package/lib/esm/presentation-common/LabelDefinition.d.ts +0 -48
  194. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  195. package/lib/esm/presentation-common/LabelDefinition.js +0 -43
  196. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  197. package/lib/esm/presentation-common/LocalizationHelper.js +1 -0
  198. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  199. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  200. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +31 -10
  201. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  202. package/lib/esm/presentation-common/PresentationManagerOptions.js +0 -4
  203. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  204. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +9 -9
  205. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  206. package/lib/esm/presentation-common/PresentationRpcInterface.js +38 -22
  207. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  208. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +3 -2
  209. package/lib/esm/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  210. package/lib/esm/presentation-common/RegisteredRuleset.js +9 -1
  211. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  212. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +9 -12
  213. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  214. package/lib/esm/presentation-common/RpcRequestsHandler.js +39 -32
  215. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  216. package/lib/esm/presentation-common/RulesetVariables.d.ts +1 -46
  217. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  218. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  219. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  220. package/lib/esm/presentation-common/Update.d.ts +2 -79
  221. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  222. package/lib/esm/presentation-common/Update.js +0 -103
  223. package/lib/esm/presentation-common/Update.js.map +1 -1
  224. package/lib/esm/presentation-common/Utils.d.ts +21 -0
  225. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  226. package/lib/esm/presentation-common/Utils.js +54 -0
  227. package/lib/esm/presentation-common/Utils.js.map +1 -1
  228. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  229. package/lib/esm/presentation-common/content/Content.d.ts +0 -7
  230. package/lib/esm/presentation-common/content/Content.d.ts.map +1 -1
  231. package/lib/esm/presentation-common/content/Content.js +5 -10
  232. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  233. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +1 -1
  234. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  235. package/lib/esm/presentation-common/content/ContentTraverser.js +117 -29
  236. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  237. package/lib/esm/presentation-common/content/Descriptor.d.ts +2 -31
  238. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  239. package/lib/esm/presentation-common/content/Descriptor.js +68 -22
  240. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  241. package/lib/esm/presentation-common/content/DisplayTypes.js.map +1 -1
  242. package/lib/esm/presentation-common/content/Editor.js.map +1 -1
  243. package/lib/esm/presentation-common/content/Fields.d.ts +151 -27
  244. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  245. package/lib/esm/presentation-common/content/Fields.js +264 -140
  246. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  247. package/lib/esm/presentation-common/content/Item.d.ts +26 -31
  248. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  249. package/lib/esm/presentation-common/content/Item.js +52 -67
  250. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  251. package/lib/esm/presentation-common/content/Property.d.ts +2 -12
  252. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  253. package/lib/esm/presentation-common/content/Property.js +0 -18
  254. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  255. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +3 -0
  256. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  257. package/lib/esm/presentation-common/content/Renderer.js.map +1 -1
  258. package/lib/esm/presentation-common/content/TypeDescription.js.map +1 -1
  259. package/lib/esm/presentation-common/content/Value.d.ts +5 -107
  260. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/content/Value.js +0 -214
  262. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  263. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  264. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  265. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +1 -22
  266. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  267. package/lib/esm/presentation-common/hierarchy/Key.d.ts +0 -83
  268. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  269. package/lib/esm/presentation-common/hierarchy/Key.js +6 -24
  270. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  271. package/lib/esm/presentation-common/hierarchy/Node.d.ts +4 -107
  272. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  273. package/lib/esm/presentation-common/hierarchy/Node.js +1 -98
  274. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  275. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  276. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  277. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +1 -116
  278. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  279. package/lib/esm/presentation-common/rules/ClassSpecifications.js.map +1 -1
  280. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  281. package/lib/esm/presentation-common/rules/RelationshipDirection.js.map +1 -1
  282. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  283. package/lib/esm/presentation-common/rules/Rule.d.ts +0 -14
  284. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  285. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  286. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  287. package/lib/esm/presentation-common/rules/SchemasSpecification.js.map +1 -1
  288. package/lib/esm/presentation-common/rules/Variables.js.map +1 -1
  289. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  290. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  291. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  292. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +0 -7
  293. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  294. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  295. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  296. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  297. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  298. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  299. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  300. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js.map +1 -1
  301. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  302. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js.map +1 -1
  303. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  304. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +1 -5
  305. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  306. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  307. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  308. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +2 -28
  309. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  310. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +0 -14
  311. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  312. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  313. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  314. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  315. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  316. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +2 -0
  317. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  318. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  319. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  320. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +0 -9
  321. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  322. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  323. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  324. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  325. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  326. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  327. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  328. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +3 -0
  329. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  330. package/lib/esm/presentation-common/selection/SelectionScope.js +1 -0
  331. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  332. package/lib/esm/presentation-common.d.ts +1 -5
  333. package/lib/esm/presentation-common.d.ts.map +1 -1
  334. package/lib/esm/presentation-common.js +1 -5
  335. package/lib/esm/presentation-common.js.map +1 -1
  336. package/lib/public/locales/en/Presentation.json +19 -19
  337. package/package.json +12 -12
  338. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  339. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  340. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +0 -10
  341. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  342. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  343. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  344. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +0 -10
  345. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  346. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  347. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  348. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +0 -10
  349. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  350. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  351. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  352. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +0 -10
  353. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +0 -1
  354. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  355. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  356. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +0 -9
  357. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  358. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  359. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  360. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +0 -9
  361. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  362. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  363. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  364. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +0 -9
  365. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  366. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  367. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  368. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +0 -9
  369. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +0 -1
@@ -28,28 +28,6 @@ export interface InstanceKey {
28
28
  export declare namespace InstanceKey {
29
29
  /** Compare 2 instance keys */
30
30
  function compare(lhs: InstanceKey, rhs: InstanceKey): number;
31
- /**
32
- * Serialize [[InstanceKey]] to JSON
33
- * @deprecated in 3.x. Use [[InstanceKey]].
34
- */
35
- function toJSON(key: InstanceKey): InstanceKeyJSON;
36
- /**
37
- * Deserialize [[InstanceKey]] from JSON
38
- * @deprecated in 3.x. Use [[InstanceKey]].
39
- */
40
- function fromJSON(json: InstanceKeyJSON): {
41
- className: string;
42
- id: string;
43
- };
44
- }
45
- /**
46
- * A serialized version of [[InstanceKey]]
47
- * @public
48
- * @deprecated in 3.x. Use [[InstanceKey]].
49
- */
50
- export interface InstanceKeyJSON {
51
- className: string;
52
- id: string;
53
31
  }
54
32
  /**
55
33
  * Information about an ECClass
@@ -63,29 +41,6 @@ export interface ClassInfo {
63
41
  /** ECClass label */
64
42
  label: string;
65
43
  }
66
- /** @public */
67
- export declare namespace ClassInfo {
68
- /**
69
- * Serialize [[ClassInfo]] to JSON
70
- * @deprecated in 3.x. Use [[ClassInfo]].
71
- */
72
- function toJSON(info: ClassInfo): ClassInfoJSON;
73
- /**
74
- * Deserialize [[ClassInfo]] from JSON
75
- * @deprecated in 3.x. Use [[ClassInfo]].
76
- */
77
- function fromJSON(json: ClassInfoJSON): ClassInfo;
78
- }
79
- /**
80
- * A serialized version of [[ClassInfo]]
81
- * @public
82
- * @deprecated in 3.x. Use [[ClassInfo]].
83
- */
84
- export interface ClassInfoJSON {
85
- id: string;
86
- name: string;
87
- label: string;
88
- }
89
44
  /**
90
45
  * A serialized and compressed version of [[ClassInfo]]
91
46
  * @public
@@ -147,20 +102,10 @@ export interface NavigationPropertyInfo {
147
102
  * @public
148
103
  */
149
104
  export declare namespace NavigationPropertyInfo {
150
- /**
151
- * Serialize [[NavigationPropertyInfo]] to JSON
152
- * @deprecated in 3.x. Use [[toCompressedJSON]].
153
- */
154
- function toJSON(info: NavigationPropertyInfo): NavigationPropertyInfoJSON;
155
105
  /** Serialize [[NavigationPropertyInfo]] to compressed JSON */
156
106
  function toCompressedJSON(navigationPropertyInfo: NavigationPropertyInfo, classesMap: {
157
107
  [id: string]: CompressedClassInfoJSON;
158
108
  }): NavigationPropertyInfoJSON<string>;
159
- /**
160
- * Deserialize [[NavigationPropertyInfo]] from JSON
161
- * @deprecated in 3.x. Use [[fromCompressedJSON]].
162
- */
163
- function fromJSON(json: NavigationPropertyInfoJSON): NavigationPropertyInfo;
164
109
  /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */
165
110
  function fromCompressedJSON(compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>, classesMap: {
166
111
  [id: string]: CompressedClassInfoJSON;
@@ -170,7 +115,7 @@ export declare namespace NavigationPropertyInfo {
170
115
  * A serialized version of [[NavigationPropertyInfo]]
171
116
  * @public
172
117
  */
173
- export interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {
118
+ export interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfo> {
174
119
  classInfo: TClassInfoJSON;
175
120
  isForwardRelationship: boolean;
176
121
  targetClassInfo: TClassInfoJSON;
@@ -195,29 +140,50 @@ export interface PropertyInfo {
195
140
  extendedType?: string;
196
141
  /** Navigation property info if the field is navigation type */
197
142
  navigationPropertyInfo?: NavigationPropertyInfo;
143
+ /** Constraints for values of ECProperty */
144
+ constraints?: PropertyValueConstraints;
145
+ }
146
+ /**
147
+ * Constraints for values of ECProperty
148
+ * @public
149
+ */
150
+ export type PropertyValueConstraints = StringPropertyValueConstraints | ArrayPropertyValueConstraints | NumericPropertyValueConstraints;
151
+ /**
152
+ * Describes constraints for `string` type ECProperty values
153
+ * @public
154
+ */
155
+ export interface StringPropertyValueConstraints {
156
+ minimumLength?: number;
157
+ maximumLength?: number;
158
+ }
159
+ /**
160
+ * Describes constraints for `int` | `double` | `float` type ECProperty values
161
+ * @public
162
+ */
163
+ export interface NumericPropertyValueConstraints {
164
+ minimumValue?: number;
165
+ maximumValue?: number;
166
+ }
167
+ /**
168
+ * Describes constraints for `array` type ECProperty values
169
+ * @public
170
+ */
171
+ export interface ArrayPropertyValueConstraints {
172
+ minOccurs?: number;
173
+ maxOccurs?: number;
198
174
  }
199
175
  /** @public */
200
176
  export declare namespace PropertyInfo {
201
- /**
202
- * Serialize [[PropertyInfo]] to JSON
203
- * @deprecated in 3.x. Use [[PropertyInfo]].
204
- */
205
- function toJSON(info: PropertyInfo): PropertyInfoJSON;
206
177
  /** Serialize [[PropertyInfo]] to compressed JSON */
207
178
  function toCompressedJSON(propertyInfo: PropertyInfo, classesMap: {
208
179
  [id: string]: CompressedClassInfoJSON;
209
180
  }): PropertyInfoJSON<string>;
210
- /**
211
- * Deserialize [[PropertyInfo]] from JSON
212
- * @deprecated in 3.x. Use [[PropertyInfo]].
213
- */
214
- function fromJSON(json: PropertyInfoJSON): PropertyInfo;
215
181
  }
216
182
  /**
217
183
  * A serialized version of [[PropertyInfo]]
218
184
  * @public
219
185
  */
220
- export interface PropertyInfoJSON<TClassInfoJSON = ClassInfoJSON> {
186
+ export interface PropertyInfoJSON<TClassInfoJSON = ClassInfo> {
221
187
  classInfo: TClassInfoJSON;
222
188
  name: string;
223
189
  type: string;
@@ -247,20 +213,10 @@ export interface RelatedClassInfo {
247
213
  }
248
214
  /** @public */
249
215
  export declare namespace RelatedClassInfo {
250
- /**
251
- * Serialize [[RelatedClassInfo]] to JSON
252
- * @deprecated in 3.x. Use [[RelatedClassInfo]].
253
- */
254
- function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON;
255
216
  /** Serialize [[RelatedClassInfo]] to compressed JSON */
256
217
  function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: {
257
218
  [id: string]: CompressedClassInfoJSON;
258
219
  }): RelatedClassInfoJSON<string>;
259
- /**
260
- * Deserialize [[RelatedClassInfo]] from JSON
261
- * @deprecated in 3.x. Use [[RelatedClassInfo]].
262
- */
263
- function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo;
264
220
  /** Deserialize [[RelatedClassInfo]] from compressed JSON */
265
221
  function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: {
266
222
  [id: string]: CompressedClassInfoJSON;
@@ -274,7 +230,7 @@ export declare namespace RelatedClassInfo {
274
230
  * A serialized version of [[RelatedClassInfo]]
275
231
  * @public
276
232
  */
277
- export interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {
233
+ export interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfo> {
278
234
  sourceClassInfo: TClassInfoJSON;
279
235
  targetClassInfo: TClassInfoJSON;
280
236
  isPolymorphicTargetClass?: boolean;
@@ -290,7 +246,7 @@ export interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {
290
246
  */
291
247
  export type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, "relationshipInfo" | "isForwardRelationship" | "isPolymorphicRelationship">;
292
248
  /** @public */
293
- export type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfoJSON> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, "relationshipInfo" | "isForwardRelationship" | "isPolymorphicRelationship">;
249
+ export type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfo> = PartialBy<RelatedClassInfoJSON<TClassInfoJSON>, "relationshipInfo" | "isForwardRelationship" | "isPolymorphicRelationship">;
294
250
  /** @public */
295
251
  export declare namespace RelatedClassInfoWithOptionalRelationship {
296
252
  /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */
@@ -311,7 +267,7 @@ export type RelationshipPath = RelatedClassInfo[];
311
267
  * Serialized [[RelationshipPath]]
312
268
  * @public
313
269
  */
314
- export type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];
270
+ export type RelationshipPathJSON<TClassInfoJSON = ClassInfo> = RelatedClassInfoJSON<TClassInfoJSON>[];
315
271
  /** @public */
316
272
  export declare namespace RelationshipPath {
317
273
  /** Reverse direction of the given [[RelationshipPath]] */
@@ -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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"}
@@ -7,7 +7,7 @@
7
7
  * @module Core
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.RelationshipPath = exports.RelatedClassInfoWithOptionalRelationship = exports.RelatedClassInfo = exports.PropertyInfo = exports.NavigationPropertyInfo = exports.ClassInfo = exports.InstanceKey = void 0;
10
+ exports.RelationshipPath = exports.RelatedClassInfoWithOptionalRelationship = exports.RelatedClassInfo = exports.PropertyInfo = exports.NavigationPropertyInfo = exports.InstanceKey = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  /** @public */
13
13
  var InstanceKey;
@@ -21,66 +21,13 @@ var InstanceKey;
21
21
  return lhs.id.localeCompare(rhs.id);
22
22
  }
23
23
  InstanceKey.compare = compare;
24
- /**
25
- * Serialize [[InstanceKey]] to JSON
26
- * @deprecated in 3.x. Use [[InstanceKey]].
27
- */
28
- // istanbul ignore next
29
- // eslint-disable-next-line @typescript-eslint/no-deprecated
30
- function toJSON(key) {
31
- return { ...key };
32
- }
33
- InstanceKey.toJSON = toJSON;
34
- /**
35
- * Deserialize [[InstanceKey]] from JSON
36
- * @deprecated in 3.x. Use [[InstanceKey]].
37
- */
38
- // istanbul ignore next
39
- // eslint-disable-next-line @typescript-eslint/no-deprecated
40
- function fromJSON(json) {
41
- return { ...json };
42
- }
43
- InstanceKey.fromJSON = fromJSON;
44
24
  })(InstanceKey || (exports.InstanceKey = InstanceKey = {}));
45
- /** @public */
46
- var ClassInfo;
47
- (function (ClassInfo) {
48
- /**
49
- * Serialize [[ClassInfo]] to JSON
50
- * @deprecated in 3.x. Use [[ClassInfo]].
51
- */
52
- // istanbul ignore next
53
- // eslint-disable-next-line @typescript-eslint/no-deprecated
54
- function toJSON(info) {
55
- return { ...info };
56
- }
57
- ClassInfo.toJSON = toJSON;
58
- /**
59
- * Deserialize [[ClassInfo]] from JSON
60
- * @deprecated in 3.x. Use [[ClassInfo]].
61
- */
62
- // istanbul ignore next
63
- // eslint-disable-next-line @typescript-eslint/no-deprecated
64
- function fromJSON(json) {
65
- return { ...json };
66
- }
67
- ClassInfo.fromJSON = fromJSON;
68
- })(ClassInfo || (exports.ClassInfo = ClassInfo = {}));
69
25
  /**
70
26
  * Contains utilities for working with objects of [[NavigationPropertyInfo]] type.
71
27
  * @public
72
28
  */
73
29
  var NavigationPropertyInfo;
74
30
  (function (NavigationPropertyInfo) {
75
- /**
76
- * Serialize [[NavigationPropertyInfo]] to JSON
77
- * @deprecated in 3.x. Use [[toCompressedJSON]].
78
- */
79
- // istanbul ignore next
80
- function toJSON(info) {
81
- return { ...info };
82
- }
83
- NavigationPropertyInfo.toJSON = toJSON;
84
31
  /** Serialize [[NavigationPropertyInfo]] to compressed JSON */
85
32
  function toCompressedJSON(navigationPropertyInfo, classesMap) {
86
33
  const { id: relationshipId, ...relationshipLeftOverInfo } = navigationPropertyInfo.classInfo;
@@ -94,15 +41,6 @@ var NavigationPropertyInfo;
94
41
  };
95
42
  }
96
43
  NavigationPropertyInfo.toCompressedJSON = toCompressedJSON;
97
- /**
98
- * Deserialize [[NavigationPropertyInfo]] from JSON
99
- * @deprecated in 3.x. Use [[fromCompressedJSON]].
100
- */
101
- // istanbul ignore next
102
- function fromJSON(json) {
103
- return { ...json };
104
- }
105
- NavigationPropertyInfo.fromJSON = fromJSON;
106
44
  /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */
107
45
  function fromCompressedJSON(compressedNavigationPropertyInfoJSON, classesMap) {
108
46
  return {
@@ -116,15 +54,6 @@ var NavigationPropertyInfo;
116
54
  /** @public */
117
55
  var PropertyInfo;
118
56
  (function (PropertyInfo) {
119
- /**
120
- * Serialize [[PropertyInfo]] to JSON
121
- * @deprecated in 3.x. Use [[PropertyInfo]].
122
- */
123
- // istanbul ignore next
124
- function toJSON(info) {
125
- return { ...info };
126
- }
127
- PropertyInfo.toJSON = toJSON;
128
57
  /** Serialize [[PropertyInfo]] to compressed JSON */
129
58
  function toCompressedJSON(propertyInfo, classesMap) {
130
59
  const { navigationPropertyInfo, ...leftOverPropertyInfo } = propertyInfo;
@@ -137,27 +66,10 @@ var PropertyInfo;
137
66
  };
138
67
  }
139
68
  PropertyInfo.toCompressedJSON = toCompressedJSON;
140
- /**
141
- * Deserialize [[PropertyInfo]] from JSON
142
- * @deprecated in 3.x. Use [[PropertyInfo]].
143
- */
144
- // istanbul ignore next
145
- function fromJSON(json) {
146
- return { ...json };
147
- }
148
- PropertyInfo.fromJSON = fromJSON;
149
69
  })(PropertyInfo || (exports.PropertyInfo = PropertyInfo = {}));
150
70
  /** @public */
151
71
  var RelatedClassInfo;
152
72
  (function (RelatedClassInfo) {
153
- /**
154
- * Serialize [[RelatedClassInfo]] to JSON
155
- * @deprecated in 3.x. Use [[RelatedClassInfo]].
156
- */
157
- function toJSON(info) {
158
- return { ...info };
159
- }
160
- RelatedClassInfo.toJSON = toJSON;
161
73
  /** Serialize [[RelatedClassInfo]] to compressed JSON */
162
74
  function toCompressedJSON(classInfo, classesMap) {
163
75
  const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;
@@ -174,14 +86,6 @@ var RelatedClassInfo;
174
86
  };
175
87
  }
176
88
  RelatedClassInfo.toCompressedJSON = toCompressedJSON;
177
- /**
178
- * Deserialize [[RelatedClassInfo]] from JSON
179
- * @deprecated in 3.x. Use [[RelatedClassInfo]].
180
- */
181
- function fromJSON(json) {
182
- return { ...json };
183
- }
184
- RelatedClassInfo.fromJSON = fromJSON;
185
89
  /** Deserialize [[RelatedClassInfo]] from compressed JSON */
186
90
  function fromCompressedJSON(json, classesMap) {
187
91
  (0, core_bentley_1.assert)(classesMap.hasOwnProperty(json.sourceClassInfo));
@@ -1 +1 @@
1
- {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { assert, Id64String } from \"@itwin/core-bentley\";\r\nimport { FormatProps } from \"@itwin/core-quantity\";\r\nimport { PartialBy } from \"./Utils\";\r\n\r\n/**\r\n * Type of an ECClass ID.\r\n * @public\r\n */\r\nexport type ClassId = Id64String;\r\n\r\n/**\r\n * Type of an ECInstance ID.\r\n * @public\r\n */\r\nexport type InstanceId = Id64String;\r\n\r\n/**\r\n * A key that uniquely identifies an instance in an iModel\r\n * @public\r\n */\r\nexport interface InstanceKey {\r\n /** Full class name in format `SchemaName:ClassName` */\r\n className: string;\r\n /** ECInstance ID */\r\n id: InstanceId;\r\n}\r\n\r\n/** @public */\r\nexport namespace InstanceKey {\r\n /** Compare 2 instance keys */\r\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\r\n const classNameCompare = lhs.className.localeCompare(rhs.className);\r\n if (classNameCompare !== 0) {\r\n return classNameCompare;\r\n }\r\n return lhs.id.localeCompare(rhs.id);\r\n }\r\n\r\n /**\r\n * Serialize [[InstanceKey]] to JSON\r\n * @deprecated in 3.x. Use [[InstanceKey]].\r\n */\r\n // istanbul ignore next\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\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 @typescript-eslint/no-deprecated\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 @typescript-eslint/no-deprecated\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 @typescript-eslint/no-deprecated\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 /** Persistence unit full class name in format `SchemaName:UnitName`. */\r\n persistenceUnit: string;\r\n /** Active format that was used to format property value. */\r\n activeFormat?: FormatProps;\r\n}\r\n\r\n/**\r\n * A data structure for storing navigation property information.\r\n * @public\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 * @public\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 * @public\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\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 /** Navigation property info if the field is navigation type */\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 @typescript-eslint/no-deprecated\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 navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\r\n}\r\n\r\n/**\r\n * A structure that describes a related class and the properties of that relationship.\r\n * @public\r\n */\r\nexport interface RelatedClassInfo {\r\n /** Information about the source ECClass */\r\n sourceClassInfo: ClassInfo;\r\n\r\n /** Information about the target ECClass */\r\n targetClassInfo: ClassInfo;\r\n\r\n /** Is target class handled polymorphically */\r\n isPolymorphicTargetClass?: boolean;\r\n\r\n /** Optionally, IDs of specific target class instances. */\r\n targetInstanceIds?: Id64String[];\r\n\r\n /** Information about the ECRelationship */\r\n relationshipInfo: ClassInfo;\r\n\r\n /** Should relationship be followed in a forward direction to access the related class. */\r\n isForwardRelationship: boolean;\r\n\r\n /** Is relationship handled polymorphically */\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/** @public */\r\nexport namespace RelatedClassInfo {\r\n /**\r\n * Serialize [[RelatedClassInfo]] to JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function toJSON(info: RelatedClassInfo): RelatedClassInfoJSON {\r\n return { ...info };\r\n }\r\n\r\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\r\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\r\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\r\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\r\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\r\n\r\n classesMap[sourceId] = sourceLeftOverInfo;\r\n classesMap[targetId] = targetLeftOverInfo;\r\n classesMap[relationshipId] = relationshipLeftOverInfo;\r\n\r\n return {\r\n ...classInfo,\r\n sourceClassInfo: sourceId,\r\n targetClassInfo: targetId,\r\n relationshipInfo: relationshipId,\r\n };\r\n }\r\n\r\n /**\r\n * Deserialize [[RelatedClassInfo]] from JSON\r\n * @deprecated in 3.x. Use [[RelatedClassInfo]].\r\n */\r\n export function fromJSON(json: RelatedClassInfoJSON): RelatedClassInfo {\r\n return { ...json };\r\n }\r\n\r\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\r\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\r\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\r\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\r\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\r\n return {\r\n ...json,\r\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\r\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\r\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\r\n };\r\n }\r\n\r\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\r\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\r\n return (\r\n lhs.isForwardRelationship === rhs.isForwardRelationship &&\r\n getClassName(lhs, \"source\") === getClassName(rhs, \"source\") &&\r\n getClassName(lhs, \"target\") === getClassName(rhs, \"target\") &&\r\n getClassName(lhs, \"relationship\") === getClassName(rhs, \"relationship\")\r\n );\r\n }\r\n\r\n function isStripped(info: RelatedClassInfo | StrippedRelatedClassInfo): info is StrippedRelatedClassInfo {\r\n const maybeStripped = info as StrippedRelatedClassInfo;\r\n return !!maybeStripped.relationshipName && !!maybeStripped.sourceClassName && !!maybeStripped.targetClassName;\r\n }\r\n\r\n function getClassName(info: RelatedClassInfo | StrippedRelatedClassInfo, whichClass: \"relationship\" | \"source\" | \"target\"): string {\r\n switch (whichClass) {\r\n case \"source\":\r\n return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\r\n case \"target\":\r\n return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\r\n case \"relationship\":\r\n return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;\r\n }\r\n }\r\n\r\n /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */\r\n export function strip(full: RelatedClassInfo): StrippedRelatedClassInfo {\r\n return {\r\n sourceClassName: full.sourceClassInfo.name,\r\n targetClassName: full.targetClassInfo.name,\r\n relationshipName: full.relationshipInfo.name,\r\n isForwardRelationship: full.isForwardRelationship,\r\n };\r\n }\r\n}\r\n\r\n/**\r\n * A serialized version of [[RelatedClassInfo]]\r\n * @public\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-deprecated\r\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfoJSON> {\r\n sourceClassInfo: TClassInfoJSON;\r\n targetClassInfo: TClassInfoJSON;\r\n isPolymorphicTargetClass?: boolean;\r\n targetInstanceIds?: Id64String[];\r\n relationshipInfo: TClassInfoJSON;\r\n isForwardRelationship: boolean;\r\n isPolymorphicRelationship?: boolean;\r\n}\r\n\r\n/**\r\n * A structure that describes a relationship between source and target classes where\r\n * an actual ECRelationship between them is optional.\r\n * @public\r\n */\r\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\r\n\r\n/** @public */\r\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\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfoJSON> = RelatedClassInfoJSON<TClassInfoJSON>[];\r\n\r\n/** @public */\r\n// eslint-disable-next-line @typescript-eslint/no-redeclare\r\nexport namespace RelationshipPath {\r\n /** Reverse direction of the given [[RelationshipPath]] */\r\n export function reverse(path: RelationshipPath): RelationshipPath {\r\n return [...path].reverse().map((step) => ({\r\n ...step,\r\n sourceClassInfo: step.targetClassInfo,\r\n targetClassInfo: step.sourceClassInfo,\r\n isForwardRelationship: !step.isForwardRelationship,\r\n }));\r\n }\r\n\r\n /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */\r\n export function equals(lhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>, rhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>): boolean {\r\n return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));\r\n }\r\n\r\n /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */\r\n export function strip(full: RelationshipPath): StrippedRelationshipPath {\r\n return full.map(RelatedClassInfo.strip);\r\n }\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelatedClassInfo]] required to\r\n * identify the relationship.\r\n * @public\r\n */\r\nexport interface StrippedRelatedClassInfo {\r\n sourceClassName: string;\r\n targetClassName: string;\r\n relationshipName: string;\r\n isForwardRelationship: boolean;\r\n}\r\n\r\n/**\r\n * Data structure that contains a subset of [[RelationshipPath]] required to\r\n * identify the relationship path.\r\n * @public\r\n */\r\nexport type StrippedRelationshipPath = StrippedRelatedClassInfo[];\r\n"]}
1
+ {"version":3,"file":"EC.js","sourceRoot":"","sources":["../../../src/presentation-common/EC.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Core\n */\n\nimport { assert, Id64String } from \"@itwin/core-bentley\";\nimport { FormatProps } from \"@itwin/core-quantity\";\nimport { PartialBy } from \"./Utils\";\n\n/**\n * Type of an ECClass ID.\n * @public\n */\nexport type ClassId = Id64String;\n\n/**\n * Type of an ECInstance ID.\n * @public\n */\nexport type InstanceId = Id64String;\n\n/**\n * A key that uniquely identifies an instance in an iModel\n * @public\n */\nexport interface InstanceKey {\n /** Full class name in format `SchemaName:ClassName` */\n className: string;\n /** ECInstance ID */\n id: InstanceId;\n}\n\n/** @public */\nexport namespace InstanceKey {\n /** Compare 2 instance keys */\n export function compare(lhs: InstanceKey, rhs: InstanceKey): number {\n const classNameCompare = lhs.className.localeCompare(rhs.className);\n if (classNameCompare !== 0) {\n return classNameCompare;\n }\n return lhs.id.localeCompare(rhs.id);\n }\n}\n\n/**\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/**\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 /** Persistence unit full class name in format `SchemaName:UnitName`. */\n persistenceUnit: string;\n /** Active format that was used to format property value. */\n activeFormat?: FormatProps;\n}\n\n/**\n * A data structure for storing navigation property information.\n * @public\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 * @public\n */\nexport namespace NavigationPropertyInfo {\n /** Serialize [[NavigationPropertyInfo]] to compressed JSON */\n export function toCompressedJSON(\n navigationPropertyInfo: NavigationPropertyInfo,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): NavigationPropertyInfoJSON<string> {\n const { id: relationshipId, ...relationshipLeftOverInfo } = navigationPropertyInfo.classInfo;\n const { id: targetId, ...targetLeftOverInfo } = navigationPropertyInfo.targetClassInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n\n return {\n ...navigationPropertyInfo,\n classInfo: relationshipId,\n targetClassInfo: targetId,\n };\n }\n\n /** Deserialize [[NavigationPropertyInfo]] from compressed JSON */\n export function fromCompressedJSON(\n compressedNavigationPropertyInfoJSON: NavigationPropertyInfoJSON<string>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): NavigationPropertyInfo {\n return {\n ...compressedNavigationPropertyInfoJSON,\n classInfo: { id: compressedNavigationPropertyInfoJSON.classInfo, ...classesMap[compressedNavigationPropertyInfoJSON.classInfo] },\n targetClassInfo: { id: compressedNavigationPropertyInfoJSON.targetClassInfo, ...classesMap[compressedNavigationPropertyInfoJSON.targetClassInfo] },\n };\n }\n}\n\n/**\n * A serialized version of [[NavigationPropertyInfo]]\n * @public\n */\nexport interface NavigationPropertyInfoJSON<TClassInfoJSON = ClassInfo> {\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 /** Navigation property info if the field is navigation type */\n navigationPropertyInfo?: NavigationPropertyInfo;\n /** Constraints for values of ECProperty */\n constraints?: PropertyValueConstraints;\n}\n\n/**\n * Constraints for values of ECProperty\n * @public\n */\nexport type PropertyValueConstraints = StringPropertyValueConstraints | ArrayPropertyValueConstraints | NumericPropertyValueConstraints;\n\n/**\n * Describes constraints for `string` type ECProperty values\n * @public\n */\nexport interface StringPropertyValueConstraints {\n minimumLength?: number;\n maximumLength?: number;\n}\n\n/**\n * Describes constraints for `int` | `double` | `float` type ECProperty values\n * @public\n */\nexport interface NumericPropertyValueConstraints {\n minimumValue?: number;\n maximumValue?: number;\n}\n\n/**\n * Describes constraints for `array` type ECProperty values\n * @public\n */\nexport interface ArrayPropertyValueConstraints {\n minOccurs?: number;\n maxOccurs?: number;\n}\n\n/** @public */\nexport namespace PropertyInfo {\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/**\n * A serialized version of [[PropertyInfo]]\n * @public\n */\nexport interface PropertyInfoJSON<TClassInfoJSON = ClassInfo> {\n classInfo: TClassInfoJSON;\n name: string;\n type: string;\n enumerationInfo?: EnumerationInfo;\n kindOfQuantity?: KindOfQuantityInfo;\n navigationPropertyInfo?: NavigationPropertyInfoJSON<TClassInfoJSON>;\n}\n\n/**\n * A structure that describes a related class and the properties of that relationship.\n * @public\n */\nexport interface RelatedClassInfo {\n /** Information about the source ECClass */\n sourceClassInfo: ClassInfo;\n\n /** Information about the target ECClass */\n targetClassInfo: ClassInfo;\n\n /** Is target class handled polymorphically */\n isPolymorphicTargetClass?: boolean;\n\n /** Optionally, IDs of specific target class instances. */\n targetInstanceIds?: Id64String[];\n\n /** Information about the ECRelationship */\n relationshipInfo: ClassInfo;\n\n /** Should relationship be followed in a forward direction to access the related class. */\n isForwardRelationship: boolean;\n\n /** Is relationship handled polymorphically */\n isPolymorphicRelationship?: boolean;\n}\n\n/** @public */\nexport namespace RelatedClassInfo {\n /** Serialize [[RelatedClassInfo]] to compressed JSON */\n export function toCompressedJSON(classInfo: RelatedClassInfo, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfoJSON<string> {\n const { id: sourceId, ...sourceLeftOverInfo } = classInfo.sourceClassInfo;\n const { id: targetId, ...targetLeftOverInfo } = classInfo.targetClassInfo;\n const { id: relationshipId, ...relationshipLeftOverInfo } = classInfo.relationshipInfo;\n\n classesMap[sourceId] = sourceLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n\n return {\n ...classInfo,\n sourceClassInfo: sourceId,\n targetClassInfo: targetId,\n relationshipInfo: relationshipId,\n };\n }\n\n /** Deserialize [[RelatedClassInfo]] from compressed JSON */\n export function fromCompressedJSON(json: RelatedClassInfoJSON<string>, classesMap: { [id: string]: CompressedClassInfoJSON }): RelatedClassInfo {\n assert(classesMap.hasOwnProperty(json.sourceClassInfo));\n assert(classesMap.hasOwnProperty(json.targetClassInfo));\n assert(classesMap.hasOwnProperty(json.relationshipInfo));\n return {\n ...json,\n sourceClassInfo: { id: json.sourceClassInfo, ...classesMap[json.sourceClassInfo] },\n targetClassInfo: { id: json.targetClassInfo, ...classesMap[json.targetClassInfo] },\n relationshipInfo: { id: json.relationshipInfo, ...classesMap[json.relationshipInfo] },\n };\n }\n\n /** Check two [[RelatedClassInfo]] or [[StrippedRelatedClassInfo]] for equality */\n export function equals(lhs: RelatedClassInfo | StrippedRelatedClassInfo, rhs: RelatedClassInfo | StrippedRelatedClassInfo): boolean {\n return (\n lhs.isForwardRelationship === rhs.isForwardRelationship &&\n getClassName(lhs, \"source\") === getClassName(rhs, \"source\") &&\n getClassName(lhs, \"target\") === getClassName(rhs, \"target\") &&\n getClassName(lhs, \"relationship\") === getClassName(rhs, \"relationship\")\n );\n }\n\n function isStripped(info: RelatedClassInfo | StrippedRelatedClassInfo): info is StrippedRelatedClassInfo {\n const maybeStripped = info as StrippedRelatedClassInfo;\n return !!maybeStripped.relationshipName && !!maybeStripped.sourceClassName && !!maybeStripped.targetClassName;\n }\n\n function getClassName(info: RelatedClassInfo | StrippedRelatedClassInfo, whichClass: \"relationship\" | \"source\" | \"target\"): string {\n switch (whichClass) {\n case \"source\":\n return isStripped(info) ? info.sourceClassName : info.sourceClassInfo.name;\n case \"target\":\n return isStripped(info) ? info.targetClassName : info.targetClassInfo.name;\n case \"relationship\":\n return isStripped(info) ? info.relationshipName : info.relationshipInfo.name;\n }\n }\n\n /** Strip given [[RelatedClassInfo]] to [[StrippedRelatedClassInfo]] */\n export function strip(full: RelatedClassInfo): StrippedRelatedClassInfo {\n return {\n sourceClassName: full.sourceClassInfo.name,\n targetClassName: full.targetClassInfo.name,\n relationshipName: full.relationshipInfo.name,\n isForwardRelationship: full.isForwardRelationship,\n };\n }\n}\n\n/**\n * A serialized version of [[RelatedClassInfo]]\n * @public\n */\nexport interface RelatedClassInfoJSON<TClassInfoJSON = ClassInfo> {\n sourceClassInfo: TClassInfoJSON;\n targetClassInfo: TClassInfoJSON;\n isPolymorphicTargetClass?: boolean;\n targetInstanceIds?: Id64String[];\n relationshipInfo: TClassInfoJSON;\n isForwardRelationship: boolean;\n isPolymorphicRelationship?: boolean;\n}\n\n/**\n * A structure that describes a relationship between source and target classes where\n * an actual ECRelationship between them is optional.\n * @public\n */\nexport type RelatedClassInfoWithOptionalRelationship = PartialBy<RelatedClassInfo, \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\">;\n\n/** @public */\nexport type RelatedClassInfoWithOptionalRelationshipJSON<TClassInfoJSON = ClassInfo> = PartialBy<\n RelatedClassInfoJSON<TClassInfoJSON>,\n \"relationshipInfo\" | \"isForwardRelationship\" | \"isPolymorphicRelationship\"\n>;\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace RelatedClassInfoWithOptionalRelationship {\n /** Serialize [[RelatedClassInfoWithOptionalRelationship]] to compressed JSON */\n export function toCompressedJSON(\n classInfo: RelatedClassInfoWithOptionalRelationship,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): RelatedClassInfoWithOptionalRelationshipJSON<string> {\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = classInfo;\n const { id: sourceId, ...sourceLeftOverInfo } = sourceClassInfo;\n const { id: targetId, ...targetLeftOverInfo } = targetClassInfo;\n\n classesMap[sourceId] = sourceLeftOverInfo;\n classesMap[targetId] = targetLeftOverInfo;\n\n if (relationshipInfo) {\n const { id: relationshipId, ...relationshipLeftOverInfo } = relationshipInfo;\n classesMap[relationshipId] = relationshipLeftOverInfo;\n }\n\n return {\n ...otherProps,\n sourceClassInfo: sourceId,\n targetClassInfo: targetId,\n ...(relationshipInfo ? { relationshipInfo: relationshipInfo.id } : undefined),\n };\n }\n\n /** Deserialize [[RelatedClassInfoWithOptionalRelationship]] from compressed JSON */\n export function fromCompressedJSON(\n json: RelatedClassInfoWithOptionalRelationshipJSON<string>,\n classesMap: { [id: string]: CompressedClassInfoJSON },\n ): RelatedClassInfoWithOptionalRelationship {\n const { sourceClassInfo, targetClassInfo, relationshipInfo, ...otherProps } = json;\n assert(classesMap.hasOwnProperty(sourceClassInfo));\n assert(classesMap.hasOwnProperty(targetClassInfo));\n if (relationshipInfo) {\n assert(classesMap.hasOwnProperty(relationshipInfo));\n }\n return {\n ...otherProps,\n sourceClassInfo: { id: sourceClassInfo, ...classesMap[sourceClassInfo] },\n targetClassInfo: { id: targetClassInfo, ...classesMap[targetClassInfo] },\n ...(relationshipInfo ? { relationshipInfo: { id: relationshipInfo, ...classesMap[relationshipInfo] } } : undefined),\n };\n }\n}\n\n/**\n * A structure that describes a related class path.\n * @public\n */\nexport type RelationshipPath = RelatedClassInfo[];\n\n/**\n * Serialized [[RelationshipPath]]\n * @public\n */\nexport type RelationshipPathJSON<TClassInfoJSON = ClassInfo> = RelatedClassInfoJSON<TClassInfoJSON>[];\n\n/** @public */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport namespace RelationshipPath {\n /** Reverse direction of the given [[RelationshipPath]] */\n export function reverse(path: RelationshipPath): RelationshipPath {\n return [...path].reverse().map((step) => ({\n ...step,\n sourceClassInfo: step.targetClassInfo,\n targetClassInfo: step.sourceClassInfo,\n isForwardRelationship: !step.isForwardRelationship,\n }));\n }\n\n /** Check two [[RelationshipPath]] or [[StrippedRelationshipPath]] for equality */\n export function equals(lhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>, rhs: Array<RelatedClassInfo | StrippedRelatedClassInfo>): boolean {\n return lhs.length === rhs.length && lhs.every((lhsPart, i) => RelatedClassInfo.equals(lhsPart, rhs[i]));\n }\n\n /** Strip given [[RelationshipPath]] to [[StrippedRelationshipPath]] */\n export function strip(full: RelationshipPath): StrippedRelationshipPath {\n return full.map(RelatedClassInfo.strip);\n }\n}\n\n/**\n * Data structure that contains a subset of [[RelatedClassInfo]] required to\n * identify the relationship.\n * @public\n */\nexport interface StrippedRelatedClassInfo {\n sourceClassName: string;\n targetClassName: string;\n relationshipName: string;\n isForwardRelationship: boolean;\n}\n\n/**\n * Data structure that contains a subset of [[RelationshipPath]] required to\n * identify the relationship path.\n * @public\n */\nexport type StrippedRelationshipPath = StrippedRelatedClassInfo[];\n"]}
@@ -19,11 +19,13 @@ const buildElementProperties = (descriptor, item) => {
19
19
  };
20
20
  exports.buildElementProperties = buildElementProperties;
21
21
  class ElementPropertiesAppender {
22
+ _item;
23
+ _onItemFinished;
24
+ _propertyItems = {};
25
+ _categoryItemAppenders = {};
22
26
  constructor(_item, _onItemFinished) {
23
27
  this._item = _item;
24
28
  this._onItemFinished = _onItemFinished;
25
- this._propertyItems = {};
26
- this._categoryItemAppenders = {};
27
29
  }
28
30
  append(label, item) {
29
31
  this._propertyItems[label] = item;
@@ -51,10 +53,12 @@ class ElementPropertiesAppender {
51
53
  }
52
54
  }
53
55
  class CategoryItemAppender {
56
+ _parentAppender;
57
+ _category;
58
+ _items = {};
54
59
  constructor(_parentAppender, _category) {
55
60
  this._parentAppender = _parentAppender;
56
61
  this._category = _category;
57
- this._items = {};
58
62
  }
59
63
  append(label, item) {
60
64
  this._items[label] = item;
@@ -70,10 +74,12 @@ class CategoryItemAppender {
70
74
  }
71
75
  }
72
76
  class ArrayItemAppender {
77
+ _parentAppender;
78
+ _props;
79
+ _items = [];
73
80
  constructor(_parentAppender, _props) {
74
81
  this._parentAppender = _parentAppender;
75
82
  this._props = _props;
76
- this._items = [];
77
83
  }
78
84
  append(_label, item) {
79
85
  (0, core_bentley_1.assert)(item.type !== "category");
@@ -110,10 +116,12 @@ class ArrayItemAppender {
110
116
  }
111
117
  }
112
118
  class StructItemAppender {
119
+ _parentAppender;
120
+ _props;
121
+ _members = {};
113
122
  constructor(_parentAppender, _props) {
114
123
  this._parentAppender = _parentAppender;
115
124
  this._props = _props;
116
- this._members = {};
117
125
  }
118
126
  append(label, item) {
119
127
  (0, core_bentley_1.assert)(item.type !== "category");
@@ -128,10 +136,9 @@ class StructItemAppender {
128
136
  }
129
137
  }
130
138
  class ElementPropertiesBuilder {
131
- constructor() {
132
- this._appendersStack = [];
133
- this._items = [];
134
- }
139
+ _appendersStack = [];
140
+ _items = [];
141
+ _elementPropertiesAppender;
135
142
  get items() {
136
143
  return this._items;
137
144
  }