[Crystal] Skip primitive types from ModelImportMap (#14436)

* Support requiring models in crystal lang

* Return null instead of empty string
This commit is contained in:
Chao Yang
2023-01-12 05:42:33 -06:00
committed by GitHub
parent e8811ecd28
commit e1e291bc12

View File

@@ -63,6 +63,7 @@ public class CrystalClientCodegen extends DefaultCodegen {
protected String shardAuthorEmail = "";
protected String apiDocPath = "docs/";
protected String modelDocPath = "docs/";
protected List<String> primitiveTypes = new ArrayList<String>();
public static final String SHARD_NAME = "shardName";
public static final String MODULE_NAME = "moduleName";
@@ -184,6 +185,7 @@ public class CrystalClientCodegen extends DefaultCodegen {
instantiationTypes.put("map", "Hash");
instantiationTypes.put("array", "Array");
instantiationTypes.put("set", "Set");
primitiveTypes = new ArrayList<String>(typeMapping.values());
// remove modelPackage and apiPackage added by default
cliOptions.removeIf(opt -> CodegenConstants.MODEL_PACKAGE.equals(opt.getOpt()) ||
@@ -355,6 +357,15 @@ public class CrystalClientCodegen extends DefaultCodegen {
return toModelName(type);
}
@Override
public String toModelImport(String name) {
if (primitiveTypes.contains(name)) {
return null;
} else {
return toModelFilename(name);
}
}
@Override
public String toModelName(final String name) {
String modelName;