Description
Create a template/guide for adding new country validators.
Parent Epic
#10 - Add CONTRIBUTING.md guide
Template Contents
Directory Structure
```
src/countries/[code]/
├── index.ts # Main export
├── national-id.ts # National ID validator
├── tax-id.ts # Tax ID validator (if applicable)
└── README.md # Country-specific docs
```
Validator Class Template
```typescript
export class NationalId {
static readonly PATTERN = /^...$/;
static validate(id: string): boolean {
// 1. Normalize input
// 2. Check pattern
// 3. Validate checksum
// 4. Validate date (if applicable)
return true;
}
static parse(id: string): ParsedInfo | null {
// Extract and return ID components
}
}
```
Checklist for New Countries
Acceptance Criteria
Labels
documentation, template
Description
Create a template/guide for adding new country validators.
Parent Epic
#10 - Add CONTRIBUTING.md guide
Template Contents
Directory Structure
```
src/countries/[code]/
├── index.ts # Main export
├── national-id.ts # National ID validator
├── tax-id.ts # Tax ID validator (if applicable)
└── README.md # Country-specific docs
```
Validator Class Template
```typescript
export class NationalId {
static readonly PATTERN = /^...$/;
static validate(id: string): boolean {
// 1. Normalize input
// 2. Check pattern
// 3. Validate checksum
// 4. Validate date (if applicable)
return true;
}
static parse(id: string): ParsedInfo | null {
// Extract and return ID components
}
}
```
Checklist for New Countries
Acceptance Criteria
Labels
documentation, template