lint-filter
Version:
Lint touched code stricter
131 lines (101 loc) • 4.22 kB
JavaScript
;
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);