unist-util-to-list-of-char
v0.1.3
Published
functionality that helps generating list of characters in all visible text inside give node tree
Downloads
5,252
Readme
unist-util-to-list-of-char
Provide API to provide list of each character inside unist node tree.
Installation
npm install unist-util-to-list-of-char
Usage
var remark = require('remark');
var toList = require('unist-util-to-list-of-char');
var tree = remark().parse('Some _emphasis_, **importance**, and `code`.');
function callback(list) {
console.log(list);
}
toList(tree, 'root', callback);
Yields
[
{ value: 'S', line: 1, column: 1, offset: 0 },
{ value: 'o', line: 1, column: 2, offset: 1 },
{ value: 'm', line: 1, column: 3, offset: 2 },
{ value: 'e', line: 1, column: 4, offset: 3 },
{ value: ' ', line: 1, column: 5, offset: 4 },
{ value: 'e', line: 1, column: 7, offset: 6 },
{ value: 'm', line: 1, column: 8, offset: 7 },
{ value: 'p', line: 1, column: 9, offset: 8 },
{ value: 'h', line: 1, column: 10, offset: 9 },
{ value: 'a', line: 1, column: 11, offset: 10 },
{ value: 's', line: 1, column: 12, offset: 11 },
{ value: 'i', line: 1, column: 13, offset: 12 },
{ value: 's', line: 1, column: 14, offset: 13 },
{ value: ',', line: 1, column: 16, offset: 15 },
{ value: ' ', line: 1, column: 17, offset: 16 },
{ value: 'i', line: 1, column: 20, offset: 19 },
{ value: 'm', line: 1, column: 21, offset: 20 },
{ value: 'p', line: 1, column: 22, offset: 21 },
{ value: 'o', line: 1, column: 23, offset: 22 },
{ value: 'r', line: 1, column: 24, offset: 23 },
{ value: 't', line: 1, column: 25, offset: 24 },
{ value: 'a', line: 1, column: 26, offset: 25 },
{ value: 'n', line: 1, column: 27, offset: 26 },
{ value: 'c', line: 1, column: 28, offset: 27 },
{ value: 'e', line: 1, column: 29, offset: 28 },
{ value: ',', line: 1, column: 32, offset: 31 },
{ value: ' ', line: 1, column: 33, offset: 32 },
{ value: 'a', line: 1, column: 34, offset: 33 },
{ value: 'n', line: 1, column: 35, offset: 34 },
{ value: 'd', line: 1, column: 36, offset: 35 },
{ value: ' ', line: 1, column: 37, offset: 36 },
{ value: 'c', line: 1, column: 38, offset: 37 },
{ value: 'o', line: 1, column: 39, offset: 38 },
{ value: 'd', line: 1, column: 40, offset: 39 },
{ value: 'e', line: 1, column: 41, offset: 40 },
{ value: '.', line: 1, column: 44, offset: 43 },
]
API
toList(tree[, test], callback)
This function will iterate through given tree to generate list of characters from text.
If test
is provided, only subset of tree will be used. callback
might be triggered multiple
times if there are multiple sub-trees.
callback
function will be triggered by given a list of nodes with following structure:
{
value: 'c', // current character
column: 1, // column number of this character
line: 1, // line number of this character
offset: 1, // offset number of this character
}