diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-08-15 10:00:12 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-08-15 10:00:12 +0100 |
| commit | 57299a40f7517ac4934ac391b44656500bac024d (patch) | |
| tree | e7028502e2e2f5450266ca90fc0942898417000a /lib/index.js | |
| parent | 1507381c0afbd2c2aaefe4fba8970c4a875886e9 (diff) | |
Generate warnings for not-understood style mappings and continue
Diffstat (limited to 'lib/index.js')
| -rw-r--r-- | lib/index.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/index.js b/lib/index.js index a988745..983a32a 100644 --- a/lib/index.js +++ b/lib/index.js @@ -4,6 +4,7 @@ var DocumentConverter = require("./document-to-html").DocumentConverter; var readStyle = require("./style-reader").readStyle; var readOptions = require("./options-reader").readOptions; var unzip = require("./unzip"); +var Result = require("./results").Result; exports.convertToHtml = convertToHtml; exports.convertToMarkdown = convertToMarkdown; @@ -50,13 +51,26 @@ function convert(input, options) { function convertDocumentToHtml(documentResult, options) { var parsedOptions = Object.create(options); - parsedOptions.styleMap = (options.styleMap || []).map(readStyle); + var styleMapResult = parseStyleMap(options.styleMap); + parsedOptions.styleMap = styleMapResult.value; var documentConverter = new DocumentConverter(parsedOptions); + return documentResult.flatMapThen(function(document) { - return documentConverter.convertToHtml(document); + return styleMapResult.flatMapThen(function(styleMap) { + return documentConverter.convertToHtml(document); + }); }); } +function parseStyleMap(styleMap) { + return Result.combine((styleMap || []).map(readStyle)) + .map(function(styleMap) { + return styleMap.filter(function(styleMapping) { + return !!styleMapping; + }); + }); +} + function extractRawText(input) { return unzip.openZip(input) |
