lib/index.js
function order (d, arr, visited) {
  for (let i in d) {
    if (!visited[i]) {
      let obj = d[i]
      visited[i] = true
      arr = arr.concat(order(obj, [], visited))
      if (css(i)) {
        arr.push(i)
      }
    }
  }
  return arr
}
function order (d, arr, visited) {
  for (let i in d) {
    if (!visited[i]) {
      let obj = d[i]
      visited[i] = true
      arr = arr.concat(order(obj, [], visited))
      if (css(i)) {
        arr.push(i)
      }
    }
  }
  return arr
}
function order ( d , arr , visited ) { for ( let i in d ) { if ( ! visited [ i ] ) { let obj = d [ i ] visited [ i ] = true arr = arr . concat ( order ( obj , [ ] , visited ) ) if ( css ( i ) ) { arr . push ( i ) } } } return arr }
walk deps and return ordered array
walk deps and return ordered array