2017-07-20 15:14:38 +03:00
|
|
|
import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
|
2017-04-13 14:24:23 +03:00
|
|
|
import { CommonModule } from '@angular/common';
|
|
|
|
|
|
|
|
|
|
import { throwIfAlreadyLoaded } from './module-import-guard';
|
2017-07-20 15:14:38 +03:00
|
|
|
import { DataModule } from './data/data.module';
|
|
|
|
|
|
2017-08-01 17:42:21 +03:00
|
|
|
const NB_CORE_PROVIDERS = [
|
2017-07-20 15:14:38 +03:00
|
|
|
...DataModule.forRoot().providers,
|
|
|
|
|
];
|
2017-04-13 14:24:23 +03:00
|
|
|
|
|
|
|
|
@NgModule({
|
|
|
|
|
imports: [
|
2017-05-06 15:35:15 +03:00
|
|
|
CommonModule,
|
2017-04-13 14:24:23 +03:00
|
|
|
],
|
2017-05-06 15:35:15 +03:00
|
|
|
declarations: [],
|
2017-04-13 14:24:23 +03:00
|
|
|
})
|
|
|
|
|
export class CoreModule {
|
|
|
|
|
constructor(@Optional() @SkipSelf() parentModule: CoreModule) {
|
|
|
|
|
throwIfAlreadyLoaded(parentModule, 'CoreModule');
|
|
|
|
|
}
|
2017-07-20 15:14:38 +03:00
|
|
|
|
|
|
|
|
static forRoot(): ModuleWithProviders {
|
|
|
|
|
return <ModuleWithProviders>{
|
|
|
|
|
ngModule: CoreModule,
|
|
|
|
|
providers: [
|
2017-08-01 17:42:21 +03:00
|
|
|
...NB_CORE_PROVIDERS,
|
2017-07-20 15:14:38 +03:00
|
|
|
],
|
|
|
|
|
};
|
|
|
|
|
}
|
2017-04-13 14:24:23 +03:00
|
|
|
}
|