@@ -11,9 +11,9 @@ module SqlSquared
1111 , decodeJson
1212 , decodeJsonQuery
1313 , decodeJsonModule
14- , arbitrarySqlOfSize
15- , arbitrarySqlQueryOfSize
16- , arbitrarySqlModuleOfSize
14+ , genSql
15+ , genSqlQuery
16+ , genSqlModule
1717 , module Sig
1818 , module Lenses
1919 , module Constructors
@@ -22,20 +22,18 @@ module SqlSquared
2222
2323import Prelude
2424
25+ import Control.Monad.Gen as Gen
26+ import Control.Monad.Rec.Class (class MonadRec )
2527import Data.Argonaut as J
2628import Data.Either (Either )
2729import Data.Functor.Mu (Mu )
2830import Data.Json.Extended as EJ
2931import Data.Traversable (traverse )
30-
3132import Matryoshka (cata , anaM )
32-
33- import SqlSquared.Signature as Sig
34- import SqlSquared.Lenses as Lenses
3533import SqlSquared.Constructors as Constructors
34+ import SqlSquared.Lenses as Lenses
3635import SqlSquared.Parser as Parser
37-
38- import Test.QuickCheck.Gen as Gen
36+ import SqlSquared.Signature as Sig
3937
4038type Sql = Mu (Sig.SqlF EJ.EJsonF )
4139
@@ -70,11 +68,13 @@ decodeJsonQuery = traverse decodeJson <=< Sig.decodeJsonSqlQueryF
7068decodeJsonModule ∷ J.Json → Either String SqlModule
7169decodeJsonModule = traverse decodeJson <=< Sig .decodeJsonSqlModuleF
7270
73- arbitrarySqlOfSize ∷ Int → Gen.Gen Sql
74- arbitrarySqlOfSize = anaM $ Sig .arbitrarySqlF EJ .arbitraryEJsonF
71+ genSql ∷ ∀ m . Gen.MonadGen m ⇒ MonadRec m ⇒ m Sql
72+ genSql = Gen .sized $ anaM ( Sig .genSqlF EJ .arbitraryEJsonF)
7573
76- arbitrarySqlQueryOfSize ∷ Int → Gen.Gen SqlQuery
77- arbitrarySqlQueryOfSize = traverse arbitrarySqlOfSize <=< Sig .arbitrarySqlQueryF
74+ genSqlQuery ∷ ∀ m . Gen.MonadGen m ⇒ MonadRec m ⇒ m SqlQuery
75+ genSqlQuery =
76+ Gen .sized $ traverse (flip Gen .resize genSql <<< const) <=< Sig .genSqlQueryF
7877
79- arbitrarySqlModuleOfSize ∷ Int → Gen.Gen SqlModule
80- arbitrarySqlModuleOfSize = traverse arbitrarySqlOfSize <=< Sig .arbitrarySqlModuleF
78+ genSqlModule ∷ ∀ m . Gen.MonadGen m ⇒ MonadRec m ⇒ m SqlModule
79+ genSqlModule =
80+ Gen .sized $ traverse (flip Gen .resize genSql <<< const) <=< Sig .genSqlModuleF
0 commit comments