mobile-cli-lib
Version:
common lib used by different CLI
66 lines (65 loc) • 2.86 kB
JavaScript
;
var PluginVariablesHelper = (function () {
function PluginVariablesHelper($options) {
this.$options = $options;
}
PluginVariablesHelper.prototype.getPluginVariableFromVarOption = function (variableName, configuration) {
var varOption = this.$options.var;
configuration = configuration ? configuration.toLowerCase() : undefined;
var lowerCasedVariableName = variableName.toLowerCase();
if (varOption) {
var configVariableValue_1;
var generalVariableValue_1;
if (variableName.indexOf(".") !== -1) {
varOption = this.simplifyYargsObject(varOption, configuration);
}
_.each(varOption, function (propValue, propKey) {
if (propKey.toLowerCase() === configuration) {
_.each(propValue, function (configPropValue, configPropKey) {
if (configPropKey.toLowerCase() === lowerCasedVariableName) {
configVariableValue_1 = configPropValue;
return false;
}
});
}
else if (propKey.toLowerCase() === lowerCasedVariableName) {
generalVariableValue_1 = propValue;
}
});
var value = configVariableValue_1 || generalVariableValue_1;
if (value) {
var obj = Object.create(null);
obj[variableName] = value.toString();
return obj;
}
}
return undefined;
};
PluginVariablesHelper.prototype.simplifyYargsObject = function (obj, configuration) {
var _this = this;
if (obj && typeof (obj) === "object") {
var convertedObject_1 = Object.create({});
_.each(obj, function (propValue, propKey) {
if (typeof (propValue) !== "object") {
convertedObject_1[propKey] = propValue;
return false;
}
configuration = configuration ? configuration.toLowerCase() : undefined;
var innerObj = _this.simplifyYargsObject(propValue, configuration);
if (propKey.toLowerCase() === configuration) {
convertedObject_1[propKey] = innerObj;
}
else {
_.each(innerObj, function (innerPropValue, innerPropKey) {
convertedObject_1[(propKey + "." + innerPropKey)] = innerPropValue;
});
}
});
return convertedObject_1;
}
return obj;
};
return PluginVariablesHelper;
}());
exports.PluginVariablesHelper = PluginVariablesHelper;
$injector.register("pluginVariablesHelper", PluginVariablesHelper);