@itwin/presentation-hierarchies
Version:
A package for creating hierarchies based on data in iTwin.js iModels.
22 lines • 1.28 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
import { filter, from, of } from "rxjs";
/** @internal */
export function getRxjsHierarchyDefinition(hierarchyDefinition) {
return {
parseNode: hierarchyDefinition.parseNode
? (row, parentNode) => {
const parsedNode = hierarchyDefinition.parseNode(row, parentNode);
return parsedNode instanceof Promise ? from(parsedNode) : of(parsedNode);
}
: undefined,
preProcessNode: hierarchyDefinition.preProcessNode
? (node) => from(hierarchyDefinition.preProcessNode(node)).pipe(filter((preprocessedNode) => !!preprocessedNode))
: undefined,
postProcessNode: hierarchyDefinition.postProcessNode ? (node) => from(hierarchyDefinition.postProcessNode(node)) : undefined,
defineHierarchyLevel: (props) => from(hierarchyDefinition.defineHierarchyLevel(props)),
};
}
//# sourceMappingURL=RxjsHierarchyDefinition.js.map