Control.Monad.Gen.Common
- Package
- purescript-gen
- Repository
- purescript/purescript-gen
#genEither' Source
genEither' :: forall m a b. MonadGen m => Number -> m a -> m b -> m (Either a b)Creates a generator that outputs Either values, choosing a value from a
Left or the Right with adjustable bias. As the bias value increases,
the chance of returning a Left value rises. A bias ≤ 0.0 will always
return Right, a bias ≥ 1.0 will always return Left.
#genIdentity Source
genIdentity :: forall m a. Functor m => m a -> m (Identity a)Creates a generator that outputs Identity values, choosing a value from
another generator for the inner value.
#genMaybe' Source
genMaybe' :: forall m a. MonadGen m => Number -> m a -> m (Maybe a)Creates a generator that outputs Maybe values, choosing a value from
another generator for the inner value, with an adjustable bias for how
often Just is returned vs Nothing. A bias ≤ 0.0 will always
return Nothing, a bias ≥ 1.0 will always return Just.
#genNonEmpty Source
genNonEmpty :: forall m a f. MonadRec m => MonadGen m => Unfoldable f => m a -> m (NonEmpty f a)Creates a generator that outputs NonEmpty values, choosing values from a
generator for each of the items.
The size of the value will be determined by the current size state
for the generator. To generate a value of a particular size, use the
resize function from the MonadGen class first.