@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
@@ -4,16 +4,17 @@ import { createAttributeFilterFromConditionFilterJaql, createMeasureFilterFromCo
4
4
  import { extractFilterTypeFromFilterJaql } from './filter-types-util.js';
5
5
  import { withComposeCode } from './filter-code-util.js';
6
6
  import { createAttributeFromFilterJaql, createMeasureFromFilterJaql, } from './attribute-measure-util.js';
7
+ import { guidFast } from '../../../utils.js';
7
8
  /**
8
9
  * Creates a generic filter (aka pass-through JAQL filter) if the JAQL cannot be translated to a specific filter type.
9
10
  *
10
11
  * @param jaql - The JAQL object.
11
- * @param instanceid - The instance ID.
12
+ * @param guid - Optional GUID for the filter
12
13
  * @returns A generic Filter object.
13
14
  */
14
- export const createGenericFilter = (jaql, instanceid) => {
15
+ export const createGenericFilter = (jaql, guid) => {
15
16
  return {
16
- guid: instanceid,
17
+ guid: guid || guidFast(13),
17
18
  jaql: (nested) => {
18
19
  if (nested) {
19
20
  return jaql;
@@ -39,54 +40,59 @@ export const createGenericFilter = (jaql, instanceid) => {
39
40
  * Creates a filter that includes all members of the attribute.
40
41
  *
41
42
  * @param attribute - The attribute.
43
+ * @param guid - Optional GUID for the filter
42
44
  * @returns The created Filter object.
43
45
  */
44
- export const createFilterIncludeAll = (attribute) => {
45
- return withComposeCode(filterFactory.members)(attribute, []);
46
+ export const createFilterIncludeAll = (attribute, guid) => {
47
+ return withComposeCode(filterFactory.members)(attribute, [], guid);
46
48
  };
47
49
  /**
48
50
  * Creates a filter from a specific items filter JAQL object.
49
51
  *
50
52
  * @param attribute - attribute
51
53
  * @param specificItemsFilterJaql - Specific Items Filter Jaql
54
+ * @param guid - Optional GUID for the filter
52
55
  * @returns Filter object
53
56
  */
54
- export const createFilterFromSpecificItemsFilterJaql = (attribute, specificItemsFilterJaql) => {
55
- return withComposeCode(filterFactory.members)(attribute, specificItemsFilterJaql.members);
57
+ export const createFilterFromSpecificItemsFilterJaql = (attribute, specificItemsFilterJaql, guid) => {
58
+ return withComposeCode(filterFactory.members)(attribute, specificItemsFilterJaql.members, guid);
56
59
  };
57
60
  /**
58
61
  * Creates a filter from a date range filter JAQL object.
59
62
  *
60
63
  * @param attribute - attribute
61
64
  * @param rangeFilterJaql - Range Filter Jaql
65
+ * @param guid - Optional GUID for the filter
62
66
  * @returns Filter object
63
67
  */
64
- export const createFilterFromDateRangeFilterJaql = (attribute, rangeFilterJaql) => {
65
- return withComposeCode(filterFactory.dateRange)(attribute, rangeFilterJaql.from, rangeFilterJaql.to);
68
+ export const createFilterFromDateRangeFilterJaql = (attribute, rangeFilterJaql, guid) => {
69
+ return withComposeCode(filterFactory.dateRange)(attribute, rangeFilterJaql.from, rangeFilterJaql.to, guid);
66
70
  };
67
71
  /**
68
72
  * Creates a filter from a numeric range filter JAQL object.
69
73
  *
70
74
  * @param attribute - attribute
71
75
  * @param rangeFilterJaql - Range Filter Jaql
76
+ * @param guid - Optional GUID for the filter
72
77
  * @returns Filter object
73
78
  */
74
- export const createFilterFromNumericRangeJaql = (attribute, rangeFilterJaql) => {
75
- return withComposeCode(filterFactory.between)(attribute, rangeFilterJaql.from, rangeFilterJaql.to);
79
+ export const createFilterFromNumericRangeJaql = (attribute, rangeFilterJaql, guid) => {
80
+ return withComposeCode(filterFactory.between)(attribute, rangeFilterJaql.from, rangeFilterJaql.to, guid);
76
81
  };
77
82
  /**
78
83
  * Creates a filter from a period filter JAQL object.
79
84
  *
80
85
  * @param attribute - attribute
81
86
  * @param periodFilterJaql - Period Filter Jaql
87
+ * @param guid - Optional GUID for the filter
82
88
  * @returns Filter object
83
89
  */
84
- export const createFilterFromPeriodFilterJaql = (attribute, periodFilterJaql) => {
90
+ export const createFilterFromPeriodFilterJaql = (attribute, periodFilterJaql, guid) => {
85
91
  if (periodFilterJaql.last) {
86
- return withComposeCode(filterFactory.dateRelativeTo)(attribute, periodFilterJaql.last.offset, periodFilterJaql.last.count, periodFilterJaql.last.anchor);
92
+ return withComposeCode(filterFactory.dateRelativeTo)(attribute, periodFilterJaql.last.offset, periodFilterJaql.last.count, periodFilterJaql.last.anchor, guid);
87
93
  }
88
94
  else {
89
- return withComposeCode(filterFactory.dateRelativeFrom)(attribute, periodFilterJaql.next.offset, periodFilterJaql.next.count, periodFilterJaql.next.anchor);
95
+ return withComposeCode(filterFactory.dateRelativeFrom)(attribute, periodFilterJaql.next.offset, periodFilterJaql.next.count, periodFilterJaql.next.anchor, guid);
90
96
  }
91
97
  };
92
98
  /**
@@ -95,24 +101,25 @@ export const createFilterFromPeriodFilterJaql = (attribute, periodFilterJaql) =>
95
101
  * @param attribute - attribute
96
102
  * @param conditionFilterJaql - Condition Filter Jaql
97
103
  * @param measure - measure
104
+ * @param guid - Optional GUID for the filter
98
105
  * @returns Filter object
99
106
  */
100
- export const createFilterFromConditionFilterJaql = (attribute, conditionFilterJaql, measure) => {
107
+ export const createFilterFromConditionFilterJaql = (attribute, conditionFilterJaql, measure, guid) => {
101
108
  if (measure) {
102
- return createMeasureFilterFromConditionFilterJaql(measure, conditionFilterJaql);
109
+ return createMeasureFilterFromConditionFilterJaql(measure, conditionFilterJaql, guid);
103
110
  }
104
111
  else {
105
- return createAttributeFilterFromConditionFilterJaql(attribute, conditionFilterJaql);
112
+ return createAttributeFilterFromConditionFilterJaql(attribute, conditionFilterJaql, guid);
106
113
  }
107
114
  };
108
115
  /**
109
116
  * Creates a filter from a filter JAQL object.
110
117
  *
111
118
  * @param jaql - The filter JAQL object.
112
- * @param instanceid - The instance ID.
119
+ * @param guid - Optional GUID for the filter
113
120
  * @returns Filter object.
114
121
  */
115
- export const createFilterFromJaqlInternal = (jaql, instanceid) => {
122
+ export const createFilterFromJaqlInternal = (jaql, guid) => {
116
123
  try {
117
124
  if ('formula' in jaql) {
118
125
  // generic pass-through JAQL filter will be used instead
@@ -125,25 +132,25 @@ export const createFilterFromJaqlInternal = (jaql, instanceid) => {
125
132
  const measure = createMeasureFromFilterJaql(jaql);
126
133
  switch (filterType) {
127
134
  case FILTER_TYPES.INCLUDE_ALL:
128
- return createFilterIncludeAll(attribute);
135
+ return createFilterIncludeAll(attribute, guid);
129
136
  case FILTER_TYPES.SPECIFIC_ITEMS:
130
- return createFilterFromSpecificItemsFilterJaql(attribute, filterJaqlWithType);
137
+ return createFilterFromSpecificItemsFilterJaql(attribute, filterJaqlWithType, guid);
131
138
  case FILTER_TYPES.CONDITION:
132
- return createFilterFromConditionFilterJaql(attribute, filterJaqlWithType, measure);
139
+ return createFilterFromConditionFilterJaql(attribute, filterJaqlWithType, measure, guid);
133
140
  case FILTER_TYPES.DATE_RANGE:
134
- return createFilterFromDateRangeFilterJaql(attribute, filterJaqlWithType);
141
+ return createFilterFromDateRangeFilterJaql(attribute, filterJaqlWithType, guid);
135
142
  case FILTER_TYPES.PERIOD:
136
- return createFilterFromPeriodFilterJaql(attribute, filterJaqlWithType);
143
+ return createFilterFromPeriodFilterJaql(attribute, filterJaqlWithType, guid);
137
144
  case FILTER_TYPES.NUMERIC_RANGE:
138
- return createFilterFromNumericRangeJaql(attribute, filterJaqlWithType);
145
+ return createFilterFromNumericRangeJaql(attribute, filterJaqlWithType, guid);
139
146
  case FILTER_TYPES.ADVANCED:
140
147
  case FILTER_TYPES.INVALID:
141
- return createGenericFilter(jaql, instanceid);
148
+ return createGenericFilter(jaql, guid);
142
149
  }
143
150
  }
144
151
  catch (e) {
145
152
  // if a filter type is untranslatable, fall back to the generic pass-through JAQL filter
146
153
  // console.error(e);
147
154
  }
148
- return createGenericFilter(jaql, instanceid);
155
+ return createGenericFilter(jaql, guid);
149
156
  };
package/package.json CHANGED
@@ -11,20 +11,29 @@
11
11
  "Sisense",
12
12
  "Compose SDK"
13
13
  ],
14
- "version": "1.11.0",
14
+ "version": "1.12.0",
15
15
  "type": "module",
16
- "exports": {
17
- ".": "./dist/index.js",
18
- "./dist/dimensional-model/filters/filters": "./dist/dimensional-model/filters/filters.js"
19
- },
20
- "main": "./dist/index.js",
16
+ "main": "./dist/cjs/index.js",
21
17
  "module": "./dist/index.js",
22
18
  "types": "./dist/index.d.ts",
19
+ "exports": {
20
+ ".": {
21
+ "require": "./dist/cjs/index.js",
22
+ "import": "./dist/index.js",
23
+ "types": "./dist/index.d.ts",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "./dist/dimensional-model/filters/filters": {
27
+ "default": "./dist/dimensional-model/filters/filters.js",
28
+ "import": "./dist/dimensional-model/filters/filters.js",
29
+ "require": "./dist/cjs/dimensional-model/filters/filters.js"
30
+ }
31
+ },
23
32
  "author": "Sisense",
24
33
  "license": "SEE LICENSE IN LICENSE.md",
25
34
  "dependencies": {
26
- "@sisense/sdk-common": "^1.11.0",
27
- "@sisense/sdk-rest-client": "^1.11.0",
35
+ "@sisense/sdk-common": "^1.12.0",
36
+ "@sisense/sdk-rest-client": "^1.12.0",
28
37
  "guid-typescript": "^1.0.9",
29
38
  "lodash": "^4.17.21",
30
39
  "numeral": "^2.0.6",
@@ -33,7 +42,7 @@
33
42
  "scripts": {
34
43
  "type-check": "tsc --noEmit",
35
44
  "build": "tsc --build tsconfig.build.json",
36
- "build:prod": "tsc --project tsconfig.prod.json",
45
+ "build:prod": "tsc --project tsconfig.prod.json && tsc --project tsconfig.cjs.json",
37
46
  "build.watch": "tsc --build --watch",
38
47
  "clean": "rm -rf dist coverage tsconfig.build.tsbuildinfo tsconfig.prod.tsbuildinfo",
39
48
  "lint": "eslint . --fix",