Commit 04ac1b9 for mammothjs
commit 04ac1b979cb0539bd70445e3c4ed82572309ffe0
Author: Michael Williamson <mike@zwobble.org>
Date: Thu Mar 12 21:07:54 2026 +0000
Simplify HYPERLINK field handling
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js
index 74add0a..0d3cfb4 100644
--- a/lib/docx/body-reader.js
+++ b/lib/docx/body-reader.js
@@ -203,16 +203,11 @@ function BodyReader(options) {
}
function parseInstrText(instrText, fldChar) {
- var externalLinkResult = /^\s*HYPERLINK\s+(?:"(.*)"|([^\\]\S*))/.exec(instrText);
- if (externalLinkResult) {
- var href = externalLinkResult[1] === undefined ? externalLinkResult[2] : externalLinkResult[1];
- return {type: "hyperlink", options: {href: href}};
- }
-
- var internalLinkResult = /^\s*HYPERLINK\s+\\l\s+(?:"(.*)"|([^\\]\S*))/.exec(instrText);
- if (internalLinkResult) {
- var anchor = internalLinkResult[1] === undefined ? internalLinkResult[2] : internalLinkResult[1];
- return {type: "hyperlink", options: {anchor: anchor}};
+ var linkResult = /^\s*HYPERLINK\s+(\\l\s+)?(?:"(.*)"|([^\\]\S*))/.exec(instrText);
+ if (linkResult) {
+ var target = linkResult[2] === undefined ? linkResult[3] : linkResult[2];
+ var options = linkResult[1] === undefined ? {href: target} : {anchor: target};
+ return {type: "hyperlink", options: options};
}
var checkboxResult = /\s*FORMCHECKBOX\s*/.exec(instrText);