polymech-astro/packages/imagetools_3/plugin/utils/imagetools.js

28 lines
560 B
JavaScript

// @ts-check
import {
builtins,
applyTransforms,
generateTransforms,
} from "imagetools-core";
import sharp from "sharp";
export const getLoadedImage = async (src) => {
const image = sharp(src);
const { width } = await image.metadata();
return { image, width };
};
export const getTransformedImage = async ({ image, config }) => {
const { transforms } = generateTransforms(config, builtins);
const { image: encodedImage } = await applyTransforms(
transforms,
image.clone()
);
return { image: encodedImage, buffer: null };
};