/** * @module node-opcua-service-translate-browse-path */ import { type NodeId, type NodeIdLike, resolveNodeId } from "node-opcua-nodeid"; import { BrowsePath } from "node-opcua-types"; import { makeRelativePath } from "./make_relative_path"; export declare type NodeIdLikeOrWithNodeId = | NodeIdLike | { nodeId: NodeId; }; function _get_nodeId(node: NodeIdLikeOrWithNodeId): NodeId { if (typeof node === "object" && Object.hasOwn(node, "nodeId")) { return (node as { nodeId: NodeId }).nodeId; } return resolveNodeId(node as NodeIdLike); } export function makeBrowsePath(rootNode: NodeIdLikeOrWithNodeId, relativePathBNF: string): BrowsePath { return new BrowsePath({ startingNode: _get_nodeId(rootNode), relativePath: makeRelativePath(relativePathBNF) }); }