elm/libraries/String.elm
Evan Czaplicki 2c080b6b0d Mark Char and Text values to distinguish them from Strings
Also get rid of the unwords and unlines functions which are confusing
and can more easily be reproduced with (join " ") and (join "\n")
2013-10-10 13:57:33 -07:00

207 lines
3.2 KiB
Elm

module String where
{-| A built-in representation for efficient string manipulation.
# Basics
@docs isEmpty, length, cons, uncons, reverse,
map, filter, foldl, foldr, any, all, repeat
# Split and Join
@docs split, join, words, lines
# Get Substrings
@docs sub, left, right, dropLeft, dropRight
# Check for Substrings
@docs contains, startsWith, endsWith, indices, indexes
# Conversion To Numbers
@docs toInt, toFloat
# Formatting
Cosmetic operations such as padding with extra characters or trimming whitespace.
@docs toUpper, toLower,
pad, padLeft, padRight,
trim, trimLeft, trimRight
-}
import Native.String
import Maybe (Maybe)
{-|
-}
isEmpty : String
isEmpty = Native.String.isEmpty
{-|
-}
cons : Char -> String -> String
cons = Native.String.cons
{-|
-}
uncons : String -> Maybe (Char, String)
uncons = Native.String.uncons
{-|
-}
length : String -> Int
length = Native.String.length
{-|
-}
map : (Char -> Char) -> String -> String
map = Native.String.map
{-|
-}
filter : (Char -> Bool) -> String -> String
filter = Native.String.filter
{-|
-}
reverse : String -> String
reverse = Native.String.reverse
{-|
-}
foldl : (Char -> b -> b) -> b -> String -> b
foldl = Native.String.foldl
{-|
-}
foldr : (Char -> b -> b) -> b -> String -> b
foldr = Native.String.foldr
{-|
-}
split : String -> String -> [String]
split = Native.String.split
{-|
-}
join : String -> [String] -> String
join = Native.String.join
{-|
-}
repeat : Int -> String -> String
repeat = Native.String.repeat
sub : Int -> Int -> String -> String
sub = Native.String.sub
{-|
-}
left : Int -> String -> String
left = Native.String.left
{-|
-}
right : Int -> String -> String
right = Native.String.right
{-|
-}
dropLeft : Int -> String -> String
dropLeft = Native.String.dropLeft
{-|
-}
dropRight : Int -> String -> String
dropRight = Native.String.dropRight
{-|
-}
pad : Int -> Char -> String -> String
pad = Native.String.pad
{-|
-}
padLeft : Int -> Char -> String -> String
padLeft = Native.String.padLeft
{-|
-}
padRight : Int -> Char -> String -> String
padRight = Native.String.padRight
{-|
-}
trim : String -> String
trim = Native.String.trim
{-|
-}
trimLeft : String -> String
trimLeft = Native.String.trimLeft
{-|
-}
trimRight : String -> String
trimRight = Native.String.trimRight
{-|
-}
words : String -> [String]
words = Native.String.words
{-|
-}
lines : String -> [String]
lines = Native.String.lines
{-|
-}
toUpper : String -> String
toUpper = Native.String.toUpper
{-|
-}
toLower : String -> String
toLower = Native.String.toLower
{-|
-}
any : (Char -> Bool) -> String -> Bool
any = Native.String.any
{-|
-}
all : (Char -> Bool) -> String -> Bool
all = Native.String.all
{-|
-}
contains : String -> String -> Bool
contains = Native.String.contains
{-|
-}
startsWith : String -> String -> Bool
startsWith = Native.String.startsWith
{-|
-}
endsWith : String -> String -> Bool
endsWith = Native.String.endsWith
{-|
-}
indices : String -> String -> [Int]
indices = Native.String.indexes
{-|
-}
indexes : String -> String -> [Int]
indexes = Native.String.indexes
{-|
-}
toInt : String -> Maybe Int
toInt = Native.String.toInt
{-|
-}
toFloat : String -> Maybe Float
toFloat = Native.String.toFloat