aboutsummaryrefslogtreecommitdiff
path: root/lib/index.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-08-15 10:00:12 +0100
committerMichael Williamson <mike@zwobble.org>2015-08-15 10:00:12 +0100
commit57299a40f7517ac4934ac391b44656500bac024d (patch)
treee7028502e2e2f5450266ca90fc0942898417000a /lib/index.js
parent1507381c0afbd2c2aaefe4fba8970c4a875886e9 (diff)
Generate warnings for not-understood style mappings and continue
Diffstat (limited to 'lib/index.js')
-rw-r--r--lib/index.js18
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)