java-apibuilder-generators-.../src/generators/java-models-generator.js

34 lines
1.0 KiB
JavaScript

const javaModels = require('../java-model')
const Mustache = require('Mustache')
const fs = require('fs')
const path = require('path')
const templateModel = fs.readFileSync(path.resolve(path.join('templates', 'lombok-model.java.mustache')), 'utf-8')
const templateEnum = fs.readFileSync(path.resolve(path.join('templates', 'lombok-enum.java.mustache')), 'utf-8')
module.exports = (service) => {
const models = javaModels.mapJavaModels(service.models, service.namespace)
const enums = javaModels.mapJavaEnums(service.enums, service.namespace)
const modelFiles = models.map(model => {
return {
name: `${model.name}.java`,
dir: model.dir,
contents: Mustache.render(templateModel, { service, ...model })
}
})
const enumFiles = enums.map(e => {
return {
name: `${e.name}.java`,
dir: e.dir,
contents: Mustache.render(templateEnum, { service, ...e })
}
})
return [
...modelFiles,
...enumFiles
]
}