function addParameterOverrides()

in tasks/Node/src/modules/task-utils/deployutil.ts [9:51]


function addParameterOverrides(parameterOverrides: string, existingParameters: DevTestLabsModels.ArmTemplateParameterProperties[]): DevTestLabsModels.ArmTemplateParameterProperties[] {
    if (parameterOverrides == null ||
        parameterOverrides == undefined ||
        parameterOverrides.length == 0) {
        return existingParameters;
    }

    let newParameter: DevTestLabsModels.ArmTemplateParameterProperties = Object.create(DevTestLabsMappers.ArmTemplateParameterProperties);

    const parsedParameterOverrides = parameterOverrides.split(' ');

    parsedParameterOverrides.forEach(parameterOverride => {
        if (parameterOverride.startsWith('-')) {
            if (newParameter.name == undefined) {
                newParameter.name = parameterOverride.slice(1).toString().replace(/^"(.+(?="$))"$/, '$1');
            }
            else {
                existingParameters = checkParamArray(newParameter, existingParameters);
                newParameter = Object.create(DevTestLabsMappers.ArmTemplateParameterProperties);
                newParameter.name = parameterOverride.slice(1).toString().replace(/^"(.+(?="$))"$/, '$1');
            }
        }
        else {
            if (newParameter.value == undefined) {
                // Remove double quotes.
                newParameter.value = parameterOverride.replace(/^"(.+(?="$))"$/, '$1');
                // Remove single quotes.
                newParameter.value = newParameter.value.replace(/["']{1}/gi, "");
            } else {
                // newParameter.value +=  (" " + value.replace(/^"(.+(?="$))"$/, '$1'));
                newParameter.value += (" " + parameterOverride);
                // Remove single quotes.
                newParameter.value = newParameter.value.replace(/^"(.+(?="$))"$/, '$1');
                // Remove double quotes.
                newParameter.value = newParameter.value.replace(/["']{1}/gi, "");
            }
        }
    });

    existingParameters = checkParamArray(newParameter, existingParameters);

    return existingParameters;
}