@gooddata/sdk-code-convertors 11.65.0-alpha.1 → 11.65.0-alpha.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"declarativeVisualisationToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeVisualisationToYaml.ts"],"names":[],"mappings":"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"}
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
- export declare function declarativeFiltersToYaml(entities: FromEntities, filters: IFilter[], errorContext?: IErrorContext): YamlFilters;
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"], { entities, claimKey, connectedAttributeFilters, errorContext }: DateFilterEmitOptions): {
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"], { entities, claimKey, connectedAttributeFilters, errorContext }: DateFilterEmitOptions): {
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,GAC7B,WAAW,CAsEb;AA+JD,gBAAgB;AAChB,MAAM,MAAM,qBAAqB,GAAG;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,aAAa,CAAC;CAChC,CAAC;AAEF,gBAAgB;AAChB,wBAAgB,mCAAmC,CAC/C,kBAAkB,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,EAC7D,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAA8B,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAC5F;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CA8B7C;AAgBD,gBAAgB;AAChB,wBAAgB,mCAAmC,CAC/C,kBAAkB,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,EAC7D,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAA8B,EAAE,YAAY,EAAE,EAAE,qBAAqB,GAC5F;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,aAAa,EAAE,CAAA;CAAE,CAsC7C;AAsBD,gBAAgB;AAChB,wBAAgB,wCAAwC,CACpD,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,4BAA4B,EAC7C,YAAY,CAAC,EAAE,aAAa,GAC7B,OAAO,CAkBT;AAED,gBAAgB;AAChB,wBAAgB,wCAAwC,CACpD,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,4BAA4B,EAC7C,YAAY,CAAC,EAAE,aAAa,GAC7B,OAAO,CAyBT;AAmJD,gBAAgB;AAChB,wBAAgB,mCAAmC,CAC/C,kBAAkB,EAAE,uBAAuB,EAC3C,YAAY,CAAC,EAAE,aAAa,GAC7B,OAAO,CA4DT;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAC1C,aAAa,EAAE,kBAAkB,EACjC,YAAY,CAAC,EAAE,aAAa,GAC7B,OAAO,CAmDT"}
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
- /** Adds `empty_values` and `with` to `map`, returning the filters written under the latter. */
229
- function processConnectedAttributeFilters(map, connectedAttributeFilters, entities, claimKey, errorContext) {
230
- // empty values filter
231
- const emptyValuesFilter = connectedAttributeFilters.find((filter) => detectEmptyValuesFilterType(filter));
232
- if (emptyValuesFilter) {
233
- map.add(new Pair("empty_values", detectEmptyValuesFilterType(emptyValuesFilter)));
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 !== emptyValuesFilter);
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, { entities, claimKey, connectedAttributeFilters = [], errorContext }) {
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, entities, claimKey, errorContext);
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, { entities, claimKey, connectedAttributeFilters = [], errorContext }) {
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, entities, claimKey, errorContext);
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";
@@ -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"], { entities, claimKey, connectedAttributeFilters, errorContext }: DateFilterEmitOptions): {
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"], { entities, claimKey, connectedAttributeFilters, errorContext }: DateFilterEmitOptions): {
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;AA6MrG;;;;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"}
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
- : { filters: filtersToDeclarativeV2(filters, "widget", errorContext).filters }),
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, errorContext)),
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
- : { filters: filtersToDeclarativeV2(filters, "page", errorContext).filters }),
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 ? {} : { period: periodToDeclarativeV2(period) }),
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,EAUR,MAAM,EAMN,YAAY,EAIZ,KAAK,EAEL,KAAK,EACL,aAAa,EAEhB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEH,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;AAuhBD,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"}
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, convertGranularityToId } from "../utils/granularityUtils.js";
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
- function dateFilterEmptyValuesToDeclarative(filter) {
521
- if (!filter.empty_values) {
522
- return { filters: [] };
523
- }
524
- const identifier = createIdentifier(`${filter.using}.${convertGranularityToId(filter.granularity ?? "YEAR")}`, { forceType: "label" });
525
- switch (filter.empty_values) {
526
- case "exclude": {
527
- return {
528
- filters: [
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,7 @@
1
+ /**
2
+ * Described as validatePublisherEntityV2 describes a value, so the number 2 and the string "2" read apart.
3
+ *
4
+ * @internal
5
+ */
6
+ export declare function describeValue(value: unknown): string;
7
+ //# sourceMappingURL=describeValue.d.ts.map
@@ -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
+ }
@@ -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;CAC3D;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAuB3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAuBxD,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,UAU3F"}
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"}
@@ -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]: `Content version "{0}" is not supported. Supported version: "{1}".`,
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 = params.reduce((msg, param, index) => msg.replace(new RegExp(`\\{${index}}`, "gi"), param), message);
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,EAAY,MAAM,aAAa,CAAC;AAI1E;;;;;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;AA0BD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,uBAAuB,EAC/B,YAAY,CAAC,EAAE,aAAa,GAC7B,mBAAmB,CAgCrB;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"}
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 periodToDeclarativeV2(period: AacPublisherPeriodV2): PublisherPeriodV2;
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,EAE5C,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA8B,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAsBzF,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB,GAAG,iBAAiB,CAUrF;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,oBAAoB,CAK9E"}
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).map(([yaml, stored]) => [stored, yaml]));
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 periodToDeclarativeV2(period) {
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;AAErE,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,CAQN"}
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 !== publisherContentVersionV2) {
8
- throw newError(CoreErrorCode.UnsupportedContentVersion, [String(version), publisherContentVersionV2], updateErrorContext(errorContext, { path: ["version"] }));
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.1",
3
+ "version": "11.65.0-alpha.10",
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.1",
30
- "@gooddata/sdk-code-schemas": "11.65.0-alpha.1",
31
- "@gooddata/sdk-model": "11.65.0-alpha.1"
29
+ "@gooddata/api-client-tiger": "11.65.0-alpha.10",
30
+ "@gooddata/sdk-code-schemas": "11.65.0-alpha.10",
31
+ "@gooddata/sdk-model": "11.65.0-alpha.10"
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.1",
52
- "@gooddata/oxlint-config": "11.65.0-alpha.1"
51
+ "@gooddata/eslint-config": "11.65.0-alpha.10",
52
+ "@gooddata/oxlint-config": "11.65.0-alpha.10"
53
53
  },
54
54
  "scripts": {
55
55
  "_phase:build": "npm run build",