@itwin/presentation-common 4.0.0-dev.6 → 4.0.0-dev.60

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 (414) hide show
  1. package/CHANGELOG.md +20 -2
  2. package/lib/cjs/assets/locales/en/Presentation.json +15 -0
  3. package/lib/cjs/assets/locales/en-PSEUDO/Presentation.json +15 -0
  4. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  5. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  6. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  8. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  9. package/lib/cjs/presentation-common/Diagnostics.d.ts.map +1 -1
  10. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  11. package/lib/cjs/presentation-common/EC.d.ts +350 -350
  12. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  13. package/lib/cjs/presentation-common/EC.js +290 -290
  14. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  15. package/lib/cjs/presentation-common/ElementProperties.d.ts.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  17. package/lib/cjs/presentation-common/Error.d.ts +47 -45
  18. package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
  19. package/lib/cjs/presentation-common/Error.js +64 -62
  20. package/lib/cjs/presentation-common/Error.js.map +1 -1
  21. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  22. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  24. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  25. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  26. package/lib/cjs/presentation-common/KeySet.js +428 -428
  27. package/lib/cjs/presentation-common/LabelDefinition.d.ts +93 -87
  28. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  29. package/lib/cjs/presentation-common/LabelDefinition.js +78 -73
  30. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  31. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  32. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  33. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  34. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  35. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +273 -261
  36. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  39. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -186
  40. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.js +108 -104
  42. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  43. package/lib/cjs/presentation-common/PropertyFormatter.d.ts +31 -0
  44. package/lib/cjs/presentation-common/PropertyFormatter.d.ts.map +1 -0
  45. package/lib/cjs/presentation-common/PropertyFormatter.js +199 -0
  46. package/lib/cjs/presentation-common/PropertyFormatter.js.map +1 -0
  47. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  48. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  49. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +82 -83
  50. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  51. package/lib/cjs/presentation-common/RpcRequestsHandler.js +166 -171
  52. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  53. package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -171
  54. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  55. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  56. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  57. package/lib/cjs/presentation-common/RulesetsFactory.d.ts.map +1 -1
  58. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  59. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  60. package/lib/cjs/presentation-common/Update.d.ts +213 -213
  61. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  62. package/lib/cjs/presentation-common/Update.js +226 -226
  63. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  64. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  65. package/lib/cjs/presentation-common/Utils.js +43 -43
  66. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  67. package/lib/cjs/presentation-common/content/Category.js +48 -48
  68. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  69. package/lib/cjs/presentation-common/content/Content.js +56 -56
  70. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -271
  71. package/lib/cjs/presentation-common/content/ContentTraverser.js +437 -439
  72. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  73. package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -328
  74. package/lib/cjs/presentation-common/content/Descriptor.js +191 -193
  75. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  76. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  77. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  78. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  79. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  80. package/lib/cjs/presentation-common/content/Fields.d.ts +298 -301
  81. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  82. package/lib/cjs/presentation-common/content/Fields.js +393 -397
  83. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  84. package/lib/cjs/presentation-common/content/Item.d.ts +85 -85
  85. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  86. package/lib/cjs/presentation-common/content/Item.js +84 -84
  87. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  88. package/lib/cjs/presentation-common/content/Property.d.ts +57 -57
  89. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  90. package/lib/cjs/presentation-common/content/Property.js +40 -40
  91. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  92. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  93. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  94. package/lib/cjs/presentation-common/content/TypeDescription.d.ts.map +1 -1
  95. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  96. package/lib/cjs/presentation-common/content/Value.d.ts +189 -189
  97. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  98. package/lib/cjs/presentation-common/content/Value.js +273 -273
  99. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  100. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +31 -31
  101. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -246
  102. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  103. package/lib/cjs/presentation-common/hierarchy/Key.js +121 -121
  104. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  105. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -154
  106. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  107. package/lib/cjs/presentation-common/hierarchy/Node.js +106 -106
  108. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  109. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  110. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -122
  111. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  112. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  113. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  114. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  115. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  116. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  117. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  118. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  119. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  120. package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -76
  121. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  122. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -65
  123. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  124. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  125. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  126. package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -58
  127. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  128. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  129. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  130. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  131. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  132. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  133. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  134. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  135. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  136. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  137. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  138. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  139. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  140. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  141. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  142. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  143. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  144. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  145. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  146. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  147. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  148. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  149. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  150. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  151. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  152. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  153. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  154. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  155. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  156. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  157. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  158. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  159. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  160. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  161. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  162. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  163. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  164. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  165. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  166. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  167. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  168. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  169. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  170. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  171. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  172. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  173. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  174. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  175. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  176. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  177. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  178. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  179. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -21
  180. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  181. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  182. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  183. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  184. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  185. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  186. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  187. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  188. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  189. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  190. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  191. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  192. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  193. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  194. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  195. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  196. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  197. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -38
  198. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  199. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  200. package/lib/cjs/presentation-common.d.ts +113 -112
  201. package/lib/cjs/presentation-common.d.ts.map +1 -1
  202. package/lib/cjs/presentation-common.js +133 -128
  203. package/lib/cjs/presentation-common.js.map +1 -1
  204. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  205. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  206. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  207. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  208. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  209. package/lib/esm/presentation-common/Diagnostics.d.ts.map +1 -1
  210. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  211. package/lib/esm/presentation-common/EC.d.ts +350 -350
  212. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  213. package/lib/esm/presentation-common/EC.js +287 -287
  214. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  215. package/lib/esm/presentation-common/ElementProperties.d.ts.map +1 -1
  216. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  217. package/lib/esm/presentation-common/Error.d.ts +47 -45
  218. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  219. package/lib/esm/presentation-common/Error.js +60 -58
  220. package/lib/esm/presentation-common/Error.js.map +1 -1
  221. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  222. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  223. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  224. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  225. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  226. package/lib/esm/presentation-common/KeySet.js +424 -424
  227. package/lib/esm/presentation-common/LabelDefinition.d.ts +93 -87
  228. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  229. package/lib/esm/presentation-common/LabelDefinition.js +75 -70
  230. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  231. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  232. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  233. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  234. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  235. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +273 -261
  236. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  237. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  238. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  239. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -186
  240. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  241. package/lib/esm/presentation-common/PresentationRpcInterface.js +105 -100
  242. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  243. package/lib/esm/presentation-common/PropertyFormatter.d.ts +31 -0
  244. package/lib/esm/presentation-common/PropertyFormatter.d.ts.map +1 -0
  245. package/lib/esm/presentation-common/PropertyFormatter.js +194 -0
  246. package/lib/esm/presentation-common/PropertyFormatter.js.map +1 -0
  247. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  248. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  249. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +82 -83
  250. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  251. package/lib/esm/presentation-common/RpcRequestsHandler.js +162 -167
  252. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  253. package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -171
  254. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  255. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  256. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  257. package/lib/esm/presentation-common/RulesetsFactory.d.ts.map +1 -1
  258. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  259. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  260. package/lib/esm/presentation-common/Update.d.ts +213 -213
  261. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  262. package/lib/esm/presentation-common/Update.js +223 -223
  263. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  264. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  265. package/lib/esm/presentation-common/Utils.js +39 -39
  266. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  267. package/lib/esm/presentation-common/content/Category.js +45 -45
  268. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  269. package/lib/esm/presentation-common/content/Content.js +52 -52
  270. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -271
  271. package/lib/esm/presentation-common/content/ContentTraverser.js +427 -429
  272. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  273. package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -328
  274. package/lib/esm/presentation-common/content/Descriptor.js +187 -189
  275. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  276. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  277. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  278. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  279. package/lib/esm/presentation-common/content/Editor.js +8 -8
  280. package/lib/esm/presentation-common/content/Fields.d.ts +298 -301
  281. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  282. package/lib/esm/presentation-common/content/Fields.js +386 -390
  283. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  284. package/lib/esm/presentation-common/content/Item.d.ts +85 -85
  285. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  286. package/lib/esm/presentation-common/content/Item.js +80 -80
  287. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  288. package/lib/esm/presentation-common/content/Property.d.ts +57 -57
  289. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  290. package/lib/esm/presentation-common/content/Property.js +37 -37
  291. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  292. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  293. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  294. package/lib/esm/presentation-common/content/TypeDescription.d.ts.map +1 -1
  295. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  296. package/lib/esm/presentation-common/content/Value.d.ts +189 -189
  297. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  298. package/lib/esm/presentation-common/content/Value.js +270 -270
  299. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  300. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +28 -28
  301. package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -246
  302. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  303. package/lib/esm/presentation-common/hierarchy/Key.js +118 -118
  304. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  305. package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -154
  306. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  307. package/lib/esm/presentation-common/hierarchy/Node.js +103 -103
  308. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  309. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  310. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -119
  311. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  312. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  313. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  314. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  315. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  316. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  317. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  318. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  319. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  320. package/lib/esm/presentation-common/rules/Rule.d.ts +76 -76
  321. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  322. package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -65
  323. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  324. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  325. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  326. package/lib/esm/presentation-common/rules/Variables.d.ts +58 -58
  327. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  328. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  329. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  330. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  331. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  332. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  333. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  334. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  335. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  336. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  337. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  338. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  339. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  340. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  341. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  342. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  343. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  344. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  345. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  346. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  347. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  348. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  349. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  350. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  351. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  352. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  353. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  354. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  355. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  356. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  357. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  358. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  359. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  360. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  361. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  362. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  363. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  364. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  365. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  366. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  367. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  368. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  369. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  370. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  371. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  372. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  373. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  374. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  375. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  376. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  377. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  378. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  379. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -18
  380. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  381. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  382. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  383. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  384. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  385. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  386. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  387. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  388. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  389. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  390. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  391. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  392. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  393. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  394. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  395. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  396. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  397. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -38
  398. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  399. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  400. package/lib/esm/presentation-common.d.ts +113 -112
  401. package/lib/esm/presentation-common.d.ts.map +1 -1
  402. package/lib/esm/presentation-common.js +117 -116
  403. package/lib/esm/presentation-common.js.map +1 -1
  404. package/lib/public/locales/en/Presentation.json +15 -0
  405. package/package.json +12 -10
  406. package/lib/cjs/assets/locales/en/BisCore.json +0 -18
  407. package/lib/cjs/assets/locales/en/ECPresentation.json +0 -9
  408. package/lib/cjs/assets/locales/en/RulesEngine.json +0 -6
  409. package/lib/cjs/assets/locales/en-PSEUDO/BisCore.json +0 -18
  410. package/lib/cjs/assets/locales/en-PSEUDO/ECPresentation.json +0 -9
  411. package/lib/cjs/assets/locales/en-PSEUDO/RulesEngine.json +0 -6
  412. package/lib/public/locales/en/BisCore.json +0 -18
  413. package/lib/public/locales/en/ECPresentation.json +0 -9
  414. package/lib/public/locales/en/RulesEngine.json +0 -6
@@ -1,30 +1,30 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Core
7
- */
8
- /**
9
- * A ruleset that is registered in a ruleset manager.
10
- * @public
11
- */
12
- export class RegisteredRuleset {
13
- /** Create a registered ruleset */
14
- constructor(ruleset, uniqueIdentifier, disposeFunc) {
15
- this._disposeFunc = disposeFunc;
16
- this._ruleset = ruleset;
17
- this._uniqueIdentifier = uniqueIdentifier;
18
- }
19
- /** Dispose registered ruleset. */
20
- dispose() {
21
- this._disposeFunc(this);
22
- }
23
- get uniqueIdentifier() { return this._uniqueIdentifier; }
24
- get id() { return this._ruleset.id; }
25
- get supplementationInfo() { return this._ruleset.supplementationInfo; }
26
- get rules() { return this._ruleset.rules; }
27
- get vars() { return this._ruleset.vars; }
28
- toJSON() { return this._ruleset; }
29
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Core
7
+ */
8
+ /**
9
+ * A ruleset that is registered in a ruleset manager.
10
+ * @public
11
+ */
12
+ export class RegisteredRuleset {
13
+ /** Create a registered ruleset */
14
+ constructor(ruleset, uniqueIdentifier, disposeFunc) {
15
+ this._disposeFunc = disposeFunc;
16
+ this._ruleset = ruleset;
17
+ this._uniqueIdentifier = uniqueIdentifier;
18
+ }
19
+ /** Dispose registered ruleset. */
20
+ dispose() {
21
+ this._disposeFunc(this);
22
+ }
23
+ get uniqueIdentifier() { return this._uniqueIdentifier; }
24
+ get id() { return this._ruleset.id; }
25
+ get supplementationInfo() { return this._ruleset.supplementationInfo; }
26
+ get rules() { return this._ruleset.rules; }
27
+ get vars() { return this._ruleset.vars; }
28
+ toJSON() { return this._ruleset; }
29
+ }
30
30
  //# sourceMappingURL=RegisteredRuleset.js.map
@@ -1,84 +1,83 @@
1
- /** @packageDocumentation
2
- * @module RPC
3
- */
4
- import { IDisposable } from "@itwin/core-bentley";
5
- import { IModelRpcProps } from "@itwin/core-common";
6
- import { DescriptorJSON, DescriptorOverrides } from "./content/Descriptor";
7
- import { ItemJSON } from "./content/Item";
8
- import { DisplayValueGroupJSON } from "./content/Value";
9
- import { ClientDiagnosticsAttribute } from "./Diagnostics";
10
- import { InstanceKey } from "./EC";
11
- import { ElementProperties } from "./ElementProperties";
12
- import { NodeKey } from "./hierarchy/Key";
13
- import { NodeJSON } from "./hierarchy/Node";
14
- import { NodePathElementJSON } from "./hierarchy/NodePathElement";
15
- import { KeySetJSON } from "./KeySet";
16
- import { LabelDefinition } from "./LabelDefinition";
17
- import { ComputeSelectionRequestOptions, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DistinctValuesRequestOptions, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, Paged, RequestOptions, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions } from "./PresentationManagerOptions";
18
- import { ContentSourcesRpcResult, PresentationRpcRequestOptions, PresentationRpcResponse } from "./PresentationRpcInterface";
19
- import { RulesetVariableJSON } from "./RulesetVariables";
20
- import { SelectionScope } from "./selection/SelectionScope";
21
- import { PagedResponse } from "./Utils";
22
- /**
23
- * Configuration parameters for [[RpcRequestsHandler]].
24
- *
25
- * @internal
26
- */
27
- export interface RpcRequestsHandlerProps {
28
- /**
29
- * Optional ID used to identify client that requests data. If not specified,
30
- * the handler creates a unique GUID as a client id.
31
- * @internal
32
- */
33
- clientId?: string;
34
- }
35
- /**
36
- * RPC requests handler that wraps [[PresentationRpcInterface]] and
37
- * adds handling for cases when backend needs to be synced with client
38
- * state.
39
- *
40
- * @internal
41
- */
42
- export declare class RpcRequestsHandler implements IDisposable {
43
- readonly maxRequestRepeatCount: number;
44
- /** ID that identifies this handler as a client */
45
- readonly clientId: string;
46
- constructor(props?: RpcRequestsHandlerProps);
47
- dispose(): void;
48
- private get rpcClient();
49
- private requestRepeatedly;
50
- /**
51
- * Send the request to backend.
52
- *
53
- * If the backend responds with [[PresentationStatus.BackendTimeout]] or there's an RPC-related error,
54
- * the request is repeated up to `this._maxRequestRepeatCount` times. If we fail to get a valid success or error
55
- * response from the backend, throw the last encountered error.
56
- *
57
- * @internal
58
- */
59
- 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>;
60
- getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number>;
61
- getPagedNodes(options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute): Promise<PagedResponse<NodeJSON>>;
62
- getNodesDescriptor(options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined>;
63
- getNodePaths(options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]>;
64
- getFilteredNodePaths(options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]>;
65
- getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult>;
66
- getContentDescriptor(options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined>;
67
- getContentSetSize(options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number>;
68
- getPagedContent(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>): Promise<{
69
- descriptor: DescriptorJSON;
70
- contentSet: PagedResponse<ItemJSON>;
71
- } | undefined>;
72
- getPagedContentSet(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>): Promise<PagedResponse<ItemJSON>>;
73
- getPagedDistinctValues(options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroupJSON>>;
74
- getElementProperties(options: SingleElementPropertiesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ElementProperties | undefined>;
75
- getContentInstanceKeys(options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<{
76
- total: number;
77
- items: KeySetJSON;
78
- }>;
79
- getDisplayLabelDefinition(options: DisplayLabelRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition>;
80
- getPagedDisplayLabelDefinitions(options: DisplayLabelsRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<PagedResponse<LabelDefinition>>;
81
- getSelectionScopes(options: SelectionScopeRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<SelectionScope[]>;
82
- computeSelection(options: ComputeSelectionRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<KeySetJSON>;
83
- }
1
+ /** @packageDocumentation
2
+ * @module RPC
3
+ */
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 { ElementProperties } from "./ElementProperties";
11
+ import { NodeKey } from "./hierarchy/Key";
12
+ import { NodeJSON } from "./hierarchy/Node";
13
+ import { NodePathElementJSON } from "./hierarchy/NodePathElement";
14
+ import { KeySetJSON } from "./KeySet";
15
+ import { LabelDefinition } from "./LabelDefinition";
16
+ import { ComputeSelectionRequestOptions, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions, ContentSourcesRequestOptions, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DistinctValuesRequestOptions, FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions, Paged, RequestOptions, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions } from "./PresentationManagerOptions";
17
+ import { ContentSourcesRpcResult, PresentationRpcRequestOptions, PresentationRpcResponse } from "./PresentationRpcInterface";
18
+ import { RulesetVariableJSON } from "./RulesetVariables";
19
+ import { SelectionScope } from "./selection/SelectionScope";
20
+ import { PagedResponse } from "./Utils";
21
+ /**
22
+ * Configuration parameters for [[RpcRequestsHandler]].
23
+ *
24
+ * @internal
25
+ */
26
+ export interface RpcRequestsHandlerProps {
27
+ /**
28
+ * Optional ID used to identify client that requests data. If not specified,
29
+ * the handler creates a unique GUID as a client id.
30
+ * @internal
31
+ */
32
+ clientId?: string;
33
+ /** @internal */
34
+ timeout?: number;
35
+ }
36
+ /**
37
+ * RPC requests handler that wraps [[PresentationRpcInterface]] and
38
+ * adds handling for cases when backend needs to be synced with client
39
+ * state.
40
+ *
41
+ * @internal
42
+ */
43
+ export declare class RpcRequestsHandler {
44
+ /** Timeout for how long the handler going to wait for RPC request to be fulfilled before throwing a timeout error. */
45
+ readonly timeout: number;
46
+ /** ID that identifies this handler as a client */
47
+ readonly clientId: string;
48
+ constructor(props?: RpcRequestsHandlerProps);
49
+ private get rpcClient();
50
+ private requestWithTimeout;
51
+ /**
52
+ * Send the request to backend.
53
+ *
54
+ * If the backend responds with [[PresentationStatus.BackendTimeout]], the request is repeated until we hit `timeout` or get
55
+ * a response. If the response is other than [[PresentationStatus.BackendTimeout]] or [[PresentationStatus.Success]], a [[PresentationError]]
56
+ * is thrown with the details from the response.
57
+ */
58
+ 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>;
59
+ getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number>;
60
+ getPagedNodes(options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute): Promise<PagedResponse<NodeJSON>>;
61
+ getNodesDescriptor(options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined>;
62
+ getNodePaths(options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]>;
63
+ getFilteredNodePaths(options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]>;
64
+ getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult>;
65
+ getContentDescriptor(options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined>;
66
+ getContentSetSize(options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number>;
67
+ getPagedContent(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>): Promise<{
68
+ descriptor: DescriptorJSON;
69
+ contentSet: PagedResponse<ItemJSON>;
70
+ } | undefined>;
71
+ getPagedContentSet(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>): Promise<PagedResponse<ItemJSON>>;
72
+ getPagedDistinctValues(options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroupJSON>>;
73
+ getElementProperties(options: SingleElementPropertiesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ElementProperties | undefined>;
74
+ getContentInstanceKeys(options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<{
75
+ total: number;
76
+ items: KeySetJSON;
77
+ }>;
78
+ getDisplayLabelDefinition(options: DisplayLabelRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition>;
79
+ getPagedDisplayLabelDefinitions(options: DisplayLabelsRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<PagedResponse<LabelDefinition>>;
80
+ getSelectionScopes(options: SelectionScopeRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<SelectionScope[]>;
81
+ computeSelection(options: ComputeSelectionRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<KeySetJSON>;
82
+ }
84
83
  //# sourceMappingURL=RpcRequestsHandler.d.ts.map
@@ -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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"}
@@ -1,168 +1,163 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module RPC
7
- */
8
- import { 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";
13
- /**
14
- * RPC requests handler that wraps [[PresentationRpcInterface]] and
15
- * adds handling for cases when backend needs to be synced with client
16
- * state.
17
- *
18
- * @internal
19
- */
20
- export class RpcRequestsHandler {
21
- constructor(props) {
22
- this.maxRequestRepeatCount = 5;
23
- this.clientId = (props && props.clientId) ? props.clientId : Guid.createValue();
24
- }
25
- dispose() {
26
- }
27
- // eslint-disable-next-line @typescript-eslint/naming-convention
28
- get rpcClient() { return RpcManager.getClientForInterface(PresentationRpcInterface); }
29
- async requestRepeatedly(func, diagnosticsHandler, repeatCount = 1) {
30
- let diagnostics;
31
- let error;
32
- let shouldRepeat = false;
33
- try {
34
- const response = await func();
35
- diagnostics = response.diagnostics;
36
- if (response.statusCode === PresentationStatus.Success)
37
- return response.result;
38
- if (response.statusCode === PresentationStatus.BackendTimeout && repeatCount < this.maxRequestRepeatCount)
39
- shouldRepeat = true;
40
- else
41
- error = new PresentationError(response.statusCode, response.errorMessage);
42
- }
43
- catch (e) {
44
- error = e;
45
- if (repeatCount < this.maxRequestRepeatCount)
46
- shouldRepeat = true;
47
- }
48
- finally {
49
- diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);
50
- }
51
- if (shouldRepeat) {
52
- ++repeatCount;
53
- return this.requestRepeatedly(func, diagnosticsHandler, repeatCount);
54
- }
55
- throw error;
56
- }
57
- /**
58
- * Send the request to backend.
59
- *
60
- * If the backend responds with [[PresentationStatus.BackendTimeout]] or there's an RPC-related error,
61
- * the request is repeated up to `this._maxRequestRepeatCount` times. If we fail to get a valid success or error
62
- * response from the backend, throw the last encountered error.
63
- *
64
- * @internal
65
- */
66
- async request(func, options, ...additionalOptions) {
67
- const { imodel, diagnostics, ...optionsNoIModel } = options;
68
- const { handler: diagnosticsHandler, ...diagnosticsOptions } = diagnostics !== null && diagnostics !== void 0 ? diagnostics : {};
69
- if (isOptionsWithRuleset(optionsNoIModel))
70
- optionsNoIModel.rulesetOrId = cleanupRuleset(optionsNoIModel.rulesetOrId);
71
- const rpcOptions = {
72
- ...optionsNoIModel,
73
- clientId: this.clientId,
74
- };
75
- if (diagnostics)
76
- rpcOptions.diagnostics = diagnosticsOptions;
77
- const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);
78
- return this.requestRepeatedly(doRequest, diagnosticsHandler);
79
- }
80
- async getNodesCount(options) {
81
- return this.request(this.rpcClient.getNodesCount.bind(this.rpcClient), options);
82
- }
83
- // eslint-disable-next-line deprecation/deprecation
84
- async getPagedNodes(options) {
85
- // eslint-disable-next-line deprecation/deprecation
86
- return this.request(this.rpcClient.getPagedNodes.bind(this.rpcClient), options);
87
- }
88
- async getNodesDescriptor(options) {
89
- const response = await this.request(this.rpcClient.getNodesDescriptor.bind(this.rpcClient), options);
90
- if (typeof response === "string")
91
- return JSON.parse(response);
92
- return response;
93
- }
94
- // eslint-disable-next-line deprecation/deprecation
95
- async getNodePaths(options) {
96
- // eslint-disable-next-line deprecation/deprecation
97
- return this.request(this.rpcClient.getNodePaths.bind(this.rpcClient), options);
98
- }
99
- // eslint-disable-next-line deprecation/deprecation
100
- async getFilteredNodePaths(options) {
101
- // eslint-disable-next-line deprecation/deprecation
102
- return this.request(this.rpcClient.getFilteredNodePaths.bind(this.rpcClient), options);
103
- }
104
- async getContentSources(options) {
105
- return this.request(this.rpcClient.getContentSources.bind(this.rpcClient), options);
106
- }
107
- async getContentDescriptor(options) {
108
- return this.request(this.rpcClient.getContentDescriptor.bind(this.rpcClient), options);
109
- }
110
- async getContentSetSize(options) {
111
- return this.request(this.rpcClient.getContentSetSize.bind(this.rpcClient), options);
112
- }
113
- async getPagedContent(options) {
114
- return this.request(this.rpcClient.getPagedContent.bind(this.rpcClient), options);
115
- }
116
- async getPagedContentSet(options) {
117
- return this.request(this.rpcClient.getPagedContentSet.bind(this.rpcClient), options);
118
- }
119
- // eslint-disable-next-line deprecation/deprecation
120
- async getPagedDistinctValues(options) {
121
- // eslint-disable-next-line deprecation/deprecation
122
- return this.request(this.rpcClient.getPagedDistinctValues.bind(this.rpcClient), options);
123
- }
124
- async getElementProperties(options) {
125
- return this.request(this.rpcClient.getElementProperties.bind(this.rpcClient), options);
126
- }
127
- async getContentInstanceKeys(options) {
128
- return this.request(this.rpcClient.getContentInstanceKeys.bind(this.rpcClient), options);
129
- }
130
- async getDisplayLabelDefinition(options) {
131
- return this.request(this.rpcClient.getDisplayLabelDefinition.bind(this.rpcClient), options);
132
- }
133
- async getPagedDisplayLabelDefinitions(options) {
134
- return this.request(this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);
135
- }
136
- async getSelectionScopes(options) {
137
- return this.request(this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);
138
- }
139
- async computeSelection(options) {
140
- return this.request(
141
- // eslint-disable-next-line deprecation/deprecation
142
- this.rpcClient.computeSelection.bind(this.rpcClient), options);
143
- }
144
- }
145
- function isOptionsWithRuleset(options) {
146
- return (typeof options.rulesetOrId === "object");
147
- }
148
- const RULESET_SUPPORTED_PROPERTIES_OBJ = {
149
- id: true,
150
- rules: true,
151
- version: true,
152
- requiredSchemas: true,
153
- supplementationInfo: true,
154
- vars: true,
155
- };
156
- function cleanupRuleset(ruleset) {
157
- const cleanedUpRuleset = { ...ruleset };
158
- for (const propertyKey of Object.keys(cleanedUpRuleset)) {
159
- if (!RULESET_SUPPORTED_PROPERTIES_OBJ.hasOwnProperty(propertyKey)) {
160
- if (propertyKey === "$schema")
161
- delete cleanedUpRuleset[propertyKey];
162
- else
163
- Logger.logWarning(PresentationCommonLoggerCategory.Package, `Provided ruleset contains unrecognized attribute '${propertyKey}'. It either doesn't exist or may be no longer supported.`);
164
- }
165
- }
166
- return cleanedUpRuleset;
167
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module RPC
7
+ */
8
+ 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";
13
+ /**
14
+ * Default timeout for how long we're going to wait for RPC request to be fulfilled before throwing
15
+ * a timeout error.
16
+ */
17
+ const DEFAULT_REQUEST_TIMEOUT = 10 * 60 * 1000; // 10 minutes
18
+ /**
19
+ * RPC requests handler that wraps [[PresentationRpcInterface]] and
20
+ * adds handling for cases when backend needs to be synced with client
21
+ * state.
22
+ *
23
+ * @internal
24
+ */
25
+ export class RpcRequestsHandler {
26
+ constructor(props) {
27
+ this.clientId = props?.clientId ?? Guid.createValue();
28
+ this.timeout = props?.timeout ?? DEFAULT_REQUEST_TIMEOUT;
29
+ }
30
+ // eslint-disable-next-line @typescript-eslint/naming-convention
31
+ get rpcClient() { return RpcManager.getClientForInterface(PresentationRpcInterface); }
32
+ async requestWithTimeout(func, diagnosticsHandler) {
33
+ const start = BeTimePoint.now();
34
+ const timeout = BeDuration.fromMilliseconds(this.timeout);
35
+ let diagnostics;
36
+ while (start.plus(timeout).isInFuture) {
37
+ try {
38
+ const response = await func();
39
+ diagnostics = response.diagnostics;
40
+ switch (response.statusCode) {
41
+ case PresentationStatus.Success: return response.result;
42
+ case PresentationStatus.BackendTimeout: break;
43
+ default: throw new PresentationError(response.statusCode, response.errorMessage);
44
+ }
45
+ }
46
+ finally {
47
+ diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);
48
+ }
49
+ }
50
+ throw new PresentationError(PresentationStatus.BackendTimeout);
51
+ }
52
+ /**
53
+ * Send the request to backend.
54
+ *
55
+ * If the backend responds with [[PresentationStatus.BackendTimeout]], the request is repeated until we hit `timeout` or get
56
+ * a response. If the response is other than [[PresentationStatus.BackendTimeout]] or [[PresentationStatus.Success]], a [[PresentationError]]
57
+ * is thrown with the details from the response.
58
+ */
59
+ async request(func, options, ...additionalOptions) {
60
+ const { imodel, diagnostics, ...optionsNoIModel } = options;
61
+ const { handler: diagnosticsHandler, ...diagnosticsOptions } = diagnostics ?? {};
62
+ if (isOptionsWithRuleset(optionsNoIModel)) {
63
+ optionsNoIModel.rulesetOrId = cleanupRuleset(optionsNoIModel.rulesetOrId);
64
+ }
65
+ const rpcOptions = {
66
+ ...optionsNoIModel,
67
+ clientId: this.clientId,
68
+ };
69
+ if (diagnostics) {
70
+ rpcOptions.diagnostics = diagnosticsOptions;
71
+ }
72
+ const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);
73
+ return this.requestWithTimeout(doRequest, diagnosticsHandler);
74
+ }
75
+ async getNodesCount(options) {
76
+ return this.request(this.rpcClient.getNodesCount.bind(this.rpcClient), options);
77
+ }
78
+ // eslint-disable-next-line deprecation/deprecation
79
+ async getPagedNodes(options) {
80
+ // eslint-disable-next-line deprecation/deprecation
81
+ return this.request(this.rpcClient.getPagedNodes.bind(this.rpcClient), options);
82
+ }
83
+ async getNodesDescriptor(options) {
84
+ const response = await this.request(this.rpcClient.getNodesDescriptor.bind(this.rpcClient), options);
85
+ if (typeof response === "string")
86
+ return JSON.parse(response);
87
+ return response;
88
+ }
89
+ // eslint-disable-next-line deprecation/deprecation
90
+ async getNodePaths(options) {
91
+ // eslint-disable-next-line deprecation/deprecation
92
+ return this.request(this.rpcClient.getNodePaths.bind(this.rpcClient), options);
93
+ }
94
+ // eslint-disable-next-line deprecation/deprecation
95
+ async getFilteredNodePaths(options) {
96
+ // eslint-disable-next-line deprecation/deprecation
97
+ return this.request(this.rpcClient.getFilteredNodePaths.bind(this.rpcClient), options);
98
+ }
99
+ async getContentSources(options) {
100
+ return this.request(this.rpcClient.getContentSources.bind(this.rpcClient), options);
101
+ }
102
+ async getContentDescriptor(options) {
103
+ return this.request(this.rpcClient.getContentDescriptor.bind(this.rpcClient), options);
104
+ }
105
+ async getContentSetSize(options) {
106
+ return this.request(this.rpcClient.getContentSetSize.bind(this.rpcClient), options);
107
+ }
108
+ async getPagedContent(options) {
109
+ return this.request(this.rpcClient.getPagedContent.bind(this.rpcClient), options);
110
+ }
111
+ async getPagedContentSet(options) {
112
+ return this.request(this.rpcClient.getPagedContentSet.bind(this.rpcClient), options);
113
+ }
114
+ // eslint-disable-next-line deprecation/deprecation
115
+ async getPagedDistinctValues(options) {
116
+ // eslint-disable-next-line deprecation/deprecation
117
+ return this.request(this.rpcClient.getPagedDistinctValues.bind(this.rpcClient), options);
118
+ }
119
+ async getElementProperties(options) {
120
+ return this.request(this.rpcClient.getElementProperties.bind(this.rpcClient), options);
121
+ }
122
+ async getContentInstanceKeys(options) {
123
+ return this.request(this.rpcClient.getContentInstanceKeys.bind(this.rpcClient), options);
124
+ }
125
+ async getDisplayLabelDefinition(options) {
126
+ return this.request(this.rpcClient.getDisplayLabelDefinition.bind(this.rpcClient), options);
127
+ }
128
+ async getPagedDisplayLabelDefinitions(options) {
129
+ return this.request(this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);
130
+ }
131
+ async getSelectionScopes(options) {
132
+ return this.request(this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);
133
+ }
134
+ async computeSelection(options) {
135
+ return this.request(
136
+ // eslint-disable-next-line deprecation/deprecation
137
+ this.rpcClient.computeSelection.bind(this.rpcClient), options);
138
+ }
139
+ }
140
+ function isOptionsWithRuleset(options) {
141
+ return (typeof options.rulesetOrId === "object");
142
+ }
143
+ const RULESET_SUPPORTED_PROPERTIES_OBJ = {
144
+ id: true,
145
+ rules: true,
146
+ version: true,
147
+ requiredSchemas: true,
148
+ supplementationInfo: true,
149
+ vars: true,
150
+ };
151
+ function cleanupRuleset(ruleset) {
152
+ const cleanedUpRuleset = { ...ruleset };
153
+ for (const propertyKey of Object.keys(cleanedUpRuleset)) {
154
+ if (!RULESET_SUPPORTED_PROPERTIES_OBJ.hasOwnProperty(propertyKey)) {
155
+ if (propertyKey === "$schema")
156
+ delete cleanedUpRuleset[propertyKey];
157
+ else
158
+ Logger.logWarning(PresentationCommonLoggerCategory.Package, `Provided ruleset contains unrecognized attribute '${propertyKey}'. It either doesn't exist or may be no longer supported.`);
159
+ }
160
+ }
161
+ return cleanedUpRuleset;
162
+ }
168
163
  //# sourceMappingURL=RpcRequestsHandler.js.map