{"_id":"freetree","_rev":"11-e622026f535d7ff89587f8c79a6ceb9d","name":"freetree","description":"A node module for creating a tree from text input","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"freetree","version":"0.1.0","description":"A node module for creating a tree from text input","main":"freetree.js","scripts":{"test":"mocha ./test/freetreeTest.js"},"repository":{"type":"git","url":"https://github.com/liushuping/freetree"},"keywords":["tree","text","structure","javascript","node"],"author":{"name":"Shuping LIU"},"license":"MIT","bugs":{"url":"https://github.com/liushuping/freetree/issues"},"homepage":"https://github.com/liushuping/freetree","gitHead":"03ec657b6256acacd36edc81c510ac59507c0342","_id":"freetree@0.1.0","_shasum":"3cf5b191db5a58bbc25a3e22a675e263a2542071","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"liushuping","email":"lsp.lhh@gmail.com"},"maintainers":[{"name":"liushuping","email":"lsp.lhh@gmail.com"}],"dist":{"shasum":"3cf5b191db5a58bbc25a3e22a675e263a2542071","tarball":"https://registry.npmjs.org/freetree/-/freetree-0.1.0.tgz","integrity":"sha512-PY8iD5RXv6kfrc8kZkC/94iakebFEx4xSQl2F2BpDnfc0U0EF2kzMOyVdZnzWySqP9oj3+I4gWZ5OC4aYvTM9g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAVoJETA2fHbJ+zS2b/jFpnhLK0vUoO3C9h8u3qZV4p4AiABAzXJwDOnij8R/VmDseefDoIQ5H8aRol5s0zSMJKZ9w=="}]}},"0.1.1":{"name":"freetree","version":"0.1.1","description":"A node module for creating a tree from text input","main":"freetree.js","scripts":{"test":"mocha ./test/freetreeTest.js"},"repository":{"type":"git","url":"https://github.com/liushuping/freetree"},"keywords":["tree","text","structure","javascript","node"],"author":{"name":"Shuping LIU"},"license":"MIT","bugs":{"url":"https://github.com/liushuping/freetree/issues"},"homepage":"https://github.com/liushuping/freetree","gitHead":"5a91d1c217a244f2563e0684d5045e851c3cc089","_id":"freetree@0.1.1","_shasum":"62626ecb487d363beed5cefe2ae84656aa6b32db","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"liushuping","email":"lsp.lhh@gmail.com"},"maintainers":[{"name":"liushuping","email":"lsp.lhh@gmail.com"}],"dist":{"shasum":"62626ecb487d363beed5cefe2ae84656aa6b32db","tarball":"https://registry.npmjs.org/freetree/-/freetree-0.1.1.tgz","integrity":"sha512-GDt5zLwmJ+l2gFjNnpcrquJe+iNpgsnAgdWkTs+ng5G5ZUIayB9ZguA3LNyKVXG/OlLsHHqlPLc+sxtiL07BRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUiqXA3exxjHQr4rcxZ1vdaQHCWBSbqjFJ8yKPmm/8VQIhAM2IHNEO2jI7AyHskJGP1NmaIDy1jYPBUqQ6D50RwKiP"}]}},"0.2.0":{"name":"freetree","version":"0.2.0","description":"A node module for creating a tree from text input","main":"freetree.js","scripts":{"test":"mocha ./test/freetreeTest.js"},"repository":{"type":"git","url":"https://github.com/liushuping/freetree"},"keywords":["tree","text","structure","javascript","node"],"author":{"name":"Shuping LIU"},"license":"MIT","bugs":{"url":"https://github.com/liushuping/freetree/issues"},"homepage":"https://github.com/liushuping/freetree","_id":"freetree@0.2.0","_shasum":"b30ae5e3e22fe133c7e49314bc3a8a0319f2c745","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"liushuping","email":"lsp.lhh@gmail.com"},"maintainers":[{"name":"liushuping","email":"lsp.lhh@gmail.com"}],"dist":{"shasum":"b30ae5e3e22fe133c7e49314bc3a8a0319f2c745","tarball":"https://registry.npmjs.org/freetree/-/freetree-0.2.0.tgz","integrity":"sha512-Ay5HSXuhS3PFfGR53tPelxtVmLo9jzyBW4y5S+weN1izeDrZaaCE5UOtclVwpNof3I3QvCWzLpLDBZ/Nyq7lpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC5lLSjZ4NQcwKkiyLcyW/s8G3+UT2E9G8rge90gQT6GAiBZwTow/ZBah6ucpFSk/HJ5akPLhh/jVo4D0AZq1s9avg=="}]}},"0.2.1":{"name":"freetree","version":"0.2.1","description":"A node module for creating a tree from text input","main":"freetree.js","scripts":{"test":"mocha ./test/freetreeTest.js"},"repository":{"type":"git","url":"https://github.com/liushuping/freetree"},"keywords":["tree","text","structure","javascript","node"],"author":{"name":"Shuping LIU"},"license":"MIT","bugs":{"url":"https://github.com/liushuping/freetree/issues"},"homepage":"https://github.com/liushuping/freetree","devDependencies":{"mocha":"*"},"_id":"freetree@0.2.1","_shasum":"37873f800146cfa4e6edf63da6d9118e79138602","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"liushuping","email":"lsp.lhh@gmail.com"},"maintainers":[{"name":"liushuping","email":"lsp.lhh@gmail.com"}],"dist":{"shasum":"37873f800146cfa4e6edf63da6d9118e79138602","tarball":"https://registry.npmjs.org/freetree/-/freetree-0.2.1.tgz","integrity":"sha512-hxVe6o/5yl2qtL6xiz/PWRy9jGvhvQ3bGWyeiaI84hyo0sMlP0vJvM/e1rSJqixT2ZiIfchgeRl3X0tiPjBDyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFK7Dg/Bnnj4kOo/j3RSZKw8kY6r1NJPOwzWOrzLNUt4AiBRbKoQ6LCpINTWXSYQgEAVCJTdp3XCcb6ySRp5pgbm1w=="}]}},"0.2.2":{"name":"freetree","version":"0.2.2","description":"A node module for creating a tree from text input","main":"freetree.js","scripts":{"test":"mocha ./test/freetreeTest.js"},"repository":{"type":"git","url":"https://github.com/liushuping/freetree"},"keywords":["tree","text","ascii","structure","javascript","node"],"author":{"name":"Shuping LIU"},"license":"MIT","bugs":{"url":"https://github.com/liushuping/freetree/issues"},"homepage":"https://github.com/liushuping/freetree","devDependencies":{"mocha":"*"},"gitHead":"02a60dd6526f4694e4c17d7579f45449cbb142f2","_id":"freetree@0.2.2","_shasum":"0e2008598b52d07cc9636df7f49f5250c4f92fd0","_from":".","_npmVersion":"1.4.21","_npmUser":{"name":"liushuping","email":"lsp.lhh@gmail.com"},"maintainers":[{"name":"liushuping","email":"lsp.lhh@gmail.com"}],"dist":{"shasum":"0e2008598b52d07cc9636df7f49f5250c4f92fd0","tarball":"https://registry.npmjs.org/freetree/-/freetree-0.2.2.tgz","integrity":"sha512-bZ0U0Qv2THYrnkrD7B4UMAhWnDm3+va6y2mNfReke9HY7PRdvLgEf5Vl1j70P5KffoioFvV0RFRfIBQMWOLpIw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEbrmwJb9Ca1UZ6fbmIkJLEC0Svj8Pl9S2rafg2bnT9oAiEAoob4HnWvKFBG1hXflFxgcArzjRRJNWDFRItB31cThHg="}]}}},"readme":"freetree\n========\n\nA node module for creating tree data structure from text input\n\n[![build status](https://travis-ci.org/liushuping/freetree.svg)](https://travis-ci.org/liushuping/freetree.svg)\n\nThis module takes a simplified tree structured input string and build a JavaScript tree object in memory. \n\nA simple tree structured input string (input.txt) example:\n```\n#root node\n##node1\n###node11\n##node2\n```\nIt illustrates a tree as below:\n```\nroot node\n |-- node1\n |    |--node11\n |-- node2\n```\n## Conventions\nEach line represents a node in the tree, it should begins with the leading character (default is \\#). The count of leading chracters minus 1 is the level of the node. There should be only 1 root node which has only 1 leading character, and it should be at the first line of the input string.\n\n## Usage\n```javascript\nvar freetree = require('freetree');\nvar tree = freetree.parse(str, settings);\n```\n**`settings`** has below listed properties\n* `leadingChar`: optional, defines leading character for the tree, defaulted to '#' \n* `compact`: optional, output the object in compact mode.\n\n## Code examples\nPrepare an `input.txt` file as above demonstrated.\n```JavaScript\nvar fs = require('fs');\nvar freetree = require('freetree');\nvar str = fs.readFileSync('input.txt', 'utf8');\nvar tree = freetree.parse(str);\n```\nthen, the `tree` object is an in-memory JavaScript object. In this example, the object is in structure:\n```JavaScript\n{\n    \"level\": 0,\n    \"value\": \"root\",\n    \"nodes\": [{\n        \"level\": 1,\n        \"value\": \"node1\",\n        \"nodes\": [{\n            \"level\": 2,\n            \"value\": \"node11\"\n        }]\n    }, {\n        \"level\": 1,\n        \"value\": \"node2\"\n    }]\n}\n```\nIf the `compact` option is set to `true`, the object will be compressed in below structure:\n```javascript\n{\n    \"root\": [{\n        \"node1\": [{\n            \"node11\": null\n        }]\n    }, {\n        \"node2\": null\n    }]\n}\n```\n\n## Test\nMake sure `mocha` is installed globally\n```\nnpm install mocha -g\n```\nRun `npm test` to run unit test\n## License\nMIT\n","maintainers":[{"name":"liushuping","email":"lsp.lhh@gmail.com"}],"time":{"modified":"2022-06-18T03:35:34.212Z","created":"2014-07-16T05:49:41.970Z","0.1.0":"2014-07-16T05:49:41.970Z","0.1.1":"2014-07-16T07:22:42.779Z","0.2.0":"2014-07-23T02:49:51.375Z","0.2.1":"2014-07-24T04:42:10.092Z","0.2.2":"2015-06-23T14:46:01.901Z"},"homepage":"https://github.com/liushuping/freetree","keywords":["tree","text","ascii","structure","javascript","node"],"repository":{"type":"git","url":"https://github.com/liushuping/freetree"},"author":{"name":"Shuping LIU"},"bugs":{"url":"https://github.com/liushuping/freetree/issues"},"license":"MIT","readmeFilename":"README.md"}