@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
JavaScript
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