on efe8883 help sign in
elk/libraries/String.elm
218 lines 3.4 kB history raw
1module String where
2{-| A built-in representation of String for effecient 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, unwords, lines, unlines
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
27-}
29import Native.String
30import Maybe (Maybe)
32{-|
33-}
34isEmpty : String
35isEmpty = Native.String.isEmpty
37{-|
38-}
39cons : Char -> String -> String
40cons = Native.String.cons
42{-|
43-}
44uncons : String -> Maybe (Char, String)
45uncons = Native.String.uncons
47{-|
48-}
49length : String -> Int
50length = Native.String.length
52{-|
53-}
54map : (Char -> Char) -> String -> String
55map = Native.String.map
57{-|
58-}
59filter : (Char -> Bool) -> String -> String
60filter = Native.String.filter
62{-|
63-}
64reverse : String -> String
65reverse = Native.String.reverse
67{-|
68-}
69foldl : (Char -> b -> b) -> b -> String -> b
70foldl = Native.String.foldl
72{-|
73-}
74foldr : (Char -> b -> b) -> b -> String -> b
75foldr = Native.String.foldr
77{-|
78-}
79split : String -> String -> [String]
80split = Native.String.split
82{-|
83-}
84join : String -> [String] -> String
85join = Native.String.join
87{-|
88-}
89repeat : Int -> String -> String
90repeat = Native.String.repeat
92sub : Int -> Int -> String -> String
93sub = Native.String.sub
95{-|
96-}
97left : Int -> String -> String
98left = Native.String.left
100{-|
101-}
102right : Int -> String -> String
103right = Native.String.right
105{-|
106-}
107dropLeft : Int -> String -> String
108dropLeft = Native.String.dropLeft
110{-|
111-}
112dropRight : Int -> String -> String
113dropRight = Native.String.dropRight
115{-|
116-}
117pad : Int -> Char -> String -> String
118pad = Native.String.pad
120{-|
121-}
122padLeft : Int -> Char -> String -> String
123padLeft = Native.String.padLeft
125{-|
126-}
127padRight : Int -> Char -> String -> String
128padRight = Native.String.padRight
130{-|
131-}
132trim : String -> String
133trim = Native.String.trim
135{-|
136-}
137trimLeft : String -> String
138trimLeft = Native.String.trimLeft
140{-|
141-}
142trimRight : String -> String
143trimRight = Native.String.trimRight
145{-|
146-}
147words : String -> [String]
148words = Native.String.words
150{-|
151-}
152unwords : [String] -> String
153unwords = Native.String.unwords
155{-|
156-}
157lines : String -> [String]
158lines = Native.String.lines
160{-|
161-}
162unlines : [String] -> String
163unlines = Native.String.unlines
165{-|
166-}
167toUpper : String -> String
168toUpper = Native.String.toUpper
170{-|
171-}
172toLower : String -> String
173toLower = Native.String.toLower
175{-|
176-}
177any : (Char -> Bool) -> String -> Bool
178any = Native.String.any
180{-|
181-}
182all : (Char -> Bool) -> String -> Bool
183all = Native.String.all
185{-|
186-}
187contains : String -> String -> Bool
188contains = Native.String.contains
190{-|
191-}
192startsWith : String -> String -> Bool
193startsWith = Native.String.startsWith
195{-|
196-}
197endsWith : String -> String -> Bool
198endsWith = Native.String.endsWith
200{-|
201-}
202indices : String -> String -> [Int]
203indices = Native.String.indexes
205{-|
206-}
207indexes : String -> String -> [Int]
208indexes = Native.String.indexes
210{-|
211-}
212toInt : String -> Maybe Int
213toInt = Native.String.toInt
215{-|
216-}
217toFloat : String -> Maybe Float
218toFloat = Native.String.toFloat