@@ -10,7 +10,7 @@ import Effect.Console (log)
10
10
import Effect.Exception (Error , error , throwException , catchException )
11
11
import Node.Buffer as Buffer
12
12
import Node.Encoding (Encoding (..))
13
- import Node.FS (FileFlags (..))
13
+ import Node.FS (FileFlags (..), SymlinkType (..) )
14
14
import Node.FS.Async as A
15
15
import Node.FS.Stats (statusChangedTime , accessedTime , modifiedTime , isSymbolicLink , isSocket , isFIFO , isCharacterDevice , isBlockDevice , isDirectory , isFile )
16
16
import Node.FS.Sync as S
@@ -74,6 +74,15 @@ main = do
74
74
log " statusChangedTime:"
75
75
log $ show $ statusChangedTime stats
76
76
77
+ S .symlink (fp [" tmp" , " Test1.js" ]) (fp [" tmp" , " TestSymlink.js" ]) FileLink
78
+
79
+ lstats <- S .lstat (fp [" tmp" , " TestSymlink.js" ])
80
+ log " \n\n S.lstat:"
81
+ log " isSymbolicLink:"
82
+ log $ show $ isSymbolicLink lstats
83
+
84
+ S .unlink (fp [" tmp" , " TestSymlink.js" ])
85
+
77
86
A .rename (fp [" tmp" , " Test1.js" ]) (fp [" tmp" , " Test.js" ]) $ \x -> do
78
87
log " \n\n rename result:"
79
88
either (log <<< show) (log <<< show) x
@@ -92,7 +101,7 @@ main = do
92
101
either (log <<< show) log x
93
102
94
103
A .stat (fp [" test" , " Test.purs" ]) $ \x -> do
95
- log " \n\n stat :"
104
+ log " \n\n A.stat :"
96
105
case x of
97
106
Left err -> log $ " Error:" <> show err
98
107
Right x' -> do
@@ -117,6 +126,21 @@ main = do
117
126
log " statusChangedTime:"
118
127
log $ show $ statusChangedTime x'
119
128
129
+ A .symlink (fp [" tmp" , " Test.js" ]) (fp [" tmp" , " TestSymlink.js" ]) FileLink \u ->
130
+ case u of
131
+ Left err -> log $ " Error:" <> show err
132
+ Right _ -> A .lstat (fp [" tmp" , " TestSymlink.js" ]) \s -> do
133
+ log " \n\n A.lstat:"
134
+ case s of
135
+ Left err -> log $ " Error:" <> show err
136
+ Right s' -> do
137
+ log " isSymbolicLink:"
138
+ log $ show $ isSymbolicLink s'
139
+
140
+ A .unlink (fp [" tmp" , " TestSymlink.js" ]) \result -> do
141
+ log " \n\n A.unlink result:"
142
+ either (log <<< show) (\_ -> log " Success" ) result
143
+
120
144
let fdFile = fp [" tmp" , " FD.json" ]
121
145
fd0 <- S .fdOpen fdFile W (Just 420 )
122
146
buf0 <- Buffer .fromString " [ 42 ]" UTF8
0 commit comments