-
-
Notifications
You must be signed in to change notification settings - Fork 484
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(regular_expression)!: Simplify public APIs (#6262)
This PR makes 2 changes to improve the existing API that are not very useful. - Remove `(Literal)Parser` and `FlagsParser` and their ASTs - Add `with_flags(flags_text)` helper to `ParserOptions` Here are the details. > Remove `(Literal)Parser` and `FlagsParser` and their ASTs Previously, the `oxc_regular_expression` crate exposed 3 parsers. - `(Literal)Parser`: assumes `/pattern/flags` format - `PatternParser`: assumes `pattern` part only - `FlagsParser`: assumes `flags` part only However, it turns out that in actual usecases, only the `PatternParser` is actually sufficient, as the pattern and flags are validated and sliced in advance on the `oxc_parser` side. The current usecase for `(Literal)Parser` is mostly for internal testing. There were also some misuses of `(Literal)Parser` that restore `format!("/{pattern}/{flags}")` back and use `(Literal)Parser`. Therefore, only `PatternParser` is now published, and unnecessary ASTs have been removed. (This also obsoletes #5592 .) > Added `with_flags(flags_text)` helper to `ParserOptions` Strictly speaking, there was a subtle difference between the "flag" strings that users were aware of and the "mode" recognised by the parser. Therefore, it was a common mistake to forget to enable `unicode_mode` when using the `v` flag. With this helper, crate users no longer need to distinguish between flags and modes.
- Loading branch information
Showing
29 changed files
with
476 additions
and
940 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.