UNPKG

lint-filter

Version:
131 lines (101 loc) 4.22 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseFiles = exports.parseFile = exports.parseString = exports.xmlParser = exports.readFile = undefined; var parseString = exports.parseString = function () { var ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(str) { var _ref2, checkstyle; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return exports.xmlParser(str); case 2: _ref2 = _context.sent; checkstyle = _ref2.checkstyle; return _context.abrupt('return', (0, _lodash2.default)(checkstyle.file).map(mapErrorsFromFileBlock).reject(_lodash.isEmpty).flatten().value()); case 5: case 'end': return _context.stop(); } } }, _callee, this); })); return function parseString(_x) { return ref.apply(this, arguments); }; }(); var parseFile = exports.parseFile = function () { var ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee2(path) { var content; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return exports.readFile(path); case 2: content = _context2.sent; _context2.next = 5; return exports.parseString(content.toString()); case 5: return _context2.abrupt('return', _context2.sent); case 6: case 'end': return _context2.stop(); } } }, _callee2, this); })); return function parseFile(_x2) { return ref.apply(this, arguments); }; }(); var parseFiles = exports.parseFiles = function () { var ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee3(files) { var result; return regeneratorRuntime.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return _bluebird2.default.all(files.map(exports.parseFile)); case 2: result = _context3.sent; return _context3.abrupt('return', (0, _lodash2.default)(result).flatten().flatten().reject(_lodash.isEmpty).value()); case 4: case 'end': return _context3.stop(); } } }, _callee3, this); })); return function parseFiles(_x3) { return ref.apply(this, arguments); }; }(); exports.makePathRelative = makePathRelative; exports.mapErrorsFromFileBlock = mapErrorsFromFileBlock; var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); var _bluebird = require('bluebird'); var _bluebird2 = _interopRequireDefault(_bluebird); var _xml2js = require('xml2js'); var _xml2js2 = _interopRequireDefault(_xml2js); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new _bluebird2.default(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return _bluebird2.default.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; } var readFile = exports.readFile = _bluebird2.default.promisify(_fs2.default.readFile); function makePathRelative(filepath) { return filepath.replace('' + process.cwd(), '').replace(/\\/g, '/').slice(1); } function mapErrorsFromFileBlock(file) { return _lodash2.default.map(file.error, function (_ref) { var $ = _ref.$; return (0, _lodash.assign)({}, $, { file: makePathRelative(file.$.name) }); }); } var xmlParser = exports.xmlParser = _bluebird2.default.promisify(new _xml2js2.default.Parser().parseString);