@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 +1 @@
1
- {"version":3,"file":"RpcRequestsHandler.js","sourceRoot":"","sources":["../../../src/presentation-common/RpcRequestsHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RPC\r\n */\r\n\r\nimport { Guid, IDisposable, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps, RpcManager } from \"@itwin/core-common\";\r\nimport { PresentationCommonLoggerCategory } from \"./CommonLoggerCategory\";\r\nimport { DescriptorJSON, DescriptorOverrides } from \"./content/Descriptor\";\r\nimport { ItemJSON } from \"./content/Item\";\r\nimport { DisplayValueGroupJSON } from \"./content/Value\";\r\nimport { ClientDiagnostics, ClientDiagnosticsAttribute, ClientDiagnosticsHandler } from \"./Diagnostics\";\r\nimport { InstanceKey } from \"./EC\";\r\nimport { ElementProperties } from \"./ElementProperties\";\r\nimport { PresentationError, PresentationStatus } from \"./Error\";\r\nimport { NodeKey } from \"./hierarchy/Key\";\r\nimport { NodeJSON } from \"./hierarchy/Node\";\r\nimport { NodePathElementJSON } from \"./hierarchy/NodePathElement\";\r\nimport { KeySetJSON } from \"./KeySet\";\r\nimport { LabelDefinition } from \"./LabelDefinition\";\r\nimport {\r\n ComputeSelectionRequestOptions, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions,\r\n ContentSourcesRequestOptions, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DistinctValuesRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions,\r\n Paged, RequestOptions, RequestOptionsWithRuleset, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions,\r\n} from \"./PresentationManagerOptions\";\r\nimport {\r\n ContentSourcesRpcResult, PresentationRpcInterface, PresentationRpcRequestOptions, PresentationRpcResponse,\r\n} from \"./PresentationRpcInterface\";\r\nimport { Ruleset } from \"./rules/Ruleset\";\r\nimport { RulesetVariableJSON } from \"./RulesetVariables\";\r\nimport { SelectionScope } from \"./selection/SelectionScope\";\r\nimport { PagedResponse } from \"./Utils\";\r\n\r\n/**\r\n * Configuration parameters for [[RpcRequestsHandler]].\r\n *\r\n * @internal\r\n */\r\nexport interface RpcRequestsHandlerProps {\r\n /**\r\n * Optional ID used to identify client that requests data. If not specified,\r\n * the handler creates a unique GUID as a client id.\r\n * @internal\r\n */\r\n clientId?: string;\r\n}\r\n\r\n/**\r\n * RPC requests handler that wraps [[PresentationRpcInterface]] and\r\n * adds handling for cases when backend needs to be synced with client\r\n * state.\r\n *\r\n * @internal\r\n */\r\nexport class RpcRequestsHandler implements IDisposable {\r\n public readonly maxRequestRepeatCount: number = 5;\r\n\r\n /** ID that identifies this handler as a client */\r\n public readonly clientId: string;\r\n\r\n public constructor(props?: RpcRequestsHandlerProps) {\r\n this.clientId = (props && props.clientId) ? props.clientId : Guid.createValue();\r\n }\r\n\r\n public dispose() {\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get rpcClient(): PresentationRpcInterface { return RpcManager.getClientForInterface(PresentationRpcInterface); }\r\n\r\n private async requestRepeatedly<TResult>(func: () => PresentationRpcResponse<TResult>, diagnosticsHandler?: ClientDiagnosticsHandler, repeatCount: number = 1): Promise<TResult> {\r\n let diagnostics: ClientDiagnostics | undefined;\r\n let error: unknown | undefined;\r\n let shouldRepeat = false;\r\n try {\r\n const response = await func();\r\n diagnostics = response.diagnostics;\r\n\r\n if (response.statusCode === PresentationStatus.Success)\r\n return response.result!;\r\n\r\n if (response.statusCode === PresentationStatus.BackendTimeout && repeatCount < this.maxRequestRepeatCount)\r\n shouldRepeat = true;\r\n else\r\n error = new PresentationError(response.statusCode, response.errorMessage);\r\n\r\n } catch (e) {\r\n error = e;\r\n if (repeatCount < this.maxRequestRepeatCount)\r\n shouldRepeat = true;\r\n\r\n } finally {\r\n diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);\r\n }\r\n\r\n if (shouldRepeat) {\r\n ++repeatCount;\r\n return this.requestRepeatedly(func, diagnosticsHandler, repeatCount);\r\n }\r\n\r\n throw error;\r\n }\r\n\r\n /**\r\n * Send the request to backend.\r\n *\r\n * If the backend responds with [[PresentationStatus.BackendTimeout]] or there's an RPC-related error,\r\n * the request is repeated up to `this._maxRequestRepeatCount` times. If we fail to get a valid success or error\r\n * response from the backend, throw the last encountered error.\r\n *\r\n * @internal\r\n */\r\n public async request<TResult, TOptions extends (RequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute), TArg = any>(\r\n func: (token: IModelRpcProps, options: PresentationRpcRequestOptions<TOptions>, ...args: TArg[]) => PresentationRpcResponse<TResult>,\r\n options: TOptions,\r\n ...additionalOptions: TArg[]\r\n ): Promise<TResult> {\r\n const { imodel, diagnostics, ...optionsNoIModel } = options;\r\n const { handler: diagnosticsHandler, ...diagnosticsOptions } = diagnostics ?? {};\r\n if (isOptionsWithRuleset(optionsNoIModel))\r\n optionsNoIModel.rulesetOrId = cleanupRuleset(optionsNoIModel.rulesetOrId);\r\n const rpcOptions: PresentationRpcRequestOptions<TOptions> = {\r\n ...optionsNoIModel,\r\n clientId: this.clientId,\r\n };\r\n if (diagnostics)\r\n rpcOptions.diagnostics = diagnosticsOptions;\r\n const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);\r\n return this.requestRepeatedly(doRequest, diagnosticsHandler);\r\n }\r\n\r\n public async getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number> {\r\n return this.request<number, typeof options>(\r\n this.rpcClient.getNodesCount.bind(this.rpcClient), options);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getPagedNodes(options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute): Promise<PagedResponse<NodeJSON>> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<PagedResponse<NodeJSON>, typeof options>(\r\n this.rpcClient.getPagedNodes.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getNodesDescriptor(options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined> {\r\n const response = await this.request<string | DescriptorJSON | undefined, typeof options>(\r\n this.rpcClient.getNodesDescriptor.bind(this.rpcClient), options);\r\n if (typeof response === \"string\")\r\n return JSON.parse(response);\r\n return response;\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getNodePaths(options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<NodePathElementJSON[], typeof options>(\r\n this.rpcClient.getNodePaths.bind(this.rpcClient), options);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getFilteredNodePaths(options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<NodePathElementJSON[], typeof options>(\r\n this.rpcClient.getFilteredNodePaths.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult> {\r\n return this.request<ContentSourcesRpcResult, typeof options>(\r\n this.rpcClient.getContentSources.bind(this.rpcClient), options);\r\n }\r\n public async getContentDescriptor(options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined> {\r\n return this.request<DescriptorJSON | undefined, typeof options>(\r\n this.rpcClient.getContentDescriptor.bind(this.rpcClient), options);\r\n }\r\n public async getContentSetSize(options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number> {\r\n return this.request<number, typeof options>(\r\n this.rpcClient.getContentSetSize.bind(this.rpcClient), options);\r\n }\r\n public async getPagedContent(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>) {\r\n return this.request<{ descriptor: DescriptorJSON, contentSet: PagedResponse<ItemJSON> } | undefined, typeof options>(\r\n this.rpcClient.getPagedContent.bind(this.rpcClient), options);\r\n }\r\n public async getPagedContentSet(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>) {\r\n return this.request<PagedResponse<ItemJSON>, typeof options>(\r\n this.rpcClient.getPagedContentSet.bind(this.rpcClient), options);\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getPagedDistinctValues(options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroupJSON>> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<PagedResponse<DisplayValueGroupJSON>, typeof options>(\r\n this.rpcClient.getPagedDistinctValues.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getElementProperties(options: SingleElementPropertiesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ElementProperties | undefined> {\r\n return this.request<ElementProperties | undefined, typeof options>(\r\n this.rpcClient.getElementProperties.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getContentInstanceKeys(options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<{ total: number, items: KeySetJSON }> {\r\n return this.request<{ total: number, items: KeySetJSON }, typeof options>(\r\n this.rpcClient.getContentInstanceKeys.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getDisplayLabelDefinition(options: DisplayLabelRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition> {\r\n return this.request<LabelDefinition, typeof options>(\r\n this.rpcClient.getDisplayLabelDefinition.bind(this.rpcClient), options);\r\n }\r\n public async getPagedDisplayLabelDefinitions(options: DisplayLabelsRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<PagedResponse<LabelDefinition>> {\r\n return this.request<PagedResponse<LabelDefinition>, typeof options>(\r\n this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getSelectionScopes(options: SelectionScopeRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<SelectionScope[]> {\r\n return this.request<SelectionScope[], typeof options>(\r\n this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);\r\n }\r\n public async computeSelection(options: ComputeSelectionRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<KeySetJSON> {\r\n return this.request<KeySetJSON, typeof options>(\r\n // eslint-disable-next-line deprecation/deprecation\r\n this.rpcClient.computeSelection.bind(this.rpcClient), options);\r\n }\r\n}\r\n\r\nfunction isOptionsWithRuleset(options: Object): options is { rulesetOrId: Ruleset } {\r\n return (typeof (options as RequestOptionsWithRuleset<any, any>).rulesetOrId === \"object\");\r\n}\r\n\r\ntype RulesetWithRequiredProperties = {\r\n [key in keyof Ruleset]-?: true;\r\n};\r\n\r\nconst RULESET_SUPPORTED_PROPERTIES_OBJ: RulesetWithRequiredProperties = {\r\n id: true,\r\n rules: true,\r\n version: true,\r\n requiredSchemas: true,\r\n supplementationInfo: true,\r\n vars: true,\r\n};\r\n\r\nfunction cleanupRuleset(ruleset: Ruleset): Ruleset {\r\n const cleanedUpRuleset: Ruleset = { ...ruleset };\r\n\r\n for (const propertyKey of Object.keys(cleanedUpRuleset)) {\r\n if (!RULESET_SUPPORTED_PROPERTIES_OBJ.hasOwnProperty(propertyKey)) {\r\n if (propertyKey === \"$schema\")\r\n delete (cleanedUpRuleset as any)[propertyKey];\r\n else\r\n Logger.logWarning(PresentationCommonLoggerCategory.Package, `Provided ruleset contains unrecognized attribute '${propertyKey}'. It either doesn't exist or may be no longer supported.`);\r\n }\r\n }\r\n\r\n return cleanedUpRuleset;\r\n}\r\n"]}
1
+ {"version":3,"file":"RpcRequestsHandler.js","sourceRoot":"","sources":["../../../src/presentation-common/RpcRequestsHandler.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module RPC\r\n */\r\n\r\nimport { BeDuration, BeTimePoint, Guid, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelRpcProps, RpcManager } from \"@itwin/core-common\";\r\nimport { PresentationCommonLoggerCategory } from \"./CommonLoggerCategory\";\r\nimport { DescriptorJSON, DescriptorOverrides } from \"./content/Descriptor\";\r\nimport { ItemJSON } from \"./content/Item\";\r\nimport { DisplayValueGroupJSON } from \"./content/Value\";\r\nimport { ClientDiagnostics, ClientDiagnosticsAttribute, ClientDiagnosticsHandler } from \"./Diagnostics\";\r\nimport { InstanceKey } from \"./EC\";\r\nimport { ElementProperties } from \"./ElementProperties\";\r\nimport { PresentationError, PresentationStatus } from \"./Error\";\r\nimport { NodeKey } from \"./hierarchy/Key\";\r\nimport { NodeJSON } from \"./hierarchy/Node\";\r\nimport { NodePathElementJSON } from \"./hierarchy/NodePathElement\";\r\nimport { KeySetJSON } from \"./KeySet\";\r\nimport { LabelDefinition } from \"./LabelDefinition\";\r\nimport {\r\n ComputeSelectionRequestOptions, ContentDescriptorRequestOptions, ContentInstanceKeysRequestOptions, ContentRequestOptions,\r\n ContentSourcesRequestOptions, DisplayLabelRequestOptions, DisplayLabelsRequestOptions, DistinctValuesRequestOptions,\r\n FilterByInstancePathsHierarchyRequestOptions, FilterByTextHierarchyRequestOptions, HierarchyLevelDescriptorRequestOptions, HierarchyRequestOptions,\r\n Paged, RequestOptions, RequestOptionsWithRuleset, SelectionScopeRequestOptions, SingleElementPropertiesRequestOptions,\r\n} from \"./PresentationManagerOptions\";\r\nimport {\r\n ContentSourcesRpcResult, PresentationRpcInterface, PresentationRpcRequestOptions, PresentationRpcResponse,\r\n} from \"./PresentationRpcInterface\";\r\nimport { Ruleset } from \"./rules/Ruleset\";\r\nimport { RulesetVariableJSON } from \"./RulesetVariables\";\r\nimport { SelectionScope } from \"./selection/SelectionScope\";\r\nimport { PagedResponse } from \"./Utils\";\r\n\r\n/**\r\n * Default timeout for how long we're going to wait for RPC request to be fulfilled before throwing\r\n * a timeout error.\r\n */\r\nconst DEFAULT_REQUEST_TIMEOUT = 10 * 60 * 1000; // 10 minutes\r\n\r\n/**\r\n * Configuration parameters for [[RpcRequestsHandler]].\r\n *\r\n * @internal\r\n */\r\nexport interface RpcRequestsHandlerProps {\r\n /**\r\n * Optional ID used to identify client that requests data. If not specified,\r\n * the handler creates a unique GUID as a client id.\r\n * @internal\r\n */\r\n clientId?: string;\r\n\r\n /** @internal */\r\n timeout?: number;\r\n}\r\n\r\n/**\r\n * RPC requests handler that wraps [[PresentationRpcInterface]] and\r\n * adds handling for cases when backend needs to be synced with client\r\n * state.\r\n *\r\n * @internal\r\n */\r\nexport class RpcRequestsHandler {\r\n /** Timeout for how long the handler going to wait for RPC request to be fulfilled before throwing a timeout error. */\r\n public readonly timeout: number;\r\n\r\n /** ID that identifies this handler as a client */\r\n public readonly clientId: string;\r\n\r\n public constructor(props?: RpcRequestsHandlerProps) {\r\n this.clientId = props?.clientId ?? Guid.createValue();\r\n this.timeout = props?.timeout ?? DEFAULT_REQUEST_TIMEOUT;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get rpcClient(): PresentationRpcInterface { return RpcManager.getClientForInterface(PresentationRpcInterface); }\r\n\r\n private async requestWithTimeout<TResult>(func: () => PresentationRpcResponse<TResult>, diagnosticsHandler?: ClientDiagnosticsHandler): Promise<TResult> {\r\n const start = BeTimePoint.now();\r\n const timeout = BeDuration.fromMilliseconds(this.timeout);\r\n let diagnostics: ClientDiagnostics | undefined;\r\n while (start.plus(timeout).isInFuture) {\r\n try {\r\n const response = await func();\r\n diagnostics = response.diagnostics;\r\n switch (response.statusCode) {\r\n case PresentationStatus.Success: return response.result!;\r\n case PresentationStatus.BackendTimeout: break;\r\n default: throw new PresentationError(response.statusCode, response.errorMessage);\r\n }\r\n } finally {\r\n diagnosticsHandler && diagnostics && diagnosticsHandler(diagnostics);\r\n }\r\n }\r\n throw new PresentationError(PresentationStatus.BackendTimeout);\r\n }\r\n\r\n /**\r\n * Send the request to backend.\r\n *\r\n * If the backend responds with [[PresentationStatus.BackendTimeout]], the request is repeated until we hit `timeout` or get\r\n * a response. If the response is other than [[PresentationStatus.BackendTimeout]] or [[PresentationStatus.Success]], a [[PresentationError]]\r\n * is thrown with the details from the response.\r\n */\r\n public async request<TResult, TOptions extends (RequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute), TArg = any>(\r\n func: (token: IModelRpcProps, options: PresentationRpcRequestOptions<TOptions>, ...args: TArg[]) => PresentationRpcResponse<TResult>,\r\n options: TOptions,\r\n ...additionalOptions: TArg[]\r\n ): Promise<TResult> {\r\n const { imodel, diagnostics, ...optionsNoIModel } = options;\r\n const { handler: diagnosticsHandler, ...diagnosticsOptions } = diagnostics ?? {};\r\n if (isOptionsWithRuleset(optionsNoIModel)) {\r\n optionsNoIModel.rulesetOrId = cleanupRuleset(optionsNoIModel.rulesetOrId);\r\n }\r\n const rpcOptions: PresentationRpcRequestOptions<TOptions> = {\r\n ...optionsNoIModel,\r\n clientId: this.clientId,\r\n };\r\n if (diagnostics) {\r\n rpcOptions.diagnostics = diagnosticsOptions;\r\n }\r\n const doRequest = async () => func(imodel, rpcOptions, ...additionalOptions);\r\n return this.requestWithTimeout(doRequest, diagnosticsHandler);\r\n }\r\n\r\n public async getNodesCount(options: HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number> {\r\n return this.request<number, typeof options>(\r\n this.rpcClient.getNodesCount.bind(this.rpcClient), options);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getPagedNodes(options: Paged<HierarchyRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON>> & ClientDiagnosticsAttribute): Promise<PagedResponse<NodeJSON>> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<PagedResponse<NodeJSON>, typeof options>(\r\n this.rpcClient.getPagedNodes.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getNodesDescriptor(options: HierarchyLevelDescriptorRequestOptions<IModelRpcProps, NodeKey, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined> {\r\n const response = await this.request<string | DescriptorJSON | undefined, typeof options>(\r\n this.rpcClient.getNodesDescriptor.bind(this.rpcClient), options);\r\n if (typeof response === \"string\")\r\n return JSON.parse(response);\r\n return response;\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getNodePaths(options: FilterByInstancePathsHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<NodePathElementJSON[], typeof options>(\r\n this.rpcClient.getNodePaths.bind(this.rpcClient), options);\r\n }\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getFilteredNodePaths(options: FilterByTextHierarchyRequestOptions<IModelRpcProps, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<NodePathElementJSON[]> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<NodePathElementJSON[], typeof options>(\r\n this.rpcClient.getFilteredNodePaths.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getContentSources(options: ContentSourcesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ContentSourcesRpcResult> {\r\n return this.request<ContentSourcesRpcResult, typeof options>(\r\n this.rpcClient.getContentSources.bind(this.rpcClient), options);\r\n }\r\n public async getContentDescriptor(options: ContentDescriptorRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<DescriptorJSON | undefined> {\r\n return this.request<DescriptorJSON | undefined, typeof options>(\r\n this.rpcClient.getContentDescriptor.bind(this.rpcClient), options);\r\n }\r\n public async getContentSetSize(options: ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<number> {\r\n return this.request<number, typeof options>(\r\n this.rpcClient.getContentSetSize.bind(this.rpcClient), options);\r\n }\r\n public async getPagedContent(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>) {\r\n return this.request<{ descriptor: DescriptorJSON, contentSet: PagedResponse<ItemJSON> } | undefined, typeof options>(\r\n this.rpcClient.getPagedContent.bind(this.rpcClient), options);\r\n }\r\n public async getPagedContentSet(options: Paged<ContentRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute>) {\r\n return this.request<PagedResponse<ItemJSON>, typeof options>(\r\n this.rpcClient.getPagedContentSet.bind(this.rpcClient), options);\r\n }\r\n\r\n // eslint-disable-next-line deprecation/deprecation\r\n public async getPagedDistinctValues(options: DistinctValuesRequestOptions<IModelRpcProps, DescriptorOverrides, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<PagedResponse<DisplayValueGroupJSON>> {\r\n // eslint-disable-next-line deprecation/deprecation\r\n return this.request<PagedResponse<DisplayValueGroupJSON>, typeof options>(\r\n this.rpcClient.getPagedDistinctValues.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getElementProperties(options: SingleElementPropertiesRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<ElementProperties | undefined> {\r\n return this.request<ElementProperties | undefined, typeof options>(\r\n this.rpcClient.getElementProperties.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getContentInstanceKeys(options: ContentInstanceKeysRequestOptions<IModelRpcProps, KeySetJSON, RulesetVariableJSON> & ClientDiagnosticsAttribute): Promise<{ total: number, items: KeySetJSON }> {\r\n return this.request<{ total: number, items: KeySetJSON }, typeof options>(\r\n this.rpcClient.getContentInstanceKeys.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getDisplayLabelDefinition(options: DisplayLabelRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<LabelDefinition> {\r\n return this.request<LabelDefinition, typeof options>(\r\n this.rpcClient.getDisplayLabelDefinition.bind(this.rpcClient), options);\r\n }\r\n public async getPagedDisplayLabelDefinitions(options: DisplayLabelsRequestOptions<IModelRpcProps, InstanceKey> & ClientDiagnosticsAttribute): Promise<PagedResponse<LabelDefinition>> {\r\n return this.request<PagedResponse<LabelDefinition>, typeof options>(\r\n this.rpcClient.getPagedDisplayLabelDefinitions.bind(this.rpcClient), options);\r\n }\r\n\r\n public async getSelectionScopes(options: SelectionScopeRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<SelectionScope[]> {\r\n return this.request<SelectionScope[], typeof options>(\r\n this.rpcClient.getSelectionScopes.bind(this.rpcClient), options);\r\n }\r\n public async computeSelection(options: ComputeSelectionRequestOptions<IModelRpcProps> & ClientDiagnosticsAttribute): Promise<KeySetJSON> {\r\n return this.request<KeySetJSON, typeof options>(\r\n // eslint-disable-next-line deprecation/deprecation\r\n this.rpcClient.computeSelection.bind(this.rpcClient), options);\r\n }\r\n}\r\n\r\nfunction isOptionsWithRuleset(options: Object): options is { rulesetOrId: Ruleset } {\r\n return (typeof (options as RequestOptionsWithRuleset<any, any>).rulesetOrId === \"object\");\r\n}\r\n\r\ntype RulesetWithRequiredProperties = {\r\n [key in keyof Ruleset]-?: true;\r\n};\r\n\r\nconst RULESET_SUPPORTED_PROPERTIES_OBJ: RulesetWithRequiredProperties = {\r\n id: true,\r\n rules: true,\r\n version: true,\r\n requiredSchemas: true,\r\n supplementationInfo: true,\r\n vars: true,\r\n};\r\n\r\nfunction cleanupRuleset(ruleset: Ruleset): Ruleset {\r\n const cleanedUpRuleset: Ruleset = { ...ruleset };\r\n\r\n for (const propertyKey of Object.keys(cleanedUpRuleset)) {\r\n if (!RULESET_SUPPORTED_PROPERTIES_OBJ.hasOwnProperty(propertyKey)) {\r\n if (propertyKey === \"$schema\")\r\n delete (cleanedUpRuleset as any)[propertyKey];\r\n else\r\n Logger.logWarning(PresentationCommonLoggerCategory.Package, `Provided ruleset contains unrecognized attribute '${propertyKey}'. It either doesn't exist or may be no longer supported.`);\r\n }\r\n }\r\n\r\n return cleanedUpRuleset;\r\n}\r\n"]}
@@ -1,172 +1,172 @@
1
- /** @packageDocumentation
2
- * @module Core
3
- */
4
- import { CompressedId64Set, Id64String } from "@itwin/core-bentley";
5
- /**
6
- * Possible variable value types
7
- * @public
8
- */
9
- export declare enum VariableValueTypes {
10
- /** Integer value */
11
- Int = "int",
12
- /** Array of integer values */
13
- IntArray = "int[]",
14
- /** Boolean value */
15
- Bool = "bool",
16
- /** String value */
17
- String = "string",
18
- /** Id64String value */
19
- Id64 = "id64",
20
- /** Array of Id64String values */
21
- Id64Array = "id64[]"
22
- }
23
- /**
24
- * Union of all supported variable value types
25
- * @public
26
- */
27
- export declare type VariableValue = boolean | string | number | number[] | Id64String | Id64String[];
28
- /**
29
- * JSON representation of [[VariableValue]]
30
- * @public
31
- */
32
- export declare type VariableValueJSON = boolean | string | number | number[] | Id64String | Id64String[] | CompressedId64Set;
33
- /**
34
- * Base data structure for representing ruleset variables.
35
- * @public
36
- */
37
- export interface RulesetVariableBase {
38
- id: string;
39
- type: VariableValueTypes;
40
- value: VariableValue;
41
- }
42
- /**
43
- * Data structure for representing boolean ruleset variables.
44
- * @public
45
- */
46
- export interface BooleanRulesetVariable extends RulesetVariableBase {
47
- type: VariableValueTypes.Bool;
48
- value: boolean;
49
- }
50
- /**
51
- * Data structure for representing string ruleset variables.
52
- * @public
53
- */
54
- export interface StringRulesetVariable extends RulesetVariableBase {
55
- type: VariableValueTypes.String;
56
- value: string;
57
- }
58
- /**
59
- * Data structure for representing int ruleset variables.
60
- * @public
61
- */
62
- export interface IntRulesetVariable extends RulesetVariableBase {
63
- type: VariableValueTypes.Int;
64
- value: number;
65
- }
66
- /**
67
- * Data structure for representing int array ruleset variables.
68
- * @public
69
- */
70
- export interface IntsRulesetVariable extends RulesetVariableBase {
71
- type: VariableValueTypes.IntArray;
72
- value: number[];
73
- }
74
- /**
75
- * Data structure for representing ID ruleset variables.
76
- * @public
77
- */
78
- export interface Id64RulesetVariable extends RulesetVariableBase {
79
- type: VariableValueTypes.Id64;
80
- value: Id64String;
81
- }
82
- /**
83
- * Data structure for representing ID array ruleset variables.
84
- * @public
85
- */
86
- export interface Id64sRulesetVariable extends RulesetVariableBase {
87
- type: VariableValueTypes.Id64Array;
88
- value: Id64String[];
89
- }
90
- /**
91
- * Data structure for representing ruleset variables.
92
- * @public
93
- */
94
- export declare type RulesetVariable = BooleanRulesetVariable | StringRulesetVariable | IntRulesetVariable | IntsRulesetVariable | Id64RulesetVariable | Id64sRulesetVariable;
95
- /**
96
- * JSON representation of [[RulesetVariableBase]].
97
- * @public
98
- */
99
- export interface RulesetVariableBaseJSON {
100
- id: string;
101
- type: VariableValueTypes;
102
- value: VariableValueJSON;
103
- }
104
- /**
105
- * JSON representation of [[BooleanRulesetVariable]].
106
- * @public
107
- * @deprecated in 3.x. Use [[BooleanRulesetVariable]]
108
- */
109
- export interface BooleanRulesetVariableJSON extends RulesetVariableBaseJSON {
110
- type: VariableValueTypes.Bool;
111
- value: boolean;
112
- }
113
- /**
114
- * JSON representation of [[StringRulesetVariable]].
115
- * @public
116
- * @deprecated in 3.x. Use [[StringRulesetVariable]]
117
- */
118
- export interface StringRulesetVariableJSON extends RulesetVariableBaseJSON {
119
- type: VariableValueTypes.String;
120
- value: string;
121
- }
122
- /**
123
- * JSON representation of [[IntRulesetVariable]].
124
- * @public
125
- * @deprecated in 3.x. Use [[IntRulesetVariable]]
126
- */
127
- export interface IntRulesetVariableJSON extends RulesetVariableBaseJSON {
128
- type: VariableValueTypes.Int;
129
- value: number;
130
- }
131
- /**
132
- * JSON representation of [[IntsRulesetVariable]].
133
- * @public
134
- * @deprecated in 3.x. Use [[IntsRulesetVariable]]
135
- */
136
- export interface IntsRulesetVariableJSON extends RulesetVariableBaseJSON {
137
- type: VariableValueTypes.IntArray;
138
- value: number[];
139
- }
140
- /**
141
- * JSON representation of [[Id64RulesetVariable]].
142
- * @public
143
- * @deprecated in 3.x. Use [[Id64RulesetVariable]]
144
- */
145
- export interface Id64RulesetVariableJSON extends RulesetVariableBaseJSON {
146
- type: VariableValueTypes.Id64;
147
- value: Id64String;
148
- }
149
- /**
150
- * JSON representation of [[Id64sRulesetVariable]].
151
- * @public
152
- */
153
- export interface Id64sRulesetVariableJSON extends RulesetVariableBaseJSON {
154
- type: VariableValueTypes.Id64Array;
155
- value: Id64String[] | CompressedId64Set;
156
- }
157
- /**
158
- * JSON representation of [[RulesetVariable]].
159
- * @public
160
- */
161
- export declare type RulesetVariableJSON = BooleanRulesetVariableJSON | StringRulesetVariableJSON | IntRulesetVariableJSON | IntsRulesetVariableJSON | Id64RulesetVariableJSON | Id64sRulesetVariableJSON;
162
- /** @public */
163
- export declare namespace RulesetVariable {
164
- /**
165
- * Serialize given RulesetVariable to JSON.
166
- * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].
167
- */
168
- function toJSON(variable: RulesetVariable): RulesetVariableJSON;
169
- /** Deserialize [[RulesetVariable]] from JSON. */
170
- function fromJSON(json: RulesetVariableJSON): RulesetVariable;
171
- }
1
+ /** @packageDocumentation
2
+ * @module Core
3
+ */
4
+ import { CompressedId64Set, Id64String } from "@itwin/core-bentley";
5
+ /**
6
+ * Possible variable value types
7
+ * @public
8
+ */
9
+ export declare enum VariableValueTypes {
10
+ /** Integer value */
11
+ Int = "int",
12
+ /** Array of integer values */
13
+ IntArray = "int[]",
14
+ /** Boolean value */
15
+ Bool = "bool",
16
+ /** String value */
17
+ String = "string",
18
+ /** Id64String value */
19
+ Id64 = "id64",
20
+ /** Array of Id64String values */
21
+ Id64Array = "id64[]"
22
+ }
23
+ /**
24
+ * Union of all supported variable value types
25
+ * @public
26
+ */
27
+ export type VariableValue = boolean | string | number | number[] | Id64String | Id64String[];
28
+ /**
29
+ * JSON representation of [[VariableValue]]
30
+ * @public
31
+ */
32
+ export type VariableValueJSON = boolean | string | number | number[] | Id64String | Id64String[] | CompressedId64Set;
33
+ /**
34
+ * Base data structure for representing ruleset variables.
35
+ * @public
36
+ */
37
+ export interface RulesetVariableBase {
38
+ id: string;
39
+ type: VariableValueTypes;
40
+ value: VariableValue;
41
+ }
42
+ /**
43
+ * Data structure for representing boolean ruleset variables.
44
+ * @public
45
+ */
46
+ export interface BooleanRulesetVariable extends RulesetVariableBase {
47
+ type: VariableValueTypes.Bool;
48
+ value: boolean;
49
+ }
50
+ /**
51
+ * Data structure for representing string ruleset variables.
52
+ * @public
53
+ */
54
+ export interface StringRulesetVariable extends RulesetVariableBase {
55
+ type: VariableValueTypes.String;
56
+ value: string;
57
+ }
58
+ /**
59
+ * Data structure for representing int ruleset variables.
60
+ * @public
61
+ */
62
+ export interface IntRulesetVariable extends RulesetVariableBase {
63
+ type: VariableValueTypes.Int;
64
+ value: number;
65
+ }
66
+ /**
67
+ * Data structure for representing int array ruleset variables.
68
+ * @public
69
+ */
70
+ export interface IntsRulesetVariable extends RulesetVariableBase {
71
+ type: VariableValueTypes.IntArray;
72
+ value: number[];
73
+ }
74
+ /**
75
+ * Data structure for representing ID ruleset variables.
76
+ * @public
77
+ */
78
+ export interface Id64RulesetVariable extends RulesetVariableBase {
79
+ type: VariableValueTypes.Id64;
80
+ value: Id64String;
81
+ }
82
+ /**
83
+ * Data structure for representing ID array ruleset variables.
84
+ * @public
85
+ */
86
+ export interface Id64sRulesetVariable extends RulesetVariableBase {
87
+ type: VariableValueTypes.Id64Array;
88
+ value: Id64String[];
89
+ }
90
+ /**
91
+ * Data structure for representing ruleset variables.
92
+ * @public
93
+ */
94
+ export type RulesetVariable = BooleanRulesetVariable | StringRulesetVariable | IntRulesetVariable | IntsRulesetVariable | Id64RulesetVariable | Id64sRulesetVariable;
95
+ /**
96
+ * JSON representation of [[RulesetVariableBase]].
97
+ * @public
98
+ */
99
+ export interface RulesetVariableBaseJSON {
100
+ id: string;
101
+ type: VariableValueTypes;
102
+ value: VariableValueJSON;
103
+ }
104
+ /**
105
+ * JSON representation of [[BooleanRulesetVariable]].
106
+ * @public
107
+ * @deprecated in 3.x. Use [[BooleanRulesetVariable]]
108
+ */
109
+ export interface BooleanRulesetVariableJSON extends RulesetVariableBaseJSON {
110
+ type: VariableValueTypes.Bool;
111
+ value: boolean;
112
+ }
113
+ /**
114
+ * JSON representation of [[StringRulesetVariable]].
115
+ * @public
116
+ * @deprecated in 3.x. Use [[StringRulesetVariable]]
117
+ */
118
+ export interface StringRulesetVariableJSON extends RulesetVariableBaseJSON {
119
+ type: VariableValueTypes.String;
120
+ value: string;
121
+ }
122
+ /**
123
+ * JSON representation of [[IntRulesetVariable]].
124
+ * @public
125
+ * @deprecated in 3.x. Use [[IntRulesetVariable]]
126
+ */
127
+ export interface IntRulesetVariableJSON extends RulesetVariableBaseJSON {
128
+ type: VariableValueTypes.Int;
129
+ value: number;
130
+ }
131
+ /**
132
+ * JSON representation of [[IntsRulesetVariable]].
133
+ * @public
134
+ * @deprecated in 3.x. Use [[IntsRulesetVariable]]
135
+ */
136
+ export interface IntsRulesetVariableJSON extends RulesetVariableBaseJSON {
137
+ type: VariableValueTypes.IntArray;
138
+ value: number[];
139
+ }
140
+ /**
141
+ * JSON representation of [[Id64RulesetVariable]].
142
+ * @public
143
+ * @deprecated in 3.x. Use [[Id64RulesetVariable]]
144
+ */
145
+ export interface Id64RulesetVariableJSON extends RulesetVariableBaseJSON {
146
+ type: VariableValueTypes.Id64;
147
+ value: Id64String;
148
+ }
149
+ /**
150
+ * JSON representation of [[Id64sRulesetVariable]].
151
+ * @public
152
+ */
153
+ export interface Id64sRulesetVariableJSON extends RulesetVariableBaseJSON {
154
+ type: VariableValueTypes.Id64Array;
155
+ value: Id64String[] | CompressedId64Set;
156
+ }
157
+ /**
158
+ * JSON representation of [[RulesetVariable]].
159
+ * @public
160
+ */
161
+ export type RulesetVariableJSON = BooleanRulesetVariableJSON | StringRulesetVariableJSON | IntRulesetVariableJSON | IntsRulesetVariableJSON | Id64RulesetVariableJSON | Id64sRulesetVariableJSON;
162
+ /** @public */
163
+ export declare namespace RulesetVariable {
164
+ /**
165
+ * Serialize given RulesetVariable to JSON.
166
+ * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].
167
+ */
168
+ function toJSON(variable: RulesetVariable): RulesetVariableJSON;
169
+ /** Deserialize [[RulesetVariable]] from JSON. */
170
+ function fromJSON(json: RulesetVariableJSON): RulesetVariable;
171
+ }
172
172
  //# sourceMappingURL=RulesetVariables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RulesetVariables.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RulesetVariables.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,oBAAY,kBAAkB;IAC5B,oBAAoB;IACpB,GAAG,QAAQ;IAEX,8BAA8B;IAC9B,QAAQ,UAAU;IAElB,oBAAoB;IACpB,IAAI,SAAS;IAEb,mBAAmB;IACnB,MAAM,WAAW;IAEjB,uBAAuB;IACvB,IAAI,SAAS;IAEb,iCAAiC;IACjC,SAAS,WAAW;CACrB;AAED;;;GAGG;AACH,oBAAY,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;AAE7F;;;GAGG;AACH,oBAAY,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU,EAAE,GAAG,iBAAiB,CAAC;AAErH;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;CACtB;AACD;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB;AACD;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AACD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;CACnB;AACD;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC;IACnC,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AACD;;;GAGG;AACH,oBAAY,eAAe,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,oBAAoB,CAAC;AAErK;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AACD;;;;GAIG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB;AACD;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AACD;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC;CACnB;AACD;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACvE,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC;IACnC,KAAK,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC;CACzC;AACD;;;GAGG;AAEH,oBAAY,mBAAmB,GAAG,0BAA0B,GAAG,yBAAyB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,uBAAuB,GAAG,wBAAwB,CAAC;AAEjM,cAAc;AAEd,yBAAiB,eAAe,CAAC;IAC/B;;;OAGG;IACH,SAAgB,MAAM,CAAC,QAAQ,EAAE,eAAe,GAAG,mBAAmB,CAIrE;IAED,iDAAiD;IACjD,SAAgB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CAOnE;CACF"}
1
+ {"version":3,"file":"RulesetVariables.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RulesetVariables.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,53 @@
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
- import { CompressedId64Set } from "@itwin/core-bentley";
9
- /**
10
- * Possible variable value types
11
- * @public
12
- */
13
- export var VariableValueTypes;
14
- (function (VariableValueTypes) {
15
- /** Integer value */
16
- VariableValueTypes["Int"] = "int";
17
- /** Array of integer values */
18
- VariableValueTypes["IntArray"] = "int[]";
19
- /** Boolean value */
20
- VariableValueTypes["Bool"] = "bool";
21
- /** String value */
22
- VariableValueTypes["String"] = "string";
23
- /** Id64String value */
24
- VariableValueTypes["Id64"] = "id64";
25
- /** Array of Id64String values */
26
- VariableValueTypes["Id64Array"] = "id64[]";
27
- })(VariableValueTypes || (VariableValueTypes = {}));
28
- /** @public */
29
- // eslint-disable-next-line @typescript-eslint/no-redeclare
30
- export var RulesetVariable;
31
- (function (RulesetVariable) {
32
- /**
33
- * Serialize given RulesetVariable to JSON.
34
- * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].
35
- */
36
- function toJSON(variable) {
37
- if (variable.type === VariableValueTypes.Id64Array)
38
- return { ...variable, value: CompressedId64Set.compressArray(variable.value) };
39
- return variable;
40
- }
41
- RulesetVariable.toJSON = toJSON;
42
- /** Deserialize [[RulesetVariable]] from JSON. */
43
- function fromJSON(json) {
44
- if (json.type === VariableValueTypes.Id64Array) {
45
- if (typeof json.value === "string")
46
- return { ...json, value: CompressedId64Set.decompressArray(json.value) };
47
- return json; // for some reason TS doesn't understand that `json.value` is always an array here
48
- }
49
- return json;
50
- }
51
- RulesetVariable.fromJSON = fromJSON;
52
- })(RulesetVariable || (RulesetVariable = {}));
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
+ import { CompressedId64Set } from "@itwin/core-bentley";
9
+ /**
10
+ * Possible variable value types
11
+ * @public
12
+ */
13
+ export var VariableValueTypes;
14
+ (function (VariableValueTypes) {
15
+ /** Integer value */
16
+ VariableValueTypes["Int"] = "int";
17
+ /** Array of integer values */
18
+ VariableValueTypes["IntArray"] = "int[]";
19
+ /** Boolean value */
20
+ VariableValueTypes["Bool"] = "bool";
21
+ /** String value */
22
+ VariableValueTypes["String"] = "string";
23
+ /** Id64String value */
24
+ VariableValueTypes["Id64"] = "id64";
25
+ /** Array of Id64String values */
26
+ VariableValueTypes["Id64Array"] = "id64[]";
27
+ })(VariableValueTypes || (VariableValueTypes = {}));
28
+ /** @public */
29
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
30
+ export var RulesetVariable;
31
+ (function (RulesetVariable) {
32
+ /**
33
+ * Serialize given RulesetVariable to JSON.
34
+ * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].
35
+ */
36
+ function toJSON(variable) {
37
+ if (variable.type === VariableValueTypes.Id64Array)
38
+ return { ...variable, value: CompressedId64Set.compressArray(variable.value) };
39
+ return variable;
40
+ }
41
+ RulesetVariable.toJSON = toJSON;
42
+ /** Deserialize [[RulesetVariable]] from JSON. */
43
+ function fromJSON(json) {
44
+ if (json.type === VariableValueTypes.Id64Array) {
45
+ if (typeof json.value === "string")
46
+ return { ...json, value: CompressedId64Set.decompressArray(json.value) };
47
+ return json; // for some reason TS doesn't understand that `json.value` is always an array here
48
+ }
49
+ return json;
50
+ }
51
+ RulesetVariable.fromJSON = fromJSON;
52
+ })(RulesetVariable || (RulesetVariable = {}));
53
53
  //# sourceMappingURL=RulesetVariables.js.map
@@ -1,45 +1,45 @@
1
- /** @packageDocumentation
2
- * @module Core
3
- */
4
- import { Field } from "./content/Fields";
5
- import { Item } from "./content/Item";
6
- import { InstanceKey } from "./EC";
7
- import { Ruleset } from "./rules/Ruleset";
8
- /**
9
- * A factory class that can be used to create presentation rulesets targeted towards
10
- * specific use cases.
11
- *
12
- * @public
13
- */
14
- export declare class RulesetsFactory {
15
- private createSimilarInstancesRulesetInfo;
16
- /**
17
- * Create a ruleset with content rules for getting instances are of the
18
- * same ECClass and have the same property value as the provided `record`.
19
- * @param field A field identifying which property of the record we should use
20
- * @param record A record whose similar instances should be found
21
- * @param computeDisplayValue Optional callback function to calculate display value that's
22
- * used in ruleset's description. If not provided, display value from record is used instead.
23
- */
24
- createSimilarInstancesRuleset(field: Field, record: Item, computeDisplayValue?: ComputeDisplayValueCallback): Promise<{
25
- ruleset: Ruleset;
26
- description: string;
27
- }>;
28
- }
29
- /**
30
- * Definition of a function for calculating a display value.
31
- * @public
32
- */
33
- export declare type ComputeDisplayValueCallback = (type: string, value: PrimitivePropertyValue, displayValue: string) => Promise<string>;
34
- /**
35
- * Value of a primitive property.
36
- * @public
37
- */
38
- export declare type PrimitivePropertyValue = string | number | boolean | Point | InstanceKey | undefined;
39
- declare type Point = {
40
- x: number;
41
- y: number;
42
- z?: number;
43
- };
44
- export {};
1
+ /** @packageDocumentation
2
+ * @module Core
3
+ */
4
+ import { Field } from "./content/Fields";
5
+ import { Item } from "./content/Item";
6
+ import { InstanceKey } from "./EC";
7
+ import { Ruleset } from "./rules/Ruleset";
8
+ /**
9
+ * A factory class that can be used to create presentation rulesets targeted towards
10
+ * specific use cases.
11
+ *
12
+ * @public
13
+ */
14
+ export declare class RulesetsFactory {
15
+ private createSimilarInstancesRulesetInfo;
16
+ /**
17
+ * Create a ruleset with content rules for getting instances are of the
18
+ * same ECClass and have the same property value as the provided `record`.
19
+ * @param field A field identifying which property of the record we should use
20
+ * @param record A record whose similar instances should be found
21
+ * @param computeDisplayValue Optional callback function to calculate display value that's
22
+ * used in ruleset's description. If not provided, display value from record is used instead.
23
+ */
24
+ createSimilarInstancesRuleset(field: Field, record: Item, computeDisplayValue?: ComputeDisplayValueCallback): Promise<{
25
+ ruleset: Ruleset;
26
+ description: string;
27
+ }>;
28
+ }
29
+ /**
30
+ * Definition of a function for calculating a display value.
31
+ * @public
32
+ */
33
+ export type ComputeDisplayValueCallback = (type: string, value: PrimitivePropertyValue, displayValue: string) => Promise<string>;
34
+ /**
35
+ * Value of a primitive property.
36
+ * @public
37
+ */
38
+ export type PrimitivePropertyValue = string | number | boolean | Point | InstanceKey | undefined;
39
+ type Point = {
40
+ x: number;
41
+ y: number;
42
+ z?: number;
43
+ };
44
+ export {};
45
45
  //# sourceMappingURL=RulesetsFactory.d.ts.map