UNPKG

leds-spark-lib

Version:

Biblioteca de geração de código

30 lines 1.43 kB
import SEON from "seon-lib-implementation"; import { ProjectGenerator } from "./ProjectGenerator.js"; import { isAttribute, isLocalEntity, isModule } from "./backend/models/model.js"; export function generate(model, target_folder) { const project = new ProjectGenerator(translate(model)); project.generate(target_folder); } export function translate(model) { const softwareName = model.configuration?.name ?? ""; const softwareDescription = model.configuration?.description ?? ""; const packagesList = []; for (const absElem of model.abstractElements) { if (isModule(absElem)) { for (const elem of absElem.elements) { if (isLocalEntity(elem)) { const listAttr = []; for (const attr of elem.attributes) { if (isAttribute(attr)) { listAttr.push(new SEON.TypeScriptAttribute(attr.name, new SEON.PrimitiveTypeAbstraction(attr.type.toString()))); } } const cls = new SEON.ClassAbstraction(elem.name, [], listAttr); packagesList.push(new SEON.PackageAbstraction(elem.name, [cls], [])); } } } } return new SEON.ProjectAbstraction(softwareName, softwareDescription, SEON.vueModularArchProjectSettings, packagesList); } //# sourceMappingURL=generate.js.map