Skip to content

feat(qat): Add Qatar QID validator #147

Description

@AngusHsu

Scope

Qatar QID (11 digits, encodes birth year and nationality code — parse() applies).

Follow the country implementation template (#40, updated for the v2 contract in #125):

  • Research the official specification (structure, checksum, issuing authority) from primary sources — not in the Python library, so there is no parity reference; document sources in the PR
  • src/countries/qat/ module on the v2 contract: validate, parse (if the ID encodes personal data), checksum (if applicable)
  • Full format metadata from day one: displayFormat, example, checksumAlgorithm, officialName, countryName, idType
  • Register in registerAll.ts (+ alpha-2 and lowercase aliases); bump the registry invariant test
  • CountryCode -> ParseResult map entry; property tests via the shared harness (test: property-based testing for validators #134); README test-count bump

Acceptance criteria

  • METADATA.example passes validateNationalId
  • Issue-scoped test file issue-<n>-qat-*.test.ts
  • All migration fixtures updated in lockstep

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions