Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BlankLine.js 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _constants = require("../constants");
  7. var _Node = _interopRequireDefault(require("./Node"));
  8. var _Range = _interopRequireDefault(require("./Range"));
  9. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  10. class BlankLine extends _Node.default {
  11. constructor() {
  12. super(_constants.Type.BLANK_LINE);
  13. }
  14. get includesTrailingLines() {
  15. return true;
  16. }
  17. /**
  18. * Parses blank lines from the source
  19. *
  20. * @param {ParseContext} context
  21. * @param {number} start - Index of first \n character
  22. * @returns {number} - Index of the character after this
  23. */
  24. parse(context, start) {
  25. this.context = context;
  26. const {
  27. src
  28. } = context;
  29. let offset = start + 1;
  30. while (_Node.default.atBlank(src, offset)) {
  31. const lineEnd = _Node.default.endOfWhiteSpace(src, offset);
  32. if (lineEnd === '\n') offset = lineEnd + 1;else break;
  33. }
  34. this.range = new _Range.default(start, offset);
  35. return offset;
  36. }
  37. }
  38. exports.default = BlankLine;