| Software: Apache. PHP/5.3.29 uname -a: Linux tardis23.nocplanet.net 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 
 Safe-mode: OFF (not secure) /opt/alt/alt-nodejs14/root/usr/lib/node_modules/npm/lib/install/   drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict'
var validate = require('aproba')
var moduleName = require('../utils/module-name.js')
module.exports = flattenTree
module.exports.flatName = flatName
module.exports.flatNameFromTree = flatNameFromTree
function flattenTree (tree) {
  validate('O', arguments)
  var seen = new Set()
  var flat = {}
  var todo = [[tree, '/']]
  while (todo.length) {
    var next = todo.shift()
    var pkg = next[0]
    seen.add(pkg)
    var path = next[1]
    flat[path] = pkg
    if (path !== '/') path += '/'
    for (var ii = 0; ii < pkg.children.length; ++ii) {
      var child = pkg.children[ii]
      if (!seen.has(child)) {
        todo.push([child, flatName(path, child)])
      }
    }
  }
  return flat
}
function flatName (path, child) {
  validate('SO', arguments)
  return path + (moduleName(child) || 'TOP')
}
function flatNameFromTree (tree) {
  validate('O', arguments)
  if (tree.isTop) return '/'
  var path = flatNameFromTree(tree.parent)
  if (path !== '/') path += '/'
  return flatName(path, tree)
}
 | 
| :: Command execute :: | |
| --[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.013 ]-- |