sqrl-cli-functions
Version:
SQRL (A Safe, Stateful Rules Language for Event Streams) - functions intended for command line tools
40 lines (39 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferHumanJson = void 0;
const sqrl_common_1 = require("sqrl-common");
function friendlyBuffer(buf) {
try {
const text = buf.toString("utf-8");
return (0, sqrl_common_1.bufferToHexEncodedAscii)(text);
}
catch (err) {
return `0x${buf.toString("hex")}`;
}
}
function deepFriendlyMap(obj) {
if (typeof obj === "bigint") {
return obj.toString();
}
else if (obj instanceof Buffer) {
return friendlyBuffer(obj);
}
else if (Array.isArray(obj)) {
return obj.map(deepFriendlyMap);
}
else if (typeof obj === "object" && obj !== null) {
return (0, sqrl_common_1.mapObject)(obj, deepFriendlyMap);
}
else {
return obj;
}
}
function bufferHumanJson(msg) {
try {
return JSON.parse(msg.toString("utf-8"));
}
catch (err) {
return deepFriendlyMap(msg);
}
}
exports.bufferHumanJson = bufferHumanJson;