@ec0lint/plugin-css
Version:
ec0lint plugin that provides rules to verify CSS definition objects
29 lines (28 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizePropertyName = exports.stripVendorPrefix = exports.getVendorPrefix = exports.hasVendorPrefix = void 0;
const casing_1 = require("../casing");
function hasVendorPrefix(prop) {
return Boolean(getVendorPrefix(prop));
}
exports.hasVendorPrefix = hasVendorPrefix;
function getVendorPrefix(prop) {
var _a;
return ((_a = /^-\w+-/u.exec(prop)) === null || _a === void 0 ? void 0 : _a[0]) || "";
}
exports.getVendorPrefix = getVendorPrefix;
function stripVendorPrefix(prop) {
return prop.slice(getVendorPrefix(prop).length);
}
exports.stripVendorPrefix = stripVendorPrefix;
function normalizePropertyName(name, opt) {
if (name === "cssFloat") {
return "float";
}
if (name.startsWith("--")) {
return name;
}
const normalized = (0, casing_1.isCamelCase)(name) ? (0, casing_1.kebabCase)(name) : name;
return (opt === null || opt === void 0 ? void 0 : opt.keepVendorPrefix) ? normalized : stripVendorPrefix(normalized);
}
exports.normalizePropertyName = normalizePropertyName;