node-red-contrib-agilite-utils
Version:
A set of Agilit-e Node-RED Nodes to perform various adhoc tasks without calling 3rd party web services
38 lines (31 loc) • 978 B
JavaScript
module.exports = function (RED) {
function TypeDetect(config) {
RED.nodes.createNode(this, config)
this.field = config.field || 'payload'
this.fieldType = config.fieldType || 'msg'
var node = this
const TypeDetect = require('agilite-utils/dist/type-detect').default
this.on('input', function (msg) {
// Declcare variables for each of the input fields
let typeResult = ''
try {
typeResult = TypeDetect(msg.payload)
switch (node.fieldType) {
case 'msg':
RED.util.setMessageProperty(msg, node.field, typeResult)
break
case 'flow':
node.context().flow.set(node.field, typeResult)
break
case 'global':
node.context().global.set(node.field, typeResult)
break
}
node.send(msg)
} catch (err) {
node.error(err, msg)
}
})
}
RED.nodes.registerType('type-detect', TypeDetect)
}