fix(SW-188): more semantic name for tolang transformer function
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { z } from "zod"
|
||||
|
||||
import { fromUppercaseToLangEnum } from "@/server/utils"
|
||||
import { toLang } from "@/server/utils"
|
||||
|
||||
const RatingsSchema = z
|
||||
.object({
|
||||
@@ -423,11 +423,11 @@ export const getHotelDataSchema = z.object({
|
||||
type: z.string(), // No enum here but the standard return appears to be "hotels".
|
||||
language: z
|
||||
.string()
|
||||
.refine((val) => fromUppercaseToLangEnum(val) !== undefined, {
|
||||
.refine((val) => toLang(val) !== undefined, {
|
||||
message: "Invalid language",
|
||||
})
|
||||
.transform((val) => {
|
||||
const lang = fromUppercaseToLangEnum(val)
|
||||
const lang = toLang(val)
|
||||
if (!lang) {
|
||||
throw new Error("Invalid language")
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
* to to Lang enum.
|
||||
* Helper function to convert lang string to Lang enum.
|
||||
*/
|
||||
export function fromUppercaseToLangEnum(lang: string): Lang | undefined {
|
||||
export function toLang(lang: string): Lang | undefined {
|
||||
const lowerCaseLang = lang.toLowerCase()
|
||||
return Object.values(Lang).find((l) => l === lowerCaseLang)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user