mirror of https://github.com/node-red/node-red.git
parent
20a31a6d38
commit
8167608f04
|
@ -210,12 +210,26 @@ function createContext(id,seed) {
|
|||
insertSeedValues = function(keys,values) {
|
||||
if (!Array.isArray(keys)) {
|
||||
if (values[0] === undefined) {
|
||||
try {
|
||||
values[0] = util.getObjectProperty(seed,keys);
|
||||
} catch(err) {
|
||||
if (err.code === "INVALID_EXPR") {
|
||||
throw err;
|
||||
}
|
||||
value[0] = undefined;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (var i=0;i<keys.length;i++) {
|
||||
if (values[i] === undefined) {
|
||||
try {
|
||||
values[i] = util.getObjectProperty(seed,keys[i]);
|
||||
} catch(err) {
|
||||
if (err.code === "INVALID_EXPR") {
|
||||
throw err;
|
||||
}
|
||||
value[i] = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -257,7 +271,12 @@ function createContext(id,seed) {
|
|||
return;
|
||||
}
|
||||
var results = Array.prototype.slice.call(arguments,[1]);
|
||||
try {
|
||||
insertSeedValues(key,results);
|
||||
} catch(err) {
|
||||
callback.apply(err);
|
||||
return
|
||||
}
|
||||
// Put the err arg back
|
||||
results.unshift(undefined);
|
||||
callback.apply(null,results);
|
||||
|
@ -270,7 +289,14 @@ function createContext(id,seed) {
|
|||
if (Array.isArray(key)) {
|
||||
insertSeedValues(key,results);
|
||||
} else if (results === undefined){
|
||||
try {
|
||||
results = util.getObjectProperty(seed,key);
|
||||
} catch(err) {
|
||||
if (err.code === "INVALID_EXPR") {
|
||||
throw err;
|
||||
}
|
||||
results = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
|
|
Loading…
Reference in New Issue