UNPKG

@eristack/iso-3166

Version:

ISO 3166-1 country codes and ISO 3166-2 subdivision normalization — assigned alpha-2/alpha-3 registry

47 lines (46 loc) • 1.27 kB
import { alpha3ToAlpha2, isAssignedAlpha2, normalizeAlpha2, normalizeSubdivisionCode } from "../chunk-WQBL7M2Z.js"; // src/zod/schemas.ts import { z } from "zod"; var countryAlpha2Schema = z.string().trim().transform((value, ctx) => { try { return normalizeAlpha2(value); } catch (error) { ctx.addIssue({ code: "custom", message: error instanceof Error ? error.message : "Invalid country code" }); return z.NEVER; } }); var countryAlpha2LooseSchema = z.string().trim().refine((value) => isAssignedAlpha2(value), { message: "Expected assigned ISO 3166-1 alpha-2 code" }); var countryAlpha3Schema = z.string().trim().transform((value, ctx) => { try { return alpha3ToAlpha2(value); } catch (error) { ctx.addIssue({ code: "custom", message: error instanceof Error ? error.message : "Invalid alpha-3 code" }); return z.NEVER; } }); var subdivisionCodeSchema = z.object({ countryAlpha2: countryAlpha2Schema, subdivision: z.string().trim().min(1) }).transform( ({ countryAlpha2, subdivision }) => normalizeSubdivisionCode(countryAlpha2, subdivision) ); export { countryAlpha2LooseSchema, countryAlpha2Schema, countryAlpha3Schema, subdivisionCodeSchema }; //# sourceMappingURL=index.js.map