.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / lib / utils / addEmptyLineBefore.js
1 /* @flow */
2 "use strict";
3
4 const _ = require("lodash");
5
6 // Add an empty line before a node. Mutates the node.
7 function addEmptyLineBefore(
8   node /*: postcss$node*/,
9   newline /*: '\n' | '\r\n'*/
10 ) /*: postcss$node*/ {
11   if (!/\r?\n/.test(node.raws.before)) {
12     node.raws.before = _.repeat(newline, 2) + node.raws.before;
13   } else if (/^\r?\n/.test(node.raws.before)) {
14     node.raws.before = newline + node.raws.before;
15   } else if (/\r?\n$/.test(node.raws.before)) {
16     node.raws.before = node.raws.before + newline;
17   } else {
18     node.raws.before = node.raws.before.replace(/(\r?\n)/, `${newline}$1`);
19   }
20   return node;
21 }
22
23 module.exports = addEmptyLineBefore;