@nuxt/image
Version:
Nuxt Image Module
31 lines (30 loc) • 826 B
JavaScript
import { joinURL } from "ufo";
import { createOperationsGenerator } from "#image";
export const operationsGenerator = createOperationsGenerator({
keyMap: {
width: "width",
height: "height",
aspectRatio: "aspect_ratio",
quality: "quality",
sharpen: "sharpen",
blur: "blur",
crop: "crop",
cropGravity: "crop_gravity",
flip: "flip",
flop: "flop",
brightness: "brightness",
saturation: "saturation",
hue: "hue",
contrast: "contrast",
autoOptimize: "auto_optimize",
sepia: "sepia"
},
joinWith: "&",
formatter: (key, value) => `${key}=${value}`
});
export const getImage = (src, { modifiers = {}, baseURL } = {}) => {
const operations = operationsGenerator(modifiers);
return {
url: joinURL(baseURL, src + (operations ? "?" + operations : ""))
};
};