@gooddata/sdk-code-convertors 11.66.0 → 11.67.0-alpha.2

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":"buildAfmExecution.d.ts","sourceRoot":"","sources":["../../src/execution/buildAfmExecution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAER,KAAK,EAIR,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA0C3E,cAAc;AACd,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAkB5F"}
1
+ {"version":3,"file":"buildAfmExecution.d.ts","sourceRoot":"","sources":["../../src/execution/buildAfmExecution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGR,KAAK,EAIR,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA2C3E,cAAc;AACd,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAkB5F"}
@@ -3,7 +3,7 @@ import { convertBucketToTitle } from "../utils/convertBucketToTitle.js";
3
3
  import { mapDateAttribute, mapDateDataset } from "../utils/dateUtils.js";
4
4
  import { parseDateValues, yamlConditionToMatch } from "../utils/filterUtils.js";
5
5
  import { getFullField } from "../utils/sharedUtils.js";
6
- import { isAbsoluteDateFilter, isArbitraryTextFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isComputedAttributeReference, isInlineMetricField, isMatchTextFilter, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.js";
6
+ import { isAbsoluteDateFilter, isAllTimeDateFilter, isArbitraryTextFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isComputedAttributeReference, isInlineMetricField, isMatchTextFilter, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.js";
7
7
  import { createIdentifier, createLocalIdentifier } from "../utils/yamlUtils.js";
8
8
  const MATCH_OPERATOR_TO_AFM = {
9
9
  startsWith: "STARTS_WITH",
@@ -184,11 +184,26 @@ function buildDimensions(query, execution) {
184
184
  sorting,
185
185
  };
186
186
  }
187
+ /**
188
+ * `empty_values` is the date filter's own mode; the AFM spells it in upper case.
189
+ */
190
+ function dateFilterEmptyValueHandling(filter) {
191
+ const { empty_values } = filter;
192
+ return empty_values === "include" || empty_values === "exclude" || empty_values === "only"
193
+ ? { emptyValueHandling: empty_values.toUpperCase() }
194
+ : {};
195
+ }
196
+ /**
197
+ * Converts AaC `filter_by` into AFM filters for the query preview.
198
+ *
199
+ * sdk-backend-tiger's `convertFilter` converts the equivalent model filters for a stored insight. When
200
+ * you add or change a date filter property here, change it there too, and extend
201
+ * `AacFilterParity.test.ts` in sdk-backend-tiger, which fails if the two diverge.
202
+ */
187
203
  function buildFilters(entities, filters_by) {
188
204
  if (!filters_by) {
189
205
  return [];
190
206
  }
191
- // TODO
192
207
  const filters = [];
193
208
  Object.keys(filters_by ?? {}).forEach((key) => {
194
209
  const filter = filters_by[key];
@@ -198,10 +213,24 @@ function buildFilters(entities, filters_by) {
198
213
  dataset: createIdentifier(filter.using, { forceType: "dataset" }),
199
214
  from: filter.from,
200
215
  to: filter.to,
216
+ ...dateFilterEmptyValueHandling(filter),
201
217
  },
202
218
  });
203
219
  }
204
- if (isRelativeDateFilter(filter)) {
220
+ if (isAllTimeDateFilter(filter)) {
221
+ // Mirrors convertFilter in sdk-backend-tiger: All time only has an effect with an empty
222
+ // values mode that filters, anything else is a no-op and is not sent. The relative filter
223
+ // is not an option, it requires from/to/granularity.
224
+ if (filter.empty_values === "exclude" || filter.empty_values === "only") {
225
+ filters.push({
226
+ allTimeDateFilter: {
227
+ dataset: createIdentifier(filter.using, { forceType: "dataset" }),
228
+ ...dateFilterEmptyValueHandling(filter),
229
+ },
230
+ });
231
+ }
232
+ }
233
+ else if (isRelativeDateFilter(filter)) {
205
234
  filters.push({
206
235
  relativeDateFilter: {
207
236
  dataset: createIdentifier(filter.using, { forceType: "dataset" }),
@@ -209,6 +238,7 @@ function buildFilters(entities, filters_by) {
209
238
  undefined),
210
239
  from: filter.from,
211
240
  to: filter.to,
241
+ ...dateFilterEmptyValueHandling(filter),
212
242
  },
213
243
  });
214
244
  }
@@ -54,8 +54,8 @@ export function declarativeDashboardToYaml(entities, dashboard, filterContexts,
54
54
  if (content.disableFilterViews) {
55
55
  doc.add(entryWithSpace("filter_views", false));
56
56
  }
57
- if (content.disablePersistentFiltersAcrossTabs) {
58
- doc.add(entryWithSpace("persistent_filters_across_tabs", false));
57
+ if (typeof content.enablePersistentFiltersAcrossTabs === "boolean") {
58
+ doc.add(entryWithSpace("persistent_filters_across_tabs", content.enablePersistentFiltersAcrossTabs));
59
59
  }
60
60
  if (content.timezoneConfig) {
61
61
  doc.add(entryWithSpace("timezone_config", declarativeTimezoneConfigToYaml(content.timezoneConfig)));
package/esm/index.d.ts CHANGED
@@ -18,6 +18,7 @@ export { yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, yaml
18
18
  export { yamlDashboardToDeclarative, yamlFilterContextToDeclarative, yamlInteractionToDeclarative, yamlPluginsToDeclarative, yamlWidgetItemToDeclarative, yamlWidgetToDeclarative, type DashboardDefinition, type DashboardSection, type DashboardWidget, type EmptyValueHandling, type FilterContextDefinition, } from "./to/yamlDashboardToDeclarative.js";
19
19
  export { yamlPluginToDeclarative } from "./to/yamlPluginToDeclarative.js";
20
20
  export { yamlAttributeHierarchyToDeclarative } from "./to/yamlAttributeHierarchyToDeclarative.js";
21
+ export { yamlDocumentsToDeclarativeWorkspace, yamlEntitiesToDeclarativeWorkspace, type YamlDocumentsToDeclarativeWorkspaceOptions, } from "./to/yamlDocumentsToDeclarativeWorkspace.js";
21
22
  export { declarativeDatasetToYaml } from "./from/declarativeDatasetToYaml.js";
22
23
  export { declarativeDateInstanceToYaml } from "./from/declarativeDateInstanceToYaml.js";
23
24
  export { declarativeMetricToYaml } from "./from/declarativeMetricToYaml.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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"}
package/esm/index.js CHANGED
@@ -19,6 +19,7 @@ export { yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, yaml
19
19
  export { yamlDashboardToDeclarative, yamlFilterContextToDeclarative, yamlInteractionToDeclarative, yamlPluginsToDeclarative, yamlWidgetItemToDeclarative, yamlWidgetToDeclarative, } from "./to/yamlDashboardToDeclarative.js";
20
20
  export { yamlPluginToDeclarative } from "./to/yamlPluginToDeclarative.js";
21
21
  export { yamlAttributeHierarchyToDeclarative } from "./to/yamlAttributeHierarchyToDeclarative.js";
22
+ export { yamlDocumentsToDeclarativeWorkspace, yamlEntitiesToDeclarativeWorkspace, } from "./to/yamlDocumentsToDeclarativeWorkspace.js";
22
23
  // Entity converters: Declarative API → YAML
23
24
  export { declarativeDatasetToYaml } from "./from/declarativeDatasetToYaml.js";
24
25
  export { declarativeDateInstanceToYaml } from "./from/declarativeDateInstanceToYaml.js";
@@ -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 { DeclarativeWorkspaceModel } from '@gooddata/api-client-tiger';
37
38
  import { EmptyValues } from '@gooddata/sdk-model';
38
39
  import type { Fields } from '@gooddata/sdk-code-schemas/v1';
39
40
  import type { Filter } from '@gooddata/sdk-code-schemas/v1';
@@ -1366,7 +1367,7 @@ export declare interface CustomTooltip {
1366
1367
  export declare type CustomTooltipPlacement = "above" | "below" | "replace";
1367
1368
 
1368
1369
  /** @internal */
1369
- export declare type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "disablePersistentFiltersAcrossTabs" | "attributeFilterConfigs" | "measureValueFilterConfigs" | "filterContextRef" | "tabs" | "activeTabLocalIdentifier"> & {
1370
+ export declare type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "enablePersistentFiltersAcrossTabs" | "attributeFilterConfigs" | "measureValueFilterConfigs" | "filterContextRef" | "tabs" | "activeTabLocalIdentifier"> & {
1370
1371
  version: string;
1371
1372
  };
1372
1373
 
@@ -4590,6 +4591,47 @@ export declare function yamlDatasetToDeclarative(entities: ExportEntities, input
4590
4591
  /** @public */
4591
4592
  export declare function yamlDateDatesetToDeclarative(input: DateDataset): DeclarativeDateDataset;
4592
4593
 
4594
+ /**
4595
+ * Converts the AaC documents of one workspace to its declarative model.
4596
+ *
4597
+ * @remarks
4598
+ * The documents must be valid against the AaC schema. The ids must be unique in each collection of
4599
+ * the declarative model. For example, all chart types share the `visualizationObjects` collection.
4600
+ * The function does not report duplicate ids.
4601
+ *
4602
+ * The function generates the filter context ids. Two calls give different ids.
4603
+ *
4604
+ * @param documents - the AaC documents of the workspace
4605
+ * @param options - the conversion options
4606
+ * @returns the declarative model of the workspace
4607
+ *
4608
+ * @public
4609
+ */
4610
+ export declare function yamlDocumentsToDeclarativeWorkspace(documents: EntityData[], options?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
4611
+
4612
+ /**
4613
+ * Options of {@link yamlDocumentsToDeclarativeWorkspace}.
4614
+ *
4615
+ * @public
4616
+ */
4617
+ export declare type YamlDocumentsToDeclarativeWorkspaceOptions = {
4618
+ /**
4619
+ * Data source of the datasets that do not name their own `data_source`.
4620
+ *
4621
+ * @remarks
4622
+ * A dataset with no `data_source` gets an empty data source id when this is not set.
4623
+ */
4624
+ dataSourceId?: string;
4625
+ };
4626
+
4627
+ /**
4628
+ * Converts the entities of one workspace to its declarative model and stores the declarative form
4629
+ * of each entity in its `declarative` property.
4630
+ *
4631
+ * @internal
4632
+ */
4633
+ export declare function yamlEntitiesToDeclarativeWorkspace(entities: ExportEntities, { dataSourceId }?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
4634
+
4593
4635
  /** @internal */
4594
4636
  export declare type YamlFieldData = {
4595
4637
  format?: string;
@@ -4,7 +4,7 @@ import { type IDashboardAttributeFilterConfig, type IDashboardDateFilter, type I
4
4
  import { type OverrideDashboardDefinition } from "../from/declarativeDashboardToYaml.js";
5
5
  import { type ExportEntities } from "../types.js";
6
6
  /** @internal */
7
- export type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "disablePersistentFiltersAcrossTabs" | "attributeFilterConfigs" | "measureValueFilterConfigs" | "filterContextRef" | "tabs" | "activeTabLocalIdentifier"> & {
7
+ export type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "enablePersistentFiltersAcrossTabs" | "attributeFilterConfigs" | "measureValueFilterConfigs" | "filterContextRef" | "tabs" | "activeTabLocalIdentifier"> & {
8
8
  version: string;
9
9
  };
10
10
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"yamlDashboardToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlDashboardToDeclarative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yamlDashboardToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlDashboardToDeclarative.ts"],"names":[],"mappings":"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"}
@@ -177,8 +177,8 @@ export function yamlDashboardToDeclarative(entities, input) {
177
177
  ...(input.user_filters_save === false ? { disableUserFilterSave: true } : {}),
178
178
  ...(input.user_filters_reset === false ? { disableUserFilterReset: true } : {}),
179
179
  ...(input.filter_views === false ? { disableFilterViews: true } : {}),
180
- ...(input.persistent_filters_across_tabs === false
181
- ? { disablePersistentFiltersAcrossTabs: true }
180
+ ...(typeof input.persistent_filters_across_tabs === "boolean"
181
+ ? { enablePersistentFiltersAcrossTabs: input.persistent_filters_across_tabs }
182
182
  : {}),
183
183
  }
184
184
  : {
@@ -195,8 +195,8 @@ export function yamlDashboardToDeclarative(entities, input) {
195
195
  ...(input.user_filters_save === false ? { disableUserFilterSave: true } : {}),
196
196
  ...(input.user_filters_reset === false ? { disableUserFilterReset: true } : {}),
197
197
  ...(input.filter_views === false ? { disableFilterViews: true } : {}),
198
- ...(input.persistent_filters_across_tabs === false
199
- ? { disablePersistentFiltersAcrossTabs: true }
198
+ ...(typeof input.persistent_filters_across_tabs === "boolean"
199
+ ? { enablePersistentFiltersAcrossTabs: input.persistent_filters_across_tabs }
200
200
  : {}),
201
201
  filterContextRef: filterContext
202
202
  ? createIdentifier(filterContext.id, { forceType: "filterContext" })
@@ -0,0 +1,41 @@
1
+ import { type DeclarativeWorkspaceModel } from "@gooddata/api-client-tiger";
2
+ import { type EntityData, type ExportEntities } from "../types.js";
3
+ /**
4
+ * Options of {@link yamlDocumentsToDeclarativeWorkspace}.
5
+ *
6
+ * @public
7
+ */
8
+ export type YamlDocumentsToDeclarativeWorkspaceOptions = {
9
+ /**
10
+ * Data source of the datasets that do not name their own `data_source`.
11
+ *
12
+ * @remarks
13
+ * A dataset with no `data_source` gets an empty data source id when this is not set.
14
+ */
15
+ dataSourceId?: string;
16
+ };
17
+ /**
18
+ * Converts the AaC documents of one workspace to its declarative model.
19
+ *
20
+ * @remarks
21
+ * The documents must be valid against the AaC schema. The ids must be unique in each collection of
22
+ * the declarative model. For example, all chart types share the `visualizationObjects` collection.
23
+ * The function does not report duplicate ids.
24
+ *
25
+ * The function generates the filter context ids. Two calls give different ids.
26
+ *
27
+ * @param documents - the AaC documents of the workspace
28
+ * @param options - the conversion options
29
+ * @returns the declarative model of the workspace
30
+ *
31
+ * @public
32
+ */
33
+ export declare function yamlDocumentsToDeclarativeWorkspace(documents: EntityData[], options?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
34
+ /**
35
+ * Converts the entities of one workspace to its declarative model and stores the declarative form
36
+ * of each entity in its `declarative` property.
37
+ *
38
+ * @internal
39
+ */
40
+ export declare function yamlEntitiesToDeclarativeWorkspace(entities: ExportEntities, { dataSourceId }?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
41
+ //# sourceMappingURL=yamlDocumentsToDeclarativeWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yamlDocumentsToDeclarativeWorkspace.d.ts","sourceRoot":"","sources":["../../src/to/yamlDocumentsToDeclarativeWorkspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAc3G,OAAO,EAA8B,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAY/F;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACrD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mCAAmC,CAC/C,SAAS,EAAE,UAAU,EAAE,EACvB,OAAO,GAAE,0CAA+C,GACzD,QAAQ,CAAC,yBAAyB,CAAC,CAQrC;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAC9C,QAAQ,EAAE,cAAc,EACxB,EAAE,YAAY,EAAE,GAAE,0CAA+C,GAClE,QAAQ,CAAC,yBAAyB,CAAC,CAqCrC"}
@@ -0,0 +1,74 @@
1
+ // (C) 2023-2026 GoodData Corporation
2
+ import { AttributeHierarchyTypes, ComputedAttributeTypes, DashboardTypes, DatasetTypes, DateDatasetTypes, MetricTypes, ParameterTypes, PluginTypes, VisualisationsTypes, } from "../conts.js";
3
+ import { yamlAttributeHierarchyToDeclarative } from "./yamlAttributeHierarchyToDeclarative.js";
4
+ import { yamlComputedAttributeToDeclarative } from "./yamlComputedAttributeToDeclarative.js";
5
+ import { yamlDashboardToDeclarative } from "./yamlDashboardToDeclarative.js";
6
+ import { yamlDatasetToDeclarative } from "./yamlDatasetToDeclarative.js";
7
+ import { yamlDateDatesetToDeclarative } from "./yamlDateDatasetToDeclarative.js";
8
+ import { yamlMetricToDeclarative } from "./yamlMetricToDeclarative.js";
9
+ import { yamlParameterToDeclarative } from "./yamlParameterToDeclarative.js";
10
+ import { yamlPluginToDeclarative } from "./yamlPluginToDeclarative.js";
11
+ import { yamlVisualisationToDeclarative } from "./yamlVisualisationToDeclarative.js";
12
+ /**
13
+ * Converts the AaC documents of one workspace to its declarative model.
14
+ *
15
+ * @remarks
16
+ * The documents must be valid against the AaC schema. The ids must be unique in each collection of
17
+ * the declarative model. For example, all chart types share the `visualizationObjects` collection.
18
+ * The function does not report duplicate ids.
19
+ *
20
+ * The function generates the filter context ids. Two calls give different ids.
21
+ *
22
+ * @param documents - the AaC documents of the workspace
23
+ * @param options - the conversion options
24
+ * @returns the declarative model of the workspace
25
+ *
26
+ * @public
27
+ */
28
+ export function yamlDocumentsToDeclarativeWorkspace(documents, options = {}) {
29
+ const entities = documents.map((document) => ({
30
+ id: document.id,
31
+ type: document.type,
32
+ path: "",
33
+ data: document,
34
+ }));
35
+ return yamlEntitiesToDeclarativeWorkspace(entities, options);
36
+ }
37
+ /**
38
+ * Converts the entities of one workspace to its declarative model and stores the declarative form
39
+ * of each entity in its `declarative` property.
40
+ *
41
+ * @internal
42
+ */
43
+ export function yamlEntitiesToDeclarativeWorkspace(entities, { dataSourceId } = {}) {
44
+ const convert = (types, toDeclarative) => entities
45
+ .filter((entity) => types.includes(entity.type))
46
+ .map((entity) => {
47
+ const declarative = toDeclarative(entity.data);
48
+ entity.declarative = declarative;
49
+ return declarative;
50
+ });
51
+ const dashboards = convert(DashboardTypes, (dashboard) => yamlDashboardToDeclarative(entities, dashboard));
52
+ return {
53
+ ldm: {
54
+ datasets: convert(DatasetTypes, (dataset) => yamlDatasetToDeclarative(entities, dataset, dataSourceId)),
55
+ dateInstances: convert(DateDatasetTypes, yamlDateDatesetToDeclarative),
56
+ },
57
+ analytics: {
58
+ metrics: convert(MetricTypes, yamlMetricToDeclarative),
59
+ parameters: convert(ParameterTypes, yamlParameterToDeclarative),
60
+ computedAttributes: convert(ComputedAttributeTypes, yamlComputedAttributeToDeclarative),
61
+ visualizationObjects: convert(VisualisationsTypes, (visualisation) => yamlVisualisationToDeclarative(entities, visualisation)),
62
+ analyticalDashboards: dashboards.map(({ dashboard }) => dashboard),
63
+ filterContexts: dashboards.flatMap(dashboardFilterContexts),
64
+ dashboardPlugins: convert(PluginTypes, yamlPluginToDeclarative),
65
+ attributeHierarchies: convert(AttributeHierarchyTypes, yamlAttributeHierarchyToDeclarative),
66
+ },
67
+ };
68
+ }
69
+ // A V2 dashboard repeats its root filter context as the filter context of its first tab.
70
+ // A V3 dashboard has no root filter context.
71
+ function dashboardFilterContexts({ filterContext, tabFilterContexts = [], }) {
72
+ const contexts = filterContext ? [filterContext, ...tabFilterContexts] : tabFilterContexts;
73
+ return contexts.filter((context, index) => contexts.findIndex(({ id }) => id === context.id) === index);
74
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-code-convertors",
3
- "version": "11.66.0",
3
+ "version": "11.67.0-alpha.2",
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.66.0",
30
- "@gooddata/sdk-code-schemas": "11.66.0",
31
- "@gooddata/sdk-model": "11.66.0"
29
+ "@gooddata/api-client-tiger": "11.67.0-alpha.2",
30
+ "@gooddata/sdk-model": "11.67.0-alpha.2",
31
+ "@gooddata/sdk-code-schemas": "11.67.0-alpha.2"
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/oxlint-config": "11.66.0",
52
- "@gooddata/eslint-config": "11.66.0"
51
+ "@gooddata/eslint-config": "11.67.0-alpha.2",
52
+ "@gooddata/oxlint-config": "11.67.0-alpha.2"
53
53
  },
54
54
  "scripts": {
55
55
  "_phase:build": "npm run build",