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

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