@gooddata/sdk-code-convertors 11.56.0-alpha.5 → 11.56.0-alpha.7
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/execution/buildAfmExecution.d.ts.map +1 -1
- package/esm/execution/buildAfmExecution.js +5 -2
- package/esm/from/declarativeComputedAttributeToYaml.d.ts.map +1 -1
- package/esm/from/declarativeComputedAttributeToYaml.js +24 -2
- package/esm/from/declarativeParameterToYaml.d.ts +2 -2
- package/esm/from/declarativeParameterToYaml.d.ts.map +1 -1
- package/esm/from/declarativeParameterToYaml.js +13 -0
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/sdk-code-convertors.d.ts +27 -4
- package/esm/to/yamlComputedAttributeToDeclarative.d.ts.map +1 -1
- package/esm/to/yamlComputedAttributeToDeclarative.js +23 -9
- package/esm/to/yamlDashboardToDeclarative.js +1 -1
- package/esm/to/yamlParameterToDeclarative.d.ts +2 -2
- package/esm/to/yamlParameterToDeclarative.d.ts.map +1 -1
- package/esm/to/yamlParameterToDeclarative.js +13 -0
- package/esm/utils/convertBucketToTitle.d.ts.map +1 -1
- package/esm/utils/convertBucketToTitle.js +7 -0
- package/esm/utils/parameterUtils.d.ts +21 -3
- package/esm/utils/parameterUtils.d.ts.map +1 -1
- package/esm/utils/parameterUtils.js +8 -0
- package/esm/utils/typeGuards.d.ts +11 -2
- package/esm/utils/typeGuards.d.ts.map +1 -1
- package/esm/utils/typeGuards.js +25 -3
- package/esm/utils/yamlUtils.d.ts.map +1 -1
- package/esm/utils/yamlUtils.js +27 -4
- package/package.json +9 -10
|
@@ -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;
|
|
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"}
|
|
@@ -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, isInlineMetricField, isMatchTextFilter, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.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";
|
|
7
7
|
import { createIdentifier, createLocalIdentifier } from "../utils/yamlUtils.js";
|
|
8
8
|
const MATCH_OPERATOR_TO_AFM = {
|
|
9
9
|
startsWith: "STARTS_WITH",
|
|
@@ -49,7 +49,10 @@ function buildExecution(entities, query) {
|
|
|
49
49
|
if (isAttributeField(fieldDef)) {
|
|
50
50
|
return {
|
|
51
51
|
localIdentifier: field,
|
|
52
|
-
|
|
52
|
+
// a computed attribute keeps its own type, everything else is asked for as a label
|
|
53
|
+
label: isComputedAttributeReference(fieldDef.using)
|
|
54
|
+
? createIdentifier(fieldDef.using)
|
|
55
|
+
: createIdentifier(fieldDef.using, { forceType: "label" }),
|
|
53
56
|
showAllValues: fieldDef.show_all_values,
|
|
54
57
|
};
|
|
55
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarativeComputedAttributeToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeComputedAttributeToYaml.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,cAAc;AACd,wBAAgB,kCAAkC,CAAC,iBAAiB,EAAE,4BAA4B,GAAG;IACjG,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"declarativeComputedAttributeToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeComputedAttributeToYaml.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,cAAc;AACd,wBAAgB,kCAAkC,CAAC,iBAAiB,EAAE,4BAA4B,GAAG;IACjG,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CAC3B,CAqDA"}
|
|
@@ -15,8 +15,30 @@ export function declarativeComputedAttributeToYaml(computedAttribute) {
|
|
|
15
15
|
fillOptionalMetaFields(doc, computedAttribute);
|
|
16
16
|
// Add MAQL field
|
|
17
17
|
doc.add(entryWithSpace("maql", computedAttribute.content.maql ?? ""));
|
|
18
|
-
//
|
|
19
|
-
|
|
18
|
+
// Add formatting of the computed values
|
|
19
|
+
if (computedAttribute.content.format) {
|
|
20
|
+
doc.add(doc.createPair("format", computedAttribute.content.format));
|
|
21
|
+
}
|
|
22
|
+
if (computedAttribute.content.metricType) {
|
|
23
|
+
doc.add(doc.createPair("metric_type", computedAttribute.content.metricType));
|
|
24
|
+
}
|
|
25
|
+
// Add typing of the computed values
|
|
26
|
+
if (computedAttribute.dataType) {
|
|
27
|
+
doc.add(doc.createPair("data_type", computedAttribute.dataType));
|
|
28
|
+
}
|
|
29
|
+
if (computedAttribute.valueType) {
|
|
30
|
+
doc.add(doc.createPair("value_type", computedAttribute.valueType));
|
|
31
|
+
}
|
|
32
|
+
if (computedAttribute.isNullable !== undefined) {
|
|
33
|
+
doc.add(doc.createPair("is_nullable", computedAttribute.isNullable));
|
|
34
|
+
}
|
|
35
|
+
if (computedAttribute.nullValue !== undefined) {
|
|
36
|
+
doc.add(doc.createPair("null_value_join_replacement", computedAttribute.nullValue));
|
|
37
|
+
}
|
|
38
|
+
// Add visibility flag only when hidden
|
|
39
|
+
if (computedAttribute.isHidden === true) {
|
|
40
|
+
doc.add(doc.createPair("show_in_ai_results", false));
|
|
41
|
+
}
|
|
20
42
|
if (computedAttribute.locale) {
|
|
21
43
|
doc.add(doc.createPair("locale", computedAttribute.locale));
|
|
22
44
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Parameter } from "@gooddata/sdk-code-schemas/v1";
|
|
2
|
-
import { type
|
|
2
|
+
import { type DeclarativeCodeParameter } from "../utils/parameterUtils.js";
|
|
3
3
|
/** @public */
|
|
4
|
-
export declare function declarativeParameterToYaml(parameter:
|
|
4
|
+
export declare function declarativeParameterToYaml(parameter: DeclarativeCodeParameter): {
|
|
5
5
|
content: string;
|
|
6
6
|
json: Parameter;
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarativeParameterToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeParameterToYaml.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"declarativeParameterToYaml.d.ts","sourceRoot":"","sources":["../../src/from/declarativeParameterToYaml.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,SAAS,EAGZ,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,4BAA4B,CAAC;AAIpC,cAAc;AACd,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,wBAAwB,GAAG;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;CACnB,CAwBA"}
|
|
@@ -24,6 +24,11 @@ export function declarativeParameterToYaml(parameter) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
function declarativeParameterDefinitionToYaml(definition) {
|
|
27
|
+
return definition.type === "NUMBER"
|
|
28
|
+
? declarativeNumberDefinitionToYaml(definition)
|
|
29
|
+
: declarativeStringDefinitionToYaml(definition);
|
|
30
|
+
}
|
|
31
|
+
function declarativeStringDefinitionToYaml(definition) {
|
|
27
32
|
const { minLength, maxLength, allowedValues } = definition.constraints ?? {};
|
|
28
33
|
// The schema requires a non-empty list, so an empty one from the server means "free text".
|
|
29
34
|
const [first, ...rest] = allowedValues ?? [];
|
|
@@ -37,3 +42,11 @@ function declarativeParameterDefinitionToYaml(definition) {
|
|
|
37
42
|
}),
|
|
38
43
|
};
|
|
39
44
|
}
|
|
45
|
+
function declarativeNumberDefinitionToYaml(definition) {
|
|
46
|
+
const { min, max } = definition.constraints ?? {};
|
|
47
|
+
return {
|
|
48
|
+
type: "NUMBER",
|
|
49
|
+
defaultValue: definition.defaultValue,
|
|
50
|
+
...optionalConstraints({ min, max }),
|
|
51
|
+
};
|
|
52
|
+
}
|
package/esm/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { yamlDatasetToDeclarative, buildAttributeLabels, buildAttributes, buildF
|
|
|
4
4
|
export { yamlDateDatesetToDeclarative } from "./to/yamlDateDatasetToDeclarative.js";
|
|
5
5
|
export { yamlMetricToDeclarative } from "./to/yamlMetricToDeclarative.js";
|
|
6
6
|
export { yamlParameterToDeclarative } from "./to/yamlParameterToDeclarative.js";
|
|
7
|
-
export { isDeclarativeStringParameter, type DeclarativeStringParameter } from "./utils/parameterUtils.js";
|
|
7
|
+
export { isDeclarativeCodeParameter, isDeclarativeNumberParameter, isDeclarativeStringParameter, type DeclarativeCodeParameter, type DeclarativeNumberParameter, type DeclarativeStringParameter, } from "./utils/parameterUtils.js";
|
|
8
8
|
export { yamlComputedAttributeToDeclarative } from "./to/yamlComputedAttributeToDeclarative.js";
|
|
9
9
|
export { yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, yamlBucketsToDeclarative, yamlFiltersToDeclarative, yamlReportToDeclarative, yamlReportTotalToDeclarative, yamlSortsToDeclarative, type VisualisationDefinition, } from "./to/yamlVisualisationToDeclarative.js";
|
|
10
10
|
export { yamlDashboardToDeclarative, yamlFilterContextToDeclarative, yamlInteractionToDeclarative, yamlPluginsToDeclarative, yamlWidgetItemToDeclarative, yamlWidgetToDeclarative, type DashboardDefinition, type DashboardSection, type DashboardWidget, type EmptyValueHandling, type FilterContextDefinition, } from "./to/yamlDashboardToDeclarative.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACR,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,SAAS,GACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,WAAW,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EACH,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,eAAe,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { yamlDatasetToDeclarative, buildAttributeLabels, buildAttributes, buildF
|
|
|
6
6
|
export { yamlDateDatesetToDeclarative } from "./to/yamlDateDatasetToDeclarative.js";
|
|
7
7
|
export { yamlMetricToDeclarative } from "./to/yamlMetricToDeclarative.js";
|
|
8
8
|
export { yamlParameterToDeclarative } from "./to/yamlParameterToDeclarative.js";
|
|
9
|
-
export { isDeclarativeStringParameter } from "./utils/parameterUtils.js";
|
|
9
|
+
export { isDeclarativeCodeParameter, isDeclarativeNumberParameter, isDeclarativeStringParameter, } from "./utils/parameterUtils.js";
|
|
10
10
|
export { yamlComputedAttributeToDeclarative } from "./to/yamlComputedAttributeToDeclarative.js";
|
|
11
11
|
export { yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, yamlBucketsToDeclarative, yamlFiltersToDeclarative, yamlReportToDeclarative, yamlReportTotalToDeclarative, yamlSortsToDeclarative, } from "./to/yamlVisualisationToDeclarative.js";
|
|
12
12
|
export { yamlDashboardToDeclarative, yamlFilterContextToDeclarative, yamlInteractionToDeclarative, yamlPluginsToDeclarative, yamlWidgetItemToDeclarative, yamlWidgetToDeclarative, } from "./to/yamlDashboardToDeclarative.js";
|
|
@@ -77,6 +77,7 @@ import type { ListOfColors } from '@gooddata/sdk-code-schemas/v1';
|
|
|
77
77
|
import type { Metadata } from '@gooddata/sdk-code-schemas/v1';
|
|
78
78
|
import type { Metric } from '@gooddata/sdk-code-schemas/v1';
|
|
79
79
|
import type { MetricField } from '@gooddata/sdk-code-schemas/v1';
|
|
80
|
+
import { NumberParameterDefinition } from '@gooddata/api-client-tiger';
|
|
80
81
|
import { ObjRef } from '@gooddata/sdk-model';
|
|
81
82
|
import { ObjRefInScope } from '@gooddata/sdk-model';
|
|
82
83
|
import { Pair } from 'yaml';
|
|
@@ -1354,6 +1355,14 @@ export declare function declarativeAttributeToYaml(def: IAttributeBody, errorCon
|
|
|
1354
1355
|
/** @internal */
|
|
1355
1356
|
export declare function declarativeBucketsToYaml(entities: FromEntities, buckets: IBucket[], errorContext?: IErrorContext): YamlBuckets;
|
|
1356
1357
|
|
|
1358
|
+
/**
|
|
1359
|
+
* A parameter AAC can represent as code: textual or numeric. Anything else has to stay under
|
|
1360
|
+
* whatever tool created it.
|
|
1361
|
+
*
|
|
1362
|
+
* @public
|
|
1363
|
+
*/
|
|
1364
|
+
export declare type DeclarativeCodeParameter = DeclarativeStringParameter | DeclarativeNumberParameter;
|
|
1365
|
+
|
|
1357
1366
|
/** @public */
|
|
1358
1367
|
export declare function declarativeComputedAttributeToYaml(computedAttribute: DeclarativeComputedAttribute): {
|
|
1359
1368
|
content: string;
|
|
@@ -1423,8 +1432,17 @@ export declare function declarativeNegativeAttributeFilterToYaml(entities: FromE
|
|
|
1423
1432
|
/** @internal */
|
|
1424
1433
|
export declare function declarativeNormalMetricToYaml(def: IMeasureBody, metricDefinition: IMeasureDefinition, postProcessors: YamlPostProcessors, errorContext?: IErrorContext): YAMLMap;
|
|
1425
1434
|
|
|
1435
|
+
/**
|
|
1436
|
+
* A numeric parameter as the declarative API carries it.
|
|
1437
|
+
*
|
|
1438
|
+
* @public
|
|
1439
|
+
*/
|
|
1440
|
+
export declare type DeclarativeNumberParameter = DeclarativeParameter & {
|
|
1441
|
+
content: NumberParameterDefinition;
|
|
1442
|
+
};
|
|
1443
|
+
|
|
1426
1444
|
/** @public */
|
|
1427
|
-
export declare function declarativeParameterToYaml(parameter:
|
|
1445
|
+
export declare function declarativeParameterToYaml(parameter: DeclarativeCodeParameter): {
|
|
1428
1446
|
content: string;
|
|
1429
1447
|
json: Parameter;
|
|
1430
1448
|
};
|
|
@@ -1463,8 +1481,7 @@ export declare function declarativeSectionsToYaml(layout?: IDashboardLayout, ent
|
|
|
1463
1481
|
export declare function declarativeSortsToYaml(sorts: ISortItem[], _errorContext?: IErrorContext): YamlSorts;
|
|
1464
1482
|
|
|
1465
1483
|
/**
|
|
1466
|
-
* A parameter
|
|
1467
|
-
* has to stay under whatever tool created it.
|
|
1484
|
+
* A textual parameter as the declarative API carries it.
|
|
1468
1485
|
*
|
|
1469
1486
|
* @public
|
|
1470
1487
|
*/
|
|
@@ -2647,6 +2664,12 @@ export declare interface IScatterChartConfig {
|
|
|
2647
2664
|
DEFAULTS: ConfigDefaults<ScatterChartConfigProperties>;
|
|
2648
2665
|
}
|
|
2649
2666
|
|
|
2667
|
+
/** @public */
|
|
2668
|
+
export declare function isDeclarativeCodeParameter(parameter: DeclarativeParameter): parameter is DeclarativeCodeParameter;
|
|
2669
|
+
|
|
2670
|
+
/** @public */
|
|
2671
|
+
export declare function isDeclarativeNumberParameter(parameter: DeclarativeParameter): parameter is DeclarativeNumberParameter;
|
|
2672
|
+
|
|
2650
2673
|
/** @public */
|
|
2651
2674
|
export declare function isDeclarativeStringParameter(parameter: DeclarativeParameter): parameter is DeclarativeStringParameter;
|
|
2652
2675
|
|
|
@@ -4317,7 +4340,7 @@ export declare function yamlInteractionToDeclarative(entities: ExportEntities, v
|
|
|
4317
4340
|
export declare function yamlMetricToDeclarative(input: Metric): DeclarativeMetric;
|
|
4318
4341
|
|
|
4319
4342
|
/** @public */
|
|
4320
|
-
export declare function yamlParameterToDeclarative(input: Parameter):
|
|
4343
|
+
export declare function yamlParameterToDeclarative(input: Parameter): DeclarativeCodeParameter;
|
|
4321
4344
|
|
|
4322
4345
|
/** @internal */
|
|
4323
4346
|
export declare function yamlPluginsToDeclarative(plugins: Dashboard["plugins"]): IDashboardPluginLink[] | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlComputedAttributeToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlComputedAttributeToDeclarative.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"yamlComputedAttributeToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlComputedAttributeToDeclarative.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIvE,cAAc;AACd,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,iBAAiB,GAAG,4BAA4B,CAwCzG"}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { convertIdToTitle } from "../utils/sharedUtils.js";
|
|
3
|
-
/**
|
|
4
|
-
* A computed attribute is textual for now: the backend does not transfer the value type from
|
|
5
|
-
* metadata yet, so every computed attribute is interpreted as a STRING/TEXT one. The YAML shape
|
|
6
|
-
* therefore does not expose dataType/valueType and the defaults are filled in here.
|
|
7
|
-
*/
|
|
8
|
-
const DEFAULT_DATA_TYPE = "STRING";
|
|
9
|
-
const DEFAULT_VALUE_TYPE = "TEXT";
|
|
10
3
|
/** @public */
|
|
11
4
|
export function yamlComputedAttributeToDeclarative(input) {
|
|
12
5
|
// Assuming it's validated already by the `validate` command and all options are accounted for
|
|
@@ -18,9 +11,30 @@ export function yamlComputedAttributeToDeclarative(input) {
|
|
|
18
11
|
content: {
|
|
19
12
|
maql: input.maql,
|
|
20
13
|
},
|
|
21
|
-
dataType: DEFAULT_DATA_TYPE,
|
|
22
|
-
valueType: DEFAULT_VALUE_TYPE,
|
|
23
14
|
};
|
|
15
|
+
// Optional fields are only sent when the yaml sets them, so the backend keeps applying its own
|
|
16
|
+
// defaults (STRING/TEXT/UNSPECIFIED) instead of the convertor forcing them on every deploy.
|
|
17
|
+
if (input.format !== undefined) {
|
|
18
|
+
output.content.format = input.format;
|
|
19
|
+
}
|
|
20
|
+
if (input.metric_type !== undefined) {
|
|
21
|
+
output.content.metricType = input.metric_type;
|
|
22
|
+
}
|
|
23
|
+
if (input.data_type !== undefined) {
|
|
24
|
+
output.dataType = input.data_type;
|
|
25
|
+
}
|
|
26
|
+
if (input.value_type !== undefined) {
|
|
27
|
+
output.valueType = input.value_type;
|
|
28
|
+
}
|
|
29
|
+
if (input.is_nullable !== undefined) {
|
|
30
|
+
output.isNullable = input.is_nullable;
|
|
31
|
+
}
|
|
32
|
+
if (input.null_value_join_replacement !== undefined) {
|
|
33
|
+
output.nullValue = input.null_value_join_replacement;
|
|
34
|
+
}
|
|
35
|
+
if (input.show_in_ai_results !== undefined) {
|
|
36
|
+
output.isHidden = input.show_in_ai_results === false;
|
|
37
|
+
}
|
|
24
38
|
if (input.locale !== undefined) {
|
|
25
39
|
output.locale = input.locale;
|
|
26
40
|
}
|
|
@@ -570,7 +570,7 @@ function sourceInsightFilterIdToDeclarative(filterId, sourceVisualizationFilters
|
|
|
570
570
|
}
|
|
571
571
|
function yamlIgnoredFilterToDeclarative(input) {
|
|
572
572
|
const ref = parseReferenceObject(input);
|
|
573
|
-
if (ref?.type === "label") {
|
|
573
|
+
if (ref?.type === "label" || ref?.type === "computed_attribute") {
|
|
574
574
|
return {
|
|
575
575
|
type: "attributeFilterReference",
|
|
576
576
|
displayForm: createIdentifier(input),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Parameter } from "@gooddata/sdk-code-schemas/v1";
|
|
2
|
-
import { type
|
|
2
|
+
import { type DeclarativeCodeParameter } from "../utils/parameterUtils.js";
|
|
3
3
|
/** @public */
|
|
4
|
-
export declare function yamlParameterToDeclarative(input: Parameter):
|
|
4
|
+
export declare function yamlParameterToDeclarative(input: Parameter): DeclarativeCodeParameter;
|
|
5
5
|
//# sourceMappingURL=yamlParameterToDeclarative.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlParameterToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlParameterToDeclarative.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"yamlParameterToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlParameterToDeclarative.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,SAAS,EAGZ,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,4BAA4B,CAAC;AAGpC,cAAc;AACd,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,GAAG,wBAAwB,CAQrF"}
|
|
@@ -12,6 +12,11 @@ export function yamlParameterToDeclarative(input) {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
function yamlParameterDefinitionToDeclarative(definition) {
|
|
15
|
+
return definition.type === "NUMBER"
|
|
16
|
+
? yamlNumberDefinitionToDeclarative(definition)
|
|
17
|
+
: yamlStringDefinitionToDeclarative(definition);
|
|
18
|
+
}
|
|
19
|
+
function yamlStringDefinitionToDeclarative(definition) {
|
|
15
20
|
const { minLength, maxLength, allowedValues } = definition.constraints ?? {};
|
|
16
21
|
return {
|
|
17
22
|
type: "STRING",
|
|
@@ -23,3 +28,11 @@ function yamlParameterDefinitionToDeclarative(definition) {
|
|
|
23
28
|
}),
|
|
24
29
|
};
|
|
25
30
|
}
|
|
31
|
+
function yamlNumberDefinitionToDeclarative(definition) {
|
|
32
|
+
const { min, max } = definition.constraints ?? {};
|
|
33
|
+
return {
|
|
34
|
+
type: "NUMBER",
|
|
35
|
+
defaultValue: definition.defaultValue,
|
|
36
|
+
...optionalConstraints({ min, max }),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertBucketToTitle.d.ts","sourceRoot":"","sources":["../../src/utils/convertBucketToTitle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"convertBucketToTitle.d.ts","sourceRoot":"","sources":["../../src/utils/convertBucketToTitle.ts"],"names":[],"mappings":"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"}
|
|
@@ -353,6 +353,13 @@ function findObjectProps(entities, item) {
|
|
|
353
353
|
firstLetterUpperCase(convertIdToTitle(item.identifier.id).toLowerCase()),
|
|
354
354
|
};
|
|
355
355
|
}
|
|
356
|
+
case "computedAttribute": {
|
|
357
|
+
const found = entities.find((entity) => entity.type === "computed_attribute" && entity.id === item.identifier.id);
|
|
358
|
+
const title = found ? found.data.title : undefined;
|
|
359
|
+
return {
|
|
360
|
+
title: title ?? firstLetterUpperCase(convertIdToTitle(item.identifier.id).toLowerCase()),
|
|
361
|
+
};
|
|
362
|
+
}
|
|
356
363
|
case "label":
|
|
357
364
|
case "metric": {
|
|
358
365
|
const found = items.labels.find((label) => label.id === item.identifier.id);
|
|
@@ -1,15 +1,33 @@
|
|
|
1
|
-
import { type DeclarativeParameter, type StringParameterDefinition } from "@gooddata/api-client-tiger";
|
|
1
|
+
import { type DeclarativeParameter, type NumberParameterDefinition, type StringParameterDefinition } from "@gooddata/api-client-tiger";
|
|
2
2
|
/**
|
|
3
|
-
* A parameter
|
|
4
|
-
* has to stay under whatever tool created it.
|
|
3
|
+
* A textual parameter as the declarative API carries it.
|
|
5
4
|
*
|
|
6
5
|
* @public
|
|
7
6
|
*/
|
|
8
7
|
export type DeclarativeStringParameter = DeclarativeParameter & {
|
|
9
8
|
content: StringParameterDefinition;
|
|
10
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* A numeric parameter as the declarative API carries it.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export type DeclarativeNumberParameter = DeclarativeParameter & {
|
|
16
|
+
content: NumberParameterDefinition;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* A parameter AAC can represent as code: textual or numeric. Anything else has to stay under
|
|
20
|
+
* whatever tool created it.
|
|
21
|
+
*
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export type DeclarativeCodeParameter = DeclarativeStringParameter | DeclarativeNumberParameter;
|
|
11
25
|
/** @public */
|
|
12
26
|
export declare function isDeclarativeStringParameter(parameter: DeclarativeParameter): parameter is DeclarativeStringParameter;
|
|
27
|
+
/** @public */
|
|
28
|
+
export declare function isDeclarativeNumberParameter(parameter: DeclarativeParameter): parameter is DeclarativeNumberParameter;
|
|
29
|
+
/** @public */
|
|
30
|
+
export declare function isDeclarativeCodeParameter(parameter: DeclarativeParameter): parameter is DeclarativeCodeParameter;
|
|
13
31
|
/** Same keys, each narrowed to its defined type — what remains after dropping undefined values. */
|
|
14
32
|
type DefinedValues<T> = {
|
|
15
33
|
[K in keyof T]?: Exclude<T[K], undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EACjC,MAAM,4BAA4B,CAAC;AAEpC;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAAE,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAEvG;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,oBAAoB,GAAG;IAAE,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAEvG;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,0BAA0B,GAAG,0BAA0B,CAAC;AAE/F,cAAc;AACd,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,oBAAoB,GAChC,SAAS,IAAI,0BAA0B,CAEzC;AAED,cAAc;AACd,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,oBAAoB,GAChC,SAAS,IAAI,0BAA0B,CAEzC;AAED,cAAc;AACd,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,oBAAoB,GAChC,SAAS,IAAI,wBAAwB,CAEvC;AAED,mGAAmG;AACnG,KAAK,aAAa,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,CAMxG;AAED,iHAAiH;AACjH,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IACjF,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAEA"}
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
export function isDeclarativeStringParameter(parameter) {
|
|
4
4
|
return parameter.content.type === "STRING";
|
|
5
5
|
}
|
|
6
|
+
/** @public */
|
|
7
|
+
export function isDeclarativeNumberParameter(parameter) {
|
|
8
|
+
return parameter.content.type === "NUMBER";
|
|
9
|
+
}
|
|
10
|
+
/** @public */
|
|
11
|
+
export function isDeclarativeCodeParameter(parameter) {
|
|
12
|
+
return isDeclarativeStringParameter(parameter) || isDeclarativeNumberParameter(parameter);
|
|
13
|
+
}
|
|
6
14
|
/**
|
|
7
15
|
* Spreadable `constraints` entry for a parameter definition: present only when at least one
|
|
8
16
|
* restriction is set, and never carrying a key whose value is undefined.
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
import type { All, ArithmeticMetricField, Attribute, AttributeField, AttributeFilter, AttributeSort, CalculatedMetricField, Comparison, ComputedAttribute, ContainerWidget, DashboardAbsoluteDateFilter, DashboardAttributeFilter, DashboardMetricValueFilter, DashboardRelativeDateFilter, DashboardTextFilter, Dataset, DateDataset, DateFilter, Fact, InlineMetricField, Metric, MetricField, MetricSort, MetricValueFilter, MultipleConditions, PoPMetricField, PreviousPeriodMetricField, Range, RankingFilter, RichTextWidget, TextFilter, VisualisationWidget, VisualizationSwitcherWidget } from "@gooddata/sdk-code-schemas/v1";
|
|
2
2
|
export type ReferenceObject = {
|
|
3
|
-
type: "fact" | "label" | "metric" | "dataset" | "attribute" | "visualisation" | "plugin" | "dashboard" | "attribute_hierarchy";
|
|
3
|
+
type: "fact" | "label" | "computed_attribute" | "metric" | "dataset" | "attribute" | "visualisation" | "plugin" | "dashboard" | "attribute_hierarchy";
|
|
4
4
|
identifier: string;
|
|
5
5
|
};
|
|
6
6
|
export type TextFilterCondition = TextFilter["condition"];
|
|
7
|
-
export declare const SupportedReferenceTypes: readonly ["fact", "label", "metric", "dataset", "attribute"];
|
|
7
|
+
export declare const SupportedReferenceTypes: readonly ["fact", "label", "computed_attribute", "metric", "dataset", "attribute"];
|
|
8
|
+
/**
|
|
9
|
+
* Reference prefixes that stand for an attribute-like object a query field, an attribute filter
|
|
10
|
+
* or a drill can use. A computed attribute behaves as a label with computed values.
|
|
11
|
+
*/
|
|
12
|
+
export declare const AttributeLikeReferenceTypes: ReferenceObject["type"][];
|
|
8
13
|
export declare function parseReferenceObject(obj: string): ReferenceObject | null;
|
|
9
14
|
export declare const AttrTypes: Attribute["type"][];
|
|
10
15
|
export declare function isAttribute(obj: unknown): obj is Attribute;
|
|
11
16
|
export declare function isAttributeField(obj: unknown): obj is AttributeField;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the reference names a computed attribute (`computed_attribute/{id}`).
|
|
19
|
+
*/
|
|
20
|
+
export declare function isComputedAttributeReference(reference: string): boolean;
|
|
12
21
|
export declare function isInlineMetricField(obj: unknown): obj is InlineMetricField;
|
|
13
22
|
export declare function isMetricField(obj: unknown): obj is MetricField;
|
|
14
23
|
export declare function isCalculatedMetricField(obj: unknown): obj is CalculatedMetricField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../src/utils/typeGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,GAAG,EACH,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,UAAU,EACV,IAAI,EACJ,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,yBAAyB,EACzB,KAAK,EACL,aAAa,EACb,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,2BAA2B,EAC9B,MAAM,+BAA+B,CAAC;AAEvC,MAAM,MAAM,eAAe,GAAG;IAC1B,IAAI,EACE,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,WAAW,GACX,eAAe,GACf,QAAQ,GACR,WAAW,GACX,qBAAqB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;AAE1D,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"typeGuards.d.ts","sourceRoot":"","sources":["../../src/utils/typeGuards.ts"],"names":[],"mappings":"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"}
|
package/esm/utils/typeGuards.js
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
// (C) 2023-2026 GoodData Corporation
|
|
2
|
-
export const SupportedReferenceTypes = [
|
|
2
|
+
export const SupportedReferenceTypes = [
|
|
3
|
+
"fact",
|
|
4
|
+
"label",
|
|
5
|
+
"computed_attribute",
|
|
6
|
+
"metric",
|
|
7
|
+
"dataset",
|
|
8
|
+
"attribute",
|
|
9
|
+
];
|
|
10
|
+
/**
|
|
11
|
+
* Reference prefixes that stand for an attribute-like object a query field, an attribute filter
|
|
12
|
+
* or a drill can use. A computed attribute behaves as a label with computed values.
|
|
13
|
+
*/
|
|
14
|
+
export const AttributeLikeReferenceTypes = [
|
|
15
|
+
"attribute",
|
|
16
|
+
"label",
|
|
17
|
+
"computed_attribute",
|
|
18
|
+
];
|
|
3
19
|
export function parseReferenceObject(obj) {
|
|
4
20
|
const [t, identifier] = obj?.split("/") ?? [];
|
|
5
21
|
const type = t;
|
|
@@ -25,10 +41,16 @@ export function isAttributeField(obj) {
|
|
|
25
41
|
typeof obj.using === "string" &&
|
|
26
42
|
!("aggregation" in obj)) {
|
|
27
43
|
const id = parseReferenceObject(obj.using);
|
|
28
|
-
return Boolean(id && [
|
|
44
|
+
return Boolean(id && [...AttributeLikeReferenceTypes, "fact"].includes(id.type));
|
|
29
45
|
}
|
|
30
46
|
return false;
|
|
31
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Whether the reference names a computed attribute (`computed_attribute/{id}`).
|
|
50
|
+
*/
|
|
51
|
+
export function isComputedAttributeReference(reference) {
|
|
52
|
+
return parseReferenceObject(reference)?.type === "computed_attribute";
|
|
53
|
+
}
|
|
32
54
|
export function isInlineMetricField(obj) {
|
|
33
55
|
return typeof obj === "object" && obj !== null && "maql" in obj && typeof obj.maql === "string";
|
|
34
56
|
}
|
|
@@ -101,7 +123,7 @@ export function isAttributeFilter(obj) {
|
|
|
101
123
|
"type" in obj &&
|
|
102
124
|
obj.type === "attribute_filter") {
|
|
103
125
|
const id = parseReferenceObject(obj.using);
|
|
104
|
-
return Boolean(id &&
|
|
126
|
+
return Boolean(id && AttributeLikeReferenceTypes.includes(id.type));
|
|
105
127
|
}
|
|
106
128
|
return false;
|
|
107
129
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/yamlUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAgBrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,aAAa,CAAC;AAK9F,KAAK,eAAe,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EACjC,GAAG,EAAE,eAAe,EACpB,SAAS,UAAO,QAiBnB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,uCAKrD;AAED,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC7C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,6EAUzB;AAED,wBAAgB,SAAS,CACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC7C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACxC;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CA0B7C;AAED,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,iBAAiB,EACvB,IAAI,GAAE,MAAe,EACrB,YAAY,CAAC,EAAE,aAAa,UAyC/B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,MAAe,EAAE,YAAY,CAAC,EAAE,aAAa,UA6DzG;AAED,cAAc;AACd,wBAAgB,aAAa,CACzB,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,mBAAmB,EACjD,MAAM,CAAC,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,aAAa,GAC7B,MAAM,CAgBR;
|
|
1
|
+
{"version":3,"file":"yamlUtils.d.ts","sourceRoot":"","sources":["../../src/utils/yamlUtils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAExB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,KAAK,aAAa,EAgBrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAiB,KAAK,aAAa,EAAgC,MAAM,aAAa,CAAC;AAK9F,KAAK,eAAe,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,EACjC,GAAG,EAAE,eAAe,EACpB,SAAS,UAAO,QAiBnB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,uCAKrD;AAED,wBAAgB,wBAAwB,CACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC7C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,kBAAkB,GAAG,SAAS,EACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,6EAUzB;AAED,wBAAgB,SAAS,CACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC7C,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,OAAO,EAAE,kBAAkB,GAAG,SAAS,GACxC;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CA0B7C;AAED,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,iBAAiB,EACvB,IAAI,GAAE,MAAe,EACrB,YAAY,CAAC,EAAE,aAAa,UAyC/B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,GAAE,MAAe,EAAE,YAAY,CAAC,EAAE,aAAa,UA6DzG;AAED,cAAc;AACd,wBAAgB,aAAa,CACzB,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,mBAAmB,EACjD,MAAM,CAAC,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,aAAa,GAC7B,MAAM,CAgBR;AA6BD,cAAc;AACd,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,mBAAmB,EACpD,IAAI,EAAE,MAAM,EACZ,EACI,WAAW,EACX,SAAS,GACZ,GAAE;IACC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EACJ,MAAM,GACN,WAAW,GACX,SAAS,GACT,MAAM,GACN,WAAW,GACX,OAAO,GACP,SAAS,GACT,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,iBAAiB,GACjB,eAAe,CAAC;CACpB,GACP,CAAC,GAAG,IAAI,CA2BV;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAItE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAUvE"}
|
package/esm/utils/yamlUtils.js
CHANGED
|
@@ -137,7 +137,7 @@ export function getIdentifier(obj, untype, errorContext) {
|
|
|
137
137
|
return idRef.localIdentifier;
|
|
138
138
|
}
|
|
139
139
|
if (isIdentifierRef(idRef) && !untype) {
|
|
140
|
-
const type = idRef.type
|
|
140
|
+
const type = declarativeTypeToReferencePrefix(idRef.type);
|
|
141
141
|
return `${type}/${idRef.identifier}`;
|
|
142
142
|
}
|
|
143
143
|
if (isIdentifierRef(idRef) && untype) {
|
|
@@ -145,6 +145,31 @@ export function getIdentifier(obj, untype, errorContext) {
|
|
|
145
145
|
}
|
|
146
146
|
throw newError(CoreErrorCode.ReferenceTypeNotSupported, [JSON.stringify(obj)], errorContext);
|
|
147
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Maps the yaml reference prefix (`metric/`, `computed_attribute/`, ...) to the object type the
|
|
150
|
+
* declarative API uses for the same object.
|
|
151
|
+
*/
|
|
152
|
+
function referencePrefixToDeclarativeType(prefix, forceMetric) {
|
|
153
|
+
if (prefix === "metric" && !forceMetric) {
|
|
154
|
+
return "measure";
|
|
155
|
+
}
|
|
156
|
+
if (prefix === "computed_attribute") {
|
|
157
|
+
return "computedAttribute";
|
|
158
|
+
}
|
|
159
|
+
return prefix;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Inverse of {@link referencePrefixToDeclarativeType}.
|
|
163
|
+
*/
|
|
164
|
+
function declarativeTypeToReferencePrefix(type) {
|
|
165
|
+
if (type === "measure") {
|
|
166
|
+
return "metric";
|
|
167
|
+
}
|
|
168
|
+
if (type === "computedAttribute") {
|
|
169
|
+
return "computed_attribute";
|
|
170
|
+
}
|
|
171
|
+
return type;
|
|
172
|
+
}
|
|
148
173
|
/** @public */
|
|
149
174
|
export function createIdentifier(data, { forceMetric, forceType, } = {}) {
|
|
150
175
|
const [type, objId] = data.split("/");
|
|
@@ -152,9 +177,7 @@ export function createIdentifier(data, { forceMetric, forceType, } = {}) {
|
|
|
152
177
|
return {
|
|
153
178
|
identifier: {
|
|
154
179
|
type: forceType ||
|
|
155
|
-
(type
|
|
156
|
-
? "measure"
|
|
157
|
-
: type),
|
|
180
|
+
referencePrefixToDeclarativeType(type, forceMetric),
|
|
158
181
|
id: objId,
|
|
159
182
|
},
|
|
160
183
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-code-convertors",
|
|
3
|
-
"version": "11.56.0-alpha.
|
|
3
|
+
"version": "11.56.0-alpha.7",
|
|
4
4
|
"description": "GoodData AAC declarative converters",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -26,15 +26,14 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"uuid": "11.1.1",
|
|
28
28
|
"yaml": "2.8.3",
|
|
29
|
-
"@gooddata/api-client-tiger": "11.56.0-alpha.
|
|
30
|
-
"@gooddata/sdk-code-schemas": "11.56.0-alpha.
|
|
31
|
-
"@gooddata/sdk-model": "11.56.0-alpha.
|
|
29
|
+
"@gooddata/api-client-tiger": "11.56.0-alpha.7",
|
|
30
|
+
"@gooddata/sdk-code-schemas": "11.56.0-alpha.7",
|
|
31
|
+
"@gooddata/sdk-model": "11.56.0-alpha.7"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@microsoft/api-extractor": "7.58.12",
|
|
35
35
|
"@typescript-eslint/eslint-plugin": "8.58.0",
|
|
36
36
|
"@typescript-eslint/parser": "8.58.0",
|
|
37
|
-
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
38
37
|
"dependency-cruiser": "17.3.10",
|
|
39
38
|
"eslint": "^9.39.2",
|
|
40
39
|
"eslint-plugin-headers": "1.3.3",
|
|
@@ -46,10 +45,10 @@
|
|
|
46
45
|
"oxfmt": "0.66.0",
|
|
47
46
|
"oxlint": "1.57.0",
|
|
48
47
|
"oxlint-tsgolint": "0.15.0",
|
|
49
|
-
"typescript": "
|
|
48
|
+
"typescript": "7.0.2",
|
|
50
49
|
"vitest": "4.1.8",
|
|
51
|
-
"@gooddata/
|
|
52
|
-
"@gooddata/
|
|
50
|
+
"@gooddata/oxlint-config": "11.56.0-alpha.7",
|
|
51
|
+
"@gooddata/eslint-config": "11.56.0-alpha.7"
|
|
53
52
|
},
|
|
54
53
|
"scripts": {
|
|
55
54
|
"_phase:build": "npm run build",
|
|
@@ -57,8 +56,8 @@
|
|
|
57
56
|
"_phase:validate": "npm run validate",
|
|
58
57
|
"api-extractor": "mkdir -p api && [ -z \"${CI}\" ] && (api-extractor run -l) || (api-extractor run)",
|
|
59
58
|
"build": "npm-run-all -p build-check build-ts && npm run api-extractor",
|
|
60
|
-
"build-check": "
|
|
61
|
-
"build-ts": "
|
|
59
|
+
"build-check": "tsc",
|
|
60
|
+
"build-ts": "tsc -p tsconfig.build.json",
|
|
62
61
|
"build-wasm": "bash wasm/build.sh",
|
|
63
62
|
"check-python-types": "node scripts/check-python-types.mjs",
|
|
64
63
|
"clean": "../../common/scripts/clean-command-state.sh && rm -rf esm coverage temp *.log tsconfig.tsbuildinfo",
|