/* @flow */ "use strict"; const _ = require("lodash"); function getNodeLine(node /*:: ?: postcss$node*/) /*: number | void*/ { return _.get(node, "source.start.line"); } module.exports = function getPreviousNonSharedLineCommentNode( node /*:: ?: postcss$node*/ ) /*: postcss$node | void*/ { if (node === undefined) { return undefined; } const previousNode = node.prev(); if (_.get(previousNode, "type") !== "comment") { return previousNode; } if ( getNodeLine(node) === getNodeLine(previousNode) || (previousNode !== undefined && getNodeLine(previousNode) === getNodeLine(previousNode.prev())) ) { return getPreviousNonSharedLineCommentNode(previousNode); } return previousNode; };