fixEmptyLinesBefore.mjs 689 B

1234567891011121314151617181920212223242526
  1. import addEmptyLineBefore from './addEmptyLineBefore.mjs';
  2. import { assert } from './validateTypes.mjs';
  3. import removeEmptyLinesBefore from './removeEmptyLinesBefore.mjs';
  4. /**
  5. * fix callback for *-empty-line-before rules
  6. * @param {object} o
  7. * @param {import('postcss').Node} o.node
  8. * @param {string=} o.newline
  9. * @param {'add'|'remove'} o.action
  10. * @throws {TypeError}
  11. */
  12. export default function fixEmptyLinesBefore({ node, newline, action }) {
  13. assert(newline);
  14. switch (action) {
  15. case 'add':
  16. addEmptyLineBefore(node, newline);
  17. break;
  18. case 'remove':
  19. removeEmptyLinesBefore(node, newline);
  20. break;
  21. default:
  22. throw new TypeError(`Unknown action ${action}`);
  23. }
  24. }