@devrev/meerkat-node 0.0.92 → 0.0.94

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.
Files changed (33) hide show
  1. package/__tests__/test-data.js +1279 -0
  2. package/__tests__/test-data.js.map +1 -0
  3. package/cube-to-sql/cube-to-sql.js.map +1 -0
  4. package/duckdb-exec.js.map +1 -0
  5. package/duckdb-manager/duckdb-manager.js.map +1 -0
  6. package/duckdb-singleton.js.map +1 -0
  7. package/file-manager/file-manager.js.map +1 -0
  8. package/index.js.map +1 -0
  9. package/node-sql-to-serialization.js.map +1 -0
  10. package/package.json +4 -3
  11. package/src/__tests__/test-data.d.ts +10 -28
  12. package/utils/duckdb-type-convertor.js.map +1 -0
  13. package/utils/hash-string.js.map +1 -0
  14. package/src/__tests__/test-data.js +0 -1228
  15. package/src/__tests__/test-data.js.map +0 -1
  16. package/src/cube-to-sql/cube-to-sql.js.map +0 -1
  17. package/src/duckdb-exec.js.map +0 -1
  18. package/src/duckdb-manager/duckdb-manager.js.map +0 -1
  19. package/src/duckdb-singleton.js.map +0 -1
  20. package/src/file-manager/file-manager.js.map +0 -1
  21. package/src/index.js.map +0 -1
  22. package/src/node-sql-to-serialization.js.map +0 -1
  23. package/src/utils/duckdb-type-convertor.js.map +0 -1
  24. package/src/utils/hash-string.js.map +0 -1
  25. /package/{src/cube-to-sql → cube-to-sql}/cube-to-sql.js +0 -0
  26. /package/{src/duckdb-exec.js → duckdb-exec.js} +0 -0
  27. /package/{src/duckdb-manager → duckdb-manager}/duckdb-manager.js +0 -0
  28. /package/{src/duckdb-singleton.js → duckdb-singleton.js} +0 -0
  29. /package/{src/file-manager → file-manager}/file-manager.js +0 -0
  30. /package/{src/index.js → index.js} +0 -0
  31. /package/{src/node-sql-to-serialization.js → node-sql-to-serialization.js} +0 -0
  32. /package/{src/utils → utils}/duckdb-type-convertor.js +0 -0
  33. /package/{src/utils → utils}/hash-string.js +0 -0
@@ -1,1228 +0,0 @@
1
- "use strict";
2
- function _export(target, all) {
3
- for(var name in all)Object.defineProperty(target, name, {
4
- enumerable: true,
5
- get: all[name]
6
- });
7
- }
8
- _export(exports, {
9
- CREATE_TEST_TABLE: function() {
10
- return CREATE_TEST_TABLE;
11
- },
12
- INPUT_DATA_QUERY: function() {
13
- return INPUT_DATA_QUERY;
14
- },
15
- TABLE_SCHEMA: function() {
16
- return TABLE_SCHEMA;
17
- },
18
- TEST_DATA: function() {
19
- return TEST_DATA;
20
- }
21
- });
22
- const CREATE_TEST_TABLE = `
23
- CREATE TABLE orders (
24
- order_id INTEGER,
25
- customer_id VARCHAR,
26
- product_id VARCHAR,
27
- order_date DATE,
28
- order_amount FLOAT,
29
- vendors VARCHAR[]
30
- );
31
- `;
32
- const INPUT_DATA_QUERY = `
33
- INSERT INTO orders VALUES
34
- (1, '1', '1', '2022-01-01', 50, ['myntra', 'amazon', 'flipkart']),
35
- (2, '1', '2', '2022-01-02', 80, ['myntra']),
36
- (3, '2', '3', '2022-02-01', 25, []),
37
- (4, '2', '1', '2022-03-01', 75, ['flipkart']),
38
- (5, '3', '1', '2022-03-02', 100, ['myntra', 'amazon', 'flipkart']),
39
- (6, '4', '2', '2022-04-01', 45, []),
40
- (7, '4', '3', '2022-05-01', 90, ['myntra', 'flipkart']),
41
- (8, '5', '1', '2022-05-02', 65, ['amazon', 'flipkart']),
42
- (9, '5', '2', '2022-05-05', 85, []),
43
- (10, '6', '3', '2022-06-01', 120, ['myntra', 'amazon']),
44
- (11, '6aa6', '3', '2024-06-01', 0, ['amazon']),
45
- (12, NULL, '3', '2024-07-01', 100, ['flipkart']);
46
- `;
47
- const TABLE_SCHEMA = {
48
- name: 'orders',
49
- sql: 'select * from orders',
50
- measures: [
51
- {
52
- name: 'order_amount',
53
- sql: 'order_amount',
54
- type: 'number'
55
- },
56
- {
57
- name: 'total_order_amount',
58
- sql: 'SUM(order_amount)',
59
- type: 'number'
60
- }
61
- ],
62
- dimensions: [
63
- {
64
- name: 'order_date',
65
- sql: 'order_date',
66
- type: 'time'
67
- },
68
- {
69
- name: 'order_id',
70
- sql: 'order_id',
71
- type: 'number'
72
- },
73
- {
74
- name: 'customer_id',
75
- sql: 'customer_id',
76
- type: 'string'
77
- },
78
- {
79
- name: 'product_id',
80
- sql: 'product_id',
81
- type: 'string'
82
- },
83
- {
84
- name: 'order_month',
85
- sql: `DATE_TRUNC('month', order_date)`,
86
- type: 'string'
87
- },
88
- {
89
- name: 'vendors',
90
- sql: 'vendors',
91
- type: 'string_array'
92
- }
93
- ]
94
- };
95
- const TEST_DATA = [
96
- {
97
- testName: 'GroupBySQLInnerQuery',
98
- expectedSQL: `SELECT SUM(order_amount) AS orders__total_order_amount , orders__order_month FROM (SELECT *, DATE_TRUNC('month', order_date) AS orders__order_month FROM (select * from orders) AS orders) AS orders GROUP BY orders__order_month LIMIT 1`,
99
- cubeInput: {
100
- measures: [
101
- 'orders.total_order_amount'
102
- ],
103
- filters: [],
104
- dimensions: [
105
- 'orders.order_month'
106
- ],
107
- limit: 1
108
- },
109
- expectedOutput: [
110
- {
111
- orders__order_month: '2022-01-01T00:00:00.000Z',
112
- orders__total_order_amount: 130
113
- }
114
- ]
115
- },
116
- {
117
- testName: 'GroupBy',
118
- expectedSQL: `SELECT SUM(order_amount) AS orders__total_order_amount , orders__customer_id FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders GROUP BY orders__customer_id ORDER BY orders__total_order_amount ASC, orders__customer_id ASC`,
119
- cubeInput: {
120
- measures: [
121
- 'orders.total_order_amount'
122
- ],
123
- filters: [],
124
- dimensions: [
125
- 'orders.customer_id'
126
- ],
127
- order: {
128
- 'orders.total_order_amount': 'asc',
129
- 'orders.customer_id': 'asc'
130
- }
131
- },
132
- expectedOutput: [
133
- {
134
- "orders__customer_id": "6aa6",
135
- "orders__total_order_amount": 0
136
- },
137
- {
138
- "orders__customer_id": "2",
139
- "orders__total_order_amount": 100
140
- },
141
- {
142
- "orders__customer_id": "3",
143
- "orders__total_order_amount": 100
144
- },
145
- {
146
- "orders__customer_id": null,
147
- "orders__total_order_amount": 100
148
- },
149
- {
150
- "orders__customer_id": "6",
151
- "orders__total_order_amount": 120
152
- },
153
- {
154
- "orders__customer_id": "1",
155
- "orders__total_order_amount": 130
156
- },
157
- {
158
- "orders__customer_id": "4",
159
- "orders__total_order_amount": 135
160
- },
161
- {
162
- "orders__customer_id": "5",
163
- "orders__total_order_amount": 150
164
- }
165
- ]
166
- },
167
- {
168
- testName: 'Equals',
169
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id = '1')`,
170
- cubeInput: {
171
- measures: [
172
- '*'
173
- ],
174
- filters: [
175
- {
176
- member: 'orders.customer_id',
177
- operator: 'equals',
178
- values: [
179
- '1'
180
- ]
181
- }
182
- ],
183
- dimensions: []
184
- },
185
- expectedOutput: [
186
- {
187
- order_id: 1,
188
- customer_id: '1',
189
- orders__customer_id: '1',
190
- product_id: '1',
191
- order_date: '2022-01-01',
192
- order_amount: 50.0,
193
- vendors: [
194
- "myntra",
195
- "amazon",
196
- "flipkart"
197
- ]
198
- },
199
- {
200
- order_id: 2,
201
- customer_id: '1',
202
- orders__customer_id: '1',
203
- product_id: '2',
204
- order_date: '2022-01-02',
205
- order_amount: 80.0,
206
- vendors: [
207
- "myntra"
208
- ]
209
- }
210
- ]
211
- },
212
- {
213
- testName: 'NotEquals',
214
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id != '1')`,
215
- cubeInput: {
216
- measures: [
217
- '*'
218
- ],
219
- filters: [
220
- {
221
- member: 'orders.customer_id',
222
- operator: 'notEquals',
223
- values: [
224
- '1'
225
- ]
226
- }
227
- ],
228
- dimensions: []
229
- },
230
- expectedOutput: [
231
- {
232
- order_id: 3,
233
- customer_id: '2',
234
- orders__customer_id: '2',
235
- product_id: '3',
236
- order_date: '2022-02-01',
237
- order_amount: 25.0,
238
- vendors: []
239
- },
240
- {
241
- order_id: 4,
242
- customer_id: '2',
243
- orders__customer_id: '2',
244
- product_id: '1',
245
- order_date: '2022-03-01',
246
- order_amount: 75.0,
247
- "vendors": [
248
- "flipkart"
249
- ]
250
- },
251
- {
252
- order_id: 5,
253
- customer_id: '3',
254
- orders__customer_id: '3',
255
- product_id: '1',
256
- order_date: '2022-03-02',
257
- order_amount: 100.0,
258
- vendors: [
259
- "myntra",
260
- "amazon",
261
- "flipkart"
262
- ]
263
- },
264
- {
265
- order_id: 6,
266
- customer_id: '4',
267
- orders__customer_id: '4',
268
- product_id: '2',
269
- order_date: '2022-04-01',
270
- order_amount: 45.0,
271
- vendors: []
272
- },
273
- {
274
- order_id: 7,
275
- customer_id: '4',
276
- orders__customer_id: '4',
277
- product_id: '3',
278
- order_date: '2022-05-01',
279
- order_amount: 90.0,
280
- "vendors": [
281
- "myntra",
282
- "flipkart"
283
- ]
284
- },
285
- {
286
- order_id: 8,
287
- customer_id: '5',
288
- orders__customer_id: '5',
289
- product_id: '1',
290
- order_date: '2022-05-02',
291
- order_amount: 65.0,
292
- vendors: [
293
- "amazon",
294
- "flipkart"
295
- ]
296
- },
297
- {
298
- order_id: 9,
299
- customer_id: '5',
300
- orders__customer_id: '5',
301
- product_id: '2',
302
- order_date: '2022-05-05',
303
- order_amount: 85.0,
304
- "vendors": []
305
- },
306
- {
307
- order_id: 10,
308
- customer_id: '6',
309
- orders__customer_id: '6',
310
- product_id: '3',
311
- order_date: '2022-06-01',
312
- order_amount: 120.0,
313
- "vendors": [
314
- "myntra",
315
- "amazon"
316
- ]
317
- },
318
- {
319
- order_id: 11,
320
- customer_id: '6aa6',
321
- orders__customer_id: '6aa6',
322
- product_id: '3',
323
- order_date: '2024-06-01',
324
- order_amount: 0.0,
325
- "vendors": [
326
- "amazon"
327
- ]
328
- }
329
- ]
330
- },
331
- {
332
- testName: 'Contains',
333
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE (orders__customer_id ~~* '%aa%')`,
334
- cubeInput: {
335
- measures: [
336
- '*'
337
- ],
338
- filters: [
339
- {
340
- member: 'orders.customer_id',
341
- operator: 'contains',
342
- values: [
343
- 'aa'
344
- ]
345
- }
346
- ],
347
- dimensions: []
348
- },
349
- expectedOutput: [
350
- {
351
- order_id: 11,
352
- customer_id: '6aa6',
353
- orders__customer_id: '6aa6',
354
- product_id: '3',
355
- order_date: '2024-06-01',
356
- order_amount: 0.0,
357
- "vendors": [
358
- "amazon"
359
- ]
360
- }
361
- ]
362
- },
363
- {
364
- testName: 'NotContains',
365
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id FROM (select * from orders) AS orders) AS orders WHERE ((orders__customer_id !~~ '%1%') AND (orders__customer_id !~~ '%2%') AND (orders__customer_id !~~ '%3%') AND (orders__customer_id !~~ '%4%') AND (orders__customer_id !~~ '%5%') AND (orders__customer_id !~~ '%aa%'))`,
366
- cubeInput: {
367
- measures: [
368
- '*'
369
- ],
370
- filters: [
371
- {
372
- and: [
373
- {
374
- member: 'orders.customer_id',
375
- operator: 'notContains',
376
- values: [
377
- '1'
378
- ]
379
- },
380
- {
381
- member: 'orders.customer_id',
382
- operator: 'notContains',
383
- values: [
384
- '2'
385
- ]
386
- },
387
- {
388
- member: 'orders.customer_id',
389
- operator: 'notContains',
390
- values: [
391
- '3'
392
- ]
393
- },
394
- {
395
- member: 'orders.customer_id',
396
- operator: 'notContains',
397
- values: [
398
- '4'
399
- ]
400
- },
401
- {
402
- member: 'orders.customer_id',
403
- operator: 'notContains',
404
- values: [
405
- '5'
406
- ]
407
- },
408
- {
409
- member: 'orders.customer_id',
410
- operator: 'notContains',
411
- values: [
412
- 'aa'
413
- ]
414
- }
415
- ]
416
- }
417
- ],
418
- dimensions: []
419
- },
420
- expectedOutput: [
421
- {
422
- order_id: 10,
423
- customer_id: '6',
424
- orders__customer_id: '6',
425
- product_id: '3',
426
- order_date: '2022-06-01',
427
- order_amount: 120,
428
- vendors: [
429
- "myntra",
430
- "amazon"
431
- ]
432
- }
433
- ]
434
- },
435
- {
436
- testName: 'GreaterThan',
437
- expectedSQL: `SELECT orders.* FROM (SELECT *, orders.order_amount AS orders__order_amount FROM (select * from orders) AS orders) AS orders WHERE (orders__order_amount > 50)`,
438
- cubeInput: {
439
- measures: [
440
- '*'
441
- ],
442
- filters: [
443
- {
444
- member: 'orders.order_amount',
445
- operator: 'gt',
446
- values: [
447
- '50'
448
- ]
449
- }
450
- ],
451
- dimensions: []
452
- },
453
- expectedOutput: [
454
- {
455
- order_id: 2,
456
- customer_id: '1',
457
- product_id: '2',
458
- order_date: '2022-01-02',
459
- order_amount: 80.0,
460
- orders__order_amount: 80.0,
461
- "vendors": [
462
- "myntra"
463
- ]
464
- },
465
- {
466
- order_id: 4,
467
- customer_id: '2',
468
- product_id: '1',
469
- order_date: '2022-03-01',
470
- order_amount: 75.0,
471
- orders__order_amount: 75.0,
472
- "vendors": [
473
- "flipkart"
474
- ]
475
- },
476
- {
477
- order_id: 5,
478
- customer_id: '3',
479
- product_id: '1',
480
- order_date: '2022-03-02',
481
- order_amount: 100.0,
482
- orders__order_amount: 100.0,
483
- "vendors": [
484
- "myntra",
485
- "amazon",
486
- "flipkart"
487
- ]
488
- },
489
- {
490
- order_id: 7,
491
- customer_id: '4',
492
- product_id: '3',
493
- order_date: '2022-05-01',
494
- order_amount: 90.0,
495
- orders__order_amount: 90.0,
496
- "vendors": [
497
- "myntra",
498
- "flipkart"
499
- ]
500
- },
501
- {
502
- order_id: 8,
503
- customer_id: '5',
504
- product_id: '1',
505
- order_date: '2022-05-02',
506
- order_amount: 65.0,
507
- orders__order_amount: 65.0,
508
- "vendors": [
509
- "amazon",
510
- "flipkart"
511
- ]
512
- },
513
- {
514
- order_id: 9,
515
- customer_id: '5',
516
- product_id: '2',
517
- order_date: '2022-05-05',
518
- order_amount: 85.0,
519
- orders__order_amount: 85.0,
520
- "vendors": []
521
- },
522
- {
523
- order_id: 10,
524
- customer_id: '6',
525
- product_id: '3',
526
- order_date: '2022-06-01',
527
- order_amount: 120.0,
528
- orders__order_amount: 120.0,
529
- "vendors": [
530
- "myntra",
531
- "amazon"
532
- ]
533
- },
534
- {
535
- "customer_id": null,
536
- "order_amount": 100,
537
- "order_date": "2024-07-01T00:00:00.000Z",
538
- "order_id": 12,
539
- "orders__order_amount": 100,
540
- "orders__order_date": undefined,
541
- "product_id": "3",
542
- "vendors": [
543
- "flipkart"
544
- ]
545
- }
546
- ]
547
- },
548
- {
549
- testName: 'LessThan',
550
- expectedSQL: `SELECT orders.* FROM (SELECT *, orders.order_amount AS orders__order_amount FROM (select * from orders) AS orders) AS orders WHERE (orders__order_amount < 50)`,
551
- cubeInput: {
552
- measures: [
553
- '*'
554
- ],
555
- filters: [
556
- {
557
- member: 'orders.order_amount',
558
- operator: 'lt',
559
- values: [
560
- '50'
561
- ]
562
- }
563
- ],
564
- dimensions: []
565
- },
566
- expectedOutput: [
567
- {
568
- order_id: 3,
569
- customer_id: '2',
570
- product_id: '3',
571
- order_date: '2022-02-01',
572
- order_amount: 25.0,
573
- orders__order_amount: 25.0,
574
- "vendors": []
575
- },
576
- {
577
- order_id: 6,
578
- customer_id: '4',
579
- product_id: '2',
580
- order_date: '2022-04-01',
581
- order_amount: 45.0,
582
- orders__order_amount: 45.0,
583
- "vendors": []
584
- },
585
- {
586
- order_id: 11,
587
- customer_id: '6aa6',
588
- product_id: '3',
589
- order_date: '2024-06-01',
590
- order_amount: 0.0,
591
- orders__order_amount: 0.0,
592
- "vendors": [
593
- "amazon"
594
- ]
595
- }
596
- ]
597
- },
598
- {
599
- testName: 'InDateRange',
600
- expectedSQL: `SELECT orders.* FROM (SELECT *, order_date AS orders__order_date FROM (select * from orders) AS orders) AS orders WHERE ((orders__order_date >= '2022-02-01') AND (orders__order_date <= '2022-03-31'))`,
601
- cubeInput: {
602
- measures: [
603
- '*'
604
- ],
605
- filters: [
606
- {
607
- member: 'orders.order_date',
608
- operator: 'inDateRange',
609
- values: [
610
- '2022-02-01',
611
- '2022-03-31'
612
- ]
613
- }
614
- ],
615
- dimensions: []
616
- },
617
- expectedOutput: [
618
- {
619
- order_id: 3,
620
- customer_id: '2',
621
- product_id: '3',
622
- order_date: '2022-02-01',
623
- orders__order_date: '2022-02-01',
624
- order_amount: 25.0,
625
- "vendors": []
626
- },
627
- {
628
- order_id: 4,
629
- customer_id: '2',
630
- product_id: '1',
631
- order_date: '2022-03-01',
632
- orders__order_date: '2022-03-01',
633
- order_amount: 75.0,
634
- "vendors": [
635
- "flipkart"
636
- ]
637
- },
638
- {
639
- order_id: 5,
640
- customer_id: '3',
641
- product_id: '1',
642
- order_date: '2022-03-02',
643
- orders__order_date: '2022-03-02',
644
- order_amount: 100.0,
645
- "vendors": [
646
- "myntra",
647
- "amazon",
648
- "flipkart"
649
- ]
650
- }
651
- ]
652
- },
653
- {
654
- testName: 'NotInDateRange',
655
- expectedSQL: `SELECT orders.* FROM (SELECT *, order_date AS orders__order_date FROM (select * from orders) AS orders) AS orders WHERE ((orders__order_date < '2022-02-01') OR (orders__order_date > '2022-03-31'))`,
656
- cubeInput: {
657
- measures: [
658
- '*'
659
- ],
660
- filters: [
661
- {
662
- member: 'orders.order_date',
663
- operator: 'notInDateRange',
664
- values: [
665
- '2022-02-01',
666
- '2022-03-31'
667
- ]
668
- }
669
- ],
670
- dimensions: []
671
- },
672
- expectedOutput: [
673
- {
674
- order_id: 1,
675
- customer_id: '1',
676
- product_id: '1',
677
- order_date: '2022-01-01',
678
- order_amount: 50.0,
679
- orders__order_date: '2022-01-01',
680
- "vendors": [
681
- "myntra",
682
- "amazon",
683
- "flipkart"
684
- ]
685
- },
686
- {
687
- order_id: 2,
688
- customer_id: '1',
689
- product_id: '2',
690
- order_date: '2022-01-02',
691
- order_amount: 80.0,
692
- orders__order_date: '2022-01-02',
693
- "vendors": [
694
- "myntra"
695
- ]
696
- },
697
- {
698
- order_id: 6,
699
- customer_id: '4',
700
- product_id: '2',
701
- order_date: '2022-04-01',
702
- orders__order_date: '2022-04-01',
703
- order_amount: 45.0,
704
- "vendors": []
705
- },
706
- {
707
- order_id: 7,
708
- customer_id: '4',
709
- product_id: '3',
710
- order_date: '2022-05-01',
711
- orders__order_date: '2022-05-01',
712
- order_amount: 90.0,
713
- "vendors": [
714
- "myntra",
715
- "flipkart"
716
- ]
717
- },
718
- {
719
- order_id: 8,
720
- customer_id: '5',
721
- product_id: '1',
722
- order_date: '2022-05-02',
723
- orders__order_date: '2022-05-02',
724
- order_amount: 65.0,
725
- "vendors": [
726
- "amazon",
727
- "flipkart"
728
- ]
729
- },
730
- {
731
- order_id: 9,
732
- customer_id: '5',
733
- product_id: '2',
734
- order_date: '2022-05-05',
735
- orders__order_date: '2022-05-05',
736
- order_amount: 85.0,
737
- "vendors": []
738
- },
739
- {
740
- order_id: 10,
741
- customer_id: '6',
742
- product_id: '3',
743
- order_date: '2022-06-01',
744
- orders__order_date: '2022-06-01',
745
- order_amount: 120.0,
746
- "vendors": [
747
- "myntra",
748
- "amazon"
749
- ]
750
- },
751
- {
752
- order_id: 11,
753
- customer_id: '6aa6',
754
- product_id: '3',
755
- order_date: '2024-06-01',
756
- orders__order_date: '2024-06-01',
757
- order_amount: 0.0,
758
- "vendors": [
759
- "amazon"
760
- ]
761
- },
762
- {
763
- "customer_id": null,
764
- "order_amount": 100,
765
- "order_date": "2024-07-01T00:00:00.000Z",
766
- "order_id": 12,
767
- "orders__order_date": "2024-07-01T00:00:00.000Z",
768
- "product_id": "3",
769
- "vendors": [
770
- "flipkart"
771
- ]
772
- }
773
- ]
774
- },
775
- // {
776
- // testName: 'Or',
777
- // expectedSQL: `SELECT orders.* FROM (select * from orders) AS orders WHERE ((orders.order_amount > 80) OR ((orders.order_date >= '2022-02-01') AND (orders.order_date <= '2022-03-01')))`,
778
- // cubeInput: {
779
- // measures: ['*'],
780
- // filters: [
781
- // {
782
- // or: [
783
- // {
784
- // member: 'orders.order_amount',
785
- // operator: 'gt',
786
- // values: ['80'],
787
- // },
788
- // {
789
- // member: 'orders.order_date',
790
- // operator: 'inDateRange',
791
- // values: ['2022-02-01', '2022-03-01'],
792
- // },
793
- // ],
794
- // },
795
- // ],
796
- // dimensions: [],
797
- // },
798
- // expectedOutput: [
799
- // {
800
- // order_id: 3,
801
- // customer_id: '2',
802
- // product_id: '3',
803
- // order_date: '2022-02-01',
804
- // order_amount: 25.0,
805
- // },
806
- // {
807
- // order_id: 4,
808
- // customer_id: '2',
809
- // product_id: '1',
810
- // order_date: '2022-03-01',
811
- // order_amount: 75.0,
812
- // },
813
- // {
814
- // order_id: 5,
815
- // customer_id: '3',
816
- // product_id: '1',
817
- // order_date: '2022-03-02',
818
- // order_amount: 100.0,
819
- // },
820
- // {
821
- // order_id: 7,
822
- // customer_id: '4',
823
- // product_id: '3',
824
- // order_date: '2022-05-01',
825
- // order_amount: 90.0,
826
- // },
827
- // {
828
- // order_id: 9,
829
- // customer_id: '5',
830
- // product_id: '2',
831
- // order_date: '2022-05-05',
832
- // order_amount: 85.0,
833
- // },
834
- // {
835
- // order_id: 10,
836
- // customer_id: '6',
837
- // product_id: '3',
838
- // order_date: '2022-06-01',
839
- // order_amount: 120.0,
840
- // },
841
- // ],
842
- // },
843
- {
844
- testName: 'And',
845
- expectedSQL: `SELECT orders.* FROM (SELECT *, orders.order_amount AS orders__order_amount, order_date AS orders__order_date FROM (select * from orders) AS orders) AS orders WHERE ((orders__order_amount > 50) AND ((orders__order_date >= '2022-02-01') AND (orders__order_date <= '2022-06-01')))`,
846
- cubeInput: {
847
- measures: [
848
- '*'
849
- ],
850
- filters: [
851
- {
852
- and: [
853
- {
854
- member: 'orders.order_amount',
855
- operator: 'gt',
856
- values: [
857
- '50'
858
- ]
859
- },
860
- {
861
- member: 'orders.order_date',
862
- operator: 'inDateRange',
863
- values: [
864
- '2022-02-01',
865
- '2022-06-01'
866
- ]
867
- }
868
- ]
869
- }
870
- ],
871
- dimensions: []
872
- },
873
- expectedOutput: [
874
- {
875
- order_id: 4,
876
- customer_id: '2',
877
- product_id: '1',
878
- order_date: '2022-03-01',
879
- order_amount: 75.0,
880
- orders__order_amount: 75.0,
881
- orders__order_date: '2022-03-01',
882
- "vendors": [
883
- "flipkart"
884
- ]
885
- },
886
- {
887
- order_id: 5,
888
- customer_id: '3',
889
- product_id: '1',
890
- order_date: '2022-03-02',
891
- orders__order_date: '2022-03-02',
892
- order_amount: 100.0,
893
- orders__order_amount: 100.0,
894
- "vendors": [
895
- "myntra",
896
- "amazon",
897
- "flipkart"
898
- ]
899
- },
900
- {
901
- order_id: 7,
902
- customer_id: '4',
903
- product_id: '3',
904
- order_date: '2022-05-01',
905
- orders__order_date: '2022-05-01',
906
- order_amount: 90.0,
907
- orders__order_amount: 90.0,
908
- "vendors": [
909
- "myntra",
910
- "flipkart"
911
- ]
912
- },
913
- {
914
- order_id: 8,
915
- customer_id: '5',
916
- product_id: '1',
917
- order_date: '2022-05-02',
918
- orders__order_date: '2022-05-02',
919
- order_amount: 65,
920
- orders__order_amount: 65,
921
- "vendors": [
922
- "amazon",
923
- "flipkart"
924
- ]
925
- },
926
- {
927
- order_id: 9,
928
- customer_id: '5',
929
- product_id: '2',
930
- order_date: '2022-05-05',
931
- orders__order_date: '2022-05-05',
932
- order_amount: 85.0,
933
- orders__order_amount: 85.0,
934
- "vendors": []
935
- },
936
- {
937
- order_id: 10,
938
- customer_id: '6',
939
- product_id: '3',
940
- order_date: '2022-06-01',
941
- orders__order_date: '2022-06-01',
942
- order_amount: 120.0,
943
- orders__order_amount: 120.0,
944
- "vendors": [
945
- "myntra",
946
- "amazon"
947
- ]
948
- }
949
- ]
950
- },
951
- {
952
- testName: 'Set',
953
- expectedSQL: `SELECT orders.* FROM (SELECT *, orders.order_amount AS orders__order_amount, product_id AS orders__product_id FROM (select * from orders) AS orders) AS orders WHERE ((orders__order_amount IS NOT NULL) AND (orders__product_id = '3'))`,
954
- cubeInput: {
955
- measures: [
956
- '*'
957
- ],
958
- filters: [
959
- {
960
- and: [
961
- {
962
- member: 'orders.order_amount',
963
- operator: 'set'
964
- },
965
- {
966
- member: 'orders.product_id',
967
- operator: 'equals',
968
- values: [
969
- '3'
970
- ]
971
- }
972
- ]
973
- }
974
- ],
975
- dimensions: []
976
- },
977
- expectedOutput: [
978
- {
979
- "customer_id": "2",
980
- "order_amount": 25,
981
- "order_date": "2022-02-01T00:00:00.000Z",
982
- "order_id": 3,
983
- "orders__order_amount": 25,
984
- "orders__order_date": undefined,
985
- "orders__product_id": "3",
986
- "product_id": "3",
987
- "vendors": []
988
- },
989
- {
990
- "customer_id": "4",
991
- "order_amount": 90,
992
- "order_date": "2022-05-01T00:00:00.000Z",
993
- "order_id": 7,
994
- "orders__order_amount": 90,
995
- "orders__order_date": undefined,
996
- "orders__product_id": "3",
997
- "product_id": "3",
998
- "vendors": [
999
- "myntra",
1000
- "flipkart"
1001
- ]
1002
- },
1003
- {
1004
- "customer_id": "6",
1005
- "order_amount": 120,
1006
- "order_date": "2022-06-01T00:00:00.000Z",
1007
- "order_id": 10,
1008
- "orders__order_amount": 120,
1009
- "orders__order_date": undefined,
1010
- "orders__product_id": "3",
1011
- "product_id": "3",
1012
- "vendors": [
1013
- "myntra",
1014
- "amazon"
1015
- ]
1016
- },
1017
- {
1018
- "customer_id": "6aa6",
1019
- "order_amount": 0,
1020
- "order_date": "2024-06-01T00:00:00.000Z",
1021
- "order_id": 11,
1022
- "orders__order_amount": 0,
1023
- "orders__order_date": undefined,
1024
- "orders__product_id": "3",
1025
- "product_id": "3",
1026
- "vendors": [
1027
- "amazon"
1028
- ]
1029
- },
1030
- {
1031
- "customer_id": null,
1032
- "order_amount": 100,
1033
- "order_date": "2024-07-01T00:00:00.000Z",
1034
- "order_id": 12,
1035
- "orders__order_amount": 100,
1036
- "orders__order_date": undefined,
1037
- "orders__product_id": "3",
1038
- "product_id": "3",
1039
- "vendors": [
1040
- "flipkart"
1041
- ]
1042
- }
1043
- ]
1044
- },
1045
- {
1046
- testName: 'Not Set',
1047
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id, product_id AS orders__product_id FROM (select * from orders) AS orders) AS orders WHERE ((orders__customer_id IS NULL) AND (orders__product_id = '3'))`,
1048
- cubeInput: {
1049
- measures: [
1050
- '*'
1051
- ],
1052
- filters: [
1053
- {
1054
- and: [
1055
- {
1056
- member: 'orders.customer_id',
1057
- operator: 'notSet'
1058
- },
1059
- {
1060
- member: 'orders.product_id',
1061
- operator: 'equals',
1062
- values: [
1063
- '3'
1064
- ]
1065
- }
1066
- ]
1067
- }
1068
- ],
1069
- dimensions: []
1070
- },
1071
- expectedOutput: [
1072
- {
1073
- "orders__customer_id": null,
1074
- "customer_id": null,
1075
- "order_amount": 100,
1076
- "order_date": "2024-07-01T00:00:00.000Z",
1077
- "order_id": 12,
1078
- "orders__order_date": undefined,
1079
- "orders__product_id": "3",
1080
- "product_id": "3",
1081
- "vendors": [
1082
- "flipkart"
1083
- ]
1084
- }
1085
- ]
1086
- },
1087
- {
1088
- testName: 'In',
1089
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id, vendors AS orders__vendors FROM (select * from orders) AS orders) AS orders WHERE ((orders__customer_id IN ('1', '2')) AND (orders__vendors && (ARRAY['myntra', 'amazon'])))`,
1090
- cubeInput: {
1091
- measures: [
1092
- '*'
1093
- ],
1094
- filters: [
1095
- {
1096
- and: [
1097
- {
1098
- member: 'orders.customer_id',
1099
- operator: 'in',
1100
- values: [
1101
- '1',
1102
- '2'
1103
- ]
1104
- },
1105
- {
1106
- member: 'orders.vendors',
1107
- operator: 'in',
1108
- values: [
1109
- 'myntra',
1110
- 'amazon'
1111
- ]
1112
- }
1113
- ]
1114
- }
1115
- ],
1116
- dimensions: []
1117
- },
1118
- expectedOutput: [
1119
- {
1120
- customer_id: "1",
1121
- order_amount: 50,
1122
- order_date: "2022-01-01T00:00:00.000Z",
1123
- order_id: 1,
1124
- orders__customer_id: "1",
1125
- orders__order_date: undefined,
1126
- orders__vendors: [
1127
- "myntra",
1128
- "amazon",
1129
- "flipkart"
1130
- ],
1131
- product_id: "1",
1132
- vendors: [
1133
- "myntra",
1134
- "amazon",
1135
- "flipkart"
1136
- ]
1137
- },
1138
- {
1139
- customer_id: "1",
1140
- order_amount: 80,
1141
- order_date: "2022-01-02T00:00:00.000Z",
1142
- order_id: 2,
1143
- orders__customer_id: "1",
1144
- orders__order_date: undefined,
1145
- orders__vendors: [
1146
- "myntra"
1147
- ],
1148
- product_id: "2",
1149
- vendors: [
1150
- "myntra"
1151
- ]
1152
- }
1153
- ]
1154
- },
1155
- {
1156
- testName: 'Not In',
1157
- expectedSQL: `SELECT orders.* FROM (SELECT *, customer_id AS orders__customer_id, vendors AS orders__vendors FROM (select * from orders) AS orders) AS orders WHERE ((orders__customer_id NOT IN ('1', '2')) AND (NOT (orders__vendors && (ARRAY['myntra', 'flipkart']))))`,
1158
- cubeInput: {
1159
- measures: [
1160
- '*'
1161
- ],
1162
- filters: [
1163
- {
1164
- and: [
1165
- {
1166
- member: 'orders.customer_id',
1167
- operator: 'notIn',
1168
- values: [
1169
- '1',
1170
- '2'
1171
- ]
1172
- },
1173
- {
1174
- member: 'orders.vendors',
1175
- operator: 'notIn',
1176
- values: [
1177
- 'myntra',
1178
- 'flipkart'
1179
- ]
1180
- }
1181
- ]
1182
- }
1183
- ],
1184
- dimensions: []
1185
- },
1186
- expectedOutput: [
1187
- {
1188
- "customer_id": "4",
1189
- "order_amount": 45,
1190
- "order_date": "2022-04-01T00:00:00.000Z",
1191
- "order_id": 6,
1192
- "orders__customer_id": "4",
1193
- "orders__order_date": undefined,
1194
- "orders__vendors": [],
1195
- "product_id": "2",
1196
- "vendors": []
1197
- },
1198
- {
1199
- "customer_id": "5",
1200
- "order_amount": 85,
1201
- "order_date": "2022-05-05T00:00:00.000Z",
1202
- "order_id": 9,
1203
- "orders__customer_id": "5",
1204
- "orders__order_date": undefined,
1205
- "orders__vendors": [],
1206
- "product_id": "2",
1207
- "vendors": []
1208
- },
1209
- {
1210
- "customer_id": "6aa6",
1211
- "order_amount": 0,
1212
- "order_date": "2024-06-01T00:00:00.000Z",
1213
- "order_id": 11,
1214
- "orders__customer_id": "6aa6",
1215
- "orders__order_date": undefined,
1216
- "orders__vendors": [
1217
- "amazon"
1218
- ],
1219
- "product_id": "3",
1220
- "vendors": [
1221
- "amazon"
1222
- ]
1223
- }
1224
- ]
1225
- }
1226
- ];
1227
-
1228
- //# sourceMappingURL=test-data.js.map