1.0.1 • Published 9 years ago
unist-find v1.0.1
unist-find 
Unist node finder. Useful for working with remark, rehype and retext.
Installation
npm install --save unist-findUsage
Example
var remark = require('remark')
var find = require('unist-find')
remark()
.use(function () {
return function (tree) {
// string condition
console.log(find(tree, 'value'))
// object condition
console.log(find(tree, { value: 'emphasis' }))
// function condition
console.log(find(tree, function (node) {
return node.type === 'inlineCode'
}))
}
})
.process('Some _emphasis_, **strongness**, and `code`.')Result:
// string condition: 'value'
{ type: 'text',
value: 'Some ',
position:
Position {
start: { line: 1, column: 1, offset: 0 },
end: { line: 1, column: 6, offset: 5 },
indent: [] } }
// object condition: { value: 'emphasis' }
{ type: 'text',
value: 'emphasis',
position:
Position {
start: { line: 1, column: 7, offset: 6 },
end: { line: 1, column: 15, offset: 14 },
indent: [] } }
// function condition: function (node) { return node.type === 'inlineCode' }
{ type: 'inlineCode',
value: 'code',
position:
Position {
start: { line: 1, column: 38, offset: 37 },
end: { line: 1, column: 44, offset: 43 },
indent: [] } }API
find(node, condition)Return the first node that matches condition, or undefined if no node matches.
node([Node](https://github.com/wooorm/unist#node)) - Node to searchcondition(string,objectorfunction) - Condition used to test each node. Behaviour depends on the type of the condition:
stringfinds first node with a truthy property matchingstringobjectfinds first node that has matching values for all properties ofobjectfunctionfinds first node for whichfunctionreturns true when passednodeas argument
License
MIT