6
6
import 'rxjs' ;
7
7
import { Http , HttpModule } from '@angular/http' ;
8
8
9
- import { stripTrailingSlash } from './utils' ;
10
9
import { WpApiApp , WpApiConfig } from './tokens' ;
11
10
12
11
import { WpApiPosts } from './Posts' ;
@@ -20,16 +19,16 @@ import { WpApiStatuses } from './Statuses';
20
19
import { WpApiTerms } from './Terms' ;
21
20
import { WpApiCustom } from './Custom' ;
22
21
23
- export * from './Posts' ;
24
- export * from './Pages' ;
25
- export * from './Comments' ;
26
- export * from './Types' ;
27
- export * from './Media' ;
28
- export * from './Users' ;
29
- export * from './Taxonomies' ;
30
- export * from './Statuses' ;
31
- export * from './Terms' ;
32
- export * from './Custom' ;
22
+ export { WpApiPosts } from './Posts' ;
23
+ export { WpApiPages } from './Pages' ;
24
+ export { WpApiComments } from './Comments' ;
25
+ export { WpApiTypes } from './Types' ;
26
+ export { WpApiMedia } from './Media' ;
27
+ export { WpApiUsers } from './Users' ;
28
+ export { WpApiTaxonomies } from './Taxonomies' ;
29
+ export { WpApiStatuses } from './Statuses' ;
30
+ export { WpApiTerms } from './Terms' ;
31
+ export { WpApiCustom } from './Custom' ;
33
32
34
33
export interface WpApiAppConfig {
35
34
baseUrl : string ;
@@ -42,37 +41,27 @@ export interface WpApiAppConfig {
42
41
] ,
43
42
exports : [
44
43
HttpModule
44
+ ] ,
45
+ providers : [
46
+ WpApiPosts ,
47
+ WpApiPages ,
48
+ WpApiComments ,
49
+ WpApiTypes ,
50
+ WpApiMedia ,
51
+ WpApiUsers ,
52
+ WpApiTaxonomies ,
53
+ WpApiStatuses ,
54
+ WpApiTerms ,
55
+ WpApiCustom
45
56
]
46
57
} )
47
58
export class WpApiModule {
48
59
static initializeApp ( config : WpApiAppConfig ) : ModuleWithProviders {
49
- config . baseUrl = stripTrailingSlash ( config . baseUrl ) ;
50
- config . namespace = config . namespace || '/wp/v2' ;
51
-
52
60
return {
53
61
ngModule : WpApiModule ,
54
62
providers : [
55
- { provide : WpApiConfig , useValue : config } ,
56
- createProvider ( WpApiPosts ) ,
57
- createProvider ( WpApiPages ) ,
58
- createProvider ( WpApiComments ) ,
59
- createProvider ( WpApiTypes ) ,
60
- createProvider ( WpApiMedia ) ,
61
- createProvider ( WpApiUsers ) ,
62
- createProvider ( WpApiTaxonomies ) ,
63
- createProvider ( WpApiStatuses ) ,
64
- createProvider ( WpApiTerms ) ,
65
- createProvider ( WpApiCustom )
63
+ { provide : WpApiConfig , useValue : config }
66
64
]
67
65
} ;
68
66
}
69
67
}
70
-
71
- function createProvider ( service ) {
72
- return {
73
- provide : service ,
74
- useFactory : ( config : WpApiAppConfig , http : Http ) => new service ( config , http ) ,
75
- deps : [ WpApiConfig , Http ]
76
- }
77
- }
78
-
0 commit comments