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