Neutral Point Measurement

npm

Need private packages and team management tools?Check out npm Orgs. »

unist-util-find

1.0.1 • Public • Published

unist-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'
      }))
    }
  })
  .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) - 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

44,167

version

1.0.1

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability