This repository has been archived on 2020-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
TripSit_Suite/node_modules/stylelint/lib/utils/getPreviousNonSharedLineCommentNode.js
2020-11-01 22:46:04 +00:00

41 lines
864 B
JavaScript

'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;
};