hastily
Version:
express middleware to simulate fastly cdn
36 lines • 2.8 kB
JavaScript
const exif = (sharp) => sharp.rotate();
const right = (sharp) => sharp.rotate(270);
const left = (sharp) => sharp.rotate(90);
const flipH = (sharp) => sharp.flop();
const flipV = (sharp) => sharp.flip();
const flipHV = (sharp) => sharp.flop().flip();
const orienters = {
'1': exif,
'2': flipH,
'3': flipHV,
'4': flipV,
'5': (sharp) => flipH(right(sharp)),
'6': right,
'7': (sharp) => flipH(left(sharp)),
'8': left,
h: flipH,
hv: flipHV,
l: left,
r: right,
v: flipV,
vh: flipHV,
};
/**
* @hidden
*/
const orient = (sharp, params) => {
const orientation = params.get('orient');
const orienter = orienters[orientation];
if (!orienter) {
params.warn('invalid', 'orient', `legal values are ${Object.keys(orienters)}. Will not orient.`);
return false;
}
return orienter(sharp);
};
export default orient;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tYXBwZXJzL29yaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLElBQUksR0FBYSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ2pELE1BQU0sS0FBSyxHQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JELE1BQU0sSUFBSSxHQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sS0FBSyxHQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDaEQsTUFBTSxLQUFLLEdBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNoRCxNQUFNLE1BQU0sR0FBYSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0FBRXhELE1BQU0sU0FBUyxHQUFrQztJQUMvQyxHQUFHLEVBQUUsSUFBSTtJQUNULEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLE1BQU07SUFDWCxHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxHQUFHLEVBQUUsSUFBSTtJQUNULENBQUMsRUFBRSxLQUFLO0lBQ1IsRUFBRSxFQUFFLE1BQU07SUFDVixDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxLQUFLO0lBQ1IsQ0FBQyxFQUFFLEtBQUs7SUFDUixFQUFFLEVBQUUsTUFBTTtDQUNYLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxHQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO0lBQ3ZDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFnQixDQUFDO0lBQ3hELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QyxJQUFJLENBQUMsUUFBUSxFQUFFO1FBQ2IsTUFBTSxDQUFDLElBQUksQ0FDVCxTQUFTLEVBQ1QsUUFBUSxFQUNSLG9CQUFvQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FDL0QsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixlQUFlLE1BQU0sQ0FBQyJ9