UNPKG

566 BJavaScriptView Raw
1'use strict';
2
3/** @typedef {import('postcss').ChildNode} ChildNode */
4
5/**
6 * Add an empty line before a node. Mutates the node.
7 *
8 * @param {ChildNode} node
9 * @param {'\n' | '\r\n'} newline
10 * @returns {ChildNode}
11 */
12function addEmptyLineBefore(node, newline) {
13 if (node.raws.before === undefined) {
14 return node;
15 }
16
17 if (!/\r?\n/.test(node.raws.before)) {
18 node.raws.before = newline.repeat(2) + node.raws.before;
19 } else {
20 node.raws.before = node.raws.before.replace(/(\r?\n)/, `${newline}$1`);
21 }
22
23 return node;
24}
25
26module.exports = addEmptyLineBefore;