Skip to content

Lightweight library for extracting data and validating polish identification numbers such as PESEL or NIP

License

Notifications You must be signed in to change notification settings

bartekczyz/polish-utils

Repository files navigation

polish-utils 🇵🇱 🛠

minified size minzipped size dependency count tree shaking

Getting started

Depending on the package manager, add polish-utils to your project:

npm i -S polish-utils

or

yarn add polish-utils

About

I wrote this library because I needed a clean solution for extracting data and validating polish identification numbers such as PESEL or NIP.

This library is written in TypeScript and covered with tests.

Usage

PESEL

PESEL is a class that accepts a PESEL string in a constructor

Properties

Property Type Description
isValid boolean Entry string must have exactly 11 numerical characters, last character must match the calculated checksum
getGender() male | female | null Null if unable to determine 10th character
getDateOfBirth() Date | null Null if unable to determine first 6 characters

Code

import { PESEL } from 'polish-utils'

const pesel = new PESEL('87111111111')

pesel.isValid // true
pesel.getGender() // "male"
pesel.getDateOfBirth() // Date object: Wed Nov 11 1987 00:00:00 GMT+0100 (Central European Standard Time)

NIP

NIP is a class that accepts a NIP string in a constructor

Properties

Property Type Description
isValid boolean Filtered entry string must have exactly 10 numerical characters, last character must match the calculated checksum
getIssuingTaxOfficeCode() string ID of the tax office that issues NIP

Code

import { NIP } from 'polish-utils'

const nip1 = new NIP('7622654927')
const nip2 = new NIP('12-34-567-328')

nip1.isValid // true
nip2.isValid // true
nip1.getIssuingTaxOfficeCode() // "762"
nip2.getIssuingTaxOfficeCode() // "123"

Contributing

Feel free to contribute to this repo. All you need to do is the following:

  1. fork and checkout the repo
  2. install dependencies
    yarn
  3. develop (please adjust to the repo's code style 🙏)
    yarn lint 
  4. write tests, run tests
    yarn test 
  5. if you want to build the package, run
    yarn build 

About

Lightweight library for extracting data and validating polish identification numbers such as PESEL or NIP

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published