fix(SW-188): more semantic name for tolang transformer function

This commit is contained in:
Chuma McPhoy
2024-08-14 10:01:04 +02:00
parent 400c0b48e4
commit 96d3f68ad3
2 changed files with 5 additions and 6 deletions

View File

@@ -1,6 +1,6 @@
import { z } from "zod" import { z } from "zod"
import { fromUppercaseToLangEnum } from "@/server/utils" import { toLang } from "@/server/utils"
const RatingsSchema = z const RatingsSchema = z
.object({ .object({
@@ -423,11 +423,11 @@ export const getHotelDataSchema = z.object({
type: z.string(), // No enum here but the standard return appears to be "hotels". type: z.string(), // No enum here but the standard return appears to be "hotels".
language: z language: z
.string() .string()
.refine((val) => fromUppercaseToLangEnum(val) !== undefined, { .refine((val) => toLang(val) !== undefined, {
message: "Invalid language", message: "Invalid language",
}) })
.transform((val) => { .transform((val) => {
const lang = fromUppercaseToLangEnum(val) const lang = toLang(val)
if (!lang) { if (!lang) {
throw new Error("Invalid language") throw new Error("Invalid language")
} }

View File

@@ -28,10 +28,9 @@ const toApiLangMap: { [key in Lang]: string } = {
} }
/** /**
* Helper function to convert langs in uppercase or capitalized format (e.g. the Hotel endpoint) * Helper function to convert lang string to Lang enum.
* to to Lang enum.
*/ */
export function fromUppercaseToLangEnum(lang: string): Lang | undefined { export function toLang(lang: string): Lang | undefined {
const lowerCaseLang = lang.toLowerCase() const lowerCaseLang = lang.toLowerCase()
return Object.values(Lang).find((l) => l === lowerCaseLang) return Object.values(Lang).find((l) => l === lowerCaseLang)
} }