@devrev/meerkat-node 0.0.75

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.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # meerkat-node
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Building
6
+
7
+ Run `nx build meerkat-node` to build the library.
8
+
9
+ ## Running unit tests
10
+
11
+ Run `nx test meerkat-node` to execute the unit tests via [Jest](https://jestjs.io).
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@devrev/meerkat-node",
3
+ "version": "0.0.75",
4
+ "dependencies": {
5
+ "@swc/helpers": "~0.5.0",
6
+ "@devrev/meerkat-core": "*",
7
+ "duckdb": "^0.10.2"
8
+ },
9
+ "scripts": {
10
+ "release": "semantic-release"
11
+ },
12
+ "release": {
13
+ "plugins": [
14
+ "@semantic-release/commit-analyzer",
15
+ "@semantic-release/release-notes-generator",
16
+ "@semantic-release/github"
17
+ ]
18
+ },
19
+ "type": "commonjs",
20
+ "main": "./src/index.js",
21
+ "typings": "./src/index.d.ts",
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/devrev/meerkat.git"
25
+ },
26
+ "publishConfig": {
27
+ "registry": "https://registry.npmjs.org"
28
+ },
29
+ "keywords": [],
30
+ "author": "devrev",
31
+ "license": "ISC"
32
+ }
@@ -0,0 +1,288 @@
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";
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
+ export declare const TEST_DATA: ({
18
+ testName: string;
19
+ expectedSQL: string;
20
+ cubeInput: {
21
+ measures: string[];
22
+ filters: never[];
23
+ dimensions: string[];
24
+ limit: number;
25
+ order?: undefined;
26
+ };
27
+ expectedOutput: {
28
+ orders__order_month: string;
29
+ orders__total_order_amount: number;
30
+ }[];
31
+ } | {
32
+ testName: string;
33
+ expectedSQL: string;
34
+ cubeInput: {
35
+ measures: string[];
36
+ filters: never[];
37
+ dimensions: string[];
38
+ order: {
39
+ 'orders.total_order_amount': string;
40
+ 'orders.customer_id': string;
41
+ };
42
+ limit?: undefined;
43
+ };
44
+ expectedOutput: ({
45
+ orders__customer_id: string;
46
+ orders__total_order_amount: number;
47
+ } | {
48
+ orders__customer_id: null;
49
+ orders__total_order_amount: number;
50
+ })[];
51
+ } | {
52
+ testName: string;
53
+ expectedSQL: string;
54
+ cubeInput: {
55
+ measures: string[];
56
+ filters: {
57
+ member: string;
58
+ operator: string;
59
+ values: string[];
60
+ }[];
61
+ dimensions: never[];
62
+ limit?: undefined;
63
+ order?: undefined;
64
+ };
65
+ expectedOutput: {
66
+ order_id: number;
67
+ customer_id: string;
68
+ orders__customer_id: string;
69
+ product_id: string;
70
+ order_date: string;
71
+ order_amount: number;
72
+ vendors: string[];
73
+ }[];
74
+ } | {
75
+ testName: string;
76
+ expectedSQL: string;
77
+ cubeInput: {
78
+ measures: string[];
79
+ filters: {
80
+ and: {
81
+ member: string;
82
+ operator: string;
83
+ values: string[];
84
+ }[];
85
+ }[];
86
+ dimensions: never[];
87
+ limit?: undefined;
88
+ order?: undefined;
89
+ };
90
+ expectedOutput: {
91
+ order_id: number;
92
+ customer_id: string;
93
+ orders__customer_id: string;
94
+ product_id: string;
95
+ order_date: string;
96
+ order_amount: number;
97
+ vendors: string[];
98
+ }[];
99
+ } | {
100
+ testName: string;
101
+ expectedSQL: string;
102
+ cubeInput: {
103
+ measures: string[];
104
+ filters: {
105
+ member: string;
106
+ operator: string;
107
+ values: string[];
108
+ }[];
109
+ dimensions: never[];
110
+ limit?: undefined;
111
+ order?: undefined;
112
+ };
113
+ expectedOutput: ({
114
+ order_id: number;
115
+ customer_id: string;
116
+ product_id: string;
117
+ order_date: string;
118
+ order_amount: number;
119
+ orders__order_amount: number;
120
+ vendors: string[];
121
+ orders__order_date?: undefined;
122
+ } | {
123
+ customer_id: null;
124
+ order_amount: number;
125
+ order_date: string;
126
+ order_id: number;
127
+ orders__order_amount: number;
128
+ orders__order_date: undefined;
129
+ product_id: string;
130
+ vendors: string[];
131
+ })[];
132
+ } | {
133
+ testName: string;
134
+ expectedSQL: string;
135
+ cubeInput: {
136
+ measures: string[];
137
+ filters: {
138
+ member: string;
139
+ operator: string;
140
+ values: string[];
141
+ }[];
142
+ dimensions: never[];
143
+ limit?: undefined;
144
+ order?: undefined;
145
+ };
146
+ expectedOutput: ({
147
+ order_id: number;
148
+ customer_id: string;
149
+ product_id: string;
150
+ order_date: string;
151
+ order_amount: number;
152
+ orders__order_date: string;
153
+ vendors: string[];
154
+ } | {
155
+ customer_id: null;
156
+ order_amount: number;
157
+ order_date: string;
158
+ order_id: number;
159
+ orders__order_date: string;
160
+ product_id: string;
161
+ vendors: string[];
162
+ })[];
163
+ } | {
164
+ testName: string;
165
+ expectedSQL: string;
166
+ cubeInput: {
167
+ measures: string[];
168
+ filters: {
169
+ and: {
170
+ member: string;
171
+ operator: string;
172
+ values: string[];
173
+ }[];
174
+ }[];
175
+ dimensions: never[];
176
+ limit?: undefined;
177
+ order?: undefined;
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_amount: number;
186
+ orders__order_date: string;
187
+ vendors: string[];
188
+ }[];
189
+ } | {
190
+ testName: string;
191
+ expectedSQL: string;
192
+ cubeInput: {
193
+ measures: string[];
194
+ filters: {
195
+ and: ({
196
+ member: string;
197
+ operator: string;
198
+ values?: undefined;
199
+ } | {
200
+ member: string;
201
+ operator: string;
202
+ values: string[];
203
+ })[];
204
+ }[];
205
+ dimensions: never[];
206
+ limit?: undefined;
207
+ order?: undefined;
208
+ };
209
+ expectedOutput: ({
210
+ customer_id: string;
211
+ order_amount: number;
212
+ order_date: string;
213
+ order_id: number;
214
+ orders__order_amount: number;
215
+ orders__order_date: undefined;
216
+ orders__product_id: string;
217
+ product_id: string;
218
+ vendors: string[];
219
+ } | {
220
+ customer_id: null;
221
+ order_amount: number;
222
+ order_date: string;
223
+ order_id: number;
224
+ orders__order_amount: number;
225
+ orders__order_date: undefined;
226
+ orders__product_id: string;
227
+ product_id: string;
228
+ vendors: string[];
229
+ })[];
230
+ } | {
231
+ testName: string;
232
+ expectedSQL: string;
233
+ cubeInput: {
234
+ measures: string[];
235
+ filters: {
236
+ and: ({
237
+ member: string;
238
+ operator: string;
239
+ values?: undefined;
240
+ } | {
241
+ member: string;
242
+ operator: string;
243
+ values: string[];
244
+ })[];
245
+ }[];
246
+ dimensions: never[];
247
+ limit?: undefined;
248
+ order?: undefined;
249
+ };
250
+ expectedOutput: {
251
+ orders__customer_id: null;
252
+ customer_id: null;
253
+ order_amount: number;
254
+ order_date: string;
255
+ order_id: number;
256
+ orders__order_date: undefined;
257
+ orders__product_id: string;
258
+ product_id: string;
259
+ vendors: string[];
260
+ }[];
261
+ } | {
262
+ testName: string;
263
+ expectedSQL: string;
264
+ cubeInput: {
265
+ measures: string[];
266
+ filters: {
267
+ and: {
268
+ member: string;
269
+ operator: string;
270
+ values: string[];
271
+ }[];
272
+ }[];
273
+ dimensions: never[];
274
+ limit?: undefined;
275
+ order?: undefined;
276
+ };
277
+ expectedOutput: {
278
+ customer_id: string;
279
+ order_amount: number;
280
+ order_date: string;
281
+ order_id: number;
282
+ orders__customer_id: string;
283
+ orders__order_date: undefined;
284
+ orders__vendors: string[];
285
+ product_id: string;
286
+ vendors: string[];
287
+ }[];
288
+ })[];