unist-builder
unist utility to create a new trees with hyperscript-like syntax.
Install
npm:
npm install unist-builder
Use
var u = require('unist-builder')
var tree = u('root', [
u('subtree', {id: 1}),
u('subtree', {id: 2}, [
u('node', [u('leaf', 'leaf 1'), u('leaf', 'leaf 2')]),
u('leaf', {id: 3}, 'leaf 3'),
u('void', {id: 4})
])
])
console.dir(tree, {depth: null})
results in the following tree:
{
type: 'root',
children: [
{type: 'subtree', id: 1},
{
type: 'subtree',
id: 2,
children: [
{
type: 'node',
children: [
{type: 'leaf', value: 'leaf 1'},
{type: 'leaf', value: 'leaf 2'}
]
},
{type: 'leaf', id: 3, value: 'leaf 3'},
{type: 'void', id: 4}
]
}
]
}
API
u(type[, props][, children|value])
Creates a node from props
, children
, and optionally value
.
Signatures
u(type[, props], children)
— create a parentu(type[, props], value)
— create a literalu(type[, props])
— create a void node
Parameters
type
(string
) — node typeprops
(Object
) — other values assigned tonode
children
(Array.<Node>
) — children ofnode
value
(*
) — value ofnode
(cast to string)
Returns
Node
.
Related
unist-builder-blueprint
— Convert unist trees tounist-builder
notationhastscript
— Create hast elementsxastscript
— Create xast elements
Contribute
See contributing.md
in syntax-tree/.github
for ways to get started. See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.
License
MIT © Eugene Sharygin