31 lines
618 B
JavaScript
31 lines
618 B
JavaScript
'use strict';
|
|
|
|
const _ = require('lodash');
|
|
|
|
/** @typedef {import('postcss').ChildNode} ChildNode */
|
|
|
|
/**
|
|
* Add an empty line after a node. Mutates the node.
|
|
*
|
|
* @param {ChildNode} node
|
|
* @param {'\n' | '\r\n'} newline
|
|
* @returns {ChildNode}
|
|
*/
|
|
function addEmptyLineAfter(node, newline) {
|
|
if (node.raws.after === undefined) {
|
|
return node;
|
|
}
|
|
|
|
const after = _.last(node.raws.after.split(';')) || '';
|
|
|
|
if (!/\r?\n/.test(after)) {
|
|
node.raws.after += newline.repeat(2);
|
|
} else {
|
|
node.raws.after = node.raws.after.replace(/(\r?\n)/, `${newline}$1`);
|
|
}
|
|
|
|
return node;
|
|
}
|
|
|
|
module.exports = addEmptyLineAfter;
|