{"version":3,"file":"safe-string.schema.cjs","sources":["../../../../../../src/schema/public/components/base/safe-string.schema.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst CODE_BLOCK_PATTERN = /```[\\s\\S]*?```/g;\nconst MATHJAX_PATTERN = /\\$\\$[^\"]*?\\$\\$/g;\n\nconst stripWrappedContent = (value: string): string =>\n  value.replaceAll(CODE_BLOCK_PATTERN, \"\").replaceAll(MATHJAX_PATTERN, \"\");\n\nconst containsForbiddenCharacter = (value: string): boolean => {\n  const stripped = stripWrappedContent(value);\n  if (/[\\t\\n\\r]/.test(stripped)) return true;\n  return stripped.includes(\"\\\\\");\n};\n\nexport const safeString = z\n  .string()\n  .refine((v) => !containsForbiddenCharacter(v), {\n    message: \"Must not contain tab, backslash, or newline characters\",\n  });\n"],"names":["CODE_BLOCK_PATTERN","MATHJAX_PATTERN","containsForbiddenCharacter","value","stripped","replaceAll","stripWrappedContent","test","includes","safeString","z","string","refine","v","message"],"mappings":"kCAEA,MAAMA,EAAqB,kBACrBC,EAAkB,kBAKlBC,EAA8BC,IAClC,MAAMC,EAJoB,CAACD,GAC3BA,EAAME,WAAWL,EAAoB,IAAIK,WAAWJ,EAAiB,IAGpDK,CAAoBH,GACrC,QAAI,WAAWI,KAAKH,IACbA,EAASI,SAAS,OAGdC,EAAaC,EAAAA,EACvBC,SACAC,OAAQC,IAAOX,EAA2BW,GAAI,CAC7CC,QAAS"}