in public/src/js/utils/validate-image-src.js [132:154]
function validateActualImage (image, frontId) {
return new Promise((resolve, reject) => {
const {width, height, ratio, criteria, path, origin, thumb} = image;
const {maxWidth, minWidth, widthAspectRatio, heightAspectRatio} = criteria;
const criteriaRatio = widthAspectRatio && heightAspectRatio ? widthAspectRatio / heightAspectRatio : NaN;
if (maxWidth && maxWidth < width) {
reject(new Error('Images cannot be more than ' + maxWidth + ' pixels wide'));
} else if (minWidth && minWidth > width) {
reject(new Error('Images cannot be less than ' + minWidth + ' pixels wide'));
} else if (criteriaRatio && criteriaRatio - ratio > 0.01) {
reject(new Error('Images must have a ' + widthAspectRatio + ':' + heightAspectRatio + ' aspect ratio'));
} else {
const resolveWithImage = () => resolve({ path, origin, thumb, width, height });
if (image.origin) {
return recordUsage(image.origin.split('/').slice(-1)[0], frontId)
.then(resolveWithImage())
.catch(resolveWithImage());
}
resolve(resolveWithImage());
}
});
}