diff options
author | Ben Sima <ben@bsima.me> | 2020-07-12 09:13:24 -0700 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2020-07-12 09:25:10 -0700 |
commit | a76870b7f3dda5b564185cfd652e11998d7ff88d (patch) | |
tree | 22f273265d31f08e70457f0e91a681022c8d35b6 | |
parent | 40d9f9e057191ad1c89a9e2c7b9088d2fde643e1 (diff) |
hero: move CanSnakeCase to Alpha
-rw-r--r-- | Alpha.hs | 10 | ||||
-rw-r--r-- | Hero/App.hs | 7 |
2 files changed, 10 insertions, 7 deletions
@@ -1,4 +1,5 @@ {-# LANGUAGE NoImplicitPrelude #-} +{-# LANGUAGE OverloadedStrings #-} -- | Commonly useful functions, a Prelude replacement. -- @@ -37,6 +38,8 @@ module Alpha lchomp, joinWith, + CanSnakeCase(snake), + -- * Debugging tools say, ) @@ -98,3 +101,10 @@ joinWith = intercalate don't :: Bool -> Bool don't = do not {-# ANN don't ("HLint: ignore Redundant do" :: String) #-} + +-- | Class for turning different string types to snakeCase. +class CanSnakeCase str where + snake :: str -> str + +instance CanSnakeCase Text where + snake = Text.replace " " "-" . Text.toLower diff --git a/Hero/App.hs b/Hero/App.hs index 9391eac..56289f8 100644 --- a/Hero/App.hs +++ b/Hero/App.hs @@ -72,13 +72,6 @@ instance ToJSON ComicId where instance FromJSON ComicId where parseJSON = genericParseJSON Data.Aeson.defaultOptions --- | Class for turning different string types to snakeCase. -class CanSnakeCase str where - snake :: str -> str - -instance CanSnakeCase Text where - snake = Data.Text.replace " " "-" . Data.Text.toLower - -- | Used for looking up images on S3, mostly comicSlug :: Comic -> Text comicSlug Comic {..} = snake comicName <> "-" <> comicIssue |