dataveil
Version:
A robust TypeScript library for masking sensitive data including card numbers, emails, passwords, phone numbers, and more.
20 lines (19 loc) • 865 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.maskJWT = maskJWT;
function maskJWT(token, options) {
if (options === void 0) { options = {}; }
if (!token || typeof token !== 'string') {
throw new Error('JWT token must be a non-empty string');
}
var parts = token.split(".");
if (parts.length !== 3) {
throw new Error('Invalid JWT format - must have 3 parts separated by dots');
}
var _a = options.maskChar, maskChar = _a === void 0 ? "*" : _a;
if (!maskChar || maskChar.length !== 1) {
throw new Error('Mask character must be a single character');
}
var header = parts[0], payload = parts[1], signature = parts[2];
return "".concat(maskChar.repeat(header.length), ".").concat(maskChar.repeat(payload.length), ".").concat(maskChar.repeat(signature.length));
}