module Wire.API.CannonId where import Data.Aeson import Data.OpenApi import Data.Proxy import Imports import Web.HttpApiData newtype CannonId = CannonId { CannonId -> Text cannonId :: Text } deriving (CannonId -> CannonId -> Bool (CannonId -> CannonId -> Bool) -> (CannonId -> CannonId -> Bool) -> Eq CannonId forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: CannonId -> CannonId -> Bool == :: CannonId -> CannonId -> Bool $c/= :: CannonId -> CannonId -> Bool /= :: CannonId -> CannonId -> Bool Eq, Eq CannonId Eq CannonId => (CannonId -> CannonId -> Ordering) -> (CannonId -> CannonId -> Bool) -> (CannonId -> CannonId -> Bool) -> (CannonId -> CannonId -> Bool) -> (CannonId -> CannonId -> Bool) -> (CannonId -> CannonId -> CannonId) -> (CannonId -> CannonId -> CannonId) -> Ord CannonId CannonId -> CannonId -> Bool CannonId -> CannonId -> Ordering CannonId -> CannonId -> CannonId forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a $ccompare :: CannonId -> CannonId -> Ordering compare :: CannonId -> CannonId -> Ordering $c< :: CannonId -> CannonId -> Bool < :: CannonId -> CannonId -> Bool $c<= :: CannonId -> CannonId -> Bool <= :: CannonId -> CannonId -> Bool $c> :: CannonId -> CannonId -> Bool > :: CannonId -> CannonId -> Bool $c>= :: CannonId -> CannonId -> Bool >= :: CannonId -> CannonId -> Bool $cmax :: CannonId -> CannonId -> CannonId max :: CannonId -> CannonId -> CannonId $cmin :: CannonId -> CannonId -> CannonId min :: CannonId -> CannonId -> CannonId Ord, Int -> CannonId -> ShowS [CannonId] -> ShowS CannonId -> String (Int -> CannonId -> ShowS) -> (CannonId -> String) -> ([CannonId] -> ShowS) -> Show CannonId forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> CannonId -> ShowS showsPrec :: Int -> CannonId -> ShowS $cshow :: CannonId -> String show :: CannonId -> String $cshowList :: [CannonId] -> ShowS showList :: [CannonId] -> ShowS Show, Value -> Parser [CannonId] Value -> Parser CannonId (Value -> Parser CannonId) -> (Value -> Parser [CannonId]) -> FromJSON CannonId forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser CannonId parseJSON :: Value -> Parser CannonId $cparseJSONList :: Value -> Parser [CannonId] parseJSONList :: Value -> Parser [CannonId] FromJSON, [CannonId] -> Value [CannonId] -> Encoding CannonId -> Value CannonId -> Encoding (CannonId -> Value) -> (CannonId -> Encoding) -> ([CannonId] -> Value) -> ([CannonId] -> Encoding) -> ToJSON CannonId forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: CannonId -> Value toJSON :: CannonId -> Value $ctoEncoding :: CannonId -> Encoding toEncoding :: CannonId -> Encoding $ctoJSONList :: [CannonId] -> Value toJSONList :: [CannonId] -> Value $ctoEncodingList :: [CannonId] -> Encoding toEncodingList :: [CannonId] -> Encoding ToJSON) instance ToParamSchema CannonId where toParamSchema :: Proxy CannonId -> Schema toParamSchema Proxy CannonId _ = Proxy Text -> Schema forall a. ToParamSchema a => Proxy a -> Schema toParamSchema (forall t. Proxy t forall {k} (t :: k). Proxy t Proxy @Text) instance FromHttpApiData CannonId where parseUrlPiece :: Text -> Either Text CannonId parseUrlPiece = CannonId -> Either Text CannonId forall a. a -> Either Text a forall (f :: * -> *) a. Applicative f => a -> f a pure (CannonId -> Either Text CannonId) -> (Text -> CannonId) -> Text -> Either Text CannonId forall b c a. (b -> c) -> (a -> b) -> a -> c . Text -> CannonId CannonId