@@ -21,6 +21,7 @@ module.exports = function (pattern, globOptions){
21
21
22
22
return new Promise ( function ( resolve , reject ) {
23
23
24
+ // Sanity Checks
24
25
if (
25
26
! _ . isString ( pattern ) ||
26
27
_ . isEmpty ( pattern ) ||
@@ -29,50 +30,44 @@ module.exports = function (pattern, globOptions){
29
30
reject ( new Error ( 'Invalid parameter type' ) ) ;
30
31
}
31
32
32
- globAsync ( pattern , globOptions )
33
+ // Generate files reports promises array
34
+ var filesReports = globAsync ( pattern , globOptions )
35
+ . map ( function ( file ) {
36
+ return reportAsync ( file ) ;
37
+ } ) ;
38
+
39
+ // when files reports promises are fulfilled,
40
+ // generate a global report
41
+ filesReports . then ( function ( results ) {
42
+
43
+ return Promise . props ( {
44
+
45
+ report : Promise
46
+ . filter ( results , function ( result ) {
47
+ return result . success ;
48
+ } )
49
+ . map ( function ( result ) {
50
+ return result . result ;
51
+ } )
52
+ . then ( function ( results ) {
53
+ return _ . chain ( results ) . sortBy ( 'complexity' ) . reverse ( ) . value ( ) ;
54
+ } ) ,
55
+
56
+ fails : Promise
57
+ . filter ( results , function ( result ) {
58
+ return ! result . success ;
59
+ } )
60
+ . map ( function ( result ) {
61
+ return result . error ;
62
+ } )
33
63
34
- . then ( function ( files ) {
35
-
36
- var filesReports = [ ] ;
37
-
38
- _ . each ( files , function ( file ) {
39
- filesReports . push ( reportAsync ( file ) ) ;
40
64
} ) ;
41
65
42
- Promise . all ( filesReports )
43
-
44
- . then ( function ( results ) {
45
-
46
- return Promise . props ( {
47
-
48
- report : Promise
49
- . filter ( results , function ( result ) {
50
- return result . success ;
51
- } )
52
- . map ( function ( result ) {
53
- return result . result ;
54
- } )
55
- . then ( function ( results ) {
56
- return _ . chain ( results ) . sortBy ( 'complexity' ) . reverse ( ) . value ( ) ;
57
- } ) ,
58
-
59
- fails : Promise
60
- . filter ( results , function ( result ) {
61
- return ! result . success ;
62
- } )
63
- . map ( function ( result ) {
64
- return result . error ;
65
- } )
66
-
67
- } ) ;
68
-
69
- } )
70
-
71
- . then ( resolve ) ;
72
-
73
66
} )
67
+ . then ( resolve )
68
+ . caught ( reject )
74
69
75
- . caught ( reject ) ;
70
+ ;
76
71
77
72
} ) ;
78
73
0 commit comments