-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Convert between various source code casing conventions
--
-- Converts between camelCase, PascalCase, kebab-case, and three flavors
-- of snake_case.
@package casing
@version 0.1.1.0
-- | Conversions between several common identifier casing conventions:
--
--
-- - PascalCase - no spacing between words, first letter in
-- word is uppercase, all others are lowercase.
-- - camelCase - like PascalCase, but the very first
-- letter is lowercase.
-- - kebab-case - everything lowercase, dash delimits
-- words.
-- - snake_Case - underscores delimit words, case is
-- unrestricted.
-- - quiet_snake_case - underscores delimit words, everything
-- lowercase.
-- - SCREAMING_SNAKE_CASE - underscores delimit words,
-- everything uppercase.
--
module Text.Casing
-- | An opaque type that represents a parsed identifier.
data Identifier a
-- | Convert from "humped" casing (camelCase or
-- PascalCase)
fromHumps :: String -> Identifier String
-- | Convert from kebab-cased-identifiers
fromKebab :: String -> Identifier String
-- | Convert from snake_cased (either flavor)
fromSnake :: String -> Identifier String
fromWords :: String -> Identifier String
-- | Convert from anything, including mixed casing.
fromAny :: String -> Identifier String
-- | To camelCase
toCamel :: Identifier String -> String
-- | To PascalCase
toPascal :: Identifier String -> String
-- | To snake_Case
toSnake :: Identifier String -> String
-- | To quiet_snake_case
toQuietSnake :: Identifier String -> String
-- | To SCREAMING_SNAKE_CASE
toScreamingSnake :: Identifier String -> String
-- | To kebab-case
toKebab :: Identifier String -> String
-- | To word Case
toWords :: Identifier String -> String
-- | Directly convert to PascalCase through fromAny
pascal :: String -> String
-- | Directly convert to camelCase through fromAny
camel :: String -> String
-- | Directly convert to snake_Case through fromAny
snake :: String -> String
-- | Directly convert to quiet_snake_case through fromAny
quietSnake :: String -> String
-- | Directly convert to SCREAMING_SNAKE_CASE through
-- fromAny
screamingSnake :: String -> String
-- | Directly convert to kebab-case through fromAny
kebab :: String -> String
-- | Directly convert to word Case through fromAny
wordify :: String -> String
-- | Drop the first word from a parsed identifier. Typical usage is between
-- parsing and writing, e.g.: toKebab . dropPrefix . fromAny $
-- "strHelloWorld" == "hello-world"
dropPrefix :: Identifier String -> Identifier String
instance GHC.Show.Show a => GHC.Show.Show (Text.Casing.Identifier a)
instance GHC.Base.Applicative Text.Casing.Identifier
instance GHC.Base.Functor Text.Casing.Identifier
instance GHC.Base.Monad Text.Casing.Identifier