addEmptyLineBefore.cjs 650 B

123456789101112131415161718192021222324252627
  1. // NOTICE: This file is generated by Rollup. To modify it,
  2. // please instead edit the ESM counterpart and rebuild with Rollup (npm run build).
  3. 'use strict';
  4. /**
  5. * Add one or two empty line(s) before a node. Mutates the node.
  6. *
  7. * @template {import('postcss').Node} T
  8. * @param {T} node
  9. * @param {string} newline
  10. * @returns {T}
  11. */
  12. function addEmptyLineBefore(node, newline) {
  13. const { raws } = node;
  14. if (typeof raws.before !== 'string') {
  15. return node;
  16. }
  17. raws.before = !/\r?\n/.test(raws.before)
  18. ? newline.repeat(2) + raws.before
  19. : raws.before.replace(/(\r?\n)/, `${newline}$1`);
  20. return node;
  21. }
  22. module.exports = addEmptyLineBefore;