Files
Bridge-Multi/src-electron/ElectronUtilFunctions.ts
2023-11-28 19:50:45 -06:00

29 lines
970 B
TypeScript

import { basename, parse } from 'path'
import { inspect } from 'util'
import { lower } from '../src-shared/UtilFunctions'
import { settings } from './ipc/SettingsHandler.ipc'
import { emitIpcEvent } from './main'
/**
* @returns The relative filepath from the library folder to `absoluteFilepath`.
*/
export async function getRelativeFilepath(absoluteFilepath: string) {
if (!settings.libraryPath) { throw 'getRelativeFilepath() failed; libraryPath is undefined' }
return basename(settings.libraryPath) + absoluteFilepath.substring(settings.libraryPath.length)
}
/**
* @returns `true` if `name` has a valid video file extension.
*/
export function hasVideoExtension(name: string) {
return (['.mp4', '.avi', '.webm', '.ogv', '.mpeg'].includes(parse(lower(name)).ext))
}
/**
* Log a message in the main BrowserWindow's console.
*/
export function devLog(message: unknown) {
emitIpcEvent('errorLog', typeof message === 'string' ? message : inspect(message))
}