nlcst-test

nlcst utility to check assert an nlcst node

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
nlcst-test
204.0.09 months ago10 years agoMinified + gzip package size for nlcst-test in KB

Readme

nlcst-test
!Buildbuild-badgebuild !Coveragecoverage-badgecoverage !Downloadsdownloads-badgedownloads !Sizesize-badgesize !Sponsorssponsors-badgecollective !Backersbackers-badgecollective !Chatchat-badgechat
nlcst utility to assert trees.

Contents

*   [`assert(tree[, parent])`](#asserttree-parent)
*   [`parent(tree[, parent])`](#parenttree-parent)
*   [`literal(node[, parent])`](#literalnode-parent)
*   [`_void(node[, parent])`](#_voidnode-parent)
*   [`wrap(fn)`](#wrapfn)
*   [`AssertionError`](#assertionerror)

What is this?

This package is a tiny utility that helps you deal with nodes.

When should I use this?

This utility is typically useful when you expect certain nodes in your APIs and want to make sure they’re valid and as expected.
A different utility, unist-util-assertunist-util-assert, does the same but for any unist node.

Install

This package is ESM onlyesm. In Node.js (version 16+), install with npm:
npm install nlcst-test

In Deno with esm.shesmsh:
import {assert} from 'https://esm.sh/nlcst-test@4'

In browsers with esm.shesmsh:
<script type="module">
  import {assert} from 'https://esm.sh/nlcst-test@4?bundle'
</script>

Use

import {assert} from 'nlcst-test'

assert({type: 'RootNode', children: []})
assert({type: 'SourceNode', value: 'fn()'})
assert({type: 'WordNode', children: [{type: 'TextNode', value: 'Hi'}]})
// All OK.

assert({children: []})
// AssertionError: node should have a type: `{ children: [] }`

assert({type: 'WordNode', value: 'foo'})
// AssertionError: parent should have children: `{ type: 'WordNode', value: 'foo' }`

API

This package exports the identifiers _voidapi-void, assertapi-assert, literalapi-literal, parentapi-parent, and wrapapi-wrap. There is no default export.

assert(tree[, parent])

Assert that tree is a valid nlcst Nodenode.
If tree is a parent, all children will be asserted too.
Supports unknown nlcst nodes.
Parameters
  • tree (unknown)
— thing to assert
— optional, valid parent
Returns
Nothing.
Throws
When tree (or its descendants) is not an nlcst node (AssertionErrorapi-assertion-error).

parent(tree[, parent])

Assert that tree is a valid nlcst Parentparent-node.
All children will be asserted too.
Supports unknown nlcst nodes.
Parameters
  • tree (unknown)
— thing to assert
— optional, valid parent
Returns
Nothing.
Throws
When tree is not a parent or its descendants are not nodes (AssertionErrorapi-assertion-error)

literal(node[, parent])

Assert that node is a valid nlcst Literalliteral-node.
Supports unknown nlcst nodes.
Parameters
  • node (unknown)
— thing to assert
— optional, valid parent
Returns
Nothing.
Throws
When node is not an nlcst literal (AssertionErrorapi-assertion-error).

_void(node[, parent])

Re-exported from unist-util-assertunist-util-assert-void.

wrap(fn)

Re-exported from unist-util-assertunist-util-assert-wrap.

AssertionError

Re-exported from unist-util-assertunist-util-assert-assertion-error.

Types

This package is fully typed with TypeScript. It exports the additional type AssertionErrorapi-assertion-error.

Compatibility

Projects maintained by the unified collective are compatible with maintained versions of Node.js.
When we cut a new major release, we drop support for unmaintained versions of Node. This means we try to keep the current release line, nlcst-test@^4, compatible with Node.js 16.

Related

— assert unist trees
— assert mdast trees
— assert hast trees

Contribute

See contributing.mdcontributing in syntax-tree/.githubhealth for ways to get started. See support.mdsupport for ways to get help.
This project has a code of conductcoc. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MITlicense © Titus Wormerauthor