diff options
Diffstat (limited to 'lib/parsers.js')
-rw-r--r-- | lib/parsers.js | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/lib/parsers.js b/lib/parsers.js deleted file mode 100644 index 70e44f4..0000000 --- a/lib/parsers.js +++ /dev/null @@ -1,63 +0,0 @@ -var path = require('path'); -var Immutable = require('immutable'); - -var markdownParser = require('gitbook-markdown'); -var asciidocParser = require('gitbook-asciidoc'); - -var EXTENSIONS_MARKDOWN = require('./constants/extsMarkdown'); -var EXTENSIONS_ASCIIDOC = require('./constants/extsAsciidoc'); -var Parser = require('./models/parser'); - -// This list is ordered by priority of parsers to use -var parsers = Immutable.List([ - Parser.create('markdown', EXTENSIONS_MARKDOWN, markdownParser), - Parser.create('asciidoc', EXTENSIONS_ASCIIDOC, asciidocParser) -]); - -/** - * Return a specific parser by its name - * - * @param {String} name - * @return {Parser|undefined} - */ -function getParser(name) { - return parsers.find(function(parser) { - return parser.getName() === name; - }); -} - -/** - * Return a specific parser according to an extension - * - * @param {String} ext - * @return {Parser|undefined} - */ -function getParserByExt(ext) { - return parsers.find(function(parser) { - return parser.matchExtension(ext); - }); -} - -/** - * Return parser for a file - * - * @param {String} ext - * @return {Parser|undefined} - */ -function getParserForFile(filename) { - return getParserByExt(path.extname(filename)); -} - -// List all parsable extensions -var extensions = parsers - .map(function(parser) { - return parser.getExtensions(); - }) - .flatten(); - -module.exports = { - extensions: extensions, - get: getParser, - getByExt: getParserByExt, - getForFile: getParserForFile -}; |