Skip to content

Commit 02d96b0

Browse files
committed
Fix badly behaved Show instance for SymlinkType
1 parent dea26f7 commit 02d96b0

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

src/Node/FS.purs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,20 @@ foreign import data FS :: !
1212
--
1313
data SymlinkType = FileLink | DirLink | JunctionLink
1414

15+
-- |
16+
-- Convert a `SymlinkType` to a `String` expected by the Node.js filesystem
17+
-- API.
18+
--
19+
symlinkTypeToNode :: SymlinkType -> String
20+
symlinkTypeToNode ty = case ty of
21+
FileLink -> "file"
22+
DirLink -> "dir"
23+
JunctionLink -> "junction"
24+
1525
instance showSymlinkType :: Show SymlinkType where
16-
show FileLink = "file"
17-
show DirLink = "dir"
18-
show JunctionLink = "junction"
26+
show FileLink = "FileLink"
27+
show DirLink = "DirLink"
28+
show JunctionLink = "JunctionLink"
1929

2030
instance eqSymlinkType :: Eq SymlinkType where
2131
eq FileLink FileLink = true

src/Node/FS/Async.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ symlink :: forall eff. FilePath
157157
-> Eff (fs :: FS | eff) Unit
158158

159159
symlink src dest ty cb = mkEff $ \_ -> runFn4
160-
fs.symlink src dest (show ty) (handleCallback cb)
160+
fs.symlink src dest (symlinkTypeToNode ty) (handleCallback cb)
161161

162162
-- |
163163
-- Reads the value of a symlink.

src/Node/FS/Sync.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ symlink :: forall eff. FilePath
167167
-> Eff (fs :: FS, err :: EXCEPTION | eff) Unit
168168

169169
symlink src dst ty = mkEff $ \_ -> runFn3
170-
fs.symlinkSync src dst (show ty)
170+
fs.symlinkSync src dst (symlinkTypeToNode ty)
171171

172172
-- |
173173
-- Reads the value of a symlink.

0 commit comments

Comments
 (0)