What is unist-util-inspect?
The `unist-util-inspect` package is a utility for inspecting and visualizing the structure of Unist syntax trees. It provides a way to convert these trees into a human-readable string format, which is useful for debugging and understanding the tree structure.
What are unist-util-inspect's main functionalities?
Inspecting a Unist Tree
This feature allows you to inspect a Unist tree by converting it into a human-readable string format. The code sample demonstrates how to use the `inspect` function to visualize a simple Unist tree.
const inspect = require('unist-util-inspect');
const tree = {
type: 'root',
children: [
{ type: 'paragraph', children: [{ type: 'text', value: 'Hello, world!' }] }
]
};
console.log(inspect(tree));
Other packages similar to unist-util-inspect
unist-util-visit
The `unist-util-visit` package is used for tree traversal in Unist syntax trees. It allows you to visit nodes in a tree and perform operations on them. Unlike `unist-util-inspect`, which focuses on visualizing the tree, `unist-util-visit` is more about manipulating and traversing the tree.
unist-builder
The `unist-builder` package provides a way to create Unist syntax trees programmatically. It is useful for constructing trees from scratch, whereas `unist-util-inspect` is used for visualizing existing trees.
unist-util-map
The `unist-util-map` package allows you to transform Unist trees by applying a function to each node. This is different from `unist-util-inspect`, which is used for visualizing the tree structure rather than transforming it.
unist-util-inspect
Unist node inspector.
Installation
npm:
npm install unist-util-inspect
Usage
var unified = require('unified')
var inspect = require('unist-util-inspect')
var parse = require('rehype-parse')
var tree = unified()
.use(parse)
.parse('<h2>Hello, world!</h2>')
console.log(inspect(tree))
Yields:
root[1] (1:1-1:23, 0-22) [data={"quirksMode":true}]
└─ element[2] [tagName="html"]
├─ element[0] [tagName="head"]
└─ element[1] [tagName="body"]
└─ element[1] (1:1-1:23, 0-22) [tagName="h2"]
└─ text: "Hello, world!" (1:5-1:18, 4-17)
API
inspect(node)
By default, color support is enabled on Node.js and turned off anywhere else.
See below on how to change that.
Parameters
Returns
string
— String representing node
.
inspect.<style>[.<style>...](node)
Where <style>
is either color
or noColor
.
To explicitly add or remove ANSI sequences, use either inspect.color(node)
or inspect.noColor(node)
.
Contribute
See contributing.md
in syntax-tree/unist
for ways to get
started.
This organisation has a Code of Conduct. By interacting with this
repository, organisation, or community you agree to abide by its terms.
License
MIT © Titus Wormer