import { ModuleWithProviders, NgModule } from '@angular/core'; import { HTTP_INTERCEPTORS, HttpClientModule as HttpModule } from '@angular/common/http'; import { ToastModule } from '../../elements'; import { HttpClientRequestService } from './services'; @NgModule({ imports: [ HttpModule, ToastModule, ], providers: [ { provide: HTTP_INTERCEPTORS, useClass: HttpClientRequestService, multi: true, } ], exports: [ HttpModule, ] }) export class HttpClientModule { public static forConfig(environment, OAuthModel): ModuleWithProviders { return { ngModule: HttpClientModule, providers: [ { provide: 'Environment', useValue: environment, }, { provide: 'OAuthModel', useClass: OAuthModel, }, ], }; } }