fakedata 0.7.0 → 0.7.1
raw patch · 4 files changed
+42/−5 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Faker.Combinators: fakeBoundedEnum :: (Enum a, Bounded a) => Fake a
Files
- ChangeLog.md +5/−0
- README.md +1/−1
- fakedata.cabal +2/−2
- src/Faker/Combinators.hs +34/−2
ChangeLog.md view
@@ -1,5 +1,10 @@ # Changelog for fakedata +## 0.7.1++* Add combinator for `fakeBoundedEnum` In Faker.Combinators+* Improved Haddock documentation for Faker.Combinators+ ## 0.7.0 * Add support for regex fake value generation. Useful for postcode
README.md view
@@ -4,7 +4,7 @@ Nightly](http://stackage.org/package/fakedata/badge/nightly)](http://stackage.org/nightly/package/fakedata) [](http://stackage.org/lts/package/fakedata)-[](https://dev.azure.com/psibi2000/fakedata/_build/latest?definitionId=7&branchName=master)+ - [Fakedata](#fakedata) - [Tutorial](#tutorial)
fakedata.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 2d74542be8b42d998b4e2d0312644b9fcfc890bfab248b2b23b4f1f2d7a4ba10+-- hash: cb02a7474470faa118a3512db1754e55f5593b16ca1f15eb9494f6e19ce91d59 name: fakedata-version: 0.7.0+version: 0.7.1 synopsis: Library for producing fake data description: Please see the README on GitHub at <https://github.com/psibi/fakedata#readme> category: Random, Fake, FakeData
src/Faker/Combinators.hs view
@@ -7,6 +7,13 @@ import System.Random -- | Generates a random element in the given inclusive range.+--+-- @+-- λ> item \<- 'generate' $ 'fromRange' (1,10)+-- λ> item+-- 2+-- @+-- fromRange :: Random a => (a, a) -> Fake a fromRange rng = Fake@@ -15,6 +22,14 @@ in pure x) -- | Generates a random element over the natural range of `a`.+--+-- @+-- λ> import Data.Word+-- λ> item :: Word8 \<- 'generate' 'pickAny'+-- λ> item+-- 57+-- @+-- pickAny :: Random a => Fake a pickAny = Fake@@ -23,6 +38,14 @@ in pure x) -- | Tries to generate a value that satisfies a predicate.+--+-- @+-- λ> import qualified Faker.Address as AD+-- λ> item :: Text \<- 'generate' $ 'suchThatMaybe' AD.country (\x -> (T.length x > 5))+-- λ> item+-- Just Ecuador+-- @+-- suchThatMaybe :: Fake a -> (a -> Bool) -> Fake (Maybe a) gen `suchThatMaybe` p = do x <- gen@@ -35,9 +58,9 @@ -- -- @ -- λ> import qualified Faker.Address as AD--- λ> item :: Text <- generate $ suchThat AD.country (\x -> (T.length x > 5))+-- λ> item :: Text \<- 'generate' $ 'suchThat' AD.country (\\x -> (T.length x > 5)) -- λ> item--- "Ecuador"+-- Ecuador -- @ -- suchThat :: Fake a -> (a -> Bool) -> Fake a@@ -103,6 +126,7 @@ pick _ _ = error "Fake.pick used with empty list" -- | Generate a value of an enumeration in the range [from, to].+-- -- @since 0.2.0 -- -- @@@ -113,3 +137,11 @@ -- fakeEnumFromTo :: Enum a => a -> a -> Fake a fakeEnumFromTo from to = toEnum <$> fromRange (fromEnum from, fromEnum to)++-- | A sumtype can just use this function directly. Defined as+-- fakeBoundedEnum = `fakeEnumFromTo` `minBound` `maxBound`+--+-- @since 0.7.1+--+fakeBoundedEnum :: (Enum a, Bounded a) => Fake a+fakeBoundedEnum = fakeEnumFromTo minBound maxBound