Socket
Socket
Sign inDemoInstall

object-treeify

Package Overview
Dependencies
Maintainers
1
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

object-treeify - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

14

lib/index.js

@@ -6,6 +6,6 @@ const assert = require('assert');

joined: true,
spacerNoNeighbour: ' ',
spacerNeighbour: '| ',
keyNoNeighbour: '└── ',
keyNeighbour: '├── '
spacerNoNeighbour: ' ',
spacerNeighbour: '| ',
keyNoNeighbour: '└─ ',
keyNeighbour: '├─ '
}, opts);

@@ -25,6 +25,8 @@ assert(typeof ctx.joined === 'boolean');

const keys = Object.keys(tree).sort().map(k => [k]);
const lookup = [tree];
while (keys.length !== 0) {
const key = keys.shift();
const node = key.reduce((p, c) => p[c], tree);
const node = lookup[key.length - 1][key[key.length - 1]];
lookup[key.length] = node;
neighbours[key.length - 1] = keys.length !== 0 && keys[0].length === key.length;

@@ -40,2 +42,2 @@ result.push([neighbours.slice(0, key.length - 1).map(n => n ? ctx.spacerNeighbour : ctx.spacerNoNeighbour).join(''), neighbours[key.length - 1] ? ctx.keyNeighbour : ctx.keyNoNeighbour, key[key.length - 1], ['boolean', 'string', 'number'].includes(typeof node) ? `: ${node}` : ''].join(''));

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJyZXF1aXJlIiwiYnVpbGRDdHgiLCJvcHRzIiwiY3R4IiwiT2JqZWN0IiwiYXNzaWduIiwiam9pbmVkIiwic3BhY2VyTm9OZWlnaGJvdXIiLCJzcGFjZXJOZWlnaGJvdXIiLCJrZXlOb05laWdoYm91ciIsImtleU5laWdoYm91ciIsIm1vZHVsZSIsImV4cG9ydHMiLCJ0cmVlIiwicmVzdWx0IiwibmVpZ2hib3VycyIsImtleXMiLCJzb3J0IiwibWFwIiwiayIsImxlbmd0aCIsImtleSIsInNoaWZ0Iiwibm9kZSIsInJlZHVjZSIsInAiLCJjIiwicHVzaCIsInNsaWNlIiwibiIsImpvaW4iLCJpbmNsdWRlcyIsIkFycmF5IiwiaXNBcnJheSIsInVuc2hpZnQiLCJjb25jYXQiXSwibWFwcGluZ3MiOiJBQUFBLE1BQU1BLE1BQU0sR0FBR0MsT0FBTyxDQUFDLFFBQUQsQ0FBdEI7O0FBRUEsTUFBTUMsUUFBUSxHQUFJQyxJQUFELElBQVU7QUFDekIsUUFBTUMsR0FBRyxHQUFHQyxNQUFNLENBQUNDLE1BQVAsQ0FBYztBQUN4QkMsSUFBQUEsTUFBTSxFQUFFLElBRGdCO0FBRXhCQyxJQUFBQSxpQkFBaUIsRUFBRSxNQUZLO0FBR3hCQyxJQUFBQSxlQUFlLEVBQUUsTUFITztBQUl4QkMsSUFBQUEsY0FBYyxFQUFFLE1BSlE7QUFLeEJDLElBQUFBLFlBQVksRUFBRTtBQUxVLEdBQWQsRUFNVFIsSUFOUyxDQUFaO0FBT0FILEVBQUFBLE1BQU0sQ0FBQyxPQUFPSSxHQUFHLENBQUNHLE1BQVgsS0FBc0IsU0FBdkIsQ0FBTjtBQUNBUCxFQUFBQSxNQUFNLENBQUMsT0FBT0ksR0FBRyxDQUFDSSxpQkFBWCxLQUFpQyxRQUFsQyxDQUFOO0FBQ0FSLEVBQUFBLE1BQU0sQ0FBQyxPQUFPSSxHQUFHLENBQUNLLGVBQVgsS0FBK0IsUUFBaEMsQ0FBTjtBQUNBVCxFQUFBQSxNQUFNLENBQUMsT0FBT0ksR0FBRyxDQUFDTSxjQUFYLEtBQThCLFFBQS9CLENBQU47QUFDQVYsRUFBQUEsTUFBTSxDQUFDLE9BQU9JLEdBQUcsQ0FBQ08sWUFBWCxLQUE0QixRQUE3QixDQUFOO0FBQ0EsU0FBT1AsR0FBUDtBQUNELENBZEQ7O0FBZ0JBUSxNQUFNLENBQUNDLE9BQVAsR0FBaUIsQ0FBQ0MsSUFBRCxFQUFPWCxJQUFJLEdBQUcsRUFBZCxLQUFxQjtBQUNwQyxRQUFNQyxHQUFHLEdBQUdGLFFBQVEsQ0FBQ0MsSUFBRCxDQUFwQjtBQUNBLFFBQU1ZLE1BQU0sR0FBRyxFQUFmO0FBRUEsUUFBTUMsVUFBVSxHQUFHLEVBQW5CO0FBQ0EsUUFBTUMsSUFBSSxHQUFHWixNQUFNLENBQUNZLElBQVAsQ0FBWUgsSUFBWixFQUFrQkksSUFBbEIsR0FBeUJDLEdBQXpCLENBQTZCQyxDQUFDLElBQUksQ0FBQ0EsQ0FBRCxDQUFsQyxDQUFiOztBQUNBLFNBQU9ILElBQUksQ0FBQ0ksTUFBTCxLQUFnQixDQUF2QixFQUEwQjtBQUN4QixVQUFNQyxHQUFHLEdBQUdMLElBQUksQ0FBQ00sS0FBTCxFQUFaO0FBQ0EsVUFBTUMsSUFBSSxHQUFHRixHQUFHLENBQUNHLE1BQUosQ0FBVyxDQUFDQyxDQUFELEVBQUlDLENBQUosS0FBVUQsQ0FBQyxDQUFDQyxDQUFELENBQXRCLEVBQTJCYixJQUEzQixDQUFiO0FBRUFFLElBQUFBLFVBQVUsQ0FBQ00sR0FBRyxDQUFDRCxNQUFKLEdBQWEsQ0FBZCxDQUFWLEdBQTZCSixJQUFJLENBQUNJLE1BQUwsS0FBZ0IsQ0FBaEIsSUFBcUJKLElBQUksQ0FBQyxDQUFELENBQUosQ0FBUUksTUFBUixLQUFtQkMsR0FBRyxDQUFDRCxNQUF6RTtBQUNBTixJQUFBQSxNQUFNLENBQUNhLElBQVAsQ0FBWSxDQUNWWixVQUFVLENBQUNhLEtBQVgsQ0FBaUIsQ0FBakIsRUFBb0JQLEdBQUcsQ0FBQ0QsTUFBSixHQUFhLENBQWpDLEVBQW9DRixHQUFwQyxDQUF3Q1csQ0FBQyxJQUFLQSxDQUFDLEdBQUcxQixHQUFHLENBQUNLLGVBQVAsR0FBeUJMLEdBQUcsQ0FBQ0ksaUJBQTVFLEVBQWdHdUIsSUFBaEcsQ0FBcUcsRUFBckcsQ0FEVSxFQUVWZixVQUFVLENBQUNNLEdBQUcsQ0FBQ0QsTUFBSixHQUFhLENBQWQsQ0FBVixHQUE2QmpCLEdBQUcsQ0FBQ08sWUFBakMsR0FBZ0RQLEdBQUcsQ0FBQ00sY0FGMUMsRUFHVlksR0FBRyxDQUFDQSxHQUFHLENBQUNELE1BQUosR0FBYSxDQUFkLENBSE8sRUFJVixDQUFDLFNBQUQsRUFBWSxRQUFaLEVBQXNCLFFBQXRCLEVBQWdDVyxRQUFoQyxDQUF5QyxPQUFPUixJQUFoRCxJQUF5RCxLQUFJQSxJQUFLLEVBQWxFLEdBQXNFLEVBSjVELEVBS1ZPLElBTFUsQ0FLTCxFQUxLLENBQVo7O0FBT0EsUUFBSVAsSUFBSSxZQUFZbkIsTUFBaEIsSUFBMEIsQ0FBQzRCLEtBQUssQ0FBQ0MsT0FBTixDQUFjVixJQUFkLENBQS9CLEVBQW9EO0FBQ2xEUCxNQUFBQSxJQUFJLENBQUNrQixPQUFMLENBQWEsR0FBRzlCLE1BQU0sQ0FBQ1ksSUFBUCxDQUFZTyxJQUFaLEVBQWtCTixJQUFsQixHQUF5QkMsR0FBekIsQ0FBNkJDLENBQUMsSUFBSUUsR0FBRyxDQUFDYyxNQUFKLENBQVdoQixDQUFYLENBQWxDLENBQWhCO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPaEIsR0FBRyxDQUFDRyxNQUFKLEtBQWUsSUFBZixHQUFzQlEsTUFBTSxDQUFDZ0IsSUFBUCxDQUFZLElBQVosQ0FBdEIsR0FBMENoQixNQUFqRDtBQUNELENBeEJEIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5cbmNvbnN0IGJ1aWxkQ3R4ID0gKG9wdHMpID0+IHtcbiAgY29uc3QgY3R4ID0gT2JqZWN0LmFzc2lnbih7XG4gICAgam9pbmVkOiB0cnVlLFxuICAgIHNwYWNlck5vTmVpZ2hib3VyOiAnICAgICcsXG4gICAgc3BhY2VyTmVpZ2hib3VyOiAnfCAgICcsXG4gICAga2V5Tm9OZWlnaGJvdXI6ICfilJTilIDilIAgJyxcbiAgICBrZXlOZWlnaGJvdXI6ICfilJzilIDilIAgJ1xuICB9LCBvcHRzKTtcbiAgYXNzZXJ0KHR5cGVvZiBjdHguam9pbmVkID09PSAnYm9vbGVhbicpO1xuICBhc3NlcnQodHlwZW9mIGN0eC5zcGFjZXJOb05laWdoYm91ciA9PT0gJ3N0cmluZycpO1xuICBhc3NlcnQodHlwZW9mIGN0eC5zcGFjZXJOZWlnaGJvdXIgPT09ICdzdHJpbmcnKTtcbiAgYXNzZXJ0KHR5cGVvZiBjdHgua2V5Tm9OZWlnaGJvdXIgPT09ICdzdHJpbmcnKTtcbiAgYXNzZXJ0KHR5cGVvZiBjdHgua2V5TmVpZ2hib3VyID09PSAnc3RyaW5nJyk7XG4gIHJldHVybiBjdHg7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9ICh0cmVlLCBvcHRzID0ge30pID0+IHtcbiAgY29uc3QgY3R4ID0gYnVpbGRDdHgob3B0cyk7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gIGNvbnN0IG5laWdoYm91cnMgPSBbXTtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRyZWUpLnNvcnQoKS5tYXAoayA9PiBba10pO1xuICB3aGlsZSAoa2V5cy5sZW5ndGggIT09IDApIHtcbiAgICBjb25zdCBrZXkgPSBrZXlzLnNoaWZ0KCk7XG4gICAgY29uc3Qgbm9kZSA9IGtleS5yZWR1Y2UoKHAsIGMpID0+IHBbY10sIHRyZWUpO1xuXG4gICAgbmVpZ2hib3Vyc1trZXkubGVuZ3RoIC0gMV0gPSBrZXlzLmxlbmd0aCAhPT0gMCAmJiBrZXlzWzBdLmxlbmd0aCA9PT0ga2V5Lmxlbmd0aDtcbiAgICByZXN1bHQucHVzaChbXG4gICAgICBuZWlnaGJvdXJzLnNsaWNlKDAsIGtleS5sZW5ndGggLSAxKS5tYXAobiA9PiAobiA/IGN0eC5zcGFjZXJOZWlnaGJvdXIgOiBjdHguc3BhY2VyTm9OZWlnaGJvdXIpKS5qb2luKCcnKSxcbiAgICAgIG5laWdoYm91cnNba2V5Lmxlbmd0aCAtIDFdID8gY3R4LmtleU5laWdoYm91ciA6IGN0eC5rZXlOb05laWdoYm91cixcbiAgICAgIGtleVtrZXkubGVuZ3RoIC0gMV0sXG4gICAgICBbJ2Jvb2xlYW4nLCAnc3RyaW5nJywgJ251bWJlciddLmluY2x1ZGVzKHR5cGVvZiBub2RlKSA/IGA6ICR7bm9kZX1gIDogJydcbiAgICBdLmpvaW4oJycpKTtcblxuICAgIGlmIChub2RlIGluc3RhbmNlb2YgT2JqZWN0ICYmICFBcnJheS5pc0FycmF5KG5vZGUpKSB7XG4gICAgICBrZXlzLnVuc2hpZnQoLi4uT2JqZWN0LmtleXMobm9kZSkuc29ydCgpLm1hcChrID0+IGtleS5jb25jYXQoaykpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY3R4LmpvaW5lZCA9PT0gdHJ1ZSA/IHJlc3VsdC5qb2luKCdcXG4nKSA6IHJlc3VsdDtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJyZXF1aXJlIiwiYnVpbGRDdHgiLCJvcHRzIiwiY3R4IiwiT2JqZWN0IiwiYXNzaWduIiwiam9pbmVkIiwic3BhY2VyTm9OZWlnaGJvdXIiLCJzcGFjZXJOZWlnaGJvdXIiLCJrZXlOb05laWdoYm91ciIsImtleU5laWdoYm91ciIsIm1vZHVsZSIsImV4cG9ydHMiLCJ0cmVlIiwicmVzdWx0IiwibmVpZ2hib3VycyIsImtleXMiLCJzb3J0IiwibWFwIiwiayIsImxvb2t1cCIsImxlbmd0aCIsImtleSIsInNoaWZ0Iiwibm9kZSIsInB1c2giLCJzbGljZSIsIm4iLCJqb2luIiwiaW5jbHVkZXMiLCJBcnJheSIsImlzQXJyYXkiLCJ1bnNoaWZ0IiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSxNQUFNLEdBQUdDLE9BQU8sQ0FBQyxRQUFELENBQXRCOztBQUVBLE1BQU1DLFFBQVEsR0FBSUMsSUFBRCxJQUFVO0FBQ3pCLFFBQU1DLEdBQUcsR0FBR0MsTUFBTSxDQUFDQyxNQUFQLENBQWM7QUFDeEJDLElBQUFBLE1BQU0sRUFBRSxJQURnQjtBQUV4QkMsSUFBQUEsaUJBQWlCLEVBQUUsS0FGSztBQUd4QkMsSUFBQUEsZUFBZSxFQUFFLEtBSE87QUFJeEJDLElBQUFBLGNBQWMsRUFBRSxLQUpRO0FBS3hCQyxJQUFBQSxZQUFZLEVBQUU7QUFMVSxHQUFkLEVBTVRSLElBTlMsQ0FBWjtBQU9BSCxFQUFBQSxNQUFNLENBQUMsT0FBT0ksR0FBRyxDQUFDRyxNQUFYLEtBQXNCLFNBQXZCLENBQU47QUFDQVAsRUFBQUEsTUFBTSxDQUFDLE9BQU9JLEdBQUcsQ0FBQ0ksaUJBQVgsS0FBaUMsUUFBbEMsQ0FBTjtBQUNBUixFQUFBQSxNQUFNLENBQUMsT0FBT0ksR0FBRyxDQUFDSyxlQUFYLEtBQStCLFFBQWhDLENBQU47QUFDQVQsRUFBQUEsTUFBTSxDQUFDLE9BQU9JLEdBQUcsQ0FBQ00sY0FBWCxLQUE4QixRQUEvQixDQUFOO0FBQ0FWLEVBQUFBLE1BQU0sQ0FBQyxPQUFPSSxHQUFHLENBQUNPLFlBQVgsS0FBNEIsUUFBN0IsQ0FBTjtBQUNBLFNBQU9QLEdBQVA7QUFDRCxDQWREOztBQWdCQVEsTUFBTSxDQUFDQyxPQUFQLEdBQWlCLENBQUNDLElBQUQsRUFBT1gsSUFBSSxHQUFHLEVBQWQsS0FBcUI7QUFDcEMsUUFBTUMsR0FBRyxHQUFHRixRQUFRLENBQUNDLElBQUQsQ0FBcEI7QUFDQSxRQUFNWSxNQUFNLEdBQUcsRUFBZjtBQUVBLFFBQU1DLFVBQVUsR0FBRyxFQUFuQjtBQUNBLFFBQU1DLElBQUksR0FBR1osTUFBTSxDQUFDWSxJQUFQLENBQVlILElBQVosRUFBa0JJLElBQWxCLEdBQXlCQyxHQUF6QixDQUE2QkMsQ0FBQyxJQUFJLENBQUNBLENBQUQsQ0FBbEMsQ0FBYjtBQUNBLFFBQU1DLE1BQU0sR0FBRyxDQUFDUCxJQUFELENBQWY7O0FBQ0EsU0FBT0csSUFBSSxDQUFDSyxNQUFMLEtBQWdCLENBQXZCLEVBQTBCO0FBQ3hCLFVBQU1DLEdBQUcsR0FBR04sSUFBSSxDQUFDTyxLQUFMLEVBQVo7QUFDQSxVQUFNQyxJQUFJLEdBQUdKLE1BQU0sQ0FBQ0UsR0FBRyxDQUFDRCxNQUFKLEdBQWEsQ0FBZCxDQUFOLENBQXVCQyxHQUFHLENBQUNBLEdBQUcsQ0FBQ0QsTUFBSixHQUFhLENBQWQsQ0FBMUIsQ0FBYjtBQUNBRCxJQUFBQSxNQUFNLENBQUNFLEdBQUcsQ0FBQ0QsTUFBTCxDQUFOLEdBQXFCRyxJQUFyQjtBQUVBVCxJQUFBQSxVQUFVLENBQUNPLEdBQUcsQ0FBQ0QsTUFBSixHQUFhLENBQWQsQ0FBVixHQUE2QkwsSUFBSSxDQUFDSyxNQUFMLEtBQWdCLENBQWhCLElBQXFCTCxJQUFJLENBQUMsQ0FBRCxDQUFKLENBQVFLLE1BQVIsS0FBbUJDLEdBQUcsQ0FBQ0QsTUFBekU7QUFDQVAsSUFBQUEsTUFBTSxDQUFDVyxJQUFQLENBQVksQ0FDVlYsVUFBVSxDQUFDVyxLQUFYLENBQWlCLENBQWpCLEVBQW9CSixHQUFHLENBQUNELE1BQUosR0FBYSxDQUFqQyxFQUFvQ0gsR0FBcEMsQ0FBd0NTLENBQUMsSUFBS0EsQ0FBQyxHQUFHeEIsR0FBRyxDQUFDSyxlQUFQLEdBQXlCTCxHQUFHLENBQUNJLGlCQUE1RSxFQUFnR3FCLElBQWhHLENBQXFHLEVBQXJHLENBRFUsRUFFVmIsVUFBVSxDQUFDTyxHQUFHLENBQUNELE1BQUosR0FBYSxDQUFkLENBQVYsR0FBNkJsQixHQUFHLENBQUNPLFlBQWpDLEdBQWdEUCxHQUFHLENBQUNNLGNBRjFDLEVBR1ZhLEdBQUcsQ0FBQ0EsR0FBRyxDQUFDRCxNQUFKLEdBQWEsQ0FBZCxDQUhPLEVBSVYsQ0FBQyxTQUFELEVBQVksUUFBWixFQUFzQixRQUF0QixFQUFnQ1EsUUFBaEMsQ0FBeUMsT0FBT0wsSUFBaEQsSUFBeUQsS0FBSUEsSUFBSyxFQUFsRSxHQUFzRSxFQUo1RCxFQUtWSSxJQUxVLENBS0wsRUFMSyxDQUFaOztBQU9BLFFBQUlKLElBQUksWUFBWXBCLE1BQWhCLElBQTBCLENBQUMwQixLQUFLLENBQUNDLE9BQU4sQ0FBY1AsSUFBZCxDQUEvQixFQUFvRDtBQUNsRFIsTUFBQUEsSUFBSSxDQUFDZ0IsT0FBTCxDQUFhLEdBQUc1QixNQUFNLENBQUNZLElBQVAsQ0FBWVEsSUFBWixFQUFrQlAsSUFBbEIsR0FBeUJDLEdBQXpCLENBQTZCQyxDQUFDLElBQUlHLEdBQUcsQ0FBQ1csTUFBSixDQUFXZCxDQUFYLENBQWxDLENBQWhCO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPaEIsR0FBRyxDQUFDRyxNQUFKLEtBQWUsSUFBZixHQUFzQlEsTUFBTSxDQUFDYyxJQUFQLENBQVksSUFBWixDQUF0QixHQUEwQ2QsTUFBakQ7QUFDRCxDQTFCRCIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuXG5jb25zdCBidWlsZEN0eCA9IChvcHRzKSA9PiB7XG4gIGNvbnN0IGN0eCA9IE9iamVjdC5hc3NpZ24oe1xuICAgIGpvaW5lZDogdHJ1ZSxcbiAgICBzcGFjZXJOb05laWdoYm91cjogJyAgICcsXG4gICAgc3BhY2VyTmVpZ2hib3VyOiAnfCAgJyxcbiAgICBrZXlOb05laWdoYm91cjogJ+KUlOKUgCAnLFxuICAgIGtleU5laWdoYm91cjogJ+KUnOKUgCAnXG4gIH0sIG9wdHMpO1xuICBhc3NlcnQodHlwZW9mIGN0eC5qb2luZWQgPT09ICdib29sZWFuJyk7XG4gIGFzc2VydCh0eXBlb2YgY3R4LnNwYWNlck5vTmVpZ2hib3VyID09PSAnc3RyaW5nJyk7XG4gIGFzc2VydCh0eXBlb2YgY3R4LnNwYWNlck5laWdoYm91ciA9PT0gJ3N0cmluZycpO1xuICBhc3NlcnQodHlwZW9mIGN0eC5rZXlOb05laWdoYm91ciA9PT0gJ3N0cmluZycpO1xuICBhc3NlcnQodHlwZW9mIGN0eC5rZXlOZWlnaGJvdXIgPT09ICdzdHJpbmcnKTtcbiAgcmV0dXJuIGN0eDtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gKHRyZWUsIG9wdHMgPSB7fSkgPT4ge1xuICBjb25zdCBjdHggPSBidWlsZEN0eChvcHRzKTtcbiAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgY29uc3QgbmVpZ2hib3VycyA9IFtdO1xuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModHJlZSkuc29ydCgpLm1hcChrID0+IFtrXSk7XG4gIGNvbnN0IGxvb2t1cCA9IFt0cmVlXTtcbiAgd2hpbGUgKGtleXMubGVuZ3RoICE9PSAwKSB7XG4gICAgY29uc3Qga2V5ID0ga2V5cy5zaGlmdCgpO1xuICAgIGNvbnN0IG5vZGUgPSBsb29rdXBba2V5Lmxlbmd0aCAtIDFdW2tleVtrZXkubGVuZ3RoIC0gMV1dO1xuICAgIGxvb2t1cFtrZXkubGVuZ3RoXSA9IG5vZGU7XG5cbiAgICBuZWlnaGJvdXJzW2tleS5sZW5ndGggLSAxXSA9IGtleXMubGVuZ3RoICE9PSAwICYmIGtleXNbMF0ubGVuZ3RoID09PSBrZXkubGVuZ3RoO1xuICAgIHJlc3VsdC5wdXNoKFtcbiAgICAgIG5laWdoYm91cnMuc2xpY2UoMCwga2V5Lmxlbmd0aCAtIDEpLm1hcChuID0+IChuID8gY3R4LnNwYWNlck5laWdoYm91ciA6IGN0eC5zcGFjZXJOb05laWdoYm91cikpLmpvaW4oJycpLFxuICAgICAgbmVpZ2hib3Vyc1trZXkubGVuZ3RoIC0gMV0gPyBjdHgua2V5TmVpZ2hib3VyIDogY3R4LmtleU5vTmVpZ2hib3VyLFxuICAgICAga2V5W2tleS5sZW5ndGggLSAxXSxcbiAgICAgIFsnYm9vbGVhbicsICdzdHJpbmcnLCAnbnVtYmVyJ10uaW5jbHVkZXModHlwZW9mIG5vZGUpID8gYDogJHtub2RlfWAgOiAnJ1xuICAgIF0uam9pbignJykpO1xuXG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBPYmplY3QgJiYgIUFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICAgIGtleXMudW5zaGlmdCguLi5PYmplY3Qua2V5cyhub2RlKS5zb3J0KCkubWFwKGsgPT4ga2V5LmNvbmNhdChrKSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjdHguam9pbmVkID09PSB0cnVlID8gcmVzdWx0LmpvaW4oJ1xcbicpIDogcmVzdWx0O1xufTtcbiJdfQ==
{
"name": "object-treeify",
"version": "1.0.0",
"version": "1.0.1",
"description": "Stringify Object as tree structure",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -14,2 +14,20 @@ # object-treeify

```
{
oranges: {
'mandarin': { ├─ oranges
clementine: null, │ └─ mandarin
tangerine: 'so cheap and juicy!' -=> │ ├─ clementine
} │ └─ tangerine: so cheap and juicy!
}, └─ apples
apples: { ├─ gala
'gala': null, └─ pink lady
'pink lady': null
}
}
```
Project was inspired by [treeify](https://github.com/notatestuser/treeify) and works almost identical. However
the algorithm is much shorter and faster, works without recursion and is very memory efficient.
## Getting Started

@@ -19,4 +37,68 @@

## Functions
<!-- eslint-disable import/no-unresolved -->
```js
const treeify = require('object-treeify');
...
treeify({
oranges: {
mandarin: {
clementine: null,
tangerine: 'so cheap and juicy!'
}
},
apples: {
gala: null,
'pink lady': null
}
}, {/* options */});
// =>
// ├─ apples,
// | ├─ gala,
// | └─ pink lady,
// └─ oranges,
// └─ mandarin,
// ├─ clementine,
// └─ tangerine: so cheap and juicy!
```
## Options
### joined
Type: `boolean`<br>
Default: `true`
By default a single string is returned. Can be set to `false` to instead return an array containing lines.
#### spacerNoNeighbour
Type: `string`<br>
Default: ` `
Prefix for depth level when no further neighbour is present.
#### spacerNeighbour
Type: `string`<br>
Default: `| `
Prefix for depth level when a further neighbour is present.
#### keyNoNeighbour
Type: `string`<br>
Default: `└─ `
Prefix for key when no further neighbour is present.
#### keyNeighbour
Type: `string`<br>
Default: `├─ `
Prefix for key when a further neighbour is present.
## Examples
More examples can be found in the tests.
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc