"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const propParser = require("css-property-parser");
function expandIfNecessary(authoredProps, prop, value, actions) {
if (!propParser.isShorthandProperty(prop)) {
return { [prop]: value };
}
let longhandDeclarations = {};
let longHandProps;
let longHandValues;
// Because we do an `isShorthandProperty` check up top, we don't need to try catch this call.
longHandValues = propParser.expandShorthandProperty(prop, value, false, true);
longHandProps = Object.keys(longHandValues);
let directAuthored = longHandProps.some(p => authoredProps.has(p));
for (let p of longHandProps) {
let v = longHandValues[p];
let expanded = expandIfNecessary(authoredProps, p, v, actions);
if (Object.keys(expanded).some(key => authoredProps.has(key))) {
Object.assign(longhandDeclarations, expanded);
}
else if (directAuthored) {
Object.assign(longhandDeclarations, { [p]: v });
}
}
if (Object.keys(longhandDeclarations).length === 0) {
longhandDeclarations[prop] = value;
}
return longhandDeclarations;
}
exports.expandIfNecessary = expandIfNecessary;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRoYW5kUHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL3Nob3J0aGFuZFByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxrREFBa0Q7QUFJbEQsMkJBQWtDLGFBQTBCLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBRSxPQUFnQjtJQUN6RyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3pDLE9BQU8sRUFBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBQyxDQUFDO0tBQ3hCO0lBQ0QsSUFBSSxvQkFBb0IsR0FBZSxFQUFFLENBQUM7SUFDMUMsSUFBSSxhQUFhLENBQUM7SUFDbEIsSUFBSSxjQUFjLENBQUM7SUFFbkIsNkZBQTZGO0lBQzdGLGNBQWMsR0FBRyxVQUFVLENBQUMsdUJBQXVCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUUsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFNUMsSUFBSSxjQUFjLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxLQUFLLElBQUksQ0FBQyxJQUFJLGFBQWEsRUFBRTtRQUMzQixJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM3RCxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQy9DO2FBQU0sSUFBSSxjQUFjLEVBQUU7WUFDekIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztTQUMvQztLQUNGO0lBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNsRCxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDcEM7SUFDRCxPQUFPLG9CQUFvQixDQUFDO0FBQzlCLENBQUM7QUExQkQsOENBMEJDIn0= |