@veloceapps/api 9.0.0-7 → 9.0.0-9
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3NyYy9saWIvc2VydmljZXMvY29uZmlndXJhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFTTCxtQkFBbUIsR0FDcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBR3JDLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBb0IsV0FBNEI7UUFBNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBRi9CLGdCQUFXLEdBQUcsZ0JBQWdCLENBQUM7SUFFRyxDQUFDO0lBRTdDLGlCQUFpQixDQUFDLEVBQ3ZCLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osY0FBYyxHQUtmO1FBQ0MsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNwQixHQUFHLENBQWlCO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNELElBQUksRUFBRSxvQkFBb0I7WUFDMUIsWUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqQyxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUNuQixJQUFJLFlBQVksRUFBRTtnQkFDaEIsT0FBTztvQkFDTCxHQUFHLGNBQWM7b0JBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVB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LGdCQUFnQixDQUFDO1lBQ2pELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUN4RSxPQUFPO2lCQUNSO2dCQUVELElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRTtvQkFDN0IsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUM7aUJBQzlEO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELE9BQU87WUFDTCxHQUFHLFFBQVE7WUFDWCxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM1RSxnQkFBZ0I7WUFDaEIsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDOztvSEE1SFUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJhc2VIdHRwU2VydmljZSxcbiAgQ29uZmlndXJhdGlvblJlcXVlc3QsXG4gIENvbmZpZ3VyZVByaWNlLFxuICBEb21haW5Db21wdXRhdGlvbixcbiAgTGluZUl0ZW0sXG4gIFJ1bnRpbWVEYXRhLFxuICBSdW50aW1lRGF0YURUTyxcbiAgUnVudGltZU1vZGVsLFxuICB1aURlZmluaXRpb25Gcm9tRFRPLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25BcGlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBTRVJWSUNFX1VSTCA9ICcvY29uZmlndXJhdGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwU2VydmljZTogQmFzZUh0dHBTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyBjb25maWd1cmVMaW5lSXRlbSh7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3QsXG4gICAgcnVudGltZU1vZGVsLFxuICAgIHByaWNpbmdFbmFibGVkLFxuICB9OiB7XG4gICAgY29uZmlndXJhdGlvblJlcXVlc3Q6IENvbmZpZ3VyYXRpb25SZXF1ZXN0O1xuICAgIHJ1bnRpbWVNb2RlbD86IFJ1bnRpbWVNb2RlbDtcbiAgICBwcmljaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIH0pOiBPYnNlcnZhYmxlPENvbmZpZ3VyZVByaWNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5hcGk8Q29uZmlndXJlUHJpY2U+KHtcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0ke3ByaWNpbmdFbmFibGVkID8gJy9wcmljZScgOiAnJ31gLFxuICAgICAgICBib2R5OiBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICAgICAgZXJyb3JIYW5kbGVyOiBlID0+IHRocm93RXJyb3IoZSksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjb25maWd1cmVQcmljZSA9PiB7XG4gICAgICAgICAgaWYgKHJ1bnRpbWVNb2RlbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4uY29uZmlndXJlUHJpY2UsXG4gICAgICAgICAgICAgIGxpbmVJdGVtOiB0aGlzLnVwZGF0ZURvbWFpbnMoY29uZmlndXJlUHJpY2UubGluZUl0ZW0sIHJ1bnRpbWVNb2RlbCksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gY29uZmlndXJlUHJpY2U7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3VzdG9tQ29uZmlndXJlUHJpY2Uoe1xuICAgIHVybCxcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdCxcbiAgICBydW50aW1lTW9kZWwsXG4gIH06IHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBjb25maWd1cmF0aW9uUmVxdWVzdDogQ29uZmlndXJhdGlvblJlcXVlc3Q7XG4gICAgcnVudGltZU1vZGVsPzogUnVudGltZU1vZGVsO1xuICB9KTogT2JzZXJ2YWJsZTxDb25maWd1cmVQcmljZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPENvbmZpZ3VyZVByaWNlPih7XG4gICAgICAgIG1ldGhvZDogJ3Bvc3QnLFxuICAgICAgICB1cmwsXG4gICAgICAgIGJvZHk6IGNvbmZpZ3VyYXRpb25SZXF1ZXN0LFxuICAgICAgICBlcnJvckhhbmRsZXI6IGUgPT4gdGhyb3dFcnJvcihlKSxcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGNvbmZpZ3VyZVByaWNlID0+IHtcbiAgICAgICAgICBpZiAocnVudGltZU1vZGVsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAuLi5jb25maWd1cmVQcmljZSxcbiAgICAgICAgICAgICAgbGluZUl0ZW06IHRoaXMudXBkYXRlRG9tYWlucyhjb25maWd1cmVQcmljZS5saW5lSXRlbSwgcnVudGltZU1vZGVsKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb25maWd1cmVQcmljZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSdW50aW1lRGF0YUJ5UHJvZHVjdElkKHByb2R1Y3RJZDogc3RyaW5nLCBvZmZlcmluZ0lkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSdW50aW1lRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXG4gICAgICAuYXBpPFJ1bnRpbWVEYXRhRFRPPih7XG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHVybDogYCR7dGhpcy5TRVJWSUNFX1VSTH0vJHtwcm9kdWN0SWR9L21vZGVsYCArICgob2ZmZXJpbmdJZCAmJiBgLyR7b2ZmZXJpbmdJZH1gKSB8fCAnJyksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcDxSdW50aW1lRGF0YURUTywgUnVudGltZURhdGE+KHJ1bnRpbWVEYXRhID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucnVudGltZURhdGEsXG4gICAgICAgICAgICB1aURlZmluaXRpb25zOiBydW50aW1lRGF0YS51aURlZmluaXRpb25zLm1hcChkdG8gPT4gdWlEZWZpbml0aW9uRnJvbURUTyhkdG8pKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVudGltZURhdGFCeU1vZGVsSWQobW9kZWxJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSdW50aW1lRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmFwaSh7XG4gICAgICBtZXRob2Q6ICdnZXQnLFxuICAgICAgdXJsOiBgJHt0aGlzLlNFUlZJQ0VfVVJMfS8ke21vZGVsSWR9L21vZGVsLXRlc3RgLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVEb21haW5zKGxpbmVJdGVtOiBMaW5lSXRlbSwgcnVudGltZU1vZGVsOiBSdW50aW1lTW9kZWwpOiBMaW5lSXRlbSB7XG4gICAgY29uc3QgY29tcG9uZW50ID0gcnVudGltZU1vZGVsLmNvbXBvbmVudHMuZ2V0KGxpbmVJdGVtLnR5cGUpO1xuICAgIGNvbnN0IHBvcnREb21haW5zID0geyAuLi5saW5lSXRlbS5wb3J0RG9tYWlucyB9O1xuXG4gICAgLy8gbG9vcCB0aHJvdWdoIHBvcnRzIHRvIGxvb2sgZm9yICdOb25lJyB0eXBlIGRvbWFpbiBjb21wdXRhdGlvbnNcbiAgICBmb3IgKGNvbnN0IHBvcnQgb2YgY29tcG9uZW50Py5wb3J0cyA/PyBbXSkge1xuICAgICAgY29uc3QgcG9ydERvbWFpbiA9IHBvcnREb21haW5zW3BvcnQubmFtZV07XG4gICAgICBpZiAocG9ydERvbWFpbj8ucHJvcGVydGllcz8uWydkb21haW5Db21wdXRhdGlvbiddID09PSAoJ05vbmUnIHNhdGlzZmllcyBEb21haW5Db21wdXRhdGlvbikpIHtcbiAgICAgICAgcG9ydERvbWFpbi5kb21haW5UeXBlcyA9IHBvcnQuZG9tYWluVHlwZXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdHlwZSA9IHJ1bnRpbWVNb2RlbC50eXBlcy5maW5kKCh7IG5hbWUgfSkgPT4ge1xuICAgICAgcmV0dXJuIGxpbmVJdGVtLnR5cGUgPT09IG5hbWU7XG4gICAgfSk7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVEb21haW5zID0gbGluZUl0ZW0uYXR0cmlidXRlRG9tYWlucztcbiAgICBpZiAodHlwZSkge1xuICAgICAgY29uc3QgaW5pdGlhbERvbWFpbnMgPSBsaW5lSXRlbS5hdHRyaWJ1dGVEb21haW5zO1xuICAgICAgdHlwZS5hdHRyaWJ1dGVzLmZvckVhY2goYXR0cmlidXRlID0+IHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpbml0aWFsRG9tYWlucywgYXR0cmlidXRlLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGF0dHJpYnV0ZS5hdHRyaWJ1dGVEb21haW4pIHtcbiAgICAgICAgICBhdHRyaWJ1dGVEb21haW5zW2F0dHJpYnV0ZS5uYW1lXSA9IGF0dHJpYnV0ZS5hdHRyaWJ1dGVEb21haW47XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5saW5lSXRlbSxcbiAgICAgIGxpbmVJdGVtczogbGluZUl0ZW0ubGluZUl0ZW1zPy5tYXAoaSA9PiB0aGlzLnVwZGF0ZURvbWFpbnMoaSwgcnVudGltZU1vZGVsKSksXG4gICAgICBhdHRyaWJ1dGVEb21haW5zLFxuICAgICAgcG9ydERvbWFpbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
|
@@ -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 });
|