@sisense/sdk-data 0.11.3
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/LICENSE.md +35 -0
- package/README.md +3 -0
- package/dist/dimensional-model/attributes.d.ts +124 -0
- package/dist/dimensional-model/attributes.js +280 -0
- package/dist/dimensional-model/base.d.ts +38 -0
- package/dist/dimensional-model/base.js +37 -0
- package/dist/dimensional-model/data-model.d.ts +13 -0
- package/dist/dimensional-model/data-model.js +32 -0
- package/dist/dimensional-model/dimensions.d.ts +165 -0
- package/dist/dimensional-model/dimensions.js +297 -0
- package/dist/dimensional-model/factory.d.ts +17 -0
- package/dist/dimensional-model/factory.js +50 -0
- package/dist/dimensional-model/filters/factory.d.ts +315 -0
- package/dist/dimensional-model/filters/factory.js +404 -0
- package/dist/dimensional-model/filters/filters.d.ts +288 -0
- package/dist/dimensional-model/filters/filters.js +534 -0
- package/dist/dimensional-model/interfaces.d.ts +341 -0
- package/dist/dimensional-model/interfaces.js +1 -0
- package/dist/dimensional-model/measures/factory.d.ts +437 -0
- package/dist/dimensional-model/measures/factory.js +632 -0
- package/dist/dimensional-model/measures/measures.d.ts +217 -0
- package/dist/dimensional-model/measures/measures.js +388 -0
- package/dist/dimensional-model/simple-column-types.d.ts +39 -0
- package/dist/dimensional-model/simple-column-types.js +124 -0
- package/dist/dimensional-model/types.d.ts +152 -0
- package/dist/dimensional-model/types.js +284 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.js +79 -0
- package/dist/interfaces.d.ts +233 -0
- package/dist/interfaces.js +9 -0
- package/package.json +47 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { TextOperators, NumericOperators, DateOperators, LogicalOperators, RankingOperators, LogicalAttributeFilter, MembersFilter, ExcludeFilter, NumericFilter, MeasureFilter, RankingFilter, TextFilter, DateRangeFilter, RelativeDateFilter, } from './filters.js';
|
|
2
|
+
// LOGICAL FILTERS
|
|
3
|
+
/**
|
|
4
|
+
* Creates a filter representing a union of multiple filters of the same attribute.
|
|
5
|
+
*
|
|
6
|
+
* @param filters - Filters, of the same attribute, to union
|
|
7
|
+
* @returns A filter representing a union of the given filters
|
|
8
|
+
*/
|
|
9
|
+
export function union(filters) {
|
|
10
|
+
return new LogicalAttributeFilter(filters, LogicalOperators.Union);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Creates a filter representing an intersection of multiple filters of the same attribute.
|
|
14
|
+
*
|
|
15
|
+
* @param filters - Filters, of the same attribute, to intersect
|
|
16
|
+
* @returns A filter representing an intersection of the given filters
|
|
17
|
+
*/
|
|
18
|
+
export function intersection(filters) {
|
|
19
|
+
return new LogicalAttributeFilter(filters, LogicalOperators.Intersection);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a filter representing an exclusion of the given filter
|
|
23
|
+
* from all attribute members or from the optional input filter.
|
|
24
|
+
*
|
|
25
|
+
* @param filter - Filter to exclude
|
|
26
|
+
* @param input - Input filter to exclude from (optional)
|
|
27
|
+
* @returns A filter representing an exclusion of the given filter
|
|
28
|
+
* from all attribute members or from the optional input filter
|
|
29
|
+
*/
|
|
30
|
+
export function exclude(filter, input) {
|
|
31
|
+
return new ExcludeFilter(filter, input);
|
|
32
|
+
}
|
|
33
|
+
// TEXT / NUMERIC FILTERS
|
|
34
|
+
/**
|
|
35
|
+
* Creates a "doesn't contain" filter.
|
|
36
|
+
*
|
|
37
|
+
* @param attribute - Text attribute to filter
|
|
38
|
+
* @param value - Value to filter by
|
|
39
|
+
* @returns A text filter of the given attribute
|
|
40
|
+
*/
|
|
41
|
+
export function doesntContain(attribute, value) {
|
|
42
|
+
return new TextFilter(attribute, TextOperators.DoesntContain, value);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Creates a "doesn't end with" filter.
|
|
46
|
+
*
|
|
47
|
+
* @param attribute - Text attribute to filter
|
|
48
|
+
* @param value - Value to filter by
|
|
49
|
+
* @returns A text filter of the given attribute
|
|
50
|
+
*/
|
|
51
|
+
export function doesntEndWith(attribute, value) {
|
|
52
|
+
return new TextFilter(attribute, TextOperators.DoesntEndWith, value);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Creates a "doesn't start with" filter.
|
|
56
|
+
*
|
|
57
|
+
* @param attribute - Text attribute to filter
|
|
58
|
+
* @param value - Value to filter by
|
|
59
|
+
* @returns A text filter of the given attribute
|
|
60
|
+
*/
|
|
61
|
+
export function doesntStartWith(attribute, value) {
|
|
62
|
+
return new TextFilter(attribute, TextOperators.DoesntStartWith, value);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates a "contains" filter.
|
|
66
|
+
*
|
|
67
|
+
* @param attribute - Text attribute to filter
|
|
68
|
+
* @param value - Value to filter by
|
|
69
|
+
* @returns A text filter of the given attribute
|
|
70
|
+
*/
|
|
71
|
+
export function contains(attribute, value) {
|
|
72
|
+
return new TextFilter(attribute, TextOperators.Contains, value);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates an "ends with" filter.
|
|
76
|
+
*
|
|
77
|
+
* @param attribute - Text attribute to filter
|
|
78
|
+
* @param value - Value to filter by
|
|
79
|
+
* @returns A text filter of the given attribute
|
|
80
|
+
*/
|
|
81
|
+
export function endsWith(attribute, value) {
|
|
82
|
+
return new TextFilter(attribute, TextOperators.EndsWith, value);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Creates a "starts with" filter.
|
|
86
|
+
*
|
|
87
|
+
* @param attribute - Text attribute to filter
|
|
88
|
+
* @param value - Value to filter by
|
|
89
|
+
* @returns A text filter of the given attribute
|
|
90
|
+
*/
|
|
91
|
+
export function startsWith(attribute, value) {
|
|
92
|
+
return new TextFilter(attribute, TextOperators.StartsWith, value);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Creates a "like" filter.
|
|
96
|
+
*
|
|
97
|
+
* @param attribute - Text attribute to filter
|
|
98
|
+
* @param value - Value to filter by
|
|
99
|
+
* @returns A text filter of the given attribute
|
|
100
|
+
*/
|
|
101
|
+
export function like(attribute, value) {
|
|
102
|
+
return new TextFilter(attribute, TextOperators.Like, value);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Creates a "doesn't equal" filter.
|
|
106
|
+
*
|
|
107
|
+
* @param attribute - Text or numeric attribute to filter
|
|
108
|
+
* @param value - Value to filter by
|
|
109
|
+
* @returns A filter of the given attribute
|
|
110
|
+
*/
|
|
111
|
+
export function doesntEqual(attribute, value) {
|
|
112
|
+
if (typeof value === 'string') {
|
|
113
|
+
return new TextFilter(attribute, TextOperators.DoesntEqual, value);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return numeric(attribute, NumericOperators.DoesntEqual, value);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Creates an "equals" filter.
|
|
121
|
+
*
|
|
122
|
+
* @param attribute - Text or numeric attribute to filter
|
|
123
|
+
* @param value - Value to filter by
|
|
124
|
+
* @returns A filter of the given attribute
|
|
125
|
+
*/
|
|
126
|
+
export function equals(attribute, value) {
|
|
127
|
+
if (typeof value === 'string') {
|
|
128
|
+
return new TextFilter(attribute, TextOperators.Equals, value);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
return numeric(attribute, NumericOperators.Equals, value);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Creates a "greater than" filter.
|
|
136
|
+
*
|
|
137
|
+
* @param attribute - Numeric attribute to filter
|
|
138
|
+
* @param value - Value to filter by
|
|
139
|
+
* @returns A numeric filter of the given attribute
|
|
140
|
+
*/
|
|
141
|
+
export function greaterThan(attribute, value) {
|
|
142
|
+
return numeric(attribute, NumericOperators.FromNotEqual, value);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Creates a "greater than or equal" filter.
|
|
146
|
+
*
|
|
147
|
+
* @param attribute - Numeric attribute to filter
|
|
148
|
+
* @param value - Value to filter by
|
|
149
|
+
* @returns A numeric filter of the given attribute
|
|
150
|
+
*/
|
|
151
|
+
export function greaterThanOrEqual(attribute, value) {
|
|
152
|
+
return numeric(attribute, NumericOperators.From, value);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Creates a "less than" filter.
|
|
156
|
+
*
|
|
157
|
+
* @param attribute - Numeric attribute to filter
|
|
158
|
+
* @param value - Value to filter by
|
|
159
|
+
* @returns A numeric filter of the given attribute
|
|
160
|
+
*/
|
|
161
|
+
export function lessThan(attribute, value) {
|
|
162
|
+
return numeric(attribute, NumericOperators.ToNotEqual, value);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Creates a "less than or equal" filter.
|
|
166
|
+
*
|
|
167
|
+
* @param attribute - Numeric attribute to filter
|
|
168
|
+
* @param value - Value to filter by
|
|
169
|
+
* @returns A numeric filter of the given attribute
|
|
170
|
+
*/
|
|
171
|
+
export function lessThanOrEqual(attribute, value) {
|
|
172
|
+
return numeric(attribute, NumericOperators.To, value);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Creates a "between" filter.
|
|
176
|
+
*
|
|
177
|
+
* @param attribute - Numeric attribute to filter
|
|
178
|
+
* @param valueA - Value to filter from
|
|
179
|
+
* @param valueB - Value to filter to
|
|
180
|
+
* @returns A numeric filter of the given attribute
|
|
181
|
+
*/
|
|
182
|
+
export function between(attribute, valueA, valueB) {
|
|
183
|
+
return numeric(attribute, NumericOperators.From, valueA, NumericOperators.To, valueB);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Creates a "between, but not equal" filter.
|
|
187
|
+
*
|
|
188
|
+
* @param attribute - Numeric attribute to filter
|
|
189
|
+
* @param valueA - Value to filter from
|
|
190
|
+
* @param valueB - Value to filter to
|
|
191
|
+
* @returns A numeric filter of the given attribute
|
|
192
|
+
*/
|
|
193
|
+
export function betweenNotEqual(attribute, valueA, valueB) {
|
|
194
|
+
return numeric(attribute, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Creates a custom numeric filter.
|
|
198
|
+
*
|
|
199
|
+
* @param attribute - Numeric attribute to filter
|
|
200
|
+
* @param operatorA - First operator
|
|
201
|
+
* @param valueA - First value
|
|
202
|
+
* @param operatorB - Second operator
|
|
203
|
+
* @param valueB - Second value
|
|
204
|
+
* @returns A custom numeric filter of the given attribute
|
|
205
|
+
*/
|
|
206
|
+
export function numeric(attribute, operatorA, valueA, operatorB, valueB) {
|
|
207
|
+
return new NumericFilter(attribute, operatorA, valueA, operatorB, valueB);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Creates a filter on the given members of the given attribute.
|
|
211
|
+
*
|
|
212
|
+
* @param attribute - Attribute to filter
|
|
213
|
+
* @param members - Array of member values to filter by
|
|
214
|
+
* @returns A filter instance representing the given members of the given attribute
|
|
215
|
+
*/
|
|
216
|
+
export function members(attribute, members) {
|
|
217
|
+
return new MembersFilter(attribute, members);
|
|
218
|
+
}
|
|
219
|
+
// DATE FILTERS
|
|
220
|
+
/**
|
|
221
|
+
* Creates a filter on all values starting at the given date of the given level.
|
|
222
|
+
*
|
|
223
|
+
* @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
|
|
224
|
+
* @param from - Date or String representing the value to filter from
|
|
225
|
+
* @returns A filter instance filtering all values starting at the given value
|
|
226
|
+
*/
|
|
227
|
+
export function dateFrom(level, from) {
|
|
228
|
+
return dateRange(level, from, undefined);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Creates a filter on all values ending at the given date of the given level.
|
|
232
|
+
*
|
|
233
|
+
* @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
|
|
234
|
+
* @param to - Date or String representing the last member to filter to
|
|
235
|
+
* @returns A filter instance filtering all values ending at the given value
|
|
236
|
+
*/
|
|
237
|
+
export function dateTo(level, to) {
|
|
238
|
+
return dateRange(level, undefined, to);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Creates a range filter between the given "from" and "to" arguments.
|
|
242
|
+
*
|
|
243
|
+
* @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
|
|
244
|
+
* @param from - Date or String representing the start member to filter from
|
|
245
|
+
* @param to - Date or String representing the end member to filter to
|
|
246
|
+
* @returns A filter instance filtering all values ending at the given value
|
|
247
|
+
*/
|
|
248
|
+
export function dateRange(level, from, to) {
|
|
249
|
+
return new DateRangeFilter(level, from, to);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Creates a relative date filter.
|
|
253
|
+
*
|
|
254
|
+
* @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
|
|
255
|
+
* @param offset - offset to skip from the given anchor, or Today if not provided,
|
|
256
|
+
* positive/negative to skip forward/backward
|
|
257
|
+
* @param count - number of members to filter
|
|
258
|
+
* @param anchor - Anchor to filter from, Today is used if not provided
|
|
259
|
+
* @returns A relative date filter
|
|
260
|
+
*/
|
|
261
|
+
export function dateRelative(level, offset, count, anchor) {
|
|
262
|
+
return new RelativeDateFilter(level, offset, count, undefined, anchor);
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Creates a relative date filter from the given anchor date.
|
|
266
|
+
*
|
|
267
|
+
* @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
|
|
268
|
+
* @param offset - offset to skip from the given anchor, or Today if not provided
|
|
269
|
+
* @param count - number of members to filter
|
|
270
|
+
* @param anchor - Anchor to filter from, Today is used if not provided
|
|
271
|
+
* @returns A relative date filter
|
|
272
|
+
*/
|
|
273
|
+
export function dateRelativeFrom(level, offset, count, anchor) {
|
|
274
|
+
return new RelativeDateFilter(level, offset, count, DateOperators.Next, anchor);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Creates a relative date filter to the given anchor date.
|
|
278
|
+
*
|
|
279
|
+
* @param level - Date level attribute to filter. See {@link DateLevels} for supported levels.
|
|
280
|
+
* @param offset - offset to skip from the given anchor, or Today if not provided
|
|
281
|
+
* @param count - number of members to filter
|
|
282
|
+
* @param anchor - Anchor to filter from, Today is used if not provided
|
|
283
|
+
* @returns A relative date filter
|
|
284
|
+
*/
|
|
285
|
+
export function dateRelativeTo(level, offset, count, anchor) {
|
|
286
|
+
return new RelativeDateFilter(level, offset, count, DateOperators.Last, anchor);
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Creates a filter on "This Year" of the given date dimension.
|
|
290
|
+
*
|
|
291
|
+
* @param dimension - date dimension to filter
|
|
292
|
+
* @returns A "This Year" filter of the given dimension
|
|
293
|
+
*/
|
|
294
|
+
export function thisYear(dimension) {
|
|
295
|
+
return dateRelativeTo(dimension.Years, 0, 1);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Creates a filter on "This Month" of the given date dimension.
|
|
299
|
+
*
|
|
300
|
+
* @param dimension - date dimension to filter
|
|
301
|
+
* @returns A "This Month" filter of the given dimension
|
|
302
|
+
*/
|
|
303
|
+
export function thisMonth(dimension) {
|
|
304
|
+
return dateRelativeTo(dimension.Months, 0, 1);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Creates a filter on "This Quarter" of the given date dimension.
|
|
308
|
+
*
|
|
309
|
+
* @param dimension - date dimension to filter
|
|
310
|
+
* @returns A "This Quarter" filter of the given dimension
|
|
311
|
+
*/
|
|
312
|
+
export function thisQuarter(dimension) {
|
|
313
|
+
return dateRelativeTo(dimension.Quarters, 0, 1);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Creates a filter on "Today" of the given date dimension.
|
|
317
|
+
*
|
|
318
|
+
* @param dimension - date dimension to filter
|
|
319
|
+
* @returns A "Today" filter of the given dimension
|
|
320
|
+
*/
|
|
321
|
+
export function today(dimension) {
|
|
322
|
+
return dateRelativeTo(dimension.Days, 0, 1);
|
|
323
|
+
}
|
|
324
|
+
// MEASURE-RELATED FILTERS
|
|
325
|
+
/**
|
|
326
|
+
* Creates a filter on all measure values matching the provided criteria.
|
|
327
|
+
*
|
|
328
|
+
* @param attribute - Attribute to filter
|
|
329
|
+
* @param measure - Measure to filter by
|
|
330
|
+
* @param operatorA - Operator to apply on `valueA` ({@link NumericOperators})
|
|
331
|
+
* @param valueA - First value
|
|
332
|
+
* @param operatorB - Operator to apply on `valueB` ({@link NumericOperators})
|
|
333
|
+
* @param valueB - Second value
|
|
334
|
+
* @returns A filter representing the provided logic
|
|
335
|
+
* @internal
|
|
336
|
+
*/
|
|
337
|
+
export function measureBase(attribute, measure, operatorA, valueA, operatorB, valueB) {
|
|
338
|
+
return new MeasureFilter(attribute, measure, operatorA, valueA, operatorB, valueB);
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Creates a filter on all measure values that are greater than or equal to the given value.
|
|
342
|
+
*
|
|
343
|
+
* @param measure - Measure to filter by
|
|
344
|
+
* @param value - Min value
|
|
345
|
+
* @returns A filter representing the "greater than or equal to" logic
|
|
346
|
+
*/
|
|
347
|
+
export function measureGreaterThanOrEqual(measure, value) {
|
|
348
|
+
return measureBase(measure.attribute, measure, NumericOperators.From, value);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Creates a filter on all measure values less than or equal to the given value.
|
|
352
|
+
*
|
|
353
|
+
* @param measure - Measure to filter by
|
|
354
|
+
* @param value - Max value
|
|
355
|
+
* @returns A filter representing the "less than or equal to" logic
|
|
356
|
+
*/
|
|
357
|
+
export function measureLessThanOrEqual(measure, value) {
|
|
358
|
+
return measureBase(measure.attribute, measure, NumericOperators.To, value);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Creates a filter on all measure values within a range.
|
|
362
|
+
*
|
|
363
|
+
* @param measure - Measure to filter by
|
|
364
|
+
* @param valueA - Min value
|
|
365
|
+
* @param valueB - Max value
|
|
366
|
+
* @returns A filter representing the "between" logic
|
|
367
|
+
*/
|
|
368
|
+
export function measureBetween(measure, valueA, valueB) {
|
|
369
|
+
return measureBase(measure.attribute, measure, NumericOperators.From, valueA, NumericOperators.To, valueB);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Creates a filter on all measure values within a range but not equal to the min and max values.
|
|
373
|
+
*
|
|
374
|
+
* @param measure - Measure to filter by
|
|
375
|
+
* @param valueA - Min value
|
|
376
|
+
* @param valueB - Max value
|
|
377
|
+
* @returns A filter representing the "between, not equal" logic
|
|
378
|
+
*/
|
|
379
|
+
export function measureBetweenNotEqual(measure, valueA, valueB) {
|
|
380
|
+
return measureBase(measure.attribute, measure, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB);
|
|
381
|
+
}
|
|
382
|
+
// RANKING FILTERS
|
|
383
|
+
/**
|
|
384
|
+
* Creates a filter representing a top ranking logic.
|
|
385
|
+
*
|
|
386
|
+
* @param attribute - Attribute to filter
|
|
387
|
+
* @param measure - Measure to filter by
|
|
388
|
+
* @param count - Number of members to return
|
|
389
|
+
* @returns A filter representing a top ranking logic on the given attribute by the given measure
|
|
390
|
+
*/
|
|
391
|
+
export function topRanking(attribute, measure, count) {
|
|
392
|
+
return new RankingFilter(attribute, measure, RankingOperators.Top, count);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Creates a filter representing a bottom ranking logic.
|
|
396
|
+
*
|
|
397
|
+
* @param attribute - Attribute to filter
|
|
398
|
+
* @param measure - Measure to filter by
|
|
399
|
+
* @param count - Number of members to return
|
|
400
|
+
* @returns A filter representing a bottom ranking logic on the given attribute by the given measure
|
|
401
|
+
*/
|
|
402
|
+
export function bottomRanking(attribute, measure, count) {
|
|
403
|
+
return new RankingFilter(attribute, measure, RankingOperators.Bottom, count);
|
|
404
|
+
}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import { LevelAttribute, Attribute, Measure, Filter } from '../interfaces.js';
|
|
2
|
+
import { DimensionalElement } from '../base.js';
|
|
3
|
+
/**
|
|
4
|
+
* Different text operators that can be used with text filters
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare const TextOperators: {
|
|
9
|
+
Contains: string;
|
|
10
|
+
StartsWith: string;
|
|
11
|
+
EndsWith: string;
|
|
12
|
+
Equals: string;
|
|
13
|
+
DoesntEqual: string;
|
|
14
|
+
DoesntStartWith: string;
|
|
15
|
+
DoesntContain: string;
|
|
16
|
+
DoesntEndWith: string;
|
|
17
|
+
Like: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Different numeric operators that can be used with numeric filters
|
|
21
|
+
*/
|
|
22
|
+
export declare const NumericOperators: {
|
|
23
|
+
Equals: string;
|
|
24
|
+
DoesntEqual: string;
|
|
25
|
+
From: string;
|
|
26
|
+
FromNotEqual: string;
|
|
27
|
+
To: string;
|
|
28
|
+
ToNotEqual: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Different date operators that can be used with date filters
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare const DateOperators: {
|
|
36
|
+
From: string;
|
|
37
|
+
To: string;
|
|
38
|
+
Last: string;
|
|
39
|
+
Next: string;
|
|
40
|
+
Anchor: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Different logical operators that can be used with logical filters
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export declare const LogicalOperators: {
|
|
48
|
+
Union: string;
|
|
49
|
+
Intersection: string;
|
|
50
|
+
Exclude: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Different ranking operators that can be used with ranking filter
|
|
54
|
+
*
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export declare const RankingOperators: {
|
|
58
|
+
Top: string;
|
|
59
|
+
Bottom: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Different filter types
|
|
63
|
+
*
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
export declare const FilterTypes: {
|
|
67
|
+
logicalAttribute: string;
|
|
68
|
+
members: string;
|
|
69
|
+
exclude: string;
|
|
70
|
+
measure: string;
|
|
71
|
+
ranking: string;
|
|
72
|
+
text: string;
|
|
73
|
+
numeric: string;
|
|
74
|
+
date: string;
|
|
75
|
+
relativeDate: string;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* base implementation for filter classes
|
|
79
|
+
*
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
82
|
+
declare abstract class AbstractFilter extends DimensionalElement implements Filter {
|
|
83
|
+
/**
|
|
84
|
+
* Attribute this filter instance is filtering
|
|
85
|
+
*/
|
|
86
|
+
readonly attribute: Attribute;
|
|
87
|
+
/**
|
|
88
|
+
* Filter type
|
|
89
|
+
*/
|
|
90
|
+
readonly filterType: string;
|
|
91
|
+
constructor(att: Attribute, filterType: string);
|
|
92
|
+
/**
|
|
93
|
+
* Gets JAQL representing this Filter instance
|
|
94
|
+
*/
|
|
95
|
+
abstract filterJaql(): any;
|
|
96
|
+
/**
|
|
97
|
+
* gets the element's ID
|
|
98
|
+
*/
|
|
99
|
+
abstract get id(): string;
|
|
100
|
+
/**
|
|
101
|
+
* Defines whether the filter is a scope filters
|
|
102
|
+
*/
|
|
103
|
+
isScope: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Gets a serializable representation of the element
|
|
106
|
+
*/
|
|
107
|
+
serializable(): any;
|
|
108
|
+
/**
|
|
109
|
+
* Gets the JAQL representation of this instance
|
|
110
|
+
*
|
|
111
|
+
* @param nested - defines whether the JAQL is nested within parent JAQL statement or a root JAQL element
|
|
112
|
+
*/
|
|
113
|
+
jaql(nested?: boolean): any;
|
|
114
|
+
static checkAttributeSupport(attribute: Attribute): void;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
120
|
+
readonly filters: Filter[];
|
|
121
|
+
readonly operator: string;
|
|
122
|
+
constructor(filters: Filter[], operator: string);
|
|
123
|
+
/**
|
|
124
|
+
* gets the element's ID
|
|
125
|
+
*/
|
|
126
|
+
get id(): string;
|
|
127
|
+
/**
|
|
128
|
+
* Gets a serializable representation of the element
|
|
129
|
+
*/
|
|
130
|
+
serializable(): any;
|
|
131
|
+
/**
|
|
132
|
+
* Gets JAQL representing this Filter instance
|
|
133
|
+
*/
|
|
134
|
+
filterJaql(): any;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
export declare class MembersFilter extends AbstractFilter {
|
|
140
|
+
readonly members: any[];
|
|
141
|
+
constructor(attribute: Attribute, members?: any[]);
|
|
142
|
+
/**
|
|
143
|
+
* gets the element's ID
|
|
144
|
+
*/
|
|
145
|
+
get id(): string;
|
|
146
|
+
/**
|
|
147
|
+
* Gets a serializable representation of the element
|
|
148
|
+
*/
|
|
149
|
+
serializable(): any;
|
|
150
|
+
/**
|
|
151
|
+
* Gets JAQL representing this Filter instance
|
|
152
|
+
*/
|
|
153
|
+
filterJaql(): any;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
export declare class ExcludeFilter extends AbstractFilter {
|
|
159
|
+
readonly filter: Filter;
|
|
160
|
+
readonly input?: Filter;
|
|
161
|
+
constructor(filter: Filter, input?: Filter);
|
|
162
|
+
/**
|
|
163
|
+
* gets the element's ID
|
|
164
|
+
*/
|
|
165
|
+
get id(): string;
|
|
166
|
+
/**
|
|
167
|
+
* Gets a serializable representation of the element
|
|
168
|
+
*/
|
|
169
|
+
serializable(): any;
|
|
170
|
+
/**
|
|
171
|
+
* Gets JAQL representing this Filter instance
|
|
172
|
+
*/
|
|
173
|
+
filterJaql(): any;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* @internal
|
|
177
|
+
*/
|
|
178
|
+
export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
179
|
+
operatorA?: string;
|
|
180
|
+
operatorB?: string;
|
|
181
|
+
valueA?: Type;
|
|
182
|
+
valueB?: Type;
|
|
183
|
+
constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type);
|
|
184
|
+
/**
|
|
185
|
+
* gets the element's ID
|
|
186
|
+
*/
|
|
187
|
+
get id(): string;
|
|
188
|
+
/**
|
|
189
|
+
* Gets a serializable representation of the element
|
|
190
|
+
*/
|
|
191
|
+
serializable(): any;
|
|
192
|
+
/**
|
|
193
|
+
* Gets JAQL representing this Filter instance
|
|
194
|
+
*/
|
|
195
|
+
filterJaql(): any;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
export declare class MeasureFilter extends DoubleOperatorFilter<number> {
|
|
201
|
+
measure: Measure;
|
|
202
|
+
constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number);
|
|
203
|
+
/**
|
|
204
|
+
* gets the element's ID
|
|
205
|
+
*/
|
|
206
|
+
get id(): string;
|
|
207
|
+
/**
|
|
208
|
+
* Gets a serializable representation of the element
|
|
209
|
+
*/
|
|
210
|
+
serializable(): any;
|
|
211
|
+
jaql(nested?: boolean | undefined): any;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* @internal
|
|
215
|
+
*/
|
|
216
|
+
export declare class RankingFilter extends AbstractFilter {
|
|
217
|
+
count: number;
|
|
218
|
+
operator: string;
|
|
219
|
+
measure: Measure;
|
|
220
|
+
constructor(att: Attribute, measure: Measure, operator: string, count: number);
|
|
221
|
+
/**
|
|
222
|
+
* gets the element's ID
|
|
223
|
+
*/
|
|
224
|
+
get id(): string;
|
|
225
|
+
/**
|
|
226
|
+
* Gets a serializable representation of the element
|
|
227
|
+
*/
|
|
228
|
+
serializable(): any;
|
|
229
|
+
/**
|
|
230
|
+
* Gets JAQL representing this Filter instance
|
|
231
|
+
*/
|
|
232
|
+
filterJaql(): any;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* @internal
|
|
236
|
+
*/
|
|
237
|
+
export declare class NumericFilter extends DoubleOperatorFilter<number> {
|
|
238
|
+
constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* @internal
|
|
242
|
+
*/
|
|
243
|
+
export declare class TextFilter extends DoubleOperatorFilter<string> {
|
|
244
|
+
constructor(att: Attribute, operator: string, value: string);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* @internal
|
|
248
|
+
*/
|
|
249
|
+
export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string> {
|
|
250
|
+
constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string);
|
|
251
|
+
get level(): LevelAttribute;
|
|
252
|
+
get from(): string;
|
|
253
|
+
get to(): string;
|
|
254
|
+
/**
|
|
255
|
+
* Gets JAQL representing this Filter instance
|
|
256
|
+
*/
|
|
257
|
+
filterJaql(): any;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* @internal
|
|
261
|
+
*/
|
|
262
|
+
export declare class RelativeDateFilter extends AbstractFilter {
|
|
263
|
+
readonly offset: number;
|
|
264
|
+
readonly count: number;
|
|
265
|
+
readonly operator: string;
|
|
266
|
+
readonly anchor?: Date | string;
|
|
267
|
+
constructor(l: LevelAttribute, offset: number, count: number, operator?: string, anchor?: Date | string);
|
|
268
|
+
get level(): LevelAttribute;
|
|
269
|
+
/**
|
|
270
|
+
* gets the element's ID
|
|
271
|
+
*/
|
|
272
|
+
get id(): string;
|
|
273
|
+
/**
|
|
274
|
+
* Gets a serializable representation of the element
|
|
275
|
+
*/
|
|
276
|
+
serializable(): any;
|
|
277
|
+
/**
|
|
278
|
+
* Gets JAQL representing this Filter instance
|
|
279
|
+
*
|
|
280
|
+
*/
|
|
281
|
+
filterJaql(): any;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* @param json
|
|
285
|
+
* @internal
|
|
286
|
+
*/
|
|
287
|
+
export declare function createFilter(json: any): Filter;
|
|
288
|
+
export {};
|