From fae22b10bf8664ee65a2674b9c7cdbf926dd758f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 16 Jan 2018 22:39:51 +0000 Subject: Handle leading slashes in target --- lib/docx/docx-reader.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lib') 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) -- cgit v1.2.3