@cuba-platform/front-generator
Version:
CUBA Platform front-end clients generator
28 lines (27 loc) • 1.11 kB
TypeScript
import { Entity, ProjectModel } from "../../../common/model/cuba-model";
import * as Generator from "yeoman-generator";
import * as ts from "typescript";
import { ImportInfo } from "../import-utils";
import { ModelContext } from "./model-utils";
export interface ProjectEntityInfo {
entity: Entity;
isBaseProjectEntity: boolean;
}
export declare type ClassCreationContext = ModelContext & {
entity: Entity;
isBaseProjectEntity: boolean;
};
/**
*
* Generate TS entity classes from ProjectModel, write generated files to destDir
*
* @param projectModel project model entities generated from
* @param destDir where created TS files should be placed, also need to compute correct imports in generated TS files
* @param fs Yeoman MemFs editor
* @return model context contains entity and enum maps with fqn as key
*/
export declare function generateEntities(projectModel: ProjectModel, destDir: string, fs: Generator.MemFsEditor): ModelContext;
export declare function createEntityClass(ctx: ClassCreationContext): {
classDeclaration: ts.ClassDeclaration;
importInfos: ImportInfo[];
};