Small improvements in CFFCompiler.encodeNumber
and CFFCompiler.encodeFloat
#12002
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.
Simplify the "is integer" checks in
CFFCompiler.encodeNumber
The
isNaN
check is obviously redundant, sinceNaN
is the only value that isn't equal to itself; see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN#ExamplesThe
parseFloat
/parseInt
comparison would make sense if thevalue
ever contains a String, which however is never actually the case. Besides looking through the code, I've also run the entire test-suite locally withassert(typeof value === "number", "encodeNumber");
added at the top of the method and there were no failures.Hence we can simplify the "is integer" check a bit in the
CFFCompiler.encodeNumber
method.Lazily initialize, and cache, the regular expression used in
CFFCompiler.encodeFloat
There's no particular reason for re-creating the regular expression over and over for every
encodeFloat
invocation, as far as I can tell.