random-generator_node-red-contrib
Version:
A package to meet the randomness generation needs of node-red developers
46 lines (45 loc) • 1.12 kB
JavaScript
module.exports = function (RED) {
function randomColorGenerator(config) {
RED.nodes.createNode(this, config);
var node = this;
node.on("input", function (msg) {
var o = Math.round,
r = Math.random,
s = 255;
switch (config.format) {
case "Hex":
msg.payload = "#" + Math.floor(Math.random() * 16777215).toString(16);
break;
case "RGBA":
msg.payload =
"(" +
o(r() * s) +
"," +
o(r() * s) +
"," +
o(r() * s) +
"," +
r().toFixed(1) +
")";
break;
case "RGB":
msg.payload =
"(" + o(r() * s) + "," + o(r() * s) + "," + o(r() * s) + ")";
break;
case "HSL":
msg.payload =
"(" +
o(r() * 361) +
"," +
o(r() * 101) +
"%," +
o(r() * 101) +
"%)";
break;
default:
}
node.send(msg);
});
}
RED.nodes.registerType("Color", randomColorGenerator);
};