@veloceapps/api 8.0.0-204 → 8.0.0-206
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/esm2020/lib/services/configuration-api.service.mjs +26 -28
- package/fesm2015/veloceapps-api.mjs +25 -24
- package/fesm2015/veloceapps-api.mjs.map +1 -1
- package/fesm2020/veloceapps-api.mjs +25 -27
- package/fesm2020/veloceapps-api.mjs.map +1 -1
- package/lib/services/configuration-api.service.d.ts +1 -1
- package/package.json +1 -1
@@ -21,7 +21,7 @@ export class ConfigurationApiService {
|
|
21
21
|
if (runtimeModel) {
|
22
22
|
return {
|
23
23
|
...configurePrice,
|
24
|
-
lineItem: this.
|
24
|
+
lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),
|
25
25
|
};
|
26
26
|
}
|
27
27
|
else {
|
@@ -41,7 +41,7 @@ export class ConfigurationApiService {
|
|
41
41
|
if (runtimeModel) {
|
42
42
|
return {
|
43
43
|
...configurePrice,
|
44
|
-
lineItem: this.
|
44
|
+
lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel),
|
45
45
|
};
|
46
46
|
}
|
47
47
|
else {
|
@@ -68,37 +68,35 @@ export class ConfigurationApiService {
|
|
68
68
|
url: `${this.SERVICE_URL}/${modelId}/model-test`,
|
69
69
|
});
|
70
70
|
}
|
71
|
-
|
72
|
-
const
|
71
|
+
updateDomains(lineItem, runtimeModel) {
|
72
|
+
const component = runtimeModel.components.get(lineItem.type);
|
73
73
|
const portDomains = { ...lineItem.portDomains };
|
74
74
|
// loop through ports to look for 'None' type domain computations
|
75
|
-
for (const port of
|
76
|
-
const
|
77
|
-
|
78
|
-
|
79
|
-
// there's a 'None' type domain computation
|
80
|
-
if (portDomain.properties?.['domainComputation'] === ('None')) {
|
81
|
-
portDomain.domainTypes = domainTypes;
|
82
|
-
}
|
83
|
-
}
|
84
|
-
else {
|
85
|
-
// there's no port domain so consider that as 'None' type domain computation
|
86
|
-
portDomains[portName] = {
|
87
|
-
name: portName,
|
88
|
-
type: typeName,
|
89
|
-
minCard: Number(min),
|
90
|
-
maxCard: Number(max),
|
91
|
-
domainTypes: domainTypes,
|
92
|
-
properties: {
|
93
|
-
...properties,
|
94
|
-
domainComputation: 'None',
|
95
|
-
},
|
96
|
-
};
|
75
|
+
for (const port of component?.ports ?? []) {
|
76
|
+
const portDomain = portDomains[port.name];
|
77
|
+
if (portDomain?.properties?.['domainComputation'] === ('None')) {
|
78
|
+
portDomain.domainTypes = port.domainTypes;
|
97
79
|
}
|
98
80
|
}
|
81
|
+
const type = runtimeModel.types.find(({ name }) => {
|
82
|
+
return lineItem.type === name;
|
83
|
+
});
|
84
|
+
const attributeDomains = lineItem.attributeDomains;
|
85
|
+
if (type) {
|
86
|
+
const initialDomains = lineItem.attributeDomains;
|
87
|
+
type.attributes.forEach(attribute => {
|
88
|
+
if (Object.prototype.hasOwnProperty.call(initialDomains, attribute.name)) {
|
89
|
+
return;
|
90
|
+
}
|
91
|
+
if (attribute.attributeDomain) {
|
92
|
+
attributeDomains[attribute.name] = attribute.attributeDomain;
|
93
|
+
}
|
94
|
+
});
|
95
|
+
}
|
99
96
|
return {
|
100
97
|
...lineItem,
|
101
|
-
lineItems: lineItem.lineItems?.map(i => this.
|
98
|
+
lineItems: lineItem.lineItems?.map(i => this.updateDomains(i, runtimeModel)),
|
99
|
+
attributeDomains,
|
102
100
|
portDomains,
|
103
101
|
};
|
104
102
|
}
|
@@ -108,4 +106,4 @@ ConfigurationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
108
106
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationApiService, decorators: [{
|
109
107
|
type: Injectable
|
110
108
|
}], ctorParameters: function () { return [{ type: i1.BaseHttpService }]; } });
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFTTCxtQkFBbUIsR0FDcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSXJDLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7SUFFRyxDQUFDO0lBRTdDLGlCQUFpQixDQUFDLEVBQ3ZCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osY0FBYyxHQUtmO1FBQ0MsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQWlCO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQyxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNuQixJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTztvQkFDTCxHQUFHLGNBQWM7b0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVB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LGdCQUFnQixDQUFDO1lBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN4RSxPQUFPO2lCQUNSO2dCQUVELElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRTtvQkFDN0IsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUM7aUJBQzlEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU87WUFDTCxHQUFHLFFBQVE7WUFDWCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM1RSxnQkFBZ0I7WUFDaEIsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDOztvSEE1SFUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VIdHRwU2VydmljZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIENvbmZpZ3VyZVByaWNlLFxuICBEb21haW5Db21wdXRhdGlvbixcbiAgTGluZUl0ZW0sXG4gIFJ1bnRpbWVEYXRhLFxuICBSdW50aW1lRGF0YURUTyxcbiAgUnVudGltZU1vZGVsLFxuICB1aURlZmluaXRpb25Gcm9tRFRPLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICdsb2Rhc2gnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IFNFUlZJQ0VfVVJMID0gJy9jb25maWd1cmF0aW9uJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBTZXJ2aWNlOiBCYXNlSHR0cFNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGNvbmZpZ3VyZUxpbmVJdGVtKHtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICBydW50aW1lTW9kZWwsXG4gICAgcHJpY2luZ0VuYWJsZWQsXG4gIH06IHtcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdDogQ29uZmlndXJhdGlvblJlcXVlc3Q7XG4gICAgcnVudGltZU1vZGVsPzogUnVudGltZU1vZGVsO1xuICAgIHByaWNpbmdFbmFibGVkPzogYm9vbGVhbjtcbiAgfSk6IE9ic2VydmFibGU8Q29uZmlndXJlUHJpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxuICAgICAgLmFwaTxDb25maWd1cmVQcmljZT4oe1xuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfSR7cHJpY2luZ0VuYWJsZWQgPyAnL3ByaWNlJyA6ICcnfWAsXG4gICAgICAgIGJvZHk6IGNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgICAgICBlcnJvckhhbmRsZXI6IGUgPT4gdGhyb3dFcnJvcihlKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGNvbmZpZ3VyZVByaWNlID0+IHtcbiAgICAgICAgICBpZiAocnVudGltZU1vZGVsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jb25maWd1cmVQcmljZSxcbiAgICAgICAgICAgICAgbGluZUl0ZW06IHRoaXMudXBkYXRlRG9tYWlucyhjb25maWd1cmVQcmljZS5saW5lSXRlbSwgcnVudGltZU1vZGVsKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWd1cmVQcmljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjdXN0b21Db25maWd1cmVQcmljZSh7XG4gICAgdXJsLFxuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgIHJ1bnRpbWVNb2RlbCxcbiAgfToge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGNvbmZpZ3VyYXRpb25SZXF1ZXN0OiBDb25maWd1cmF0aW9uUmVxdWVzdDtcbiAgICBydW50aW1lTW9kZWw/OiBSdW50aW1lTW9kZWw7XG4gIH0pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZVByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8Q29uZmlndXJlUHJpY2U+KHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybCxcbiAgICAgICAgYm9keTogY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgICAgIGVycm9ySGFuZGxlcjogZSA9PiB0aHJvd0Vycm9yKGUpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoY29uZmlndXJlUHJpY2UgPT4ge1xuICAgICAgICAgIGlmIChydW50aW1lTW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLmNvbmZpZ3VyZVByaWNlLFxuICAgICAgICAgICAgICBsaW5lSXRlbTogdGhpcy51cGRhdGVEb21haW5zKGNvbmZpZ3VyZVByaWNlLmxpbmVJdGVtLCBydW50aW1lTW9kZWwpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyZVByaWNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFJ1bnRpbWVEYXRhQnlQcm9kdWN0SWQocHJvZHVjdElkOiBzdHJpbmcsIG9mZmVyaW5nSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8UnVudGltZURhdGFEVE8+KHtcbiAgICAgICAgbWV0aG9kOiAnZ2V0JyxcbiAgICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke3Byb2R1Y3RJZH0vbW9kZWxgICsgKChvZmZlcmluZ0lkICYmIGAvJHtvZmZlcmluZ0lkfWApIHx8ICcnKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwPFJ1bnRpbWVEYXRhRFRPLCBSdW50aW1lRGF0YT4ocnVudGltZURhdGEgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5ydW50aW1lRGF0YSxcbiAgICAgICAgICAgIHVpRGVmaW5pdGlvbnM6IHJ1bnRpbWVEYXRhLnVpRGVmaW5pdGlvbnMubWFwKGR0byA9PiB1aURlZmluaXRpb25Gcm9tRFRPKGR0bykpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lRGF0YUJ5TW9kZWxJZChtb2RlbElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJ1bnRpbWVEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuYXBpKHtcbiAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICB1cmw6IGAke3RoaXMuU0VSVklDRV9VUkx9LyR7bW9kZWxJZH0vbW9kZWwtdGVzdGAsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURvbWFpbnMobGluZUl0ZW06IExpbmVJdGVtLCBydW50aW1lTW9kZWw6IFJ1bnRpbWVNb2RlbCk6IExpbmVJdGVtIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBydW50aW1lTW9kZWwuY29tcG9uZW50cy5nZXQobGluZUl0ZW0udHlwZSk7XG4gICAgY29uc3QgcG9ydERvbWFpbnMgPSB7IC4uLmxpbmVJdGVtLnBvcnREb21haW5zIH07XG5cbiAgICAvLyBsb29wIHRocm91Z2ggcG9ydHMgdG8gbG9vayBmb3IgJ05vbmUnIHR5cGUgZG9tYWluIGNvbXB1dGF0aW9uc1xuICAgIGZvciAoY29uc3QgcG9ydCBvZiBjb21wb25lbnQ/LnBvcnRzID8/IFtdKSB7XG4gICAgICBjb25zdCBwb3J0RG9tYWluID0gcG9ydERvbWFpbnNbcG9ydC5uYW1lXTtcbiAgICAgIGlmIChwb3J0RG9tYWluPy5wcm9wZXJ0aWVzPy5bJ2RvbWFpbkNvbXB1dGF0aW9uJ10gPT09ICgnTm9uZScgc2F0aXNmaWVzIERvbWFpbkNvbXB1dGF0aW9uKSkge1xuICAgICAgICBwb3J0RG9tYWluLmRvbWFpblR5cGVzID0gcG9ydC5kb21haW5UeXBlcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0eXBlID0gcnVudGltZU1vZGVsLnR5cGVzLmZpbmQoKHsgbmFtZSB9KSA9PiB7XG4gICAgICByZXR1cm4gbGluZUl0ZW0udHlwZSA9PT0gbmFtZTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGF0dHJpYnV0ZURvbWFpbnMgPSBsaW5lSXRlbS5hdHRyaWJ1dGVEb21haW5zO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICBjb25zdCBpbml0aWFsRG9tYWlucyA9IGxpbmVJdGVtLmF0dHJpYnV0ZURvbWFpbnM7XG4gICAgICB0eXBlLmF0dHJpYnV0ZXMuZm9yRWFjaChhdHRyaWJ1dGUgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGluaXRpYWxEb21haW5zLCBhdHRyaWJ1dGUubmFtZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXR0cmlidXRlLmF0dHJpYnV0ZURvbWFpbikge1xuICAgICAgICAgIGF0dHJpYnV0ZURvbWFpbnNbYXR0cmlidXRlLm5hbWVdID0gYXR0cmlidXRlLmF0dHJpYnV0ZURvbWFpbjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmxpbmVJdGVtLFxuICAgICAgbGluZUl0ZW1zOiBsaW5lSXRlbS5saW5lSXRlbXM/Lm1hcChpID0+IHRoaXMudXBkYXRlRG9tYWlucyhpLCBydW50aW1lTW9kZWwpKSxcbiAgICAgIGF0dHJpYnV0ZURvbWFpbnMsXG4gICAgICBwb3J0RG9tYWlucyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
@@ -368,7 +368,7 @@ class ConfigurationApiService {
|
|
368
368
|
})
|
369
369
|
.pipe(map(configurePrice => {
|
370
370
|
if (runtimeModel) {
|
371
|
-
return Object.assign(Object.assign({}, configurePrice), { lineItem: this.
|
371
|
+
return Object.assign(Object.assign({}, configurePrice), { lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel) });
|
372
372
|
}
|
373
373
|
else {
|
374
374
|
return configurePrice;
|
@@ -385,7 +385,7 @@ class ConfigurationApiService {
|
|
385
385
|
})
|
386
386
|
.pipe(map(configurePrice => {
|
387
387
|
if (runtimeModel) {
|
388
|
-
return Object.assign(Object.assign({}, configurePrice), { lineItem: this.
|
388
|
+
return Object.assign(Object.assign({}, configurePrice), { lineItem: this.updateDomains(configurePrice.lineItem, runtimeModel) });
|
389
389
|
}
|
390
390
|
else {
|
391
391
|
return configurePrice;
|
@@ -408,33 +408,34 @@ class ConfigurationApiService {
|
|
408
408
|
url: `${this.SERVICE_URL}/${modelId}/model-test`,
|
409
409
|
});
|
410
410
|
}
|
411
|
-
|
411
|
+
updateDomains(lineItem, runtimeModel) {
|
412
412
|
var _a, _b, _c;
|
413
|
-
const
|
413
|
+
const component = runtimeModel.components.get(lineItem.type);
|
414
414
|
const portDomains = Object.assign({}, lineItem.portDomains);
|
415
415
|
// loop through ports to look for 'None' type domain computations
|
416
|
-
for (const port of (_a =
|
417
|
-
const
|
418
|
-
|
419
|
-
|
420
|
-
// there's a 'None' type domain computation
|
421
|
-
if (((_b = portDomain.properties) === null || _b === void 0 ? void 0 : _b['domainComputation']) === ('None')) {
|
422
|
-
portDomain.domainTypes = domainTypes;
|
423
|
-
}
|
424
|
-
}
|
425
|
-
else {
|
426
|
-
// there's no port domain so consider that as 'None' type domain computation
|
427
|
-
portDomains[portName] = {
|
428
|
-
name: portName,
|
429
|
-
type: typeName,
|
430
|
-
minCard: Number(min),
|
431
|
-
maxCard: Number(max),
|
432
|
-
domainTypes: domainTypes,
|
433
|
-
properties: Object.assign(Object.assign({}, properties), { domainComputation: 'None' }),
|
434
|
-
};
|
416
|
+
for (const port of (_a = component === null || component === void 0 ? void 0 : component.ports) !== null && _a !== void 0 ? _a : []) {
|
417
|
+
const portDomain = portDomains[port.name];
|
418
|
+
if (((_b = portDomain === null || portDomain === void 0 ? void 0 : portDomain.properties) === null || _b === void 0 ? void 0 : _b['domainComputation']) === ('None')) {
|
419
|
+
portDomain.domainTypes = port.domainTypes;
|
435
420
|
}
|
436
421
|
}
|
437
|
-
|
422
|
+
const type = runtimeModel.types.find(({ name }) => {
|
423
|
+
return lineItem.type === name;
|
424
|
+
});
|
425
|
+
const attributeDomains = lineItem.attributeDomains;
|
426
|
+
if (type) {
|
427
|
+
const initialDomains = lineItem.attributeDomains;
|
428
|
+
type.attributes.forEach(attribute => {
|
429
|
+
if (Object.prototype.hasOwnProperty.call(initialDomains, attribute.name)) {
|
430
|
+
return;
|
431
|
+
}
|
432
|
+
if (attribute.attributeDomain) {
|
433
|
+
attributeDomains[attribute.name] = attribute.attributeDomain;
|
434
|
+
}
|
435
|
+
});
|
436
|
+
}
|
437
|
+
return Object.assign(Object.assign({}, lineItem), { lineItems: (_c = lineItem.lineItems) === null || _c === void 0 ? void 0 : _c.map(i => this.updateDomains(i, runtimeModel)), attributeDomains,
|
438
|
+
portDomains });
|
438
439
|
}
|
439
440
|
}
|
440
441
|
ConfigurationApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfigurationApiService, deps: [{ token: i1.BaseHttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|