Skip to content

Commit 1002184

Browse files
committed
Fix critical bugs exposed by TypeScript conversion
- Fix pageNumber undefined in getPageInfoByObjId - declare variable before loop - Fix len undefined in text function - declare variable in proper scope - These bugs were masked in JavaScript but exposed by stricter TypeScript testing - Reduced test failures from 110 to 25 (node tests)
1 parent b71ec4e commit 1002184

15 files changed

+45
-33
lines changed

dist/jspdf.es.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/** @license
22
*
33
* jsPDF - PDF Document creation from JavaScript
4-
* Version 3.0.3 Built on 2025-11-09T20:42:25.340Z
5-
* CommitID 6053f89adc
4+
* Version 3.0.3 Built on 2025-11-09T20:52:52.859Z
5+
* CommitID b71ec4ee2c
66
*
77
* Copyright (c) 2010-2025 James Hall <[email protected]>, https://github.com/MrRio/jsPDF
88
* 2015-2025 yWorks GmbH, http://www.yworks.com
@@ -3492,8 +3492,10 @@ function jsPDF(options) {
34923492
if (isNaN(objId) || objId % 1 !== 0) {
34933493
throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");
34943494
}
3495-
for (var _pageNumber in pagesContext) {
3496-
if (pagesContext[_pageNumber].objId === objId) {
3495+
var pageNumber;
3496+
for (var pageNum in pagesContext) {
3497+
if (pagesContext[pageNum].objId === objId) {
3498+
pageNumber = pageNum;
34973499
break;
34983500
}
34993501
}
@@ -3936,6 +3938,7 @@ function jsPDF(options) {
39363938
noBOM: true
39373939
}, options.flags);
39383940
var wordSpacingPerLine = [];
3941+
var len;
39393942
var findWidth = function findWidth(v) {
39403943
return scope.getStringUnitWidth(v, {
39413944
font: activeFont,

dist/jspdf.es.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jspdf.es.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jspdf.es.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jspdf.node.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/** @license
22
*
33
* jsPDF - PDF Document creation from JavaScript
4-
* Version 3.0.3 Built on 2025-11-09T20:42:25.381Z
5-
* CommitID 6053f89adc
4+
* Version 3.0.3 Built on 2025-11-09T20:52:52.893Z
5+
* CommitID b71ec4ee2c
66
*
77
* Copyright (c) 2010-2025 James Hall <[email protected]>, https://github.com/MrRio/jsPDF
88
* 2015-2025 yWorks GmbH, http://www.yworks.com
@@ -3779,8 +3779,10 @@ function jsPDF(options) {
37793779
if (isNaN(objId) || objId % 1 !== 0) {
37803780
throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");
37813781
}
3782-
for (let pageNumber in pagesContext) {
3783-
if (pagesContext[pageNumber].objId === objId) {
3782+
let pageNumber;
3783+
for (let pageNum in pagesContext) {
3784+
if (pagesContext[pageNum].objId === objId) {
3785+
pageNumber = pageNum;
37843786
break;
37853787
}
37863788
}
@@ -4246,6 +4248,7 @@ function jsPDF(options) {
42464248
let lineWidths;
42474249
flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);
42484250
let wordSpacingPerLine = [];
4251+
let len;
42494252
let findWidth = function (v) {
42504253
return ((scope.getStringUnitWidth(v, {
42514254
font: activeFont,

dist/jspdf.node.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jspdf.node.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jspdf.node.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/jspdf.umd.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/** @license
22
*
33
* jsPDF - PDF Document creation from JavaScript
4-
* Version 3.0.3 Built on 2025-11-09T20:42:25.306Z
5-
* CommitID 6053f89adc
4+
* Version 3.0.3 Built on 2025-11-09T20:52:52.819Z
5+
* CommitID b71ec4ee2c
66
*
77
* Copyright (c) 2010-2025 James Hall <[email protected]>, https://github.com/MrRio/jsPDF
88
* 2015-2025 yWorks GmbH, http://www.yworks.com
@@ -3577,8 +3577,10 @@
35773577
if (isNaN(objId) || objId % 1 !== 0) {
35783578
throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId");
35793579
}
3580-
for (var _pageNumber in pagesContext) {
3581-
if (pagesContext[_pageNumber].objId === objId) {
3580+
var pageNumber;
3581+
for (var pageNum in pagesContext) {
3582+
if (pagesContext[pageNum].objId === objId) {
3583+
pageNumber = pageNum;
35823584
break;
35833585
}
35843586
}
@@ -4021,6 +4023,7 @@
40214023
noBOM: true
40224024
}, options.flags);
40234025
var wordSpacingPerLine = [];
4026+
var len;
40244027
var findWidth = function findWidth(v) {
40254028
return scope.getStringUnitWidth(v, {
40264029
font: activeFont,

dist/jspdf.umd.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)