first commit
This commit is contained in:
53
node_modules/stylelint/lib/utils/isSharedLineComment.mjs
generated
vendored
Normal file
53
node_modules/stylelint/lib/utils/isSharedLineComment.mjs
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
import { isComment, isRoot } from './typeGuards.mjs';
|
||||
import getNextNonSharedLineCommentNode from './getNextNonSharedLineCommentNode.mjs';
|
||||
import getPreviousNonSharedLineCommentNode from './getPreviousNonSharedLineCommentNode.mjs';
|
||||
|
||||
/** @typedef {import('postcss').Node} PostcssNode */
|
||||
|
||||
/**
|
||||
* @param {PostcssNode | void} a
|
||||
* @param {PostcssNode | void} b
|
||||
*/
|
||||
function nodesShareLines(a, b) {
|
||||
const endLine = a && a.source && a.source.end && a.source.end.line;
|
||||
const startLine = b && b.source && b.source.start && b.source.start.line;
|
||||
|
||||
return endLine === startLine;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {PostcssNode} node
|
||||
* @returns {boolean}
|
||||
*/
|
||||
export default function isSharedLineComment(node) {
|
||||
if (!isComment(node)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const previousNonSharedLineCommentNode = getPreviousNonSharedLineCommentNode(node);
|
||||
|
||||
if (nodesShareLines(previousNonSharedLineCommentNode, node)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const nextNonSharedLineCommentNode = getNextNonSharedLineCommentNode(node);
|
||||
|
||||
if (nextNonSharedLineCommentNode && nodesShareLines(node, nextNonSharedLineCommentNode)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
const parentNode = node.parent;
|
||||
|
||||
// It's a first child and located on the same line as block start
|
||||
if (
|
||||
parentNode !== undefined &&
|
||||
!isRoot(parentNode) &&
|
||||
parentNode.index(node) === 0 &&
|
||||
node.raws.before !== undefined &&
|
||||
!node.raws.before.includes('\n')
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user