{"version":3,"file":"laxParse-CYuD5i3c.js","sources":["../../../app/frontend/utils/laxParse.ts"],"sourcesContent":["import { z, ZodType } from \"zod\"\n\n/**\n * This is like `ZodType.parse()` but it doesn't throw an error if the data is invalid.\n * Instead, it logs a warning and returns the original data.\n * This is to avoid runtime errors when the backend changes the data format.\n * (Maybe we can report these errors somehow in the future.)\n *\n * @param schema - A Zod schema\n * @param schemaName - A name for the schema, used in the warning message\n * @param data - The data to parse\n * @returns The parsed data, or the original data if it was invalid\n */\nexport function laxParse(\n schema: T,\n schemaName: string,\n data: z.infer,\n): z.infer {\n const parsed = schema.safeParse(data)\n if (!parsed.success) {\n console.warn(`laxParse(${schemaName}) failed`, parsed.error, data)\n if (process.env.NODE_ENV === \"development\") {\n throw new Error(`laxParse(${schemaName}) failed in development`, {\n cause: parsed.error,\n })\n }\n return data\n }\n return parsed.data\n}\n"],"names":["laxParse","schema","schemaName","data","parsed"],"mappings":"AAagB,SAAAA,EACdC,EACAC,EACAC,EACY,CACN,MAAAC,EAASH,EAAO,UAAUE,CAAI,EAChC,OAACC,EAAO,QASLA,EAAO,MARZ,QAAQ,KAAK,YAAYF,CAAU,WAAYE,EAAO,MAAOD,CAAI,EAM1DA,EAGX"}