UNPKG

markdown-spellcheck

Version:

Spell-checks markdown files with an interactive CLI allowing automated spell checking.

67 lines (45 loc) 1.9 kB
'use strict'; exports.__esModule = true; var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _markdownParser = require('./markdown-parser'); var _markdownParser2 = _interopRequireDefault(_markdownParser); var _wordParser = require('./word-parser'); var _wordParser2 = _interopRequireDefault(_wordParser); var _spellcheck = require('./spellcheck'); var _spellcheck2 = _interopRequireDefault(_spellcheck); var _filters = require('./filters'); var _filters2 = _interopRequireDefault(_filters); var _async = require('async'); var _async2 = _interopRequireDefault(_async); var _reportGenerator = require('./report-generator'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function getWords(src, options) { var words = (0, _wordParser2.default)((0, _markdownParser2.default)(src)); return _filters2.default.filter(words, options); } function spell(src, options) { if (typeof src !== "string") { throw new Error("spell takes a string"); } var words = getWords(src, options); return _spellcheck2.default.checkWords(words, options); } function spellFile(filename, options) { var src = _fs2.default.readFileSync(filename, 'utf-8'); return { errors: spell(src, options), src: src }; } function spellCallback(src, options, callback, done) { var words = getWords(src, options); _async2.default.eachSeries(words, _async2.default.ensureAsync(function (wordInfo, onWordProcessed) { if (!_spellcheck2.default.checkWord(wordInfo.word, options)) { callback(wordInfo, onWordProcessed); } else { onWordProcessed(); } }), done); } exports.default = { spell: spell, spellFile: spellFile, spellCallback: spellCallback, spellcheck: _spellcheck2.default, generateSummaryReport: _reportGenerator.generateSummaryReport, generateFileReport: _reportGenerator.generateFileReport };