Update node-red-nodes io nodes to use strict and pass jshint scan

This commit is contained in:
Dave C-J 2014-06-28 23:35:33 +01:00
parent 9e0585a721
commit 052a7d587d
4 changed files with 182 additions and 174 deletions

View File

@ -14,11 +14,12 @@
* limitations under the License. * limitations under the License.
**/ **/
var RED = require(process.env.NODE_RED_HOME+"/red/red"); module.exports = function(RED) {
var spawn = require('child_process').spawn; "use strict";
var plat = require('os').platform(); var spawn = require('child_process').spawn;
var plat = require('os').platform();
function PingNode(n) { function PingNode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.host = n.host; this.host = n.host;
this.timer = n.timer * 1000; this.timer = n.timer * 1000;
@ -26,16 +27,16 @@ function PingNode(n) {
node.tout = setInterval(function() { node.tout = setInterval(function() {
var ex; var ex;
if (plat == "linux") ex = spawn('ping', ['-n', '-w', '5', '-c', '1', node.host]); if (plat == "linux") { ex = spawn('ping', ['-n', '-w', '5', '-c', '1', node.host]); }
else if (plat.match(/^win/)) ex = spawn('ping', ['-n', '1', '-w', '5000', node.host]); else if (plat.match(/^win/)) { ex = spawn('ping', ['-n', '1', '-w', '5000', node.host]); }
else if (plat == "darwin") ex = spawn('ping', ['-n', '-t', '5', '-c', '1', node.host]); else if (plat == "darwin") { ex = spawn('ping', ['-n', '-t', '5', '-c', '1', node.host]); }
else node.error("Sorry - your platform - "+plat+" - is not recognised."); else { node.error("Sorry - your platform - "+plat+" - is not recognised."); }
var res = false; var res = false;
ex.stdout.on('data', function (data) { ex.stdout.on('data', function (data) {
//console.log('[ping] stdout: ' + data.toString()); //console.log('[ping] stdout: ' + data.toString());
var regex = /from.*time.(.*)ms/; var regex = /from.*time.(.*)ms/;
var m = regex.exec(data.toString())||""; var m = regex.exec(data.toString())||"";
if (m != '') { res = Number(m[1]); } if (m !== '') { res = Number(m[1]); }
}); });
ex.stderr.on('data', function (data) { ex.stderr.on('data', function (data) {
//console.log('[ping] stderr: ' + data); //console.log('[ping] stderr: ' + data);
@ -43,7 +44,7 @@ function PingNode(n) {
ex.on('close', function (code) { ex.on('close', function (code) {
//console.log('[ping] result: ' + code); //console.log('[ping] result: ' + code);
var msg = { payload:false, topic:node.host }; var msg = { payload:false, topic:node.host };
if (code == 0) msg = { payload:res, topic:node.host }; if (code === 0) { msg = { payload:res, topic:node.host }; }
node.send(msg); node.send(msg);
}); });
}, node.timer); }, node.timer);
@ -51,5 +52,6 @@ function PingNode(n) {
this.on("close", function() { this.on("close", function() {
clearInterval(this.tout); clearInterval(this.tout);
}); });
}
RED.nodes.registerType("ping",PingNode);
} }
RED.nodes.registerType("ping",PingNode);

View File

@ -14,26 +14,27 @@
* limitations under the License. * limitations under the License.
**/ **/
var RED = require(process.env.NODE_RED_HOME+"/red/red"); module.exports = function(RED) {
var settings = RED.settings; "use strict";
var util = require("util"); var settings = RED.settings;
var fs = require('fs'); var util = require("util");
var plat = require('os').platform(); var fs = require('fs');
var pre = "\\\\.\\"; var plat = require('os').platform();
var pre = "\\\\.\\";
if (!plat.match(/^win/)) { if (!plat.match(/^win/)) {
util.log("[26-rawserial.js] Info : only really needed for Windows boxes without serialport npm module installed."); util.log("[26-rawserial.js] Info : only really needed for Windows boxes without serialport npm module installed.");
pre = ""; pre = "";
} }
function RawSerialInNode(n) { function RawSerialInNode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.port = n.port; this.port = n.port;
this.splitc = n.splitc||null; this.splitc = n.splitc||null;
this.out = n.out||"char"; this.out = n.out||"char";
this.bin = n.bin||false; this.bin = n.bin||false;
if (this.splitc == '\\n') this.splitc = "\n"; if (this.splitc == '\\n') { this.splitc = "\n"; }
if (this.splitc == '\\r') this.splitc = "\r"; if (this.splitc == '\\r') { this.splitc = "\r"; }
if (!isNaN(parseInt(this.splitc))) { this.splitc = parseInt(this.splitc); } if (!isNaN(parseInt(this.splitc))) { this.splitc = parseInt(this.splitc); }
var node = this; var node = this;
@ -46,7 +47,7 @@ function RawSerialInNode(n) {
var i = 0; var i = 0;
node.inp.on('data', function (data) { node.inp.on('data', function (data) {
for (var z = 0; z < data.length; z++) { for (var z = 0; z < data.length; z++) {
if ((node.out === "time") && (node.splitc != 0)) { if ((node.out === "time") && (node.splitc !== 0)) {
if (node.tout) { if (node.tout) {
i += 1; i += 1;
buf[i] = data[z]; buf[i] = data[z];
@ -58,6 +59,7 @@ function RawSerialInNode(n) {
buf.copy(m,0,0,i+1); buf.copy(m,0,0,i+1);
if (node.bin !== "true") { m = m.toString(); } if (node.bin !== "true") { m = m.toString(); }
node.send({"payload": m}); node.send({"payload": m});
m = null;
}, node.splitc); }, node.splitc);
i = 0; i = 0;
buf[0] = data[z]; buf[0] = data[z];
@ -71,6 +73,7 @@ function RawSerialInNode(n) {
buf.copy(m,0,0,i); buf.copy(m,0,0,i);
if (node.bin !== "true") { m = m.toString(); } if (node.bin !== "true") { m = m.toString(); }
node.send({"payload":m}); node.send({"payload":m});
m = null;
i = 0; i = 0;
} }
} }
@ -102,17 +105,17 @@ function RawSerialInNode(n) {
if (node.inp) { node.inp.pause(); } if (node.inp) { node.inp.pause(); }
}); });
} }
RED.nodes.registerType("rawserial in",RawSerialInNode); RED.nodes.registerType("rawserial in",RawSerialInNode);
function RawSerialOutNode(n) { function RawSerialOutNode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.port = n.port; this.port = n.port;
var node = this; var node = this;
var setupSerial = function() { var setupSerial = function() {
node.oup = fs.createWriteStream(pre+node.port,{ flags:'w', encoding:'utf8', mode:0666 }); node.oup = fs.createWriteStream(pre+node.port,{ flags:'w', encoding:'utf8', mode:'0666' });
node.on("input", function(msg) { node.on("input", function(msg) {
if (msg.payload != null) { if (msg.payload != null) {
node.oup.write(msg.payload); node.oup.write(msg.payload);
@ -140,5 +143,6 @@ function RawSerialOutNode(n) {
node.on('close', function() { node.on('close', function() {
if (node.tout) { clearTimeout(node.tout); } if (node.tout) { clearTimeout(node.tout); }
}); });
}
RED.nodes.registerType("rawserial out",RawSerialOutNode);
} }
RED.nodes.registerType("rawserial out",RawSerialOutNode);

View File

@ -35,7 +35,7 @@ module.exports = function(RED) {
RED.httpAdmin.get('/stomp-server/:id',function(req,res) { RED.httpAdmin.get('/stomp-server/:id',function(req,res) {
var credentials = RED.nodes.getCredentials(req.params.id); var credentials = RED.nodes.getCredentials(req.params.id);
if (credentials) { if (credentials) {
res.send(JSON.stringify({user:credentials.user,hasPassword:(credentials.password&&credentials.password!="")})); res.send(JSON.stringify({user:credentials.user,hasPassword:(credentials.password&&credentials.password!=="")}));
} else { } else {
res.send(JSON.stringify({})); res.send(JSON.stringify({}));
} }
@ -54,12 +54,12 @@ module.exports = function(RED) {
req.on('end', function(){ req.on('end', function(){
var newCreds = querystring.parse(body); var newCreds = querystring.parse(body);
var credentials = RED.nodes.getCredentials(req.params.id)||{}; var credentials = RED.nodes.getCredentials(req.params.id)||{};
if (newCreds.user == null || newCreds.user == "") { if (newCreds.user == null || newCreds.user === "") {
delete credentials.user; delete credentials.user;
} else { } else {
credentials.user = newCreds.user; credentials.user = newCreds.user;
} }
if (newCreds.password == "") { if (newCreds.password === "") {
delete credentials.password; delete credentials.password;
} else { } else {
credentials.password = newCreds.password||credentials.password; credentials.password = newCreds.password||credentials.password;

View File

@ -14,11 +14,12 @@
* limitations under the License. * limitations under the License.
**/ **/
var RED = require(process.env.NODE_RED_HOME+"/red/red"); module.exports = function(RED) {
var wol = require('wake_on_lan'); "use strict";
var chk = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/; var wol = require('wake_on_lan');
var chk = /^([0-9A-F]{2}[:-]){5}([0-9A-F]{2})$/;
function WOLnode(n) { function WOLnode(n) {
RED.nodes.createNode(this,n); RED.nodes.createNode(this,n);
this.mac = n.mac.trim(); this.mac = n.mac.trim();
var node = this; var node = this;
@ -37,5 +38,6 @@ function WOLnode(n) {
else { node.warn("WOL: no mac address specified"); } else { node.warn("WOL: no mac address specified"); }
} }
}); });
}
RED.nodes.registerType("wake on lan",WOLnode);
} }
RED.nodes.registerType("wake on lan",WOLnode);