-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider returning a string representing the pattern instead of a RegExp object #3
Comments
Fixed by #6. Released in v1.2.0. |
#6 didn’t fix this — it just made it easier to fix it. This issue is a change request about the |
Another option would be to just return the Trie from regexgen. Then the user could call I do like the convenience of just returning a RegExp though. You could do |
I like this option a lot. As a bonus, doing so would match the Regenerate API. :)
I don’t know of any others off the top of my head, but if the risk of JS engine bugs can be avoided, then that’s a plus in my book. That said, my main concern is that the API — in this case, the return value — should match the common use case, not the uncommon one. But perhaps I’m wrong in thinking that getting the pattern as a string is the most common/sensible use case.
Could you point me to some examples of where you’re using this pattern (see what I did there)? Are you using regexgen at runtime? |
No, but my build scripts don't need to combine regexes. So I just do |
I’m assuming this project’s main usage scenario is in build scripts (rather than using it dynamically at run-time), just like Regenerate. Is this correct?
If so, how about returning a string representing the pattern instead of a RegExp object? This seems more useful:
Such a string can easily be turned into a RegExp object by calling
new RegExp(string)
. (But this is only useful at run-time, which I think is not the main use case of this project.)Strings compose more easily. Consider a build script that does something like…
Instead, currently you’d have to call
RegExp#toString
(which is surprisingly buggy) on each of regexgen’s return values and remove the first and last/
as well as the flags, if any, or use.source
.You could then also remove the logic for supporting flags, as the user would just deal with that themselves.
The text was updated successfully, but these errors were encountered: