2
2
* Created by voland on 4/2/16.
3
3
*/
4
4
5
+ const module = function ( moduleOrName ) {
6
+ return typeof moduleOrName === "string"
7
+ ? angular . module ( moduleOrName )
8
+ : moduleOrName ;
9
+ } ;
10
+
5
11
export function Component ( options : {
6
12
selector : string ,
7
13
controllerAs ?: string ,
@@ -10,22 +16,19 @@ export function Component(options: {
10
16
bindings ? : any
11
17
} , moduleOrName : string | ng . IModule = 'app.components' ) {
12
18
return ( controller : Function ) => {
13
- var selector = options . selector ;
14
- var module = typeof moduleOrName === "string"
15
- ? angular . module ( moduleOrName )
16
- : moduleOrName ;
19
+ let selector = options . selector ;
17
20
delete options . selector ;
18
- module . component ( selector , angular . extend ( options , { controller : controller } ) ) ;
21
+ module ( moduleOrName ) . component ( selector , angular . extend ( options , { controller : controller } ) ) ;
19
22
}
20
23
}
21
24
22
25
export function Service ( moduleOrName : string | ng . IModule = 'app.services' ) {
23
26
return ( service : any ) => {
24
- var name = service . name ;
25
- var module = typeof moduleOrName === "string"
26
- ? angular . module ( moduleOrName )
27
- : moduleOrName ;
28
- module . service ( name , service ) ;
27
+ let name = service . name ;
28
+ if ( ! name ) {
29
+ console . error ( 'Service decorator can be used with named class only' ) ;
30
+ }
31
+ module ( moduleOrName ) . service ( name , service ) ;
29
32
}
30
33
}
31
34
@@ -36,9 +39,6 @@ export interface PipeTransform {
36
39
export function Pipe ( options : { name : string } , moduleOrName : string | ng . IModule = 'app.pipes' ) {
37
40
return ( Pipe : any ) => {
38
41
var instance = new Pipe ( ) ;
39
- var module = typeof moduleOrName === "string"
40
- ? angular . module ( moduleOrName )
41
- : moduleOrName ;
42
- module . filter ( options . name , ( ) => instance . transform ) ;
42
+ module ( moduleOrName ) . filter ( options . name , ( ) => instance . transform ) ;
43
43
}
44
44
}
0 commit comments