36 lines
713 B
JavaScript
36 lines
713 B
JavaScript
'use strict';
|
|
|
|
/** @typedef {import('postcss').Node} Node */
|
|
|
|
/**
|
|
* @param {Node | void} node
|
|
*/
|
|
function getNodeLine(node) {
|
|
return node && node.source && node.source.start && node.source.start.line;
|
|
}
|
|
|
|
/**
|
|
* @param {Node | void} node
|
|
* @returns {Node | void}
|
|
*/
|
|
module.exports = function getNextNonSharedLineCommentNode(node) {
|
|
if (node === undefined) {
|
|
return undefined;
|
|
}
|
|
|
|
/** @type {Node | void} */
|
|
const nextNode = node.next();
|
|
|
|
if (!nextNode || nextNode.type !== 'comment') {
|
|
return nextNode;
|
|
}
|
|
|
|
if (
|
|
getNodeLine(node) === getNodeLine(nextNode) ||
|
|
getNodeLine(nextNode) === getNodeLine(nextNode.next())
|
|
) {
|
|
return getNextNonSharedLineCommentNode(nextNode);
|
|
}
|
|
|
|
return nextNode;
|
|
};
|