@devrev/meerkat-node 0.0.112 → 0.0.116

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,816 @@
1
+ export declare const CREATE_TEST_TABLE = "\nCREATE TABLE orders (\n order_id INTEGER,\n customer_id VARCHAR,\n product_id VARCHAR,\n order_date DATE,\n order_amount FLOAT,\n vendors VARCHAR[]\n);\n";
2
+ export declare const INPUT_DATA_QUERY = "\nINSERT INTO orders VALUES\n(1, '1', '1', '2022-01-01', 50, ['myntra', 'amazon', 'flipkart']),\n(2, '1', '2', '2022-01-02', 80, ['myntra']),\n(3, '2', '3', '2022-02-01', 25, []),\n(4, '2', '1', '2022-03-01', 75, ['flipkart']),\n(5, '3', '1', '2022-03-02', 100, ['myntra', 'amazon', 'flipkart']),\n(6, '4', '2', '2022-04-01', 45, []),\n(7, '4', '3', '2022-05-01', 90, ['myntra', 'flipkart']),\n(8, '5', '1', '2022-05-02', 65, ['amazon', 'flipkart']),\n(9, '5', '2', '2022-05-05', 85, []),\n(10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),\n(11, '6aa6', '3', '2024-06-01', 0, ['amazon']),\n(12, NULL, '3', '2024-07-01', 100, ['flipkart']),\n(13, '7', '6', '2024-08-01', 100, ['swiggy''s']),\n(14, '8', '1', '2024-09-01', 50, NULL);\n";
3
+ export declare const TABLE_SCHEMA: {
4
+ name: string;
5
+ sql: string;
6
+ measures: {
7
+ name: string;
8
+ sql: string;
9
+ type: string;
10
+ }[];
11
+ dimensions: {
12
+ name: string;
13
+ sql: string;
14
+ type: string;
15
+ }[];
16
+ };
17
+ /**
18
+ * Get test data based on alias configuration.
19
+ * @param useSafeAlias - When true, returns test data with dot notation aliases (e.g., "orders.customer_id")
20
+ * When false, returns test data with underscore notation aliases (e.g., orders__customer_id)
21
+ */
22
+ export declare const getTestData: ({ useSafeAlias }: {
23
+ useSafeAlias: boolean;
24
+ }) => ({
25
+ testName: string;
26
+ expectedSQL: string;
27
+ cubeInput: {
28
+ measures: string[];
29
+ filters: never[];
30
+ dimensions: string[];
31
+ limit: number;
32
+ };
33
+ expectedOutput: {
34
+ orders__order_month: string;
35
+ orders__total_order_amount: number;
36
+ }[];
37
+ }[] | {
38
+ testName: string;
39
+ expectedSQL: string;
40
+ cubeInput: {
41
+ measures: string[];
42
+ filters: never[];
43
+ dimensions: string[];
44
+ order: {
45
+ 'orders.total_order_amount': string;
46
+ 'orders.customer_id': string;
47
+ };
48
+ };
49
+ expectedOutput: ({
50
+ orders__customer_id: string;
51
+ orders__total_order_amount: number;
52
+ } | {
53
+ orders__customer_id: null;
54
+ orders__total_order_amount: number;
55
+ })[];
56
+ }[] | {
57
+ testName: string;
58
+ expectedSQL: string;
59
+ cubeInput: {
60
+ measures: string[];
61
+ filters: {
62
+ member: string;
63
+ operator: string;
64
+ values: string[];
65
+ }[];
66
+ dimensions: never[];
67
+ };
68
+ expectedOutput: ({
69
+ order_id: number;
70
+ customer_id: string;
71
+ orders__customer_id: string;
72
+ product_id: string;
73
+ order_date: string;
74
+ order_amount: number;
75
+ vendors: string[];
76
+ } | {
77
+ order_id: number;
78
+ customer_id: string;
79
+ orders__customer_id: string;
80
+ product_id: string;
81
+ order_date: string;
82
+ order_amount: number;
83
+ vendors: null;
84
+ })[];
85
+ }[] | {
86
+ testName: string;
87
+ expectedSQL: string;
88
+ cubeInput: {
89
+ measures: string[];
90
+ filters: {
91
+ and: {
92
+ member: string;
93
+ operator: string;
94
+ values: string[];
95
+ }[];
96
+ }[];
97
+ dimensions: never[];
98
+ };
99
+ expectedOutput: ({
100
+ order_id: number;
101
+ customer_id: string;
102
+ orders__customer_id: string;
103
+ product_id: string;
104
+ order_date: string;
105
+ order_amount: number;
106
+ vendors: string[];
107
+ orders__order_date?: undefined;
108
+ } | {
109
+ customer_id: string;
110
+ order_amount: number;
111
+ order_date: string;
112
+ order_id: number;
113
+ orders__customer_id: string;
114
+ orders__order_date: undefined;
115
+ product_id: string;
116
+ vendors: string[];
117
+ } | {
118
+ customer_id: string;
119
+ order_amount: number;
120
+ order_date: string;
121
+ order_id: number;
122
+ orders__customer_id: string;
123
+ orders__order_date: undefined;
124
+ product_id: string;
125
+ vendors: null;
126
+ })[];
127
+ }[] | {
128
+ testName: string;
129
+ expectedSQL: string;
130
+ cubeInput: {
131
+ measures: string[];
132
+ filters: {
133
+ member: string;
134
+ operator: string;
135
+ values: string[];
136
+ }[];
137
+ dimensions: never[];
138
+ };
139
+ expectedOutput: ({
140
+ order_id: number;
141
+ customer_id: string;
142
+ product_id: string;
143
+ order_date: string;
144
+ order_amount: number;
145
+ orders__order_amount: number;
146
+ vendors: string[];
147
+ orders__order_date?: undefined;
148
+ } | {
149
+ customer_id: null;
150
+ order_amount: number;
151
+ order_date: string;
152
+ order_id: number;
153
+ orders__order_amount: number;
154
+ orders__order_date: undefined;
155
+ product_id: string;
156
+ vendors: string[];
157
+ } | {
158
+ customer_id: string;
159
+ order_amount: number;
160
+ order_date: string;
161
+ order_id: number;
162
+ orders__order_amount: number;
163
+ orders__order_date: undefined;
164
+ product_id: string;
165
+ vendors: string[];
166
+ })[];
167
+ }[] | {
168
+ testName: string;
169
+ expectedSQL: string;
170
+ cubeInput: {
171
+ measures: string[];
172
+ filters: {
173
+ member: string;
174
+ operator: string;
175
+ values: string[];
176
+ }[];
177
+ dimensions: never[];
178
+ };
179
+ expectedOutput: ({
180
+ order_id: number;
181
+ customer_id: string;
182
+ product_id: string;
183
+ order_date: string;
184
+ order_amount: number;
185
+ orders__order_date: string;
186
+ vendors: string[];
187
+ } | {
188
+ customer_id: null;
189
+ order_amount: number;
190
+ order_date: string;
191
+ order_id: number;
192
+ orders__order_date: string;
193
+ product_id: string;
194
+ vendors: string[];
195
+ } | {
196
+ customer_id: string;
197
+ order_amount: number;
198
+ order_date: string;
199
+ order_id: number;
200
+ orders__order_date: string;
201
+ product_id: string;
202
+ vendors: null;
203
+ })[];
204
+ }[] | {
205
+ testName: string;
206
+ expectedSQL: string;
207
+ cubeInput: {
208
+ measures: string[];
209
+ filters: {
210
+ and: {
211
+ member: string;
212
+ operator: string;
213
+ values: string[];
214
+ }[];
215
+ }[];
216
+ dimensions: never[];
217
+ };
218
+ expectedOutput: {
219
+ order_id: number;
220
+ customer_id: string;
221
+ product_id: string;
222
+ order_date: string;
223
+ order_amount: number;
224
+ orders__order_amount: number;
225
+ orders__order_date: string;
226
+ vendors: string[];
227
+ }[];
228
+ }[] | {
229
+ testName: string;
230
+ expectedSQL: string;
231
+ cubeInput: {
232
+ measures: string[];
233
+ filters: {
234
+ and: ({
235
+ member: string;
236
+ operator: string;
237
+ values?: undefined;
238
+ } | {
239
+ member: string;
240
+ operator: string;
241
+ values: string[];
242
+ })[];
243
+ }[];
244
+ dimensions: never[];
245
+ };
246
+ expectedOutput: ({
247
+ customer_id: string;
248
+ order_amount: number;
249
+ order_date: string;
250
+ order_id: number;
251
+ orders__order_amount: number;
252
+ orders__order_date: undefined;
253
+ orders__product_id: string;
254
+ product_id: string;
255
+ vendors: string[];
256
+ } | {
257
+ customer_id: null;
258
+ order_amount: number;
259
+ order_date: string;
260
+ order_id: number;
261
+ orders__order_amount: number;
262
+ orders__order_date: undefined;
263
+ orders__product_id: string;
264
+ product_id: string;
265
+ vendors: string[];
266
+ })[];
267
+ }[] | {
268
+ testName: string;
269
+ expectedSQL: string;
270
+ cubeInput: {
271
+ measures: string[];
272
+ filters: {
273
+ and: ({
274
+ member: string;
275
+ operator: string;
276
+ values?: undefined;
277
+ } | {
278
+ member: string;
279
+ operator: string;
280
+ values: string[];
281
+ })[];
282
+ }[];
283
+ dimensions: never[];
284
+ };
285
+ expectedOutput: {
286
+ orders__customer_id: null;
287
+ customer_id: null;
288
+ order_amount: number;
289
+ order_date: string;
290
+ order_id: number;
291
+ orders__order_date: undefined;
292
+ orders__product_id: string;
293
+ product_id: string;
294
+ vendors: string[];
295
+ }[];
296
+ }[] | ({
297
+ testName: string;
298
+ expectedSQL: string;
299
+ cubeInput: {
300
+ measures: string[];
301
+ filters: {
302
+ and: {
303
+ member: string;
304
+ operator: string;
305
+ values: string[];
306
+ }[];
307
+ }[];
308
+ dimensions: never[];
309
+ };
310
+ expectedOutput: {
311
+ customer_id: string;
312
+ order_amount: number;
313
+ order_date: string;
314
+ order_id: number;
315
+ orders__customer_id: string;
316
+ orders__order_date: undefined;
317
+ orders__vendors: string[];
318
+ product_id: string;
319
+ vendors: string[];
320
+ }[];
321
+ } | {
322
+ testName: string;
323
+ expectedSQL: string;
324
+ cubeInput: {
325
+ measures: string[];
326
+ filters: {
327
+ and: {
328
+ member: string;
329
+ operator: string;
330
+ values: string[];
331
+ }[];
332
+ }[];
333
+ dimensions: never[];
334
+ };
335
+ expectedOutput: {
336
+ customer_id: string;
337
+ order_amount: number;
338
+ order_date: string;
339
+ order_id: number;
340
+ orders__order_date: undefined;
341
+ orders__vendors: string[];
342
+ product_id: string;
343
+ vendors: string[];
344
+ }[];
345
+ })[] | ({
346
+ testName: string;
347
+ expectedSQL: string;
348
+ cubeInput: {
349
+ measures: string[];
350
+ filters: {
351
+ and: {
352
+ member: string;
353
+ operator: string;
354
+ values: string[];
355
+ }[];
356
+ }[];
357
+ dimensions: never[];
358
+ };
359
+ expectedOutput: ({
360
+ customer_id: string;
361
+ order_amount: number;
362
+ order_date: string;
363
+ order_id: number;
364
+ orders__customer_id: string;
365
+ orders__order_date: undefined;
366
+ orders__product_id: string;
367
+ product_id: string;
368
+ vendors: string[];
369
+ } | {
370
+ customer_id: null;
371
+ order_amount: number;
372
+ order_date: string;
373
+ order_id: number;
374
+ orders__customer_id: null;
375
+ orders__order_date: undefined;
376
+ orders__product_id: string;
377
+ product_id: string;
378
+ vendors: string[];
379
+ })[];
380
+ } | {
381
+ testName: string;
382
+ expectedSQL: string;
383
+ cubeInput: {
384
+ measures: string[];
385
+ filters: {
386
+ member: string;
387
+ operator: string;
388
+ values: string[];
389
+ }[];
390
+ dimensions: never[];
391
+ };
392
+ expectedOutput: ({
393
+ customer_id: string;
394
+ order_amount: number;
395
+ order_date: string;
396
+ order_id: number;
397
+ orders__order_date: undefined;
398
+ orders__vendors: string[];
399
+ product_id: string;
400
+ vendors: string[];
401
+ } | {
402
+ customer_id: null;
403
+ order_amount: number;
404
+ order_date: string;
405
+ order_id: number;
406
+ orders__order_date: undefined;
407
+ orders__vendors: string[];
408
+ product_id: string;
409
+ vendors: string[];
410
+ } | {
411
+ customer_id: string;
412
+ order_amount: number;
413
+ order_date: string;
414
+ order_id: number;
415
+ orders__order_date: undefined;
416
+ orders__vendors: null;
417
+ product_id: string;
418
+ vendors: null;
419
+ })[];
420
+ })[])[] | ({
421
+ testName: string;
422
+ expectedSQL: string;
423
+ cubeInput: {
424
+ measures: string[];
425
+ filters: never[];
426
+ dimensions: string[];
427
+ limit: number;
428
+ };
429
+ expectedOutput: {
430
+ 'orders.order_month': string;
431
+ 'orders.total_order_amount': number;
432
+ }[];
433
+ }[] | {
434
+ testName: string;
435
+ expectedSQL: string;
436
+ cubeInput: {
437
+ measures: string[];
438
+ filters: never[];
439
+ dimensions: string[];
440
+ order: {
441
+ 'orders.total_order_amount': string;
442
+ 'orders.customer_id': string;
443
+ };
444
+ };
445
+ expectedOutput: ({
446
+ 'orders.customer_id': string;
447
+ 'orders.total_order_amount': number;
448
+ } | {
449
+ 'orders.customer_id': null;
450
+ 'orders.total_order_amount': number;
451
+ })[];
452
+ }[] | {
453
+ testName: string;
454
+ expectedSQL: string;
455
+ cubeInput: {
456
+ measures: string[];
457
+ filters: {
458
+ member: string;
459
+ operator: string;
460
+ values: string[];
461
+ }[];
462
+ dimensions: never[];
463
+ };
464
+ expectedOutput: ({
465
+ order_id: number;
466
+ customer_id: string;
467
+ 'orders.customer_id': string;
468
+ product_id: string;
469
+ order_date: string;
470
+ order_amount: number;
471
+ vendors: string[];
472
+ } | {
473
+ order_id: number;
474
+ customer_id: string;
475
+ 'orders.customer_id': string;
476
+ product_id: string;
477
+ order_date: string;
478
+ order_amount: number;
479
+ vendors: null;
480
+ })[];
481
+ }[] | {
482
+ testName: string;
483
+ expectedSQL: string;
484
+ cubeInput: {
485
+ measures: string[];
486
+ filters: {
487
+ and: {
488
+ member: string;
489
+ operator: string;
490
+ values: string[];
491
+ }[];
492
+ }[];
493
+ dimensions: never[];
494
+ };
495
+ expectedOutput: ({
496
+ order_id: number;
497
+ customer_id: string;
498
+ 'orders.customer_id': string;
499
+ product_id: string;
500
+ order_date: string;
501
+ order_amount: number;
502
+ vendors: string[];
503
+ 'orders.order_date'?: undefined;
504
+ } | {
505
+ customer_id: string;
506
+ order_amount: number;
507
+ order_date: string;
508
+ order_id: number;
509
+ 'orders.customer_id': string;
510
+ 'orders.order_date': undefined;
511
+ product_id: string;
512
+ vendors: string[];
513
+ } | {
514
+ customer_id: string;
515
+ order_amount: number;
516
+ order_date: string;
517
+ order_id: number;
518
+ 'orders.customer_id': string;
519
+ 'orders.order_date': undefined;
520
+ product_id: string;
521
+ vendors: null;
522
+ })[];
523
+ }[] | {
524
+ testName: string;
525
+ expectedSQL: string;
526
+ cubeInput: {
527
+ measures: string[];
528
+ filters: {
529
+ member: string;
530
+ operator: string;
531
+ values: string[];
532
+ }[];
533
+ dimensions: never[];
534
+ };
535
+ expectedOutput: ({
536
+ order_id: number;
537
+ customer_id: string;
538
+ product_id: string;
539
+ order_date: string;
540
+ order_amount: number;
541
+ 'orders.order_amount': number;
542
+ vendors: string[];
543
+ 'orders.order_date'?: undefined;
544
+ } | {
545
+ customer_id: null;
546
+ order_amount: number;
547
+ order_date: string;
548
+ order_id: number;
549
+ 'orders.order_amount': number;
550
+ 'orders.order_date': undefined;
551
+ product_id: string;
552
+ vendors: string[];
553
+ } | {
554
+ customer_id: string;
555
+ order_amount: number;
556
+ order_date: string;
557
+ order_id: number;
558
+ 'orders.order_amount': number;
559
+ 'orders.order_date': undefined;
560
+ product_id: string;
561
+ vendors: string[];
562
+ })[];
563
+ }[] | {
564
+ testName: string;
565
+ expectedSQL: string;
566
+ cubeInput: {
567
+ measures: string[];
568
+ filters: {
569
+ member: string;
570
+ operator: string;
571
+ values: string[];
572
+ }[];
573
+ dimensions: never[];
574
+ };
575
+ expectedOutput: ({
576
+ order_id: number;
577
+ customer_id: string;
578
+ product_id: string;
579
+ order_date: string;
580
+ order_amount: number;
581
+ 'orders.order_date': string;
582
+ vendors: string[];
583
+ } | {
584
+ customer_id: null;
585
+ order_amount: number;
586
+ order_date: string;
587
+ order_id: number;
588
+ 'orders.order_date': string;
589
+ product_id: string;
590
+ vendors: string[];
591
+ } | {
592
+ customer_id: string;
593
+ order_amount: number;
594
+ order_date: string;
595
+ order_id: number;
596
+ 'orders.order_date': string;
597
+ product_id: string;
598
+ vendors: null;
599
+ })[];
600
+ }[] | {
601
+ testName: string;
602
+ expectedSQL: string;
603
+ cubeInput: {
604
+ measures: string[];
605
+ filters: {
606
+ and: {
607
+ member: string;
608
+ operator: string;
609
+ values: string[];
610
+ }[];
611
+ }[];
612
+ dimensions: never[];
613
+ };
614
+ expectedOutput: {
615
+ order_id: number;
616
+ customer_id: string;
617
+ product_id: string;
618
+ order_date: string;
619
+ order_amount: number;
620
+ 'orders.order_amount': number;
621
+ 'orders.order_date': string;
622
+ vendors: string[];
623
+ }[];
624
+ }[] | {
625
+ testName: string;
626
+ expectedSQL: string;
627
+ cubeInput: {
628
+ measures: string[];
629
+ filters: {
630
+ and: ({
631
+ member: string;
632
+ operator: string;
633
+ values?: undefined;
634
+ } | {
635
+ member: string;
636
+ operator: string;
637
+ values: string[];
638
+ })[];
639
+ }[];
640
+ dimensions: never[];
641
+ };
642
+ expectedOutput: ({
643
+ customer_id: string;
644
+ order_amount: number;
645
+ order_date: string;
646
+ order_id: number;
647
+ 'orders.order_amount': number;
648
+ 'orders.order_date': undefined;
649
+ 'orders.product_id': string;
650
+ product_id: string;
651
+ vendors: string[];
652
+ } | {
653
+ customer_id: null;
654
+ order_amount: number;
655
+ order_date: string;
656
+ order_id: number;
657
+ 'orders.order_amount': number;
658
+ 'orders.order_date': undefined;
659
+ 'orders.product_id': string;
660
+ product_id: string;
661
+ vendors: string[];
662
+ })[];
663
+ }[] | {
664
+ testName: string;
665
+ expectedSQL: string;
666
+ cubeInput: {
667
+ measures: string[];
668
+ filters: {
669
+ and: ({
670
+ member: string;
671
+ operator: string;
672
+ values?: undefined;
673
+ } | {
674
+ member: string;
675
+ operator: string;
676
+ values: string[];
677
+ })[];
678
+ }[];
679
+ dimensions: never[];
680
+ };
681
+ expectedOutput: {
682
+ 'orders.customer_id': null;
683
+ customer_id: null;
684
+ order_amount: number;
685
+ order_date: string;
686
+ order_id: number;
687
+ 'orders.order_date': undefined;
688
+ 'orders.product_id': string;
689
+ product_id: string;
690
+ vendors: string[];
691
+ }[];
692
+ }[] | ({
693
+ testName: string;
694
+ expectedSQL: string;
695
+ cubeInput: {
696
+ measures: string[];
697
+ filters: {
698
+ and: {
699
+ member: string;
700
+ operator: string;
701
+ values: string[];
702
+ }[];
703
+ }[];
704
+ dimensions: never[];
705
+ };
706
+ expectedOutput: {
707
+ customer_id: string;
708
+ order_amount: number;
709
+ order_date: string;
710
+ order_id: number;
711
+ 'orders.customer_id': string;
712
+ 'orders.order_date': undefined;
713
+ 'orders.vendors': string[];
714
+ product_id: string;
715
+ vendors: string[];
716
+ }[];
717
+ } | {
718
+ testName: string;
719
+ expectedSQL: string;
720
+ cubeInput: {
721
+ measures: string[];
722
+ filters: {
723
+ and: {
724
+ member: string;
725
+ operator: string;
726
+ values: string[];
727
+ }[];
728
+ }[];
729
+ dimensions: never[];
730
+ };
731
+ expectedOutput: {
732
+ customer_id: string;
733
+ order_amount: number;
734
+ order_date: string;
735
+ order_id: number;
736
+ 'orders.order_date': undefined;
737
+ 'orders.vendors': string[];
738
+ product_id: string;
739
+ vendors: string[];
740
+ }[];
741
+ })[] | ({
742
+ testName: string;
743
+ expectedSQL: string;
744
+ cubeInput: {
745
+ measures: string[];
746
+ filters: {
747
+ and: {
748
+ member: string;
749
+ operator: string;
750
+ values: string[];
751
+ }[];
752
+ }[];
753
+ dimensions: never[];
754
+ };
755
+ expectedOutput: ({
756
+ customer_id: string;
757
+ order_amount: number;
758
+ order_date: string;
759
+ order_id: number;
760
+ 'orders.customer_id': string;
761
+ 'orders.order_date': undefined;
762
+ 'orders.product_id': string;
763
+ product_id: string;
764
+ vendors: string[];
765
+ } | {
766
+ customer_id: null;
767
+ order_amount: number;
768
+ order_date: string;
769
+ order_id: number;
770
+ 'orders.customer_id': null;
771
+ 'orders.order_date': undefined;
772
+ 'orders.product_id': string;
773
+ product_id: string;
774
+ vendors: string[];
775
+ })[];
776
+ } | {
777
+ testName: string;
778
+ expectedSQL: string;
779
+ cubeInput: {
780
+ measures: string[];
781
+ filters: {
782
+ member: string;
783
+ operator: string;
784
+ values: string[];
785
+ }[];
786
+ dimensions: never[];
787
+ };
788
+ expectedOutput: ({
789
+ customer_id: string;
790
+ order_amount: number;
791
+ order_date: string;
792
+ order_id: number;
793
+ 'orders.order_date': undefined;
794
+ 'orders.vendors': string[];
795
+ product_id: string;
796
+ vendors: string[];
797
+ } | {
798
+ customer_id: null;
799
+ order_amount: number;
800
+ order_date: string;
801
+ order_id: number;
802
+ 'orders.order_date': undefined;
803
+ 'orders.vendors': string[];
804
+ product_id: string;
805
+ vendors: string[];
806
+ } | {
807
+ customer_id: string;
808
+ order_amount: number;
809
+ order_date: string;
810
+ order_id: number;
811
+ 'orders.order_date': undefined;
812
+ 'orders.vendors': null;
813
+ product_id: string;
814
+ vendors: null;
815
+ })[];
816
+ })[])[];