From 3ee853a6e34b2d4ed014f457b25fa306ae40ec94 Mon Sep 17 00:00:00 2001 From: Jadson Lucena Date: Fri, 20 May 2022 10:56:21 -0300 Subject: [PATCH] feat: add new mime types --- src/MimeTypes.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/MimeTypes.js b/src/MimeTypes.js index 31cbe4a..a578e71 100644 --- a/src/MimeTypes.js +++ b/src/MimeTypes.js @@ -45,6 +45,33 @@ class MimeTypes { } + append(mimeType, extension) { + + extension = [].concat(extension); + + if (typeof mimeType != 'string' || !mimeType.trim() || !/^.+\/.+$/i.test(mimeType)) { + + throw new TypeError('Unsupported mimeType'); + + } else if (!extension.every(extension => typeof extension == 'string' && extension.trim() && /^[a-z0-9-_+.~%]+$/i.test(extension))) { + + throw new TypeError('Unsupported extension'); + + } + + + let content = {}; + content[mimeType] = extension; + + + if (this.#updateList(content)) { + + fs.writeFileSync('mimetypes.json', JSON.stringify(this.#mimeTypes)); + + } + + } + }