aboutsummaryrefslogtreecommitdiff
path: root/src/server/DashUploadUtils.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2023-12-02 14:46:35 -0500
committerbobzel <zzzman@gmail.com>2023-12-02 14:46:35 -0500
commit6abda9e76cce35272ff73c3911af5aa8c18ce30b (patch)
treeccb3a2f4590d634c29244bfb594f98865ce9481e /src/server/DashUploadUtils.ts
parent24e06152089f650c4a3b1f9625a9c20b5e09199a (diff)
jimp cleanup
Diffstat (limited to 'src/server/DashUploadUtils.ts')
-rw-r--r--src/server/DashUploadUtils.ts29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts
index b2616af1f..6cad49033 100644
--- a/src/server/DashUploadUtils.ts
+++ b/src/server/DashUploadUtils.ts
@@ -54,7 +54,7 @@ export namespace DashUploadUtils {
}
export const Sizes: { [size: string]: Size } = {
- LARGE: { width: 900, suffix: SizeSuffix.Large },
+ LARGE: { width: 800, suffix: SizeSuffix.Large },
MEDIUM: { width: 400, suffix: SizeSuffix.Medium },
SMALL: { width: 100, suffix: SizeSuffix.Small },
};
@@ -594,20 +594,17 @@ export namespace DashUploadUtils {
* @param outputDirectory the directory to output to, usually Directory.Images
* @returns a map with suffixes as keys and resized filenames as values.
*/
- export async function outputResizedImages(sourcePath: string, outputFileName: string, outputDirectory: string) {
- return await new Promise<{ [suffix: string]: string }>(async resolve => {
- Jimp.read(sourcePath).then(async img => {
- const writtenFiles: { [suffix: string]: string } = {};
- for (const { width, suffix } of resizers(path.extname(outputFileName))) {
+ export function outputResizedImages(sourcePath: string, outputFileName: string, outputDirectory: string) {
+ const writtenFiles: { [suffix: string]: string } = {};
+ return Jimp.read(sourcePath).then(async img => {
+ await Promise.all(
+ imageResampleSizes(path.extname(outputFileName)).map(({ width, suffix }) => {
const outputPath = path.resolve(outputDirectory, (writtenFiles[suffix] = InjectSize(outputFileName, suffix)));
- await new Promise<void>(async res => {
- if (!width) createReadStream(sourcePath).pipe(createWriteStream(outputPath)).on('close', res);
- else img = img.resize(width, Jimp.AUTO).write(outputPath);
- res();
- });
- }
- resolve(writtenFiles);
- });
+ if (!width) return new Promise<void>(res => createReadStream(sourcePath).pipe(createWriteStream(outputPath)).on('close', res));
+ else img = img.resize(width, Jimp.AUTO).write(outputPath);
+ }) // prettier-ignore
+ );
+ return writtenFiles;
});
}
@@ -616,10 +613,10 @@ export namespace DashUploadUtils {
* @param ext the extension
* @returns an array of resize descriptions
*/
- function resizers(ext: string): DashUploadUtils.ImageResizer[] {
+ export function imageResampleSizes(ext: string): DashUploadUtils.ImageResizer[] {
return [
{ suffix: SizeSuffix.Original },
- ...[...(AcceptableMedia.imageFormats.includes(ext) ? Object.values(DashUploadUtils.Sizes) : [])].map(({ suffix, width }) => ({
+ ...[...(AcceptableMedia.imageFormats.includes(ext.toLowerCase()) ? Object.values(DashUploadUtils.Sizes) : [])].map(({ suffix, width }) => ({
width,
suffix,
})),