11 lines
257 B
JavaScript
11 lines
257 B
JavaScript
const _ = require('../lodash')
|
|
const tarjan = require('./tarjan')
|
|
|
|
module.exports = findCycles
|
|
|
|
function findCycles (g) {
|
|
return _.filter(tarjan(g), function (cmpt) {
|
|
return cmpt.length > 1 || (cmpt.length === 1 && g.hasEdge(cmpt[0], cmpt[0]))
|
|
})
|
|
}
|