-- | Haskell implementations of hydra/lib/strings primitives

module Hydra.Lib.Strings where

import qualified Data.Char as C
import qualified Data.List as L
import qualified Data.List.Split as LS


cat :: [String] -> String
cat :: [String] -> String
cat = forall (t :: * -> *) a. Foldable t => t [a] -> [a]
L.concat

length :: String -> Int
length :: String -> Int
length = forall (t :: * -> *) a. Foldable t => t a -> Int
L.length

splitOn :: String -> String -> [String]
splitOn :: String -> String -> [String]
splitOn = forall a. Eq a => [a] -> [a] -> [[a]]
LS.splitOn

toLower :: String -> String
toLower :: String -> String
toLower = forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Char -> Char
C.toLower

toUpper :: String -> String
toUpper :: String -> String
toUpper = forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Char -> Char
C.toUpper