'use strict'; /** @typedef {import('postcss').Node} Node */ /** * @param {Node} node */ function getNodeLine(node) { return node.source && node.source.start && node.source.start.line; } /** * @param {Node | undefined} node * @returns {Node | undefined} */ module.exports = function getPreviousNonSharedLineCommentNode(node) { if (node === undefined) { return undefined; } const previousNode = node.prev(); if (!previousNode || 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; };