hedgedoc/lib/utils.ts

52 lines
1.2 KiB
TypeScript
Raw Normal View History

import { Sequelize } from 'sequelize-typescript'
export function isSQLite (sequelize: Sequelize): boolean {
return sequelize.options.dialect === 'sqlite'
}
export function getImageMimeType (imagePath: string): string | undefined {
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: string): string {
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
}
}
}