Skip to content

Commit

Permalink
chore: better handling
Browse files Browse the repository at this point in the history
  • Loading branch information
Fluf22 committed Jun 12, 2024
1 parent 3fd5ae6 commit 341fc70
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package com.algolia.codegen;

import com.algolia.codegen.exceptions.*;
import com.algolia.codegen.lambda.ScreamingSnakeCaseLambda;
import com.algolia.codegen.utils.*;
import com.algolia.codegen.utils.OneOf;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.samskivert.mustache.Mustache;
import io.swagger.v3.oas.models.OpenAPI;
Expand Down Expand Up @@ -30,10 +32,6 @@ public void processOpts() {
additionalProperties.put("packageName", client.equals("query-suggestions") ? "suggestions" : client);
additionalProperties.put("enumClassPrefix", true);
additionalProperties.put("isSearchClient", client.equals("search"));
additionalProperties.put(
"lambda.toUpperSnakeCase",
(Mustache.Lambda) (fragment, writer) -> writer.write(Helpers.toSnakeCase(fragment.execute()).toUpperCase(Locale.ROOT))
);

String outputFolder = "algolia" + File.separator + client;
setOutputDir(getOutputDir() + File.separator + outputFolder);
Expand All @@ -60,6 +58,11 @@ public void processOpts() {
}
}

@Override
protected ImmutableMap.Builder<String, Mustache.Lambda> addMustacheLambdas() {
return super.addMustacheLambdas().put("screamingSnakeCase", new ScreamingSnakeCaseLambda());
}

@Override
public void processOpenAPI(OpenAPI openAPI) {
super.processOpenAPI(openAPI);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.algolia.codegen.lambda;

import com.algolia.codegen.utils.Helpers;
import com.samskivert.mustache.Mustache;
import com.samskivert.mustache.Template;
import java.io.IOException;
import java.io.Writer;
import java.util.Locale;

public class ScreamingSnakeCaseLambda implements Mustache.Lambda {

@Override
public void execute(Template.Fragment fragment, Writer writer) throws IOException {
writer.write(Helpers.toSnakeCase(fragment.execute()).toUpperCase(Locale.ROOT));
}
}
4 changes: 2 additions & 2 deletions templates/go/model_enum.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const (
{{#enumVars}}
{{^-first}}
{{/-first}}
{{#enumClassPrefix}}{{#lambda.toUpperSnakeCase}}{{{classname}}}{{/lambda.toUpperSnakeCase}}_{{/enumClassPrefix}}{{name}} {{{classname}}} = {{{value}}}
{{#enumClassPrefix}}{{#lambda.screamingSnakeCase}}{{{classname}}}{{/lambda.screamingSnakeCase}}_{{/enumClassPrefix}}{{name}} {{{classname}}} = {{{value}}}
{{/enumVars}}
{{/allowableValues}}
)
Expand Down Expand Up @@ -98,4 +98,4 @@ func (v Nullable{{{classname}}}) MarshalJSON() ([]byte, error) {
func (v *Nullable{{{classname}}}) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value) //nolint:wrapcheck
}
}

0 comments on commit 341fc70

Please sign in to comment.