@tapcart/app-studio-utils
Version:
A utility library for Tapcart's App Studio
31 lines • 1.19 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateElement = void 0;
const eval_1 = __importDefault(require("./eval"));
const transpile_1 = require("./transpile");
const defaultGenerateOptions = {
code: "",
scopeOverrides: {},
appStudioComponents: {},
options: {
transpile: false,
},
};
const generateElement = ({ code = "", scopeOverrides = {}, appStudioComponents = {}, options: propOptions = {}, }) => {
try {
const options = Object.assign(Object.assign({}, defaultGenerateOptions), propOptions);
const transformedCode = options.transpile ? (0, transpile_1.transpileCode)(code) : code;
const component = (0, eval_1.default)(transformedCode, appStudioComponents, Object.assign({}, scopeOverrides));
// @ts-ignore
return component["default"];
}
catch (error) {
console.error("Error generating element", error);
return null;
}
};
exports.generateElement = generateElement;
//# sourceMappingURL=index.js.map