@@ -41,22 +41,20 @@ import Data.Eq (class Eq1)
41
41
import Data.Foldable as F
42
42
import Data.HugeInt as HI
43
43
import Data.HugeNum as HN
44
- import Data.Int as Int
45
44
import Data.Json.Extended as EJ
46
45
import Data.List as L
47
46
import Data.Maybe (Maybe (..))
48
47
import Data.Newtype (class Newtype )
49
48
import Data.NonEmpty ((:|))
50
49
import Data.Ord (class Ord1 )
51
- import Data.String as S
52
50
import Data.String.Gen as GenS
53
51
import Data.Traversable as T
54
52
import Matryoshka (Algebra , CoalgebraM , class Corecursive , embed )
55
53
import SqlSquared.Path as Pt
56
54
import SqlSquared.Signature.BinaryOperator (BinaryOperator (..), binopFromString , binopToString , genBinaryOperator , printBinaryOperator ) as BO
57
55
import SqlSquared.Signature.Case (Case (..), genCase , printCase ) as CS
58
56
import SqlSquared.Signature.GroupBy (GroupBy (..), genGroupBy , printGroupBy ) as GB
59
- import SqlSquared.Signature.Ident (Ident (..), printIdent ) as ID
57
+ import SqlSquared.Signature.Ident (Ident (..), genIdent , printIdent ) as ID
60
58
import SqlSquared.Signature.JoinType (JoinType (..), genJoinType , joinTypeFromString , printJoinType ) as JT
61
59
import SqlSquared.Signature.OrderBy (OrderBy (..), genOrderBy , printOrderBy ) as OB
62
60
import SqlSquared.Signature.OrderType (OrderType (..), genOrderType , orderTypeFromString , printOrderType ) as OT
@@ -389,8 +387,8 @@ genSqlF
389
387
genSqlF genLiteral n
390
388
| n < 2 =
391
389
Gen .oneOf $ (Literal <$> genLiteral n) :|
392
- [ map Identifier genIdent
393
- , map Var genIdent
390
+ [ map Identifier ID . genIdent
391
+ , map Var ID . genIdent
394
392
, pure $ Splice Nothing
395
393
, pure $ SetLiteral L.Nil
396
394
]
@@ -437,7 +435,7 @@ genUnop n = do
437
435
438
436
genInvokeFunction ∷ ∀ m l . Gen.MonadGen m ⇒ CoalgebraM m (SqlF l ) Int
439
437
genInvokeFunction n = do
440
- name ← genIdent
438
+ name ← ID . genIdent
441
439
len ← Gen .chooseInt 0 $ n - 1
442
440
pure $ InvokeFunction { name, args: map (const $ n - 1 ) $ L .range 0 len }
443
441
@@ -469,7 +467,7 @@ genSwitch n = do
469
467
470
468
genLet ∷ ∀ m l . Gen.MonadGen m ⇒ CoalgebraM m (SqlF l ) Int
471
469
genLet n = do
472
- ident ← genIdent
470
+ ident ← ID . genIdent
473
471
pure $ Let { ident
474
472
, bindTo: n - 1
475
473
, in_: n - 1
@@ -516,24 +514,18 @@ genSelect n = do
516
514
517
515
genFunctionDecl ∷ ∀ m . Gen.MonadGen m ⇒ CoalgebraM m SqlDeclF Int
518
516
genFunctionDecl n = do
519
- ident ← genIdent
517
+ ident ← ID . genIdent
520
518
len ← Gen .chooseInt 0 $ n - 1
521
519
let
522
520
foldFn acc _ = do
523
- arg ← genIdent
521
+ arg ← ID . genIdent
524
522
pure $ arg L .: acc
525
523
args ← L .foldM foldFn L.Nil $ L .range 0 len
526
524
pure $ FunctionDecl { ident, args, body: n - 1 }
527
525
528
526
genImport ∷ ∀ m a . Gen.MonadGen m ⇒ MonadRec m ⇒ m (SqlDeclF a )
529
527
genImport = map Import Pt .genAnyDirPath
530
528
531
- genIdent ∷ ∀ m . Gen.MonadGen m ⇒ m ID.Ident
532
- genIdent = do
533
- start ← Gen .elements $ " a" :| S .split (S.Pattern " " ) " bcdefghijklmnopqrstuvwxyz"
534
- body ← map (Int .toStringAs Int .hexadecimal) (Gen .chooseInt 0 100000 )
535
- pure $ ID.Ident (start <> body)
536
-
537
529
genDecls ∷ ∀ m . Gen.MonadGen m ⇒ MonadRec m ⇒ Int → m (L.List (SqlDeclF Int ))
538
530
genDecls n = do
539
531
let
@@ -568,7 +560,7 @@ genLeaf =
568
560
569
561
genLetP ∷ ∀ m t . Int → GenSql m t
570
562
genLetP n = do
571
- ident ← genIdent
563
+ ident ← ID . genIdent
572
564
bindTo ← genSql n
573
565
in_ ← genSql n
574
566
pure $ embed $ Let { ident, bindTo, in_ }
@@ -614,7 +606,7 @@ genPrimaryExprP n =
614
606
, genArrayP n
615
607
, genMapP n
616
608
, genSpliceP n
617
- , map (embed ∘ Identifier ) genIdent
609
+ , map (embed ∘ Identifier ) ID . genIdent
618
610
]
619
611
620
612
genCaseP ∷ ∀ m t . Int → GenSql m t
0 commit comments