addEmptyLineBefore.js 512 B

1234567891011121314
  1. // Add an empty line before a node. Mutates the node.
  2. module.exports = function addEmptyLineBefore(node, newline) {
  3. if (!/\r?\n/.test(node.raws.before)) {
  4. node.raws.before = newline.repeat(2) + node.raws.before;
  5. } else if (/^\r?\n/.test(node.raws.before)) {
  6. node.raws.before = newline + node.raws.before;
  7. } else if (/\r?\n$/.test(node.raws.before)) {
  8. node.raws.before = node.raws.before + newline;
  9. } else {
  10. node.raws.before = node.raws.before.replace(/(\r?\n)/, `${newline}$1`);
  11. }
  12. return node;
  13. };