aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2018-01-16 22:39:51 +0000
committerMichael Williamson <mike@zwobble.org>2018-01-16 22:39:51 +0000
commitfae22b10bf8664ee65a2674b9c7cdbf926dd758f (patch)
tree7e64cca25945bf52580dd8252ede214c7010dc91 /lib
parentd3b5060cdd565e6d7454c75f8de68987be9ed2c8 (diff)
Handle leading slashes in target
Diffstat (limited to 'lib')
-rw-r--r--lib/docx/docx-reader.js13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/docx/docx-reader.js b/lib/docx/docx-reader.js
index 67ff11d..f0b6c89 100644
--- a/lib/docx/docx-reader.js
+++ b/lib/docx/docx-reader.js
@@ -82,12 +82,23 @@ function read(docxFile, input) {
function findDocumentFilename(docxFile, relationships) {
var targets = ["word/document.xml"].concat(relationships.findTargetsByType("http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"));
- var validTargets = targets.filter(function(target) {
+ var normalisedTargets = targets.map(function(target) {
+ return stripPrefix(target, "/");
+ });
+ var validTargets = normalisedTargets.filter(function(target) {
return docxFile.exists(target);
});
return validTargets[0];
}
+function stripPrefix(value, prefix) {
+ if (value.substring(0, prefix.length) === prefix) {
+ return value.substring(prefix.length);
+ } else {
+ return value;
+ }
+}
+
function xmlFileReader(options) {
return function(zipFile) {
return readXmlFromZipFile(zipFile, options.filename)