(docs): set prototype of RegExp correctly. #1700
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Today myself and others diagnosed an issue related to the documentation for IE11.
The existing documentation is incorrect because it changes the RegExp function such that
RegExp.prototype.exec
is no longer defined. After the exceljs IE11 polyfill, one must useRegExp.prototype.prototype.exec
instead ofRegExp.prototype.exec
when trying to call exec directly. The reason is thatRegExp.prototype
is set toRegExp
instead ofRegExp.prototype
, which adds an extra layer to the prototype chain.It is reasonable to expect
RegExp.prototype.exec
to be defined, and for the API for using regular expressions to be unchanged after applying the polyfill in the exceljs documentation.The fix here restores normal behavior for RegExp.prototype.exec.
Test plan
We verified this in our production application. But since this a bug in the documentation, there are no automated tests included in my PR.
Related to source code (for typings update)
N/A