@sisense/sdk-data 1.11.0 → 1.13.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.
Files changed (99) hide show
  1. package/dist/cjs/dimensional-model/analytics/factory.d.ts +47 -0
  2. package/dist/cjs/dimensional-model/analytics/factory.js +153 -0
  3. package/dist/cjs/dimensional-model/analytics/factory.test.d.ts +1 -0
  4. package/dist/cjs/dimensional-model/analytics/factory.test.js +99 -0
  5. package/dist/cjs/dimensional-model/attributes.d.ts +139 -0
  6. package/dist/cjs/dimensional-model/attributes.js +342 -0
  7. package/dist/cjs/dimensional-model/attributes.test.d.ts +1 -0
  8. package/dist/cjs/dimensional-model/attributes.test.js +154 -0
  9. package/dist/cjs/dimensional-model/base.d.ts +43 -0
  10. package/dist/cjs/dimensional-model/base.js +58 -0
  11. package/dist/cjs/dimensional-model/base.test.d.ts +1 -0
  12. package/dist/cjs/dimensional-model/base.test.js +17 -0
  13. package/dist/cjs/dimensional-model/data-model.d.ts +13 -0
  14. package/dist/cjs/dimensional-model/data-model.js +37 -0
  15. package/dist/cjs/dimensional-model/dimensions.d.ts +167 -0
  16. package/dist/cjs/dimensional-model/dimensions.js +307 -0
  17. package/dist/cjs/dimensional-model/dimensions.test.d.ts +1 -0
  18. package/dist/cjs/dimensional-model/dimensions.test.js +54 -0
  19. package/dist/cjs/dimensional-model/factory.d.ts +17 -0
  20. package/dist/cjs/dimensional-model/factory.js +54 -0
  21. package/dist/cjs/dimensional-model/filters/factory.d.ts +797 -0
  22. package/dist/cjs/dimensional-model/filters/factory.js +962 -0
  23. package/dist/cjs/dimensional-model/filters/factory.test.d.ts +1 -0
  24. package/dist/cjs/dimensional-model/filters/factory.test.js +366 -0
  25. package/dist/cjs/dimensional-model/filters/filters.d.ts +344 -0
  26. package/dist/cjs/dimensional-model/filters/filters.js +663 -0
  27. package/dist/cjs/dimensional-model/filters/filters.test.d.ts +1 -0
  28. package/dist/cjs/dimensional-model/filters/filters.test.js +225 -0
  29. package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.d.ts +47 -0
  30. package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.js +111 -0
  31. package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.d.ts +21 -0
  32. package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +196 -0
  33. package/dist/cjs/dimensional-model/filters/utils/date-time-filter-util.d.ts +2 -0
  34. package/dist/cjs/dimensional-model/filters/utils/date-time-filter-util.js +12 -0
  35. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.d.ts +13 -0
  36. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.js +58 -0
  37. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.test.d.ts +1 -0
  38. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.test.js +32 -0
  39. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +82 -0
  40. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +215 -0
  41. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.test.d.ts +1 -0
  42. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.test.js +623 -0
  43. package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.d.ts +5 -0
  44. package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.js +174 -0
  45. package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.test.d.ts +1 -0
  46. package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.test.js +236 -0
  47. package/dist/cjs/dimensional-model/filters/utils/filter-types-util.d.ts +17 -0
  48. package/dist/cjs/dimensional-model/filters/utils/filter-types-util.js +79 -0
  49. package/dist/cjs/dimensional-model/filters/utils/types.d.ts +206 -0
  50. package/dist/cjs/dimensional-model/filters/utils/types.js +99 -0
  51. package/dist/cjs/dimensional-model/interfaces.d.ts +512 -0
  52. package/dist/cjs/dimensional-model/interfaces.js +31 -0
  53. package/dist/cjs/dimensional-model/measures/factory.d.ts +920 -0
  54. package/dist/cjs/dimensional-model/measures/factory.js +1188 -0
  55. package/dist/cjs/dimensional-model/measures/factory.test.d.ts +1 -0
  56. package/dist/cjs/dimensional-model/measures/factory.test.js +481 -0
  57. package/dist/cjs/dimensional-model/measures/measures.d.ts +217 -0
  58. package/dist/cjs/dimensional-model/measures/measures.js +416 -0
  59. package/dist/cjs/dimensional-model/measures/measures.test.d.ts +1 -0
  60. package/dist/cjs/dimensional-model/measures/measures.test.js +79 -0
  61. package/dist/cjs/dimensional-model/simple-column-types.d.ts +39 -0
  62. package/dist/cjs/dimensional-model/simple-column-types.js +134 -0
  63. package/dist/cjs/dimensional-model/simple-column-types.test.d.ts +1 -0
  64. package/dist/cjs/dimensional-model/simple-column-types.test.js +85 -0
  65. package/dist/cjs/dimensional-model/types.d.ts +256 -0
  66. package/dist/cjs/dimensional-model/types.js +298 -0
  67. package/dist/cjs/dimensional-model/types.test.d.ts +1 -0
  68. package/dist/cjs/dimensional-model/types.test.js +33 -0
  69. package/dist/cjs/index.d.ts +93 -0
  70. package/dist/cjs/index.js +123 -0
  71. package/dist/cjs/interfaces.d.ts +367 -0
  72. package/dist/cjs/interfaces.js +21 -0
  73. package/dist/cjs/translation/initialize-i18n.d.ts +2 -0
  74. package/dist/cjs/translation/initialize-i18n.js +14 -0
  75. package/dist/cjs/translation/resources/en.d.ts +28 -0
  76. package/dist/cjs/translation/resources/en.js +30 -0
  77. package/dist/cjs/translation/resources/index.d.ts +53 -0
  78. package/dist/cjs/translation/resources/index.js +10 -0
  79. package/dist/cjs/translation/resources/uk.d.ts +5 -0
  80. package/dist/cjs/translation/resources/uk.js +30 -0
  81. package/dist/cjs/translation/translatable-error.d.ts +5 -0
  82. package/dist/cjs/translation/translatable-error.js +15 -0
  83. package/dist/cjs/utils.d.ts +37 -0
  84. package/dist/cjs/utils.js +105 -0
  85. package/dist/cjs/utils.test.d.ts +1 -0
  86. package/dist/cjs/utils.test.js +158 -0
  87. package/dist/dimensional-model/analytics/factory.js +6 -4
  88. package/dist/dimensional-model/filters/factory.d.ts +81 -42
  89. package/dist/dimensional-model/filters/factory.js +125 -87
  90. package/dist/dimensional-model/filters/filters.d.ts +58 -13
  91. package/dist/dimensional-model/filters/filters.js +117 -27
  92. package/dist/dimensional-model/filters/utils/condition-filter-util.d.ts +4 -2
  93. package/dist/dimensional-model/filters/utils/condition-filter-util.js +30 -26
  94. package/dist/dimensional-model/filters/utils/filter-code-util.js +5 -1
  95. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +26 -11
  96. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +58 -27
  97. package/dist/dimensional-model/filters/utils/filter-types-util.js +3 -3
  98. package/dist/dimensional-model/filters/utils/types.d.ts +6 -0
  99. package/package.json +18 -9
@@ -1,5 +1,4 @@
1
- import { TextOperators, NumericOperators, DateOperators, LogicalOperators, RankingOperators, LogicalAttributeFilter, MembersFilter, ExcludeFilter, NumericFilter, MeasureFilter, RankingFilter, TextFilter, DateRangeFilter, RelativeDateFilter, } from './filters.js';
2
- import { createGenericFilter } from './utils/filter-from-jaql-util.js';
1
+ import { TextOperators, NumericOperators, DateOperators, LogicalOperators, RankingOperators, LogicalAttributeFilter, MembersFilter, ExcludeFilter, NumericFilter, MeasureFilter, RankingFilter, TextFilter, DateRangeFilter, RelativeDateFilter, CustomFilter, } from './filters.js';
3
2
  // LOGICAL FILTERS
4
3
  /**
5
4
  * Creates a filter representing the union of multiple filters on the same attribute. The resulting
@@ -17,10 +16,11 @@ import { createGenericFilter } from './utils/filter-from-jaql-util.js';
17
16
  * ])
18
17
  * ```
19
18
  * @param filters - Filters to union. The filters must all be on the same attribute.
19
+ * @param guid - Optional GUID for the filter
20
20
  * @returns A filter instance
21
21
  */
22
- export function union(filters) {
23
- return new LogicalAttributeFilter(filters, LogicalOperators.Union);
22
+ export function union(filters, guid) {
23
+ return new LogicalAttributeFilter(filters, LogicalOperators.Union, guid);
24
24
  }
25
25
  /**
26
26
  * Creates a filter representing the intersection of multiple filters on the same attribute. The resulting
@@ -38,10 +38,11 @@ export function union(filters) {
38
38
  * ])
39
39
  * ```
40
40
  * @param filters - Filters to intersect. The filters must all be on the same attribute.
41
+ * @param guid - Optional GUID for the filter
41
42
  * @returns A filter instance
42
43
  */
43
- export function intersection(filters) {
44
- return new LogicalAttributeFilter(filters, LogicalOperators.Intersection);
44
+ export function intersection(filters, guid) {
45
+ return new LogicalAttributeFilter(filters, LogicalOperators.Intersection, guid);
45
46
  }
46
47
  /**
47
48
  * Creates a filter that excludes items matching the given filter
@@ -65,11 +66,12 @@ export function intersection(filters) {
65
66
  * ```
66
67
  * @param filter - Filter to exclude
67
68
  * @param input - Input filter to exclude from, on the same attribute. If not provided, the filter excludes from all items.
69
+ * @param guid - Optional GUID for the filter
68
70
  * @returns A filter representing an exclusion of the given filter
69
71
  * from all attribute members or from the optional input filter
70
72
  */
71
- export function exclude(filter, input) {
72
- return new ExcludeFilter(filter, input);
73
+ export function exclude(filter, input, guid) {
74
+ return new ExcludeFilter(filter, input, guid);
73
75
  }
74
76
  // TEXT / NUMERIC FILTERS
75
77
  /**
@@ -88,10 +90,11 @@ export function exclude(filter, input) {
88
90
  * ```
89
91
  * @param attribute - Text attribute to filter on
90
92
  * @param value - Value to filter by
93
+ * @param guid - Optional GUID for the filter
91
94
  * @returns A filter instance
92
95
  */
93
- export function doesntContain(attribute, value) {
94
- return new TextFilter(attribute, TextOperators.DoesntContain, value);
96
+ export function doesntContain(attribute, value, guid) {
97
+ return new TextFilter(attribute, TextOperators.DoesntContain, value, guid);
95
98
  }
96
99
  /**
97
100
  * Creates a filter to isolate attribute values that do not end with a specified string.
@@ -109,10 +112,11 @@ export function doesntContain(attribute, value) {
109
112
  * ```
110
113
  * @param attribute - Text attribute to filter on
111
114
  * @param value - Value to filter by
115
+ * @param guid - Optional GUID for the filter
112
116
  * @returns A filter instance
113
117
  */
114
- export function doesntEndWith(attribute, value) {
115
- return new TextFilter(attribute, TextOperators.DoesntEndWith, value);
118
+ export function doesntEndWith(attribute, value, guid) {
119
+ return new TextFilter(attribute, TextOperators.DoesntEndWith, value, guid);
116
120
  }
117
121
  /**
118
122
  * Creates a filter to isolate attribute values that do not start with a specified string.
@@ -130,10 +134,11 @@ export function doesntEndWith(attribute, value) {
130
134
  * ```
131
135
  * @param attribute - Text attribute to filter on
132
136
  * @param value - Value to filter by
137
+ * @param guid - Optional GUID for the filter
133
138
  * @returns A filter instance
134
139
  */
135
- export function doesntStartWith(attribute, value) {
136
- return new TextFilter(attribute, TextOperators.DoesntStartWith, value);
140
+ export function doesntStartWith(attribute, value, guid) {
141
+ return new TextFilter(attribute, TextOperators.DoesntStartWith, value, guid);
137
142
  }
138
143
  /**
139
144
  * Creates a filter to isolate attribute values that contain a specified string.
@@ -151,10 +156,11 @@ export function doesntStartWith(attribute, value) {
151
156
  * ```
152
157
  * @param attribute - Text attribute to filter on
153
158
  * @param value - Value to filter by
159
+ * @param guid - Optional GUID for the filter
154
160
  * @returns A filter instance
155
161
  */
156
- export function contains(attribute, value) {
157
- return new TextFilter(attribute, TextOperators.Contains, value);
162
+ export function contains(attribute, value, guid) {
163
+ return new TextFilter(attribute, TextOperators.Contains, value, guid);
158
164
  }
159
165
  /**
160
166
  * Creates a filter to isolate attribute values that end with a specified string.
@@ -172,10 +178,11 @@ export function contains(attribute, value) {
172
178
  * ```
173
179
  * @param attribute - Text attribute to filter on
174
180
  * @param value - Value to filter by
181
+ * @param guid - Optional GUID for the filter
175
182
  * @returns A filter instance
176
183
  */
177
- export function endsWith(attribute, value) {
178
- return new TextFilter(attribute, TextOperators.EndsWith, value);
184
+ export function endsWith(attribute, value, guid) {
185
+ return new TextFilter(attribute, TextOperators.EndsWith, value, guid);
179
186
  }
180
187
  /**
181
188
  * Creates a filter to isolate attribute values that start with a specified string.
@@ -193,10 +200,11 @@ export function endsWith(attribute, value) {
193
200
  * ```
194
201
  * @param attribute - Text attribute to filter on
195
202
  * @param value - Value to filter by
203
+ * @param guid - Optional GUID for the filter
196
204
  * @returns A filter instance
197
205
  */
198
- export function startsWith(attribute, value) {
199
- return new TextFilter(attribute, TextOperators.StartsWith, value);
206
+ export function startsWith(attribute, value, guid) {
207
+ return new TextFilter(attribute, TextOperators.StartsWith, value, guid);
200
208
  }
201
209
  /**
202
210
  * Creates a filter to isolate attribute values that match a specified string pattern.
@@ -219,10 +227,11 @@ export function startsWith(attribute, value) {
219
227
  * ```
220
228
  * @param attribute - Text attribute to filter on
221
229
  * @param value - Value to filter by
230
+ * @param guid - Optional GUID for the filter
222
231
  * @returns A filter instance
223
232
  */
224
- export function like(attribute, value) {
225
- return new TextFilter(attribute, TextOperators.Like, value);
233
+ export function like(attribute, value, guid) {
234
+ return new TextFilter(attribute, TextOperators.Like, value, guid);
226
235
  }
227
236
  /**
228
237
  * Creates a filter to isolate attribute values that do not equal a specified string or number.
@@ -242,12 +251,12 @@ export function like(attribute, value) {
242
251
  * @param value - Value to filter by
243
252
  * @returns A filter instance
244
253
  */
245
- export function doesntEqual(attribute, value) {
254
+ export function doesntEqual(attribute, value, guid) {
246
255
  if (typeof value === 'string') {
247
- return new TextFilter(attribute, TextOperators.DoesntEqual, value);
256
+ return new TextFilter(attribute, TextOperators.DoesntEqual, value, guid);
248
257
  }
249
258
  else {
250
- return numeric(attribute, NumericOperators.DoesntEqual, value);
259
+ return numeric(attribute, NumericOperators.DoesntEqual, value, undefined, undefined, guid);
251
260
  }
252
261
  }
253
262
  /**
@@ -266,14 +275,15 @@ export function doesntEqual(attribute, value) {
266
275
  * ```
267
276
  * @param attribute - Text or numeric attribute to filter on
268
277
  * @param value - Value to filter by
278
+ * @param guid - Optional GUID for the filter
269
279
  * @returns A filter instance
270
280
  */
271
- export function equals(attribute, value) {
281
+ export function equals(attribute, value, guid) {
272
282
  if (typeof value === 'string') {
273
- return new TextFilter(attribute, TextOperators.Equals, value);
283
+ return new TextFilter(attribute, TextOperators.Equals, value, guid);
274
284
  }
275
285
  else {
276
- return numeric(attribute, NumericOperators.Equals, value);
286
+ return numeric(attribute, NumericOperators.Equals, value, undefined, undefined, guid);
277
287
  }
278
288
  }
279
289
  /**
@@ -286,10 +296,11 @@ export function equals(attribute, value) {
286
296
  * ```
287
297
  * @param attribute - Numeric attribute to filter on
288
298
  * @param value - Value to filter by
299
+ * @param guid - Optional GUID for the filter
289
300
  * @returns A filter instance
290
301
  */
291
- export function greaterThan(attribute, value) {
292
- return numeric(attribute, NumericOperators.FromNotEqual, value);
302
+ export function greaterThan(attribute, value, guid) {
303
+ return numeric(attribute, NumericOperators.FromNotEqual, value, undefined, undefined, guid);
293
304
  }
294
305
  /**
295
306
  * Creates a filter to isolate attribute values greater than or equal to a specified number.
@@ -301,10 +312,11 @@ export function greaterThan(attribute, value) {
301
312
  * ```
302
313
  * @param attribute - Numeric attribute to filter on
303
314
  * @param value - Value to filter by
315
+ * @param guid - Optional GUID for the filter
304
316
  * @returns A filter instance
305
317
  */
306
- export function greaterThanOrEqual(attribute, value) {
307
- return numeric(attribute, NumericOperators.From, value);
318
+ export function greaterThanOrEqual(attribute, value, guid) {
319
+ return numeric(attribute, NumericOperators.From, value, undefined, undefined, guid);
308
320
  }
309
321
  /**
310
322
  * Creates a filter to isolate attribute values strictly less than a specified number.
@@ -316,10 +328,11 @@ export function greaterThanOrEqual(attribute, value) {
316
328
  * ```
317
329
  * @param attribute - Numeric attribute to filter on
318
330
  * @param value - Value to filter by
331
+ * @param guid - Optional GUID for the filter
319
332
  * @returns A filter instance
320
333
  */
321
- export function lessThan(attribute, value) {
322
- return numeric(attribute, NumericOperators.ToNotEqual, value);
334
+ export function lessThan(attribute, value, guid) {
335
+ return numeric(attribute, NumericOperators.ToNotEqual, value, undefined, undefined, guid);
323
336
  }
324
337
  /**
325
338
  * Creates a filter to isolate attribute values less than or equal to a specified number.
@@ -331,10 +344,11 @@ export function lessThan(attribute, value) {
331
344
  * ```
332
345
  * @param attribute - Numeric attribute to filter on
333
346
  * @param value - Value to filter by
347
+ * @param guid - Optional GUID for the filter
334
348
  * @returns A filter instance
335
349
  */
336
- export function lessThanOrEqual(attribute, value) {
337
- return numeric(attribute, NumericOperators.To, value);
350
+ export function lessThanOrEqual(attribute, value, guid) {
351
+ return numeric(attribute, NumericOperators.To, value, undefined, undefined, guid);
338
352
  }
339
353
  /**
340
354
  * Creates a filter to isolate attribute values within or exactly matching two specified numerical boundaries.
@@ -347,10 +361,11 @@ export function lessThanOrEqual(attribute, value) {
347
361
  * @param attribute - Numeric attribute to filter on
348
362
  * @param valueA - Value to filter from
349
363
  * @param valueB - Value to filter to
364
+ * @param guid - Optional GUID for the filter
350
365
  * @returns A filter instance
351
366
  */
352
- export function between(attribute, valueA, valueB) {
353
- return numeric(attribute, NumericOperators.From, valueA, NumericOperators.To, valueB);
367
+ export function between(attribute, valueA, valueB, guid) {
368
+ return numeric(attribute, NumericOperators.From, valueA, NumericOperators.To, valueB, guid);
354
369
  }
355
370
  /**
356
371
  * Creates a filter that isolates attribute values strictly within two specified numerical boundaries.
@@ -363,10 +378,11 @@ export function between(attribute, valueA, valueB) {
363
378
  * @param attribute - Numeric attribute to filter on
364
379
  * @param valueA - Value to filter from
365
380
  * @param valueB - Value to filter to
381
+ * @param guid - Optional GUID for the filter
366
382
  * @returns A filter instance
367
383
  */
368
- export function betweenNotEqual(attribute, valueA, valueB) {
369
- return numeric(attribute, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB);
384
+ export function betweenNotEqual(attribute, valueA, valueB, guid) {
385
+ return numeric(attribute, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB, guid);
370
386
  }
371
387
  /**
372
388
  * Creates a custom numeric filter that filters for given attribute values.
@@ -388,10 +404,11 @@ export function betweenNotEqual(attribute, valueA, valueB) {
388
404
  * @param valueA - First value
389
405
  * @param operatorB - Second operator
390
406
  * @param valueB - Second value
407
+ * @param guid - Optional GUID for the filter
391
408
  * @returns A custom numeric filter of the given attribute
392
409
  */
393
- export function numeric(attribute, operatorA, valueA, operatorB, valueB) {
394
- return new NumericFilter(attribute, operatorA, valueA, operatorB, valueB);
410
+ export function numeric(attribute, operatorA, valueA, operatorB, valueB, guid) {
411
+ return new NumericFilter(attribute, operatorA, valueA, operatorB, valueB, guid);
395
412
  }
396
413
  /**
397
414
  * Creates a filter to isolate attribute values that match any of the specified strings.
@@ -406,10 +423,12 @@ export function numeric(attribute, operatorA, valueA, operatorB, valueB) {
406
423
  * ```
407
424
  * @param attribute - Attribute to filter on
408
425
  * @param members - Array of member values to filter by
426
+ * @param _deactivatedMembers - [internal] Array of deactivated member values
427
+ * @param guid - Optional GUID for the filter
409
428
  * @returns A filter instance
410
429
  */
411
- export function members(attribute, members) {
412
- return new MembersFilter(attribute, members);
430
+ export function members(attribute, members, _deactivatedMembers, guid) {
431
+ return new MembersFilter(attribute, members, _deactivatedMembers, guid);
413
432
  }
414
433
  // DATE FILTERS
415
434
  /**
@@ -424,8 +443,8 @@ export function members(attribute, members) {
424
443
  * @param from - Date or string representing the value to filter from
425
444
  * @returns A filter instance
426
445
  */
427
- export function dateFrom(level, from) {
428
- return dateRange(level, from, undefined);
446
+ export function dateFrom(level, from, guid) {
447
+ return dateRange(level, from, undefined, guid);
429
448
  }
430
449
  /**
431
450
  * Creates a filter to isolate items up until and including the given date and level.
@@ -437,10 +456,11 @@ export function dateFrom(level, from) {
437
456
  * ```
438
457
  * @param level - Date {@link LevelAttribute} to filter on
439
458
  * @param to - Date or string representing the last member to filter to
459
+ * @param guid - Optional GUID for the filter
440
460
  * @returns A filter instance
441
461
  */
442
- export function dateTo(level, to) {
443
- return dateRange(level, undefined, to);
462
+ export function dateTo(level, to, guid) {
463
+ return dateRange(level, undefined, to, guid);
444
464
  }
445
465
  /**
446
466
  * Creates a filter to isolate items between and including the given dates and level.
@@ -453,10 +473,11 @@ export function dateTo(level, to) {
453
473
  * @param level - Date {@link LevelAttribute} to filter on
454
474
  * @param from - Date or string representing the start member to filter from
455
475
  * @param to - Date or string representing the end member to filter to
476
+ * @param guid - Optional GUID for the filter
456
477
  * @returns A filter instance
457
478
  */
458
- export function dateRange(level, from, to) {
459
- return new DateRangeFilter(level, from, to);
479
+ export function dateRange(level, from, to, guid) {
480
+ return new DateRangeFilter(level, from, to, guid);
460
481
  }
461
482
  /**
462
483
  * Creates a filter to isolate items with a date dimension value within a specified range after a
@@ -487,10 +508,11 @@ export function dateRange(level, from, to) {
487
508
  * Positive numbers skip forwards and negative numbers skip backwards (e.g. `-6` is 6 months backwards when `level` is a months level attribute)
488
509
  * @param count - Number of levels to include in the filter (e.g. `6` is 6 months when `level` is a months level attribute)
489
510
  * @param anchor - Date to filter from, defaults to the current day
511
+ * @param guid - Optional GUID for the filter
490
512
  * @returns A filter instance
491
513
  */
492
- export function dateRelative(level, offset, count, anchor) {
493
- return new RelativeDateFilter(level, offset, count, undefined, anchor);
514
+ export function dateRelative(level, offset, count, anchor, guid) {
515
+ return new RelativeDateFilter(level, offset, count, undefined, anchor, guid);
494
516
  }
495
517
  /**
496
518
  * Creates a filter to isolate items with a date dimension value within a specified range after a
@@ -505,10 +527,11 @@ export function dateRelative(level, offset, count, anchor) {
505
527
  * @param offset - Number of levels to skip from the given `anchor` or the default of the current day (e.g. `6` is 6 months when `level` is a months level attribute)
506
528
  * @param count - Number of levels to include in the filter (e.g. `6` is 6 months when `level` is a months level attribute)
507
529
  * @param anchor - Date to filter from, defaults to the current day
530
+ * @param guid - Optional GUID for the filter
508
531
  * @returns A filter instance
509
532
  */
510
- export function dateRelativeFrom(level, offset, count, anchor) {
511
- return new RelativeDateFilter(level, offset, count, DateOperators.Next, anchor);
533
+ export function dateRelativeFrom(level, offset, count, anchor, guid) {
534
+ return new RelativeDateFilter(level, offset, count, DateOperators.Next, anchor, guid);
512
535
  }
513
536
  /**
514
537
  * Creates a filter to isolate items with a date dimension value within a specified range before a
@@ -523,10 +546,11 @@ export function dateRelativeFrom(level, offset, count, anchor) {
523
546
  * @param offset - Number of levels to skip from the given `anchor` or the default of the current day (e.g. `6` is 6 months when `level` is a months level attribute)
524
547
  * @param count - Number of levels to include in the filter (e.g. `6` is 6 months when `level` is a months level attribute)
525
548
  * @param anchor - Date to filter to, defaults to the current day
549
+ * @param guid - Optional GUID for the filter
526
550
  * @returns A filter instance
527
551
  */
528
- export function dateRelativeTo(level, offset, count, anchor) {
529
- return new RelativeDateFilter(level, offset, count, DateOperators.Last, anchor);
552
+ export function dateRelativeTo(level, offset, count, anchor, guid) {
553
+ return new RelativeDateFilter(level, offset, count, DateOperators.Last, anchor, guid);
530
554
  }
531
555
  /**
532
556
  * Creates a filter to isolate items with a date dimension value in the current calendar year.
@@ -537,10 +561,11 @@ export function dateRelativeTo(level, offset, count, anchor) {
537
561
  * filterFactory.thisYear(DM.Commerce.Date)
538
562
  * ```
539
563
  * @param dimension - Date dimension to filter
564
+ * @param guid - Optional GUID for the filter
540
565
  * @returns A filter instance
541
566
  */
542
- export function thisYear(dimension) {
543
- return dateRelativeTo(dimension.Years, 0, 1);
567
+ export function thisYear(dimension, guid) {
568
+ return dateRelativeTo(dimension.Years, 0, 1, undefined, guid);
544
569
  }
545
570
  /**
546
571
  * Creates a filter to isolate items with a date dimension value in the current calendar month.
@@ -551,10 +576,11 @@ export function thisYear(dimension) {
551
576
  * filterFactory.thisMonth(DM.Commerce.Date)
552
577
  * ```
553
578
  * @param dimension - Date dimension to filter
579
+ * @param guid - Optional GUID for the filter
554
580
  * @returns A filter instance
555
581
  */
556
- export function thisMonth(dimension) {
557
- return dateRelativeTo(dimension.Months, 0, 1);
582
+ export function thisMonth(dimension, guid) {
583
+ return dateRelativeTo(dimension.Months, 0, 1, undefined, guid);
558
584
  }
559
585
  /**
560
586
  * Creates a filter to isolate items with a date dimension value in the current quarter.
@@ -565,10 +591,11 @@ export function thisMonth(dimension) {
565
591
  * filterFactory.thisQuarter(DM.Commerce.Date)
566
592
  * ```
567
593
  * @param dimension - Date dimension to filter
594
+ * @param guid - Optional GUID for the filter
568
595
  * @returns A filter instance
569
596
  */
570
- export function thisQuarter(dimension) {
571
- return dateRelativeTo(dimension.Quarters, 0, 1);
597
+ export function thisQuarter(dimension, guid) {
598
+ return dateRelativeTo(dimension.Quarters, 0, 1, undefined, guid);
572
599
  }
573
600
  /**
574
601
  * Creates a filter to isolate items with a date dimension value of the current date.
@@ -579,10 +606,11 @@ export function thisQuarter(dimension) {
579
606
  * filterFactory.today(DM.Commerce.Date)
580
607
  * ```
581
608
  * @param dimension - date dimension to filter
609
+ * @param guid - Optional GUID for the filter
582
610
  * @returns A filter instance
583
611
  */
584
- export function today(dimension) {
585
- return dateRelativeTo(dimension.Days, 0, 1);
612
+ export function today(dimension, guid) {
613
+ return dateRelativeTo(dimension.Days, 0, 1, undefined, guid);
586
614
  }
587
615
  // MEASURE-RELATED FILTERS
588
616
  /**
@@ -594,11 +622,12 @@ export function today(dimension) {
594
622
  * @param valueA - First value
595
623
  * @param operatorB - Operator to apply on `valueB` ({@link NumericOperators})
596
624
  * @param valueB - Second value
625
+ * @param guid - Optional GUID for the filter
597
626
  * @returns A filter representing the provided logic
598
627
  * @internal
599
628
  */
600
- export function measureBase(attribute, measure, operatorA, valueA, operatorB, valueB) {
601
- return new MeasureFilter(attribute, measure, operatorA, valueA, operatorB, valueB);
629
+ export function measureBase(attribute, measure, operatorA, valueA, operatorB, valueB, guid) {
630
+ return new MeasureFilter(attribute, measure, operatorA, valueA, operatorB, valueB, guid);
602
631
  }
603
632
  /**
604
633
  * Creates a filter to isolate a measure value equal to a given number.
@@ -613,10 +642,11 @@ export function measureBase(attribute, measure, operatorA, valueA, operatorB, va
613
642
  * ```
614
643
  * @param measure - Measure to filter by
615
644
  * @param value - Value
645
+ * @param guid - Optional GUID for the filter
616
646
  * @returns A filter instance
617
647
  */
618
- export function measureEquals(measure, value) {
619
- return measureBase(measure.attribute, measure, NumericOperators.Equals, value);
648
+ export function measureEquals(measure, value, guid) {
649
+ return measureBase(measure.attribute, measure, NumericOperators.Equals, value, undefined, undefined, guid);
620
650
  }
621
651
  /**
622
652
  * Creates a filter to isolate a measure value greater than to a given number.
@@ -632,10 +662,11 @@ export function measureEquals(measure, value) {
632
662
  * ```
633
663
  * @param measure - Measure to filter by
634
664
  * @param value - Min value
665
+ * @param guid - Optional GUID for the filter
635
666
  * @returns A filter instance
636
667
  */
637
- export function measureGreaterThan(measure, value) {
638
- return measureBase(measure.attribute, measure, NumericOperators.FromNotEqual, value);
668
+ export function measureGreaterThan(measure, value, guid) {
669
+ return measureBase(measure.attribute, measure, NumericOperators.FromNotEqual, value, undefined, undefined, guid);
639
670
  }
640
671
  /**
641
672
  * Creates a filter to isolate a measure value greater than or equal to a given number.
@@ -651,10 +682,11 @@ export function measureGreaterThan(measure, value) {
651
682
  * ```
652
683
  * @param measure - Measure to filter by
653
684
  * @param value - Min value
685
+ * @param guid - Optional GUID for the filter
654
686
  * @returns A filter instance
655
687
  */
656
- export function measureGreaterThanOrEqual(measure, value) {
657
- return measureBase(measure.attribute, measure, NumericOperators.From, value);
688
+ export function measureGreaterThanOrEqual(measure, value, guid) {
689
+ return measureBase(measure.attribute, measure, NumericOperators.From, value, undefined, undefined, guid);
658
690
  }
659
691
  /**
660
692
  * Creates a filter to isolate a measure value less than or equal to a given number.
@@ -670,10 +702,11 @@ export function measureGreaterThanOrEqual(measure, value) {
670
702
  * ```
671
703
  * @param measure - Measure to filter by
672
704
  * @param value - Max value
705
+ * @param guid - Optional GUID for the filter
673
706
  * @returns A filter instance
674
707
  */
675
- export function measureLessThanOrEqual(measure, value) {
676
- return measureBase(measure.attribute, measure, NumericOperators.To, value);
708
+ export function measureLessThanOrEqual(measure, value, guid) {
709
+ return measureBase(measure.attribute, measure, NumericOperators.To, value, undefined, undefined, guid);
677
710
  }
678
711
  /**
679
712
  * Creates a filter to isolate a measure value less than a given number.
@@ -688,10 +721,11 @@ export function measureLessThanOrEqual(measure, value) {
688
721
  * ```
689
722
  * @param measure - Measure to filter by
690
723
  * @param value - Value
724
+ * @param guid - Optional GUID for the filter
691
725
  * @returns A filter instance
692
726
  */
693
- export function measureLessThan(measure, value) {
694
- return measureBase(measure.attribute, measure, NumericOperators.ToNotEqual, value);
727
+ export function measureLessThan(measure, value, guid) {
728
+ return measureBase(measure.attribute, measure, NumericOperators.ToNotEqual, value, undefined, undefined, guid);
695
729
  }
696
730
  /**
697
731
  * Creates a filter to isolate a measure value between or equal to two given numbers.
@@ -709,10 +743,11 @@ export function measureLessThan(measure, value) {
709
743
  * @param measure - Measure to filter by
710
744
  * @param valueA - Min value
711
745
  * @param valueB - Max value
746
+ * @param guid - Optional GUID for the filter
712
747
  * @returns A filter instance
713
748
  */
714
- export function measureBetween(measure, valueA, valueB) {
715
- return measureBase(measure.attribute, measure, NumericOperators.From, valueA, NumericOperators.To, valueB);
749
+ export function measureBetween(measure, valueA, valueB, guid) {
750
+ return measureBase(measure.attribute, measure, NumericOperators.From, valueA, NumericOperators.To, valueB, guid);
716
751
  }
717
752
  /**
718
753
  * Creates a filter to isolate a measure value between but not equal to two given numbers.
@@ -730,10 +765,11 @@ export function measureBetween(measure, valueA, valueB) {
730
765
  * @param measure - Measure to filter by
731
766
  * @param valueA - Min value
732
767
  * @param valueB - Max value
768
+ * @param guid - Optional GUID for the filter
733
769
  * @returns A filter instance
734
770
  */
735
- export function measureBetweenNotEqual(measure, valueA, valueB) {
736
- return measureBase(measure.attribute, measure, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB);
771
+ export function measureBetweenNotEqual(measure, valueA, valueB, guid) {
772
+ return measureBase(measure.attribute, measure, NumericOperators.FromNotEqual, valueA, NumericOperators.ToNotEqual, valueB, guid);
737
773
  }
738
774
  // RANKING FILTERS
739
775
  /**
@@ -751,10 +787,11 @@ export function measureBetweenNotEqual(measure, valueA, valueB) {
751
787
  * @param attribute - Attribute to filter
752
788
  * @param measure - Measure to filter by
753
789
  * @param count - Number of members to return
790
+ * @param guid - Optional GUID for the filter
754
791
  * @returns A filter instance
755
792
  */
756
- export function topRanking(attribute, measure, count) {
757
- return new RankingFilter(attribute, measure, RankingOperators.Top, count);
793
+ export function topRanking(attribute, measure, count, guid) {
794
+ return new RankingFilter(attribute, measure, RankingOperators.Top, count, guid);
758
795
  }
759
796
  /**
760
797
  * Creates a filter to isolate items that rank towards the bottom for a given measure.
@@ -771,10 +808,11 @@ export function topRanking(attribute, measure, count) {
771
808
  * @param attribute - Attribute to filter
772
809
  * @param measure - Measure to filter by
773
810
  * @param count - Number of members to return
811
+ * @param guid - Optional GUID for the filter
774
812
  * @returns A filter instance
775
813
  */
776
- export function bottomRanking(attribute, measure, count) {
777
- return new RankingFilter(attribute, measure, RankingOperators.Bottom, count);
814
+ export function bottomRanking(attribute, measure, count, guid) {
815
+ return new RankingFilter(attribute, measure, RankingOperators.Bottom, count, guid);
778
816
  }
779
817
  const relate = (node) => {
780
818
  if (Array.isArray(node)) {
@@ -871,10 +909,10 @@ export var logic;
871
909
  * Creates a filter from JAQL
872
910
  *
873
911
  * @param jaql - Filter Jaql
874
- * @param instanceid - Filter instance id
912
+ * @param guid - Optional GUID for the filter
875
913
  * @returns A filter instance
876
914
  * @internal
877
915
  */
878
- export function customFilter(jaql, instanceid) {
879
- return createGenericFilter(jaql, instanceid);
916
+ export function customFilter(attribute, jaql, guid) {
917
+ return new CustomFilter(attribute, jaql, guid);
880
918
  }