ph-dev-tools
Version:
Development Tools for PHibernate
36 lines (35 loc) • 1.05 kB
JavaScript
;
class IQEntityBuilder {
constructor(entity, qEntityBuilder) {
this.entity = entity;
this.propertyBuilders = qEntityBuilder.propertyBuilders;
this.relationBuilders = qEntityBuilder.relationBuilders;
}
build() {
let entityName = `${this.entity.docEntry.name}`;
let properties = ``;
this.propertyBuilders.forEach((builder) => {
properties += ` ${builder.buildInterfaceDefinition()}\n`;
});
let relations = ``;
this.relationBuilders.forEach((builder) => {
relations += ` ${builder.buildInterfaceDefinition()}\n`;
});
let interfaceSource = `//Entity Query
export interface I${entityName}
extends IEntity
{
// Properties
${properties}
// Relations
${relations}
}
export interface IQ${entityName}
extends I${entityName}, IQEntity {
}
`;
return interfaceSource;
}
}
exports.IQEntityBuilder = IQEntityBuilder;
//# sourceMappingURL=IQEntityBuilder.js.map