function validateActualImage()

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());
        }
    });
}