mirror of
https://github.com/OliveTin/OliveTin
synced 2025-12-19 20:45:35 +00:00
29 lines
651 B
JavaScript
29 lines
651 B
JavaScript
import { isAtRule, isRule } from './typeGuards.mjs';
|
|
|
|
/**
|
|
* @param {import('postcss').Container} statement
|
|
* @param {{ noRawBefore: boolean }} options
|
|
* @returns {string}
|
|
*/
|
|
export default function beforeBlockString(statement, { noRawBefore } = { noRawBefore: false }) {
|
|
let result = '';
|
|
|
|
const before = statement.raws.before || '';
|
|
|
|
if (!noRawBefore) {
|
|
result += before;
|
|
}
|
|
|
|
if (isRule(statement)) {
|
|
result += statement.selector;
|
|
} else if (isAtRule(statement)) {
|
|
result += `@${statement.name}${statement.raws.afterName || ''}${statement.params}`;
|
|
} else {
|
|
return '';
|
|
}
|
|
|
|
result += statement.raws.between || '';
|
|
|
|
return result;
|
|
}
|