UNPKG

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
"use strict"; 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)); }