export module Utils { export function isSQLite(sequelize) { return sequelize.options.dialect === 'sqlite' } export function getImageMimeType(imagePath: string) { const fileExtension = /[^.]+$/.exec(imagePath) switch (fileExtension?.[0]) { case 'bmp': return 'image/bmp' case 'gif': return 'image/gif' case 'jpg': case 'jpeg': return 'image/jpeg' case 'png': return 'image/png' case 'tiff': return 'image/tiff' case 'svg': return 'image/svg+xml' default: return undefined } } // [Postgres] Handling NULL bytes // https://github.com/sequelize/sequelize/issues/6485 export function stripNullByte(value) { value = '' + value // eslint-disable-next-line no-control-regex return value ? value.replace(/\u0000/g, '') : value } export function processData (data, _default, process?) { if (data === undefined) return data else if (process) { if (data === null) { return _default } else { return process(data) } } else { if (data === null) { return _default } else { return data } } } }