MOON
Server: Apache
System: Linux 54-179-220-51.cprapid.com 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64
User: thehunarfound (1001)
PHP: 7.4.29
Disabled: NONE
Upload Files
File: /home/thehunarfound/public_html/DMSold/node_modules/snyk-tree/lib/archy.js
module.exports = makeArchy;

var archy = require('archy');

function defaultRender(leaf) {
  var label = leaf.name;
  if (leaf.version) {
    label += '@' + leaf.version;
  }

  return label;
}

function makeArchy(data, render) {
  if (!render) {
    render = defaultRender;
  }

  return archy(walkDepTree(data, null, function (leaf) {
    var label = render(leaf.data);

    if (leaf.deps) {
      return {
        label: label,
        nodes: leaf.deps,
      };
    } else {
      return label;
    }
  }));
}

function walkDepTree(data, parent, fn) {
  var deps = null;

  if (!data.parent) {
    data.parent = [];
  }

  if (parent) {
    data.parent.push({
      name: parent.name,
      version: parent.version,
    });
  }

  if (data.dependencies) {
    deps = Object.keys(data.dependencies).sort().map(function (module) {
      var dep = data.dependencies[module];
      if (!dep.name) {
        dep.name = module;
      }
      return walkDepTree(dep, data, fn);
    });
  }

  return fn({
    data: data,
    deps: deps,
  });
}
;;