UNPKG

@mapcss/preset-svg

Version:
27 lines (26 loc) 889 B
import { AtRule, Declaration, isNumber, isObject, isString, prop, Rule, } from "../../deps.js"; const reValidSelector = /(?!\d|-{2}|-\d)[a-zA-Z0-9\u00A0-\uFFFF-_:%-?]/; export function isValidSelector(selector) { return reValidSelector.test(selector); } export function isBlockDefinition(value) { if (!isObject(value)) return false; return Object.values(value).every((v) => isString(v) || isNumber(v)); } export function isCSSObject(value) { return isCSSDefinition(value) || isBlockDefinition(value); } export function isCSSDefinition(value) { return isObject(value) && prop("type", value) === "css" && isObject(prop("value", value)); } export function isDeclaration(node) { return node instanceof Declaration; } export function isRule(node) { return node instanceof Rule; } export function isAtRule(node) { return node instanceof AtRule; }