UNPKG

931 BJavaScriptView Raw
1'use strict';
2
3/** @typedef {import('postcss').Node} Node */
4/** @typedef {import('postcss').Node} NodeSource */
5
6/**
7 * @param {Node} node
8 * @returns {node is import('postcss').Root}
9 */
10module.exports.isRoot = function isRoot(node) {
11 return node.type === 'root';
12};
13
14/**
15 * @param {Node} node
16 * @returns {node is import('postcss').Rule}
17 */
18module.exports.isRule = function isRule(node) {
19 return node.type === 'rule';
20};
21
22/**
23 * @param {Node} node
24 * @returns {node is import('postcss').AtRule}
25 */
26module.exports.isAtRule = function isAtRule(node) {
27 return node.type === 'atrule';
28};
29
30/**
31 * @param {Node} node
32 * @returns {node is import('postcss').Comment}
33 */
34module.exports.isComment = function isComment(node) {
35 return node.type === 'comment';
36};
37
38/**
39 * @param {Node} node
40 * @returns {node is (Node & {source: NodeSource})}
41 */
42module.exports.hasSource = function hasSource(node) {
43 return Boolean(node.source);
44};