@sisense/sdk-data 1.14.0 → 1.15.1

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 (45) hide show
  1. package/dist/cjs/dimensional-model/filters/factory.d.ts +4 -2
  2. package/dist/cjs/dimensional-model/filters/factory.js +5 -3
  3. package/dist/cjs/dimensional-model/filters/filters.d.ts +4 -2
  4. package/dist/cjs/dimensional-model/filters/filters.js +8 -3
  5. package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +2 -1
  6. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +5 -2
  7. package/dist/cjs/dimensional-model/filters/utils/filter-types-util.js +1 -1
  8. package/dist/cjs/package.json +12 -0
  9. package/dist/dimensional-model/filters/factory.d.ts +4 -2
  10. package/dist/dimensional-model/filters/factory.js +5 -3
  11. package/dist/dimensional-model/filters/filters.d.ts +4 -2
  12. package/dist/dimensional-model/filters/filters.js +8 -3
  13. package/dist/dimensional-model/filters/utils/condition-filter-util.js +2 -1
  14. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +5 -2
  15. package/dist/dimensional-model/filters/utils/filter-types-util.js +1 -1
  16. package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -0
  17. package/package.json +4 -9
  18. package/dist/cjs/dimensional-model/analytics/factory.test.d.ts +0 -1
  19. package/dist/cjs/dimensional-model/analytics/factory.test.js +0 -99
  20. package/dist/cjs/dimensional-model/attributes.test.d.ts +0 -1
  21. package/dist/cjs/dimensional-model/attributes.test.js +0 -154
  22. package/dist/cjs/dimensional-model/base.test.d.ts +0 -1
  23. package/dist/cjs/dimensional-model/base.test.js +0 -17
  24. package/dist/cjs/dimensional-model/dimensions.test.d.ts +0 -1
  25. package/dist/cjs/dimensional-model/dimensions.test.js +0 -84
  26. package/dist/cjs/dimensional-model/filters/factory.test.d.ts +0 -1
  27. package/dist/cjs/dimensional-model/filters/factory.test.js +0 -366
  28. package/dist/cjs/dimensional-model/filters/filters.test.d.ts +0 -1
  29. package/dist/cjs/dimensional-model/filters/filters.test.js +0 -241
  30. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.test.d.ts +0 -1
  31. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.test.js +0 -32
  32. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.test.d.ts +0 -1
  33. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.test.js +0 -623
  34. package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.test.d.ts +0 -1
  35. package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.test.js +0 -236
  36. package/dist/cjs/dimensional-model/measures/factory.test.d.ts +0 -1
  37. package/dist/cjs/dimensional-model/measures/factory.test.js +0 -481
  38. package/dist/cjs/dimensional-model/measures/measures.test.d.ts +0 -1
  39. package/dist/cjs/dimensional-model/measures/measures.test.js +0 -79
  40. package/dist/cjs/dimensional-model/simple-column-types.test.d.ts +0 -1
  41. package/dist/cjs/dimensional-model/simple-column-types.test.js +0 -85
  42. package/dist/cjs/dimensional-model/types.test.d.ts +0 -1
  43. package/dist/cjs/dimensional-model/types.test.js +0 -33
  44. package/dist/cjs/utils.test.d.ts +0 -1
  45. package/dist/cjs/utils.test.js +0 -182
@@ -1,33 +0,0 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-unsafe-call */
3
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- const types_js_1 = require("./types.js");
6
- describe('MetadataTypes', () => {
7
- describe('isMeasure', () => {
8
- it('should fail validation for an invalid measure', () => {
9
- const measure = {
10
- name: 'Quantity',
11
- aggregation: 'sum',
12
- title: 'Total Quantity',
13
- };
14
- expect(types_js_1.MetadataTypes.isMeasure(measure)).toBeFalsy();
15
- });
16
- it('should pass validation for a valid measure', () => {
17
- const measure = {
18
- name: 'sum Revenue',
19
- type: 'basemeasure',
20
- desc: '',
21
- sort: 0,
22
- aggregation: 'sum',
23
- attribute: {
24
- name: 'Revenue',
25
- type: 'numeric-attribute',
26
- desc: '',
27
- expression: '[Commerce.Revenue]',
28
- },
29
- };
30
- expect(types_js_1.MetadataTypes.isMeasure(measure)).toBeTruthy();
31
- });
32
- });
33
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,182 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const index_js_1 = require("./index.js");
27
- const utils_js_1 = require("./utils.js");
28
- const vitest_1 = require("vitest");
29
- const filterFactory = __importStar(require("./dimensional-model/filters/factory.js"));
30
- const attribute_measure_util_js_1 = require("./dimensional-model/filters/utils/attribute-measure-util.js");
31
- const mockFilter1 = { guid: 'filter-1', name: 'Filter 1' };
32
- const mockFilter2 = { guid: 'filter-2', name: 'Filter 2' };
33
- const mockSimpleFilterRelations = {
34
- operator: 'OR',
35
- left: mockFilter1,
36
- right: mockFilter2,
37
- };
38
- const mockNestedFilterRelations = {
39
- operator: 'AND',
40
- left: mockFilter1,
41
- right: mockSimpleFilterRelations,
42
- };
43
- const simpleFilterRelationsResult = {
44
- operator: 'OR',
45
- left: { instanceid: mockFilter1.guid },
46
- right: { instanceid: mockFilter2.guid },
47
- };
48
- const nestedFilterRelationsResult = {
49
- operator: 'AND',
50
- left: { instanceid: mockFilter1.guid },
51
- right: simpleFilterRelationsResult,
52
- };
53
- (0, vitest_1.describe)('utils', () => {
54
- (0, vitest_1.describe)('guidFast', () => {
55
- test('should return a string of default length if length is not provided', () => {
56
- const guid = (0, utils_js_1.guidFast)();
57
- expect(typeof guid).toBe('string');
58
- expect(guid.length).toBe(20);
59
- });
60
- test('should return a string of provided length', () => {
61
- const guid = (0, utils_js_1.guidFast)(10);
62
- expect(typeof guid).toBe('string');
63
- expect(guid.length).toBe(10);
64
- });
65
- test('should return unique uids with no regard to timestamp', () => {
66
- const guids = Array(2)
67
- .fill(0)
68
- .map(() => (0, utils_js_1.guidFast)(13));
69
- const timestamps = Array(2)
70
- .fill(0)
71
- .map(() => Date.now());
72
- expect(timestamps[0]).toBe(timestamps[1]);
73
- expect(guids[0]).not.toBe(guids[1]);
74
- });
75
- });
76
- (0, vitest_1.describe)('getFilterListAndRelations', () => {
77
- test('should return undefined filters and undefined relations when input is undefined', () => {
78
- const result = (0, utils_js_1.getFilterListAndRelations)(undefined);
79
- expect(result.filters).toBeUndefined();
80
- expect(result.relations).toBeUndefined();
81
- });
82
- test('should return filter list and undefined relations when input is an empty array', () => {
83
- const result = (0, utils_js_1.getFilterListAndRelations)([]);
84
- expect(result.filters).toEqual([]);
85
- expect(result.relations).toBeUndefined();
86
- });
87
- test('should return filter list and undefined relations when input is an array of filters', () => {
88
- const filterArray = [mockFilter1, mockFilter2];
89
- const result = (0, utils_js_1.getFilterListAndRelations)(filterArray);
90
- expect(result.filters).toEqual(filterArray);
91
- expect(result.relations).toBeUndefined();
92
- });
93
- test('should return filter list and relations when input is a simple FilterRelations', () => {
94
- const result = (0, utils_js_1.getFilterListAndRelations)(mockSimpleFilterRelations);
95
- expect(result.filters).toEqual([mockFilter1, mockFilter2]);
96
- expect(result.relations).toEqual(simpleFilterRelationsResult);
97
- });
98
- test('should return filter list and relations when input is a nested FilterRelations', () => {
99
- const result = (0, utils_js_1.getFilterListAndRelations)(mockNestedFilterRelations);
100
- expect(result.filters).toEqual([mockFilter1, mockFilter2]);
101
- expect(result.relations).toEqual(nestedFilterRelationsResult);
102
- });
103
- });
104
- (0, vitest_1.describe)('getDataSourceName', () => {
105
- test('should return the name of the data source if it is DataSourceInfo', () => {
106
- const dataSourceName = 'data-source-name';
107
- const dataSource = {
108
- type: 'elasticube',
109
- title: dataSourceName,
110
- };
111
- const result = (0, utils_js_1.getDataSourceName)(dataSource);
112
- expect(result).toBe(dataSourceName);
113
- });
114
- test('should return the data source itself if it is a string', () => {
115
- const dataSourceName = 'data-source-name';
116
- const result = (0, utils_js_1.getDataSourceName)(dataSourceName);
117
- expect(result).toBe(dataSourceName);
118
- });
119
- });
120
- (0, vitest_1.describe)('isDataSourceInfo', () => {
121
- test('should return true if the provided dataSource is a DataSourceInfo', () => {
122
- const dataSource = {
123
- type: 'elasticube',
124
- title: 'data-source-name',
125
- };
126
- const result = (0, utils_js_1.isDataSourceInfo)(dataSource);
127
- expect(result).toBe(true);
128
- });
129
- test('should return false if the provided dataSource is a string', () => {
130
- const dataSourceName = 'data-source-name';
131
- const result = (0, utils_js_1.isDataSourceInfo)(dataSourceName);
132
- expect(result).toBe(false);
133
- });
134
- });
135
- (0, vitest_1.describe)('createFilterFromJaql', () => {
136
- const instanceid = 'instanceid';
137
- // just one simple test to cover the function.
138
- // See more tests in src/dimensional-model/filters/utils/filter-jaql-util.test.ts
139
- test('MembersFilter members()', () => {
140
- const jaql = {
141
- table: 'Category',
142
- column: 'Category',
143
- dim: '[Category.Category]',
144
- datatype: 'text',
145
- filter: {
146
- explicit: true,
147
- multiSelection: true,
148
- members: ['Cell Phones', 'GPS Devices'],
149
- },
150
- title: 'Category',
151
- };
152
- const filter = (0, index_js_1.createFilterFromJaql)(jaql, instanceid);
153
- const attribute = (0, attribute_measure_util_js_1.createAttributeFromFilterJaql)(jaql);
154
- const expectedFilter = filterFactory.members(attribute, jaql.filter.members);
155
- expect(filter.jaql().jaql).toEqual(expectedFilter.jaql().jaql);
156
- });
157
- test('should creact MembersFilter with inner background filter', () => {
158
- const jaql = {
159
- table: 'Category',
160
- column: 'Category',
161
- dim: '[Category.Category]',
162
- datatype: 'text',
163
- filter: {
164
- explicit: true,
165
- multiSelection: true,
166
- members: ['Cell Phones'],
167
- filter: {
168
- members: ['Cell Phones', 'GPS Devices'],
169
- },
170
- },
171
- title: 'Category',
172
- };
173
- const filter = (0, index_js_1.createFilterFromJaql)(jaql, instanceid);
174
- const attribute = (0, attribute_measure_util_js_1.createAttributeFromFilterJaql)(jaql);
175
- const backgroundFilter = filterFactory.members(attribute, jaql.filter.filter.members);
176
- const expectedFilter = filterFactory.members(attribute, jaql.filter.members, undefined, undefined, backgroundFilter);
177
- expect(filter.jaql().jaql).toEqual(expectedFilter.jaql().jaql);
178
- expect(filter.backgroundFilter).toBeDefined();
179
- expect(expectedFilter.backgroundFilter).toBeDefined();
180
- });
181
- });
182
- });