Skip to content

Commit e341959

Browse files
authored
Merge pull request #1208 from swagger-api/encoder-override-tweak
create option for override keyword
2 parents a0df9fa + eb047ba commit e341959

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/main/java/io/swagger/codegen/v3/generators/typescript/TypeScriptAngularClientCodegen.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode
4646
public static final String NG_PACKAGR = "useNgPackagr";
4747
public static final String PROVIDED_IN_ROOT ="providedInRoot";
4848
public static final String KEBAB_FILE_NAME ="kebab-file-name";
49+
public static final String USE_OVERRIDE ="useOverride";
4950

5051
protected String npmName = null;
5152
protected String npmVersion = "1.0.0";
@@ -63,6 +64,7 @@ public TypeScriptAngularClientCodegen() {
6364
this.cliOptions.add(new CliOption(WITH_INTERFACES, "Setting this property to true will generate interfaces next to the default class implementations.", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString()));
6465
this.cliOptions.add(new CliOption(NG_VERSION, "The version of Angular. Default is '4.3'"));
6566
this.cliOptions.add(new CliOption(PROVIDED_IN_ROOT, "Use this property to provide Injectables in root (it is only valid in angular version greater or equal to 6.0.0).", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString()));
67+
this.cliOptions.add(new CliOption(USE_OVERRIDE, "Use this property to place `override` keyword in encoder methods.", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString()));
6668
}
6769

6870
@Override
@@ -187,6 +189,11 @@ public void processOpts() {
187189
}
188190
}
189191

192+
if (additionalProperties.containsKey(USE_OVERRIDE)) {
193+
final boolean useOverride = Boolean.parseBoolean(String.valueOf(additionalProperties.get(USE_OVERRIDE)));
194+
additionalProperties.put(USE_OVERRIDE, useOverride);
195+
}
196+
190197
kebabFileNaming = Boolean.parseBoolean(String.valueOf(additionalProperties.get(KEBAB_FILE_NAME)));
191198

192199
}

src/main/resources/handlebars/typescript-angular/encoder.mustache

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318
1313
*/
1414
export class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {
15-
override encodeKey(k: string): string {
15+
{{#useOverride}}override {{/useOverride}}encodeKey(k: string): string {
1616
k = super.encodeKey(k);
1717
return k.replace(/\+/gi, '%2B');
1818
}
19-
override encodeValue(v: string): string {
19+
{{#useOverride}}override {{/useOverride}}encodeValue(v: string): string {
2020
v = super.encodeValue(v);
2121
return v.replace(/\+/gi, '%2B');
2222
}
@@ -29,11 +29,11 @@ export class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {
2929
* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318
3030
*/
3131
export class CustomQueryEncoderHelper extends QueryEncoder {
32-
override encodeKey(k: string): string {
32+
{{#useOverride}}override {{/useOverride}}encodeKey(k: string): string {
3333
k = super.encodeKey(k);
3434
return k.replace(/\+/gi, '%2B');
3535
}
36-
override encodeValue(v: string): string {
36+
{{#useOverride}}override {{/useOverride}}encodeValue(v: string): string {
3737
v = super.encodeValue(v);
3838
return v.replace(/\+/gi, '%2B');
3939
}

0 commit comments

Comments
 (0)