UNPKG

618 BJavaScriptView Raw
1'use strict';
2
3const _ = 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 */
14function 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
30module.exports = addEmptyLineAfter;