@@ -17,7 +17,6 @@ import Data.Char (toUpper)
1717import Data.String
1818import qualified Data.Text as T
1919import Prologue
20- import Proto3.Suite
2120import System.FilePath.Posix
2221
2322-- | The various languages we support.
@@ -37,7 +36,7 @@ data Language
3736 | TypeScript
3837 | PHP
3938 | TSX
40- deriving (Eq , Generic , Ord , Read , Show , Bounded , Hashable , ToJSON , Named , Enum , MessageField , NFData )
39+ deriving (Eq , Generic , Ord , Read , Show , Bounded , Hashable , ToJSON , Enum , NFData )
4140
4241class SLanguage (lang :: Language ) where
4342 reflect :: proxy lang -> Language
@@ -78,12 +77,6 @@ instance SLanguage 'TypeScript where
7877instance SLanguage 'PHP where
7978 reflect _ = PHP
8079
81-
82- -- This ensures that the protobuf file is generated with ALL_CAPS_NAMES.
83- instance Finite Language where
84- enumerate _ = fmap go [Unknown .. ] where
85- go x = (fromString (fmap toUpper (show x)), fromEnum x)
86-
8780instance FromJSON Language where
8881 parseJSON = withText " Language" $ \ l ->
8982 pure $ fromMaybe Unknown (parseLanguage l)
@@ -107,18 +100,6 @@ parseLanguage l = case T.toLower l of
107100knownLanguage :: Language -> Bool
108101knownLanguage = (/= Unknown )
109102
110- -- | Defaults to 'Unknown'.
111- instance HasDefault Language where def = Unknown
112-
113- -- | Piggybacks on top of the 'Enumerated' instance, as the generated code would.
114- -- This instance will get easier when we have DerivingVia.
115- instance Primitive Language where
116- primType _ = primType (Proxy @ (Enumerated Language ))
117- encodePrimitive f = encodePrimitive f . Enumerated . Right
118- decodePrimitive = decodePrimitive >>= \ case
119- (Enumerated (Right r)) -> pure r
120- other -> Prelude. fail (" Language decodeMessageField: unexpected value" <> show other)
121-
122103-- | Returns a Language based on the file extension (including the ".").
123104languageForType :: String -> Language
124105languageForType mediaType = case mediaType of
0 commit comments