hastily
Version:
express middleware to simulate fastly cdn
57 lines • 3.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const resize_1 = require("./resize");
/**
* @hidden
*/
const resizeCanvas = (sharp, params) => {
let background = 'white';
if (params.has('bg-color')) {
try {
background = params.toColor('bg-color');
}
catch (e) {
// let it be the original;
}
}
const options = {
background,
fit: 'contain',
withoutEnlargement: false,
};
let region;
try {
region = params.toRegion('canvas');
}
catch (e) {
return false;
}
if (Number(region.left) > 0 || Number(region.top) > 0) {
params.warn('unsupported', 'canvas', 'pixel-specific (greater than 0) canvas offsets. Will not apply canvas.');
return false;
}
const positions = [];
if (region.left === 0) {
positions.push('left');
}
if (region.top === 0) {
positions.push('top');
}
if (positions.length > 0) {
options.position = positions.join(' ');
}
if (params.has('fit')) {
const fitOpt = params.get('fit');
const fit = resize_1.optoFitToSharp[fitOpt];
if (fit) {
options.fit = fit;
}
else {
params.warn('unsupported', 'fit');
}
}
params.log.debug('sharp.resize(%s, %s, %o)', region.width, region.height, options);
return sharp.resize(region.width, region.height, options);
};
exports.default = resizeCanvas;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWNhbnZhcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbWFwcGVycy9yZXNpemUtY2FudmFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEscUNBQTBDO0FBRTFDOztHQUVHO0FBQ0gsTUFBTSxZQUFZLEdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDN0MsSUFBSSxVQUFVLEdBQVUsT0FBTyxDQUFDO0lBQ2hDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMxQixJQUFJO1lBQ0YsVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDekM7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLDBCQUEwQjtTQUMzQjtLQUNGO0lBQ0QsTUFBTSxPQUFPLEdBQTJCO1FBQ3RDLFVBQVU7UUFDVixHQUFHLEVBQUUsU0FBUztRQUNkLGtCQUFrQixFQUFFLEtBQUs7S0FDMUIsQ0FBQztJQUNGLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSTtRQUNGLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3BDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyRCxNQUFNLENBQUMsSUFBSSxDQUNULGFBQWEsRUFDYixRQUFRLEVBQ1Isd0VBQXdFLENBQ3pFLENBQUM7UUFDRixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsTUFBTSxTQUFTLEdBQWEsRUFBRSxDQUFDO0lBQy9CLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7UUFDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN4QjtJQUNELElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUU7UUFDcEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN2QjtJQUNELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDeEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3hDO0lBQ0QsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFXLENBQUM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsdUJBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ25CO2FBQU07WUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNuQztLQUNGO0lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ2QsMEJBQTBCLEVBQzFCLE1BQU0sQ0FBQyxLQUFLLEVBQ1osTUFBTSxDQUFDLE1BQU0sRUFDYixPQUFPLENBQ1IsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsWUFBWSxDQUFDIn0=