import { Pipe, PipeTransform } from '@angular/core'; @Pipe({ name: 'hideAccount', standalone: true, }) export class HideAccountPipe implements PipeTransform { transform( value: string, template: string, toogleVisibility: boolean ): string { let hideNumber: string = ''; const valueArray = Array.from(value); switch (template) { case 'card': if (!toogleVisibility) { valueArray.forEach((char, i) => { hideNumber += i < 12 ? '●' : char; if ([3, 7, 11].includes(i)) { hideNumber += ' '; } }); } else { valueArray.forEach((char, i) => { hideNumber += char; if ([3, 7, 11].includes(i)) { hideNumber += ' '; } }); } break; case 'cvc': if (!toogleVisibility) { valueArray.forEach(() => { hideNumber += '●'; }); } else { hideNumber = value; } break; case 'account': if (!toogleVisibility) { valueArray.forEach((char, i) => { hideNumber += i < 3 ? '●' : char; }); } else { hideNumber = value; } break; default: { break; } } return hideNumber; } }