Wondering what’s next for npm?Check out our public roadmap! »

unist-util-find

1.0.2 • Public • Published

unist-util-find Travis

Unist node finder utility. Useful for working with remark, rehype and retext.

Installation

npm install --save unist-util-find

Usage

Example

var remark = require('remark')
var find = require('unist-util-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'
      }))
    }
  })
  .processSync('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) - Node to search
  • condition (string, object or function) - Condition used to test each node. Behaviour depends on the type of the condition:
    • string finds first node with a truthy property matching string
    • object finds first node that has matching values for all properties of object
    • function finds first node for which function returns true when passed node as argument

License

MIT

Install

npm i unist-util-find

DownloadsWeekly Downloads

70,806

Version

1.0.2

License

MIT

Unpacked Size

6.45 kB

Total Files

7

Last publish

Collaborators

  • avatar