{"version":3,"file":"validateAssetMetadata.cjs","names":["PrismicError"],"sources":["../../src/lib/validateAssetMetadata.ts"],"sourcesContent":["import { PrismicError } from \"../errors\"\nimport type { CreateAssetParams } from \"../WriteClient\"\n\n/** Max length for asset notes accepted by the API. */\nconst ASSET_NOTES_MAX_LENGTH = 500\n\n/** Max length for asset credits accepted by the API. */\nconst ASSET_CREDITS_MAX_LENGTH = 500\n\n/** Max length for asset alt text accepted by the API. */\nconst ASSET_ALT_MAX_LENGTH = 500\n\n/** Min length for asset tags accepted by the API. */\nconst ASSET_TAG_MIN_LENGTH = 3\n\n/** Max length for asset tags accepted by the API. */\nconst ASSET_TAG_MAX_LENGTH = 20\n\n/**\n * Validates an asset's metadata, throwing an error if any of the metadata are invalid.\n *\n * @param assetMetadata - The asset metadata to validate.\n * @internal\n */\nexport const validateAssetMetadata = ({ notes, credits, alt, tags }: CreateAssetParams): void => {\n\tconst errors: string[] = []\n\n\tif (notes && notes.length > ASSET_NOTES_MAX_LENGTH) {\n\t\terrors.push(`\\`notes\\` must be at most ${ASSET_NOTES_MAX_LENGTH} characters`)\n\t}\n\n\tif (credits && credits.length > ASSET_CREDITS_MAX_LENGTH) {\n\t\terrors.push(`\\`credits\\` must be at most ${ASSET_CREDITS_MAX_LENGTH} characters`)\n\t}\n\n\tif (alt && alt.length > ASSET_ALT_MAX_LENGTH) {\n\t\terrors.push(`\\`alt\\` must be at most ${ASSET_ALT_MAX_LENGTH} characters`)\n\t}\n\n\tif (\n\t\ttags &&\n\t\ttags.length &&\n\t\ttags.some((tag) => tag.length < ASSET_TAG_MIN_LENGTH || tag.length > ASSET_TAG_MAX_LENGTH)\n\t) {\n\t\terrors.push(`tags must be at least 3 characters long and 20 characters at most`)\n\t}\n\n\tif (errors.length) {\n\t\tthrow new PrismicError(`Errors validating asset metadata: ${errors.join(\", \")}`, undefined, {\n\t\t\tnotes,\n\t\t\tcredits,\n\t\t\talt,\n\t\t\ttags,\n\t\t})\n\t}\n}\n"],"mappings":";;;AAIA,MAAM,yBAAyB;;AAG/B,MAAM,2BAA2B;;AAGjC,MAAM,uBAAuB;;AAG7B,MAAM,uBAAuB;;AAG7B,MAAM,uBAAuB;;;;;;;AAQ7B,MAAa,yBAAyB,EAAE,OAAO,SAAS,KAAK,WAAoC;CAChG,MAAM,SAAmB,EAAE;AAE3B,KAAI,SAAS,MAAM,SAAS,uBAC3B,QAAO,KAAK,6BAA6B,uBAAuB,aAAa;AAG9E,KAAI,WAAW,QAAQ,SAAS,yBAC/B,QAAO,KAAK,+BAA+B,yBAAyB,aAAa;AAGlF,KAAI,OAAO,IAAI,SAAS,qBACvB,QAAO,KAAK,2BAA2B,qBAAqB,aAAa;AAG1E,KACC,QACA,KAAK,UACL,KAAK,MAAM,QAAQ,IAAI,SAAS,wBAAwB,IAAI,SAAS,qBAAqB,CAE1F,QAAO,KAAK,oEAAoE;AAGjF,KAAI,OAAO,OACV,OAAM,IAAIA,eAAAA,aAAa,qCAAqC,OAAO,KAAK,KAAK,IAAI,KAAA,GAAW;EAC3F;EACA;EACA;EACA;EACA,CAAC"}