1 | ;
|
2 |
|
3 | const _ = require('lodash');
|
4 |
|
5 | /** @typedef {import('postcss').ChildNode} ChildNode */
|
6 |
|
7 | /**
|
8 | * Add an empty line after a node. Mutates the node.
|
9 | *
|
10 | * @param {ChildNode} node
|
11 | * @param {'\n' | '\r\n'} newline
|
12 | * @returns {ChildNode}
|
13 | */
|
14 | function addEmptyLineAfter(node, newline) {
|
15 | if (node.raws.after === undefined) {
|
16 | return node;
|
17 | }
|
18 |
|
19 | const after = _.last(node.raws.after.split(';')) || '';
|
20 |
|
21 | if (!/\r?\n/.test(after)) {
|
22 | node.raws.after += newline.repeat(2);
|
23 | } else {
|
24 | node.raws.after = node.raws.after.replace(/(\r?\n)/, `${newline}$1`);
|
25 | }
|
26 |
|
27 | return node;
|
28 | }
|
29 |
|
30 | module.exports = addEmptyLineAfter;
|