@@ -10,7 +10,7 @@ import Effect.Console (log)
1010import Effect.Exception (Error , error , throwException , catchException )
1111import Node.Buffer as Buffer
1212import Node.Encoding (Encoding (..))
13- import Node.FS (FileFlags (..))
13+ import Node.FS (FileFlags (..), SymlinkType (..) )
1414import Node.FS.Async as A
1515import Node.FS.Stats (statusChangedTime , accessedTime , modifiedTime , isSymbolicLink , isSocket , isFIFO , isCharacterDevice , isBlockDevice , isDirectory , isFile )
1616import Node.FS.Sync as S
@@ -74,6 +74,15 @@ main = do
7474 log " statusChangedTime:"
7575 log $ show $ statusChangedTime stats
7676
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+
7786 A .rename (fp [" tmp" , " Test1.js" ]) (fp [" tmp" , " Test.js" ]) $ \x -> do
7887 log " \n\n rename result:"
7988 either (log <<< show) (log <<< show) x
@@ -92,7 +101,7 @@ main = do
92101 either (log <<< show) log x
93102
94103 A .stat (fp [" test" , " Test.purs" ]) $ \x -> do
95- log " \n\n stat :"
104+ log " \n\n A.stat :"
96105 case x of
97106 Left err -> log $ " Error:" <> show err
98107 Right x' -> do
@@ -117,6 +126,21 @@ main = do
117126 log " statusChangedTime:"
118127 log $ show $ statusChangedTime x'
119128
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+
120144 let fdFile = fp [" tmp" , " FD.json" ]
121145 fd0 <- S .fdOpen fdFile W (Just 420 )
122146 buf0 <- Buffer .fromString " [ 42 ]" UTF8
0 commit comments