@itwin/presentation-hierarchies 1.0.0 → 1.2.0

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 (248) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/lib/cjs/hierarchies/HierarchyErrors.d.ts +1 -1
  3. package/lib/cjs/hierarchies/HierarchyErrors.js +1 -1
  4. package/lib/cjs/hierarchies/HierarchyErrors.js.map +1 -1
  5. package/lib/cjs/hierarchies/HierarchyFiltering.d.ts +12 -11
  6. package/lib/cjs/hierarchies/HierarchyFiltering.d.ts.map +1 -1
  7. package/lib/cjs/hierarchies/HierarchyFiltering.js +16 -21
  8. package/lib/cjs/hierarchies/HierarchyFiltering.js.map +1 -1
  9. package/lib/cjs/hierarchies/HierarchyNode.d.ts +10 -10
  10. package/lib/cjs/hierarchies/HierarchyNode.d.ts.map +1 -1
  11. package/lib/cjs/hierarchies/HierarchyNode.js +13 -13
  12. package/lib/cjs/hierarchies/HierarchyNode.js.map +1 -1
  13. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.d.ts +4 -4
  14. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.d.ts.map +1 -1
  15. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.js +1 -1
  16. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.js.map +1 -1
  17. package/lib/cjs/hierarchies/HierarchyNodeKey.d.ts +13 -13
  18. package/lib/cjs/hierarchies/HierarchyNodeKey.d.ts.map +1 -1
  19. package/lib/cjs/hierarchies/HierarchyNodeKey.js +1 -1
  20. package/lib/cjs/hierarchies/HierarchyNodeKey.js.map +1 -1
  21. package/lib/cjs/hierarchies/HierarchyProvider.d.ts +6 -6
  22. package/lib/cjs/hierarchies/HierarchyProvider.d.ts.map +1 -1
  23. package/lib/cjs/hierarchies/HierarchyProvider.js +6 -6
  24. package/lib/cjs/hierarchies/HierarchyProvider.js.map +1 -1
  25. package/lib/cjs/hierarchies/Logging.d.ts +2 -2
  26. package/lib/cjs/hierarchies/Logging.js +3 -3
  27. package/lib/cjs/hierarchies/Logging.js.map +1 -1
  28. package/lib/cjs/hierarchies/imodel/FilteringHierarchyDefinition.d.ts +9 -18
  29. package/lib/cjs/hierarchies/imodel/FilteringHierarchyDefinition.d.ts.map +1 -1
  30. package/lib/cjs/hierarchies/imodel/FilteringHierarchyDefinition.js +104 -50
  31. package/lib/cjs/hierarchies/imodel/FilteringHierarchyDefinition.js.map +1 -1
  32. package/lib/cjs/hierarchies/imodel/HierarchyCache.d.ts +1 -1
  33. package/lib/cjs/hierarchies/imodel/HierarchyCache.d.ts.map +1 -1
  34. package/lib/cjs/hierarchies/imodel/HierarchyCache.js +2 -2
  35. package/lib/cjs/hierarchies/imodel/HierarchyCache.js.map +1 -1
  36. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.d.ts +14 -14
  37. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.d.ts.map +1 -1
  38. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.js +1 -1
  39. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.js.map +1 -1
  40. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.d.ts +23 -23
  41. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.d.ts.map +1 -1
  42. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.js +5 -5
  43. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.js.map +1 -1
  44. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.d.ts +8 -8
  45. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.d.ts.map +1 -1
  46. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.js +95 -87
  47. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.js.map +1 -1
  48. package/lib/cjs/hierarchies/imodel/LimitingECSqlQueryExecutor.d.ts +2 -2
  49. package/lib/cjs/hierarchies/imodel/LimitingECSqlQueryExecutor.js +17 -14
  50. package/lib/cjs/hierarchies/imodel/LimitingECSqlQueryExecutor.js.map +1 -1
  51. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.d.ts +16 -16
  52. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.d.ts.map +1 -1
  53. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.js +2 -2
  54. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.js.map +1 -1
  55. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts +10 -10
  56. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts.map +1 -1
  57. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.js +5 -10
  58. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.js.map +1 -1
  59. package/lib/cjs/hierarchies/imodel/TreeNodesReader.d.ts +4 -4
  60. package/lib/cjs/hierarchies/imodel/TreeNodesReader.d.ts.map +1 -1
  61. package/lib/cjs/hierarchies/imodel/TreeNodesReader.js +5 -3
  62. package/lib/cjs/hierarchies/imodel/TreeNodesReader.js.map +1 -1
  63. package/lib/cjs/hierarchies/imodel/Utils.d.ts +1 -1
  64. package/lib/cjs/hierarchies/imodel/Utils.d.ts.map +1 -1
  65. package/lib/cjs/hierarchies/imodel/Utils.js +2 -2
  66. package/lib/cjs/hierarchies/imodel/Utils.js.map +1 -1
  67. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.d.ts +1 -1
  68. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.d.ts.map +1 -1
  69. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.js +8 -8
  70. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.js.map +1 -1
  71. package/lib/cjs/hierarchies/imodel/operators/Grouping.d.ts +3 -3
  72. package/lib/cjs/hierarchies/imodel/operators/Grouping.d.ts.map +1 -1
  73. package/lib/cjs/hierarchies/imodel/operators/Grouping.js +42 -42
  74. package/lib/cjs/hierarchies/imodel/operators/Grouping.js.map +1 -1
  75. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.d.ts +1 -1
  76. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.d.ts.map +1 -1
  77. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.js +16 -16
  78. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.js.map +1 -1
  79. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts +1 -1
  80. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts.map +1 -1
  81. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.js +25 -25
  82. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.js.map +1 -1
  83. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.d.ts +1 -1
  84. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.d.ts.map +1 -1
  85. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.js +2 -2
  86. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.js.map +1 -1
  87. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts +3 -3
  88. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts.map +1 -1
  89. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.js +3 -3
  90. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.js.map +1 -1
  91. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts +3 -3
  92. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts.map +1 -1
  93. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.js +2 -2
  94. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.js.map +1 -1
  95. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.d.ts +1 -1
  96. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.d.ts.map +1 -1
  97. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.js +2 -2
  98. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.js.map +1 -1
  99. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts +2 -2
  100. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts.map +1 -1
  101. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.js +2 -2
  102. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.js.map +1 -1
  103. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts +3 -3
  104. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts.map +1 -1
  105. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.js +13 -18
  106. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.js.map +1 -1
  107. package/lib/cjs/hierarchies/imodel/operators/grouping/Shared.d.ts +2 -2
  108. package/lib/cjs/hierarchies/imodel/operators/grouping/Shared.d.ts.map +1 -1
  109. package/lib/cjs/hierarchies/imodel/operators/grouping/Shared.js.map +1 -1
  110. package/lib/cjs/hierarchies/internal/Common.d.ts +1 -1
  111. package/lib/cjs/hierarchies/internal/Common.d.ts.map +1 -1
  112. package/lib/cjs/hierarchies/internal/Common.js +2 -1
  113. package/lib/cjs/hierarchies/internal/Common.js.map +1 -1
  114. package/lib/cjs/hierarchies/internal/EachValueFrom.d.ts.map +1 -1
  115. package/lib/cjs/hierarchies/internal/EachValueFrom.js +3 -0
  116. package/lib/cjs/hierarchies/internal/EachValueFrom.js.map +1 -1
  117. package/lib/cjs/hierarchies/internal/LoggingUtils.js +2 -2
  118. package/lib/cjs/hierarchies/internal/LoggingUtils.js.map +1 -1
  119. package/lib/cjs/hierarchies/internal/operators/Sorting.js +2 -2
  120. package/lib/cjs/hierarchies/internal/operators/Sorting.js.map +1 -1
  121. package/lib/cjs/presentation-hierarchies.d.ts +13 -13
  122. package/lib/cjs/presentation-hierarchies.d.ts.map +1 -1
  123. package/lib/cjs/presentation-hierarchies.js +29 -29
  124. package/lib/cjs/presentation-hierarchies.js.map +1 -1
  125. package/lib/esm/hierarchies/HierarchyErrors.d.ts +1 -1
  126. package/lib/esm/hierarchies/HierarchyErrors.js +1 -1
  127. package/lib/esm/hierarchies/HierarchyErrors.js.map +1 -1
  128. package/lib/esm/hierarchies/HierarchyFiltering.d.ts +12 -11
  129. package/lib/esm/hierarchies/HierarchyFiltering.d.ts.map +1 -1
  130. package/lib/esm/hierarchies/HierarchyFiltering.js +16 -21
  131. package/lib/esm/hierarchies/HierarchyFiltering.js.map +1 -1
  132. package/lib/esm/hierarchies/HierarchyNode.d.ts +10 -10
  133. package/lib/esm/hierarchies/HierarchyNode.d.ts.map +1 -1
  134. package/lib/esm/hierarchies/HierarchyNode.js +3 -3
  135. package/lib/esm/hierarchies/HierarchyNode.js.map +1 -1
  136. package/lib/esm/hierarchies/HierarchyNodeIdentifier.d.ts +4 -4
  137. package/lib/esm/hierarchies/HierarchyNodeIdentifier.d.ts.map +1 -1
  138. package/lib/esm/hierarchies/HierarchyNodeIdentifier.js +1 -1
  139. package/lib/esm/hierarchies/HierarchyNodeIdentifier.js.map +1 -1
  140. package/lib/esm/hierarchies/HierarchyNodeKey.d.ts +13 -13
  141. package/lib/esm/hierarchies/HierarchyNodeKey.d.ts.map +1 -1
  142. package/lib/esm/hierarchies/HierarchyNodeKey.js +1 -1
  143. package/lib/esm/hierarchies/HierarchyNodeKey.js.map +1 -1
  144. package/lib/esm/hierarchies/HierarchyProvider.d.ts +6 -6
  145. package/lib/esm/hierarchies/HierarchyProvider.d.ts.map +1 -1
  146. package/lib/esm/hierarchies/HierarchyProvider.js +3 -3
  147. package/lib/esm/hierarchies/HierarchyProvider.js.map +1 -1
  148. package/lib/esm/hierarchies/Logging.d.ts +2 -2
  149. package/lib/esm/hierarchies/Logging.js +3 -3
  150. package/lib/esm/hierarchies/Logging.js.map +1 -1
  151. package/lib/esm/hierarchies/imodel/FilteringHierarchyDefinition.d.ts +9 -18
  152. package/lib/esm/hierarchies/imodel/FilteringHierarchyDefinition.d.ts.map +1 -1
  153. package/lib/esm/hierarchies/imodel/FilteringHierarchyDefinition.js +92 -38
  154. package/lib/esm/hierarchies/imodel/FilteringHierarchyDefinition.js.map +1 -1
  155. package/lib/esm/hierarchies/imodel/HierarchyCache.d.ts +1 -1
  156. package/lib/esm/hierarchies/imodel/HierarchyCache.d.ts.map +1 -1
  157. package/lib/esm/hierarchies/imodel/HierarchyCache.js +1 -1
  158. package/lib/esm/hierarchies/imodel/HierarchyCache.js.map +1 -1
  159. package/lib/esm/hierarchies/imodel/IModelHierarchyDefinition.d.ts +14 -14
  160. package/lib/esm/hierarchies/imodel/IModelHierarchyDefinition.d.ts.map +1 -1
  161. package/lib/esm/hierarchies/imodel/IModelHierarchyDefinition.js +1 -1
  162. package/lib/esm/hierarchies/imodel/IModelHierarchyDefinition.js.map +1 -1
  163. package/lib/esm/hierarchies/imodel/IModelHierarchyNode.d.ts +23 -23
  164. package/lib/esm/hierarchies/imodel/IModelHierarchyNode.d.ts.map +1 -1
  165. package/lib/esm/hierarchies/imodel/IModelHierarchyNode.js +2 -2
  166. package/lib/esm/hierarchies/imodel/IModelHierarchyNode.js.map +1 -1
  167. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.d.ts +8 -8
  168. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.d.ts.map +1 -1
  169. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.js +49 -41
  170. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.js.map +1 -1
  171. package/lib/esm/hierarchies/imodel/LimitingECSqlQueryExecutor.d.ts +2 -2
  172. package/lib/esm/hierarchies/imodel/LimitingECSqlQueryExecutor.js +11 -8
  173. package/lib/esm/hierarchies/imodel/LimitingECSqlQueryExecutor.js.map +1 -1
  174. package/lib/esm/hierarchies/imodel/NodeSelectQueryFactory.d.ts +16 -16
  175. package/lib/esm/hierarchies/imodel/NodeSelectQueryFactory.d.ts.map +1 -1
  176. package/lib/esm/hierarchies/imodel/NodeSelectQueryFactory.js +2 -2
  177. package/lib/esm/hierarchies/imodel/NodeSelectQueryFactory.js.map +1 -1
  178. package/lib/esm/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts +10 -10
  179. package/lib/esm/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts.map +1 -1
  180. package/lib/esm/hierarchies/imodel/PredicateBasedHierarchyDefinition.js +5 -10
  181. package/lib/esm/hierarchies/imodel/PredicateBasedHierarchyDefinition.js.map +1 -1
  182. package/lib/esm/hierarchies/imodel/TreeNodesReader.d.ts +4 -4
  183. package/lib/esm/hierarchies/imodel/TreeNodesReader.d.ts.map +1 -1
  184. package/lib/esm/hierarchies/imodel/TreeNodesReader.js +6 -4
  185. package/lib/esm/hierarchies/imodel/TreeNodesReader.js.map +1 -1
  186. package/lib/esm/hierarchies/imodel/Utils.d.ts +1 -1
  187. package/lib/esm/hierarchies/imodel/Utils.d.ts.map +1 -1
  188. package/lib/esm/hierarchies/imodel/Utils.js +1 -1
  189. package/lib/esm/hierarchies/imodel/Utils.js.map +1 -1
  190. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.d.ts +1 -1
  191. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.d.ts.map +1 -1
  192. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.js +6 -6
  193. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.js.map +1 -1
  194. package/lib/esm/hierarchies/imodel/operators/Grouping.d.ts +3 -3
  195. package/lib/esm/hierarchies/imodel/operators/Grouping.d.ts.map +1 -1
  196. package/lib/esm/hierarchies/imodel/operators/Grouping.js +22 -22
  197. package/lib/esm/hierarchies/imodel/operators/Grouping.js.map +1 -1
  198. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.d.ts +1 -1
  199. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.d.ts.map +1 -1
  200. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.js +10 -10
  201. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.js.map +1 -1
  202. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts +1 -1
  203. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts.map +1 -1
  204. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.js +14 -14
  205. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.js.map +1 -1
  206. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.d.ts +1 -1
  207. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.d.ts.map +1 -1
  208. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.js +1 -1
  209. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.js.map +1 -1
  210. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts +3 -3
  211. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts.map +1 -1
  212. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.js +2 -2
  213. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.js.map +1 -1
  214. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts +3 -3
  215. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts.map +1 -1
  216. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.js +1 -1
  217. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.js.map +1 -1
  218. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.d.ts +1 -1
  219. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.d.ts.map +1 -1
  220. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.js +1 -1
  221. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.js.map +1 -1
  222. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts +2 -2
  223. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts.map +1 -1
  224. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.js +1 -1
  225. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.js.map +1 -1
  226. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts +3 -3
  227. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts.map +1 -1
  228. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.js +9 -14
  229. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.js.map +1 -1
  230. package/lib/esm/hierarchies/imodel/operators/grouping/Shared.d.ts +2 -2
  231. package/lib/esm/hierarchies/imodel/operators/grouping/Shared.d.ts.map +1 -1
  232. package/lib/esm/hierarchies/imodel/operators/grouping/Shared.js.map +1 -1
  233. package/lib/esm/hierarchies/internal/Common.d.ts +1 -1
  234. package/lib/esm/hierarchies/internal/Common.d.ts.map +1 -1
  235. package/lib/esm/hierarchies/internal/Common.js +2 -1
  236. package/lib/esm/hierarchies/internal/Common.js.map +1 -1
  237. package/lib/esm/hierarchies/internal/EachValueFrom.d.ts.map +1 -1
  238. package/lib/esm/hierarchies/internal/EachValueFrom.js +3 -0
  239. package/lib/esm/hierarchies/internal/EachValueFrom.js.map +1 -1
  240. package/lib/esm/hierarchies/internal/LoggingUtils.js +1 -1
  241. package/lib/esm/hierarchies/internal/LoggingUtils.js.map +1 -1
  242. package/lib/esm/hierarchies/internal/operators/Sorting.js +1 -1
  243. package/lib/esm/hierarchies/internal/operators/Sorting.js.map +1 -1
  244. package/lib/esm/presentation-hierarchies.d.ts +13 -13
  245. package/lib/esm/presentation-hierarchies.d.ts.map +1 -1
  246. package/lib/esm/presentation-hierarchies.js +13 -13
  247. package/lib/esm/presentation-hierarchies.js.map +1 -1
  248. package/package.json +24 -15
@@ -8,36 +8,36 @@ exports.createIModelHierarchyProvider = createIModelHierarchyProvider;
8
8
  const rxjs_1 = require("rxjs");
9
9
  const core_bentley_1 = require("@itwin/core-bentley");
10
10
  const presentation_shared_1 = require("@itwin/presentation-shared");
11
- const HierarchyErrors_1 = require("../HierarchyErrors");
12
- const HierarchyNode_1 = require("../HierarchyNode");
13
- const HierarchyNodeKey_1 = require("../HierarchyNodeKey");
14
- const Common_1 = require("../internal/Common");
15
- const EachValueFrom_1 = require("../internal/EachValueFrom");
16
- const LoggingUtils_1 = require("../internal/LoggingUtils");
17
- const Partition_1 = require("../internal/operators/Partition");
18
- const ReduceToMergeMap_1 = require("../internal/operators/ReduceToMergeMap");
19
- const ShareReplayWithErrors_1 = require("../internal/operators/ShareReplayWithErrors");
20
- const Sorting_1 = require("../internal/operators/Sorting");
21
- const SubscriptionScheduler_1 = require("../internal/SubscriptionScheduler");
22
- const FilteringHierarchyDefinition_1 = require("./FilteringHierarchyDefinition");
23
- const HierarchyCache_1 = require("./HierarchyCache");
24
- const IModelHierarchyDefinition_1 = require("./IModelHierarchyDefinition");
25
- const NodeSelectQueryFactory_1 = require("./NodeSelectQueryFactory");
26
- const DetermineChildren_1 = require("./operators/DetermineChildren");
27
- const Grouping_1 = require("./operators/Grouping");
28
- const HideIfNoChildren_1 = require("./operators/HideIfNoChildren");
29
- const HideNodesInHierarchy_1 = require("./operators/HideNodesInHierarchy");
30
- const TreeNodesReader_1 = require("./TreeNodesReader");
31
- const LOGGING_NAMESPACE = `${Common_1.LOGGING_NAMESPACE}.IModelHierarchyProvider`;
32
- const LOGGING_NAMESPACE_INTERNAL = `${Common_1.LOGGING_NAMESPACE_INTERNAL}.IModelHierarchyProvider`;
33
- const LOGGING_NAMESPACE_PERFORMANCE = `${Common_1.LOGGING_NAMESPACE_PERFORMANCE}.IModelHierarchyProvider`;
11
+ const HierarchyErrors_js_1 = require("../HierarchyErrors.js");
12
+ const HierarchyNode_js_1 = require("../HierarchyNode.js");
13
+ const HierarchyNodeKey_js_1 = require("../HierarchyNodeKey.js");
14
+ const Common_js_1 = require("../internal/Common.js");
15
+ const EachValueFrom_js_1 = require("../internal/EachValueFrom.js");
16
+ const LoggingUtils_js_1 = require("../internal/LoggingUtils.js");
17
+ const Partition_js_1 = require("../internal/operators/Partition.js");
18
+ const ReduceToMergeMap_js_1 = require("../internal/operators/ReduceToMergeMap.js");
19
+ const ShareReplayWithErrors_js_1 = require("../internal/operators/ShareReplayWithErrors.js");
20
+ const Sorting_js_1 = require("../internal/operators/Sorting.js");
21
+ const SubscriptionScheduler_js_1 = require("../internal/SubscriptionScheduler.js");
22
+ const FilteringHierarchyDefinition_js_1 = require("./FilteringHierarchyDefinition.js");
23
+ const HierarchyCache_js_1 = require("./HierarchyCache.js");
24
+ const IModelHierarchyDefinition_js_1 = require("./IModelHierarchyDefinition.js");
25
+ const NodeSelectQueryFactory_js_1 = require("./NodeSelectQueryFactory.js");
26
+ const DetermineChildren_js_1 = require("./operators/DetermineChildren.js");
27
+ const Grouping_js_1 = require("./operators/Grouping.js");
28
+ const HideIfNoChildren_js_1 = require("./operators/HideIfNoChildren.js");
29
+ const HideNodesInHierarchy_js_1 = require("./operators/HideNodesInHierarchy.js");
30
+ const TreeNodesReader_js_1 = require("./TreeNodesReader.js");
31
+ const LOGGING_NAMESPACE = `${Common_js_1.LOGGING_NAMESPACE}.IModelHierarchyProvider`;
32
+ const LOGGING_NAMESPACE_INTERNAL = `${Common_js_1.LOGGING_NAMESPACE_INTERNAL}.IModelHierarchyProvider`;
33
+ const LOGGING_NAMESPACE_PERFORMANCE = `${Common_js_1.LOGGING_NAMESPACE_PERFORMANCE}.IModelHierarchyProvider`;
34
34
  const DEFAULT_QUERY_CONCURRENCY = 10;
35
35
  const DEFAULT_QUERY_CACHE_SIZE = 1;
36
36
  /**
37
37
  * Creates an instance of `HierarchyProvider` that creates a hierarchy based on given iModel and
38
38
  * a hierarchy definition, which defines each hierarchy level through ECSQL queries.
39
39
  *
40
- * @beta
40
+ * @public
41
41
  */
42
42
  function createIModelHierarchyProvider(props) {
43
43
  return new IModelHierarchyProviderImpl(props);
@@ -59,11 +59,11 @@ class IModelHierarchyProviderImpl {
59
59
  this._activeHierarchyDefinition = this._sourceHierarchyDefinition = props.hierarchyDefinition;
60
60
  this._valuesFormatter = props?.formatter ?? (0, presentation_shared_1.createDefaultValueFormatter)();
61
61
  this._localizedStrings = { other: "Other", unspecified: "Not specified", ...props?.localizedStrings };
62
- this._queryScheduler = new SubscriptionScheduler_1.SubscriptionScheduler(props.queryConcurrency ?? DEFAULT_QUERY_CONCURRENCY);
62
+ this._queryScheduler = new SubscriptionScheduler_js_1.SubscriptionScheduler(props.queryConcurrency ?? DEFAULT_QUERY_CONCURRENCY);
63
63
  this.setHierarchyFilter(props.filtering);
64
64
  const queryCacheSize = props.queryCacheSize ?? DEFAULT_QUERY_CACHE_SIZE;
65
65
  if (queryCacheSize !== 0) {
66
- this._nodesCache = new HierarchyCache_1.HierarchyCache({
66
+ this._nodesCache = new HierarchyCache_js_1.HierarchyCache({
67
67
  // we divide the size by 2, because each variation also counts as a query that we cache
68
68
  size: Math.ceil(queryCacheSize / 2),
69
69
  variationsCount: 1,
@@ -82,9 +82,9 @@ class IModelHierarchyProviderImpl {
82
82
  return this._imodelChanged;
83
83
  }
84
84
  invalidateHierarchyCache(reason) {
85
- (0, LoggingUtils_1.doLog)({
85
+ (0, LoggingUtils_js_1.doLog)({
86
86
  category: `${LOGGING_NAMESPACE}.Events`,
87
- message: /* istanbul ignore next */ () => (reason ? `${reason}: clear hierarchy cache` : `Clear hierarchy cache`),
87
+ message: /* c8 ignore next */ () => (reason ? `${reason}: clear hierarchy cache` : `Clear hierarchy cache`),
88
88
  });
89
89
  this._nodesCache?.clear();
90
90
  }
@@ -103,7 +103,7 @@ class IModelHierarchyProviderImpl {
103
103
  }
104
104
  return;
105
105
  }
106
- this._activeHierarchyDefinition = new FilteringHierarchyDefinition_1.FilteringHierarchyDefinition({
106
+ this._activeHierarchyDefinition = new FilteringHierarchyDefinition_js_1.FilteringHierarchyDefinition({
107
107
  imodelAccess: this._imodelAccess,
108
108
  source: this._sourceHierarchyDefinition,
109
109
  nodeIdentifierPaths: props.paths,
@@ -116,16 +116,16 @@ class IModelHierarchyProviderImpl {
116
116
  }
117
117
  createHierarchyLevelDefinitionsObservable(props) {
118
118
  const { requestContext, ...defineHierarchyLevelProps } = props;
119
- (0, LoggingUtils_1.doLog)({
119
+ (0, LoggingUtils_js_1.doLog)({
120
120
  category: LOGGING_NAMESPACE_PERFORMANCE,
121
- message: /* istanbul ignore next */ () => `[${requestContext.requestId}] Requesting hierarchy level definitions for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
121
+ message: /* c8 ignore next */ () => `[${requestContext.requestId}] Requesting hierarchy level definitions for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
122
122
  });
123
123
  return (0, rxjs_1.from)((0, rxjs_1.defer)(async () => {
124
124
  let parentNode = props.parentNode;
125
- if (parentNode && HierarchyNode_1.HierarchyNode.isGeneric(parentNode) && parentNode.key.source && parentNode.key.source !== this._imodelAccess.imodelKey) {
125
+ if (parentNode && HierarchyNode_js_1.HierarchyNode.isGeneric(parentNode) && parentNode.key.source && parentNode.key.source !== this._imodelAccess.imodelKey) {
126
126
  return [];
127
127
  }
128
- if (parentNode && HierarchyNode_1.HierarchyNode.isInstancesNode(parentNode)) {
128
+ if (parentNode && HierarchyNode_js_1.HierarchyNode.isInstancesNode(parentNode)) {
129
129
  parentNode = {
130
130
  ...parentNode,
131
131
  key: {
@@ -133,31 +133,38 @@ class IModelHierarchyProviderImpl {
133
133
  instanceKeys: parentNode.key.instanceKeys.filter((ik) => !ik.imodelKey || ik.imodelKey === this._imodelAccess.imodelKey),
134
134
  },
135
135
  };
136
- (0, core_bentley_1.assert)(HierarchyNodeKey_1.HierarchyNodeKey.isInstances(parentNode.key));
136
+ (0, core_bentley_1.assert)(HierarchyNodeKey_js_1.HierarchyNodeKey.isInstances(parentNode.key));
137
137
  if (parentNode.key.instanceKeys.length === 0) {
138
138
  return [];
139
139
  }
140
140
  }
141
141
  return this._activeHierarchyDefinition.defineHierarchyLevel({ ...defineHierarchyLevelProps, parentNode });
142
- })).pipe((0, rxjs_1.mergeAll)(), (0, rxjs_1.finalize)(() => (0, LoggingUtils_1.doLog)({
142
+ })).pipe((0, rxjs_1.mergeAll)(), (0, rxjs_1.finalize)(() => (0, LoggingUtils_js_1.doLog)({
143
143
  category: LOGGING_NAMESPACE_PERFORMANCE,
144
- message: /* istanbul ignore next */ () => `[${requestContext.requestId}] Received all hierarchy level definitions for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
144
+ message: /* c8 ignore next */ () => `[${requestContext.requestId}] Received all hierarchy level definitions for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
145
145
  })));
146
146
  }
147
147
  createSourceNodesObservable(props) {
148
148
  // pipe definitions to nodes and put "share replay" on it
149
149
  return this.createHierarchyLevelDefinitionsObservable(props).pipe((0, rxjs_1.mergeMap)((def) => {
150
- if (IModelHierarchyDefinition_1.HierarchyNodesDefinition.isGenericNode(def)) {
150
+ if (IModelHierarchyDefinition_js_1.HierarchyNodesDefinition.isGenericNode(def)) {
151
151
  return (0, rxjs_1.of)({ ...def.node, key: { type: "generic", id: def.node.key, source: this._imodelAccess.imodelKey } });
152
152
  }
153
- return this._queryScheduler.scheduleSubscription((0, rxjs_1.of)(def.query).pipe((0, rxjs_1.map)((query) => filterQueryByInstanceKeys(query, props.filteredInstanceKeys)), (0, rxjs_1.mergeMap)((query) => (0, TreeNodesReader_1.readNodes)({ queryExecutor: this._imodelAccess, query, limit: props.hierarchyLevelSizeLimit, parser: this._activeHierarchyDefinition.parseNode })), (0, rxjs_1.map)((node) => ({
153
+ return this._queryScheduler.scheduleSubscription((0, rxjs_1.of)(def.query).pipe((0, rxjs_1.map)((query) => filterQueryByInstanceKeys(query, props.filteredInstanceKeys)), (0, rxjs_1.mergeMap)((query) => (0, TreeNodesReader_js_1.readNodes)({
154
+ queryExecutor: this._imodelAccess,
155
+ query,
156
+ limit: props.hierarchyLevelSizeLimit,
157
+ parser: this._activeHierarchyDefinition.parseNode
158
+ ? async (row) => this._activeHierarchyDefinition.parseNode(row, props.parentNode)
159
+ : undefined,
160
+ })), (0, rxjs_1.map)((node) => ({
154
161
  ...node,
155
162
  key: { ...node.key, instanceKeys: node.key.instanceKeys.map((key) => ({ ...key, imodelKey: this._imodelAccess.imodelKey })) },
156
163
  }))));
157
- }), (0, rxjs_1.finalize)(() => (0, LoggingUtils_1.doLog)({
164
+ }), (0, rxjs_1.finalize)(() => (0, LoggingUtils_js_1.doLog)({
158
165
  category: LOGGING_NAMESPACE_PERFORMANCE,
159
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Read all child nodes ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
160
- })), (0, ShareReplayWithErrors_1.shareReplayWithErrors)());
166
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Read all child nodes ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
167
+ })), (0, ShareReplayWithErrors_js_1.shareReplayWithErrors)());
161
168
  }
162
169
  createPreProcessedNodesObservable(queryNodesObservable, props) {
163
170
  return queryNodesObservable.pipe(
@@ -170,57 +177,56 @@ class IModelHierarchyProviderImpl {
170
177
  // we have `ProcessedHierarchyNode` from here
171
178
  preProcessNodes(this._activeHierarchyDefinition),
172
179
  // process hiding
173
- (0, HideIfNoChildren_1.createHideIfNoChildrenOperator)((n) => this.getChildNodesObservables({ parentNode: n, requestContext: props.requestContext }).hasNodes), (0, HideNodesInHierarchy_1.createHideNodesInHierarchyOperator)(
180
+ (0, HideIfNoChildren_js_1.createHideIfNoChildrenOperator)((n) => this.getChildNodesObservables({ parentNode: n, requestContext: props.requestContext }).hasNodes), (0, HideNodesInHierarchy_js_1.createHideNodesInHierarchyOperator)(
174
181
  // note: for child nodes created because of hidden parent, we want to use parent's request props (instance filter, limit)
175
- (n) => this.getChildNodesObservables({ ...props, parentNode: n }).processedNodes, false), (0, rxjs_1.finalize)(() => (0, LoggingUtils_1.doLog)({
182
+ (n) => this.getChildNodesObservables({ ...props, parentNode: n }).processedNodes, false), (0, rxjs_1.finalize)(() => (0, LoggingUtils_js_1.doLog)({
176
183
  category: LOGGING_NAMESPACE_PERFORMANCE,
177
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Finished pre-processing child nodes for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
184
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Finished pre-processing child nodes for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
178
185
  })));
179
186
  }
180
187
  createProcessedNodesObservable(preprocessedNodesObservable, props) {
181
- return preprocessedNodesObservable.pipe((0, Grouping_1.createGroupingOperator)(this._imodelAccess, props.parentNode, this._valuesFormatter, this._localizedStrings, (gn) => this.onGroupingNodeCreated(gn, props)), (0, rxjs_1.finalize)(() => (0, LoggingUtils_1.doLog)({
188
+ return preprocessedNodesObservable.pipe((0, Grouping_js_1.createGroupingOperator)(this._imodelAccess, props.parentNode, this._valuesFormatter, this._localizedStrings, (gn) => this.onGroupingNodeCreated(gn, props)), (0, rxjs_1.finalize)(() => (0, LoggingUtils_js_1.doLog)({
182
189
  category: LOGGING_NAMESPACE_PERFORMANCE,
183
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Finished grouping child nodes for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
190
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Finished grouping child nodes for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
184
191
  })));
185
192
  }
186
193
  createFinalizedNodesObservable(processedNodesObservable, props) {
187
- return processedNodesObservable.pipe((0, DetermineChildren_1.createDetermineChildrenOperator)((n) => this.getChildNodesObservables({ parentNode: n, requestContext: props.requestContext }).hasNodes), postProcessNodes(this._activeHierarchyDefinition), Sorting_1.sortNodesByLabelOperator, (0, rxjs_1.map)((n) => {
194
+ return processedNodesObservable.pipe((0, DetermineChildren_js_1.createDetermineChildrenOperator)((n) => this.getChildNodesObservables({ parentNode: n, requestContext: props.requestContext }).hasNodes), postProcessNodes(this._activeHierarchyDefinition), Sorting_js_1.sortNodesByLabelOperator, (0, rxjs_1.map)((n) => {
188
195
  if ("processingParams" in n) {
189
196
  delete n.processingParams;
190
197
  }
191
198
  return Object.assign(n, {
192
- children: (0, Common_1.hasChildren)(n),
199
+ children: (0, Common_js_1.hasChildren)(n),
193
200
  });
194
- }), (0, rxjs_1.takeUntil)(this._dispose), (0, rxjs_1.finalize)(() => (0, LoggingUtils_1.doLog)({
201
+ }), (0, rxjs_1.takeUntil)(this._dispose), (0, rxjs_1.finalize)(() => (0, LoggingUtils_js_1.doLog)({
195
202
  category: LOGGING_NAMESPACE_PERFORMANCE,
196
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Finished finalizing child nodes for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
203
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Finished finalizing child nodes for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
197
204
  })));
198
205
  }
199
206
  createHasNodesObservable(preprocessedNodesObservable, possiblyKnownChildrenObservable, props) {
200
207
  const loggingCategory = `${LOGGING_NAMESPACE_INTERNAL}.HasNodes`;
201
- return (0, rxjs_1.concat)((possiblyKnownChildrenObservable ?? rxjs_1.EMPTY).pipe((0, rxjs_1.filter)((n) => (0, Common_1.hasChildren)(n))), preprocessedNodesObservable).pipe((0, LoggingUtils_1.log)({
208
+ return (0, rxjs_1.concat)((possiblyKnownChildrenObservable ?? rxjs_1.EMPTY).pipe((0, rxjs_1.filter)((n) => (0, Common_js_1.hasChildren)(n))), preprocessedNodesObservable).pipe((0, LoggingUtils_js_1.log)({
202
209
  category: loggingCategory,
203
- message: /* istanbul ignore next */ (n) => `[${props.requestContext.requestId}] Node before mapping to 'true': ${(0, Common_1.createNodeIdentifierForLogging)(n)}`,
210
+ message: /* c8 ignore next */ (n) => `[${props.requestContext.requestId}] Node before mapping to 'true': ${(0, Common_js_1.createNodeIdentifierForLogging)(n)}`,
204
211
  }), (0, rxjs_1.take)(1), (0, rxjs_1.map)(() => true), (0, rxjs_1.defaultIfEmpty)(false), (0, rxjs_1.catchError)((e) => {
205
- (0, LoggingUtils_1.doLog)({
212
+ (0, LoggingUtils_js_1.doLog)({
206
213
  category: loggingCategory,
207
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Error while determining children: ${e.message}`,
214
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Error while determining children: ${e.message}`,
208
215
  });
209
- if (e instanceof HierarchyErrors_1.RowsLimitExceededError) {
216
+ if (e instanceof HierarchyErrors_js_1.RowsLimitExceededError) {
210
217
  return (0, rxjs_1.of)(true);
211
218
  }
212
219
  throw e;
213
- }), (0, LoggingUtils_1.log)({ category: loggingCategory, message: /* istanbul ignore next */ (r) => `[${props.requestContext.requestId}] Result: ${r}` }));
220
+ }), (0, LoggingUtils_js_1.log)({ category: loggingCategory, message: /* c8 ignore next */ (r) => `[${props.requestContext.requestId}] Result: ${r}` }));
214
221
  }
215
222
  getCachedObservableEntry(props) {
216
223
  const loggingCategory = `${LOGGING_NAMESPACE}.QueryResultsCache`;
217
224
  const { parentNode, ...restProps } = props;
218
225
  const cached = props.ignoreCache || !this._nodesCache ? undefined : this._nodesCache.get(props);
219
226
  if (cached) {
220
- // istanbul ignore next
221
- (0, LoggingUtils_1.doLog)({
227
+ (0, LoggingUtils_js_1.doLog)({
222
228
  category: loggingCategory,
223
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Found query nodes observable for ${(0, Common_1.createNodeIdentifierForLogging)(parentNode)}`,
229
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Found query nodes observable for ${(0, Common_js_1.createNodeIdentifierForLogging)(parentNode)}`,
224
230
  });
225
231
  return cached;
226
232
  }
@@ -229,13 +235,13 @@ class IModelHierarchyProviderImpl {
229
235
  let filteredInstanceKeys;
230
236
  let parentNonGroupingNode;
231
237
  if (parentNode) {
232
- if (HierarchyNode_1.HierarchyNode.isGroupingNode(parentNode)) {
238
+ if (HierarchyNode_js_1.HierarchyNode.isGroupingNode(parentNode)) {
233
239
  parentNonGroupingNode = parentNode.nonGroupingAncestor;
234
240
  filteredInstanceKeys = parentNode.groupedInstanceKeys;
235
241
  }
236
242
  else {
237
243
  // not sure why type checker doesn't pick this up
238
- (0, core_bentley_1.assert)(HierarchyNode_1.HierarchyNode.isGeneric(parentNode) || HierarchyNode_1.HierarchyNode.isInstancesNode(parentNode));
244
+ (0, core_bentley_1.assert)(HierarchyNode_js_1.HierarchyNode.isGeneric(parentNode) || HierarchyNode_js_1.HierarchyNode.isInstancesNode(parentNode));
239
245
  parentNonGroupingNode = parentNode;
240
246
  }
241
247
  }
@@ -246,9 +252,9 @@ class IModelHierarchyProviderImpl {
246
252
  };
247
253
  const value = { observable: this.createSourceNodesObservable(nonGroupingNodeChildrenRequestProps), processingStatus: "none" };
248
254
  this._nodesCache?.set(nonGroupingNodeChildrenRequestProps, value);
249
- (0, LoggingUtils_1.doLog)({
255
+ (0, LoggingUtils_js_1.doLog)({
250
256
  category: loggingCategory,
251
- message: /* istanbul ignore next */ () => `[${props.requestContext.requestId}] Saved query nodes observable for ${(0, Common_1.createNodeIdentifierForLogging)(parentNode)}`,
257
+ message: /* c8 ignore next */ () => `[${props.requestContext.requestId}] Saved query nodes observable for ${(0, Common_js_1.createNodeIdentifierForLogging)(parentNode)}`,
252
258
  });
253
259
  return value;
254
260
  }
@@ -283,38 +289,39 @@ class IModelHierarchyProviderImpl {
283
289
  const timer = new core_bentley_1.StopWatch(undefined, true);
284
290
  let error;
285
291
  let nodesCount = 0;
286
- (0, LoggingUtils_1.doLog)({
292
+ (0, LoggingUtils_js_1.doLog)({
287
293
  category: loggingCategory,
288
- message: /* istanbul ignore next */ () => `[${requestContext.requestId}] Requesting child nodes for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
294
+ message: /* c8 ignore next */ () => `[${requestContext.requestId}] Requesting child nodes for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
289
295
  });
290
- return (0, EachValueFrom_1.eachValueFrom)(this.getChildNodesObservables({ ...props, requestContext }).finalizedNodes.pipe((0, rxjs_1.tap)(() => ++nodesCount), (0, rxjs_1.catchError)((e) => {
296
+ return (0, EachValueFrom_js_1.eachValueFrom)(this.getChildNodesObservables({ ...props, requestContext }).finalizedNodes.pipe((0, rxjs_1.tap)(() => ++nodesCount), (0, rxjs_1.catchError)((e) => {
291
297
  error = e;
292
298
  throw e;
293
299
  }), (0, rxjs_1.finalize)(() => {
294
- (0, LoggingUtils_1.doLog)({
300
+ (0, LoggingUtils_js_1.doLog)({
295
301
  category: loggingCategory,
296
- message: /* istanbul ignore next */ () => error
297
- ? `[${requestContext.requestId}] Error creating child nodes for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}: ${error instanceof Error ? error.message : error.toString()}`
298
- : `[${requestContext.requestId}] Returned ${nodesCount} child nodes for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)} in ${timer.currentSeconds.toFixed(2)} s.`,
302
+ message: /* c8 ignore next */ () =>
303
+ /* c8 ignore next 3 */ error
304
+ ? `[${requestContext.requestId}] Error creating child nodes for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}: ${error instanceof Error ? error.message : error.toString()}`
305
+ : `[${requestContext.requestId}] Returned ${nodesCount} child nodes for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)} in ${timer.currentSeconds.toFixed(2)} s.`,
299
306
  });
300
307
  })));
301
308
  }
302
309
  getNodeInstanceKeysObs(props) {
303
310
  const { parentNode, instanceFilter, hierarchyLevelSizeLimit = "unbounded", requestContext } = props;
304
- if (parentNode && HierarchyNode_1.HierarchyNode.isGroupingNode(parentNode)) {
311
+ if (parentNode && HierarchyNode_js_1.HierarchyNode.isGroupingNode(parentNode)) {
305
312
  return (0, rxjs_1.from)(parentNode.groupedInstanceKeys);
306
313
  }
307
- (0, core_bentley_1.assert)(!parentNode || HierarchyNode_1.HierarchyNode.isGeneric(parentNode) || HierarchyNode_1.HierarchyNode.isInstancesNode(parentNode));
314
+ (0, core_bentley_1.assert)(!parentNode || HierarchyNode_js_1.HierarchyNode.isGeneric(parentNode) || HierarchyNode_js_1.HierarchyNode.isInstancesNode(parentNode));
308
315
  const hierarchyLevelDefinitions = this.createHierarchyLevelDefinitionsObservable({ parentNode, instanceFilter, requestContext });
309
316
  // split the definitions based on whether they're for generic nodes or for instance nodes
310
- const [genericDefs, instanceDefs] = (0, Partition_1.partition)(hierarchyLevelDefinitions, IModelHierarchyDefinition_1.HierarchyNodesDefinition.isGenericNode);
317
+ const [genericDefs, instanceDefs] = (0, Partition_js_1.partition)(hierarchyLevelDefinitions, IModelHierarchyDefinition_js_1.HierarchyNodesDefinition.isGenericNode);
311
318
  // query instance keys and a flag whether they should be hidden
312
319
  const instanceKeys = instanceDefs.pipe((0, rxjs_1.mergeMap)((def) => this._queryScheduler.scheduleSubscription((0, rxjs_1.of)(def.query).pipe((0, rxjs_1.mergeMap)(async (query) => {
313
320
  const ecsql = `
314
321
  SELECT
315
- ${NodeSelectQueryFactory_1.NodeSelectClauseColumnNames.FullClassName},
316
- ${NodeSelectQueryFactory_1.NodeSelectClauseColumnNames.ECInstanceId},
317
- ${NodeSelectQueryFactory_1.NodeSelectClauseColumnNames.HideNodeInHierarchy}
322
+ ${NodeSelectQueryFactory_js_1.NodeSelectClauseColumnNames.FullClassName},
323
+ ${NodeSelectQueryFactory_js_1.NodeSelectClauseColumnNames.ECInstanceId},
324
+ ${NodeSelectQueryFactory_js_1.NodeSelectClauseColumnNames.HideNodeInHierarchy}
318
325
  FROM (
319
326
  ${query.ecsql}
320
327
  )
@@ -330,7 +337,7 @@ class IModelHierarchyProviderImpl {
330
337
  })));
331
338
  }), (0, rxjs_1.mergeAll)()))));
332
339
  // split the instance keys observable based on whether they should be hidden or not
333
- const [visibleNodeInstanceKeys, hiddenNodeInstanceKeys] = (0, Partition_1.partition)(instanceKeys, ({ hide }) => !hide);
340
+ const [visibleNodeInstanceKeys, hiddenNodeInstanceKeys] = (0, Partition_js_1.partition)(instanceKeys, ({ hide }) => !hide);
334
341
  // hidden items' handling:
335
342
  // - if a generic node is hidden, we'll want to retrieve instance keys of its children, otherwise we don't care about it,
336
343
  // - if an instance key is hidden, we want to create a merged node similar to what we do in `createHideNodesInHierarchyOperator`
@@ -340,7 +347,7 @@ class IModelHierarchyProviderImpl {
340
347
  source: this._imodelAccess.imodelKey,
341
348
  }))), hiddenNodeInstanceKeys.pipe(
342
349
  // first merge all keys by class
343
- (0, ReduceToMergeMap_1.reduceToMergeMapList)(({ key }) => key.className, ({ key }) => key.id),
350
+ (0, ReduceToMergeMap_js_1.reduceToMergeMapList)(({ key }) => key.className, ({ key }) => key.id),
344
351
  // then, for each class, create an instance key
345
352
  (0, rxjs_1.mergeMap)((mergedMap) => [...mergedMap.entries()].map(([className, ids]) => ({
346
353
  type: "instances",
@@ -361,21 +368,22 @@ class IModelHierarchyProviderImpl {
361
368
  const requestContext = { requestId: core_bentley_1.Guid.createValue() };
362
369
  const loggingCategory = `${LOGGING_NAMESPACE}.GetNodeInstanceKeys`;
363
370
  const timer = new core_bentley_1.StopWatch(undefined, true);
364
- (0, LoggingUtils_1.doLog)({
371
+ (0, LoggingUtils_js_1.doLog)({
365
372
  category: loggingCategory,
366
- message: /* istanbul ignore next */ () => `[${requestContext.requestId}] Requesting keys for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}`,
373
+ message: /* c8 ignore next */ () => `[${requestContext.requestId}] Requesting keys for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}`,
367
374
  });
368
375
  let error;
369
376
  let keysCount = 0;
370
- return (0, EachValueFrom_1.eachValueFrom)(this.getNodeInstanceKeysObs({ ...props, requestContext }).pipe((0, rxjs_1.tap)(() => ++keysCount), (0, rxjs_1.catchError)((e) => {
377
+ return (0, EachValueFrom_js_1.eachValueFrom)(this.getNodeInstanceKeysObs({ ...props, requestContext }).pipe((0, rxjs_1.tap)(() => ++keysCount), (0, rxjs_1.catchError)((e) => {
371
378
  error = e;
372
379
  throw e;
373
380
  }), (0, rxjs_1.finalize)(() => {
374
- (0, LoggingUtils_1.doLog)({
381
+ (0, LoggingUtils_js_1.doLog)({
375
382
  category: loggingCategory,
376
- message: /* istanbul ignore next */ () => error
377
- ? `[${requestContext.requestId}] Error creating node instance keys for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)}: ${error instanceof Error ? error.message : error.toString()}`
378
- : `[${requestContext.requestId}] Returned ${keysCount} instance keys for ${(0, Common_1.createNodeIdentifierForLogging)(props.parentNode)} in ${timer.currentSeconds.toFixed(2)} s.`,
383
+ message: /* c8 ignore next */ () =>
384
+ /* c8 ignore next 3 */ error
385
+ ? `[${requestContext.requestId}] Error creating node instance keys for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)}: ${error instanceof Error ? error.message : error.toString()}`
386
+ : `[${requestContext.requestId}] Returned ${keysCount} instance keys for ${(0, Common_js_1.createNodeIdentifierForLogging)(props.parentNode)} in ${timer.currentSeconds.toFixed(2)} s.`,
379
387
  });
380
388
  })));
381
389
  }
@@ -413,7 +421,6 @@ function filterQueryByInstanceKeys(query, filteredInstanceKeys) {
413
421
  return query;
414
422
  }
415
423
  const MAX_ALLOWED_BINDINGS = 1000;
416
- // istanbul ignore else
417
424
  if (filteredInstanceKeys.length < MAX_ALLOWED_BINDINGS) {
418
425
  return {
419
426
  ...query,
@@ -425,7 +432,7 @@ function filterQueryByInstanceKeys(query, filteredInstanceKeys) {
425
432
  bindings: [...(query.bindings ?? []), ...filteredInstanceKeys.map((k) => ({ type: "id", value: k.id }))],
426
433
  };
427
434
  }
428
- // istanbul ignore next
435
+ /* c8 ignore start */
429
436
  return {
430
437
  ...query,
431
438
  ecsql: `
@@ -435,5 +442,6 @@ function filterQueryByInstanceKeys(query, filteredInstanceKeys) {
435
442
  `,
436
443
  bindings: [...(query.bindings ?? []), { type: "idset", value: filteredInstanceKeys.map((k) => k.id) }],
437
444
  };
445
+ /* c8 ignore end */
438
446
  }
439
447
  //# sourceMappingURL=IModelHierarchyProvider.js.map