diff options
Diffstat (limited to 'ext/bg/js/media-utility.js')
-rw-r--r-- | ext/bg/js/media-utility.js | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/ext/bg/js/media-utility.js b/ext/bg/js/media-utility.js deleted file mode 100644 index b4fbe04d..00000000 --- a/ext/bg/js/media-utility.js +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2020-2021 Yomichan Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -/** - * MediaUtility is a class containing helper methods related to media processing. - */ -class MediaUtility { - /** - * Gets the file extension of a file path. URL search queries and hash - * fragments are not handled. - * @param path The path to the file. - * @returns The file extension, including the '.', or an empty string - * if there is no file extension. - */ - getFileNameExtension(path) { - const match = /\.[^./\\]*$/.exec(path); - return match !== null ? match[0] : ''; - } - - /** - * Gets an image file's media type using a file path. - * @param path The path to the file. - * @returns The media type string if it can be determined from the file path, - * otherwise null. - */ - getImageMediaTypeFromFileName(path) { - switch (this.getFileNameExtension(path).toLowerCase()) { - case '.apng': - return 'image/apng'; - case '.bmp': - return 'image/bmp'; - case '.gif': - return 'image/gif'; - case '.ico': - case '.cur': - return 'image/x-icon'; - case '.jpg': - case '.jpeg': - case '.jfif': - case '.pjpeg': - case '.pjp': - return 'image/jpeg'; - case '.png': - return 'image/png'; - case '.svg': - return 'image/svg+xml'; - case '.tif': - case '.tiff': - return 'image/tiff'; - case '.webp': - return 'image/webp'; - default: - return null; - } - } - - /** - * Gets the file extension for a corresponding media type. - * @param mediaType The media type to use. - * @returns A file extension including the dot for the media type, - * otherwise null. - */ - getFileExtensionFromImageMediaType(mediaType) { - switch (mediaType) { - case 'image/apng': - return '.apng'; - case 'image/bmp': - return '.bmp'; - case 'image/gif': - return '.gif'; - case 'image/x-icon': - return '.ico'; - case 'image/jpeg': - return '.jpeg'; - case 'image/png': - return '.png'; - case 'image/svg+xml': - return '.svg'; - case 'image/tiff': - return '.tiff'; - case 'image/webp': - return '.webp'; - default: - return null; - } - } - - /** - * Gets the file extension for a corresponding media type. - * @param mediaType The media type to use. - * @returns A file extension including the dot for the media type, - * otherwise null. - */ - getFileExtensionFromAudioMediaType(mediaType) { - switch (mediaType) { - case 'audio/mpeg': - case 'audio/mp3': - return '.mp3'; - case 'audio/mp4': - return '.mp4'; - case 'audio/ogg': - case 'audio/vorbis': - return '.ogg'; - case 'audio/vnd.wav': - case 'audio/wave': - case 'audio/wav': - case 'audio/x-wav': - case 'audio/x-pn-wav': - return '.wav'; - case 'audio/flac': - return '.flac'; - case 'audio/webm': - return '.webm'; - default: - return null; - } - } -} |