Replace function constructor with defineProperty #42
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.
Resolves #41
Since
defineProperty
is already used extensively in the rest of the code, it seems safe to use it here without a fallback.Function.length
is defined withconfigurable: true
, so this is spec-compliant.This removes the only occurrence of
eval
ed code (in this case via a function constructor), which makes the project compatible with--disallow-code-generation-from-strings
as well asContent-Security-Policy
script-src
restrictions in the browser. Being able to set these security options allows consumers of this library to create more secure applications through layered security.This also removes a chunk of code, so the browser bundle size is a little smaller!