From f619de0e435f7ac3abad2ec772397486358b56e7 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 25 Nov 2020 09:50:12 +0100 Subject: Add tests to gif resizer --- server/helpers/image-utils.ts | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'server/helpers/image-utils.ts') diff --git a/server/helpers/image-utils.ts b/server/helpers/image-utils.ts index fdf06e848..3ebf07305 100644 --- a/server/helpers/image-utils.ts +++ b/server/helpers/image-utils.ts @@ -1,5 +1,5 @@ -import { extname } from 'path' import { remove, rename } from 'fs-extra' +import { extname } from 'path' import { convertWebPToJPG, processGIF } from './ffmpeg-utils' import { logger } from './logger' @@ -13,17 +13,31 @@ async function processImage ( ) { const extension = extname(path) + if (path === destination) { + throw new Error('Jimp/FFmpeg needs an input path different that the output path.') + } + + logger.debug('Processing image %s to %s.', path, destination) + // Use FFmpeg to process GIF if (extension === '.gif') { - return processGIF(path, destination, newSize, keepOriginal) + await processGIF(path, destination, newSize) + } else { + await jimpProcessor(path, destination, newSize) } - if (path === destination) { - throw new Error('Jimp needs an input path different that the output path.') - } + if (keepOriginal !== true) await remove(path) +} - logger.debug('Processing image %s to %s.', path, destination) +// --------------------------------------------------------------------------- +export { + processImage +} + +// --------------------------------------------------------------------------- + +async function jimpProcessor (path: string, destination: string, newSize: { width: number, height: number }) { let jimpInstance: any try { @@ -44,12 +58,4 @@ async function processImage ( .resize(newSize.width, newSize.height) .quality(80) .writeAsync(destination) - - if (keepOriginal !== true) await remove(path) -} - -// --------------------------------------------------------------------------- - -export { - processImage } -- cgit v1.2.3