File tree 1 file changed +9
-11
lines changed
1 file changed +9
-11
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,13 @@ var commands = require('./commands');
12
12
*/
13
13
exports . list = Object . keys ( commands ) ;
14
14
15
+ var flags = { } ;
16
+ exports . list . forEach ( function ( commandName ) {
17
+ flags [ commandName ] = commands [ commandName ] . flags . reduce ( function ( flags , flag ) {
18
+ flags [ flag ] = true ;
19
+ return flags ;
20
+ } , { } ) ;
21
+ } ) ;
15
22
/**
16
23
* Check if the command exists
17
24
*
@@ -33,20 +40,11 @@ exports.exists = function (commandName) {
33
40
* @public
34
41
*/
35
42
exports . hasFlag = function ( commandName , flag ) {
36
- var command = commands [ commandName ] ;
37
- if ( ! command ) {
43
+ if ( ! flags [ commandName ] ) {
38
44
throw new Error ( 'Unknown command ' + commandName ) ;
39
45
}
40
46
41
- var flags = command . flags ;
42
-
43
- for ( var i = 0 ; i < flags . length ; i ++ ) {
44
- if ( flags [ i ] === flag ) {
45
- return true ;
46
- }
47
- }
48
-
49
- return false ;
47
+ return Boolean ( flags [ commandName ] [ flag ] ) ;
50
48
} ;
51
49
52
50
/**
You can’t perform that action at this time.
0 commit comments