Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/markdown-language-features/src/util/mimes.ts
3292 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
export const Mime = {
7
textUriList: 'text/uri-list',
8
textPlain: 'text/plain',
9
} as const;
10
11
export const rootMediaMimesTypes = Object.freeze({
12
image: 'image',
13
audio: 'audio',
14
video: 'video',
15
});
16
17
export enum MediaKind {
18
Image = 1,
19
Video,
20
Audio
21
}
22
23
export function getMediaKindForMime(mime: string): MediaKind | undefined {
24
const root = mime.toLowerCase().split('/').at(0);
25
switch (root) {
26
case 'image': return MediaKind.Image;
27
case 'video': return MediaKind.Video;
28
case 'audio': return MediaKind.Audio;
29
default: return undefined;
30
}
31
}
32
33
export const mediaFileExtensions = new Map<string, MediaKind>([
34
// Images
35
['avif', MediaKind.Image],
36
['bmp', MediaKind.Image],
37
['gif', MediaKind.Image],
38
['ico', MediaKind.Image],
39
['jpe', MediaKind.Image],
40
['jpeg', MediaKind.Image],
41
['jpg', MediaKind.Image],
42
['png', MediaKind.Image],
43
['psd', MediaKind.Image],
44
['svg', MediaKind.Image],
45
['tga', MediaKind.Image],
46
['tif', MediaKind.Image],
47
['tiff', MediaKind.Image],
48
['webp', MediaKind.Image],
49
50
// Videos
51
['ogg', MediaKind.Video],
52
['mp4', MediaKind.Video],
53
['mov', MediaKind.Video],
54
55
// Audio Files
56
['mp3', MediaKind.Audio],
57
['aac', MediaKind.Audio],
58
['wav', MediaKind.Audio],
59
]);
60
61