Add documentation
This commit is contained in:
parent
0e80c0d5d0
commit
a7e7d546c7
@ -15,12 +15,28 @@
|
|||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* mediaUtility is an object containing helper methods related to media processing.
|
||||||
|
*/
|
||||||
const mediaUtility = (() => {
|
const 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.
|
||||||
|
*/
|
||||||
function getFileNameExtension(path) {
|
function getFileNameExtension(path) {
|
||||||
const match = /\.[^./\\]*$/.exec(path);
|
const match = /\.[^./\\]*$/.exec(path);
|
||||||
return match !== null ? match[0] : '';
|
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.
|
||||||
|
*/
|
||||||
function getImageMediaTypeFromFileName(path) {
|
function getImageMediaTypeFromFileName(path) {
|
||||||
switch (getFileNameExtension(path).toLowerCase()) {
|
switch (getFileNameExtension(path).toLowerCase()) {
|
||||||
case '.apng':
|
case '.apng':
|
||||||
@ -52,6 +68,13 @@ const mediaUtility = (() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to load an image using a base64 encoded content and a media type.
|
||||||
|
* @param mediaType The media type for the image content.
|
||||||
|
* @param content The binary content for the image, encoded in base64.
|
||||||
|
* @returns A Promise which resolves with an HTMLImageElement instance on
|
||||||
|
* successful load, otherwise an error is thrown.
|
||||||
|
*/
|
||||||
function loadImageBase64(mediaType, content) {
|
function loadImageBase64(mediaType, content) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const image = new Image();
|
const image = new Image();
|
||||||
|
Loading…
Reference in New Issue
Block a user