mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
try to fix debug node non-standard object type handling.
This commit is contained in:
parent
1bf72a0bc3
commit
61045ddd7f
@ -86,15 +86,12 @@ module.exports = function(RED) {
|
|||||||
msg.msg = msg.msg.toString('hex');
|
msg.msg = msg.msg.toString('hex');
|
||||||
} else if (typeof msg.msg === 'object') {
|
} else if (typeof msg.msg === 'object') {
|
||||||
var seen = [];
|
var seen = [];
|
||||||
msg.format = "object";
|
msg.format = msg.msg.constructor.name || "Object";
|
||||||
var isArray = util.isArray(msg.msg);
|
var isArray = util.isArray(msg.msg);
|
||||||
if (!isArray && msg.msg.toString !== Object.prototype.toString) {
|
|
||||||
msg.format = msg.msg.constructor.name || "object";
|
|
||||||
msg.msg = msg.msg.toString();
|
|
||||||
} else {
|
|
||||||
if (isArray) {
|
if (isArray) {
|
||||||
msg.format = "array ["+msg.msg.length+"]";
|
msg.format = "array ["+msg.msg.length+"]";
|
||||||
}
|
}
|
||||||
|
if (isArray || (msg.format === "Object")) {
|
||||||
msg.msg = JSON.stringify(msg.msg, function(key, value) {
|
msg.msg = JSON.stringify(msg.msg, function(key, value) {
|
||||||
if (typeof value === 'object' && value !== null) {
|
if (typeof value === 'object' && value !== null) {
|
||||||
if (seen.indexOf(value) !== -1) { return "[circular]"; }
|
if (seen.indexOf(value) !== -1) { return "[circular]"; }
|
||||||
@ -102,6 +99,9 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
}," ");
|
}," ");
|
||||||
|
} else {
|
||||||
|
try { msg.msg = msg.msg.toString(); }
|
||||||
|
catch(e) { msg.msg = "[Type not printable]"; }
|
||||||
}
|
}
|
||||||
seen = null;
|
seen = null;
|
||||||
} else if (typeof msg.msg === "boolean") {
|
} else if (typeof msg.msg === "boolean") {
|
||||||
|
@ -94,7 +94,7 @@ describe('debug node', function() {
|
|||||||
}, function(msg) {
|
}, function(msg) {
|
||||||
JSON.parse(msg).should.eql({
|
JSON.parse(msg).should.eql({
|
||||||
topic:"debug",
|
topic:"debug",
|
||||||
data:{id:"n1",msg:'{\n "payload": "test"\n}',format:"object"}
|
data:{id:"n1",msg:'{\n "payload": "test"\n}',format:"Object"}
|
||||||
});
|
});
|
||||||
}, done);
|
}, done);
|
||||||
});
|
});
|
||||||
@ -179,7 +179,7 @@ describe('debug node', function() {
|
|||||||
}, function(msg) {
|
}, function(msg) {
|
||||||
JSON.parse(msg).should.eql({
|
JSON.parse(msg).should.eql({
|
||||||
topic:"debug",
|
topic:"debug",
|
||||||
data:{id:"n1",msg:'{\n "type": "foo"\n}',property:"payload",format:"object"}
|
data:{id:"n1",msg:'{\n "type": "foo"\n}',property:"payload",format:"Object"}
|
||||||
});
|
});
|
||||||
}, done);
|
}, done);
|
||||||
});
|
});
|
||||||
@ -215,7 +215,7 @@ describe('debug node', function() {
|
|||||||
data:{
|
data:{
|
||||||
id:"n1",
|
id:"n1",
|
||||||
msg:'{\n "name": "bar",\n "o": "[circular]"\n}',
|
msg:'{\n "name": "bar",\n "o": "[circular]"\n}',
|
||||||
property:"payload",format:"object"
|
property:"payload",format:"Object"
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, done);
|
}, done);
|
||||||
|
Loading…
Reference in New Issue
Block a user