elm/libraries/String.elm

208 lines
3.2 KiB
Elm
Raw Normal View History

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
2013-10-06 22:51:08 +00:00
# Formatting
2013-10-06 23:00:05 +00:00
Cosmetic operations such as padding with extra characters or trimming whitespace.
2013-10-06 23:00:05 +00:00
@docs toUpper, toLower,
pad, padLeft, padRight,
trim, trimLeft, trimRight
-}
2013-10-03 00:41:58 +00:00
import Native.String
2013-10-02 22:57:12 +00:00
import Maybe (Maybe)
{-|
-}
isEmpty : String
2013-10-03 00:41:58 +00:00
isEmpty = Native.String.isEmpty
{-|
-}
cons : Char -> String -> String
2013-10-03 00:41:58 +00:00
cons = Native.String.cons
{-|
-}
uncons : String -> Maybe (Char, String)
2013-10-03 00:41:58 +00:00
uncons = Native.String.uncons
2013-10-04 16:58:37 +00:00
{-|
-}
length : String -> Int
length = Native.String.length
{-|
-}
map : (Char -> Char) -> String -> String
2013-10-03 00:41:58 +00:00
map = Native.String.map
{-|
-}
filter : (Char -> Bool) -> String -> String
2013-10-03 00:41:58 +00:00
filter = Native.String.filter
{-|
-}
reverse : String -> String
2013-10-03 00:41:58 +00:00
reverse = Native.String.reverse
{-|
-}
foldl : (Char -> b -> b) -> b -> String -> b
2013-10-03 00:41:58 +00:00
foldl = Native.String.foldl
{-|
-}
foldr : (Char -> b -> b) -> b -> String -> b
2013-10-03 00:41:58 +00:00
foldr = Native.String.foldr
{-|
-}
split : String -> String -> [String]
2013-10-03 00:41:58 +00:00
split = Native.String.split
{-|
-}
join : String -> [String] -> String
2013-10-03 00:41:58 +00:00
join = Native.String.join
{-|
-}
repeat : Int -> String -> String
2013-10-03 00:41:58 +00:00
repeat = Native.String.repeat
2013-10-06 22:51:08 +00:00
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
2013-10-03 00:41:58 +00:00
trim = Native.String.trim
{-|
-}
trimLeft : String -> String
2013-10-03 00:41:58 +00:00
trimLeft = Native.String.trimLeft
{-|
-}
trimRight : String -> String
2013-10-03 00:41:58 +00:00
trimRight = Native.String.trimRight
{-|
-}
words : String -> [String]
2013-10-03 00:41:58 +00:00
words = Native.String.words
{-|
-}
lines : String -> [String]
2013-10-03 00:41:58 +00:00
lines = Native.String.lines
{-|
-}
toUpper : String -> String
2013-10-03 00:41:58 +00:00
toUpper = Native.String.toUpper
{-|
-}
toLower : String -> String
2013-10-03 00:41:58 +00:00
toLower = Native.String.toLower
{-|
-}
any : (Char -> Bool) -> String -> Bool
2013-10-03 00:41:58 +00:00
any = Native.String.any
{-|
-}
all : (Char -> Bool) -> String -> Bool
2013-10-03 00:41:58 +00:00
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