mirror of
https://github.com/zadam/trilium.git
synced 2025-10-20 07:08:55 +02:00
49 lines
1.1 KiB
TypeScript
49 lines
1.1 KiB
TypeScript
|
|
export interface FBlobRow {
|
|
blobId: string;
|
|
content: string;
|
|
contentLength: number;
|
|
dateModified: string;
|
|
utcDateModified: string;
|
|
}
|
|
|
|
export default class FBlob {
|
|
|
|
blobId: string;
|
|
/**
|
|
* can either contain the whole content (in e.g. string notes), only part (large text notes) or nothing at all (binary notes, images)
|
|
*/
|
|
content: string;
|
|
contentLength: number;
|
|
dateModified: string;
|
|
utcDateModified: string;
|
|
|
|
constructor(row: FBlobRow) {
|
|
this.blobId = row.blobId;
|
|
this.content = row.content;
|
|
this.contentLength = row.contentLength;
|
|
this.dateModified = row.dateModified;
|
|
this.utcDateModified = row.utcDateModified;
|
|
}
|
|
|
|
/**
|
|
* @throws Error in case of invalid JSON
|
|
*/
|
|
getJsonContent(): unknown {
|
|
if (!this.content || !this.content.trim()) {
|
|
return null;
|
|
}
|
|
|
|
return JSON.parse(this.content);
|
|
}
|
|
|
|
getJsonContentSafely(): unknown | null {
|
|
try {
|
|
return this.getJsonContent();
|
|
}
|
|
catch (e) {
|
|
return null;
|
|
}
|
|
}
|
|
}
|