checkAlignment.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _iterateJsdoc = _interopRequireDefault(require("../iterateJsdoc"));
  7. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  8. var _default = (0, _iterateJsdoc.default)(function (_ref) {
  9. var sourceCode = _ref.sourceCode,
  10. jsdocNode = _ref.jsdocNode,
  11. report = _ref.report,
  12. indent = _ref.indent;
  13. // `indent` is whitespace from line 1 (`/**`), so slice and account for "/".
  14. var indentLevel = indent.length + 1;
  15. var sourceLines = sourceCode.getText(jsdocNode).split('\n').slice(1).map(function (line) {
  16. return line.split('*')[0];
  17. }).filter(function (line) {
  18. return !line.trim().length;
  19. });
  20. var _iteratorNormalCompletion = true;
  21. var _didIteratorError = false;
  22. var _iteratorError = undefined;
  23. try {
  24. for (var _iterator = sourceLines[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  25. var line = _step.value;
  26. if (line.length !== indentLevel) {
  27. report('Expected JSDoc block to be aligned.');
  28. break;
  29. }
  30. }
  31. } catch (err) {
  32. _didIteratorError = true;
  33. _iteratorError = err;
  34. } finally {
  35. try {
  36. if (!_iteratorNormalCompletion && _iterator.return != null) {
  37. _iterator.return();
  38. }
  39. } finally {
  40. if (_didIteratorError) {
  41. throw _iteratorError;
  42. }
  43. }
  44. }
  45. });
  46. exports.default = _default;
  47. module.exports = exports.default;
  48. //# sourceMappingURL=checkAlignment.js.map