Change run() functions to be async
This commit is contained in:
parent
74c2a2b5cb
commit
a0b94bba4e
@ -36,27 +36,14 @@ class DitherImage extends Operation {
|
||||
* @param {Object[]} args
|
||||
* @returns {byteArray}
|
||||
*/
|
||||
run(input, args) {
|
||||
async run(input, args) {
|
||||
const type = Magic.magicFileType(input);
|
||||
|
||||
if (type && type.mime.indexOf("image") === 0){
|
||||
return new Promise((resolve, reject) => {
|
||||
jimp.read(Buffer.from(input))
|
||||
.then(image => {
|
||||
image
|
||||
.dither565()
|
||||
.getBuffer(jimp.AUTO, (error, result) => {
|
||||
if (error){
|
||||
reject(new OperationError("Error getting the new image buffer"));
|
||||
} else {
|
||||
resolve([...result]);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
reject(new OperationError("Error applying a dither effect to the image."));
|
||||
});
|
||||
});
|
||||
const image = await jimp.read(Buffer.from(input));
|
||||
image.dither565();
|
||||
const imageBuffer = await image.getBufferAsync(jimp.AUTO);
|
||||
return [...imageBuffer];
|
||||
} else {
|
||||
throw new OperationError("Invalid file type.");
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ class ResizeImage extends Operation {
|
||||
* @param {Object[]} args
|
||||
* @returns {byteArray}
|
||||
*/
|
||||
run(input, args) {
|
||||
async run(input, args) {
|
||||
let width = args[0],
|
||||
height = args[1];
|
||||
const unit = args[2],
|
||||
@ -67,37 +67,20 @@ class ResizeImage extends Operation {
|
||||
if (!type || type.mime.indexOf("image") !== 0){
|
||||
throw new OperationError("Invalid file type.");
|
||||
}
|
||||
const image = await jimp.read(Buffer.from(input));
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
jimp.read(Buffer.from(input))
|
||||
.then(image => {
|
||||
if (unit === "Percent") {
|
||||
width = image.getWidth() * (width / 100);
|
||||
height = image.getHeight() * (height / 100);
|
||||
}
|
||||
if (aspect) {
|
||||
image
|
||||
.scaleToFit(width, height)
|
||||
.getBuffer(jimp.AUTO, (error, result) => {
|
||||
if (error){
|
||||
reject(new OperationError("Error scaling the image."));
|
||||
} else {
|
||||
resolve([...result]);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
image
|
||||
.resize(width, height)
|
||||
.getBuffer(jimp.AUTO, (error, result) => {
|
||||
if (error){
|
||||
reject(new OperationError("Error scaling the image."));
|
||||
} else {
|
||||
resolve([...result]);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
if (unit === "Percent") {
|
||||
width = image.getWidth() * (width / 100);
|
||||
height = image.getHeight() * (height / 100);
|
||||
}
|
||||
if (aspect) {
|
||||
image.scaleToFit(width, height);
|
||||
} else {
|
||||
image.resize(width, height);
|
||||
}
|
||||
|
||||
const imageBuffer = await image.getBufferAsync(jimp.AUTO);
|
||||
return [...imageBuffer];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -42,28 +42,15 @@ class RotateImage extends Operation {
|
||||
* @param {Object[]} args
|
||||
* @returns {byteArray}
|
||||
*/
|
||||
run(input, args) {
|
||||
async run(input, args) {
|
||||
const [degrees] = args;
|
||||
const type = Magic.magicFileType(input);
|
||||
|
||||
if (type && type.mime.indexOf("image") === 0){
|
||||
return new Promise((resolve, reject) => {
|
||||
jimp.read(Buffer.from(input))
|
||||
.then(image => {
|
||||
image
|
||||
.rotate(degrees)
|
||||
.getBuffer(jimp.AUTO, (error, result) => {
|
||||
if (error){
|
||||
reject(new OperationError("Error getting the new image buffer"));
|
||||
} else {
|
||||
resolve([...result]);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(err => {
|
||||
reject(new OperationError("Error reading the input image."));
|
||||
});
|
||||
});
|
||||
const image = await jimp.read(Buffer.from(input));
|
||||
image.rotate(degrees);
|
||||
const imageBuffer = await image.getBufferAsync(jimp.AUTO);
|
||||
return [...imageBuffer];
|
||||
} else {
|
||||
throw new OperationError("Invalid file type.");
|
||||
}
|
||||
@ -71,7 +58,6 @@ class RotateImage extends Operation {
|
||||
|
||||
/**
|
||||
* Displays the rotated image using HTML for web apps
|
||||
*
|
||||
* @param {byteArray} data
|
||||
* @returns {html}
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user