to-list

0.1.1 • Public • Published

to-list NPM version Build Status

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.

Readme

Keywords

Package Sidebar

Install

npm i to-list

Weekly Downloads

10

Version

0.1.1

License

MIT

Last publish

Collaborators

  • jonschlinkert