forked from loafle/openapi-generator-original
Fixes Kotlin client property names that include a dollar sign for template override (#4351)
Fixes #4228
This commit is contained in:
committed by
William Cheng
parent
649eab2868
commit
9a1ff9bf05
@@ -30,6 +30,8 @@ import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
|
||||
@@ -287,15 +289,20 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
|
||||
CodegenModel cm = (CodegenModel) mo.get("model");
|
||||
|
||||
// escape the variable base name for use as a string literal
|
||||
if (cm.requiredVars != null) {
|
||||
for (CodegenProperty var : cm.requiredVars) {
|
||||
var.vendorExtensions.put(VENDOR_EXTENSION_BASE_NAME_LITERAL, var.baseName.replace("$", "\\$"));
|
||||
}
|
||||
}
|
||||
if (cm.optionalVars != null) {
|
||||
for (CodegenProperty var : cm.optionalVars) {
|
||||
var.vendorExtensions.put(VENDOR_EXTENSION_BASE_NAME_LITERAL, var.baseName.replace("$", "\\$"));
|
||||
}
|
||||
List<CodegenProperty> vars = Stream.of(
|
||||
cm.vars,
|
||||
cm.allVars,
|
||||
cm.optionalVars,
|
||||
cm.requiredVars,
|
||||
cm.readOnlyVars,
|
||||
cm.readWriteVars,
|
||||
cm.parentVars
|
||||
)
|
||||
.flatMap(List::stream)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (CodegenProperty var : vars) {
|
||||
var.vendorExtensions.put(VENDOR_EXTENSION_BASE_NAME_LITERAL, var.baseName.replace("$", "\\$"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user