@itwin/presentation-hierarchies 2.0.0-alpha.16 → 2.0.0-alpha.17

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 (422) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/hierarchies/HierarchyErrors.d.ts.map +1 -0
  3. package/lib/hierarchies/HierarchyErrors.js.map +1 -0
  4. package/lib/hierarchies/HierarchyMerge.d.ts.map +1 -0
  5. package/lib/hierarchies/HierarchyMerge.js.map +1 -0
  6. package/lib/hierarchies/HierarchyNode.d.ts.map +1 -0
  7. package/lib/hierarchies/HierarchyNode.js.map +1 -0
  8. package/lib/hierarchies/HierarchyNodeIdentifier.d.ts.map +1 -0
  9. package/lib/hierarchies/HierarchyNodeIdentifier.js.map +1 -0
  10. package/lib/{esm/hierarchies → hierarchies}/HierarchyNodeKey.d.ts +4 -4
  11. package/lib/hierarchies/HierarchyNodeKey.d.ts.map +1 -0
  12. package/lib/{esm/hierarchies → hierarchies}/HierarchyNodeKey.js +5 -5
  13. package/lib/hierarchies/HierarchyNodeKey.js.map +1 -0
  14. package/lib/hierarchies/HierarchyProvider.d.ts.map +1 -0
  15. package/lib/hierarchies/HierarchyProvider.js.map +1 -0
  16. package/lib/hierarchies/HierarchySearch.d.ts.map +1 -0
  17. package/lib/hierarchies/HierarchySearch.js.map +1 -0
  18. package/lib/hierarchies/Logging.d.ts.map +1 -0
  19. package/lib/hierarchies/Logging.js.map +1 -0
  20. package/lib/hierarchies/imodel/HierarchyCache.d.ts.map +1 -0
  21. package/lib/hierarchies/imodel/HierarchyCache.js.map +1 -0
  22. package/lib/{esm/hierarchies → hierarchies}/imodel/IModelHierarchyDefinition.d.ts +1 -1
  23. package/lib/hierarchies/imodel/IModelHierarchyDefinition.d.ts.map +1 -0
  24. package/lib/hierarchies/imodel/IModelHierarchyDefinition.js.map +1 -0
  25. package/lib/{esm/hierarchies → hierarchies}/imodel/IModelHierarchyNode.d.ts +2 -2
  26. package/lib/hierarchies/imodel/IModelHierarchyNode.d.ts.map +1 -0
  27. package/lib/hierarchies/imodel/IModelHierarchyNode.js.map +1 -0
  28. package/lib/hierarchies/imodel/IModelHierarchyProvider.d.ts.map +1 -0
  29. package/lib/hierarchies/imodel/IModelHierarchyProvider.js.map +1 -0
  30. package/lib/hierarchies/imodel/LimitingECSqlQueryExecutor.d.ts.map +1 -0
  31. package/lib/hierarchies/imodel/LimitingECSqlQueryExecutor.js.map +1 -0
  32. package/lib/{esm/hierarchies → hierarchies}/imodel/NodeSelectQueryFactory.d.ts +4 -4
  33. package/lib/hierarchies/imodel/NodeSelectQueryFactory.d.ts.map +1 -0
  34. package/lib/{esm/hierarchies → hierarchies}/imodel/NodeSelectQueryFactory.js +5 -5
  35. package/lib/hierarchies/imodel/NodeSelectQueryFactory.js.map +1 -0
  36. package/lib/{esm/hierarchies → hierarchies}/imodel/PredicateBasedHierarchyDefinition.d.ts +2 -2
  37. package/lib/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts.map +1 -0
  38. package/lib/hierarchies/imodel/PredicateBasedHierarchyDefinition.js.map +1 -0
  39. package/lib/hierarchies/imodel/SearchHierarchyDefinition.d.ts.map +1 -0
  40. package/lib/{esm/hierarchies → hierarchies}/imodel/SearchHierarchyDefinition.js +3 -4
  41. package/lib/hierarchies/imodel/SearchHierarchyDefinition.js.map +1 -0
  42. package/lib/{esm/hierarchies → hierarchies}/imodel/TreeNodesReader.d.ts +1 -1
  43. package/lib/hierarchies/imodel/TreeNodesReader.d.ts.map +1 -0
  44. package/lib/{esm/hierarchies → hierarchies}/imodel/TreeNodesReader.js +2 -5
  45. package/lib/hierarchies/imodel/TreeNodesReader.js.map +1 -0
  46. package/lib/hierarchies/imodel/Utils.d.ts.map +1 -0
  47. package/lib/hierarchies/imodel/Utils.js.map +1 -0
  48. package/lib/hierarchies/imodel/operators/DetermineChildren.d.ts.map +1 -0
  49. package/lib/hierarchies/imodel/operators/DetermineChildren.js.map +1 -0
  50. package/lib/hierarchies/imodel/operators/Grouping.d.ts.map +1 -0
  51. package/lib/hierarchies/imodel/operators/Grouping.js.map +1 -0
  52. package/lib/hierarchies/imodel/operators/HideIfNoChildren.d.ts.map +1 -0
  53. package/lib/hierarchies/imodel/operators/HideIfNoChildren.js.map +1 -0
  54. package/lib/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts.map +1 -0
  55. package/lib/hierarchies/imodel/operators/HideNodesInHierarchy.js.map +1 -0
  56. package/lib/hierarchies/imodel/operators/grouping/AutoExpand.d.ts.map +1 -0
  57. package/lib/hierarchies/imodel/operators/grouping/AutoExpand.js.map +1 -0
  58. package/lib/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts.map +1 -0
  59. package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/BaseClassGrouping.js +4 -4
  60. package/lib/hierarchies/imodel/operators/grouping/BaseClassGrouping.js.map +1 -0
  61. package/lib/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts.map +1 -0
  62. package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/ClassGrouping.js +3 -3
  63. package/lib/hierarchies/imodel/operators/grouping/ClassGrouping.js.map +1 -0
  64. package/lib/hierarchies/imodel/operators/grouping/GroupHiding.d.ts.map +1 -0
  65. package/lib/hierarchies/imodel/operators/grouping/GroupHiding.js.map +1 -0
  66. package/lib/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts.map +1 -0
  67. package/lib/hierarchies/imodel/operators/grouping/LabelGrouping.js.map +1 -0
  68. package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/PropertiesGrouping.d.ts +1 -1
  69. package/lib/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts.map +1 -0
  70. package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/PropertiesGrouping.js +10 -9
  71. package/lib/hierarchies/imodel/operators/grouping/PropertiesGrouping.js.map +1 -0
  72. package/lib/hierarchies/imodel/operators/grouping/Shared.d.ts.map +1 -0
  73. package/lib/hierarchies/imodel/operators/grouping/Shared.js.map +1 -0
  74. package/lib/hierarchies/internal/Common.d.ts.map +1 -0
  75. package/lib/hierarchies/internal/Common.js.map +1 -0
  76. package/lib/hierarchies/internal/DisposePolyfill.d.ts.map +1 -0
  77. package/lib/hierarchies/internal/DisposePolyfill.js.map +1 -0
  78. package/lib/hierarchies/internal/EachValueFrom.d.ts.map +1 -0
  79. package/lib/hierarchies/internal/EachValueFrom.js.map +1 -0
  80. package/lib/hierarchies/internal/LoggingUtils.d.ts.map +1 -0
  81. package/lib/hierarchies/internal/LoggingUtils.js.map +1 -0
  82. package/lib/hierarchies/internal/RxjsHierarchyDefinition.d.ts.map +1 -0
  83. package/lib/hierarchies/internal/RxjsHierarchyDefinition.js.map +1 -0
  84. package/lib/hierarchies/internal/SubscriptionScheduler.d.ts.map +1 -0
  85. package/lib/hierarchies/internal/SubscriptionScheduler.js.map +1 -0
  86. package/lib/hierarchies/internal/operators/Partition.d.ts.map +1 -0
  87. package/lib/hierarchies/internal/operators/Partition.js.map +1 -0
  88. package/lib/hierarchies/internal/operators/ReduceToMergeMap.d.ts.map +1 -0
  89. package/lib/hierarchies/internal/operators/ReduceToMergeMap.js.map +1 -0
  90. package/lib/hierarchies/internal/operators/ReleaseMainThread.d.ts.map +1 -0
  91. package/lib/hierarchies/internal/operators/ReleaseMainThread.js.map +1 -0
  92. package/lib/hierarchies/internal/operators/ShareReplayWithErrors.d.ts.map +1 -0
  93. package/lib/hierarchies/internal/operators/ShareReplayWithErrors.js.map +1 -0
  94. package/lib/hierarchies/internal/operators/Sorting.d.ts.map +1 -0
  95. package/lib/hierarchies/internal/operators/Sorting.js.map +1 -0
  96. package/lib/hierarchies/internal/operators/TapOnce.d.ts.map +1 -0
  97. package/lib/hierarchies/internal/operators/TapOnce.js.map +1 -0
  98. package/lib/presentation-hierarchies.d.ts.map +1 -0
  99. package/lib/{cjs/presentation-hierarchies.js.map → presentation-hierarchies.js.map} +1 -1
  100. package/package.json +18 -20
  101. package/lib/cjs/hierarchies/HierarchyErrors.d.ts.map +0 -1
  102. package/lib/cjs/hierarchies/HierarchyErrors.js +0 -20
  103. package/lib/cjs/hierarchies/HierarchyErrors.js.map +0 -1
  104. package/lib/cjs/hierarchies/HierarchyMerge.d.ts.map +0 -1
  105. package/lib/cjs/hierarchies/HierarchyMerge.js +0 -43
  106. package/lib/cjs/hierarchies/HierarchyMerge.js.map +0 -1
  107. package/lib/cjs/hierarchies/HierarchyNode.d.ts.map +0 -1
  108. package/lib/cjs/hierarchies/HierarchyNode.js +0 -82
  109. package/lib/cjs/hierarchies/HierarchyNode.js.map +0 -1
  110. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.d.ts.map +0 -1
  111. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.js +0 -52
  112. package/lib/cjs/hierarchies/HierarchyNodeIdentifier.js.map +0 -1
  113. package/lib/cjs/hierarchies/HierarchyNodeKey.d.ts +0 -162
  114. package/lib/cjs/hierarchies/HierarchyNodeKey.d.ts.map +0 -1
  115. package/lib/cjs/hierarchies/HierarchyNodeKey.js +0 -166
  116. package/lib/cjs/hierarchies/HierarchyNodeKey.js.map +0 -1
  117. package/lib/cjs/hierarchies/HierarchyProvider.d.ts.map +0 -1
  118. package/lib/cjs/hierarchies/HierarchyProvider.js +0 -64
  119. package/lib/cjs/hierarchies/HierarchyProvider.js.map +0 -1
  120. package/lib/cjs/hierarchies/HierarchySearch.d.ts.map +0 -1
  121. package/lib/cjs/hierarchies/HierarchySearch.js +0 -468
  122. package/lib/cjs/hierarchies/HierarchySearch.js.map +0 -1
  123. package/lib/cjs/hierarchies/Logging.d.ts.map +0 -1
  124. package/lib/cjs/hierarchies/Logging.js +0 -27
  125. package/lib/cjs/hierarchies/Logging.js.map +0 -1
  126. package/lib/cjs/hierarchies/imodel/HierarchyCache.d.ts.map +0 -1
  127. package/lib/cjs/hierarchies/imodel/HierarchyCache.js +0 -81
  128. package/lib/cjs/hierarchies/imodel/HierarchyCache.js.map +0 -1
  129. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.d.ts +0 -144
  130. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.d.ts.map +0 -1
  131. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.js +0 -21
  132. package/lib/cjs/hierarchies/imodel/IModelHierarchyDefinition.js.map +0 -1
  133. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.d.ts +0 -234
  134. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.d.ts.map +0 -1
  135. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.js +0 -29
  136. package/lib/cjs/hierarchies/imodel/IModelHierarchyNode.js.map +0 -1
  137. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.d.ts.map +0 -1
  138. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.js +0 -657
  139. package/lib/cjs/hierarchies/imodel/IModelHierarchyProvider.js.map +0 -1
  140. package/lib/cjs/hierarchies/imodel/LimitingECSqlQueryExecutor.d.ts.map +0 -1
  141. package/lib/cjs/hierarchies/imodel/LimitingECSqlQueryExecutor.js +0 -126
  142. package/lib/cjs/hierarchies/imodel/LimitingECSqlQueryExecutor.js.map +0 -1
  143. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.d.ts +0 -231
  144. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.d.ts.map +0 -1
  145. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.js +0 -629
  146. package/lib/cjs/hierarchies/imodel/NodeSelectQueryFactory.js.map +0 -1
  147. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts +0 -140
  148. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts.map +0 -1
  149. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.js +0 -94
  150. package/lib/cjs/hierarchies/imodel/PredicateBasedHierarchyDefinition.js.map +0 -1
  151. package/lib/cjs/hierarchies/imodel/SearchHierarchyDefinition.d.ts.map +0 -1
  152. package/lib/cjs/hierarchies/imodel/SearchHierarchyDefinition.js +0 -268
  153. package/lib/cjs/hierarchies/imodel/SearchHierarchyDefinition.js.map +0 -1
  154. package/lib/cjs/hierarchies/imodel/TreeNodesReader.d.ts +0 -35
  155. package/lib/cjs/hierarchies/imodel/TreeNodesReader.d.ts.map +0 -1
  156. package/lib/cjs/hierarchies/imodel/TreeNodesReader.js +0 -51
  157. package/lib/cjs/hierarchies/imodel/TreeNodesReader.js.map +0 -1
  158. package/lib/cjs/hierarchies/imodel/Utils.d.ts.map +0 -1
  159. package/lib/cjs/hierarchies/imodel/Utils.js +0 -73
  160. package/lib/cjs/hierarchies/imodel/Utils.js.map +0 -1
  161. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.d.ts.map +0 -1
  162. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.js +0 -40
  163. package/lib/cjs/hierarchies/imodel/operators/DetermineChildren.js.map +0 -1
  164. package/lib/cjs/hierarchies/imodel/operators/Grouping.d.ts.map +0 -1
  165. package/lib/cjs/hierarchies/imodel/operators/Grouping.js +0 -176
  166. package/lib/cjs/hierarchies/imodel/operators/Grouping.js.map +0 -1
  167. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.d.ts.map +0 -1
  168. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.js +0 -75
  169. package/lib/cjs/hierarchies/imodel/operators/HideIfNoChildren.js.map +0 -1
  170. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts.map +0 -1
  171. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.js +0 -84
  172. package/lib/cjs/hierarchies/imodel/operators/HideNodesInHierarchy.js.map +0 -1
  173. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.d.ts.map +0 -1
  174. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.js +0 -26
  175. package/lib/cjs/hierarchies/imodel/operators/grouping/AutoExpand.js.map +0 -1
  176. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts.map +0 -1
  177. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.js +0 -113
  178. package/lib/cjs/hierarchies/imodel/operators/grouping/BaseClassGrouping.js.map +0 -1
  179. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts.map +0 -1
  180. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.js +0 -54
  181. package/lib/cjs/hierarchies/imodel/operators/grouping/ClassGrouping.js.map +0 -1
  182. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.d.ts.map +0 -1
  183. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.js +0 -49
  184. package/lib/cjs/hierarchies/imodel/operators/grouping/GroupHiding.js.map +0 -1
  185. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts.map +0 -1
  186. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.js +0 -52
  187. package/lib/cjs/hierarchies/imodel/operators/grouping/LabelGrouping.js.map +0 -1
  188. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts.map +0 -1
  189. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.js +0 -310
  190. package/lib/cjs/hierarchies/imodel/operators/grouping/PropertiesGrouping.js.map +0 -1
  191. package/lib/cjs/hierarchies/imodel/operators/grouping/Shared.d.ts.map +0 -1
  192. package/lib/cjs/hierarchies/imodel/operators/grouping/Shared.js +0 -31
  193. package/lib/cjs/hierarchies/imodel/operators/grouping/Shared.js.map +0 -1
  194. package/lib/cjs/hierarchies/internal/Common.d.ts.map +0 -1
  195. package/lib/cjs/hierarchies/internal/Common.js +0 -91
  196. package/lib/cjs/hierarchies/internal/Common.js.map +0 -1
  197. package/lib/cjs/hierarchies/internal/DisposePolyfill.d.ts +0 -1
  198. package/lib/cjs/hierarchies/internal/DisposePolyfill.d.ts.map +0 -1
  199. package/lib/cjs/hierarchies/internal/DisposePolyfill.js +0 -11
  200. package/lib/cjs/hierarchies/internal/DisposePolyfill.js.map +0 -1
  201. package/lib/cjs/hierarchies/internal/EachValueFrom.d.ts.map +0 -1
  202. package/lib/cjs/hierarchies/internal/EachValueFrom.js +0 -111
  203. package/lib/cjs/hierarchies/internal/EachValueFrom.js.map +0 -1
  204. package/lib/cjs/hierarchies/internal/LoggingUtils.d.ts.map +0 -1
  205. package/lib/cjs/hierarchies/internal/LoggingUtils.js +0 -37
  206. package/lib/cjs/hierarchies/internal/LoggingUtils.js.map +0 -1
  207. package/lib/cjs/hierarchies/internal/RxjsHierarchyDefinition.d.ts.map +0 -1
  208. package/lib/cjs/hierarchies/internal/RxjsHierarchyDefinition.js +0 -28
  209. package/lib/cjs/hierarchies/internal/RxjsHierarchyDefinition.js.map +0 -1
  210. package/lib/cjs/hierarchies/internal/SubscriptionScheduler.d.ts.map +0 -1
  211. package/lib/cjs/hierarchies/internal/SubscriptionScheduler.js +0 -54
  212. package/lib/cjs/hierarchies/internal/SubscriptionScheduler.js.map +0 -1
  213. package/lib/cjs/hierarchies/internal/operators/Partition.d.ts.map +0 -1
  214. package/lib/cjs/hierarchies/internal/operators/Partition.js +0 -60
  215. package/lib/cjs/hierarchies/internal/operators/Partition.js.map +0 -1
  216. package/lib/cjs/hierarchies/internal/operators/ReduceToMergeMap.d.ts.map +0 -1
  217. package/lib/cjs/hierarchies/internal/operators/ReduceToMergeMap.js +0 -50
  218. package/lib/cjs/hierarchies/internal/operators/ReduceToMergeMap.js.map +0 -1
  219. package/lib/cjs/hierarchies/internal/operators/ReleaseMainThread.d.ts.map +0 -1
  220. package/lib/cjs/hierarchies/internal/operators/ReleaseMainThread.js +0 -24
  221. package/lib/cjs/hierarchies/internal/operators/ReleaseMainThread.js.map +0 -1
  222. package/lib/cjs/hierarchies/internal/operators/ShareReplayWithErrors.d.ts.map +0 -1
  223. package/lib/cjs/hierarchies/internal/operators/ShareReplayWithErrors.js +0 -23
  224. package/lib/cjs/hierarchies/internal/operators/ShareReplayWithErrors.js.map +0 -1
  225. package/lib/cjs/hierarchies/internal/operators/Sorting.d.ts.map +0 -1
  226. package/lib/cjs/hierarchies/internal/operators/Sorting.js +0 -25
  227. package/lib/cjs/hierarchies/internal/operators/Sorting.js.map +0 -1
  228. package/lib/cjs/hierarchies/internal/operators/TapOnce.d.ts.map +0 -1
  229. package/lib/cjs/hierarchies/internal/operators/TapOnce.js +0 -19
  230. package/lib/cjs/hierarchies/internal/operators/TapOnce.js.map +0 -1
  231. package/lib/cjs/package.json +0 -1
  232. package/lib/cjs/presentation-hierarchies.d.ts.map +0 -1
  233. package/lib/cjs/presentation-hierarchies.js +0 -40
  234. package/lib/esm/hierarchies/HierarchyErrors.d.ts +0 -9
  235. package/lib/esm/hierarchies/HierarchyErrors.d.ts.map +0 -1
  236. package/lib/esm/hierarchies/HierarchyErrors.js.map +0 -1
  237. package/lib/esm/hierarchies/HierarchyMerge.d.ts +0 -19
  238. package/lib/esm/hierarchies/HierarchyMerge.d.ts.map +0 -1
  239. package/lib/esm/hierarchies/HierarchyMerge.js.map +0 -1
  240. package/lib/esm/hierarchies/HierarchyNode.d.ts +0 -149
  241. package/lib/esm/hierarchies/HierarchyNode.d.ts.map +0 -1
  242. package/lib/esm/hierarchies/HierarchyNode.js.map +0 -1
  243. package/lib/esm/hierarchies/HierarchyNodeIdentifier.d.ts +0 -31
  244. package/lib/esm/hierarchies/HierarchyNodeIdentifier.d.ts.map +0 -1
  245. package/lib/esm/hierarchies/HierarchyNodeIdentifier.js.map +0 -1
  246. package/lib/esm/hierarchies/HierarchyNodeKey.d.ts.map +0 -1
  247. package/lib/esm/hierarchies/HierarchyNodeKey.js.map +0 -1
  248. package/lib/esm/hierarchies/HierarchyProvider.d.ts +0 -134
  249. package/lib/esm/hierarchies/HierarchyProvider.d.ts.map +0 -1
  250. package/lib/esm/hierarchies/HierarchyProvider.js.map +0 -1
  251. package/lib/esm/hierarchies/HierarchySearch.d.ts +0 -297
  252. package/lib/esm/hierarchies/HierarchySearch.d.ts.map +0 -1
  253. package/lib/esm/hierarchies/HierarchySearch.js.map +0 -1
  254. package/lib/esm/hierarchies/Logging.d.ts +0 -13
  255. package/lib/esm/hierarchies/Logging.d.ts.map +0 -1
  256. package/lib/esm/hierarchies/Logging.js.map +0 -1
  257. package/lib/esm/hierarchies/imodel/HierarchyCache.d.ts +0 -18
  258. package/lib/esm/hierarchies/imodel/HierarchyCache.d.ts.map +0 -1
  259. package/lib/esm/hierarchies/imodel/HierarchyCache.js.map +0 -1
  260. package/lib/esm/hierarchies/imodel/IModelHierarchyDefinition.d.ts.map +0 -1
  261. package/lib/esm/hierarchies/imodel/IModelHierarchyDefinition.js.map +0 -1
  262. package/lib/esm/hierarchies/imodel/IModelHierarchyNode.d.ts.map +0 -1
  263. package/lib/esm/hierarchies/imodel/IModelHierarchyNode.js.map +0 -1
  264. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.d.ts +0 -138
  265. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.d.ts.map +0 -1
  266. package/lib/esm/hierarchies/imodel/IModelHierarchyProvider.js.map +0 -1
  267. package/lib/esm/hierarchies/imodel/LimitingECSqlQueryExecutor.d.ts +0 -21
  268. package/lib/esm/hierarchies/imodel/LimitingECSqlQueryExecutor.d.ts.map +0 -1
  269. package/lib/esm/hierarchies/imodel/LimitingECSqlQueryExecutor.js.map +0 -1
  270. package/lib/esm/hierarchies/imodel/NodeSelectQueryFactory.d.ts.map +0 -1
  271. package/lib/esm/hierarchies/imodel/NodeSelectQueryFactory.js.map +0 -1
  272. package/lib/esm/hierarchies/imodel/PredicateBasedHierarchyDefinition.d.ts.map +0 -1
  273. package/lib/esm/hierarchies/imodel/PredicateBasedHierarchyDefinition.js.map +0 -1
  274. package/lib/esm/hierarchies/imodel/SearchHierarchyDefinition.d.ts +0 -35
  275. package/lib/esm/hierarchies/imodel/SearchHierarchyDefinition.d.ts.map +0 -1
  276. package/lib/esm/hierarchies/imodel/SearchHierarchyDefinition.js.map +0 -1
  277. package/lib/esm/hierarchies/imodel/TreeNodesReader.d.ts.map +0 -1
  278. package/lib/esm/hierarchies/imodel/TreeNodesReader.js.map +0 -1
  279. package/lib/esm/hierarchies/imodel/Utils.d.ts +0 -5
  280. package/lib/esm/hierarchies/imodel/Utils.d.ts.map +0 -1
  281. package/lib/esm/hierarchies/imodel/Utils.js.map +0 -1
  282. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.d.ts +0 -11
  283. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.d.ts.map +0 -1
  284. package/lib/esm/hierarchies/imodel/operators/DetermineChildren.js.map +0 -1
  285. package/lib/esm/hierarchies/imodel/operators/Grouping.d.ts +0 -26
  286. package/lib/esm/hierarchies/imodel/operators/Grouping.d.ts.map +0 -1
  287. package/lib/esm/hierarchies/imodel/operators/Grouping.js.map +0 -1
  288. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.d.ts +0 -11
  289. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.d.ts.map +0 -1
  290. package/lib/esm/hierarchies/imodel/operators/HideIfNoChildren.js.map +0 -1
  291. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts +0 -11
  292. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.d.ts.map +0 -1
  293. package/lib/esm/hierarchies/imodel/operators/HideNodesInHierarchy.js.map +0 -1
  294. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.d.ts +0 -4
  295. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.d.ts.map +0 -1
  296. package/lib/esm/hierarchies/imodel/operators/grouping/AutoExpand.js.map +0 -1
  297. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts +0 -11
  298. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.d.ts.map +0 -1
  299. package/lib/esm/hierarchies/imodel/operators/grouping/BaseClassGrouping.js.map +0 -1
  300. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts +0 -7
  301. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.d.ts.map +0 -1
  302. package/lib/esm/hierarchies/imodel/operators/grouping/ClassGrouping.js.map +0 -1
  303. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.d.ts +0 -4
  304. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.d.ts.map +0 -1
  305. package/lib/esm/hierarchies/imodel/operators/grouping/GroupHiding.js.map +0 -1
  306. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts +0 -5
  307. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.d.ts.map +0 -1
  308. package/lib/esm/hierarchies/imodel/operators/grouping/LabelGrouping.js.map +0 -1
  309. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts +0 -32
  310. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.d.ts.map +0 -1
  311. package/lib/esm/hierarchies/imodel/operators/grouping/PropertiesGrouping.js.map +0 -1
  312. package/lib/esm/hierarchies/imodel/operators/grouping/Shared.d.ts +0 -5
  313. package/lib/esm/hierarchies/imodel/operators/grouping/Shared.d.ts.map +0 -1
  314. package/lib/esm/hierarchies/imodel/operators/grouping/Shared.js.map +0 -1
  315. package/lib/esm/hierarchies/internal/Common.d.ts +0 -61
  316. package/lib/esm/hierarchies/internal/Common.d.ts.map +0 -1
  317. package/lib/esm/hierarchies/internal/Common.js.map +0 -1
  318. package/lib/esm/hierarchies/internal/DisposePolyfill.d.ts.map +0 -1
  319. package/lib/esm/hierarchies/internal/DisposePolyfill.js.map +0 -1
  320. package/lib/esm/hierarchies/internal/EachValueFrom.d.ts +0 -12
  321. package/lib/esm/hierarchies/internal/EachValueFrom.d.ts.map +0 -1
  322. package/lib/esm/hierarchies/internal/EachValueFrom.js.map +0 -1
  323. package/lib/esm/hierarchies/internal/LoggingUtils.d.ts +0 -12
  324. package/lib/esm/hierarchies/internal/LoggingUtils.d.ts.map +0 -1
  325. package/lib/esm/hierarchies/internal/LoggingUtils.js.map +0 -1
  326. package/lib/esm/hierarchies/internal/RxjsHierarchyDefinition.d.ts +0 -75
  327. package/lib/esm/hierarchies/internal/RxjsHierarchyDefinition.d.ts.map +0 -1
  328. package/lib/esm/hierarchies/internal/RxjsHierarchyDefinition.js.map +0 -1
  329. package/lib/esm/hierarchies/internal/SubscriptionScheduler.d.ts +0 -17
  330. package/lib/esm/hierarchies/internal/SubscriptionScheduler.d.ts.map +0 -1
  331. package/lib/esm/hierarchies/internal/SubscriptionScheduler.js.map +0 -1
  332. package/lib/esm/hierarchies/internal/operators/Partition.d.ts +0 -7
  333. package/lib/esm/hierarchies/internal/operators/Partition.d.ts.map +0 -1
  334. package/lib/esm/hierarchies/internal/operators/Partition.js.map +0 -1
  335. package/lib/esm/hierarchies/internal/operators/ReduceToMergeMap.d.ts +0 -22
  336. package/lib/esm/hierarchies/internal/operators/ReduceToMergeMap.d.ts.map +0 -1
  337. package/lib/esm/hierarchies/internal/operators/ReduceToMergeMap.js.map +0 -1
  338. package/lib/esm/hierarchies/internal/operators/ReleaseMainThread.d.ts +0 -7
  339. package/lib/esm/hierarchies/internal/operators/ReleaseMainThread.d.ts.map +0 -1
  340. package/lib/esm/hierarchies/internal/operators/ReleaseMainThread.js.map +0 -1
  341. package/lib/esm/hierarchies/internal/operators/ShareReplayWithErrors.d.ts +0 -9
  342. package/lib/esm/hierarchies/internal/operators/ShareReplayWithErrors.d.ts.map +0 -1
  343. package/lib/esm/hierarchies/internal/operators/ShareReplayWithErrors.js.map +0 -1
  344. package/lib/esm/hierarchies/internal/operators/Sorting.d.ts +0 -13
  345. package/lib/esm/hierarchies/internal/operators/Sorting.d.ts.map +0 -1
  346. package/lib/esm/hierarchies/internal/operators/Sorting.js.map +0 -1
  347. package/lib/esm/hierarchies/internal/operators/TapOnce.d.ts +0 -4
  348. package/lib/esm/hierarchies/internal/operators/TapOnce.d.ts.map +0 -1
  349. package/lib/esm/hierarchies/internal/operators/TapOnce.js.map +0 -1
  350. package/lib/esm/presentation-hierarchies.d.ts +0 -24
  351. package/lib/esm/presentation-hierarchies.d.ts.map +0 -1
  352. package/lib/esm/presentation-hierarchies.js.map +0 -1
  353. /package/lib/{cjs/hierarchies → hierarchies}/HierarchyErrors.d.ts +0 -0
  354. /package/lib/{esm/hierarchies → hierarchies}/HierarchyErrors.js +0 -0
  355. /package/lib/{cjs/hierarchies → hierarchies}/HierarchyMerge.d.ts +0 -0
  356. /package/lib/{esm/hierarchies → hierarchies}/HierarchyMerge.js +0 -0
  357. /package/lib/{cjs/hierarchies → hierarchies}/HierarchyNode.d.ts +0 -0
  358. /package/lib/{esm/hierarchies → hierarchies}/HierarchyNode.js +0 -0
  359. /package/lib/{cjs/hierarchies → hierarchies}/HierarchyNodeIdentifier.d.ts +0 -0
  360. /package/lib/{esm/hierarchies → hierarchies}/HierarchyNodeIdentifier.js +0 -0
  361. /package/lib/{cjs/hierarchies → hierarchies}/HierarchyProvider.d.ts +0 -0
  362. /package/lib/{esm/hierarchies → hierarchies}/HierarchyProvider.js +0 -0
  363. /package/lib/{cjs/hierarchies → hierarchies}/HierarchySearch.d.ts +0 -0
  364. /package/lib/{esm/hierarchies → hierarchies}/HierarchySearch.js +0 -0
  365. /package/lib/{cjs/hierarchies → hierarchies}/Logging.d.ts +0 -0
  366. /package/lib/{esm/hierarchies → hierarchies}/Logging.js +0 -0
  367. /package/lib/{cjs/hierarchies → hierarchies}/imodel/HierarchyCache.d.ts +0 -0
  368. /package/lib/{esm/hierarchies → hierarchies}/imodel/HierarchyCache.js +0 -0
  369. /package/lib/{esm/hierarchies → hierarchies}/imodel/IModelHierarchyDefinition.js +0 -0
  370. /package/lib/{esm/hierarchies → hierarchies}/imodel/IModelHierarchyNode.js +0 -0
  371. /package/lib/{cjs/hierarchies → hierarchies}/imodel/IModelHierarchyProvider.d.ts +0 -0
  372. /package/lib/{esm/hierarchies → hierarchies}/imodel/IModelHierarchyProvider.js +0 -0
  373. /package/lib/{cjs/hierarchies → hierarchies}/imodel/LimitingECSqlQueryExecutor.d.ts +0 -0
  374. /package/lib/{esm/hierarchies → hierarchies}/imodel/LimitingECSqlQueryExecutor.js +0 -0
  375. /package/lib/{esm/hierarchies → hierarchies}/imodel/PredicateBasedHierarchyDefinition.js +0 -0
  376. /package/lib/{cjs/hierarchies → hierarchies}/imodel/SearchHierarchyDefinition.d.ts +0 -0
  377. /package/lib/{cjs/hierarchies → hierarchies}/imodel/Utils.d.ts +0 -0
  378. /package/lib/{esm/hierarchies → hierarchies}/imodel/Utils.js +0 -0
  379. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/DetermineChildren.d.ts +0 -0
  380. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/DetermineChildren.js +0 -0
  381. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/Grouping.d.ts +0 -0
  382. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/Grouping.js +0 -0
  383. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/HideIfNoChildren.d.ts +0 -0
  384. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/HideIfNoChildren.js +0 -0
  385. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/HideNodesInHierarchy.d.ts +0 -0
  386. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/HideNodesInHierarchy.js +0 -0
  387. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/AutoExpand.d.ts +0 -0
  388. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/AutoExpand.js +0 -0
  389. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/BaseClassGrouping.d.ts +0 -0
  390. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/ClassGrouping.d.ts +0 -0
  391. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/GroupHiding.d.ts +0 -0
  392. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/GroupHiding.js +0 -0
  393. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/LabelGrouping.d.ts +0 -0
  394. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/LabelGrouping.js +0 -0
  395. /package/lib/{cjs/hierarchies → hierarchies}/imodel/operators/grouping/Shared.d.ts +0 -0
  396. /package/lib/{esm/hierarchies → hierarchies}/imodel/operators/grouping/Shared.js +0 -0
  397. /package/lib/{cjs/hierarchies → hierarchies}/internal/Common.d.ts +0 -0
  398. /package/lib/{esm/hierarchies → hierarchies}/internal/Common.js +0 -0
  399. /package/lib/{esm/hierarchies → hierarchies}/internal/DisposePolyfill.d.ts +0 -0
  400. /package/lib/{esm/hierarchies → hierarchies}/internal/DisposePolyfill.js +0 -0
  401. /package/lib/{cjs/hierarchies → hierarchies}/internal/EachValueFrom.d.ts +0 -0
  402. /package/lib/{esm/hierarchies → hierarchies}/internal/EachValueFrom.js +0 -0
  403. /package/lib/{cjs/hierarchies → hierarchies}/internal/LoggingUtils.d.ts +0 -0
  404. /package/lib/{esm/hierarchies → hierarchies}/internal/LoggingUtils.js +0 -0
  405. /package/lib/{cjs/hierarchies → hierarchies}/internal/RxjsHierarchyDefinition.d.ts +0 -0
  406. /package/lib/{esm/hierarchies → hierarchies}/internal/RxjsHierarchyDefinition.js +0 -0
  407. /package/lib/{cjs/hierarchies → hierarchies}/internal/SubscriptionScheduler.d.ts +0 -0
  408. /package/lib/{esm/hierarchies → hierarchies}/internal/SubscriptionScheduler.js +0 -0
  409. /package/lib/{cjs/hierarchies → hierarchies}/internal/operators/Partition.d.ts +0 -0
  410. /package/lib/{esm/hierarchies → hierarchies}/internal/operators/Partition.js +0 -0
  411. /package/lib/{cjs/hierarchies → hierarchies}/internal/operators/ReduceToMergeMap.d.ts +0 -0
  412. /package/lib/{esm/hierarchies → hierarchies}/internal/operators/ReduceToMergeMap.js +0 -0
  413. /package/lib/{cjs/hierarchies → hierarchies}/internal/operators/ReleaseMainThread.d.ts +0 -0
  414. /package/lib/{esm/hierarchies → hierarchies}/internal/operators/ReleaseMainThread.js +0 -0
  415. /package/lib/{cjs/hierarchies → hierarchies}/internal/operators/ShareReplayWithErrors.d.ts +0 -0
  416. /package/lib/{esm/hierarchies → hierarchies}/internal/operators/ShareReplayWithErrors.js +0 -0
  417. /package/lib/{cjs/hierarchies → hierarchies}/internal/operators/Sorting.d.ts +0 -0
  418. /package/lib/{esm/hierarchies → hierarchies}/internal/operators/Sorting.js +0 -0
  419. /package/lib/{cjs/hierarchies → hierarchies}/internal/operators/TapOnce.d.ts +0 -0
  420. /package/lib/{esm/hierarchies → hierarchies}/internal/operators/TapOnce.js +0 -0
  421. /package/lib/{cjs/presentation-hierarchies.d.ts → presentation-hierarchies.d.ts} +0 -0
  422. /package/lib/{esm/presentation-hierarchies.js → presentation-hierarchies.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertiesGrouping.js","sourceRoot":"","sources":["../../../../../src/hierarchies/imodel/operators/grouping/PropertiesGrouping.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n createMainThreadReleaseOnTimePassedHandler,\n formatConcatenatedValue,\n getClass,\n TypedPrimitiveValue,\n} from \"@itwin/presentation-shared\";\nimport { HierarchyNode } from \"../../../HierarchyNode.js\";\nimport { HierarchyNodeKey } from \"../../../HierarchyNodeKey.js\";\n\nimport type {\n ArrayElement,\n EC,\n ECClassHierarchyInspector,\n ECSchemaProvider,\n IPrimitiveValueFormatter,\n} from \"@itwin/presentation-shared\";\nimport type { ParentHierarchyNode } from \"../../../HierarchyNode.js\";\nimport type { PropertyGroupingNodeKey } from \"../../../HierarchyNodeKey.js\";\nimport type {\n HierarchyNodePropertiesGroupingParams,\n HierarchyNodePropertyGroup,\n HierarchyNodePropertyValueRange,\n ProcessedInstanceHierarchyNode,\n} from \"../../IModelHierarchyNode.js\";\nimport type { GroupingHandler, GroupingHandlerResult, ProcessedInstancesGroupingHierarchyNode } from \"../Grouping.js\";\n\ninterface DisplayablePropertyGroupingInfo {\n label: string;\n propertyGroupingNodeKey: PropertyGroupingNodeKey;\n}\n\ninterface PropertyGroupingInformation {\n ungrouped: ProcessedInstanceHierarchyNode[];\n grouped: Map<\n string,\n { displayablePropertyGroupingInfo: DisplayablePropertyGroupingInfo; groupedNodes: ProcessedInstanceHierarchyNode[] }\n >;\n}\n\n/** @internal */\nexport interface PropertiesGroupingLocalizedStrings {\n other: string;\n unspecified: string;\n}\n\n/** @internal */\nexport interface PropertyGroupInfo {\n ecClass: EC.Class;\n previousPropertiesGroupingInfo: PreviousPropertiesGroupingInfo;\n propertyGroup: Omit<HierarchyNodePropertyGroup, \"propertyValue\">;\n}\n\n/** @internal */\nexport type PreviousPropertiesGroupingInfo = Array<{\n propertiesClassName: EC.FullClassNameDotNotation;\n propertyName: string;\n isRange?: boolean;\n}>;\n\n/** @internal */\nexport async function createPropertyGroups(\n nodesToGroup: ProcessedInstanceHierarchyNode[],\n nodesAlreadyGrouped: ProcessedInstancesGroupingHierarchyNode[],\n handlerGroupingParams: PropertyGroupInfo,\n valueFormatter: IPrimitiveValueFormatter,\n localizedStrings: PropertiesGroupingLocalizedStrings,\n classHierarchyInspector: ECClassHierarchyInspector,\n): Promise<GroupingHandlerResult> {\n let otherValuesGrouping: { node: ProcessedInstancesGroupingHierarchyNode; new: boolean } | undefined;\n const getOtherValuesGroupingNode = () => {\n if (!otherValuesGrouping) {\n const node = nodesAlreadyGrouped.find((n) => HierarchyNodeKey.isPropertyOtherValuesGrouping(n.key));\n if (node) {\n otherValuesGrouping = { node, new: false };\n }\n }\n otherValuesGrouping ??= {\n node: {\n key: { type: \"property-grouping:other\" as const, properties: [] },\n parentKeys: [],\n groupedInstanceKeys: [],\n label: localizedStrings.other,\n children: [],\n },\n new: true,\n };\n return otherValuesGrouping.node;\n };\n\n const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();\n const groupings: PropertyGroupingInformation = { ungrouped: [], grouped: new Map() };\n for (const node of nodesToGroup) {\n await releaseMainThread();\n\n const byProperties = node.processingParams?.grouping?.byProperties;\n if (!byProperties) {\n groupings.ungrouped.push(node);\n continue;\n }\n if (\n !(await shouldCreatePropertyGroup(\n handlerGroupingParams,\n byProperties,\n node.key.instanceKeys[0].className,\n classHierarchyInspector,\n ))\n ) {\n groupings.ungrouped.push(node);\n continue;\n }\n const currentProperty = byProperties.propertyGroups[handlerGroupingParams.previousPropertiesGroupingInfo.length];\n const propertyClass = handlerGroupingParams.ecClass;\n const property = await propertyClass.getProperty(currentProperty.propertyName);\n\n if (\n !property?.isNavigation() &&\n (!property?.isPrimitive() || property.primitiveType === \"Binary\" || property.primitiveType === \"IGeometry\")\n ) {\n groupings.ungrouped.push(node);\n continue;\n }\n\n const propertyIdentifier = { propertyName: property.name, propertyClassName: property.class.fullName };\n const extendedTypeName = \"extendedTypeName\" in property ? property.extendedTypeName : undefined;\n const primitiveType = \"primitiveType\" in property ? property.primitiveType : \"String\";\n assert(primitiveType !== \"Binary\" && primitiveType !== \"IGeometry\");\n\n if (!currentProperty.propertyValue) {\n if (byProperties.createGroupForUnspecifiedValues) {\n addGroupingToMap(\n groupings.grouped,\n `${currentProperty.propertyName.toLocaleLowerCase()}:Unspecified`,\n {\n label: localizedStrings.unspecified,\n propertyGroupingNodeKey: {\n type: \"property-grouping:value\",\n ...propertyIdentifier,\n formattedPropertyValue: \"\",\n },\n },\n node,\n );\n continue;\n }\n groupings.ungrouped.push(node);\n continue;\n }\n\n const koqName = (await property.kindOfQuantity)?.fullName;\n if (currentProperty.ranges) {\n if (typeof currentProperty.propertyValue === \"number\") {\n const propValue = currentProperty.propertyValue;\n const matchingRange = currentProperty.ranges.find(\n (range) => propValue >= range.fromValue && propValue <= range.toValue,\n );\n\n if (matchingRange) {\n const fromValueTypedPrimitive: TypedPrimitiveValue = {\n type: Number.isInteger(matchingRange.fromValue) ? \"Integer\" : \"Double\",\n extendedType: extendedTypeName,\n koqName,\n value: matchingRange.fromValue,\n };\n const toValueTypedPrimitive: TypedPrimitiveValue = {\n type: Number.isInteger(matchingRange.toValue) ? \"Integer\" : \"Double\",\n extendedType: extendedTypeName,\n koqName,\n value: matchingRange.toValue,\n };\n\n const rangeLabel =\n matchingRange.rangeLabel ??\n `${await valueFormatter(fromValueTypedPrimitive)} - ${await valueFormatter(toValueTypedPrimitive)}`;\n addGroupingToMap(\n groupings.grouped,\n `${currentProperty.propertyName.toLocaleLowerCase()}:[${matchingRange.fromValue}-${matchingRange.toValue}]${matchingRange.rangeLabel ? `(${matchingRange.rangeLabel})` : \"\"}`,\n {\n label: rangeLabel,\n propertyGroupingNodeKey: {\n ...propertyIdentifier,\n type: \"property-grouping:range\",\n fromValue: matchingRange.fromValue,\n toValue: matchingRange.toValue,\n },\n },\n node,\n );\n continue;\n }\n }\n if (byProperties.createGroupForOutOfRangeValues) {\n const groupingNode = getOtherValuesGroupingNode();\n assert(HierarchyNodeKey.isPropertyOtherValuesGrouping(groupingNode.key));\n const thisPropertyIdentifier = {\n className: propertyIdentifier.propertyClassName,\n propertyName: propertyIdentifier.propertyName,\n };\n const hasPropertyIdentifier = groupingNode.key.properties.find(\n (x) =>\n x.className.toLocaleLowerCase() === thisPropertyIdentifier.className.toLocaleLowerCase() &&\n x.propertyName.toLocaleLowerCase() === thisPropertyIdentifier.propertyName.toLocaleLowerCase(),\n );\n if (!hasPropertyIdentifier) {\n groupingNode.key.properties.push(thisPropertyIdentifier);\n }\n node.key.instanceKeys.forEach((k) => groupingNode.groupedInstanceKeys.push(k));\n groupingNode.parentKeys = node.parentKeys;\n groupingNode.children.push(Object.assign(node, { parentKeys: [...node.parentKeys, groupingNode.key] }));\n continue;\n }\n groupings.ungrouped.push(node);\n continue;\n }\n\n const formattedValue =\n currentProperty.propertyValue instanceof Array\n ? await formatConcatenatedValue({ value: currentProperty.propertyValue, valueFormatter })\n : await valueFormatter(\n TypedPrimitiveValue.create(currentProperty.propertyValue, primitiveType, koqName, extendedTypeName),\n );\n\n addGroupingToMap(\n groupings.grouped,\n `${currentProperty.propertyName.toLocaleLowerCase()}:${formattedValue}`,\n {\n label: formattedValue,\n propertyGroupingNodeKey: {\n ...propertyIdentifier,\n type: \"property-grouping:value\",\n formattedPropertyValue: formattedValue,\n },\n },\n node,\n );\n }\n return createGroupingNodes(groupings, otherValuesGrouping?.new ? otherValuesGrouping.node : undefined);\n}\n\nfunction addGroupingToMap(\n groupingMap: Map<\n string,\n { displayablePropertyGroupingInfo: DisplayablePropertyGroupingInfo; groupedNodes: ProcessedInstanceHierarchyNode[] }\n >,\n mapKey: string,\n propertyToAdd: DisplayablePropertyGroupingInfo,\n node: ProcessedInstanceHierarchyNode,\n): void {\n let groupingInfo = groupingMap.get(mapKey);\n if (!groupingInfo) {\n groupingInfo = { displayablePropertyGroupingInfo: propertyToAdd, groupedNodes: [node] };\n groupingMap.set(mapKey, groupingInfo);\n return;\n }\n groupingInfo.groupedNodes.push(node);\n}\n\nfunction createGroupingNodes(\n groupings: PropertyGroupingInformation,\n otherValuesGroupingNode: ProcessedInstancesGroupingHierarchyNode | undefined,\n): GroupingHandlerResult {\n const groupedNodes = new Array<ProcessedInstancesGroupingHierarchyNode>();\n groupings.grouped.forEach((entry) => {\n const groupedNodeParentKeys = entry.groupedNodes[0].parentKeys;\n groupedNodes.push({\n label: entry.displayablePropertyGroupingInfo.label,\n key: entry.displayablePropertyGroupingInfo.propertyGroupingNodeKey,\n parentKeys: groupedNodeParentKeys,\n groupedInstanceKeys: entry.groupedNodes.flatMap((groupedInstanceNode) => groupedInstanceNode.key.instanceKeys),\n children: entry.groupedNodes.map((gn) => ({\n ...gn,\n parentKeys: [...groupedNodeParentKeys, entry.displayablePropertyGroupingInfo.propertyGroupingNodeKey],\n })),\n });\n });\n if (otherValuesGroupingNode) {\n groupedNodes.push(otherValuesGroupingNode);\n }\n return { grouped: groupedNodes, ungrouped: groupings.ungrouped, groupingType: \"property\" };\n}\n\nfunction createNodePropertyGroupPathMatchers(\n node: ParentHierarchyNode,\n): Array<(x: ArrayElement<PreviousPropertiesGroupingInfo>) => boolean> {\n if (!HierarchyNode.isPropertyGroupingNode(node)) {\n return [];\n }\n\n const keys = [...node.parentKeys, node.key];\n const propertyGroupingNodeKeys: PropertyGroupingNodeKey[] = [];\n for (let i = keys.length - 1; i >= 0; --i) {\n const key = keys[i];\n if (HierarchyNodeKey.isPropertyGrouping(key)) {\n propertyGroupingNodeKeys.push(key);\n } else {\n break;\n }\n }\n propertyGroupingNodeKeys.reverse();\n\n return propertyGroupingNodeKeys.map((key): ((x: ArrayElement<PreviousPropertiesGroupingInfo>) => boolean) => {\n switch (key.type) {\n case \"property-grouping:other\":\n return (x) =>\n key.properties.some(\n (p) =>\n p.className.toLocaleLowerCase() === x.propertiesClassName.toLocaleLowerCase() &&\n p.propertyName.toLocaleLowerCase() === x.propertyName.toLocaleLowerCase() &&\n !!x.isRange,\n );\n case \"property-grouping:range\":\n return (x) =>\n key.propertyClassName.toLocaleLowerCase() === x.propertiesClassName.toLocaleLowerCase() &&\n key.propertyName.toLocaleLowerCase() === x.propertyName.toLocaleLowerCase();\n case \"property-grouping:value\":\n return (x) =>\n key.propertyClassName.toLocaleLowerCase() === x.propertiesClassName.toLocaleLowerCase() &&\n key.propertyName.toLocaleLowerCase() === x.propertyName.toLocaleLowerCase();\n }\n });\n}\n\n/** @internal */\nexport async function getUniquePropertiesGroupInfo(\n schemaProvider: ECSchemaProvider,\n parentNode: ParentHierarchyNode | undefined,\n nodes: ProcessedInstanceHierarchyNode[],\n): Promise<Array<PropertyGroupInfo>> {\n const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();\n const parentPropertyGroupPath = parentNode ? createNodePropertyGroupPathMatchers(parentNode) : [];\n const uniqueProperties = new Map<string, PropertyGroupInfo>();\n for (const node of nodes) {\n await releaseMainThread();\n\n const byProperties = node.processingParams?.grouping?.byProperties;\n if (!byProperties) {\n continue;\n }\n\n let propertyGroupIndex = 0;\n const previousPropertiesInfo = new Array<{ propertyGroup: HierarchyNodePropertyGroup; propertyGroupKey: string }>();\n for (const propertyGroup of byProperties.propertyGroups) {\n const mapKeyRanges = getRangesAsString(propertyGroup.ranges);\n const lastKey =\n previousPropertiesInfo.length > 0\n ? previousPropertiesInfo[previousPropertiesInfo.length - 1].propertyGroupKey\n : \"\";\n const propertyGroupKey = `${lastKey}:${propertyGroup.propertyName}(${mapKeyRanges})`;\n const mapKey = `${byProperties.propertiesClassName}:${propertyGroupKey}`.toLocaleLowerCase();\n\n let isAlreadyGrouped = false;\n if (parentPropertyGroupPath.length > 0 && propertyGroupIndex < parentPropertyGroupPath.length) {\n const groupMatcher = parentPropertyGroupPath[propertyGroupIndex];\n isAlreadyGrouped = groupMatcher({\n propertiesClassName: byProperties.propertiesClassName,\n propertyName: propertyGroup.propertyName,\n isRange: !!propertyGroup.ranges,\n });\n }\n if (!isAlreadyGrouped && !uniqueProperties.get(mapKey)) {\n uniqueProperties.set(mapKey, {\n ecClass: await getClass(schemaProvider, byProperties.propertiesClassName),\n propertyGroup: { propertyName: propertyGroup.propertyName, ranges: propertyGroup.ranges },\n previousPropertiesGroupingInfo: previousPropertiesInfo.map((groupingInfo) => ({\n propertiesClassName: byProperties.propertiesClassName,\n propertyName: groupingInfo.propertyGroup.propertyName,\n isRange: !!groupingInfo.propertyGroup.ranges,\n })),\n });\n }\n\n previousPropertiesInfo.push({ propertyGroup, propertyGroupKey });\n ++propertyGroupIndex;\n }\n }\n // Order might change in uniqueProperties, resorting to make sure that properties with fewer previous properties are returned first.\n return [...uniqueProperties.values()].sort(\n (lhs, rhs) => lhs.previousPropertiesGroupingInfo.length - rhs.previousPropertiesGroupingInfo.length,\n );\n}\n\nfunction getRangesAsString(ranges?: HierarchyNodePropertyValueRange[]): string {\n return ranges\n ? ranges\n .map((range) => `${range.fromValue}-${range.toValue}(${range.rangeLabel ?? \"\"})`)\n .sort()\n .join(\";\")\n : \"\";\n}\n\nasync function shouldCreatePropertyGroup(\n handlerGroupingParams: PropertyGroupInfo,\n nodePropertyGroupingParams: HierarchyNodePropertiesGroupingParams,\n nodeFullClassName: EC.FullClassNameDotNotation,\n classHierarchyInspector: ECClassHierarchyInspector,\n): Promise<boolean> {\n if (\n nodePropertyGroupingParams.propertiesClassName.toLocaleLowerCase() !==\n handlerGroupingParams.ecClass.fullName.toLocaleLowerCase() ||\n nodePropertyGroupingParams.propertyGroups.length < handlerGroupingParams.previousPropertiesGroupingInfo.length + 1\n ) {\n return false;\n }\n const currentProperty =\n nodePropertyGroupingParams.propertyGroups[handlerGroupingParams.previousPropertiesGroupingInfo.length];\n if (\n currentProperty.propertyName.toLocaleLowerCase() !==\n handlerGroupingParams.propertyGroup.propertyName.toLocaleLowerCase() ||\n !doRangesMatch(currentProperty.ranges, handlerGroupingParams.propertyGroup.ranges)\n ) {\n return false;\n }\n if (!doPreviousPropertiesMatch(handlerGroupingParams.previousPropertiesGroupingInfo, nodePropertyGroupingParams)) {\n return false;\n }\n return classHierarchyInspector.classDerivesFrom(nodeFullClassName, handlerGroupingParams.ecClass.fullName);\n}\n\n/** @internal */\nexport function doPreviousPropertiesMatch(\n previousPropertiesGroupingInfo: PreviousPropertiesGroupingInfo,\n nodesProperties: HierarchyNodePropertiesGroupingParams,\n): boolean {\n return (\n previousPropertiesGroupingInfo.length <= nodesProperties.propertyGroups.length &&\n previousPropertiesGroupingInfo.every(\n (groupingInfo, index) =>\n groupingInfo.propertiesClassName.toLocaleLowerCase() ===\n nodesProperties.propertiesClassName.toLocaleLowerCase() &&\n groupingInfo.propertyName.toLocaleLowerCase() ===\n nodesProperties.propertyGroups[index].propertyName.toLocaleLowerCase() &&\n !!groupingInfo.isRange === !!nodesProperties.propertyGroups[index].ranges,\n )\n );\n}\n\n/** @internal */\nexport function doRangesMatch(\n ranges1: HierarchyNodePropertyValueRange[] | undefined,\n ranges2: HierarchyNodePropertyValueRange[] | undefined,\n): boolean {\n if (typeof ranges1 !== typeof ranges2) {\n return false;\n }\n if (!ranges1) {\n return true;\n }\n assert(Array.isArray(ranges2));\n if (ranges1.length !== ranges2.length) {\n return false;\n }\n return (\n // Check twice, to validate if both ranges have the same elements (elements can be in a different order)\n ranges1.every((lhsRange) =>\n ranges2.some(\n (rhsRange) =>\n lhsRange.fromValue === rhsRange.fromValue &&\n lhsRange.toValue === rhsRange.toValue &&\n lhsRange.rangeLabel === rhsRange.rangeLabel,\n ),\n ) &&\n ranges2.every((lhsRange) =>\n ranges1.some(\n (rhsRange) =>\n lhsRange.fromValue === rhsRange.fromValue &&\n lhsRange.toValue === rhsRange.toValue &&\n lhsRange.rangeLabel === rhsRange.rangeLabel,\n ),\n )\n );\n}\n\n/** @internal */\nexport async function createPropertiesGroupingHandlers(\n imodelAccess: ECSchemaProvider & ECClassHierarchyInspector,\n parentNode: ParentHierarchyNode | undefined,\n nodes: ProcessedInstanceHierarchyNode[],\n valueFormatter: IPrimitiveValueFormatter,\n localizedStrings: PropertiesGroupingLocalizedStrings,\n): Promise<GroupingHandler[]> {\n const propertiesGroupInfo = await getUniquePropertiesGroupInfo(imodelAccess, parentNode, nodes);\n return propertiesGroupInfo.map(\n (propertyInfo) => async (nodesToGroup, nodesAlreadyGrouped) =>\n createPropertyGroups(\n nodesToGroup,\n nodesAlreadyGrouped,\n propertyInfo,\n valueFormatter,\n localizedStrings,\n imodelAccess,\n ),\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shared.d.ts","sourceRoot":"","sources":["../../../../../src/hierarchies/imodel/operators/grouping/Shared.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,+BAA+B,EAEhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,uCAAuC,EAAE,MAAM,gBAAgB,CAAC;AAE5F,gBAAgB;AAChB,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,uCAAuC,EACnD,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,CAAC,cAAc,EAAE,+BAA+B,GAAG,SAAS,KAAK,OAAO,GAAG,SAAS,GACvF,IAAI,CAqBN"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Shared.js","sourceRoot":"","sources":["../../../../../src/hierarchies/imodel/operators/grouping/Shared.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAQhG,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAC5C,UAAmD,EACnD,YAA0B,EAC1B,EAAwF;IAExF,SAAS,iBAAiB,CAAC,MAAyD;QAClF,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,YAAY;gBACf,OAAO,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC;YACzC,KAAK,OAAO;gBACV,OAAO,OAAO,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7F,KAAK,OAAO;gBACV,OAAO,OAAO,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO;oBAChG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO;oBACzB,CAAC,CAAC,SAAS,CAAC;YAChB,KAAK,UAAU;gBACb,OAAO,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type {\n HierarchyNodeGroupingParamsBase,\n InstanceHierarchyNodeProcessingParams,\n} from \"../../IModelHierarchyNode.js\";\nimport type { GroupingType, ProcessedInstancesGroupingHierarchyNode } from \"../Grouping.js\";\n\n/** @internal */\nexport function iterateChildNodeGroupingParams(\n parentNode: ProcessedInstancesGroupingHierarchyNode,\n groupingType: GroupingType,\n cb: (groupingParams: HierarchyNodeGroupingParamsBase | undefined) => boolean | undefined,\n): void {\n function getGroupingParams(params: InstanceHierarchyNodeProcessingParams | undefined) {\n switch (groupingType) {\n case \"base-class\":\n return params?.grouping?.byBaseClasses;\n case \"class\":\n return typeof params?.grouping?.byClass === \"object\" ? params.grouping.byClass : undefined;\n case \"label\":\n return typeof params?.grouping?.byLabel === \"object\" && params.grouping.byLabel.action !== \"merge\"\n ? params.grouping.byLabel\n : undefined;\n case \"property\":\n return params?.grouping?.byProperties;\n }\n }\n for (const childNode of parentNode.children) {\n const groupingParams = getGroupingParams(childNode.processingParams);\n if (cb(groupingParams)) {\n return;\n }\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/internal/Common.ts"],"names":[],"mappings":"AAKA,OAAO,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,yCAAqC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;AAE7E;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,iDAA8C,CAAC;AAElG,gBAAgB;AAChB,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EACpB,YAAY,EACR,OAAO,iBAAiB,GACxB,OAAO,6BAA6B,GACpC,OAAO,0BAA0B,GACjC,OAAO,sCAAsC,UAGlD;AAED,gBAAgB;AAEhB,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE;IAAE,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC;IAAC,GAAG,EAAE,gBAAgB,CAAC;IAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAE,GAAG,SAAS,UAchH;AAGD,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,KAAK,SAAS;IAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;CAAE,EAAE,IAAI,EAAE,KAAK,WAE7F;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EACxG,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,QAAQ,GACZ,MAAM,CAER;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,EAAE,GAAG;IAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,QAMtG;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAErF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/hierarchies/internal/Common.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,sBAAsB,CAAC;AAE9B,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAMhC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,iBAAiB,cAAc,CAAC;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kCAAkC,CAAC;AAE7E;;;;GAIG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,0BAA0B,cAAc,CAAC;AAElG,gBAAgB;AAChB,MAAM,UAAU,8BAA8B,CAC5C,YAAoB,EACpB,YAIiD;IAEjD,OAAO,GAAG,YAAY,cAAc,YAAY,EAAE,CAAC;AACrD,CAAC;AAED,gBAAgB;AAChB,qBAAqB;AACrB,MAAM,UAAU,8BAA8B,CAC5C,IAA+G;IAE/G,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,UAAU,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IACxE,MAAM,mBAAmB,GACvB,qBAAqB,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;QACtE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,IAAI,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,mBAAmB;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,QAAQ;QAC/C,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;AACzE,CAAC;AACD,oBAAoB;AAEpB,gBAAgB;AAChB,MAAM,UAAU,WAAW,CAAwD,IAAW;IAC5F,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CACjC,GAAa,EACb,GAAa;IAEb,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,UAA2E;IACrG,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;QAC5B,UAAU,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;SAAM,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC;QACxC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,mBAAmB,CAAI,eAA+B;IACpE,OAAO,eAAe,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;AAC1F,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport \"./DisposePolyfill.js\";\n\nimport naturalCompare from \"natural-compare-lite\";\nimport { from, of } from \"rxjs\";\n\nimport type { Observable } from \"rxjs\";\nimport type { ConcatenatedValue } from \"@itwin/presentation-shared\";\nimport type { HierarchyNodeKey } from \"../HierarchyNodeKey.js\";\n\n/**\n * This is a logging namespace for public log messages that may be interesting to consumers.\n * @internal\n */\nexport const LOGGING_NAMESPACE = \"Presentation.Hierarchies\";\n\n/**\n * This is a logging namespace for public performance-related log messages that may be interesting to consumers.\n * @internal\n */\nexport const LOGGING_NAMESPACE_PERFORMANCE = `${LOGGING_NAMESPACE}.Performance`;\n\n/**\n * This is a logging namespace for internal log messages that are only interesting to package contributors,\n * but not the consumers.\n * @internal\n */\nexport const LOGGING_NAMESPACE_INTERNAL = \"Presentation.HierarchiesInternal\";\n\n/**\n * This is a logging namespace for internal performance-related log messages that are only interesting\n * to package contributors, but not the consumers.\n * @internal\n */\nexport const LOGGING_NAMESPACE_PERFORMANCE_INTERNAL = `${LOGGING_NAMESPACE_INTERNAL}.Performance`;\n\n/** @internal */\nexport function createOperatorLoggingNamespace(\n operatorName: string,\n baseCategory:\n | typeof LOGGING_NAMESPACE\n | typeof LOGGING_NAMESPACE_PERFORMANCE\n | typeof LOGGING_NAMESPACE_INTERNAL\n | typeof LOGGING_NAMESPACE_PERFORMANCE_INTERNAL,\n) {\n return `${baseCategory}.Operators.${operatorName}`;\n}\n\n/** @internal */\n/* v8 ignore start */\nexport function createNodeIdentifierForLogging(\n node: { label: string | ConcatenatedValue; key: HierarchyNodeKey; parentKeys?: HierarchyNodeKey[] } | undefined,\n) {\n if (!node) {\n return \"<root>\";\n }\n const { label, key } = node;\n const parentKeys = \"parentKeys\" in node ? node.parentKeys : \"<unknown>\";\n const groupedInstanceKeys =\n \"groupedInstanceKeys\" in node && Array.isArray(node.groupedInstanceKeys)\n ? node.groupedInstanceKeys.length <= 3\n ? node.groupedInstanceKeys\n : `<${node.groupedInstanceKeys.length} keys>`\n : undefined;\n return JSON.stringify({ label, key, parentKeys, groupedInstanceKeys });\n}\n/* v8 ignore stop */\n\n/** @internal */\nexport function hasChildren<TNode extends { children?: boolean | Array<unknown> }>(node: TNode) {\n return node.children === true || (Array.isArray(node.children) && node.children.length > 0);\n}\n\n/** @internal */\nexport function compareNodesByLabel<TLhsNode extends { label: string }, TRhsNode extends { label: string }>(\n lhs: TLhsNode,\n rhs: TRhsNode,\n): number {\n return naturalCompare(lhs.label.toLocaleLowerCase(), rhs.label.toLocaleLowerCase());\n}\n\n/**\n * A helper that disposes the given object, if it's disposable.\n *\n * The first option is to dispose using the deprecated `dispose` method if it exists on the object.\n * If not, we use the new `Symbol.dispose` method. If that doesn't exist either, the object is\n * considered as non-disposable and nothing is done with it.\n *\n * @internal\n */\nexport function safeDispose(disposable: {} | { [Symbol.dispose]: () => void } | { dispose: () => void }) {\n if (\"dispose\" in disposable) {\n disposable.dispose();\n } else if (Symbol.dispose in disposable) {\n disposable[Symbol.dispose]();\n }\n}\n\n/** @internal */\nexport function fromPossiblyPromise<T>(possiblyPromise: T | Promise<T>): Observable<T> {\n return possiblyPromise instanceof Promise ? from(possiblyPromise) : of(possiblyPromise);\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisposePolyfill.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/internal/DisposePolyfill.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisposePolyfill.js","sourceRoot":"","sources":["../../../src/hierarchies/internal/DisposePolyfill.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG;;GAEG;AACF,MAAc,CAAC,OAAO,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpD,MAAc,CAAC,YAAY,KAAK,MAAM,CAAC,qBAAqB,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\n/**\n * Polyfill for upcoming resource management feature: https://github.com/tc39/proposal-explicit-resource-management\n */\n(Symbol as any).dispose ??= Symbol(\"Symbol.dispose\");\n(Symbol as any).asyncDispose ??= Symbol(\"Symbol.asyncDispose\");\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EachValueFrom.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/internal/EachValueFrom.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC;;;;;;;;GAQG;AACH,wBAAuB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAwDvF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EachValueFrom.js","sourceRoot":"","sources":["../../../src/hierarchies/internal/EachValueFrom.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type { Observable } from \"rxjs\";\n\n// cspell:words deferreds\n\n/**\n * This is pretty much a combination of:\n * - https://github.com/benlesh/rxjs-for-await/blob/94f9cf9cb015ac3700dfd1850eb81d36962eb70f/src/index.ts#L33,\n * - https://github.com/ReactiveX/rxjs/blob/2587ee852eb43eeb0883a7787bac2944d823392b/packages/observable/src/observable.ts#L922.\n *\n * Our implementation uses a linked list rather than an array to store values, which is more efficient.\n *\n * @internal\n */\nexport async function* eachValueFrom<T>(source: Observable<T>): AsyncIterableIterator<T> {\n const deferreds = new Queue<{ resolve: (value: IteratorResult<T>) => void; reject: (reason: unknown) => void }>();\n const values = new Queue<T>();\n let error;\n let completed = false;\n const subs = source.subscribe({\n next: (value) => {\n const deferred = deferreds.pop();\n if (deferred) {\n deferred.resolve({ value, done: false });\n } else {\n values.push(value);\n }\n },\n error: (err) => {\n error = err;\n for (let deferred = deferreds.pop(); deferred !== undefined; deferred = deferreds.pop()) {\n deferred.reject(err);\n }\n },\n complete: () => {\n completed = true;\n for (let deferred = deferreds.pop(); deferred !== undefined; deferred = deferreds.pop()) {\n deferred.resolve({ value: undefined, done: true });\n }\n },\n });\n try {\n while (true) {\n const value = values.pop();\n if (value !== undefined) {\n yield value;\n continue;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (completed) {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (error) {\n // eslint-disable-next-line @typescript-eslint/only-throw-error\n throw error;\n }\n const result = await new Promise<IteratorResult<T>>((resolve, reject) => {\n deferreds.push({ resolve, reject });\n });\n if (result.done) {\n return;\n }\n yield result.value;\n }\n } catch (err) {\n throw err;\n } finally {\n subs.unsubscribe();\n }\n}\n\nclass QueueEntry<T> {\n constructor(\n public readonly value: T,\n public next?: QueueEntry<T>,\n ) {}\n}\n\nclass Queue<T> {\n private _front?: QueueEntry<T>;\n private _back?: QueueEntry<T>;\n\n public push(item: T) {\n const entry = new QueueEntry<T>(item);\n if (this._back) {\n this._back.next = entry;\n }\n this._back = entry;\n if (!this._front) {\n this._front = entry;\n }\n }\n\n public pop(): T | undefined {\n if (!this._front) {\n return undefined;\n }\n const value = this._front.value;\n this._front = this._front.next;\n if (!this._front) {\n this._back = undefined;\n }\n return value;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingUtils.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/internal/LoggingUtils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEpE,gBAAgB;AAChB,MAAM,WAAW,eAAe,CAAC,WAAW,GAAG,IAAI;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,MAAM,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,KAAK,CAAC,KAAK,EAAE,eAAe,QAQ3C;AAeD,gBAAgB;AAChB,wBAAgB,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,wDAEnE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingUtils.js","sourceRoot":"","sources":["../../../src/hierarchies/internal/LoggingUtils.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAW1C,gBAAgB;AAChB,MAAM,UAAU,KAAK,CAAC,KAAsB;IAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,MAAe,EAAE,QAAkB;IACrD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,GAAG,CAAc,KAAmC;IAClE,OAAO,GAAG,CAAc,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACvF,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { tap } from \"rxjs\";\nimport { getLogger } from \"../Logging.js\";\n\nimport type { ILogger, LogLevel } from \"@itwin/presentation-shared\";\n\n/** @internal */\nexport interface LogMessageProps<TMessageArg = void> {\n category: string;\n severity?: LogLevel;\n message: (arg: TMessageArg) => string;\n}\n\n/** @internal */\nexport function doLog(props: LogMessageProps) {\n const logger = getLogger();\n const severity = props.severity ?? \"trace\";\n if (!logger.isEnabled(props.category, severity)) {\n return;\n }\n const logFunc = getLogFunc(logger, severity);\n logFunc(props.category, props.message());\n}\n\nfunction getLogFunc(logger: ILogger, severity: LogLevel) {\n switch (severity) {\n case \"error\":\n return logger.logError.bind(logger);\n case \"warning\":\n return logger.logWarning.bind(logger);\n case \"info\":\n return logger.logInfo.bind(logger);\n case \"trace\":\n return logger.logTrace.bind(logger);\n }\n}\n\n/** @internal */\nexport function log<TMessageArg>(props: LogMessageProps<TMessageArg>) {\n return tap<TMessageArg>((n) => doLog({ ...props, message: () => props.message(n) }));\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RxjsHierarchyDefinition.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/internal/RxjsHierarchyDefinition.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,6BAA6B,EAC7B,wBAAwB,EACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,6BAA6B,EAC7B,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,kCAAkC,CAAC;AAE1C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE;IACnC,GAAG,EAAE;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACnC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB,KAAK,UAAU,CAAC,2BAA2B,CAAC,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,KAAK,SAAS,6BAA6B,GAAG,8BAA8B,EAC5E,KAAK,EAAE;IACP,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC;AAExB;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE;IAC1C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC,KAAK,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEtC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAExC,+EAA+E;IAC/E,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;CAC9F;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,uBAAuB,CAiB5G"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RxjsHierarchyDefinition.js","sourceRoot":"","sources":["../../../src/hierarchies/internal/RxjsHierarchyDefinition.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA4FlD,gBAAgB;AAChB,MAAM,UAAU,0BAA0B,CAAC,mBAAwC;IACjF,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACtC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBACR,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAU,CAAC,KAAK,CAAC,CAAC;gBACzD,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;YACH,CAAC,CAAC,SAAS;QACb,cAAc,EAAE,mBAAmB,CAAC,cAAc;YAChD,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,CAAC,mBAAmB,CAAC,cAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC3G,CAAC,CAAC,SAAS;QACb,eAAe,EAAE,mBAAmB,CAAC,eAAe;YAClD,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAgB,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC,CAAC,SAAS;QACb,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACvF,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { filter, from } from \"rxjs\";\nimport { fromPossiblyPromise } from \"./Common.js\";\n\nimport type { Observable } from \"rxjs\";\nimport type { ParentHierarchyNode } from \"../HierarchyNode.js\";\nimport type {\n DefineHierarchyLevelProps,\n HierarchyDefinition,\n HierarchyDefinitionParentNode,\n HierarchyLevelDefinition,\n} from \"../imodel/IModelHierarchyDefinition.js\";\nimport type {\n ProcessedGenericHierarchyNode,\n ProcessedHierarchyNode,\n ProcessedInstanceHierarchyNode,\n SourceInstanceHierarchyNode,\n} from \"../imodel/IModelHierarchyNode.js\";\n\n/**\n * A type for a function that parses a `SourceInstanceHierarchyNode` from provided ECSQL `row` object.\n * @internal\n */\nexport type RxjsNodeParser = (props: {\n row: { [columnName: string]: any };\n parentNode?: HierarchyDefinitionParentNode;\n imodelKey: string;\n}) => Observable<SourceInstanceHierarchyNode>;\n\n/**\n * A type for a function that pre-processes given node. Unless the function decides not to make any modifications,\n * it should return a new - modified - node, rather than modifying the given one. Returning `undefined` omits the node\n * from the hierarchy.\n *\n * @internal\n */\nexport type RxjsNodePreProcessor = <\n TNode extends ProcessedGenericHierarchyNode | ProcessedInstanceHierarchyNode,\n>(props: {\n node: TNode;\n parentNode?: ParentHierarchyNode;\n}) => Observable<TNode>;\n\n/**\n * A type for a function that post-processes given node. Unless the function decides not to make any modifications,\n * it should return a new - modified - node, rather than modifying the given one.\n *\n * @internal\n */\nexport type RxjsNodePostProcessor = (props: {\n node: ProcessedHierarchyNode;\n parentNode?: ParentHierarchyNode;\n}) => Observable<ProcessedHierarchyNode>;\n\n/**\n * An interface for a factory that knows how define a hierarchy based on a given parent node.\n * @internal\n */\nexport interface RxjsHierarchyDefinition {\n /**\n * An optional function for parsing ECInstance node from ECSQL row.\n *\n * Should be used in situations when the `HierarchyDefinition` implementation\n * introduces additional ECSQL columns into the select clause and wants to assign additional\n * data to the nodes it produces.\n *\n * Defaults to a function that parses all `HierarchyNode` attributes from a query, whose SELECT\n * clause is created using `NodeSelectQueryFactory.createSelectClause`.\n */\n parseNode?: RxjsNodeParser;\n\n /**\n * An optional function for pre-processing nodes.\n *\n * Pre-processing happens immediately after the nodes are loaded based on `HierarchyLevelDefinition`\n * returned by this `HierarchyDefinition` and before their processing (hiding, grouping, sorting, etc.) starts.\n * The step allows assigning nodes additional data or excluding them from the hierarchy based on some attributes.\n */\n preProcessNode?: RxjsNodePreProcessor;\n\n /**\n * An optional function for post-processing nodes.\n *\n * Post-processing happens after the loaded nodes go through all the merging, hiding and grouping\n * steps, but before sorting them. This step allows `HierarchyDefinition` implementations to assign additional data\n * to nodes after they're processed. This is especially true for grouping nodes as they're only created during\n * processing.\n */\n postProcessNode?: RxjsNodePostProcessor;\n\n /** A function to create a hierarchy level definition for given parent node. */\n defineHierarchyLevel(props: DefineHierarchyLevelProps): Observable<HierarchyLevelDefinition>;\n}\n\n/** @internal */\nexport function getRxjsHierarchyDefinition(hierarchyDefinition: HierarchyDefinition): RxjsHierarchyDefinition {\n return {\n parseNode: hierarchyDefinition.parseNode\n ? (props) => {\n const parsedNode = hierarchyDefinition.parseNode!(props);\n return fromPossiblyPromise(parsedNode);\n }\n : undefined,\n preProcessNode: hierarchyDefinition.preProcessNode\n ? (props) =>\n from(hierarchyDefinition.preProcessNode!(props)).pipe(filter((preprocessedNode) => !!preprocessedNode))\n : undefined,\n postProcessNode: hierarchyDefinition.postProcessNode\n ? (props) => from(hierarchyDefinition.postProcessNode!(props))\n : undefined,\n defineHierarchyLevel: (props) => from(hierarchyDefinition.defineHierarchyLevel(props)),\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionScheduler.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/internal/SubscriptionScheduler.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,MAAM,CAAC;AAEpD,gBAAgB;AAChB,qBAAa,qBAAqB;IAChC,OAAO,CAAC,UAAU,CAAuC;IACzD,YAAY,WAAW,EAAE,MAAM,EAuB9B;IACD;;;;;;;;OAQG;IACI,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAcnE;CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionScheduler.js","sourceRoot":"","sources":["../../../src/hierarchies/internal/SubscriptionScheduler.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,WAAW,EACX,GAAG,GACJ,MAAM,MAAM,CAAC;AAId,gBAAgB;AAChB,MAAM,OAAO,qBAAqB;IACxB,UAAU,GAAG,IAAI,OAAO,EAAwB,CAAC;IACzD,YAAY,WAAmB;QAC7B,IAAI,CAAC,UAAU;aACZ,IAAI,CACH,QAAQ,CAAC,CAAC,gBAAgB,EAAE,EAAE;YAC5B,OAAO,gBAAgB,CAAC,IAAI;YAC1B,sDAAsD;YACtD,GAAG,CAAC;gBACF,SAAS,EAAE,GAAG,EAAE;oBACd,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC7B,CAAC;aACF,CAAC;YACF,0GAA0G;YAC1G,4EAA4E;YAC5E,SAAS,CAAC,cAAc,CAAC;YACzB,qDAAqD;YACrD,WAAW,CAAC,aAAa,CAAC;YAC1B,gFAAgF;YAChF,qBAAqB,EAAE,CACxB,CAAC;QACJ,CAAC,EAAE,WAAW,CAAC,CAChB;YACD,wCAAwC;aACvC,SAAS,EAAE,CAAC;IACjB,CAAC;IACD;;;;;;;;OAQG;IACI,oBAAoB,CAAI,MAAqB;QAClD,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,qBAAqB,GAAG,WAAW,CACvC,GAAG,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,EACtC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,OAAO,EAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAChE,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC5C,OAAO,qBAAqB,CAAC,IAAI,CAC/B,QAAQ,CAAC,GAAG,EAAE;gBACZ,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport {\n asapScheduler,\n connectable,\n defer,\n EMPTY,\n finalize,\n iif,\n mergeMap,\n observeOn,\n onErrorResumeNextWith,\n queueScheduler,\n Subject,\n subscribeOn,\n tap,\n} from \"rxjs\";\n\nimport type { Connectable, Observable } from \"rxjs\";\n\n/** @internal */\nexport class SubscriptionScheduler {\n private _scheduler = new Subject<Connectable<unknown>>();\n constructor(concurrency: number) {\n this._scheduler\n .pipe(\n mergeMap((sourceObservable) => {\n return sourceObservable.pipe(\n // connect source observable when scheduler subscribes\n tap({\n subscribe: () => {\n sourceObservable.connect();\n },\n }),\n // Guard against stack overflow when a lot of observables are scheduled. Without this operation `mergeMap`\n // will process each observable that is present in the pipeline recursively.\n observeOn(queueScheduler),\n // Delay the connection until another event loop task\n subscribeOn(asapScheduler),\n // Ignore errors in this pipeline without suppressing them for other subscribers\n onErrorResumeNextWith(),\n );\n }, concurrency),\n )\n // Start consuming scheduled observables\n .subscribe();\n }\n /**\n * Schedules `source` for subscription in the current scheduler.\n *\n * The actual scheduling is performed when the returned observable is subscribed to. To cancel, remove all subscribers\n * from the returned observable.\n *\n * @param source Input observable for which to schedule a subscription.\n * @returns Hot observable which starts emitting `source` values after subscription.\n */\n public scheduleSubscription<T>(source: Observable<T>): Observable<T> {\n return defer(() => {\n let unsubscribed = false;\n const connectableObservable = connectable(\n iif(() => unsubscribed, EMPTY, source),\n { connector: () => new Subject<T>(), resetOnDisconnect: false },\n );\n this._scheduler.next(connectableObservable);\n return connectableObservable.pipe(\n finalize(() => {\n unsubscribed = true;\n }),\n );\n });\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Partition.d.ts","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/Partition.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAGvD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,MAAM,CAAC;AAE1D,gBAAgB;AAChB,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAClC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,gBAAgB;AAChB,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAC/B,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Partition.js","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/Partition.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAe7C;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,MAA0B,EAC1B,SAAgC;IAEhC,MAAM,OAAO,GAAG,IAAI,aAAa,EAAK,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,aAAa,EAAK,CAAC;IAC1C,IAAI,kBAA4C,CAAC;IACjD,IAAI,wBAAwB,GAAG,CAAC,CAAC;IACjC,SAAS,iBAAiB;QACxB,IAAI,wBAAwB,EAAE,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC5B,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,KAAK;gBACR,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,KAAK,CAAC,KAAK;gBACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YACD,QAAQ;gBACN,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,UAAU,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,SAAS,qBAAqB;QAC5B,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,EAAE,wBAAwB,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC7B,kBAAkB,CAAC,WAAW,EAAE,CAAC;YACjC,kBAAkB,GAAG,SAAS,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,GAAG,CAC9B,CAAC,OAAO,EAAE,EAAE,CACV,IAAI,UAAU,CAAC,CAAC,UAAU,EAAE,EAAE;QAC5B,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1D,iBAAiB,EAAE,CAAC;QACpB,OAAO,GAAG,EAAE;YACV,mBAAmB,CAAC,WAAW,EAAE,CAAC;YAClC,qBAAqB,EAAE,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,CAAC,CAC6B,CAAC;AACtC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { from, Observable, ReplaySubject } from \"rxjs\";\nimport { assert } from \"@itwin/core-bentley\";\n\nimport type { ObservableInput, Subscription } from \"rxjs\";\n\n/** @internal */\nexport function partition<T, U extends T>(\n source: ObservableInput<T>,\n predicate: (value: T) => value is U,\n): [Observable<U>, Observable<Exclude<T, U>>];\n/** @internal */\nexport function partition<T>(\n source: ObservableInput<T>,\n predicate: (value: T) => boolean,\n): [Observable<T>, Observable<T>];\n\n/**\n * This is similar to `rxjs` `partition` operator, but it subscribes to source observable only once.\n * @internal\n */\nexport function partition<T>(\n source: ObservableInput<T>,\n predicate: (value: T) => boolean,\n): [Observable<T>, Observable<T>] {\n const matches = new ReplaySubject<T>();\n const nonMatches = new ReplaySubject<T>();\n let sourceSubscription: Subscription | undefined;\n let sourceSubscriptionsCount = 0;\n function subscribeToSource() {\n if (sourceSubscriptionsCount++ > 0) {\n return;\n }\n assert(!sourceSubscription);\n sourceSubscription = from(source).subscribe({\n next(value) {\n if (predicate(value)) {\n matches.next(value);\n } else {\n nonMatches.next(value);\n }\n },\n error(error) {\n matches.error(error);\n nonMatches.error(error);\n },\n complete() {\n matches.complete();\n nonMatches.complete();\n },\n });\n }\n function unsubscribeFromSource() {\n assert(sourceSubscriptionsCount > 0);\n if (--sourceSubscriptionsCount === 0) {\n assert(!!sourceSubscription);\n sourceSubscription.unsubscribe();\n sourceSubscription = undefined;\n }\n }\n return [matches, nonMatches].map(\n (subject) =>\n new Observable((subscriber) => {\n const subjectSubscription = subject.subscribe(subscriber);\n subscribeToSource();\n return () => {\n subjectSubscription.unsubscribe();\n unsubscribeFromSource();\n };\n }),\n ) as [Observable<T>, Observable<T>];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReduceToMergeMap.d.ts","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/ReduceToMergeMap.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAE5C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,SAAS,MAAM,EAChF,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,EACnC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,QAAQ,iGASvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,SAAS,MAAM,EAChF,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,EACnC,SAAS,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,KAAK,QAAQ,YAE/D,eAAe,CAAC,WAAW,CAAC,uDAa7C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReduceToMergeMap.js","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/ReduceToMergeMap.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAIpC;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAmC,EACnC,KAAsC;IAEtC,OAAO,oBAAoB,CAAmC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAChF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAAmC,EACnC,SAA+E;IAE/E,OAAO,CAAC,MAAoC,EAAE,EAAE,CAC9C,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACf,MAAM,CAAsC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;QAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,6EAA6E;YAC7E,0BAA0B;YAC1B,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,SAAS,CAAC,CACd,CAAC;AACN,CAAC;AACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { from, reduce } from \"rxjs\";\n\nimport type { ObservableInput } from \"rxjs\";\n\n/**\n * Reduces the source observable into a `Map<string, TMapItem[]>`, where all input items are grouped based on their key\n * and placed into arrays.\n *\n * @param key A function to calculate map key for the item.\n * @param value A function to calculate entry value for the item.\n *\n * @internal\n */\nexport function reduceToMergeMapList<TSourceItem, TMapItem, TMapKey extends string>(\n key: (item: TSourceItem) => TMapKey,\n value: (item: TSourceItem) => TMapItem,\n) {\n return reduceToMergeMapItem<TSourceItem, TMapItem[], TMapKey>(key, (item, list) => {\n if (!list) {\n list = [];\n }\n list.push(value(item));\n return list;\n });\n}\n\n/**\n * Reduces the source observable into a `Map<string, TMapItem>`, where all input items are grouped based on their key\n * and merged into a single value using provided merge function.\n *\n * @param key A function to calculate map key for the item.\n * @param value A function to create map value using the _current_ item and an item already _existing_ in the map with the same key.\n *\n * @internal\n */\nexport function reduceToMergeMapItem<TSourceItem, TMapItem, TMapKey extends string>(\n key: (item: TSourceItem) => TMapKey,\n mergeFunc: (sourceItem: TSourceItem, mapItem: TMapItem | undefined) => TMapItem,\n) {\n return (source: ObservableInput<TSourceItem>) =>\n from(source).pipe(\n reduce<TSourceItem, Map<TMapKey, TMapItem>>((mergedMap, item) => {\n if (mergedMap === EMPTY_MAP) {\n // this helps us avoid creating an empty map for cases when source observable\n // doesn't emit any values\n mergedMap = new Map();\n }\n const mergeKey = key(item);\n mergedMap.set(mergeKey, mergeFunc(item, mergedMap.get(mergeKey)));\n return mergedMap;\n }, EMPTY_MAP),\n );\n}\nconst EMPTY_MAP = new Map();\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseMainThread.d.ts","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/ReleaseMainThread.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,SACtD,UAAU,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC,CAa3C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReleaseMainThread.js","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/ReleaseMainThread.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAIpE;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAI,YAAoB;IACnE,OAAO,CAAC,GAAkB,EAAiB,EAAE;QAC3C,OAAO,GAAG,CAAC,IAAI,CACb,WAAW,CAAC,YAAY,CAAC,EACzB,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBAC1C,OAAO,GAAG,CAAC;YACb,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,EACF,SAAS,EAAE,CACZ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { bufferCount, concatAll, concatMap, delay, of } from \"rxjs\";\n\nimport type { Observable } from \"rxjs\";\n\n/**\n * Emits a certain amount of values, then releases the main thread for other timers to use.\n * @internal\n */\nexport function releaseMainThreadOnItemsCount<T>(elementCount: number) {\n return (obs: Observable<T>): Observable<T> => {\n return obs.pipe(\n bufferCount(elementCount),\n concatMap((buff, i) => {\n const out = of(buff);\n if (i === 0 && buff.length < elementCount) {\n return out;\n }\n return out.pipe(delay(0));\n }),\n concatAll(),\n );\n };\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareReplayWithErrors.d.ts","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/ShareReplayWithErrors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,MAAM,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,KAAK,wBAAwB,CAAC,CAAC,CAAC,CAOtE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareReplayWithErrors.js","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/ShareReplayWithErrors.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAI5C;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAI;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE;QACpC,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;QACtB,mBAAmB,EAAE,KAAK;KAC3B,CAAC,CAAC;AACL,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { ReplaySubject, share } from \"rxjs\";\n\nimport type { MonoTypeOperatorFunction } from \"rxjs\";\n\n/**\n * This is doing exactly the same as the standard `shareReplay` from `rxjs`, except that\n * source is not retried on error.\n *\n * @internal\n */\nexport function shareReplayWithErrors<T>(): MonoTypeOperatorFunction<T> {\n return share<T>({\n connector: () => new ReplaySubject(),\n resetOnError: false,\n resetOnComplete: false,\n resetOnRefCountZero: false,\n });\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sorting.d.ts","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/Sorting.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CASrH"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sorting.js","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/Sorting.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAkC,KAAwB;IAChG,OAAO,KAAK,CAAC,IAAI,CACf,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,IAAI,WAAW,CAAQ,mBAAmB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EACtE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,EAChD,SAAS,EAAE,CACZ,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { concatAll, map, reduce } from \"rxjs\";\nimport { DuplicatePolicy, SortedArray } from \"@itwin/core-bentley\";\nimport { compareNodesByLabel } from \"../Common.js\";\n\nimport type { Observable } from \"rxjs\";\n\n/**\n * This should accept sorting params in some form:\n * - is sorting disabled?\n * - are we sorting by label or some property value, in case of the latter - how do we get the value?\n *\n * @note Nodes with same labels are returned in undefined order.\n * @internal\n */\nexport function sortNodesByLabelOperator<TNode extends { label: string }>(nodes: Observable<TNode>): Observable<TNode> {\n return nodes.pipe(\n reduce((sorted, node) => {\n sorted.insert(node);\n return sorted;\n }, new SortedArray<TNode>(compareNodesByLabel, DuplicatePolicy.Allow)),\n map((sortedArray) => sortedArray.extractArray()),\n concatAll(),\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TapOnce.d.ts","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/TapOnce.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,MAAM,CAAC;AAErD,gBAAgB;AAChB,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAW5E"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TapOnce.js","sourceRoot":"","sources":["../../../../src/hierarchies/internal/operators/TapOnce.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAI3B,gBAAgB;AAChB,MAAM,UAAU,OAAO,CAAI,QAAoB;IAC7C,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,MAAM,CAAC,IAAI,CACT,GAAG,CAAC,GAAG,EAAE;QACP,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,GAAG,KAAK,CAAC;YACd,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACN,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { tap } from \"rxjs\";\n\nimport type { MonoTypeOperatorFunction } from \"rxjs\";\n\n/** @internal */\nexport function tapOnce<T>(observer: () => void): MonoTypeOperatorFunction<T> {\n let first = true;\n return (source) =>\n source.pipe(\n tap(() => {\n if (first) {\n first = false;\n observer();\n }\n }),\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presentation-hierarchies.d.ts","sourceRoot":"","sources":["../src/presentation-hierarchies.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,YAAY,EACV,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,YAAY,EACV,yCAAyC,EACzC,0CAA0C,EAC1C,6BAA6B,GAC9B,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AACpH,YAAY,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACtG,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,YAAY,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,4BAA4B,EAC5B,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"presentation-hierarchies.js","sourceRoot":"","sources":["../../src/presentation-hierarchies.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,kDAA2D;AAAlD,oHAAA,qBAAqB,OAAA;AAU9B,kGAA6F;AAApF,wIAAA,wBAAwB,OAAA;AAMjC,kHAAoH;AAA3G,+JAAA,uCAAuC,OAAA;AAEhD,oGAAsG;AAA7F,iJAAA,gCAAgC,OAAA;AACzC,8FAGyD;AAFvD,2IAAA,6BAA6B,OAAA;AAC7B,iJAAA,mCAAmC,OAAA;AAGrC,sFAAqF;AAA5E,gIAAA,sBAAsB,OAAA;AAE/B,uEAA0E;AAAjE,4HAAA,sBAAsB,OAAA;AAE/B,mEAA+D;AAAtD,iHAAA,aAAa,OAAA;AAEtB,uFAAmF;AAA1E,qIAAA,uBAAuB,OAAA;AAchC,yEAAqE;AAA5D,uHAAA,gBAAgB,OAAA;AAEzB,2EAA6E;AAApE,+HAAA,uBAAuB,OAAA;AAChC,qEAAiE;AAAxD,mHAAA,cAAc,OAAA;AAEvB,uEAI0C;AAHxC,iIAAA,2BAA2B,OAAA;AAC3B,yHAAA,mBAAmB,OAAA;AACnB,yHAAA,mBAAmB,OAAA;AAErB,uDAAgE;AAAvD,uGAAA,SAAS,OAAA;AAAE,uGAAA,SAAS,OAAA","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nexport { GenericInstanceFilter } from \"@itwin/core-common\";\n\nexport type {\n DefineHierarchyLevelProps,\n HierarchyLevelDefinition,\n HierarchyDefinition,\n NodeParser,\n NodePostProcessor,\n NodePreProcessor,\n} from \"./hierarchies/imodel/IModelHierarchyDefinition.js\";\nexport { HierarchyNodesDefinition } from \"./hierarchies/imodel/IModelHierarchyDefinition.js\";\nexport type {\n DefineGenericNodeChildHierarchyLevelProps,\n DefineInstanceNodeChildHierarchyLevelProps,\n DefineRootHierarchyLevelProps,\n} from \"./hierarchies/imodel/PredicateBasedHierarchyDefinition.js\";\nexport { createPredicateBasedHierarchyDefinition } from \"./hierarchies/imodel/PredicateBasedHierarchyDefinition.js\";\nexport type { LimitingECSqlQueryExecutor } from \"./hierarchies/imodel/LimitingECSqlQueryExecutor.js\";\nexport { createLimitingECSqlQueryExecutor } from \"./hierarchies/imodel/LimitingECSqlQueryExecutor.js\";\nexport {\n createIModelHierarchyProvider,\n createMergedIModelHierarchyProvider,\n} from \"./hierarchies/imodel/IModelHierarchyProvider.js\";\nexport type { SourceHierarchyNode } from \"./hierarchies/imodel/IModelHierarchyNode.js\";\nexport { ProcessedHierarchyNode } from \"./hierarchies/imodel/IModelHierarchyNode.js\";\n\nexport { RowsLimitExceededError } from \"./hierarchies/HierarchyErrors.js\";\nexport type { GroupingHierarchyNode, NonGroupingHierarchyNode } from \"./hierarchies/HierarchyNode.js\";\nexport { HierarchyNode } from \"./hierarchies/HierarchyNode.js\";\nexport type { HierarchyNodeIdentifiersPath } from \"./hierarchies/HierarchyNodeIdentifier.js\";\nexport { HierarchyNodeIdentifier } from \"./hierarchies/HierarchyNodeIdentifier.js\";\nexport type {\n GenericNodeKey,\n GroupingNodeKey,\n IModelInstanceKey,\n InstancesNodeKey,\n ClassGroupingNodeKey,\n LabelGroupingNodeKey,\n PropertyGroupingNodeKey,\n PropertyOtherValuesGroupingNodeKey,\n PropertyValueGroupingNodeKey,\n PropertyValueRangeGroupingNodeKey,\n IModelHierarchyNodeKey,\n} from \"./hierarchies/HierarchyNodeKey.js\";\nexport { HierarchyNodeKey } from \"./hierarchies/HierarchyNodeKey.js\";\nexport type { GetHierarchyNodesProps, HierarchyProvider } from \"./hierarchies/HierarchyProvider.js\";\nexport { createHierarchyProvider } from \"./hierarchies/HierarchyProvider.js\";\nexport { mergeProviders } from \"./hierarchies/HierarchyMerge.js\";\nexport type { HierarchySearchPathOptions } from \"./hierarchies/HierarchySearch.js\";\nexport {\n createHierarchySearchHelper,\n HierarchySearchPath,\n HierarchySearchTree,\n} from \"./hierarchies/HierarchySearch.js\";\nexport { getLogger, setLogger } from \"./hierarchies/Logging.js\";\n"]}
1
+ {"version":3,"file":"presentation-hierarchies.js","sourceRoot":"","sources":["../src/presentation-hierarchies.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAU3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAM7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,2DAA2D,CAAC;AAEpH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACtG,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAcnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nexport { GenericInstanceFilter } from \"@itwin/core-common\";\n\nexport type {\n DefineHierarchyLevelProps,\n HierarchyLevelDefinition,\n HierarchyDefinition,\n NodeParser,\n NodePostProcessor,\n NodePreProcessor,\n} from \"./hierarchies/imodel/IModelHierarchyDefinition.js\";\nexport { HierarchyNodesDefinition } from \"./hierarchies/imodel/IModelHierarchyDefinition.js\";\nexport type {\n DefineGenericNodeChildHierarchyLevelProps,\n DefineInstanceNodeChildHierarchyLevelProps,\n DefineRootHierarchyLevelProps,\n} from \"./hierarchies/imodel/PredicateBasedHierarchyDefinition.js\";\nexport { createPredicateBasedHierarchyDefinition } from \"./hierarchies/imodel/PredicateBasedHierarchyDefinition.js\";\nexport type { LimitingECSqlQueryExecutor } from \"./hierarchies/imodel/LimitingECSqlQueryExecutor.js\";\nexport { createLimitingECSqlQueryExecutor } from \"./hierarchies/imodel/LimitingECSqlQueryExecutor.js\";\nexport {\n createIModelHierarchyProvider,\n createMergedIModelHierarchyProvider,\n} from \"./hierarchies/imodel/IModelHierarchyProvider.js\";\nexport type { SourceHierarchyNode } from \"./hierarchies/imodel/IModelHierarchyNode.js\";\nexport { ProcessedHierarchyNode } from \"./hierarchies/imodel/IModelHierarchyNode.js\";\n\nexport { RowsLimitExceededError } from \"./hierarchies/HierarchyErrors.js\";\nexport type { GroupingHierarchyNode, NonGroupingHierarchyNode } from \"./hierarchies/HierarchyNode.js\";\nexport { HierarchyNode } from \"./hierarchies/HierarchyNode.js\";\nexport type { HierarchyNodeIdentifiersPath } from \"./hierarchies/HierarchyNodeIdentifier.js\";\nexport { HierarchyNodeIdentifier } from \"./hierarchies/HierarchyNodeIdentifier.js\";\nexport type {\n GenericNodeKey,\n GroupingNodeKey,\n IModelInstanceKey,\n InstancesNodeKey,\n ClassGroupingNodeKey,\n LabelGroupingNodeKey,\n PropertyGroupingNodeKey,\n PropertyOtherValuesGroupingNodeKey,\n PropertyValueGroupingNodeKey,\n PropertyValueRangeGroupingNodeKey,\n IModelHierarchyNodeKey,\n} from \"./hierarchies/HierarchyNodeKey.js\";\nexport { HierarchyNodeKey } from \"./hierarchies/HierarchyNodeKey.js\";\nexport type { GetHierarchyNodesProps, HierarchyProvider } from \"./hierarchies/HierarchyProvider.js\";\nexport { createHierarchyProvider } from \"./hierarchies/HierarchyProvider.js\";\nexport { mergeProviders } from \"./hierarchies/HierarchyMerge.js\";\nexport type { HierarchySearchPathOptions } from \"./hierarchies/HierarchySearch.js\";\nexport {\n createHierarchySearchHelper,\n HierarchySearchPath,\n HierarchySearchTree,\n} from \"./hierarchies/HierarchySearch.js\";\nexport { getLogger, setLogger } from \"./hierarchies/Logging.js\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/presentation-hierarchies",
3
- "version": "2.0.0-alpha.16",
3
+ "version": "2.0.0-alpha.17",
4
4
  "description": "A package for creating hierarchies based on data in iTwin.js iModels.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -22,48 +22,46 @@
22
22
  "Presentation"
23
23
  ],
24
24
  "type": "module",
25
- "main": "lib/cjs/presentation-hierarchies.js",
26
- "types": "lib/cjs/presentation-hierarchies",
27
- "module": "lib/esm/presentation-hierarchies.js",
25
+ "types": "lib/presentation-hierarchies",
26
+ "module": "lib/presentation-hierarchies.js",
28
27
  "exports": {
29
28
  ".": {
30
- "import": "./lib/esm/presentation-hierarchies.js",
31
- "require": "./lib/cjs/presentation-hierarchies.js"
29
+ "import": "./lib/presentation-hierarchies.js"
32
30
  },
33
31
  "./package.json": "./package.json"
34
32
  },
35
33
  "dependencies": {
36
- "@itwin/core-bentley": "^5.10.0",
37
- "@itwin/core-common": "^5.10.0",
38
- "@itwin/core-geometry": "^5.10.0",
34
+ "@itwin/core-bentley": "^5.11.3",
35
+ "@itwin/core-common": "^5.11.3",
36
+ "@itwin/core-geometry": "^5.11.3",
39
37
  "natural-compare-lite": "^1.4.0",
40
38
  "rxjs": "^7.8.2",
41
- "@itwin/presentation-shared": "2.0.0-alpha.11"
39
+ "@itwin/presentation-shared": "2.0.0-alpha.12"
42
40
  },
43
41
  "devDependencies": {
44
- "@itwin/build-tools": "^5.10.0",
42
+ "@itwin/build-tools": "^5.11.3",
45
43
  "@itwin/eslint-plugin": "^6.1.0",
46
44
  "@types/natural-compare-lite": "^1.4.2",
47
- "@types/node": "^24.13.1",
48
- "@vitest/coverage-v8": "^4.1.8",
45
+ "@types/node": "^24.13.3",
46
+ "@vitest/coverage-v8": "^4.1.10",
49
47
  "cpx2": "^7.0.2",
50
- "eslint": "^9.39.4",
48
+ "eslint": "^9.39.5",
51
49
  "rimraf": "^6.1.3",
52
- "typescript": "~6.0.3",
53
- "vitest": "^4.1.8",
50
+ "@typescript/native": "npm:typescript@~7.0.2",
51
+ "typescript": "npm:@typescript/typescript6@~6.0.2",
52
+ "vitest": "^4.1.10",
54
53
  "presentation-test-utilities": "0.0.1"
55
54
  },
56
55
  "scripts": {
57
- "build": "npm run -s typecheck && npm run -s build:cjs && npm run -s build:esm",
58
- "build:cjs": "node ../../scripts/package-cjs.mjs ./lib/cjs && tsc -p tsconfig.cjs.json",
59
- "build:esm": "tsc -p tsconfig.esm.json",
56
+ "build": "npm run -s typecheck && npm run -s build:lib",
57
+ "build:lib": "tsc -p tsconfig.lib.json",
60
58
  "typecheck": "tsc -p tsconfig.json --noEmit",
61
59
  "clean": "rimraf lib",
62
60
  "cover": "vitest run --coverage",
63
61
  "lint": "eslint \"./src/**/*.ts\"",
64
62
  "test": "vitest run",
65
63
  "test:watch": "vitest",
66
- "extract-api": "betools extract-api --entry=lib/esm/presentation-hierarchies --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api --includeUnexportedApis",
64
+ "extract-api": "betools extract-api --entry=lib/presentation-hierarchies --apiReportFolder=./api --apiReportTempFolder=./api/temp --apiSummaryFolder=./api --includeUnexportedApis",
67
65
  "check-internal": "node ../../scripts/checkInternal.js --apiSummary ./api/presentation-hierarchies.api.md",
68
66
  "update-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md,./learning",
69
67
  "check-extractions": "node ../../scripts/updateExtractions.js --targets=./README.md,./learning --check",
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyErrors.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/HierarchyErrors.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;aACZ,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;CAGjD"}
@@ -1,20 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.RowsLimitExceededError = void 0;
8
- /**
9
- * Error that is thrown when rows amount exceed hierarchy level limit.
10
- * @public
11
- */
12
- class RowsLimitExceededError extends Error {
13
- limit;
14
- constructor(limit) {
15
- super(`Query rows limit of ${limit} exceeded`);
16
- this.limit = limit;
17
- }
18
- }
19
- exports.RowsLimitExceededError = RowsLimitExceededError;
20
- //# sourceMappingURL=HierarchyErrors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyErrors.js","sourceRoot":"","sources":["../../../src/hierarchies/HierarchyErrors.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,KAAK;IACZ;IAAnC,YAAmC,KAAa;QAC9C,KAAK,CAAC,uBAAuB,KAAK,WAAW,CAAC,CAAC;QADd,UAAK,GAAL,KAAK,CAAQ;IAEhD,CAAC;CACF;AAJD,wDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\n/**\n * Error that is thrown when rows amount exceed hierarchy level limit.\n * @public\n */\nexport class RowsLimitExceededError extends Error {\n public constructor(public readonly limit: number) {\n super(`Query rows limit of ${limit} exceeded`);\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyMerge.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/HierarchyMerge.ts"],"names":[],"mappings":"AAKA,OAAO,+BAA+B,CAAC;AASvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;GAGG;AACH,UAAU,4BAA4B;IACpC,kCAAkC;IAClC,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,GACV,EAAE,4BAA4B,GAAG,iBAAiB,GAAG;IAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,CAyCrF"}
@@ -1,43 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.mergeProviders = mergeProviders;
8
- require("./internal/DisposePolyfill.js");
9
- const rxjs_1 = require("rxjs");
10
- const core_bentley_1 = require("@itwin/core-bentley");
11
- const Common_js_1 = require("./internal/Common.js");
12
- const EachValueFrom_js_1 = require("./internal/EachValueFrom.js");
13
- const Sorting_js_1 = require("./internal/operators/Sorting.js");
14
- /**
15
- * Creates a single, merged, hierarchy provider from multiple given providers.
16
- * @public
17
- */
18
- function mergeProviders({ providers, }) {
19
- const hierarchyChanged = new core_bentley_1.BeEvent();
20
- providers.forEach((p) => {
21
- p.hierarchyChanged.addListener((args) => hierarchyChanged.raiseEvent(args));
22
- });
23
- const dispose = () => {
24
- hierarchyChanged.clear();
25
- providers.forEach((p) => (0, Common_js_1.safeDispose)(p));
26
- };
27
- return {
28
- hierarchyChanged,
29
- getNodes: (props) => (0, EachValueFrom_js_1.eachValueFrom)((0, rxjs_1.from)(providers).pipe((0, rxjs_1.mergeMap)((provider) => (0, rxjs_1.from)(provider.getNodes(props)).pipe((0, rxjs_1.mergeMap)((node) => {
30
- if (node.children) {
31
- return (0, rxjs_1.of)(node);
32
- }
33
- // each provider only considers its own data when determining node's children - in case it says
34
- // the node has no children, we have to check against the other providers too
35
- return (0, rxjs_1.from)(providers).pipe((0, rxjs_1.filter)((p) => p !== provider), (0, rxjs_1.mergeMap)((p) => p.getNodes({ parentNode: node })), (0, rxjs_1.map)(() => true), (0, rxjs_1.first)(undefined, false), (0, rxjs_1.map)((hasChildren) => ({ ...node, children: hasChildren })));
36
- }))), Sorting_js_1.sortNodesByLabelOperator)),
37
- getNodeInstanceKeys: (props) => (0, EachValueFrom_js_1.eachValueFrom)((0, rxjs_1.from)(providers).pipe((0, rxjs_1.mergeMap)((p) => p.getNodeInstanceKeys(props)))),
38
- setFormatter: (formatter) => providers.forEach((p) => p.setFormatter(formatter)),
39
- setHierarchySearch: (props) => providers.forEach((p) => p.setHierarchySearch(props)),
40
- [Symbol.dispose]: dispose,
41
- };
42
- }
43
- //# sourceMappingURL=HierarchyMerge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyMerge.js","sourceRoot":"","sources":["../../../src/hierarchies/HierarchyMerge.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AA0BhG,wCA2CC;AAnED,yCAAuC;AAEvC,+BAA8D;AAC9D,sDAA8C;AAC9C,oDAAmD;AACnD,kEAA4D;AAC5D,gEAA2E;AAc3E;;;GAGG;AACH,SAAgB,cAAc,CAAC,EAC7B,SAAS,GACoB;IAC7B,MAAM,gBAAgB,GAAG,IAAI,sBAAO,EAAoE,CAAC;IACzG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO;QACL,gBAAgB;QAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,IAAA,gCAAa,EACX,IAAA,WAAI,EAAC,SAAS,CAAC,CAAC,IAAI,CAClB,IAAA,eAAQ,EAAC,CAAC,QAAQ,EAAE,EAAE,CACpB,IAAA,WAAI,EAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CACjC,IAAA,eAAQ,EAAC,CAAC,IAAI,EAAE,EAAE;YAChB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,+FAA+F;YAC/F,6EAA6E;YAC7E,OAAO,IAAA,WAAI,EAAC,SAAS,CAAC,CAAC,IAAI,CACzB,IAAA,aAAM,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAC7B,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACjD,IAAA,UAAG,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACf,IAAA,YAAK,EAAC,SAAS,EAAE,KAAK,CAAC,EACvB,IAAA,UAAG,EAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,CAC3D,CAAC;QACJ,CAAC,CAAC,CACH,CACF,EACD,qCAAwB,CACzB,CACF;QACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAA,eAAQ,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClH,YAAY,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChF,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO;KAC1B,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport \"./internal/DisposePolyfill.js\";\n\nimport { filter, first, from, map, mergeMap, of } from \"rxjs\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { safeDispose } from \"./internal/Common.js\";\nimport { eachValueFrom } from \"./internal/EachValueFrom.js\";\nimport { sortNodesByLabelOperator } from \"./internal/operators/Sorting.js\";\n\nimport type { EventArgs } from \"@itwin/presentation-shared\";\nimport type { HierarchyProvider } from \"./HierarchyProvider.js\";\n\n/**\n * Props for `mergeProviders` function.\n * @public\n */\ninterface MergeHierarchyProvidersProps {\n /** List of providers to merge. */\n providers: HierarchyProvider[];\n}\n\n/**\n * Creates a single, merged, hierarchy provider from multiple given providers.\n * @public\n */\nexport function mergeProviders({\n providers,\n}: MergeHierarchyProvidersProps): HierarchyProvider & { [Symbol.dispose]: () => void } {\n const hierarchyChanged = new BeEvent<(args: EventArgs<HierarchyProvider[\"hierarchyChanged\"]>) => void>();\n providers.forEach((p) => {\n p.hierarchyChanged.addListener((args) => hierarchyChanged.raiseEvent(args));\n });\n const dispose = () => {\n hierarchyChanged.clear();\n providers.forEach((p) => safeDispose(p));\n };\n\n return {\n hierarchyChanged,\n getNodes: (props) =>\n eachValueFrom(\n from(providers).pipe(\n mergeMap((provider) =>\n from(provider.getNodes(props)).pipe(\n mergeMap((node) => {\n if (node.children) {\n return of(node);\n }\n // each provider only considers its own data when determining node's children - in case it says\n // the node has no children, we have to check against the other providers too\n return from(providers).pipe(\n filter((p) => p !== provider),\n mergeMap((p) => p.getNodes({ parentNode: node })),\n map(() => true),\n first(undefined, false),\n map((hasChildren) => ({ ...node, children: hasChildren })),\n );\n }),\n ),\n ),\n sortNodesByLabelOperator,\n ),\n ),\n getNodeInstanceKeys: (props) => eachValueFrom(from(providers).pipe(mergeMap((p) => p.getNodeInstanceKeys(props)))),\n setFormatter: (formatter) => providers.forEach((p) => p.setFormatter(formatter)),\n setHierarchySearch: (props) => providers.forEach((p) => p.setHierarchySearch(props)),\n [Symbol.dispose]: dispose,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HierarchyNode.d.ts","sourceRoot":"","sources":["../../../src/hierarchies/HierarchyNode.ts"],"names":[],"mappings":"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"}
@@ -1,82 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.HierarchyNode = void 0;
8
- const HierarchyNodeKey_js_1 = require("./HierarchyNodeKey.js");
9
- /** @public */
10
- // eslint-disable-next-line @typescript-eslint/no-redeclare
11
- var HierarchyNode;
12
- (function (HierarchyNode) {
13
- /** Checks whether the given node is a generic node */
14
- function isGeneric(node) {
15
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isGeneric(node.key);
16
- }
17
- HierarchyNode.isGeneric = isGeneric;
18
- /** Checks whether the given node is a standard (iModel content based) node */
19
- function isIModelNode(node) {
20
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isIModelNodeKey(node.key);
21
- }
22
- HierarchyNode.isIModelNode = isIModelNode;
23
- /** Checks whether the given node is an ECInstances-based node */
24
- function isInstancesNode(node) {
25
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isInstances(node.key);
26
- }
27
- HierarchyNode.isInstancesNode = isInstancesNode;
28
- /** Checks whether the given node is a grouping node */
29
- function isGroupingNode(node) {
30
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isGrouping(node.key);
31
- }
32
- HierarchyNode.isGroupingNode = isGroupingNode;
33
- /** Checks whether the given node is a class grouping node */
34
- function isClassGroupingNode(node) {
35
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isClassGrouping(node.key);
36
- }
37
- HierarchyNode.isClassGroupingNode = isClassGroupingNode;
38
- /** Checks whether the given node is a label grouping node */
39
- function isLabelGroupingNode(node) {
40
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isLabelGrouping(node.key);
41
- }
42
- HierarchyNode.isLabelGroupingNode = isLabelGroupingNode;
43
- /** Checks whether the given node is property grouping node for other values */
44
- function isPropertyOtherValuesGroupingNode(node) {
45
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isPropertyOtherValuesGrouping(node.key);
46
- }
47
- HierarchyNode.isPropertyOtherValuesGroupingNode = isPropertyOtherValuesGroupingNode;
48
- /** Checks whether the given node is a property value grouping node */
49
- function isPropertyValueGroupingNode(node) {
50
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isPropertyValueGrouping(node.key);
51
- }
52
- HierarchyNode.isPropertyValueGroupingNode = isPropertyValueGroupingNode;
53
- /** Checks whether the given node is a property value range grouping node */
54
- function isPropertyValueRangeGroupingNode(node) {
55
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isPropertyValueRangeGrouping(node.key);
56
- }
57
- HierarchyNode.isPropertyValueRangeGroupingNode = isPropertyValueRangeGroupingNode;
58
- /** Checks whether the given node is a property grouping node */
59
- function isPropertyGroupingNode(node) {
60
- return HierarchyNodeKey_js_1.HierarchyNodeKey.isPropertyGrouping(node.key);
61
- }
62
- HierarchyNode.isPropertyGroupingNode = isPropertyGroupingNode;
63
- /**
64
- * Gets the grouping level of the given grouping node.
65
- *
66
- * May be useful when setting `groupingLevel` for `HierarchySearchTree.options.autoExpand` or `HierarchySearchPathOptions.reveal`.
67
- */
68
- function getGroupingNodeLevel(groupingNode) {
69
- let level = 1;
70
- for (let i = groupingNode.parentKeys.length - 1; i >= 0; i--) {
71
- if (HierarchyNodeKey_js_1.HierarchyNodeKey.isGrouping(groupingNode.parentKeys[i])) {
72
- level++;
73
- }
74
- else {
75
- break;
76
- }
77
- }
78
- return level;
79
- }
80
- HierarchyNode.getGroupingNodeLevel = getGroupingNodeLevel;
81
- })(HierarchyNode || (exports.HierarchyNode = HierarchyNode = {}));
82
- //# sourceMappingURL=HierarchyNode.js.map