UNPKG

632 BJavaScriptView Raw
1/**
2 * Edges incident to given node
3 *
4 * @param {Object} edges
5 * @param {String} nodeId
6 * @returns {Array} incidentEdgeIds
7 */
8
9const getIncidentEdgeIds = (edges, nodeId) => {
10 var incidentEdgeIds = []
11
12 const pushUniqueIncidents = (edgeId, nodeId, id) => {
13 var isIncident = (id === nodeId)
14 var isUnique = (incidentEdgeIds.indexOf(edgeId) < 0)
15
16 if (isIncident && isUnique) {
17 incidentEdgeIds.push(edgeId)
18 }
19 }
20
21 for (var edgeId in edges) {
22 var edge = edges[edgeId]
23
24 edge.forEach(pushUniqueIncidents.bind(null, edgeId, nodeId))
25 }
26
27 return incidentEdgeIds
28}
29
30module.exports = getIncidentEdgeIds