34 lines
846 B
JavaScript
34 lines
846 B
JavaScript
export class FileConverter {
|
|
static encode(f) {
|
|
return {
|
|
id: f.id,
|
|
type: this.encodefileType(f.type),
|
|
url: f.url ?? "",
|
|
remote_url: f.url,
|
|
preview_url: f.thumbnailUrl ?? f.url ?? "",
|
|
text_url: f.url,
|
|
meta: {
|
|
width: f.properties.width,
|
|
height: f.properties.height
|
|
},
|
|
description: f.comment,
|
|
blurhash: f.blurhash
|
|
};
|
|
}
|
|
static encodefileType(s) {
|
|
if (s === "image/gif") {
|
|
return "gifv";
|
|
}
|
|
if (s.includes("image")) {
|
|
return "image";
|
|
}
|
|
if (s.includes("video")) {
|
|
return "video";
|
|
}
|
|
if (s.includes("audio")) {
|
|
return "audio";
|
|
}
|
|
return "unknown";
|
|
}
|
|
}
|