-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathidb.module.ts
50 lines (46 loc) · 1.03 KB
/
idb.module.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import { Inject, ModuleWithProviders, NgModule, Optional } from '@angular/core';
import { CommonModule } from '@angular/common';
// Service.
import { IDBService } from './idb.service';
// Config.
import { IDBConfig } from './idb.config';
/**
* Angular Module with indexeddb service.
*/
@NgModule({
declarations: [],
imports: [
CommonModule
]
})
export class IDBModule {
/**
*
* @param config
* @returns
* @memberof IDBModule
*/
static forRoot(@Optional() @Inject(IDBConfig) config?: IDBConfig): ModuleWithProviders<IDBModule> {
return {
ngModule: IDBModule,
providers: [
IDBService,
{provide: IDBConfig, useValue: config, multi: false}
]
}
}
/**
* @static
* @returns
* @memberof IDBModule
*/
static forChild(@Optional() @Inject(IDBConfig) config: IDBConfig): ModuleWithProviders<IDBModule> {
return {
ngModule: IDBModule,
providers: [
IDBService,
{provide: IDBConfig, useValue: config, multi: false}
]
};
}
}