hast-util-parse-selector
    TypeScript icon, indicating that this package has built-in type declarations

    3.1.0 • Public • Published

    hast-util-parse-selector

    Build Coverage Downloads Size Sponsors Backers Chat

    hast utility to create an element from a simple CSS selector.

    Install

    This package is ESM only: Node 12+ is needed to use it and it must be imported instead of required.

    npm:

    npm install hast-util-parse-selector

    Use

    import {parseSelector} from 'hast-util-parse-selector'
    
    console.log(parseSelector('.quux#bar.baz.qux'))

    Yields:

    { type: 'element',
      tagName: 'div',
      properties: { id: 'bar', className: [ 'quux', 'baz', 'qux' ] },
      children: [] }

    API

    This package exports the following identifiers: parseSelector. There is no default export.

    parseSelector([selector][, defaultTagName])

    Create an element node from a simple CSS selector.

    selector

    string, optional — Can contain a tag name (foo), classes (.bar), and an ID (#baz). Multiple classes are allowed. Uses the last ID if multiple IDs are found.

    defaultTagName

    string, optional, defaults to div — Tag name to use if selector does not specify one.

    Returns

    Element.

    Security

    Improper use of the selector or defaultTagName can open you up to a cross-site scripting (XSS) attack as the value of tagName, when resolving to script, injects a script element into the syntax tree.

    Do not use user input in selector or use hast-util-santize.

    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 hast-util-parse-selector

    DownloadsWeekly Downloads

    3,701,692

    Version

    3.1.0

    License

    MIT

    Unpacked Size

    10.5 kB

    Total Files

    7

    Last publish

    Collaborators

    • wooorm
    • kmck