Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 2.62 KB

README.md

File metadata and controls

68 lines (48 loc) · 2.62 KB

domain

Build Status Download

Micro-library for typing and validating UK tax identifiers.

Identifier Types

Types are provided for many common tax identifiers, such as:

JSON handling

Reads and Writes have been provided for Play's JSON library for all identifiers, and format validation is present for some. JSON objects with multiple tax identifiers as properties can be serialized or deserialized to a TaxIds:

import play.api.libs.json._
import uk.gov.hmrc.domain._

implicit val format =  TaxIds.format(TaxIds.defaultSerialisableIds :_*)

val input =
        """{
          |"nino": "NM439088A",
          |"sautr": "some-sa-utr"
        }""".stripMargin
val taxIds = Json.parse(input).as[TaxIds]

taxIds.nino  // Some(NM439088A)
taxIds.saUtr // Some(some-sa-utr)
taxIds.ctUtr // None

Installing

Add the following to your SBT build:

libraryDependencies += "uk.gov.hmrc" %% "domain" % "[INSERT VERSION]-play-[INSERT VERSION]"

Version

Version 8.x.x add Scala 2.13 support.

Version 7.x.x drop Play 2.6 and Play 2.7 support.

Version 6.x.x is Scala 2.12 only and add Play 2.8 support.

License

This code is open source software licensed under the Apache 2.0 License.