@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
@@ -0,0 +1,206 @@
1
+ declare type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
2
+ [K in Keys]-?: Required<Pick<T, K>> & Partial<Record<Exclude<Keys, K>, undefined>>;
3
+ }[Keys];
4
+ export declare type JaqlContext = Record<string, Partial<FilterJaqlInternal>>;
5
+ export declare type Id = string;
6
+ export declare type Datasource = {
7
+ address: Id;
8
+ database: string;
9
+ id: string;
10
+ title: string;
11
+ live?: boolean;
12
+ fullname: string;
13
+ lastBuildTime?: string;
14
+ revisionId?: string;
15
+ };
16
+ export declare enum GeneralFilterType {
17
+ INCLUDE_ALL = "INCLUDE_ALL",
18
+ ADVANCED = "ADVANCED",
19
+ INVALID = "INVALID",
20
+ CONDITION = "CONDITION",
21
+ SPECIFIC_ITEMS = "SPECIFIC_ITEMS"
22
+ }
23
+ export declare enum DateTimeFilterType {
24
+ PERIOD = "PERIOD",
25
+ DATE_RANGE = "DATE_RANGE"
26
+ }
27
+ export declare enum NumericFilterType {
28
+ NUMERIC_RANGE = "NUMERIC_RANGE"
29
+ }
30
+ export declare type FilterType = GeneralFilterType | DateTimeFilterType | NumericFilterType;
31
+ export interface BaseFilterJaql {
32
+ filterType?: FilterType;
33
+ custom?: boolean;
34
+ isAdvanced?: boolean;
35
+ rankingMessage?: string;
36
+ isBetween?: boolean;
37
+ isEmpty?: boolean;
38
+ }
39
+ export interface IncludeAllFilterJaql extends BaseFilterJaql {
40
+ all: boolean;
41
+ }
42
+ export declare type PeriodFilterDetails = {
43
+ count: number;
44
+ offset: number;
45
+ anchor?: string;
46
+ };
47
+ export interface PeriodFilterJaqlOptions extends BaseFilterJaql {
48
+ last: PeriodFilterDetails;
49
+ next: PeriodFilterDetails;
50
+ multiSelection?: boolean;
51
+ isNotCurrentPeriod?: boolean;
52
+ }
53
+ export declare type PeriodFilterJaql = RequireOnlyOne<PeriodFilterJaqlOptions, 'last' | 'next'>;
54
+ export interface RangeFilterJaql extends BaseFilterJaql {
55
+ from?: string | number;
56
+ to?: string | number;
57
+ multiSelection?: boolean;
58
+ }
59
+ export declare type RankingFilterJaql = {
60
+ agg: string;
61
+ column: string;
62
+ datatype: string;
63
+ dim: string;
64
+ level?: string;
65
+ merged?: boolean;
66
+ table: string;
67
+ };
68
+ export declare type FilterMultiSelectJaql = {
69
+ explicit?: boolean;
70
+ multiSelection: boolean;
71
+ members: string[];
72
+ isCondition?: boolean;
73
+ filter?: {
74
+ turnedOff?: boolean;
75
+ exclude?: {
76
+ members?: string[];
77
+ };
78
+ };
79
+ };
80
+ export declare type FilterMultipleConditionJaql = {
81
+ or: ConditionFilterJaql[];
82
+ and: ConditionFilterJaql[];
83
+ };
84
+ export declare type ConditionFilterJaqlOptions = BaseFilterJaql & {
85
+ top: number;
86
+ bottom: number;
87
+ exclude: {
88
+ members?: string[];
89
+ from?: number;
90
+ to?: number;
91
+ };
92
+ startsWith: string;
93
+ doesntStartWith: string;
94
+ endsWith: string;
95
+ doesntEndWith: string;
96
+ doesntContain: string;
97
+ equals: number | string;
98
+ doesntEqual: number | string;
99
+ to: number;
100
+ toNotEqual: number;
101
+ from: number;
102
+ fromNotEqual: number;
103
+ contains: string;
104
+ by?: RankingFilterJaql;
105
+ rankingMessage?: string;
106
+ } & Partial<FilterMultiSelectJaql> & Partial<PeriodFilterJaql> & Partial<RangeFilterJaql> & Partial<FilterMultipleConditionJaql>;
107
+ export declare type ConditionFilterJaql = RequireOnlyOne<ConditionFilterJaqlOptions, 'top' | 'bottom' | 'exclude' | 'last' | 'next' | 'contains' | 'equals' | 'doesntEqual' | 'to' | 'toNotEqual' | 'from' | 'fromNotEqual' | 'startsWith' | 'doesntStartWith' | 'endsWith' | 'doesntEndWith' | 'doesntContain' | 'or' | 'and'>;
108
+ export declare type InvalidTypeFilterJaql = BaseFilterJaql;
109
+ export declare type SpecificItemsFilterJaql = BaseFilterJaql & FilterMultiSelectJaql;
110
+ export declare type AnyTypeFilterJaql = IncludeAllFilterJaql | PeriodFilterJaql | RangeFilterJaql | ConditionFilterJaql | InvalidTypeFilterJaql | SpecificItemsFilterJaql;
111
+ export declare enum DatetimeLevel {
112
+ YEARS = "years",
113
+ QUARTERS = "quarters",
114
+ MONTHS = "months",
115
+ WEEKS = "weeks",
116
+ DAYS = "days",
117
+ HOURS = "hours",
118
+ MINUTES = "minutes"
119
+ }
120
+ export declare type FilterJaqlInternal = {
121
+ title: string;
122
+ column: string;
123
+ datasource?: Datasource;
124
+ datatype: string;
125
+ dim: string;
126
+ dimension?: string;
127
+ fiscal?: string;
128
+ firstday?: string;
129
+ merged?: boolean;
130
+ table?: string;
131
+ filter?: AnyTypeFilterJaql;
132
+ level?: DatetimeLevel;
133
+ locale?: string;
134
+ bucket?: string;
135
+ collapsed?: boolean;
136
+ isDashboardFilter?: boolean;
137
+ formula?: string;
138
+ context?: JaqlContext;
139
+ agg?: string;
140
+ };
141
+ export declare enum FilterModalType {
142
+ DATE_TIME = "datetime",
143
+ NUMERIC = "numeric",
144
+ TEXT = "text"
145
+ }
146
+ export declare type BackgroundFilterExtraProps = {
147
+ level?: DatetimeLevel;
148
+ turnedOff?: boolean;
149
+ };
150
+ export declare type BackgroundFilter = {
151
+ filter?: AnyTypeFilterJaql & BackgroundFilterExtraProps;
152
+ };
153
+ export declare type FilterJaqlWrapperWithType = {
154
+ filter: AnyTypeFilterJaql & BackgroundFilter;
155
+ level?: DatetimeLevel;
156
+ agg?: string;
157
+ };
158
+ export declare const nonSupportedMinutesBuckets: string[];
159
+ export declare const FILTER_TYPES: {
160
+ NUMERIC_RANGE: NumericFilterType.NUMERIC_RANGE;
161
+ PERIOD: DateTimeFilterType.PERIOD;
162
+ DATE_RANGE: DateTimeFilterType.DATE_RANGE;
163
+ INCLUDE_ALL: GeneralFilterType.INCLUDE_ALL;
164
+ ADVANCED: GeneralFilterType.ADVANCED;
165
+ INVALID: GeneralFilterType.INVALID;
166
+ CONDITION: GeneralFilterType.CONDITION;
167
+ SPECIFIC_ITEMS: GeneralFilterType.SPECIFIC_ITEMS;
168
+ };
169
+ export declare type FilterJaqlByTypeMap = {
170
+ [FILTER_TYPES.INCLUDE_ALL]: IncludeAllFilterJaql;
171
+ [FILTER_TYPES.PERIOD]: PeriodFilterJaql;
172
+ [FILTER_TYPES.DATE_RANGE]: RangeFilterJaql;
173
+ [FILTER_TYPES.NUMERIC_RANGE]: RangeFilterJaql;
174
+ [FILTER_TYPES.CONDITION]: ConditionFilterJaql;
175
+ [FILTER_TYPES.SPECIFIC_ITEMS]: SpecificItemsFilterJaql;
176
+ };
177
+ export declare const DEFAULT_FILTER_JAQL_BY_TYPE_MAP: FilterJaqlByTypeMap;
178
+ export declare const DEFAULT_FILTER_JAQL_WRAPPER: FilterJaqlWrapperWithType;
179
+ export declare enum ConditionFilterType {
180
+ IS = "members",
181
+ IS_NOT = "exclude",
182
+ IS_WITHIN = "isWithin",
183
+ TOP = "top",
184
+ BOTTOM = "bottom",
185
+ AFTER = "after",
186
+ BEFORE = "before",
187
+ STARTS_WITH = "startsWith",
188
+ DOESNT_START_WITH = "doesntStartWith",
189
+ ENDS_WITH = "endsWith",
190
+ DOESNT_END_WITH = "doesntEndWith",
191
+ CONTAINS = "contains",
192
+ DOESNT_CONTAIN = "doesntContain",
193
+ EQUALS = "equals",
194
+ DOESNT_EQUAL = "doesntEqual",
195
+ IS_EMPTY = "isEmpty",
196
+ IS_NOT_EMPTY = "isNotEmpty",
197
+ GREATER_THAN = "fromNotEqual",
198
+ GREATER_THAN_OR_EQUAL = "from",
199
+ LESS_THAN = "toNotEqual",
200
+ LESS_THAN_OR_EQUAL = "to",
201
+ BETWEEN = "between",
202
+ IS_NOT_BETWEEN = "isNotBetween",
203
+ MULTIPLE_CONDITION = "multipleCondition",
204
+ NONE = "none"
205
+ }
206
+ export {};
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConditionFilterType = exports.DEFAULT_FILTER_JAQL_WRAPPER = exports.DEFAULT_FILTER_JAQL_BY_TYPE_MAP = exports.FILTER_TYPES = exports.nonSupportedMinutesBuckets = exports.FilterModalType = exports.DatetimeLevel = exports.NumericFilterType = exports.DateTimeFilterType = exports.GeneralFilterType = void 0;
4
+ var GeneralFilterType;
5
+ (function (GeneralFilterType) {
6
+ GeneralFilterType["INCLUDE_ALL"] = "INCLUDE_ALL";
7
+ GeneralFilterType["ADVANCED"] = "ADVANCED";
8
+ GeneralFilterType["INVALID"] = "INVALID";
9
+ GeneralFilterType["CONDITION"] = "CONDITION";
10
+ GeneralFilterType["SPECIFIC_ITEMS"] = "SPECIFIC_ITEMS";
11
+ })(GeneralFilterType = exports.GeneralFilterType || (exports.GeneralFilterType = {}));
12
+ var DateTimeFilterType;
13
+ (function (DateTimeFilterType) {
14
+ DateTimeFilterType["PERIOD"] = "PERIOD";
15
+ DateTimeFilterType["DATE_RANGE"] = "DATE_RANGE";
16
+ })(DateTimeFilterType = exports.DateTimeFilterType || (exports.DateTimeFilterType = {}));
17
+ var NumericFilterType;
18
+ (function (NumericFilterType) {
19
+ NumericFilterType["NUMERIC_RANGE"] = "NUMERIC_RANGE";
20
+ })(NumericFilterType = exports.NumericFilterType || (exports.NumericFilterType = {}));
21
+ var DatetimeLevel;
22
+ (function (DatetimeLevel) {
23
+ DatetimeLevel["YEARS"] = "years";
24
+ DatetimeLevel["QUARTERS"] = "quarters";
25
+ DatetimeLevel["MONTHS"] = "months";
26
+ DatetimeLevel["WEEKS"] = "weeks";
27
+ DatetimeLevel["DAYS"] = "days";
28
+ DatetimeLevel["HOURS"] = "hours";
29
+ DatetimeLevel["MINUTES"] = "minutes";
30
+ })(DatetimeLevel = exports.DatetimeLevel || (exports.DatetimeLevel = {}));
31
+ var FilterModalType;
32
+ (function (FilterModalType) {
33
+ FilterModalType["DATE_TIME"] = "datetime";
34
+ FilterModalType["NUMERIC"] = "numeric";
35
+ FilterModalType["TEXT"] = "text";
36
+ })(FilterModalType = exports.FilterModalType || (exports.FilterModalType = {}));
37
+ exports.nonSupportedMinutesBuckets = ['1', '30'];
38
+ exports.FILTER_TYPES = Object.assign(Object.assign(Object.assign({}, GeneralFilterType), DateTimeFilterType), NumericFilterType);
39
+ exports.DEFAULT_FILTER_JAQL_BY_TYPE_MAP = {
40
+ [exports.FILTER_TYPES.INCLUDE_ALL]: {
41
+ all: true,
42
+ filterType: exports.FILTER_TYPES.INCLUDE_ALL,
43
+ },
44
+ [exports.FILTER_TYPES.PERIOD]: {
45
+ last: { count: 1, offset: 1 },
46
+ isNotCurrentPeriod: true,
47
+ filterType: exports.FILTER_TYPES.PERIOD,
48
+ },
49
+ [exports.FILTER_TYPES.DATE_RANGE]: {
50
+ filterType: exports.FILTER_TYPES.DATE_RANGE,
51
+ },
52
+ [exports.FILTER_TYPES.NUMERIC_RANGE]: {
53
+ filterType: exports.FILTER_TYPES.NUMERIC_RANGE,
54
+ },
55
+ [exports.FILTER_TYPES.CONDITION]: {
56
+ explicit: false,
57
+ multiSelection: true,
58
+ exclude: { members: [] },
59
+ filterType: exports.FILTER_TYPES.CONDITION,
60
+ },
61
+ [exports.FILTER_TYPES.SPECIFIC_ITEMS]: {
62
+ explicit: true,
63
+ multiSelection: true,
64
+ members: [],
65
+ filterType: exports.FILTER_TYPES.SPECIFIC_ITEMS,
66
+ },
67
+ };
68
+ exports.DEFAULT_FILTER_JAQL_WRAPPER = {
69
+ filter: exports.DEFAULT_FILTER_JAQL_BY_TYPE_MAP.INCLUDE_ALL,
70
+ level: DatetimeLevel.YEARS,
71
+ };
72
+ var ConditionFilterType;
73
+ (function (ConditionFilterType) {
74
+ ConditionFilterType["IS"] = "members";
75
+ ConditionFilterType["IS_NOT"] = "exclude";
76
+ ConditionFilterType["IS_WITHIN"] = "isWithin";
77
+ ConditionFilterType["TOP"] = "top";
78
+ ConditionFilterType["BOTTOM"] = "bottom";
79
+ ConditionFilterType["AFTER"] = "after";
80
+ ConditionFilterType["BEFORE"] = "before";
81
+ ConditionFilterType["STARTS_WITH"] = "startsWith";
82
+ ConditionFilterType["DOESNT_START_WITH"] = "doesntStartWith";
83
+ ConditionFilterType["ENDS_WITH"] = "endsWith";
84
+ ConditionFilterType["DOESNT_END_WITH"] = "doesntEndWith";
85
+ ConditionFilterType["CONTAINS"] = "contains";
86
+ ConditionFilterType["DOESNT_CONTAIN"] = "doesntContain";
87
+ ConditionFilterType["EQUALS"] = "equals";
88
+ ConditionFilterType["DOESNT_EQUAL"] = "doesntEqual";
89
+ ConditionFilterType["IS_EMPTY"] = "isEmpty";
90
+ ConditionFilterType["IS_NOT_EMPTY"] = "isNotEmpty";
91
+ ConditionFilterType["GREATER_THAN"] = "fromNotEqual";
92
+ ConditionFilterType["GREATER_THAN_OR_EQUAL"] = "from";
93
+ ConditionFilterType["LESS_THAN"] = "toNotEqual";
94
+ ConditionFilterType["LESS_THAN_OR_EQUAL"] = "to";
95
+ ConditionFilterType["BETWEEN"] = "between";
96
+ ConditionFilterType["IS_NOT_BETWEEN"] = "isNotBetween";
97
+ ConditionFilterType["MULTIPLE_CONDITION"] = "multipleCondition";
98
+ ConditionFilterType["NONE"] = "none";
99
+ })(ConditionFilterType = exports.ConditionFilterType || (exports.ConditionFilterType = {}));