mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-30 14:41:06 -05:00
8c662a1f41
Signed-off-by: David Mehren <dmehren1@gmail.com>
54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|