find-cycles.js 257 B

12345678910
  1. const _ = require('../lodash')
  2. const tarjan = require('./tarjan')
  3. module.exports = findCycles
  4. function findCycles (g) {
  5. return _.filter(tarjan(g), function (cmpt) {
  6. return cmpt.length > 1 || (cmpt.length === 1 && g.hasEdge(cmpt[0], cmpt[0]))
  7. })
  8. }