@cubejs-client/ngx 0.28.51 → 0.30.0

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.
@@ -5,47 +5,28 @@ import cubejs, { moveItemInArray, isQueryPresent, movePivotItem, ResultSet, defa
5
5
  import { switchMap, catchError } from 'rxjs/operators';
6
6
  import equal from 'fast-deep-equal';
7
7
 
8
- /**
9
- * @fileoverview added by tsickle
10
- * Generated from: src/client.ts
11
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
12
- */
13
8
  class CubejsClient {
14
- /**
15
- * @param {?} config
16
- */
17
9
  constructor(config) {
18
10
  this.config = config;
19
11
  this.ready$ = new BehaviorSubject(false);
20
12
  if (this.config instanceof Observable) {
21
- this.config.subscribe((/**
22
- * @return {?}
23
- */
24
- () => {
13
+ this.config.subscribe(() => {
25
14
  this.ready$.next(true);
26
- }));
15
+ });
27
16
  }
28
17
  else {
29
18
  this.ready$.next(true);
30
19
  }
31
20
  }
32
- /**
33
- * @private
34
- * @return {?}
35
- */
36
- apiInstace() {
21
+ apiInstance() {
37
22
  if (!this.cubeJsApi) {
38
23
  if (this.config instanceof Observable) {
39
- this.config.subscribe((/**
40
- * @param {?} config
41
- * @return {?}
42
- */
43
- (config) => {
24
+ this.config.subscribe((config) => {
44
25
  this.cubeJsApi = cubejs(config.token, config.options);
45
26
  if (!this.cubeJsApi) {
46
27
  throw new Error('Cannot create CubejsApi instance. Please check that the config is passed correctly and contains all required options.');
47
28
  }
48
- }));
29
+ });
49
30
  }
50
31
  else {
51
32
  this.cubeJsApi = cubejs(this.config.token, this.config.options);
@@ -53,92 +34,48 @@ class CubejsClient {
53
34
  }
54
35
  return this.cubeJsApi;
55
36
  }
56
- /**
57
- * @param {?} query
58
- * @param {?=} options
59
- * @return {?}
60
- */
61
37
  load(query, options) {
62
- return from((/** @type {?} */ (this.apiInstace().load(query, options))));
38
+ return from(this.apiInstance().load(query, options));
63
39
  }
64
- /**
65
- * @param {?} query
66
- * @param {?=} options
67
- * @return {?}
68
- */
69
40
  sql(query, options) {
70
- return from(this.apiInstace().sql(query, options));
41
+ return from(this.apiInstance().sql(query, options));
71
42
  }
72
- /**
73
- * @param {?} query
74
- * @param {?=} options
75
- * @return {?}
76
- */
77
43
  dryRun(query, options) {
78
- return from(this.apiInstace().dryRun(query, options));
44
+ return from(this.apiInstance().dryRun(query, options));
79
45
  }
80
- /**
81
- * @param {?=} options
82
- * @return {?}
83
- */
84
46
  meta(options) {
85
- return from(this.apiInstace().meta(options));
47
+ return from(this.apiInstance().meta(options));
86
48
  }
87
- /**
88
- * @param {?} query
89
- * @param {?=} params
90
- * @return {?}
91
- */
92
49
  watch(query, params = {}) {
93
- return new Observable((/**
94
- * @param {?} observer
95
- * @return {?}
96
- */
97
- (observer) => query.subscribe({
98
- next: (/**
99
- * @param {?} query
100
- * @return {?}
101
- */
102
- (query) => __awaiter(this, void 0, void 0, function* () {
103
- /** @type {?} */
104
- const resultSet = yield this.apiInstace().load(query, params);
105
- observer.next(resultSet);
106
- })),
107
- })));
50
+ return new Observable((observer) => query.subscribe({
51
+ next: (query) => __awaiter(this, void 0, void 0, function* () {
52
+ try {
53
+ const resultSet = yield this.apiInstance().load(query, params);
54
+ observer.next(resultSet);
55
+ }
56
+ catch (err) {
57
+ observer.error(err);
58
+ }
59
+ }),
60
+ }));
108
61
  }
109
62
  }
63
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
110
64
  CubejsClient.decorators = [
111
65
  { type: Injectable }
112
66
  ];
113
- /** @nocollapse */
67
+ /**
68
+ * @type {function(): !Array<(null|{
69
+ * type: ?,
70
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
71
+ * })>}
72
+ * @nocollapse
73
+ */
114
74
  CubejsClient.ctorParameters = () => [
115
75
  { type: undefined, decorators: [{ type: Inject, args: ['config',] }] }
116
76
  ];
117
- if (false) {
118
- /** @type {?} */
119
- CubejsClient.prototype.ready$;
120
- /**
121
- * @type {?}
122
- * @private
123
- */
124
- CubejsClient.prototype.cubeJsApi;
125
- /**
126
- * @type {?}
127
- * @private
128
- */
129
- CubejsClient.prototype.config;
130
- }
131
77
 
132
- /**
133
- * @fileoverview added by tsickle
134
- * Generated from: src/module.ts
135
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
136
- */
137
78
  class CubejsClientModule {
138
- /**
139
- * @param {?} config
140
- * @return {?}
141
- */
142
79
  static forRoot(config) {
143
80
  return {
144
81
  ngModule: CubejsClientModule,
@@ -152,189 +89,85 @@ class CubejsClientModule {
152
89
  };
153
90
  }
154
91
  }
92
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
155
93
  CubejsClientModule.decorators = [
156
94
  { type: NgModule, args: [{
157
95
  providers: [CubejsClient],
158
96
  },] }
159
97
  ];
160
98
 
161
- /**
162
- * @fileoverview added by tsickle
163
- * Generated from: src/query-builder/common.ts
164
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
165
- */
166
- /**
167
- * @template T
168
- */
169
99
  class StateSubject {
170
- /**
171
- * @param {?} value
172
- */
173
100
  constructor(value) {
174
101
  this.subject = new BehaviorSubject(value);
175
102
  }
176
- /**
177
- * @return {?}
178
- */
179
103
  get() {
180
104
  return this.subject.getValue();
181
105
  }
182
- /**
183
- * @param {?} value
184
- * @return {?}
185
- */
186
106
  set(value) {
187
107
  this.subject.next(value);
188
108
  }
189
109
  }
190
- if (false) {
191
- /** @type {?} */
192
- StateSubject.prototype.subject;
193
- }
194
110
 
195
- /**
196
- * @fileoverview added by tsickle
197
- * Generated from: src/query-builder/query-members.ts
198
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
199
- */
200
111
  class BaseMember {
201
- /**
202
- * @param {?} query
203
- * @param {?} field
204
- */
205
112
  constructor(query, field) {
206
113
  this.query = query;
207
114
  this.field = field;
208
115
  }
209
- /**
210
- * @private
211
- * @return {?}
212
- */
213
116
  get members() {
214
117
  return this.query.asCubeQuery()[this.field] || [];
215
118
  }
216
- /**
217
- * @param {?} name
218
- * @return {?}
219
- */
220
119
  add(name) {
221
120
  this.query.setPartialQuery({
222
121
  [this.field]: [...this.members, name],
223
122
  });
224
123
  }
225
- /**
226
- * @param {?} name
227
- * @param {?} replaceWithName
228
- * @return {?}
229
- */
230
124
  replace(name, replaceWithName) {
231
125
  this.query.setPartialQuery({
232
- [this.field]: this.members.map((/**
233
- * @param {?} currentName
234
- * @return {?}
235
- */
236
- (currentName) => currentName === name ? replaceWithName : currentName)),
126
+ [this.field]: this.members.map((currentName) => currentName === name ? replaceWithName : currentName),
237
127
  });
238
128
  }
239
- /**
240
- * @param {?} by
241
- * @return {?}
242
- */
243
129
  remove(by) {
244
130
  this.query.setPartialQuery({
245
131
  [this.field]: this.query
246
- .asCubeQuery()[this.field].filter((/**
247
- * @param {?} currentName
248
- * @param {?} index
249
- * @return {?}
250
- */
251
- (currentName, index) => {
132
+ .asCubeQuery()[this.field].filter((currentName, index) => {
252
133
  if (typeof by === 'string') {
253
134
  return currentName !== by;
254
135
  }
255
136
  return index !== by;
256
- })),
137
+ }),
257
138
  });
258
139
  }
259
- /**
260
- * @param {?} members
261
- * @return {?}
262
- */
263
140
  set(members) {
264
141
  this.query.setPartialQuery({
265
142
  [this.field]: members,
266
143
  });
267
144
  }
268
- /**
269
- * @return {?}
270
- */
271
145
  asArray() {
272
- return (this.query.asCubeQuery()[this.field] || []).map((/**
273
- * @param {?} name
274
- * @return {?}
275
- */
276
- (name) => this.query.meta.resolveMember(name, this.field)));
146
+ return (this.query.asCubeQuery()[this.field] || []).map((name) => this.query.meta.resolveMember(name, this.field));
277
147
  }
278
148
  }
279
- if (false) {
280
- /**
281
- * @type {?}
282
- * @private
283
- */
284
- BaseMember.prototype.query;
285
- /**
286
- * @type {?}
287
- * @private
288
- */
289
- BaseMember.prototype.field;
290
- }
291
149
  class TimeDimensionMember {
292
- /**
293
- * @param {?} query
294
- */
295
150
  constructor(query) {
296
151
  this.query = query;
297
152
  }
298
- /**
299
- * @private
300
- * @return {?}
301
- */
302
153
  get members() {
303
154
  return this.query.asCubeQuery().timeDimensions || [];
304
155
  }
305
- /**
306
- * @return {?}
307
- */
308
156
  get granularity() {
309
157
  var _a;
310
158
  return (_a = this.members[0]) === null || _a === void 0 ? void 0 : _a.granularity;
311
159
  }
312
- /**
313
- * @param {?} by
314
- * @param {?} updateWith
315
- * @return {?}
316
- */
317
160
  updateTimeDimension(by, updateWith) {
318
- /** @type {?} */
319
- const timeDimensions = this.members.map((/**
320
- * @param {?} td
321
- * @param {?} index
322
- * @return {?}
323
- */
324
- (td, index) => {
161
+ const timeDimensions = this.members.map((td, index) => {
325
162
  if (td.dimension === by || index === by) {
326
163
  return Object.assign(Object.assign({}, td), updateWith);
327
164
  }
328
165
  return td;
329
- }));
166
+ });
330
167
  this.query.setPartialQuery({
331
168
  timeDimensions,
332
169
  });
333
170
  }
334
- /**
335
- * @param {?} name
336
- * @return {?}
337
- */
338
171
  add(name) {
339
172
  this.query.setPartialQuery({
340
173
  timeDimensions: [
@@ -344,337 +177,157 @@ class TimeDimensionMember {
344
177
  ],
345
178
  });
346
179
  }
347
- /**
348
- * @param {?} name
349
- * @return {?}
350
- */
351
180
  remove(name) {
352
181
  this.query.setPartialQuery({
353
- timeDimensions: this.members.filter((/**
354
- * @param {?} __0
355
- * @return {?}
356
- */
357
- ({ dimension }) => dimension !== name)),
182
+ timeDimensions: this.members.filter(({ dimension }) => dimension !== name),
358
183
  });
359
184
  }
360
- /**
361
- * @param {?} timeDimensions
362
- * @return {?}
363
- */
364
185
  set(timeDimensions) {
365
186
  this.query.setPartialQuery({
366
187
  timeDimensions,
367
188
  });
368
189
  }
369
- /**
370
- * @param {?} by
371
- * @param {?} dateRange
372
- * @return {?}
373
- */
374
190
  setDateRange(by, dateRange) {
375
191
  this.updateTimeDimension(by, { dateRange });
376
192
  }
377
- /**
378
- * @param {?} by
379
- * @param {?} granularity
380
- * @return {?}
381
- */
382
193
  setGranularity(by, granularity) {
383
194
  this.updateTimeDimension(by, { granularity });
384
195
  }
385
- /**
386
- * @return {?}
387
- */
388
196
  asArray() {
389
- return (this.query.asCubeQuery().timeDimensions || []).map((/**
390
- * @param {?} td
391
- * @return {?}
392
- */
393
- (td) => {
197
+ return (this.query.asCubeQuery().timeDimensions || []).map((td) => {
394
198
  return Object.assign(Object.assign({}, this.query.meta.resolveMember(td.dimension, 'dimensions')), td);
395
- }));
199
+ });
396
200
  }
397
201
  }
398
- if (false) {
399
- /**
400
- * @type {?}
401
- * @private
402
- */
403
- TimeDimensionMember.prototype.query;
404
- }
405
202
  class Order {
406
- /**
407
- * @param {?} query
408
- */
409
203
  constructor(query) {
410
204
  this.query = query;
411
205
  this.orderMembers = new BehaviorSubject([]);
412
206
  this.query.subject.subscribe(this.handleQueryChange.bind(this));
413
207
  this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));
414
208
  }
415
- /**
416
- * @private
417
- * @param {?} orderMembers
418
- * @return {?}
419
- */
420
209
  handleOrderMembersChange(orderMembers) {
421
- /** @type {?} */
422
- const order = (/** @type {?} */ (orderMembers
423
- .filter((/**
424
- * @param {?} __0
425
- * @return {?}
426
- */
427
- ({ order }) => order !== 'none'))
428
- .reduce((/**
429
- * @param {?} memo
430
- * @param {?} __1
431
- * @return {?}
432
- */
433
- (memo, { id, order }) => (Object.assign(Object.assign({}, memo), { [id]: order }))), {})));
210
+ const order = orderMembers
211
+ .filter(({ order }) => order !== 'none')
212
+ .reduce((memo, { id, order }) => (Object.assign(Object.assign({}, memo), { [id]: order })), {});
434
213
  if (!equal(order, this.asObject())) {
435
214
  this.query.setPartialQuery({ order });
436
215
  }
437
216
  }
438
- /**
439
- * @private
440
- * @return {?}
441
- */
442
217
  handleQueryChange() {
443
218
  this.orderMembers.next([
444
219
  ...this.query.measures.asArray(),
445
220
  ...this.query.dimensions.asArray(),
446
221
  ...this.query.timeDimensions.asArray(),
447
- ].map((/**
448
- * @param {?} __0
449
- * @return {?}
450
- */
451
- ({ name, title }) => {
222
+ ].map(({ name, title }) => {
452
223
  return {
453
224
  id: name,
454
225
  order: this.of(name),
455
226
  title,
456
227
  };
457
- })));
228
+ }));
458
229
  }
459
- /**
460
- * @param {?} id
461
- * @param {?} order
462
- * @return {?}
463
- */
464
230
  setMemberOrder(id, order) {
465
- this.orderMembers.next(this.orderMembers.getValue().map((/**
466
- * @param {?} orderMember
467
- * @return {?}
468
- */
469
- (orderMember) => {
231
+ this.orderMembers.next(this.orderMembers.getValue().map((orderMember) => {
470
232
  if (orderMember.id === id) {
471
233
  return Object.assign(Object.assign({}, orderMember), { order });
472
234
  }
473
235
  return orderMember;
474
- })));
236
+ }));
475
237
  }
476
- /**
477
- * @param {?} sourceIndex
478
- * @param {?} destinationIndex
479
- * @return {?}
480
- */
481
238
  reorder(sourceIndex, destinationIndex) {
482
239
  this.orderMembers.next(moveItemInArray(this.orderMembers.getValue(), sourceIndex, destinationIndex));
483
240
  }
484
- /**
485
- * @param {?} member
486
- * @return {?}
487
- */
488
241
  of(member) {
489
242
  return (this.query.asCubeQuery().order || {})[member] || 'none';
490
243
  }
491
- /**
492
- * @param {?} order
493
- * @return {?}
494
- */
495
244
  set(order) {
496
245
  this.query.setPartialQuery({ order });
497
246
  }
498
- /**
499
- * @return {?}
500
- */
501
247
  asArray() {
502
248
  if (Array.isArray(this.query.asCubeQuery().order)) {
503
- return (/** @type {?} */ (this.query.asCubeQuery().order));
249
+ return this.query.asCubeQuery().order;
504
250
  }
505
251
  return Object.entries(this.query.asCubeQuery().order || {});
506
252
  }
507
- /**
508
- * @return {?}
509
- */
510
253
  asObject() {
511
- return this.asArray().reduce((/**
512
- * @param {?} memo
513
- * @param {?} __1
514
- * @return {?}
515
- */
516
- (memo, [key, value]) => (Object.assign(Object.assign({}, memo), { [key]: value }))), {});
254
+ return this.asArray().reduce((memo, [key, value]) => (Object.assign(Object.assign({}, memo), { [key]: value })), {});
517
255
  }
518
256
  }
519
- if (false) {
520
- /** @type {?} */
521
- Order.prototype.orderMembers;
522
- /**
523
- * @type {?}
524
- * @private
525
- */
526
- Order.prototype.query;
527
- }
528
257
  class FilterMember {
529
- /**
530
- * @param {?} query
531
- */
532
258
  constructor(query) {
533
259
  this.query = query;
534
260
  }
535
- /**
536
- * @private
537
- * @return {?}
538
- */
539
261
  get filters() {
540
262
  // TODO: update this type assertion once the QueryBuilder supports logical and/or
541
- return (/** @type {?} */ ((this.query.asCubeQuery().filters || [])));
263
+ return (this.query.asCubeQuery().filters || []);
542
264
  }
543
- /**
544
- * @param {?} by
545
- * @param {?} updateWith
546
- * @return {?}
547
- */
548
265
  update(by, updateWith) {
549
- /** @type {?} */
550
- const filters = this.filters.map((/**
551
- * @param {?} filter
552
- * @param {?} index
553
- * @return {?}
554
- */
555
- (filter, index) => {
266
+ const filters = this.filters.map((filter, index) => {
556
267
  if (index === by || filter.member === by || filter.dimension === by) {
557
268
  return Object.assign(Object.assign({}, filter), updateWith);
558
269
  }
559
270
  return filter;
560
- }));
271
+ });
561
272
  this.query.setPartialQuery({
562
- filters: (/** @type {?} */ (filters)),
273
+ filters: filters,
563
274
  });
564
275
  }
565
- /**
566
- * @param {?} filter
567
- * @return {?}
568
- */
569
276
  add(filter) {
570
277
  this.query.setPartialQuery({
571
278
  filters: [...this.filters, filter],
572
279
  });
573
280
  }
574
- /**
575
- * @param {?} by
576
- * @return {?}
577
- */
578
281
  remove(by) {
579
282
  this.query.setPartialQuery({
580
- filters: this.filters.filter((/**
581
- * @param {?} filter
582
- * @param {?} index
583
- * @return {?}
584
- */
585
- (filter, index) => {
283
+ filters: this.filters.filter((filter, index) => {
586
284
  if (filter.member === by || filter.dimension === by || index === by) {
587
285
  return false;
588
286
  }
589
287
  return true;
590
- })),
288
+ }),
591
289
  });
592
290
  }
593
- /**
594
- * @param {?} filters
595
- * @return {?}
596
- */
597
291
  set(filters) {
598
292
  this.query.setPartialQuery({
599
293
  filters,
600
294
  });
601
295
  }
602
- /**
603
- * @param {?} name
604
- * @param {?} replaceWithName
605
- * @return {?}
606
- */
607
296
  replace(name, replaceWithName) {
608
297
  this.query.setPartialQuery({
609
- filters: this.filters.map((/**
610
- * @param {?} filter
611
- * @return {?}
612
- */
613
- (filter) => {
614
- /** @type {?} */
298
+ filters: this.filters.map((filter) => {
615
299
  const field = filter.member ? 'member' : 'dimension';
616
300
  return filter.member === name || filter.dimension === name
617
301
  ? Object.assign(Object.assign({}, filter), { [field]: replaceWithName }) : filter;
618
- })),
302
+ }),
619
303
  });
620
304
  }
621
- /**
622
- * @return {?}
623
- */
624
305
  asArray() {
625
- return this.filters.map((/**
626
- * @param {?} filter
627
- * @return {?}
628
- */
629
- (filter) => {
306
+ return this.filters.map((filter) => {
630
307
  return Object.assign(Object.assign(Object.assign({}, this.query.meta.resolveMember(filter.member || filter.dimension, [
631
308
  'dimensions',
632
309
  'measures',
633
310
  ])), { operators: this.query.meta.filterOperatorsForMember(filter.member || filter.dimension, ['dimensions', 'measures']) }), filter);
634
- }));
311
+ });
635
312
  }
636
313
  }
637
- if (false) {
638
- /**
639
- * @type {?}
640
- * @private
641
- */
642
- FilterMember.prototype.query;
643
- }
644
314
 
645
- /**
646
- * @fileoverview added by tsickle
647
- * Generated from: src/query-builder/query.ts
648
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
649
- */
650
- /** @enum {string} */
651
- const MemberType = {
652
- Measures: "measures",
653
- Dimensions: "dimensions",
654
- Segments: "segments",
655
- TimeDimensions: "timeDimensions",
656
- Filters: "filters",
657
- Order: "order",
658
- };
315
+ var MemberType;
316
+ (function (MemberType) {
317
+ MemberType["Measures"] = "measures";
318
+ MemberType["Dimensions"] = "dimensions";
319
+ MemberType["Segments"] = "segments";
320
+ MemberType["TimeDimensions"] = "timeDimensions";
321
+ MemberType["Filters"] = "filters";
322
+ MemberType["Order"] = "order";
323
+ })(MemberType || (MemberType = {}));
659
324
  class Query extends StateSubject {
660
- /**
661
- * @param {?} meta
662
- * @param {?=} _onBeforeChange
663
- */
664
- constructor(meta, _onBeforeChange = (/**
665
- * @param {?} newQuery
666
- * @return {?}
667
- */
668
- (newQuery) => newQuery)) {
325
+ constructor(meta, _onBeforeChange = (newQuery) => newQuery) {
669
326
  super({});
670
327
  this.meta = meta;
671
328
  this._onBeforeChange = _onBeforeChange;
672
329
  this.init();
673
330
  }
674
- /**
675
- * @private
676
- * @return {?}
677
- */
678
331
  init() {
679
332
  this.measures = new BaseMember(this, MemberType.Measures);
680
333
  this.dimensions = new BaseMember(this, MemberType.Dimensions);
@@ -683,260 +336,110 @@ class Query extends StateSubject {
683
336
  this.filters = new FilterMember(this);
684
337
  this.order = new Order(this);
685
338
  }
686
- /**
687
- * @return {?}
688
- */
689
339
  asCubeQuery() {
690
340
  return this.subject.getValue() || {};
691
341
  }
692
- /**
693
- * @param {?} query
694
- * @return {?}
695
- */
696
342
  setQuery(query) {
697
343
  this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));
698
344
  }
699
- /**
700
- * @param {?} partialQuery
701
- * @return {?}
702
- */
703
345
  setPartialQuery(partialQuery) {
704
346
  this.subject.next(this._onBeforeChange(Object.assign(Object.assign({}, this.subject.getValue()), partialQuery), this.subject.getValue(), this));
705
347
  }
706
- /**
707
- * @param {?} limit
708
- * @return {?}
709
- */
710
348
  setLimit(limit) {
711
349
  this.setPartialQuery({ limit });
712
350
  }
713
- /**
714
- * @return {?}
715
- */
716
351
  isPresent() {
717
352
  return isQueryPresent(this.asCubeQuery());
718
353
  }
719
354
  }
720
- if (false) {
721
- /** @type {?} */
722
- Query.prototype.measures;
723
- /** @type {?} */
724
- Query.prototype.dimensions;
725
- /** @type {?} */
726
- Query.prototype.segments;
727
- /** @type {?} */
728
- Query.prototype.timeDimensions;
729
- /** @type {?} */
730
- Query.prototype.filters;
731
- /** @type {?} */
732
- Query.prototype.order;
733
- /** @type {?} */
734
- Query.prototype.meta;
735
- /**
736
- * @type {?}
737
- * @private
738
- */
739
- Query.prototype._onBeforeChange;
740
- }
741
355
 
742
- /**
743
- * @fileoverview added by tsickle
744
- * Generated from: src/query-builder/builder-meta.ts
745
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
746
- */
747
356
  class BuilderMeta {
748
- /**
749
- * @param {?} meta
750
- */
751
357
  constructor(meta) {
752
358
  this.meta = meta;
753
359
  this.mapMeta();
754
360
  }
755
- /**
756
- * @private
757
- * @return {?}
758
- */
759
361
  mapMeta() {
760
- /** @type {?} */
761
- const allDimensions = (/** @type {?} */ ((this.meta.membersForQuery(null, 'dimensions'))));
762
- this.measures = (/** @type {?} */ (this.meta.membersForQuery(null, 'measures')));
362
+ const allDimensions = (this.meta.membersForQuery(null, 'dimensions'));
363
+ this.measures = this.meta.membersForQuery(null, 'measures');
763
364
  this.segments = this.meta.membersForQuery(null, 'segments');
764
- this.dimensions = allDimensions.filter((/**
765
- * @param {?} __0
766
- * @return {?}
767
- */
768
- ({ type }) => type !== 'time'));
769
- this.timeDimensions = allDimensions.filter((/**
770
- * @param {?} __0
771
- * @return {?}
772
- */
773
- ({ type }) => type === 'time'));
774
- this.filters = [...allDimensions, ...this.measures].map((/**
775
- * @param {?} member
776
- * @return {?}
777
- */
778
- (member) => {
365
+ this.dimensions = allDimensions.filter(({ type }) => type !== 'time');
366
+ this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');
367
+ this.filters = [...allDimensions, ...this.measures].map((member) => {
779
368
  return Object.assign(Object.assign({}, member), { operators: this.meta.filterOperatorsForMember(member.name, [
780
369
  'dimensions',
781
370
  'measures',
782
371
  ]) });
783
- }));
372
+ });
784
373
  }
785
374
  }
786
- if (false) {
787
- /** @type {?} */
788
- BuilderMeta.prototype.measures;
789
- /** @type {?} */
790
- BuilderMeta.prototype.dimensions;
791
- /** @type {?} */
792
- BuilderMeta.prototype.segments;
793
- /** @type {?} */
794
- BuilderMeta.prototype.timeDimensions;
795
- /** @type {?} */
796
- BuilderMeta.prototype.filters;
797
- /** @type {?} */
798
- BuilderMeta.prototype.meta;
799
- }
800
375
 
801
- /**
802
- * @fileoverview added by tsickle
803
- * Generated from: src/query-builder/pivot-config.ts
804
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
805
- */
806
376
  class PivotConfig extends StateSubject {
807
- /**
808
- * @param {?} pivotConfig
809
- */
810
377
  constructor(pivotConfig) {
811
378
  super(pivotConfig);
812
379
  }
813
- /**
814
- * @param {?} sourceIndex
815
- * @param {?} destinationIndex
816
- * @param {?} sourceAxis
817
- * @param {?} destinationAxis
818
- * @return {?}
819
- */
820
380
  moveItem(sourceIndex, destinationIndex, sourceAxis, destinationAxis) {
821
381
  this.subject.next(movePivotItem(this.get(), sourceIndex, destinationIndex, sourceAxis, destinationAxis));
822
382
  }
823
- /**
824
- * @param {?} fillMissingDates
825
- * @return {?}
826
- */
827
383
  setFillMissingDates(fillMissingDates) {
828
384
  this.subject.next(Object.assign(Object.assign({}, this.get()), { fillMissingDates }));
829
385
  }
830
386
  }
831
387
 
832
- /**
833
- * @fileoverview added by tsickle
834
- * Generated from: src/query-builder/chart-type.ts
835
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
836
- */
837
388
  class ChartType extends StateSubject {
838
- /**
839
- * @param {?} value
840
- */
841
389
  constructor(value) {
842
390
  super(value);
843
391
  }
844
392
  }
845
393
 
846
- /**
847
- * @fileoverview added by tsickle
848
- * Generated from: src/query-builder/query-builder.service.ts
849
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
850
- */
851
394
  class QueryBuilderService {
852
395
  constructor() {
853
396
  this._disableHeuristics = false;
854
397
  this._heuristicChange$ = new Subject();
855
- this.builderMeta = new Promise((/**
856
- * @param {?} resolve
857
- * @return {?}
858
- */
859
- (resolve) => (this._resolveBuilderMeta = resolve)));
860
- this.query = new Promise((/**
861
- * @param {?} resolve
862
- * @return {?}
863
- */
864
- (resolve) => (this._resolveQuery = resolve)));
398
+ this.builderMeta = new Promise((resolve) => (this._resolveBuilderMeta = resolve));
399
+ this.query = new Promise((resolve) => (this._resolveQuery = resolve));
865
400
  this.state = new BehaviorSubject({});
866
401
  }
867
- /**
868
- * @private
869
- * @return {?}
870
- */
871
402
  init() {
872
403
  return __awaiter(this, void 0, void 0, function* () {
873
404
  this.pivotConfig = new PivotConfig(null);
874
405
  this.chartType = new ChartType('line');
875
- this._cubejs.meta().subscribe((/**
876
- * @param {?} meta
877
- * @return {?}
878
- */
879
- (meta) => {
406
+ this._cubejs.meta().subscribe((meta) => {
880
407
  this._meta = meta;
881
408
  this._query = new Query(this._meta, this._handleQueryChange.bind(this));
882
409
  this._resolveQuery(this._query);
883
410
  this._resolveBuilderMeta(new BuilderMeta(this._meta));
884
- }));
411
+ });
885
412
  this.subscribe();
886
413
  if (!this._disableHeuristics) {
887
414
  this._heuristicChange$
888
- .pipe(switchMap((/**
889
- * @param {?} data
890
- * @return {?}
891
- */
892
- (data) => {
415
+ .pipe(switchMap((data) => {
893
416
  return combineLatest([
894
- this._cubejs.dryRun(data.query).pipe(catchError((/**
895
- * @param {?} error
896
- * @return {?}
897
- */
898
- (error) => {
417
+ this._cubejs.dryRun(data.query).pipe(catchError((error) => {
899
418
  console.error(error);
900
419
  return of(null);
901
- }))),
420
+ })),
902
421
  of(data.shouldApplyHeuristicOrder),
903
422
  ]);
904
- })))
905
- .subscribe((/**
906
- * @param {?} __0
907
- * @return {?}
908
- */
909
- ([dryRunResponse, shouldApplyHeuristicOrder]) => {
423
+ }))
424
+ .subscribe(([dryRunResponse, shouldApplyHeuristicOrder]) => {
910
425
  if (!dryRunResponse) {
911
426
  return;
912
427
  }
913
428
  const { pivotQuery, queryOrder } = dryRunResponse;
914
429
  this.pivotConfig.set(ResultSet.getNormalizedPivotConfig(pivotQuery, this.pivotConfig.get()));
915
430
  if (shouldApplyHeuristicOrder) {
916
- this._query.order.set(queryOrder.reduce((/**
917
- * @param {?} a
918
- * @param {?} b
919
- * @return {?}
920
- */
921
- (a, b) => (Object.assign(Object.assign({}, a), b))), {}));
431
+ this._query.order.set(queryOrder.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {}));
922
432
  }
923
- }));
433
+ });
924
434
  }
925
435
  });
926
436
  }
927
- /**
928
- * @private
929
- * @param {?} newQuery
930
- * @param {?} oldQuery
931
- * @return {?}
932
- */
933
437
  _handleQueryChange(newQuery, oldQuery) {
934
438
  var _a, _b;
935
439
  const { chartType, shouldApplyHeuristicOrder, query: heuristicQuery, } = defaultHeuristics(newQuery, oldQuery, {
936
440
  meta: this._meta,
937
441
  sessionGranularity: (_b = (_a = newQuery === null || newQuery === void 0 ? void 0 : newQuery.timeDimensions) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.granularity,
938
442
  });
939
- /** @type {?} */
940
443
  const query = this._disableHeuristics
941
444
  ? newQuery
942
445
  : heuristicQuery || newQuery;
@@ -951,158 +454,62 @@ class QueryBuilderService {
951
454
  }
952
455
  return query;
953
456
  }
954
- /**
955
- * @param {?} cubejsClient
956
- * @return {?}
957
- */
958
457
  setCubejsClient(cubejsClient) {
959
458
  this._cubejs = cubejsClient;
960
459
  this.init();
961
460
  }
962
- /**
963
- * @private
964
- * @return {?}
965
- */
966
461
  subscribe() {
967
- Object.getOwnPropertyNames(this).forEach((/**
968
- * @param {?} key
969
- * @return {?}
970
- */
971
- (key) => {
462
+ Object.getOwnPropertyNames(this).forEach((key) => {
972
463
  if (this[key] instanceof StateSubject) {
973
- this[key].subject.subscribe((/**
974
- * @param {?} value
975
- * @return {?}
976
- */
977
- (value) => this.setPartialState({
464
+ this[key].subject.subscribe((value) => this.setPartialState({
978
465
  [key]: value,
979
- })));
466
+ }));
980
467
  }
981
- }));
982
- this.query.then((/**
983
- * @param {?} query
984
- * @return {?}
985
- */
986
- (query) => {
987
- query.subject.subscribe((/**
988
- * @param {?} cubeQuery
989
- * @return {?}
990
- */
991
- (cubeQuery) => {
468
+ });
469
+ this.query.then((query) => {
470
+ query.subject.subscribe((cubeQuery) => {
992
471
  this.setPartialState({
993
472
  query: cubeQuery,
994
473
  });
995
- }));
996
- }));
474
+ });
475
+ });
997
476
  }
998
- /**
999
- * @param {?} state
1000
- * @return {?}
1001
- */
1002
477
  deserialize(state) {
1003
478
  return __awaiter(this, void 0, void 0, function* () {
1004
479
  if (state.query) {
1005
480
  (yield this.query).setQuery(state.query);
1006
481
  }
1007
- Object.entries(state).forEach((/**
1008
- * @param {?} __0
1009
- * @return {?}
1010
- */
1011
- ([key, value]) => {
482
+ Object.entries(state).forEach(([key, value]) => {
1012
483
  if (this[key] instanceof StateSubject) {
1013
484
  this[key].set(value);
1014
485
  }
1015
- }));
486
+ });
1016
487
  this.subscribe();
1017
488
  });
1018
489
  }
1019
- /**
1020
- * @param {?} partialState
1021
- * @return {?}
1022
- */
1023
490
  setPartialState(partialState) {
1024
491
  this.state.next(Object.assign(Object.assign({}, this.state.getValue()), partialState));
1025
492
  }
1026
- /**
1027
- * @return {?}
1028
- */
1029
493
  disableHeuristics() {
1030
494
  this._disableHeuristics = false;
1031
495
  }
1032
- /**
1033
- * @return {?}
1034
- */
1035
496
  enableHeuristics() {
1036
497
  this._disableHeuristics = true;
1037
498
  }
1038
499
  }
500
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1039
501
  QueryBuilderService.decorators = [
1040
502
  { type: Injectable }
1041
503
  ];
1042
- if (false) {
1043
- /**
1044
- * @type {?}
1045
- * @private
1046
- */
1047
- QueryBuilderService.prototype._cubejs;
1048
- /**
1049
- * @type {?}
1050
- * @private
1051
- */
1052
- QueryBuilderService.prototype._meta;
1053
- /**
1054
- * @type {?}
1055
- * @private
1056
- */
1057
- QueryBuilderService.prototype._query;
1058
- /**
1059
- * @type {?}
1060
- * @private
1061
- */
1062
- QueryBuilderService.prototype._disableHeuristics;
1063
- /**
1064
- * @type {?}
1065
- * @private
1066
- */
1067
- QueryBuilderService.prototype._resolveQuery;
1068
- /**
1069
- * @type {?}
1070
- * @private
1071
- */
1072
- QueryBuilderService.prototype._resolveBuilderMeta;
1073
- /**
1074
- * @type {?}
1075
- * @private
1076
- */
1077
- QueryBuilderService.prototype._heuristicChange$;
1078
- /** @type {?} */
1079
- QueryBuilderService.prototype.builderMeta;
1080
- /** @type {?} */
1081
- QueryBuilderService.prototype.query;
1082
- /** @type {?} */
1083
- QueryBuilderService.prototype.state;
1084
- /** @type {?} */
1085
- QueryBuilderService.prototype.pivotConfig;
1086
- /** @type {?} */
1087
- QueryBuilderService.prototype.chartType;
1088
- }
1089
504
 
1090
- /**
1091
- * @fileoverview added by tsickle
1092
- * Generated from: src/public_api.ts
1093
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
505
+ /*
506
+ * Public API Surface of cubejs-client-ngx
1094
507
  */
1095
508
 
1096
- /**
1097
- * @fileoverview added by tsickle
1098
- * Generated from: index.ts
1099
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1100
- */
509
+ // This file is not used to build this module. It is only used during editing
1101
510
 
1102
511
  /**
1103
- * @fileoverview added by tsickle
1104
- * Generated from: cubejs-client-ngx.ts
1105
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
512
+ * Generated bundle index. Do not edit.
1106
513
  */
1107
514
 
1108
515
  export { BaseMember, BuilderMeta, ChartType, CubejsClient, CubejsClientModule, FilterMember, MemberType, Order, PivotConfig, Query, QueryBuilderService, TimeDimensionMember, StateSubject as ɵa };