-
Notifications
You must be signed in to change notification settings - Fork 10
/
AnalyticsAbstractFilter.ts
58 lines (52 loc) · 1.95 KB
/
AnalyticsAbstractFilter.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import {map, mapArray} from '../common/Mapper';
import AnalyticsAttribute from './AnalyticsAttribute';
import AnalyticsContainsFilter from './AnalyticsContainsFilter';
import AnalyticsEqualFilter from './AnalyticsEqualFilter';
import AnalyticsGreaterThanFilter from './AnalyticsGreaterThanFilter';
import AnalyticsGreaterThanOrEqualFilter from './AnalyticsGreaterThanOrEqualFilter';
import AnalyticsInFilter from './AnalyticsInFilter';
import AnalyticsLessThanFilter from './AnalyticsLessThanFilter';
import AnalyticsLessThanOrEqualFilter from './AnalyticsLessThanOrEqualFilter';
import AnalyticsNotContainsFilter from './AnalyticsNotContainsFilter';
import AnalyticsNotEqualFilter from './AnalyticsNotEqualFilter';
import AnalyticsQueryOperator from './AnalyticsQueryOperator';
export type AnalyticsAbstractFilterUnion =
AnalyticsInFilter |
AnalyticsEqualFilter |
AnalyticsNotEqualFilter |
AnalyticsLessThanFilter |
AnalyticsLessThanOrEqualFilter |
AnalyticsGreaterThanFilter |
AnalyticsGreaterThanOrEqualFilter |
AnalyticsContainsFilter |
AnalyticsNotContainsFilter;
/**
* @export
* @class AnalyticsAbstractFilter
*/
export class AnalyticsAbstractFilter {
protected static readonly _discriminatorName = 'operator';
protected static readonly _discriminatorMapping: { [key in keyof typeof AnalyticsQueryOperator]: string; } = {
IN: 'AnalyticsInFilter',
EQ: 'AnalyticsEqualFilter',
NE: 'AnalyticsNotEqualFilter',
LT: 'AnalyticsLessThanFilter',
LTE: 'AnalyticsLessThanOrEqualFilter',
GT: 'AnalyticsGreaterThanFilter',
GTE: 'AnalyticsGreaterThanOrEqualFilter',
CONTAINS: 'AnalyticsContainsFilter',
NOTCONTAINS: 'AnalyticsNotContainsFilter'
};
/**
* @type {AnalyticsAttribute}
* @memberof AnalyticsAbstractFilter
*/
public name?: AnalyticsAttribute;
constructor(obj?: Partial<AnalyticsAbstractFilter>) {
if(!obj) {
return;
}
this.name = map(obj.name);
}
}
export default AnalyticsAbstractFilter;