@stylistic/stylelint-plugin
Version:
A collection of stylistic/formatting Stylelint rules
67 lines (58 loc) • 1.33 kB
JavaScript
/** @typedef {import('postcss').Node} Node */
/** @typedef {import('postcss').Source} NodeSource */
/**
* @param {Node} node
* @returns {node is import('postcss').Root}
*/
export function isRoot (node) {
return node.type === `root`
}
/**
* @param {Node} node
* @returns {node is import('postcss').Rule}
*/
export function isRule (node) {
return node.type === `rule`
}
/**
* @param {Node} node
* @returns {node is import('postcss').AtRule}
*/
export function isAtRule (node) {
return node.type === `atrule`
}
/**
* @param {Node} node
* @returns {node is import('postcss').Comment}
*/
export function isComment (node) {
return node.type === `comment`
}
/**
* @param {Node} node
* @returns {node is import('postcss').Declaration}
*/
export function isDeclaration (node) {
return node.type === `decl`
}
/**
* @param {Node} node
* @returns {node is import('postcss').Document}
*/
export function isDocument (node) {
return node.type === `document`
}
/**
* @param {import('postcss-value-parser').Node} node
* @returns {node is import('postcss-value-parser').FunctionNode}
*/
export function isValueFunction (node) {
return node.type === `function`
}
/**
* @param {Node} node
* @returns {node is (Node & {source: NodeSource})}
*/
export function hasSource (node) {
return Boolean(node.source)
}