@sisense/sdk-data 2.4.1 → 2.6.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.
- package/dist/cjs/dimensional-model/attributes.d.ts +17 -1
- package/dist/cjs/dimensional-model/attributes.js +23 -3
- package/dist/cjs/dimensional-model/base.d.ts +5 -1
- package/dist/cjs/dimensional-model/base.js +6 -2
- package/dist/cjs/dimensional-model/dimensions/dimensions.d.ts +17 -1
- package/dist/cjs/dimensional-model/dimensions/dimensions.js +24 -12
- package/dist/cjs/dimensional-model/filters/filters.d.ts +52 -0
- package/dist/cjs/dimensional-model/filters/filters.js +68 -31
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +2 -7
- package/dist/cjs/dimensional-model/interfaces.d.ts +4 -0
- package/dist/cjs/dimensional-model/jaql-element.d.ts +9 -1
- package/dist/cjs/dimensional-model/jaql-element.js +12 -2
- package/dist/cjs/dimensional-model/measures/measures.d.ts +30 -2
- package/dist/cjs/dimensional-model/measures/measures.js +50 -16
- package/dist/cjs/dimensional-model/types.js +4 -2
- package/dist/dimensional-model/attributes.d.ts +17 -1
- package/dist/dimensional-model/attributes.js +21 -3
- package/dist/dimensional-model/base.d.ts +5 -1
- package/dist/dimensional-model/base.js +6 -2
- package/dist/dimensional-model/dimensions/dimensions.d.ts +17 -1
- package/dist/dimensional-model/dimensions/dimensions.js +22 -12
- package/dist/dimensional-model/filters/filters.d.ts +52 -0
- package/dist/dimensional-model/filters/filters.js +69 -32
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +2 -7
- package/dist/dimensional-model/interfaces.d.ts +4 -0
- package/dist/dimensional-model/jaql-element.d.ts +9 -1
- package/dist/dimensional-model/jaql-element.js +10 -1
- package/dist/dimensional-model/measures/measures.d.ts +30 -2
- package/dist/dimensional-model/measures/measures.js +47 -16
- package/dist/dimensional-model/types.js +4 -2
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createFilter = exports.isDateRangeFilter = exports.isTextFilter = exports.isRelativeDateFilter = exports.isCascadingFilter = exports.isLogicalAttributeFilter = exports.isExcludeFilter = exports.isMeasureFilter = exports.isRankingFilter = exports.isNumericFilter = exports.isMembersFilter = exports.isCustomFilter = exports.CustomFilter = exports.RelativeDateFilter = exports.DateRangeFilter = exports.TextFilter = exports.NumericFilter = exports.RankingFilter = exports.MeasureFilter = exports.DoubleOperatorFilter = exports.ExcludeFilter = exports.CascadingFilter = exports.MembersFilter = exports.LogicalAttributeFilter = exports.FilterTypes = exports.RankingOperators = exports.LogicalOperators = exports.DateOperators = exports.NumericOperators = exports.TextOperators = void 0;
|
|
7
|
+
/* eslint-disable max-lines */
|
|
7
8
|
const hash_it_1 = __importDefault(require("hash-it"));
|
|
8
9
|
const merge_js_1 = __importDefault(require("lodash-es/merge.js"));
|
|
9
10
|
const omit_js_1 = __importDefault(require("lodash-es/omit.js"));
|
|
@@ -98,6 +99,10 @@ exports.FilterTypes = {
|
|
|
98
99
|
class AbstractFilter extends base_js_1.DimensionalElement {
|
|
99
100
|
constructor(att, filterType, config, composeCode) {
|
|
100
101
|
super('filter', types_js_1.MetadataTypes.Filter, undefined, undefined, composeCode);
|
|
102
|
+
/**
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
this.__serializable = 'AbstractFilter';
|
|
101
106
|
this.filterType = filterType;
|
|
102
107
|
// need to set isScope
|
|
103
108
|
// to make filter complete for comparison
|
|
@@ -115,7 +120,6 @@ class AbstractFilter extends base_js_1.DimensionalElement {
|
|
|
115
120
|
*/
|
|
116
121
|
serialize() {
|
|
117
122
|
const result = super.serialize();
|
|
118
|
-
result.__serializable = 'AbstractFilter';
|
|
119
123
|
result.filterType = this.filterType;
|
|
120
124
|
result.attribute = this.attribute.serialize();
|
|
121
125
|
if (this.config) {
|
|
@@ -173,6 +177,10 @@ class AbstractFilter extends base_js_1.DimensionalElement {
|
|
|
173
177
|
class LogicalAttributeFilter extends AbstractFilter {
|
|
174
178
|
constructor(filters, operator, config, composeCode) {
|
|
175
179
|
super(filters[0].attribute, exports.FilterTypes.logicalAttribute, config, composeCode);
|
|
180
|
+
/**
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
this.__serializable = 'LogicalAttributeFilter';
|
|
176
184
|
this.operator = operator;
|
|
177
185
|
this.filters = filters;
|
|
178
186
|
}
|
|
@@ -187,7 +195,6 @@ class LogicalAttributeFilter extends AbstractFilter {
|
|
|
187
195
|
*/
|
|
188
196
|
serialize() {
|
|
189
197
|
const result = super.serialize();
|
|
190
|
-
result.__serializable = 'LogicalAttributeFilter';
|
|
191
198
|
result.operator = this.operator;
|
|
192
199
|
result.filters = this.filters.map((f) => f.serialize());
|
|
193
200
|
return result;
|
|
@@ -208,6 +215,10 @@ exports.LogicalAttributeFilter = LogicalAttributeFilter;
|
|
|
208
215
|
class MembersFilter extends AbstractFilter {
|
|
209
216
|
constructor(attribute, members, config, composeCode) {
|
|
210
217
|
super(attribute, exports.FilterTypes.members, undefined, composeCode);
|
|
218
|
+
/**
|
|
219
|
+
* @internal
|
|
220
|
+
*/
|
|
221
|
+
this.__serializable = 'MembersFilter';
|
|
211
222
|
this.members = members !== null && members !== void 0 ? members : [];
|
|
212
223
|
if (this.members.filter((m) => m === null || m === undefined).length > 0) {
|
|
213
224
|
throw new translatable_error_js_1.TranslatableError('errors.filter.membersFilterNullMember', {
|
|
@@ -233,7 +244,6 @@ class MembersFilter extends AbstractFilter {
|
|
|
233
244
|
*/
|
|
234
245
|
serialize() {
|
|
235
246
|
const result = super.serialize();
|
|
236
|
-
result.__serializable = 'MembersFilter';
|
|
237
247
|
if (this.config) {
|
|
238
248
|
result.config = (this.config.backgroundFilter
|
|
239
249
|
? Object.assign(Object.assign({}, this.config), { backgroundFilter: this.config.backgroundFilter.serialize() }) : this.config);
|
|
@@ -266,6 +276,10 @@ exports.MembersFilter = MembersFilter;
|
|
|
266
276
|
class CascadingFilter extends AbstractFilter {
|
|
267
277
|
constructor(filters, config, composeCode) {
|
|
268
278
|
super(filters[0].attribute, exports.FilterTypes.cascading, config, composeCode);
|
|
279
|
+
/**
|
|
280
|
+
* @internal
|
|
281
|
+
*/
|
|
282
|
+
this.__serializable = 'CascadingFilter';
|
|
269
283
|
this._filters = filters;
|
|
270
284
|
}
|
|
271
285
|
/**
|
|
@@ -289,7 +303,6 @@ class CascadingFilter extends AbstractFilter {
|
|
|
289
303
|
*/
|
|
290
304
|
serialize() {
|
|
291
305
|
const result = super.serialize();
|
|
292
|
-
result.__serializable = 'CascadingFilter';
|
|
293
306
|
result._filters = this.filters.map((f) => f.serialize());
|
|
294
307
|
return result;
|
|
295
308
|
}
|
|
@@ -318,6 +331,10 @@ exports.CascadingFilter = CascadingFilter;
|
|
|
318
331
|
class ExcludeFilter extends AbstractFilter {
|
|
319
332
|
constructor(filter, input, config, composeCode) {
|
|
320
333
|
super(filter.attribute, exports.FilterTypes.exclude, config, composeCode);
|
|
334
|
+
/**
|
|
335
|
+
* @internal
|
|
336
|
+
*/
|
|
337
|
+
this.__serializable = 'ExcludeFilter';
|
|
321
338
|
this.input = input;
|
|
322
339
|
this.filter = filter;
|
|
323
340
|
}
|
|
@@ -336,7 +353,6 @@ class ExcludeFilter extends AbstractFilter {
|
|
|
336
353
|
*/
|
|
337
354
|
serialize() {
|
|
338
355
|
const result = super.serialize();
|
|
339
|
-
result.__serializable = 'ExcludeFilter';
|
|
340
356
|
result.filter = this.filter.serialize();
|
|
341
357
|
if (this.input) {
|
|
342
358
|
result.input = this.input.serialize();
|
|
@@ -366,6 +382,10 @@ exports.ExcludeFilter = ExcludeFilter;
|
|
|
366
382
|
class DoubleOperatorFilter extends AbstractFilter {
|
|
367
383
|
constructor(att, filterType, operatorA, valueA, operatorB, valueB, config, composeCode) {
|
|
368
384
|
super(att, filterType, config, composeCode);
|
|
385
|
+
/**
|
|
386
|
+
* @internal
|
|
387
|
+
*/
|
|
388
|
+
this.__serializable = 'DoubleOperatorFilter';
|
|
369
389
|
if (operatorA && valueA !== undefined) {
|
|
370
390
|
this.valueA = valueA;
|
|
371
391
|
this.operatorA = operatorA;
|
|
@@ -393,7 +413,6 @@ class DoubleOperatorFilter extends AbstractFilter {
|
|
|
393
413
|
*/
|
|
394
414
|
serialize() {
|
|
395
415
|
const result = super.serialize();
|
|
396
|
-
result.__serializable = 'DoubleOperatorFilter';
|
|
397
416
|
if (this.operatorA) {
|
|
398
417
|
result.operatorA = this.operatorA;
|
|
399
418
|
}
|
|
@@ -429,6 +448,10 @@ exports.DoubleOperatorFilter = DoubleOperatorFilter;
|
|
|
429
448
|
class MeasureFilter extends DoubleOperatorFilter {
|
|
430
449
|
constructor(att, measure, operatorA, valueA, operatorB, valueB, config, composeCode) {
|
|
431
450
|
super(att, exports.FilterTypes.measure, operatorA, valueA, operatorB, valueB, config, composeCode);
|
|
451
|
+
/**
|
|
452
|
+
* @internal
|
|
453
|
+
*/
|
|
454
|
+
this.__serializable = 'MeasureFilter';
|
|
432
455
|
this.measure = measure;
|
|
433
456
|
}
|
|
434
457
|
/**
|
|
@@ -449,7 +472,6 @@ class MeasureFilter extends DoubleOperatorFilter {
|
|
|
449
472
|
*/
|
|
450
473
|
serialize() {
|
|
451
474
|
const result = super.serialize();
|
|
452
|
-
result.__serializable = 'MeasureFilter';
|
|
453
475
|
result.measure = this.measure.serialize();
|
|
454
476
|
return result;
|
|
455
477
|
}
|
|
@@ -458,7 +480,7 @@ class MeasureFilter extends DoubleOperatorFilter {
|
|
|
458
480
|
return AbstractFilter.disabledJaql(nested);
|
|
459
481
|
}
|
|
460
482
|
const result = super.jaql(nested);
|
|
461
|
-
if (
|
|
483
|
+
if ((0, measures_js_1.isDimensionalBaseMeasure)(this.measure)) {
|
|
462
484
|
Object.entries(this.measure.jaql().jaql).forEach(([key, value]) => {
|
|
463
485
|
result.jaql[key] = value;
|
|
464
486
|
});
|
|
@@ -473,6 +495,10 @@ exports.MeasureFilter = MeasureFilter;
|
|
|
473
495
|
class RankingFilter extends AbstractFilter {
|
|
474
496
|
constructor(att, measure, operator, count, config, composeCode) {
|
|
475
497
|
super(att, exports.FilterTypes.ranking, config, composeCode);
|
|
498
|
+
/**
|
|
499
|
+
* @internal
|
|
500
|
+
*/
|
|
501
|
+
this.__serializable = 'RankingFilter';
|
|
476
502
|
this.count = count;
|
|
477
503
|
this.operator = operator;
|
|
478
504
|
this.measure = measure;
|
|
@@ -488,7 +514,6 @@ class RankingFilter extends AbstractFilter {
|
|
|
488
514
|
*/
|
|
489
515
|
serialize() {
|
|
490
516
|
const result = super.serialize();
|
|
491
|
-
result.__serializable = 'RankingFilter';
|
|
492
517
|
result.count = this.count;
|
|
493
518
|
result.operator = this.operator;
|
|
494
519
|
result.measure = this.measure.serialize();
|
|
@@ -511,14 +536,16 @@ exports.RankingFilter = RankingFilter;
|
|
|
511
536
|
class NumericFilter extends DoubleOperatorFilter {
|
|
512
537
|
constructor(att, operatorA, valueA, operatorB, valueB, config, composeCode) {
|
|
513
538
|
super(att, exports.FilterTypes.numeric, operatorA, valueA, operatorB, valueB, config, composeCode);
|
|
539
|
+
/**
|
|
540
|
+
* @internal
|
|
541
|
+
*/
|
|
542
|
+
this.__serializable = 'NumericFilter';
|
|
514
543
|
}
|
|
515
544
|
/**
|
|
516
545
|
* Gets a serializable representation of the element
|
|
517
546
|
*/
|
|
518
547
|
serialize() {
|
|
519
|
-
|
|
520
|
-
result.__serializable = 'NumericFilter';
|
|
521
|
-
return result;
|
|
548
|
+
return super.serialize();
|
|
522
549
|
}
|
|
523
550
|
}
|
|
524
551
|
exports.NumericFilter = NumericFilter;
|
|
@@ -528,14 +555,16 @@ exports.NumericFilter = NumericFilter;
|
|
|
528
555
|
class TextFilter extends DoubleOperatorFilter {
|
|
529
556
|
constructor(att, operator, value, config, composeCode) {
|
|
530
557
|
super(att, exports.FilterTypes.text, operator, value, undefined, undefined, config, composeCode);
|
|
558
|
+
/**
|
|
559
|
+
* @internal
|
|
560
|
+
*/
|
|
561
|
+
this.__serializable = 'TextFilter';
|
|
531
562
|
}
|
|
532
563
|
/**
|
|
533
564
|
* Gets a serializable representation of the element
|
|
534
565
|
*/
|
|
535
566
|
serialize() {
|
|
536
|
-
|
|
537
|
-
result.__serializable = 'TextFilter';
|
|
538
|
-
return result;
|
|
567
|
+
return super.serialize();
|
|
539
568
|
}
|
|
540
569
|
}
|
|
541
570
|
exports.TextFilter = TextFilter;
|
|
@@ -545,6 +574,10 @@ exports.TextFilter = TextFilter;
|
|
|
545
574
|
class DateRangeFilter extends DoubleOperatorFilter {
|
|
546
575
|
constructor(levelAttribute, valueFrom, valueTo, config, composeCode) {
|
|
547
576
|
super(levelAttribute, exports.FilterTypes.dateRange, exports.DateOperators.From, valueFrom, exports.DateOperators.To, valueTo, config, composeCode);
|
|
577
|
+
/**
|
|
578
|
+
* @internal
|
|
579
|
+
*/
|
|
580
|
+
this.__serializable = 'DateRangeFilter';
|
|
548
581
|
if (typeof valueFrom === 'object') {
|
|
549
582
|
this.valueA = valueFrom.toISOString();
|
|
550
583
|
}
|
|
@@ -571,9 +604,7 @@ class DateRangeFilter extends DoubleOperatorFilter {
|
|
|
571
604
|
* Gets a serializable representation of the element
|
|
572
605
|
*/
|
|
573
606
|
serialize() {
|
|
574
|
-
|
|
575
|
-
result.__serializable = 'DateRangeFilter';
|
|
576
|
-
return result;
|
|
607
|
+
return super.serialize();
|
|
577
608
|
}
|
|
578
609
|
}
|
|
579
610
|
exports.DateRangeFilter = DateRangeFilter;
|
|
@@ -583,6 +614,10 @@ exports.DateRangeFilter = DateRangeFilter;
|
|
|
583
614
|
class RelativeDateFilter extends AbstractFilter {
|
|
584
615
|
constructor(levelAttribute, offset, count, operator, anchor, config, composeCode) {
|
|
585
616
|
super(levelAttribute, exports.FilterTypes.relativeDate, config, composeCode);
|
|
617
|
+
/**
|
|
618
|
+
* @internal
|
|
619
|
+
*/
|
|
620
|
+
this.__serializable = 'RelativeDateFilter';
|
|
586
621
|
if (!operator) {
|
|
587
622
|
operator = exports.DateOperators.Next;
|
|
588
623
|
}
|
|
@@ -614,7 +649,6 @@ class RelativeDateFilter extends AbstractFilter {
|
|
|
614
649
|
*/
|
|
615
650
|
serialize() {
|
|
616
651
|
const result = super.serialize();
|
|
617
|
-
result.__serializable = 'RelativeDateFilter';
|
|
618
652
|
result.offset = this.offset;
|
|
619
653
|
result.count = this.count;
|
|
620
654
|
result.operator = this.operator;
|
|
@@ -651,6 +685,10 @@ exports.RelativeDateFilter = RelativeDateFilter;
|
|
|
651
685
|
class CustomFilter extends AbstractFilter {
|
|
652
686
|
constructor(att, jaql, config, composeCode) {
|
|
653
687
|
super(att, exports.FilterTypes.advanced, config, composeCode);
|
|
688
|
+
/**
|
|
689
|
+
* @internal
|
|
690
|
+
*/
|
|
691
|
+
this.__serializable = 'CustomFilter';
|
|
654
692
|
// remove filterType from jaql as it is not needed
|
|
655
693
|
delete jaql.filterType;
|
|
656
694
|
this.jaqlExpression = jaql;
|
|
@@ -673,7 +711,6 @@ class CustomFilter extends AbstractFilter {
|
|
|
673
711
|
*/
|
|
674
712
|
serialize() {
|
|
675
713
|
const result = super.serialize();
|
|
676
|
-
result.__serializable = 'CustomFilter';
|
|
677
714
|
result.jaqlExpression = this.jaqlExpression;
|
|
678
715
|
return result;
|
|
679
716
|
}
|
|
@@ -686,7 +723,7 @@ exports.CustomFilter = CustomFilter;
|
|
|
686
723
|
* @internal
|
|
687
724
|
*/
|
|
688
725
|
function isCustomFilter(filter) {
|
|
689
|
-
return
|
|
726
|
+
return filter && filter.__serializable === 'CustomFilter';
|
|
690
727
|
}
|
|
691
728
|
exports.isCustomFilter = isCustomFilter;
|
|
692
729
|
/**
|
|
@@ -696,7 +733,7 @@ exports.isCustomFilter = isCustomFilter;
|
|
|
696
733
|
* @internal
|
|
697
734
|
*/
|
|
698
735
|
function isMembersFilter(filter) {
|
|
699
|
-
return
|
|
736
|
+
return filter && filter.__serializable === 'MembersFilter';
|
|
700
737
|
}
|
|
701
738
|
exports.isMembersFilter = isMembersFilter;
|
|
702
739
|
/**
|
|
@@ -706,7 +743,7 @@ exports.isMembersFilter = isMembersFilter;
|
|
|
706
743
|
* @internal
|
|
707
744
|
*/
|
|
708
745
|
function isNumericFilter(filter) {
|
|
709
|
-
return
|
|
746
|
+
return filter && filter.__serializable === 'NumericFilter';
|
|
710
747
|
}
|
|
711
748
|
exports.isNumericFilter = isNumericFilter;
|
|
712
749
|
/**
|
|
@@ -716,7 +753,7 @@ exports.isNumericFilter = isNumericFilter;
|
|
|
716
753
|
* @internal
|
|
717
754
|
*/
|
|
718
755
|
function isRankingFilter(filter) {
|
|
719
|
-
return
|
|
756
|
+
return filter && filter.__serializable === 'RankingFilter';
|
|
720
757
|
}
|
|
721
758
|
exports.isRankingFilter = isRankingFilter;
|
|
722
759
|
/**
|
|
@@ -726,7 +763,7 @@ exports.isRankingFilter = isRankingFilter;
|
|
|
726
763
|
* @internal
|
|
727
764
|
*/
|
|
728
765
|
function isMeasureFilter(filter) {
|
|
729
|
-
return
|
|
766
|
+
return filter && filter.__serializable === 'MeasureFilter';
|
|
730
767
|
}
|
|
731
768
|
exports.isMeasureFilter = isMeasureFilter;
|
|
732
769
|
/**
|
|
@@ -736,7 +773,7 @@ exports.isMeasureFilter = isMeasureFilter;
|
|
|
736
773
|
* @internal
|
|
737
774
|
*/
|
|
738
775
|
function isExcludeFilter(filter) {
|
|
739
|
-
return
|
|
776
|
+
return filter && filter.__serializable === 'ExcludeFilter';
|
|
740
777
|
}
|
|
741
778
|
exports.isExcludeFilter = isExcludeFilter;
|
|
742
779
|
/**
|
|
@@ -746,7 +783,7 @@ exports.isExcludeFilter = isExcludeFilter;
|
|
|
746
783
|
* @internal
|
|
747
784
|
*/
|
|
748
785
|
function isLogicalAttributeFilter(filter) {
|
|
749
|
-
return
|
|
786
|
+
return filter && filter.__serializable === 'LogicalAttributeFilter';
|
|
750
787
|
}
|
|
751
788
|
exports.isLogicalAttributeFilter = isLogicalAttributeFilter;
|
|
752
789
|
/**
|
|
@@ -756,7 +793,7 @@ exports.isLogicalAttributeFilter = isLogicalAttributeFilter;
|
|
|
756
793
|
* @internal
|
|
757
794
|
*/
|
|
758
795
|
function isCascadingFilter(filter) {
|
|
759
|
-
return
|
|
796
|
+
return filter && filter.__serializable === 'CascadingFilter';
|
|
760
797
|
}
|
|
761
798
|
exports.isCascadingFilter = isCascadingFilter;
|
|
762
799
|
/**
|
|
@@ -766,7 +803,7 @@ exports.isCascadingFilter = isCascadingFilter;
|
|
|
766
803
|
* @internal
|
|
767
804
|
*/
|
|
768
805
|
function isRelativeDateFilter(filter) {
|
|
769
|
-
return
|
|
806
|
+
return filter && filter.__serializable === 'RelativeDateFilter';
|
|
770
807
|
}
|
|
771
808
|
exports.isRelativeDateFilter = isRelativeDateFilter;
|
|
772
809
|
/**
|
|
@@ -776,7 +813,7 @@ exports.isRelativeDateFilter = isRelativeDateFilter;
|
|
|
776
813
|
* @internal
|
|
777
814
|
*/
|
|
778
815
|
function isTextFilter(filter) {
|
|
779
|
-
return
|
|
816
|
+
return filter && filter.__serializable === 'TextFilter';
|
|
780
817
|
}
|
|
781
818
|
exports.isTextFilter = isTextFilter;
|
|
782
819
|
/**
|
|
@@ -786,7 +823,7 @@ exports.isTextFilter = isTextFilter;
|
|
|
786
823
|
* @internal
|
|
787
824
|
*/
|
|
788
825
|
function isDateRangeFilter(filter) {
|
|
789
|
-
return
|
|
826
|
+
return filter && filter.__serializable === 'DateRangeFilter';
|
|
790
827
|
}
|
|
791
828
|
exports.isDateRangeFilter = isDateRangeFilter;
|
|
792
829
|
/**
|
|
@@ -66,13 +66,8 @@ exports.createGenericFilter = createGenericFilter;
|
|
|
66
66
|
* @returns The created Filter object.
|
|
67
67
|
*/
|
|
68
68
|
const createFilterIncludeAll = (attribute, guid) => {
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
const config = {
|
|
72
|
-
guid,
|
|
73
|
-
excludeMembers: true,
|
|
74
|
-
};
|
|
75
|
-
return filterFactory.members(attribute, [], config);
|
|
69
|
+
// empty members array is interpreted by server as all members are included
|
|
70
|
+
return filterFactory.members(attribute, [], { guid });
|
|
76
71
|
};
|
|
77
72
|
exports.createFilterIncludeAll = createFilterIncludeAll;
|
|
78
73
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DimensionalElement } from './base.js';
|
|
2
2
|
import { SortDirection } from './interfaces.js';
|
|
3
|
-
import { JSONObject, MetadataItem, MetadataItemJaql } from './types.js';
|
|
3
|
+
import { AnyObject, JSONObject, MetadataItem, MetadataItemJaql } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* This implementation wraps metadata for a JAQL query. The metadata could be
|
|
6
6
|
* for a dimension, measure, or filter. We do little to no interpretation of
|
|
@@ -16,6 +16,10 @@ import { JSONObject, MetadataItem, MetadataItemJaql } from './types.js';
|
|
|
16
16
|
* @internal
|
|
17
17
|
*/
|
|
18
18
|
export declare class JaqlElement extends DimensionalElement {
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
readonly __serializable: string;
|
|
19
23
|
private readonly metadataItem;
|
|
20
24
|
expression: string;
|
|
21
25
|
skipValidation: boolean;
|
|
@@ -31,6 +35,10 @@ export declare class JaqlElement extends DimensionalElement {
|
|
|
31
35
|
*/
|
|
32
36
|
serialize(): JSONObject;
|
|
33
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare const isJaqlElement: (v: AnyObject) => v is JaqlElement;
|
|
34
42
|
/**
|
|
35
43
|
* Create a JaqlElement from a MetadataItem
|
|
36
44
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createDimensionalElementFromMetadataItem = exports.createJaqlElement = exports.JaqlElement = void 0;
|
|
3
|
+
exports.createDimensionalElementFromMetadataItem = exports.createJaqlElement = exports.isJaqlElement = exports.JaqlElement = void 0;
|
|
4
4
|
const utils_js_1 = require("../utils.js");
|
|
5
5
|
const attributes_js_1 = require("./attributes.js");
|
|
6
6
|
const base_js_1 = require("./base.js");
|
|
@@ -23,6 +23,10 @@ class JaqlElement extends base_js_1.DimensionalElement {
|
|
|
23
23
|
constructor(item, type) {
|
|
24
24
|
var _a;
|
|
25
25
|
super((_a = item.jaql.title) !== null && _a !== void 0 ? _a : '', type);
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
this.__serializable = 'JaqlElement';
|
|
26
30
|
this.expression = (item.jaql.dim || item.jaql.formula);
|
|
27
31
|
this.metadataItem = item;
|
|
28
32
|
if (item.jaql.agg) {
|
|
@@ -56,7 +60,6 @@ class JaqlElement extends base_js_1.DimensionalElement {
|
|
|
56
60
|
*/
|
|
57
61
|
serialize() {
|
|
58
62
|
const result = super.serialize();
|
|
59
|
-
result.__serializable = 'JaqlElement';
|
|
60
63
|
result.metadataItem = this.metadataItem;
|
|
61
64
|
result.type = this.type;
|
|
62
65
|
return result;
|
|
@@ -68,6 +71,13 @@ const toMetadataType = {
|
|
|
68
71
|
numeric: types_js_1.MetadataTypes.NumericAttribute,
|
|
69
72
|
datetime: types_js_1.MetadataTypes.DateLevel,
|
|
70
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
const isJaqlElement = (v) => {
|
|
78
|
+
return v && v.__serializable === 'JaqlElement';
|
|
79
|
+
};
|
|
80
|
+
exports.isJaqlElement = isJaqlElement;
|
|
71
81
|
/**
|
|
72
82
|
* Create a JaqlElement from a MetadataItem
|
|
73
83
|
*
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { DimensionalElement } from '../base.js';
|
|
2
2
|
import { Attribute, BaseMeasure, CalculatedMeasure, Measure, MeasureContext, MeasureTemplate } from '../interfaces.js';
|
|
3
|
-
import { JaqlDataSource, JSONObject, Sort } from '../types.js';
|
|
3
|
+
import { AnyObject, JaqlDataSource, JSONObject, Sort } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
7
|
export declare abstract class AbstractMeasure extends DimensionalElement {
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
readonly __serializable: string;
|
|
8
12
|
protected _sort: Sort;
|
|
9
13
|
protected _format: string | undefined;
|
|
10
14
|
constructor(name: string, type: string, format?: string, desc?: string, sort?: Sort, dataSource?: JaqlDataSource, composeCode?: string);
|
|
@@ -49,6 +53,10 @@ export declare abstract class AbstractMeasure extends DimensionalElement {
|
|
|
49
53
|
* @internal
|
|
50
54
|
*/
|
|
51
55
|
export declare class DimensionalBaseMeasure extends AbstractMeasure implements BaseMeasure {
|
|
56
|
+
/**
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
readonly __serializable: string;
|
|
52
60
|
static aggregationFromJAQL(agg: string): string;
|
|
53
61
|
static aggregationToJAQL(agg: string): string;
|
|
54
62
|
constructor(name: string, attribute: Attribute, agg: string, format?: string, desc?: string, sort?: Sort, dataSource?: JaqlDataSource, composeCode?: string);
|
|
@@ -86,6 +94,10 @@ export declare class DimensionalBaseMeasure extends AbstractMeasure implements B
|
|
|
86
94
|
serialize(): JSONObject;
|
|
87
95
|
jaql(nested?: boolean): any;
|
|
88
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
export declare const isDimensionalBaseMeasure: (v: AnyObject) => v is DimensionalBaseMeasure;
|
|
89
101
|
/**
|
|
90
102
|
* Stands for a Calculated Measure
|
|
91
103
|
*
|
|
@@ -93,6 +105,10 @@ export declare class DimensionalBaseMeasure extends AbstractMeasure implements B
|
|
|
93
105
|
* @internal
|
|
94
106
|
*/
|
|
95
107
|
export declare class DimensionalCalculatedMeasure extends AbstractMeasure implements CalculatedMeasure {
|
|
108
|
+
/**
|
|
109
|
+
* @internal
|
|
110
|
+
*/
|
|
111
|
+
readonly __serializable: string;
|
|
96
112
|
constructor(name: string, expression: string, context: MeasureContext, format?: string, desc?: string, sort?: Sort, dataSource?: JaqlDataSource, composeCode?: string);
|
|
97
113
|
/**
|
|
98
114
|
* Defines the Calculated measure's expression
|
|
@@ -128,12 +144,20 @@ export declare class DimensionalCalculatedMeasure extends AbstractMeasure implem
|
|
|
128
144
|
serialize(): JSONObject;
|
|
129
145
|
jaql(nested?: boolean): any;
|
|
130
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* @internal
|
|
149
|
+
*/
|
|
150
|
+
export declare const isDimensionalCalculatedMeasure: (v: AnyObject) => v is DimensionalCalculatedMeasure;
|
|
131
151
|
/**
|
|
132
152
|
* Stands for a Measure template - generator for different aggregation over Attribute
|
|
133
153
|
*
|
|
134
154
|
* @internal
|
|
135
155
|
*/
|
|
136
156
|
export declare class DimensionalMeasureTemplate extends AbstractMeasure implements MeasureTemplate {
|
|
157
|
+
/**
|
|
158
|
+
* @internal
|
|
159
|
+
*/
|
|
160
|
+
readonly __serializable: string;
|
|
137
161
|
constructor(name: string, attribute: Attribute, format?: string, desc?: string, sort?: Sort, dataSource?: JaqlDataSource, composeCode?: string);
|
|
138
162
|
/**
|
|
139
163
|
* Aggregating attribute
|
|
@@ -211,7 +235,11 @@ export declare class DimensionalMeasureTemplate extends AbstractMeasure implemen
|
|
|
211
235
|
countDistinct(format?: string): Measure;
|
|
212
236
|
}
|
|
213
237
|
/**
|
|
214
|
-
* @
|
|
238
|
+
* @internal
|
|
239
|
+
*/
|
|
240
|
+
export declare const isDimensionalMeasureTemplate: (v: AnyObject) => v is DimensionalMeasureTemplate;
|
|
241
|
+
/**
|
|
242
|
+
* @param json - The JSON object to create a measure from
|
|
215
243
|
* @internal
|
|
216
244
|
*/
|
|
217
245
|
export declare function createMeasure(json: any): Measure | BaseMeasure;
|