mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Merge pull request #4411 from node-red/4376-handle-falsy-env-vars
Handle false-like env vars properly
This commit is contained in:
		@@ -109,9 +109,8 @@ module.exports = function(RED) {
 | 
			
		||||
                }
 | 
			
		||||
                const p = props.shift()
 | 
			
		||||
                const property = p.p;
 | 
			
		||||
                const value = p.v ? p.v : '';
 | 
			
		||||
                const valueType = p.vt ? p.vt : 'str';
 | 
			
		||||
 | 
			
		||||
                const value = p.v !== undefined ? p.v : '';
 | 
			
		||||
                const valueType = p.vt !== undefined ? p.vt : 'str';
 | 
			
		||||
                if (property) {
 | 
			
		||||
                    if (valueType === "jsonata") {
 | 
			
		||||
                        if (p.v) {
 | 
			
		||||
 
 | 
			
		||||
@@ -57,18 +57,20 @@ var EnvVarPropertyRE = /^\${(\S+)}$/;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function mapEnvVarProperties(obj,prop,flow,config) {
 | 
			
		||||
    var v = obj[prop];
 | 
			
		||||
    const v = obj[prop];
 | 
			
		||||
    if (Buffer.isBuffer(v)) {
 | 
			
		||||
        return;
 | 
			
		||||
    } else if (Array.isArray(v)) {
 | 
			
		||||
        for (var i=0;i<v.length;i++) {
 | 
			
		||||
        for (let i=0;i<v.length;i++) {
 | 
			
		||||
            mapEnvVarProperties(v,i,flow,config);
 | 
			
		||||
        }
 | 
			
		||||
    } else if (typeof obj[prop] === 'string') {
 | 
			
		||||
        if (obj[prop][0] === "$" && (EnvVarPropertyRE_old.test(v) || EnvVarPropertyRE.test(v)) ) {
 | 
			
		||||
            var envVar = v.substring(2,v.length-1);
 | 
			
		||||
            var r = redUtil.getSetting(config, envVar, flow);
 | 
			
		||||
            obj[prop] = r ? r : obj[prop];
 | 
			
		||||
            const envVar = v.substring(2,v.length-1);
 | 
			
		||||
            const r = redUtil.getSetting(config, envVar, flow);
 | 
			
		||||
            if (r !== undefined && r !== '') {
 | 
			
		||||
                obj[prop] = r
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    } else {
 | 
			
		||||
        for (var p in v) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user