import { NgModule, ModuleWithProviders, } from '@angular/core'; import {RouterModule} from '@angular/router'; import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; import {Boot} from './boot'; //import {JsonPipe} from '../src-save/pipe/json' //import {KeysPipe} from '../src-save/pipe/keys' //import {HtmlPipe} from '../src-save/pipe/html' //import {HttpShareService} from './services/http/http-share' //import {AuthInterceptor} from './services/http/auth-interceptor' import {CookieService} from './services/cookie' import {RouterService} from './services/router' import {SettingsService} from './services/settings' import {LocaleService} from './services/locale' import {MediaQueryService} from './services/media-query' import {CommonModule} from "@angular/common"; //import {IpInfoService} from './modules/ip-info' //import {AuthService,} from './modules/auth' //import {FocusDirective} from '../src-save/directive/autofocus' /*** * NEVER USE A EXPORT * AS, NEED THE EXACT COMPONENT FOR INJECTABLE FUNCTION!!!! */ let booted = false @NgModule({ // export declarations: [ // KeysPipe, // HtmlPipe, // JsonPipe, // SubmittedRequired, // FocusDirective ], exports: [ RouterModule, // KeysPipe, // HtmlPipe, // JsonPipe, // FocusDirective // SubmittedRequired, ], imports: [RouterModule, CommonModule], providers: [ RouterService, CookieService, SettingsService, LocaleService, MediaQueryService, // HttpShareService, // modules // IpInfoService, // AuthService, /* { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true }, */ // order is important Boot, provideHttpClient(withInterceptorsFromDi()), ] }) export class CorifeusModule { constructor(private boot: Boot) { if (booted === true) { return } booted = true this.boot.boot(); } public static forRoot(): ModuleWithProviders { return { ngModule: CorifeusModule, // providers: providers, }; } }