Nonstop Pajama Models

    nlcst-test
    TypeScript icon, indicating that this package has built-in type declarations

    3.1.1 • Public • Published

    nlcst-test

    Build Coverage Downloads Size Sponsors Backers Chat

    nlcst utility to assert trees.

    Contents

    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-assert, does the same but for any unist node.

    Install

    This package is ESM only. In Node.js (version 14.14+ and 16.0+), install with npm:

    npm install nlcst-test

    In Deno with esm.sh:

    import {assert} from 'https://esm.sh/nlcst-test@3'

    In browsers with esm.sh:

    <script type="module">
      import {assert} from 'https://esm.sh/nlcst-test@3?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 _void, assert, literal, parent, and wrap. There is no default export.

    assert(tree[, parent])

    Assert that tree is a valid nlcst Node.

    If tree is a parent, all children will be asserted too.

    Supports unknown nlcst nodes.

    Parameters
    • tree (unknown) — thing to assert
    • parent (Parent, optional) — optional, valid parent
    Returns

    Nothing.

    Throws

    When tree (or its descendants) is not an nlcst node (AssertionError).

    parent(tree[, parent])

    Assert that tree is a valid nlcst Parent.

    All children will be asserted too.

    Supports unknown nlcst nodes.

    Parameters
    • tree (unknown) — thing to assert
    • parent (Parent, optional) — optional, valid parent
    Returns

    Nothing.

    Throws

    When tree is not a parent or its descendants are not nodes (AssertionError)

    literal(node[, parent])

    Assert that node is a valid nlcst Literal.

    Supports unknown nlcst nodes.

    Parameters
    • node (unknown) — thing to assert
    • parent (Parent, optional) — optional, valid parent
    Returns

    Nothing.

    Throws

    When node is not an nlcst literal (AssertionError).

    _void(node[, parent])

    Re-exported from unist-util-assert.

    wrap(fn)

    Re-exported from unist-util-assert.

    AssertionError

    Re-exported from unist-util-assert.

    Types

    This package is fully typed with TypeScript. It exports the additional type AssertionError.

    Compatibility

    Projects maintained by the unified collective are compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. Our projects sometimes work with older versions, but this is not guaranteed.

    Related

    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 © Titus Wormer

    Install

    npm i nlcst-test

    DownloadsWeekly Downloads

    29

    Version

    3.1.1

    License

    MIT

    Unpacked Size

    15.2 kB

    Total Files

    7

    Last publish

    Collaborators

    • wooorm
    • kmck