You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			37 lines
		
	
	
		
			966 B
		
	
	
	
		
			TypeScript
		
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			966 B
		
	
	
	
		
			TypeScript
		
	
| 
											8 years ago
										 | import * as MIME from '../types/MIME'; | ||
| 
											8 years ago
										 | 
 | ||
|  | interface MIMETypeSupportMap { | ||
|  |   [key: string]: boolean; | ||
|  | } | ||
|  | 
 | ||
|  | // See: https://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support
 | ||
|  | const SUPPORTED_IMAGE_MIME_TYPES: MIMETypeSupportMap = { | ||
|  |   'image/bmp': true, | ||
|  |   'image/gif': true, | ||
|  |   'image/jpeg': true, | ||
|  |   'image/svg+xml': true, | ||
|  |   'image/webp': true, | ||
|  |   'image/x-xbitmap': true, | ||
|  |   // ICO
 | ||
|  |   'image/vnd.microsoft.icon': true, | ||
|  |   'image/ico': true, | ||
|  |   'image/icon': true, | ||
|  |   'image/x-icon': true, | ||
|  |   // PNG
 | ||
|  |   'image/apng': true, | ||
|  |   'image/png': true, | ||
|  | }; | ||
|  | 
 | ||
|  | export const isImageTypeSupported = (mimeType: MIME.MIMEType): boolean => | ||
| 
											8 years ago
										 |   SUPPORTED_IMAGE_MIME_TYPES[mimeType] === true; | ||
| 
											8 years ago
										 | 
 | ||
|  | const SUPPORTED_VIDEO_MIME_TYPES: MIMETypeSupportMap = { | ||
|  |   'video/mp4': true, | ||
|  |   'video/ogg': true, | ||
|  |   'video/webm': true, | ||
|  | }; | ||
|  | 
 | ||
|  | // See: https://www.chromium.org/audio-video
 | ||
|  | export const isVideoTypeSupported = (mimeType: MIME.MIMEType): boolean => | ||
| 
											8 years ago
										 |   SUPPORTED_VIDEO_MIME_TYPES[mimeType] === true; |