Instalacja i szybki start
Wymagania
Dział zatytułowany „Wymagania”- Node.js 22 lub nowszy (lub dowolne środowisko wykonawcze obsługujące moduły ES i nowoczesne
Date) - TypeScript 5.0+ (opcjonalnie — biblioteka dostarcza dołączone typy i działa w zwykłym JavaScript)
Instalacja
Dział zatytułowany „Instalacja”-
Zainstaluj bibliotekę
Okno terminala npm install @slashlab/numerik-jsOkno terminala pnpm add @slashlab/numerik-jsOkno terminala yarn add @slashlab/numerik-jsOkno terminala bun add @slashlab/numerik-js -
Brak konfiguracji
Biblioteka dostarcza buildy ESM i CJS. Nie ma kroku konfiguracji, pliku konfiguracyjnego ani potrzeby tree-shakingu.
-
Użyj
import { Numerik } from '@slashlab/numerik-js'Numerik.pesel().isValid('92060512186') // true
Szybki start
Dział zatytułowany „Szybki start”Sprawdzenie poprawności
Dział zatytułowany „Sprawdzenie poprawności”import { Numerik } from '@slashlab/numerik-js'
Numerik.pesel().isValid('92060512186') // trueNumerik.idCard().isValid('ABC123454') // trueNumerik.passport().isValid('AB1234564') // trueNumerik.nip().isValid('5260250274') // trueNumerik.vatEu().isValid('PL5260250274') // trueNumerik.regon().isValid('850518457') // trueNumerik.krs().isValid('0000127206') // trueNumerik.nrb().isValid('61102010260000000000000000') // trueNumerik.iban().isValid('PL61102010260000000000000000') // trueSzczegółowa walidacja
Dział zatytułowany „Szczegółowa walidacja”validate() nigdy nie rzuca wyjątku. Zwraca ValidationResult z listą błędów, gdy walidacja nie przejdzie.
import { Numerik } from '@slashlab/numerik-js'
const result = Numerik.pesel().validate('92060512186')result.isValid // trueresult.failures // []
const failed = Numerik.pesel().validate('00000000000')failed.isFailed() // truefailed.getFirstFailure()?.reason // ValidationFailureReason.AllZerosfailed.getFirstFailure()?.message // komunikat w języku angielskimParsowanie do obiektu z danymi
Dział zatytułowany „Parsowanie do obiektu z danymi”W przypadku sukcesu parse() zwraca obiekt wartości. W przypadku niepowodzenia rzuca ValidationException.
import { Numerik } from '@slashlab/numerik-js'
const pesel = Numerik.pesel().parse('92060512186')pesel.getBirthDate() // Date — 1992-06-05pesel.getGender() // Gender.Femalepesel.getAge() // number — obliczane na bieżącopesel.isAdult() // trueUżyj tryParse(), gdy wolisz null zamiast wyjątku w przypadku niepowodzenia:
const pesel = Numerik.pesel().tryParse('bad-input') // nullWybór właściwej metody
Dział zatytułowany „Wybór właściwej metody”| Metoda | Zwraca | Rzuca | Kiedy używać |
|---|---|---|---|
isValid() | boolean | nigdy | Szybkie sprawdzenie poprawności |
validate() | ValidationResult | nigdy | Gdy potrzebujesz powodu błędu |
parse() | obiekt wartości | ValidationException | Gdy potrzebujesz wyodrębnionych danych i wolisz wyjątki |
tryParse() | obiekt wartości lub null | nigdy | Gdy potrzebujesz wyodrębnionych danych, ale wolisz null zamiast wyjątku |
Tryb ścisły
Dział zatytułowany „Tryb ścisły”Wszystkie identyfikatory obsługują flagę strict (domyślnie true). W trybie ścisłym stosowane są dodatkowe sprawdzenia semantyczne — na przykład PESEL odrzuca przyszłe daty urodzenia i wzorce, w których wszystkie cyfry są identyczne.
// Tryb ścisły włączony (domyślnie)Numerik.pesel().isValid('11111111111') // false — wszystkie cyfry identyczne
// Tryb ścisły wyłączonyNumerik.pesel(false).isValid('11111111111') // true jeśli suma kontrolna przejdzie
// Sprawdź, czy tryb ścisły jest aktywnyNumerik.pesel().isStrict() // trueNumerik.pesel(false).isStrict() // falseIntegracja z Zod
Dział zatytułowany „Integracja z Zod”Opcjonalna dodatkowa ścieżka importu /zod dostarcza schematy Zod dla wszystkich identyfikatorów. Wymaga zod jako zewnętrznej zależności.
import { peselSchema, peselParseSchema } from '@slashlab/numerik-js/zod'
// Waliduje ciąg znaków — błędy pojawiają się jako problemy Zodconst schema = peselSchema()schema.parse('92060512186') // '92060512186'
// Waliduje i przekształca do obiektu wartości Peselconst parseSchema = peselParseSchema()const pesel = parseSchema.parse('92060512186') // instancja Peselpesel.getBirthDate() // DateNastępne kroki
Dział zatytułowany „Następne kroki”- Przeglądaj dokumentację PESEL, Dowód osobisty, Paszport, NIP, VAT-EU, REGON, KRS, NRB lub IBAN z pełną listą metod.
- Zobacz Wyniki walidacji, Obsługę błędów, Algorytmy i Zod w Przewodniku, by poznać wszystko poza podstawami.