"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.idOf = idOf; exports.parentIdOf = parentIdOf; exports.idsOf = idsOf; const print_1 = require("./print"); /** * 获取节点/边/Combo 的 ID * * get the id of node/edge/combo * @param data - 节点/边/Combo 的数据 | data of node/edge/combo * @returns 节点/边/Combo 的 ID | ID of node/edge/combo */ function idOf(data) { if (data.id !== undefined) return data.id; if (data.source !== undefined && data.target !== undefined) return `${data.source}-${data.target}`; throw new Error((0, print_1.format)('The datum does not have available id.')); } /** * 获取节点/Combo 的父节点 ID * * get the parent id of node/combo * @param data - 节点/Combo 的数据 | data of node/combo * @returns 节点/Combo 的父节点 ID | parent id of node/combo */ function parentIdOf(data) { return data.combo; } /** * 获取图数据中所有节点/边/Combo 的 ID * * Get the IDs of all nodes/edges/combos in the graph data * @param data - 图数据 | graph data * @param flat - 是否扁平化返回 | Whether to return flat * @returns - 返回元素 ID 数组 | Returns an array of element IDs */ function idsOf(data, flat) { const ids = { nodes: (data.nodes || []).map(idOf), edges: (data.edges || []).map(idOf), combos: (data.combos || []).map(idOf), }; return flat ? Object.values(ids).flat() : ids; } //# sourceMappingURL=id.js.map