@@ -11,17 +11,17 @@ const getName = (path) => {
11
11
}
12
12
13
13
const makeSync = ( options ) => {
14
- if ( fs . existsSync ( options . filepath ) === false ) return new Error ( 'File "' + options . filepath + '" does not exist' )
14
+ if ( options . force || fs . existsSync ( options . filepath ) === false ) return new Error ( 'File "' + options . filepath + '" does not exist' )
15
15
const rawName = getName ( options . filepath ) . split ( '.' ) [ 0 ]
16
16
if ( isString ( options . lnkName ) === false ) options . lnkName = rawName
17
17
if ( isString ( options . lnkArgs ) === false ) options . lnkArgs = ''
18
18
if ( isString ( options . lnkDes ) === false ) options . lnkDes = rawName
19
19
if ( isString ( options . lnkCwd ) === false ) options . lnkCwd = ''
20
- if ( isString ( options . lnkIco ) === false ) options . lnkIco = filepath
20
+ if ( isString ( options . lnkIco ) === false ) options . lnkIco = options . filepath
21
21
if ( isString ( options . lnkWin ) === false ) options . lnkWin = 4
22
22
if ( isString ( options . lnkHtk ) === false ) options . lnkHtk = ''
23
23
child_process . spawnSync (
24
- 'wscript' ,
24
+ 'wscript' ,
25
25
[ __dirname + '\\scripts\\lnk.vbs' ,
26
26
options . filepath ,
27
27
options . lnkName ,
@@ -35,6 +35,42 @@ const makeSync = (options) => {
35
35
)
36
36
}
37
37
38
+ const make = ( options ) => {
39
+ return new Promise ( ( resolve , reject ) => {
40
+ return fs . exists ( options . filepath , exists => {
41
+ return exists || options . force ? resolve ( ) : reject ( new Error ( 'File "' + options . filepath + '" does not exist' ) ) ;
42
+ } ) ;
43
+ } ) . then ( ( ) => {
44
+ const rawName = getName ( options . filepath ) . split ( '.' ) [ 0 ]
45
+ if ( isString ( options . lnkName ) === false ) options . lnkName = rawName
46
+ if ( isString ( options . lnkArgs ) === false ) options . lnkArgs = ''
47
+ if ( isString ( options . lnkDes ) === false ) options . lnkDes = rawName
48
+ if ( isString ( options . lnkCwd ) === false ) options . lnkCwd = ''
49
+ if ( isString ( options . lnkIco ) === false ) options . lnkIco = options . filepath
50
+ if ( isString ( options . lnkWin ) === false ) options . lnkWin = 4
51
+ if ( isString ( options . lnkHtk ) === false ) options . lnkHtk = ''
52
+
53
+ return new Promise ( ( resolve , reject ) => {
54
+ child_process . spawn (
55
+ 'wscript' ,
56
+ [ __dirname + '\\scripts\\lnk.vbs' ,
57
+ options . filepath ,
58
+ options . lnkName ,
59
+ options . lnkArgs ,
60
+ options . lnkDes ,
61
+ options . lnkCwd ,
62
+ options . lnkIco ,
63
+ options . lnkWin ,
64
+ options . lnkHtk
65
+ ] ,
66
+ )
67
+ . on ( 'error' , error => reject ( error ) )
68
+ . on ( 'exit' , ( ) => resolve ( ) )
69
+ } ) ;
70
+ } ) ;
71
+ }
72
+
38
73
module . exports = {
74
+ make : make ,
39
75
makeSync : makeSync
40
- }
76
+ }
0 commit comments