@itwin/presentation-hierarchies
Version:
A package for creating hierarchies based on data in iTwin.js iModels.
32 lines • 1.63 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 { InstanceKey } from "@itwin/presentation-shared";
/** @public */
// eslint-disable-next-line @typescript-eslint/no-redeclare
export var HierarchyNodeIdentifier;
(function (HierarchyNodeIdentifier) {
/** Checks whether the given identifier is an instance node identifier */
function isInstanceNodeIdentifier(id) {
return "className" in id;
}
HierarchyNodeIdentifier.isInstanceNodeIdentifier = isInstanceNodeIdentifier;
/** Checks whether the given identifier is a generic node identifier */
function isGenericNodeIdentifier(id) {
return !isInstanceNodeIdentifier(id);
}
HierarchyNodeIdentifier.isGenericNodeIdentifier = isGenericNodeIdentifier;
/** Checks two identifiers for equality */
function equal(lhs, rhs) {
if (isInstanceNodeIdentifier(lhs) && isInstanceNodeIdentifier(rhs)) {
return InstanceKey.equals(lhs, rhs) && lhs.imodelKey === rhs.imodelKey;
}
if (isGenericNodeIdentifier(lhs) && isGenericNodeIdentifier(rhs)) {
return lhs.source === rhs.source && lhs.id === rhs.id;
}
return false;
}
HierarchyNodeIdentifier.equal = equal;
})(HierarchyNodeIdentifier || (HierarchyNodeIdentifier = {}));
//# sourceMappingURL=HierarchyNodeIdentifier.js.map