to-list
v0.1.1
Published
Parse a string into a list object with text and level properties.
Downloads
107
Readme
to-list
Parse a string into a list object with text and level properties.
Install
Install with npm:
$ npm i to-list --save
Usage
var toList = require('to-list');
API
The following list is assumed to be the source string in all examples:
- This is item 1
- This is item 2
- This is item 3
* This is sub-item A
* This is sub-item B
* This is sub-item C
Example
var list = toList(str);
//=> list[0].level === 0
//=> list[3].level === 2
Results in
The list is parsed into any array that looks something like:
[ { text: 'This is item 1',
lead: [ '- ', index: 0, input: '- This is item 1' ],
level: 0 },
{ text: 'This is item 2',
lead: [ '- ', index: 0, input: '- This is item 2' ],
level: 0 },
{ text: 'This is item 3',
lead: [ '- ', index: 0, input: '- This is item 3' ],
level: 0 },
{ text: 'This is sub-item A',
lead: [ ' * ', index: 0, input: ' * This is sub-item A' ],
level: 2 },
{ text: 'This is sub-item B',
lead: [ ' * ', index: 0, input: ' * This is sub-item B' ],
level: 2 },
{ text: 'This is sub-item C',
lead: [ ' * ', index: 0, input: ' * This is sub-item C' ],
level: 2 } ]
Item function
Pass a function as the second argument to customize each item object as it's created:
var list = toList(str, function(item) {
item.level = item.level / 2;
return item;
});
//=> list[0].level === 0
//=> list[3].level === 1
Related projects
- bullets: Generate a plain-text and markdown formatted lists or tables of contents, with proper indentation, bullets,… more | homepage
- list-item: Generate a single formatted list item, allowing you to easily generate lists with proper indentation,… more | homepage
Running tests
Install dev dependencies:
$ npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright © 2016 Jon Schlinkert Released under the MIT license.
This file was generated by verb on January 19, 2016.