UNPKG

@babymotte/node-red-worterbuch

Version:
36 lines (29 loc) 872 B
const { setupWb } = require("../utils"); module.exports = function (RED) { function WorterbuchSetNode(config) { const node = this; const wb = setupWb(node, RED, config, (status) => node.send([null, status]) ); node.on("input", (msg, send, done) => onInput(RED, config, node, msg, wb, done, send) ); } RED.nodes.registerType("worterbuch-set", WorterbuchSetNode); }; function onInput(RED, config, node, msg, wb, done, send) { let key = RED.util.evaluateNodeProperty(config.key, config.keyType, node, msg) || msg.topic; let val = RED.util.evaluateNodeProperty(config.value, config.valueType, node, msg) || msg.payload; wb.connection .set(key, val) .then(done) .catch((err) => { const newMsg = { ...msg, topic: key, payload: err.cause }; send([[newMsg], null]); done(); }); }