UNPKG

first-npm-package-nicule

Version:

This isi first npm package

63 lines (55 loc) 2.11 kB
import { FactoryProvider, ModuleWithProviders, NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { TranslateModule } from '@ngx-translate/core'; import { StoreModule } from '@ngrx/store'; import { EffectsModule } from '@ngrx/effects'; import { HypermediaQueryBindingModule } from 'first-npm-package-nicule/models'; import { LinkDirective } from './directives'; import { ActionExecutor, HeaderProvider, HrefFormatterProvider, HypermediaStore, LabelingService, ProgressTracker, ResourceFetcher } from './services'; import { hypermediaReducers } from './reducers'; import { HypermediaEffects } from './effects'; import { RouterModule } from '@angular/router'; import { ProgressInterceptor } from './services/progress-interceptor'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; const COMPONENTS = [ LinkDirective ]; @NgModule({ imports: [ CommonModule, TranslateModule, RouterModule, FormsModule, HypermediaQueryBindingModule.forRoot(), StoreModule.forFeature('hypermedia', hypermediaReducers), EffectsModule.forFeature([HypermediaEffects]), //ProgressHttpModule ], declarations: COMPONENTS, exports: COMPONENTS }) export class HypermediaModule { static forChild(): ModuleWithProviders { return { ngModule: HypermediaModule }; } static forRoot(applicationScopesFactory: FactoryProvider): ModuleWithProviders { return { ngModule: HypermediaModule, providers: [ HypermediaEffects, HypermediaStore, applicationScopesFactory, HrefFormatterProvider, LabelingService, ResourceFetcher, ProgressTracker, HeaderProvider, ActionExecutor, { provide: HTTP_INTERCEPTORS, useClass: ProgressInterceptor, multi: true }, ] }; } }