diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-05-21 11:55:03 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-05-21 11:55:03 +0100 |
| commit | 0d60c148c8fdb8168dcc6402021639572243f9cd (patch) | |
| tree | 5ae6df130691c372858e5b43c1cef8b899aebd7e /lib/docx | |
| parent | 2e234c7d6ef381423b4f7d0ea5dac92dfce58a6b (diff) | |
Don't read run properties as document element
Diffstat (limited to 'lib/docx')
| -rw-r--r-- | lib/docx/body-reader.js | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js index dbb091c..b9bdb57 100644 --- a/lib/docx/body-reader.js +++ b/lib/docx/body-reader.js @@ -259,20 +259,19 @@ function BodyReader(options) { } }, "w:r": function(element) { - return readXmlElements(element.children) - .map(function(children) { - var properties = _.find(children, isRunProperties); - children = children.filter(negate(isRunProperties)); - + return ReadResult.map( + readRunProperties(element.firstOrEmpty("w:rPr")), + readXmlElements(element.children), + function(properties, children) { var hyperlinkOptions = currentHyperlinkOptions(); if (hyperlinkOptions !== null) { children = [new documents.Hyperlink(children, hyperlinkOptions)]; } return new documents.Run(children, properties); - }); + } + ); }, - "w:rPr": readRunProperties, "w:fldChar": readFldChar, "w:instrText": readInstrText, "w:t": function(element) { @@ -593,23 +592,13 @@ var ignoreElements = { "w:footnoteRef": true, "w:endnoteRef": true, "w:pPr": true, + "w:rPr": true, "w:tblPr": true, "w:tblGrid": true, "w:trPr": true, "w:tcPr": true }; -function isRunProperties(element) { - return element.type === "runProperties"; -} - -function negate(predicate) { - return function(value) { - return !predicate(value); - }; -} - - function emptyResultWithMessages(messages) { return new ReadResult(null, null, messages); } |
