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 tonodechildren(Array.<Node>) — children ofnodevalue(*) — value ofnode(cast to string)
Returns
Node.
Related
unist-builder-blueprint— Convert unist trees tounist-buildernotationhastscript— 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