UNPKG

@mdfrough/cnic-validator

Version:

An Angular library to validate and format Pakistani CNIC numbers with masking and pipe support.

43 lines (35 loc) 1.94 kB
import { Validator, AbstractControl, ValidationErrors } from '@angular/forms'; import * as i0 from '@angular/core'; import { ElementRef, PipeTransform } from '@angular/core'; declare class CnicValidatorDirective implements Validator { validate(control: AbstractControl): ValidationErrors | null; static ɵfac: i0.ɵɵFactoryDeclaration<CnicValidatorDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<CnicValidatorDirective, "[cnicValidator]", never, {}, {}, never, never, true, never>; } declare class CnicMaskDirective { private el; constructor(el: ElementRef<HTMLInputElement>); onInput(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration<CnicMaskDirective, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<CnicMaskDirective, "[cnicMask]", never, {}, {}, never, never, true, never>; } declare class CnicPipe implements PipeTransform { transform(value: string): string; static ɵfac: i0.ɵɵFactoryDeclaration<CnicPipe, never>; static ɵpipe: i0.ɵɵPipeDeclaration<CnicPipe, "cnic", true>; } declare class CnicValidatorModule { static ɵfac: i0.ɵɵFactoryDeclaration<CnicValidatorModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<CnicValidatorModule, never, [typeof CnicValidatorDirective, typeof CnicMaskDirective, typeof CnicPipe], [typeof CnicValidatorDirective, typeof CnicMaskDirective, typeof CnicPipe]>; static ɵinj: i0.ɵɵInjectorDeclaration<CnicValidatorModule>; } declare function isValidCnic(value: string): boolean; interface ParsedCnic { regionCode: string; serial: string; gender: 'Male' | 'Female' | 'Unknown'; } declare function parseCnic(cnic: string): ParsedCnic | null; declare function cnicValidatorFn(control: AbstractControl): ValidationErrors | null; export { CnicMaskDirective, CnicPipe, CnicValidatorDirective, CnicValidatorModule, cnicValidatorFn, isValidCnic, parseCnic }; export type { ParsedCnic };