diff options
author | Joey Hess <joeyh@joeyh.name> | 2019-01-09 15:00:43 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2019-01-09 15:05:49 -0400 |
commit | 6f66b53a30219eea05870bfa86b0c48ccb56145c (patch) | |
tree | 5a7b72d2ad076b5badcbe2ed334ab71644266037 /Types/StandardGroups.hs | |
parent | 3f7fe1d32598e9feaccbe6745c23fc5a7ce45e2b (diff) |
newtype Group to ByteString
This may speed up queries for things in groups, due to Eq and Ord being faster.
Diffstat (limited to 'Types/StandardGroups.hs')
-rw-r--r-- | Types/StandardGroups.hs | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/Types/StandardGroups.hs b/Types/StandardGroups.hs index 2d24024d81..3a6689bd76 100644 --- a/Types/StandardGroups.hs +++ b/Types/StandardGroups.hs @@ -5,6 +5,8 @@ - Licensed under the GNU GPL version 3 or higher. -} +{-# LANGUAGE OverloadedStrings #-} + module Types.StandardGroups where import Types.Remote (RemoteConfig) @@ -29,28 +31,28 @@ data StandardGroup deriving (Eq, Ord, Enum, Bounded, Show) fromStandardGroup :: StandardGroup -> Group -fromStandardGroup ClientGroup = "client" -fromStandardGroup TransferGroup = "transfer" -fromStandardGroup BackupGroup = "backup" -fromStandardGroup IncrementalBackupGroup = "incrementalbackup" -fromStandardGroup SmallArchiveGroup = "smallarchive" -fromStandardGroup FullArchiveGroup = "archive" -fromStandardGroup SourceGroup = "source" -fromStandardGroup ManualGroup = "manual" -fromStandardGroup PublicGroup = "public" -fromStandardGroup UnwantedGroup = "unwanted" +fromStandardGroup ClientGroup = Group "client" +fromStandardGroup TransferGroup = Group "transfer" +fromStandardGroup BackupGroup = Group "backup" +fromStandardGroup IncrementalBackupGroup = Group "incrementalbackup" +fromStandardGroup SmallArchiveGroup = Group "smallarchive" +fromStandardGroup FullArchiveGroup = Group "archive" +fromStandardGroup SourceGroup = Group "source" +fromStandardGroup ManualGroup = Group "manual" +fromStandardGroup PublicGroup = Group "public" +fromStandardGroup UnwantedGroup = Group "unwanted" toStandardGroup :: Group -> Maybe StandardGroup -toStandardGroup "client" = Just ClientGroup -toStandardGroup "transfer" = Just TransferGroup -toStandardGroup "backup" = Just BackupGroup -toStandardGroup "incrementalbackup" = Just IncrementalBackupGroup -toStandardGroup "smallarchive" = Just SmallArchiveGroup -toStandardGroup "archive" = Just FullArchiveGroup -toStandardGroup "source" = Just SourceGroup -toStandardGroup "manual" = Just ManualGroup -toStandardGroup "public" = Just PublicGroup -toStandardGroup "unwanted" = Just UnwantedGroup +toStandardGroup (Group "client") = Just ClientGroup +toStandardGroup (Group "transfer") = Just TransferGroup +toStandardGroup (Group "backup") = Just BackupGroup +toStandardGroup (Group "incrementalbackup") = Just IncrementalBackupGroup +toStandardGroup (Group "smallarchive") = Just SmallArchiveGroup +toStandardGroup (Group "archive") = Just FullArchiveGroup +toStandardGroup (Group "source") = Just SourceGroup +toStandardGroup (Group "manual") = Just ManualGroup +toStandardGroup (Group "public") = Just PublicGroup +toStandardGroup (Group "unwanted") = Just UnwantedGroup toStandardGroup _ = Nothing descStandardGroup :: StandardGroup -> String |