From 442d79e9ceb09806cba057bcbca654bb28f7c2db Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 28 Jul 2022 13:46:08 +0300 Subject: [PATCH] add module import checks --- src/lib/loading/loading.module.ts | 8 +++++++- src/lib/translations/iqser-translate.module.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/lib/loading/loading.module.ts b/src/lib/loading/loading.module.ts index e55c2e8..9b19ea4 100644 --- a/src/lib/loading/loading.module.ts +++ b/src/lib/loading/loading.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule } from '@angular/core'; +import { ModuleWithProviders, NgModule, Optional } from '@angular/core'; import { FullPageLoadingIndicatorComponent } from './full-page-loading-indicator/full-page-loading-indicator.component'; import { ProgressLoadingComponent } from './progress-loading/progress-loading.component'; import { LoadingService } from './loading.service'; @@ -17,6 +17,12 @@ const components = [FullPageLoadingIndicatorComponent, ProgressLoadingComponent, imports: [MatProgressSpinnerModule, CommonModule, MatProgressBarModule, MatIconModule, TranslateModule], }) export class IqserLoadingModule { + constructor(@Optional() loadingService: LoadingService) { + if (!loadingService) { + throw new Error('Call forRoot() in AppModule to use IqserLoadingModule'); + } + } + static forRoot(): ModuleWithProviders { return { ngModule: IqserLoadingModule, diff --git a/src/lib/translations/iqser-translate.module.ts b/src/lib/translations/iqser-translate.module.ts index c611046..8d9c847 100644 --- a/src/lib/translations/iqser-translate.module.ts +++ b/src/lib/translations/iqser-translate.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule } from '@angular/core'; +import { Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core'; import { TranslateCompiler, TranslateLoader, TranslateModule } from '@ngx-translate/core'; import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler'; import { pruningTranslationLoaderFactory } from './http-loader-factory'; @@ -22,6 +22,12 @@ const translateLoaderToken = 'translateLoader'; exports: [TranslateModule], }) export class IqserTranslateModule { + constructor(@Optional() @Inject(translateLoaderToken) translateLoader: TranslateLoader) { + if (!translateLoader) { + throw new Error('Call forRoot() in AppModule to use IqserTranslateModule'); + } + } + static forRoot(options?: IqserTranslateModuleOptions): ModuleWithProviders { return { ngModule: IqserTranslateModule,