@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 2.08 kB
Source Map (JSON)
{"version":3,"file":"format-custom-field-output.mjs","names":[],"sources":["../../../../src/services/ai/helpers/format-custom-field-output.ts"],"sourcesContent":["import type CustomField from \"../../../libs/collection/custom-fields/custom-field.js\";\nimport type { FieldTypes } from \"../../../libs/collection/custom-fields/types.js\";\nimport { copy } from \"../../../libs/i18n/index.js\";\nimport type { ServiceResponse } from \"../../../types.js\";\n\n/**\n * Lets the target custom field normalize AI output per locale before admin applies it.\n */\nconst formatCustomFieldOutput = (props: {\n\tfield: CustomField<FieldTypes>;\n\toutput: Record<string, unknown>;\n}): Awaited<ServiceResponse<Record<string, unknown>>> => {\n\ttry {\n\t\tconst output: Record<string, unknown> = {};\n\n\t\tfor (const [locale, value] of Object.entries(props.output)) {\n\t\t\tconst valueRes = props.field.formatAiGeneratedValue(value);\n\t\t\tif (!valueRes.success) {\n\t\t\t\treturn {\n\t\t\t\t\terror: {\n\t\t\t\t\t\ttype: \"basic\",\n\t\t\t\t\t\tstatus: 502,\n\t\t\t\t\t\tmessage:\n\t\t\t\t\t\t\tvalueRes.message ??\n\t\t\t\t\t\t\tcopy(\"server:core.routes.ai.generate.error.message\"),\n\t\t\t\t\t},\n\t\t\t\t\tdata: undefined,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\toutput[locale] = valueRes.value;\n\t\t}\n\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: output,\n\t\t};\n\t} catch {\n\t\treturn {\n\t\t\terror: {\n\t\t\t\ttype: \"basic\",\n\t\t\t\tstatus: 502,\n\t\t\t\tmessage: copy(\"server:core.routes.ai.generate.error.message\"),\n\t\t\t},\n\t\t\tdata: undefined,\n\t\t};\n\t}\n};\n\nexport default formatCustomFieldOutput;\n"],"mappings":"mDAQA,MAAM,EAA2B,GAGwB,CACxD,GAAI,CACH,IAAM,EAAkC,CAAC,EAEzC,IAAK,GAAM,CAAC,EAAQ,KAAU,OAAO,QAAQ,EAAM,MAAM,EAAG,CAC3D,IAAM,EAAW,EAAM,MAAM,uBAAuB,CAAK,EACzD,GAAI,CAAC,EAAS,QACb,MAAO,CACN,MAAO,CACN,KAAM,QACN,OAAQ,IACR,QACC,EAAS,SACT,EAAK,8CAA8C,CACrD,EACA,KAAM,IAAA,EACP,EAGD,EAAO,GAAU,EAAS,KAC3B,CAEA,MAAO,CACN,MAAO,IAAA,GACP,KAAM,CACP,CACD,MAAQ,CACP,MAAO,CACN,MAAO,CACN,KAAM,QACN,OAAQ,IACR,QAAS,EAAK,8CAA8C,CAC7D,EACA,KAAM,IAAA,EACP,CACD,CACD"}