module Spotify.Types.Internal.EnumJSON where import Data.Aeson (FromJSON (parseJSON)) newtype EnumJSON a = EnumJSON a instance (Enum a) => FromJSON (EnumJSON a) where parseJSON :: Value -> Parser (EnumJSON a) parseJSON = forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap (forall a. a -> EnumJSON a EnumJSON forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. Enum a => Int -> a toEnum @a) forall b c a. (b -> c) -> (a -> b) -> a -> c . forall a. FromJSON a => Value -> Parser a parseJSON