beforeBlockString.mjs 651 B

12345678910111213141516171819202122232425262728
  1. import { isAtRule, isRule } from './typeGuards.mjs';
  2. /**
  3. * @param {import('postcss').Container} statement
  4. * @param {{ noRawBefore: boolean }} options
  5. * @returns {string}
  6. */
  7. export default function beforeBlockString(statement, { noRawBefore } = { noRawBefore: false }) {
  8. let result = '';
  9. const before = statement.raws.before || '';
  10. if (!noRawBefore) {
  11. result += before;
  12. }
  13. if (isRule(statement)) {
  14. result += statement.selector;
  15. } else if (isAtRule(statement)) {
  16. result += `@${statement.name}${statement.raws.afterName || ''}${statement.params}`;
  17. } else {
  18. return '';
  19. }
  20. result += statement.raws.between || '';
  21. return result;
  22. }