File tree Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Expand file tree Collapse file tree 3 files changed +52
-0
lines changed Original file line number Diff line number Diff line change 1818 ],
1919 "dependencies" : {
2020 "purescript-either" : " ^3.0.0" ,
21+ "purescript-gen" : " ^1.1.0" ,
2122 "purescript-maybe" : " ^3.0.0" ,
2223 "purescript-partial" : " ^1.2.0"
2324 },
Original file line number Diff line number Diff line change 1+ module Data.Char.Gen where
2+
3+ import Prelude
4+
5+ import Control.Monad.Gen (class MonadGen , chooseInt )
6+ import Data.Char as C
7+
8+ -- | Generates a character of the Unicode basic multilingual plain.
9+ genUnicodeChar :: forall m . MonadGen m => m Char
10+ genUnicodeChar = C .fromCharCode <$> chooseInt 0 65536
11+
12+ -- | Generates a character in the ASCII character set, excluding control codes.
13+ genAsciiChar :: forall m . MonadGen m => m Char
14+ genAsciiChar = C .fromCharCode <$> chooseInt 32 127
15+
16+ -- | Generates a character in the ASCII character set.
17+ genAsciiChar' :: forall m . MonadGen m => m Char
18+ genAsciiChar' = C .fromCharCode <$> chooseInt 0 127
19+
20+ -- | Generates a character that is a numeric digit.
21+ genDigitChar :: forall m . MonadGen m => m Char
22+ genDigitChar = C .fromCharCode <$> chooseInt 48 57
Original file line number Diff line number Diff line change 1+ module Data.String.Gen where
2+
3+ import Prelude
4+
5+ import Control.Monad.Gen (class MonadGen , unfoldable )
6+ import Control.Monad.Rec.Class (class MonadRec )
7+ import Data.Char.Gen as CG
8+ import Data.String as S
9+
10+ -- | Generates a string using the specified character generator.
11+ genString :: forall m . MonadRec m => MonadGen m => m Char -> m String
12+ genString = map S .fromCharArray <<< unfoldable
13+
14+ -- | Generates a string using characters from the Unicode basic multilingual
15+ -- | plain.
16+ genUnicodeString :: forall m . MonadRec m => MonadGen m => m String
17+ genUnicodeString = genString CG .genUnicodeChar
18+
19+ -- | Generates a string using the ASCII character set, excluding control codes.
20+ genAsciiString :: forall m . MonadRec m => MonadGen m => m String
21+ genAsciiString = genString CG .genAsciiChar
22+
23+ -- | Generates a string using the ASCII character set.
24+ genAsciiString' :: forall m . MonadRec m => MonadGen m => m String
25+ genAsciiString' = genString CG .genAsciiChar'
26+
27+ -- | Generates a string made up of numeric digits.
28+ genDigitString :: forall m . MonadRec m => MonadGen m => m String
29+ genDigitString = genString CG .genDigitChar
You can’t perform that action at this time.
0 commit comments