# Source: entities/fblob.js

    export default class FBlob {
        constructor(row) {
            /** @type {string} */
            this.blobId = row.blobId;

            /**
             * can either contain the whole content (in e.g. string notes), only part (large text notes) or nothing at all (binary notes, images)
             * @type {string}
             */
            this.content = row.content;
            this.contentLength = row.contentLength;

            /** @type {string} */
            this.dateModified = row.dateModified;
            /** @type {string} */
            this.utcDateModified = row.utcDateModified;
        }

        /**
         * @returns {*}
         * @throws Error in case of invalid JSON */
        getJsonContent() {
            if (!this.content || !this.content.trim()) {
                return null;
            }

            return JSON.parse(this.content);
        }

        /** @returns {*|null} valid object or null if the content cannot be parsed as JSON */
        getJsonContentSafely() {
            try {
                return this.getJsonContent();
            }
            catch (e) {
                return null;
            }
        }
    }