/Spritz

An italian tax number (AKA Codice Fiscale) creator and validator.

Primary LanguageSwiftApache License 2.0Apache-2.0

Spritz logo

Twitter SwiftLang badge

Spritz

Spritz is an Italian tax code (codice fiscale) generator and validator on steroids written in Swift.

It offers anything from simple regex validator, to complex analysis using the user's information, taking into account the omocodia phenomenon.

The library is fully tested and documented.

1. Requirements and Compatibility

Swift Spritz iOS
5.1+ 1.0.x 10+
5.3+ 2.0.x 10+

2. Installation

Swift Package Manager

Package.swift

Open your Package.swift file and add the following as your dependency.

dependencies: [
  .package(url: "https://github.com/TheInkedEngineer/Spritz", from: "2.0.0")
]

Then add the following to your target's dependency:

targets: [
  .target(
    name: "MyTarget", 
    dependencies: [
      .product(name: "https://github.com/TheInkedEngineer/Spritz", package: "Spritz")
    ]
  )
]

Xcode

  1. Open your app in Xcode
  2. In the Project Navigator, click on the project
  3. in the Project panel, click on the project
  4. Go to the Package Dependencies tab
  5. Click on the + button
  6. Insert the https://github.com/TheInkedEngineer/Spritz url in the search bar and press Enter
  7. Click on the Add Package button
  8. Follow the Xcode's dialog to install the SDK

3. Documentation

Spritz is fully documented. Checkout the documentation here.

4. Code Example

Generating a Codice Fiscale

let data = Spritz.Models.CodiceFiscaleData(
  firstName: "First",
  lastName: "last",
  dateOfBirth: Spritz.Models.Date(day: 2, month: .april, year: 1987)!,
  sex: .female,
  placeOfBirth: .foreign(countryName: "francia")
)

let codice = try? Spritz.generateCF(from: data)

Validating a Codice Fiscale

let result = Spritz.isValid("LSTFST89B44B354F")

Validating a Codice Fiscale against data

let data = Spritz.Models.CodiceFiscaleData(
  firstName: "First",
  lastName: "last",
  dateOfBirth: Spritz.Models.Date(day: 2, month: .april, year: 1987)!,
  sex: .female,
  placeOfBirth: .foreign(countryName: "francia")
)
    
let result = Spritz.isCorrect(fiscalCode: "LSTFST89B44B354F", for: data)

5. Contribution

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub