@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
TypeScript
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 };