| 74 | * Read the image, resize, and save it as a PNG into the buffer. | 74 | * Read the image, resize, and save it as a PNG into the buffer. |
| 75 | * @returns {Promise<Buffer>} Image buffer | 75 | * @returns {Promise<Buffer>} Image buffer |
| 76 | */ | 76 | */ |
| 77 | function getInputImage() { | 77 | async function getInputImage() { |
| | 78 | try { |
| 78 | if (Buffer.isBuffer(inputFile)) { | 79 | if (Buffer.isBuffer(inputFile)) { |
| 79 | return parseImageBuffer(inputFile, crop); | 80 | return await parseImageBuffer(inputFile, crop); |
| 80 | } | 81 | } |
| 81 | | 82 | |
| 82 | return tryReadImage(inputFile, crop); | 83 | return await tryReadImage(inputFile, crop); |
| | 84 | } catch (error) { |
| | 85 | console.log(`Failed to read image: ${inputFile}. Using a fallback image.`); |
| | 86 | return await fs.promises.readFile(defaultAvatarPath); |
| | 87 | } |
| 83 | } | 88 | } |
| 84 | | 89 | |
| 85 | const inputImage = await getInputImage(); | 90 | const inputImage = await getInputImage(); |