@sisense/sdk-data 1.34.0 → 2.0.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/analytics/factory.d.ts +10 -10
- package/dist/cjs/dimensional-model/analytics/factory.js +15 -16
- package/dist/cjs/dimensional-model/attributes.d.ts +4 -4
- package/dist/cjs/dimensional-model/attributes.js +21 -7
- package/dist/cjs/dimensional-model/base.d.ts +3 -3
- package/dist/cjs/dimensional-model/base.js +7 -4
- package/dist/cjs/dimensional-model/compose-code-utils.d.ts +41 -0
- package/dist/cjs/dimensional-model/compose-code-utils.js +127 -0
- package/dist/cjs/dimensional-model/consts.d.ts +1 -0
- package/dist/cjs/dimensional-model/consts.js +4 -0
- package/dist/cjs/dimensional-model/dimensions/dimensions.d.ts +5 -5
- package/dist/cjs/dimensional-model/dimensions/dimensions.js +25 -16
- package/dist/cjs/dimensional-model/filters/factory.d.ts +41 -41
- package/dist/cjs/dimensional-model/filters/factory.js +53 -168
- package/dist/cjs/dimensional-model/filters/filter-relations.js +2 -5
- package/dist/cjs/dimensional-model/filters/filters.d.ts +39 -23
- package/dist/cjs/dimensional-model/filters/filters.js +102 -52
- package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.js +6 -14
- package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +28 -26
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +9 -15
- package/dist/cjs/dimensional-model/filters/utils/types.d.ts +10 -0
- package/dist/cjs/dimensional-model/interfaces.d.ts +9 -7
- package/dist/cjs/dimensional-model/jaql-element.d.ts +13 -1
- package/dist/cjs/dimensional-model/jaql-element.js +53 -1
- package/dist/cjs/dimensional-model/measures/factory.d.ts +45 -52
- package/dist/cjs/dimensional-model/measures/factory.js +55 -184
- package/dist/cjs/dimensional-model/measures/measures.d.ts +9 -9
- package/dist/cjs/dimensional-model/measures/measures.js +31 -29
- package/dist/cjs/dimensional-model/types.d.ts +25 -2
- package/dist/cjs/utils.d.ts +26 -19
- package/dist/cjs/utils.js +82 -41
- package/dist/dimensional-model/analytics/factory.d.ts +10 -10
- package/dist/dimensional-model/analytics/factory.js +15 -14
- package/dist/dimensional-model/attributes.d.ts +4 -4
- package/dist/dimensional-model/attributes.js +21 -7
- package/dist/dimensional-model/base.d.ts +3 -3
- package/dist/dimensional-model/base.js +7 -4
- package/dist/dimensional-model/compose-code-utils.d.ts +41 -0
- package/dist/dimensional-model/compose-code-utils.js +119 -0
- package/dist/dimensional-model/consts.d.ts +1 -0
- package/dist/dimensional-model/consts.js +1 -0
- package/dist/dimensional-model/dimensions/dimensions.d.ts +5 -5
- package/dist/dimensional-model/dimensions/dimensions.js +26 -17
- package/dist/dimensional-model/filters/factory.d.ts +41 -41
- package/dist/dimensional-model/filters/factory.js +51 -125
- package/dist/dimensional-model/filters/filter-relations.js +3 -6
- package/dist/dimensional-model/filters/filters.d.ts +39 -23
- package/dist/dimensional-model/filters/filters.js +102 -52
- package/dist/dimensional-model/filters/utils/attribute-measure-util.js +6 -14
- package/dist/dimensional-model/filters/utils/condition-filter-util.js +28 -26
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +9 -15
- package/dist/dimensional-model/filters/utils/types.d.ts +10 -0
- package/dist/dimensional-model/interfaces.d.ts +9 -7
- package/dist/dimensional-model/jaql-element.d.ts +13 -1
- package/dist/dimensional-model/jaql-element.js +52 -1
- package/dist/dimensional-model/measures/factory.d.ts +45 -52
- package/dist/dimensional-model/measures/factory.js +54 -141
- package/dist/dimensional-model/measures/measures.d.ts +9 -9
- package/dist/dimensional-model/measures/measures.js +31 -29
- package/dist/dimensional-model/types.d.ts +25 -2
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
- package/dist/utils.d.ts +26 -19
- package/dist/utils.js +60 -44
- package/package.json +3 -3
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.d.ts +0 -17
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.js +0 -82
- package/dist/dimensional-model/filters/utils/filter-code-util.d.ts +0 -17
- package/dist/dimensional-model/filters/utils/filter-code-util.js +0 -77
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.customFilter = exports.logic = exports.cascading = exports.bottomRanking = exports.topRanking = exports.measureBetweenNotEqual = exports.measureBetween = exports.measureLessThan = exports.measureLessThanOrEqual = exports.measureGreaterThanOrEqual = exports.measureGreaterThan = exports.measureEquals = exports.measureBase = exports.today = exports.thisQuarter = exports.thisMonth = exports.thisYear = exports.dateRelativeTo = exports.dateRelativeFrom = exports.dateRelative = exports.dateRange = exports.dateTo = exports.dateFrom = exports.members = exports.numeric = exports.betweenNotEqual = exports.between = exports.lessThanOrEqual = exports.lessThan = exports.greaterThanOrEqual = exports.greaterThan = exports.equals = exports.doesntEqual = exports.like = exports.startsWith = exports.endsWith = exports.contains = exports.doesntStartWith = exports.doesntEndWith = exports.doesntContain = exports.exclude = exports.intersection = exports.union = void 0;
|
|
4
|
+
/* eslint-disable max-lines */
|
|
5
|
+
/* eslint-disable max-params */
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-shadow */
|
|
7
|
+
const compose_code_utils_js_1 = require("../compose-code-utils.js");
|
|
4
8
|
const filters_js_1 = require("./filters.js");
|
|
5
9
|
// LOGICAL FILTERS
|
|
6
10
|
/**
|
|
@@ -22,10 +26,7 @@ const filters_js_1 = require("./filters.js");
|
|
|
22
26
|
* @param config - Optional configuration for the filter
|
|
23
27
|
* @returns A filter instance
|
|
24
28
|
*/
|
|
25
|
-
|
|
26
|
-
return new filters_js_1.LogicalAttributeFilter(filters, filters_js_1.LogicalOperators.Union, config);
|
|
27
|
-
}
|
|
28
|
-
exports.union = union;
|
|
29
|
+
exports.union = (0, compose_code_utils_js_1.withComposeCodeForFilter)((filters, config) => new filters_js_1.LogicalAttributeFilter(filters, filters_js_1.LogicalOperators.Union, config), 'union');
|
|
29
30
|
/**
|
|
30
31
|
* Creates a filter representing the intersection of multiple filters on the same attribute. The resulting
|
|
31
32
|
* intersection filter filters on items that match all of the given filters.
|
|
@@ -45,10 +46,7 @@ exports.union = union;
|
|
|
45
46
|
* @param config - Optional configuration for the filter
|
|
46
47
|
* @returns A filter instance
|
|
47
48
|
*/
|
|
48
|
-
|
|
49
|
-
return new filters_js_1.LogicalAttributeFilter(filters, filters_js_1.LogicalOperators.Intersection, config);
|
|
50
|
-
}
|
|
51
|
-
exports.intersection = intersection;
|
|
49
|
+
exports.intersection = (0, compose_code_utils_js_1.withComposeCodeForFilter)((filters, config) => new filters_js_1.LogicalAttributeFilter(filters, filters_js_1.LogicalOperators.Intersection, config), 'intersection');
|
|
52
50
|
/**
|
|
53
51
|
* Creates a filter that excludes items matching the given filter
|
|
54
52
|
* from all items or from items matching the optional input filter.
|
|
@@ -75,10 +73,7 @@ exports.intersection = intersection;
|
|
|
75
73
|
* @returns A filter representing an exclusion of the given filter
|
|
76
74
|
* from all attribute members or from the optional input filter
|
|
77
75
|
*/
|
|
78
|
-
|
|
79
|
-
return new filters_js_1.ExcludeFilter(filter, input, config);
|
|
80
|
-
}
|
|
81
|
-
exports.exclude = exclude;
|
|
76
|
+
exports.exclude = (0, compose_code_utils_js_1.withComposeCodeForFilter)((filter, input, config) => new filters_js_1.ExcludeFilter(filter, input, config), 'exclude');
|
|
82
77
|
// TEXT / NUMERIC FILTERS
|
|
83
78
|
/**
|
|
84
79
|
* Creates a filter to isolate attribute values that do not contain a specified string.
|
|
@@ -99,10 +94,7 @@ exports.exclude = exclude;
|
|
|
99
94
|
* @param config - Optional configuration for the filter
|
|
100
95
|
* @returns A filter instance
|
|
101
96
|
*/
|
|
102
|
-
|
|
103
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntContain, value, config);
|
|
104
|
-
}
|
|
105
|
-
exports.doesntContain = doesntContain;
|
|
97
|
+
exports.doesntContain = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntContain, value, config), 'doesntContain');
|
|
106
98
|
/**
|
|
107
99
|
* Creates a filter to isolate attribute values that do not end with a specified string.
|
|
108
100
|
*
|
|
@@ -122,10 +114,7 @@ exports.doesntContain = doesntContain;
|
|
|
122
114
|
* @param config - Optional configuration for the filter
|
|
123
115
|
* @returns A filter instance
|
|
124
116
|
*/
|
|
125
|
-
|
|
126
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntEndWith, value, config);
|
|
127
|
-
}
|
|
128
|
-
exports.doesntEndWith = doesntEndWith;
|
|
117
|
+
exports.doesntEndWith = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntEndWith, value, config), 'doesntEndWith');
|
|
129
118
|
/**
|
|
130
119
|
* Creates a filter to isolate attribute values that do not start with a specified string.
|
|
131
120
|
*
|
|
@@ -145,10 +134,7 @@ exports.doesntEndWith = doesntEndWith;
|
|
|
145
134
|
* @param config - Optional configuration for the filter
|
|
146
135
|
* @returns A filter instance
|
|
147
136
|
*/
|
|
148
|
-
|
|
149
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntStartWith, value, config);
|
|
150
|
-
}
|
|
151
|
-
exports.doesntStartWith = doesntStartWith;
|
|
137
|
+
exports.doesntStartWith = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntStartWith, value, config), 'doesntStartWith');
|
|
152
138
|
/**
|
|
153
139
|
* Creates a filter to isolate attribute values that contain a specified string.
|
|
154
140
|
*
|
|
@@ -168,10 +154,7 @@ exports.doesntStartWith = doesntStartWith;
|
|
|
168
154
|
* @param config - Optional configuration for the filter
|
|
169
155
|
* @returns A filter instance
|
|
170
156
|
*/
|
|
171
|
-
|
|
172
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.Contains, value, config);
|
|
173
|
-
}
|
|
174
|
-
exports.contains = contains;
|
|
157
|
+
exports.contains = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.Contains, value, config), 'contains');
|
|
175
158
|
/**
|
|
176
159
|
* Creates a filter to isolate attribute values that end with a specified string.
|
|
177
160
|
*
|
|
@@ -191,10 +174,7 @@ exports.contains = contains;
|
|
|
191
174
|
* @param config - Optional configuration for the filter
|
|
192
175
|
* @returns A filter instance
|
|
193
176
|
*/
|
|
194
|
-
|
|
195
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.EndsWith, value, config);
|
|
196
|
-
}
|
|
197
|
-
exports.endsWith = endsWith;
|
|
177
|
+
exports.endsWith = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.EndsWith, value, config), 'endsWith');
|
|
198
178
|
/**
|
|
199
179
|
* Creates a filter to isolate attribute values that start with a specified string.
|
|
200
180
|
*
|
|
@@ -214,10 +194,7 @@ exports.endsWith = endsWith;
|
|
|
214
194
|
* @param config - Optional configuration for the filter
|
|
215
195
|
* @returns A filter instance
|
|
216
196
|
*/
|
|
217
|
-
|
|
218
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.StartsWith, value, config);
|
|
219
|
-
}
|
|
220
|
-
exports.startsWith = startsWith;
|
|
197
|
+
exports.startsWith = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.StartsWith, value, config), 'startsWith');
|
|
221
198
|
/**
|
|
222
199
|
* Creates a filter to isolate attribute values that match a specified string pattern.
|
|
223
200
|
*
|
|
@@ -242,10 +219,7 @@ exports.startsWith = startsWith;
|
|
|
242
219
|
* @param config - Optional configuration for the filter
|
|
243
220
|
* @returns A filter instance
|
|
244
221
|
*/
|
|
245
|
-
|
|
246
|
-
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.Like, value, config);
|
|
247
|
-
}
|
|
248
|
-
exports.like = like;
|
|
222
|
+
exports.like = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.Like, value, config), 'like');
|
|
249
223
|
/**
|
|
250
224
|
* Creates a filter to isolate attribute values that do not equal a specified string or number.
|
|
251
225
|
*
|
|
@@ -265,15 +239,14 @@ exports.like = like;
|
|
|
265
239
|
* @param config - Optional configuration for the filter
|
|
266
240
|
* @returns A filter instance
|
|
267
241
|
*/
|
|
268
|
-
|
|
242
|
+
exports.doesntEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => {
|
|
269
243
|
if (typeof value === 'string') {
|
|
270
244
|
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.DoesntEqual, value, config);
|
|
271
245
|
}
|
|
272
246
|
else {
|
|
273
|
-
return numeric(attribute, filters_js_1.NumericOperators.DoesntEqual, value, undefined, undefined, config);
|
|
247
|
+
return (0, exports.numeric)(attribute, filters_js_1.NumericOperators.DoesntEqual, value, undefined, undefined, config);
|
|
274
248
|
}
|
|
275
|
-
}
|
|
276
|
-
exports.doesntEqual = doesntEqual;
|
|
249
|
+
}, 'doesntEqual');
|
|
277
250
|
/**
|
|
278
251
|
* Creates a filter to isolate attribute values that equal a specified string or number.
|
|
279
252
|
*
|
|
@@ -293,15 +266,14 @@ exports.doesntEqual = doesntEqual;
|
|
|
293
266
|
* @param config - Optional configuration for the filter
|
|
294
267
|
* @returns A filter instance
|
|
295
268
|
*/
|
|
296
|
-
|
|
269
|
+
exports.equals = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => {
|
|
297
270
|
if (typeof value === 'string') {
|
|
298
271
|
return new filters_js_1.TextFilter(attribute, filters_js_1.TextOperators.Equals, value, config);
|
|
299
272
|
}
|
|
300
273
|
else {
|
|
301
|
-
return numeric(attribute, filters_js_1.NumericOperators.Equals, value, undefined, undefined, config);
|
|
274
|
+
return (0, exports.numeric)(attribute, filters_js_1.NumericOperators.Equals, value, undefined, undefined, config);
|
|
302
275
|
}
|
|
303
|
-
}
|
|
304
|
-
exports.equals = equals;
|
|
276
|
+
}, 'equals');
|
|
305
277
|
/**
|
|
306
278
|
* Creates a filter to isolate attribute values strictly greater than a specified number.
|
|
307
279
|
*
|
|
@@ -315,10 +287,7 @@ exports.equals = equals;
|
|
|
315
287
|
* @param config - Optional configuration for the filter
|
|
316
288
|
* @returns A filter instance
|
|
317
289
|
*/
|
|
318
|
-
|
|
319
|
-
return numeric(attribute, filters_js_1.NumericOperators.FromNotEqual, value, undefined, undefined, config);
|
|
320
|
-
}
|
|
321
|
-
exports.greaterThan = greaterThan;
|
|
290
|
+
exports.greaterThan = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => (0, exports.numeric)(attribute, filters_js_1.NumericOperators.FromNotEqual, value, undefined, undefined, config), 'greaterThan');
|
|
322
291
|
/**
|
|
323
292
|
* Creates a filter to isolate attribute values greater than or equal to a specified number.
|
|
324
293
|
*
|
|
@@ -332,10 +301,7 @@ exports.greaterThan = greaterThan;
|
|
|
332
301
|
* @param config - Optional configuration for the filter
|
|
333
302
|
* @returns A filter instance
|
|
334
303
|
*/
|
|
335
|
-
|
|
336
|
-
return numeric(attribute, filters_js_1.NumericOperators.From, value, undefined, undefined, config);
|
|
337
|
-
}
|
|
338
|
-
exports.greaterThanOrEqual = greaterThanOrEqual;
|
|
304
|
+
exports.greaterThanOrEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => (0, exports.numeric)(attribute, filters_js_1.NumericOperators.From, value, undefined, undefined, config), 'greaterThanOrEqual');
|
|
339
305
|
/**
|
|
340
306
|
* Creates a filter to isolate attribute values strictly less than a specified number.
|
|
341
307
|
*
|
|
@@ -349,10 +315,7 @@ exports.greaterThanOrEqual = greaterThanOrEqual;
|
|
|
349
315
|
* @param config - Optional configuration for the filter
|
|
350
316
|
* @returns A filter instance
|
|
351
317
|
*/
|
|
352
|
-
|
|
353
|
-
return numeric(attribute, filters_js_1.NumericOperators.ToNotEqual, value, undefined, undefined, config);
|
|
354
|
-
}
|
|
355
|
-
exports.lessThan = lessThan;
|
|
318
|
+
exports.lessThan = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => (0, exports.numeric)(attribute, filters_js_1.NumericOperators.ToNotEqual, value, undefined, undefined, config), 'lessThan');
|
|
356
319
|
/**
|
|
357
320
|
* Creates a filter to isolate attribute values less than or equal to a specified number.
|
|
358
321
|
*
|
|
@@ -366,10 +329,7 @@ exports.lessThan = lessThan;
|
|
|
366
329
|
* @param config - Optional configuration for the filter
|
|
367
330
|
* @returns A filter instance
|
|
368
331
|
*/
|
|
369
|
-
|
|
370
|
-
return numeric(attribute, filters_js_1.NumericOperators.To, value, undefined, undefined, config);
|
|
371
|
-
}
|
|
372
|
-
exports.lessThanOrEqual = lessThanOrEqual;
|
|
332
|
+
exports.lessThanOrEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, value, config) => (0, exports.numeric)(attribute, filters_js_1.NumericOperators.To, value, undefined, undefined, config), 'lessThanOrEqual');
|
|
373
333
|
/**
|
|
374
334
|
* Creates a filter to isolate attribute values within or exactly matching two specified numerical boundaries.
|
|
375
335
|
*
|
|
@@ -384,10 +344,7 @@ exports.lessThanOrEqual = lessThanOrEqual;
|
|
|
384
344
|
* @param config - Optional configuration for the filter
|
|
385
345
|
* @returns A filter instance
|
|
386
346
|
*/
|
|
387
|
-
|
|
388
|
-
return numeric(attribute, filters_js_1.NumericOperators.From, valueA, filters_js_1.NumericOperators.To, valueB, config);
|
|
389
|
-
}
|
|
390
|
-
exports.between = between;
|
|
347
|
+
exports.between = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, valueA, valueB, config) => (0, exports.numeric)(attribute, filters_js_1.NumericOperators.From, valueA, filters_js_1.NumericOperators.To, valueB, config), 'between');
|
|
391
348
|
/**
|
|
392
349
|
* Creates a filter that isolates attribute values strictly within two specified numerical boundaries.
|
|
393
350
|
*
|
|
@@ -402,10 +359,7 @@ exports.between = between;
|
|
|
402
359
|
* @param config - Optional configuration for the filter
|
|
403
360
|
* @returns A filter instance
|
|
404
361
|
*/
|
|
405
|
-
|
|
406
|
-
return numeric(attribute, filters_js_1.NumericOperators.FromNotEqual, valueA, filters_js_1.NumericOperators.ToNotEqual, valueB, config);
|
|
407
|
-
}
|
|
408
|
-
exports.betweenNotEqual = betweenNotEqual;
|
|
362
|
+
exports.betweenNotEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, valueA, valueB, config) => (0, exports.numeric)(attribute, filters_js_1.NumericOperators.FromNotEqual, valueA, filters_js_1.NumericOperators.ToNotEqual, valueB, config), 'betweenNotEqual');
|
|
409
363
|
/**
|
|
410
364
|
* Creates a custom numeric filter that filters for given attribute values.
|
|
411
365
|
*
|
|
@@ -429,10 +383,7 @@ exports.betweenNotEqual = betweenNotEqual;
|
|
|
429
383
|
* @param config - Optional configuration for the filter
|
|
430
384
|
* @returns A custom numeric filter of the given attribute
|
|
431
385
|
*/
|
|
432
|
-
|
|
433
|
-
return new filters_js_1.NumericFilter(attribute, operatorA, valueA, operatorB, valueB, config);
|
|
434
|
-
}
|
|
435
|
-
exports.numeric = numeric;
|
|
386
|
+
exports.numeric = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, operatorA, valueA, operatorB, valueB, config) => new filters_js_1.NumericFilter(attribute, operatorA, valueA, operatorB, valueB, config), 'numeric');
|
|
436
387
|
/**
|
|
437
388
|
* Creates a filter to isolate attribute values that match any of the specified strings.
|
|
438
389
|
*
|
|
@@ -450,10 +401,7 @@ exports.numeric = numeric;
|
|
|
450
401
|
* @returns A filter instance
|
|
451
402
|
* @shortDescription Creates filter on attribute to match certain string values
|
|
452
403
|
*/
|
|
453
|
-
|
|
454
|
-
return new filters_js_1.MembersFilter(attribute, members, config);
|
|
455
|
-
}
|
|
456
|
-
exports.members = members;
|
|
404
|
+
exports.members = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, members, config) => new filters_js_1.MembersFilter(attribute, members, config), 'members');
|
|
457
405
|
// DATE FILTERS
|
|
458
406
|
/**
|
|
459
407
|
* Creates a filter to isolate date values starting from and including the given date and level.
|
|
@@ -468,10 +416,7 @@ exports.members = members;
|
|
|
468
416
|
* @param config - Optional configuration for the filter
|
|
469
417
|
* @returns A filter instance
|
|
470
418
|
*/
|
|
471
|
-
|
|
472
|
-
return dateRange(level, from, undefined, config);
|
|
473
|
-
}
|
|
474
|
-
exports.dateFrom = dateFrom;
|
|
419
|
+
exports.dateFrom = (0, compose_code_utils_js_1.withComposeCodeForFilter)((level, from, config) => (0, exports.dateRange)(level, from, undefined, config), 'dateFrom');
|
|
475
420
|
/**
|
|
476
421
|
* Creates a filter to isolate items up until and including the given date and level.
|
|
477
422
|
*
|
|
@@ -485,10 +430,7 @@ exports.dateFrom = dateFrom;
|
|
|
485
430
|
* @param config - Optional configuration for the filter
|
|
486
431
|
* @returns A filter instance
|
|
487
432
|
*/
|
|
488
|
-
|
|
489
|
-
return dateRange(level, undefined, to, config);
|
|
490
|
-
}
|
|
491
|
-
exports.dateTo = dateTo;
|
|
433
|
+
exports.dateTo = (0, compose_code_utils_js_1.withComposeCodeForFilter)((level, to, config) => (0, exports.dateRange)(level, undefined, to, config), 'dateTo');
|
|
492
434
|
/**
|
|
493
435
|
* Creates a filter to isolate items between and including the given dates and level.
|
|
494
436
|
*
|
|
@@ -503,10 +445,7 @@ exports.dateTo = dateTo;
|
|
|
503
445
|
* @param config - Optional configuration for the filter
|
|
504
446
|
* @returns A filter instance
|
|
505
447
|
*/
|
|
506
|
-
|
|
507
|
-
return new filters_js_1.DateRangeFilter(level, from, to, config);
|
|
508
|
-
}
|
|
509
|
-
exports.dateRange = dateRange;
|
|
448
|
+
exports.dateRange = (0, compose_code_utils_js_1.withComposeCodeForFilter)((level, from, to, config) => new filters_js_1.DateRangeFilter(level, from, to, config), 'dateRange');
|
|
510
449
|
/**
|
|
511
450
|
* Creates a filter to isolate items with a date dimension value within a specified range after a
|
|
512
451
|
* given date and level.
|
|
@@ -539,10 +478,7 @@ exports.dateRange = dateRange;
|
|
|
539
478
|
* @param config - Optional configuration for the filter
|
|
540
479
|
* @returns A filter instance
|
|
541
480
|
*/
|
|
542
|
-
|
|
543
|
-
return new filters_js_1.RelativeDateFilter(level, offset, count, undefined, anchor, config);
|
|
544
|
-
}
|
|
545
|
-
exports.dateRelative = dateRelative;
|
|
481
|
+
exports.dateRelative = (0, compose_code_utils_js_1.withComposeCodeForFilter)((level, offset, count, anchor, config) => new filters_js_1.RelativeDateFilter(level, offset, count, undefined, anchor, config), 'dateRelative');
|
|
546
482
|
/**
|
|
547
483
|
* Creates a filter to isolate items with a date dimension value within a specified range after a
|
|
548
484
|
* given date and level.
|
|
@@ -559,10 +495,7 @@ exports.dateRelative = dateRelative;
|
|
|
559
495
|
* @param config - Optional configuration for the filter
|
|
560
496
|
* @returns A filter instance
|
|
561
497
|
*/
|
|
562
|
-
|
|
563
|
-
return new filters_js_1.RelativeDateFilter(level, offset, count, filters_js_1.DateOperators.Next, anchor, config);
|
|
564
|
-
}
|
|
565
|
-
exports.dateRelativeFrom = dateRelativeFrom;
|
|
498
|
+
exports.dateRelativeFrom = (0, compose_code_utils_js_1.withComposeCodeForFilter)((level, offset, count, anchor, config) => new filters_js_1.RelativeDateFilter(level, offset, count, filters_js_1.DateOperators.Next, anchor, config), 'dateRelativeFrom');
|
|
566
499
|
/**
|
|
567
500
|
* Creates a filter to isolate items with a date dimension value within a specified range before a
|
|
568
501
|
* given date and level.
|
|
@@ -579,10 +512,7 @@ exports.dateRelativeFrom = dateRelativeFrom;
|
|
|
579
512
|
* @param config - Optional configuration for the filter
|
|
580
513
|
* @returns A filter instance
|
|
581
514
|
*/
|
|
582
|
-
|
|
583
|
-
return new filters_js_1.RelativeDateFilter(level, offset, count, filters_js_1.DateOperators.Last, anchor, config);
|
|
584
|
-
}
|
|
585
|
-
exports.dateRelativeTo = dateRelativeTo;
|
|
515
|
+
exports.dateRelativeTo = (0, compose_code_utils_js_1.withComposeCodeForFilter)((level, offset, count, anchor, config) => new filters_js_1.RelativeDateFilter(level, offset, count, filters_js_1.DateOperators.Last, anchor, config), 'dateRelativeTo');
|
|
586
516
|
/**
|
|
587
517
|
* Creates a filter to isolate items with a date dimension value in the current calendar year.
|
|
588
518
|
*
|
|
@@ -595,10 +525,7 @@ exports.dateRelativeTo = dateRelativeTo;
|
|
|
595
525
|
* @param config - Optional configuration for the filter
|
|
596
526
|
* @returns A filter instance
|
|
597
527
|
*/
|
|
598
|
-
|
|
599
|
-
return dateRelativeTo(dimension.Years, 0, 1, undefined, config);
|
|
600
|
-
}
|
|
601
|
-
exports.thisYear = thisYear;
|
|
528
|
+
exports.thisYear = (0, compose_code_utils_js_1.withComposeCodeForFilter)((dimension, config) => (0, exports.dateRelativeTo)(dimension.Years, 0, 1, undefined, config), 'thisYear');
|
|
602
529
|
/**
|
|
603
530
|
* Creates a filter to isolate items with a date dimension value in the current calendar month.
|
|
604
531
|
*
|
|
@@ -611,10 +538,7 @@ exports.thisYear = thisYear;
|
|
|
611
538
|
* @param config - Optional configuration for the filter
|
|
612
539
|
* @returns A filter instance
|
|
613
540
|
*/
|
|
614
|
-
|
|
615
|
-
return dateRelativeTo(dimension.Months, 0, 1, undefined, config);
|
|
616
|
-
}
|
|
617
|
-
exports.thisMonth = thisMonth;
|
|
541
|
+
exports.thisMonth = (0, compose_code_utils_js_1.withComposeCodeForFilter)((dimension, config) => (0, exports.dateRelativeTo)(dimension.Months, 0, 1, undefined, config), 'thisMonth');
|
|
618
542
|
/**
|
|
619
543
|
* Creates a filter to isolate items with a date dimension value in the current quarter.
|
|
620
544
|
*
|
|
@@ -627,10 +551,7 @@ exports.thisMonth = thisMonth;
|
|
|
627
551
|
* @param config - Optional configuration for the filter
|
|
628
552
|
* @returns A filter instance
|
|
629
553
|
*/
|
|
630
|
-
|
|
631
|
-
return dateRelativeTo(dimension.Quarters, 0, 1, undefined, config);
|
|
632
|
-
}
|
|
633
|
-
exports.thisQuarter = thisQuarter;
|
|
554
|
+
exports.thisQuarter = (0, compose_code_utils_js_1.withComposeCodeForFilter)((dimension, config) => (0, exports.dateRelativeTo)(dimension.Quarters, 0, 1, undefined, config), 'thisQuarter');
|
|
634
555
|
/**
|
|
635
556
|
* Creates a filter to isolate items with a date dimension value of the current date.
|
|
636
557
|
*
|
|
@@ -643,10 +564,7 @@ exports.thisQuarter = thisQuarter;
|
|
|
643
564
|
* @param config - Optional configuration for the filter
|
|
644
565
|
* @returns A filter instance
|
|
645
566
|
*/
|
|
646
|
-
|
|
647
|
-
return dateRelativeTo(dimension.Days, 0, 1, undefined, config);
|
|
648
|
-
}
|
|
649
|
-
exports.today = today;
|
|
567
|
+
exports.today = (0, compose_code_utils_js_1.withComposeCodeForFilter)((dimension, config) => (0, exports.dateRelativeTo)(dimension.Days, 0, 1, undefined, config), 'today');
|
|
650
568
|
// MEASURE-RELATED FILTERS
|
|
651
569
|
/**
|
|
652
570
|
* Creates a filter on all measure values matching the provided criteria.
|
|
@@ -681,10 +599,7 @@ exports.measureBase = measureBase;
|
|
|
681
599
|
* @param config - Optional configuration for the filter
|
|
682
600
|
* @returns A filter instance
|
|
683
601
|
*/
|
|
684
|
-
|
|
685
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.Equals, value, undefined, undefined, config);
|
|
686
|
-
}
|
|
687
|
-
exports.measureEquals = measureEquals;
|
|
602
|
+
exports.measureEquals = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, value, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.Equals, value, undefined, undefined, config), 'measureEquals');
|
|
688
603
|
/**
|
|
689
604
|
* Creates a filter to isolate a measure value greater than to a given number.
|
|
690
605
|
*
|
|
@@ -702,10 +617,7 @@ exports.measureEquals = measureEquals;
|
|
|
702
617
|
* @param config - Optional configuration for the filter
|
|
703
618
|
* @returns A filter instance
|
|
704
619
|
*/
|
|
705
|
-
|
|
706
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.FromNotEqual, value, undefined, undefined, config);
|
|
707
|
-
}
|
|
708
|
-
exports.measureGreaterThan = measureGreaterThan;
|
|
620
|
+
exports.measureGreaterThan = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, value, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.FromNotEqual, value, undefined, undefined, config), 'measureGreaterThan');
|
|
709
621
|
/**
|
|
710
622
|
* Creates a filter to isolate a measure value greater than or equal to a given number.
|
|
711
623
|
*
|
|
@@ -723,10 +635,7 @@ exports.measureGreaterThan = measureGreaterThan;
|
|
|
723
635
|
* @param config - Optional configuration for the filter
|
|
724
636
|
* @returns A filter instance
|
|
725
637
|
*/
|
|
726
|
-
|
|
727
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.From, value, undefined, undefined, config);
|
|
728
|
-
}
|
|
729
|
-
exports.measureGreaterThanOrEqual = measureGreaterThanOrEqual;
|
|
638
|
+
exports.measureGreaterThanOrEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, value, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.From, value, undefined, undefined, config), 'measureGreaterThanOrEqual');
|
|
730
639
|
/**
|
|
731
640
|
* Creates a filter to isolate a measure value less than or equal to a given number.
|
|
732
641
|
*
|
|
@@ -744,10 +653,7 @@ exports.measureGreaterThanOrEqual = measureGreaterThanOrEqual;
|
|
|
744
653
|
* @param config - Optional configuration for the filter
|
|
745
654
|
* @returns A filter instance
|
|
746
655
|
*/
|
|
747
|
-
|
|
748
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.To, value, undefined, undefined, config);
|
|
749
|
-
}
|
|
750
|
-
exports.measureLessThanOrEqual = measureLessThanOrEqual;
|
|
656
|
+
exports.measureLessThanOrEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, value, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.To, value, undefined, undefined, config), 'measureLessThanOrEqual');
|
|
751
657
|
/**
|
|
752
658
|
* Creates a filter to isolate a measure value less than a given number.
|
|
753
659
|
*
|
|
@@ -764,10 +670,7 @@ exports.measureLessThanOrEqual = measureLessThanOrEqual;
|
|
|
764
670
|
* @param config - Optional configuration for the filter
|
|
765
671
|
* @returns A filter instance
|
|
766
672
|
*/
|
|
767
|
-
|
|
768
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.ToNotEqual, value, undefined, undefined, config);
|
|
769
|
-
}
|
|
770
|
-
exports.measureLessThan = measureLessThan;
|
|
673
|
+
exports.measureLessThan = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, value, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.ToNotEqual, value, undefined, undefined, config), 'measureLessThan');
|
|
771
674
|
/**
|
|
772
675
|
* Creates a filter to isolate a measure value between or equal to two given numbers.
|
|
773
676
|
*
|
|
@@ -787,10 +690,7 @@ exports.measureLessThan = measureLessThan;
|
|
|
787
690
|
* @param config - Optional configuration for the filter
|
|
788
691
|
* @returns A filter instance
|
|
789
692
|
*/
|
|
790
|
-
|
|
791
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.From, valueA, filters_js_1.NumericOperators.To, valueB, config);
|
|
792
|
-
}
|
|
793
|
-
exports.measureBetween = measureBetween;
|
|
693
|
+
exports.measureBetween = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, valueA, valueB, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.From, valueA, filters_js_1.NumericOperators.To, valueB, config), 'measureBetween');
|
|
794
694
|
/**
|
|
795
695
|
* Creates a filter to isolate a measure value between but not equal to two given numbers.
|
|
796
696
|
*
|
|
@@ -810,10 +710,7 @@ exports.measureBetween = measureBetween;
|
|
|
810
710
|
* @param config - Optional configuration for the filter
|
|
811
711
|
* @returns A filter instance
|
|
812
712
|
*/
|
|
813
|
-
|
|
814
|
-
return measureBase(measure.attribute, measure, filters_js_1.NumericOperators.FromNotEqual, valueA, filters_js_1.NumericOperators.ToNotEqual, valueB, config);
|
|
815
|
-
}
|
|
816
|
-
exports.measureBetweenNotEqual = measureBetweenNotEqual;
|
|
713
|
+
exports.measureBetweenNotEqual = (0, compose_code_utils_js_1.withComposeCodeForFilter)((measure, valueA, valueB, config) => measureBase(measure.attribute, measure, filters_js_1.NumericOperators.FromNotEqual, valueA, filters_js_1.NumericOperators.ToNotEqual, valueB, config), 'measureBetweenNotEqual');
|
|
817
714
|
// RANKING FILTERS
|
|
818
715
|
/**
|
|
819
716
|
* Creates a filter to isolate items that rank towards the top for a given measure.
|
|
@@ -833,10 +730,7 @@ exports.measureBetweenNotEqual = measureBetweenNotEqual;
|
|
|
833
730
|
* @param config - Optional configuration for the filter
|
|
834
731
|
* @returns A filter instance
|
|
835
732
|
*/
|
|
836
|
-
|
|
837
|
-
return new filters_js_1.RankingFilter(attribute, measure, filters_js_1.RankingOperators.Top, count, config);
|
|
838
|
-
}
|
|
839
|
-
exports.topRanking = topRanking;
|
|
733
|
+
exports.topRanking = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, measure, count, config) => new filters_js_1.RankingFilter(attribute, measure, filters_js_1.RankingOperators.Top, count, config), 'topRanking');
|
|
840
734
|
/**
|
|
841
735
|
* Creates a filter to isolate items that rank towards the bottom for a given measure.
|
|
842
736
|
*
|
|
@@ -855,10 +749,7 @@ exports.topRanking = topRanking;
|
|
|
855
749
|
* @param config - Optional configuration for the filter
|
|
856
750
|
* @returns A filter instance
|
|
857
751
|
*/
|
|
858
|
-
|
|
859
|
-
return new filters_js_1.RankingFilter(attribute, measure, filters_js_1.RankingOperators.Bottom, count, config);
|
|
860
|
-
}
|
|
861
|
-
exports.bottomRanking = bottomRanking;
|
|
752
|
+
exports.bottomRanking = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, measure, count, config) => new filters_js_1.RankingFilter(attribute, measure, filters_js_1.RankingOperators.Bottom, count, config), 'bottomRanking');
|
|
862
753
|
const relate = (node) => {
|
|
863
754
|
if (Array.isArray(node)) {
|
|
864
755
|
const [first, ...rest] = node;
|
|
@@ -895,10 +786,7 @@ const relate = (node) => {
|
|
|
895
786
|
* @param config - Optional configuration for the filter
|
|
896
787
|
* @returns A filter instance
|
|
897
788
|
*/
|
|
898
|
-
|
|
899
|
-
return new filters_js_1.CascadingFilter(filters, config);
|
|
900
|
-
}
|
|
901
|
-
exports.cascading = cascading;
|
|
789
|
+
exports.cascading = (0, compose_code_utils_js_1.withComposeCodeForFilter)((filters, config) => new filters_js_1.CascadingFilter(filters, config), 'cascading');
|
|
902
790
|
/**
|
|
903
791
|
* Set of logic operators for filter relations construction
|
|
904
792
|
*
|
|
@@ -948,11 +836,11 @@ var logic;
|
|
|
948
836
|
* @returns Filter relations
|
|
949
837
|
* @beta
|
|
950
838
|
*/
|
|
951
|
-
logic.and = (left, right) => ({
|
|
839
|
+
logic.and = (0, compose_code_utils_js_1.withComposeCodeForFilterRelations)((left, right) => ({
|
|
952
840
|
operator: 'AND',
|
|
953
841
|
left: relate(left),
|
|
954
842
|
right: relate(right),
|
|
955
|
-
});
|
|
843
|
+
}), 'and');
|
|
956
844
|
/**
|
|
957
845
|
* Creates an 'OR' filter relations
|
|
958
846
|
*
|
|
@@ -970,11 +858,11 @@ var logic;
|
|
|
970
858
|
* @returns Filter relations
|
|
971
859
|
* @beta
|
|
972
860
|
*/
|
|
973
|
-
logic.or = (left, right) => ({
|
|
861
|
+
logic.or = (0, compose_code_utils_js_1.withComposeCodeForFilterRelations)((left, right) => ({
|
|
974
862
|
operator: 'OR',
|
|
975
863
|
left: relate(left),
|
|
976
864
|
right: relate(right),
|
|
977
|
-
});
|
|
865
|
+
}), 'or');
|
|
978
866
|
})(logic = exports.logic || (exports.logic = {}));
|
|
979
867
|
// CUSTOM FILTER
|
|
980
868
|
/**
|
|
@@ -986,7 +874,4 @@ var logic;
|
|
|
986
874
|
* @returns A filter instance
|
|
987
875
|
* @internal
|
|
988
876
|
*/
|
|
989
|
-
|
|
990
|
-
return new filters_js_1.CustomFilter(attribute, jaql, config);
|
|
991
|
-
}
|
|
992
|
-
exports.customFilter = customFilter;
|
|
877
|
+
exports.customFilter = (0, compose_code_utils_js_1.withComposeCodeForFilter)((attribute, jaql, config) => new filters_js_1.CustomFilter(attribute, jaql, config), 'customFilter');
|
|
@@ -104,11 +104,8 @@ function combineFiltersAndRelations(filters, relations) {
|
|
|
104
104
|
return filters.find((filter) => filter.config.guid === node.instanceid);
|
|
105
105
|
}
|
|
106
106
|
if (isRelationsRule(node)) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
right: traverse(node.right),
|
|
110
|
-
operator: node.operator,
|
|
111
|
-
};
|
|
107
|
+
const func = node.operator === 'AND' ? index_js_1.filterFactory.logic.and : index_js_1.filterFactory.logic.or;
|
|
108
|
+
return func(traverse(node.left), traverse(node.right));
|
|
112
109
|
}
|
|
113
110
|
throw new UnknownRelationsNodeError();
|
|
114
111
|
}
|