@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
40 lines • 2.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serialize = void 0;
/**
* A serializer can be used in any JavaScript environment.
*/
var serialize = function (message) {
if (Array.isArray(message)) {
return message
.map(function (item) {
return (0, exports.serialize)(item);
})
.join(', ');
}
if (message instanceof Error) {
return message.toString();
}
if (typeof message === 'object' && message !== null) {
return JSON.stringify(message, getCircularReplacer());
}
if (typeof message === 'string') {
return message;
}
// undefined, null, number, boolean
return "".concat(message);
};
exports.serialize = serialize;
function getCircularReplacer() {
var seen = new WeakSet();
return function (_key, value) {
if (typeof value === 'object' && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9sb2dnZXIvc2VyaWFsaXplci9kZWZhdWx0LXNlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7O0dBRUc7QUFDSSxJQUFNLFNBQVMsR0FBeUIsVUFBQyxPQUFnQjtJQUM5RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLFVBQUMsSUFBSTtZQUNSLE9BQU8sSUFBQSxpQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hCLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNkO0lBRUQsSUFBSSxPQUFPLFlBQVksS0FBSyxFQUFFO1FBQzVCLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFBO0tBQzFCO0lBRUQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTtRQUNuRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQTtLQUN0RDtJQUVELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQy9CLE9BQU8sT0FBTyxDQUFBO0tBQ2Y7SUFFRCxtQ0FBbUM7SUFDbkMsT0FBTyxVQUFHLE9BQU8sQ0FBRSxDQUFBO0FBQ3JCLENBQUMsQ0FBQTtBQXZCWSxRQUFBLFNBQVMsYUF1QnJCO0FBRUQsU0FBUyxtQkFBbUI7SUFDMUIsSUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQTtJQUMxQixPQUFPLFVBQUMsSUFBWSxFQUFFLEtBQWM7UUFDbEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUMvQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25CLE9BQU07YUFDUDtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDaEI7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsQ0FBQTtBQUNILENBQUMifQ==