hedgedoc/lib/utils.ts
David Mehren 8c662a1f41
Move stripNullByte and processData from models/index.ts to utils.ts
Signed-off-by: David Mehren <dmehren1@gmail.com>
2020-04-25 16:04:02 +02:00

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
}
}
}
}