@lightdash/common 0.1770.0 → 0.1772.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 (32) hide show
  1. package/dist/cjs/index.d.ts +1 -1
  2. package/dist/cjs/index.d.ts.map +1 -1
  3. package/dist/cjs/index.js +4 -1
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/utils/i18n/chartAsCode.d.ts +184 -80
  6. package/dist/cjs/utils/i18n/chartAsCode.d.ts.map +1 -1
  7. package/dist/cjs/utils/i18n/chartAsCode.js +13 -2
  8. package/dist/cjs/utils/i18n/chartAsCode.js.map +1 -1
  9. package/dist/cjs/utils/i18n/chartAsCode.test.d.ts +2 -0
  10. package/dist/cjs/utils/i18n/chartAsCode.test.d.ts.map +1 -0
  11. package/dist/cjs/utils/i18n/chartAsCode.test.js +351 -0
  12. package/dist/cjs/utils/i18n/chartAsCode.test.js.map +1 -0
  13. package/dist/esm/index.d.ts +1 -1
  14. package/dist/esm/index.d.ts.map +1 -1
  15. package/dist/esm/index.js +4 -1
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/utils/i18n/chartAsCode.d.ts +184 -80
  18. package/dist/esm/utils/i18n/chartAsCode.d.ts.map +1 -1
  19. package/dist/esm/utils/i18n/chartAsCode.js +13 -2
  20. package/dist/esm/utils/i18n/chartAsCode.js.map +1 -1
  21. package/dist/esm/utils/i18n/chartAsCode.test.d.ts +2 -0
  22. package/dist/esm/utils/i18n/chartAsCode.test.d.ts.map +1 -0
  23. package/dist/esm/utils/i18n/chartAsCode.test.js +349 -0
  24. package/dist/esm/utils/i18n/chartAsCode.test.js.map +1 -0
  25. package/dist/tsconfig.types.tsbuildinfo +1 -1
  26. package/dist/types/index.d.ts +1 -1
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/dist/types/utils/i18n/chartAsCode.d.ts +184 -80
  29. package/dist/types/utils/i18n/chartAsCode.d.ts.map +1 -1
  30. package/dist/types/utils/i18n/chartAsCode.test.d.ts +2 -0
  31. package/dist/types/utils/i18n/chartAsCode.test.d.ts.map +1 -0
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chartAsCode.js","sourceRoot":"","sources":["../../../../src/utils/i18n/chartAsCode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chartAsCode.js","sourceRoot":"","sources":["../../../../src/utils/i18n/chartAsCode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=chartAsCode.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartAsCode.test.d.ts","sourceRoot":"","sources":["../../../../src/utils/i18n/chartAsCode.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,349 @@
1
+ import { ChartType } from '../../types/savedCharts';
2
+ import { ChartAsCodeInternalization } from './chartAsCode';
3
+ describe('ChartAsCodeInternalization', () => {
4
+ describe('getLanguageMap', () => {
5
+ it('should handle chart with empty yAxis entry', () => {
6
+ // Create a chart with cartesian type but empty yAxis entry
7
+ const chartAsCode = {
8
+ dashboardSlug: undefined,
9
+ pivotConfig: { columns: [] },
10
+ name: 'Test Chart',
11
+ description: '',
12
+ tableName: 'test_table',
13
+ slug: 'test-chart',
14
+ spaceSlug: 'test-space',
15
+ chartConfig: {
16
+ type: ChartType.CARTESIAN,
17
+ config: {
18
+ eChartsConfig: {
19
+ yAxis: [
20
+ {
21
+ name: 'top axis',
22
+ },
23
+ {}, // empty bottom axis
24
+ ],
25
+ },
26
+ },
27
+ },
28
+ metricQuery: {
29
+ exploreName: 'test_explore',
30
+ dimensions: [],
31
+ metrics: [],
32
+ filters: {},
33
+ sorts: [],
34
+ limit: 500,
35
+ tableCalculations: [],
36
+ additionalMetrics: [],
37
+ customDimensions: [],
38
+ },
39
+ tableConfig: {
40
+ columnOrder: [],
41
+ },
42
+ updatedAt: new Date(),
43
+ version: 1,
44
+ };
45
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
46
+ const languageMap = chartAsCodeInternalization.getLanguageMap(chartAsCode);
47
+ expect(languageMap).toBeDefined();
48
+ expect(languageMap.chart).toBeDefined();
49
+ expect(languageMap.chart[chartAsCode.slug]).toBeDefined();
50
+ expect(languageMap.chart[chartAsCode.slug].chartConfig).toBeDefined();
51
+ expect(languageMap.chart[chartAsCode.slug].chartConfig?.type).toBe(ChartType.CARTESIAN);
52
+ });
53
+ it('should throw error for chart with missing eChartsConfig for cartesian type', () => {
54
+ // Create a chart with cartesian type but missing eChartsConfig
55
+ const chartAsCode = {
56
+ dashboardSlug: undefined,
57
+ pivotConfig: { columns: [] },
58
+ name: 'Test Chart',
59
+ description: '',
60
+ tableName: 'test_table',
61
+ slug: 'test-chart',
62
+ spaceSlug: 'test-space',
63
+ chartConfig: {
64
+ type: ChartType.CARTESIAN,
65
+ config: {
66
+ // Missing eChartsConfig
67
+ },
68
+ },
69
+ metricQuery: {
70
+ exploreName: 'test_explore',
71
+ dimensions: [],
72
+ metrics: [],
73
+ filters: {},
74
+ sorts: [],
75
+ limit: 500,
76
+ tableCalculations: [],
77
+ additionalMetrics: [],
78
+ customDimensions: [],
79
+ },
80
+ tableConfig: {
81
+ columnOrder: [],
82
+ },
83
+ updatedAt: new Date(),
84
+ version: 1,
85
+ };
86
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
87
+ expect(() => {
88
+ chartAsCodeInternalization.getLanguageMap(chartAsCode);
89
+ }).toThrow();
90
+ });
91
+ it('should handle valid pie chart', () => {
92
+ // Create a valid pie chart
93
+ const chartAsCode = {
94
+ dashboardSlug: undefined,
95
+ pivotConfig: { columns: [] },
96
+ name: 'Test Pie Chart',
97
+ description: '',
98
+ tableName: 'test_table',
99
+ slug: 'test-pie-chart',
100
+ spaceSlug: 'test-space',
101
+ chartConfig: {
102
+ type: ChartType.PIE,
103
+ config: {
104
+ groupLabelOverrides: {
105
+ label1: 'Override 1',
106
+ },
107
+ },
108
+ },
109
+ metricQuery: {
110
+ exploreName: 'test_explore',
111
+ dimensions: [],
112
+ metrics: [],
113
+ filters: {},
114
+ sorts: [],
115
+ limit: 500,
116
+ tableCalculations: [],
117
+ additionalMetrics: [],
118
+ customDimensions: [],
119
+ },
120
+ tableConfig: {
121
+ columnOrder: [],
122
+ },
123
+ updatedAt: new Date(),
124
+ version: 1,
125
+ };
126
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
127
+ const languageMap = chartAsCodeInternalization.getLanguageMap(chartAsCode);
128
+ expect(languageMap).toBeDefined();
129
+ expect(languageMap.chart).toBeDefined();
130
+ expect(languageMap.chart[chartAsCode.slug]).toBeDefined();
131
+ expect(languageMap.chart[chartAsCode.slug].chartConfig).toBeDefined();
132
+ expect(languageMap.chart[chartAsCode.slug].chartConfig?.type).toBe(ChartType.PIE);
133
+ });
134
+ it('should handle valid funnel chart', () => {
135
+ // Create a valid funnel chart
136
+ const chartAsCode = {
137
+ dashboardSlug: undefined,
138
+ pivotConfig: { columns: [] },
139
+ name: 'Test Funnel Chart',
140
+ description: '',
141
+ tableName: 'test_table',
142
+ slug: 'test-funnel-chart',
143
+ spaceSlug: 'test-space',
144
+ chartConfig: {
145
+ type: ChartType.FUNNEL,
146
+ config: {
147
+ labelOverrides: {
148
+ label1: 'Override 1',
149
+ },
150
+ },
151
+ },
152
+ metricQuery: {
153
+ exploreName: 'test_explore',
154
+ dimensions: [],
155
+ metrics: [],
156
+ filters: {},
157
+ sorts: [],
158
+ limit: 500,
159
+ tableCalculations: [],
160
+ additionalMetrics: [],
161
+ customDimensions: [],
162
+ },
163
+ tableConfig: {
164
+ columnOrder: [],
165
+ },
166
+ updatedAt: new Date(),
167
+ version: 1,
168
+ };
169
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
170
+ const languageMap = chartAsCodeInternalization.getLanguageMap(chartAsCode);
171
+ expect(languageMap).toBeDefined();
172
+ expect(languageMap.chart).toBeDefined();
173
+ expect(languageMap.chart[chartAsCode.slug]).toBeDefined();
174
+ expect(languageMap.chart[chartAsCode.slug].chartConfig).toBeDefined();
175
+ expect(languageMap.chart[chartAsCode.slug].chartConfig?.type).toBe(ChartType.FUNNEL);
176
+ });
177
+ it('should handle valid big number chart', () => {
178
+ // Create a valid big number chart
179
+ const chartAsCode = {
180
+ dashboardSlug: undefined,
181
+ pivotConfig: { columns: [] },
182
+ name: 'Test Big Number Chart',
183
+ description: '',
184
+ tableName: 'test_table',
185
+ slug: 'test-big-number-chart',
186
+ spaceSlug: 'test-space',
187
+ chartConfig: {
188
+ type: ChartType.BIG_NUMBER,
189
+ config: {
190
+ label: 'Test Label',
191
+ comparisonLabel: 'Comparison Label',
192
+ },
193
+ },
194
+ metricQuery: {
195
+ exploreName: 'test_explore',
196
+ dimensions: [],
197
+ metrics: [],
198
+ filters: {},
199
+ sorts: [],
200
+ limit: 500,
201
+ tableCalculations: [],
202
+ additionalMetrics: [],
203
+ customDimensions: [],
204
+ },
205
+ tableConfig: {
206
+ columnOrder: [],
207
+ },
208
+ updatedAt: new Date(),
209
+ version: 1,
210
+ };
211
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
212
+ const languageMap = chartAsCodeInternalization.getLanguageMap(chartAsCode);
213
+ expect(languageMap).toBeDefined();
214
+ expect(languageMap.chart).toBeDefined();
215
+ expect(languageMap.chart[chartAsCode.slug]).toBeDefined();
216
+ expect(languageMap.chart[chartAsCode.slug].chartConfig).toBeDefined();
217
+ expect(languageMap.chart[chartAsCode.slug].chartConfig?.type).toBe(ChartType.BIG_NUMBER);
218
+ });
219
+ it('should handle valid table chart', () => {
220
+ // Create a valid table chart
221
+ const chartAsCode = {
222
+ dashboardSlug: undefined,
223
+ pivotConfig: { columns: [] },
224
+ name: 'Test Table Chart',
225
+ description: '',
226
+ tableName: 'test_table',
227
+ slug: 'test-table-chart',
228
+ spaceSlug: 'test-space',
229
+ chartConfig: {
230
+ type: ChartType.TABLE,
231
+ config: {
232
+ columns: {
233
+ column1: {
234
+ name: 'Column 1',
235
+ },
236
+ },
237
+ },
238
+ },
239
+ metricQuery: {
240
+ exploreName: 'test_explore',
241
+ dimensions: [],
242
+ metrics: [],
243
+ filters: {},
244
+ sorts: [],
245
+ limit: 500,
246
+ tableCalculations: [],
247
+ additionalMetrics: [],
248
+ customDimensions: [],
249
+ },
250
+ tableConfig: {
251
+ columnOrder: [],
252
+ },
253
+ updatedAt: new Date(),
254
+ version: 1,
255
+ };
256
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
257
+ const languageMap = chartAsCodeInternalization.getLanguageMap(chartAsCode);
258
+ expect(languageMap).toBeDefined();
259
+ expect(languageMap.chart).toBeDefined();
260
+ expect(languageMap.chart[chartAsCode.slug]).toBeDefined();
261
+ expect(languageMap.chart[chartAsCode.slug].chartConfig).toBeDefined();
262
+ expect(languageMap.chart[chartAsCode.slug].chartConfig?.type).toBe(ChartType.TABLE);
263
+ });
264
+ it('should handle custom chart', () => {
265
+ const chartAsCode = {
266
+ name: 'Average Order Per Payment Method',
267
+ description: '',
268
+ tableName: 'payments',
269
+ slug: 'average-order-per-payment-method',
270
+ spaceSlug: 'parent-space-5',
271
+ dashboardSlug: undefined,
272
+ pivotConfig: { columns: [] },
273
+ chartConfig: {
274
+ type: ChartType.CUSTOM,
275
+ config: {
276
+ spec: {
277
+ mark: 'bar',
278
+ encoding: {
279
+ x: {
280
+ axis: {
281
+ labelAngle: 0,
282
+ },
283
+ type: 'nominal',
284
+ field: 'payments_payment_method',
285
+ title: 'Payment Method',
286
+ },
287
+ y: {
288
+ type: 'quantitative',
289
+ field: 'orders_average_order_size',
290
+ title: 'Average Order Size',
291
+ },
292
+ color: {
293
+ type: 'nominal',
294
+ field: 'payments_payment_method',
295
+ legend: null,
296
+ },
297
+ tooltip: [
298
+ {
299
+ type: 'nominal',
300
+ field: 'payments_payment_method',
301
+ title: 'Payment Method',
302
+ },
303
+ {
304
+ type: 'quantitative',
305
+ field: 'orders_average_order_size',
306
+ title: 'Average Order Size',
307
+ format: '.2f',
308
+ },
309
+ ],
310
+ },
311
+ },
312
+ },
313
+ },
314
+ metricQuery: {
315
+ exploreName: 'payments',
316
+ dimensions: ['payments_payment_method'],
317
+ metrics: ['orders_average_order_size'],
318
+ filters: {},
319
+ sorts: [
320
+ {
321
+ fieldId: 'orders_average_order_size',
322
+ descending: true,
323
+ },
324
+ ],
325
+ limit: 500,
326
+ tableCalculations: [],
327
+ additionalMetrics: [],
328
+ customDimensions: [],
329
+ },
330
+ tableConfig: {
331
+ columnOrder: [
332
+ 'payments_payment_method',
333
+ 'orders_average_order_size',
334
+ ],
335
+ },
336
+ updatedAt: new Date(),
337
+ version: 1,
338
+ };
339
+ const chartAsCodeInternalization = new ChartAsCodeInternalization();
340
+ const languageMap = chartAsCodeInternalization.getLanguageMap(chartAsCode);
341
+ expect(languageMap).toBeDefined();
342
+ expect(languageMap.chart).toBeDefined();
343
+ expect(languageMap.chart[chartAsCode.slug]).toBeDefined();
344
+ expect(languageMap.chart[chartAsCode.slug].chartConfig).toBeDefined();
345
+ expect(languageMap.chart[chartAsCode.slug].chartConfig?.type).toBe(ChartType.CUSTOM);
346
+ });
347
+ });
348
+ });
349
+ //# sourceMappingURL=chartAsCode.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartAsCode.test.js","sourceRoot":"","sources":["../../../../src/utils/i18n/chartAsCode.test.ts"],"names":[],"mappings":"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"}