@cubejs-client/core 1.3.15 → 1.3.16

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 (100) hide show
  1. package/dist/{cubejs-client-core.js → cubejs-client-core.cjs.js} +1016 -411
  2. package/dist/cubejs-client-core.cjs.js.map +1 -0
  3. package/dist/cubejs-client-core.umd.js +2901 -12088
  4. package/dist/cubejs-client-core.umd.js.map +1 -1
  5. package/dist/src/HttpTransport.d.ts +54 -0
  6. package/dist/src/HttpTransport.d.ts.map +1 -0
  7. package/dist/src/HttpTransport.js +55 -0
  8. package/dist/src/Meta.d.ts +62 -0
  9. package/dist/src/Meta.d.ts.map +1 -0
  10. package/dist/src/Meta.js +150 -0
  11. package/dist/src/ProgressResult.d.ts +8 -0
  12. package/dist/src/ProgressResult.d.ts.map +1 -0
  13. package/dist/src/ProgressResult.js +11 -0
  14. package/dist/src/RequestError.d.ts +6 -0
  15. package/dist/src/RequestError.d.ts.map +1 -0
  16. package/dist/src/RequestError.js +7 -0
  17. package/dist/src/ResultSet.d.ts +430 -0
  18. package/dist/src/ResultSet.d.ts.map +1 -0
  19. package/dist/src/ResultSet.js +952 -0
  20. package/dist/src/SqlQuery.d.ts +17 -0
  21. package/dist/src/SqlQuery.d.ts.map +1 -0
  22. package/dist/src/SqlQuery.js +11 -0
  23. package/dist/src/index.d.ts +194 -0
  24. package/dist/src/index.d.ts.map +1 -0
  25. package/dist/src/index.js +411 -0
  26. package/dist/src/index.umd.d.ts +3 -0
  27. package/dist/src/index.umd.d.ts.map +1 -0
  28. package/dist/src/index.umd.js +6 -0
  29. package/dist/src/time.d.ts +70 -0
  30. package/dist/src/time.d.ts.map +1 -0
  31. package/dist/src/time.js +249 -0
  32. package/dist/src/types.d.ts +424 -0
  33. package/dist/src/types.d.ts.map +1 -0
  34. package/dist/src/types.js +1 -0
  35. package/dist/src/utils.d.ts +19 -0
  36. package/dist/src/utils.d.ts.map +1 -0
  37. package/dist/src/utils.js +294 -0
  38. package/dist/test/CubeApi.test.d.ts +7 -0
  39. package/dist/test/CubeApi.test.d.ts.map +1 -0
  40. package/dist/test/CubeApi.test.js +279 -0
  41. package/dist/test/HttpTransport.test.d.ts +2 -0
  42. package/dist/test/HttpTransport.test.d.ts.map +1 -0
  43. package/dist/test/HttpTransport.test.js +244 -0
  44. package/dist/test/ResultSet.test.d.ts +7 -0
  45. package/dist/test/ResultSet.test.d.ts.map +1 -0
  46. package/dist/test/ResultSet.test.js +1725 -0
  47. package/dist/test/compare-date-range.test.d.ts +2 -0
  48. package/dist/test/compare-date-range.test.d.ts.map +1 -0
  49. package/dist/test/compare-date-range.test.js +742 -0
  50. package/dist/test/data-blending.test.d.ts +2 -0
  51. package/dist/test/data-blending.test.d.ts.map +1 -0
  52. package/dist/test/data-blending.test.js +423 -0
  53. package/dist/test/default-heuristics.test.d.ts +2 -0
  54. package/dist/test/default-heuristics.test.d.ts.map +1 -0
  55. package/dist/test/default-heuristics.test.js +108 -0
  56. package/dist/test/drill-down.test.d.ts +2 -0
  57. package/dist/test/drill-down.test.d.ts.map +1 -0
  58. package/dist/test/drill-down.test.js +373 -0
  59. package/dist/test/fixtures/datablending/load-responses.json +261 -0
  60. package/dist/test/granularity.test.d.ts +2 -0
  61. package/dist/test/granularity.test.d.ts.map +1 -0
  62. package/dist/test/granularity.test.js +218 -0
  63. package/dist/test/helpers.d.ts +283 -0
  64. package/dist/test/helpers.d.ts.map +1 -0
  65. package/dist/test/helpers.js +974 -0
  66. package/dist/test/index.test.d.ts +7 -0
  67. package/dist/test/index.test.d.ts.map +1 -0
  68. package/dist/test/index.test.js +370 -0
  69. package/dist/test/table.test.d.ts +2 -0
  70. package/dist/test/table.test.d.ts.map +1 -0
  71. package/dist/test/table.test.js +757 -0
  72. package/dist/test/utils.test.d.ts +2 -0
  73. package/dist/test/utils.test.d.ts.map +1 -0
  74. package/dist/test/utils.test.js +32 -0
  75. package/package.json +26 -21
  76. package/dist/cubejs-client-core.esm.js +0 -1639
  77. package/dist/cubejs-client-core.esm.js.map +0 -1
  78. package/dist/cubejs-client-core.js.map +0 -1
  79. package/index.d.ts +0 -1338
  80. package/src/HttpTransport.js +0 -60
  81. package/src/HttpTransport.test.js +0 -117
  82. package/src/Meta.js +0 -142
  83. package/src/ProgressResult.js +0 -13
  84. package/src/RequestError.js +0 -7
  85. package/src/ResultSet.js +0 -746
  86. package/src/SqlQuery.js +0 -13
  87. package/src/index.js +0 -398
  88. package/src/index.test.js +0 -454
  89. package/src/index.umd.js +0 -8
  90. package/src/tests/ResultSet.test.js +0 -1655
  91. package/src/tests/compare-date-range.test.js +0 -753
  92. package/src/tests/data-blending.test.js +0 -432
  93. package/src/tests/default-heuristics.test.js +0 -118
  94. package/src/tests/drill-down.test.js +0 -402
  95. package/src/tests/fixtures/datablending/load-responses.json +0 -261
  96. package/src/tests/granularity.test.js +0 -225
  97. package/src/tests/table.test.js +0 -791
  98. package/src/tests/utils.test.js +0 -35
  99. package/src/time.js +0 -296
  100. package/src/utils.js +0 -368
package/src/index.test.js DELETED
@@ -1,454 +0,0 @@
1
- /**
2
- * @license Apache-2.0
3
- * @copyright Cube Dev, Inc.
4
- * @fileoverview CubeApi class unit tests.
5
- */
6
-
7
- /* globals describe,test,expect,beforeEach,jest */
8
-
9
- import ResultSet from './ResultSet';
10
- import { CubeApi } from './index';
11
-
12
- jest.mock('./ResultSet');
13
- beforeEach(() => {
14
- ResultSet.mockClear();
15
- });
16
-
17
- const mockData = {
18
- regular_1: {
19
- result_default: [
20
- {
21
- 'ECommerceRecordsUs2021.city': 'Missouri City',
22
- 'ECommerceRecordsUs2021.avg_discount': '0.80000000000000000000'
23
- },
24
- {
25
- 'ECommerceRecordsUs2021.city': 'Abilene',
26
- 'ECommerceRecordsUs2021.avg_discount': '0.80000000000000000000'
27
- }
28
- ],
29
- result_compact: {
30
- members: ['ECommerceRecordsUs2021.city', 'ECommerceRecordsUs2021.avg_discount'],
31
- dataset: [['Missouri City', '0.80000000000000000000'], ['Abilene', '0.80000000000000000000']],
32
- }
33
- },
34
- regular_2: {
35
- result_default: [
36
- {
37
- 'ECommerceRecordsUs2021.postalCode': '95823',
38
- 'ECommerceRecordsUs2021.avg_profit': '646.1258666666666667'
39
- },
40
- {
41
- 'ECommerceRecordsUs2021.postalCode': '64055',
42
- 'ECommerceRecordsUs2021.avg_profit': '487.8315000000000000'
43
- }
44
- ],
45
- result_compact: {
46
- members: [
47
- 'ECommerceRecordsUs2021.postalCode',
48
- 'ECommerceRecordsUs2021.avg_profit',
49
- ],
50
- dataset: [
51
- ['95823', '646.1258666666666667'],
52
- ['64055', '487.8315000000000000']
53
- ],
54
- }
55
- },
56
- compare: [{
57
- result_default: [
58
- {
59
- 'ECommerceRecordsUs2021.orderDate.day': '2020-01-01T00:00:00.000',
60
- 'ECommerceRecordsUs2021.orderDate': '2020-01-01T00:00:00.000',
61
- 'ECommerceRecordsUs2021.count': '10',
62
- compareDateRange: '2020-01-01T00:00:00.000 - 2020-01-31T23:59:59.999'
63
- },
64
- {
65
- 'ECommerceRecordsUs2021.orderDate.day': '2020-01-02T00:00:00.000',
66
- 'ECommerceRecordsUs2021.orderDate': '2020-01-02T00:00:00.000',
67
- 'ECommerceRecordsUs2021.count': '8',
68
- compareDateRange: '2020-01-01T00:00:00.000 - 2020-01-31T23:59:59.999'
69
- }
70
- ],
71
- result_compact: {
72
- members: [
73
- 'ECommerceRecordsUs2021.orderDate.day',
74
- 'ECommerceRecordsUs2021.orderDate',
75
- 'ECommerceRecordsUs2021.count',
76
- 'compareDateRange',
77
- ],
78
- dataset: [
79
- [
80
- '2020-01-01T00:00:00.000',
81
- '2020-01-01T00:00:00.000',
82
- '10',
83
- '2020-01-01T00:00:00.000 - 2020-01-31T23:59:59.999',
84
- ],
85
- [
86
- '2020-01-02T00:00:00.000',
87
- '2020-01-02T00:00:00.000',
88
- '8',
89
- '2020-01-01T00:00:00.000 - 2020-01-31T23:59:59.999'
90
- ],
91
- ],
92
- },
93
- }, {
94
- result_default: [
95
- {
96
- 'ECommerceRecordsUs2021.orderDate.day': '2020-03-02T00:00:00.000',
97
- 'ECommerceRecordsUs2021.orderDate': '2020-03-02T00:00:00.000',
98
- 'ECommerceRecordsUs2021.count': '11',
99
- compareDateRange: '2020-03-01T00:00:00.000 - 2020-03-31T23:59:59.999'
100
- },
101
- {
102
- 'ECommerceRecordsUs2021.orderDate.day': '2020-03-03T00:00:00.000',
103
- 'ECommerceRecordsUs2021.orderDate': '2020-03-03T00:00:00.000',
104
- 'ECommerceRecordsUs2021.count': '7',
105
- compareDateRange: '2020-03-01T00:00:00.000 - 2020-03-31T23:59:59.999'
106
- }
107
- ],
108
- result_compact: {
109
- members: [
110
- 'ECommerceRecordsUs2021.orderDate.day',
111
- 'ECommerceRecordsUs2021.orderDate',
112
- 'ECommerceRecordsUs2021.count',
113
- 'compareDateRange',
114
- ],
115
- dataset: [
116
- [
117
- '2020-03-02T00:00:00.000',
118
- '2020-03-02T00:00:00.000',
119
- '11',
120
- '2020-03-01T00:00:00.000 - 2020-03-31T23:59:59.999',
121
- ],
122
- [
123
- '2020-03-03T00:00:00.000',
124
- '2020-03-03T00:00:00.000',
125
- '7',
126
- '2020-03-01T00:00:00.000 - 2020-03-31T23:59:59.999'
127
- ],
128
- ],
129
- },
130
- }],
131
- blending: [{
132
- result_default: [
133
- {
134
- 'ECommerceRecordsUs2021.orderDate.month': '2020-01-01T00:00:00.000',
135
- 'ECommerceRecordsUs2021.orderDate': '2020-01-01T00:00:00.000',
136
- 'ECommerceRecordsUs2021.avg_discount': '0.15638297872340425532',
137
- 'time.month': '2020-01-01T00:00:00.000'
138
- },
139
- {
140
- 'ECommerceRecordsUs2021.orderDate.month': '2020-02-01T00:00:00.000',
141
- 'ECommerceRecordsUs2021.orderDate': '2020-02-01T00:00:00.000',
142
- 'ECommerceRecordsUs2021.avg_discount': '0.17573529411764705882',
143
- 'time.month': '2020-02-01T00:00:00.000'
144
- }
145
- ],
146
- result_compact: {
147
- members: [
148
- 'ECommerceRecordsUs2021.orderDate.month',
149
- 'ECommerceRecordsUs2021.orderDate',
150
- 'ECommerceRecordsUs2021.avg_discount',
151
- 'time.month',
152
- ],
153
- dataset: [
154
- [
155
- '2020-01-01T00:00:00.000',
156
- '2020-01-01T00:00:00.000',
157
- '0.15638297872340425532',
158
- '2020-01-01T00:00:00.000',
159
- ],
160
- [
161
- '2020-02-01T00:00:00.000',
162
- '2020-02-01T00:00:00.000',
163
- '0.17573529411764705882',
164
- '2020-02-01T00:00:00.000',
165
- ],
166
- ],
167
- },
168
- }, {
169
- result_default: [{
170
- 'ECommerceRecordsUs2021.orderDate.month': '2020-01-01T00:00:00.000',
171
- 'ECommerceRecordsUs2021.orderDate': '2020-01-01T00:00:00.000',
172
- 'ECommerceRecordsUs2021.avg_discount': '0.28571428571428571429',
173
- 'time.month': '2020-01-01T00:00:00.000'
174
- },
175
- {
176
- 'ECommerceRecordsUs2021.orderDate.month': '2020-02-01T00:00:00.000',
177
- 'ECommerceRecordsUs2021.orderDate': '2020-02-01T00:00:00.000',
178
- 'ECommerceRecordsUs2021.avg_discount': '0.21777777777777777778',
179
- 'time.month': '2020-02-01T00:00:00.000'
180
- }],
181
- result_compact: {
182
- members: [
183
- 'ECommerceRecordsUs2021.orderDate.month',
184
- 'ECommerceRecordsUs2021.orderDate',
185
- 'ECommerceRecordsUs2021.avg_discount',
186
- 'time.month',
187
- ],
188
- dataset: [
189
- [
190
- '2020-01-01T00:00:00.000',
191
- '2020-01-01T00:00:00.000',
192
- '0.28571428571428571429',
193
- '2020-01-01T00:00:00.000',
194
- ],
195
- [
196
- '2020-02-01T00:00:00.000',
197
- '2020-02-01T00:00:00.000',
198
- '0.21777777777777777778',
199
- '2020-02-01T00:00:00.000',
200
- ],
201
- ],
202
- },
203
- }],
204
- };
205
-
206
- describe('CubeApi', () => {
207
- test('CubeApi#loadResponseInternal should work with the "default" resType for regular query', () => {
208
- const api = new CubeApi(undefined, {
209
- apiUrl: 'http://localhost:4000/cubejs-api/v1',
210
- });
211
- const income = {
212
- results: [{
213
- query: {},
214
- data: JSON.parse(
215
- JSON.stringify(
216
- mockData.regular_1.result_default
217
- )
218
- )
219
- }],
220
- };
221
- const outcome = {
222
- results: [{
223
- query: {},
224
- data: JSON.parse(
225
- JSON.stringify(
226
- mockData.regular_1.result_default
227
- )
228
- )
229
- }],
230
- };
231
- api.loadResponseInternal(income);
232
- expect(ResultSet).toHaveBeenCalled();
233
- expect(ResultSet).toHaveBeenCalledTimes(1);
234
- expect(ResultSet).toHaveBeenCalledWith(outcome, {
235
- parseDateMeasures: undefined
236
- });
237
- });
238
-
239
- test('CubeApi#loadResponseInternal should work with the "default" resType for compare date range query', () => {
240
- const api = new CubeApi(undefined, {
241
- apiUrl: 'http://localhost:4000/cubejs-api/v1',
242
- });
243
- const income = {
244
- results: [{
245
- query: {},
246
- data: JSON.parse(
247
- JSON.stringify(
248
- mockData.compare[0].result_default
249
- )
250
- )
251
- }, {
252
- query: {},
253
- data: JSON.parse(
254
- JSON.stringify(
255
- mockData.compare[1].result_default
256
- )
257
- )
258
- }],
259
- };
260
- const outcome = {
261
- results: [{
262
- query: {},
263
- data: JSON.parse(
264
- JSON.stringify(
265
- mockData.compare[0].result_default
266
- )
267
- )
268
- }, {
269
- query: {},
270
- data: JSON.parse(
271
- JSON.stringify(
272
- mockData.compare[1].result_default
273
- )
274
- )
275
- }],
276
- };
277
- api.loadResponseInternal(income);
278
- expect(ResultSet).toHaveBeenCalled();
279
- expect(ResultSet).toHaveBeenCalledTimes(1);
280
- expect(ResultSet).toHaveBeenCalledWith(outcome, {
281
- parseDateMeasures: undefined
282
- });
283
- });
284
-
285
- test('CubeApi#loadResponseInternal should work with the "default" resType for blending query', () => {
286
- const api = new CubeApi(undefined, {
287
- apiUrl: 'http://localhost:4000/cubejs-api/v1',
288
- });
289
- const income = {
290
- results: [{
291
- query: {},
292
- data: JSON.parse(
293
- JSON.stringify(
294
- mockData.blending[0].result_default
295
- )
296
- )
297
- }, {
298
- query: {},
299
- data: JSON.parse(
300
- JSON.stringify(
301
- mockData.blending[1].result_default
302
- )
303
- )
304
- }],
305
- };
306
- const outcome = {
307
- results: [{
308
- query: {},
309
- data: JSON.parse(
310
- JSON.stringify(
311
- mockData.blending[0].result_default
312
- )
313
- )
314
- }, {
315
- query: {},
316
- data: JSON.parse(
317
- JSON.stringify(
318
- mockData.blending[1].result_default
319
- )
320
- )
321
- }],
322
- };
323
- api.loadResponseInternal(income);
324
- expect(ResultSet).toHaveBeenCalled();
325
- expect(ResultSet).toHaveBeenCalledTimes(1);
326
- expect(ResultSet).toHaveBeenCalledWith(outcome, {
327
- parseDateMeasures: undefined
328
- });
329
- });
330
-
331
- test('CubeApi#loadResponseInternal should work with the "compact" resType for regular query', () => {
332
- const api = new CubeApi(undefined, {
333
- apiUrl: 'http://localhost:4000/cubejs-api/v1',
334
- });
335
- const income = {
336
- results: [{
337
- query: { responseFormat: 'compact' },
338
- data: JSON.parse(
339
- JSON.stringify(
340
- mockData.regular_1.result_compact
341
- )
342
- )
343
- }],
344
- };
345
- const outcome = {
346
- results: [{
347
- query: { responseFormat: 'compact' },
348
- data: JSON.parse(
349
- JSON.stringify(
350
- mockData.regular_1.result_default
351
- )
352
- )
353
- }],
354
- };
355
- api.loadResponseInternal(income);
356
- expect(ResultSet).toHaveBeenCalled();
357
- expect(ResultSet).toHaveBeenCalledTimes(1);
358
- expect(ResultSet).toHaveBeenCalledWith(outcome, {
359
- parseDateMeasures: undefined
360
- });
361
- });
362
-
363
- test('CubeApi#loadResponseInternal should work with the "compact" resType for compare date range query', () => {
364
- const api = new CubeApi(undefined, {
365
- apiUrl: 'http://localhost:4000/cubejs-api/v1',
366
- });
367
- const income = {
368
- results: [{
369
- query: { responseFormat: 'compact' },
370
- data: JSON.parse(
371
- JSON.stringify(
372
- mockData.compare[0].result_compact
373
- )
374
- )
375
- }, {
376
- query: { responseFormat: 'compact' },
377
- data: JSON.parse(
378
- JSON.stringify(
379
- mockData.compare[1].result_compact
380
- )
381
- )
382
- }],
383
- };
384
- const outcome = {
385
- results: [{
386
- query: { responseFormat: 'compact' },
387
- data: JSON.parse(
388
- JSON.stringify(
389
- mockData.compare[0].result_default
390
- )
391
- )
392
- }, {
393
- query: { responseFormat: 'compact' },
394
- data: JSON.parse(
395
- JSON.stringify(
396
- mockData.compare[1].result_default
397
- )
398
- )
399
- }],
400
- };
401
- api.loadResponseInternal(income);
402
- expect(ResultSet).toHaveBeenCalled();
403
- expect(ResultSet).toHaveBeenCalledTimes(1);
404
- expect(ResultSet).toHaveBeenCalledWith(outcome, {
405
- parseDateMeasures: undefined
406
- });
407
- });
408
-
409
- test('CubeApi#loadResponseInternal should work with the "compact" resType for blending query', () => {
410
- const api = new CubeApi(undefined, {
411
- apiUrl: 'http://localhost:4000/cubejs-api/v1',
412
- });
413
- const income = {
414
- results: [{
415
- query: { responseFormat: 'compact' },
416
- data: JSON.parse(
417
- JSON.stringify(
418
- mockData.blending[0].result_compact
419
- )
420
- )
421
- }, {
422
- query: { responseFormat: 'compact' },
423
- data: JSON.parse(
424
- JSON.stringify(
425
- mockData.blending[1].result_compact
426
- )
427
- )
428
- }],
429
- };
430
- const outcome = {
431
- results: [{
432
- query: { responseFormat: 'compact' },
433
- data: JSON.parse(
434
- JSON.stringify(
435
- mockData.blending[0].result_default
436
- )
437
- )
438
- }, {
439
- query: { responseFormat: 'compact' },
440
- data: JSON.parse(
441
- JSON.stringify(
442
- mockData.blending[1].result_default
443
- )
444
- )
445
- }],
446
- };
447
- api.loadResponseInternal(income);
448
- expect(ResultSet).toHaveBeenCalled();
449
- expect(ResultSet).toHaveBeenCalledTimes(1);
450
- expect(ResultSet).toHaveBeenCalledWith(outcome, {
451
- parseDateMeasures: undefined
452
- });
453
- });
454
- });
package/src/index.umd.js DELETED
@@ -1,8 +0,0 @@
1
- import cube from './index';
2
- import * as clientCoreExports from './index';
3
-
4
- Object.keys(clientCoreExports).forEach((key) => {
5
- cube[key] = clientCoreExports[key];
6
- });
7
-
8
- export default cube;