From f3b7f91a07707adff13c2941a646bd5c022675d7 Mon Sep 17 00:00:00 2001 From: "P. Reis" Date: Fri, 4 Oct 2024 23:37:01 -0300 Subject: [PATCH] feat: languageSchema converts value to lowercase and returns type LanguageCode --- src/schema.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/schema.ts b/src/schema.ts index 5efa7769..edaba0b4 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -1,4 +1,4 @@ -import ISO6391 from 'iso-639-1'; +import ISO6391, { LanguageCode } from 'iso-639-1'; import { z } from 'zod'; /** Validates individual items in an array, dropping any that aren't valid. */ @@ -42,6 +42,7 @@ const fileSchema = z.custom((value) => value instanceof File); const percentageSchema = z.coerce.number().int().gte(1).lte(100); const languageSchema = z.string().transform((val, ctx) => { + val = val.toLowerCase(); if (!ISO6391.validate(val)) { ctx.addIssue({ code: z.ZodIssueCode.custom, @@ -49,7 +50,7 @@ const languageSchema = z.string().transform((val, ctx) => { }); return z.NEVER; } - return val; + return val as LanguageCode; }); export {