UNPKG

@mapcss/preset-typography

Version:

Typography preset for MapCSS

37 lines (36 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isAtRule = exports.isRule = exports.isDeclaration = exports.isCSSDefinition = exports.isCSSObject = exports.isBlockDefinition = exports.isValidSelector = void 0; const deps_js_1 = require("../../deps.js"); const reValidSelector = /(?!\d|-{2}|-\d)[a-zA-Z0-9\u00A0-\uFFFF-_:%-?]/; function isValidSelector(selector) { return reValidSelector.test(selector); } exports.isValidSelector = isValidSelector; function isBlockDefinition(value) { if (!(0, deps_js_1.isObject)(value)) return false; return Object.values(value).every((v) => (0, deps_js_1.isString)(v) || (0, deps_js_1.isNumber)(v)); } exports.isBlockDefinition = isBlockDefinition; function isCSSObject(value) { return isCSSDefinition(value) || isBlockDefinition(value); } exports.isCSSObject = isCSSObject; function isCSSDefinition(value) { return (0, deps_js_1.isObject)(value) && (0, deps_js_1.prop)("type", value) === "css" && (0, deps_js_1.isObject)((0, deps_js_1.prop)("value", value)); } exports.isCSSDefinition = isCSSDefinition; function isDeclaration(node) { return node instanceof deps_js_1.Declaration; } exports.isDeclaration = isDeclaration; function isRule(node) { return node instanceof deps_js_1.Rule; } exports.isRule = isRule; function isAtRule(node) { return node instanceof deps_js_1.AtRule; } exports.isAtRule = isAtRule;