UNPKG

@prismicio/client

Version:

The official JavaScript + TypeScript client library for Prismic

29 lines (28 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const PrismicError = require("../errors/PrismicError.cjs"); const ASSET_NOTES_MAX_LENGTH = 500; const ASSET_CREDITS_MAX_LENGTH = 500; const ASSET_ALT_MAX_LENGTH = 500; const ASSET_TAG_MIN_LENGTH = 3; const ASSET_TAG_MAX_LENGTH = 20; const validateAssetMetadata = ({ notes, credits, alt, tags }) => { const errors = []; if (notes && notes.length > ASSET_NOTES_MAX_LENGTH) { errors.push(`\`notes\` must be at most ${ASSET_NOTES_MAX_LENGTH} characters`); } if (credits && credits.length > ASSET_CREDITS_MAX_LENGTH) { errors.push(`\`credits\` must be at most ${ASSET_CREDITS_MAX_LENGTH} characters`); } if (alt && alt.length > ASSET_ALT_MAX_LENGTH) { errors.push(`\`alt\` must be at most ${ASSET_ALT_MAX_LENGTH} characters`); } if (tags && tags.length && tags.some((tag) => tag.length < ASSET_TAG_MIN_LENGTH || tag.length > ASSET_TAG_MAX_LENGTH)) { errors.push(`tags must be at least 3 characters long and 20 characters at most`); } if (errors.length) { throw new PrismicError.PrismicError(`Errors validating asset metadata: ${errors.join(", ")}`, void 0, { notes, credits, alt, tags }); } }; exports.validateAssetMetadata = validateAssetMetadata; //# sourceMappingURL=validateAssetMetadata.cjs.map