import type { Mask } from './formatWithMask.types'; import formatWithMask from './formatWithMask'; interface Props { text?: string; mask?: Mask | ((text: string) => Mask); } const maskField = ({ text = '', mask }: Props) => { let maskData = { masked: text, unmasked: text, obfuscated: text, }; if (mask && text) { const maskUtil = typeof mask === 'function' ? mask(text) : mask; const maskResult = formatWithMask({ text, mask: maskUtil, }); maskData = Object.assign(maskData, maskResult); } return maskData; }; export default maskField;