@@ -14,16 +14,23 @@ import {
14
14
@NgModule ( { } )
15
15
export class EffectsModule {
16
16
static forFeature (
17
- featureEffects : Type < unknown > [ ] = [ ]
17
+ featureEffects : Type < unknown > [ ]
18
+ ) : ModuleWithProviders < EffectsFeatureModule > ;
19
+ static forFeature (
20
+ ...featureEffects : Type < unknown > [ ]
21
+ ) : ModuleWithProviders < EffectsFeatureModule > ;
22
+ static forFeature (
23
+ ...featureEffects : Type < unknown > [ ] | Type < unknown > [ ] [ ]
18
24
) : ModuleWithProviders < EffectsFeatureModule > {
25
+ const effects = featureEffects . flat ( ) ;
19
26
return {
20
27
ngModule : EffectsFeatureModule ,
21
28
providers : [
22
- featureEffects ,
29
+ effects ,
23
30
{
24
31
provide : _FEATURE_EFFECTS ,
25
32
multi : true ,
26
- useValue : featureEffects ,
33
+ useValue : effects ,
27
34
} ,
28
35
{
29
36
provide : USER_PROVIDED_EFFECTS ,
@@ -41,15 +48,22 @@ export class EffectsModule {
41
48
}
42
49
43
50
static forRoot (
44
- rootEffects : Type < unknown > [ ] = [ ]
51
+ rootEffects : Type < unknown > [ ]
52
+ ) : ModuleWithProviders < EffectsRootModule > ;
53
+ static forRoot (
54
+ ...rootEffects : Type < unknown > [ ]
55
+ ) : ModuleWithProviders < EffectsRootModule > ;
56
+ static forRoot (
57
+ ...rootEffects : Type < unknown > [ ] | Type < unknown > [ ] [ ]
45
58
) : ModuleWithProviders < EffectsRootModule > {
59
+ const effects = rootEffects . flat ( ) ;
46
60
return {
47
61
ngModule : EffectsRootModule ,
48
62
providers : [
49
- rootEffects ,
63
+ effects ,
50
64
{
51
65
provide : _ROOT_EFFECTS ,
52
- useValue : [ rootEffects ] ,
66
+ useValue : [ effects ] ,
53
67
} ,
54
68
{
55
69
provide : _ROOT_EFFECTS_GUARD ,
0 commit comments