@gooddata/sdk-code-convertors 11.65.0-alpha.1 → 11.65.0-alpha.11
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.
- package/esm/from/declarativeVisualisationToYaml.d.ts.map +1 -1
- package/esm/from/declarativeVisualisationToYaml.js +3 -1
- package/esm/from/filtersToYaml.d.ts +17 -4
- package/esm/from/filtersToYaml.d.ts.map +1 -1
- package/esm/from/filtersToYaml.js +37 -16
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/sdk-code-convertors.d.ts +21 -4
- package/esm/to/yamlPublisherEntityToDeclarativeV2.d.ts.map +1 -1
- package/esm/to/yamlPublisherEntityToDeclarativeV2.js +17 -7
- package/esm/to/yamlVisualisationToDeclarative.d.ts.map +1 -1
- package/esm/to/yamlVisualisationToDeclarative.js +30 -40
- package/esm/utils/describeValue.d.ts +7 -0
- package/esm/utils/describeValue.d.ts.map +1 -0
- package/esm/utils/describeValue.js +26 -0
- package/esm/utils/errors.d.ts +3 -1
- package/esm/utils/errors.d.ts.map +1 -1
- package/esm/utils/errors.js +8 -2
- package/esm/utils/publisherFilters.d.ts.map +1 -1
- package/esm/utils/publisherFilters.js +17 -2
- package/esm/utils/publisherPeriodV2.d.ts +7 -2
- package/esm/utils/publisherPeriodV2.d.ts.map +1 -1
- package/esm/utils/publisherPeriodV2.js +15 -2
- package/esm/utils/publisherVersionV2.d.ts.map +1 -1
- package/esm/utils/publisherVersionV2.js +8 -2
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarativeVisualisationToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeVisualisationToYaml.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,OAAO,EAAkC,MAAM,MAAM,CAAC;AAE5F,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACH,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAEvB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,SAAS,EACd,KAAK,MAAM,EAkBd,MAAM,qBAAqB,CAAC;AAyB7B,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,oBAAoB,CAAC;AAMrG,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,oBAAoB,CAAC;AAEvF,cAAc;AACd,wBAAgB,8BAA8B,CAC1C,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,8BAA8B,EAC7C,OAAO,CAAC,EAAE,aAAa,GACxB;IACC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC;CACxB,CA0EA;
|
|
1
|
+
{"version":3,"file":"declarativeVisualisationToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeVisualisationToYaml.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,7 +120,9 @@ function declarativeReportToYaml(entities, def, errorContext) {
|
|
|
120
120
|
}
|
|
121
121
|
const { filtersArray, filtersMap } = declarativeFiltersToYaml(entities, def.filters ?? [], updateErrorContext(errorContext, {
|
|
122
122
|
path: ["filters"],
|
|
123
|
-
})
|
|
123
|
+
}),
|
|
124
|
+
// only the insight's own date filters may carry the mode as the legacy "" attribute filter
|
|
125
|
+
{ readLegacyEmptyValuesFilter: true });
|
|
124
126
|
declarativeFiltersConfigToYaml(def, filtersMap, updateErrorContext(errorContext, {
|
|
125
127
|
path: ["filters"],
|
|
126
128
|
}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { YAMLMap } from "yaml";
|
|
2
|
-
import { type IAbsoluteDateFilter, type IFilter, type IMeasureValueFilterBody, type INegativeAttributeFilterBody, type IPositiveAttributeFilterBody, type IRankingFilterBody, type IRelativeDateFilter } from "@gooddata/sdk-model";
|
|
2
|
+
import { type EmptyValues, type IAbsoluteDateFilter, type IFilter, type IMeasureValueFilterBody, type INegativeAttributeFilterBody, type IPositiveAttributeFilterBody, type IRankingFilterBody, type IRelativeDateFilter } from "@gooddata/sdk-model";
|
|
3
3
|
import { type FromEntities } from "../types.js";
|
|
4
4
|
import { type IErrorContext } from "../utils/errors.js";
|
|
5
5
|
/** @internal */
|
|
@@ -21,21 +21,34 @@ export type WrittenFilter = {
|
|
|
21
21
|
filter: IFilter;
|
|
22
22
|
};
|
|
23
23
|
/** @internal */
|
|
24
|
-
|
|
24
|
+
/** @internal */
|
|
25
|
+
export type DeclarativeFiltersToYamlOptions = {
|
|
26
|
+
/**
|
|
27
|
+
* Whether a date filter's connected attribute filter on the single empty string value is read as the
|
|
28
|
+
* date filter's `empty_values`: the representation insights saved before `emptyValueHandling` carry on
|
|
29
|
+
* their own (insight-level) date filters. A metric's such filter is one of its additional filters.
|
|
30
|
+
*/
|
|
31
|
+
readLegacyEmptyValuesFilter?: boolean;
|
|
32
|
+
};
|
|
33
|
+
/** @internal */
|
|
34
|
+
export declare function declarativeFiltersToYaml(entities: FromEntities, filters: IFilter[], errorContext?: IErrorContext, { readLegacyEmptyValuesFilter }?: DeclarativeFiltersToYamlOptions): YamlFilters;
|
|
25
35
|
/** @internal */
|
|
26
36
|
export type DateFilterEmitOptions = {
|
|
27
37
|
entities: FromEntities;
|
|
28
38
|
claimKey: ClaimFilterKey;
|
|
29
39
|
connectedAttributeFilters?: IFilter[];
|
|
40
|
+
/** the date filter's own mode, written as `empty_values` */
|
|
41
|
+
emptyValueHandling?: EmptyValues;
|
|
42
|
+
readLegacyEmptyValuesFilter?: boolean;
|
|
30
43
|
errorContext?: IErrorContext;
|
|
31
44
|
};
|
|
32
45
|
/** @internal */
|
|
33
|
-
export declare function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter: IAbsoluteDateFilter["absoluteDateFilter"], {
|
|
46
|
+
export declare function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter: IAbsoluteDateFilter["absoluteDateFilter"], { connectedAttributeFilters, errorContext, ...options }: DateFilterEmitOptions): {
|
|
34
47
|
yaml: YAMLMap;
|
|
35
48
|
carried: WrittenFilter[];
|
|
36
49
|
};
|
|
37
50
|
/** @internal */
|
|
38
|
-
export declare function declarativeRelativeDateFilterToYaml(relativeDateFilter: IRelativeDateFilter["relativeDateFilter"], {
|
|
51
|
+
export declare function declarativeRelativeDateFilterToYaml(relativeDateFilter: IRelativeDateFilter["relativeDateFilter"], { connectedAttributeFilters, errorContext, ...options }: DateFilterEmitOptions): {
|
|
39
52
|
yaml: YAMLMap;
|
|
40
53
|
carried: WrittenFilter[];
|
|
41
54
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filtersToYaml.d.ts","sourceRoot":"","sources":["../../src/from/filtersToYaml.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAW,MAAM,MAAM,CAAC;AAG9C,OAAO,EACH,KAAK,mBAAmB,EAGxB,KAAK,OAAO,EAEZ,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAsB3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,oBAAoB,CAAC;AAKrG,gBAAgB;AAChB,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,gBAAgB;AAChB,MAAM,MAAM,WAAW,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,YAAY,EAAE,OAAO,CAAC;CACzB,CAAC;AAmHF,0FAA0F;AAC1F,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEzD,gBAAgB;AAChB,MAAM,MAAM,aAAa,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAK5E,gBAAgB;AAChB,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,EAAE,EAClB,YAAY,CAAC,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"filtersToYaml.d.ts","sourceRoot":"","sources":["../../src/from/filtersToYaml.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,7 +96,7 @@ function groupFiltersByDateFilter(filters) {
|
|
|
96
96
|
return result;
|
|
97
97
|
}
|
|
98
98
|
/** @internal */
|
|
99
|
-
export function declarativeFiltersToYaml(entities, filters, errorContext) {
|
|
99
|
+
export function declarativeFiltersToYaml(entities, filters, errorContext, { readLegacyEmptyValuesFilter = false } = {}) {
|
|
100
100
|
const filtersArray = [];
|
|
101
101
|
const filtersMap = {};
|
|
102
102
|
const usedKeys = new Set();
|
|
@@ -121,7 +121,7 @@ export function declarativeFiltersToYaml(entities, filters, errorContext) {
|
|
|
121
121
|
filtersGroupedByDateFilter.rest.forEach(([filter, fi]) => {
|
|
122
122
|
const result = declarativeFilterToYaml(entities, filter, claimKey, undefined, updateErrorContext(errorContext, {
|
|
123
123
|
path: [fi.toString()],
|
|
124
|
-
}));
|
|
124
|
+
}), readLegacyEmptyValuesFilter);
|
|
125
125
|
if (!result) {
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
@@ -130,7 +130,7 @@ export function declarativeFiltersToYaml(entities, filters, errorContext) {
|
|
|
130
130
|
Object.values(filtersGroupedByDateFilter.grouped).forEach(({ dateFilter, attributeFilters }) => {
|
|
131
131
|
const result = declarativeFilterToYaml(entities, dateFilter[0], claimKey, attributeFilters.map(([f]) => f), updateErrorContext(errorContext, {
|
|
132
132
|
path: [dateFilter[1].toString()],
|
|
133
|
-
}));
|
|
133
|
+
}), readLegacyEmptyValuesFilter);
|
|
134
134
|
if (!result) {
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
@@ -144,7 +144,7 @@ export function declarativeFiltersToYaml(entities, filters, errorContext) {
|
|
|
144
144
|
}, new YAMLMap()),
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
|
-
function declarativeFilterToYaml(entities, filter, claimKey, connectedAttributeFilters, errorContext) {
|
|
147
|
+
function declarativeFilterToYaml(entities, filter, claimKey, connectedAttributeFilters, errorContext, readLegacyEmptyValuesFilter = false) {
|
|
148
148
|
if (!isFilter(filter)) {
|
|
149
149
|
return null;
|
|
150
150
|
}
|
|
@@ -156,6 +156,7 @@ function declarativeFilterToYaml(entities, filter, claimKey, connectedAttributeF
|
|
|
156
156
|
entities,
|
|
157
157
|
claimKey,
|
|
158
158
|
connectedAttributeFilters,
|
|
159
|
+
readLegacyEmptyValuesFilter,
|
|
159
160
|
errorContext: updateErrorContext(errorContext, { path: ["absoluteDateFilter"] }),
|
|
160
161
|
});
|
|
161
162
|
return { key, yaml, filter, carried };
|
|
@@ -165,6 +166,7 @@ function declarativeFilterToYaml(entities, filter, claimKey, connectedAttributeF
|
|
|
165
166
|
entities,
|
|
166
167
|
claimKey,
|
|
167
168
|
connectedAttributeFilters,
|
|
169
|
+
readLegacyEmptyValuesFilter,
|
|
168
170
|
errorContext: updateErrorContext(errorContext, { path: ["relativeDateFilter"] }),
|
|
169
171
|
});
|
|
170
172
|
return { key, yaml, filter, carried };
|
|
@@ -225,15 +227,26 @@ function declarativeFilterToYaml(entities, filter, claimKey, connectedAttributeF
|
|
|
225
227
|
}
|
|
226
228
|
throw newError(CoreErrorCode.FilterItemTypeNotSupported, [JSON.stringify(filter)], errorContext);
|
|
227
229
|
}
|
|
228
|
-
/**
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Adds `empty_values` and `with` to `map`, returning the filters written under the latter.
|
|
232
|
+
*
|
|
233
|
+
* `empty_values` is the date filter's own `emptyValueHandling`. An insight-level date filter saved before
|
|
234
|
+
* the field carried the mode as a connected attribute filter on the single empty string value instead
|
|
235
|
+
* (`readLegacyEmptyValuesFilter`): that filter is read as the mode when the date filter has none and is
|
|
236
|
+
* dropped either way, so the YAML always says `empty_values`.
|
|
237
|
+
*/
|
|
238
|
+
function processConnectedAttributeFilters(map, connectedAttributeFilters, { entities, claimKey, emptyValueHandling, readLegacyEmptyValuesFilter, errorContext, }) {
|
|
239
|
+
// empty values
|
|
240
|
+
const legacyEmptyValuesFilter = readLegacyEmptyValuesFilter
|
|
241
|
+
? connectedAttributeFilters.find((filter) => detectEmptyValuesFilterType(filter))
|
|
242
|
+
: undefined;
|
|
243
|
+
const emptyValues = emptyValueHandling ??
|
|
244
|
+
(legacyEmptyValuesFilter ? detectEmptyValuesFilterType(legacyEmptyValuesFilter) : undefined);
|
|
245
|
+
if (emptyValues) {
|
|
246
|
+
map.add(new Pair("empty_values", emptyValues));
|
|
234
247
|
}
|
|
235
248
|
// additional attribute filters
|
|
236
|
-
const additionalAttributeFilters = connectedAttributeFilters.filter((filter) => filter !==
|
|
249
|
+
const additionalAttributeFilters = connectedAttributeFilters.filter((filter) => filter !== legacyEmptyValuesFilter);
|
|
237
250
|
if (additionalAttributeFilters.length === 0) {
|
|
238
251
|
return [];
|
|
239
252
|
}
|
|
@@ -249,7 +262,7 @@ function processConnectedAttributeFilters(map, connectedAttributeFilters, entiti
|
|
|
249
262
|
});
|
|
250
263
|
}
|
|
251
264
|
/** @internal */
|
|
252
|
-
export function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter, {
|
|
265
|
+
export function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter, { connectedAttributeFilters = [], errorContext, ...options }) {
|
|
253
266
|
const map = new YAMLMap();
|
|
254
267
|
// base date filter attributes
|
|
255
268
|
map.add(new Pair("type", "date_filter"));
|
|
@@ -259,8 +272,12 @@ export function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter, { entiti
|
|
|
259
272
|
path: ["dateSet"],
|
|
260
273
|
}));
|
|
261
274
|
map.add(new Pair("using", id));
|
|
262
|
-
// connected attribute filters
|
|
263
|
-
const carried = processConnectedAttributeFilters(map, connectedAttributeFilters,
|
|
275
|
+
// empty values and connected attribute filters
|
|
276
|
+
const carried = processConnectedAttributeFilters(map, connectedAttributeFilters, {
|
|
277
|
+
...options,
|
|
278
|
+
emptyValueHandling: absoluteDateFilter.emptyValueHandling,
|
|
279
|
+
errorContext,
|
|
280
|
+
});
|
|
264
281
|
return { yaml: map, carried };
|
|
265
282
|
}
|
|
266
283
|
function isRelativeDateFilterAllTime(relativeDateFilter) {
|
|
@@ -273,7 +290,7 @@ function isRelativeDateFilterAllTime(relativeDateFilter) {
|
|
|
273
290
|
return granularity === "GDC.time.year" && from === undefined && to === undefined;
|
|
274
291
|
}
|
|
275
292
|
/** @internal */
|
|
276
|
-
export function declarativeRelativeDateFilterToYaml(relativeDateFilter, {
|
|
293
|
+
export function declarativeRelativeDateFilterToYaml(relativeDateFilter, { connectedAttributeFilters = [], errorContext, ...options }) {
|
|
277
294
|
const map = new YAMLMap();
|
|
278
295
|
map.add(new Pair("type", "date_filter"));
|
|
279
296
|
if (isRelativeDateFilterAllTime(relativeDateFilter)) {
|
|
@@ -294,7 +311,11 @@ export function declarativeRelativeDateFilterToYaml(relativeDateFilter, { entiti
|
|
|
294
311
|
path: ["dataSet"],
|
|
295
312
|
}));
|
|
296
313
|
map.add(new Pair("using", id));
|
|
297
|
-
const carried = processConnectedAttributeFilters(map, connectedAttributeFilters,
|
|
314
|
+
const carried = processConnectedAttributeFilters(map, connectedAttributeFilters, {
|
|
315
|
+
...options,
|
|
316
|
+
emptyValueHandling: relativeDateFilter.emptyValueHandling,
|
|
317
|
+
errorContext,
|
|
318
|
+
});
|
|
298
319
|
return { yaml: map, carried };
|
|
299
320
|
}
|
|
300
321
|
/**
|
package/esm/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export { declarativeMetricToYaml } from "./from/declarativeMetricToYaml.js";
|
|
|
24
24
|
export { declarativeParameterToYaml } from "./from/declarativeParameterToYaml.js";
|
|
25
25
|
export { declarativeComputedAttributeToYaml } from "./from/declarativeComputedAttributeToYaml.js";
|
|
26
26
|
export { declarativeVisualisationToYaml, declarativeVisTypeToYaml, declarativeArithmeticMetricToYaml, declarativeAttributeSortToYaml, declarativeAttributeToYaml, declarativeBucketsToYaml, declarativeInlineMetricToYaml, declarativeMeasureSortToYaml, declarativeNormalMetricToYaml, declarativePoPMetricToYaml, declarativePreviousPeriodMetricToYaml, declarativeSortsToYaml, declarativeTotalToYaml, type YamlSorts, type YamlPostProcessors, type YamlBuckets, type YamlBucketGroup, type YamlBucketGroupItems, type YamlFieldData, } from "./from/declarativeVisualisationToYaml.js";
|
|
27
|
-
export { type ClaimFilterKey, type DateFilterEmitOptions, type WrittenFilter, declarativeAbsoluteDateFilterToYaml, declarativeFiltersToYaml, declarativeMeasureValueFilterToYaml, declarativeNegativeAttributeFilterToYaml, declarativePositiveAttributeFilterToYaml, declarativeRankingFilterToYaml, declarativeRelativeDateFilterToYaml, type YamlFilterMapEntry, type YamlFilters, } from "./from/filtersToYaml.js";
|
|
27
|
+
export { type ClaimFilterKey, type DateFilterEmitOptions, type DeclarativeFiltersToYamlOptions, type WrittenFilter, declarativeAbsoluteDateFilterToYaml, declarativeFiltersToYaml, declarativeMeasureValueFilterToYaml, declarativeNegativeAttributeFilterToYaml, declarativePositiveAttributeFilterToYaml, declarativeRankingFilterToYaml, declarativeRelativeDateFilterToYaml, type YamlFilterMapEntry, type YamlFilters, } from "./from/filtersToYaml.js";
|
|
28
28
|
export { declarativeDashboardToYaml, declarativeDrillToYaml, declarativeFilterContextToYaml, declarativeFiltersConfigToYaml, declarativePluginsToYaml, declarativeSectionsToYaml, declarativeTabsToYaml, declarativeWidgetToYaml, type FilterContextItem, type OverrideDashboardDefinition, } from "./from/declarativeDashboardToYaml.js";
|
|
29
29
|
export { declarativePluginToYaml } from "./from/declarativePluginToYaml.js";
|
|
30
30
|
export { declarativeAttributeHierarchyToYaml } from "./from/declarativeAttributeHierarchyToYaml.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,7 @@ import { DeclarativeReport } from '@gooddata/api-client-tiger';
|
|
|
34
34
|
import { DeclarativeReportPageLayout } from '@gooddata/api-client-tiger';
|
|
35
35
|
import { DeclarativeTable } from '@gooddata/api-client-tiger';
|
|
36
36
|
import { DeclarativeVisualizationObject } from '@gooddata/api-client-tiger';
|
|
37
|
+
import { EmptyValues } from '@gooddata/sdk-model';
|
|
37
38
|
import type { Fields } from '@gooddata/sdk-code-schemas/v1';
|
|
38
39
|
import type { Filter } from '@gooddata/sdk-code-schemas/v1';
|
|
39
40
|
import { IAbsoluteDateFilter } from '@gooddata/sdk-model';
|
|
@@ -1333,7 +1334,9 @@ export declare enum CoreErrorCode {
|
|
|
1333
1334
|
DateFilterWithoutDataSet = "core.dateFilterWithoutDataSet",
|
|
1334
1335
|
FilterSettingNotStorable = "core.filterSettingNotStorable",
|
|
1335
1336
|
PagesAndSectionsMutuallyExclusive = "core.pagesAndSectionsMutuallyExclusive",
|
|
1336
|
-
PagesOrSectionsRequired = "core.pagesOrSectionsRequired"
|
|
1337
|
+
PagesOrSectionsRequired = "core.pagesOrSectionsRequired",
|
|
1338
|
+
MissingRequiredKey = "core.missingRequiredKey",
|
|
1339
|
+
UnsupportedGranularity = "core.unsupportedGranularity"
|
|
1337
1340
|
}
|
|
1338
1341
|
|
|
1339
1342
|
/**
|
|
@@ -1400,11 +1403,14 @@ export declare type DateFilterEmitOptions = {
|
|
|
1400
1403
|
entities: FromEntities;
|
|
1401
1404
|
claimKey: ClaimFilterKey;
|
|
1402
1405
|
connectedAttributeFilters?: IFilter[];
|
|
1406
|
+
/** the date filter's own mode, written as `empty_values` */
|
|
1407
|
+
emptyValueHandling?: EmptyValues;
|
|
1408
|
+
readLegacyEmptyValuesFilter?: boolean;
|
|
1403
1409
|
errorContext?: IErrorContext;
|
|
1404
1410
|
};
|
|
1405
1411
|
|
|
1406
1412
|
/** @internal */
|
|
1407
|
-
export declare function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter: IAbsoluteDateFilter["absoluteDateFilter"], {
|
|
1413
|
+
export declare function declarativeAbsoluteDateFilterToYaml(absoluteDateFilter: IAbsoluteDateFilter["absoluteDateFilter"], { connectedAttributeFilters, errorContext, ...options }: DateFilterEmitOptions): {
|
|
1408
1414
|
yaml: YAMLMap;
|
|
1409
1415
|
carried: WrittenFilter[];
|
|
1410
1416
|
};
|
|
@@ -1481,7 +1487,18 @@ export declare function declarativeFilterContextToYaml(dateFilterConfig?: IDashb
|
|
|
1481
1487
|
export declare function declarativeFiltersConfigToYaml(filtersMap: Record<string, FilterContextItem>, dateFilterConfig?: IDashboardDateFilterConfig, dateFilterConfigs?: IDashboardDateFilterConfigItem[], attributeFilterConfigs?: IDashboardAttributeFilterConfig[], measureValueFilterConfigs?: IDashboardMeasureValueFilterConfig[], errorContext?: IErrorContext): void;
|
|
1482
1488
|
|
|
1483
1489
|
/** @internal */
|
|
1484
|
-
export declare function declarativeFiltersToYaml(entities: FromEntities, filters: IFilter[], errorContext?: IErrorContext): YamlFilters;
|
|
1490
|
+
export declare function declarativeFiltersToYaml(entities: FromEntities, filters: IFilter[], errorContext?: IErrorContext, { readLegacyEmptyValuesFilter }?: DeclarativeFiltersToYamlOptions): YamlFilters;
|
|
1491
|
+
|
|
1492
|
+
/** @internal */
|
|
1493
|
+
/** @internal */
|
|
1494
|
+
export declare type DeclarativeFiltersToYamlOptions = {
|
|
1495
|
+
/**
|
|
1496
|
+
* Whether a date filter's connected attribute filter on the single empty string value is read as the
|
|
1497
|
+
* date filter's `empty_values`: the representation insights saved before `emptyValueHandling` carry on
|
|
1498
|
+
* their own (insight-level) date filters. A metric's such filter is one of its additional filters.
|
|
1499
|
+
*/
|
|
1500
|
+
readLegacyEmptyValuesFilter?: boolean;
|
|
1501
|
+
};
|
|
1485
1502
|
|
|
1486
1503
|
/** @internal */
|
|
1487
1504
|
export declare function declarativeInlineMetricToYaml(def: IMeasureBody, inlineDef: IInlineMeasureDefinition): YAMLMap;
|
|
@@ -1621,7 +1638,7 @@ export declare type DeclarativePublisherPageTemplateV2 = Omit<DeclarativePublish
|
|
|
1621
1638
|
export declare function declarativeRankingFilterToYaml(rankingFilter: IRankingFilterBody, errorContext?: IErrorContext): YAMLMap;
|
|
1622
1639
|
|
|
1623
1640
|
/** @internal */
|
|
1624
|
-
export declare function declarativeRelativeDateFilterToYaml(relativeDateFilter: IRelativeDateFilter["relativeDateFilter"], {
|
|
1641
|
+
export declare function declarativeRelativeDateFilterToYaml(relativeDateFilter: IRelativeDateFilter["relativeDateFilter"], { connectedAttributeFilters, errorContext, ...options }: DateFilterEmitOptions): {
|
|
1625
1642
|
yaml: YAMLMap;
|
|
1626
1643
|
carried: WrittenFilter[];
|
|
1627
1644
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlPublisherEntityToDeclarativeV2.d.ts","sourceRoot":"","sources":["../../src/to/yamlPublisherEntityToDeclarativeV2.ts"],"names":[],"mappings":"AAUA,OAAO,EAEH,KAAK,8BAA8B,EAEnC,KAAK,sCAAsC,EAE3C,KAAK,kCAAkC,EAO1C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,sCAAsC,EAC3C,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAC1C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"yamlPublisherEntityToDeclarativeV2.d.ts","sourceRoot":"","sources":["../../src/to/yamlPublisherEntityToDeclarativeV2.ts"],"names":[],"mappings":"AAUA,OAAO,EAEH,KAAK,8BAA8B,EAEnC,KAAK,sCAAsC,EAE3C,KAAK,kCAAkC,EAO1C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,KAAK,sCAAsC,EAC3C,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAC1C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,oBAAoB,CAAC;AAmOrG;;;;GAIG;AACH,wBAAgB,oCAAoC,CAChD,KAAK,EAAE,sBAAsB,EAC7B,YAAY,CAAC,EAAE,aAAa,GAC7B,8BAA8B,CAEhC;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,KAAK,EAAE,8BAA8B,EACrC,YAAY,CAAC,EAAE,aAAa,GAC7B,sCAAsC,CAExC;AAED;;;;GAIG;AACH,wBAAgB,wCAAwC,CACpD,KAAK,EAAE,0BAA0B,EACjC,YAAY,CAAC,EAAE,aAAa,GAC7B,kCAAkC,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAC/C,KAAK,EAAE,kCAAkC,CAAC,sBAAsB,CAAC,EACjE,YAAY,CAAC,EAAE,aAAa,GAC7B,8BAA8B,CAEhC;AAED,aAAa;AACb,wBAAgB,2CAA2C,CACvD,KAAK,EAAE,kCAAkC,CAAC,8BAA8B,CAAC,EACzE,YAAY,CAAC,EAAE,aAAa,GAC7B,sCAAsC,CAExC;AAED,aAAa;AACb,wBAAgB,uCAAuC,CACnD,KAAK,EAAE,kCAAkC,CAAC,0BAA0B,CAAC,EACrE,YAAY,CAAC,EAAE,aAAa,GAC7B,kCAAkC,CAEpC"}
|
|
@@ -17,6 +17,8 @@ function ignoredFilterToDeclarative(id, errorContext) {
|
|
|
17
17
|
}
|
|
18
18
|
function visualizationToDeclarative(widget, errorContext) {
|
|
19
19
|
const { visualization, date, filters, ignored_filters, ...rest } = widget;
|
|
20
|
+
const widgetContext = updateErrorContext(errorContext, { path: [widget.id] });
|
|
21
|
+
const ignoredContext = updateErrorContext(widgetContext, { path: ["ignored_filters"] });
|
|
20
22
|
return {
|
|
21
23
|
...camelKeys(rest),
|
|
22
24
|
...(visualization === undefined
|
|
@@ -25,11 +27,13 @@ function visualizationToDeclarative(widget, errorContext) {
|
|
|
25
27
|
...(date === undefined ? {} : { dateDataSet: { identifier: date, type: "dataSet" } }),
|
|
26
28
|
...(filters === undefined
|
|
27
29
|
? {}
|
|
28
|
-
: {
|
|
30
|
+
: {
|
|
31
|
+
filters: filtersToDeclarativeV2(filters, "widget", updateErrorContext(widgetContext, { path: ["filters"] })).filters,
|
|
32
|
+
}),
|
|
29
33
|
...(ignored_filters === undefined
|
|
30
34
|
? {}
|
|
31
35
|
: {
|
|
32
|
-
ignoreDocumentFilters: ignored_filters.map((id) => ignoredFilterToDeclarative(id,
|
|
36
|
+
ignoreDocumentFilters: ignored_filters.map((id) => ignoredFilterToDeclarative(id, ignoredContext)),
|
|
33
37
|
}),
|
|
34
38
|
};
|
|
35
39
|
}
|
|
@@ -62,7 +66,9 @@ function pageBodyToDeclarative(body, errorContext) {
|
|
|
62
66
|
layout: layoutNodeToDeclarative(layout, errorContext),
|
|
63
67
|
...(filters === undefined
|
|
64
68
|
? {}
|
|
65
|
-
: {
|
|
69
|
+
: {
|
|
70
|
+
filters: filtersToDeclarativeV2(filters, "page", updateErrorContext(errorContext, { path: ["filters"] })).filters,
|
|
71
|
+
}),
|
|
66
72
|
};
|
|
67
73
|
}
|
|
68
74
|
function documentPageToDeclarative(page, errorContext) {
|
|
@@ -78,10 +84,14 @@ function sectionToDeclarative(section, errorContext) {
|
|
|
78
84
|
const pagesContext = updateErrorContext(errorContext, { path: ["sections", section.id, "pages"] });
|
|
79
85
|
return { ...rest, pages: pages.map((page) => documentPageToDeclarative(page, pagesContext)) };
|
|
80
86
|
}
|
|
81
|
-
function defaultsToDeclarative({ period, ...rest }) {
|
|
87
|
+
function defaultsToDeclarative({ period, ...rest }, errorContext) {
|
|
82
88
|
return {
|
|
83
89
|
...camelKeys(rest),
|
|
84
|
-
...(period === undefined
|
|
90
|
+
...(period === undefined
|
|
91
|
+
? {}
|
|
92
|
+
: {
|
|
93
|
+
period: periodToDeclarativeV2(period, updateErrorContext(errorContext, { path: ["period"] })),
|
|
94
|
+
}),
|
|
85
95
|
};
|
|
86
96
|
}
|
|
87
97
|
function contentToDeclarative(content, errorContext) {
|
|
@@ -96,7 +106,7 @@ function contentToDeclarative(content, errorContext) {
|
|
|
96
106
|
...(defaults === undefined
|
|
97
107
|
? {}
|
|
98
108
|
: {
|
|
99
|
-
defaults: defaultsToDeclarative(defaults),
|
|
109
|
+
defaults: defaultsToDeclarative(defaults, updateErrorContext(errorContext, { path: ["defaults"] })),
|
|
100
110
|
}),
|
|
101
111
|
...declared,
|
|
102
112
|
...camelKeys(rest),
|
|
@@ -122,7 +132,7 @@ function documentBody(input, errorContext) {
|
|
|
122
132
|
assertPublisherContentVersionV2(input, errorContext);
|
|
123
133
|
return {
|
|
124
134
|
...entityFields(input),
|
|
125
|
-
period: periodToDeclarativeV2(input.period),
|
|
135
|
+
period: periodToDeclarativeV2(input.period, updateErrorContext(errorContext, { path: ["period"] })),
|
|
126
136
|
content: contentToDeclarative(input.content, updateErrorContext(errorContext, { path: ["content"] })),
|
|
127
137
|
};
|
|
128
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlVisualisationToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlVisualisationToDeclarative.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"yamlVisualisationToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlVisualisationToDeclarative.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,8BAA8B,EACnC,KAAK,6BAA6B,EACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EASR,MAAM,EAMN,YAAY,EAIZ,KAAK,EAEL,KAAK,EACL,aAAa,EAEhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGH,KAAK,uBAAuB,EAE5B,KAAK,OAAO,EACZ,KAAK,QAAQ,EAIb,KAAK,SAAS,EACd,KAAK,MAAM,EAKd,MAAM,qBAAqB,CAAC;AAyB7B,OAAO,EAAe,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAkC/D,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACtC,QAAQ,CAAC,SAAS,CAAC,EACnB,kBAAkB,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,wBAAwB,GAAG,QAAQ,CAC5G,GAAG;IACA,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,cAAc;AACd,wBAAgB,8BAA8B,CAC1C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,aAAa,GACrB,8BAA8B,CAoChC;AAED,cAAc;AACd,wBAAgB,iCAAiC,CAC7C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,aAAa,GACrB,6BAA6B,CAQ/B;AAiGD,gBAAgB;AAChB,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,aAAa,GACrB;IACC,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5C,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5C,SAAS,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;CACpD,CAmBA;AAuQD,gBAAgB;AAChB,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,KAAK,GAAG,SAAS,EAC1B,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GACzC,SAAS,EAAE,CA4Bb;AAogBD,gBAAgB;AAChB,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,YAAY,GAAG,MAAM,EAAE,GAAG,SAAS,EAC/C,sBAAsB,GAAE,uBAA4B,EAGpD,mBAAmB,UAAQ,GAC5B;IACC,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,sBAAsB,EAAE,uBAAuB,GAAG,SAAS,CAAC;CAC/D,CAsBA;AAID,gBAAgB;AAChB,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,KAAK,EAAE,YAAK,EAAE,mBAAmB,EAAE,MAAM,GAAG,MAAM,EAAE,CASxG;AAID,gBAAgB;AAChB,wBAAgB,wBAAwB,CACpC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,aAAa,GACrB;IACC,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5C,SAAS,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,gBAAgB,EAAE,uBAAuB,CAAC;CAC7C,CAuDA"}
|
|
@@ -28,7 +28,7 @@ import { convertBucketToTitle } from "../utils/convertBucketToTitle.js";
|
|
|
28
28
|
import { mapDateAttribute, mapDateDataset } from "../utils/dateUtils.js";
|
|
29
29
|
import { CoreErrorCode, newError } from "../utils/errors.js";
|
|
30
30
|
import { parseDateValues, yamlConditionToMatch } from "../utils/filterUtils.js";
|
|
31
|
-
import { convertGranularity
|
|
31
|
+
import { convertGranularity } from "../utils/granularityUtils.js";
|
|
32
32
|
import { mapLocationLabel } from "../utils/locationUtils.js";
|
|
33
33
|
import { assertUnreachable, convertIdToTitle, getFullBucket, getFullField } from "../utils/sharedUtils.js";
|
|
34
34
|
import { isAbsoluteDateFilter, isArbitraryTextFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isInlineMetricField, isMatchTextFilter, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricSort, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, parseReferenceObject, } from "../utils/typeGuards.js";
|
|
@@ -509,50 +509,24 @@ function yamlAbsoluteDateFilterToDeclarative(entities, filter, assignFilterLocal
|
|
|
509
509
|
dataSet: createIdentifier(filter.using, { forceType: "dataset" }),
|
|
510
510
|
from: filter.from,
|
|
511
511
|
to: filter.to,
|
|
512
|
+
...dateFilterEmptyValueHandling(filter),
|
|
512
513
|
},
|
|
513
514
|
},
|
|
514
515
|
],
|
|
515
516
|
};
|
|
516
|
-
result = mergeDeclarativeResults(result, dateFilterEmptyValuesToDeclarative(filter));
|
|
517
517
|
result = mergeDeclarativeResults(result, dateFilterWithFieldToDeclarative(entities, filter, assignFilterLocalId));
|
|
518
518
|
return result;
|
|
519
519
|
}
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
negativeAttributeFilter: {
|
|
531
|
-
displayForm: identifier,
|
|
532
|
-
notIn: {
|
|
533
|
-
values: [""],
|
|
534
|
-
},
|
|
535
|
-
},
|
|
536
|
-
},
|
|
537
|
-
],
|
|
538
|
-
};
|
|
539
|
-
}
|
|
540
|
-
case "only": {
|
|
541
|
-
return {
|
|
542
|
-
filters: [
|
|
543
|
-
{
|
|
544
|
-
positiveAttributeFilter: {
|
|
545
|
-
displayForm: identifier,
|
|
546
|
-
in: {
|
|
547
|
-
values: [""],
|
|
548
|
-
},
|
|
549
|
-
},
|
|
550
|
-
},
|
|
551
|
-
],
|
|
552
|
-
};
|
|
553
|
-
}
|
|
554
|
-
}
|
|
555
|
-
return { filters: [] };
|
|
520
|
+
/**
|
|
521
|
+
* `empty_values` is the date filter's own `emptyValueHandling`, as on dashboard filters. Insights saved
|
|
522
|
+
* before carried the mode as a separate attribute filter on the single empty string value instead; that
|
|
523
|
+
* representation is still read (see `processConnectedAttributeFilters`), never written.
|
|
524
|
+
*/
|
|
525
|
+
function dateFilterEmptyValueHandling(filter) {
|
|
526
|
+
const { empty_values } = filter;
|
|
527
|
+
return empty_values === "include" || empty_values === "exclude" || empty_values === "only"
|
|
528
|
+
? { emptyValueHandling: empty_values }
|
|
529
|
+
: {};
|
|
556
530
|
}
|
|
557
531
|
function dateFilterWithFieldToDeclarative(entities, filter, assignFilterLocalId) {
|
|
558
532
|
if (!filter.with) {
|
|
@@ -575,6 +549,24 @@ function yamlRelativeDateFilterToDeclarative(entities, filter, assignFilterLocal
|
|
|
575
549
|
granularity: convertGranularity(filter.granularity),
|
|
576
550
|
from: filter.from,
|
|
577
551
|
to: filter.to,
|
|
552
|
+
...dateFilterEmptyValueHandling(filter),
|
|
553
|
+
},
|
|
554
|
+
},
|
|
555
|
+
],
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
else if (filter.empty_values) {
|
|
559
|
+
// All time carrying an empty values mode is the real All time filter, the one the execution
|
|
560
|
+
// sends and AD stores for it
|
|
561
|
+
result = mergeDeclarativeResults(result, {
|
|
562
|
+
filters: [
|
|
563
|
+
{
|
|
564
|
+
relativeDateFilter: {
|
|
565
|
+
dataSet: identifier,
|
|
566
|
+
granularity: "ALL_TIME_GRANULARITY",
|
|
567
|
+
from: 0,
|
|
568
|
+
to: 0,
|
|
569
|
+
...dateFilterEmptyValueHandling(filter),
|
|
578
570
|
},
|
|
579
571
|
},
|
|
580
572
|
],
|
|
@@ -587,14 +579,12 @@ function yamlRelativeDateFilterToDeclarative(entities, filter, assignFilterLocal
|
|
|
587
579
|
relativeDateFilter: {
|
|
588
580
|
dataSet: identifier,
|
|
589
581
|
// This is not compliant with the types from gdc-model, but this is what AD emits for an all time filter.
|
|
590
|
-
// AD actually cannot understand an ALL_TIME_GRANULARITY granularity.
|
|
591
582
|
granularity: convertGranularity("YEAR"),
|
|
592
583
|
},
|
|
593
584
|
},
|
|
594
585
|
],
|
|
595
586
|
});
|
|
596
587
|
}
|
|
597
|
-
result = mergeDeclarativeResults(result, dateFilterEmptyValuesToDeclarative(filter));
|
|
598
588
|
result = mergeDeclarativeResults(result, dateFilterWithFieldToDeclarative(entities, filter, assignFilterLocalId));
|
|
599
589
|
return result;
|
|
600
590
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describeValue.d.ts","sourceRoot":"","sources":["../../src/utils/describeValue.ts"],"names":[],"mappings":"AAiBA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKpD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
const maxDescriptionLength = 80;
|
|
3
|
+
function asJson(value) {
|
|
4
|
+
// JSON writes NaN and Infinity as null.
|
|
5
|
+
if (typeof value === "number" && !Number.isFinite(value)) {
|
|
6
|
+
return String(value);
|
|
7
|
+
}
|
|
8
|
+
try {
|
|
9
|
+
return JSON.stringify(value) ?? typeof value;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// JSON has no BigInt, and an object that refers to itself cannot be written out.
|
|
13
|
+
return typeof value === "bigint" ? "a bigint" : "an object";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Described as validatePublisherEntityV2 describes a value, so the number 2 and the string "2" read apart.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export function describeValue(value) {
|
|
22
|
+
const description = value === null ? "null" : Array.isArray(value) ? "an array" : asJson(value);
|
|
23
|
+
return description.length > maxDescriptionLength
|
|
24
|
+
? `${description.slice(0, maxDescriptionLength - 1)}…`
|
|
25
|
+
: description;
|
|
26
|
+
}
|
package/esm/utils/errors.d.ts
CHANGED
|
@@ -23,7 +23,9 @@ export declare enum CoreErrorCode {
|
|
|
23
23
|
DateFilterWithoutDataSet = "core.dateFilterWithoutDataSet",
|
|
24
24
|
FilterSettingNotStorable = "core.filterSettingNotStorable",
|
|
25
25
|
PagesAndSectionsMutuallyExclusive = "core.pagesAndSectionsMutuallyExclusive",
|
|
26
|
-
PagesOrSectionsRequired = "core.pagesOrSectionsRequired"
|
|
26
|
+
PagesOrSectionsRequired = "core.pagesOrSectionsRequired",
|
|
27
|
+
MissingRequiredKey = "core.missingRequiredKey",
|
|
28
|
+
UnsupportedGranularity = "core.unsupportedGranularity"
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,aAAa;IAErB,0BAA0B,oCAAoC;IAC9D,0BAA0B,oCAAoC;IAC9D,gBAAgB,0BAA0B;IAC1C,yBAAyB,mCAAmC;IAC5D,yBAAyB,mCAAmC;IAC5D,qBAAqB,+BAA+B;IACpD,oBAAoB,8BAA8B;IAClD,yBAAyB,mCAAmC;IAC5D,2BAA2B,qCAAqC;IAChE,yBAAyB,mCAAmC;IAC5D,8BAA8B,wCAAwC;IACtE,kBAAkB,4BAA4B;IAC9C,mBAAmB,6BAA6B;IAChD,wBAAwB,kCAAkC;IAC1D,sBAAsB,gCAAgC;IACtD,mCAAmC,6CAA6C;IAChF,qBAAqB,+BAA+B;IACpD,yBAAyB,mCAAmC;IAC5D,wBAAwB,kCAAkC;IAC1D,wBAAwB,kCAAkC;IAC1D,iCAAiC,2CAA2C;IAC5E,uBAAuB,iCAAiC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,aAAa;IAErB,0BAA0B,oCAAoC;IAC9D,0BAA0B,oCAAoC;IAC9D,gBAAgB,0BAA0B;IAC1C,yBAAyB,mCAAmC;IAC5D,yBAAyB,mCAAmC;IAC5D,qBAAqB,+BAA+B;IACpD,oBAAoB,8BAA8B;IAClD,yBAAyB,mCAAmC;IAC5D,2BAA2B,qCAAqC;IAChE,yBAAyB,mCAAmC;IAC5D,8BAA8B,wCAAwC;IACtE,kBAAkB,4BAA4B;IAC9C,mBAAmB,6BAA6B;IAChD,wBAAwB,kCAAkC;IAC1D,sBAAsB,gCAAgC;IACtD,mCAAmC,6CAA6C;IAChF,qBAAqB,+BAA+B;IACpD,yBAAyB,mCAAmC;IAC5D,wBAAwB,kCAAkC;IAC1D,wBAAwB,kCAAkC;IAC1D,iCAAiC,2CAA2C;IAC5E,uBAAuB,iCAAiC;IACxD,kBAAkB,4BAA4B;IAC9C,sBAAsB,gCAAgC;CACzD;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAyB3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAyBxD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,aAAa,CAaf;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,KAAK;IACrC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;IAC3D,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,EAAE,OAAO,CAAC,EAAE,aAAa,cAOhG;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,UAO3F"}
|
package/esm/utils/errors.js
CHANGED
|
@@ -27,6 +27,8 @@ export var CoreErrorCode;
|
|
|
27
27
|
CoreErrorCode["FilterSettingNotStorable"] = "core.filterSettingNotStorable";
|
|
28
28
|
CoreErrorCode["PagesAndSectionsMutuallyExclusive"] = "core.pagesAndSectionsMutuallyExclusive";
|
|
29
29
|
CoreErrorCode["PagesOrSectionsRequired"] = "core.pagesOrSectionsRequired";
|
|
30
|
+
CoreErrorCode["MissingRequiredKey"] = "core.missingRequiredKey";
|
|
31
|
+
CoreErrorCode["UnsupportedGranularity"] = "core.unsupportedGranularity";
|
|
30
32
|
})(CoreErrorCode || (CoreErrorCode = {}));
|
|
31
33
|
/**
|
|
32
34
|
* @public
|
|
@@ -49,11 +51,13 @@ export const CoreErrorMessages = {
|
|
|
49
51
|
[CoreErrorCode.DuplicateTabIdentifier]: `Duplicate tab identifier "{0}". Each tab must have a unique identifier within the dashboard.`,
|
|
50
52
|
[CoreErrorCode.TabsAndRootContentMutuallyExclusive]: `Dashboard "{0}" defines both "tabs" and root-level "sections" or "filters". These are mutually exclusive — keep all content inside tabs or at the root, not both.`,
|
|
51
53
|
[CoreErrorCode.InvalidIanaTimezoneId]: `"{0}" is not a valid IANA timezone ID. Use a real timezone such as Europe/Prague or $browserDetected.`,
|
|
52
|
-
[CoreErrorCode.UnsupportedContentVersion]: `
|
|
54
|
+
[CoreErrorCode.UnsupportedContentVersion]: `Expected "{0}", got {1}.`,
|
|
53
55
|
[CoreErrorCode.DateFilterWithoutDataSet]: `Date filter "{0}" names no date dataset. A document date filter must name the date dataset it applies to.`,
|
|
54
56
|
[CoreErrorCode.FilterSettingNotStorable]: `Filter "{0}" sets "{1}", which a {2} cannot store.`,
|
|
55
57
|
[CoreErrorCode.PagesAndSectionsMutuallyExclusive]: `Content defines both "pages" and "sections". Keep the pages at the top level or inside sections, not both.`,
|
|
56
58
|
[CoreErrorCode.PagesOrSectionsRequired]: `Content defines neither "pages" nor "sections". Add one of them; an empty document has "pages: []".`,
|
|
59
|
+
[CoreErrorCode.MissingRequiredKey]: `Missing required key "{0}".`,
|
|
60
|
+
[CoreErrorCode.UnsupportedGranularity]: `Granularity {0} is not supported. Supported granularities: {1}.`,
|
|
57
61
|
};
|
|
58
62
|
/**
|
|
59
63
|
* @public
|
|
@@ -81,6 +85,8 @@ export const CoreErrorTypes = {
|
|
|
81
85
|
[CoreErrorCode.FilterSettingNotStorable]: "FilterSettingNotStorable",
|
|
82
86
|
[CoreErrorCode.PagesAndSectionsMutuallyExclusive]: "PagesAndSectionsMutuallyExclusive",
|
|
83
87
|
[CoreErrorCode.PagesOrSectionsRequired]: "PagesOrSectionsRequired",
|
|
88
|
+
[CoreErrorCode.MissingRequiredKey]: "MissingRequiredKey",
|
|
89
|
+
[CoreErrorCode.UnsupportedGranularity]: "UnsupportedGranularity",
|
|
84
90
|
};
|
|
85
91
|
/**
|
|
86
92
|
* Update error context with new values
|
|
@@ -107,7 +113,7 @@ export function newError(code, params = [], context) {
|
|
|
107
113
|
return err;
|
|
108
114
|
}
|
|
109
115
|
export function buildMessage(message, params, context) {
|
|
110
|
-
const m =
|
|
116
|
+
const m = message.replace(/\{(\d+)}/g, (match, index) => params[Number(index)] ?? match);
|
|
111
117
|
if (context?.path) {
|
|
112
118
|
return `${m} in: ${context.path.join("/")}`;
|
|
113
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisherFilters.d.ts","sourceRoot":"","sources":["../../src/utils/publisherFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,+BAA+B,EAMvC,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAiB,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"publisherFilters.d.ts","sourceRoot":"","sources":["../../src/utils/publisherFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,+BAA+B,EAMvC,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,aAAa,CAAC;AAK9F;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAQ3F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAS3G;AAED;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAErE,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,sBAAsB,CAAC,EAAE,+BAA+B,EAAE,CAAC;CAC9D;AAqCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,uBAAuB,EAC/B,YAAY,CAAC,EAAE,aAAa,GAC7B,mBAAmB,CAsCrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC3B,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,mBAAmB,EACxD,YAAY,CAAC,EAAE,aAAa,GAC7B,gBAAgB,CA8BlB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAChD,OAAO,EAAE,iBAAiB,EAAE,EAC5B,YAAY,CAAC,EAAE,aAAa,GAC7B,IAAI,CASN"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { dashboardFilterLocalIdentifier, isDashboardCommonDateFilter, isDashboardDateFilter, isNoopAllTimeDashboardDateFilter, } from "@gooddata/sdk-model";
|
|
3
3
|
import { declarativeFilterContextToYaml, declarativeFiltersConfigToYaml, } from "../from/declarativeDashboardToYaml.js";
|
|
4
4
|
import { yamlFilterContextToDeclarative } from "../to/yamlDashboardToDeclarative.js";
|
|
5
|
-
import { CoreErrorCode, newError } from "./errors.js";
|
|
5
|
+
import { CoreErrorCode, newError, updateErrorContext } from "./errors.js";
|
|
6
6
|
import { referencesAsStored, referencesAsWritten } from "./publisherFilterRefs.js";
|
|
7
|
+
import { assertPublisherGranularityV2 } from "./publisherPeriodV2.js";
|
|
7
8
|
import { createFilterContextItemKeyName } from "./yamlUtils.js";
|
|
8
9
|
/**
|
|
9
10
|
* A document holds its filters the way a dashboard's filter context does, so the same convertor writes
|
|
@@ -57,6 +58,16 @@ function lostSettings(filter, holder) {
|
|
|
57
58
|
: ["mode", "display_as", "selection_type"].filter((key) => changedSetting(filter, key));
|
|
58
59
|
}
|
|
59
60
|
}
|
|
61
|
+
// The dashboard reader stores WEEK as GDC.time.week, which v2 does not store; WEEK_US is the same week.
|
|
62
|
+
function withStoredWeek(filter) {
|
|
63
|
+
if (!isDashboardDateFilter(filter)) {
|
|
64
|
+
return filter;
|
|
65
|
+
}
|
|
66
|
+
const granularity = filter.dateFilter.granularity;
|
|
67
|
+
return granularity === "GDC.time.week"
|
|
68
|
+
? { dateFilter: { ...filter.dateFilter, granularity: "GDC.time.week_us" } }
|
|
69
|
+
: filter;
|
|
70
|
+
}
|
|
60
71
|
/**
|
|
61
72
|
* Reads a v2 filter list. A setting the v2 shape has nowhere to keep throws instead of being dropped.
|
|
62
73
|
*
|
|
@@ -69,9 +80,13 @@ export function filtersToDeclarativeV2(filters, holder, errorContext) {
|
|
|
69
80
|
if (lost !== undefined) {
|
|
70
81
|
throw newError(CoreErrorCode.FilterSettingNotStorable, [key, lost, holder], errorContext);
|
|
71
82
|
}
|
|
83
|
+
const granularity = setting(filter, "granularity");
|
|
84
|
+
if (filter.type === "date_filter" && granularity != null) {
|
|
85
|
+
assertPublisherGranularityV2(granularity, updateErrorContext(errorContext, { path: [key] }));
|
|
86
|
+
}
|
|
72
87
|
}
|
|
73
88
|
const { filterContext, attributeFilterConfigs } = yamlFilterContextToDeclarative("document", filters);
|
|
74
|
-
const read = filterContext.content?.filters ?? [];
|
|
89
|
+
const read = (filterContext.content?.filters ?? []).map(withStoredWeek);
|
|
75
90
|
const missing = entries.find(([key]) => !read.some((filter) => dashboardFilterLocalIdentifier(filter) === key));
|
|
76
91
|
if (missing !== undefined) {
|
|
77
92
|
throw newError(CoreErrorCode.ItemNotSupported, [missing[0]], errorContext);
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import type { PublisherPeriodV2 as AacPublisherPeriodV2 } from "@gooddata/sdk-code-schemas/v1";
|
|
1
|
+
import type { PublisherPeriodV2 as AacPublisherPeriodV2, PublisherRelativePeriodV2 } from "@gooddata/sdk-code-schemas/v1";
|
|
2
2
|
import { type PublisherPeriodV2 } from "@gooddata/sdk-model";
|
|
3
|
+
import { type IErrorContext } from "./errors.js";
|
|
4
|
+
type YamlPeriodGranularity = PublisherRelativePeriodV2["granularity"];
|
|
3
5
|
/** @internal */
|
|
4
|
-
export declare function
|
|
6
|
+
export declare function assertPublisherGranularityV2(granularity: unknown, errorContext: IErrorContext | undefined): asserts granularity is YamlPeriodGranularity;
|
|
7
|
+
/** @internal */
|
|
8
|
+
export declare function periodToDeclarativeV2(period: AacPublisherPeriodV2, errorContext: IErrorContext | undefined): PublisherPeriodV2;
|
|
5
9
|
/** @internal */
|
|
6
10
|
export declare function periodToYamlV2(period: PublisherPeriodV2): AacPublisherPeriodV2;
|
|
11
|
+
export {};
|
|
7
12
|
//# sourceMappingURL=publisherPeriodV2.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisherPeriodV2.d.ts","sourceRoot":"","sources":["../../src/utils/publisherPeriodV2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,iBAAiB,IAAI,oBAAoB,
|
|
1
|
+
{"version":3,"file":"publisherPeriodV2.d.ts","sourceRoot":"","sources":["../../src/utils/publisherPeriodV2.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,iBAAiB,IAAI,oBAAoB,EACzC,yBAAyB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA8B,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGzF,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,aAAa,CAAC;AAE9F,KAAK,qBAAqB,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;AAuBtE,gBAAgB;AAChB,wBAAgB,4BAA4B,CACxC,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,aAAa,GAAG,SAAS,GACxC,OAAO,CAAC,WAAW,IAAI,qBAAqB,CAS9C;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,oBAAoB,EAC5B,YAAY,EAAE,aAAa,GAAG,SAAS,GACxC,iBAAiB,CAWnB;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,CAK9E"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { describeValue } from "./describeValue.js";
|
|
3
|
+
import { CoreErrorCode, newError, updateErrorContext } from "./errors.js";
|
|
2
4
|
const storedGranularities = {
|
|
3
5
|
SECOND: "GDC.time.second",
|
|
4
6
|
MINUTE: "GDC.time.minute",
|
|
5
7
|
HOUR: "GDC.time.hour",
|
|
6
8
|
DAY: "GDC.time.date",
|
|
9
|
+
WEEK: "GDC.time.week_us",
|
|
7
10
|
WEEK_US: "GDC.time.week_us",
|
|
8
11
|
MONTH: "GDC.time.month",
|
|
9
12
|
QUARTER: "GDC.time.quarter",
|
|
@@ -12,10 +15,20 @@ const storedGranularities = {
|
|
|
12
15
|
FISCAL_QUARTER: "GDC.time.fiscal_quarter",
|
|
13
16
|
FISCAL_MONTH: "GDC.time.fiscal_month",
|
|
14
17
|
};
|
|
15
|
-
const yamlGranularities = Object.fromEntries(Object.entries(storedGranularities)
|
|
18
|
+
const yamlGranularities = Object.fromEntries(Object.entries(storedGranularities)
|
|
19
|
+
.filter(([yaml]) => yaml !== "WEEK")
|
|
20
|
+
.map(([yaml, stored]) => [stored, yaml]));
|
|
16
21
|
/** @internal */
|
|
17
|
-
export function
|
|
22
|
+
export function assertPublisherGranularityV2(granularity, errorContext) {
|
|
23
|
+
if (typeof granularity === "string" && Object.hasOwn(storedGranularities, granularity)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
throw newError(CoreErrorCode.UnsupportedGranularity, [describeValue(granularity), Object.keys(storedGranularities).join(", ")], updateErrorContext(errorContext, { path: ["granularity"] }));
|
|
27
|
+
}
|
|
28
|
+
/** @internal */
|
|
29
|
+
export function periodToDeclarativeV2(period, errorContext) {
|
|
18
30
|
if ("granularity" in period) {
|
|
31
|
+
assertPublisherGranularityV2(period.granularity, errorContext);
|
|
19
32
|
return {
|
|
20
33
|
type: "relative",
|
|
21
34
|
granularity: storedGranularities[period.granularity],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisherVersionV2.d.ts","sourceRoot":"","sources":["../../src/utils/publisherVersionV2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"publisherVersionV2.d.ts","sourceRoot":"","sources":["../../src/utils/publisherVersionV2.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGrE,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,aAAa,CAAC;AAE9F,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,EAAE,yBAA+B,CAAC;AAExE,gBAAgB;AAChB,wBAAgB,+BAA+B,CAC3C,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACjC,YAAY,EAAE,aAAa,GAAG,SAAS,GACxC,IAAI,CAaN"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { describeValue } from "./describeValue.js";
|
|
2
3
|
import { CoreErrorCode, newError, updateErrorContext } from "./errors.js";
|
|
3
4
|
/** @internal */
|
|
4
5
|
export const publisherContentVersionV2 = "2";
|
|
5
6
|
/** @internal */
|
|
6
7
|
export function assertPublisherContentVersionV2({ version }, errorContext) {
|
|
7
|
-
if (version
|
|
8
|
-
|
|
8
|
+
if (version === publisherContentVersionV2) {
|
|
9
|
+
return;
|
|
9
10
|
}
|
|
11
|
+
const context = updateErrorContext(errorContext, { path: ["version"] });
|
|
12
|
+
if (version === undefined) {
|
|
13
|
+
throw newError(CoreErrorCode.MissingRequiredKey, ["version"], context);
|
|
14
|
+
}
|
|
15
|
+
throw newError(CoreErrorCode.UnsupportedContentVersion, [publisherContentVersionV2, describeValue(version)], context);
|
|
10
16
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-code-convertors",
|
|
3
|
-
"version": "11.65.0-alpha.
|
|
3
|
+
"version": "11.65.0-alpha.11",
|
|
4
4
|
"description": "GoodData AAC declarative converters",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"uuid": "11.1.1",
|
|
28
28
|
"yaml": "2.8.3",
|
|
29
|
-
"@gooddata/api-client-tiger": "11.65.0-alpha.
|
|
30
|
-
"@gooddata/sdk-
|
|
31
|
-
"@gooddata/sdk-
|
|
29
|
+
"@gooddata/api-client-tiger": "11.65.0-alpha.11",
|
|
30
|
+
"@gooddata/sdk-model": "11.65.0-alpha.11",
|
|
31
|
+
"@gooddata/sdk-code-schemas": "11.65.0-alpha.11"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@microsoft/api-extractor": "7.59.2",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"oxlint-tsgolint": "7.0.2001",
|
|
49
49
|
"typescript": "7.0.2",
|
|
50
50
|
"vitest": "5.0.4",
|
|
51
|
-
"@gooddata/eslint-config": "11.65.0-alpha.
|
|
52
|
-
"@gooddata/oxlint-config": "11.65.0-alpha.
|
|
51
|
+
"@gooddata/eslint-config": "11.65.0-alpha.11",
|
|
52
|
+
"@gooddata/oxlint-config": "11.65.0-alpha.11"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"_phase:build": "npm run build",
|