mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
parent
20a31a6d38
commit
8167608f04
@ -210,12 +210,26 @@ function createContext(id,seed) {
|
||||
insertSeedValues = function(keys,values) {
|
||||
if (!Array.isArray(keys)) {
|
||||
if (values[0] === undefined) {
|
||||
values[0] = util.getObjectProperty(seed,keys);
|
||||
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) {
|
||||
values[i] = util.getObjectProperty(seed,keys[i]);
|
||||
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]);
|
||||
insertSeedValues(key,results);
|
||||
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){
|
||||
results = util.getObjectProperty(seed,key);
|
||||
try {
|
||||
results = util.getObjectProperty(seed,key);
|
||||
} catch(err) {
|
||||
if (err.code === "INVALID_EXPR") {
|
||||
throw err;
|
||||
}
|
||||
results = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
return results;
|
||||
|
Loading…
Reference in New Issue
Block a user