Transcode all supported image types

This commit is contained in:
Josh Perez 2021-07-07 13:06:01 -04:00 committed by GitHub
parent a73d7b42cf
commit ff67d9178b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View file

@ -6,7 +6,6 @@ const is = require('@sindresorhus/is');
const { arrayBufferToBlob, blobToArrayBuffer } = require('blob-util');
const AttachmentTS = require('../../../ts/types/Attachment');
const GoogleChrome = require('../../../ts/util/GoogleChrome');
const MIME = require('../../../ts/types/MIME');
const { toLogFormat } = require('./errors');
const { scaleImageToLevel } = require('../../../ts/util/scaleImageToLevel');
const {
@ -51,7 +50,7 @@ exports.isValid = rawAttachment => {
// NOTE: This step strips all EXIF metadata from JPEG images as
// part of re-encoding the image:
exports.autoOrientJPEG = async (attachment, _, message) => {
if (!MIME.isJPEG(attachment.contentType)) {
if (!AttachmentTS.canBeTranscoded(attachment)) {
return attachment;
}

View file

@ -181,6 +181,15 @@ export function isImageAttachment(
isImageTypeSupported(attachment.contentType)
);
}
export function canBeTranscoded(
attachment?: AttachmentType
): attachment is AttachmentType {
return Boolean(
isImageAttachment(attachment) && !MIME.isGif(attachment.contentType)
);
}
export function hasImage(
attachments?: Array<AttachmentType>
): string | boolean | undefined {