@itwin/presentation-common 4.0.0-dev.8 → 4.0.0-dev.80

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 (417) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/Ruleset.schema.json +11 -0
  3. package/lib/cjs/assets/locales/en/Presentation.json +15 -0
  4. package/lib/cjs/assets/locales/en-PSEUDO/Presentation.json +15 -0
  5. package/lib/cjs/presentation-common/AsyncTasks.d.ts +22 -22
  6. package/lib/cjs/presentation-common/AsyncTasks.js +38 -38
  7. package/lib/cjs/presentation-common/CommonLoggerCategory.d.ts +12 -12
  8. package/lib/cjs/presentation-common/CommonLoggerCategory.js +20 -20
  9. package/lib/cjs/presentation-common/Diagnostics.d.ts +125 -125
  10. package/lib/cjs/presentation-common/Diagnostics.d.ts.map +1 -1
  11. package/lib/cjs/presentation-common/Diagnostics.js +72 -72
  12. package/lib/cjs/presentation-common/EC.d.ts +347 -350
  13. package/lib/cjs/presentation-common/EC.d.ts.map +1 -1
  14. package/lib/cjs/presentation-common/EC.js +290 -290
  15. package/lib/cjs/presentation-common/EC.js.map +1 -1
  16. package/lib/cjs/presentation-common/ElementProperties.d.ts +123 -123
  17. package/lib/cjs/presentation-common/ElementProperties.d.ts.map +1 -1
  18. package/lib/cjs/presentation-common/ElementProperties.js +9 -9
  19. package/lib/cjs/presentation-common/Error.d.ts +47 -45
  20. package/lib/cjs/presentation-common/Error.d.ts.map +1 -1
  21. package/lib/cjs/presentation-common/Error.js +64 -62
  22. package/lib/cjs/presentation-common/Error.js.map +1 -1
  23. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  24. package/lib/cjs/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  25. package/lib/cjs/presentation-common/InstanceFilterDefinition.js +9 -9
  26. package/lib/cjs/presentation-common/KeySet.d.ts +146 -146
  27. package/lib/cjs/presentation-common/KeySet.d.ts.map +1 -1
  28. package/lib/cjs/presentation-common/KeySet.js +428 -428
  29. package/lib/cjs/presentation-common/LabelDefinition.d.ts +93 -87
  30. package/lib/cjs/presentation-common/LabelDefinition.d.ts.map +1 -1
  31. package/lib/cjs/presentation-common/LabelDefinition.js +78 -73
  32. package/lib/cjs/presentation-common/LabelDefinition.js.map +1 -1
  33. package/lib/cjs/presentation-common/LocalizationHelper.d.ts +29 -29
  34. package/lib/cjs/presentation-common/LocalizationHelper.js +110 -110
  35. package/lib/cjs/presentation-common/PresentationIpcInterface.d.ts +40 -40
  36. package/lib/cjs/presentation-common/PresentationIpcInterface.js +12 -12
  37. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts +273 -261
  38. package/lib/cjs/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  39. package/lib/cjs/presentation-common/PresentationManagerOptions.js +23 -23
  40. package/lib/cjs/presentation-common/PresentationManagerOptions.js.map +1 -1
  41. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts +186 -186
  42. package/lib/cjs/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  43. package/lib/cjs/presentation-common/PresentationRpcInterface.js +108 -104
  44. package/lib/cjs/presentation-common/PresentationRpcInterface.js.map +1 -1
  45. package/lib/cjs/presentation-common/PropertyFormatter.d.ts +31 -0
  46. package/lib/cjs/presentation-common/PropertyFormatter.d.ts.map +1 -0
  47. package/lib/cjs/presentation-common/PropertyFormatter.js +199 -0
  48. package/lib/cjs/presentation-common/PropertyFormatter.js.map +1 -0
  49. package/lib/cjs/presentation-common/RegisteredRuleset.d.ts +26 -26
  50. package/lib/cjs/presentation-common/RegisteredRuleset.js +33 -33
  51. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts +82 -83
  52. package/lib/cjs/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  53. package/lib/cjs/presentation-common/RpcRequestsHandler.js +166 -171
  54. package/lib/cjs/presentation-common/RpcRequestsHandler.js.map +1 -1
  55. package/lib/cjs/presentation-common/RulesetVariables.d.ts +171 -171
  56. package/lib/cjs/presentation-common/RulesetVariables.d.ts.map +1 -1
  57. package/lib/cjs/presentation-common/RulesetVariables.js +55 -55
  58. package/lib/cjs/presentation-common/RulesetsFactory.d.ts +44 -44
  59. package/lib/cjs/presentation-common/RulesetsFactory.d.ts.map +1 -1
  60. package/lib/cjs/presentation-common/RulesetsFactory.js +223 -223
  61. package/lib/cjs/presentation-common/RulesetsFactory.js.map +1 -1
  62. package/lib/cjs/presentation-common/Update.d.ts +213 -213
  63. package/lib/cjs/presentation-common/Update.d.ts.map +1 -1
  64. package/lib/cjs/presentation-common/Update.js +226 -226
  65. package/lib/cjs/presentation-common/Utils.d.ts +62 -62
  66. package/lib/cjs/presentation-common/Utils.d.ts.map +1 -1
  67. package/lib/cjs/presentation-common/Utils.js +43 -43
  68. package/lib/cjs/presentation-common/content/Category.d.ts +49 -49
  69. package/lib/cjs/presentation-common/content/Category.js +48 -48
  70. package/lib/cjs/presentation-common/content/Content.d.ts +38 -38
  71. package/lib/cjs/presentation-common/content/Content.js +56 -56
  72. package/lib/cjs/presentation-common/content/ContentTraverser.d.ts +271 -271
  73. package/lib/cjs/presentation-common/content/ContentTraverser.js +437 -439
  74. package/lib/cjs/presentation-common/content/ContentTraverser.js.map +1 -1
  75. package/lib/cjs/presentation-common/content/Descriptor.d.ts +328 -328
  76. package/lib/cjs/presentation-common/content/Descriptor.js +191 -193
  77. package/lib/cjs/presentation-common/content/Descriptor.js.map +1 -1
  78. package/lib/cjs/presentation-common/content/DisplayTypes.d.ts +21 -21
  79. package/lib/cjs/presentation-common/content/DisplayTypes.js +29 -29
  80. package/lib/cjs/presentation-common/content/Editor.d.ts +15 -15
  81. package/lib/cjs/presentation-common/content/Editor.js +9 -9
  82. package/lib/cjs/presentation-common/content/Fields.d.ts +298 -301
  83. package/lib/cjs/presentation-common/content/Fields.d.ts.map +1 -1
  84. package/lib/cjs/presentation-common/content/Fields.js +393 -397
  85. package/lib/cjs/presentation-common/content/Fields.js.map +1 -1
  86. package/lib/cjs/presentation-common/content/Item.d.ts +85 -85
  87. package/lib/cjs/presentation-common/content/Item.d.ts.map +1 -1
  88. package/lib/cjs/presentation-common/content/Item.js +84 -84
  89. package/lib/cjs/presentation-common/content/Item.js.map +1 -1
  90. package/lib/cjs/presentation-common/content/Property.d.ts +57 -57
  91. package/lib/cjs/presentation-common/content/Property.d.ts.map +1 -1
  92. package/lib/cjs/presentation-common/content/Property.js +40 -40
  93. package/lib/cjs/presentation-common/content/Renderer.d.ts +11 -11
  94. package/lib/cjs/presentation-common/content/Renderer.js +9 -9
  95. package/lib/cjs/presentation-common/content/TypeDescription.d.ts +72 -72
  96. package/lib/cjs/presentation-common/content/TypeDescription.d.ts.map +1 -1
  97. package/lib/cjs/presentation-common/content/TypeDescription.js +23 -23
  98. package/lib/cjs/presentation-common/content/Value.d.ts +189 -189
  99. package/lib/cjs/presentation-common/content/Value.d.ts.map +1 -1
  100. package/lib/cjs/presentation-common/content/Value.js +273 -273
  101. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  102. package/lib/cjs/presentation-common/hierarchy/HierarchyLevel.js +31 -31
  103. package/lib/cjs/presentation-common/hierarchy/Key.d.ts +246 -246
  104. package/lib/cjs/presentation-common/hierarchy/Key.d.ts.map +1 -1
  105. package/lib/cjs/presentation-common/hierarchy/Key.js +121 -121
  106. package/lib/cjs/presentation-common/hierarchy/Key.js.map +1 -1
  107. package/lib/cjs/presentation-common/hierarchy/Node.d.ts +154 -154
  108. package/lib/cjs/presentation-common/hierarchy/Node.d.ts.map +1 -1
  109. package/lib/cjs/presentation-common/hierarchy/Node.js +106 -106
  110. package/lib/cjs/presentation-common/hierarchy/Node.js.map +1 -1
  111. package/lib/cjs/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  112. package/lib/cjs/presentation-common/hierarchy/NodePathElement.js +122 -122
  113. package/lib/cjs/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  114. package/lib/cjs/presentation-common/rules/ClassSpecifications.js +9 -9
  115. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  116. package/lib/cjs/presentation-common/rules/RelatedInstanceSpecification.js +9 -9
  117. package/lib/cjs/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  118. package/lib/cjs/presentation-common/rules/RelationshipDirection.js +21 -21
  119. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  120. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  121. package/lib/cjs/presentation-common/rules/RelationshipPathSpecification.js +9 -9
  122. package/lib/cjs/presentation-common/rules/Rule.d.ts +76 -76
  123. package/lib/cjs/presentation-common/rules/Rule.js +35 -35
  124. package/lib/cjs/presentation-common/rules/Ruleset.d.ts +65 -65
  125. package/lib/cjs/presentation-common/rules/Ruleset.js +9 -9
  126. package/lib/cjs/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  127. package/lib/cjs/presentation-common/rules/SchemasSpecification.js +9 -9
  128. package/lib/cjs/presentation-common/rules/Variables.d.ts +58 -58
  129. package/lib/cjs/presentation-common/rules/Variables.js +25 -25
  130. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  131. package/lib/cjs/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +9 -9
  132. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  133. package/lib/cjs/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +9 -9
  134. package/lib/cjs/presentation-common/rules/content/ContentRule.d.ts +30 -30
  135. package/lib/cjs/presentation-common/rules/content/ContentRule.js +9 -9
  136. package/lib/cjs/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  137. package/lib/cjs/presentation-common/rules/content/ContentSpecification.js +20 -20
  138. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  139. package/lib/cjs/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +9 -9
  140. package/lib/cjs/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  141. package/lib/cjs/presentation-common/rules/content/PropertySpecification.js +9 -9
  142. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  143. package/lib/cjs/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +9 -9
  144. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  145. package/lib/cjs/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +9 -9
  146. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  147. package/lib/cjs/presentation-common/rules/content/modifiers/ContentModifier.js +9 -9
  148. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  149. package/lib/cjs/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +9 -9
  150. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  151. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  152. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +9 -9
  153. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  154. package/lib/cjs/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +21 -21
  155. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  156. package/lib/cjs/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +43 -43
  157. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  158. package/lib/cjs/presentation-common/rules/customization/CheckBoxRule.js +9 -9
  159. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  160. package/lib/cjs/presentation-common/rules/customization/CustomizationRule.js +9 -9
  161. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  162. package/lib/cjs/presentation-common/rules/customization/ExtendedDataRule.js +9 -9
  163. package/lib/cjs/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  164. package/lib/cjs/presentation-common/rules/customization/GroupingRule.js +51 -51
  165. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  166. package/lib/cjs/presentation-common/rules/customization/ImageIdOverride.js +9 -9
  167. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  168. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  169. package/lib/cjs/presentation-common/rules/customization/InstanceLabelOverride.js +25 -25
  170. package/lib/cjs/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  171. package/lib/cjs/presentation-common/rules/customization/LabelOverride.js +9 -9
  172. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  173. package/lib/cjs/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  174. package/lib/cjs/presentation-common/rules/customization/SortingRule.js +9 -9
  175. package/lib/cjs/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  176. package/lib/cjs/presentation-common/rules/customization/StyleOverride.js +9 -9
  177. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  178. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeRule.js +9 -9
  179. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  180. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  181. package/lib/cjs/presentation-common/rules/hierarchy/ChildNodeSpecification.js +21 -21
  182. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  183. package/lib/cjs/presentation-common/rules/hierarchy/CustomNodeSpecification.js +9 -9
  184. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  185. package/lib/cjs/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +19 -19
  186. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  187. package/lib/cjs/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +9 -9
  188. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  189. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  190. package/lib/cjs/presentation-common/rules/hierarchy/NavigationRule.js +9 -9
  191. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  192. package/lib/cjs/presentation-common/rules/hierarchy/NodeArtifactsRule.js +9 -9
  193. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  194. package/lib/cjs/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +9 -9
  195. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  196. package/lib/cjs/presentation-common/rules/hierarchy/RootNodeRule.js +9 -9
  197. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  198. package/lib/cjs/presentation-common/rules/hierarchy/SubCondition.js +9 -9
  199. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts +38 -38
  200. package/lib/cjs/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  201. package/lib/cjs/presentation-common/selection/SelectionScope.js +9 -9
  202. package/lib/cjs/presentation-common.d.ts +113 -112
  203. package/lib/cjs/presentation-common.d.ts.map +1 -1
  204. package/lib/cjs/presentation-common.js +133 -128
  205. package/lib/cjs/presentation-common.js.map +1 -1
  206. package/lib/esm/presentation-common/AsyncTasks.d.ts +22 -22
  207. package/lib/esm/presentation-common/AsyncTasks.js +34 -34
  208. package/lib/esm/presentation-common/CommonLoggerCategory.d.ts +12 -12
  209. package/lib/esm/presentation-common/CommonLoggerCategory.js +17 -17
  210. package/lib/esm/presentation-common/Diagnostics.d.ts +125 -125
  211. package/lib/esm/presentation-common/Diagnostics.d.ts.map +1 -1
  212. package/lib/esm/presentation-common/Diagnostics.js +67 -67
  213. package/lib/esm/presentation-common/EC.d.ts +347 -350
  214. package/lib/esm/presentation-common/EC.d.ts.map +1 -1
  215. package/lib/esm/presentation-common/EC.js +287 -287
  216. package/lib/esm/presentation-common/EC.js.map +1 -1
  217. package/lib/esm/presentation-common/ElementProperties.d.ts +123 -123
  218. package/lib/esm/presentation-common/ElementProperties.d.ts.map +1 -1
  219. package/lib/esm/presentation-common/ElementProperties.js +8 -8
  220. package/lib/esm/presentation-common/Error.d.ts +47 -45
  221. package/lib/esm/presentation-common/Error.d.ts.map +1 -1
  222. package/lib/esm/presentation-common/Error.js +60 -58
  223. package/lib/esm/presentation-common/Error.js.map +1 -1
  224. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts +93 -93
  225. package/lib/esm/presentation-common/InstanceFilterDefinition.d.ts.map +1 -1
  226. package/lib/esm/presentation-common/InstanceFilterDefinition.js +8 -8
  227. package/lib/esm/presentation-common/KeySet.d.ts +146 -146
  228. package/lib/esm/presentation-common/KeySet.d.ts.map +1 -1
  229. package/lib/esm/presentation-common/KeySet.js +424 -424
  230. package/lib/esm/presentation-common/LabelDefinition.d.ts +93 -87
  231. package/lib/esm/presentation-common/LabelDefinition.d.ts.map +1 -1
  232. package/lib/esm/presentation-common/LabelDefinition.js +75 -70
  233. package/lib/esm/presentation-common/LabelDefinition.js.map +1 -1
  234. package/lib/esm/presentation-common/LocalizationHelper.d.ts +29 -29
  235. package/lib/esm/presentation-common/LocalizationHelper.js +106 -106
  236. package/lib/esm/presentation-common/PresentationIpcInterface.d.ts +40 -40
  237. package/lib/esm/presentation-common/PresentationIpcInterface.js +9 -9
  238. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts +273 -261
  239. package/lib/esm/presentation-common/PresentationManagerOptions.d.ts.map +1 -1
  240. package/lib/esm/presentation-common/PresentationManagerOptions.js +18 -18
  241. package/lib/esm/presentation-common/PresentationManagerOptions.js.map +1 -1
  242. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts +186 -186
  243. package/lib/esm/presentation-common/PresentationRpcInterface.d.ts.map +1 -1
  244. package/lib/esm/presentation-common/PresentationRpcInterface.js +105 -100
  245. package/lib/esm/presentation-common/PresentationRpcInterface.js.map +1 -1
  246. package/lib/esm/presentation-common/PropertyFormatter.d.ts +31 -0
  247. package/lib/esm/presentation-common/PropertyFormatter.d.ts.map +1 -0
  248. package/lib/esm/presentation-common/PropertyFormatter.js +194 -0
  249. package/lib/esm/presentation-common/PropertyFormatter.js.map +1 -0
  250. package/lib/esm/presentation-common/RegisteredRuleset.d.ts +26 -26
  251. package/lib/esm/presentation-common/RegisteredRuleset.js +29 -29
  252. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts +82 -83
  253. package/lib/esm/presentation-common/RpcRequestsHandler.d.ts.map +1 -1
  254. package/lib/esm/presentation-common/RpcRequestsHandler.js +162 -167
  255. package/lib/esm/presentation-common/RpcRequestsHandler.js.map +1 -1
  256. package/lib/esm/presentation-common/RulesetVariables.d.ts +171 -171
  257. package/lib/esm/presentation-common/RulesetVariables.d.ts.map +1 -1
  258. package/lib/esm/presentation-common/RulesetVariables.js +52 -52
  259. package/lib/esm/presentation-common/RulesetsFactory.d.ts +44 -44
  260. package/lib/esm/presentation-common/RulesetsFactory.d.ts.map +1 -1
  261. package/lib/esm/presentation-common/RulesetsFactory.js +219 -219
  262. package/lib/esm/presentation-common/RulesetsFactory.js.map +1 -1
  263. package/lib/esm/presentation-common/Update.d.ts +213 -213
  264. package/lib/esm/presentation-common/Update.d.ts.map +1 -1
  265. package/lib/esm/presentation-common/Update.js +223 -223
  266. package/lib/esm/presentation-common/Utils.d.ts +62 -62
  267. package/lib/esm/presentation-common/Utils.d.ts.map +1 -1
  268. package/lib/esm/presentation-common/Utils.js +39 -39
  269. package/lib/esm/presentation-common/content/Category.d.ts +49 -49
  270. package/lib/esm/presentation-common/content/Category.js +45 -45
  271. package/lib/esm/presentation-common/content/Content.d.ts +38 -38
  272. package/lib/esm/presentation-common/content/Content.js +52 -52
  273. package/lib/esm/presentation-common/content/ContentTraverser.d.ts +271 -271
  274. package/lib/esm/presentation-common/content/ContentTraverser.js +427 -429
  275. package/lib/esm/presentation-common/content/ContentTraverser.js.map +1 -1
  276. package/lib/esm/presentation-common/content/Descriptor.d.ts +328 -328
  277. package/lib/esm/presentation-common/content/Descriptor.js +187 -189
  278. package/lib/esm/presentation-common/content/Descriptor.js.map +1 -1
  279. package/lib/esm/presentation-common/content/DisplayTypes.d.ts +21 -21
  280. package/lib/esm/presentation-common/content/DisplayTypes.js +26 -26
  281. package/lib/esm/presentation-common/content/Editor.d.ts +15 -15
  282. package/lib/esm/presentation-common/content/Editor.js +8 -8
  283. package/lib/esm/presentation-common/content/Fields.d.ts +298 -301
  284. package/lib/esm/presentation-common/content/Fields.d.ts.map +1 -1
  285. package/lib/esm/presentation-common/content/Fields.js +386 -390
  286. package/lib/esm/presentation-common/content/Fields.js.map +1 -1
  287. package/lib/esm/presentation-common/content/Item.d.ts +85 -85
  288. package/lib/esm/presentation-common/content/Item.d.ts.map +1 -1
  289. package/lib/esm/presentation-common/content/Item.js +80 -80
  290. package/lib/esm/presentation-common/content/Item.js.map +1 -1
  291. package/lib/esm/presentation-common/content/Property.d.ts +57 -57
  292. package/lib/esm/presentation-common/content/Property.d.ts.map +1 -1
  293. package/lib/esm/presentation-common/content/Property.js +37 -37
  294. package/lib/esm/presentation-common/content/Renderer.d.ts +11 -11
  295. package/lib/esm/presentation-common/content/Renderer.js +8 -8
  296. package/lib/esm/presentation-common/content/TypeDescription.d.ts +72 -72
  297. package/lib/esm/presentation-common/content/TypeDescription.d.ts.map +1 -1
  298. package/lib/esm/presentation-common/content/TypeDescription.js +20 -20
  299. package/lib/esm/presentation-common/content/Value.d.ts +189 -189
  300. package/lib/esm/presentation-common/content/Value.d.ts.map +1 -1
  301. package/lib/esm/presentation-common/content/Value.js +270 -270
  302. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.d.ts +37 -37
  303. package/lib/esm/presentation-common/hierarchy/HierarchyLevel.js +28 -28
  304. package/lib/esm/presentation-common/hierarchy/Key.d.ts +246 -246
  305. package/lib/esm/presentation-common/hierarchy/Key.d.ts.map +1 -1
  306. package/lib/esm/presentation-common/hierarchy/Key.js +118 -118
  307. package/lib/esm/presentation-common/hierarchy/Key.js.map +1 -1
  308. package/lib/esm/presentation-common/hierarchy/Node.d.ts +154 -154
  309. package/lib/esm/presentation-common/hierarchy/Node.d.ts.map +1 -1
  310. package/lib/esm/presentation-common/hierarchy/Node.js +103 -103
  311. package/lib/esm/presentation-common/hierarchy/Node.js.map +1 -1
  312. package/lib/esm/presentation-common/hierarchy/NodePathElement.d.ts +96 -96
  313. package/lib/esm/presentation-common/hierarchy/NodePathElement.js +119 -119
  314. package/lib/esm/presentation-common/rules/ClassSpecifications.d.ts +45 -45
  315. package/lib/esm/presentation-common/rules/ClassSpecifications.js +8 -8
  316. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.d.ts +31 -31
  317. package/lib/esm/presentation-common/rules/RelatedInstanceSpecification.js +8 -8
  318. package/lib/esm/presentation-common/rules/RelationshipDirection.d.ts +13 -13
  319. package/lib/esm/presentation-common/rules/RelationshipDirection.js +18 -18
  320. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts +56 -56
  321. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.d.ts.map +1 -1
  322. package/lib/esm/presentation-common/rules/RelationshipPathSpecification.js +8 -8
  323. package/lib/esm/presentation-common/rules/Rule.d.ts +76 -76
  324. package/lib/esm/presentation-common/rules/Rule.js +32 -32
  325. package/lib/esm/presentation-common/rules/Ruleset.d.ts +65 -65
  326. package/lib/esm/presentation-common/rules/Ruleset.js +8 -8
  327. package/lib/esm/presentation-common/rules/SchemasSpecification.d.ts +41 -41
  328. package/lib/esm/presentation-common/rules/SchemasSpecification.js +8 -8
  329. package/lib/esm/presentation-common/rules/Variables.d.ts +58 -58
  330. package/lib/esm/presentation-common/rules/Variables.js +22 -22
  331. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.d.ts +41 -41
  332. package/lib/esm/presentation-common/rules/content/ContentInstancesOfSpecificClassesSpecification.js +8 -8
  333. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.d.ts +25 -25
  334. package/lib/esm/presentation-common/rules/content/ContentRelatedInstancesSpecification.js +8 -8
  335. package/lib/esm/presentation-common/rules/content/ContentRule.d.ts +30 -30
  336. package/lib/esm/presentation-common/rules/content/ContentRule.js +8 -8
  337. package/lib/esm/presentation-common/rules/content/ContentSpecification.d.ts +58 -58
  338. package/lib/esm/presentation-common/rules/content/ContentSpecification.js +17 -17
  339. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.d.ts +19 -19
  340. package/lib/esm/presentation-common/rules/content/DefaultPropertyCategoryOverride.js +8 -8
  341. package/lib/esm/presentation-common/rules/content/PropertySpecification.d.ts +86 -86
  342. package/lib/esm/presentation-common/rules/content/PropertySpecification.js +8 -8
  343. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.d.ts +28 -28
  344. package/lib/esm/presentation-common/rules/content/SelectedNodeInstancesSpecification.js +8 -8
  345. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.d.ts +25 -25
  346. package/lib/esm/presentation-common/rules/content/modifiers/CalculatedPropertiesSpecification.js +8 -8
  347. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.d.ts +57 -57
  348. package/lib/esm/presentation-common/rules/content/modifiers/ContentModifier.js +8 -8
  349. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.d.ts +17 -17
  350. package/lib/esm/presentation-common/rules/content/modifiers/CustomRendererSpecification.js +8 -8
  351. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts +107 -107
  352. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.d.ts.map +1 -1
  353. package/lib/esm/presentation-common/rules/content/modifiers/PropertyCategorySpecification.js +8 -8
  354. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.d.ts +108 -108
  355. package/lib/esm/presentation-common/rules/content/modifiers/PropertyEditorsSpecification.js +18 -18
  356. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.d.ts +96 -96
  357. package/lib/esm/presentation-common/rules/content/modifiers/RelatedPropertiesSpecification.js +40 -40
  358. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.d.ts +44 -44
  359. package/lib/esm/presentation-common/rules/customization/CheckBoxRule.js +8 -8
  360. package/lib/esm/presentation-common/rules/customization/CustomizationRule.d.ts +36 -36
  361. package/lib/esm/presentation-common/rules/customization/CustomizationRule.js +8 -8
  362. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.d.ts +27 -27
  363. package/lib/esm/presentation-common/rules/customization/ExtendedDataRule.js +8 -8
  364. package/lib/esm/presentation-common/rules/customization/GroupingRule.d.ts +207 -207
  365. package/lib/esm/presentation-common/rules/customization/GroupingRule.js +48 -48
  366. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.d.ts +29 -29
  367. package/lib/esm/presentation-common/rules/customization/ImageIdOverride.js +8 -8
  368. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts +158 -158
  369. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.d.ts.map +1 -1
  370. package/lib/esm/presentation-common/rules/customization/InstanceLabelOverride.js +22 -22
  371. package/lib/esm/presentation-common/rules/customization/LabelOverride.d.ts +40 -40
  372. package/lib/esm/presentation-common/rules/customization/LabelOverride.js +8 -8
  373. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts +58 -58
  374. package/lib/esm/presentation-common/rules/customization/SortingRule.d.ts.map +1 -1
  375. package/lib/esm/presentation-common/rules/customization/SortingRule.js +8 -8
  376. package/lib/esm/presentation-common/rules/customization/StyleOverride.d.ts +48 -48
  377. package/lib/esm/presentation-common/rules/customization/StyleOverride.js +8 -8
  378. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.d.ts +14 -14
  379. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeRule.js +8 -8
  380. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts +98 -98
  381. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.d.ts.map +1 -1
  382. package/lib/esm/presentation-common/rules/hierarchy/ChildNodeSpecification.js +18 -18
  383. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.d.ts +31 -31
  384. package/lib/esm/presentation-common/rules/hierarchy/CustomNodeSpecification.js +8 -8
  385. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.d.ts +79 -79
  386. package/lib/esm/presentation-common/rules/hierarchy/CustomQueryInstanceNodesSpecification.js +16 -16
  387. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.d.ts +39 -39
  388. package/lib/esm/presentation-common/rules/hierarchy/InstanceNodesOfSpecificClassesSpecification.js +8 -8
  389. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts +50 -50
  390. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.d.ts.map +1 -1
  391. package/lib/esm/presentation-common/rules/hierarchy/NavigationRule.js +8 -8
  392. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.d.ts +27 -27
  393. package/lib/esm/presentation-common/rules/hierarchy/NodeArtifactsRule.js +8 -8
  394. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.d.ts +27 -27
  395. package/lib/esm/presentation-common/rules/hierarchy/RelatedInstanceNodesSpecification.js +8 -8
  396. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.d.ts +16 -16
  397. package/lib/esm/presentation-common/rules/hierarchy/RootNodeRule.js +8 -8
  398. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.d.ts +35 -35
  399. package/lib/esm/presentation-common/rules/hierarchy/SubCondition.js +8 -8
  400. package/lib/esm/presentation-common/selection/SelectionScope.d.ts +38 -38
  401. package/lib/esm/presentation-common/selection/SelectionScope.d.ts.map +1 -1
  402. package/lib/esm/presentation-common/selection/SelectionScope.js +8 -8
  403. package/lib/esm/presentation-common.d.ts +113 -112
  404. package/lib/esm/presentation-common.d.ts.map +1 -1
  405. package/lib/esm/presentation-common.js +117 -116
  406. package/lib/esm/presentation-common.js.map +1 -1
  407. package/lib/public/locales/en/Presentation.json +15 -0
  408. package/package.json +17 -15
  409. package/lib/cjs/assets/locales/en/BisCore.json +0 -18
  410. package/lib/cjs/assets/locales/en/ECPresentation.json +0 -9
  411. package/lib/cjs/assets/locales/en/RulesEngine.json +0 -6
  412. package/lib/cjs/assets/locales/en-PSEUDO/BisCore.json +0 -18
  413. package/lib/cjs/assets/locales/en-PSEUDO/ECPresentation.json +0 -9
  414. package/lib/cjs/assets/locales/en-PSEUDO/RulesEngine.json +0 -6
  415. package/lib/public/locales/en/BisCore.json +0 -18
  416. package/lib/public/locales/en/ECPresentation.json +0 -9
  417. 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":"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"}
1
+ {"version":3,"file":"RulesetVariables.d.ts","sourceRoot":"","sources":["../../../src/presentation-common/RulesetVariables.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,56 @@
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.RulesetVariable = exports.VariableValueTypes = void 0;
11
- const core_bentley_1 = require("@itwin/core-bentley");
12
- /**
13
- * Possible variable value types
14
- * @public
15
- */
16
- var VariableValueTypes;
17
- (function (VariableValueTypes) {
18
- /** Integer value */
19
- VariableValueTypes["Int"] = "int";
20
- /** Array of integer values */
21
- VariableValueTypes["IntArray"] = "int[]";
22
- /** Boolean value */
23
- VariableValueTypes["Bool"] = "bool";
24
- /** String value */
25
- VariableValueTypes["String"] = "string";
26
- /** Id64String value */
27
- VariableValueTypes["Id64"] = "id64";
28
- /** Array of Id64String values */
29
- VariableValueTypes["Id64Array"] = "id64[]";
30
- })(VariableValueTypes = exports.VariableValueTypes || (exports.VariableValueTypes = {}));
31
- /** @public */
32
- // eslint-disable-next-line @typescript-eslint/no-redeclare
33
- var RulesetVariable;
34
- (function (RulesetVariable) {
35
- /**
36
- * Serialize given RulesetVariable to JSON.
37
- * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].
38
- */
39
- function toJSON(variable) {
40
- if (variable.type === VariableValueTypes.Id64Array)
41
- return { ...variable, value: core_bentley_1.CompressedId64Set.compressArray(variable.value) };
42
- return variable;
43
- }
44
- RulesetVariable.toJSON = toJSON;
45
- /** Deserialize [[RulesetVariable]] from JSON. */
46
- function fromJSON(json) {
47
- if (json.type === VariableValueTypes.Id64Array) {
48
- if (typeof json.value === "string")
49
- return { ...json, value: core_bentley_1.CompressedId64Set.decompressArray(json.value) };
50
- return json; // for some reason TS doesn't understand that `json.value` is always an array here
51
- }
52
- return json;
53
- }
54
- RulesetVariable.fromJSON = fromJSON;
55
- })(RulesetVariable = exports.RulesetVariable || (exports.RulesetVariable = {}));
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.RulesetVariable = exports.VariableValueTypes = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ /**
13
+ * Possible variable value types
14
+ * @public
15
+ */
16
+ var VariableValueTypes;
17
+ (function (VariableValueTypes) {
18
+ /** Integer value */
19
+ VariableValueTypes["Int"] = "int";
20
+ /** Array of integer values */
21
+ VariableValueTypes["IntArray"] = "int[]";
22
+ /** Boolean value */
23
+ VariableValueTypes["Bool"] = "bool";
24
+ /** String value */
25
+ VariableValueTypes["String"] = "string";
26
+ /** Id64String value */
27
+ VariableValueTypes["Id64"] = "id64";
28
+ /** Array of Id64String values */
29
+ VariableValueTypes["Id64Array"] = "id64[]";
30
+ })(VariableValueTypes = exports.VariableValueTypes || (exports.VariableValueTypes = {}));
31
+ /** @public */
32
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
33
+ var RulesetVariable;
34
+ (function (RulesetVariable) {
35
+ /**
36
+ * Serialize given RulesetVariable to JSON.
37
+ * Note: In case of [[Id64sRulesetVariable]], this method expects IDs are sorted. See [[OrderedId64Iterable.sortArray]].
38
+ */
39
+ function toJSON(variable) {
40
+ if (variable.type === VariableValueTypes.Id64Array)
41
+ return { ...variable, value: core_bentley_1.CompressedId64Set.compressArray(variable.value) };
42
+ return variable;
43
+ }
44
+ RulesetVariable.toJSON = toJSON;
45
+ /** Deserialize [[RulesetVariable]] from JSON. */
46
+ function fromJSON(json) {
47
+ if (json.type === VariableValueTypes.Id64Array) {
48
+ if (typeof json.value === "string")
49
+ return { ...json, value: core_bentley_1.CompressedId64Set.decompressArray(json.value) };
50
+ return json; // for some reason TS doesn't understand that `json.value` is always an array here
51
+ }
52
+ return json;
53
+ }
54
+ RulesetVariable.fromJSON = fromJSON;
55
+ })(RulesetVariable = exports.RulesetVariable || (exports.RulesetVariable = {}));
56
56
  //# sourceMappingURL=RulesetVariables.js.map