reserved words
This commit is contained in:
parent
6b3339d5f1
commit
757367762f
|
@ -11,7 +11,7 @@ const templateUnion = fs.readFileSync(path.resolve(path.join('templates', 'union
|
||||||
module.exports = (service) => {
|
module.exports = (service) => {
|
||||||
|
|
||||||
const unions = javaUnions.mapUnions(service.unions, service.models, service.namespace)
|
const unions = javaUnions.mapUnions(service.unions, service.models, service.namespace)
|
||||||
const models = javaModels.mapJavaModels(service.models, service.namespace)
|
const models = javaModels.mapJavaModels(service.models, service.namespace, 'models', service)
|
||||||
const enums = javaModels.mapJavaEnums(service.enums, service.namespace)
|
const enums = javaModels.mapJavaEnums(service.enums, service.namespace)
|
||||||
|
|
||||||
const modelFiles = models.map(model => {
|
const modelFiles = models.map(model => {
|
||||||
|
|
|
@ -3,14 +3,14 @@ const javaType = require('./java-type')
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
mapJavaModels: (models, namespace, suffix='models') => {
|
mapJavaModels: (models, namespace, suffix='models', service) => {
|
||||||
return models.map(model => {
|
return models.map(model => {
|
||||||
model.name = utils.pascalcase(model.name)
|
model.name = utils.pascalcase(model.name)
|
||||||
model.package = `${namespace}.${suffix}`;
|
model.package = `${namespace}.${suffix}`;
|
||||||
model.dir = model.package.replace(/\./g, '/')
|
model.dir = model.package.replace(/\./g, '/')
|
||||||
model.fields = model.fields.map(field => {
|
model.fields = model.fields.map(field => {
|
||||||
field.nameSafe = utils.camelcase(javaType.safeName(field.name))
|
field.nameSafe = utils.camelcase(javaType.safeName(field.name))
|
||||||
field.type = javaType.mapJavaType(field.type, namespace)
|
field.type = javaType.mapJavaType(field.type, namespace, '', service)
|
||||||
field.default = javaType.mapDefaultValue(field.type, field.default)
|
field.default = javaType.mapDefaultValue(field.type, field.default)
|
||||||
return field
|
return field
|
||||||
})
|
})
|
||||||
|
|
|
@ -64,22 +64,26 @@ const SUPPORTED_TYPES = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCustomType(type, namespace, suffix='') {
|
function getCustomType(type, namespace, suffix='', service) {
|
||||||
|
|
||||||
let match = LAST_ELEMENT_REGEX.exec(type)
|
let match = LAST_ELEMENT_REGEX.exec(type)
|
||||||
let name = ''
|
let name = ''
|
||||||
let importstatement = null
|
let importstatement = null
|
||||||
|
let isEnum = false
|
||||||
if(match) {
|
if(match) {
|
||||||
name = utils.pascalcase(match[2])+suffix
|
name = utils.pascalcase(match[2])+suffix
|
||||||
|
isEnum = match[1].includes('enums')
|
||||||
importstatement = `${match[1].replace('enums', 'models')}.${name}`
|
importstatement = `${match[1].replace('enums', 'models')}.${name}`
|
||||||
}else {
|
}else {
|
||||||
name = utils.pascalcase(type)+suffix
|
name = utils.pascalcase(type)+suffix
|
||||||
|
isEnum = service.enums.find(e => e.name == type) ? true : false
|
||||||
importstatement = `${namespace}.models.${name}`
|
importstatement = `${namespace}.models.${name}`
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
name,
|
name,
|
||||||
baseType: name,
|
baseType: name,
|
||||||
|
isEnum,
|
||||||
fullQualifiedName: importstatement,
|
fullQualifiedName: importstatement,
|
||||||
imports: [ importstatement ]
|
imports: [ importstatement ]
|
||||||
}
|
}
|
||||||
|
@ -98,9 +102,9 @@ function mapCollection(type) {
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
mapJavaType: (type, namespace, suffix='') => {
|
mapJavaType: (type, namespace, suffix='', service) => {
|
||||||
const baseType = COLLECTION_REGEX.exec(type)[1]
|
const baseType = COLLECTION_REGEX.exec(type)[1]
|
||||||
let javaType = SUPPORTED_TYPES[baseType] || getCustomType(baseType, namespace, suffix)
|
let javaType = SUPPORTED_TYPES[baseType] || getCustomType(baseType, namespace, suffix, service)
|
||||||
|
|
||||||
if(type.startsWith('[')) {
|
if(type.startsWith('[')) {
|
||||||
javaType = mapCollection(javaType);
|
javaType = mapCollection(javaType);
|
||||||
|
|
Loading…
Reference in a new issue