mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-23 10:16:32 -05:00
fixed lib/utils.ts
- added more return types - removed module wrapper Signed-off-by: Philip Molares <philip.molares@udo.edu> Signed-off-by: David Mehren <dmehren1@gmail.com>
This commit is contained in:
parent
5c8541e65d
commit
b841b1ca4c
1 changed files with 45 additions and 48 deletions
93
lib/utils.ts
93
lib/utils.ts
|
@ -1,54 +1,51 @@
|
||||||
export module Utils {
|
import { Sequelize } from 'sequelize-typescript'
|
||||||
export function isSQLite(sequelize) {
|
|
||||||
return sequelize.options.dialect === 'sqlite'
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getImageMimeType(imagePath: string) {
|
export function isSQLite (sequelize: Sequelize): boolean {
|
||||||
const fileExtension = /[^.]+$/.exec(imagePath)
|
return sequelize.options.dialect === 'sqlite'
|
||||||
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
|
export function getImageMimeType (imagePath: string): string | undefined {
|
||||||
// https://github.com/sequelize/sequelize/issues/6485
|
const fileExtension = /[^.]+$/.exec(imagePath)
|
||||||
export function stripNullByte(value) {
|
switch (fileExtension?.[0]) {
|
||||||
value = '' + value
|
case 'bmp':
|
||||||
// eslint-disable-next-line no-control-regex
|
return 'image/bmp'
|
||||||
return value ? value.replace(/\u0000/g, '') : value
|
case 'gif':
|
||||||
}
|
return 'image/gif'
|
||||||
|
case 'jpg':
|
||||||
export function processData (data, _default, process?) {
|
case 'jpeg':
|
||||||
if (data === undefined) return data
|
return 'image/jpeg'
|
||||||
else if (process) {
|
case 'png':
|
||||||
if (data === null) {
|
return 'image/png'
|
||||||
return _default
|
case 'tiff':
|
||||||
} else {
|
return 'image/tiff'
|
||||||
return process(data)
|
case 'svg':
|
||||||
}
|
return 'image/svg+xml'
|
||||||
} else {
|
default:
|
||||||
if (data === null) {
|
return undefined
|
||||||
return _default
|
|
||||||
} else {
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// [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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue