refactor(Print): Improve variables handling

This commit is contained in:
Mariusz Nowak 2020-09-24 09:53:47 +02:00 committed by Mariusz Nowak
parent b53716a64c
commit ee3b519425

View File

@ -37,47 +37,45 @@ class Print {
};
}
adorn(svc) {
const service = svc;
adorn(serviceConfig) {
// service object treatment
this.cache.serviceService = service.service;
this.cache.serviceService = serviceConfig.service;
if (_.isObject(this.cache.serviceService)) {
service.service = service.service.name;
service.serviceObject = this.cache.serviceService;
serviceConfig.service = serviceConfig.service.name;
serviceConfig.serviceObject = this.cache.serviceService;
}
// provider treatment and defaults
this.cache.serviceProvider = service.provider;
this.cache.serviceProvider = serviceConfig.provider;
if (typeof this.cache.serviceProvider === 'string') {
service.provider = { name: this.cache.serviceProvider };
serviceConfig.provider = { name: this.cache.serviceProvider };
}
const serviceProvider = this.serverless.service.provider;
service.provider = _.merge(
serviceConfig.provider = _.merge(
{
stage: serviceProvider.stage,
region: serviceProvider.region,
variableSyntax: serviceProvider.variableSyntax,
},
service.provider
serviceConfig.provider
);
}
strip(svc) {
const service = svc;
strip(serviceConfig) {
if (_.isObject(this.cache.serviceService)) {
service.service = this.cache.serviceService;
delete service.serviceObject;
serviceConfig.service = this.cache.serviceService;
delete serviceConfig.serviceObject;
}
if (typeof this.cache.serviceProvider === 'string') {
service.provider = this.cache.serviceProvider;
serviceConfig.provider = this.cache.serviceProvider;
} else {
// is object
if (!this.cache.serviceProvider.stage) {
delete service.provider.stage;
delete serviceConfig.provider.stage;
}
if (!this.cache.serviceProvider.region) {
delete service.provider.region;
delete serviceConfig.provider.region;
}
if (this.cache.serviceProvider.variableSyntax) {
service.provider.variableSyntax = this.cache.serviceProvider.variableSyntax;
serviceConfig.provider.variableSyntax = this.cache.serviceProvider.variableSyntax;
}
}
}