UNPKG

@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
"use strict"; 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;