(mimeType: string)
| 89 | } |
| 90 | |
| 91 | function iconForFile(mimeType: string): string { |
| 92 | if (mimeType == null) { |
| 93 | mimeType = "unknown"; |
| 94 | } |
| 95 | if (mimeType == "application/pdf") { |
| 96 | return "file-pdf"; |
| 97 | } else if (mimeType.startsWith("image/")) { |
| 98 | return "image"; |
| 99 | } else if (mimeType.startsWith("video/")) { |
| 100 | return "film"; |
| 101 | } else if (mimeType.startsWith("audio/")) { |
| 102 | return "headphones"; |
| 103 | } else if (isMarkdownLike(mimeType)) { |
| 104 | return "file-lines"; |
| 105 | } else if (mimeType == "text/csv") { |
| 106 | return "file-csv"; |
| 107 | } else if ( |
| 108 | mimeType.startsWith("text/") || |
| 109 | mimeType == "application/sql" || |
| 110 | (mimeType.startsWith("application/") && |
| 111 | (mimeType.includes("json") || mimeType.includes("yaml") || mimeType.includes("toml"))) |
| 112 | ) { |
| 113 | return "file-code"; |
| 114 | } else { |
| 115 | return "file"; |
| 116 | } |
| 117 | } |
| 118 | |
| 119 | export class PreviewModel implements ViewModel { |
| 120 | viewType: string; |
no test coverage detected