diff --git a/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalComponentMap.kt b/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalComponentMap.kt index 3b0f071..c31fdec 100644 --- a/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalComponentMap.kt +++ b/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalComponentMap.kt @@ -1,6 +1,6 @@ package no.item.xp.plugin.renderers -import no.item.xp.plugin.renderers.ts.getInterfaceName +import no.item.xp.plugin.renderers.ts.getTypeName fun renderGlobalComponentMap( filesNames: List, @@ -9,7 +9,7 @@ fun renderGlobalComponentMap( ): String { val importList = filesNames.joinToString("\n") { fileName -> - """export type ${getInterfaceName(fileName)} = import("./$fileName").${getInterfaceName(fileName)};""" + """export type ${getTypeName(fileName)} = import("./$fileName").${getTypeName(fileName)};""" } + "\n" return if (interfaceName == null || appName == null) { @@ -17,7 +17,7 @@ fun renderGlobalComponentMap( } else { val fieldList = filesNames.joinToString("\n") { fileName -> - """ "$appName:$fileName": ${getInterfaceName(fileName)};""" + """ "$appName:$fileName": ${getTypeName(fileName)};""" } """ diff --git a/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalContentTypeMap.kt b/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalContentTypeMap.kt index 57ee365..2c2154d 100644 --- a/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalContentTypeMap.kt +++ b/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalContentTypeMap.kt @@ -1,6 +1,6 @@ package no.item.xp.plugin.renderers -import no.item.xp.plugin.renderers.ts.getInterfaceName +import no.item.xp.plugin.renderers.ts.getTypeName import java.io.File fun renderGlobalContentTypeMap( @@ -9,13 +9,13 @@ fun renderGlobalContentTypeMap( ): String { val importList = files.joinToString("\n") { - """export type ${getInterfaceName( + """export type ${getTypeName( it.nameWithoutExtension, - )} = import("./${it.nameWithoutExtension}").${getInterfaceName(it.nameWithoutExtension)};""" + )} = import("./${it.nameWithoutExtension}").${getTypeName(it.nameWithoutExtension)};""" } val fieldList = files.joinToString("\n") { - """ "$appName:${it.nameWithoutExtension}": ${getInterfaceName(it.nameWithoutExtension)};""" + """ "$appName:${it.nameWithoutExtension}": ${getTypeName(it.nameWithoutExtension)};""" } return if (appName == null) { diff --git a/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalXDataMap.kt b/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalXDataMap.kt index 9e02156..383a6e3 100644 --- a/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalXDataMap.kt +++ b/src/main/kotlin/no/item/xp/plugin/renderers/RenderGlobalXDataMap.kt @@ -1,6 +1,6 @@ package no.item.xp.plugin.renderers -import no.item.xp.plugin.renderers.ts.getInterfaceName +import no.item.xp.plugin.renderers.ts.getTypeName fun renderGlobalXDataMap( fileNames: List, @@ -8,11 +8,11 @@ fun renderGlobalXDataMap( ): String { val importList = fileNames.joinToString("\n") { fileName -> - """export type ${getInterfaceName(fileName)} = import("./$fileName").${getInterfaceName(fileName)}""" + """export type ${getTypeName(fileName)} = import("./$fileName").${getTypeName(fileName)}""" } val fieldList = fileNames.joinToString("\n") { fileName -> - """ ${escapeFieldName(fileName)}?: ${getInterfaceName(fileName)};""" + """ ${escapeFieldName(fileName)}?: ${getTypeName(fileName)};""" } return if (appName == null) { diff --git a/src/main/kotlin/no/item/xp/plugin/renderers/ts/RenderTypeModelAsTypeScript.kt b/src/main/kotlin/no/item/xp/plugin/renderers/ts/RenderTypeModelAsTypeScript.kt index 8284383..409affa 100644 --- a/src/main/kotlin/no/item/xp/plugin/renderers/ts/RenderTypeModelAsTypeScript.kt +++ b/src/main/kotlin/no/item/xp/plugin/renderers/ts/RenderTypeModelAsTypeScript.kt @@ -6,7 +6,7 @@ fun renderTypeModelAsTypeScript(model: ObjectTypeModel): String { val fieldList = model.fields.joinToString("\n\n") { renderInterfaceModelField(it, 1) } return """ - #export type ${getInterfaceName(model.nameWithoutExtension)} = { + #export type ${getTypeName(model.nameWithoutExtension)} = { #$fieldList #}; #""".trimMargin("#") diff --git a/src/main/kotlin/no/item/xp/plugin/renderers/ts/TSRenderUtils.kt b/src/main/kotlin/no/item/xp/plugin/renderers/ts/TSRenderUtils.kt index c8fcb82..8d47e46 100644 --- a/src/main/kotlin/no/item/xp/plugin/renderers/ts/TSRenderUtils.kt +++ b/src/main/kotlin/no/item/xp/plugin/renderers/ts/TSRenderUtils.kt @@ -43,7 +43,11 @@ fun renderComment( } } -fun getInterfaceName(nameWithoutExtension: String): String { +fun getTypeName(nameWithoutExtension: String): String { + if (nameWithoutExtension.first().isDigit()) { + return getTypeName("_$nameWithoutExtension") + } + return nameWithoutExtension .split(".")[0] .split("-") @@ -53,4 +57,4 @@ fun getInterfaceName(nameWithoutExtension: String): String { fun getTypeName( nameWithoutExtension: String, appName: String, -): String = """${appName.replace(".", "_")}_${getInterfaceName(nameWithoutExtension)}_Data""" +): String = """${appName.replace(".", "_")}_${getTypeName(nameWithoutExtension)}_Data"""