leds-spark-lib
Version:
Biblioteca de geração de código
32 lines • 1.15 kB
JavaScript
import { isLocalEntity, base_ident } from "../../../../models/model.js";
const ident = base_ident;
export function generateSerializer(m) {
const non_abstract_entities = m.elements.filter(isLocalEntity).filter(e => !e.is_abstract);
const lines = [
`from rest_framework import serializers`,
`from .models import (`,
...non_abstract_entities.map(e => `${ident}${e.name},`),
`)`,
``,
...non_abstract_entities.map(entitySerializer),
];
return lines.join('\n');
}
function entitySerializer(e) {
const lines = [
`class ${e.name}WriteSerializer(serializers.ModelSerializer):`,
`${ident}class Meta:`,
`${ident}${ident}model = ${e.name}`,
`${ident}${ident}exclude = ("polymorphic_ctype",)`,
``,
`class ${e.name}ReadSerializer(serializers.ModelSerializer):`,
`${ident}class Meta:`,
`${ident}${ident}depth = 1`,
`${ident}${ident}model = ${e.name}`,
`${ident}${ident}exclude = ("polymorphic_ctype",)`,
``,
``
];
return lines.join('\n');
}
//# sourceMappingURL=serialize-generator.js.map