Skip to content

Commit 341fc70

Browse files
committed
chore: better handling
1 parent 3fd5ae6 commit 341fc70

File tree

3 files changed

+25
-6
lines changed

3 files changed

+25
-6
lines changed

generators/src/main/java/com/algolia/codegen/AlgoliaGoGenerator.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.algolia.codegen;
22

33
import com.algolia.codegen.exceptions.*;
4+
import com.algolia.codegen.lambda.ScreamingSnakeCaseLambda;
45
import com.algolia.codegen.utils.*;
56
import com.algolia.codegen.utils.OneOf;
7+
import com.google.common.collect.ImmutableMap;
68
import com.google.common.collect.Iterables;
79
import com.samskivert.mustache.Mustache;
810
import io.swagger.v3.oas.models.OpenAPI;
@@ -30,10 +32,6 @@ public void processOpts() {
3032
additionalProperties.put("packageName", client.equals("query-suggestions") ? "suggestions" : client);
3133
additionalProperties.put("enumClassPrefix", true);
3234
additionalProperties.put("isSearchClient", client.equals("search"));
33-
additionalProperties.put(
34-
"lambda.toUpperSnakeCase",
35-
(Mustache.Lambda) (fragment, writer) -> writer.write(Helpers.toSnakeCase(fragment.execute()).toUpperCase(Locale.ROOT))
36-
);
3735

3836
String outputFolder = "algolia" + File.separator + client;
3937
setOutputDir(getOutputDir() + File.separator + outputFolder);
@@ -60,6 +58,11 @@ public void processOpts() {
6058
}
6159
}
6260

61+
@Override
62+
protected ImmutableMap.Builder<String, Mustache.Lambda> addMustacheLambdas() {
63+
return super.addMustacheLambdas().put("screamingSnakeCase", new ScreamingSnakeCaseLambda());
64+
}
65+
6366
@Override
6467
public void processOpenAPI(OpenAPI openAPI) {
6568
super.processOpenAPI(openAPI);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.algolia.codegen.lambda;
2+
3+
import com.algolia.codegen.utils.Helpers;
4+
import com.samskivert.mustache.Mustache;
5+
import com.samskivert.mustache.Template;
6+
import java.io.IOException;
7+
import java.io.Writer;
8+
import java.util.Locale;
9+
10+
public class ScreamingSnakeCaseLambda implements Mustache.Lambda {
11+
12+
@Override
13+
public void execute(Template.Fragment fragment, Writer writer) throws IOException {
14+
writer.write(Helpers.toSnakeCase(fragment.execute()).toUpperCase(Locale.ROOT));
15+
}
16+
}

templates/go/model_enum.mustache

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const (
77
{{#enumVars}}
88
{{^-first}}
99
{{/-first}}
10-
{{#enumClassPrefix}}{{#lambda.toUpperSnakeCase}}{{{classname}}}{{/lambda.toUpperSnakeCase}}_{{/enumClassPrefix}}{{name}} {{{classname}}} = {{{value}}}
10+
{{#enumClassPrefix}}{{#lambda.screamingSnakeCase}}{{{classname}}}{{/lambda.screamingSnakeCase}}_{{/enumClassPrefix}}{{name}} {{{classname}}} = {{{value}}}
1111
{{/enumVars}}
1212
{{/allowableValues}}
1313
)
@@ -98,4 +98,4 @@ func (v Nullable{{{classname}}}) MarshalJSON() ([]byte, error) {
9898
func (v *Nullable{{{classname}}}) UnmarshalJSON(src []byte) error {
9999
v.isSet = true
100100
return json.Unmarshal(src, &v.value) //nolint:wrapcheck
101-
}
101+
}

0 commit comments

Comments
 (0)