mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Add support for Map/Set property types on Debug
This commit is contained in:
35
packages/node_modules/@node-red/util/lib/util.js
vendored
35
packages/node_modules/@node-red/util/lib/util.js
vendored
@@ -806,6 +806,7 @@ function encodeObject(msg,opts) {
|
||||
});
|
||||
} else {
|
||||
var isArray = util.isArray(msg.msg);
|
||||
var needsStringify = isArray;
|
||||
if (isArray) {
|
||||
msg.format = "array["+msg.msg.length+"]";
|
||||
if (msg.msg.length > debuglength) {
|
||||
@@ -817,8 +818,26 @@ function encodeObject(msg,opts) {
|
||||
length: msg.msg.length
|
||||
}
|
||||
}
|
||||
} else if (msg.msg && msg.msg.constructor.name === "Set") {
|
||||
msg.format = "set["+msg.msg.size+"]";
|
||||
msg.msg = {
|
||||
__enc__: true,
|
||||
type: "set",
|
||||
data: Array.from(msg.msg).slice(0,debuglength),
|
||||
length: msg.msg.size
|
||||
}
|
||||
needsStringify = true;
|
||||
} else if (msg.msg && msg.msg.constructor.name === "Map") {
|
||||
msg.format = "map";
|
||||
msg.msg = {
|
||||
__enc__: true,
|
||||
type: "map",
|
||||
data: Object.fromEntries(Array.from(msg.msg.entries()).slice(0,debuglength)),
|
||||
length: msg.msg.size
|
||||
}
|
||||
needsStringify = true;
|
||||
}
|
||||
if (isArray || (msg.format === "Object")) {
|
||||
if (needsStringify || (msg.format === "Object")) {
|
||||
msg.msg = safeJSONStringify(msg.msg, function(key, value) {
|
||||
if (key === '_req' || key === '_res') {
|
||||
value = {
|
||||
@@ -868,6 +887,20 @@ function encodeObject(msg,opts) {
|
||||
value = "[internal]"
|
||||
} else if (value.constructor.name === "Socket") {
|
||||
value = "[internal]"
|
||||
} else if (value.constructor.name === "Set") {
|
||||
value = {
|
||||
__enc__: true,
|
||||
type: "set",
|
||||
data: Array.from(value).slice(0,debuglength),
|
||||
length: value.size
|
||||
}
|
||||
} else if (value.constructor.name === "Map") {
|
||||
value = {
|
||||
__enc__: true,
|
||||
type: "map",
|
||||
data: Object.fromEntries(Array.from(value.entries()).slice(0,debuglength)),
|
||||
length: value.size
|
||||
}
|
||||
}
|
||||
} else if (value === undefined) {
|
||||
value = {
|
||||
|
Reference in New Issue
Block a user