diff --git a/modules/openapi-generator/src/main/resources/typescript-angular/api.module.mustache b/modules/openapi-generator/src/main/resources/typescript-angular/api.module.mustache index c2b03b340bb2..cc5a8c9e3eb0 100644 --- a/modules/openapi-generator/src/main/resources/typescript-angular/api.module.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-angular/api.module.mustache @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { {{configurationClassName}} } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -26,12 +26,14 @@ export class {{apiModuleClassName}} { }; } - constructor( @Optional() @SkipSelf() parentModule: {{apiModuleClassName}}, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: {{apiModuleClassName}} | null = inject({{apiModuleClassName}}, { optional: true, skipSelf: true }); + private http: HttpClient | null = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('{{apiModuleClassName}} is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache b/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache index f60df119a660..3581b3df86e6 100644 --- a/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache +++ b/modules/openapi-generator/src/main/resources/typescript-angular/api.service.mustache @@ -1,7 +1,7 @@ {{>licenseInfo}} /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent{{#httpContextInOptions}}, HttpContext {{/httpContextInOptions}} } from '@angular/common/http'; @@ -62,8 +62,13 @@ export class {{classname}} extends BaseService implements {{classname}}Interface export class {{classname}} extends BaseService { {{/withInterfaces}} - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: {{configurationClassName}}) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject({{configurationClassName}}, { optional: true }) ?? undefined + ); } {{#operation}} diff --git a/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api.module.ts b/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api.module.ts +++ b/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api/default.service.ts b/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api/default.service.ts index 0f653f71e65e..0427e2ac5c5c 100644 --- a/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api/default.service.ts +++ b/samples/client/others/typescript-angular-v20/builds/query-param-deep-object/api/default.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class DefaultService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/others/typescript-angular-v20/builds/query-param-form/api.module.ts b/samples/client/others/typescript-angular-v20/builds/query-param-form/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/others/typescript-angular-v20/builds/query-param-form/api.module.ts +++ b/samples/client/others/typescript-angular-v20/builds/query-param-form/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/others/typescript-angular-v20/builds/query-param-form/api/default.service.ts b/samples/client/others/typescript-angular-v20/builds/query-param-form/api/default.service.ts index 7359f92de421..fe540b70da2f 100644 --- a/samples/client/others/typescript-angular-v20/builds/query-param-form/api/default.service.ts +++ b/samples/client/others/typescript-angular-v20/builds/query-param-form/api/default.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class DefaultService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/others/typescript-angular-v20/builds/query-param-json/api.module.ts b/samples/client/others/typescript-angular-v20/builds/query-param-json/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/others/typescript-angular-v20/builds/query-param-json/api.module.ts +++ b/samples/client/others/typescript-angular-v20/builds/query-param-json/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/others/typescript-angular-v20/builds/query-param-json/api/default.service.ts b/samples/client/others/typescript-angular-v20/builds/query-param-json/api/default.service.ts index d7733df8c4b2..2a76aa350919 100644 --- a/samples/client/others/typescript-angular-v20/builds/query-param-json/api/default.service.ts +++ b/samples/client/others/typescript-angular-v20/builds/query-param-json/api/default.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class DefaultService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api.module.ts b/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api.module.ts +++ b/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api/pet.service.ts b/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api/pet.service.ts index 3871ae285460..8333afdde84e 100644 --- a/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api/pet.service.ts +++ b/samples/client/others/typescript-angular/builds/composed-schemas-tagged-unions/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/others/typescript-angular/builds/composed-schemas/api.module.ts b/samples/client/others/typescript-angular/builds/composed-schemas/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/others/typescript-angular/builds/composed-schemas/api.module.ts +++ b/samples/client/others/typescript-angular/builds/composed-schemas/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/others/typescript-angular/builds/composed-schemas/api/pet.service.ts b/samples/client/others/typescript-angular/builds/composed-schemas/api/pet.service.ts index 3871ae285460..8333afdde84e 100644 --- a/samples/client/others/typescript-angular/builds/composed-schemas/api/pet.service.ts +++ b/samples/client/others/typescript-angular/builds/composed-schemas/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v18-provided-in-root/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v19-provided-in-root/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v19-with-angular-dependency-params/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v19/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v19/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v19/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v19/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v19/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v19/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v19/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v19/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v19/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v19/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v19/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v19/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v19/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v19/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v20-provided-in-root/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v20/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v20/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v20/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v20/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v20/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v20/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v20/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v20/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v20/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v20/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v20/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v20/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v20/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v20/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v20/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v20/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v21-provided-in-root/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v21/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v21/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v21/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v21/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v21/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v21/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v21/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v21/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v21/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v21/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v21/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v21/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v21/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v21/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v21/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v21/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v22-provided-in-root/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v22/builds/default/api.module.ts b/samples/client/petstore/typescript-angular-v22/builds/default/api.module.ts index 58d341fbd2e5..95ced704c97d 100644 --- a/samples/client/petstore/typescript-angular-v22/builds/default/api.module.ts +++ b/samples/client/petstore/typescript-angular-v22/builds/default/api.module.ts @@ -1,4 +1,4 @@ -import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core'; +import { NgModule, ModuleWithProviders, inject } from '@angular/core'; import { Configuration } from './configuration'; import { HttpClient } from '@angular/common/http'; @@ -17,12 +17,14 @@ export class ApiModule { }; } - constructor( @Optional() @SkipSelf() parentModule: ApiModule, - @Optional() http: HttpClient) { - if (parentModule) { + private parentModule: ApiModule = inject(ApiModule, { optional: true, skipSelf: true }); + private http: HttpClient = inject(HttpClient, { optional: true }); + + constructor() { + if (this.parentModule) { throw new Error('ApiModule is already loaded. Import in your base AppModule only.'); } - if (!http) { + if (!this.http) { throw new Error('You need to import the HttpClientModule in your AppModule! \n' + 'See also https://github.com/angular/angular/issues/20575'); } diff --git a/samples/client/petstore/typescript-angular-v22/builds/default/api/pet.service.ts b/samples/client/petstore/typescript-angular-v22/builds/default/api/pet.service.ts index 0ce593623908..23f9d40a51ab 100644 --- a/samples/client/petstore/typescript-angular-v22/builds/default/api/pet.service.ts +++ b/samples/client/petstore/typescript-angular-v22/builds/default/api/pet.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -33,8 +33,13 @@ import { BaseService } from '../api.base.service'; }) export class PetService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v22/builds/default/api/store.service.ts b/samples/client/petstore/typescript-angular-v22/builds/default/api/store.service.ts index f871a415dfb7..4a63d0fedced 100644 --- a/samples/client/petstore/typescript-angular-v22/builds/default/api/store.service.ts +++ b/samples/client/petstore/typescript-angular-v22/builds/default/api/store.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class StoreService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /** diff --git a/samples/client/petstore/typescript-angular-v22/builds/default/api/user.service.ts b/samples/client/petstore/typescript-angular-v22/builds/default/api/user.service.ts index a2d4d9a47446..fc6c09ad2ede 100644 --- a/samples/client/petstore/typescript-angular-v22/builds/default/api/user.service.ts +++ b/samples/client/petstore/typescript-angular-v22/builds/default/api/user.service.ts @@ -9,7 +9,7 @@ */ /* tslint:disable:no-unused-variable member-ordering */ -import { Inject, Injectable, Optional } from '@angular/core'; +import { inject, Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams, HttpResponse, HttpEvent, HttpContext } from '@angular/common/http'; @@ -31,8 +31,13 @@ import { BaseService } from '../api.base.service'; }) export class UserService extends BaseService { - constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) { - super(basePath, configuration); + protected httpClient: HttpClient = inject(HttpClient); + + constructor() { + super( + inject(BASE_PATH, { optional: true }) ?? undefined, + inject(Configuration, { optional: true }) ?? undefined + ); } /**