A regular expression parser for ECMAScript.
$ npm install @osjwnpm/mollitia-quae-magni
- require Node@^12.0.0 || ^14.0.0 || >=16.0.0.
import {
AST,
RegExpParser,
RegExpValidator,
RegExpVisitor,
parseRegExpLiteral,
validateRegExpLiteral,
visitRegExpAST
} from "@osjwnpm/mollitia-quae-magni"
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.
Validate a given regular expression literal.
This is equivalent to new RegExpValidator(options).validateLiteral(source)
.
-
Parameters:
-
source
(string
) The source code to validate. -
options?
(RegExpValidator.Options
) The options to validate.
-
Visit each node of a given AST.
This is equivalent to new RegExpVisitor(handlers).visit(ast)
.
-
Parameters:
-
ast
(AST.Node
) The AST to visit. -
handlers
(RegExpVisitor.Handlers
) The callbacks.
-
-
Parameters:
-
options?
(RegExpParser.Options
) The options to parse.
-
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 is0
. -
end?
(number
) The end index in the source code. Default issource.length
.
-
-
Return:
- The AST of the regular expression.
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 is0
. -
end?
(number
) The end index in the source code. Default issource.length
. -
flags?
({ unicode?: boolean, unicodeSets?: boolean }
) The flags to enable Unicode mode, and Unicode Set mode.
-
-
Return:
- The AST of the regular expression pattern.
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 is0
. -
end?
(number
) The end index in the source code. Default issource.length
.
-
-
Return:
- The AST of the regular expression flags.
-
Parameters:
-
options
(RegExpValidator.Options
) The options to validate.
-
Validate a regular expression literal.
-
Parameters:
-
source
(string
) The source code to validate. -
start?
(number
) The start index in the source code. Default is0
. -
end?
(number
) The end index in the source code. Default issource.length
.
-
Validate a regular expression pattern.
-
Parameters:
-
source
(string
) The source code to validate. -
start?
(number
) The start index in the source code. Default is0
. -
end?
(number
) The end index in the source code. Default issource.length
. -
flags?
({ unicode?: boolean, unicodeSets?: boolean }
) The flags to enable Unicode mode, and Unicode Set mode.
-
Validate a regular expression flags.
-
Parameters:
-
source
(string
) The source code to validate. -
start?
(number
) The start index in the source code. Default is0
. -
end?
(number
) The end index in the source code. Default issource.length
.
-
-
Parameters:
-
handlers
(RegExpVisitor.Handlers
) The callbacks.
-
Validate a regular expression literal.
-
Parameters:
-
ast
(AST.Node
) The AST to visit.
-
Welcome contributing!
Please use GitHub's Issues/PRs.
-
npm test
runs tests and measures coverage. -
npm run build
compiles TypeScript source code toindex.js
,index.js.map
, andindex.d.ts
. -
npm run clean
removes the temporary files which are created bynpm test
andnpm run build
. -
npm run lint
runs ESLint. -
npm run update:test
updates test fixtures. -
npm run update:ids
updatessrc/unicode/ids.ts
. -
npm run watch
runs tests with--watch
option.