|
12345678910111213141516171819202122232425262728293031323334353637383940 |
- 'use strict';
-
- const _ = require('lodash');
-
- /** @typedef {import('postcss').Node} Node */
-
- /**
- * @param {Node} node
- */
- function getNodeLine(node) {
- return _.get(node, 'source.start.line');
- }
-
- /**
- * @param {import('postcss').Node | void} node
- * @returns {Node | void}
- */
- module.exports = function getPreviousNonSharedLineCommentNode(node) {
- if (node === undefined) {
- return undefined;
- }
-
- const previousNode = node.prev();
-
- if (!previousNode || _.get(previousNode, 'type') !== 'comment') {
- return previousNode;
- }
-
- if (getNodeLine(node) === getNodeLine(previousNode)) {
- return getPreviousNonSharedLineCommentNode(previousNode);
- }
-
- const previousNode2 = previousNode.prev();
-
- if (previousNode2 && getNodeLine(previousNode) === getNodeLine(previousNode2)) {
- return getPreviousNonSharedLineCommentNode(previousNode);
- }
-
- return previousNode;
- };
|