getPreviousNonSharedLineCommentNode.cjs 1022 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // NOTICE: This file is generated by Rollup. To modify it,
  2. // please instead edit the ESM counterpart and rebuild with Rollup (npm run build).
  3. 'use strict';
  4. /** @typedef {import('postcss').Node} Node */
  5. /**
  6. * @param {Node} node
  7. */
  8. function getNodeLine(node) {
  9. return node.source && node.source.start && node.source.start.line;
  10. }
  11. /**
  12. * @param {Node | undefined} node
  13. * @returns {Node | undefined}
  14. */
  15. function getPreviousNonSharedLineCommentNode(node) {
  16. if (node === undefined) {
  17. return undefined;
  18. }
  19. const previousNode = node.prev();
  20. if (!previousNode || previousNode.type !== 'comment') {
  21. return previousNode;
  22. }
  23. if (getNodeLine(node) === getNodeLine(previousNode)) {
  24. return getPreviousNonSharedLineCommentNode(previousNode);
  25. }
  26. const previousNode2 = previousNode.prev();
  27. if (previousNode2 && getNodeLine(previousNode) === getNodeLine(previousNode2)) {
  28. return getPreviousNonSharedLineCommentNode(previousNode);
  29. }
  30. return previousNode;
  31. }
  32. module.exports = getPreviousNonSharedLineCommentNode;