@itwin/presentation-common 5.0.0-dev.10 → 5.0.0-dev.102

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 (482) hide show
  1. package/CHANGELOG.md +56 -1
  2. package/Ruleset.schema.json +3 -258
  3. package/lib/cjs/package.json +1 -0
  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/EC.d.ts +37 -81
  9. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  10. package/lib/cjs/presentation-common/EC.js +1 -97
  11. package/lib/cjs/presentation-common/EC.js.map +1 -1
  12. package/lib/cjs/presentation-common/ElementProperties.d.ts +2 -2
  13. package/lib/cjs/presentation-common/ElementProperties.d.ts.map +1 -1
  14. package/lib/cjs/presentation-common/ElementProperties.js +22 -15
  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.d.ts +1 -1
  21. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  22. package/lib/cjs/presentation-common/InstanceFilterDefinition.js.map +1 -1
  23. package/lib/cjs/presentation-common/KeySet.d.ts +3 -3
  24. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  25. package/lib/cjs/presentation-common/KeySet.js +20 -22
  26. package/lib/cjs/presentation-common/KeySet.js.map +1 -1
  27. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js +9 -7
  28. package/lib/cjs/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  29. package/lib/cjs/presentation-common/LabelDefinition.d.ts +2 -50
  30. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  31. package/lib/cjs/presentation-common/LabelDefinition.js +4 -47
  32. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  33. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +10 -10
  34. package/lib/cjs/presentation-common/LocalizationHelper.d.ts.map +1 -1
  35. package/lib/cjs/presentation-common/LocalizationHelper.js +13 -12
  36. package/lib/cjs/presentation-common/LocalizationHelper.js.map +1 -1
  37. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +12 -7
  38. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts.map +1 -1
  39. package/lib/cjs/presentation-common/PresentationIpcInterface.js +9 -1
  40. package/lib/cjs/presentation-common/PresentationIpcInterface.js.map +1 -1
  41. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +40 -25
  42. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  43. package/lib/cjs/presentation-common/PresentationManagerOptions.js +0 -5
  44. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  45. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +22 -29
  46. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  47. package/lib/cjs/presentation-common/PresentationRpcInterface.js +41 -36
  48. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  49. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +6 -5
  50. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  51. package/lib/cjs/presentation-common/RegisteredRuleset.js +9 -1
  52. package/lib/cjs/presentation-common/RegisteredRuleset.js.map +1 -1
  53. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +21 -24
  54. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  55. package/lib/cjs/presentation-common/RpcRequestsHandler.js +42 -35
  56. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  57. package/lib/cjs/presentation-common/RulesetVariables.d.ts +1 -46
  58. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  59. package/lib/cjs/presentation-common/RulesetVariables.js.map +1 -1
  60. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +4 -4
  61. package/lib/cjs/presentation-common/RulesetsFactory.d.ts.map +1 -1
  62. package/lib/cjs/presentation-common/RulesetsFactory.js +15 -15
  63. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  64. package/lib/cjs/presentation-common/Update.d.ts +2 -79
  65. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  66. package/lib/cjs/presentation-common/Update.js +1 -104
  67. package/lib/cjs/presentation-common/Update.js.map +1 -1
  68. package/lib/cjs/presentation-common/Utils.d.ts +22 -1
  69. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  70. package/lib/cjs/presentation-common/Utils.js +59 -3
  71. package/lib/cjs/presentation-common/Utils.js.map +1 -1
  72. package/lib/cjs/presentation-common/content/Category.d.ts +1 -1
  73. package/lib/cjs/presentation-common/content/Category.d.ts.map +1 -1
  74. package/lib/cjs/presentation-common/content/Category.js.map +1 -1
  75. package/lib/cjs/presentation-common/content/Content.d.ts +2 -9
  76. package/lib/cjs/presentation-common/content/Content.d.ts.map +1 -1
  77. package/lib/cjs/presentation-common/content/Content.js +9 -14
  78. package/lib/cjs/presentation-common/content/Content.js.map +1 -1
  79. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +9 -9
  80. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  81. package/lib/cjs/presentation-common/content/ContentTraverser.js +138 -50
  82. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  83. package/lib/cjs/presentation-common/content/Descriptor.d.ts +7 -52
  84. package/lib/cjs/presentation-common/content/Descriptor.d.ts.map +1 -1
  85. package/lib/cjs/presentation-common/content/Descriptor.js +82 -53
  86. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  87. package/lib/cjs/presentation-common/content/Fields.d.ts +157 -33
  88. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  89. package/lib/cjs/presentation-common/content/Fields.js +275 -151
  90. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  91. package/lib/cjs/presentation-common/content/Item.d.ts +28 -33
  92. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  93. package/lib/cjs/presentation-common/content/Item.js +53 -68
  94. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  95. package/lib/cjs/presentation-common/content/Property.d.ts +2 -14
  96. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  97. package/lib/cjs/presentation-common/content/Property.js +2 -20
  98. package/lib/cjs/presentation-common/content/Property.js.map +1 -1
  99. package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts +6 -6
  100. package/lib/cjs/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  101. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js +12 -9
  102. package/lib/cjs/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  103. package/lib/cjs/presentation-common/content/Value.d.ts +8 -110
  104. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  105. package/lib/cjs/presentation-common/content/Value.js +1 -215
  106. package/lib/cjs/presentation-common/content/Value.js.map +1 -1
  107. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  108. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  109. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +0 -23
  110. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  111. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +1 -84
  112. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  113. package/lib/cjs/presentation-common/hierarchy/Key.js +8 -26
  114. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  115. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +4 -107
  116. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  117. package/lib/cjs/presentation-common/hierarchy/Node.js +0 -99
  118. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  119. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  120. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  121. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +0 -117
  122. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  123. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +2 -2
  124. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts.map +1 -1
  125. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  126. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +2 -2
  127. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  128. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  129. package/lib/cjs/presentation-common/rules/Rule.d.ts +6 -20
  130. package/lib/cjs/presentation-common/rules/Rule.d.ts.map +1 -1
  131. package/lib/cjs/presentation-common/rules/Rule.js.map +1 -1
  132. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +3 -3
  133. package/lib/cjs/presentation-common/rules/Ruleset.d.ts.map +1 -1
  134. package/lib/cjs/presentation-common/rules/Ruleset.js.map +1 -1
  135. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +2 -2
  136. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  137. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  138. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +2 -2
  139. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  140. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  141. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +2 -2
  142. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  143. package/lib/cjs/presentation-common/rules/content/ContentRule.js.map +1 -1
  144. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +5 -12
  145. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  146. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  147. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +2 -2
  148. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  149. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  150. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +3 -3
  151. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
  152. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  153. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +1 -1
  154. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  155. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  156. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +3 -3
  157. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts.map +1 -1
  158. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  159. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +6 -6
  160. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  161. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  162. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +1 -1
  163. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  164. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  165. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +2 -2
  166. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  167. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  168. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +6 -10
  169. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  170. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  171. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +1 -1
  172. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  173. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  174. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +4 -30
  175. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  176. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +1 -15
  177. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  178. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +3 -3
  179. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  180. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  181. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +2 -2
  182. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  183. package/lib/cjs/presentation-common/rules/customization/SortingRule.js.map +1 -1
  184. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +1 -1
  185. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  186. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  187. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +6 -6
  188. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  189. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  190. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +3 -1
  191. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  192. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  193. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +2 -2
  194. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  195. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  196. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +2 -11
  197. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  198. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  199. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +6 -6
  200. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  201. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  202. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +1 -1
  203. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  204. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  205. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +2 -2
  206. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  207. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  208. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +1 -1
  209. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  210. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  211. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +2 -2
  212. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  213. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  214. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +3 -0
  215. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  216. package/lib/cjs/presentation-common/selection/SelectionScope.js +1 -0
  217. package/lib/cjs/presentation-common/selection/SelectionScope.js.map +1 -1
  218. package/lib/cjs/presentation-common-internal.d.ts +10 -0
  219. package/lib/cjs/presentation-common-internal.d.ts.map +1 -0
  220. package/lib/cjs/presentation-common-internal.js +32 -0
  221. package/lib/cjs/presentation-common-internal.js.map +1 -0
  222. package/lib/cjs/presentation-common.d.ts +68 -77
  223. package/lib/cjs/presentation-common.d.ts.map +1 -1
  224. package/lib/cjs/presentation-common.js +110 -89
  225. package/lib/cjs/presentation-common.js.map +1 -1
  226. package/lib/esm/presentation-common/AsyncTasks.d.ts +4 -4
  227. package/lib/esm/presentation-common/AsyncTasks.d.ts.map +1 -1
  228. package/lib/esm/presentation-common/AsyncTasks.js +5 -6
  229. package/lib/esm/presentation-common/AsyncTasks.js.map +1 -1
  230. package/lib/esm/presentation-common/EC.d.ts +37 -81
  231. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  232. package/lib/esm/presentation-common/EC.js +0 -96
  233. package/lib/esm/presentation-common/EC.js.map +1 -1
  234. package/lib/esm/presentation-common/ElementProperties.d.ts +2 -2
  235. package/lib/esm/presentation-common/ElementProperties.d.ts.map +1 -1
  236. package/lib/esm/presentation-common/ElementProperties.js +18 -11
  237. package/lib/esm/presentation-common/ElementProperties.js.map +1 -1
  238. package/lib/esm/presentation-common/Error.d.ts +2 -0
  239. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  240. package/lib/esm/presentation-common/Error.js +2 -0
  241. package/lib/esm/presentation-common/Error.js.map +1 -1
  242. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +1 -1
  243. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  244. package/lib/esm/presentation-common/InstanceFilterDefinition.js.map +1 -1
  245. package/lib/esm/presentation-common/KeySet.d.ts +3 -3
  246. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  247. package/lib/esm/presentation-common/KeySet.js +10 -12
  248. package/lib/esm/presentation-common/KeySet.js.map +1 -1
  249. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js +10 -8
  250. package/lib/esm/presentation-common/KoqPropertyValueFormatter.js.map +1 -1
  251. package/lib/esm/presentation-common/LabelDefinition.d.ts +2 -50
  252. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  253. package/lib/esm/presentation-common/LabelDefinition.js +3 -46
  254. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  255. package/lib/esm/presentation-common/LocalizationHelper.d.ts +10 -10
  256. package/lib/esm/presentation-common/LocalizationHelper.d.ts.map +1 -1
  257. package/lib/esm/presentation-common/LocalizationHelper.js +6 -5
  258. package/lib/esm/presentation-common/LocalizationHelper.js.map +1 -1
  259. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +12 -7
  260. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/PresentationIpcInterface.js +8 -0
  262. package/lib/esm/presentation-common/PresentationIpcInterface.js.map +1 -1
  263. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +40 -25
  264. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  265. package/lib/esm/presentation-common/PresentationManagerOptions.js +0 -4
  266. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  267. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +22 -29
  268. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  269. package/lib/esm/presentation-common/PresentationRpcInterface.js +42 -36
  270. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  271. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +6 -5
  272. package/lib/esm/presentation-common/RegisteredRuleset.d.ts.map +1 -1
  273. package/lib/esm/presentation-common/RegisteredRuleset.js +9 -1
  274. package/lib/esm/presentation-common/RegisteredRuleset.js.map +1 -1
  275. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +21 -24
  276. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  277. package/lib/esm/presentation-common/RpcRequestsHandler.js +42 -35
  278. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  279. package/lib/esm/presentation-common/RulesetVariables.d.ts +1 -46
  280. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  281. package/lib/esm/presentation-common/RulesetVariables.js.map +1 -1
  282. package/lib/esm/presentation-common/RulesetsFactory.d.ts +4 -4
  283. package/lib/esm/presentation-common/RulesetsFactory.d.ts.map +1 -1
  284. package/lib/esm/presentation-common/RulesetsFactory.js +6 -6
  285. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  286. package/lib/esm/presentation-common/Update.d.ts +2 -79
  287. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  288. package/lib/esm/presentation-common/Update.js +0 -103
  289. package/lib/esm/presentation-common/Update.js.map +1 -1
  290. package/lib/esm/presentation-common/Utils.d.ts +22 -1
  291. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  292. package/lib/esm/presentation-common/Utils.js +54 -1
  293. package/lib/esm/presentation-common/Utils.js.map +1 -1
  294. package/lib/esm/presentation-common/content/Category.d.ts +1 -1
  295. package/lib/esm/presentation-common/content/Category.d.ts.map +1 -1
  296. package/lib/esm/presentation-common/content/Category.js.map +1 -1
  297. package/lib/esm/presentation-common/content/Content.d.ts +2 -9
  298. package/lib/esm/presentation-common/content/Content.d.ts.map +1 -1
  299. package/lib/esm/presentation-common/content/Content.js +7 -12
  300. package/lib/esm/presentation-common/content/Content.js.map +1 -1
  301. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +9 -9
  302. package/lib/esm/presentation-common/content/ContentTraverser.d.ts.map +1 -1
  303. package/lib/esm/presentation-common/content/ContentTraverser.js +123 -35
  304. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  305. package/lib/esm/presentation-common/content/Descriptor.d.ts +7 -52
  306. package/lib/esm/presentation-common/content/Descriptor.d.ts.map +1 -1
  307. package/lib/esm/presentation-common/content/Descriptor.js +71 -42
  308. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  309. package/lib/esm/presentation-common/content/Fields.d.ts +157 -33
  310. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  311. package/lib/esm/presentation-common/content/Fields.js +268 -144
  312. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  313. package/lib/esm/presentation-common/content/Item.d.ts +28 -33
  314. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  315. package/lib/esm/presentation-common/content/Item.js +53 -68
  316. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  317. package/lib/esm/presentation-common/content/Property.d.ts +2 -14
  318. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  319. package/lib/esm/presentation-common/content/Property.js +1 -19
  320. package/lib/esm/presentation-common/content/Property.js.map +1 -1
  321. package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts +6 -6
  322. package/lib/esm/presentation-common/content/PropertyValueFormatter.d.ts.map +1 -1
  323. package/lib/esm/presentation-common/content/PropertyValueFormatter.js +5 -2
  324. package/lib/esm/presentation-common/content/PropertyValueFormatter.js.map +1 -1
  325. package/lib/esm/presentation-common/content/Value.d.ts +8 -110
  326. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  327. package/lib/esm/presentation-common/content/Value.js +0 -214
  328. package/lib/esm/presentation-common/content/Value.js.map +1 -1
  329. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +1 -22
  330. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts.map +1 -1
  331. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +1 -22
  332. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js.map +1 -1
  333. package/lib/esm/presentation-common/hierarchy/Key.d.ts +1 -84
  334. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  335. package/lib/esm/presentation-common/hierarchy/Key.js +7 -25
  336. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  337. package/lib/esm/presentation-common/hierarchy/Node.d.ts +4 -107
  338. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  339. package/lib/esm/presentation-common/hierarchy/Node.js +1 -98
  340. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  341. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +1 -67
  342. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts.map +1 -1
  343. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +1 -116
  344. package/lib/esm/presentation-common/hierarchy/NodePathElement.js.map +1 -1
  345. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +2 -2
  346. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts.map +1 -1
  347. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js.map +1 -1
  348. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +2 -2
  349. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  350. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js.map +1 -1
  351. package/lib/esm/presentation-common/rules/Rule.d.ts +6 -20
  352. package/lib/esm/presentation-common/rules/Rule.d.ts.map +1 -1
  353. package/lib/esm/presentation-common/rules/Rule.js.map +1 -1
  354. package/lib/esm/presentation-common/rules/Ruleset.d.ts +3 -3
  355. package/lib/esm/presentation-common/rules/Ruleset.d.ts.map +1 -1
  356. package/lib/esm/presentation-common/rules/Ruleset.js.map +1 -1
  357. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +2 -2
  358. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts.map +1 -1
  359. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js.map +1 -1
  360. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +2 -2
  361. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts.map +1 -1
  362. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js.map +1 -1
  363. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +2 -2
  364. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts.map +1 -1
  365. package/lib/esm/presentation-common/rules/content/ContentRule.js.map +1 -1
  366. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +5 -12
  367. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts.map +1 -1
  368. package/lib/esm/presentation-common/rules/content/ContentSpecification.js.map +1 -1
  369. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +2 -2
  370. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts.map +1 -1
  371. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js.map +1 -1
  372. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +3 -3
  373. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts.map +1 -1
  374. package/lib/esm/presentation-common/rules/content/PropertySpecification.js.map +1 -1
  375. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +1 -1
  376. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts.map +1 -1
  377. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js.map +1 -1
  378. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +3 -3
  379. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts.map +1 -1
  380. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js.map +1 -1
  381. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +6 -6
  382. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts.map +1 -1
  383. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js.map +1 -1
  384. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +1 -1
  385. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  386. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js.map +1 -1
  387. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +2 -2
  388. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts.map +1 -1
  389. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js.map +1 -1
  390. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +6 -10
  391. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts.map +1 -1
  392. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js.map +1 -1
  393. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +1 -1
  394. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts.map +1 -1
  395. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js.map +1 -1
  396. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +4 -30
  397. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts.map +1 -1
  398. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +0 -14
  399. package/lib/esm/presentation-common/rules/customization/GroupingRule.js.map +1 -1
  400. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +3 -3
  401. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  402. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js.map +1 -1
  403. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +2 -2
  404. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  405. package/lib/esm/presentation-common/rules/customization/SortingRule.js.map +1 -1
  406. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +1 -1
  407. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts.map +1 -1
  408. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js.map +1 -1
  409. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +6 -6
  410. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  411. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js.map +1 -1
  412. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +3 -1
  413. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts.map +1 -1
  414. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js.map +1 -1
  415. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +2 -2
  416. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts.map +1 -1
  417. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js.map +1 -1
  418. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +2 -11
  419. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts.map +1 -1
  420. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js.map +1 -1
  421. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +6 -6
  422. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  423. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js.map +1 -1
  424. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +1 -1
  425. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts.map +1 -1
  426. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js.map +1 -1
  427. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +2 -2
  428. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts.map +1 -1
  429. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js.map +1 -1
  430. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +1 -1
  431. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts.map +1 -1
  432. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js.map +1 -1
  433. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +2 -2
  434. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts.map +1 -1
  435. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js.map +1 -1
  436. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +3 -0
  437. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  438. package/lib/esm/presentation-common/selection/SelectionScope.js +1 -0
  439. package/lib/esm/presentation-common/selection/SelectionScope.js.map +1 -1
  440. package/lib/esm/presentation-common-internal.d.ts +10 -0
  441. package/lib/esm/presentation-common-internal.d.ts.map +1 -0
  442. package/lib/esm/presentation-common-internal.js +16 -0
  443. package/lib/esm/presentation-common-internal.js.map +1 -0
  444. package/lib/esm/presentation-common.d.ts +68 -77
  445. package/lib/esm/presentation-common.d.ts.map +1 -1
  446. package/lib/esm/presentation-common.js +60 -89
  447. package/lib/esm/presentation-common.js.map +1 -1
  448. package/package.json +47 -36
  449. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  450. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  451. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +0 -10
  452. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  453. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  454. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  455. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +0 -10
  456. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  457. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  458. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  459. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +0 -10
  460. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  461. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  462. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  463. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +0 -10
  464. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js.map +0 -1
  465. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +0 -45
  466. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts.map +0 -1
  467. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +0 -9
  468. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js.map +0 -1
  469. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +0 -30
  470. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts.map +0 -1
  471. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +0 -9
  472. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js.map +0 -1
  473. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +0 -41
  474. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts.map +0 -1
  475. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +0 -9
  476. package/lib/esm/presentation-common/rules/customization/LabelOverride.js.map +0 -1
  477. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +0 -49
  478. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts.map +0 -1
  479. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +0 -9
  480. package/lib/esm/presentation-common/rules/customization/StyleOverride.js.map +0 -1
  481. /package/lib/{cjs/assets → assets}/locales/en/Presentation.json +0 -0
  482. /package/lib/{cjs/assets → assets}/locales/en-PSEUDO/Presentation.json +0 -0
@@ -5,13 +5,23 @@
5
5
  /** @packageDocumentation
6
6
  * @module RPC
7
7
  */
8
- import { RpcInterface } from "@itwin/core-common";
9
- import { PresentationStatus } from "./Error";
8
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
9
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ import { RpcInterface, RpcOperation } from "@itwin/core-common";
15
+ import { deepReplaceNullsToUndefined } from "./Utils.js";
10
16
  /**
11
17
  * Interface used for communication between Presentation backend and frontend.
12
18
  * @public
13
19
  */
14
- export class PresentationRpcInterface extends RpcInterface {
20
+ let PresentationRpcInterface = class PresentationRpcInterface extends RpcInterface {
21
+ /** The immutable name of the interface. */
22
+ static interfaceName = "PresentationRpcInterface";
23
+ /** The semantic version of the interface. */
24
+ static interfaceVersion = "5.0.0";
15
25
  /*===========================================================================================
16
26
  NOTE: Any add/remove/change to the methods below requires an update of the interface version.
17
27
  NOTE: Please consult the README in core/common/src/rpc for the semantic versioning rules.
@@ -21,38 +31,34 @@ export class PresentationRpcInterface extends RpcInterface {
21
31
  return this.forward(arguments);
22
32
  }
23
33
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
24
- // eslint-disable-next-line @typescript-eslint/no-deprecated
25
34
  async getPagedNodes(_token, _options) {
26
- return this.forward(arguments);
35
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
27
36
  }
28
37
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
29
38
  async getNodesDescriptor(_token, _options) {
30
- return this.forward(arguments);
39
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
31
40
  }
32
41
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
33
42
  // TODO: add paged version of this (#387280)
34
- // eslint-disable-next-line @typescript-eslint/no-deprecated
35
43
  async getNodePaths(_token, _options) {
36
- return this.forward(arguments);
44
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
37
45
  }
38
46
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
39
47
  // TODO: add paged version of this (#387280)
40
- // eslint-disable-next-line @typescript-eslint/no-deprecated
41
48
  async getFilteredNodePaths(_token, _options) {
42
- return this.forward(arguments);
49
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
43
50
  }
44
51
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
45
52
  async getContentSources(_token, _options) {
46
- return this.forward(arguments);
53
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
47
54
  }
48
55
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
49
56
  async getContentDescriptor(_token, _options) {
50
- arguments[1] = { ...arguments[1], transport: "unparsed-json" };
51
57
  const response = await this.forward(arguments);
52
- if (response.statusCode === PresentationStatus.Success && typeof response.result === "string") {
53
- response.result = JSON.parse(response.result);
54
- }
55
- return response;
58
+ return {
59
+ ...response,
60
+ ...(response.result ? { result: JSON.parse(response.result) } : {}),
61
+ };
56
62
  }
57
63
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
58
64
  async getContentSetSize(_token, _options) {
@@ -60,19 +66,25 @@ export class PresentationRpcInterface extends RpcInterface {
60
66
  }
61
67
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
62
68
  async getPagedContent(_token, _options) {
63
- return this.forward(arguments);
69
+ const rpcResponse = await this.forward(arguments);
70
+ return {
71
+ ...rpcResponse,
72
+ ...(rpcResponse.result
73
+ ? /* c8 ignore next */ { result: { ...rpcResponse.result, contentSet: deepReplaceNullsToUndefined(rpcResponse.result.contentSet) } }
74
+ : {}),
75
+ };
64
76
  }
65
77
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
66
78
  async getPagedContentSet(_token, _options) {
67
- return this.forward(arguments);
79
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
68
80
  }
69
81
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
70
82
  async getElementProperties(_token, _options) {
71
- return this.forward(arguments);
83
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
72
84
  }
73
85
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
74
86
  async getPagedDistinctValues(_token, _options) {
75
- return this.forward(arguments);
87
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
76
88
  }
77
89
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
78
90
  async getContentInstanceKeys(_token, _options) {
@@ -80,31 +92,25 @@ export class PresentationRpcInterface extends RpcInterface {
80
92
  }
81
93
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
82
94
  async getDisplayLabelDefinition(_token, _options) {
83
- return this.forward(arguments);
95
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
84
96
  }
85
97
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
86
98
  async getPagedDisplayLabelDefinitions(_token, _options) {
87
- return this.forward(arguments);
99
+ return deepReplaceNullsToUndefined(await this.forward(arguments));
88
100
  }
89
101
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
102
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
90
103
  async getSelectionScopes(_token, _options) {
91
104
  return this.forward(arguments);
92
105
  }
93
106
  /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */
94
- async computeSelection(_token, _options, _ids, _scopeId) {
107
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
108
+ async computeSelection(_token, _options) {
95
109
  return this.forward(arguments);
96
110
  }
97
- }
98
- /** The immutable name of the interface. */
99
- PresentationRpcInterface.interfaceName = "PresentationRpcInterface";
100
- /** The semantic version of the interface. */
101
- PresentationRpcInterface.interfaceVersion = "4.1.0";
102
- /** @internal */
103
- export var PresentationIpcEvents;
104
- (function (PresentationIpcEvents) {
105
- /**
106
- * ID of an event that's emitted when backend detects changes in presented data.
107
- */
108
- PresentationIpcEvents["Update"] = "presentation.onUpdate";
109
- })(PresentationIpcEvents || (PresentationIpcEvents = {}));
111
+ };
112
+ PresentationRpcInterface = __decorate([
113
+ RpcOperation.setDefaultPolicy({ retryInterval: () => 0 })
114
+ ], PresentationRpcInterface);
115
+ export { PresentationRpcInterface };
110
116
  //# sourceMappingURL=PresentationRpcInterface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationRpcInterface.js","sourceRoot":"","sources":["../../../src/presentation-common/PresentationRpcInterface.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 RPC\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps, RpcInterface } from \"@itwin/core-common\";\r\nimport { DescriptorJSON, DescriptorOverrides, SelectClassInfoJSON } from \"./content/Descriptor\";\r\nimport { ItemJSON } from \"./content/Item\";\r\nimport { DisplayValueGroupJSON } from \"./content/Value\";\r\nimport { ClientDiagnostics, ClientDiagnosticsOptions } from \"./Diagnostics\";\r\nimport { CompressedClassInfoJSON, InstanceKey } from \"./EC\";\r\nimport { ElementProperties } from \"./ElementProperties\";\r\nimport { PresentationStatus } from \"./Error\";\r\nimport { NodeKey } from \"./hierarchy/Key\";\r\nimport { NodeJSON } from \"./hierarchy/Node\";\r\nimport { NodePathElementJSON } from \"./hierarchy/NodePathElement\";\r\nimport { KeySetJSON } from \"./KeySet\";\r\nimport { LabelDefinition } from \"./LabelDefinition\";\r\nimport {\r\n ComputeSelectionRequestOptions,\r\n ContentDescriptorRequestOptions,\r\n ContentInstanceKeysRequestOptions,\r\n ContentRequestOptions,\r\n ContentSourcesRequestOptions,\r\n DisplayLabelRequestOptions,\r\n DisplayLabelsRequestOptions,\r\n DistinctValuesRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions,\r\n FilterByTextHierarchyRequestOptions,\r\n HierarchyLevelDescriptorRequestOptions,\r\n HierarchyRequestOptions,\r\n Paged,\r\n SelectionScopeRequestOptions,\r\n SingleElementPropertiesRequestOptions,\r\n} from \"./PresentationManagerOptions\";\r\nimport { RulesetVariableJSON } from \"./RulesetVariables\";\r\nimport { SelectionScope } from \"./selection/SelectionScope\";\r\nimport { Omit, PagedResponse } from \"./Utils\";\r\n\r\n/**\r\n * Base options for all presentation RPC requests.\r\n * @public\r\n */\r\nexport type PresentationRpcRequestOptions<TManagerRequestOptions> = Omit<TManagerRequestOptions, \"imodel\" | \"diagnostics\"> & {\r\n /** @internal ID of the client requesting data */\r\n clientId?: string;\r\n /** RPC request diagnostics options. */\r\n diagnostics?: RpcDiagnosticsOptions;\r\n};\r\n\r\n/**\r\n * Data structure for presentation RPC responses\r\n * @public\r\n */\r\nexport interface PresentationRpcResponseData<TResult = undefined> {\r\n /** Response status code */\r\n statusCode: PresentationStatus;\r\n /** In case of an error response, the error message */\r\n errorMessage?: string;\r\n /** In case of a success response, the result */\r\n result?: TResult;\r\n /** Diagnostics response. */\r\n diagnostics?: ClientDiagnostics;\r\n}\r\n\r\n/**\r\n * Data structure for RPC diagnostics options.\r\n * @public\r\n */\r\nexport type RpcDiagnosticsOptions = Omit<ClientDiagnosticsOptions, \"handler\">;\r\n\r\n/**\r\n * A promise of [[PresentationRpcResponseData]].\r\n * @public\r\n */\r\nexport type PresentationRpcResponse<TResult = undefined> = Promise<PresentationRpcResponseData<TResult>>;\r\n\r\n/**\r\n * Data structure for hierarchy request options.\r\n * @public\r\n */\r\nexport type HierarchyRpcRequestOptions = PresentationRpcRequestOptions<HierarchyRequestOptions<never, NodeKey, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for hierarchy level descriptor RPC request options.\r\n * @public\r\n */\r\nexport type HierarchyLevelDescriptorRpcRequestOptions = PresentationRpcRequestOptions<\r\n HierarchyLevelDescriptorRequestOptions<never, NodeKey, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for filtering hierarchy by ECInstance paths request options.\r\n * @public\r\n */\r\nexport type FilterByInstancePathsHierarchyRpcRequestOptions = PresentationRpcRequestOptions<\r\n FilterByInstancePathsHierarchyRequestOptions<never, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for filtering hierarchy by text request options.\r\n * @public\r\n */\r\nexport type FilterByTextHierarchyRpcRequestOptions = PresentationRpcRequestOptions<FilterByTextHierarchyRequestOptions<never, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for content sources RPC request options.\r\n * @public\r\n */\r\nexport type ContentSourcesRpcRequestOptions = PresentationRpcRequestOptions<ContentSourcesRequestOptions<never>>;\r\n/**\r\n * Data structure for content sources RPC response.\r\n * @public\r\n */\r\nexport interface ContentSourcesRpcResult {\r\n /** A list of objects containing content source information. */\r\n sources: SelectClassInfoJSON<Id64String>[];\r\n /** An `ECClassId` => [[CompressedClassInfoJSON]] map for deserializing [[sources]]. */\r\n classesMap: { [id: string]: CompressedClassInfoJSON };\r\n}\r\n\r\n/**\r\n * Data structure for content descriptor RPC request options.\r\n * @public\r\n */\r\nexport type ContentDescriptorRpcRequestOptions = PresentationRpcRequestOptions<ContentDescriptorRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for content RPC request options.\r\n * @public\r\n */\r\nexport type ContentRpcRequestOptions = PresentationRpcRequestOptions<ContentRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for single element properties RPC request options.\r\n * @public\r\n */\r\nexport type SingleElementPropertiesRpcRequestOptions = PresentationRpcRequestOptions<\r\n Omit<SingleElementPropertiesRequestOptions<never, never>, \"contentParser\">\r\n>;\r\n\r\n/**\r\n * Data structure for distinct values' request options.\r\n * @public\r\n */\r\nexport type DistinctValuesRpcRequestOptions = PresentationRpcRequestOptions<\r\n DistinctValuesRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for content instance keys' request options.\r\n * @public\r\n */\r\nexport type ContentInstanceKeysRpcRequestOptions = PresentationRpcRequestOptions<ContentInstanceKeysRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for label request options.\r\n * @public\r\n */\r\nexport type DisplayLabelRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelRequestOptions<never, InstanceKey>>;\r\n\r\n/**\r\n * Data structure for labels request options.\r\n * @public\r\n */\r\nexport type DisplayLabelsRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelsRequestOptions<never, InstanceKey>>;\r\n\r\n/**\r\n * Data structure for selection scope request options.\r\n * @public\r\n */\r\nexport type SelectionScopeRpcRequestOptions = PresentationRpcRequestOptions<SelectionScopeRequestOptions<never>>;\r\n\r\n/**\r\n * Request options data structure for computing selection based on given selection scope and element IDs.\r\n * @public\r\n */\r\nexport type ComputeSelectionRpcRequestOptions = PresentationRpcRequestOptions<ComputeSelectionRequestOptions<never>>;\r\n\r\n/**\r\n * Interface used for communication between Presentation backend and frontend.\r\n * @public\r\n */\r\nexport class PresentationRpcInterface extends RpcInterface {\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"PresentationRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"4.1.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in core/common/src/rpc for the semantic versioning rules.\r\n ===========================================================================================*/\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getNodesCount(_token: IModelRpcProps, _options: HierarchyRpcRequestOptions): PresentationRpcResponse<number> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async getPagedNodes(_token: IModelRpcProps, _options: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<NodeJSON>> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getNodesDescriptor(\r\n _token: IModelRpcProps,\r\n _options: HierarchyLevelDescriptorRpcRequestOptions,\r\n ): PresentationRpcResponse<string | DescriptorJSON | undefined> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // TODO: add paged version of this (#387280)\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async getNodePaths(_token: IModelRpcProps, _options: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElementJSON[]> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // TODO: add paged version of this (#387280)\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async getFilteredNodePaths(_token: IModelRpcProps, _options: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElementJSON[]> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentSources(_token: IModelRpcProps, _options: ContentSourcesRpcRequestOptions): PresentationRpcResponse<ContentSourcesRpcResult> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentDescriptor(_token: IModelRpcProps, _options: ContentDescriptorRpcRequestOptions): PresentationRpcResponse<DescriptorJSON | undefined> {\r\n arguments[1] = { ...arguments[1], transport: \"unparsed-json\" };\r\n const response: PresentationRpcResponseData<DescriptorJSON | string | undefined> = await this.forward(arguments);\r\n if (response.statusCode === PresentationStatus.Success && typeof response.result === \"string\") {\r\n response.result = JSON.parse(response.result);\r\n }\r\n return response as PresentationRpcResponseData<DescriptorJSON | undefined>;\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentSetSize(_token: IModelRpcProps, _options: ContentRpcRequestOptions): PresentationRpcResponse<number> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedContent(\r\n _token: IModelRpcProps,\r\n _options: Paged<ContentRpcRequestOptions>,\r\n ): PresentationRpcResponse<{ descriptor: DescriptorJSON; contentSet: PagedResponse<ItemJSON> } | undefined> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedContentSet(_token: IModelRpcProps, _options: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<PagedResponse<ItemJSON>> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getElementProperties(\r\n _token: IModelRpcProps,\r\n _options: SingleElementPropertiesRpcRequestOptions,\r\n ): PresentationRpcResponse<ElementProperties | undefined> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedDistinctValues(\r\n _token: IModelRpcProps,\r\n _options: DistinctValuesRpcRequestOptions,\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n ): PresentationRpcResponse<PagedResponse<DisplayValueGroupJSON>> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentInstanceKeys(\r\n _token: IModelRpcProps,\r\n _options: ContentInstanceKeysRpcRequestOptions,\r\n ): PresentationRpcResponse<{ total: number; items: KeySetJSON }> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getDisplayLabelDefinition(_token: IModelRpcProps, _options: DisplayLabelRpcRequestOptions): PresentationRpcResponse<LabelDefinition> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedDisplayLabelDefinitions(\r\n _token: IModelRpcProps,\r\n _options: DisplayLabelsRpcRequestOptions,\r\n ): PresentationRpcResponse<PagedResponse<LabelDefinition>> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getSelectionScopes(_token: IModelRpcProps, _options: SelectionScopeRpcRequestOptions): PresentationRpcResponse<SelectionScope[]> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 3.x. Use the override with [[ComputeSelectionRpcRequestOptions]]. */\r\n public async computeSelection(\r\n _token: IModelRpcProps,\r\n _options: SelectionScopeRpcRequestOptions,\r\n _ids: Id64String[],\r\n _scopeId: string,\r\n ): PresentationRpcResponse<KeySetJSON>;\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async computeSelection(_token: IModelRpcProps, _options: ComputeSelectionRpcRequestOptions): PresentationRpcResponse<KeySetJSON>;\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async computeSelection(\r\n _token: IModelRpcProps,\r\n _options: ComputeSelectionRpcRequestOptions | SelectionScopeRpcRequestOptions,\r\n _ids?: Id64String[],\r\n _scopeId?: string,\r\n ): PresentationRpcResponse<KeySetJSON> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport enum PresentationIpcEvents {\r\n /**\r\n * ID of an event that's emitted when backend detects changes in presented data.\r\n */\r\n Update = \"presentation.onUpdate\",\r\n}\r\n"]}
1
+ {"version":3,"file":"PresentationRpcInterface.js","sourceRoot":"","sources":["../../../src/presentation-common/PresentationRpcInterface.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 RPC\r\n */\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps, RpcInterface, RpcOperation } from \"@itwin/core-common\";\r\nimport { DescriptorJSON, DescriptorOverrides, SelectClassInfoJSON } from \"./content/Descriptor.js\";\r\nimport { ItemJSON } from \"./content/Item.js\";\r\nimport { DisplayValueGroup } from \"./content/Value.js\";\r\nimport { ClientDiagnostics, ClientDiagnosticsOptions } from \"./Diagnostics.js\";\r\nimport { CompressedClassInfoJSON, InstanceKey } from \"./EC.js\";\r\nimport { ElementProperties } from \"./ElementProperties.js\";\r\nimport { PresentationStatus } from \"./Error.js\";\r\nimport { NodeKey } from \"./hierarchy/Key.js\";\r\nimport { Node } from \"./hierarchy/Node.js\";\r\nimport { NodePathElement } from \"./hierarchy/NodePathElement.js\";\r\nimport { KeySetJSON } from \"./KeySet.js\";\r\nimport { LabelDefinition } from \"./LabelDefinition.js\";\r\nimport {\r\n ComputeSelectionRequestOptions,\r\n ContentDescriptorRequestOptions,\r\n ContentInstanceKeysRequestOptions,\r\n ContentRequestOptions,\r\n ContentSourcesRequestOptions,\r\n DisplayLabelRequestOptions,\r\n DisplayLabelsRequestOptions,\r\n DistinctValuesRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions,\r\n FilterByTextHierarchyRequestOptions,\r\n HierarchyLevelDescriptorRequestOptions,\r\n HierarchyRequestOptions,\r\n Paged,\r\n SelectionScopeRequestOptions,\r\n SingleElementPropertiesRequestOptions,\r\n} from \"./PresentationManagerOptions.js\";\r\nimport { RulesetVariableJSON } from \"./RulesetVariables.js\";\r\nimport { SelectionScope } from \"./selection/SelectionScope.js\";\r\nimport { deepReplaceNullsToUndefined, Omit, PagedResponse } from \"./Utils.js\";\r\n\r\n/**\r\n * Base options for all presentation RPC requests.\r\n * @public\r\n */\r\nexport type PresentationRpcRequestOptions<TManagerRequestOptions> = Omit<TManagerRequestOptions, \"imodel\" | \"diagnostics\"> & {\r\n /** @internal ID of the client requesting data */\r\n clientId?: string;\r\n /** RPC request diagnostics options. */\r\n diagnostics?: RpcDiagnosticsOptions;\r\n};\r\n\r\n/**\r\n * Data structure for presentation RPC responses\r\n * @public\r\n */\r\nexport interface PresentationRpcResponseData<TResult = undefined> {\r\n /** Response status code */\r\n statusCode: PresentationStatus;\r\n /** In case of an error response, the error message */\r\n errorMessage?: string;\r\n /** In case of a success response, the result */\r\n result?: TResult;\r\n /** Diagnostics response. */\r\n diagnostics?: ClientDiagnostics;\r\n}\r\n\r\n/**\r\n * Data structure for RPC diagnostics options.\r\n * @public\r\n */\r\nexport type RpcDiagnosticsOptions = Omit<ClientDiagnosticsOptions, \"handler\">;\r\n\r\n/**\r\n * A promise of [[PresentationRpcResponseData]].\r\n * @public\r\n */\r\nexport type PresentationRpcResponse<TResult = undefined> = Promise<PresentationRpcResponseData<TResult>>;\r\n\r\n/**\r\n * Data structure for hierarchy request options.\r\n * @public\r\n */\r\nexport type HierarchyRpcRequestOptions = PresentationRpcRequestOptions<HierarchyRequestOptions<never, NodeKey, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for hierarchy level descriptor RPC request options.\r\n * @public\r\n */\r\nexport type HierarchyLevelDescriptorRpcRequestOptions = PresentationRpcRequestOptions<\r\n HierarchyLevelDescriptorRequestOptions<never, NodeKey, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for filtering hierarchy by ECInstance paths request options.\r\n * @public\r\n */\r\nexport type FilterByInstancePathsHierarchyRpcRequestOptions = PresentationRpcRequestOptions<\r\n FilterByInstancePathsHierarchyRequestOptions<never, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for filtering hierarchy by text request options.\r\n * @public\r\n */\r\nexport type FilterByTextHierarchyRpcRequestOptions = PresentationRpcRequestOptions<FilterByTextHierarchyRequestOptions<never, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for content sources RPC request options.\r\n * @public\r\n */\r\nexport type ContentSourcesRpcRequestOptions = PresentationRpcRequestOptions<ContentSourcesRequestOptions<never>>;\r\n/**\r\n * Data structure for content sources RPC response.\r\n * @public\r\n */\r\nexport interface ContentSourcesRpcResult {\r\n /** A list of objects containing content source information. */\r\n sources: SelectClassInfoJSON<Id64String>[];\r\n /** An `ECClassId` => [[CompressedClassInfoJSON]] map for deserializing [[sources]]. */\r\n classesMap: { [id: string]: CompressedClassInfoJSON };\r\n}\r\n\r\n/**\r\n * Data structure for content descriptor RPC request options.\r\n * @public\r\n */\r\nexport type ContentDescriptorRpcRequestOptions = PresentationRpcRequestOptions<ContentDescriptorRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for content RPC request options.\r\n * @public\r\n */\r\nexport type ContentRpcRequestOptions = PresentationRpcRequestOptions<ContentRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for single element properties RPC request options.\r\n * @public\r\n */\r\nexport type SingleElementPropertiesRpcRequestOptions = PresentationRpcRequestOptions<\r\n Omit<SingleElementPropertiesRequestOptions<never, never>, \"contentParser\">\r\n>;\r\n\r\n/**\r\n * Data structure for distinct values' request options.\r\n * @public\r\n */\r\nexport type DistinctValuesRpcRequestOptions = PresentationRpcRequestOptions<\r\n DistinctValuesRequestOptions<never, DescriptorOverrides, KeySetJSON, RulesetVariableJSON>\r\n>;\r\n\r\n/**\r\n * Data structure for content instance keys' request options.\r\n * @public\r\n */\r\nexport type ContentInstanceKeysRpcRequestOptions = PresentationRpcRequestOptions<ContentInstanceKeysRequestOptions<never, KeySetJSON, RulesetVariableJSON>>;\r\n\r\n/**\r\n * Data structure for label request options.\r\n * @public\r\n */\r\nexport type DisplayLabelRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelRequestOptions<never, InstanceKey>>;\r\n\r\n/**\r\n * Data structure for labels request options.\r\n * @public\r\n */\r\nexport type DisplayLabelsRpcRequestOptions = PresentationRpcRequestOptions<DisplayLabelsRequestOptions<never, InstanceKey>>;\r\n\r\n/**\r\n * Data structure for selection scope request options.\r\n * @public\r\n * @deprecated in 5.0. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport type SelectionScopeRpcRequestOptions = PresentationRpcRequestOptions<SelectionScopeRequestOptions<never>>;\r\n\r\n/**\r\n * Request options data structure for computing selection based on given selection scope and element IDs.\r\n * @public\r\n * @deprecated in 5.0. Use `computeSelection` from [@itwin/unified-selection](https://github.com/iTwin/presentation/blob/master/packages/unified-selection/README.md#selection-scopes) package instead.\r\n */\r\nexport type ComputeSelectionRpcRequestOptions = PresentationRpcRequestOptions<ComputeSelectionRequestOptions<never>>;\r\n\r\n/**\r\n * Interface used for communication between Presentation backend and frontend.\r\n * @public\r\n */\r\n@RpcOperation.setDefaultPolicy({ retryInterval: () => 0 })\r\nexport class PresentationRpcInterface extends RpcInterface {\r\n /** The immutable name of the interface. */\r\n public static readonly interfaceName = \"PresentationRpcInterface\";\r\n\r\n /** The semantic version of the interface. */\r\n public static interfaceVersion = \"5.0.0\";\r\n\r\n /*===========================================================================================\r\n NOTE: Any add/remove/change to the methods below requires an update of the interface version.\r\n NOTE: Please consult the README in core/common/src/rpc for the semantic versioning rules.\r\n ===========================================================================================*/\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getNodesCount(_token: IModelRpcProps, _options: HierarchyRpcRequestOptions): PresentationRpcResponse<number> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedNodes(_token: IModelRpcProps, _options: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<Node>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getNodesDescriptor(\r\n _token: IModelRpcProps,\r\n _options: HierarchyLevelDescriptorRpcRequestOptions,\r\n ): PresentationRpcResponse<string | DescriptorJSON | undefined> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // TODO: add paged version of this (#387280)\r\n public async getNodePaths(_token: IModelRpcProps, _options: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // TODO: add paged version of this (#387280)\r\n public async getFilteredNodePaths(_token: IModelRpcProps, _options: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentSources(_token: IModelRpcProps, _options: ContentSourcesRpcRequestOptions): PresentationRpcResponse<ContentSourcesRpcResult> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentDescriptor(_token: IModelRpcProps, _options: ContentDescriptorRpcRequestOptions): PresentationRpcResponse<DescriptorJSON | undefined> {\r\n const response: PresentationRpcResponseData<string | undefined> = await this.forward(arguments);\r\n return {\r\n ...response,\r\n ...(response.result ? { result: JSON.parse(response.result) } : {}),\r\n };\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentSetSize(_token: IModelRpcProps, _options: ContentRpcRequestOptions): PresentationRpcResponse<number> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedContent(\r\n _token: IModelRpcProps,\r\n _options: Paged<ContentRpcRequestOptions>,\r\n ): PresentationRpcResponse<{ descriptor: DescriptorJSON; contentSet: PagedResponse<ItemJSON> } | undefined> {\r\n const rpcResponse = await this.forward(arguments);\r\n return {\r\n ...rpcResponse,\r\n ...(rpcResponse.result\r\n ? /* c8 ignore next */ { result: { ...rpcResponse.result, contentSet: deepReplaceNullsToUndefined(rpcResponse.result.contentSet) } }\r\n : {}),\r\n };\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedContentSet(_token: IModelRpcProps, _options: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<PagedResponse<ItemJSON>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getElementProperties(\r\n _token: IModelRpcProps,\r\n _options: SingleElementPropertiesRpcRequestOptions,\r\n ): PresentationRpcResponse<ElementProperties | undefined> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedDistinctValues(\r\n _token: IModelRpcProps,\r\n _options: DistinctValuesRpcRequestOptions,\r\n ): PresentationRpcResponse<PagedResponse<DisplayValueGroup>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getContentInstanceKeys(\r\n _token: IModelRpcProps,\r\n _options: ContentInstanceKeysRpcRequestOptions,\r\n ): PresentationRpcResponse<{ total: number; items: KeySetJSON }> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getDisplayLabelDefinition(_token: IModelRpcProps, _options: DisplayLabelRpcRequestOptions): PresentationRpcResponse<LabelDefinition> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n public async getPagedDisplayLabelDefinitions(\r\n _token: IModelRpcProps,\r\n _options: DisplayLabelsRpcRequestOptions,\r\n ): PresentationRpcResponse<PagedResponse<LabelDefinition>> {\r\n return deepReplaceNullsToUndefined(await this.forward(arguments));\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async getSelectionScopes(_token: IModelRpcProps, _options: SelectionScopeRpcRequestOptions): PresentationRpcResponse<SelectionScope[]> {\r\n return this.forward(arguments);\r\n }\r\n\r\n /** @deprecated in 4.10. Use [PresentationManager]($presentation-frontend) instead of calling the RPC interface directly. */\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n public async computeSelection(_token: IModelRpcProps, _options: ComputeSelectionRpcRequestOptions): PresentationRpcResponse<KeySetJSON> {\r\n return this.forward(arguments);\r\n }\r\n}\r\n"]}
@@ -1,21 +1,22 @@
1
1
  /** @packageDocumentation
2
2
  * @module Core
3
3
  */
4
- import { IDisposable } from "@itwin/core-bentley";
5
- import { Rule } from "./rules/Rule";
6
- import { Ruleset, SupplementationInfo } from "./rules/Ruleset";
7
- import { VariablesGroup } from "./rules/Variables";
4
+ import { Rule } from "./rules/Rule.js";
5
+ import { Ruleset, SupplementationInfo } from "./rules/Ruleset.js";
6
+ import { VariablesGroup } from "./rules/Variables.js";
8
7
  /**
9
8
  * A ruleset that is registered in a ruleset manager.
10
9
  * @public
11
10
  */
12
- export declare class RegisteredRuleset implements IDisposable, Ruleset {
11
+ export declare class RegisteredRuleset implements Disposable, Ruleset {
13
12
  private _ruleset;
14
13
  private _uniqueIdentifier;
15
14
  private _disposeFunc;
16
15
  /** Create a registered ruleset */
17
16
  constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void);
18
17
  /** Dispose registered ruleset. */
18
+ [Symbol.dispose](): void;
19
+ /** @deprecated in 5.0 Use [Symbol.dispose] instead. */
19
20
  dispose(): void;
20
21
  get uniqueIdentifier(): string;
21
22
  get id(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"RegisteredRuleset.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,WAAW,EAAE,OAAO;IAC5D,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuC;IAE3D,kCAAkC;gBACf,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAMhH,kCAAkC;IAC3B,OAAO;IAId,IAAW,gBAAgB,WAE1B;IACD,IAAW,EAAE,IAAI,MAAM,CAEtB;IACD,IAAW,mBAAmB,IAAI,mBAAmB,GAAG,SAAS,CAEhE;IACD,IAAW,KAAK,IAAI,IAAI,EAAE,CAEzB;IACD,IAAW,IAAI,IAAI,cAAc,EAAE,GAAG,SAAS,CAE9C;IACM,MAAM,IAAI,OAAO;CAGzB"}
1
+ {"version":3,"file":"RegisteredRuleset.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,UAAU,EAAE,OAAO;IAC3D,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAAuC;IAE3D,kCAAkC;gBACf,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAMhH,kCAAkC;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;IAIvB,uDAAuD;IAEhD,OAAO;IAId,IAAW,gBAAgB,WAE1B;IACD,IAAW,EAAE,IAAI,MAAM,CAEtB;IACD,IAAW,mBAAmB,IAAI,mBAAmB,GAAG,SAAS,CAEhE;IACD,IAAW,KAAK,IAAI,IAAI,EAAE,CAEzB;IACD,IAAW,IAAI,IAAI,cAAc,EAAE,GAAG,SAAS,CAE9C;IACM,MAAM,IAAI,OAAO;CAGzB"}
@@ -10,6 +10,9 @@
10
10
  * @public
11
11
  */
12
12
  export class RegisteredRuleset {
13
+ _ruleset;
14
+ _uniqueIdentifier;
15
+ _disposeFunc;
13
16
  /** Create a registered ruleset */
14
17
  constructor(ruleset, uniqueIdentifier, disposeFunc) {
15
18
  this._disposeFunc = disposeFunc;
@@ -17,9 +20,14 @@ export class RegisteredRuleset {
17
20
  this._uniqueIdentifier = uniqueIdentifier;
18
21
  }
19
22
  /** Dispose registered ruleset. */
20
- dispose() {
23
+ [Symbol.dispose]() {
21
24
  this._disposeFunc(this);
22
25
  }
26
+ /** @deprecated in 5.0 Use [Symbol.dispose] instead. */
27
+ /* c8 ignore next 3 */
28
+ dispose() {
29
+ this[Symbol.dispose]();
30
+ }
23
31
  get uniqueIdentifier() {
24
32
  return this._uniqueIdentifier;
25
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RegisteredRuleset.js","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAOH;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAK5B,kCAAkC;IAClC,YAAmB,OAAgB,EAAE,gBAAwB,EAAE,WAAiD;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC3B,OAAO;QACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC3C,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { IDisposable } from \"@itwin/core-bentley\";\r\nimport { Rule } from \"./rules/Rule\";\r\nimport { Ruleset, SupplementationInfo } from \"./rules/Ruleset\";\r\nimport { VariablesGroup } from \"./rules/Variables\";\r\n\r\n/**\r\n * A ruleset that is registered in a ruleset manager.\r\n * @public\r\n */\r\nexport class RegisteredRuleset implements IDisposable, Ruleset {\r\n private _ruleset: Ruleset;\r\n private _uniqueIdentifier: string;\r\n private _disposeFunc: (ruleset: RegisteredRuleset) => void;\r\n\r\n /** Create a registered ruleset */\r\n public constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void) {\r\n this._disposeFunc = disposeFunc;\r\n this._ruleset = ruleset;\r\n this._uniqueIdentifier = uniqueIdentifier;\r\n }\r\n\r\n /** Dispose registered ruleset. */\r\n public dispose() {\r\n this._disposeFunc(this);\r\n }\r\n\r\n public get uniqueIdentifier() {\r\n return this._uniqueIdentifier;\r\n }\r\n public get id(): string {\r\n return this._ruleset.id;\r\n }\r\n public get supplementationInfo(): SupplementationInfo | undefined {\r\n return this._ruleset.supplementationInfo;\r\n }\r\n public get rules(): Rule[] {\r\n return this._ruleset.rules;\r\n }\r\n public get vars(): VariablesGroup[] | undefined {\r\n return this._ruleset.vars;\r\n }\r\n public toJSON(): Ruleset {\r\n return this._ruleset;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"RegisteredRuleset.js","sourceRoot":"","sources":["../../../src/presentation-common/RegisteredRuleset.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAMH;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACpB,QAAQ,CAAU;IAClB,iBAAiB,CAAS;IAC1B,YAAY,CAAuC;IAE3D,kCAAkC;IAClC,YAAmB,OAAgB,EAAE,gBAAwB,EAAE,WAAiD;QAC9G,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,uDAAuD;IACvD,sBAAsB;IACf,OAAO;QACZ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC3C,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n * See LICENSE.md in the project root for license terms and full copyright notice.\r\n *--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Core\r\n */\r\n\r\nimport { Rule } from \"./rules/Rule.js\";\r\nimport { Ruleset, SupplementationInfo } from \"./rules/Ruleset.js\";\r\nimport { VariablesGroup } from \"./rules/Variables.js\";\r\n\r\n/**\r\n * A ruleset that is registered in a ruleset manager.\r\n * @public\r\n */\r\nexport class RegisteredRuleset implements Disposable, Ruleset {\r\n private _ruleset: Ruleset;\r\n private _uniqueIdentifier: string;\r\n private _disposeFunc: (ruleset: RegisteredRuleset) => void;\r\n\r\n /** Create a registered ruleset */\r\n public constructor(ruleset: Ruleset, uniqueIdentifier: string, disposeFunc: (ruleset: RegisteredRuleset) => void) {\r\n this._disposeFunc = disposeFunc;\r\n this._ruleset = ruleset;\r\n this._uniqueIdentifier = uniqueIdentifier;\r\n }\r\n\r\n /** Dispose registered ruleset. */\r\n public [Symbol.dispose]() {\r\n this._disposeFunc(this);\r\n }\r\n\r\n /** @deprecated in 5.0 Use [Symbol.dispose] instead. */\r\n /* c8 ignore next 3 */\r\n public dispose() {\r\n this[Symbol.dispose]();\r\n }\r\n\r\n public get uniqueIdentifier() {\r\n return this._uniqueIdentifier;\r\n }\r\n public get id(): string {\r\n return this._ruleset.id;\r\n }\r\n public get supplementationInfo(): SupplementationInfo | undefined {\r\n return this._ruleset.supplementationInfo;\r\n }\r\n public get rules(): Rule[] {\r\n return this._ruleset.rules;\r\n }\r\n public get vars(): VariablesGroup[] | undefined {\r\n return this._ruleset.vars;\r\n }\r\n public toJSON(): Ruleset {\r\n return this._ruleset;\r\n }\r\n}\r\n"]}
@@ -2,21 +2,21 @@
2
2
  * @module RPC
3
3
  */
4
4
  import { IModelRpcProps } from "@itwin/core-common";
5
- import { DescriptorJSON, DescriptorOverrides } from "./content/Descriptor";
6
- import { ItemJSON } from "./content/Item";
7
- import { DisplayValueGroupJSON } from "./content/Value";
8
- import { ClientDiagnosticsAttribute } from "./Diagnostics";
9
- import { InstanceKey } from "./EC";
10
- import { NodeKey } from "./hierarchy/Key";
11
- import { NodeJSON } from "./hierarchy/Node";
12
- import { NodePathElementJSON } from "./hierarchy/NodePathElement";
13
- import { KeySetJSON } from "./KeySet";
14
- import { LabelDefinition } from "./LabelDefinition";
15
- import { ComputeSelectionRequestOptions, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DistinctValuesRequestOptions, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, Paged, RequestOptions, SelectionScopeRequestOptions } from "./PresentationManagerOptions";
16
- import { ContentSourcesRpcResult, PresentationRpcRequestOptions, PresentationRpcResponse } from "./PresentationRpcInterface";
17
- import { RulesetVariableJSON } from "./RulesetVariables";
18
- import { SelectionScope } from "./selection/SelectionScope";
19
- import { PagedResponse } from "./Utils";
5
+ import { DescriptorJSON, DescriptorOverrides } from "./content/Descriptor.js";
6
+ import { ItemJSON } from "./content/Item.js";
7
+ import { ClientDiagnosticsAttribute } from "./Diagnostics.js";
8
+ import { InstanceKey } from "./EC.js";
9
+ import { NodeKey } from "./hierarchy/Key.js";
10
+ import { Node } from "./hierarchy/Node.js";
11
+ import { KeySetJSON } from "./KeySet.js";
12
+ import { LabelDefinition } from "./LabelDefinition.js";
13
+ import { ComputeSelectionRequestOptions, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DistinctValuesRequestOptions, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, Paged, RequestOptions, SelectionScopeRequestOptions } from "./PresentationManagerOptions.js";
14
+ import { ContentSourcesRpcResult, PresentationRpcRequestOptions, PresentationRpcResponse } from "./PresentationRpcInterface.js";
15
+ import { RulesetVariableJSON } from "./RulesetVariables.js";
16
+ import { SelectionScope } from "./selection/SelectionScope.js";
17
+ import { PagedResponse } from "./Utils.js";
18
+ import { NodePathElement } from "./hierarchy/NodePathElement.js";
19
+ import { DisplayValueGroup } from "./content/Value.js";
20
20
  /**
21
21
  * Configuration parameters for [[RpcRequestsHandler]].
22
22
  *
@@ -48,18 +48,15 @@ export declare class RpcRequestsHandler {
48
48
  private get rpcClient();
49
49
  private requestWithTimeout;
50
50
  /**
51
- * Send the request to backend.
52
- *
53
- * If the backend responds with [[PresentationStatus.BackendTimeout]], the request is repeated until we hit `timeout` or get
54
- * a response. If the response is other than [[PresentationStatus.BackendTimeout]] or [[PresentationStatus.Success]], a [[PresentationError]]
55
- * is thrown with the details from the response.
51
+ * Send the request to backend. We'll wait for the response for `this.timeout` ms, and if we don't get the response by
52
+ * then, we'll throw an error.
56
53
  */
57
54
  request<TResult, TOptions extends RequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute, TArg = any>(func: (token: IModelRpcProps, options: PresentationRpcRequestOptions<TOptions>, ...args: TArg[]) => PresentationRpcResponse<TResult>, options: TOptions, ...additionalOptions: TArg[]): Promise<TResult>;
58
55
  getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number>;
59
- getPagedNodes(options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute): Promise<PagedResponse<NodeJSON>>;
56
+ getPagedNodes(options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute): Promise<PagedResponse<Node>>;
60
57
  getNodesDescriptor(options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined>;
61
- getNodePaths(options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]>;
62
- getFilteredNodePaths(options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]>;
58
+ getNodePaths(options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElement[]>;
59
+ getFilteredNodePaths(options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElement[]>;
63
60
  getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult>;
64
61
  getContentDescriptor(options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined>;
65
62
  getContentSetSize(options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number>;
@@ -68,7 +65,7 @@ export declare class RpcRequestsHandler {
68
65
  contentSet: PagedResponse<ItemJSON>;
69
66
  } | undefined>;
70
67
  getPagedContentSet(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>): Promise<PagedResponse<ItemJSON>>;
71
- getPagedDistinctValues(options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroupJSON>>;
68
+ getPagedDistinctValues(options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroup>>;
72
69
  getContentInstanceKeys(options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<{
73
70
  total: number;
74
71
  items: KeySetJSON;
@@ -1 +1 @@
1
- {"version":3,"file":"RpcRequestsHandler.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RpcRequestsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RpcRequestsHandler.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RpcRequestsHandler.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,12 @@
5
5
  /** @packageDocumentation
6
6
  * @module RPC
7
7
  */
8
- import { BeDuration, BeTimePoint, Guid, Logger } from "@itwin/core-bentley";
9
- import { RpcManager } from "@itwin/core-common";
10
- import { PresentationCommonLoggerCategory } from "./CommonLoggerCategory";
11
- import { PresentationError, PresentationStatus } from "./Error";
12
- import { PresentationRpcInterface } from "./PresentationRpcInterface";
8
+ import { Guid, Logger } from "@itwin/core-bentley";
9
+ import { RpcManager, RpcRequest } from "@itwin/core-common";
10
+ import { PresentationCommonLoggerCategory } from "./CommonLoggerCategory.js";
11
+ import { PresentationError, PresentationStatus } from "./Error.js";
12
+ import { PresentationRpcInterface } from "./PresentationRpcInterface.js";
13
+ import { createCancellableTimeoutPromise } from "./Utils.js";
13
14
  /**
14
15
  * Default timeout for how long we're going to wait for RPC request to be fulfilled before throwing
15
16
  * a timeout error.
@@ -23,6 +24,10 @@ const DEFAULT_REQUEST_TIMEOUT = 10 * 60 * 1000; // 10 minutes
23
24
  * @internal
24
25
  */
25
26
  export class RpcRequestsHandler {
27
+ /** Timeout for how long the handler going to wait for RPC request to be fulfilled before throwing a timeout error. */
28
+ timeout;
29
+ /** ID that identifies this handler as a client */
30
+ clientId;
26
31
  constructor(props) {
27
32
  this.clientId = props?.clientId ?? Guid.createValue();
28
33
  this.timeout = props?.timeout ?? DEFAULT_REQUEST_TIMEOUT;
@@ -32,34 +37,37 @@ export class RpcRequestsHandler {
32
37
  return RpcManager.getClientForInterface(PresentationRpcInterface);
33
38
  }
34
39
  async requestWithTimeout(func, diagnosticsHandler) {
35
- const start = BeTimePoint.now();
36
- const timeout = BeDuration.fromMilliseconds(this.timeout);
37
- let diagnostics;
38
- while (start.plus(timeout).isInFuture) {
39
- try {
40
- const response = await func();
41
- diagnostics = response.diagnostics;
42
- switch (response.statusCode) {
43
- case PresentationStatus.Success:
44
- return response.result;
45
- case PresentationStatus.BackendTimeout:
46
- break;
47
- default:
48
- throw new PresentationError(response.statusCode, response.errorMessage);
40
+ const rpcResponsePromise = func();
41
+ const rpcRequest = RpcRequest.current(this.rpcClient);
42
+ const timeout = createCancellableTimeoutPromise(this.timeout);
43
+ return Promise.race([
44
+ (async () => {
45
+ let diagnostics;
46
+ try {
47
+ const response = await rpcResponsePromise;
48
+ diagnostics = response.diagnostics;
49
+ switch (response.statusCode) {
50
+ case PresentationStatus.Success:
51
+ return response.result;
52
+ default:
53
+ throw new PresentationError(response.statusCode, response.errorMessage);
54
+ }
49
55
  }
50
- }
51
- finally {
52
- diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);
53
- }
54
- }
55
- throw new PresentationError(PresentationStatus.BackendTimeout);
56
+ finally {
57
+ diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);
58
+ }
59
+ })(),
60
+ timeout.promise.then(() => {
61
+ throw new Error(`Processing the request took longer than the configured limit of ${this.timeout} ms`);
62
+ }),
63
+ ]).finally(() => {
64
+ rpcRequest?.cancel();
65
+ timeout.cancel();
66
+ });
56
67
  }
57
68
  /**
58
- * Send the request to backend.
59
- *
60
- * If the backend responds with [[PresentationStatus.BackendTimeout]], the request is repeated until we hit `timeout` or get
61
- * a response. If the response is other than [[PresentationStatus.BackendTimeout]] or [[PresentationStatus.Success]], a [[PresentationError]]
62
- * is thrown with the details from the response.
69
+ * Send the request to backend. We'll wait for the response for `this.timeout` ms, and if we don't get the response by
70
+ * then, we'll throw an error.
63
71
  */
64
72
  async request(func, options, ...additionalOptions) {
65
73
  const { imodel, diagnostics, ...optionsNoIModel } = options;
@@ -75,7 +83,8 @@ export class RpcRequestsHandler {
75
83
  rpcOptions.diagnostics = diagnosticsOptions;
76
84
  }
77
85
  const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);
78
- return this.requestWithTimeout(doRequest, diagnosticsHandler);
86
+ const result = await this.requestWithTimeout(doRequest, diagnosticsHandler);
87
+ return result;
79
88
  }
80
89
  async getNodesCount(options) {
81
90
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -138,14 +147,12 @@ export class RpcRequestsHandler {
138
147
  // eslint-disable-next-line @typescript-eslint/no-deprecated
139
148
  return this.request(this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);
140
149
  }
150
+ /* eslint-disable @typescript-eslint/no-deprecated */
141
151
  async getSelectionScopes(options) {
142
- // eslint-disable-next-line @typescript-eslint/no-deprecated
143
152
  return this.request(this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);
144
153
  }
145
154
  async computeSelection(options) {
146
- return this.request(
147
- // eslint-disable-next-line @typescript-eslint/no-deprecated
148
- this.rpcClient.computeSelection.bind(this.rpcClient), options);
155
+ return this.request(this.rpcClient.computeSelection.bind(this.rpcClient), options);
149
156
  }
150
157
  }
151
158
  function isOptionsWithRuleset(options) {