aboutsummaryrefslogtreecommitdiff
path: root/lib/docx/docx-reader.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-07-03 21:31:00 +0100
committerMichael Williamson <mike@zwobble.org>2015-07-03 21:31:00 +0100
commit792aa9fb8cab1b68c585f09336758e2c76e3e8d5 (patch)
treee492c0a1165fc08a70198d8927346a8ec6bbe15d /lib/docx/docx-reader.js
parent419eb705048dae39807ffeac7bce8d52563d7013 (diff)
Extract reading of document body to separate module
Diffstat (limited to 'lib/docx/docx-reader.js')
-rw-r--r--lib/docx/docx-reader.js22
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/docx/docx-reader.js b/lib/docx/docx-reader.js
index 23f821c..554e329 100644
--- a/lib/docx/docx-reader.js
+++ b/lib/docx/docx-reader.js
@@ -4,6 +4,7 @@ var promises = require("../promises");
var unzip = require("../unzip");
var readXmlFromZipFile = require("./office-xml-reader").readXmlFromZipFile;
+var BodyReader = require("./body-reader").BodyReader;
var DocumentXmlReader = require("./document-xml-reader").DocumentXmlReader;
var relationshipsReader = require("./relationships-reader");
var contentTypesReader = require("./content-types-reader");
@@ -19,17 +20,24 @@ function read(options) {
readRelationshipsFromZipFile(docxFile),
readContentTypesFromZipFile(docxFile),
readNumberingFromZipFile(docxFile),
- readStylesFromZipFile(docxFile),
- readFootnotesFromZipFile(docxFile),
- readEndnotesFromZipFile(docxFile),
- readXmlFromZipFile(docxFile, "word/document.xml"),
- ]).spread(function(relationships, contentTypes, numbering, styles, footnotes, endnotes, documentXml) {
- var reader = new DocumentXmlReader({
+ readStylesFromZipFile(docxFile)
+ ]).spread(function(relationships, contentTypes, numbering, styles) {
+ var bodyReader = new BodyReader({
relationships: relationships,
contentTypes: contentTypes,
docxFile: docxFile,
numbering: numbering,
- styles: styles,
+ styles: styles
+ });
+ return promises.all([
+ bodyReader,
+ readFootnotesFromZipFile(docxFile),
+ readEndnotesFromZipFile(docxFile),
+ readXmlFromZipFile(docxFile, "word/document.xml")
+ ]);
+ }).spread(function(bodyReader, footnotes, endnotes, documentXml) {
+ var reader = new DocumentXmlReader({
+ bodyReader: bodyReader,
footnotes: footnotes,
endnotes: endnotes
});