stringify-tree
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

stringify-tree

Convert a tree structure to an ASCII tree, in approximately the style of npm ls

This is in TypeScript, which helps since you pass it some functions.

install

npm install stringify-tree

trivial example

import { stringifyTree } from "stringify-tree";
 
const tree = {
        name: "Grandmarti", children: [
            {
                name: "Cyndi", children: [
                    {
                        name: "Jess", children: [
                            { name: "Evelyn", children: [] },
                            { name: "Linda", children: [] },
                        ],
                    },
                ],
            },
            { name: "Celia", children: [] },
        ],
    };
    console.log(stringifyTree(tree, t => t.name, t => t.children));
┬ Grandmarti
├─┬ Cyndi
│ └─┬ Jess
│   ├── Evelyn
│   └── Linda
└── Celia

real-life example

import { stringifyTree } from "stringify-tree";
 
function treeNodeName(tn: TreeNode) {
    const endOffset = tn.$value ? "" + (tn.$offset + tn.$value.length) : "";
    return `[${tn.$offset}${endOffset}${tn.$name}`;
}
function treeNodeChildren(tn: TreeNode): TreeNode[] {
    return tn.$children || [];
}
 
// parser stuff from Atomist. trust me, it makes a TreeNode with fields like the above
 
const ast = await Java9FileParser.toAst(p.findFileSync(path));
console.log(stringifyTree<TreeNode>(ast, treeNodeName, treeNodeChildren));

Readme

Keywords

Package Sidebar

Install

npm i stringify-tree

Weekly Downloads

109

Version

1.1.1

License

ISC

Unpacked Size

27.5 kB

Total Files

14

Last publish

Collaborators

  • jessitron