Skip to content

Commit fbcbc95

Browse files
committed
DirectoryTree: Replaced file with binary-file and text-file
1 parent f48fda9 commit fbcbc95

File tree

8 files changed

+25
-14
lines changed

8 files changed

+25
-14
lines changed

dhall/src/Dhall/DirectoryTree.hs

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
{-# LANGUAGE TupleSections #-}
66
{-# LANGUAGE ViewPatterns #-}
77

8+
{-# OPTIONS_GHC -Wno-deprecations #-}
89
{-# OPTIONS_GHC -Wno-orphans #-}
910

1011
-- | Implementation of the @dhall to-directory-tree@ subcommand
@@ -259,7 +260,8 @@ directoryTreeType = Pi Nothing "tree" (Const Type)
259260
makeType :: Expector (Expr Src Void)
260261
makeType = Record . Map.fromList <$> sequenceA
261262
[ makeConstructor "directory" (Decode.auto :: Decoder DirectoryEntry)
262-
, makeConstructor "file" (Decode.auto :: Decoder FileEntry)
263+
, makeConstructor "binary-file" (Decode.auto :: Decoder BinaryFileEntry)
264+
, makeConstructor "text-file" (Decode.auto :: Decoder TextFileEntry)
263265
]
264266
where
265267
makeConstructor :: Text -> Decoder b -> Expector (Text, RecordField Src Void)

dhall/src/Dhall/DirectoryTree/Types.hs

+11-4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ module Dhall.DirectoryTree.Types
1515
( FilesystemEntry(..)
1616
, DirectoryEntry
1717
, FileEntry
18+
, BinaryFileEntry
19+
, TextFileEntry
1820
, Entry(..)
1921
, User(..)
2022
, Group(..)
@@ -67,14 +69,21 @@ pattern Make label entry <- App (Field (Var (V "_" 0)) (fieldSelectionLabel -> l
6769
type DirectoryEntry = Entry (Seq FilesystemEntry)
6870

6971
-- | A file in the filesystem.
72+
{-# DEPRECATED FileEntry "`FileEntry` is deprecated and will be removed eventually. Please use `TextFileEntry` instead." #-}
7073
type FileEntry = Entry Text
7174

75+
-- | A binary file in the filesystem.
76+
type BinaryFileEntry = Entry ByteString
77+
78+
-- | A text file in the filesystem.
79+
type TextFileEntry = Entry Text
80+
7281
-- | A filesystem entry.
7382
data FilesystemEntry
7483
= DirectoryEntry (Entry (Seq FilesystemEntry))
7584
| FileEntry (Entry Text)
76-
| BinaryFileEntry (Entry ByteString)
77-
| TextFileEntry (Entry Text)
85+
| BinaryFileEntry BinaryFileEntry
86+
| TextFileEntry TextFileEntry
7887
deriving (Eq, Generic, Ord, Show)
7988

8089
instance FromDhall FilesystemEntry where
@@ -83,8 +92,6 @@ instance FromDhall FilesystemEntry where
8392
, extract = \case
8493
Make "directory" entry ->
8594
DirectoryEntry <$> extract (autoWith normalizer) entry
86-
Make "file" entry ->
87-
FileEntry <$> extract (autoWith normalizer) entry
8895
Make "binary-file" entry ->
8996
BinaryFileEntry <$> extract (autoWith normalizer) entry
9097
Make "text-file" entry ->

dhall/tests/Dhall/Test/DirectoryTree.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,14 @@ fixpointedUserGroup = testCase "user and group" $ do
8484
expr <- Dhall.inputExpr file
8585
entries <- decodeDirectoryTree expr
8686
entries @?=
87-
[ FileEntry $ Entry
87+
[ TextFileEntry $ Entry
8888
{ entryName = "ids"
8989
, entryContent = ""
9090
, entryUser = Just (UserId 0)
9191
, entryGroup = Just (GroupId 0)
9292
, entryMode = Nothing
9393
}
94-
, FileEntry $ Entry
94+
, TextFileEntry $ Entry
9595
{ entryName = "names"
9696
, entryContent = ""
9797
, entryUser = Just (UserName "user")

dhall/tests/to-directory-tree/fixpoint-helper.dhall

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ let Entry =
2121
}
2222

2323
let Make =
24-
\(r : Type) -> { directory : Entry (List r) -> r, file : Entry Text -> r }
24+
\(r : Type) -> { directory : Entry (List r) -> r, binary-file : Entry Bytes -> r, text-file : Entry Text -> r }
2525

2626
in { User, Group, Access, Mode, Entry, Make }

dhall/tests/to-directory-tree/fixpoint-permissions.dhall

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ let full-access = { execute = Some True, read = Some True, write = Some True }
1010

1111
in \(r : Type) ->
1212
\(make : Make r) ->
13-
[ make.file
13+
[ make.text-file
1414
{ name = "file"
1515
, content = ""
1616
, user = None User

dhall/tests/to-directory-tree/fixpoint-simple.dhall

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ let Make = (./fixpoint-helper.dhall).Make
88

99
in \(r : Type) ->
1010
\(make : Make r) ->
11-
[ make.file
11+
[ make.text-file
1212
{ name = "file"
1313
, content = ""
1414
, user = None User

dhall/tests/to-directory-tree/fixpoint-usergroup.dhall

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ let Make = (./fixpoint-helper.dhall).Make
88

99
in \(r : Type) ->
1010
\(make : Make r) ->
11-
[ make.file
11+
[ make.text-file
1212
{ name = "ids"
1313
, content = ""
1414
, user = Some (User.UserId 0)
1515
, group = Some (Group.GroupId 0)
1616
, mode = None Mode
1717
}
18-
, make.file
18+
, make.text-file
1919
{ name = "names"
2020
, content = ""
2121
, user = Some (User.UserName "user")

dhall/tests/to-directory-tree/type.dhall

+4-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@ let Entry =
2323
in forall (result : Type) ->
2424
let DirectoryEntry = Entry (List result)
2525

26-
let FileEntry = Entry Text
26+
let BinaryFileEntry = Entry Bytes
27+
28+
let TextFileEntry = Entry Text
2729

2830
let Make =
29-
{ directory : DirectoryEntry -> result, file : FileEntry -> result }
31+
{ directory : DirectoryEntry -> result, binary-file : BinaryFileEntry -> result, text-file : TextFileEntry -> result }
3032

3133
in forall (make : Make) -> List result

0 commit comments

Comments
 (0)