@cubejs-client/ngx 0.28.51 → 0.29.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
21
  apiInstace() {
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,43 @@ 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.apiInstace().load(query, options));
63
39
  }
64
- /**
65
- * @param {?} query
66
- * @param {?=} options
67
- * @return {?}
68
- */
69
40
  sql(query, options) {
70
41
  return from(this.apiInstace().sql(query, options));
71
42
  }
72
- /**
73
- * @param {?} query
74
- * @param {?=} options
75
- * @return {?}
76
- */
77
43
  dryRun(query, options) {
78
44
  return from(this.apiInstace().dryRun(query, options));
79
45
  }
80
- /**
81
- * @param {?=} options
82
- * @return {?}
83
- */
84
46
  meta(options) {
85
47
  return from(this.apiInstace().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 {?} */
50
+ return new Observable((observer) => query.subscribe({
51
+ next: (query) => __awaiter(this, void 0, void 0, function* () {
104
52
  const resultSet = yield this.apiInstace().load(query, params);
105
53
  observer.next(resultSet);
106
- })),
107
- })));
54
+ }),
55
+ }));
108
56
  }
109
57
  }
58
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
110
59
  CubejsClient.decorators = [
111
60
  { type: Injectable }
112
61
  ];
113
- /** @nocollapse */
62
+ /**
63
+ * @type {function(): !Array<(null|{
64
+ * type: ?,
65
+ * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
66
+ * })>}
67
+ * @nocollapse
68
+ */
114
69
  CubejsClient.ctorParameters = () => [
115
70
  { type: undefined, decorators: [{ type: Inject, args: ['config',] }] }
116
71
  ];
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
72
 
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
73
  class CubejsClientModule {
138
- /**
139
- * @param {?} config
140
- * @return {?}
141
- */
142
74
  static forRoot(config) {
143
75
  return {
144
76
  ngModule: CubejsClientModule,
@@ -152,189 +84,85 @@ class CubejsClientModule {
152
84
  };
153
85
  }
154
86
  }
87
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
155
88
  CubejsClientModule.decorators = [
156
89
  { type: NgModule, args: [{
157
90
  providers: [CubejsClient],
158
91
  },] }
159
92
  ];
160
93
 
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
94
  class StateSubject {
170
- /**
171
- * @param {?} value
172
- */
173
95
  constructor(value) {
174
96
  this.subject = new BehaviorSubject(value);
175
97
  }
176
- /**
177
- * @return {?}
178
- */
179
98
  get() {
180
99
  return this.subject.getValue();
181
100
  }
182
- /**
183
- * @param {?} value
184
- * @return {?}
185
- */
186
101
  set(value) {
187
102
  this.subject.next(value);
188
103
  }
189
104
  }
190
- if (false) {
191
- /** @type {?} */
192
- StateSubject.prototype.subject;
193
- }
194
105
 
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
106
  class BaseMember {
201
- /**
202
- * @param {?} query
203
- * @param {?} field
204
- */
205
107
  constructor(query, field) {
206
108
  this.query = query;
207
109
  this.field = field;
208
110
  }
209
- /**
210
- * @private
211
- * @return {?}
212
- */
213
111
  get members() {
214
112
  return this.query.asCubeQuery()[this.field] || [];
215
113
  }
216
- /**
217
- * @param {?} name
218
- * @return {?}
219
- */
220
114
  add(name) {
221
115
  this.query.setPartialQuery({
222
116
  [this.field]: [...this.members, name],
223
117
  });
224
118
  }
225
- /**
226
- * @param {?} name
227
- * @param {?} replaceWithName
228
- * @return {?}
229
- */
230
119
  replace(name, replaceWithName) {
231
120
  this.query.setPartialQuery({
232
- [this.field]: this.members.map((/**
233
- * @param {?} currentName
234
- * @return {?}
235
- */
236
- (currentName) => currentName === name ? replaceWithName : currentName)),
121
+ [this.field]: this.members.map((currentName) => currentName === name ? replaceWithName : currentName),
237
122
  });
238
123
  }
239
- /**
240
- * @param {?} by
241
- * @return {?}
242
- */
243
124
  remove(by) {
244
125
  this.query.setPartialQuery({
245
126
  [this.field]: this.query
246
- .asCubeQuery()[this.field].filter((/**
247
- * @param {?} currentName
248
- * @param {?} index
249
- * @return {?}
250
- */
251
- (currentName, index) => {
127
+ .asCubeQuery()[this.field].filter((currentName, index) => {
252
128
  if (typeof by === 'string') {
253
129
  return currentName !== by;
254
130
  }
255
131
  return index !== by;
256
- })),
132
+ }),
257
133
  });
258
134
  }
259
- /**
260
- * @param {?} members
261
- * @return {?}
262
- */
263
135
  set(members) {
264
136
  this.query.setPartialQuery({
265
137
  [this.field]: members,
266
138
  });
267
139
  }
268
- /**
269
- * @return {?}
270
- */
271
140
  asArray() {
272
- return (this.query.asCubeQuery()[this.field] || []).map((/**
273
- * @param {?} name
274
- * @return {?}
275
- */
276
- (name) => this.query.meta.resolveMember(name, this.field)));
141
+ return (this.query.asCubeQuery()[this.field] || []).map((name) => this.query.meta.resolveMember(name, this.field));
277
142
  }
278
143
  }
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
144
  class TimeDimensionMember {
292
- /**
293
- * @param {?} query
294
- */
295
145
  constructor(query) {
296
146
  this.query = query;
297
147
  }
298
- /**
299
- * @private
300
- * @return {?}
301
- */
302
148
  get members() {
303
149
  return this.query.asCubeQuery().timeDimensions || [];
304
150
  }
305
- /**
306
- * @return {?}
307
- */
308
151
  get granularity() {
309
152
  var _a;
310
153
  return (_a = this.members[0]) === null || _a === void 0 ? void 0 : _a.granularity;
311
154
  }
312
- /**
313
- * @param {?} by
314
- * @param {?} updateWith
315
- * @return {?}
316
- */
317
155
  updateTimeDimension(by, updateWith) {
318
- /** @type {?} */
319
- const timeDimensions = this.members.map((/**
320
- * @param {?} td
321
- * @param {?} index
322
- * @return {?}
323
- */
324
- (td, index) => {
156
+ const timeDimensions = this.members.map((td, index) => {
325
157
  if (td.dimension === by || index === by) {
326
158
  return Object.assign(Object.assign({}, td), updateWith);
327
159
  }
328
160
  return td;
329
- }));
161
+ });
330
162
  this.query.setPartialQuery({
331
163
  timeDimensions,
332
164
  });
333
165
  }
334
- /**
335
- * @param {?} name
336
- * @return {?}
337
- */
338
166
  add(name) {
339
167
  this.query.setPartialQuery({
340
168
  timeDimensions: [
@@ -344,337 +172,157 @@ class TimeDimensionMember {
344
172
  ],
345
173
  });
346
174
  }
347
- /**
348
- * @param {?} name
349
- * @return {?}
350
- */
351
175
  remove(name) {
352
176
  this.query.setPartialQuery({
353
- timeDimensions: this.members.filter((/**
354
- * @param {?} __0
355
- * @return {?}
356
- */
357
- ({ dimension }) => dimension !== name)),
177
+ timeDimensions: this.members.filter(({ dimension }) => dimension !== name),
358
178
  });
359
179
  }
360
- /**
361
- * @param {?} timeDimensions
362
- * @return {?}
363
- */
364
180
  set(timeDimensions) {
365
181
  this.query.setPartialQuery({
366
182
  timeDimensions,
367
183
  });
368
184
  }
369
- /**
370
- * @param {?} by
371
- * @param {?} dateRange
372
- * @return {?}
373
- */
374
185
  setDateRange(by, dateRange) {
375
186
  this.updateTimeDimension(by, { dateRange });
376
187
  }
377
- /**
378
- * @param {?} by
379
- * @param {?} granularity
380
- * @return {?}
381
- */
382
188
  setGranularity(by, granularity) {
383
189
  this.updateTimeDimension(by, { granularity });
384
190
  }
385
- /**
386
- * @return {?}
387
- */
388
191
  asArray() {
389
- return (this.query.asCubeQuery().timeDimensions || []).map((/**
390
- * @param {?} td
391
- * @return {?}
392
- */
393
- (td) => {
192
+ return (this.query.asCubeQuery().timeDimensions || []).map((td) => {
394
193
  return Object.assign(Object.assign({}, this.query.meta.resolveMember(td.dimension, 'dimensions')), td);
395
- }));
194
+ });
396
195
  }
397
196
  }
398
- if (false) {
399
- /**
400
- * @type {?}
401
- * @private
402
- */
403
- TimeDimensionMember.prototype.query;
404
- }
405
197
  class Order {
406
- /**
407
- * @param {?} query
408
- */
409
198
  constructor(query) {
410
199
  this.query = query;
411
200
  this.orderMembers = new BehaviorSubject([]);
412
201
  this.query.subject.subscribe(this.handleQueryChange.bind(this));
413
202
  this.orderMembers.subscribe(this.handleOrderMembersChange.bind(this));
414
203
  }
415
- /**
416
- * @private
417
- * @param {?} orderMembers
418
- * @return {?}
419
- */
420
204
  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 }))), {})));
205
+ const order = orderMembers
206
+ .filter(({ order }) => order !== 'none')
207
+ .reduce((memo, { id, order }) => (Object.assign(Object.assign({}, memo), { [id]: order })), {});
434
208
  if (!equal(order, this.asObject())) {
435
209
  this.query.setPartialQuery({ order });
436
210
  }
437
211
  }
438
- /**
439
- * @private
440
- * @return {?}
441
- */
442
212
  handleQueryChange() {
443
213
  this.orderMembers.next([
444
214
  ...this.query.measures.asArray(),
445
215
  ...this.query.dimensions.asArray(),
446
216
  ...this.query.timeDimensions.asArray(),
447
- ].map((/**
448
- * @param {?} __0
449
- * @return {?}
450
- */
451
- ({ name, title }) => {
217
+ ].map(({ name, title }) => {
452
218
  return {
453
219
  id: name,
454
220
  order: this.of(name),
455
221
  title,
456
222
  };
457
- })));
223
+ }));
458
224
  }
459
- /**
460
- * @param {?} id
461
- * @param {?} order
462
- * @return {?}
463
- */
464
225
  setMemberOrder(id, order) {
465
- this.orderMembers.next(this.orderMembers.getValue().map((/**
466
- * @param {?} orderMember
467
- * @return {?}
468
- */
469
- (orderMember) => {
226
+ this.orderMembers.next(this.orderMembers.getValue().map((orderMember) => {
470
227
  if (orderMember.id === id) {
471
228
  return Object.assign(Object.assign({}, orderMember), { order });
472
229
  }
473
230
  return orderMember;
474
- })));
231
+ }));
475
232
  }
476
- /**
477
- * @param {?} sourceIndex
478
- * @param {?} destinationIndex
479
- * @return {?}
480
- */
481
233
  reorder(sourceIndex, destinationIndex) {
482
234
  this.orderMembers.next(moveItemInArray(this.orderMembers.getValue(), sourceIndex, destinationIndex));
483
235
  }
484
- /**
485
- * @param {?} member
486
- * @return {?}
487
- */
488
236
  of(member) {
489
237
  return (this.query.asCubeQuery().order || {})[member] || 'none';
490
238
  }
491
- /**
492
- * @param {?} order
493
- * @return {?}
494
- */
495
239
  set(order) {
496
240
  this.query.setPartialQuery({ order });
497
241
  }
498
- /**
499
- * @return {?}
500
- */
501
242
  asArray() {
502
243
  if (Array.isArray(this.query.asCubeQuery().order)) {
503
- return (/** @type {?} */ (this.query.asCubeQuery().order));
244
+ return this.query.asCubeQuery().order;
504
245
  }
505
246
  return Object.entries(this.query.asCubeQuery().order || {});
506
247
  }
507
- /**
508
- * @return {?}
509
- */
510
248
  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 }))), {});
249
+ return this.asArray().reduce((memo, [key, value]) => (Object.assign(Object.assign({}, memo), { [key]: value })), {});
517
250
  }
518
251
  }
519
- if (false) {
520
- /** @type {?} */
521
- Order.prototype.orderMembers;
522
- /**
523
- * @type {?}
524
- * @private
525
- */
526
- Order.prototype.query;
527
- }
528
252
  class FilterMember {
529
- /**
530
- * @param {?} query
531
- */
532
253
  constructor(query) {
533
254
  this.query = query;
534
255
  }
535
- /**
536
- * @private
537
- * @return {?}
538
- */
539
256
  get filters() {
540
257
  // TODO: update this type assertion once the QueryBuilder supports logical and/or
541
- return (/** @type {?} */ ((this.query.asCubeQuery().filters || [])));
258
+ return (this.query.asCubeQuery().filters || []);
542
259
  }
543
- /**
544
- * @param {?} by
545
- * @param {?} updateWith
546
- * @return {?}
547
- */
548
260
  update(by, updateWith) {
549
- /** @type {?} */
550
- const filters = this.filters.map((/**
551
- * @param {?} filter
552
- * @param {?} index
553
- * @return {?}
554
- */
555
- (filter, index) => {
261
+ const filters = this.filters.map((filter, index) => {
556
262
  if (index === by || filter.member === by || filter.dimension === by) {
557
263
  return Object.assign(Object.assign({}, filter), updateWith);
558
264
  }
559
265
  return filter;
560
- }));
266
+ });
561
267
  this.query.setPartialQuery({
562
- filters: (/** @type {?} */ (filters)),
268
+ filters: filters,
563
269
  });
564
270
  }
565
- /**
566
- * @param {?} filter
567
- * @return {?}
568
- */
569
271
  add(filter) {
570
272
  this.query.setPartialQuery({
571
273
  filters: [...this.filters, filter],
572
274
  });
573
275
  }
574
- /**
575
- * @param {?} by
576
- * @return {?}
577
- */
578
276
  remove(by) {
579
277
  this.query.setPartialQuery({
580
- filters: this.filters.filter((/**
581
- * @param {?} filter
582
- * @param {?} index
583
- * @return {?}
584
- */
585
- (filter, index) => {
278
+ filters: this.filters.filter((filter, index) => {
586
279
  if (filter.member === by || filter.dimension === by || index === by) {
587
280
  return false;
588
281
  }
589
282
  return true;
590
- })),
283
+ }),
591
284
  });
592
285
  }
593
- /**
594
- * @param {?} filters
595
- * @return {?}
596
- */
597
286
  set(filters) {
598
287
  this.query.setPartialQuery({
599
288
  filters,
600
289
  });
601
290
  }
602
- /**
603
- * @param {?} name
604
- * @param {?} replaceWithName
605
- * @return {?}
606
- */
607
291
  replace(name, replaceWithName) {
608
292
  this.query.setPartialQuery({
609
- filters: this.filters.map((/**
610
- * @param {?} filter
611
- * @return {?}
612
- */
613
- (filter) => {
614
- /** @type {?} */
293
+ filters: this.filters.map((filter) => {
615
294
  const field = filter.member ? 'member' : 'dimension';
616
295
  return filter.member === name || filter.dimension === name
617
296
  ? Object.assign(Object.assign({}, filter), { [field]: replaceWithName }) : filter;
618
- })),
297
+ }),
619
298
  });
620
299
  }
621
- /**
622
- * @return {?}
623
- */
624
300
  asArray() {
625
- return this.filters.map((/**
626
- * @param {?} filter
627
- * @return {?}
628
- */
629
- (filter) => {
301
+ return this.filters.map((filter) => {
630
302
  return Object.assign(Object.assign(Object.assign({}, this.query.meta.resolveMember(filter.member || filter.dimension, [
631
303
  'dimensions',
632
304
  'measures',
633
305
  ])), { operators: this.query.meta.filterOperatorsForMember(filter.member || filter.dimension, ['dimensions', 'measures']) }), filter);
634
- }));
306
+ });
635
307
  }
636
308
  }
637
- if (false) {
638
- /**
639
- * @type {?}
640
- * @private
641
- */
642
- FilterMember.prototype.query;
643
- }
644
309
 
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
- };
310
+ var MemberType;
311
+ (function (MemberType) {
312
+ MemberType["Measures"] = "measures";
313
+ MemberType["Dimensions"] = "dimensions";
314
+ MemberType["Segments"] = "segments";
315
+ MemberType["TimeDimensions"] = "timeDimensions";
316
+ MemberType["Filters"] = "filters";
317
+ MemberType["Order"] = "order";
318
+ })(MemberType || (MemberType = {}));
659
319
  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)) {
320
+ constructor(meta, _onBeforeChange = (newQuery) => newQuery) {
669
321
  super({});
670
322
  this.meta = meta;
671
323
  this._onBeforeChange = _onBeforeChange;
672
324
  this.init();
673
325
  }
674
- /**
675
- * @private
676
- * @return {?}
677
- */
678
326
  init() {
679
327
  this.measures = new BaseMember(this, MemberType.Measures);
680
328
  this.dimensions = new BaseMember(this, MemberType.Dimensions);
@@ -683,260 +331,110 @@ class Query extends StateSubject {
683
331
  this.filters = new FilterMember(this);
684
332
  this.order = new Order(this);
685
333
  }
686
- /**
687
- * @return {?}
688
- */
689
334
  asCubeQuery() {
690
335
  return this.subject.getValue() || {};
691
336
  }
692
- /**
693
- * @param {?} query
694
- * @return {?}
695
- */
696
337
  setQuery(query) {
697
338
  this.subject.next(this._onBeforeChange(query, this.subject.getValue(), this));
698
339
  }
699
- /**
700
- * @param {?} partialQuery
701
- * @return {?}
702
- */
703
340
  setPartialQuery(partialQuery) {
704
341
  this.subject.next(this._onBeforeChange(Object.assign(Object.assign({}, this.subject.getValue()), partialQuery), this.subject.getValue(), this));
705
342
  }
706
- /**
707
- * @param {?} limit
708
- * @return {?}
709
- */
710
343
  setLimit(limit) {
711
344
  this.setPartialQuery({ limit });
712
345
  }
713
- /**
714
- * @return {?}
715
- */
716
346
  isPresent() {
717
347
  return isQueryPresent(this.asCubeQuery());
718
348
  }
719
349
  }
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
350
 
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
351
  class BuilderMeta {
748
- /**
749
- * @param {?} meta
750
- */
751
352
  constructor(meta) {
752
353
  this.meta = meta;
753
354
  this.mapMeta();
754
355
  }
755
- /**
756
- * @private
757
- * @return {?}
758
- */
759
356
  mapMeta() {
760
- /** @type {?} */
761
- const allDimensions = (/** @type {?} */ ((this.meta.membersForQuery(null, 'dimensions'))));
762
- this.measures = (/** @type {?} */ (this.meta.membersForQuery(null, 'measures')));
357
+ const allDimensions = (this.meta.membersForQuery(null, 'dimensions'));
358
+ this.measures = this.meta.membersForQuery(null, 'measures');
763
359
  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) => {
360
+ this.dimensions = allDimensions.filter(({ type }) => type !== 'time');
361
+ this.timeDimensions = allDimensions.filter(({ type }) => type === 'time');
362
+ this.filters = [...allDimensions, ...this.measures].map((member) => {
779
363
  return Object.assign(Object.assign({}, member), { operators: this.meta.filterOperatorsForMember(member.name, [
780
364
  'dimensions',
781
365
  'measures',
782
366
  ]) });
783
- }));
367
+ });
784
368
  }
785
369
  }
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
370
 
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
371
  class PivotConfig extends StateSubject {
807
- /**
808
- * @param {?} pivotConfig
809
- */
810
372
  constructor(pivotConfig) {
811
373
  super(pivotConfig);
812
374
  }
813
- /**
814
- * @param {?} sourceIndex
815
- * @param {?} destinationIndex
816
- * @param {?} sourceAxis
817
- * @param {?} destinationAxis
818
- * @return {?}
819
- */
820
375
  moveItem(sourceIndex, destinationIndex, sourceAxis, destinationAxis) {
821
376
  this.subject.next(movePivotItem(this.get(), sourceIndex, destinationIndex, sourceAxis, destinationAxis));
822
377
  }
823
- /**
824
- * @param {?} fillMissingDates
825
- * @return {?}
826
- */
827
378
  setFillMissingDates(fillMissingDates) {
828
379
  this.subject.next(Object.assign(Object.assign({}, this.get()), { fillMissingDates }));
829
380
  }
830
381
  }
831
382
 
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
383
  class ChartType extends StateSubject {
838
- /**
839
- * @param {?} value
840
- */
841
384
  constructor(value) {
842
385
  super(value);
843
386
  }
844
387
  }
845
388
 
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
389
  class QueryBuilderService {
852
390
  constructor() {
853
391
  this._disableHeuristics = false;
854
392
  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)));
393
+ this.builderMeta = new Promise((resolve) => (this._resolveBuilderMeta = resolve));
394
+ this.query = new Promise((resolve) => (this._resolveQuery = resolve));
865
395
  this.state = new BehaviorSubject({});
866
396
  }
867
- /**
868
- * @private
869
- * @return {?}
870
- */
871
397
  init() {
872
398
  return __awaiter(this, void 0, void 0, function* () {
873
399
  this.pivotConfig = new PivotConfig(null);
874
400
  this.chartType = new ChartType('line');
875
- this._cubejs.meta().subscribe((/**
876
- * @param {?} meta
877
- * @return {?}
878
- */
879
- (meta) => {
401
+ this._cubejs.meta().subscribe((meta) => {
880
402
  this._meta = meta;
881
403
  this._query = new Query(this._meta, this._handleQueryChange.bind(this));
882
404
  this._resolveQuery(this._query);
883
405
  this._resolveBuilderMeta(new BuilderMeta(this._meta));
884
- }));
406
+ });
885
407
  this.subscribe();
886
408
  if (!this._disableHeuristics) {
887
409
  this._heuristicChange$
888
- .pipe(switchMap((/**
889
- * @param {?} data
890
- * @return {?}
891
- */
892
- (data) => {
410
+ .pipe(switchMap((data) => {
893
411
  return combineLatest([
894
- this._cubejs.dryRun(data.query).pipe(catchError((/**
895
- * @param {?} error
896
- * @return {?}
897
- */
898
- (error) => {
412
+ this._cubejs.dryRun(data.query).pipe(catchError((error) => {
899
413
  console.error(error);
900
414
  return of(null);
901
- }))),
415
+ })),
902
416
  of(data.shouldApplyHeuristicOrder),
903
417
  ]);
904
- })))
905
- .subscribe((/**
906
- * @param {?} __0
907
- * @return {?}
908
- */
909
- ([dryRunResponse, shouldApplyHeuristicOrder]) => {
418
+ }))
419
+ .subscribe(([dryRunResponse, shouldApplyHeuristicOrder]) => {
910
420
  if (!dryRunResponse) {
911
421
  return;
912
422
  }
913
423
  const { pivotQuery, queryOrder } = dryRunResponse;
914
424
  this.pivotConfig.set(ResultSet.getNormalizedPivotConfig(pivotQuery, this.pivotConfig.get()));
915
425
  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))), {}));
426
+ this._query.order.set(queryOrder.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {}));
922
427
  }
923
- }));
428
+ });
924
429
  }
925
430
  });
926
431
  }
927
- /**
928
- * @private
929
- * @param {?} newQuery
930
- * @param {?} oldQuery
931
- * @return {?}
932
- */
933
432
  _handleQueryChange(newQuery, oldQuery) {
934
433
  var _a, _b;
935
434
  const { chartType, shouldApplyHeuristicOrder, query: heuristicQuery, } = defaultHeuristics(newQuery, oldQuery, {
936
435
  meta: this._meta,
937
436
  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
437
  });
939
- /** @type {?} */
940
438
  const query = this._disableHeuristics
941
439
  ? newQuery
942
440
  : heuristicQuery || newQuery;
@@ -951,158 +449,62 @@ class QueryBuilderService {
951
449
  }
952
450
  return query;
953
451
  }
954
- /**
955
- * @param {?} cubejsClient
956
- * @return {?}
957
- */
958
452
  setCubejsClient(cubejsClient) {
959
453
  this._cubejs = cubejsClient;
960
454
  this.init();
961
455
  }
962
- /**
963
- * @private
964
- * @return {?}
965
- */
966
456
  subscribe() {
967
- Object.getOwnPropertyNames(this).forEach((/**
968
- * @param {?} key
969
- * @return {?}
970
- */
971
- (key) => {
457
+ Object.getOwnPropertyNames(this).forEach((key) => {
972
458
  if (this[key] instanceof StateSubject) {
973
- this[key].subject.subscribe((/**
974
- * @param {?} value
975
- * @return {?}
976
- */
977
- (value) => this.setPartialState({
459
+ this[key].subject.subscribe((value) => this.setPartialState({
978
460
  [key]: value,
979
- })));
461
+ }));
980
462
  }
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) => {
463
+ });
464
+ this.query.then((query) => {
465
+ query.subject.subscribe((cubeQuery) => {
992
466
  this.setPartialState({
993
467
  query: cubeQuery,
994
468
  });
995
- }));
996
- }));
469
+ });
470
+ });
997
471
  }
998
- /**
999
- * @param {?} state
1000
- * @return {?}
1001
- */
1002
472
  deserialize(state) {
1003
473
  return __awaiter(this, void 0, void 0, function* () {
1004
474
  if (state.query) {
1005
475
  (yield this.query).setQuery(state.query);
1006
476
  }
1007
- Object.entries(state).forEach((/**
1008
- * @param {?} __0
1009
- * @return {?}
1010
- */
1011
- ([key, value]) => {
477
+ Object.entries(state).forEach(([key, value]) => {
1012
478
  if (this[key] instanceof StateSubject) {
1013
479
  this[key].set(value);
1014
480
  }
1015
- }));
481
+ });
1016
482
  this.subscribe();
1017
483
  });
1018
484
  }
1019
- /**
1020
- * @param {?} partialState
1021
- * @return {?}
1022
- */
1023
485
  setPartialState(partialState) {
1024
486
  this.state.next(Object.assign(Object.assign({}, this.state.getValue()), partialState));
1025
487
  }
1026
- /**
1027
- * @return {?}
1028
- */
1029
488
  disableHeuristics() {
1030
489
  this._disableHeuristics = false;
1031
490
  }
1032
- /**
1033
- * @return {?}
1034
- */
1035
491
  enableHeuristics() {
1036
492
  this._disableHeuristics = true;
1037
493
  }
1038
494
  }
495
+ /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
1039
496
  QueryBuilderService.decorators = [
1040
497
  { type: Injectable }
1041
498
  ];
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
499
 
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
500
+ /*
501
+ * Public API Surface of cubejs-client-ngx
1094
502
  */
1095
503
 
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
- */
504
+ // This file is not used to build this module. It is only used during editing
1101
505
 
1102
506
  /**
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
507
+ * Generated bundle index. Do not edit.
1106
508
  */
1107
509
 
1108
510
  export { BaseMember, BuilderMeta, ChartType, CubejsClient, CubejsClientModule, FilterMember, MemberType, Order, PivotConfig, Query, QueryBuilderService, TimeDimensionMember, StateSubject as ɵa };