Merge branch 'pr_2644' into dev

This commit is contained in:
Nick O'Leary
2020-09-25 17:11:39 +01:00
2 changed files with 108 additions and 101 deletions

View File

@@ -121,7 +121,7 @@ module.exports = function(RED) {
"done:__done__"+
"};\n"+
node.func+"\n"+
"})(msg,send,done);";
"})(msg,__send__,__done__);";
var finScript = null;
var finOpt = null;
node.topic = n.topic;
@@ -268,7 +268,23 @@ module.exports = function(RED) {
var iniScript = null;
var iniOpt = null;
if (node.ini && (node.ini !== "")) {
var iniText = "(async function () {\n"+node.ini +"\n})();";
var iniText = `
(async function(__send__) {
var node = {
id:__node__.id,
name:__node__.name,
log:__node__.log,
error:__node__.error,
warn:__node__.warn,
debug:__node__.debug,
trace:__node__.trace,
status:__node__.status,
send: function(msgs, cloneMsg) {
__node__.send(__send__, RED.util.generateId(), msgs, cloneMsg);
}
};
`+ node.ini +`
})(__initSend__);`;
iniOpt = createVMOpt(node, " setup");
iniScript = new vm.Script(iniText, iniOpt);
}
@@ -280,14 +296,15 @@ module.exports = function(RED) {
}
var promise = Promise.resolve();
if (iniScript) {
context.__initSend__ = function(msgs) { node.send(msgs); };
promise = iniScript.runInContext(context, iniOpt);
}
function processMessage(msg, send, done) {
var start = process.hrtime();
context.msg = msg;
context.send = send;
context.done = done;
context.__send__ = send;
context.__done__ = done;
node.script.runInContext(context);
context.results.then(function(results) {