fix: use Int32Array for signed VLQ delta accumulation in readMappings#206
fix: use Int32Array for signed VLQ delta accumulation in readMappings#206alexander-akait merged 1 commit intomainfrom
Conversation
VLQ deltas are signed, so a sequence whose cumulative value goes negative (e.g. malformed mappings) would wrap to a large unsigned integer when stored in a Uint32Array. Switch the accumulator to Int32Array so negative cumulative values round-trip correctly to the onMapping callback. Also fix an "orignalColumn" typo in the adjacent comment, and add a regression test.
|
🦋 Changeset detectedLatest commit: fec6611 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #206 +/- ##
==========================================
- Coverage 97.87% 97.79% -0.08%
==========================================
Files 25 25
Lines 1884 1908 +24
Branches 594 600 +6
==========================================
+ Hits 1844 1866 +22
- Misses 38 40 +2
Partials 2 2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Merging this PR will degrade performance by 31.93%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ❌ | prefix-source: getPrefix() |
120.1 µs | 176.3 µs | -31.85% |
| ❌ | prefix-source: original() |
120.5 µs | 177.1 µs | -31.93% |
Comparing claude/review-pr-192-KIf9l (fec6611) with main (9788e55)
VLQ deltas are signed, so a sequence whose cumulative value goes
negative (e.g. malformed mappings) would wrap to a large unsigned
integer when stored in a Uint32Array. Switch the accumulator to
Int32Array so negative cumulative values round-trip correctly to
the onMapping callback. Also fix an "orignalColumn" typo in the
adjacent comment, and add a regression test.