@sisense/sdk-data 1.11.0 → 1.12.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 (96) hide show
  1. package/dist/cjs/dimensional-model/analytics/factory.d.ts +47 -0
  2. package/dist/cjs/dimensional-model/analytics/factory.js +151 -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 +796 -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 +321 -0
  26. package/dist/cjs/dimensional-model/filters/filters.js +614 -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 +194 -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 +54 -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 +73 -0
  40. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +190 -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 +558 -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 +200 -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/filters/factory.d.ts +80 -42
  88. package/dist/dimensional-model/filters/factory.js +123 -85
  89. package/dist/dimensional-model/filters/filters.d.ts +34 -12
  90. package/dist/dimensional-model/filters/filters.js +69 -27
  91. package/dist/dimensional-model/filters/utils/condition-filter-util.d.ts +4 -2
  92. package/dist/dimensional-model/filters/utils/condition-filter-util.js +27 -25
  93. package/dist/dimensional-model/filters/utils/filter-code-util.js +1 -1
  94. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +16 -10
  95. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +34 -27
  96. package/package.json +18 -9
@@ -0,0 +1,200 @@
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
+ };
74
+ export declare type FilterMultipleConditionJaql = {
75
+ or: ConditionFilterJaql[];
76
+ and: ConditionFilterJaql[];
77
+ };
78
+ export declare type ConditionFilterJaqlOptions = BaseFilterJaql & {
79
+ top: number;
80
+ bottom: number;
81
+ exclude: {
82
+ members?: string[];
83
+ from?: number;
84
+ to?: number;
85
+ };
86
+ startsWith: string;
87
+ doesntStartWith: string;
88
+ endsWith: string;
89
+ doesntEndWith: string;
90
+ doesntContain: string;
91
+ equals: number | string;
92
+ doesntEqual: number | string;
93
+ to: number;
94
+ toNotEqual: number;
95
+ from: number;
96
+ fromNotEqual: number;
97
+ contains: string;
98
+ by?: RankingFilterJaql;
99
+ rankingMessage?: string;
100
+ } & Partial<FilterMultiSelectJaql> & Partial<PeriodFilterJaql> & Partial<RangeFilterJaql> & Partial<FilterMultipleConditionJaql>;
101
+ 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'>;
102
+ export declare type InvalidTypeFilterJaql = BaseFilterJaql;
103
+ export declare type SpecificItemsFilterJaql = BaseFilterJaql & FilterMultiSelectJaql;
104
+ export declare type AnyTypeFilterJaql = IncludeAllFilterJaql | PeriodFilterJaql | RangeFilterJaql | ConditionFilterJaql | InvalidTypeFilterJaql | SpecificItemsFilterJaql;
105
+ export declare enum DatetimeLevel {
106
+ YEARS = "years",
107
+ QUARTERS = "quarters",
108
+ MONTHS = "months",
109
+ WEEKS = "weeks",
110
+ DAYS = "days",
111
+ HOURS = "hours",
112
+ MINUTES = "minutes"
113
+ }
114
+ export declare type FilterJaqlInternal = {
115
+ title: string;
116
+ column: string;
117
+ datasource?: Datasource;
118
+ datatype: string;
119
+ dim: string;
120
+ dimension?: string;
121
+ fiscal?: string;
122
+ firstday?: string;
123
+ merged?: boolean;
124
+ table?: string;
125
+ filter?: AnyTypeFilterJaql;
126
+ level?: DatetimeLevel;
127
+ locale?: string;
128
+ bucket?: string;
129
+ collapsed?: boolean;
130
+ isDashboardFilter?: boolean;
131
+ formula?: string;
132
+ context?: JaqlContext;
133
+ agg?: string;
134
+ };
135
+ export declare enum FilterModalType {
136
+ DATE_TIME = "datetime",
137
+ NUMERIC = "numeric",
138
+ TEXT = "text"
139
+ }
140
+ export declare type BackgroundFilterExtraProps = {
141
+ level?: DatetimeLevel;
142
+ turnedOff?: boolean;
143
+ };
144
+ export declare type BackgroundFilter = {
145
+ filter?: AnyTypeFilterJaql & BackgroundFilterExtraProps;
146
+ };
147
+ export declare type FilterJaqlWrapperWithType = {
148
+ filter: AnyTypeFilterJaql & BackgroundFilter;
149
+ level?: DatetimeLevel;
150
+ agg?: string;
151
+ };
152
+ export declare const nonSupportedMinutesBuckets: string[];
153
+ export declare const FILTER_TYPES: {
154
+ NUMERIC_RANGE: NumericFilterType.NUMERIC_RANGE;
155
+ PERIOD: DateTimeFilterType.PERIOD;
156
+ DATE_RANGE: DateTimeFilterType.DATE_RANGE;
157
+ INCLUDE_ALL: GeneralFilterType.INCLUDE_ALL;
158
+ ADVANCED: GeneralFilterType.ADVANCED;
159
+ INVALID: GeneralFilterType.INVALID;
160
+ CONDITION: GeneralFilterType.CONDITION;
161
+ SPECIFIC_ITEMS: GeneralFilterType.SPECIFIC_ITEMS;
162
+ };
163
+ export declare type FilterJaqlByTypeMap = {
164
+ [FILTER_TYPES.INCLUDE_ALL]: IncludeAllFilterJaql;
165
+ [FILTER_TYPES.PERIOD]: PeriodFilterJaql;
166
+ [FILTER_TYPES.DATE_RANGE]: RangeFilterJaql;
167
+ [FILTER_TYPES.NUMERIC_RANGE]: RangeFilterJaql;
168
+ [FILTER_TYPES.CONDITION]: ConditionFilterJaql;
169
+ [FILTER_TYPES.SPECIFIC_ITEMS]: SpecificItemsFilterJaql;
170
+ };
171
+ export declare const DEFAULT_FILTER_JAQL_BY_TYPE_MAP: FilterJaqlByTypeMap;
172
+ export declare const DEFAULT_FILTER_JAQL_WRAPPER: FilterJaqlWrapperWithType;
173
+ export declare enum ConditionFilterType {
174
+ IS = "members",
175
+ IS_NOT = "exclude",
176
+ IS_WITHIN = "isWithin",
177
+ TOP = "top",
178
+ BOTTOM = "bottom",
179
+ AFTER = "after",
180
+ BEFORE = "before",
181
+ STARTS_WITH = "startsWith",
182
+ DOESNT_START_WITH = "doesntStartWith",
183
+ ENDS_WITH = "endsWith",
184
+ DOESNT_END_WITH = "doesntEndWith",
185
+ CONTAINS = "contains",
186
+ DOESNT_CONTAIN = "doesntContain",
187
+ EQUALS = "equals",
188
+ DOESNT_EQUAL = "doesntEqual",
189
+ IS_EMPTY = "isEmpty",
190
+ IS_NOT_EMPTY = "isNotEmpty",
191
+ GREATER_THAN = "fromNotEqual",
192
+ GREATER_THAN_OR_EQUAL = "from",
193
+ LESS_THAN = "toNotEqual",
194
+ LESS_THAN_OR_EQUAL = "to",
195
+ BETWEEN = "between",
196
+ IS_NOT_BETWEEN = "isNotBetween",
197
+ MULTIPLE_CONDITION = "multipleCondition",
198
+ NONE = "none"
199
+ }
200
+ 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 = {}));