From 04ac1b979cb0539bd70445e3c4ed82572309ffe0 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 12 Mar 2026 21:07:54 +0000 Subject: Simplify HYPERLINK field handling --- lib/docx/body-reader.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'lib') 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); -- cgit v1.2.3