Path: blob/main/extensions/markdown-language-features/src/util/mimes.ts
3292 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45export const Mime = {6textUriList: 'text/uri-list',7textPlain: 'text/plain',8} as const;910export const rootMediaMimesTypes = Object.freeze({11image: 'image',12audio: 'audio',13video: 'video',14});1516export enum MediaKind {17Image = 1,18Video,19Audio20}2122export function getMediaKindForMime(mime: string): MediaKind | undefined {23const root = mime.toLowerCase().split('/').at(0);24switch (root) {25case 'image': return MediaKind.Image;26case 'video': return MediaKind.Video;27case 'audio': return MediaKind.Audio;28default: return undefined;29}30}3132export const mediaFileExtensions = new Map<string, MediaKind>([33// Images34['avif', MediaKind.Image],35['bmp', MediaKind.Image],36['gif', MediaKind.Image],37['ico', MediaKind.Image],38['jpe', MediaKind.Image],39['jpeg', MediaKind.Image],40['jpg', MediaKind.Image],41['png', MediaKind.Image],42['psd', MediaKind.Image],43['svg', MediaKind.Image],44['tga', MediaKind.Image],45['tif', MediaKind.Image],46['tiff', MediaKind.Image],47['webp', MediaKind.Image],4849// Videos50['ogg', MediaKind.Video],51['mp4', MediaKind.Video],52['mov', MediaKind.Video],5354// Audio Files55['mp3', MediaKind.Audio],56['aac', MediaKind.Audio],57['wav', MediaKind.Audio],58]);596061