| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 'use strict';const getNextNonSharedLineCommentNode = require('./getNextNonSharedLineCommentNode');const getPreviousNonSharedLineCommentNode = require('./getPreviousNonSharedLineCommentNode');const { isRoot, isComment } = require('./typeGuards');/** @typedef {import('postcss').Node} PostcssNode *//** * * @param {PostcssNode | void} a * @param {PostcssNode | void} b */function nodesShareLines(a, b) {	const aLine = a && a.source && a.source.end && a.source.end.line;	const bLine = b && b.source && b.source.start && b.source.start.line;	return aLine === bLine;}/** * @param {PostcssNode} node * @returns {boolean} */module.exports = 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;};
 |