1/**
2 * Comprehensive dictionary of all supported file types in webui
3 * Organized by category with TypeScript enums for better type safety
4 */
5
6// File type category enum
7export enum FileTypeCategory {
8 IMAGE = 'image',
9 AUDIO = 'audio',
10 PDF = 'pdf',
11 TEXT = 'text'
12}
13
14// Specific file type enums for each category
15export enum FileTypeImage {
16 JPEG = 'jpeg',
17 PNG = 'png',
18 GIF = 'gif',
19 WEBP = 'webp',
20 SVG = 'svg'
21}
22
23export enum FileTypeAudio {
24 MP3 = 'mp3',
25 WAV = 'wav',
26 WEBM = 'webm'
27}
28
29export enum FileTypePdf {
30 PDF = 'pdf'
31}
32
33export enum FileTypeText {
34 PLAIN_TEXT = 'plainText',
35 MARKDOWN = 'md',
36 ASCIIDOC = 'asciidoc',
37 JAVASCRIPT = 'js',
38 TYPESCRIPT = 'ts',
39 JSX = 'jsx',
40 TSX = 'tsx',
41 CSS = 'css',
42 HTML = 'html',
43 JSON = 'json',
44 XML = 'xml',
45 YAML = 'yaml',
46 CSV = 'csv',
47 LOG = 'log',
48 PYTHON = 'python',
49 JAVA = 'java',
50 CPP = 'cpp',
51 PHP = 'php',
52 RUBY = 'ruby',
53 GO = 'go',
54 RUST = 'rust',
55 SHELL = 'shell',
56 SQL = 'sql',
57 R = 'r',
58 SCALA = 'scala',
59 KOTLIN = 'kotlin',
60 SWIFT = 'swift',
61 DART = 'dart',
62 VUE = 'vue',
63 SVELTE = 'svelte',
64 LATEX = 'latex',
65 BIBTEX = 'bibtex',
66 CUDA = 'cuda',
67 VULKAN = 'vulkan',
68 HASKELL = 'haskell',
69 CSHARP = 'csharp',
70 PROPERTIES = 'properties'
71}
72
73// File extension enums
74export enum FileExtensionImage {
75 JPG = '.jpg',
76 JPEG = '.jpeg',
77 PNG = '.png',
78 GIF = '.gif',
79 WEBP = '.webp',
80 SVG = '.svg'
81}
82
83export enum FileExtensionAudio {
84 MP3 = '.mp3',
85 WAV = '.wav'
86}
87
88export enum FileExtensionPdf {
89 PDF = '.pdf'
90}
91
92export enum FileExtensionText {
93 TXT = '.txt',
94 MD = '.md',
95 ADOC = '.adoc',
96 JS = '.js',
97 TS = '.ts',
98 JSX = '.jsx',
99 TSX = '.tsx',
100 CSS = '.css',
101 HTML = '.html',
102 HTM = '.htm',
103 JSON = '.json',
104 XML = '.xml',
105 YAML = '.yaml',
106 YML = '.yml',
107 CSV = '.csv',
108 LOG = '.log',
109 PY = '.py',
110 JAVA = '.java',
111 CPP = '.cpp',
112 C = '.c',
113 H = '.h',
114 PHP = '.php',
115 RB = '.rb',
116 GO = '.go',
117 RS = '.rs',
118 SH = '.sh',
119 BAT = '.bat',
120 SQL = '.sql',
121 R = '.r',
122 SCALA = '.scala',
123 KT = '.kt',
124 SWIFT = '.swift',
125 DART = '.dart',
126 VUE = '.vue',
127 SVELTE = '.svelte',
128 TEX = '.tex',
129 BIB = '.bib',
130 CU = '.cu',
131 CUH = '.cuh',
132 COMP = '.comp',
133 HPP = '.hpp',
134 HS = '.hs',
135 PROPERTIES = '.properties',
136 CS = '.cs'
137}
138
139// MIME type enums
140export enum MimeTypeApplication {
141 PDF = 'application/pdf'
142}
143
144export enum MimeTypeAudio {
145 MP3_MPEG = 'audio/mpeg',
146 MP3 = 'audio/mp3',
147 MP4 = 'audio/mp4',
148 WAV = 'audio/wav',
149 WEBM = 'audio/webm',
150 WEBM_OPUS = 'audio/webm;codecs=opus'
151}
152
153export enum MimeTypeImage {
154 JPEG = 'image/jpeg',
155 PNG = 'image/png',
156 GIF = 'image/gif',
157 WEBP = 'image/webp',
158 SVG = 'image/svg+xml'
159}
160
161export enum MimeTypeText {
162 PLAIN = 'text/plain',
163 MARKDOWN = 'text/markdown',
164 ASCIIDOC = 'text/asciidoc',
165 JAVASCRIPT = 'text/javascript',
166 JAVASCRIPT_APP = 'application/javascript',
167 TYPESCRIPT = 'text/typescript',
168 JSX = 'text/jsx',
169 TSX = 'text/tsx',
170 CSS = 'text/css',
171 HTML = 'text/html',
172 JSON = 'application/json',
173 XML_TEXT = 'text/xml',
174 XML_APP = 'application/xml',
175 YAML_TEXT = 'text/yaml',
176 YAML_APP = 'application/yaml',
177 CSV = 'text/csv',
178 PYTHON = 'text/x-python',
179 JAVA = 'text/x-java-source',
180 CPP_HDR = 'text/x-c++hdr',
181 CPP_SRC = 'text/x-c++src',
182 CSHARP = 'text/x-csharp',
183 HASKELL = 'text/x-haskell',
184 C_SRC = 'text/x-csrc',
185 C_HDR = 'text/x-chdr',
186 PHP = 'text/x-php',
187 RUBY = 'text/x-ruby',
188 GO = 'text/x-go',
189 RUST = 'text/x-rust',
190 SHELL = 'text/x-shellscript',
191 BAT = 'application/x-bat',
192 SQL = 'text/x-sql',
193 R = 'text/x-r',
194 SCALA = 'text/x-scala',
195 KOTLIN = 'text/x-kotlin',
196 SWIFT = 'text/x-swift',
197 DART = 'text/x-dart',
198 VUE = 'text/x-vue',
199 SVELTE = 'text/x-svelte',
200 TEX = 'text/x-tex',
201 TEX_APP = 'application/x-tex',
202 LATEX = 'application/x-latex',
203 BIBTEX = 'text/x-bibtex',
204 CUDA = 'text/x-cuda',
205 PROPERTIES = 'text/properties'
206}