on ffd088b help sign in
elk/libraries/String.elm
207 lines 3.2 kB history raw
1module String where
2{-| A built-in representation for efficient string manipulation.
4# Basics
5@docs isEmpty, length, cons, uncons, reverse,
6 map, filter, foldl, foldr, any, all, repeat
8# Split and Join
9@docs split, join, words, lines
11# Get Substrings
12@docs sub, left, right, dropLeft, dropRight
14# Check for Substrings
15@docs contains, startsWith, endsWith, indices, indexes
17# Conversion To Numbers
18@docs toInt, toFloat
20# Formatting
21Cosmetic operations such as padding with extra characters or trimming whitespace.
23@docs toUpper, toLower,
24 pad, padLeft, padRight,
25 trim, trimLeft, trimRight
26-}
28import Native.String
29import Maybe (Maybe)
31{-|
32-}
33isEmpty : String
34isEmpty = Native.String.isEmpty
36{-|
37-}
38cons : Char -> String -> String
39cons = Native.String.cons
41{-|
42-}
43uncons : String -> Maybe (Char, String)
44uncons = Native.String.uncons
46{-|
47-}
48length : String -> Int
49length = Native.String.length
51{-|
52-}
53map : (Char -> Char) -> String -> String
54map = Native.String.map
56{-|
57-}
58filter : (Char -> Bool) -> String -> String
59filter = Native.String.filter
61{-|
62-}
63reverse : String -> String
64reverse = Native.String.reverse
66{-|
67-}
68foldl : (Char -> b -> b) -> b -> String -> b
69foldl = Native.String.foldl
71{-|
72-}
73foldr : (Char -> b -> b) -> b -> String -> b
74foldr = Native.String.foldr
76{-|
77-}
78split : String -> String -> [String]
79split = Native.String.split
81{-|
82-}
83join : String -> [String] -> String
84join = Native.String.join
86{-|
87-}
88repeat : Int -> String -> String
89repeat = Native.String.repeat
91sub : Int -> Int -> String -> String
92sub = Native.String.sub
94{-|
95-}
96left : Int -> String -> String
97left = Native.String.left
99{-|
100-}
101right : Int -> String -> String
102right = Native.String.right
104{-|
105-}
106dropLeft : Int -> String -> String
107dropLeft = Native.String.dropLeft
109{-|
110-}
111dropRight : Int -> String -> String
112dropRight = Native.String.dropRight
114{-|
115-}
116pad : Int -> Char -> String -> String
117pad = Native.String.pad
119{-|
120-}
121padLeft : Int -> Char -> String -> String
122padLeft = Native.String.padLeft
124{-|
125-}
126padRight : Int -> Char -> String -> String
127padRight = Native.String.padRight
129{-|
130-}
131trim : String -> String
132trim = Native.String.trim
134{-|
135-}
136trimLeft : String -> String
137trimLeft = Native.String.trimLeft
139{-|
140-}
141trimRight : String -> String
142trimRight = Native.String.trimRight
144{-|
145-}
146words : String -> [String]
147words = Native.String.words
149{-|
150-}
151lines : String -> [String]
152lines = Native.String.lines
154{-|
155-}
156toUpper : String -> String
157toUpper = Native.String.toUpper
159{-|
160-}
161toLower : String -> String
162toLower = Native.String.toLower
164{-|
165-}
166any : (Char -> Bool) -> String -> Bool
167any = Native.String.any
169{-|
170-}
171all : (Char -> Bool) -> String -> Bool
172all = Native.String.all
174{-|
175-}
176contains : String -> String -> Bool
177contains = Native.String.contains
179{-|
180-}
181startsWith : String -> String -> Bool
182startsWith = Native.String.startsWith
184{-|
185-}
186endsWith : String -> String -> Bool
187endsWith = Native.String.endsWith
189{-|
190-}
191indices : String -> String -> [Int]
192indices = Native.String.indexes
194{-|
195-}
196indexes : String -> String -> [Int]
197indexes = Native.String.indexes
199{-|
200-}
201toInt : String -> Maybe Int
202toInt = Native.String.toInt
204{-|
205-}
206toFloat : String -> Maybe Float
207toFloat = Native.String.toFloat