generator-begcode
Version:
Spring Boot + Angular/React/Vue in one handy generator
24 lines (23 loc) • 1.02 kB
JavaScript
import { lowerFirst } from 'lodash-es';
import { JDLEntity } from '../../models/index.js';
import { formatComment } from '../../utils/format-utils.js';
export default { convertEntities };
export function convertEntities(parsedEntities, jdlFieldGetterFunction) {
if (!parsedEntities) {
throw new Error('Entities have to be passed so as to be converted.');
}
return parsedEntities.map(parsedEntity => {
const jdlEntity = new JDLEntity({
name: parsedEntity.name,
tableName: parsedEntity.tableName,
comment: formatComment(parsedEntity.documentation),
annotations: Object.fromEntries(parsedEntity.annotations?.map(annotation => [
lowerFirst(annotation.optionName),
annotation.type === 'UNARY' ? true : annotation.optionValue,
]) ?? []),
});
const jdlFields = jdlFieldGetterFunction.call(undefined, parsedEntity);
jdlEntity.addFields(jdlFields);
return jdlEntity;
});
}