@@ -30,6 +30,7 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode
30
30
public static final String WITH_INTERFACES = "withInterfaces" ;
31
31
public static final String TAGGED_UNIONS ="taggedUnions" ;
32
32
public static final String NG_VERSION = "ngVersion" ;
33
+ public static final String PROVIDED_IN_ROOT ="providedInRoot" ;
33
34
34
35
protected String npmName = null ;
35
36
protected String npmVersion = "1.0.0" ;
@@ -63,6 +64,9 @@ public TypeScriptAngularClientCodegen() {
63
64
this .cliOptions .add (new CliOption (TAGGED_UNIONS ,
64
65
"Use discriminators to create tagged unions instead of extending interfaces." ,
65
66
BooleanProperty .TYPE ).defaultValue (Boolean .FALSE .toString ()));
67
+ this .cliOptions .add (new CliOption (PROVIDED_IN_ROOT ,
68
+ "Use this property to provide Injectables in root (it is only valid in angular version greater or equal to 6.0.0)." ,
69
+ BooleanProperty .TYPE ).defaultValue (Boolean .FALSE .toString ()));
66
70
this .cliOptions .add (new CliOption (NG_VERSION , "The version of Angular. Default is '4.3'" ));
67
71
}
68
72
@@ -123,6 +127,10 @@ public void processOpts() {
123
127
taggedUnions = Boolean .parseBoolean (additionalProperties .get (TAGGED_UNIONS ).toString ());
124
128
}
125
129
130
+ if (additionalProperties .containsKey (PROVIDED_IN_ROOT ) && !ngVersion .atLeast ("6.0.0" )) {
131
+ additionalProperties .put (PROVIDED_IN_ROOT ,false );
132
+ }
133
+
126
134
additionalProperties .put (NG_VERSION , ngVersion );
127
135
additionalProperties .put ("injectionToken" , ngVersion .atLeast ("4.0.0" ) ? "InjectionToken" : "OpaqueToken" );
128
136
additionalProperties .put ("injectionTokenTyped" , ngVersion .atLeast ("4.0.0" ));
0 commit comments