Zod
Każdy identyfikator eksportuje parę schematów Zod z dodatkowej ścieżki importu /zod:
import { // Osobowe peselSchema, peselParseSchema, idCardSchema, idCardParseSchema, passportSchema, passportParseSchema,
// Podatkowe i rejestrowe nipSchema, nipParseSchema, vatEuSchema, vatEuParseSchema, regonSchema, regonParseSchema, krsSchema, krsParseSchema,
// Bankowe nrbSchema, nrbParseSchema, ibanSchema, ibanParseSchema,} from '@slashlab/numerik-js/zod'Para schematów
Dział zatytułowany „Para schematów”| Schemat | Sygnatura | Opis |
|---|---|---|
*Schema | (strict?: boolean) => ZodString | Waliduje ciąg znaków; błędy pojawiają się jako problemy Zod. |
*ParseSchema | (strict?: boolean) => ZodPipe<ZodString, ZodTransform<T, string>> | Waliduje i przekształca do obiektu z danymi typu T. |
Oba przyjmują ten sam opcjonalny parametr strict co odpowiadająca im funkcja wytwórcza Numerik.*() — zobacz Tryb ścisły.
Przykład
Dział zatytułowany „Przykład”import { z } from 'zod'import { peselSchema, peselParseSchema } from '@slashlab/numerik-js/zod'
// Tylko walidacjaconst formSchema = z.object({ pesel: peselSchema(),})
// Walidacja i przekształcenie do obiektu z danymi Peselconst parseFormSchema = z.object({ pesel: peselParseSchema(),})
const result = parseFormSchema.parse({ pesel: '92060512186' })result.pesel.getBirthDate() // Date — 1992-06-05Użyj *Schema, gdy potrzebujesz tylko walidacji pass/fail jako części większego obiektu Zod (np. formularza). Użyj *ParseSchema, gdy chcesz też mieć dostęp do obiektu z danymi — jego metod — w wyniku.