@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
88 lines • 4.76 kB
JavaScript
;
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.serialize = exports.MASK_VALUE = void 0;
var nodejs_serializer_1 = require("../../shared/logger/serializer/nodejs-serializer");
var MASKED_FIELDS = new Set([
'authorization',
'jdbcurl',
'jdbcproperties',
'access-token',
'ssl-client-cert',
'password',
'sslcert',
'ssl-client-key',
'identityurl',
'ssl-client-cert-file',
'ssl-client-key-file',
'encryption-key',
'new-encryption-key',
'mdwpassword',
'federated-keychain',
'keychain',
'accesstoken',
'refreshtoken',
'id-token',
'clientid',
'clientsecret',
'service-account-json',
'connection',
'refresh-token',
'secret',
'secrets',
'credential',
'credentials',
]);
exports.MASK_VALUE = '********';
var serialize = function (message) {
return (0, nodejs_serializer_1.serialize)(maskFields(message, new WeakSet()));
};
exports.serialize = serialize;
function maskFields(message, seen) {
if (typeof message === 'string') {
try {
var parsed = JSON.parse(message);
return JSON.stringify(maskFields(parsed, seen));
}
catch (e) {
// Not a JSON representation of an object
return message;
}
}
if (typeof message === 'object' && message !== null) {
// if message is not a pure object
if (message.constructor && message.constructor.name !== 'Object') {
return message;
}
if (seen.has(message)) {
return '';
}
seen.add(message);
return Object.fromEntries(Object.entries(message).map(function (_a) {
var _b = __read(_a, 2), key = _b[0], value = _b[1];
if (MASKED_FIELDS.has(key.toLowerCase())) {
return [key, exports.MASK_VALUE];
}
else {
return [key, maskFields(value, seen)];
}
}));
}
return message;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBzLWxvZy1zZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vwcy9sb2dnaW5nL2Vwcy1sb2ctc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0Esc0ZBQStGO0FBRS9GLElBQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzVCLGVBQWU7SUFDZixTQUFTO0lBQ1QsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsVUFBVTtJQUNWLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixhQUFhO0lBQ2Isb0JBQW9CO0lBQ3BCLFVBQVU7SUFDVixhQUFhO0lBQ2IsY0FBYztJQUNkLFVBQVU7SUFDVixVQUFVO0lBQ1YsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osZUFBZTtJQUNmLFFBQVE7SUFDUixTQUFTO0lBQ1QsWUFBWTtJQUNaLGFBQWE7Q0FDZCxDQUFDLENBQUE7QUFFVyxRQUFBLFVBQVUsR0FBRyxVQUFVLENBQUE7QUFFN0IsSUFBTSxTQUFTLEdBQXlCLFVBQUMsT0FBZ0I7SUFDOUQsT0FBTyxJQUFBLDZCQUFlLEVBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUM1RCxDQUFDLENBQUE7QUFGWSxRQUFBLFNBQVMsYUFFckI7QUFFRCxTQUFTLFVBQVUsQ0FBQyxPQUFnQixFQUFFLElBQXFCO0lBQ3pELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQy9CLElBQUk7WUFDRixJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7U0FDaEQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLHlDQUF5QztZQUN6QyxPQUFPLE9BQU8sQ0FBQTtTQUNmO0tBQ0Y7SUFFRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO1FBQ25ELGtDQUFrQztRQUNsQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2hFLE9BQU8sT0FBTyxDQUFBO1NBQ2Y7UUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsT0FBTyxFQUFFLENBQUE7U0FDVjtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFakIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQVk7Z0JBQVosS0FBQSxhQUFZLEVBQVgsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO1lBQ3RDLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRTtnQkFDeEMsT0FBTyxDQUFDLEdBQUcsRUFBRSxrQkFBVSxDQUFDLENBQUE7YUFDekI7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7YUFDdEM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0tBQ0Y7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDIn0=