@shopgate/engage
Version:
Shopgate's ENGAGE library.
6 lines • 967 B
JavaScript
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{getImageFormat}from"../../../core/helpers/getImageFormat";var qualities={jpeg:75,png:100,webp:70};var defaultParams={width:440,height:440,quality:qualities.jpeg,fill:'fff',format:'jpeg'};/**
* Append platform dimensions and quality to image url.
* @param {string} url image url
* @param {Object} [params=undefined] params
* @returns {string}
*/export var buildMediaImageUrl=function buildMediaImageUrl(url,params){var parsedUrl=new URL(url);var format=getImageFormat();var merged=_extends({},defaultParams,{format:format,quality:qualities[format]},params);Object.keys(merged).forEach(function(k){return parsedUrl.searchParams.set(k,merged[k]);});return parsedUrl.toString();};