import { z } from "zod/v4"; const TAX_CODE_PATTERN = /^[a-z0-9_]+$/i; const EMPTY_TAX_SLOT = "#"; export const TaxCombinationCodeSchema = z.string().refine( (value) => { const parts = value.split(";"); if (parts.length !== 3) { return false; } return parts.every((part) => { return part === EMPTY_TAX_SLOT || TAX_CODE_PATTERN.test(part); }); }, { message: "taxes must use format ';;'", } ); export type TaxCombinationCodeDTO = z.infer;