@builder.io/mitosis
Version:
Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io
35 lines (34 loc) • 1.08 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setStyles = exports.getStyles = void 0;
const json5_1 = __importDefault(require("json5"));
const lodash_1 = require("lodash");
const bindings_1 = require("./bindings");
const getStyles = (json) => {
var _a;
if (!json.bindings.css) {
return null;
}
let css;
try {
css = json5_1.default.parse((_a = json.bindings.css) === null || _a === void 0 ? void 0 : _a.code);
}
catch (err) {
console.warn('Could not json 5 parse css', err, json.bindings.css.code);
return null;
}
return css;
};
exports.getStyles = getStyles;
const setStyles = (json, styles) => {
if (!(0, lodash_1.size)(styles)) {
delete json.bindings.css;
}
else {
json.bindings.css = (0, bindings_1.createSingleBinding)({ code: json5_1.default.stringify(styles) });
}
};
exports.setStyles = setStyles;
;