diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-07-03 21:31:00 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-07-03 21:31:00 +0100 |
| commit | 792aa9fb8cab1b68c585f09336758e2c76e3e8d5 (patch) | |
| tree | e492c0a1165fc08a70198d8927346a8ec6bbe15d /lib/docx/docx-reader.js | |
| parent | 419eb705048dae39807ffeac7bce8d52563d7013 (diff) | |
Extract reading of document body to separate module
Diffstat (limited to 'lib/docx/docx-reader.js')
| -rw-r--r-- | lib/docx/docx-reader.js | 22 |
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 }); |
