Skip to content

quver/VATIdValidator

Repository files navigation

VATIdValidator

CI GitHub license Swift Package Manager compatible

Polish VAT Identification (NIP) number validator.

Requirements

  • iOS 13+ / macOS 10.15+ / tvOS 13+ / watchOS 7+
  • Swift 6.1+
  • Xcode 16.4+

Installation

Swift Package Manager

Add to your Package.swift:

dependencies: [
    .package(url: "https://github.com/quver/VATIdValidator.git", from: "2.0.0")
]

Or add it directly in Xcode via File → Add Package Dependencies.

Usage

Validation with error handling

let validator = VATIdValidator(5260250274)
do {
    try validator.validate()
    // Valid NIP
} catch VATIdValidator.ValidationError.incorrectLength {
    // NIP must have exactly 10 digits
} catch VATIdValidator.ValidationError.invalidDigit {
    // NIP contains non-digit characters
} catch VATIdValidator.ValidationError.checkSumNotMatch {
    // Checksum verification failed
}

Bool extensions

if 5260250274.isValidVATId { }
if "5260250274".isValidVATId { }
if 5260250274.0.isValidVATId { }

Supported input types

VATIdValidator([5, 2, 6, 0, 2, 5, 0, 2, 7, 4])  // [Int]
VATIdValidator(5260250274)                         // BinaryInteger
VATIdValidator(5260250274.0)                       // Double
VATIdValidator("5260250274")                       // String

Documentation

Full API documentation is available at quver.github.io/VATIdValidator.

About

Polish VAT ID validator

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages