mirror of
https://github.com/OliveTin/OliveTin
synced 2025-12-18 12:05:32 +00:00
35 lines
695 B
JavaScript
35 lines
695 B
JavaScript
/** @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}
|
|
*/
|
|
export default 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;
|
|
}
|