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

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