async getCachedImageSizeFromUrl(url) {
        if (!url || url === undefined || url === null) {
            return;
        }

        const cachedImageSize = await this.cache.get(url);

        if (cachedImageSize) {
            debug('Read image from cache:', url);

            return cachedImageSize;
        } else {
            try {
                const res = await this.getImageSizeFromUrl(url);
                await this.cache.set(url, res);

                debug('Cached image:', url);

                return this.cache.get(url);
            } catch (err) {
                if (err instanceof errors.NotFoundError) {
                    debug('Cached image (not found):', url);
                } else {
                    debug('Cached image (error):', url);
                    logging.error(err);
                }

                // in case of error we just attach the url
                await this.cache.set(url, {
                    url
                });

                return this.cache.get(url);
            }
        }
    }
Get cached image size from URL
Always returns {object} imageSizeCache
@param {string} url
@returns {Promise<ImageSizeCache>}
@description Takes a url and returns image width and height from cache if available.
If not in cache, `getImageSizeFromUrl` is called and returns the dimensions in a Promise.