function stripImplementationDetails()

in public/src/js/utils/validate-image-src.js [30:56]


function stripImplementationDetails (src, criteria) {
    return new Promise((resolve, reject) => {
        var maybeFromGrid = grid().excractMediaId(src);

        if (src && vars.CONST.imgIXDomainExpr.test(src)) {
            src = src.substring(0, src.indexOf('?')).replace(vars.CONST.imgIXDomainExpr, vars.CONST.staticImageCdnDomain);
            resolve({
                path: src,
                criteria
            });
        } else if (maybeFromGrid) {
            grid().getImage(maybeFromGrid.id)
                .catch(() => reject(new Error('Unable to locate the image on the Grid')))
                .then(gridImageJson => filterGripdCrops(gridImageJson, maybeFromGrid, criteria))
                .then(crops => getSuitableAsset(crops, maybeFromGrid.id, criteria))
                .then(asset => resolve(_.extend(asset, {criteria})))
                .catch(reject);
        } else if (!vars.CONST.imageCdnDomainExpr.test(src)) {
            reject(new Error('Images must come from ' + vars.CONST.imageCdnDomain + ' or the Grid'));
        } else {
            resolve({
                path: src,
                criteria
            });
        }
    });
}