Wondering what’s next for npm?Check out our public roadmap! »

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

    3.2.0 • Public • Published

    regexpp

    npm version Downloads/month Build Status codecov Dependency Status

    A regular expression parser for ECMAScript.

    💿 Installation

    $ npm install regexpp
    • require Node.js 8 or newer.

    📖 Usage

    import {
        AST,
        RegExpParser,
        RegExpValidator,
        RegExpVisitor,
        parseRegExpLiteral,
        validateRegExpLiteral,
        visitRegExpAST
    } from "regexpp"

    parseRegExpLiteral(source, options?)

    Parse a given regular expression literal then make AST object.

    This is equivalent to new RegExpParser(options).parseLiteral(source).

    • Parameters:
      • source (string | RegExp) The source code to parse.
      • options? (RegExpParser.Options) The options to parse.
    • Return:
      • The AST of the regular expression.

    validateRegExpLiteral(source, options?)

    Validate a given regular expression literal.

    This is equivalent to new RegExpValidator(options).validateLiteral(source).

    • Parameters:

    visitRegExpAST(ast, handlers)

    Visit each node of a given AST.

    This is equivalent to new RegExpVisitor(handlers).visit(ast).

    RegExpParser

    new RegExpParser(options?)

    parser.parseLiteral(source, start?, end?)

    Parse a regular expression literal.

    • Parameters:
      • source (string) The source code to parse. E.g. "/abc/g".
      • start? (number) The start index in the source code. Default is 0.
      • end? (number) The end index in the source code. Default is source.length.
    • Return:
      • The AST of the regular expression.

    parser.parsePattern(source, start?, end?, uFlag?)

    Parse a regular expression pattern.

    • Parameters:
      • source (string) The source code to parse. E.g. "abc".
      • start? (number) The start index in the source code. Default is 0.
      • end? (number) The end index in the source code. Default is source.length.
      • uFlag? (boolean) The flag to enable Unicode mode.
    • Return:
      • The AST of the regular expression pattern.

    parser.parseFlags(source, start?, end?)

    Parse a regular expression flags.

    • Parameters:
      • source (string) The source code to parse. E.g. "gim".
      • start? (number) The start index in the source code. Default is 0.
      • end? (number) The end index in the source code. Default is source.length.
    • Return:
      • The AST of the regular expression flags.

    RegExpValidator

    new RegExpValidator(options)

    validator.validateLiteral(source, start, end)

    Validate a regular expression literal.

    • Parameters:
      • source (string) The source code to validate.
      • start? (number) The start index in the source code. Default is 0.
      • end? (number) The end index in the source code. Default is source.length.

    validator.validatePattern(source, start, end, uFlag)

    Validate a regular expression pattern.

    • Parameters:
      • source (string) The source code to validate.
      • start? (number) The start index in the source code. Default is 0.
      • end? (number) The end index in the source code. Default is source.length.
      • uFlag? (boolean) The flag to enable Unicode mode.

    validator.validateFlags(source, start, end)

    Validate a regular expression flags.

    • Parameters:
      • source (string) The source code to validate.
      • start? (number) The start index in the source code. Default is 0.
      • end? (number) The end index in the source code. Default is source.length.

    RegExpVisitor

    new RegExpVisitor(handlers)

    visitor.visit(ast)

    Validate a regular expression literal.

    • Parameters:

    📰 Changelog

    🍻 Contributing

    Welcome contributing!

    Please use GitHub's Issues/PRs.

    Development Tools

    • npm test runs tests and measures coverage.
    • npm run build compiles TypeScript source code to index.js, index.js.map, and index.d.ts.
    • npm run clean removes the temporary files which are created by npm test and npm run build.
    • npm run lint runs ESLint.
    • npm run update:test updates test fixtures.
    • npm run update:ids updates src/unicode/ids.ts.
    • npm run watch runs tests with --watch option.

    Install

    npm i regexpp

    DownloadsWeekly Downloads

    18,224,813

    Version

    3.2.0

    License

    MIT

    Unpacked Size

    302 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar