.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / lib / utils / getPreviousNonSharedLineCommentNode.js
1 /* @flow */
2 "use strict";
3
4 const _ = require("lodash");
5
6 function getNodeLine(node /*:: ?: postcss$node*/) /*: number | void*/ {
7   return _.get(node, "source.start.line");
8 }
9
10 module.exports = function getPreviousNonSharedLineCommentNode(
11   node /*:: ?: postcss$node*/
12 ) /*: postcss$node | void*/ {
13   if (node === undefined) {
14     return undefined;
15   }
16
17   const previousNode = node.prev();
18
19   if (_.get(previousNode, "type") !== "comment") {
20     return previousNode;
21   }
22
23   if (
24     getNodeLine(node) === getNodeLine(previousNode) ||
25     (previousNode !== undefined &&
26       getNodeLine(previousNode) === getNodeLine(previousNode.prev()))
27   ) {
28     return getPreviousNonSharedLineCommentNode(previousNode);
29   }
30
31   return previousNode;
32 };