UNPKG

prisme-flow

Version:

prisme platform flow engine

39 lines (36 loc) 1.21 kB
/** * Created by prisme.io on 09/06/2017. */ module.exports = function (RED) { 'use strict' var dummyjson = require('dummy-json') function DataGeneratorNode (n) { RED.nodes.createNode(this, n) this.field = n.field || 'payload' this.template = n.template this.fieldType = n.fieldType || 'msg' this.syntax = n.syntax || 'text' var node = this node.on('input', function (msg) { if (msg.seed) { dummyjson.seed = msg.seed } try { var value = dummyjson.parse(node.template, {mockdata: msg}) if (node.syntax === 'json') { try { value = JSON.parse(value) } catch (e) { node.error(RED._('datagen.errors.json-error')) } } if (node.fieldType === 'msg') { RED.util.setMessageProperty(msg, node.field, value) } else if (node.fieldType === 'flow') { node.context().flow.set(node.field, value) } else if (node.fieldType === 'global') { node.context().global.set(node.field, value) } node.send(msg) } catch (e) { node.error(e.message) } }) } RED.nodes.registerType('data-generator', DataGeneratorNode) RED.library.register('datagenerator') }