PHP 8.2.30
Preview: flatten-tree.js Size: 1021 B
/proc/self/root/proc/thread-self/root/opt/alt/alt-nodejs9/root/usr/lib/node_modules/npm/lib/install/flatten-tree.js

'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)
}

Directory Contents

Dirs: 1 × Files: 33

Name Size Perms Modified Actions
action DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
202 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
5.52 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
324 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
360 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
204 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.85 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
881 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.81 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
26.41 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
8.52 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
775 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1021 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
427 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
628 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
7.24 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
175 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
618 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
763 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.19 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
462 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
185 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
172 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
259 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
4.52 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.85 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.97 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
621 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.02 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
5.60 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.87 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
2.45 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
3.10 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.00 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).