Add Attachment.isFile
definition
This commit is contained in:
parent
20246c4d07
commit
53918d68de
2 changed files with 57 additions and 0 deletions
|
@ -59,6 +59,45 @@ describe('Attachment', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('isFile', () => {
|
||||||
|
it('should return true for JSON', () => {
|
||||||
|
const attachment: Attachment.Attachment = {
|
||||||
|
fileName: 'foo.json',
|
||||||
|
data: stringToArrayBuffer('{"foo": "bar"}'),
|
||||||
|
contentType: MIME.APPLICATION_JSON,
|
||||||
|
};
|
||||||
|
assert.isTrue(Attachment.isFile(attachment));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return false for images', () => {
|
||||||
|
const attachment: Attachment.Attachment = {
|
||||||
|
fileName: 'meme.gif',
|
||||||
|
data: stringToArrayBuffer('gif'),
|
||||||
|
contentType: MIME.IMAGE_GIF,
|
||||||
|
};
|
||||||
|
assert.isFalse(Attachment.isFile(attachment));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return false for videos', () => {
|
||||||
|
const attachment: Attachment.Attachment = {
|
||||||
|
fileName: 'meme.mp4',
|
||||||
|
data: stringToArrayBuffer('mp4'),
|
||||||
|
contentType: MIME.VIDEO_MP4,
|
||||||
|
};
|
||||||
|
assert.isFalse(Attachment.isFile(attachment));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should return false for voice message attachment', () => {
|
||||||
|
const attachment: Attachment.Attachment = {
|
||||||
|
fileName: 'Voice Message.aac',
|
||||||
|
flags: SignalService.AttachmentPointer.Flags.VOICE_MESSAGE,
|
||||||
|
data: stringToArrayBuffer('voice message'),
|
||||||
|
contentType: MIME.AUDIO_AAC,
|
||||||
|
};
|
||||||
|
assert.isFalse(Attachment.isFile(attachment));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('isVoiceMessage', () => {
|
describe('isVoiceMessage', () => {
|
||||||
it('should return true for voice message attachment', () => {
|
it('should return true for voice message attachment', () => {
|
||||||
const attachment: Attachment.Attachment = {
|
const attachment: Attachment.Attachment = {
|
||||||
|
|
|
@ -41,6 +41,24 @@ export const isVisualMedia = (attachment: Attachment): boolean => {
|
||||||
return MIME.isImage(contentType) || MIME.isVideo(contentType);
|
return MIME.isImage(contentType) || MIME.isVideo(contentType);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const isFile = (attachment: Attachment): boolean => {
|
||||||
|
const { contentType } = attachment;
|
||||||
|
|
||||||
|
if (is.undefined(contentType)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isVisualMedia(attachment)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isVoiceMessage(attachment)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
export const isVoiceMessage = (attachment: Attachment): boolean => {
|
export const isVoiceMessage = (attachment: Attachment): boolean => {
|
||||||
const flag = SignalService.AttachmentPointer.Flags.VOICE_MESSAGE;
|
const flag = SignalService.AttachmentPointer.Flags.VOICE_MESSAGE;
|
||||||
const hasFlag =
|
const hasFlag =
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue