Handle undefined value in Debug view of Array and Object

Fixes #2696
This commit is contained in:
Nick O'Leary
2020-09-07 21:05:27 +01:00
parent 5cf489a270
commit baffe4861c
4 changed files with 36 additions and 1 deletions

View File

@@ -722,6 +722,9 @@ RED.clipboard = (function() {
// representation or null
return null;
}
if (value.type === 'undefined') {
return undefined;
}
}
}
return value;

View File

@@ -52,7 +52,9 @@ RED.utils = (function() {
} else if (value === null) {
result = $('<span class="red-ui-debug-msg-object-value red-ui-debug-msg-type-null">null</span>');
} else if (typeof value === 'object') {
if (value.hasOwnProperty('type') && value.type === 'Buffer' && value.hasOwnProperty('data')) {
if (value.hasOwnProperty('type') && value.type === 'undefined') {
result = $('<span class="red-ui-debug-msg-object-value red-ui-debug-msg-type-null">undefined</span>');
} else if (value.hasOwnProperty('type') && value.type === 'Buffer' && value.hasOwnProperty('data')) {
result = $('<span class="red-ui-debug-msg-object-value red-ui-debug-msg-type-meta"></span>').text('buffer['+value.length+']');
} else if (value.hasOwnProperty('type') && value.type === 'array' && value.hasOwnProperty('data')) {
result = $('<span class="red-ui-debug-msg-object-value red-ui-debug-msg-type-meta"></span>').text('array['+value.length+']');
@@ -348,6 +350,8 @@ RED.utils = (function() {
}
if (obj === null || obj === undefined) {
$('<span class="red-ui-debug-msg-type-null">'+obj+'</span>').appendTo(entryObj);
} else if (obj.__enc__ && obj.type === 'undefined') {
$('<span class="red-ui-debug-msg-type-null">undefined</span>').appendTo(entryObj);
} else if (obj.__enc__ && obj.type === 'number') {
e = $('<span class="red-ui-debug-msg-type-number red-ui-debug-msg-object-header"></span>').text(obj.data).appendTo(entryObj);
} else if (typeHint === "function" || (obj.__enc__ && obj.type === 'function')) {

View File

@@ -771,6 +771,11 @@ function encodeObject(msg,opts) {
} else if (value.constructor.name === "Socket") {
value = "[internal]"
}
} else if (value === undefined) {
value = {
__enc__: true,
type: "undefined",
}
}
return value;
}," ");